ROS2 node for SLAMTEC LIDAR
Visit following Website for more details about SLAMTEC LIDAR:
SLAMTEC LIDAR roswiki: https://wiki.ros.org/rplidar
SLAMTEC LIDAR HomePage: https://www.slamtec.com/en/Lidar
SLAMTEC LIDAR SDK: https://github.com/Slamtec/rplidar_sdk
SLAMTEC LIDAR Tutorial: https://github.com/robopeak/rplidar_ros/wiki
Lidar Model |
---|
RPLIDAR A1 |
RPLIDAR A2 |
RPLIDAR A3 |
RPLIDAR C1 |
RPLIDAR S1 |
RPLIDAR S2 |
RPLIDAR S3 |
RPLIDAR S2E |
RPLIDAR T1 |
rolling, humble, galactic, foxy
Configuring your ROS 2 environment
ROS2 Tutorials Creating a workspace
-
example, choose the directory name ros2_ws, for "development workspace" :
mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src
-
Clone sllidar_ros2 package from github
Ensure you're still in the ros2_ws/src directory before you clone:
git clone https://github.com/Slamtec/sllidar_ros2.git
-
Build sllidar_ros2 package
From the root of your workspace (ros2_ws), you can now build sllidar_ros2 package using the command:
cd ~/ros2_ws/ source /opt/ros/<rosdistro>/setup.bash colcon build --symlink-install
if you find output like "colcon:command not found",you need separate install colcon build tools.
-
Package environment setup
source ./install/setup.bash
Note: Add permanent workspace environment variables. It's convenientif the ROS2 environment variables are automatically added to your bash session every time a new shell is launched:
$echo "source <your_own_ros2_ws>/install/setup.bash" >> ~/.bashrc $source ~/.bashrc
-
Create udev rules for rplidar
sllidar_ros2 running requires the read and write permissions of the serial device. You can manually modify it with the following command:
sudo chmod 777 /dev/ttyUSB0
But a better way is to create a udev rule:
cd src/rpldiar_ros/ source scripts/create_udev_rules.sh
The command for RPLIDAR A1 is :
ros2 launch sllidar_ros2 view_sllidar_a1_launch.py
The command for RPLIDAR A2M7 is :
ros2 launch sllidar_ros2 view_sllidar_a2m7_launch.py
The command for RPLIDAR A2M8 is :
ros2 launch sllidar_ros2 view_sllidar_a2m8_launch.py
The command for RPLIDAR A2M12 is :
ros2 launch sllidar_ros2 view_sllidar_a2m12_launch.py
The command for RPLIDAR A3 is :
ros2 launch sllidar_ros2 view_sllidar_a3_launch.py
The command for RPLIDAR C1 is :
ros2 launch sllidar_ros2 view_sllidar_c1_launch.py
The command for RPLIDAR S1 is :
ros2 launch sllidar_ros2 view_sllidar_s1_launch.py
The command for RPLIDAR S2 is :
ros2 launch sllidar_ros2 view_sllidar_s2_launch.py
ros2 launch sllidar_ros2 view_sllidar_s2e_launch.py
The command for RPLIDAR S3 is :
ros2 launch sllidar_ros2 view_sllidar_s3_launch.py
The command for RPLIDAR T1 is :
ros2 launch sllidar_ros2 view_sllidar_t1_launch.py
The command for RPLIDAR S1(TCP connection) is :
ros2 launch sllidar_ros2 view_sllidar_s1_tcp_launch.py
Notice: different lidar use different serial_baudrate.
RPLIDAR frame must be broadcasted according to picture shown in rplidar-frame.png