Does ros have a state observer?

asked 2017-02-21 16:17:28 -0500

updated 2018-06-06 18:12:14 -0500

I'd like to monitor the odometry feedback and the command messages to identify whether a robot is stuck. Something along the lines of this - If the odometry does not update over a certain command messages then the robot should figure out that it's stuck and override the command given to it.

What's the recommended way to do this?

edit retag flag offensive close merge delete

Comments

Isn't this what the navigation stack does (ie: when it triggers the recovery behaviours)?

gvdhoorn gravatar image gvdhoorn  ( 2017-02-22 00:55:31 -0500 )edit

I don't know, I haven't poked around too much. But I'm looking for something more generic that can be extended to other systems - If the payload of an arm is impeding the arm from achieving the desired velocities and accelerations etc. So I'm looking for a more generic state observer, if it exists.

Sidd gravatar image Sidd  ( 2017-02-22 09:58:14 -0500 )edit

According to http://answers.ros.org/question/37537... , the recovery behaviors are triggered if An oscillation was discovered, no global plan was received for some amount of time, or the local planner failed to find a valid velocity command for some amount of time

Sidd gravatar image Sidd  ( 2017-02-22 16:25:44 -0500 )edit

It doesn't necessarily seem to depend on the odometry of the robot, at least directly..

Sidd gravatar image Sidd  ( 2017-02-22 16:26:49 -0500 )edit