24 #ifndef THORMANG3_FOOT_STEP_GENERATOR_ROBOTIS_FOOT_STEP_GENERATOR_H_ 25 #define THORMANG3_FOOT_STEP_GENERATOR_ROBOTIS_FOOT_STEP_GENERATOR_H_ 28 #include <eigen3/Eigen/Eigen> 29 #include "thormang3_walking_module_msgs/AddStepDataArray.h" 30 #include "thormang3_foot_step_generator/Step2DArray.h" 32 #define STOP_WALKING (0) 33 #define FORWARD_WALKING (1) 34 #define BACKWARD_WALKING (2) 35 #define RIGHTWARD_WALKING (3) 36 #define LEFTWARD_WALKING (4) 37 #define LEFT_ROTATING_WALKING (5) 38 #define RIGHT_ROTATING_WALKING (6) 40 #define MINIMUM_STEP_TIME_SEC (0.4) 53 void calcRightKickStep(thormang3_walking_module_msgs::AddStepDataArray::Request::_step_data_array_type* step_data_array,
54 const thormang3_walking_module_msgs::StepData& ref_step_data);
55 void calcLeftKickStep(thormang3_walking_module_msgs::AddStepDataArray::Request::_step_data_array_type* step_data_array,
56 const thormang3_walking_module_msgs::StepData& ref_step_data);
58 void getStepData(thormang3_walking_module_msgs::AddStepDataArray::Request::_step_data_array_type* step_data_array,
59 const thormang3_walking_module_msgs::StepData& ref_step_data,
60 int desired_step_type);
63 const thormang3_walking_module_msgs::StepData& ref_step_data,
64 const thormang3_foot_step_generator::Step2DArray::ConstPtr& request_step_2d);
81 bool calcStep(
const thormang3_walking_module_msgs::StepData& ref_step_data,
int previous_step_type,
int desired_step_type);
83 void calcFBStep(
const thormang3_walking_module_msgs::StepData& ref_step_data,
int direction);
84 void calcRLStep(
const thormang3_walking_module_msgs::StepData& ref_step_data,
int direction);
85 void calcRoStep(
const thormang3_walking_module_msgs::StepData& ref_step_data,
int direction);
86 void calcStopStep(
const thormang3_walking_module_msgs::StepData& ref_step_data,
int direction);
88 Eigen::MatrixXd
getTransformationXYZRPY(
double position_x,
double position_y,
double position_z,
double roll,
double pitch,
double yaw);
89 void getPosefromTransformMatrix(
const Eigen::MatrixXd &matTransform,
double *position_x,
double *position_y,
double *position_z,
double *roll,
double *pitch,
double *yaw);
93 thormang3_walking_module_msgs::AddStepDataArray::Request::_step_data_array_type
step_data_array_;