Navigation eines FTF mit ROS2

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autor: Yannick Schmidt
Art: Projektarbeit
Dauer: April - September 2022
Betreuer: Prof. Schneider


Thema

Das Thema der Projektarbeit ist es das Fahrerlose Transportfahrzeug mit ROS2 zu navigieren

Aufgabenstellung

  • Einarbeitung in ROS 2 und die FTF Hardware
  • Optimierung der Navigation in der WeBots Simulation
  • Inbetriebnahme der FTF Sensoren
  • Sicherer Betriebszustand und Notaus
  • Ansteuerung der FTF Aktoren
  • Schnittstelle ROS2 zum FTF herstellen
  • Navigation des FTF in einer realen Umgebung
  • Ausblick auf Optimierungspotential
  • Dokumentation der Erkenntnisse in einem Wiki Artikel


Anforderungen an die Projektarbeit

  1. Studentische Arbeiten bei Prof. Schneider
  2. Anforderungen an eine wissenschaftlich Arbeit


Projektplan

Inbetriebnahme der FTF Sensoren

Lidar

  • RPLidar mit rplidar_ros2 package ansteuerbar

6-Achsen Gyroskop

Ansteuerung der FTF Aktoren

Motoren

CANopenLinux

Zur Ansteuerung der Motoren wird eine CANopen Node mit der ID=3 eröffnet.
Um den PCAN Treiber zu laden muss folgender Befehl ausgeführt werden:
sudo modprobe pcan
Dazu muss zunächst die CAN Schnittstelle zugewiesen werden:
sudo ip link set up can0 type can bitrate 250000

Anschließend wird die Node erstellt:
canopend can0 -i 3 -c "local-/tmp/CO_command_socket"

Der CANBus kann mit candump can0 ausgelesen werden.

Mit cocomm "<node> <r/w> <index> <subindex> <datatype> <value>" können Befehle gesendet/ausgelesen werden.

Nützliche Befehle

0x6040 ControlWord

Das ControlWord dient zur Bewegungssteuerung

  • Data Type: UNSIGNED16
  • Access Type: write only
ControlWord Bits
15 11 10 9 8 7 6 4 3 2 1 0
Manufacturer Specific Reserved Halt Fault Reset Operation Mode Specific Enable Operation Quick Stop Enable Voltage Switch on



0x6060 Modes_of_operation

Schalter zur Auswahl des Operationsmodus.

  • Data Type: INTEGER8
  • Access Type: write only
Mode of Operation Action
-2 SYNC Q Mode
-1 Normal Q Mode
1 Profile Position Mode
3 Profile Velocity Mode
4 Torque Profile Mode
6 Homing Mode

Der Operationsmodus steht in 0x6061.


0x6064 Position_value_calculated

Zeigt die Motorposition.

  • Data Type: INTEGER32
  • Access Type: read only


0x607A target_position

Zielposition für den Profile Position Mode.

  • Data Type: INTEGER32
  • Access Type: read/write

ControlWord Bit 6 setzen:

  • 0 für absolute Position
  • 1 für relative Position


0x6081 P2P_profile_velocity

Maximale Geschwindigkeit.

  • Data Type: UNSIGNED32
  • Access Type: read/write


0x6083/0x6084 profile_acceleration/deceleration

Profil Beschleunigungs/Verzögerungsgeschwindigkeit in 100 rps/s.

  • Data Type: UNSIGNED32
  • Access Type: read/write

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Link zu dem SVN_Ordner des Projekt.

YouTube Video

Das Video von diesem Projekt finden Sie auf Youtube unter dem Link:

Weblinks


Literatur


→ zurück zum Hauptartikel: Studentische Arbeiten