Читать книгу Roboter mit ROS - Murat Calis - Страница 34

1.3.3rqt_robot_steering

Оглавление

Es ist zwar gut zu wissen, wie man einen Roboter mit Konsolenbefehlen fortbewegt, aber oft möchte man in einer grafischen Oberfläche schnell mal ein Gelände abfahren, ohne ständig an die Konsole gebunden zu sein. Dazu ist das Programm rqt_robot_steering gut geeignet. Es ist für Roboter konzipiert, die zwei unabhängig motorisierte Antriebsräder haben. Beide Antriebsräder sind fest am Chassis montiert, also ohne ein Lenkrad, das die Spur beeinflusst. Die Funktion des Lenkrads wird durch unterschiedliche Geschwindigkeiten der Motoren erreicht. Wenn ein Motor schneller dreht als der andere, dann fährt das Fahrzeug eine Kurve. Drehen beide Motoren gleich schnell, dann fährt es geradeaus. In der Abbildung 1–11 steuert der vertikal ausgelegte Regler die Geschwindigkeit nach vorne und hinten, während der horizontale Regler eine Drehung nach links oder rechts bewirkt. Eine Kombination beider Regler hat zur Folge, dass eine Bewegung nach vorne oder hinten und zusätzlich eine Drehung nach links oder rechts möglich ist.

rosrun rqt_robot_steering rqt_robot_steering

Das Programm rqt_robot_steering startet eine grafische Oberfläche. Ein ROS-Master muss bereits laufen, da das Programm mit rosrun aufgerufen wird und deshalb nicht automatisch einen ROS-Master startet.

Abb. 1–11ROS-Roboter-Fernsteuerung mit rqt_robot_steering

Wenn Sie das Programm zum ersten Mal starten, sind die Standardwerte stets brauchbar. Der Topic cmd_vel ist bekannt als Empfänger für Nachrichten des Typs geometry_msgs/Twist, die von rqt_robot_steering generiert werden und anschließend an das besagte Topic senden. Die Maximalgeschwindigkeit von 1 m/s nach vorne und hinten ist ebenso vernünftig. So kann es nicht passieren, dass der Roboter mit 20 Meter/Sekunde durch die Gegend flitzt. Ändern Sie diese Werte, dann werden sie beim nächsten Start als Standardwerte verwendet. Beginnen Sie am besten mit dem horizontalen Regler für Drehung in Radiant/Sekunde und belassen den vertikalen Regler bei 0 m/s. So bleibt der Roboter auf der Stelle stehen und dreht sich lediglich in die gewünschte Richtung.

Roboter mit ROS

Подняться наверх