1#ifndef ROBOTOC_CRAWL_FOOT_STEP_PLANNER_HPP_
2#define ROBOTOC_CRAWL_FOOT_STEP_PLANNER_HPP_
8#include "Eigen/Geometry"
69 void setGaitPattern(const Eigen::Vector3d& step_length, const
double step_yaw,
70 const
bool enable_stance_phase);
81 const
double yaw_rate_cmd, const
double swing_time,
82 const
double stance_time, const
double gain);
95 const std::vector<std::vector<Eigen::Matrix3d>>& contact_surfaces);
97 void init(const Eigen::VectorXd& q) override;
99 bool plan(const
double t, const Eigen::VectorXd& q, const Eigen::VectorXd& v,
101 const
int planning_steps) override;
112 const Eigen::Vector3d&
CoM(const
int step) const override;
114 const Eigen::Matrix3d&
R(const
int step) const override;
116 int size()
const override {
return planning_size_; }
122 const std::shared_ptr<CrawlFootStepPlanner>& planner);
124 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
130 bool enable_raibert_heuristic_;
131 int LF_foot_id_, LH_foot_id_, RF_foot_id_, RH_foot_id_, current_step_, planning_size_;
133 std::vector<std::vector<Eigen::Vector3d>> contact_position_ref_;
134 std::vector<std::vector<Eigen::Matrix3d>> contact_surface_ref_;
135 std::vector<Eigen::Vector3d> com_ref_, com_to_contact_position_local_;
136 std::vector<Eigen::Matrix3d> R_;
137 Eigen::Vector3d vcom_, vcom_cmd_, step_length_;
138 Eigen::Matrix3d R_yaw_, R_current_;
139 double yaw_rate_cmd_;
140 bool enable_stance_phase_;
Moving window filter for foot step planning.
Definition: moving_window_filter.hpp:17
Raibert heuristic for foot step planning.
Definition: raibert_heuristic.hpp:23
Dynamics and kinematics model of robots. Wraps pinocchio::Model and pinocchio::Data....
Definition: robot.hpp:32
Definition: constraint_component_base.hpp:17
std::vector< T, Eigen::aligned_allocator< T > > aligned_vector
std vector with Eigen::aligned_allocator.
Definition: aligned_vector.hpp:14
pinocchio::SE3 SE3
Using pinocchio::SE3 without its namespace.
Definition: se3.hpp:15