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,
191 virtual bool RunOneStepOfTheControlLoop(
198 virtual bool RunOneStepOfTheControlLoop(
207 virtual void SetCurrentJointValues(Eigen::VectorXd &lCurrentJointValues) = 0;
210 virtual int GetWalkMode()
const = 0;
213 virtual void GetLegJointVelocity(Eigen::VectorXd &dqr,
214 Eigen::VectorXd &dql)
const = 0;
217 virtual void ReadSequenceOfSteps(std::istringstream &strm) = 0;
223 virtual void StartOnLineStepSequencing() = 0;
226 virtual void StopOnLineStepSequencing() = 0;
229 virtual void AddOnLineStep(
double X,
double Y,
double Theta) = 0;
250 virtual int ChangeOnLineStep(
double Time,
252 double &newtime) = 0;
259 virtual void ChangeOnLineStep(std::istringstream &strm,
double &newtime) = 0;
266 virtual void UpdateAbsolutePosition(
bool UpdateAbsMotionOrNot) = 0;
270 virtual void getWaistPositionAndOrientation(
double TQ[7],
271 double &Orientation)
const = 0;
274 virtual void setWaistPositionAndOrientation(
double TQ[7]) = 0;
277 virtual void getWaistVelocity(
double &dx,
double &dy,
278 double &omega)
const = 0;
281 virtual void getWaistPositionMatrix(Eigen::Matrix4d &lWaistAbsPos)
const = 0;
286 virtual void setZMPInitialPoint(Eigen::Vector3d &lZMPInitialPoint) = 0;
289 virtual void getZMPInitialPoint(Eigen::Vector3d &lZMPInitialPoint)
const = 0;
297 virtual int ParseCmd(std::istringstream &strm) = 0;
304 virtual void EvaluateStartingState(
305 COMState &lStartingCOMState, Eigen::Vector3d &lStartingZMPPosition,
306 Eigen::Matrix<double, 6, 1> &lStartingWaistPose,
319 virtual void setVelocityReference(
double x,
double y,
double yaw) = 0;
324 virtual void setCoMPerturbationForce(
double x,
double y) = 0;