rslidar_sdk package from rslidar_sdk reporslidar_sdk |
|
Package Summary
Tags | No category tags. |
Version | 1.5.16 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/RoboSense-LiDAR/rslidar_sdk.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2024-08-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- robosense
Authors
1 rslidar_sdk
1 Introduction
rslidar_sdk is the Software Development Kit of the RoboSense Lidar based on Ubuntu. It contains:
- The lidar driver core rs_driver,
- The ROS support,
- The ROS2 support,
To get point cloud through ROS/ROS2, please just use this SDK.
To integrate the Lidar driver into your own projects, please use the rs_driver.
1.1 LiDAR Supported
- RS-LiDAR-16
- RS-LiDAR-32
- RS-Bpearl
- RS-Helios
- RS-Helios-16P
- RS-Ruby-128
- RS-Ruby-80
- RS-Ruby-48
- RS-Ruby-Plus-128
- RS-Ruby-Plus-80
- RS-Ruby-Plus-48
- RS-LiDAR-M1
- RS-LiDAR-M2
- RS-LiDAR-M3
- RS-LiDAR-E1
- RS-LiDAR-MX
1.2 Point Type Supported
- XYZI - x, y, z, intensity
- XYZIRT - x, y, z, intensity, ring, timestamp
2 Download
2.1 Download via Git
Download the rslidar_sdk as below. Since it contains the submodule rs_driver, please also use git submodule
to download the submodule properly.
git clone https://github.com/RoboSense-LiDAR/rslidar_sdk.git
cd rslidar_sdk
git submodule init
git submodule update
2.2 Download directly
Instead of using Git, user can also access rslidar_sdk_release to download the latest version of rslidar_sdk.
Please download the rslidar_sdk.tar.gz archive instead of Source code. The Source code zip file does not contain the submodule rs_driver, so it has to be downloaded manaully.
3 Dependencies
3.1 ROS
To run rslidar_sdk in the ROS environment, please install below libraries.
- Ubuntu 16.04 - ROS Kinetic desktop
- Ubuntu 18.04 - ROS Melodic desktop
- Ubuntu 20.04 - ROS Noetic desktop
For installation, please refer to http://wiki.ros.org.
It’s highly recommanded to install ros-distro-desktop-full. If you do so, the corresponding libraries, such as PCL, will be installed at the same time.
This brings a lot of convenience, since you don’t have to handle version conflict.
3.2 ROS2
To use rslidar_sdk in the ROS2 environment, please install below libraries.
- Ubuntu 16.04 - Not supported
- Ubuntu 18.04 - ROS2 Eloquent desktop
- Ubuntu 20.04 - ROS2 Galactic desktop
- Ubuntu 22.04 - ROS2 Humble desktop
For installation, please refer to https://index.ros.org/doc/ros2/Installation/Eloquent/Linux-Install-Debians/
Please do not install ROS and ROS2 on the same computer, to avoid possible conflict and manually install some libraries, such as Yaml.
3.3 Yaml (Essential)
version: >= v0.5.2
If ros-distro-desktop-full is installed, this step can be skipped
Installation:
sudo apt-get update
sudo apt-get install -y libyaml-cpp-dev
3.4 libpcap (Essential)
version: >= v1.7.4
Installation:
sudo apt-get install -y libpcap-dev
4 Compile & Run
4.1 Compile with ROS catkin tools
(1) Create a new workspace folder, and create a src folder in it. Then put the rslidar_sdk project into the src folder.
(2) Go back to the root of workspace, run the following commands to compile and run. (if using zsh, replace the 2nd command with source devel/setup.zsh).
catkin_make
source devel/setup.bash
roslaunch rslidar_sdk start.launch
4.2 Compile with ROS2 colcon
(1) Create a new workspace folder, and create a src folder in it. Then put the rslidar_sdk project in the src folder.
(2) Download the packet definition project in ROS2 through link, then put the project rslidar_msg in the src folder you just created.
(3) Go back to the root of workspace, run the following commands to compile and run. (if using zsh, replace the 2nd command with source install/setup.zsh).
colcon build
source install/setup.bash
ros2 launch rslidar_sdk start.py
Another version of start.py may be used, since it is different on different versios of ROS2. For example, elequent_start.py is used instead for ROS2 elequent.
5 Introduction to parameters
To change behaviors of rslidar_sdk, change its parameters. please read the following links for detail information.
6 Quick start
Below are some quick guides to use rslidar_sdk.
Connect to online LiDAR and send point cloud through ROS
Decode PCAP file and send point cloud through ROS
7 Advanced Topics
CHANGELOG
v1.5.16 2024-08-27
Added
- Load config path frome ros2 param.
Changed
- Remove the original compilation method.
Fixed
- Use single package.xml file for both ROS1 and ROS2 @Timple.
- Update msop protocol of RSMX.
v1.5.15 2024-08-07
Added
- Support RSM3.
v1.5.14 2024-07-15
Added
- Support multiple lidars with different multicast addresses and the same port.
Fixed
- Fixed the bug that only one lidar was parsed correctly when multiple bp4.0 were used.
- Fix version number in the package.xml by @Timple.
v1.5.13 2024-05-10
Added
- Support RSMX.
Fixed
- Update timestamp parsing unit and the number of packets per frame in decoder_RSE1.
- Update firing_tss of Helios/Helios16P/RubyPlus.
- Fix compilation bug of unit test.
- Remove duplicate text “/rslidar_packets” by @luhuadong.
v1.5.12 2023-12-28
Fixed
- Fix bug in getting device info and status.
- Fix bug in getting device temperature.
v1.5.11 2023-12-18
Changed
- Enable modify socket buffer size.
v1.5.10 - 2023-02-17
Changed
- Merge RSBPV4 into RSBP
v1.5.9 - 2023-02-17
Changed
- Increase sending DDS buffer queue to avoid packet loss
v1.5.8 - 2022-12-09
Added
- Support ROS2/Humble Hawksbill
- rename RSEOS as RSE1
Fixed
- Fix wrong widthxheight while ros_send_by_rows=true
v1.5.7 - 2022-10-09
Added
- Seperate RSBPV4 from RSBP
- Support to receive MSOP/DIFOP packet from rosbag v1.3.x
- Support option ros_send_by_rows
v1.5.6 - 2022-09-01
Added
- Add a few build options according to rs_driver
- Update help documents
v1.5.5 - 2022-08-01
Changed
- Output intensity in point cloud as float32
Fixed
- Fix compiling and runtime error on ROS2 Elequent
- Fix frame_id in help docs
v1.5.4 - 2022-07-01
Added
- Support the option to stamp the point cloud with the first point
Changed
- Remove the dependency on the protobuf library
v1.5.3 - 2022-06-01
Added
- Support Jumbo Mode
Fixed
- Fix compiling error when protobuf is unavailable
v1.5.0
Changed
- refactory the project
Added
- support user_layer_bytes and tail_layer_bytes
- support M2
- replace point with point cloud, as rs_driver’s template parameter
- handle point cloud in rs_driver’s thread
v1.3.0 - 2020-11-10
Added
- Add multi-cast support
- Add saved_by_rows argument
- Add different point types( XYZI & XYZIRT)
Changed
- Update driver core, please refer to CHANGELOG in rs_driver for details
- Update some documents
- Change angle_path argument to hiding parameter
Removed
- Remove RSAUTO for lidar type
- Remove device_ip argument
v1.2.1 - 2020-09-04
Fixed
- Fix bug in driver core, please refer to changelog in rs_driver for details.
v1.2.0 - 2020-09-01
Added
- Add camera software trigger (base on target angle)
Changed
- Update driver core, please refer to changelog in rs_driver for details
- Update the compiler version from C++11 to C++14
v1.1.0 - 2020-07-01
Added
- Add ROS2 support
Changed
- Replace while loop with cv.wait
- Update the vector copy part
- Update the program structure
Removed
- Remove some unused variables in message struct
v1.0.0 - 2020-06-01
Added
- New program structure
- Support ROS & Protobuf-UDP functions
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
ament_cmake | |
pcl_ros | |
rclcpp | |
roscpp | |
roslib | |
rslidar_msg | |
sensor_msgs | |
std_msgs |