Skip to content

Commit 2ee8074

Browse files
author
sfj
committed
various fixes
1 parent cf3b3e6 commit 2ee8074

23 files changed

Lines changed: 235 additions & 227 deletions

File tree

A_Getting_started/lesson2.md

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -58,32 +58,31 @@ and "Left" sub-folders are as follows.
5858

5959
```AnyScriptDoc
6060
...
61-
AnyFolder Right = {
62-
63-
//Arm
64-
AnyVar SternoClavicularProtraction=-23; //This value is not used for initial position
65-
AnyVar SternoClavicularElevation=11.5; //This value is not used for initial position
66-
AnyVar SternoClavicularAxialRotation=-20; //This value is not used for initial position
67-
68-
AnyVar GlenohumeralFlexion =-0;
69-
AnyVar GlenohumeralAbduction = 10;
70-
AnyVar GlenohumeralExternalRotation = 0;
71-
72-
AnyVar ElbowFlexion = 0.01;
73-
AnyVar ElbowPronation = -20.0;
74-
75-
AnyVar WristFlexion =0;
76-
AnyVar WristAbduction =0;
77-
61+
Right = {
62+
//Arm
63+
SternoClavicularProtraction=-23; //This value is not used for initial position
64+
SternoClavicularElevation=11.5; //This value is not used for initial position
65+
SternoClavicularAxialRotation=-20; ///< Only used when the clavicular axial rotation rhythm is diabled
66+
67+
GlenohumeralFlexion =-0;
68+
GlenohumeralAbduction = 4;
69+
GlenohumeralExternalRotation = 2;
70+
71+
ElbowFlexion = 0.01;
72+
ElbowPronation = -20.0;
73+
74+
WristFlexion =0;
75+
WristAbduction =0;
76+
7877
//Leg
79-
AnyVar HipFlexion = 0.0;
80-
AnyVar HipAbduction = 5.0;
81-
AnyVar HipExternalRotation = 0.0;
82-
83-
AnyVar KneeFlexion = 0.0;
84-
85-
AnyVar AnklePlantarFlexion =0.0;
86-
AnyVar SubTalarEversion =0.0;
78+
HipFlexion = 0.0;
79+
HipAbduction = 5.0;
80+
HipExternalRotation = 0.0;
81+
82+
KneeFlexion = 4.0;
83+
84+
AnklePlantarFlexion =0.0;
85+
SubTalarEversion =0.0;
8786
8887
...
8988
```

A_Getting_started/lesson3.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ Mannequin = {
8383
...
8484
8585
§PelvisThoraxExtension=-60; §
86-
8786
PelvisThoraxLateralBending=0;
8887
PelvisThoraxRotation=0;
8988

A_Getting_started_modeling/lesson1.md

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,44 +16,51 @@ If you press the OK button, it will open an editor window of
1616
“MyPedal.main.any” file that includes the following lines:
1717

1818
```AnyScriptDoc
19-
#include "../libdef.any"
19+
#include "libdef.any"
2020
21-
Main = {
22-
//If you want to use your own draw settings, please outcomment the next line
23-
//#path BM_DRAWSETTINGS_FILE "Model\DrawSettings.any"
21+
Main =
22+
{
23+
24+
// Body Model configuration:
25+
#include "Model/BodyModelConfiguration.any"
2426
2527
// Using your own Mannequin.any file in the Model folder of your model
26-
#path BM_MANNEQUIN_FILE "Model\Mannequin.any"
28+
#include "Model\Mannequin.any"
2729
2830
// Include default human model
2931
#include "<ANYBODY_PATH_BODY>\HumanModel.any"
3032
31-
AnyFolder Model = {
33+
AnyFolder Model =
34+
{
3235
// A link to the human model
33-
AnyFolder &BodyModel=.HumanModel.BodyModelWithDefaultDrivers;
34-
36+
AnyFolder &BodyModel = .HumanModel.BodyModel;
37+
AnyFolder &DefaultMannequinDrivers = .HumanModel.DefaultMannequinDrivers;
38+
3539
// Environment files are used to include objects surrounding human
36-
#include "Model\Environment.any"
37-
38-
AnyFolder ModelEnvironmentConnection = {
40+
#include "Model\Environment.any"
41+
42+
AnyFolder ModelEnvironmentConnection =
43+
{
3944
//'JointsAndDrivers.any' file can include all kinematic constraints such as joints and drivers
4045
#include "Model\JointsAndDrivers.any"
4146
// Additional reactions which are required to run the inverse dynamics analysis
4247
#include "Model\Reactions.any"
4348
};
4449
};
45-
46-
AnyBodyStudy Study = {
47-
AnyFolder &Model = .Model;
50+
51+
AnyBodyStudy Study =
52+
{
53+
AnyFolder &Model = .Model;
54+
4855
Gravity={0.0, -9.81, 0.0};
4956
nStep = 11;
50-
51-
// these settings are needed for adding drivers without removing the default set
57+
// Overdeterminate solver is needed while using the
58+
// soft default mannequin drivers.
5259
Kinematics.SolverType = KinSolOverDeterminate;
5360
InitialConditions.SolverType = Kinematics.SolverType ;
5461
};
5562
56-
#include "Model\RunAppSequence.any"
63+
#include "Model\RunAppSequence.any"
5764
}; //Main
5865
```
5966

A_Getting_started_modeling/lesson2.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ the inclusion of the “HumanModel.any” file.
3434

3535
```AnyScriptDoc
3636
Main = {
37-
//#path BM_DRAWSETTINGS_FILE "Model\DrawSettings.any"
3837
39-
#path BM_MANNEQUIN_FILE "Model\Mannequin.any"
38+
// Body Model configuration:
39+
#include "Model/BodyModelConfiguration.any"
40+
// Using your own Mannequin.any file in the Model folder of your model
41+
#include "Model\Mannequin.any"
4042
4143
//-->BM statements
4244
// Excluding the muscles in the trunk segments

A_Getting_started_modeling/lesson3.md

Lines changed: 52 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,12 @@ Then you can see the following structure inside:
9191
```AnyScriptDoc
9292
AnyFolder Joints =
9393
{
94+
9495
};
9596
9697
AnyFolder Drivers =
9798
{
99+
98100
};
99101
```
100102

@@ -142,18 +144,19 @@ by double-clicking the following line, and make the changes show in red:
142144

143145
```AnyScriptDoc
144146
...
145-
#path BM_MANNEQUIN_FILE "Model\Mannequin.any"
147+
#include "Model\Mannequin.any"
146148
...
147149
```
148150

149151
```AnyScriptDoc
150-
AnyFolder Mannequin = {
152+
HumanModel.Mannequin = {
153+
154+
Posture = {
155+
//This controls the position of the pelvi wrt. to the global reference frame
156+
PelvisPosX=§-0.7§;
157+
PelvisPosY=§0.5§;
158+
PelvisPosZ=0;
151159
152-
AnyFolder Posture = {
153-
//This controls the position of the pelvis wrt. to the global reference frame
154-
AnyVar PelvisPosX = §-0.7§;
155-
AnyVar PelvisPosY = §0.5§;
156-
AnyVar PelvisPosZ = 0;
157160
...
158161
```
159162

@@ -163,31 +166,32 @@ in the leg so that the foot is closer to the pedal. This can be done further dow
163166
in the Mannequin file:
164167

165168
```AnyScriptDoc
166-
AnyFolder Right = {
167-
//Arm
168-
AnyVar SternoClavicularProtraction=-23; //This value is not used for initial position
169-
AnyVar SternoClavicularElevation=11.5; //This value is not used for initial position
170-
AnyVar SternoClavicularAxialRotation=-20; //This value is not used for initial position
171-
172-
AnyVar GlenohumeralFlexion =-0;
173-
AnyVar GlenohumeralAbduction = 10;
174-
AnyVar GlenohumeralExternalRotation = 0;
175-
176-
AnyVar ElbowFlexion = 0.01;
177-
AnyVar ElbowPronation = -20.0;
178-
179-
AnyVar WristFlexion =0;
180-
AnyVar WristAbduction =0;
181-
169+
Right = {
170+
//Arm
171+
SternoClavicularProtraction=-23; //This value is not used for initial position
172+
SternoClavicularElevation=11.5; //This value is not used for initial position
173+
SternoClavicularAxialRotation=-20; ///< Only used when the clavicular axial rotation rhythm is diabled
174+
175+
GlenohumeralFlexion =-0;
176+
GlenohumeralAbduction = 10;
177+
GlenohumeralExternalRotation = 0;
178+
179+
ElbowFlexion = 0.01;
180+
ElbowPronation = -20.0;
181+
182+
WristFlexion =0;
183+
WristAbduction =0;
184+
182185
//Leg
183-
AnyVar HipFlexion = §110.0§;
184-
AnyVar HipAbduction = 5.0;
185-
AnyVar HipExternalRotation = 0.0;
186-
187-
AnyVar KneeFlexion = §100.0§;
186+
HipFlexion = §110.0§;
187+
HipAbduction = 5.0;
188+
HipExternalRotation = 0.0;
189+
190+
KneeFlexion = §100.0§;
191+
192+
AnklePlantarFlexion =0.0;
193+
SubTalarEversion =0.0;
188194
189-
AnyVar AnklePlantarFlexion =0.0;
190-
AnyVar SubTalarEversion =0.0;
191195
...
192196
```
193197

@@ -227,7 +231,7 @@ AnyFolder Drivers =
227231
};
228232
```
229233

230-
Insert a"PelvisThoraxDriver" into the Drivers folder, created using the `AnyKinEqSimpleDriver` class.
234+
Insert a "PelvisThoraxDriver" into the Drivers folder, created using the `AnyKinEqSimpleDriver` class.
231235
You already know how to create model objects from scratch by using the
232236
the "Class Inserter" ({ref}`described here <class-inserter>`). More details on properties
233237
such as DriverPos, DriverVel etc. can be ({ref}`found here <anykineqsimpledriver>`) :
@@ -237,9 +241,9 @@ AnyFolder Drivers =
237241
{
238242
§AnyKinEqSimpleDriver PelvisThoraxDriver =
239243
{
240-
AnyKinMeasure& ref0 = ...HumanModel.BodyModel.Interface.Trunk.PelvisThoraxExtension;
241-
AnyKinMeasure& ref1 = ...HumanModel.BodyModel.Interface.Trunk.PelvisThoraxLateralBending;
242-
AnyKinMeasure& ref2 = ...HumanModel.BodyModel.Interface.Trunk.PelvisThoraxRotation;
244+
AnyKinMeasure& ref0 = ....HumanModel.BodyModel.Interface.Trunk.PelvisThoraxExtension;
245+
AnyKinMeasure& ref1 = ....HumanModel.BodyModel.Interface.Trunk.PelvisThoraxLateralBending;
246+
AnyKinMeasure& ref2 = ....HumanModel.BodyModel.Interface.Trunk.PelvisThoraxRotation;
243247
244248
DriverPos = pi/180*{0,0,0};
245249
DriverVel = pi/180*{0,0,0};
@@ -257,9 +261,9 @@ AnyFolder Drivers =
257261
{
258262
AnyKinEqSimpleDriver PelvisThoraxDriver =
259263
{
260-
AnyKinMeasure& ref0 = ...HumanModel.BodyModel.Interface.Trunk.PelvisThoraxExtension;
261-
AnyKinMeasure& ref1 = ...HumanModel.BodyModel.Interface.Trunk.PelvisThoraxLateralBending;
262-
AnyKinMeasure& ref2 = ...HumanModel.BodyModel.Interface.Trunk.PelvisThoraxRotation;
264+
AnyKinMeasure& ref0 = ....HumanModel.BodyModel.Interface.Trunk.PelvisThoraxExtension;
265+
AnyKinMeasure& ref1 = ....HumanModel.BodyModel.Interface.Trunk.PelvisThoraxLateralBending;
266+
AnyKinMeasure& ref2 = ....HumanModel.BodyModel.Interface.Trunk.PelvisThoraxRotation;
263267
264268
DriverPos = pi/180*{0,0,0};
265269
DriverVel = pi/180*{0,0,0};
@@ -268,9 +272,9 @@ AnyFolder Drivers =
268272
269273
§AnyKinEqSimpleDriver SkullThoraxDriver =
270274
{
271-
AnyKinMeasure& ref0 = ...HumanModel.BodyModel.Interface.Trunk.SkullThoraxFlexion;
272-
AnyKinMeasure& ref1 = ...HumanModel.BodyModel.Interface.Trunk.SkullThoraxLateralBending;
273-
AnyKinMeasure& ref2 = ...HumanModel.BodyModel.Interface.Trunk.SkullThoraxRotation;
275+
AnyKinMeasure& ref0 = ....HumanModel.BodyModel.Interface.Trunk.SkullThoraxFlexion;
276+
AnyKinMeasure& ref1 = ....HumanModel.BodyModel.Interface.Trunk.SkullThoraxLateralBending;
277+
AnyKinMeasure& ref2 = ....HumanModel.BodyModel.Interface.Trunk.SkullThoraxRotation;
274278
275279
DriverPos = pi/180*{0,0,0};
276280
DriverVel = pi/180*{0,0,0};
@@ -312,18 +316,18 @@ AnyFolder Drivers =
312316
...
313317
AnyKinEqSimpleDriver SkullThoraxDriver =
314318
{
315-
AnyKinMeasure& ref0 = ...HumanModel.BodyModel.Interface.Trunk.SkullThoraxFlexion;
316-
AnyKinMeasure& ref1 = ...HumanModel.BodyModel.Interface.Trunk.SkullThoraxLateralBending;
317-
AnyKinMeasure& ref2 = ...HumanModel.BodyModel.Interface.Trunk.SkullThoraxRotation;
319+
AnyKinMeasure& ref0 = ....HumanModel.BodyModel.Interface.Trunk.SkullThoraxFlexion;
320+
AnyKinMeasure& ref1 = ....HumanModel.BodyModel.Interface.Trunk.SkullThoraxLateralBending;
321+
AnyKinMeasure& ref2 = ....HumanModel.BodyModel.Interface.Trunk.SkullThoraxRotation;
318322
319323
DriverPos = pi/180*{0,0,0};
320324
DriverVel = pi/180*{0,0,0};
321325
};
322326
323327
§AnyKinEqSimpleDriver AnkleDriver =
324328
{
325-
AnyKinMeasure& ref0 = ...HumanModel.BodyModel.Interface.Right.AnklePlantarFlexion;
326-
AnyKinMeasure& ref1 = ...HumanModel.BodyModel.Interface.Right.SubTalarEversion;
329+
AnyKinMeasure& ref0 = ....HumanModel.BodyModel.Interface.Right.AnklePlantarFlexion;
330+
AnyKinMeasure& ref1 = ....HumanModel.BodyModel.Interface.Right.SubTalarEversion;
327331
328332
DriverPos = pi/180*{0, 0};
329333
DriverVel = pi/180*{0, 0};
@@ -348,8 +352,8 @@ AnyFolder Drivers =
348352
...
349353
AnyKinEqSimpleDriver AnkleDriver =
350354
{
351-
AnyKinMeasure& ref0 = ...HumanModel.BodyModel.Interface.Right.AnklePlantarFlexion;
352-
AnyKinMeasure& ref1 = ...HumanModel.BodyModel.Interface.Right.SubTalarEversion;
355+
AnyKinMeasure& ref0 = ....HumanModel.BodyModel.Interface.Right.AnklePlantarFlexion;
356+
AnyKinMeasure& ref1 = ....HumanModel.BodyModel.Interface.Right.SubTalarEversion;
353357
354358
DriverPos = pi/180*{0, 0};
355359
DriverVel = pi/180*{0, 0};
@@ -437,7 +441,7 @@ Then you see the Object Description dialog will open.
437441
![ObjectDescription DOFs](_static/lesson3/image5.png)
438442

439443
**This indicates that the total number of DOFs(degrees of freedom) in your
440-
model is 132. It makes sense because there are 21 segments in your model
444+
model is 132. It makes sense because there are 22 segments in your model
441445
and each segment has 6 DOFs.**
442446

443447
If you scroll down this dialog a little bit more, then you can see the

A_Getting_started_modeling/lesson4.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,19 +118,20 @@ on the pelvis is to provide the necessary supports on the human pelvis
118118
to run the inverse dynamics if users may not define enough support
119119
forces on either both feet or pelvis.
120120

121-
Since your model has a joined named "SeatPelvis" between ground and pelvis (which will apply the default reaction forces),
121+
Since your model has a joint named "SeatPelvis" between ground and pelvis (which will apply the default reaction forces),
122122
you can comment out “Model\\Reactions.any” in the main file:
123123

124124
```AnyScriptDoc
125125
...
126126
AnyFolder Model = {
127-
AnyFolder &BodyModel=.HumanModel.BodyModelWithDefaultDrivers;
127+
AnyFolder &BodyModel = .HumanModel.BodyModel;
128+
AnyFolder &DefaultMannequinDrivers = .HumanModel.DefaultMannequinDrivers;
128129
129130
#include "Model\Environment.any"
130131
131132
AnyFolder ModelEnvironmentConnection = {
132-
#include "Model\JointsAndDrivers.any"
133-
§//#include "Model\Reactions.any"§
133+
#include "Model\JointsAndDrivers.any"
134+
§//#include "Model\Reactions.any"§
134135
};
135136
};
136137
...
-5.77 KB
Binary file not shown.
115 KB
Loading
-16.5 KB
Binary file not shown.
389 KB
Loading

0 commit comments

Comments
 (0)