No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.1
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rigbetellabs/tortoisebot.git
VCS Type git
VCS Version ros2-humble
Last Updated 2024-12-11
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The ROS2 device driver for YDLIDAR LIDARS

Additional Links

No additional links.

Maintainers

  • Tony

Authors

No additional authors.

YDLIDAR

YDLIDAR ROS2 Driver

ydlidar_ros2_driver is a new ros package, which is designed to gradually become the standard driver package for ydlidar devices in the ros2 environment.

How to install ROS2

ubuntu

windows

How to Create a ROS2 workspace

Create a workspace

Compile & Install YDLidar SDK

ydlidar_ros2_driver depends on YDLidar-SDK library. If you have never installed YDLidar-SDK library or it is out of date, you must first install YDLidar-SDK library. If you have installed the latest version of YDLidar-SDK, skip this step and go to the next step.

  1. Download or clone the YDLIDAR/YDLidar-SDK repository on GitHub.
  2. Compile and install the YDLidar-SDK under the build directory following README.md of YDLIDAR/YDLidar-SDK.

Clone ydlidar_ros2_driver

  1. Clone ydlidar_ros2_driver package for github :

    git clone https://github.com/YDLIDAR/ydlidar_ros2_driver.git ydlidar_ros2_ws/src/ydlidar_ros2_driver

  2. Build ydlidar_ros2_driver package :

   cd ydlidar_ros2_ws
   colcon build --symlink-install
   

Note: install colcon see

CMAKE Finished

>Note: If the following error occurs, Please install [YDLIDAR/YDLidar-SDK](https://github.com/YDLIDAR/YDLidar-SDK) first.

CMAKE ERROR

  1. 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 ~/ydlidar_ros2_ws/install/setup.bash" >> ~/.bashrc
    $source ~/.bashrc
    
  1. Confirmation To confirm that your package path has been set, printenv the grep -i ROS variable.
    $ printenv | grep -i ROS
    
You should see something similar to:
    `OLDPWD=/home/tony/ydlidar_ros2_ws/install`
  1. Create serial port Alias [optional]
	$chmod 0777 src/ydlidar_ros2_driver/startup/*
	$sudo sh src/ydlidar_ros2_driver/startup/initenv.sh
    
Note: After completing the previous operation, replug the LiDAR again.

Configure LiDAR paramters

ydlidar_ros2_driver_node:
  ros__parameters:
    port: /dev/ttyUSB0
    frame_id: laser_frame
    ignore_array: ""
    baudrate: 230400
    lidar_type: 1
    device_type: 0
    sample_rate: 9
    abnormal_check_count: 4
    resolution_fixed: true
    reversion: true
    inverted: true
    auto_reconnect: true
    isSingleChannel: false
    intensity: false
    support_motor_dtr: false
    angle_max: 180.0
    angle_min: -180.0
    range_max: 64.0
    range_min: 0.01
    frequency: 10.0
    invalid_range_is_inf: false

Run ydlidar_ros2_driver

Run ydlidar_ros2_driver using launch file

The command format is :

ros2 launch ydlidar_ros2_driver [launch file].py

  1. Connect LiDAR uint(s).
   ros2 launch ydlidar_ros2_driver ydlidar_launch.py 
   

or

   launch $(ros2 pkg prefix ydlidar_ros2_driver)/share/ydlidar_ros2_driver/launch/ydlidar.py 
   
  1. RVIZ
   ros2 launch ydlidar_ros2_driver ydlidar_launch_view.py 
   
![View](images/view.png  "View")
  1. echo scan topic
   ros2 run ydlidar_ros2_driver ydlidar_ros2_driver_client or ros2 topic echo /scan
   
Launch file introduction

The driver offers users a wealth of options when using different launch file. The launch file directory

is "ydlidar_ros2_ws/src/ydlidar_ros2_driver/launch". All launch files are listed as below :

launch file features
ydlidar.py Connect to defualt paramters
Publish LaserScan message on scan topic
ydlidar_launch.py Connect ydlidar.yaml Lidar specified by configuration parameters
Publish LaserScan message on scan topic
ydlidar_launch_view.py Connect ydlidar.yaml Lidar specified by configuration parameters and setup RVIZ
Publish LaserScan message on scan topic

Publish Topic

| Topic | Type | Description | |———————-|————————-|————————————————–| | scan | sensor_msgs/LaserScan | 2D laser scan of the 0-angle ring |

Subscribe Service

| Service | Type | Description | |———————-|————————-|————————————————–| | stop_scan | std_srvs::Empty | turn off lidar | | start_scan | std_srvs::Empty | turn on lidar |

Configure ydlidar_ros_driver internal parameter

The ydlidar_ros2_driver internal parameters are in the launch file, they are listed as below :

| Parameter name | Data Type | detail | | ————– | ——- | ———————————————————— | | port | string | Set Lidar the serial port or IP address
it can be set to /dev/ttyUSB0, 192.168.1.11, etc.
default: /dev/ydlidar | | frame_id | string | Lidar TF coordinate system name.
default: laser_frame | | ignore_array | string | LiDAR filtering angle area
eg: -90, -80, 30, 40 | | baudrate | int | Lidar baudrate or network port.
default: 230400 | | lidar_type | int | Set lidar type
0 – TYPE_TOF
1 – TYPE_TRIANGLE
2 – TYPE_TOF_NET
default: 1 | | device_type | int | Set device type
0 – YDLIDAR_TYPE_SERIAL
1 – YDLIDAR_TYPE_TCP
2 – YDLIDAR_TYPE_UDP
default: 0 | | sample_rate | int | Set Lidar Sample Rate.
default: 9 | | abnormal_check_count | int | Set the number of abnormal startup data attempts.
default: 4 | | fixed_resolution | bool | Fixed angluar resolution.
default: true | | reversion | bool | Reversion LiDAR.
default: true | | inverted | bool | Inverted LiDAR.
false – ClockWise.
true – CounterClockWise
default: true | | auto_reconnect | bool | Automatically reconnect the LiDAR.
true – hot plug.
default: true | | isSingleChannel | bool | Whether LiDAR is a single-channel.
default: false | | intensity | bool | Whether LiDAR has intensity.
true – G2 LiDAR.
default: false | | support_motor_dtr | bool | Whether the Lidar can be started and stopped by Serial DTR.
default: false | | angle_min | float | Minimum Valid Angle.
default: -180 | | angle_max | float | Maximum Valid Angle.
default: 180 | | range_min | float | Minimum Valid range.
default: 0.1 | | range_max | float | Maximum Valid range.
default: 16.0 | | frequency | float | Set Scanning Frequency.
default: 10.0 | | invalid_range_is_inf | bool | Invalid Range is inf.
true – inf.
false – 0.0.
default: false | More paramters details, see here

Contact EAI

Development Path

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

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ydlidar_ros2_driver at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.