Opublikowano premierę projektu OpenBot 0.5, rozwijającego platformę do tworzenia ruchomych robotów kołowych, której podstawą jest zwykły smartfon oparty na systemie Android. Platforma powstała w dziale badawczym Intela i rozwija ideę wykorzystania możliwości obliczeniowych smartfona oraz wbudowanego w smartfon GPS, żyroskopu, kompasu i kamery podczas tworzenia robotów.
Oprogramowanie do sterowania robotami, analizy środowiska i autonomicznej nawigacji zostało zaimplementowane jako aplikacja na platformę Android. Kod napisany jest w językach Java, Kotlin i C++ i jest rozpowszechniany na licencji MIT. Oczekuje się, że platforma może być przydatna do nauczania robotyki, szybkiego tworzenia własnych prototypów ruchomych robotów oraz prowadzenia badań związanych z autopilotami i autonomiczną nawigacją.
OpenBot pozwala rozpocząć eksperymenty z ruchomymi robotami przy minimalnych kosztach – stworzenie robota da się obejść smartfonem ze średniej półki i dodatkowymi komponentami kosztującymi około 50 dolarów. Podwozie robota, a także towarzyszące mu części do mocowania smartfona są drukowane na drukarce 3D według proponowanych układów (jeśli nie posiadasz drukarki 3D, możesz wyciąć ramkę z tektury lub sklejki). Ruch zapewniają cztery silniki elektryczne.
Do sterowania silnikami, osprzętem i dodatkowymi czujnikami, a także monitorowania stanu naładowania akumulatora służy płytka Arduino Nano oparta na mikrokontrolerze ATmega328P, która podłączana jest do smartfona poprzez port USB. Dodatkowo obsługiwane jest podłączenie czujników prędkości i sonaru ultradźwiękowego. Zdalne sterowanie robotem może odbywać się poprzez aplikację kliencką na system Android, poprzez komputer znajdujący się w tej samej sieci WiFi, poprzez przeglądarkę internetową, bądź poprzez kontroler gier z obsługą Bluetooth (np. PS4, XBox i X3).
Oprogramowanie sterujące działające na smartfonie zawiera system uczenia maszynowego, służący do rozpoznawania obiektów (określanych jest około 80 typów obiektów) i wykonywania funkcji autopilota. Aplikacja pozwala robotowi identyfikować pożądane obiekty, omijać przeszkody, podążać za wybranym obiektem i rozwiązywać problemy autonomicznej nawigacji. Przykładowo robot może przenieść się w określone miejsce w trybie autopilota, dostosowując się do zmian w otoczeniu. Ruchem można sterować także ręcznie, wykorzystując robota jako ruchomą kamerę sterowaną pilotem.
Nowa wersja znacznie przeprojektowała oprogramowanie Arduino, które obsługuje teraz dodatkowe typy robotów (RTR i RC). W aplikacji na Androida dodano obsługę nowego protokołu przesyłania wiadomości z oprogramowaniem mikrokontrolera, zaimplementowano możliwość przetwarzania komunikatów konfiguracyjnych oraz przeprojektowano obsługę sterowania za pomocą kontrolerów gier. Dodano modele do druku 3D nowego podwozia RC-Truck.
Do aplikacji klienckiej dodano przycisk umożliwiający włączenie kamery na robocie oraz zaprzestano obsługi protokołu RTSP na rzecz WebRTC. Interfejs sieciowy oparty na Node.js zapewnia możliwość zdalnego sterowania ruchem robota poprzez przeglądarkę z transmisją danych z kamery wideo robota za pomocą WebRTC.
Źródło: opennet.ru