-
Notifications
You must be signed in to change notification settings - Fork 0
/
simulink_robot_DataFile.m
215 lines (175 loc) · 11.1 KB
/
simulink_robot_DataFile.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
% Simscape(TM) Multibody(TM) version: 5.1
% This is a model data file derived from a Simscape Multibody Import XML file using the smimport function.
% The data in this file sets the block parameter values in an imported Simscape Multibody model.
% For more information on this file, see the smimport function help page in the Simscape Multibody documentation.
% You can modify numerical values, but avoid any other changes to this file.
% Do not add code to this file. Do not edit the physical units shown in comments.
%%%VariableName:smiData
%============= RigidTransform =============%
%Initialize the RigidTransform structure array by filling in null values.
smiData.RigidTransform(15).translation = [0.0 0.0 0.0];
smiData.RigidTransform(15).angle = 0.0;
smiData.RigidTransform(15).axis = [0.0 0.0 0.0];
smiData.RigidTransform(15).ID = '';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(1).translation = [5.7167579176343111 -1.0017865271976412 -102.6079713927215]; % mm
smiData.RigidTransform(1).angle = 1.5708151650310755; % rad
smiData.RigidTransform(1).axis = [-0.9999811619412583 0.0043402628152535531 0.0043402628152531559];
smiData.RigidTransform(1).ID = 'B[thigh_left:1:-:shank_top:1]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(2).translation = [-6.0685075215079038 -289.97582104449287 -78.821250756650187]; % mm
smiData.RigidTransform(2).angle = 1.8184563192104268; % rad
smiData.RigidTransform(2).axis = [0.44370586365137993 -0.44370586365138687 -0.77862071197904825];
smiData.RigidTransform(2).ID = 'F[thigh_left:1:-:shank_top:1]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(3).translation = [11.977622021473241 -1.00178652719765 -102.66232103173704]; % mm
smiData.RigidTransform(3).angle = 1.5708151650310755; % rad
smiData.RigidTransform(3).axis = [0.9999811619412583 0.0043402628152531359 -0.0043402628152535332];
smiData.RigidTransform(3).ID = 'B[thigh_left:2:-:shank_top:2]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(4).translation = [-6.0685075215079038 -289.97582104449287 -78.821250756650187]; % mm
smiData.RigidTransform(4).angle = 2.1056648816349566; % rad
smiData.RigidTransform(4).axis = [-2.689226178539691e-16 1 -4.3672913012841076e-15];
smiData.RigidTransform(4).ID = 'F[thigh_left:2:-:shank_top:2]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(5).translation = [43.400000000000105 1.7500000000000271 20.050000000000004]; % mm
smiData.RigidTransform(5).angle = 3.1415926535897931; % rad
smiData.RigidTransform(5).axis = [-0.70710678118654746 4.6493573457224261e-17 0.70710678118654757];
smiData.RigidTransform(5).ID = 'B[trunk:1:-:thigh_left:1]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(6).translation = [7.4999999999999867 4.0000000000000044 4.2500000000000027]; % mm
smiData.RigidTransform(6).angle = 1.5707963267948968; % rad
smiData.RigidTransform(6).axis = [1 -1.5265566588595905e-16 1.5265566588595905e-16];
smiData.RigidTransform(6).ID = 'F[trunk:1:-:thigh_left:1]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(7).translation = [12.599999999999962 10.100000000000076 20.050000000000022]; % mm
smiData.RigidTransform(7).angle = 3.1415926535897913; % rad
smiData.RigidTransform(7).axis = [-0.70710678118654746 -1.0096056490660463e-15 0.70710678118654757];
smiData.RigidTransform(7).ID = 'B[trunk:1:-:thigh_left:2]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(8).translation = [7.4999999999999867 4.0000000000000044 12.600000000000001]; % mm
smiData.RigidTransform(8).angle = 3.1415926535897931; % rad
smiData.RigidTransform(8).axis = [-9.8130778667735526e-17 0.70710678118654746 0.70710678118654757];
smiData.RigidTransform(8).ID = 'F[trunk:1:-:thigh_left:2]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(9).translation = [28.000000000000011 -2.1000000000000796 58.600000000000222]; % mm
smiData.RigidTransform(9).angle = 2.0943951023931948; % rad
smiData.RigidTransform(9).axis = [-0.57735026918962562 -0.57735026918962595 -0.57735026918962573];
smiData.RigidTransform(9).ID = 'B[trunk:1:-:]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(10).translation = [-47.600000000000179 -721.98072579380846 -2.4868995751603507e-14]; % mm
smiData.RigidTransform(10).angle = 3.1415926535897931; % rad
smiData.RigidTransform(10).axis = [1.861206477909857e-16 -0.70710678118654746 -0.70710678118654768];
smiData.RigidTransform(10).ID = 'F[trunk:1:-:]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(11).translation = [-12.090856987366081 -263.97582104449259 -75.253155058511226]; % mm
smiData.RigidTransform(11).angle = 2.0943951023932006; % rad
smiData.RigidTransform(11).axis = [-0.57735026918962751 -0.57735026918962618 -0.57735026918962362];
smiData.RigidTransform(11).ID = 'B[shank_top:1:-:shank_bottom:2]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(12).translation = [-12.090856987366051 -269.96480936254795 -75.253155058511283]; % mm
smiData.RigidTransform(12).angle = 2.094395102393201; % rad
smiData.RigidTransform(12).axis = [-0.57735026918962762 -0.57735026918962629 -0.5773502691896234];
smiData.RigidTransform(12).ID = 'F[shank_top:1:-:shank_bottom:2]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(13).translation = [-12.090856987366081 -263.97582104449225 -75.253155058511183]; % mm
smiData.RigidTransform(13).angle = 2.0943951023932006; % rad
smiData.RigidTransform(13).axis = [-0.57735026918962751 -0.57735026918962618 -0.57735026918962362];
smiData.RigidTransform(13).ID = 'B[shank_top:2:-:shank_bottom:1]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(14).translation = [-12.090856987366237 -269.97582104449367 -75.253155058511226]; % mm
smiData.RigidTransform(14).angle = 2.0943951023932006; % rad
smiData.RigidTransform(14).axis = [-0.57735026918962751 -0.57735026918962629 -0.57735026918962351];
smiData.RigidTransform(14).ID = 'F[shank_top:2:-:shank_bottom:1]';
%Translation Method - Cartesian
%Rotation Method - Arbitrary Axis
smiData.RigidTransform(15).translation = [4.1341318833375285 -1120.9659574875129 -57.811352876122186]; % mm
smiData.RigidTransform(15).angle = 3.1415925190276393; % rad
smiData.RigidTransform(15).axis = [0.99999841015257152 -3.7739575084730615e-05 0.0017827697702839851];
smiData.RigidTransform(15).ID = 'RootGround[shank_bottom:2]';
%============= Solid =============%
%Center of Mass (CoM) %Moments of Inertia (MoI) %Product of Inertia (PoI)
%Initialize the Solid structure array by filling in null values.
smiData.Solid(4).mass = 0.0;
smiData.Solid(4).CoM = [0.0 0.0 0.0];
smiData.Solid(4).MoI = [0.0 0.0 0.0];
smiData.Solid(4).PoI = [0.0 0.0 0.0];
smiData.Solid(4).color = [0.0 0.0 0.0];
smiData.Solid(4).opacity = 0.0;
smiData.Solid(4).ID = '';
%Inertia Type - Custom
%Visual Properties - Simple
smiData.Solid(1).mass = 0.28854663359002958; % kg
smiData.Solid(1).CoM = [27.99998190247646 15.823006594884184 29.339328936355841]; % mm
smiData.Solid(1).MoI = [132.23046871533913 504.51965300955226 473.14044194516731]; % kg*mm^2
smiData.Solid(1).PoI = [4.3942608655740294 -0.00017162940671369142 -8.9008495911002691e-05]; % kg*mm^2
smiData.Solid(1).color = [0.99607843137254903 0.99607843137254903 1];
smiData.Solid(1).opacity = 1;
smiData.Solid(1).ID = 'trunk_{92333838-45E3-D2E5-8B32-E1B960F81070}';
%Inertia Type - Custom
%Visual Properties - Simple
smiData.Solid(2).mass = 0.078010372960922336; % kg
smiData.Solid(2).CoM = [7.3046855872749239 20.434497756314933 -64.5792683770878]; % mm
smiData.Solid(2).MoI = [136.30872793203815 120.28855797692231 21.273034143348248]; % kg*mm^2
smiData.Solid(2).PoI = [-4.8493966145421386 -0.59029746067315048 -0.13166970688448318]; % kg*mm^2
smiData.Solid(2).color = [0.99607843137254903 0.99607843137254903 1];
smiData.Solid(2).opacity = 1;
smiData.Solid(2).ID = 'thigh_left_{F24F7E4B-46D1-7DEA-1356-7E9C520BA561}';
%Inertia Type - Custom
%Visual Properties - Simple
smiData.Solid(3).mass = 0.016892378008365638; % kg
smiData.Solid(3).CoM = [-15.050308797965886 -260.71816283884243 -73.499751784006719]; % mm
smiData.Solid(3).MoI = [11.04973056041981 3.6174064216020039 12.46113686335193]; % kg*mm^2
smiData.Solid(3).PoI = [0.42571594192295381 1.2885351363493158 -0.71853739149735252]; % kg*mm^2
smiData.Solid(3).color = [0.99607843137254903 0.99607843137254903 1];
smiData.Solid(3).opacity = 1;
smiData.Solid(3).ID = 'shank_top_{B072BFA7-439F-5E28-6AD6-BE8952C0F3CA}';
%Inertia Type - Custom
%Visual Properties - Simple
smiData.Solid(4).mass = 0.0210114827243802; % kg
smiData.Solid(4).CoM = [-12.090978274169613 -172.97354614572606 -75.253113025390874]; % mm
smiData.Solid(4).MoI = [12.282172390531922 0.66855946311768555 12.282153205184931]; % kg*mm^2
smiData.Solid(4).PoI = [-2.9265367402331322e-05 -0.00012604318639262147 8.3142673889824434e-05]; % kg*mm^2
smiData.Solid(4).color = [0.99607843137254903 0.99607843137254903 1];
smiData.Solid(4).opacity = 1;
smiData.Solid(4).ID = 'shank_bottom_{0204FC20-4A0A-6429-25BA-4CBD87BD7669}';
%============= Joint =============%
%X Revolute Primitive (Rx) %Y Revolute Primitive (Ry) %Z Revolute Primitive (Rz)
%X Prismatic Primitive (Px) %Y Prismatic Primitive (Py) %Z Prismatic Primitive (Pz) %Spherical Primitive (S)
%Constant Velocity Primitive (CV) %Lead Screw Primitive (LS)
%Position Target (Pos)
%Initialize the PrismaticJoint structure array by filling in null values.
smiData.PrismaticJoint(1).Pz.Pos = 0.0;
smiData.PrismaticJoint(1).ID = '';
smiData.PrismaticJoint(1).Pz.Pos = 0; % m
smiData.PrismaticJoint(1).ID = '[trunk:1:-:]';
%Initialize the RevoluteJoint structure array by filling in null values.
smiData.RevoluteJoint(6).Rz.Pos = 0.0;
smiData.RevoluteJoint(6).ID = '';
%This joint has been chosen as a cut joint. Simscape Multibody treats cut joints as algebraic constraints to solve closed kinematic loops. The imported model does not use the state target data for this joint.
smiData.RevoluteJoint(1).Rz.Pos = -89.999918622697976; % deg
smiData.RevoluteJoint(1).ID = '[thigh_left:1:-:shank_top:1]';
smiData.RevoluteJoint(2).Rz.Pos = 167.9826987335442; % deg
smiData.RevoluteJoint(2).ID = '[thigh_left:2:-:shank_top:2]';
smiData.RevoluteJoint(3).Rz.Pos = -179.4982302502645; % deg
smiData.RevoluteJoint(3).ID = '[trunk:1:-:thigh_left:1]';
smiData.RevoluteJoint(4).Rz.Pos = -123.60854351167087; % deg
smiData.RevoluteJoint(4).ID = '[trunk:1:-:thigh_left:2]';
smiData.RevoluteJoint(5).Rz.Pos = 120.85000126231914; % deg
smiData.RevoluteJoint(5).ID = '[shank_top:1:-:shank_bottom:2]';
smiData.RevoluteJoint(6).Rz.Pos = -72.815238195086664; % deg
smiData.RevoluteJoint(6).ID = '[shank_top:2:-:shank_bottom:1]';