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

the robot doesn't detect negative obstacles

asked 2021-08-07 09:33:23 -0500

islemhm gravatar image

updated 2021-08-07 09:49:13 -0500


I'm running the Navigation Stack on my robot with map, but i have a problem that the lidar doesn't detect negative obstacles! when he move he doesn't detect them and he hit them when he navigate and i use slam gmapping move_baseimage description

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-08-07 15:23:22 -0500

404RobotNotFound gravatar image

There are a lot of complications here, but basically detecting negative obstacles is a perception problem (slam_gmapping) more so than a planning problem (move_base).

An issue with the lidar is that if nothing is there then it will not return something, and if it doesn't get registered into the scan then gmapping doesn't know it is an obstacle. If an obstacle isn't registered, the move_base plannerwill go right through it since it thinks it is empty space.

A possible solution that changes minimally what you run would be to somehow detect the negative obstacle, and add that into the laser scan you are passing into slam_gmapping. Otherwise, you might need to look into different perception algorithms if this is a main concern of yours.

Some interesting links:

edit flag offensive delete link more


@404RobotNotFound how it can detect the negative obstacle by move_base , and add that into the laser scan

islemhm gravatar image islemhm  ( 2021-08-09 18:08:55 -0500 )edit

From my initial searching, I haven't found a reliable algorithm in ROS for negative obstacles detection. Which means, you would need to write something yourself.

There are then a few things you can do, depending on how much you want to change:

  • modify the laserscan data you are passing slam_gmapping, where there are now points where the negative obstacle is so gmapping will add them into the costmap (/map topic) that gets sent to move base. This might be the simplest, but can very easily break the slam part of gmapping. I haven't personally used slam_gmapping so I don't know the specifics.

  • create your own perception algorithm completely that replaces move base. This is obviously way more complex, but an option.

The obstacle detection part is not a part of move_base (planning) and more a perception issue (gmapping). You basically need a way to tell the planner ...(more)

404RobotNotFound gravatar image 404RobotNotFound  ( 2021-08-09 18:44:02 -0500 )edit

@404RobotNotFound thank you for your reply ,but i don't understand you very well because i'm new in ros can you explain more

islemhm gravatar image islemhm  ( 2021-08-10 03:03:44 -0500 )edit

I would recommend going through tutorials as much as you can.

I would also familiarize yourself with how your data flows when the robot is running and what data is produced. I would familiarize yourself with general robotics areas (localization, perception, path planning) and how it is used on your robot.

Without that knowledge it becomes pretty hard to discuss specifics on solving a task (like detecting negative obstacles and how do you have the planner avoid them)

404RobotNotFound gravatar image 404RobotNotFound  ( 2021-08-10 19:34:26 -0500 )edit

Question Tools

1 follower


Asked: 2021-08-07 09:33:23 -0500

Seen: 233 times

Last updated: Aug 07 '21