path planning for turtlebot3_navigation package
hello, i have started working with turtlebot3 and i am going with the tutorials. i am following this website and going well. http://emanual.robotis.com/docs/en/platform/turtlebot3/navigation/#navigation My question is how path planning is done? I see in ros.wiki about global and local path planner, A* and DWA planner, but things are not clear. In the configuration files of move_base, only DWA planner can be configured. So is it using just DWA for path planning and execution? If yes, then how it can make a path. If not, then which other algorithm is used,how can one configure it and what it is documented. Your help will be highly appreciated.
Asked by roboter on 2019-12-01 20:50:47 UTC
Answers
Global planner plans whole path towards your goal and local planner is responsible for execution (publishing velocities), to follow global plan as closely as possible and according to it's configuration. You can find list of common global and local planners here. And DWA is a local planner, you can find it in the list and read about what it does and configuration params.
Asked by Choco93 on 2019-12-02 08:11:45 UTC
Comments
Thanks alot. I know the difference between local and global planner. I want to know how can i see which global planner is used by a package. i am using turtlebot navigation package with turtlebot3_navigation an move_base launch files in whichi only see base local planner and DWA planner. Where is global planner ?
Asked by roboter on 2019-12-02 08:49:15 UTC
If a planner is not specified in launch file, then default one is used, which in case of move_base is GlobalPlanner. Within base_node you can pass both local and global planner as following, and also load their configurations using rosparam.
<param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS"/>
<param name="base_global_planner" value="global_planner/GlobalPlanner" />
Asked by Choco93 on 2019-12-02 09:06:23 UTC
http://wiki.ros.org/global_planner
This is the global planner by default? if yes, then it is using dijkstra algorithm to find the path or its modified version? If modified version, then where can i see the documentation? Also if use_dijkstra=false, it uses A*, so this means it can use both dijkstra or A* depending upon configuration?
Asked by roboter on 2019-12-02 09:16:18 UTC
Yes it is default one. And depending on your configuration you can either use dijkstra or A*. And I don't know about dijkstra but I think it is using some variant of A* (if memory serves me right). And only paper I could find is here. Maybe you can add an issue on github and ask there for info and if there is some paper available explaining implementation.
Asked by Choco93 on 2019-12-02 09:35:20 UTC
ok. thanks alot
Asked by roboter on 2019-12-02 09:40:43 UTC
Comments