Ask Your Question

carrot planner is simple, but can't make a robot move a goal?

asked 2014-06-09 15:52:18 -0600

Ken_in_JAPAN gravatar image

updated 2014-06-09 16:20:54 -0600

I want to ask anyone a question. I'm interested in global planner. I checked a code of a carrot_planner. carrot planner is very simple, but I think that it can't make a robot move a goal in case of being an obstacle between start position and goal position. Because the path(target_x,target_y,target_yaw) is made of following.

goal_x = goal.pose.position.x;
goal_y = goal.pose.position.y;
start_x = start.pose.position.x;
start_y = start.pose.position.y;
diff_x = goal_x - start_x;
diff_y = goal_y - start_y;
diff_yaw = angles::normalize_angle(goal_yaw-start_yaw);
target_x = goal_x;
target_y = goal_y;
target_yaw = goal_yaw;

target_x = start_x + scale * diff_x;
target_y = start_y + scale * diff_y;
target_yaw = angles::normalize_angle(start_yaw + scale * diff_yaw);

Carrot planner seems to make a plan for a robot to go straight. I mean that robot stops in front of an obstacle. What do you think of it?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2014-06-09 20:00:41 -0600

ahendrix gravatar image

Yes; the carrot planner is intentionally stupid like this. I think the carrot_planner wiki describes it pretty well.

If you want obstacle avoidance you should use a more complex planner such as navfn or the sbpl_lattice_planner

edit flag offensive delete link more


Thanks, @ahendrix! but excuse me. does sbpl_lattice_planner work normaly? I have tried to use it with a turtlebot, but it didn't work. I don't intend to do it.

Ken_in_JAPAN gravatar image Ken_in_JAPAN  ( 2014-06-09 20:26:46 -0600 )edit

the sbpl_lattice_planner is still kind of experimental, and it takes some tuning to get it running properly. It works quite well for my robot.

ahendrix gravatar image ahendrix  ( 2014-06-09 20:38:01 -0600 )edit

Just stumbled on this question - which is better the DWA planner or the SBPL planner for the turtlebot?

MarkyMark2012 gravatar image MarkyMark2012  ( 2018-02-18 14:04:20 -0600 )edit

DWA is probably better. I think it's the default in the turtlebot navigation package, and more users have put significantly more time into tuning and testing it. (Mathematically, it's also well-suited for the turtlebot, since turtlebot can turn in place)

ahendrix gravatar image ahendrix  ( 2018-02-18 19:04:03 -0600 )edit

Cheers for getting back to me.

MarkyMark2012 gravatar image MarkyMark2012  ( 2018-02-20 03:53:02 -0600 )edit

The navfn does not use the footprint of the robot for collision checking though, right?

hc gravatar image hc  ( 2018-06-18 10:38:27 -0600 )edit

I am reasonably certain that navfn uses the robot's footprint (or maybe circumscribed radius) for collision checking; otherwise it wouldn't be able to plan feasible paths.

ahendrix gravatar image ahendrix  ( 2018-06-18 16:55:02 -0600 )edit

Well global_planner doesn't produce paths accounting for footprint of the robot. That part is taken care by the local planner. So I ain't too certain about navfn using footprint. It seems to just producing a path through the cells considering inflated obstacles. Inflation perhaps relates to radius.

hc gravatar image hc  ( 2018-06-19 02:59:42 -0600 )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

1 follower


Asked: 2014-06-09 15:52:18 -0600

Seen: 1,649 times

Last updated: Jun 09 '14