21 const std::vector<control_toolbox::Pid*>& pid_legs, control_toolbox::Pid* pid_yaw_vel,
22 control_toolbox::Pid* pid_theta_diff, control_toolbox::Pid* pid_roll,
23 control_toolbox::Pid* pid_wheel_vel_diff);
24 void execute(
const ros::Time& time,
const ros::Duration& period)
override;
25 const char*
name()
const override
37 double calculateSupportForce(
double F,
double Tp,
double leg_length,
const double& leg_len_spd,
double acc_z,
38 Eigen::Matrix<double, STATE_DIM, 1> x,
const std::shared_ptr<ModelParams>& model_params,
39 const ros::Duration& period);
40 bool unstickDetection(
const double& F_leg,
const double& Tp,
const double& leg_len_spd,
const double& leg_length,
41 const double& acc_z,
const std::shared_ptr<ModelParams>& model_params,
42 Eigen::Matrix<double, STATE_DIM, 1> x,
43 const std::shared_ptr<MovingAverageFilter<double>>& supportForceAveragePtr,
44 const ros::Duration& period);
45 std::vector<hardware_interface::JointHandle*> joint_handles_;
46 std::vector<control_toolbox::Pid*> pid_legs_;
47 control_toolbox::Pid *pid_yaw_vel_, *pid_theta_diff_, *pid_roll_, *pid_wheel_vel_diff_;
48 ros::Time lastJumpTime_{};
50 double pos_des_{ 0.0 }, leg_length_des{ 0.2 };
51 double unstick_threshold{ 15.0 };
53 bool x_offset_flag_{
false }, protect_flag_{
false };
54 VEL_DIRECTION vel_direction_{ VEL_DIRECTION::POSITIVE };
55 std::shared_ptr<MovingAverageFilter<double>> leftSupportForceAveragePtr_, rightSupportForceAveragePtr_;
Normal(BipedalControllerInterface *controller_, const std::vector< hardware_interface::JointHandle * > &joint_handles, const std::vector< control_toolbox::Pid * > &pid_legs, control_toolbox::Pid *pid_yaw_vel, control_toolbox::Pid *pid_theta_diff, control_toolbox::Pid *pid_roll, control_toolbox::Pid *pid_wheel_vel_diff)
Definition normal.cpp:10