#include <PreviewControl/LinearizedInvertedPendulum2D.hh>
Public Member Functions | |
| LinearizedInvertedPendulum2D () | |
| ~LinearizedInvertedPendulum2D () | |
| int | InitializeSystem () |
| Initialize the system. | |
| int | Interpolation (std::deque< COMState > &COMStates, std::deque< ZMPPosition > &ZMPRefPositions, int CurrentPosition, double CX, double CY) |
| Interpolation during a simulation period with control parameters. | |
| int | OneIteration (double CX, double CY) |
| Simulate one iteration of the LIPM. | |
Getter and setter of variables | |
| const double & | GetComHeight () const |
| void | SetComHeight (const double &) |
| const double & | GetSimulationControlPeriod () const |
| void | SetSimulationControlPeriod (const double &) |
| const double & | GetRobotControlPeriod () |
| void | SetRobotControlPeriod (const double &) |
| void | GetState (MAL_VECTOR_TYPE(double)&lxk) |
| void | setState (MAL_VECTOR_TYPE(double) lxk) |
Constructor
References MAL_MATRIX_RESIZE, and MAL_VECTOR_RESIZE.
Destructor
| const double & LinearizedInvertedPendulum2D::GetComHeight | ( | ) | const |
Getter for the CoM height
| const double & LinearizedInvertedPendulum2D::GetRobotControlPeriod | ( | ) |
Getter for the control period of the robot (for interpolation) .
| const double & LinearizedInvertedPendulum2D::GetSimulationControlPeriod | ( | ) | const |
Getter for the simulation period specifically
| void LinearizedInvertedPendulum2D::GetState | ( | MAL_VECTOR_TYPE(double)& | lxk | ) |
Get state.
References MAL_VECTOR_TYPE.
Initialize the system.
| int LinearizedInvertedPendulum2D::Interpolation | ( | std::deque< COMState > & | COMStates, |
| std::deque< ZMPPosition > & | ZMPRefPositions, | ||
| int | CurrentPosition, | ||
| double | CX, | ||
| double | CY | ||
| ) |
Interpolation during a simulation period with control parameters.
| [out] | NewFinalZMPPositions: queue of ZMP positions interpolated. | |
| [out] | COMStates: queue of COM positions interpolated. | |
| [in] | ZMPRefPositions: Reference positions of ZMP (Kajita's heuristic every 5 ms). | |
| [in] | CurrentPosition: index of the current position of the ZMP reference (this allow to propagate some parameters define by a heuristic to the CoM positions). | |
| [in] | CX: command parameter in the forward direction. | |
| [in] | CY: command parameter in the perpendicular direction. |
References PatternGeneratorJRL::ZMPPosition_s::px, PatternGeneratorJRL::ZMPPosition_s::py, PatternGeneratorJRL::ZMPPosition_s::theta, PatternGeneratorJRL::COMState_s::x, PatternGeneratorJRL::COMState_s::y, PatternGeneratorJRL::COMState_s::yaw, and PatternGeneratorJRL::COMState_s::z.
| int LinearizedInvertedPendulum2D::OneIteration | ( | double | CX, |
| double | CY | ||
| ) |
Simulate one iteration of the LIPM.
| [in] | CX,: | control value in the forward direction. |
| [in] | CY,: | control value in the left-right direction. |
Vector to compute the command applied to the LIPM
References MAL_C_eq_A_by_B, MAL_RET_A_by_B, and MAL_VECTOR_DIM.
| void LinearizedInvertedPendulum2D::SetComHeight | ( | const double & | aComHeight | ) |
Setter for the CoM height
| void LinearizedInvertedPendulum2D::SetRobotControlPeriod | ( | const double & | aT | ) |
Setter for the control period of the robot (for interpolation) .
| void LinearizedInvertedPendulum2D::SetSimulationControlPeriod | ( | const double & | aT | ) |
Setter for the simulation period specifically
| void LinearizedInvertedPendulum2D::setState | ( | MAL_VECTOR_TYPE(double) | lxk | ) |
Get state.
References MAL_VECTOR_TYPE.