ROS und CANopen - ein perfektes Team

Bei Anwendungen in der Servicerobotik setzt sich die Linux-basierte Softwareplattform ROS immer mehr durch. Deshalb haben unsere Entwickler ROS als Basis für einen semi-autonomen mobilen Serviceroboter gewählt, mit dem wir unsere Radantriebe in der Praxis testen. Doch zwei Hindernisse erschweren einen schnellen Start: die Integration von CANopen-Geräten ist noch nicht standardisiert, und Linux ist ohne Modifikationen nicht echtzeitfähig.

Unsere Lösung besteht daher in einer Aufgabenteilung: Motoren und Sensoren werden an den neuentwickelten NanotecCAN-Master EM5 angeschlossen, der die Motoren in Echtzeit ansteuert. ROS auf einem Linux-Embedded-PC berechnet aufgrund von Kinematik und Karte Zielvorgaben für die einzelnen Räder und sendet sie über Ethernet an die EM5, die diese Vorgaben wiederum interpoliert und überwacht. Durch den zeitlich exakten Takt von einer Millisekunde, mit dem der EM5 dann den Rädern zyklisch jeweils ihre aktuelle Zielgeschwindigkeit vorgibt, kann vermieden werden, dass es durch zeitlichen Jitter zu Schlupf bei einzelnen Rädern kommt. An den Master sind außerdem noch acht Ultraschallsensoren zur Kollisionsvermeidung angeschlossen, deren Daten zusätzlich über Ethernet an ROS weitergemeldet und mit den Daten des integrierten Laserscanners abgeglichen werden. Über den integrierten Touchscreen des EM5 sind Diagnoseinformationen abrufbar.

Durch die Kombination von ROS mit CANopen-Master und Plug & Drive Motoren ergibt sich so ein offener, einfach und schnell aufzubauender und trotzdem sehr leistungsfähiger Baukasten für Servicerobotik-Anwendungen.

Zurück

Fragen? Kommentare?

Haben Sie Fragen oder Anmerkungen zu diesem Artikel?

Support kontaktieren