ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Turtlebot3 LiDAR detects Fake Obstacles

asked 2022-01-17 20:42:17 -0500

distro gravatar image

The LiDAR on turtlebot3 is detecting fake obstacles where there is free space. I am unsure as to what is happening. I have no idea if this is a hardware issue or something else. Here is a screen shot of what my robot senses in Rviz and what is actually going on in the Real World. As clearly seen, there is free space around the robot yet it detects obstacles all around it.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-01-17 20:49:44 -0500

cst0 gravatar image

From the edges of the walls in that photo, it looks to me like you've got some pretty messy data coming in. That messy data might be due to to the LIDAR: sensor noise causing obstacles to be seen where there are none. Or, that messy data might be the odometry: if the odometry stack makes the turtlebot think that it's in the wrong place, it might be seeing a valid obstacle and projecting it to the wrong location.

In either case, it looks like you'd benefit from some filtering. For your LIDAR, check out the laser filters package. For your odometry, the more data sources you can take advantage of the better. Combining them alongside some filtering using some form of a kalman filter would help, too (perhaps via this package?).

edit flag offensive delete link more

Comments

@cst0 I'll try the laser filters, I don't know how to use plugins after I've cloned them to my work space though. The wiki confuses me. Would you mind giving me the steps? I clone the repo tp my workspace, the what?

distro gravatar image distro  ( 2022-01-18 13:45:15 -0500 )edit

You could clone it but you don't need to (it should be in the ROS repositories which is probably easier): you'll just need to be able to run rosrun laser_filters scan_to_scan_filter_chain.

The way the package works is, you specify a 'filter chain' by picking out what filters you'd like to run, and you outline them and their parameters in a yaml file. You provide that yaml file to the node via the rosparam server (which can be done in a launch file or manually, both options are outlined on the wiki). My advice would be to start with one of the existing configurations just for the sake of getting it working, and then modifying the yaml file to meet your needs by copying in and modifying other filters as provided on the wiki.

cst0 gravatar image cst0  ( 2022-01-18 14:09:52 -0500 )edit

@cst0 Are you saying I should already have the package? Is this what you mean by not needing to clone it?

distro gravatar image distro  ( 2022-01-18 19:02:19 -0500 )edit

I was referencing that it should be available in the repositories: for example, sudo apt install ros-noetic-laser-filters may be a lot easier than cloning and building from source. But, whatever way works for you should be fine.

cst0 gravatar image cst0  ( 2022-01-18 19:05:13 -0500 )edit

@cst0 okay so I just installed the package, where do I make the .yaml file specifically? DO I need to do it in the package itself? ROS generally confuses me alot and reading the wikis doesn't help much. I've been having a very difficult time figuring out how to use plugins.

distro gravatar image distro  ( 2022-01-18 19:56:51 -0500 )edit

@cst0 actually I was able to geet it to work but now I dont know what filer to use, most likely it would be the LaserScanIntensityFilter .

distro gravatar image distro  ( 2022-01-19 13:36:57 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2022-01-17 20:42:17 -0500

Seen: 272 times

Last updated: Jan 17 '22