ROS hat eine Reihe von Funktionspaketen wie Mapping, Navigation, Positionierung usw. bereitgestellt. Wie baut man einen mobilen Roboter auf Basis von ROS? Das offizielle ROS-Dokument enthält eine sehr detaillierte Beschreibung. Sie finden sie unter http://wiki.ros.org/navigation/Tutorials/RobotSetup . Für Neulinge, die gerade erst anfangen, gibt es jedoch noch einige, die schwer zu verstehen sind.
Dieser Artikel enthält hier eine kurze Zusammenfassung.
Nehmen wir an, dass wir basierend auf den spezifischen Roboteranforderungen nur Lidar- und IMU-Sensoren verwenden, um einen mobilen Roboter zu bauen, der in einer festen Szene arbeitet. Die zu erledigende Arbeit kann grob in die folgenden Teile unterteilt werden.
1 Robotermodellierung
Natürlich müssen Sie zuerst wissen, wie der Roboter aussieht. Dies erfordert ein Robotermodell, die relative Position und Größe des Roboterkörpers und jedes Sensors. Viele Modellierungswerkzeuge können dies tun und dann in das von ROS unterstützte Datenformat konvertieren.
2 TF-Datenfreigabe
Beim Robotermodell müssen Sie das Erscheinungsbild des Roboters veröffentlichen, damit andere ROS-Knoten diese Informationen erhalten. Dies erfordert die Implementierung eines TF-Knotens und die Freigabe von Roboter- / TF-Daten. Natürlich hat ROS auch entsprechende Tools bereitgestellt
3 Entwicklung des Lidar-Treiberknotens
Das Konvertieren von Lidar-Daten in ein von ROS erkanntes Format erfordert einen Treiber. Einige Radarhersteller haben ROS-Treiber für ihr eigenes Lidar bereitgestellt, was einfach ist und viel Arbeit spart. Versuchen Sie daher bei der Auswahl des Radars, Produkte auszuwählen, die ROS-Treiber bereitstellen.
4 IMU-Laufwerksknoten 开发
Außerdem müssen die IMU-Daten in ein Format konvertiert werden, das ROS erkennen kann, für das auch ein Treiber erforderlich ist. Einige IMU-Hersteller haben auch ROS-Treiber für ihre IMUs bereitgestellt, was einfach ist und viel Arbeit spart. Versuchen Sie daher bei der Auswahl einer IMU, Produkte auszuwählen, die ROS-Treiber bereitstellen.
5 Auswahl und Konfiguration des SLAM-Algorithmus
Es gibt viele SLAM-Algorithmen, die auf Lidar basieren. Wählen Sie einen für Ihr Anwendungsszenario geeigneten Algorithmus und konfigurieren Sie die Parameter entsprechend der tatsächlichen Hardware
6 Auswahl und Konfiguration des Navigationsalgorithmus
Move_base in ROS hat mehrere Komponenten zur Auswahl, wählen Sie das entsprechende Plugin aus und konfigurieren Sie die erforderlichen Parameter entsprechend den Anforderungen
7 Entwicklung des Base_controller-Knotens
Dies ist der Knoten, der die Bewegung des Roboters steuert, die Navigationsergebnisse von der Bewegungsbasis empfängt und dann die Bewegung des Robotermotors steuert
8 Kartenserverkonfiguration
Dies ist der Knoten, der die Karte gepostet hat
9 AMCL-Konfiguration
Positionierungsfunktion, konfigurieren Sie die für den AMCL-Knoten erforderlichen Parameter gemäß den Anforderungen
Nachdem die obigen Arbeiten abgeschlossen sind, wird im Grunde ein ROS-Roboter gebildet.
Es ist einfach, aber schwer zu tun. Probieren Sie es aus.