Robotics StackExchange | Archived questions

What is the scope of a local controller?

Hello,

I'm trying to nail down the scope of local controllers, local planners, and global planners. First I will summarize what I think I understand.

What is unclear to me is the division lines between these planners and controllers. For example we have the DWA controller in NAV2 and we have the DWA planner. Am I to understand that local controllers can contain local planners or are they suppose exist outside of the controllers?

As a follow up question, what part of the software would be responsible for detecting that the robot is stuck? To me this would need access to the local planner, otherwise how would it know what the planner can and cannot navigate.

Asked by programmer-man on 2021-03-09 09:04:52 UTC

Comments

Answers

DWA planner, to the best of my knowledge, has both planner and controller closely knit. It's objective function has goal and current velocities as some of its parameters and it outputs velocity commands. So the reactive collision avoidance system is doing both together. Even looking at the dwa-local-planner code, it seems to implement everything in same program.

You can read the DWA paper for more information: http://wiki.ros.org/dwa_local_planner

Asked by parzival on 2021-03-09 10:37:26 UTC

Comments

And what would you say is the normal division of labour? Do you think my summary is accurate?

Asked by programmer-man on 2021-03-09 12:42:22 UTC

Yes it looks pretty accurate to me

Asked by parzival on 2021-03-10 04:23:07 UTC