È stata rilasciata la versione 0.5 del progetto OpenBot, che sviluppa una piattaforma per la creazione di robot mobili a ruote, basata su uno smartphone Android comune. La piattaforma è stata creata nel reparto di ricerca di Intel e sviluppa l'idea di utilizzare le capacità computazionali degli smartphone e i sensori integrati come GPS, giroscopi, bussole e fotocamere per la costruzione dei robot.
Il software per il controllo del robot, l'analisi dell'ambiente circostante e la navigazione autonoma è realizzato come un'applicazione per la piattaforma Android. Il codice è scritto in Java, Kotlin e C++ e distribuito con licenza MIT. Si prevede che la piattaforma possa rivelarsi utile per l'insegnamento della robotica, la rapida creazione di prototipi di robot mobili e la conduzione di ricerche legate ai piloti automatici e alla navigazione autonoma.
OpenBot consente di avviare esperimenti con robot mobili a costi minimi: per costruire un robot è sufficiente uno smartphone di fascia media e componenti aggiuntivi per un costo totale di circa 50 dollari. Il telaio del robot e i componenti accessori per montare lo smartphone possono essere stampati in 3D seguendo i modelli forniti (se non si dispone di una stampante 3D, è possibile ritagliare una struttura in cartone o compensato). Il movimento è garantito da quattro motori elettrici.


Per controllare i motori, le attrezzature e i sensori aggiuntivi, nonché per monitorare la carica della batteria, si utilizza una scheda Arduino Nano basata sul microcontrollore ATmega328P, che si collega allo smartphone tramite la porta USB. È inoltre supportata la connessione di sensori di velocità e sonar ad ultrasuoni. Il controllo remoto del robot può avvenire attraverso un'applicazione client per Android, un computer connesso alla stessa rete WiFi, un browser web o un controller di gioco compatibile con Bluetooth (ad esempio, PS4, XBox e X3).

Il software di gestione eseguito su smartphone include un sistema di apprendimento automatico per il riconoscimento degli oggetti (identifica circa 80 tipi di oggetti) e l'esecuzione di funzioni di pilota automatico. L'app consente al robot di identificare gli oggetti desiderati, aggirare gli ostacoli, seguire un oggetto selezionato e risolvere compiti di navigazione autonoma. Ad esempio, il robot può spostarsi in un luogo specificato in modalità pilota automatico, adattandosi ai cambiamenti dell'ambiente. È possibile controllare anche il movimento in modalità manuale, utilizzando il robot come una telecamera mobile con controllo remoto.

Nella nuova versione è stato notevolmente rielaborato il firmware per Arduino, che ora supporta ulteriori tipi di robot (RTR e RC). Nell'app per Android è stata aggiunta la supporto di un nuovo protocollo di comunicazione con il firmware del microcontrollore, è stata implementata la possibilità di elaborare messaggi di configurazione e rielaborato il supporto per il controllo tramite game controller. Sono stati aggiunti modelli per la stampa su stampante 3D del nuovo telaio RC-Truck.

Nell'app client è stata aggiunta un pulsante per commutare la fotocamera sul robot e viene interrotta la supporto al protocollo RTSP a favore di WebRTC. Nell'interfaccia web basata su Node.js è stata fornita la possibilità di controllare il movimento del robot da remoto tramite il browser, trasmettendo i dati dalla fotocamera del robot utilizzando WebRTC.



Fonte: opennet.ru
