Brain Corp tworzy przełomową technologię oprogramowania AI, którą nasi partnerzy produkcyjni wykorzystują do budowy i sprzedaży autonomicznych robotów sprzedawcom detalicznym, centrom handlowym, lotniskom, szpitalom i nie tylko. Na tym jednak nasza praca się nie kończy.
Po wdrożeniu robotów nasz zespół ds. obsługi oprogramowania pilnie pracuje nad tym, aby każdy robot z systemem BrainOS® działał dobrze w terenie, zbierając dane i spostrzeżenia za pośrednictwem chmury, których używamy do ulepszania naszego oprogramowania i systemów, a ostatecznie do tworzenia lepszych doświadczeń użytkowników. Jednak zarządzanie garstką robotów w terenie drastycznie różni się od zarządzania dużą globalną flotą.
Nauczyliśmy się tego w trudny sposób na naszej drodze do zasilenia największej na świecie floty autonomicznych robotów mobilnych (AMR) działających w komercyjnych przestrzeniach publicznych. Oto pięć najważniejszych lekcji, których nauczyliśmy się podczas skalowania naszej floty zasilanej przez BrainOS z 10 do ponad 10 000 w ciągu ostatnich trzech lat.
Wcześnie nauczyliśmy się, że musimy mieć możliwość zdalnego dostępu do robotów. Kiedy pracujesz z kilkoma robotami, łatwo jest być na bieżąco z aktualizacjami i poprawkami. Ale gdy flota przekroczy 50, ręczne śledzenie wszystkiego, co dzieje się z każdym robotem, szybko staje się niemożliwe. Zbieranie informacji i dokładne zrozumienie, jak, kiedy i gdzie działa każdy robot, ma kluczowe znaczenie dla zapewnienia dobrej obsługi i utrzymania dobrego produktu. Jakie jest więc rozwiązanie? Solidna infrastruktura.
Choć nie jesteśmy w stanie być na miejscu z każdym użytkownikiem, możemy na bieżąco monitorować stan robotów i szybko rozwiązywać wszelkie napotykane przez nie problemy. Dzięki globalnej infrastrukturze, w tym zastrzeżonej telemetrii wydajności robotów, możemy monitorować każdego robota niemal w czasie rzeczywistym i wdrażać zmiany konfiguracji lub aktualizacje oprogramowania w ciągu zaledwie kilku godzin. Odpowiednia infrastruktura umożliwia zarządzanie flotą o wysokiej wydajności.
Aby wykrywać, badać i rozwiązywać problemy z robotami w terenie, a także określać obszary wymagające poprawy, potrzebujemy pełnej widoczności zarówno na poziomie poszczególnych robotów, jak i floty. Bez niezawodnych narzędzi do monitorowania wydajności nie bylibyśmy w stanie natychmiast zrozumieć, w jaki sposób i dlaczego roboty zawodzą, co oznaczałoby, że użytkownicy byliby zmuszeni czekać, aż ktoś osobiście zdiagnozuje robota.
Infrastruktura zbudowana z myślą o widoczności pozwala nam również na prowadzenie analiz na dużą skalę i gromadzenie danych z tysięcy robotów na całym świecie w czasie zbliżonym do rzeczywistego. Spostrzeżenia, które uzyskujemy z tych danych, pomagają nam stale ulepszać nasze oprogramowanie i zapewniają, że wydajność robotów poprawia się z każdą wersją.
Potrzeba widoczności rozciąga się na nasze wewnętrzne procesy. W miarę rozwoju naszej floty musimy być w stanie testować działanie różnych funkcji lub konfiguracji bez nieumyślnego powodowania problemów dla naszych użytkowników. Ręczne łączenie się z poszczególnymi robotami w celu wprowadzenia aktualizacji lub zmian jest nie tylko nieefektywne, ale także nieprzejrzyste. Bardzo ważne jest, aby nasza infrastruktura umożliwiała wgląd w to, co, kiedy, gdzie i przez kogo są wprowadzane zmiany konfiguracji lub aktualizacje oprogramowania, abyśmy mogli śledzić ich wpływ na wydajność robotów.
Włączając identyfikowalność do naszej infrastruktury, możemy szybko i łatwo kontrolować wszelkie problemy, które pojawiają się w robotach naszych użytkowników, śledzić ich źródło, przywracać je i zapobiegać ich ponownemu wystąpieniu. Zapewnia to użytkownikom końcowym bardziej spójne doświadczenie, a także krótszy czas wprowadzania nowych funkcji, szybkie wycofywanie potencjalnych problemów i możliwość dostosowywania robotów w oparciu o kwestie środowiskowe w celu uzyskania lepszej wydajności.
Kiedy zaczynaliśmy, robiliśmy wydania oparte na funkcjach, co oznaczało, że aktualizowaliśmy roboty za pośrednictwem chmury tylko wtedy, gdy nowa funkcja była gotowa do wydania. Takie podejście było nie tylko frustrujące dla naszych deweloperów, którzy musieli czekać miesiącami na wyniki, ale także szkodliwe dla naszych użytkowników, którzy musieli czekać miesiącami na nowe funkcje, ulepszenia lub poprawki błędów. Każde nowe wydanie wiązało się ze znacznymi zmianami i pomimo rygorystycznych testów przedpremierowych, zawsze istniała szansa, że zmiany te mogą powodować błędy lub nieoczekiwane skutki dla innych części systemu.
Zmiana naszego cyklu wydawniczego pozwoliła nam zminimalizować to ryzyko, a także wprowadzić lepsze iteracyjne ulepszenia. Podobnie jak dostawcy oprogramowania w chmurze wprowadzają ciągłe poprawki, zaczęliśmy regularnie wydawać drobne aktualizacje oprogramowania, które roboty mogą automatycznie pobierać za pośrednictwem naszej rozproszonej infrastruktury. Nasi użytkownicy oczekują teraz regularnych aktualizacji oprogramowania, które mają bardzo małe szanse na negatywny wpływ na wydajność robotów. A jeśli pojawi się błąd lub jakaś funkcja nie działa dobrze, nasza infrastruktura wykryje go i wdroży poprawkę w ciągu kilku godzin lub dni, często bez zauważenia przez użytkownika problemu z wydajnością. Oznacza to, że roboty są stopniowo ulepszane, a użytkownicy nie muszą wykonywać żadnej pracy.
Użytkownicy końcowi potrzebują również wglądu w to, jak działają roboty, na których polegają. Roboty są jednak złożone i niedostępne. Jak możemy oczekiwać, że użytkownicy zaufają robotom, skoro nie rozumieją ich działania?
Jedynym sposobem na to, by roboty były faktycznie użyteczne na dużą skalę, jest przetłumaczenie tego, co robią, na przystępny język. Nie oznacza to tylko, że powinny mieć intuicyjny interfejs użytkownika - choć oczywiście jest to konieczne - ale także jasną i łatwą do zrozumienia dokumentację, narzędzia wsparcia i wytyczne dotyczące produkcji.
Dostępność robotów ma wpływ na ich użyteczność i niezawodność dla użytkowników, dlatego nieustannie pracujemy nad zwiększeniem ich dostępności. Na przykład, zamiast wyświetlać zakodowany komunikat o błędzie, roboty wyświetlają wyskakujące okienko z informacją o problemie i krokach, jakie użytkownik może podjąć, aby go rozwiązać. Ponieważ nasze roboty są łatwe do zrozumienia, są łatwiejsze i szybsze w naprawie, bardziej godne zaufania i ogólnie bardziej użyteczne.
Te pięć lekcji to tylko wierzchołek góry lodowej. W ciągu ostatniej dekady można śmiało powiedzieć, że wyciągnęliśmy niezliczone wnioski, które pozwoliły nam budować lepsze roboty, które lepiej służą naszym użytkownikom. Kulminacją wszystkiego, czego nauczyliśmy się do tej pory, jest nasze podejście "przede wszystkim ludzie" do bezpieczeństwa i robotyki. Nasze roboty wspierają ludzi i zwiększają produktywność, przejmując pracochłonne, pozbawione radości zadania, dzięki czemu pracownicy mogą skupić się na innych rzeczach. Jesteśmy dumni z naszych postępów i będziemy nadal dążyć do tego, aby nasze roboty były jeszcze lepsze i łatwiejsze w użyciu.