Skip to content

[RFC] Getting feedback from base controller #629

Open
@gerkey

Description

@gerkey

I have a situation in which my robot's base controller (using the terminology from this block diagram) is somewhat complex. It has internal logic by which it might determine that a given cmd_vel is impossible to execute (this robot has a steered caster setup with steering limits).

It's easy enough for me to have the base controller stop the robot in that situation, but it would be nice to propagate that failure information back into move_base somehow. It seems to me that accepting such failure feedback from the base controller is similar to how move_base already watches whether the global and local planners fail and then takes various actions (recovery behaviors, abort, etc.). For my particular application, I want to be able to stop pursuit of a goal if the base controller is ever asked to execute a velocity that it determines to be invalid.

Would others consider this a useful feature? There are probably a variety of situations in which the base controller might fail or refuse to move the robot, either due to software logic or hardware failures. Has anyone given thought to taking feedback from the base controller into move_base? I'm currently leaning toward adding an action interface to my base controller and then modifying move_base to optionally be able to send velocity commands there instead of doing a raw publish to cmd_vel. Other ideas on how to implement it?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions