robosense_ac_postprocess is a post-processing code repository for LiDAR and image data, enabling point cloud coloring based on images.
This project supports both AC1 and AC2, the calibration is based on LIDAR coordinate.
This project supports both ROS1 and ROS2. It has been tested on the Noetic version of ROS1 and the Humble version of ROS2.
Please follow the official instructions to install ROS:
Create a new folder or enter your existing workspace, and execute the following commands to pull the code into the workspace.
cd WORKSPACE_PATH/src
mkdir ac_studio && cd ac_studio
git clone https://github.com/RoboSense-Robotics/robosense_ac_postprocess.git -b mainUse the rosdep tool to install the dependencies required for compiling robosense_ac_postprocess.
cd ac_studio
rosdep install --from-paths robosense_ac_postprocess --ignore-src -r -yPlease follow the instructions to build the ROS driver robosense_ac_driver first, including the robosense_msgs required by this project.
Complete the driver build first. Then, in the robosense_ac_postprocess workspace, source the driver’s environment, and proceed to build robosense_ac_postprocess.
Execute the following command in the workspace to compile and install robosense_ac_postprocess.
cd WORKSPACE_PATH
source xxx/ac_driver/devel/setup.bash
catkin build robosense_ac_postprocessAfter compilation and installation, it's recommended to refresh the workspace's bash profile to ensure component functionality.
source devel/setup.bashcd WORKSPACE_PATH
source xxx/ac_driver/install/setup.bash
colcon build --symlink-install --parallel-workers 8 --packages-select robosense_ac_postprocessAfter compilation and installation, it's recommended to refresh the workspace's bash profile to ensure component functionality.
source install/setup.bashData can be obtained either by connecting to a Active Camera online or by playing offline data packets for testing.
Refer to the documentation to run the online node for real-time data acquisition. Follow the documentation instructions to set the corresponding environment variables in the terminal to enable zero-copy mode or non-zero-copy mode for data acquisition.
Use the ros command to play back data packets, for example:
# ROS1
rosbag play BAG_PATH
# ROS2
ros2 bag play BAG_PATHAC1 and AC2 have differences in their configuration parameters.
- AC1 : Run nodes using the
roscommand:
# ROS1
roslaunch launch/start_ac1.launch
# ROS2
ros2 launch robosense_ac_postprocess start_ac1.py- AC2 : Run nodes using the
roscommand:
# ROS1
roslaunch launch/start_ac2.launch
# ROS2
ros2 launch robosense_ac_postprocess start_ac2.py