slamtec / rplidar_ros Goto Github PK
View Code? Open in Web Editor NEWLicense: BSD 2-Clause "Simplified" License
License: BSD 2-Clause "Simplified" License
Hi, I am trying to use rplidar a1 on my robot.
It has default front direction in ROS, but I would like to change the direction (Rotate 90 degrees to clockwise). Is that possible? If it is possible, what should I change??
Thank you.
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.
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 ?
hey guys,
i got a little issue while i was tried to run lidar. I followed the instructions on the website below.
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!
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那样处理?
started roslaunch server http://ubiquityrobot.local:44105/
PARAMETERS
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..
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
inf data may up to 1/3
What can I do with this? Should I support power independently beside USB? Or change some setting. I use the default setting.
Is there a map save and load function?
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
Will there be a release to Noetic so it can be installed from binaries?
Originally posted by @simonbogh in #33 (comment)
Since installing from apt-get is not the same as the question if the code works.
can i change the scan angle by changing some parameter?
because there is something behind the laser and we do not want to detect it.
In
rplidar_ros/src/rplidar_scan_publisher.cpp
Lines 336 to 337 in 5f56676
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.Sorry, the comment is misplaced
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.
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/
PARAMETERS
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
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!
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?
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)
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.
rplidar_ros passes prerelease testing:
generate_prerelease_script.py
https://raw.githubusercontent.com/ros-infrastructure/ros_buildfarm_config/production/index.yaml
noetic default ubuntu focal amd64
--custom-repo
rplidar__custom-1:git:https://github.com/Slamtec/rplidar_ros.git:master
--level 0
--output-dir ./
ready for release into focal/noetic
when i run it in jetson nano ubuntu 18.04, it report an error:
*** buffer overflow detected *** terminated!
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!
As the title suggests, the S1 unit is not responding to service call to stop motor.
To reproduce:
roslaunch rplidar_ros view_rplidar_s1.launch
rosservice call /stop_motor
Nothing happens when following the procedure above
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.
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.
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?
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.
we use A3 for robot localization,but the lidar node didn't advertise topic /scan once in a while.So,I want to know how to fix it
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
Hello,
I have the following connections errors:
lsusb
or ls /dev
. Why is that?I also bought 2 A1s just in case there's a hardware bug, but they both behave the same way.
Thanks,
Nathan
Hello, regarding the S1 lidar, I would like to know how to filter out obstacles within a 0.25m radius, because there are two brackets in the 0.25m radius, which may cause interference to the lidar.
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.
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!
it's possible to stop rplidar with script ?
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
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
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.
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'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
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?
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
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:
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:
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
?
Above is the suggested fix to add to documentation
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
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
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).
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.