ROS 2 package that projects LiDAR point clouds onto semantic camera images and publishes colored semantic point clouds.
The package now builds a single reusable executable:
synesthesiax_nodeThe same executable is launched twice with different parameters:
synesthesiax_frontsynesthesiax_back
Use:
ros2 launch synesthesiax synesthesiax.launch.pySingle-side launch files are also available:
ros2 launch synesthesiax synesthesiax_front_camera.launch.py
ros2 launch synesthesiax synesthesiax_back_camera.launch.pylabels_transport:raworcompressed.semantic_cloud_topic: output topic for the full semantic cloud.overlay_topic: output topic for the projected debug image.class_cloud_topic_prefix: prefix for per-class semantic clouds.enable_range_filter: enable/disable range filtering.enable_fov_filter: enable/disable FOV filtering.require_positive_x: discard points withx <= 0when enabled.sync_queue_size: approximate-time synchronizer queue size.
The old back-camera implementation manually projected points as:
(-x, -y, z)That convention is now absorbed in config/pinhole_model_back_camera.yaml:
R_new = R_old * diag(-1, -1, 1)
Therefore, the C++ projector is now frame-agnostic and always uses the original cloud coordinates directly.