robosense-lidar / ros_rslidar Goto Github PK
View Code? Open in Web Editor NEWROS drvier for RS-LiDAR-16 and RS-LiDAR-32
License: Other
ROS drvier for RS-LiDAR-16 and RS-LiDAR-32
License: Other
I just met the problem that when I try to use the sample launch file to get data from two lidar.
I'm sure that each lidar is setting correctly because when I comment out one group in the launch file, another lidar just works fine.
The problem is I couldn't enable two group in the same time.
Any possible cause of this problem?
Hi,
I have bag files with rslidar packets.
I want to convert them to sensor_msgs/PointCloud2 format. Do you have a sample launch file to do that?
Also, Resulting bag files are larger than Velodyne, may be due to Longer range supported by RSlidar. Is there a ros param to define Maximum range?
Hi!
How can I change the code to select 2 laser_channels, not only one?
In rslidar_driver, you've got a catkin build dependency on rslidar_input
ros_rslidar/rslidar_driver/package.xml
Line 29 in df3332b
When running rosdep install --from-paths /path/to/ws/src --ignore-src
this creates an error
rslidar_driver: Cannot locate rosdep definition for [rslidar_input]
How to rotate pointcloud in ros_rslidar?
I got a robosense 16-e lidar, but found that the intensity value is alway zero in the pointcloud2 outputed by rslidar_pointcloud
Have you try this?
Hi,
I think it would be nice to add the ring information to the pointcloud, similarly to Velodyne and Ouster.
The changes are pretty simple and I can easily send a PR myself, if you want.
What do you think?
Hi,
Is it possible to change the horizontal FOV of the RS-LiDAR-16? I want to get 10 degrees of FOV, if it is possible can you help me with the configuration?
P.S: the rs_lidar_16.launch file that I am running looks like this now but I am still getting 360 degrees:
rs_lidar_16.launch.TXT
And in the console I also get this:
Cut at specific angle feature activated. Cutting rslidar points always at 10 degree.
But Horizontal FOV of the pointcloud is still 360 degrees.
Best,
Pedram
Hi - can i ask why on LOAM the frame not in the real frame? like frame XZ not in XY.
tx
Hello!
The XYZIRT point type was released in rs_driver few days ago.
Will you add support with this in ROS?
Thanks.
Hi,
Is it working for this model?
Maybe we just need to add a new rslidar_pointcloud configuration like these ones...
Thank you!
I have successfully downloaded and built the driver. I am trying to visualise pointcloud from .pcap
file according to the tutorial. I have edited the .launch
file and typed in the cmd roslaunch rslidar_pointcloud rs_lidar_32.launch
. There are no points on rviz grid as there is the error
No tf data. Actual error: Fixed Frame [rslidar] does not exist
. I am really new to ROS and I am struggling to fix that
Which versions of ROS/ROS2 are supported?
hi,i got a prrblem when i use the rs_lidar_16 like this,can u give me some advices
!thanks~Screenshot from 2021-11-13 19-34-38
Hi,
Is there any setting to output ROS pointcloud2 message per point instead of per revolution?
Currently, my RS16 is set to 600 RPM and getting 10 Messages per second. I want to read messages in realtime instead of accumulating per revolution.
In your pointcloud converter, you assign NAN value for point too close or too far away:
ros_rslidar/rslidar_pointcloud/src/rawdata.cc
Line 418 in df3332b
However, according to ROS REP 117 the following logic should be implemented:
Detections that are too close to the sensor to quantify shall be represented by -Inf. Erroneous detections shall be represented by quiet (non-signaling) NaNs. Finally, out of range detections will be represented by +Inf.
I have read the code below in raw_data.cc:
if ((data[291] == 0x00) || (data[291] == 0xff) || (data[291] == 0xa1)) { intensity_mode_ = 1; // mode for the top firmware lower than T6R23V8(16) or T9R23V6(32) } else if (data[291] == 0xb1) { intensity_mode_ = 2; // mode for the top firmware higher than T6R23V8(16) or T9R23V6(32) } else if (data[291] == 0xc1) { intensity_mode_ = 3; // mode for the top firmware higher than T6R23V9 }
Do T6R23V8(16) and T9R23V6(32) represent the version of firmware?
If so, I have no idea aout what version of my RS-LiDAR 16. The manufacture date of my Lidar is 21/9/2019.
Hoping your reply, Thanks.
I did
rosbag play -l some.bag
and
rostopic echo /left/rslidar_packets
showed some data.
But when I launched rviz
, it showed NO TF Data
.
Also rosrun tf view_frames
gives: no tf data recieved
I use ROS-noetic and ubuntu 20.04.
How can I fix it?
There's no instruction of how to use calibration files in user's guide file. And I can' t really understand the related codes in rawdata.cc. plz add them.
I have an RS32 lidar. When I use the RSView.exe program I can get good scans.
In RViz the scale is wrong (approximately half size) and some of the rings appear at the max range (200m).
I am using the latest version of the ROS driver on the master branch. The configuration files are the same for RSView.exe and ROS.
My firmware versions are: top - 04 4d 01 00 00, bottom - 03 e9 01 00 00
In the user manual, there is a section "Point Time Calculate" in the appendix, it indicates that a timestamp for each point in every frame can be calculate, so could this driver provide this data field in the published pointcloud messages? (just like the latest velodyne driver, which provides XYZIRT
pointcloud )
This information would be very useful for high-precision SLAM and various other applications.
Hi,
reviewing the code I noticed that there is the opportunity to optimize the code in RawData::unpack_RS32 and RawData::unpack.
The operations cos() and sin() are relatively expensive. In your case, once you load the calibration data, I am pretty sure that you can precompute only once these values:
cos(arg_vert)
cos(arg_horiz)
cos(arg_horiz_orginal);
sin(arg_horiz)
sin(arg_horiz_orginal);
sin(arg_vert)
In fact, these angles do not depend on the actual readings, therefore they should not be recalculated any single time unpack() is called.
Cheers
Hey guys,
i made a rslidar description pkg after i forked the pkg. It contains only RS16 til now.
Would you like to test and add it to the main repo?
https://github.com/hz658832/ros_rslidar
LG Haoming
I know that you only explicitly support ubuntu 14.04 and 16.04, but I have been trying to set up the rs_lidar_16 on 18.04 but get this warning when running :
roslaunch rslidar_pointcloud rs_lidar_16.launch
[ INFO] [1567733053.266502478]: [driver] publishing 75 packets per scan
[ INFO] [1567733053.268930206]: [driver] Cut at specific angle feature activated. Cutting rslidar points always at 0 degree.
process[rviz-4]: started with pid [12122]
[ INFO] [1567733053.275715743]: [driver][input] accepting packets from IP address: 192.168.1.200
[ INFO] [1567733053.275763845]: [driver][socket] Opening UDP socket: port 6699
[ INFO] [1567733053.277135546]: [driver][input] accepting packets from IP address: 192.168.1.200
[ INFO] [1567733053.277165407]: [driver][socket] Opening UDP socket: port 7788
[ INFO] [1567733053.281332242]: [cloud][rawdata] lidar model: RS16
[ INFO] [1567733053.281799509]: [cloud][rawdata] start and end angle feature activated.
[ INFO] [1567733053.281820653]: [cloud][rawdata] start_angle: 0 end_angle: 360 angle_flag: 1
[ INFO] [1567733053.282580738]: [cloud][rawdata] distance threshlod, max: 200 m, min: 0.4 m
[ INFO] [1567733053.283324075]: [cloud][rawdata] initialize resolution type: 0.5 cm, intensity mode: 1
[ WARN] [1567733054.280001802]: [driver][socket] Rslidar poll() timeout
Is there any solutions for this issue?
你好,我是用rs-lidar-32,使用rsview录制了一个pcap文件。用ros进行可视化的时候报错,rviz中点云显示异常,但在rsview中正常显示。请问该问题要如何解决?
log如下所示:
~/robosense_ws$ roslaunch rslidar_pointcloud rs_lidar_32.launch
... logging to /home/xxx/.ros/log/c0994f8a-e559-11ea-846a-606dc71b512f/roslaunch-xxx-16110.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://xxx:39655/
SUMMARY
========
PARAMETERS
* /cloud_node/angle_path: /home/xxx/robo...
* /cloud_node/channel_path: /home/xxx/robo...
* /cloud_node/curves_path: /home/xxx/robo...
* /cloud_node/curves_rate_path: /home/xxx/robo...
* /cloud_node/intensity_mode: 1
* /cloud_node/max_distance: 200
* /cloud_node/min_distance: 0.4
* /cloud_node/model: RS32
* /cloud_node/resolution_type: 0.5cm
* /rosdistro: melodic
* /rosversion: 1.14.6
* /rslidar_node/cut_angle: 0
* /rslidar_node/device_ip: 192.168.1.200
* /rslidar_node/difop_port: 7788
* /rslidar_node/model: RS32
* /rslidar_node/msop_port: 6699
* /rslidar_node/pcap: /home/xxx/Down...
NODES
/
cloud_node (rslidar_pointcloud/cloud_node)
rslidar_node (rslidar_driver/rslidar_node)
rviz (rviz/rviz)
auto-starting new master
process[master]: started with pid [16120]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to c0994f8a-e559-11ea-846a-606dc71b512f
process[rosout-1]: started with pid [16131]
started core service [/rosout]
process[rslidar_node-2]: started with pid [16138]
process[cloud_node-3]: started with pid [16139]
[ INFO] [1598198424.509686340]: [driver] publishing 150 packets per scan
[ INFO] [1598198424.513214076]: [driver] Cut at specific angle feature activated. Cutting rslidar points always at 0 degree.
process[rviz-4]: started with pid [16145]
[ INFO] [1598198424.521413682]: [driver][input] accepting packets from IP address: 192.168.1.200
[ INFO] [1598198424.523555779]: [driver][pcap] Opening PCAP file /home/xxx/Downloads/2020-08-22-15-33-53-RS-32-Data.pcap
[ INFO] [1598198424.525052993]: [driver][input] accepting packets from IP address: 192.168.1.200
[ INFO] [1598198424.527184342]: [driver][pcap] Opening PCAP file /home/xxx/Downloads/2020-08-22-15-33-53-RS-32-Data.pcap
[ INFO] [1598198424.528794739]: [cloud][rawdata] lidar model: RS32
[ INFO] [1598198424.529970991]: [cloud][rawdata] start and end angle feature activated.
[ INFO] [1598198424.530011468]: [cloud][rawdata] start_angle: 0 end_angle: 360 angle_flag: 1
[ INFO] [1598198424.532933932]: [cloud][rawdata] distance threshlod, max: 200 m, min: 0.4 m
[ INFO] [1598198424.535544008]: [cloud][rawdata] initialize resolution type: 0.5 cm, intensity mode: 1
[ERROR] [1598198424.551084127]: [driver][pcap] Error -2 reading rslidar packet:
[rviz-4] process has finished cleanly
log file: /home/xxx/.ros/log/c0994f8a-e559-11ea-846a-606dc71b512f/rviz-4*.log
[ INFO] [1598198440.750859986]: [driver][pcap] replaying rslidar dump file
[ INFO] [1598198456.999180613]: [driver][pcap] replaying rslidar dump file
pcap file:
https://drive.google.com/file/d/1MdY4Z1AXc9YqH0kEElHpbEeoPqzyEY4K/view?usp=sharing
hi
i want to use the phase lock function,but how can i test the function to make sure the motor angle is my setting.
thank you very much.
Look forward to your reply
Can someone tell me how to restrict the FOV of the sensor from the launch file. I see a similar question posted here #11, but the issue is closed with some fixes, I am not sure if the issue is really fixed. Can someone post their insight on this issue?.
Thanks in advance.
[ 48%] Building CXX object ros_rslidar/rslidar_driver/src/CMakeFiles/rslidar_input.dir/input.cc.o
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0', needed by '/home/sia/rslidar_ws/devel/lib/librslidar_input.so'。 停止。
make[2]: *** 正在等待未完成的任务....
[ 51%] Building CXX object ros_rslidar/rslidar_pointcloud/src/CMakeFiles/rslidar_data.dir/rawdata.cc.o
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0', needed by '/home/sia/rslidar_ws/devel/lib/librslidar_data.so'。 停止。
make[2]: *** 正在等待未完成的任务....
CMakeFiles/Makefile2:3859: recipe for target 'ros_rslidar/rslidar_driver/src/CMakeFiles/rslidar_input.dir/all' failed
make[1]: *** [ros_rslidar/rslidar_driver/src/CMakeFiles/rslidar_input.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
CMakeFiles/Makefile2:4253: recipe for target 'ros_rslidar/rslidar_pointcloud/src/CMakeFiles/rslidar_data.dir/all' failed
make[1]: *** [ros_rslidar/rslidar_pointcloud/src/CMakeFiles/rslidar_data.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
ros_rslidar/rslidar_driver/package.xml
Line 29 in 184feac
I think it would be better to remove this line, because an catkin_make_isolated build would fail if present
Hi,
We are trying to get RS_BPearl point cloud in Rvis and it showing like this
But if we run the same in RSView it is showing a proper point cloud.
Can anybody help me on this issue to find whether this error is from my side or it is from the Rviz launch coding?
### And I tried to run the BPearl lidar with RS32 sensor configuration in RSView it is showing the same point-cloud like RViz
Thanks and Regards
OS: Ubuntu 20.04
ROS: Melodic
Crashes on compile, because the point cloud library needs C++ 14 standard, and
this is compiled with C++ 11.
In file included from /usr/include/pcl-1.10/pcl/pcl_macros.h:77,
from /usr/include/pcl-1.10/pcl/point_types.h:42,
from /home/duncan/catkin_ws/src/ros_rslidar/rslidar_driver/src/rsdriver.h:23,
from /home/duncan/catkin_ws/src/ros_rslidar/rslidar_driver/src/rsdriver.cpp:12:
/usr/include/pcl-1.10/pcl/pcl_config.h:7:4: error: #error PCL requires C++14 or above
7 | #error PCL requires C++14 or above
| ^~~~~
Many compile errors follow.
/usr/include/pcl-1.10/pcl/common/io.h:65:9: note: no known conversion for argument 1 from ‘const pcl::PCLPointField’ to ‘int’
make[2]: *** [ros_rslidar/rslidar_driver/src/CMakeFiles/rslidar_driver.dir/build.make:63: ros_rslidar/rslidar_driver/src/CMakeFiles/rslidar_driver.dir/rsdriver.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3405: ros_rslidar/rslidar_driver/src/CMakeFiles/rslidar_driver.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j1 -l1" failed
This can be fixed by changing the C++ standard.
Edit rslidar_driver/CMakeLists.txt
and rslidar_pointcloud/CMakeLists.txt
and change the line
add_compile_options(-std=c++11)
to
add_compile_options(-std=c++14)
for each file.
Similar to issue in rslidar_sdk
RoboSense-LiDAR/rslidar_sdk#2
This question is not about the ros package, rather, it is about the sensor's behaviour. I have used the lidar with no issues for several times. Now, suddenly, I tried to use the lidar again, ran the rs_lidar_16.launch and found out that the visualization was quite strange (the data appeared disappeared intermittently). After I checked the lidar, it actually started and stopped spinning intermittently, with a constant interval, i.e about 10 seconds stopping and 1 second spinning. I also have checked the power input to Interface box and there was no problem ( LED was in solid color, and the voltage was 12V). After checking the fault diagnostic (using RSView), I got the data shown here:
I am wondering what is wrong with my sensor?
I am asking here because I could not find any forum for RoboSense LiDAR.
Does the rospackage record the timestamps from the lidar internal clock ,or from the system time?If from the system time, how can I make the data timestamps from the lidar internal clock.
I am referring to this part of the code.... https://github.com/RoboSense-LiDAR/ros_rslidar/blob/master/rslidar_pointcloud/src/rawdata.cc#L873-L882
Wouldn't be easier and more efficient to just skip the point ad, for instance, the Velodyne drive does?
This might be related to issue #27, since people might rely on the index of the point to determine the ring and removing the NAN points might be an issue for them.
Hi,
When Launching two RS16 lidars together, ns1 and ns2 topics have same frame I'd "rslidar". Can we set different frame id's in the launch file itself?
Tryning to launch the bpearl, this error appears :
~/dev/lidar_ws $ roslaunch rslidar_pointcloud rs_bpearl.launch
... logging to /home//.ros/log/a54b3f70-c111-11ea-97bc-e8d8d1407b6d/roslaunch-ip-10-240-18-23.eu-central-1.compute.internal-27746.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://ip-10-240-18-23.eu-central-1.compute.internal:37579/
SUMMARY
========
PARAMETERS
* /cloud_node/angle_path: /home/...
* /cloud_node/channel_path: /home/...
* /cloud_node/intensity_mode: 3
* /cloud_node/max_distance: 150
* /cloud_node/min_distance: 0.1
* /cloud_node/model: RSBPEARL
* /cloud_node/resolution_type: 0.5cm
* /rosdistro: indigo
* /rosversion: 1.11.21
* /rslidar_node/cut_angle: 0
* /rslidar_node/device_ip: 192.168.1.200
* /rslidar_node/difop_port: 7788
* /rslidar_node/model: RSBPEARL
* /rslidar_node/msop_port: 6699
NODES
/
cloud_node (rslidar_pointcloud/cloud_node)
rslidar_node (rslidar_driver/rslidar_node)
rviz (rviz/rviz)
auto-starting new master
process[master]: started with pid [27755]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to a54b3f70-c111-11ea-97bc-e8d8d1407b6d
process[rosout-1]: started with pid [27768]
started core service [/rosout]
process[rslidar_node-2]: started with pid [27777]
process[cloud_node-3]: started with pid [27785]
process[rviz-4]: started with pid [27787]
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
[ INFO] [1594209212.987480980]: start angle and end angle select feature activated.
[ INFO] [1594209212.987603040]: start_angle: 0 end_angle: 360 angle_flag: 1
[ INFO] [1594209212.989537576]: distance threshlod, max: 150, min: 0.1
[ INFO] [1594209212.991427845]: initialize resolution type: 0.5cm, intensity mode: 3
[ERROR] [1594209212.992461636]: does not exist
[ INFO] [1594209213.000985136]: Reconfigure Request
>>>>>>> realloc(): invalid pointer
[rospack] Warning: no such package media_export
>>>>>>>>[rslidar_node-2] process has died [pid 27777, exit code -6, cmd /home//dev/lidar_ws/devel/lib/rslidar_driver/rslidar_node __name:=rslidar_node __log:=/home//.ros/log/a54b3f70-c111-11ea-97bc-e8d8d1407b6d/rslidar_node-2.log].
log file: /home//.ros/log/a54b3f70-c111-11ea-97bc-e8d8d1407b6d/rslidar_node-2*.log
libpng warning: iCCP: known incorrect sRGB profile
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.