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

implementing a wall following robot in ros

asked 2015-07-06 10:21:25 -0500

Naman gravatar image

updated 2015-07-06 22:31:50 -0500

Hi all,

I have a mobile robot and I would like it to follow a wall of a room. I already have a map of the room. I am using Wheel encoders for odometry. I am fusing data from wheel encoders and IMU using robot_pose_ekf. I have a Hokuyo lidar for localization and obstacle avoidance. I am also using Kinect to see obstacles which can not be seen by the hokuyo. I am using amcl for localization. I have couple of sharp sensors on the side for wall following. Now, I would like to know what is the best technique for wall following? Couple of techniques which I can think of:
1. Use the map to come up with an initial global plan and then follow that global plan and change it if you see an obstacle which is not in the map.
2. Dont use any global plan. Just follow the wall using the data from the sensors. This might be more difficult given that there can be wide variety of obstacles close to the wall and making sure that staying at a fixed distance from them might be tricky.

My one constraint is that I want the robot to be always at a fixed distance of 2 inches approx. from the wall (or an obstacle close to the wall).

I know this is a very general question but any suggestions regarding it will be appreciated. Please let me know if you need more information from me.

Thanks in advance.
Naman Kumar

edit retag flag offensive close merge delete


Why do you want to use the sharp sensors if you have a hukuyu?

NEngelhard gravatar image NEngelhard  ( 2015-07-07 01:41:00 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2015-07-07 10:28:20 -0500

I'll choose plan 1,which use the map of room.

In the beginning, a global plan to walk through all the walls are planned. Then you can define two states for your robot to follow, "Wall following" and "Obstacle avoidance". This might be implemented by using SMACH,

But the tricky part is in the state changing condition. This might be interesting, you can test different strategies.

Another solution is to use ROS navigation, but implement your own global planner (by writing a plugin) to let it generate a plan that follows the wall.

edit flag offensive delete link more


Thanks @Ricky! Do you know of any good resource/paper/forums/links for generating a global plan for wall following in ROS? TIA

Naman gravatar image Naman  ( 2015-07-07 15:58:44 -0500 )edit

Forum: , As for paper: (I just did a quick survey, you might get more useful info by doing more survey)

Po-Jen Lai gravatar image Po-Jen Lai  ( 2015-07-07 19:23:41 -0500 )edit

Question Tools



Asked: 2015-07-06 10:21:25 -0500

Seen: 3,427 times

Last updated: Jul 07 '15