ROS2 Installation
From perception_manager/sensus/ros:
colcon build
source ./install/setup.bash
Execution
Perception manager reads PointCloud2 messages from pointcloud_topic defined in src/ros_sensus/config/ros/perception_manager_config.json and publishes perception_interfaces/msg/Detection messages to detection_topic:
ros2 run ros_sensus perception_manager
Perception visualizer reads from detection_topic and publishes vision_msgs/msg/BoundingBox3DArray messages to visualization_topic, so they can be visualized in RViz2:
ros2 run ros_sensus perception_visualizer
Visualization
From perception_manager/sensus/ros:
rviz2 -d ./src/ros_sensus/config/rviz/perception_visualizer.rviz
Notes
Conda-ROS compatibility
Suspect that
source ros2_humble/install/setup.bashis sourcing local workspace somehowAdding
[build_scripts]
executable = /usr/bin/env python3
to setup.cfg in local workspace solved the conda-ROS compatibility issue
Activating conda env before
colcon builddoes not change behaviour
Experiments
a1: +6
a2: +8
a3: +10
a4: +4 (acceptable)
a5: +2 (slightly worse than a4)
a6: +4 (+3 was terrible)
a7: +5 (awful)
a8: +4.5 (bit worse than a4)
a9: +3.5 (worse than a4)
a10: +4.25
nus_1: circle_nms voxel 0.075 +4 (best)
nus_2: rotate nms voxel 0.075 +4 (bit worse than nus_1)
nus_3: circle_nms voxel 0.075 +0 (no detections)
nus_4: circle_nms voxel 0.075 +3 (worse than nus_1)
nus_5: circle_nms voxel 0.075 +5 (same as nus_4)
perception_manager_viz
TODO
[ ] Transform each bbox3d to bbox3d array for visualization
[ ] Adapt point cloud to KITTI characteristics to improve accuracy