rm_controllers
Loading...
Searching...
No Matches
definitions.h
Go to the documentation of this file.
1//
2// Created by guanlin on 25-8-30.
3//
4
5#pragma once
6
8#include <array>
9#include <utility>
10
12{
13constexpr static const int STATE_DIM = 6;
14constexpr static const int CONTROL_DIM = 2;
15
17{
18 double L_weight; // Length weight to wheel axis
19 double Lm_weight; // Length weight to mass center
20 double l; // Leg rest length
21 double m_w; // Wheel mass
22 double m_p; // Leg mass
23 double M; // Body mass
24 double i_w; // Wheel inertia
25 double i_p; // Leg inertia
26 double i_m; // Body inertia
27 double r; // Wheel radius
28 double g; // Gravity acceleration
29 double f_gravity; // Gravity Force
30};
31
33{
34 double chassis_height; // 底盘高度 (m)
35 double wheel_track; // 轮距(左右)
36};
37
39{
40 double s2;
41 double s3;
42 double alpha_s;
43 double f_spring; // Spring Force
44};
45
54
56{
57 double x;
58 double theta;
61 double pitch;
62 double roll;
63 double raw_pitch;
64 double raw_theta;
65};
66
82
84{
85 double force; // Thrust
86 double torque; // Torque
87 double input[2]; // input
88};
89
96
104
114
116{
117 LEFT = 0,
119};
120
121enum
122{
125};
126
127enum
128{
129 THETA = 0,
135};
136
138{
139 Eigen::Matrix<double, STATE_DIM, 1> x; // LQR状态量
140 double angle[2]; // [0]: hip, [1]: knee
141 VMCPtr vmc{ nullptr };
142 bool unstick = false;
143};
144
146{
147 geometry_msgs::Vector3 angular_vel;
148 geometry_msgs::Vector3 linear_acc;
149 double x_vel = 0.0;
150 double roll = 0.0;
151 double pitch = 0.0;
152 double yaw = 0.0;
153 double yaw_total = 0.0;
154 double yaw_total_last = 0.0;
155};
156
157constexpr std::array<std::pair<JumpPhase, const double>, 3> jumpLengthDes = {
158 { { JumpPhase::LEG_RETRACTION, 0.11 }, { JumpPhase::JUMP_UP, 0.34 }, { JumpPhase::OFF_GROUND, 0.11 } }
159};
160} // namespace rm_chassis_controllers
Definition active_suspension.h:16
Side
Definition definitions.h:116
@ LEFT
Definition definitions.h:117
@ RIGHT
Definition definitions.h:118
LegOrientation
Definition definitions.h:91
@ FRONT
Definition definitions.h:93
@ UNDER
Definition definitions.h:92
@ BEHIND
Definition definitions.h:94
constexpr std::array< std::pair< JumpPhase, const double >, 3 > jumpLengthDes
Definition definitions.h:157
BalanceMode
Definition definitions.h:106
@ RECOVER
Definition definitions.h:110
@ STAND_UP
Definition definitions.h:108
@ SIT_DOWN
Definition definitions.h:109
@ PROTECT
Definition definitions.h:112
@ NORMAL
Definition definitions.h:107
@ UPSTAIRS
Definition definitions.h:111
std::shared_ptr< VMC > VMCPtr
Definition VMC.h:68
@ LEG_Tp
Definition definitions.h:124
@ WHEEL_T
Definition definitions.h:123
@ D_PITCH
Definition definitions.h:134
@ VEL
Definition definitions.h:132
@ D_THETA
Definition definitions.h:130
@ THETA
Definition definitions.h:129
@ PITCH
Definition definitions.h:133
@ POS
Definition definitions.h:131
JumpPhase
Definition definitions.h:98
@ OFF_GROUND
Definition definitions.h:101
@ IDLE
Definition definitions.h:102
@ JUMP_UP
Definition definitions.h:100
@ LEG_RETRACTION
Definition definitions.h:99
Definition definitions.h:56
double mid_leg_len_theta
Definition definitions.h:59
double raw_theta
Definition definitions.h:64
double high_leg_len_theta
Definition definitions.h:60
double raw_pitch
Definition definitions.h:63
double pitch
Definition definitions.h:61
double roll
Definition definitions.h:62
double x
Definition definitions.h:57
double theta
Definition definitions.h:58
double wheel_track
Definition definitions.h:35
double chassis_height
Definition definitions.h:34
Definition definitions.h:146
double yaw
Definition definitions.h:152
double yaw_total
Definition definitions.h:153
double yaw_total_last
Definition definitions.h:154
double x_vel
Definition definitions.h:149
double roll
Definition definitions.h:150
geometry_msgs::Vector3 angular_vel
Definition definitions.h:147
double pitch
Definition definitions.h:151
geometry_msgs::Vector3 linear_acc
Definition definitions.h:148
Definition definitions.h:47
double jump_up_force
Definition definitions.h:51
double down5cmStairPitchThreshold
Definition definitions.h:49
double off_ground_force
Definition definitions.h:52
double jumpOverTime_
Definition definitions.h:48
double down5cmStairThetaThreshold
Definition definitions.h:50
Definition definitions.h:84
double input[2]
Definition definitions.h:87
double torque
Definition definitions.h:86
double force
Definition definitions.h:85
Definition definitions.h:138
double angle[2]
Definition definitions.h:140
bool unstick
Definition definitions.h:142
Eigen::Matrix< double, STATE_DIM, 1 > x
Definition definitions.h:139
VMCPtr vmc
Definition definitions.h:141
double arrive_time_threshold
Definition definitions.h:80
double unstick_threshold
Definition definitions.h:79
double upstair_des_theta
Definition definitions.h:75
double under_lower
Definition definitions.h:69
double upstair_des_length
Definition definitions.h:76
double behind_upper
Definition definitions.h:74
double behind_lower
Definition definitions.h:73
double upstair_exit_theta_threshold
Definition definitions.h:77
double under_upper
Definition definitions.h:70
double upstair_exit_length_threshold
Definition definitions.h:78
double front_upper
Definition definitions.h:72
double front_lower
Definition definitions.h:71
Definition definitions.h:17
double m_w
Definition definitions.h:21
double f_gravity
Definition definitions.h:29
double Lm_weight
Definition definitions.h:19
double l
Definition definitions.h:20
double i_w
Definition definitions.h:24
double L_weight
Definition definitions.h:18
double i_p
Definition definitions.h:25
double M
Definition definitions.h:23
double i_m
Definition definitions.h:26
double g
Definition definitions.h:28
double m_p
Definition definitions.h:22
double r
Definition definitions.h:27
Definition definitions.h:39
double f_spring
Definition definitions.h:43
double s2
Definition definitions.h:40
double alpha_s
Definition definitions.h:42
double s3
Definition definitions.h:41