robosense-lidar / rslidar_sdk Goto Github PK
View Code? Open in Web Editor NEWRoboSense LiDAR SDK for ROS & ROS2
License: Other
RoboSense LiDAR SDK for ROS & ROS2
License: Other
robosense::lidar::LidarPointCloudMsg怎么转成robosense::lidar::PointCloudMsg?
前者是sdk中的消息格式,后者是demo中的消息格式,在msg中只有lidarPointCloudMsg转成ROS消息的函数,而没有pointCloudMsg转ROS消息的函数?
ROS's PointCloud2.msg message format supports an organized 2d (image-like) point cloud format. For some applications it might be beneficial to work with such an organized point cloud, where the point cloud are organized according to their ring and their firing cycle / azimuth.
Best Regads
Hello,
I'm working with a RS Bpearl 3d lidar at 10 Hz, so it should publish 57600 per sensor_msgs::PointCloud2 message. But around every second I receive a message with 57984 points. I looked the data sent by the lidar through wireshark and I found the same thing : from time to time there is an extra packet of data.
Is this normal ? And if so what is the use of this extra packet ?
Below is a few headers from the sensor_msgs::PointCloud2 message where the extras points appears
header:
seq: 10895
stamp:
secs: 1610721842
nsecs: 488307476
frame_id: "rslidar_optical_center"
height: 32
width: 1800
fields: "<array type: sensor_msgs/PointField, length: 6>"
is_bigendian: False
point_step: 32
row_step: 57600
data: "<array type: uint8, length: 1843200>"
is_dense: False
---
header:
seq: 10896
stamp:
secs: 1610721842
nsecs: 588924408
frame_id: "rslidar_optical_center"
height: 32
width: 1812
fields: "<array type: sensor_msgs/PointField, length: 6>"
is_bigendian: False
point_step: 32
row_step: 57984
data: "<array type: uint8, length: 1855488>"
is_dense: False
---
header:
seq: 10897
stamp:
secs: 1610721842
nsecs: 688874483
frame_id: "rslidar_optical_center"
height: 32
width: 1800
fields: "<array type: sensor_msgs/PointField, length: 6>"
is_bigendian: False
point_step: 32
row_step: 57600
data: "<array type: uint8, length: 1843200>"
is_dense: False
---
Hi!
Saw that there is a file named CameraTrigger something. Can this sdk trigger an industrial camera? How to achieve that?
Thank you!
Hello,
With the paramerter use_lidar_clock = true, the timestamping of the ROS sensor_msgs::PointCloud2 message. The call to get the lidar clock is executed on the first packed of the scan or the last packet of the scan ?
Thank you for your help
Hardware Unit: Robosense RS-LiDAR-M1
Environment: Ubuntu 20.04, ROS 1 Noetic
Version: RSLidar_SDK Version: v1.2.1, git commit 73b4c66.
Issue: rslidar_sdk_node crashes on reciept of data from lidar unit.
Console output:
duncan@rosvm:~/catkin_ws$ roslaunch rslidar_sdk start.launch
... logging to /home/duncan/.ros/log/9b2ce678-08b1-11eb-90d4-5b195771cb2a/roslaunch-rosvm-2308.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://rosvm:38683/
SUMMARY
========
PARAMETERS
* /rosdistro: noetic
* /rosversion: 1.15.8
NODES
/
rslidar_sdk_node (rslidar_sdk/rslidar_sdk_node)
rviz (rviz/rviz)
auto-starting new master
process[master]: started with pid [2316]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 9b2ce678-08b1-11eb-90d4-5b195771cb2a
process[rosout-1]: started with pid [2326]
started core service [/rosout]
process[rslidar_sdk_node-2]: started with pid [2329]
process[rviz-3]: started with pid [2334]
********************************************************
********** **********
********** RSLidar_SDK Version: v1.2.1 **********
********** **********
********************************************************
------------------------------------------------------
Receive Packets From : Online LiDAR
Msop Port: 6699
Difop Port: 7788
------------------------------------------------------
RoboSense-LiDAR-Driver is running.....
[rslidar_sdk_node-2] process has died [pid 2329, exit code -8, cmd /home/duncan/catkin_ws/devel/lib/rslidar_sdk/rslidar_sdk_node __name:=rslidar_sdk_node __log:=/home/duncan/.ros/log/9b2ce678-08b1-11eb-90d4-5b195771cb2a/rslidar_sdk_node-2.log].
log file: /home/duncan/.ros/log/9b2ce678-08b1-11eb-90d4-5b195771cb2a/rslidar_sdk_node-2*.log
[rviz-3] process has finished cleanly
log file: /home/duncan/.ros/log/9b2ce678-08b1-11eb-90d4-5b195771cb2a/rviz-3*.log
However there is no file rslidar_sdk_node-2*.log
.
Running the command directly shows a floating point error, but only once the Lidar has started to send data.
duncan@rosvm:~/catkin_ws$ /home/duncan/catkin_ws/devel/lib/rslidar_sdk/rslidar_sdk_node
********************************************************
********** **********
********** RSLidar_SDK Version: v1.2.1 **********
********** **********
********************************************************
------------------------------------------------------
Receive Packets From : Online LiDAR
Msop Port: 6699
Difop Port: 7788
------------------------------------------------------
RoboSense-LiDAR-Driver is running.....
Floating point exception (core dumped)
Which looks like an arithmetic error in rslidar_sdk_node, or one of the libraries.
Wireshark shows valid UDP data streamed from port 6699 from the Lidar unit continuing after node crashes.
Hello,
I have the same issue as this: #17 (comment)
I'm trying to connect multiple M1 to my system. RSView is mentioned in the documentation but the software does not seem to support the M1.
The sensors will be used on a system with Ubuntu 20.04 with ROS 1 but I also have access to a Windows machine if necessary for the configuration steps.
Thanks!
Hi all,
We recorded a ROS bag with our RS Ruby using the rslidar_sdk and containing only the packets.
When we use later the same rslidar_sdk to produce the pointclouds we observe a strange spiral pattern of missed points.
The RS Ruby is mounted on the top of a car.
We don't know if this is due to a decoding problem, a malfunctioning of the laser or if it could be some effect of the synchronization of the beams and the velocity of the car (around ~30km/h). We haven't been able to check if this pattern is observed also in an online mode since we recorded only the packets.
I share here a short bag (670MB) containing few seconds from the original bag, with the packets and the produced pointclouds so you can see the effect in movement.
Hi, I had this trouble when I ran RS-LIDAR-16
ERRCODE_WRONGPKTHEADER
what should I do?
Following a fresh install on Ubuntu 20.04 on ROS Noetic. The build failed with both cmake and catkin_make. It appears that PointCloudLibrary requires C++14, but C++11 is set by default. I have created this bug to associate it with the pull request generated here:
#1
Hi all,
we are experiencing an issue related to reflectivity where some points are missed, especially those from lower planes.
We observe this issue in our indoor environment but not in an outdoor environment.
We are wondering if there is a way to tune the reflection properties so it can work better with our indoor floor.
I attach two figures (indoor/outdoor) showing what is happening.
Indoor: close beams miss points.
Outdoor: perfect projection pattern in all beams
。
Hello,
I am trying to run Visualize the RS lidars data recorded in PCAP format using ROS workspace.
By configuring the below config.yaml am able to visualize data of RS128 and RS32 without any issues.
Similiarly, If i configure configue.yaml file for RS80 (RSRubyLite) Lidar am getting points like this.
lidar:
- driver:
lidar_type: RS80 #LiDAR type - RS16, RS32, RSBP, RS128, RS80, RSM1, RSHELIOS
frame_id: /rslidar #Frame id of message
msop_port: 6699 #Msop port of lidar
difop_port: 7788 #Difop port of lidar
start_angle: 0 #Start angle of point cloud
end_angle: 360 #End angle of point cloud
min_distance: 0.2 #Minimum distance of point cloud
max_distance: 200 #Maximum distance of point cloud
use_lidar_clock: false #True--Use the lidar clock as the message timestamp
#False-- Use the system clock as the timestamp
Any help is much appreciated. Thanks
Regards,
Ajay
Hello,
I am writing to you since I am using your driver with one of your sensors (RS32). I am using the Ubuntu 18 operating system with Ros Melodic. I have configured the driver so that my personal computer is the one that sends the information and an instance of Amazon Web Service is the one that consumes this information. They are connected through a VPN, with AWS being the master in the entire operation.
The driver configuration has been set as indicated in the document "how_to_use_protobuf_function.md" provided with the sdk.
The problem I find is that no sending or receiving of data is established.
Sender:
********** RSLidar_SDK Version: v1.3.0 **********
process [rviz-2]: started with pid [15697]
Receive Packets From: Online LiDAR
Msop Port: 6699
Difop Port: 7788
Send Packets To: Protobuf-UDP
Msop Port: 60022
Difop Port: 60023
Target IP: X.X.X.X
RoboSense-LiDAR-Driver is running .....
Receiver:
********** RSLidar_SDK Version: v1.3.0 **********
Receive Packets From: Online LiDAR
Msop Port: 6699
Difop Port: 7788
Send PointCloud To: ROS
PointCloud Topic: / rslidar_points
RoboSense-LiDAR-Driver is running .....
ERRCODE_MSOPTIMEOUT
ERRCODE_DIFOPTIMEOUT
ERRCODE_MSOPTIMEOUT
ERRCODE_MSOPTIMEOUT
ERRCODE_DIFOPTIMEOUT
ERRCODE_MSOPTIMEOUT
ERRCODE_MSOPTIMEOUT
ERRCODE_DIFOPTIMEOUT
ERRCODE_MSOPTIMEOUT
ERRCODE_MSOPTIMEOUT
ERRCODE_DIFOPTIMEOUT
ERRCODE_MSOPTIMEOUT
ERRCODE_MSOPTIMEOUT
ERRCODE_DIFOPTIMEOUT
ERRCODE_MSOPTIMEOUT
ERRCODE_MSOPTIMEOUT
I have checked the correct sensor operation using ROS and I have been able to observe the point cloud without any problem.
Timestamps for points are incorrect when data, pcap/packets is given to the sdk and use_lidar_time is not used. Always on computer time, not on the packet time.
Offset can be seen from the difference of header time and first/last point time depending on configuration.
decoder_base.hpp uses getTime() for get_point_time_func_, when use_lidar_clock is false, which uses system clock.
Result is that the header of messages are in correct time but the points time are wrong when playing recordings through the node.
Hey everyone,
we are using the Robosense Ruby (RS128) and want to publish and record the data via ROS (Ubuntu 18.04 and Melodic). However, after setting all necessary configs in the config.yaml and starting roslaunch rslidar_sdk start.launch
, we receive the following rviz output:
We also checked the published topics via rostopic list
, and all are visible. (/rslidar_packets /rslidar_packets_difop /rslidar_points)
When we use rostopic echo
, only /rslidar_points are visible, whereas /rslidar_packets and /rslidar_packets_difop give the following output:
ERROR: Cannot load message class for [rslidar_msgs/rslidarScan]. Are your messages built?
We also checked the pointcloud via RSView and that seems to work totally fine.
Do you have any hints/ ideas what could solve our problem?
Thanks.
PS: Attached the config.yaml file content we use:
common:
msg_source: 1 #0: not use Lidar
#1: packet message comes from online Lidar
#2: packet message comes from ROS or ROS2
#3: packet message comes from Pcap file
#4: packet message comes from Protobuf-UDP
#5: point cloud comes from Protobuf-UDP
send_packet_ros: true #true: Send packets through ROS or ROS2(Used to record packet)
send_point_cloud_ros: true #true: Send point cloud through ROS or ROS2
send_packet_proto: false #true: Send packets through Protobuf-UDP
send_point_cloud_proto: false #true: Send point cloud through Protobuf-UDP
pcap_path: /home/robosense/lidar.pcap #The path of pcap file
lidar:
- driver:
lidar_type: RS128 #LiDAR type - RS16, RS32, RSBP, RS128, RS80, RSM1, RSHELIOS
frame_id: /rslidar #Frame id of message
msop_port: 6699 #Msop port of lidar
difop_port: 7788 #Difop port of lidar
start_angle: 0 #Start angle of point cloud
end_angle: 360 #End angle of point cloud
min_distance: 0.2 #Minimum distance of point cloud
max_distance: 200 #Maximum distance of point cloud
use_lidar_clock: true #True--Use the lidar clock as the message timestamp
#False-- Use the system clock as the timestamp
ros:
ros_recv_packet_topic: /rslidar_packets #Topic used to receive lidar packets from ROS
ros_send_packet_topic: /rslidar_packets #Topic used to send lidar packets through ROS
ros_send_point_cloud_topic: /rslidar_points #Topic used to send point cloud through ROS
proto:
point_cloud_recv_port: 60021 #Port number used for receiving point cloud
point_cloud_send_port: 60021 #Port number which the point cloud will be send to
msop_recv_port: 60022 #Port number used for receiving lidar msop packets
msop_send_port: 60022 #Port number which the msop packets will be send to
difop_recv_port: 60023 #Port number used for receiving lidar difop packets
difop_send_port: 60023 #Port number which the difop packets will be send to
point_cloud_send_ip: 127.0.0.1 #Ip address which the point cloud will be send to
packet_send_ip: 127.0.0.1 #Ip address which the lidar packets will be send to
Hi,
thanks for the new sdk. I am using your kit along with the RS32, however I am missing the ring information field for the point cloud when I am using the "rslidar_sdk_node". I am using the "offline mode" where my packet and difop messages come from a ROS bag. I know that the sdk can decode the ring field but how can I add that field ?
Best Regards
Hello,
I would want to send an UCWP packet to modify the lidar configuration while the driver is launched.
I tried to find the port number for the UCWP connection but it was not listed in the documentation.
Is it possible to know which port it is ?
Thanks
Driver config has
start_angle: 265 #Start angle of point cloud
end_angle: 90 #End angle of point cloud
for two driver instances with lidars mounted 180 of eachother.
Running latest release and it does not seem to operate consistently.
The area that is supposed to be cut blinks on and off.
split_frame_mode did not seems to help it either so it is not related.
Hi, how to record point cloud data into a PCAP file programmatically, just like RSView?
This SDK provides examples of sending package proto or decoded point cloud proto, and we can save these protos separately for each scan. However, this will create lots of files.
Hi,
Could you please tell me how to convert 128 RS_Ruby point cloud into range image? What's the actual horizontal angle resolution?
Looking forward to your help ;)
Hi,
Can we get dense pointcloud directly from 1.3 sdk by changing some config parameters?
When I work with rslidar 16, I need remove NaN from the pointcloud first.
Hi,
We are trying to use the rslidar_sdk package with our RS16 instead of the old ros_rslidar.
We are using the provided "start.launch" in this package. We manage to connect with the RS16 and visualize its data.
However we are observing a problem regarding the range data returned by the sensor, as you can observe from the attached images, the ranges (colored pointcloud) are much shorter than the real distances measured with a 2D laserscan (white points).
In the images we have limited the FOV of the LiDAR but we observe the same problem if we use the full 360 degrees.
When we use the ros_rslidar package the distances are correct.
Hello,
I would like to know if it is possible that the driver gives the inverse option
of having a point cloud and reconverting it to take up less space.
Thank you for the attention!
Hi,
I'm trying to set up an RS Helios lidar. I updated the config.yaml file as follows:
common:
msg_source: 1 #0: not use Lidar
#1: packet message comes from online Lidar
#2: packet message comes from ROS or ROS2
#3: packet message comes from Pcap file
#4: packet message comes from Protobuf-UDP
#5: point cloud comes from Protobuf-UDP
send_packet_ros: false #true: Send packets through ROS or ROS2(Used to record packet)
send_point_cloud_ros: true #true: Send point cloud through ROS or ROS2
send_packet_proto: false #true: Send packets through Protobuf-UDP
send_point_cloud_proto: false #true: Send point cloud through Protobuf-UDP
pcap_path: /home/robosense/lidar.pcap #The path of pcap file
lidar:
- driver:
lidar_type: RSHELIOS #LiDAR type - RS16, RS32, RSBP, RS128, RS80, RSM1, RSHELIOS
frame_id: /rslidar #Frame id of message
msop_port: 6699 #Msop port of lidar
difop_port: 7788 #Difop port of lidar
start_angle: 0 #Start angle of point cloud
end_angle: 360 #End angle of point cloud
min_distance: 0.2 #Minimum distance of point cloud
max_distance: 200 #Maximum distance of point cloud
use_lidar_clock: false #True--Use the lidar clock as the message timestamp
#False-- Use the system clock as the timestamp
ros:
ros_recv_packet_topic: /rslidar_packets #Topic used to receive lidar packets from ROS
ros_send_packet_topic: /rslidar_packets #Topic used to send lidar packets through ROS
ros_send_point_cloud_topic: /rslidar_points #Topic used to send point cloud through ROS
proto:
point_cloud_recv_port: 60021 #Port number used for receiving point cloud
point_cloud_send_port: 60021 #Port number which the point cloud will be send to
msop_recv_port: 60022 #Port number used for receiving lidar msop packets
msop_send_port: 60022 #Port number which the msop packets will be send to
difop_recv_port: 60023 #Port number used for receiving lidar difop packets
difop_send_port: 60023 #Port number which the difop packets will be send to
point_cloud_send_ip: 127.0.0.1 #Ip address which the point cloud will be send to
packet_send_ip: 127.0.0.1 #Ip address which the lidar packets will be send to
Still getting the error shown above.
This is what my Helios config looks like:
Any help would be appreciated.
Thanks!
Vimal
Hi!
I was trying to connect multiple M1B3 on my device, but I could not find and resources to set custom IP, MSOP, and DIFOP to avoid device confusion. I noticed that for Ruby and other devices, I can do this in RSVIEW. However, there are no tools for M1B3 at the moment.
I am running the platform on ROS1 with Ubuntu 16.04, can someone help? Thanks!
I tried to use the sdk on 20.04LTS Following the Readme file. Compilation was ok. Lauching was no error
When using either RS16 or RS80 Rviz shows
Global status : Warn
Fixed frame: No TF data
Point cloud (forbbiden symbol)
==>Status: Error
Any idea?
These are the version and settings I'm using:
Ubuntu: 18.04
Ros: Melodic
Lidar: RS16
Point type: XYZIRT and XYZI
I followed all steps to install the sdk with ROS (Section 4.2 from the readme) but the point cloud I watch in Rviz looks flat.
Besides, the values from the PointCloud2 message are always zero for Ring and Z
When I use the previous version of the driver:
https://github.com/RoboSense-LiDAR/ros_rslidar
Rviz shows the point cloud correctly.
This is the config.yaml file I am using
Do you know what might be the cause of this issue?
Any help would be appreciated.
Thanks!
hello, I'm trying to play pcap file to ros,but no lidar data was displayed in ros, ' ErrCode_NoDifopRecv' in terminal
Hi, is it possible to also make a nodelet version?
The rolling shutter effect of a rotating sensor is well known. The ego motion may induce some undesirable artifacts for some applications. For example, sensor fusion of LiDAR and camera. Hence, I would like to request an implementation similar to the Velodyne driver, where each packet of a rotation can be transformed to a fixed frame to account for the ego motion.
hello,
I run RS80 "Ruby Lite" 80ch LIDAR in my desktop (ubntu 18.04, ros-melodic) using rslidar_sdk
I change config.ymal for RS80 LIDAR setting
example
calibration param is seem good work in the my Windows laptop (RSview)
but in the ROS with linux
calibration param is not influence.... in the RVIZ
can I help.
what is happen. and what i shoud do?
thanks for reading
Nearly all models are trained with KITTI. Is there a toolkit to transform the csv file to a same format as KITTI?
I have 3 RoboSense Lidar (one 32 lines and 2 16 lines). I want to test some SOTA pre-trained model with my own collected data.
Hello, I use pcl_conversion to convert sensor_ msgs::PointCloud2 type to pcl::PointCloudpcl::PointXYZI type. However, in the console , it output " failed to find match for fileld 'intensity' ". As a result, intensity value is 0 in PointXYZI. I check the /rslidar_points in Rviz. It can visualize in intensity mode. Anybody know to fix this? Thank you.
common:
msg_source: 1 #0: not use Lidar
#1: packet message comes from online Lidar
#2: packet message comes from ROS or ROS2
#3: packet message comes from Pcap file
#4: packet message comes from Protobuf-UDP
#5: point cloud comes from Protobuf-UDP
send_packet_ros: false #true: Send packets through ROS or ROS2(Used to record packet)
send_point_cloud_ros: true #true: Send point cloud through ROS or ROS2
send_packet_proto: false #true: Send packets through Protobuf-UDP
send_point_cloud_proto: false #true: Send point cloud through Protobuf-UDP
pcap_path: /home/robosense/lidar.pcap #The path of pcap file
lidar:
#top lidr info
- driver:
lidar_type: RS32 #LiDAR type - RS16, RS32, RSBP, RS128, RS80, RSM1, RSHELIOS
frame_id: /lidar_top #Frame id of message
msop_port: 6690 #Msop port of lidar
difop_port: 7789 #Difop port of lidar
start_angle: 0 #Start angle of point cloud
end_angle: 360 #End angle of point cloud
min_distance: 0.2 #Minimum distance of point cloud
max_distance: 200 #Maximum distance of point cloud
use_lidar_clock: false #True--Use the lidar clock as the message timestamp
#False-- Use the system clock as the timestamp
ros:
ros_recv_packet_topic: /rslidar_top_packets #Topic used to receive lidar packets from ROS
ros_send_packet_topic: /rslidar_top_packets #Topic used to send lidar packets through ROS
ros_send_point_cloud_topic: /lidar_top/points #Topic used to send point cloud through ROS
proto:
point_cloud_recv_port: 60021 #Port number used for receiving point cloud
point_cloud_send_port: 60021 #Port number which the point cloud will be send to
msop_recv_port: 60022 #Port number used for receiving lidar msop packets
msop_send_port: 60022 #Port number which the msop packets will be send to
difop_recv_port: 60023 #Port number used for receiving lidar difop packets
difop_send_port: 60023 #Port number which the difop packets will be send to
point_cloud_send_ip: 127.0.0.1 #Ip address which the point cloud will be send to
packet_send_ip: 127.0.0.1 #Ip address which the lidar packets will be send to
# left lidar info
- driver:
lidar_type: RS16 #LiDAR type - RS16, RS32, RSBP, RS128, RS80, RSM1, RSHELIOS
frame_id: /lidar_left #Frame id of message
msop_port: 5590 #Msop port of lidar
difop_port: 6689 #Difop port of lidar
start_angle: 0 #Start angle of point cloud
end_angle: 360 #End angle of point cloud
min_distance: 0.2 #Minimum distance of point cloud
max_distance: 200 #Maximum distance of point cloud
use_lidar_clock: false #True--Use the lidar clock as the message timestamp
#False-- Use the system clock as the timestamp
ros:
ros_recv_packet_topic: /rslidar_left_packets #Topic used to receive lidar packets from ROS
ros_send_packet_topic: /rslidar_left_packets #Topic used to send lidar packets through ROS
ros_send_point_cloud_topic: /lidar_left/points #Topic used to send point cloud through ROS
proto:
point_cloud_recv_port: 60021 #Port number used for receiving point cloud
point_cloud_send_port: 60021 #Port number which the point cloud will be send to
msop_recv_port: 60022 #Port number used for receiving lidar msop packets
msop_send_port: 60022 #Port number which the msop packets will be send to
difop_recv_port: 60023 #Port number used for receiving lidar difop packets
difop_send_port: 60023 #Port number which the difop packets will be send to
point_cloud_send_ip: 127.0.0.1 #Ip address which the point cloud will be send to
packet_send_ip: 127.0.0.1 #Ip address which the lidar packets will be send to
# right lidar info
- driver:
lidar_type: RS16 #LiDAR type - RS16, RS32, RSBP, RS128, RS80, RSM1, RSHELIOS
frame_id: /lidar_right #Frame id of message
msop_port: 4490 #Msop port of lidar
difop_port: 5589 #Difop port of lidar
start_angle: 0 #Start angle of point cloud
end_angle: 360 #End angle of point cloud
min_distance: 0.2 #Minimum distance of point cloud
max_distance: 200 #Maximum distance of point cloud
use_lidar_clock: false #True--Use the lidar clock as the message timestamp
#False-- Use the system clock as the timestamp
ros:
ros_recv_packet_topic: /rslidar_right_packets #Topic used to receive lidar packets from ROS
ros_send_packet_topic: /rslidar_right_packets #Topic used to send lidar packets through ROS
ros_send_point_cloud_topic: /lidar_right/points #Topic used to send point cloud through ROS
proto:
point_cloud_recv_port: 60021 #Port number used for receiving point cloud
point_cloud_send_port: 60021 #Port number which the point cloud will be send to
msop_recv_port: 60022 #Port number used for receiving lidar msop packets
msop_send_port: 60022 #Port number which the msop packets will be send to
difop_recv_port: 60023 #Port number used for receiving lidar difop packets
difop_send_port: 60023 #Port number which the difop packets will be send to
point_cloud_send_ip: 127.0.0.1 #Ip address which the point cloud will be send to
packet_send_ip: 127.0.0.1 #Ip address which the lidar packets will be send to
# front lidar info
- driver:
lidar_type: RSM1 #LiDAR type - RS16, RS32, RSBP, RS128, RS80, RSM1, RSHELIOS
frame_id: /lidar_front #Frame id of message
msop_port: 6699 #Msop port of lidar
difop_port: 7788 #Difop port of lidar
start_angle: 0 #Start angle of point cloud
end_angle: 360 #End angle of point cloud
min_distance: 0.2 #Minimum distance of point cloud
max_distance: 200 #Maximum distance of point cloud
use_lidar_clock: false #True--Use the lidar clock as the message timestamp
#False-- Use the system clock as the timestamp
ros:
ros_recv_packet_topic: /rslidar_front_packets #Topic used to receive lidar packets from ROS
ros_send_packet_topic: /rslidar_front_packets #Topic used to send lidar packets through ROS
ros_send_point_cloud_topic: /lidar_front/points #Topic used to send point cloud through ROS
proto:
point_cloud_recv_port: 60021 #Port number used for receiving point cloud
point_cloud_send_port: 60021 #Port number which the point cloud will be send to
msop_recv_port: 60022 #Port number used for receiving lidar msop packets
msop_send_port: 60022 #Port number which the msop packets will be send to
difop_recv_port: 60023 #Port number used for receiving lidar difop packets
difop_send_port: 60023 #Port number which the difop packets will be send to
point_cloud_send_ip: 127.0.0.1 #Ip address which the point cloud will be send to
packet_send_ip: 127.0.0.1 #Ip address which the lidar packets will be send to
robosense sdk release 1.3.0.
After roslaunch rslidar_sdk start.launch
and opening rviz i was confusing by periodically disappearing part of points.
(View 1.pcd, 2.pcd, 1.png, 2.png).
Interesting that RSView show scans correctly
There is some problem with correcting reading poins from RS MEMS by rslidar_sdk
RSView show correcting scans
Hi Tom,
I am evaluating RoboSense 16 ray Lidar on ROS2 (eloquent/foxy) platform with rslidar_sdk, rslidar_msg and rs_driver. After following the instruction from the github README, the /rslidar_points could be displayed on ROS2 Rviz2, however, topic hz /rslidar_points is NOT stable around 10HZ as the RoboSense package did on ROS1 melodic platform.
Could you give a hand on this problem? Thanks.
My evaluation work as below:
I foundd closed issues #20 and got that the reason why the point cloud became flat in my CP using rslidar_sdk might was that my RS16 was so old. After I added the CSV data, it became vertical but sparser than old one using old driver. I found that you gave the user in #20 a specified data and I sincerely hope that you can give me that data. Thanks for your reading!
hi:
when use rs16 lidar ,I got the an issus like below:
use pointcloud data in ros2 can't work with pcl::VoxelGrid, while it works well in ros1
also while use pcl::ApproximateVoxelGrid with ros2 pointcloud data,it dosen't work very well.
Hello,
I didn't saw a parameter to change the LIDAR frequency in the config.yaml file. It also did not appear in the hidden parameters. Is there a way to change the frequency from the driver or do I need to set it with another method ?
Thank you for your time
After I compiled this package, it didn't work
=================== =================================================================
roslaunch rslidar_sdk start.launch 20-11-25 - 0:29:43
... logging to /home/nvidia/.ros/log/a8e42758-2e73-11eb-b1df-48b02d0e3d9f/roslaunch-tegra-ubuntu-13507.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://tegra-ubuntu:34452/
SUMMARY
PARAMETERS
setting /run_id to a8e42758-2e73-11eb-b1df-48b02d0e3d9f
process[rosout-1]: started with pid [13530]
started core service [/rosout]
process[rslidar_sdk_node-2]: started with pid [13541]
RSLidar_SDK Version: v1.3.0
process[rviz-3]: started with pid [13552]
Receive Packets From : Online LiDAR
Msop Port: 6699
Difop Port: 7788
Send PointCloud To : ROS
PointCloud Topic: /rslidar_points
RoboSense-LiDAR-Driver is running.....
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
ERRCODE_WRONGPKTHEADER
Hi, are there plans to release as a packge into ROS?
Hi everyone,
I cloned the driver's git in the catkin workspace of my raspberry pi 4. I followed the instructions in the readme file but couldn't launch the start_launch.launch file. I keep on getting this error :
ERROR: cannot launch node of type [rslidar_sdk/rslidar_sdk_node]: Cannot locate node of type [rslidar_sdk_node] in package [rslidar_sdk]. Make sure file exists in package path and permission is set to executable (chmod +x)
Even though I run "chmod +x" on the node itself and I successfully compiled the package. Do you have any clue what might be causing this problem ?
Also, i'm working on an acquisition unit and i'd like to save the raw data of lidar into rosbag automatically using the driver. If you have any quick ideas to do that it'll be helpful too !
Hello,
When digging into the driver and the timestamping per point, I noticed that in reality it is a timestamping per datablock instead of a timestamping per point.
Is it planned to have one day a true timestamping per point ?
Thanks for your help
Right now I have followed the instruction to decode packet data into point cloud (by running roslaunch rslidar_sdk start.launch and rosbag play my own bag), and I could see the results in the rviz which worked just fine. But how can I save the decoded point cloud data into a new bag ?
Hi,
We are trying to verify new rslidar SDK from RoboSense.
The version of the SDK is the latest release version which is tagged as v1.3.0.
We figured out that timestamp of each packet of /rslidar_packets is zero, which blocked our further verification.
Could you kind give a hand on it? Thanks in advance.
# rostopic echo -n 1 /rslidar_packets | more
header:
seq: 564
stamp:
secs: 1483229108
nsecs: 801424026
frame_id: "/rslidar"
packets:
-
stamp:
secs: 0
nsecs: 0
data: [85, 170, 5, 90, 0, 1, 0, 0, 249, 252, 255, 2, 0, 6, 149, 160, 0, 1, 0, 0, 0, 0, 88, 104, 71, 180, 0, 10, 182, 136, 6, 0, 0, 0, 0, 0, 0, 0, 19, 16, 0, 0, 255, 238, 1, 100,
BTW, the legacy https://github.com/RoboSense-LiDAR/ros_rslidar works well on the issue.
Looking forward to your reply. Thanks.
Regards,
Ben
The packet topics produced by the driver do not contain all the information needed for proper operation.
When bags are recorded, the description and md5sum of the packet messages are d41d8cd98f00b204e9800998ecf8427e (empty string) and some programs do not operate on the bags.
rosbag check on a bagfile gives following:
WARNING: For type [rslidar_msgs/rslidarScan] stored md5sum [ff6baa58985b528481871cbaf1bb342f] has invalid message definition."
WARNING: For type [rslidar_msgs/rslidarPacket] stored md5sum [1e4288e00b9222ea477b73350bf24f51] has invalid message definition."
The following migrations need to occur:
* From: rslidar_msgs/rslidarScan [d41d8cd98f00b204e9800998ecf8427e]
To: rslidar_msgs/rslidarScan [ff6baa58985b528481871cbaf1bb342f]
1 rules missing:
* From: rslidar_msgs/rslidarScan [d41d8cd98f00b204e9800998ecf8427e]
To: rslidar_msgs/rslidarScan [ff6baa58985b528481871cbaf1bb342f]
* From: rslidar_msgs/rslidarPacket [d41d8cd98f00b204e9800998ecf8427e]
To: rslidar_msgs/rslidarPacket [1e4288e00b9222ea477b73350bf24f51]
1 rules missing:
* From: rslidar_msgs/rslidarPacket [d41d8cd98f00b204e9800998ecf8427e]
To: rslidar_msgs/rslidarPacket [1e4288e00b9222ea477b73350bf24f51]
The rules can be generated to fix the bag and are attached, but should be fixed on the node to avoid this.
rosbag play for example will work with the node listening on packets, but for example bag filtering cannot be done as the message definition is broken.
Hello,
in the instructions on step 2 says to rename package_ros1.xml to package.xml but when im catkin_make i have the following errors:
CMake Error: File /media/geo/d057a6b6-f590-4870-a4f8-13b392d0f9eb/geo/catkin_ws/src/rslidar_sdk/package_ros1.xml does not exist.
CMake Error at rslidar_sdk/CMakeLists.txt:34 (configure_file):
configure_file Problem configuring file
edit
as i was looking inside the CmakeList i found this on line 34
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/package_ros1.xml ${CMAKE_CURRENT_SOURCE_DIR}/package.xml COPYONLY)
so i have to copy and rename the file and not just rename it right?
Is 20.04 supported yet?
Is there likely to be another release in the near future?
I am trying to connect multiple lidars to synchronize with the same GPS time. Is it possible to synchronize multiple lidar with the same timestamp?
Hi,
I went through the installation process (readme: 2.1,3.3, 3.4,3.5,4.1) and everything was successful except ././rslidar_sdk_node.
This is the second time I installed it. The first installation was successful and was giving the warning ERRCODE_MSOPPORTBUZY repeatedly as expected (no lidar was connected ).
For the second installation, I had to delete the folder of the first installation and reinstall everything in a different directory.
[100%] Linking CXX executable rslidar_sdk_node
[100%] Built target rslidar_sdk_node
When I run ./rslidar_sdk_node
********** RSLidar_SDK Version: v1.3.0 **********
ERRCODE_MSOPPORTBUZY
Driver Initialize Error....
Thank you in advance
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.