19 #ifndef OP3_WALKING_MODULE_H_ 20 #define OP3_WALKING_MODULE_H_ 27 #include <boost/thread.hpp> 28 #include <eigen3/Eigen/Eigen> 29 #include <yaml-cpp/yaml.h> 34 #include <std_msgs/String.h> 35 #include <sensor_msgs/Imu.h> 38 #include "robotis_controller_msgs/StatusMsg.h" 39 #include "op3_walking_module_msgs/WalkingParam.h" 40 #include "op3_walking_module_msgs/GetWalkingParam.h" 41 #include "op3_walking_module_msgs/SetWalkingParam.h" 58 double x, y,
z, roll, pitch, yaw;
77 void process(std::map<std::string, robotis_framework::Dynamixel *> dxls, std::map<std::string, double> sensors);
113 op3_walking_module_msgs::GetWalkingParam::Response &res);
119 void sensoryFeedback(
const double &rlGyroErr,
const double &fbGyroErr,
double *balance_angle);
122 double wSin(
double time,
double period,
double period_shift,
double mag,
double mag_shift);
123 bool computeIK(
double *out,
double x,
double y,
double z,
double a,
double b,
double c);
bool computeLegAngle(double *leg_angle)
double z_swap_period_time_
OP3KinematicsDynamics * op3_kd_
void initialize(const int control_cycle_msec, robotis_framework::Robot *robot)
double z_move_period_time_
void walkingCommandCallback(const std_msgs::String::ConstPtr &msg)
double a_move_phase_shift_
ros::Publisher robot_pose_pub_
Eigen::MatrixXd target_position_
double x_move_phase_shift_
void publishStatusMsg(unsigned int type, std::string msg)
double y_swap_period_time_
double z_move_amplitude_shift_
void updateMovementParam()
Eigen::MatrixXi joint_axis_direction_
double x_move_amplitude_shift_
void process(std::map< std::string, robotis_framework::Dynamixel * > dxls, std::map< std::string, double > sensors)
Eigen::MatrixXd init_position_
double y_swap_phase_shift_
double a_move_period_time_
double previous_x_move_amplitude_
op3_walking_module_msgs::WalkingParam walking_param_
double y_move_period_time_
double z_move_phase_shift_
double y_swap_amplitude_shift_
double wSin(double time, double period, double period_shift, double mag, double mag_shift)
Eigen::MatrixXd goal_position_
double x_move_period_time_
void walkingParameterCallback(const op3_walking_module_msgs::WalkingParam::ConstPtr &msg)
double y_move_amplitude_shift_
void saveWalkingParam(std::string &path)
boost::thread queue_thread_
double x_swap_period_time_
void loadWalkingParam(const std::string &path)
double y_move_phase_shift_
void processPhase(const double &time_unit)
double a_move_amplitude_shift_
bool getWalkigParameterCallback(op3_walking_module_msgs::GetWalkingParam::Request &req, op3_walking_module_msgs::GetWalkingParam::Response &res)
double x_swap_phase_shift_
double z_swap_amplitude_shift_
boost::mutex publish_mutex_
bool computeIK(double *out, double x, double y, double z, double a, double b, double c)
Eigen::MatrixXd calc_joint_tra_
std::map< std::string, int > joint_table_
double x_swap_amplitude_shift_
void computeArmAngle(double *arm_angle)
void sensoryFeedback(const double &rlGyroErr, const double &fbGyroErr, double *balance_angle)
double z_swap_phase_shift_
void iniPoseTraGene(double mov_time)
ros::Publisher status_msg_pub_