-
Notifications
You must be signed in to change notification settings - Fork 9
Feature/pm 391 set state machine to unknown #506
Feature/pm 391 set state machine to unknown #506
Conversation
… machine back to state UNKNOWN. Also added a button which has a callback to publish this tag.
… unknown type in the gait instruction message. This callback is used in the idle state to return failed to enter the UNKNOWN state. In order to accomplish this every used idle state is required to have the failed tag as a possible transition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When press the button after startup (when still in unknown) the state machine shuts down. Furthermore when I do this during a gait or an idle state it reports that I want to go unknown, but does not to actually do that.
…hen idle state is finished.
…/github.com/project-march/march into feature/PM-391-set-state-machine-to-unknown
march_state_machine/src/march_state_machine/gaits/slope_down_sm.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, works as expected!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Woops, approved a bit too quickly. The state machine crashes when forcing unknown from sofa_sitting 😇 I think Olav's suggestion to put it in a idle state by default will come in handy.
Only the gait outcomes have to be passed on the the idle state from now on.
Closes PM-391
(Also use the feature/PM-391-sm-to-unknown-button in the march_rqt_input_device)
Description
This PR solves the problem to shutdown the exoskeleton in order to home-stand of home-sit again. It does this by manually setting the state to the 'UNKNOWN' state in the exoskeleton. It is only useful to have this callback in the idle_state because this state is used in the side and ramp up gaits. In order to move to the 'UNKNOWN' state the 'failed' outcome is used for every idle state and has been added if it was not available yet
Changes