Hi Josh,
Previously I was using the Slamtec/sllidar_ros2 repo for the lidar node. It seemed to work ok but the start/stop services didn’t.
I switched to allenh1/rplidar_ros and found one unexplained difference. The angle_increment is slightly different with the same scan mode, etc. Since the rplidar_ros is newer I’m going to stick with that. Do you have any thoughts on this? Grabbing random repos off github can lead to all sorts of rabbit holes.
The one thing that bugs me is the lidar spins constantly unless I run the node and tell it to stop. Setting auto_standby:=true helps but quitting the node causes the lidar to start spinning again. It’s probably buried somewhere in the driver.
I am loving this project so far and really enjoying all the new things to learn!
With the Lidar I have one from a turtlebot 3 kit, it uses a different driver which I installed with this code:
sudo apt install ros-foxy-hls-lfcd-lds-driver.
I am having trouble figuring out how to get it to launch and read data in RVIZ.
I tried using the code:
roslaunch hls_lfcd_lds_driver hlds_laser.launch
However it gives me an import error, any suggestions would be amazing!
Hey! It looks like you are trying to use a ROS 1 launch command, ROS 2 would look something like ros2 launch hls_lfcd_lds_driver hlds.launch (although I haven’t used that package so can’t confirm if that’s correct). Let me know if that works
Yeah I just took a look and the documentation is pretty sparse, I’m surprised it’s not better. There’s a bit for the old driver but not the new one. It looks like it hasn’t even been packaged for installation.
I’d clone the ld08_driver repo into your workspace, check out the humble-devel branch if you’re on humble, build it, and run the node or launch the launch file. The launch file does basically nothing though.
Beyond that I can’t help too much sorry as I don’t have one of these.
I’m facing some issues
I’m getting data from RPLiDAR sensor when i connected to Pi
I checked with “ros2 topic echo /scan” but when I subscribed to /scan topic from my Computer it’s not showing data neither in Rviz nor in Terminal by running “ros topic echo /scan”
I’m having trouble running the node cpp of YDlidar x3. Do you have any experience with this lidar? I really need some advice. I’m using ROS2 Humble. Thanks.
Hi Josh!
Thanks for all well-explained tutorials for construction of a mobile robot. I just procured my Lidar and connected it to my raspberry pi 4. I have one issue though ( hopefully you have a solution for that ). When I run the command to run the RpLidar node by using the ros2 run rplidar …, it shows a bit of information about the hardware (rev, health etc…) but when it comes to publishing a scan, I notice that my Lidar stops spinning for a moment (for milliseconds) and then starts turning again. However, during this, I get an error message on the screen:
[ERROR] [1690437769.099036892] [rplidar_node]: Cannot start scan: ‘80008000’
Can you help me with this issue? Seems to be a power issue but I don’t understand how this could be the case since I checked it after unplugging arduino from the pi as well. Any help on this matter would be highly appreciated.
Thank You in Advance!
The problem is resolved now. I increased the voltage supplied to GPIO pins of Raspberry Pi. The previous voltage was about 4.95V, so I increased it upto 5.15V. It works totally fine now.
Thank You!
hi Josh
I am trying to use the rplidar_ros package but I got an error like this
[ERROR] [1693739762.086191590] [rplidar_node]: Error, operation time out. SL_RESULT_OPERATION_TIMEOUT!
Hi Josh,
Thanks for the great set of tutorials. I am trying to do the same on a small robot I’m making. So far, I’ve managed to go through pretty much all the blogs and videos until mapping and it’s worked fine. However, I am facing an issue - since the LiDAR on my robot isn’t mounted outside and rather inside the body, I need to filter out the messages so that slam_toolbox doesn’t take the garbage data into consideration.
Looking around I found ros-perceptions’ laser_filters and used them. The filter “works” and I am able to use an Angular filter to filter out any laser scan messages I don’t need. There is an issue though. The filter takes in messages from /scan and spits out filtered messages on /scan_filtered. When I try to see /scan_filtered in rviz (or use it for mapping using slam toolbox) I get the following error messages -
[INFO] [1694107119.733352335] [rviz]: Message Filter dropping message: frame 'laser_frame' at time 1694107136.289 for reason 'Unknown'
I still get very few laser scan messages which are accepted, but too little, and its even worse with slam toolbox not able to create any map using it.
What’s facinating is that when I switch to “laser_frame” as the fixed frame in rviz, no messages are dropped.
I am still very new to ROS and not sure how to fix this issue.
Hope you can help or atleast show me the right way to get this resolved.
Did you ever find a solution to this? I’m getting the same error and am unsure if it has to do with the ros version (iron) I am using being incompatible or something else entirely.
I’m contemplating cloning a repo from github as a workaround (ex allenh1’s repo), but was hoping to follow Josh’s method if possible.
I am using a Power bank to power my pi and getting the same 80008000 || operation timed out Error .
i used a voltage regulator to convert 12v to 5v and used it on my raspberry pi 3 B model but unfortunately its usb ports got fried/short circuited due to excess voltage i believe . I cannot risk to do the same to my raspberrypi 4 too which i am currently using . What are other ways to give more power to the pi and it still being mobile car .
And what does " the screw terminal on the motor driver board " means i cant understand ?
Hi, now you are my favorite youtuber/engneer/programmer… Simply I love your work… Articubot make me very happy and I have built It following your tutorial, I’m Italian and you are the only person that made understable tutorial for me… Now… The real robot articubot you realized is great, I have “clone” it, simulated and real… I noticed that this fall off when surface Is not a flat… Lidar can’t detect hole or if Is on the table…Simply fall off… Now…an ir sensor (like roomba) Arduino compatibile (5V on/off) cost nothing… I would like to add it in front and rear of wheels (using depht camera for this is not so simple) but I’m not able ti do it…I am able to add an Arduino and read sensors, publish to Ros2 topic etc… But integrate it into navigation code, visualize in Rviz Is a problem for me (flat surface in Rviz Is zero and can’t visualize negative surface)… Can you help me to do this? For me would be fantastic realize something working like roomba navigation; articubot_one help me to do it except for anti-falling sensor. Please consider this for your work thanks
So in Gazebo simulation we used libgazebo_ros_ray_sensor.so plugin. As I understand this is some general plugin, not related to specific LiDAR sensor.
We said each LiDAR sensor has its own driver node, which is responsible for publishing scans to suitable topic. So that is mapping from reality to topic.
My question is:
If I want to use that specific LiDAR (with its specific driver node), how can I specify that driver node as plugin in Gazebo. Because for example I want to use that excact LiDAR in my Gazebo simulation, not some general plugin. I want to somehow include plugin which coresspond to that specific LiDAR sensor. How can include its driver node as plugin or similar.
I think this is important and it was not specified in video material or blog post. From my intuition each sensor should have its own plugin, because each sensor can have output different data, so it is important to have that data in simulation, because of the further work.
Hi josh.
I have a problem using rplidar.
I’m trying to launch ‘rplidar.launch.py’ and the Teminal always show an error like
[rplidar_node]: Error, operation time out. SL_RESULT_OPERATION_TIMEOUT!
what should I do?, Is it the problem with the power resource?
I love your videos. They are very well made and very informative.
I’ve just started doing some 3D printing and I got the same Lidar as you for Christmas.
Can you post your CAD file so I can 3D print it? Thanks Terry
Hi,
I wanted to confine the lidar scan range, to be in front of the robot only. Because the sides will be blocked off and i don’t want this data. How can this be done in the real robot, in simulation all we need to do is change the xacro file, if i am not wrong. My doubt is how to do this in the real robot.
Josh. I don’t recall if it was in this video or another, but I saw that you had a 3D printed stand for your LIDAR. Can you share the STEP file or show where it is posted on GIT? Thanks Terry Schumacher