34 #ifndef _PATTERN_GENERATOR_INTERFACE_H_
35 #define _PATTERN_GENERATOR_INTERFACE_H_
58 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
75 virtual void AddStepInStack(
double dx,
double dy,
double theta) = 0;
99 virtual void CommonInitializationOfWalking(
100 COMState &lStartingCOMState, Eigen::Vector3d &lStartingZMPPosition,
103 std::deque<RelativeFootPosition> &lRelativeFootPositions,
104 std::vector<double> &lCurrentJointValues,
bool ClearStepStackHandler) = 0;
127 virtual bool RunOneStepOfTheControlLoop(Eigen::VectorXd &CurrentConfiguration,
128 Eigen::VectorXd &CurrentVelocity,
129 Eigen::VectorXd &CurrentAcceleration,
130 Eigen::VectorXd &ZMPTarget) = 0;
151 virtual bool RunOneStepOfTheControlLoop(
152 Eigen::VectorXd &CurrentConfiguration, Eigen::VectorXd &CurrentVelocity,
153 Eigen::VectorXd &CurrentAcceleration, Eigen::VectorXd &ZMPTarget,
177 virtual bool RunOneStepOfTheControlLoop(
178 Eigen::VectorXd &CurrentConfiguration, Eigen::VectorXd &CurrentVelocity,
179 Eigen::VectorXd &CurrentAcceleration, Eigen::VectorXd &ZMPTarget,
199 virtual bool RunOneStepOfTheControlLoop(
208 virtual void SetCurrentJointValues(Eigen::VectorXd &lCurrentJointValues) = 0;
211 virtual int GetWalkMode()
const = 0;
214 virtual void GetLegJointVelocity(Eigen::VectorXd &dqr,
215 Eigen::VectorXd &dql)
const = 0;
218 virtual void ReadSequenceOfSteps(std::istringstream &strm) = 0;
224 virtual void StartOnLineStepSequencing() = 0;
227 virtual void StopOnLineStepSequencing() = 0;
230 virtual void AddOnLineStep(
double X,
double Y,
double Theta) = 0;
251 virtual int ChangeOnLineStep(
double Time,
253 double &newtime) = 0;
260 virtual void ChangeOnLineStep(std::istringstream &strm,
double &newtime) = 0;
267 virtual void UpdateAbsolutePosition(
bool UpdateAbsMotionOrNot) = 0;
271 virtual void getWaistPositionAndOrientation(
double TQ[7],
272 double &Orientation)
const = 0;
275 virtual void setWaistPositionAndOrientation(
double TQ[7]) = 0;
278 virtual void getWaistVelocity(
double &dx,
double &dy,
279 double &omega)
const = 0;
282 virtual void getWaistPositionMatrix(Eigen::Matrix4d &lWaistAbsPos)
const = 0;
287 virtual void setZMPInitialPoint(Eigen::Vector3d &lZMPInitialPoint) = 0;
290 virtual void getZMPInitialPoint(Eigen::Vector3d &lZMPInitialPoint)
const = 0;
298 virtual int ParseCmd(std::istringstream &strm) = 0;
306 EvaluateStartingState(
COMState &lStartingCOMState,
307 Eigen::Vector3d &lStartingZMPPosition,
308 Eigen::Matrix<double, 6, 1> &lStartingWaistPose,
321 virtual void setVelocityReference(
double x,
double y,
double yaw) = 0;
326 virtual void setCoMPerturbationForce(
double x,
double y) = 0;