34 #ifndef _PATTERN_GENERATOR_INTERFACE_H_
35 #define _PATTERN_GENERATOR_INTERFACE_H_
58 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
100 COMState &lStartingCOMState, Eigen::Vector3d &lStartingZMPPosition,
103 std::deque<RelativeFootPosition> &lRelativeFootPositions,
104 std::vector<double> &lCurrentJointValues,
bool ClearStepStackHandler) = 0;
128 Eigen::VectorXd &CurrentVelocity,
129 Eigen::VectorXd &CurrentAcceleration,
130 Eigen::VectorXd &ZMPTarget) = 0;
152 Eigen::VectorXd &CurrentConfiguration, Eigen::VectorXd &CurrentVelocity,
153 Eigen::VectorXd &CurrentAcceleration, Eigen::VectorXd &ZMPTarget,
178 Eigen::VectorXd &CurrentConfiguration, Eigen::VectorXd &CurrentVelocity,
179 Eigen::VectorXd &CurrentAcceleration, Eigen::VectorXd &ZMPTarget,
215 Eigen::VectorXd &dql)
const = 0;
253 double &newtime) = 0;
272 double &Orientation)
const = 0;
279 double &omega)
const = 0;
298 virtual int ParseCmd(std::istringstream &strm) = 0;
307 Eigen::Vector3d &lStartingZMPPosition,
308 Eigen::Matrix<double, 6, 1> &lStartingWaistPose,
Definition: patterngeneratorinterface.hh:55
virtual int ParseCmd(std::istringstream &strm)=0
Parse a command (to be used out of a plugin) and call all objects which registered the method.
virtual void getWaistVelocity(double &dx, double &dy, double &omega) const =0
Get Waist velocity.
virtual void StartOnLineStepSequencing()=0
Start the creation of steps on line.
virtual void ReadSequenceOfSteps(std::istringstream &strm)=0
Read a sequence of steps.
virtual void getZMPInitialPoint(Eigen::Vector3d &lZMPInitialPoint) const =0
Get the initial ZMP reference point.
virtual void setVelocityReference(double x, double y, double yaw)=0
Set velocity reference This method is only supported by Herdt's algorithm. Currently only a 3D speed ...
virtual int GetWalkMode() const =0
Returns the walking mode.
virtual void getWaistPositionMatrix(Eigen::Matrix4d &lWaistAbsPos) const =0
An other method to get the waist position using a matrix.
virtual bool RunOneStepOfTheControlLoop(Eigen::VectorXd &CurrentConfiguration, Eigen::VectorXd &CurrentVelocity, Eigen::VectorXd &CurrentAcceleration, Eigen::VectorXd &ZMPTarget)=0
Run One Step of the global control loop aka The Main Method To Be Used.
virtual void EvaluateStartingState(COMState &lStartingCOMState, Eigen::Vector3d &lStartingZMPPosition, Eigen::Matrix< double, 6, 1 > &lStartingWaistPose, FootAbsolutePosition &InitLeftFootAbsPos, FootAbsolutePosition &InitRightFootAbsPos)=0
Returns the ZMP, CoM, left foot absolute position, and right foot absolute position for the initiale ...
virtual void setZMPInitialPoint(Eigen::Vector3d &lZMPInitialPoint)=0
Set the initial ZMP reference point.
virtual void setCoMPerturbationForce(double x, double y)=0
Set velocity reference.
virtual void setWaistPositionAndOrientation(double TQ[7])=0
Set Waist position and Orientation
virtual bool RunOneStepOfTheControlLoop(ControlLoopOneStepArgs &aControlLoopOneStepArgs)=0
Rune One Step of the global control loop.
virtual void SetCurrentJointValues(Eigen::VectorXd &lCurrentJointValues)=0
virtual void StopOnLineStepSequencing()=0
Stop the creation of steps on line.
virtual void getWaistPositionAndOrientation(double TQ[7], double &Orientation) const =0
Get the waist position and orientation as a quaternion, and the planar X-Y orientation in Orientation...
virtual bool RunOneStepOfTheControlLoop(FootAbsolutePosition &LeftFootPosition, FootAbsolutePosition &RightFootPosition, ZMPPosition &ZMPRefPos, COMPosition &COMRefPos)=0
Run One Step of the global control loop aka The Main Method To Be Used.
virtual void GetLegJointVelocity(Eigen::VectorXd &dqr, Eigen::VectorXd &dql) const =0
Get the leg joint velocity.
virtual bool RunOneStepOfTheControlLoop(Eigen::VectorXd &CurrentConfiguration, Eigen::VectorXd &CurrentVelocity, Eigen::VectorXd &CurrentAcceleration, Eigen::VectorXd &ZMPTarget, COMState &COMState, FootAbsolutePosition &LeftFootPosition, FootAbsolutePosition &RightFootPosition)=0
Run One Step of the global control loop aka The Main Method To Be Used.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW PatternGeneratorInterface(PinocchioRobot *)
Definition: patterngeneratorinterface.hh:64
virtual ~PatternGeneratorInterface()
Definition: patterngeneratorinterface.hh:67
virtual void ChangeOnLineStep(std::istringstream &strm, double &newtime)=0
Change online step. See the above method for the specifications. This method uses a different format ...
virtual void AddOnLineStep(double X, double Y, double Theta)=0
Add an online step.
virtual bool RunOneStepOfTheControlLoop(Eigen::VectorXd &CurrentConfiguration, Eigen::VectorXd &CurrentVelocity, Eigen::VectorXd &CurrentAcceleration, Eigen::VectorXd &ZMPTarget, COMPosition &COMPosition, FootAbsolutePosition &LeftFootPosition, FootAbsolutePosition &RightFootPosition)=0
Run One Step of the global control loop aka The Main Method To Be Used.
virtual void CommonInitializationOfWalking(COMState &lStartingCOMState, Eigen::Vector3d &lStartingZMPPosition, Eigen::VectorXd &BodyAnglesIni, FootAbsolutePosition &InitLeftFootAbsPos, FootAbsolutePosition &InitRightFootAbsPos, std::deque< RelativeFootPosition > &lRelativeFootPositions, std::vector< double > &lCurrentJointValues, bool ClearStepStackHandler)=0
virtual int ChangeOnLineStep(double Time, FootAbsolutePosition &aFootAbsolutePosition, double &newtime)=0
Change online step. The strategy is the following: the step in single support phase at time t has its...
virtual void UpdateAbsolutePosition(bool UpdateAbsMotionOrNot)=0
Update the current waist absolute position.
virtual void AddStepInStack(double dx, double dy, double theta)=0
Function to specify steps in the stack of the walking pattern generator. This method is different Add...
Definition: pinocchiorobot.hh:57
\doc Simulate a rigid body
Definition: patterngeneratorinterface.hh:41
WALK_GEN_JRL_EXPORT PatternGeneratorInterface * patternGeneratorInterfaceFactory(PinocchioRobot *)
#define WALK_GEN_JRL_EXPORT
Definition: pgtypes.hh:41
doublereal * x
Definition: qld.cpp:386
Structure to store the COM position computed by the preview control.
Definition: pgtypes.hh:53
Structure to store the COM state computed by the preview control.
Definition: pgtypes.hh:76
Definition: pgtypes.hh:273
Definition: pgtypes.hh:119