lebai-motion-control  3.1.6
lebai motion control C interface
create_robot_model.cc
Go to the documentation of this file.
1 #include "create_robot_model.hh"
2 #include <math.h>
3 #include <string>
4 #include <string.h>
5 
12 {
13 
15  config.segments_size = 0;
16  lmc_link_config_t seg1;
17  seg1.dh.a = 0;
18  seg1.dh.alpha = 0;
19  seg1.dh.d = 0.20783;
20  seg1.dh.theta = 0;
21  seg1.dyn.ixx = 0.0046788615;
22  seg1.dyn.iyy = 0.0038871362;
23  seg1.dyn.izz = 0.0026814944;
24  seg1.dyn.ixy = 0;
25  seg1.dyn.ixz = 0;
26  seg1.dyn.iyz = 0.0012331685;
27  seg1.dyn.mass = 1.62959;
28  seg1.dyn.com.x = 0;
29  seg1.dyn.com.y = -0.0211;
30  seg1.dyn.com.z = -0.0373;
31 
32  config.segments[config.segments_size++] = seg1;
33 
34  lmc_link_config_t seg2;
35  seg2.dh.a = 0;
36  seg2.dh.alpha = 1.5708;
37  seg2.dh.d = 0;
38  seg2.dh.theta = 0;
39  seg2.dyn.ixx = 0.0026298021;
40  seg2.dyn.iyy = 0.035805861;
41  seg2.dyn.izz = 0.035456253;
42  seg2.dyn.ixy = 0.00001584774;
43  seg2.dyn.ixz = 0.0001558092;
44  seg2.dyn.iyz = 0.0012331685;
45  seg2.dyn.mass = 2.08773;
46  seg2.dyn.com.x = -0.1357;
47  seg2.dyn.com.y = 0;
48  seg2.dyn.com.z = 0.1183;
49  config.segments[config.segments_size++] = seg2;
50 
51  lmc_link_config_t seg3;
52  seg3.dh.a = -0.28;
53  seg3.dh.alpha = 0;
54  seg3.dh.d = 0;
55  seg3.dh.theta = 0;
56  seg3.dyn.ixx = 0.0023124466;
57  seg3.dyn.iyy = 0.021781944;
58  seg3.dyn.izz = 0.021572133;
59  seg3.dyn.ixy = 0;
60  seg3.dyn.ixz = -0.0028543618;
61  seg3.dyn.iyz = 0;
62  seg3.dyn.mass = 1.77865;
63  seg3.dyn.com.x = -0.0875;
64  seg3.dyn.com.y = 0;
65  seg3.dyn.com.z = 0.0302;
66 
67  config.segments[config.segments_size++] = seg3;
68 
69  lmc_link_config_t seg4;
70  seg4.dh.a = -0.26;
71  seg4.dh.alpha = 0;
72  seg4.dh.d = 0.123697;
73  seg4.dh.theta = 0;
74  seg4.dyn.ixx = 0.0016440429;
75  seg4.dyn.iyy = 0.0016191422;
76  seg4.dyn.izz = 0.00063341615;
77  seg4.dyn.ixy = 0;
78  seg4.dyn.ixz = 0;
79  seg4.dyn.iyz = -0.000299607;
80  seg4.dyn.mass = 0.88106;
81  seg4.dyn.com.x = 0;
82  seg4.dyn.com.y = 0.0094;
83  seg4.dyn.com.z = -0.04384;
84  config.segments[config.segments_size++] = seg4;
85 
86  lmc_link_config_t seg5;
87  seg5.dh.a = 0;
88  seg5.dh.alpha = 1.5708;
89  seg5.dh.d = 0.09843;
90  seg5.dh.theta = 0;
91  seg5.dyn.ixx = 0.0016440429;
92  seg5.dyn.iyy = 0.0016191422;
93  seg5.dyn.izz = 0.00063341615;
94  seg5.dyn.ixy = 0;
95  seg5.dyn.ixz = 0;
96  seg5.dyn.iyz = -0.000299607;
97  seg5.dyn.mass = 0.88106;
98  seg5.dyn.com.x = 0;
99  seg5.dyn.com.y = 0.0094;
100  seg5.dyn.com.z = -0.04384;
101  config.segments[config.segments_size++] = seg5;
102 
103  lmc_link_config_t seg6;
104  seg6.dh.a = 0;
105  seg6.dh.alpha = -1.5708;
106  seg6.dh.d = 0.08343;
107  seg6.dh.theta = 0;
108  seg6.dyn.ixx = 0.0005491116;
109  seg6.dyn.iyy = 0.0005490523;
110  seg6.dyn.izz = 0.0004332903;
111  seg6.dyn.ixy = 0;
112  seg6.dyn.ixz = 0;
113  seg6.dyn.iyz = 0;
114  seg6.dyn.mass = 0.59279;
115  seg6.dyn.com.x = 0;
116  seg6.dyn.com.y = 0.0094;
117  seg6.dyn.com.z = -0.048134;
118  config.segments[config.segments_size++] = seg6;
119  return config;
120 }
121 
124 
126  config.segments_size = 0;
127  lmc_link_config_t seg1;
128  seg1.dh.a = 0;
129  seg1.dh.alpha = 0;
130  seg1.dh.d = 0.21583;
131  seg1.dh.theta = 0;
132  seg1.dyn.ixx = 0.0046788615;
133  seg1.dyn.iyy = 0.0038871362;
134  seg1.dyn.izz = 0.0026814944;
135  seg1.dyn.ixy = 0;
136  seg1.dyn.ixz = 0;
137  seg1.dyn.iyz = 0.0012331685;
138  seg1.dyn.mass = 1.62959;
139  seg1.dyn.com.x = 0;
140  seg1.dyn.com.y = -0.0211;
141  seg1.dyn.com.z = -0.0373;
142 
143  config.segments[config.segments_size++] = seg1;
144 
145  lmc_link_config_t seg2;
146  seg2.dh.a = 0;
147  seg2.dh.alpha = M_PI / 2.0;
148  seg2.dh.d = 0;
149  seg2.dh.theta = 0;
150  seg2.dyn.ixx = 0.0026298021;
151  seg2.dyn.iyy = 0.035805861;
152  seg2.dyn.izz = 0.035456253;
153  seg2.dyn.ixy = 0.00001584774;
154  seg2.dyn.ixz = 0.0001558092;
155  seg2.dyn.iyz = 0.0012331685;
156  seg2.dyn.mass = 2.08773;
157  seg2.dyn.com.x = -0.1357;
158  seg2.dyn.com.y = 0;
159  seg2.dyn.com.z = 0.1183;
160  config.segments[config.segments_size++] = seg2;
161 
162  lmc_link_config_t seg3;
163  seg3.dh.a = -0.28;
164  seg3.dh.alpha = 0;
165  seg3.dh.d = 0;
166  seg3.dh.theta = 0;
167  seg3.dyn.ixx = 0.0023124466;
168  seg3.dyn.iyy = 0.021781944;
169  seg3.dyn.izz = 0.021572133;
170  seg3.dyn.ixy = 0;
171  seg3.dyn.ixz = -0.0028543618;
172  seg3.dyn.iyz = 0;
173  seg3.dyn.mass = 1.77865;
174  seg3.dyn.com.x = -0.0875;
175  seg3.dyn.com.y = 0;
176  seg3.dyn.com.z = 0.0302;
177 
178  config.segments[config.segments_size++] = seg3;
179 
180  lmc_link_config_t seg4;
181  seg4.dh.a = -0.26;
182  seg4.dh.alpha = 0;
183  seg4.dh.d = 0.12063;
184  seg4.dh.theta = 0;
185  seg4.dyn.ixx = 0.0016440429;
186  seg4.dyn.iyy = 0.0016191422;
187  seg4.dyn.izz = 0.00063341615;
188  seg4.dyn.ixy = 0;
189  seg4.dyn.ixz = 0;
190  seg4.dyn.iyz = -0.000299607;
191  seg4.dyn.mass = 0.88106;
192  seg4.dyn.com.x = 0;
193  seg4.dyn.com.y = 0.0094;
194  seg4.dyn.com.z = -0.04384;
195  config.segments[config.segments_size++] = seg4;
196 
197  lmc_link_config_t seg5;
198  seg5.dh.a = 0;
199  seg5.dh.alpha = M_PI / 2.0;
200  seg5.dh.d = 0.09833;
201  seg5.dh.theta = 0;
202  seg5.dyn.ixx = 0.0016440429;
203  seg5.dyn.iyy = 0.0016191422;
204  seg5.dyn.izz = 0.00063341615;
205  seg5.dyn.ixy = 0;
206  seg5.dyn.ixz = 0;
207  seg5.dyn.iyz = -0.000299607;
208  seg5.dyn.mass = 0.88106;
209  seg5.dyn.com.x = 0;
210  seg5.dyn.com.y = 0.0094;
211  seg5.dyn.com.z = -0.04384;
212  config.segments[config.segments_size++] = seg5;
213 
214  lmc_link_config_t seg6;
215  seg6.dh.a = 0;
216  seg6.dh.alpha = -M_PI / 2.0;
217  seg6.dh.d = 0.08343;
218  seg6.dh.theta = 0;
219  seg6.dyn.ixx = 0.0005491116;
220  seg6.dyn.iyy = 0.0005490523;
221  seg6.dyn.izz = 0.0004332903;
222  seg6.dyn.ixy = 0;
223  seg6.dyn.ixz = 0;
224  seg6.dyn.iyz = 0;
225  seg6.dyn.mass = 0.59279;
226  seg6.dyn.com.x = 0;
227  seg6.dyn.com.y = 0.0094;
228  seg6.dyn.com.z = -0.048134;
229  config.segments[config.segments_size++] = seg6;
230  strcpy(config.segment_stl_files[0], std::string("urdf/base_link.stl").c_str());
231  strcpy(config.segment_stl_files[1], std::string("urdf/link1.stl").c_str());
232  strcpy(config.segment_stl_files[2], std::string("urdf/link2.stl").c_str());
233  strcpy(config.segment_stl_files[3], std::string("urdf/link3.stl").c_str());
234  strcpy(config.segment_stl_files[4], std::string("urdf/link4.stl").c_str());
235  strcpy(config.segment_stl_files[5], std::string("urdf/link5.stl").c_str());
236  strcpy(config.segment_stl_files[6], std::string("urdf/link6.stl").c_str());
237  strcpy(config.segment_stl_files[7], std::string("").c_str());
238 
239 
240  return config;
241 }
char segment_stl_files[LMC_MAX_LINK_NUM][LMC_MAX_STRING_LEN]
lmc_robot_model_config_t createMPLebaiRobotModelConfig()
Create a robot model config instance for motion planner example.
lmc_link_config_t segments[LMC_MAX_LINK_NUM]
Overall parameters for a robot model.
create robot model function.
lmc_robot_model_config_t createLM3Config()
Create a robot model config instance.