/ydlidar_ros2

ydlidar ros2 package

Primary LanguageHTML

YDLIDAR

YDLIDAR ROS2 PACKAGE V1.4.5

ROS2 node and test application for YDLIDAR

Visit EAI Website for more details about YDLIDAR.

ubuntu

windows

How to Create a ROS2 workspace

Create a workspace

How to build YDLIDAR ros2 package

1) Clone this project to your ament's workspace src folder 
2) Running ament to build ydlidar_node and ydlidar_client
3) Create the name "/dev/ydlidar" for YDLIDAR
--$ cd workspace/ydlidar_ros2/startup
--$ sudo chmod 777 ./*
--$ sudo sh initenv.sh

Note: Download and Build details here

How to run YDLIDAR ros2 package

1. Run YDLIDAR node and view using test application

$ros2 run ydlidar ydlidar_node

$ros2 run ydlidar ydlidar_client

Note: You should see YDLIDAR's scan result in the console

2.Run YDLIDAR node and view using test application by launch

$launch $(ros2 pkg prefix ydlidar)/share/ydlidar/launch/ydlidar.py

$ros2 run ydldiar ydlidar_client or ros2 topic echo /scan

or

$ros2 launch ydlidar ydlidar_launch.py

Dataset

LIDAR Model Baudrate SampleRate(K) Range(m) Frequency(HZ) Intenstiy(bit) SingleChannel voltage(V)
F4 1 115200 4 0.12~12 5~12 false false 4.8~5.2
S4 4 115200 4 0.10~8.0 5~12 (PWM) false false 4.8~5.2
S4B 4/11 153600 4 0.10~8.0 5~12(PWM) true(8) false 4.8~5.2
S2 4/12 115200 3 0.10~8.0 4~8(PWM) false true 4.8~5.2
G4 5 230400 9/8/4 0.28/0.26/0.1~16 5~12 false false 4.8~5.2
X4 6 128000 5 0.12~10 5~12(PWM) false false 4.8~5.2
X2/X2L 6 115200 3 0.10~8.0 4~8(PWM) false true 4.8~5.2
G4PRO 7 230400 9/8/4 0.28/0.26/0.1~16 5~12 false false 4.8~5.2
F4PRO 8 230400 4/6 0.12~12 5~12 false false 4.8~5.2
R2 9 230400 5 0.12~16 5~12 false false 4.8~5.2
G6 13 512000 18/16/8 0.28/0.26/0.1~25 5~12 false false 4.8~5.2
G2A 14 230400 5 0.12~12 5~12 false false 4.8~5.2
G2 15 230400 5 0.28~16 5~12 true(8) false 4.8~5.2
G2C 16 115200 4 0.1~12 5~12 false false 4.8~5.2
G4B 17 512000 10 0.12~16 5~12 true(10) false 4.8~5.2
G4C 18 115200 4 0.1~12 5~12 false false 4.8~5.2
G1 19 230400 9 0.28~16 5~12 false false 4.8~5.2
TX8 100 115200 4 0.1~8 4~8(PWM) false true 4.8~5.2
TX20 100 115200 4 0.1~20 4~8(PWM) false true 4.8~5.2
TG15 100 512000 20/18/10 0.05~15 3~16 false false 4.8~5.2
TG30 101 512000 20/18/10 0.05~30 3~16 false false 4.8~5.2
TG50 102 512000 20/18/10 0.05~50 3~16 false false 4.8~5.2

Note: PWM option speed control requires external PWM wave.

Configuration

path: ydlidar.yaml

ros2-interfaces

Topic Type Description
scan sensor_msgs/LaserScan 2D laser scan of the 0-angle ring
Parameter Type Description
port String port of lidar (ex. /dev/ttyUSB0)
baudrate int baudrate of lidar (ex. 230400)
frame_id String TF frame of sensor, default: laser_frame
singleChannel bool Whether LiDAR is a single-channel, default: false
resolution_fixed bool Fixed angluar resolution, default: true
auto_reconnect bool Automatically reconnect the LiDAR, default: true
reversion bool Reversion LiDAR, default: true
isToFLidar bool Whether LiDAR is TOF Type, default: false
angle_min float Minimum Valid Angle, defalut: -180.0
angle_max float Maximum Valid Angle, defalut: 180.0
range_min float Minimum Valid range, defalut: 0.01m
range_max float Maximum Valid range, defalut: 64.0m
ignore_array String LiDAR filtering angle area, default: ""
samp_rate int sampling rate of lidar, default: 9
frequency float scan frequency of lidar,default: 10.0

Parameters

port (string, default: /dev/ydlidar)

serial port name used in your system. 

baudrate (int, default: 230400)

serial port baud rate. 
LiDAR baudrate
F4/S2/X2/X2L/S4/TX8/TX20/G4C 115200
X4 128000
S4B 153600
G1/G2/R2/G4/G4PRO/F4PRO 230400
G6/TG15/TG30/TG50 512000

frame_id (string, default: laser_frame)

frame ID for the device. 

singleChannel (bool, default: false)

indicated whether the LIDAR is single communication(S2) lidar.
LiDAR singleChannel
G1/G2/G4/G6/F4/F4PRO/S4/S4B/X4/R2/G4C false
S2/X2/X2L true
TG15/TG30/TG50 false
TX8/TX20 true

resolution_fixed (bool, default: true)

indicated whether the LIDAR has a fixed angular resolution. 

auto_reconnect (bool, default: true)

indicated whether the LIDAR auto reconnection. 

reversion (bool, default: false)

indicated whether the LIDAR data rotation 180°. 
LiDAR reversion
G1/G2/G4/G6/F4/F4PRO//R2/G4C/TG15/TG30/TG50 true
S2/X2/X2L/S4/S4B/X4/TX8/TX20 false

isToFLidar (bool, default: false)

indicated whether the LIDAR is TOF(TX8) lidar. 
LiDAR isToFLidar
G1/G2/G4/G6/F4/F4PRO/S4/S4B/X4/R2/G4C/S2/X2/X2L false
TG15/TG30/TG50/TX8/TX20 true

angle_min (double, default: -180)

Min valid angle (°) for LIDAR data. 

angle_max (double, default: 180)

Max valid angle (°) for LIDAR data. 

range_min (double, default: 0.08)

Min valid range (m) for LIDAR data. 

range_max (double, default: 32.0)

Max valid range (m) for LIDAR data. 

ignore_array (string, default: "")

Set the current angle range value to zero.

Note: ignore 10 to 20 and 50 to 80, ex: "10, 20, 50, 80" 

samp_rate (int, default: 9)

the LIDAR sampling frequency.
LiDAR samp_rate
G4/F4 4,8,9
F4PRO 4,6
G6 8,16,18
G1/G2/R2/X4 5
S4/S4B/G4C/TX8/TX20 4
S2 3
TG15/TG30/TG50 10,18,20

frequency (double, default: 10)

the LIDAR scanning frequency.

Note: Specific LiDAR paramter configuration, refer to Dataset

Upgrade Log

2020-02-08 version:1.4.5

1.Update SDK to 1.4.5

2.fixed ROS2 Dashing and Eloquent.

2019-12-23 version:1.4.4

1.support all standards lidar

2018-07-16 version:1.3.6

1.Update SDK verison to 1.3.9

2.remove imu sync.

2018-07-16 version:1.3.5

1.Update SDK verison to 1.3.6

2.add imu sync.

2018-04-16 version:1.3.1

1.Update SDK verison to 1.3.1

2.Increase sampling frequency,scan frequency setting.

3.Unified coordinate system.

4.Repair X4,S4 LIDAR cannot be opened.

5.Increased G4 G4C F4Pro LIDAR power-off protection.

6.Increased S4B LIDAR low optical power setting.

7.Fix the wait time for closing ros node.

8.Compensate for each laser point timestamp.

9.Unified profile, automatic correction lidar model.

6 Support

You can get support from YDLidar with the following methods:

  • Send email to support@ydlidar.com with a clear description of your problem and your setup
  • Github Issues

Contact EAI

Development Path

If you have any extra questions, please feel free to contact us