Ask Your Question

How to autonavigate in an unknown map

asked 2018-08-21 21:57:44 -0500

Nelle gravatar image

I have a custom robot running on raspberry pi(raspbian) with ROS kinetic. I have understood from this that for the robot to avoid obstacles, there must be a known map that will only be generated by manually controlling the robot using either joystick or keyboard, etc. Can it be possible for the robot to autonomously navigate through an unknown map and avoid obstacles? Where can I find such package and how do I integrate this with my custom robot? My robot does not have any LIDARs, btw. It has an ultrasonic sensor in front, 2 analog IR sensors in the front sides and 2 digital IR sensors in the back.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2018-08-23 14:51:31 -0500

gvdhoorn gravatar image

Can it be possible for the robot to autonomously navigate through an unknown map and avoid obstacles?


This procedure is typically called autonomous mapping or exploration. There are quite a few packages that provide this sort of functionality.

See #q187944, #q240011, #q270227 and quite a few other previous questions about this.

edit flag offensive delete link more

answered 2018-08-23 13:10:41 -0500

I am not sure if I get your question correctly but I am going to answer it with my interpretation of your question.

What I understood from your question is you want to navigate in an unknown environment, the best way to do that would be using AMCL amd Gmapping package but in that case you need to provide target location to the navigation stack. However, there is another package called Frontier exploration which is used for exploring the environment. This is a sophisticated solution to your problem but there are simpler solutions as well. Since you have proximity sensors that you can use, you can easily write a simple "bug" planner and you will be able to move in the environment without map (target needs to be provided in this case as well).

Please note that if you want to use AMCL you need to convert the data from your sensors into sensor_msgs/LaserScan and publish it.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2018-08-21 21:57:44 -0500

Seen: 1,027 times

Last updated: Aug 23 '18