Giter Site home page Giter Site logo

rplidar_ros's People

Contributors

afrancescon avatar awesomebytes avatar babak-ssh avatar belovictor avatar deyouslamtec avatar jlblancoc avatar k-okada avatar kintzhao avatar klelkov avatar linling avatar robopeak avatar stonier avatar timple avatar tony-slamtec avatar tonybaltovski avatar wubinxia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rplidar_ros's Issues

Changing between enhanced mode and outdoor mode

Hello, I am new to using to using ROS and the RPLiDAR, but got the ROS package working. For my how university I have to do some test with the RPLiDAR to look what the limitations are and among other things. The only problem that i have so far is that I don't now how to change between enhanced mode and outdoor mode. I have tried finding it on other forms, but with no success.

slamtec rplidar for wheeled robot

Hello,
I would like to use rplidar device on wheeled robot, so I need SLAM method here to find my room localization and mapping.
I am able to run the launch files and is it possible to use this launch files for my wheeled robot to perform the move around on my floor, avoiding obstacles etc.,
Can you please help further on this ?

Operation time out lidar

hey guys,

i got a little issue while i was tried to run lidar. I followed the instructions on the website below.

http://wiki.ros.org/rplidar

But wehen i:
rosrun rplidar_ros rplidarNode
or
roslaunch rplidar_ros view_rplidar.launch

I get this Error: Error, operation time out. RESULT_OPERATION_TIMEOUT!

I tried the same with another PC and all was fine...
Could anyone please help me? Im out of ideas...
Thank you very much!

Cannot compile on ROS melodic - RPI4

Hi,

I cannot compile it under melodic (RPI4)

please help

-- +++ processing catkin package: 'rplidar_ros'
-- ==> add_subdirectory(rplidar_ros)
-- Could NOT find sensor_msgs (missing: sensor_msgs_DIR)
-- Could not find the required component 'sensor_msgs'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /home/pi/ros_catkin_ws/devel/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "sensor_msgs" with
  any of the following names:

    sensor_msgsConfig.cmake
    sensor_msgs-config.cmake

  Add the installation prefix of "sensor_msgs" to CMAKE_PREFIX_PATH or set
  "sensor_msgs_DIR" to a directory containing one of the above files.  If
  "sensor_msgs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  rplidar_ros/CMakeLists.txt:12 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/pi/ros_catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/pi/ros_catkin_ws/build/CMakeFiles/CMakeError.log".
make: *** [Makefile:7474: cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

激光雷达盲区数据数值

你好:
我使用A2在Windows下使用robot studio 查看激光数据时,发现盲区内的值为14.5cm,然而ros下盲区值为无限大,请问ros下为啥不能想Windows那样处理?

Rplidar in Raspberry pi RESULT_OPERATION_TIMEOUT problem

started roslaunch server http://ubiquityrobot.local:44105/

SUMMARY

PARAMETERS

  • /rosdistro: kinetic
  • /rosversion: 1.12.16
  • /rplidarNode/angle_compensate: True
  • /rplidarNode/frame_id: laser
  • /rplidarNode/inverted: False
  • /rplidarNode/serial_baudrate: 115200
  • /rplidarNode/serial_port: /dev/ttyUSB0

NODES
/
rplidarNode (rplidar_ros/rplidarNode)

ROS_MASTER_URI=http://ubiquityrobot.local:11311

process[rplidarNode-1]: started with pid [3431]
[ INFO] [1601734654.722059284]: RPLIDAR running on ROS package rplidar_ros. SDK Version:1.12.0
[ERROR] [1601734659.232280082]: Error, operation time out. RESULT_OPERATION_TIMEOUT!
[rplidarNode-1] process has died [pid 3431, exit code 255, cmd /home/ubuntu/catkin_ws/devel/lib/rplidar_ros/rplidarNode __name:=rplidarNode __log:=/home/ubuntu/.ros/log/6db2e1dc-d0dc-11e5-bc75-8179286dac59/rplidarNode-1.log].
log file: /home/ubuntu/.ros/log/6db2e1dc-d0dc-11e5-bc75-8179286dac59/rplidarNode-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
ubuntu@ubiquityrobot:~/catkin_ws$
help plz i need this error solution earl\y..i think my power source is fine..

Working on Noetic using Ubuntu 20.04 ?

Dear rplidar_ros friends,

We were wondering if anyone run rplidar_ros on Ubuntu 20.04 (w/ ROS Noetic Ninjemys). Is it working as stable as in Melodic using Ubuntu 18.04 or Kinetic using Ubuntu 16.04 ?

Best,
-- Luke

*WARN*

i keep getting this message while trying to run rplidar.launch on my raspberry pi 3
Im using rplidar A2
Can anyone tell me what should i do to remove this
image

build fail in manjaro

After I built code , it show build failed message.
The following message :
/home/robot/side_project/src/lidar/rplidar/sdk/src/arch/linux/net_socket.cpp:170:15: 錯誤:ordered comparison of pointer with integer zero (「const char*」
and 「int」)
170 | return ans<=0?RESULT_OPERATION_FAIL:RESULT_OK;
| ~~~^~~
make[2]: *** [lidar/rplidar/CMakeFiles/rplidarNode.dir/build.make:104:lidar/rplidar/CMakeFiles/rplidarNode.dir/sdk/src/arch/linux/net_socket.cpp.o] 錯誤 1
make[2]: *** 正在等待未完成的作業....
/home/robot/side_project/src/lidar/rplidar/sdk/src/rplidar_driver.cpp: 在 「virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::grabScanData
(rplidar_response_measurement_node_t*, size_t&, _u32)」 成員函式中:
/home/robot/side_project/src/lidar/rplidar/sdk/src/rplidar_driver.cpp:1795:26: 錯誤:narrowing conversion of 「rp::hal::Event::EVENT_TIMEOUT」 from 「int」
to 「long unsigned int」 [-Wnarrowing]
1795 | case rp::hal::Event::EVENT_TIMEOUT:
| ^~~~~~~~~~~~~
/home/robot/side_project/src/lidar/rplidar/sdk/src/rplidar_driver.cpp: 在 「virtual u_result rp::standalone::rplidar::RPlidarDriverImplCommon::grabScanData
Hq(rplidar_response_measurement_node_hq_t*, size_t&, _u32)」 成員函式中:
/home/robot/side_project/src/lidar/rplidar/sdk/src/rplidar_driver.cpp:1824:26: 錯誤:narrowing conversion of 「rp::hal::Event::EVENT_TIMEOUT」 from 「int」
to 「long unsigned int」 [-Wnarrowing]
1824 | case rp::hal::Event::EVENT_TIMEOUT:
| ^~~~~~~~~~~~~
make[2]: *** [lidar/rplidar/CMakeFiles/rplidarNode.dir/build.make:146:lidar/rplidar/CMakeFiles/rplidarNode.dir/sdk/src/rplidar_driver.cpp.o] 錯誤 1
make[1]: *** [CMakeFiles/Makefile2:39026:lidar/rplidar/CMakeFiles/rplidarNode.dir/all] 錯誤 2
make: *** [Makefile:146:all] 錯誤 2

Inconsistency in logger output: angle_compensate vs. angle_compensate_multiple

In

RCLCPP_INFO(this->get_logger(),"current scan mode: %s, max_distance: %.1f m, Point number: %.1fK , angle_compensate: %d",current_scan_mode.scan_mode,
current_scan_mode.max_distance, (1000/current_scan_mode.us_per_sample), angle_compensate_multiple);
, the message says "angle_compensate", but angle_compensate_multiple is printed. There also is the configuration parameter "angle_compensate". I suggest using the actual identifier of the variable in the log output to avoid confusing the two.

Dataset

Sorry, the comment is misplaced

Base frame for lidar is incorrect, and other errors

As reported SteveMacenski/slam_toolbox#198, I am inundated with requests / issues from RP-lidar customers regarding this driver. There are at least 1 but potentially numerous ROS standard violations that create issues for people running SLAM implementations that assume compliance with community best practices in frame and message population.

If these issues are not resolved, I will likely cease support for RP-lidar customers (and this is the default SLAM for navigation in ROS2).

Feel free to engage and we can work through some of the problems that need to be fixed.

*** buffer overflow detected *** error. Any one knows what's going on? Thanks.

roslaunch rplidar_ros rplidar.launch
... logging to /home/jetson/.ros/log/6d81d10c-4069-11ec-83a4-401c8380b7e0/roslaunch-jetson-desktop-8743.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://192.168.43.242:34569/

SUMMARY

PARAMETERS

  • /rosdistro: melodic
  • /rosversion: 1.14.12
  • /rplidarNode/angle_compensate: True
  • /rplidarNode/frame_id: laser
  • /rplidarNode/inverted: False
  • /rplidarNode/serial_baudrate: 115200
  • /rplidarNode/serial_port: /dev/ttyUSB0

NODES
/
rplidarNode (rplidar_ros/rplidarNode)

auto-starting new master
process[master]: started with pid [8834]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 6d81d10c-4069-11ec-83a4-401c8380b7e0
process[rosout-1]: started with pid [8856]
started core service [/rosout]
process[rplidarNode-2]: started with pid [8865]
[ INFO] [1636358212.891720298]: RPLIDAR running on ROS package rplidar_ros, SDK Version:2.0.0
*** buffer overflow detected **: /home/jetson/rplidar_ws/devel/lib/rplidar_ros/rplidarNode terminated
[rplidarNode-2] process has died [pid 8865, exit code -6, cmd /home/jetson/rplidar_ws/devel/lib/rplidar_ros/rplidarNode __name:=rplidarNode __log:=/home/jetson/.ros/log/6d81d10c-4069-11ec-83a4-401c8380b7e0/rplidarNode-2.log].
log file: /home/jetson/.ros/log/6d81d10c-4069-11ec-83a4-401c8380b7e0/rplidarNode-2
.log

ROS2 Port

Hey!

I ported rplidar_ros to ros2, and would prefer to move my work over here so it can be released, and would like to start a conversation about this so that we can do this efficiently.

My fork has the port on the ros2 branch. It is my opinion that it would be best to move that branch here.

Anxious to hear your thoughts!

Question: How to launch RPLidar A3 in "outdoor" mode?

The website (https://www.slamtec.com/en/Lidar/A3) says

RPLIDRA A3 supports to work under two modes alternatively: enhanced mode and outdoor mode.

However, when I checked the launch file rplidar_a3.launch, there is a parameter called scan_mode, and its value is set to Sensitivity. So, this value corresponds to which mode: enhanced mode or outdoor mode?
Which string should I pass as a value to this scan_mode parameter to get outdoor mode?

RPLIDAR A3: SIGSEGV on Raspberri Pi

Hi,

The rplidarNode is working very fine on Ubuntu x86 with my RPLIDAR A3. (Linux xxxxxx 4.15.0-30-generic #32~16.04.1-Ubuntu SMP Thu Jul 26 20:25:39 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux)

  • /rosdistro: kinetic
  • /rosversion: 1.12.13
rplidar_ros$ git log -1
commit 18427915161513d97f808b18ccc1a35d53c276a1
Author: kintzhao <[email protected]>
Date:   Thu Jul 19 04:08:24 2018 -0700

    [release] rplidar_ros release 1.7.0

Using the same ROS version and rplidar_ros version on a Raspberri Pi3 with this kernel : Linux xxxxxx 4.9.80-v7+ #1098 SMP Fri Mar 9 19:11:42 GMT 2018 armv7l armv7l armv7l GNU/Linux

When I launch rplidar_a3.launch, the sensor starts spinning and display its serial number (indicating that the comm seems OK), but then quickly ends with a SIGSEGV:

[ INFO] [1533846640.975505892]: RPLIDAR running on ROS package rplidar_ros. SDK Version:1.7.0
RPLIDAR S/N: xxxx
[ INFO] [1533846641.483938270]: Firmware Ver: 1.24
[ INFO] [1533846641.484141603]: Hardware Rev: 6
[ INFO] [1533846641.486406081]: RPLidar health status : 0
[ INFO] [1533846642.140504057]: current scan mode: Sensitivity, max_distance: 25.0 m, Point number: 15.9K , angle_compensate: 4
[rplidarNode-1] process has died [pid 3943, exit code -11, cmd /home/ubuntu/catkin_ws/devel/lib/rplidar_ros/rplidarNode __name:=rplidarNode __log:=/home/xxxxx/.ros/log/759e04f8-d0dc-11e5-8f11-53a2f0703914/rplidarNode-1.log].

Going further in the diagnosis, I launch with gdb, that indicates me the segfault occurs in rplidar_ros/src/node.cpp:352 which is the call to ros::spinOnce();

Thanks you for the help.
I am available to provide further details if needed.

No Parameter for Specifying Motor Speed

The RPLIDAR runs at the default speed, and there is no way to specify the motor speed.

Motivation:
In robotics applications, users may want to run at a faster rate to have better collision avoidance. Or perhaps users have limited computation power and would like to run at a slower rate.

Facts:
The RPLIDAR S1 can run between 5 - 15 Hz, but it's speed is permanently set to 10 Hz in the ROS node.
The RPLIDAR A3 can run between 10 - 20 Hz, but it's speed is permanently set to 10 Hz in the ROS node.

Value Proposal:
The end user would really benefit from being able to vary the motor speed based on their application needs. And since the hardware and SDK are capable of this, the ROS node really should be as well.

Thanks!

Lidar S1 does not respond to service call to stop motor

As the title suggests, the S1 unit is not responding to service call to stop motor.

To reproduce:

  • Terminal 1: roslaunch rplidar_ros view_rplidar_s1.launch
  • Terminal 2: rosservice call /stop_motor

Nothing happens when following the procedure above

RPi exit code -11

I'm currently trying to run roslaunch rplidar_ros rplidar.launch on a Raspberry Pi 3, however, I'm getting the following error message returned on startup

[rplidarNode-2] process has died [pid 21440, exit code -11, cmd /home/pi/LIDAR-catkin-ws/devel/lib/rplidar_ros/rplidarNode __name:=rplidarNode __log:=/home/pi/.ros/log/3afa46a2-41f0-11ea-9aa2-b827eba488d0/rplidarNode-2.log].
log file: /home/pi/.ros/log/3afa46a2-41f0-11ea-9aa2-b827eba488d0/rplidarNode-2*.log

I have attempted to change the angle_compensate_multiple variable as raised in #67, this has not changed the output.

I am also getting a SIGSEGV after looking in gdb.

Obstacle Avoidance

How would I use the rplidar_ros SDK for obstacle avoidance? For example if I wanted to add an RPLidar A1 ontop of a create 2 iRobot.

Lidar Laserscan does not match with real measurements

I am using two RPLidar A3 and one A2 for three different robots, but the laserscan between the A3 devices does not match (the laserscans from A2 and one of the A3 match well). I checked that both robots with A3 lidars have same software versions, it is:

SDK version: 1.12.0
Firmware Ver: 1.27
Hardware Rev: 6
RPLidar health status: 0
current scan mode: Sensitivity, max_distance: 25.0 m, Point number: 15.9 K, angle compensate: 4

Is there anything wrong with this lidar, or is it required an extra configuration?

image

Sensitivity for scan

Hi,

I am using several RPLIDAR A3 and I would like to use the sensitivity for a specific application.
I have done a quick test by using the scan_mode = Sensitivity in the launch file but the returned values are not correct. It is always 0 for a measure greater than the max range and 47 for a measure below.
My launch file is based on the "rplidar_a3.launch".
Do I need to configure something to enable the sensitivity?

Below is a copy of a rostopic echo.

---
header: 
  seq: 3539
  stamp: 
    secs: 1543844624
    nsecs: 706692218
  frame_id: "lidar"
angle_min: -3.12413907051
angle_max: 3.14159274101
angle_increment: 0.00435422640294
time_increment: 5.68295472476e-05
scan_time: 0.0817777216434
range_min: 0.15000000596
range_max: 25.0
ranges: [1.25600004196167, 1.253999948501587,  inf, inf, ..., 1.25600004196167, 1.25600004196167]
intensities: [47.0, 47.0, 0.0, 0.0, ..., 47.0, 47.0]
---

Thanks.

Lidar S1 does not produce data at 9.2kHz

According with the datasheet, the S1 unit should produce 9.2kHz with an angular resolution of 0.391 degrees.
However, I am only getting 7.2kHz with a resolution of 0.5 degrees. The data is being published at 10hz, and each measurement comes with 720 points.

Example bags:
unit.zip

Prints when launching S1 node with roslaunch rplidar_ros view_rplidar_s1.launch:

[ INFO] [1619049384.773555968]: RPLIDAR running on ROS package rplidar_ros. SDK Version:1.12.0
RPLIDAR S/N: 5D5DEAF2C5E19BCFC2E19FF5AA8F4509
[ INFO] [1619049385.278841246]: Firmware Ver: 1.28
[ INFO] [1619049385.278862929]: Hardware Rev: 18
[ INFO] [1619049385.279807334]: RPLidar health status : 0
[ INFO] [1619049385.346013526]: current scan mode: DenseBoost, max_distance: 40.0 m, Point number: 9.3K , angle_compensate: 2

A1 sensor not detected

Hello,

I have the following connections errors:

  1. If I connect the A1 sensor to a Virtualbox, I don't see it under Devices > USB. What is the name supposed to be?
  2. If I connect it to a Jetson Nano which already has the ACM module, it doesn't show up with lsusb or ls /dev. Why is that?
  3. When I plug the A1 into either my Windows laptop or my Jetson Nano, it is spinning, with the PWR and D1 green lights on; but, shouldn't at least the PWR one be turned on only when the driver starts?
  4. I tried connecting it to RoboStudio, but it wouldn't auto-detect and I don't think there's a way to manually add it.

I also bought 2 A1s just in case there's a hardware bug, but they both behave the same way.

Thanks,
Nathan

Raspberry pi connected RPLidar A1 not printing massages on scan topic

I'm using the rplidar package in ROS to interface with my A1 lidar. When the launch file is executed I find the scan topic has no data being published to it.

I disconnect the lidar from the raspberry pi and connected it to my computer, the scan massages are plentiful and free flowing.

I edited node.cpp and placed a print statement after if (op_result == RESULT_OK) { .... checking the value of op_result . On the raspberry pi ** op_result** is 16 and as before the scan topic is empty of data.
But on my computer ** op_result** is 0 and the scan topic has the required data.

The only difference in both scenarios is the computer so the lidar is undamaged. Both computer are running Ubuntu 16:04 and ROS Kinetic.

Looking for help here because the debug output mentioned above is different on both computers and I'm not sure why.

error for get device info on windows wls with rplidar s1

I use rplidar s1 on windows for debug,it's run ok on windows,but when call getRPLIDARDeviceInfo(drv) method on wls(Ubuntu 18.04 x64) ,it's error ,the error is 'Error, operation time out. RESULT_OPERATION_TIMEOUT!'
who can tell my why,thans!

A1 in Boost mode crashes some time after launch

Hi,
RPLIDAR A1 works fine in Express mode (4K points). However, when I set scan_mode to Boost (8K points), A1 launches, works fine for a bit (anywhere from a second to a minute after the launch) and crashes. I'm using Raspberry Pi 4b with ROS Melodic.

[ INFO] [1620302730.450476521]: RPLIDAR running on ROS package rplidar_ros. SDK Version:1.9.0
[ INFO] [1620302731.022203883]: waitForService: Service [/message_info] is now available.
[ INFO] [1620302732.967995040]: Firmware Ver: 1.25
[ INFO] [1620302732.968179629]: Hardware Rev: 5
[ INFO] [1620302732.970415883]: RPLidar health status : 0
[ INFO] [1620302733.588794008]: current scan mode: Boost, max_distance: 12.0 m, Point number: 8.0K , angle_compensate: 2
[rplidarNode-4] process has died [pid 26540, exit code -11, cmd /home/pi/catkin_ws/devel/lib/rplidar_ros/rplidarNode __name:=rplidarNode __log:=/home/pi/.ros/log/5878baa2-ae63-11eb-a781-dca632208f17/rplidarNode-4.log].
log file: /home/pi/.ros/log/5878baa2-ae63-11eb-a781-dca632208f17/rplidarNode-4*.log

RPLIDAR on Matlab

Hey guys, I'm doing a graduation project on SLAM algorithms, and I bought this lidar. I'm a newbie on the ROS subject and is there anyone to explain how I fetch data from this lidar on Matlab

udev rule causes occasional failure on launch

I occasionally get an error launching my A2 indicating that ROS can't establish a connection with it, the same error as when the lidar isn't plugged in:

[ERROR] [1538678043.322231936]: Error, operation time out. RESULT_OPERATION_TIMEOUT! 
[rplidar-2] process has died [pid 21040, exit code 255, cmd /opt/ros/kinetic/lib/rplidar_ros/rplidarNode __name:=rplidar __log:=/home/user/.ros/log/10be304a-c804-11e8-a5ac-646e69630aab/oil-navigation-lidar-rplidar-2.log].
log file: /home/user/.ros/log/10be304a-c804-11e8-a5ac-646e69630aab/oil-navigation-lidar-rplidar-2*.log

The problem is resolved when the USB is unplugged and replugged. This made me suspect that the problem is due to the udev rule in the scripts folder and indeed, when I directly specify the portname using the ttyUSB* name, I never get the error. I tested this by repeatedly launching through the symlink 'rplidar' and continuously failing and the specifying the direct portname instead and it immediately working.

A3 with foxy crashes ssh connection

Hi all
I use the A3 sensor with kinetic on a raspberry pi without issues. However i want to switch to ROS2. I installed a fresh ubuntu 20.04 with foxy on top and the rplidar library via apt-get ros-foxy-rplidar-ros. The installation has worked smoothly and I receive values from the lidar.
But:
For unknown reasons after running the launch file rplidar_a3.launch.py i'm not able anymore to ssh to my raspi. if i already opened a second connection that one works but unstable. Did someone made the same experiences? Any hint's to solve it? I checked several log's but see no errors or unexpected entries.

BTW there are two outdated variable names in that launch file. node_name should be name. node_executable should be executable.

I am grateful for any help.

Best Markus

Can not start scan: 80008000!

Can't to start A-1 RPlidar node on RP4 and ROS Melodic
Launch with roslaunch rplidar_ros rplidar.launch
Has error:

process[rplidarNode-1]: started with pid [3943]
[ INFO] [1629989727.080440302]: RPLIDAR running on ROS package rplidar_ros. SDK Version:1.12.0
RPLIDAR S/N: D1959A86C0E09CC4A2E09DF743473074
[ INFO] [1629989729.598738262]: Firmware Ver: 1.29
[ INFO] [1629989729.598891111]: Hardware Rev: 7
[ INFO] [1629989729.600505559]: RPLidar health status : 0
[ERROR] [1629989732.108427544]: Can not start scan: 80008000!

Also sometime has this

[ INFO] [1629989688.892776006]: RPLIDAR running on ROS package rplidar_ros. SDK Version:1.12.0
[ERROR] [1629989693.410192169]: Error, operation time out. RESULT_OPERATION_TIMEOUT! 
[rplidarNode-1] process has died [pid 3910, exit code 255, cmd /home/ubuntu/edu_ws/devel/lib/rplidar_ros/rplidarNode __name:=rplidarNode __log:=/home/ubuntu/.ros/log/1c91c1f6-067d-11ec-83ac-dca63252ee0b/rplidarNode-1.log].
log file: /home/ubuntu/.ros/log/1c91c1f6-067d-11ec-83ac-dca63252ee0b/rplidarNode-1*.log

No map is displayed in ROS2 Galactic on Ubuntu 20.04 (VirtualBox VM)

I'm a beginner to ROS and am using Ubuntu 20.04 on a VirtualBox VM. I installed ROS2 Galactic from apt. When I follow the instructions and launch rviz, the map is empty. My ports are working fine. When I use the simple_grabber from RPLidar_sdk, it shows the reading fine. It's just a problem of displaying that correctly on rviz. Can anyone help?

ros2 support

hi, developers
May I know if you guys have the play to support ros2/dashing branch or not?
As ros2 is the future of ros, I need support for ros2 now.
Thanks

Much more noise with RPLidar A3 than A2 under sunlight

I just tried my new RPLidar A3 in my backyard, and even in Stability mode the signal was drastically noisier than with the RPLidar A2 under the exact same conditions.

I ran them both using rplidar_ros on a Raspberry Pi 3 Model B, the A2 using the default rplidar.launch, so in Express mode, and the A3 using rplidar_a3.launch, changing the mode to Stability.

It was clear the the source of the noise was the sun: at the moment the clouds were occulting the sun the signal improved drastically, going back to noise when the sun shined again. The RPLidar A3 wasn't even able to see a big grey garbage can that was 3m in front of it under sunlight but it could with the clouds. A lot of points were falsely detected close to the lidar, at about 0.3m. The A2 worked perfectly under both conditions.

Here is an illustration of the problem with the RPLidar A3:

RPLidarA3-noise

On this curve, the X axis is time in seconds and the Y axis the distance in meters to an obstacle, a big wooden plank. To get it, I discarded all the points except in a 90º field of view in front of the lidar, and then among those points, selected the one closest to the lidar and applied a cos of the angle to get the forward distance. I then moved the lidar in front of the big wooden plank.
You can see an area where the signal gets cristal clear: when clouds passed in front of the sun.

For comparison, here is the RPLidar A2 under the same conditions and hard sunlight:

RPLidarA2-noise

The signal is a lot better under the same sunlight, which I did not expect.

Robustness to sunlight is critical in my application. What kind of settings should I use for the RPLidar A3, that would make it resist sunlight better than Stability ?

Not work view only marker

the node start but it not work correctly. In particular he view only marker, the other scan is infinity in range and zero in intensity (the dimension of the test room is less of maximum range). Do you know what the problem could be?
Thank you for your help

Invoking "nmake" failed

Dear rplidar_ros friends,

Thanks for creating the ros tool, it works very well on my Ubuntu 18.04 machine. However, when I try to build it in windows 10, I got below error message:

C:\catkin_ws\src\rplidar_ros\src\node.cpp(359): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
C:\catkin_ws\src\rplidar_ros\src\node.cpp(374): warning C4305: 'initializing': truncation from 'double' to 'float'
NMAKE : fatal error U1077: 'C:\PROGRA2\MICROS1\2019\COMMUN1\VC\Tools\MSVC\14261.288\bin\Hostx64\x64\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
Invoking "nmake" failed

====

Maybe I miss something, Hope to hear your expertise on the issue.

Thank you

Wrong rotation direction: reverse_data bug

If reverse_data = true (see here), the driver reverses the order of individual point measurements in a scan.

The result is that the output scan does not follow the ROS laser scan massage definition, which says:

                         # in frame frame_id, angles are measured around 
                         # the positive Z axis (counterclockwise, if Z is up)
                         # with zero angle being forward along the x axis

What happens is that a consumer of this wrong scan massage thinks that the individual point measurements were recorded in the opposite temporal order - which causes problems if you try to correct for motion distortion (eg, Cartographer does this).

Conclusion: reversing the data should never happen in the driver, this is a bug.

Until this bug is fixed in the driver, you can use this rplidar_inverted.launch file as workaround:

<launch>
  <arg name="serial_port" default="/dev/ttyUSB0"/>
  <arg name="serial_baudrate" default="115200"/><!--A1/A2 115200, A3 256000-->
  <arg name="frame_id" default="laser"/>
  <arg name="angle_compensate" default="true"/>
  <arg name="scan_mode" default=""/>

  <arg name="frame_id_inverted" value="$(arg frame_id)_inverted"/>
  <node pkg="tf2_ros" type="static_transform_publisher" name="laser_inverted_broadcaster" args="0 0 0 1 0 0 0 $(arg frame_id) $(arg frame_id_inverted)"/>

  <node name="rplidar_node" pkg="rplidar_ros" type="rplidarNode" output="log">
    <param name="serial_port"         type="string" value="$(arg serial_port)"/>
    <param name="serial_baudrate"     type="int"    value="$(arg serial_baudrate)"/>
    <param name="frame_id"            type="string" value="$(arg frame_id_inverted)"/>
    <param name="inverted"            type="bool"   value="true"/>
    <param name="angle_compensate"    type="bool"   value="$(arg angle_compensate)"/>
    <param name="scan_mode"           type="string" value="$(arg scan_mode)"/>
  </node>
</launch>

It ensures that reverse_data = false and inverts the frame so that the rotation direction is correct (see #31).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.