Simple state to control and stabilize the CoM of a biped-like robot using the LIPMStabilizer.
More...
#include <mc_control/fsm/states/StabilizerStandingState.h>
|
void | targetCoP (const Eigen::Vector3d &cop) |
| Targets a given Cop. The CoM height will be automatically set at comHeight_ above this CoP. The default CoM height is that of the stabilizer's configuration, and can be overriden from configuration through "comHeight: 0.8" entry. More...
|
|
void | targetCoM (const Eigen::Vector3d &com) |
| Freely target a CoM position. The corresponding CoP position will be computed as the projection of the CoM at the average height of both feet contacts. More...
|
|
double | copHeight () const |
| CoP height from contacts. More...
|
|
void | output (const std::string &o) |
|
Simple state to control and stabilize the CoM of a biped-like robot using the LIPMStabilizer.
This state allows to:
- Move the CoM to a desired position using the LIPMStabilizer The reference trajectory is computed as a simple spring-damper system.
Typical uses:
◆ configure()
Called to configure the state.
This is called multiple times:
- once for every level of state inheritance
- once with the executor configuration, this is the FSM global executor, the Meta state executor, the Parallel state or any state that handle other states
The default implementation simply loads the provided configuration into the config_
protected members. You can override this behavior to implement a more complex loading logic.
You can access this configuration either via the config_
variable
Reimplemented from mc_control::fsm::State.
◆ copHeight()
double mc_control::fsm::StabilizerStandingState::copHeight |
( |
| ) |
const |
|
protected |
CoP height from contacts.
- double support: average of both contact heights
- single support: contact height
◆ run()
bool mc_control::fsm::StabilizerStandingState::run |
( |
Controller & |
ctl | ) |
|
|
overridevirtual |
◆ start()
void mc_control::fsm::StabilizerStandingState::start |
( |
Controller & |
ctl | ) |
|
|
overridevirtual |
Called before the state starts being run
This will be called only once with the state fully configured.
Implements mc_control::fsm::State.
◆ targetCoM()
void mc_control::fsm::StabilizerStandingState::targetCoM |
( |
const Eigen::Vector3d & |
com | ) |
|
|
protected |
Freely target a CoM position. The corresponding CoP position will be computed as the projection of the CoM at the average height of both feet contacts.
- Note
- Caution, this function does not check the feasibility of the provided CoM
- Parameters
-
◆ targetCoP()
void mc_control::fsm::StabilizerStandingState::targetCoP |
( |
const Eigen::Vector3d & |
cop | ) |
|
|
protected |
Targets a given Cop. The CoM height will be automatically set at comHeight_ above this CoP. The default CoM height is that of the stabilizer's configuration, and can be overriden from configuration through "comHeight: 0.8" entry.
- Parameters
-
◆ teardown()
void mc_control::fsm::StabilizerStandingState::teardown |
( |
Controller & |
ctl | ) |
|
|
overridevirtual |
◆ anchorFrameFunction_
std::string mc_control::fsm::StabilizerStandingState::anchorFrameFunction_ = "" |
|
protected |
◆ comHeight_
double mc_control::fsm::StabilizerStandingState::comHeight_ = 0 |
|
protected |
Desired height of the CoM above the CoP target
◆ comTarget_
Eigen::Vector3d mc_control::fsm::StabilizerStandingState::comTarget_ = Eigen::Vector3d::Zero() |
|
protected |
◆ config_
◆ copTarget_
Eigen::Vector3d mc_control::fsm::StabilizerStandingState::copTarget_ = Eigen::Vector3d::Zero() |
|
protected |
◆ D_
double mc_control::fsm::StabilizerStandingState::D_ = 0. |
|
protected |
◆ dcmThreshold_
Eigen::Vector3d mc_control::fsm::StabilizerStandingState::dcmThreshold_ = Eigen::Vector3d{0.01, 0.01, 0.01} |
|
protected |
Completion criteria threshold
◆ hasCompletion_
bool mc_control::fsm::StabilizerStandingState::hasCompletion_ = false |
|
protected |
If the latest definition of the state configuration has an empty "completion" element, no completion rule will be used
◆ K_
double mc_control::fsm::StabilizerStandingState::K_ = 5 |
|
protected |
LIPM Pendulum model CoM tracking stiffness (set-point)
◆ optionalGUI_
bool mc_control::fsm::StabilizerStandingState::optionalGUI_ = true |
|
protected |
Controls whether optional GUI elements are displayed
◆ ownsAnchorFrameCallback_
bool mc_control::fsm::StabilizerStandingState::ownsAnchorFrameCallback_ |
|
protected |
◆ pendulum_
◆ robot_
std::string mc_control::fsm::StabilizerStandingState::robot_ = "" |
|
protected |
◆ stabilizerTask_
The documentation for this struct was generated from the following file: