|
## Raddrehzahl Vans ##
|
|
## Wheel Speed Vans ##
|
|
|
|
|
|
### Worum geht es in dieser User Story? ###
|
|
### What is this User Story about? ###
|
|
|
|
|
|
In dieser User Story wird ein Raddrehzahlsensor an einem Modellvan angebracht, um präzise Daten über die Geschwindigkeit zu erfassen. Der Fokus liegt darauf, die Sensordaten in ein ROS-basiertes System zu integrieren.
|
|
In this User Story, a wheel speed sensor is mounted on a model van to collect precise data about its speed. The focus is on integrating the sensor data into a ROS-based system.
|
|
|
|
|
|
### Welchen Stand hat das Projekt? ###
|
|
### What is the current project status? ###
|
|
|
|
|
|
Alle Meilensteine des Projektes wurden erfolgreich umgesetzt. Die Hauptpunkte des Projektes waren:
|
|
All project milestones have been successfully completed. The main points of the project were:
|
|
- Montage des Sensors
|
|
- Mounting the sensor
|
|
- ROS Topic zum Auslesen (Km/h und m/s)
|
|
- ROS topic for data retrieval (km/h and m/s)
|
|
|
|
|
|
### Beschreibung der Arbeit im Semester ###
|
|
### Description of the semester's work ###
|
|
|
|
|
|
Die Arbeit des Semesters wurde in 3 Etappen aufgeteilt:
|
|
The semester's work was divided into three stages:
|
|
|
|
|
|
Sprint 1:
|
|
Sprint 1:
|
|
* Vertraut machen mit den Anforderungen & ROS und Arduino kennlernen
|
|
* Familiarization with the requirements & learning ROS and Arduino.
|
|
|
|
|
|
Sprint 2:
|
|
Sprint 2:
|
|
* Erstellung des Codes zum Auslesen der Sensordaten
|
|
* Developing the code to read sensor data.
|
|
* Montage des Sensors am Van
|
|
* Mounting the sensor on the van.
|
|
|
|
|
|
Sprint 3:
|
|
Sprint 3:
|
|
* Testen und Anpassen
|
|
* Testing and adjustments.
|
|
|
|
|
|
### Kurze Einführung in das Projekt ###
|
|
### Brief Introduction to the Project ###
|
|
|
|
|
|
In diesem Projekt wurden die Sensordaten mithilfe eines Arduino-Boards ausgelesen und in das korrekte Format übersetzt. Der zur Datenauswertung verwendete Code wurde in C++ geschrieben. Für das Auslesen der Sensordaten wurden zwei separate Dateien erstellt:
|
|
In this project, the sensor data was read using an Arduino board and translated into the correct format. The code used for data evaluation was written in C++. Two separate files were created for reading the sensor data:
|
|
|
|
|
|
* Eine Datei gibt die Sensordaten in der Einheit Kilometer pro Stunde (km/h) aus.
|
|
* One file outputs the sensor data in kilometers per hour (km/h).
|
|
* Die andere Datei stellt die Daten in Meter pro Sekunde (m/s) bereit.
|
|
* The other file provides the data in meters per second (m/s).
|
|
|
|
|
|
Der Code generiert ein ROS-Topic, über das die Sensordaten in der ROS-Umgebung abgerufen werden können. Dieses Topic gibt die ermittelten Sensordaten zurück und ermöglicht deren Weiterverarbeitung innerhalb des Systems.
|
|
The code generates a ROS topic that allows the sensor data to be retrieved in the ROS environment. This topic returns the collected sensor data and enables further processing within the system.
|
|
|
|
|
|
### Wichtige Dokumente ###
|
|
### Important Documents ###
|
|
|
|
|
|
https://nextcloud.th-wildau.de/nextcloud/index.php/s/rKAFjiKn2qxPHwq
|
|
https://nextcloud.th-wildau.de/nextcloud/index.php/s/rKAFjiKn2qxPHwq
|
|
|
|
|
|
### Anwendung ###
|
|
### Application ###
|
|
#### Alle Schritte wurden auf einem Ubuntu System 20.04.6 durchgeführt. Bei anderen Betriebssystemen kann es evtl. zu Abweichungen kommen
|
|
#### All steps were performed on an Ubuntu 20.04.6 system. Using other operating systems may lead to deviations.
|
|
|
|
|
|
#### Benötigte Software:
|
|
#### Required Software:
|
|
* ROS noetic 1.17 https://wiki.ros.org/noetic
|
|
* ROS noetic 1.17 https://wiki.ros.org/noetic
|
|
* Arduino IDE https://www.arduino.cc/en/software
|
|
* Arduino IDE https://www.arduino.cc/en/software
|
|
* rosserial Library https://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup
|
|
* rosserial Library https://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup
|
|
|
|
|
|
#### Sensor Anschliessen:
|
|
#### Connecting the Sensor:
|
|

|
|

|
|
|
|
|
|
#### Vorgehensweise:
|
|
#### Procedure:
|
|
* Der Pin des Arduinos, mit welchem der Sensor Pin "DO" verbunden ist, muss im Code definiert werden unter `#define ENCODER XX`. Dieser ist default auf Pin 3 eingestellt.
|
|
* The Arduino pin to which the sensor pin "DO" is connected must be defined in the code under `#define ENCODER XX`. By default, this is set to pin 3.
|
|
* Code auf das Arduino Board mittels der IDE Kompilieren und hochladen
|
|
* Compile and upload the code to the Arduino board using the IDE.
|
|
* Terminal öffnen ...
|
|
* Open a terminal ...
|
|
|
|
|
|
#### ROS-Befehle:
|
|
#### ROS Commands:
|
|
* `roscore`
|
|
* `roscore`
|
|
* `rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0 _baud:=9600` Der Port kann Möglicherweise abweichen
|
|
* `rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0 _baud:=9600` The port may vary.
|
|
* `rostopic list` Gibt alle Topics aus
|
|
* `rostopic list` Lists all topics.
|
|
* `rostopic echo /SEN-Speed_kmh` oder `rostopic echo /SEN-Speed_ms`
|
|
* `rostopic echo /SEN-Speed_kmh` or `rostopic echo /SEN-Speed_ms`
|
|
|
|
|
|
### Mögliche Hindernisse und wie diese zu vermeiden sind ###
|
|
### Possible Obstacles and How to Avoid Them ###
|
|
|
|
|
|
Schnelle Evaluierung der Hardware Anforderungen, um auf Mögliche Hindernisse vorbereitet zu sein.
|
|
Quick evaluation of hardware requirements to be prepared for potential obstacles.
|
|
|
|
|
|
### Aktuelle Bugs ###
|
|
### Current Bugs ###
|
|
|
|
|
|
Beim Versuch, den Arduino-Code über NoMachine auf den Van zu übertragen, trat wiederholt eine Fehlermeldung während der Kompilierung auf. Diese Fehlermeldung wies darauf hin, dass die Funktion attachInterrupt() nicht korrekt ausgeführt werden konnte. Wir vermuten, dass dieses Problem mit der auf dem Van (Nvidia Jetson) installierten Version der Arduino IDE zusammenhängt.
|
|
While attempting to upload the Arduino code to the van via NoMachine, a recurring error occurred during compilation. This error indicated that the function attachInterrupt() could not be executed correctly. We suspect that this issue is related to the version of the Arduino IDE installed on the van (Nvidia Jetson).
|
|
|
|
|
|
Um den Fehler zu umgehen, haben wir den Code von einem anderen Computer aus auf das Arduino-Board hochgeladen, auf dem die aktuelle Version der Arduino IDE installiert war. Dadurch konnte das Problem behoben werden und der Code wurde erfolgreich auf das Board übertragen. |
|
To work around the issue, the code was uploaded to the Arduino board from another computer with the latest version of the Arduino IDE installed. This resolved the problem, and the code was successfully uploaded to the board. |
|
\ No newline at end of file |
|
\ No newline at end of file |