Die Version 0.5 des OpenBot-Projekts, das eine Plattform zur Entwicklung von beweglichen Roboterfahrzeugen auf Basis eines gewöhnlichen Android-Smartphones bereitstellt, wurde veröffentlicht. Diese Plattform wurde in der Forschungseinheit von Intel entwickelt und verfolgt das Konzept, die Rechenleistung von Smartphones sowie die integrierten Funktionen wie GPS, Gyroskop, Kompass und Kamera zur Roboterentwicklung zu nutzen.
Die Software zur Steuerung des Roboters, Analyse der Umgebung und autonomen Navigation wird als App für Android bereitgestellt. Der Code ist in Java, Kotlin und C++ geschrieben und steht unter der MIT-Lizenz. Es wird vermutet, dass diese Plattform nützlich sein könnte für die Ausbildung in der Robotik, um schnell eigene Prototypen von beweglichen Robotern zu erstellen und Forschungsarbeiten zu Autopiloten und autonomer Navigation durchzuführen.
OpenBot ermöglicht es, mit minimalen Kosten Experimente mit fahrenden Robotern zu starten – zur Erstellung eines Roboters reicht ein Mittelklasse-Smartphone sowie zusätzliche Komponenten im Gesamtwert von ungefähr 50 Euro. Das Chassis für den Roboter sowie zugehörige Teile zur Befestigung des Smartphones werden anhand der bereitgestellten Vorlagen mit einem 3D-Drucker hergestellt (wenn kein 3D-Drucker verfügbar ist, kann das Gehäuse aus Karton oder Sperrholz ausgeschnitten werden). Die Bewegung wird von vier Elektromotoren gewährleistet.


Zur Steuerung der Motoren, Anbaugeräte und zusätzlichen Sensoren sowie zur Überwachung des Ladezustands der Batterien kommt eine Arduino Nano-Platine auf Basis des Mikrokontrollers ATmega328P zum Einsatz, die über den USB-Port mit dem Smartphone verbunden wird. Zudem können Geschwindigkeitssensoren und ein Ultraschallsensor angeschlossen werden. Die Fernsteuerung des Roboters kann über eine Client-App für Android, über einen Computer im selben WiFi-Netzwerk, über einen Webbrowser oder über einen Bluetooth-fähigen Spielcontroller (z. B. PS4, Xbox und X3) erfolgen.

Die auf Smartphones ausgeführte Steuerungssoftware umfasst ein maschinelles Lernsystem zur Objekterkennung (erkennt etwa 80 Objektarten) und zur Ausführung von Funktionen des Autopiloten. Die Anwendung ermöglicht es dem Roboter, die gesuchten Objekte zu identifizieren, Hindernisse zu umfahren, einem ausgewählten Objekt zu folgen und Aufgaben der autonomen Navigation zu lösen. Zum Beispiel kann der Roboter im Autopilotmodus an einen angegebenen Ort gelangen, während er sich an wechselnde Umgebungen anpasst. Die Bewegung kann auch manuell gesteuert werden, wobei der Roboter als bewegliche Kamera mit Fernbedienung fungiert.

In der neuen Version wurde die Firmware für Arduino erheblich überarbeitet, um zusätzliche Robotertypen (RTR und RC) zu unterstützen. In die Android-Anwendung wurde die Unterstützung eines neuen Nachrichtenübertragungsprotokolls für die Firmware des Mikrokontrollers integriert, die Möglichkeit zur Verarbeitung von Konfigurationsnachrichten umgesetzt und die Unterstützung für die Steuerung mit Spiel-Controllern überarbeitet. Neue Modelle für den Druck auf 3D-Druckern des RC-Truck-Chassis wurden hinzugefügt.

Im Client-Anwendung wurde eine Schaltfläche zum Umschalten der Kamera am Roboter hinzugefügt, und die Unterstützung des RTSP-Protokolls wurde zugunsten von WebRTC eingestellt. Im web-basierten Interface, das auf Node.js basiert, steht die Möglichkeit zur Verfügung, die Bewegung des Roboters über den Browser zu steuern, während Daten von der Kamera des Roboters mithilfe von WebRTC übertragen werden.



Quelle: opennet.ru
