ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

following a boustrophedon path in a given room with obstacles

asked 2015-07-13 09:30:10 -0500

Naman gravatar image

updated 2015-07-16 08:53:04 -0500

Hi all,

I have a mobile robot which is navigating around a room, I already have the map of the room. I am using the navigation_stack of ROS. I am using rotary encoders for odometry. I am fusing the data from Rotary encoders and IMU using robot_pose_ekf. I am using amcl for localization and move_base for planning. Now, I have to write a Complete coverage Path planning algorithm and I am following this paper and I would like to ask what is the best way to generate the Boustrophedon path (simple forward and backward motions) in a cell (can be rectangular, trapezium, etc.) with no obstacles? If someone can suggest how to implement it in ROS, that will be great.

In cases like shown here (taken from here):
image description

To come up with divisions in the 2nd or 3rd cell (center top or center bottom), I dont know whether knowing all the corner points will be enough (I might be wrong) or should we have all the boundary points (If yes, I am not sure how exactly to find it). Does anyone have any idea how to generate boustrophedon path in a cell like this?

Please let me know if you need more information from me. Any help will be appreciated.

Thanks in advance.
Naman Kumar

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-07-13 09:34:02 -0500

dornhege gravatar image

This should be pretty simple, just divide one direction of your cell by the coverage width of the robot and create path goals at the start and end of each division along the other direction.

edit flag offensive delete link more


Thanks for the answer @dornhege! but how can one find the start and end of each division in the given cell? I can see how to do it if its rectangular and you know its dimensions but how can it be generalized for any cell or division? TIA

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

Unless you have some weird forms, it's just linear interpolation.

dornhege gravatar image dornhege  ( 2015-07-14 04:22:35 -0500 )edit

Thanks @dornhege! Just one more thing, are you assuming that you know all the boundary points of the cell (or division) to find the start and end of each division? TIA

Naman gravatar image Naman  ( 2015-07-16 07:18:57 -0500 )edit

Corners, edges, points, whatever you have. If you don't have something like that, you don't have a cell.

dornhege gravatar image dornhege  ( 2015-07-16 08:15:23 -0500 )edit

Yaa..but in cases like shown in the updated question, I dont know whether knowing only the corners is enough or do we need all the boundary points. Can you please have a look at the updated question. TIA :)

Naman gravatar image Naman  ( 2015-07-16 08:53:14 -0500 )edit

You need to know the boundary. That should come out of your decomposition algorithm.

dornhege gravatar image dornhege  ( 2015-07-16 08:56:34 -0500 )edit

Using a DCEL is one way to define the polygons: Doubly Connected Edge List Were you able to implement this @Naman?

ssohin gravatar image ssohin  ( 2019-02-21 10:18:03 -0500 )edit

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: 2015-07-13 09:30:10 -0500

Seen: 1,063 times

Last updated: Jul 16 '15