Ardumower Turtlebot Status

Ardumower Mini Zugriffe: 727

Über das Jahr 2020 habe ich ein anderes Projekt verfolgt und dem meine ganze Aufmerksamkeit gewidmet. Es ist eine Alu CNC Portalfräse entstanden. Alles nach eigenem Plan, aber ähnlich zu dem hier https://fraeserbruch.de/fraese-bieber

Der Ardumower mit Arctic Hare Chassis und Azurit hat während dessen einfach seinen Dienst verrichtet. Da ist das Thema ROS hinten runter gefallen.
Vergessen habe ich den aber nicht und tatsächlich vor wenigen Tagen das ganze Projekt erneut angepackt.



Also zum aktuellen Stand:
- Firmware basierend auf Azurit aufgesetzt. Alles raus geschmissen, was mit der bisherigen State Machine zu tun hatte. Erfassen von Sensoren etc. sind natürlich drin geblieben. Läuft schließlich seit Jahren sehr gut
- Firmware um ROS Schnittstelle erweitert. Zunächst habe ich es mit rosserial versucht. Der Overhead ist aber zu viel und der Mega stößt schnell an seine Grenzen. Also habe ich ein simples eigenes Protokoll entwickelt, über das die Kommunikation zu ROS läuft.
- Passend dazu gibt es einen ROS Treiber für den Ardumower. Der Mower wird per USB direkt mit dem PC verbunden, der den ROS Treiber ausführt (PC, Raspberry PI, was auch immer). Hierüber werden die Kommandos von ROS in Ardumower Kommandos übersetzt und zurück. Der ROS Treiber nutzt Ardumower spezifische, einfache Nachrichten.

Die Firmware und der Treiber haben nun einen fortgeschrittenen Stand, es fehlen nur noch einige Kleinigkeiten. Das ganze ist auf safe-operation ausgelegt. Der Mower soll im Zweifelsfall immer halten (z.B. wenn keine ROS Nachrichten mehr erhalten werden).

Nächster Schritt ist ein ROS base_controller zu erstellen. Ich nenne das mal so. Die Idee davon ist, ROS Standard Nachrichten (Twist, Odom etc.) zu verarbeiten und an den Ardumower Treiber weiterzugeben.
So habe ich die Kommunikation zum Mower selbst abstrahiert und man kann den Mower auch als echten Turtlebot verwenden.

Sobald der base_controller steht, werden einfache Teleop Kommandos möglich sein. Durch die Odom Nachrichten mittels tf Transformation sollte man den Mower auch in RVIZ oder Gazeboo beobachten können (hoffe ich)

Dann wird es zeit, einen ersten Ardumower node aufzusetzen. Die Idee dabei ist, die ROS Standard Nachrichten zu verarbeiten und Entscheidungen darauf zu treffen. Zunächst wird der sehr einfach gehalten sein. Fahre bis Bumper oder Perimeter und drehe dann entsprechend ab. Wenn Akku leer, dann fahr heim.

Klingt zunächst vielleicht nicht spannend, das Verhalten entspricht ja dem bisherigen. Es wäre dann aber alles auf ROS und wir haben einen Basis um mehr daraus zu machen.

Für mich ist das vor allem ein nettes Projekt um mich mit dem Thema ROS auseinander zu setzen. Die meisten ROS Tutorials setzen immer auf Simulationen auf. Wir man von da an aber zum echten Roboter kommt, erklären die meist nicht. Ich gehe daher den umgekehrten Weg und bringe erst einmal einen echten Mower ans fahren. Simpel aber funktional. Wenn das verlässlich läuft, dann geht es in die Simulation und von dort bei Erfolg zurück auf den echten Rasen.

Das ganze ist ein weiter Weg. Ob das erfolgreich sein wird, kann ich nicht abschätzen. Mein Plan ist aber, bis Ende des Jahres '20 das elementare stehen zu haben.

Drucken

Related Articles

ArdumowerTurtlebot, erste Eindrücke

ArdumowerTurtlebot

Minimalistischer Mini Mower