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

Writing a local planner package

asked 2012-11-06 18:48:52 -0500

Rookiebot gravatar image

Hi people,

I am a newbie using ros for my school project, I have basic programming background (C language ). For my project, I am trying to simulate the collision avoidance behaviour of a robot.

So far I think the local planning package available on ros might not be able to exhibit the behaviour that my project required. This means that I will probably have to write a local planning package myself.

What I would like to know is what are the relevant knowledge of programming or computing require for me to be able to make changes to the local planner package, or even write out one myself?

Do I need to learn stuff like software development or computer network? Is C++ knowledge sufficient for writing my own package?

Any feedback will be appreciated. Thanks!

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2012-11-06 22:03:08 -0500

Lorenz gravatar image

base_local_planner and dwa_local_planner do collision avoidance based on a costmap that is normally built from lasers.

To understand the code, I would say a solid knowledge of C++ is definitely helpful. The same holds for creating your own packages. Have a look at the ROS tutorials.

edit flag offensive delete link more


So do you mean that we can edit dwa_local_planner just based on C++ knowledge?

ChengXiang gravatar image ChengXiang  ( 2012-11-07 02:44:33 -0500 )edit

Sure, why not? It's open source. But, don't try to edit the /opt/ros tree, check out a source overlay and build that:

joq gravatar image joq  ( 2012-11-08 11:25:20 -0500 )edit

Hi ppl,thanks for all the inputs. I have a clearer idea now.

Rookiebot gravatar image Rookiebot  ( 2012-11-13 23:48:24 -0500 )edit

Hi Rookiebot! Did you edit parts of the local planner package? what is the best way to understand it?

RS gravatar image RS  ( 2015-07-20 11:34:44 -0500 )edit

answered 2021-02-06 01:46:52 -0500

Carls gravatar image

updated 2021-02-06 01:47:11 -0500

According to nav_core,

All local planners written as plugins for the move_base node must adhere to this interface(nav_core::BaseLocalPlanner).

If you already have some ROS basics, then you should check on Writing and Using a Simple Plugin, pluginlib and BaseLocalPlanner Class

edit flag offensive delete link more


Feel free to checkout as well

Den gravatar image Den  ( 2021-10-15 09:26:21 -0500 )edit

Question Tools

1 follower


Asked: 2012-11-06 18:48:52 -0500

Seen: 1,665 times

Last updated: Feb 06 '21