Install eCAL & Python eCAL bindings from here. Install requirements.txt (if virtual env) or environnment.yml (if anaconda). Last tested protolib version : 3.11.3 Last tested eCAL version : 5.10.1 Python Version : 3.10.9
-
Lancer le driver de lidar : ld06_driver/ecal_ld06_driver.py
- Réglage du port serial dans ld06_driver.py
-
Traitement du lidar (localisation + évitement): loca_lidar/launch_loca_ecal.py
-
Pour sauvegarder des logs & les afficher tous sur la même console : common/ecal_debug_printer.py
-
Pour enregistrer automatiquement 110s de données après match_start : common/launch_autorecorder.py
- Nom des topics à utiliser :
- Position du lidar "brute" : lidar_pos
- Consigne d'arret détection obstacle en mouvement : stop_cons
- Position moyennée lorsque le lidar est fixe : smooth_pos
Localize the lidar/robot position on its environement with knowing fixed points positions for eurobot. Takes eCAL topic driver as input and output positions on eCAL too.
using pytest, unit tests for all functionalities (amalgame discovery, pattern finder, ...)
using eCAL + matplotlib, plot data (more using debug mode)
Jaune : données brutes le 0° : c'est la fléche sur le lidar En vert : les données considérés pour l'évitement (ça dépend de la position du robot, qui a pas été set donc c'est à (0,0,0...) En bleu : les amalgames, les poteaux testés pour la correspondance lidar/poteau En rouge : le poteau que l'algo a déduit
allow to set parameters (debug mode, ...)
Check regularly using launch_tests.py if nothing is broken
Lidar Frame -> Polar coordinates, origin is the lidar, distance in meters, angle in 360° Table Frame -> Cartesian Coordinates, origin is bottom left, distance in float meters, angles are radians
src
│ README.md
│ file001.txt
│
└───ld06_driver
│ │ ld06_driver.py - Connect to Serial to get lidar data
│ │ ecal_ld06_driver.py - Stream lidar on 'lidar_data' eCAL topic
│ │ ecal_fake_lidar.py - fixed fake lidar data to test 'lidar_data' streaming in eCAL
│ │
└─── loca_lidar
│ │ launch_loca_ecal.py - Takes lidar_data -> Publish cone_detection (stop_cons), lidar position
│ │ launch_tests.py - unit test for loca_lidar part
│ │ launch_vizualisation.py - Matplotlib Lidar, fixed_beacon positions, obstacle_cone visualization
└─── position_fusion
proto - protobuf definition folder & compiled for python