|
29 | 29 |
|
30 | 30 |
|
31 | 31 | namespace types { |
32 | | - using Vec3f = Eigen::Vector3f; |
33 | | - using Vec3d = Eigen::Vector3d; |
34 | | - using Vec4f = Eigen::Vector4f; |
35 | | - using Vec4d = Eigen::Vector4d; |
36 | | - using VecXf = Eigen::VectorXf; |
37 | | - using VecXd = Eigen::VectorXd; |
| 32 | +using Vec3f = Eigen::Vector3f; |
| 33 | +using Vec3d = Eigen::Vector3d; |
| 34 | +using Vec4f = Eigen::Vector4f; |
| 35 | +using Vec4d = Eigen::Vector4d; |
| 36 | +using VecXf = Eigen::VectorXf; |
| 37 | +using VecXd = Eigen::VectorXd; |
38 | 38 |
|
39 | | - using Mat3f = Eigen::Matrix3f; |
40 | | - using Mat3d = Eigen::Matrix3d; |
41 | | - using MatXf = Eigen::MatrixXf; |
42 | | - using MatXd = Eigen::MatrixXd; |
| 39 | +using Mat3f = Eigen::Matrix3f; |
| 40 | +using Mat3d = Eigen::Matrix3d; |
| 41 | +using MatXf = Eigen::MatrixXf; |
| 42 | +using MatXd = Eigen::MatrixXd; |
43 | 43 |
|
44 | | - const float gravity = 9.815; |
| 44 | +const float gravity = 9.815; |
45 | 45 |
|
46 | | - struct RobotBasicState { |
47 | | - Vec3f base_rpy; |
48 | | - Vec4f base_quat; |
49 | | - Mat3f base_rot_mat; |
50 | | - Vec3f base_omega; |
51 | | - Vec3f base_acc; |
52 | | - MatXf flt_base_acc_mat; |
53 | | - VecXf joint_pos; |
54 | | - VecXf joint_vel; |
55 | | - VecXf joint_tau; |
56 | | - }; |
| 46 | +struct RobotBasicState { |
| 47 | + Vec3f base_rpy; |
| 48 | + Vec4f base_quat; |
| 49 | + Mat3f base_rot_mat; |
| 50 | + Vec3f base_omega; |
| 51 | + Vec3f base_acc; |
| 52 | + MatXf flt_base_acc_mat; |
| 53 | + VecXf joint_pos; |
| 54 | + VecXf joint_vel; |
| 55 | + VecXf joint_tau; |
57 | 56 |
|
58 | | - struct RobotAction { |
59 | | - VecXf goal_joint_pos; |
60 | | - VecXf goal_joint_vel; |
61 | | - VecXf kp; |
62 | | - VecXf kd; |
63 | | - VecXf tau_ff; |
| 57 | + RobotBasicState(int dof = 16) { |
| 58 | + base_rpy.setZero(); |
| 59 | + base_quat.setZero(); |
| 60 | + base_rot_mat.setIdentity(); |
| 61 | + base_omega.setZero(); |
| 62 | + base_acc.setZero(); |
| 63 | + flt_base_acc_mat = Eigen::MatrixXf::Zero(20, 3); |
| 64 | + joint_pos = VecXf::Zero(dof); |
| 65 | + joint_vel = VecXf::Zero(dof); |
| 66 | + joint_tau = VecXf::Zero(dof); |
| 67 | + } |
| 68 | +}; |
| 69 | + |
| 70 | +struct RobotAction { |
| 71 | + VecXf goal_joint_pos; |
| 72 | + VecXf goal_joint_vel; |
| 73 | + VecXf kp; |
| 74 | + VecXf kd; |
| 75 | + VecXf tau_ff; |
64 | 76 |
|
65 | | - MatXf ConvertToMat() { |
66 | | - MatXf res(goal_joint_pos.rows(), 5); |
67 | | - res.col(0) = kp; |
68 | | - res.col(1) = goal_joint_pos; |
69 | | - res.col(2) = kd; |
70 | | - res.col(3) = goal_joint_vel; |
71 | | - res.col(4) = tau_ff; |
72 | | - return res; |
73 | | - } |
74 | | - }; |
| 77 | + MatXf ConvertToMat() { |
| 78 | + MatXf res(goal_joint_pos.rows(), 5); |
| 79 | + res.col(0) = kp; |
| 80 | + res.col(1) = goal_joint_pos; |
| 81 | + res.col(2) = kd; |
| 82 | + res.col(3) = goal_joint_vel; |
| 83 | + res.col(4) = tau_ff; |
| 84 | + return res; |
| 85 | + } |
| 86 | +}; |
75 | 87 |
|
76 | 88 |
|
77 | | - struct UserCommand { |
78 | | - double time_stamp; |
| 89 | +struct UserCommand { |
| 90 | + double time_stamp; |
79 | 91 | uint8_t safe_control_mode; //0 normal, 1 stand, 2 sit, 3 joint damping |
80 | | - uint8_t target_mode; |
81 | | - float forward_vel_scale = 0; |
82 | | - float side_vel_scale = 0; |
83 | | - float turnning_vel_scale = 0; |
84 | | - float reserved_scale; |
85 | | - }; |
| 92 | + uint8_t target_mode; |
| 93 | + float forward_vel_scale = 0; |
| 94 | + float side_vel_scale = 0; |
| 95 | + float turnning_vel_scale = 0; |
| 96 | + float reserved_scale; |
| 97 | +}; |
| 98 | + |
| 99 | +enum FromType { |
| 100 | + inside = 0, |
| 101 | + user, |
| 102 | +}; |
| 103 | +struct NetInfo { |
| 104 | + std::string ip; |
| 105 | + int port; |
| 106 | + FromType fromType; |
| 107 | +}; |
| 108 | + |
| 109 | +struct DataInfo : public NetInfo { |
| 110 | + const char* buffer; |
| 111 | + ssize_t len; |
| 112 | +}; |
| 113 | +struct CmdInfo : public NetInfo { |
| 114 | + int type; |
| 115 | + int command; |
86 | 116 | }; |
| 117 | +}; // namespace types |
0 commit comments