rs_driver is the driver kernel for the RoboSense LiDARs.
Please download the official release from github, or get the latest version with the git client tool.
git clone https://github.com/RoboSense-LiDAR/rs_driver.git
Below are the supported LiDARS.
rs_driver is supported on the following platforms and compilers. Note the compiler should support C++14
.
Ubuntu (16.04, 18.04)
Windows
rs_driver depends on the following third-party libraries.
sudo apt-get install libpcap-dev libeigen3-dev libboost-dev libpcl-dev
cd rs_driver
mkdir build && cd build
cmake .. && make -j4
sudo make install
rs_driver
as a third party libraryIn your CMakeLists.txt
, find the rs_driver package and link to it .
find_package(rs_driver REQUIRED)
include_directories(${rs_driver_INCLUDE_DIRS})
target_link_libraries(your_project ${rs_driver_LIBRARIES})
rs_driver
as a submoduleAdd rs_driver into your project as a submodule.
In your CMakeLists.txt
, find the rs_driver package and link to it .
add_subdirectory(${PROJECT_SOURCE_DIR}/rs_driver)
find_package(rs_driver REQUIRED)
include_directories(${rs_driver_INCLUDE_DIRS})
target_link_libraries(your_project ${rs_driver_LIBRARIES})
Install libpcap runtime library.
Unzip libpcap's developer's pack to your favorite location, and add the path to the folder WpdPack_4_1_2/WpdPack
to the environment variable PATH
.
To compile with VS2019, please use the official installation package PCL All-in-one installer.
Select the "Add PCL to the system PATH for xxx" option during the installation.
Installation is not supported on Windows.
rs_driver offers two demo programs in rs_driver/demo
.
demo_online
connects to online lidar, and output point cloud.
demo_pcap
parses pcap file, and output point cloud. It is based on libpcap.
To build demo_online
and demo_pcap
, enable the CMake option COMPILE_DEMOS
.
cmake -DCOMPILE_DEMOS=ON ..
For more info about demo_online
, Please refer to Decode online LiDAR
For more info about demo_pcap
, Please refer to Decode pcap file
rs_driver offers a visualization tool rs_driver_viwer
in rs_driver/tool
, which is based on PCL.
To build it, enable the CMake option CMOPILE_TOOLS.
cmake -DCOMPILE_TOOLS=ON ..
For more info about rs_driver_viewer
, please refer to Visualization tool guide
For more info about the rs_driver
API, Please refer to:
rs_driver/src/rs_driver/msg/point_cloud_msg.hpp
, rs_driver/src/rs_driver/msg/pcl_point_cloud_msg.hpp
rs_driver/src/rs_driver/api/lidar_driver.hpp
rs_driver/src/rs_driver/driver/driver_param.hpp
, rs_driver/src/rs_driver/common/error_code.hpp
For more topics, Please refer to:
Please see Directories and Files
v1.3.x
and v1.5.x
. Which is suggested? Is it suggested to upgrade to v1.5.x
? How to upgrade? Please see How to port from v1.3.x to v1.5.x
Please see How to compile rs_driver
on Windows
Please see Thread Model and Interface
Please see How to connect to online LiDAR,How to decode PCAP file。
Please see Online LiDAR - Advanced Topics
rs_driver
? And if multiple LiDARs? With VLAN layer? With extra layers before/after MSOP/DIFOP packet? Please see PCAP File - Advanced Topics
rs_driver
by a PCAP file? For both online LiDAR and PCAP file? Please see How to configure rs_driver by PCAP file
rs_driver
? How to capture such a file? Please see How to capture a PCAP file for rs_driver
Please see rs_driver CMake Macros
Please see rs_driver configuration parameters
ERRCODE_MSOPTIMEOUT
/ERRCODE_WRONGMSOPID
/ERRCODE_PKTBUFOVERFLOW
...... What does it mean? Please see rs_driver Error Code
Please see How to transform point cloud
Please see How to avoid packet Loss
Please see CPU Usage and Memory Usage of rs_driver
ring
of point? Where is point timestamp from? Please see Point Layout in point cloud
Please see Splitting frames
rs_driver
? Please see Analysis of rs_driver's source code