#include <mc_control/fsm/states/AddRemoveContact.h>
Public Member Functions | |
AddRemoveContactState () | |
virtual | ~AddRemoveContactState () |
void | start (Controller &) override |
bool | run (Controller &) override |
void | teardown (Controller &) override |
Public Member Functions inherited from mc_control::fsm::State | |
virtual | ~State () |
void | configure_ (const mc_rtc::Configuration &config) |
void | start_ (Controller &ctl) |
void | teardown_ (Controller &ctl) |
virtual void | stop (Controller &) |
virtual bool | read_msg (std::string &) |
virtual bool | read_write_msg (std::string &, std::string &) |
const std::string & | output () const noexcept |
const std::string & | name () |
void | name (const std::string &n) |
Additional Inherited Members | |
Protected Member Functions inherited from mc_control::fsm::State | |
void | output (const std::string &o) |
virtual void | configure (const mc_rtc::Configuration &config) |
Implements a state that is able to remove or add a contact
General configuration options:
Add contact options:
Remove contact options:
Compliant add contact options:
Other options depend on the type of task used to add/remove the contact. For the compliance task, the "body" entry is overwritten based on the contact value.
If you use a compliance task to remove a contact that has no force sensor attached the state will automatically fallback to using an AddContactTask.
This state also employs a CoM task to keep the robot balanced during the removal/adding operation. The task can be configured using a "com" entry, two values can be specified:
mc_control::fsm::AddRemoveContactState::AddRemoveContactState | ( | ) |
|
virtual |
|
overridevirtual |
Called every iteration until it returns true
Implements mc_control::fsm::State.
|
overridevirtual |
Called before the state starts being run
This will be called only once with the state fully configured.
Implements mc_control::fsm::State.
|
overridevirtual |
Called right before destruction
Implements mc_control::fsm::State.
|
protected |