Navigation eines FTF mit ROS2: Unterschied zwischen den Versionen
Zeile 55: | Zeile 55: | ||
==== Nützliche Befehle ==== | ==== Nützliche Befehle ==== | ||
=====0x6040 ControlWord===== | |||
Das ControlWord dient zur Bewegungssteuerung <br> | Das ControlWord dient zur Bewegungssteuerung <br> | ||
* Data Type: UNSIGNED16 | * Data Type: UNSIGNED16 | ||
Zeile 78: | Zeile 78: | ||
=====0x6060 Modes_of_operation===== | |||
Schalter zur Auswahl des Operationsmodus.<br> | Schalter zur Auswahl des Operationsmodus.<br> | ||
* Data Type: INTEGER8 | * Data Type: INTEGER8 | ||
Zeile 101: | Zeile 101: | ||
=====0x6064 Position_value_calculated===== | |||
Zeigt die Motorposition.<br> | Zeigt die Motorposition.<br> | ||
* Data Type: INTEGER32 | * Data Type: INTEGER32 | ||
Zeile 107: | Zeile 107: | ||
<br> | <br> | ||
=====0x607A target_position===== | |||
Zielposition für den Profile Position Mode.<br> | Zielposition für den Profile Position Mode.<br> | ||
* Data Type: INTEGER32 | * Data Type: INTEGER32 | ||
Zeile 116: | Zeile 116: | ||
<br> | <br> | ||
=====0x6081 P2P_profile_velocity===== | |||
Maximale Geschwindigkeit.<br> | Maximale Geschwindigkeit.<br> | ||
* Data Type: UNSIGNED32 | * Data Type: UNSIGNED32 | ||
Zeile 122: | Zeile 122: | ||
<br> | <br> | ||
=====0x6083/0x6084 profile_acceleration/deceleration===== | |||
Profil Beschleunigungs/Verzögerungsgeschwindigkeit in 100 rps/s.<br> | Profil Beschleunigungs/Verzögerungsgeschwindigkeit in 100 rps/s.<br> | ||
* Data Type: UNSIGNED32 | * Data Type: UNSIGNED32 |
Version vom 22. Juni 2022, 12:30 Uhr
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
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
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