#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.