1. Program Link to heading
Branch: ros2
2. Workflow Link to heading
-
The official bag file uses Velodyne LiDAR. Modify the
sensor settings
in the/config/params.yaml
file in the ros2 branch.# Sensor Settings sensor: velodyne # lidar sensor type, can be 'velodyne', 'ouster', or 'livox' N_SCAN: 16 # number of lidar channels (e.g., Velodyne/Ouster: 16, 32, 64, 128, Livox Horizon: 6) Horizon_SCAN: 1800 # lidar horizontal resolution (Velodyne: 1800, Ouster: 512, 1024, 2048, Livox Horizon: 4000) downsampleRate: 1 # default: 1. Downsample your data if it’s too large
-
The official bag files come in different formats. I’ve downloaded the
campus
andpark
datasets. Depending on which bag file you are running, modify thetopics
andIMU Settings
in the/config/params.yaml
file in the ros2 branch.(1) park_dataset
# Topics pointCloudTopic: "/points_raw" # Point cloud data imuTopic: "imu_raw" # IMU data # IMU Settings extrinsicRot: [-1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, -1.0 ] extrinsicRPY: [ 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ]
(2) campus_dataset
# Topics pointCloudTopic: "/points_raw" # Point cloud data imuTopic: "/imu_correct" # IMU data # IMU Settings extrinsicRot: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0 ] extrinsicRPY: [ 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0 ]
3. Issues Link to heading
The official bag files are only available for ROS1, and testing on ROS2 requires converting the bags. The following two methods were tested for conversion:
-
rosbags
Install and test:
apt-get update apt-get install python3-pip pip install rosbags rosbags-convert --src <path_to_rosbag1_filename> --dst <path_to_ros2bag_filename> # Convert the bag file
Result: After converting with rosbags, the IMU frequency dropped from 500Hz to 250Hz, making it unusable.
-
ros1_bridge
Install and test: I created a Docker image, link
Result: No frequency drop, works fine.
4. Testing Link to heading
The process is reproducible.