Robot Simulator of the Robotics Group for Self-Organization of Control  0.8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ashigarusensormotordefinition.h
Go to the documentation of this file.
1 /*
2  * ashigaru_sensormotor_def.h
3  *
4  * Created on: 18, Sep, 2012
5  * Author: Yuichi
6  *
7  * This is the definition of the name of the motors and sensors for Ashigaru
8  */
9 
10 #ifndef ASHIGARUSENSORMOTORDEFINITION_H_
11 #define ASHIGARUSENSORMOTORDEFINITION_H_
12 
13 /***********************************************************************
14 
15  Here, I determine the parameters of the robot Ashigaru
16 
17  _ Joint Joint Joint
18  / \ TC CT FT
19  | |== o === | === | ====== Leg
20  \ _ / Shld Coxa Femur Tibia
21  Hexagon Body Link Link Link
22 
23 ************************************************************************/
24 
25 namespace ASHIGARU{
26 // ashigaru's sensor name
28  // Angle sensors
29  // I numbered the joint in clockwise (number 0 is top one)
30  T0_as=0, //Thoracic joint 0
31  T1_as=1, //Thoracic joint 1
32  T2_as=2, //Thoracic joint 2
33 
34  C0_as=3, //Coxa joint 0
35  C1_as=4, //Coxa joint 1
36  C2_as=5, //Coxa joint 2
37 
38  F0_as=6, //Fibula joint 0
39  F1_as=7, //Fibula joint 1
40  F2_as=8, //Fibula joint 2
41 
42  //Foot contact sensors
43  L0_fs= 9, // foot 0
44  L1_fs= 10, // foot 1
45  L2_fs= 11, // foot 2
46 
47  // Torque sensors, used as Current sensors at each motor
48  T0_ts=12,
49  T1_ts=13,
50  T2_ts=14,
51 
52  C0_ts=15,
53  C1_ts=16,
54  C2_ts=17,
55 
56  F0_ts=18,
57  F1_ts=19,
58  F2_ts=20,
59 
60  // Attitude sensor
61  //
62  // ----
63  // / 2 1
64  // [ center z ---------> y
65  // [ |
66  // \ ___0__ |
67  /// V x
68  //
69  POSE_r = 21, // roll (rad)
70  POSE_p = 22, // pitch
71  POSE_y = 23, // yaw
72 
73  // angular Vel
74  W_x = 24,// angular velocity
75  W_y = 25,
76  W_z = 26,
77 
78  // grobal position of the Robot Center
79  GPOS_Rx = 27,
80  GPOS_Ry = 28,
81  GPOS_Rz = 29,
82 
83  // grobal speed of the Center
84  GSPD_Rx = 30,
85  GSPD_Ry = 31,
86  GSPD_Rz = 32,
87 
88  // grobal position of the COG
89  GPOS_COGx = 33,
90  GPOS_COGy = 34,
91  GPOS_COGz = 35,
92 
93  // grobal position of the LegToe
94  GPOS_L0x = 36, // leg pos of Leg 0
95  GPOS_L0y = 37,
96  GPOS_L0z = 38,
97 
98  GPOS_L1x = 39,
99  GPOS_L1y = 40,
100  GPOS_L1z = 41,
101 
102  GPOS_L2x = 42,
103  GPOS_L2y = 43,
104  GPOS_L2z = 44,
105 
106  //Changing according to the maximum sensor number
108 
109 };
110 
111 // Ashigaru's motor name
113  // base joint
114  T0_m = 0,
115  T1_m = 1,
116  T2_m = 2,// Upward (+), Downward (-)
117 
118  // 2nd joint
119  C0_m = 3,
120  C1_m = 4,
121  C2_m = 5,// Upward (+), Downward (-)
122 
123  // 3rd joint
124  F0_m = 6,
125  F1_m = 7,
126  F2_m = 8, // Upward (+), Downward (-)
127 
128  //Changing according to the maximum motor number
130 };
131 
132 /***********************************************************************
133 
134  Here, I determine the parameters of the robot Ashigaru
135 
136  _ Joint Joint Joint
137  / \ TC CT FT
138  | |== o === | === | ====== Leg
139  \ _ / Shld Coxa Femur Tibia
140  Hexagon Body Link Link Link
141 
142 ************************************************************************/
143 // The internal parameters of the dynamixel
144 typedef struct {
145  //Unit m, kg
146  double length;
147  double width;
148  double height;
149 
150  double length_axis_to_center;// The length between the center of dynamixel and the axis.
151  double length_from_axis_to_tip; // The length between the axis and the tip of joint material(bra for servo)
152 
153  double mass;
154 }DynaAX12Conf;
155 
156 // The internal parameters of the Hexagon Body
157 typedef struct {
158  //Unit m, kg
159  double length;
160  double height;
161 
162  double mass;
164 
165 // The internal parameters of Foot frame (Tibia)
166 typedef struct {
167  //Unit m,kg
168  double length;
169  double width;
170  double height;
171 
172  double footRadius;
173 
174  double mass;
176 
177 typedef struct {
178  // Unit m
183 }JointLength;
184 
185 //The internal parameter of the servo
186 typedef struct{
187  // angle limit (rad)
188  // about TC
189  double TC_angle_MAX;
190  double TC_angle_MIN;
191  // about CT
192  double CT_angle_MAX;
193  double CT_angle_MIN;
194  // about FT
195  double FT_angle_MAX;
196  double FT_angle_MIN;
197 
198  //servoParam
199  // input current??
200  double power;
201  // damping coefficience
202  double damp;
203  // Max vel which the servo can get
204  double maxVel;
205 
206 }ServoParam;
207 
208 //The special parameter
209 // this is not good parameter I think, I have to change it But, temporally I use it
210 
211 typedef struct{
212  // The leg which is used for connection
214  // The strength of the joint connection
215  // this is correspond to the servo parameter P
216  // By making this parameter too large to vibrate, we can treat it as rigid body
217  double servoPower;
218 
219 }SpecialParam;
220 
221 //! >ASHIGARU Configuration struct
222 typedef struct {
223  double rate;// What rate should I multiple to real length number
224  double massRate; // what rate should I multiple to real mass number
225  double connectLength; // Length between center of the robot and that of another robot when they are connected each other.
226  double wholeMass; // the whole mass of the robot
227 
228  DynaAX12Conf dyna; // Dynamixel's real configuration
229  HexagonBodyConf body; // Body's real config.
230  FootFrameConf foot; // foot's real config.
231  JointLength jLength; // joint length param
232  ServoParam servoParam; // parameter for servo
233  SpecialParam specialParam; // special parameter (temporally)
234 
235 } AshigaruConf;
236 
237 }
238 
239 #endif //ASHIGARU_SENSORMOTOR_DEF_H_
Definition: ashigarusensormotordefinition.h:85
Definition: ashigarusensormotordefinition.h:49
double length_from_axis_to_tip
Definition: ashigarusensormotordefinition.h:151
double mass
Definition: ashigarusensormotordefinition.h:153
JointLength jLength
Definition: ashigarusensormotordefinition.h:231
double CT_angle_MAX
Definition: ashigarusensormotordefinition.h:192
double length_TCJ_to_CTJ
Definition: ashigarusensormotordefinition.h:180
Definition: ashigarusensormotordefinition.h:38
Definition: ashigarusensormotordefinition.h:76
Definition: ashigarusensormotordefinition.h:125
Definition: ashigarusensormotordefinition.h:34
double damp
Definition: ashigarusensormotordefinition.h:202
Definition: ashigarusensormotordefinition.h:45
Definition: ashigarusensormotordefinition.h:129
Definition: ashigarusensormotordefinition.h:54
double TC_angle_MAX
Definition: ashigarusensormotordefinition.h:189
Definition: ashigarusensormotordefinition.h:74
double length
Definition: ashigarusensormotordefinition.h:146
double maxVel
Definition: ashigarusensormotordefinition.h:204
FootFrameConf foot
Definition: ashigarusensormotordefinition.h:230
double FT_angle_MIN
Definition: ashigarusensormotordefinition.h:196
Definition: ashigarusensormotordefinition.h:75
Definition: ashigarusensormotordefinition.h:121
Definition: ashigarusensormotordefinition.h:79
Definition: ashigarusensormotordefinition.h:104
Definition: ashigarusensormotordefinition.h:186
Definition: ashigarusensormotordefinition.h:30
Definition: ashigarusensormotordefinition.h:103
double power
Definition: ashigarusensormotordefinition.h:200
double TC_angle_MIN
Definition: ashigarusensormotordefinition.h:190
double length_CTJ_to_FTJ
Definition: ashigarusensormotordefinition.h:181
Definition: ashigarusensormotordefinition.h:89
HexagonBodyConf body
Definition: ashigarusensormotordefinition.h:229
Definition: ashigarusensormotordefinition.h:71
Definition: ashigarusensormotordefinition.h:124
DynaAX12Conf dyna
Definition: ashigarusensormotordefinition.h:228
double rate
Definition: ashigarusensormotordefinition.h:223
Definition: ashigarusensormotordefinition.h:91
double CT_angle_MIN
Definition: ashigarusensormotordefinition.h:193
double mass
Definition: ashigarusensormotordefinition.h:174
SpecialParam specialParam
Definition: ashigarusensormotordefinition.h:233
double connectLength
Definition: ashigarusensormotordefinition.h:225
Definition: ashigarusensormotordefinition.h:144
Definition: ashigarusensormotordefinition.h:157
Definition: ashigarusensormotordefinition.h:39
Definition: ashigarusensormotordefinition.h:211
Definition: ashigarusensormotordefinition.h:86
V x.
Definition: ashigarusensormotordefinition.h:69
double length_center_to_TCJ
Definition: ashigarusensormotordefinition.h:179
Definition: ashigarusensormotordefinition.h:102
Definition: ashigarusensormotordefinition.h:80
AshigaruSensorNames
Definition: ashigarusensormotordefinition.h:27
double FT_angle_MAX
Definition: ashigarusensormotordefinition.h:195
Definition: ashigarusensormotordefinition.h:120
double height
Definition: ashigarusensormotordefinition.h:170
Definition: ashigarusensormotordefinition.h:99
Definition: ashigarusensormotordefinition.h:57
double footRadius
Definition: ashigarusensormotordefinition.h:172
Definition: ashigarusensormotordefinition.h:119
Definition: ashigarusensormotordefinition.h:90
int conectedLegNum
Definition: ashigarusensormotordefinition.h:213
Definition: ashigarusensormotordefinition.h:116
Definition: ashigarusensormotordefinition.h:70
Definition: ashigarusensormotordefinition.h:36
double length_FTJ_to_Toe
Definition: ashigarusensormotordefinition.h:182
double mass
Definition: ashigarusensormotordefinition.h:162
double width
Definition: ashigarusensormotordefinition.h:169
Definition: ashigarusensormotordefinition.h:53
Definition: ashigarusensormotordefinition.h:115
Definition: ashigarusensormotordefinition.h:100
Definition: ashigarusensormotordefinition.h:35
Definition: ashigarusensormotordefinition.h:44
double length
Definition: ashigarusensormotordefinition.h:159
double height
Definition: ashigarusensormotordefinition.h:148
Definition: ashigarusensormotordefinition.h:43
ServoParam servoParam
Definition: ashigarusensormotordefinition.h:232
Definition: ashigarusensormotordefinition.h:81
double length
Definition: ashigarusensormotordefinition.h:168
Definition: ashigarusensormotordefinition.h:98
Definition: ashigarusensormotordefinition.h:114
double wholeMass
Definition: ashigarusensormotordefinition.h:226
Definition: ashigarusensormotordefinition.h:126
AshigaruMotorNames
Definition: ashigarusensormotordefinition.h:112
Definition: ashigarusensormotordefinition.h:40
double height
Definition: ashigarusensormotordefinition.h:160
Definition: ashigarusensormotordefinition.h:52
Definition: ashigarusensormotordefinition.h:94
Definition: ashigarusensormotordefinition.h:31
Definition: ashigarusensormotordefinition.h:48
double width
Definition: ashigarusensormotordefinition.h:147
Definition: ashigarusensormotordefinition.h:58
Definition: ashigarusensormotordefinition.h:96
>ASHIGARU Configuration struct
Definition: ashigarusensormotordefinition.h:222
double massRate
Definition: ashigarusensormotordefinition.h:224
Definition: ashigarusensormotordefinition.h:166
double servoPower
Definition: ashigarusensormotordefinition.h:217
Definition: ashigarusensormotordefinition.h:177
Definition: ashigarusensormotordefinition.h:107
double length_axis_to_center
Definition: ashigarusensormotordefinition.h:150
Definition: ashigarusensormotordefinition.h:50
Definition: ashigarusensormotordefinition.h:56
Definition: ashigarusensormotordefinition.h:84
Definition: ashigarusensormotordefinition.h:32
Definition: ashigarusensormotordefinition.h:95