La version 0.5 du projet OpenBot a été publiée, développant une plateforme pour créer des robots à roues mobiles, dont la base est un smartphone Android ordinaire. La plateforme a été créée au sein du département de recherche d'Intel et développe l'idée d'utiliser les capacités de calcul du smartphone ainsi que le GPS, le gyroscope, la boussole et la caméra intégrés au smartphone.
Le logiciel de gestion du robot, d'analyse de l'environnement et de navigation autonome est réalisé sous forme d'application pour la plateforme Android. Le code est écrit en Java, Kotlin et C++ et est distribué sous licence MIT. Il est prévu que la plateforme puisse être utile pour l'apprentissage de la robotique, la création rapide de prototypes de robots mobiles et la conduite de recherches liées aux pilotes automatiques et à la navigation autonome.
OpenBot permet de commencer des expériences avec des robots mobiles à un coût minimal — pour créer un robot, il suffit d'un smartphone de milieu de gamme et de composants supplémentaires d'une valeur totale d'environ 50 dollars. Le châssis du robot et les pièces associées pour fixer le smartphone sont imprimés sur une imprimante 3D selon des modèles proposés (si vous n'avez pas d'imprimante 3D, vous pouvez découper une structure en carton ou en contreplaqué). Le mouvement est assuré par quatre moteurs électriques.


Pour contrôler les moteurs, l'équipement supplémentaire et les capteurs, ainsi que pour surveiller la charge des batteries, une carte Arduino Nano basée sur le microcontrôleur ATmega328P est utilisée, qui se connecte au smartphone via le port USB. De plus, la connexion de capteurs de vitesse et de sonar à ultrasons est supportée. Le contrôle à distance du robot peut être effectué via une application cliente pour Android, un ordinateur situé sur le même réseau WiFi, un navigateur web ou une manette de jeu compatible Bluetooth (par exemple, PS4, XBox et X3).

Le logiciel de gestion exécuté sur le smartphone intègre un système d'apprentissage automatique pour la reconnaissance d'objets (environ 80 types d'objets identifiés) et l'exécution de fonctions de pilotage automatique. L'application permet au robot d'identifier les objets recherchés, d'éviter les obstacles, de suivre un objet choisi et de résoudre des tâches de navigation autonome. Par exemple, le robot peut se déplacer en mode pilote automatique vers un emplacement spécifié, tout en s'adaptant aux changements de l'environnement. Le mouvement peut également être contrôlé manuellement, utilisant le robot comme une caméra mobile télécommandée.

Dans la nouvelle version, le firmware pour Arduino a été considérablement refondu, avec l'ajout de la prise en charge de nouveaux types de robots (RTR et RC). L'application pour Android a intégré un nouveau protocole de communication avec le firmware du microcontrôleur, permettant le traitement des messages de configuration et refonte de la prise en charge du contrôle via des manettes de jeu. Des modèles pour l'impression 3D du nouveau châssis RC-Truck ont été ajoutés.

Une nouvelle fonctionnalité a été ajoutée à l'application cliente pour basculer entre les caméras du robot, et le support du protocole RTSP a été abandonné au profit de WebRTC. Dans l'interface web basée sur Node.js, il est désormais possible de contrôler à distance le mouvement du robot via un navigateur, avec la diffusion des données de la caméra du robot à l'aide de WebRTC.



Source : opennet.ru
