Simplicity 1692686 Spécifications

Naviguer en ligne ou télécharger Spécifications pour Tondeuses à gazon Simplicity 1692686. Simplicity 1692686 Specifications [en] Manuel d'utilisatio

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 256
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs

Résumé du contenu

Page 1 - Tutorials

The AnyBodyTM Modeling System Tutorials Version 3.0.0, September 2007 Copyright © 2007, AnyBodyTM Technology A/S Home: www.anybodytech.com

Page 2

9familiarize yourself with the options. Having loaded the model it is time to proceed to lesson 2: Controlling the posture. Lesson 2: Controlling th

Page 3

99}; // ArmModel AnyFolder Drivers = { //--------------------------------- AnyKinEqSimpleDriver ShoulderMotion = { AnyRevoluteJoint &Jn

Page 4

100The final step is to modify the calibration study to use the calibration drivers: // A new calibration study // A new calibration study AnyBodyCa

Page 5 - Getting Started

101Once again we need two drivers to put the model into the posture for calibration of the TricepsLong muscle: // ----------------------------------

Page 6

102Muscle modeling Muscles are the actuators of living bodies. They are activated by the central nervous system (CNS) by a complicated electro-che

Page 7

103length, pennation angle, tendon elasticity, and stiffness of passive tissues into account. Please refer to the reference manual for concise inform

Page 8

104 AnyRevoluteJoint Jnt = { AnyRefFrame &ref1 = .GlobalRef; AnyRefFrame &ref2 = .Arm.Jnt; Axis = z; }; // Driv

Page 9

105 Notice that this class has three derived classes. These are more advanced muscle models, and we shall get to those later. However for the time be

Page 10

106The next step is to define a muscle that can use the model. This is actually the first of the two elements mentioned above: Muscle kinematics. Ag

Page 11

107Notice that we have left only two points in the list of via points. This is obviously the minimal requirement and will create a muscle in a single

Page 12

108InverseDynamicAnalysis. If you try it out and subsequently open a chart view, you are able to plot the muscle force: The muscle force is the ite

Page 13

10AnyFolder Right = { //Arm AnyVar SternoClavicularProtraction=-23; //This value is not used for initial position AnyVar SternoClavicularElev

Page 14

109 Let us play around with the settings a bit. An easy way to display all the settings is to discard our manually defined AnyDrawMuscle object and i

Page 15

110 //Transparency = 1.000000; //DrawOnOff = 1.000000; //Bulging = 0.000000; //ColorScale = 0.000000; //RGBColorScale = {0.957031,

Page 16

111up to an almost vertical position. If you plot the muscle force, Fm, again in a chart view, then you can see how the muscle force goes up drastica

Page 17

112AnyDrawMuscle drw = { //RGB = {0.554688, 0.101563, 0.117188}; //Transparency = 1.000000; //DrawOnOff = 1.000000; Bulging = 1; ColorScale

Page 18

113They are usually constrained by various obstacles on their way from origin to insertion, either by connective tissues or by the contact with bone

Page 19

114 AnyRefNode Jnt = { sRel = {-0.5, 0.0, 0}; }; AnyRefNode M1Insertion = { sRel = {0.3, 0.05, 0}; }; AnyDrawSeg drw = {}; }; The ne

Page 20

115 A muscle can pass through an unlimited number of via points, and the points can be attached to different segments. This can be used to create rat

Page 21

116 AnyRefNode CylCenter = { sRel = {0, 0, -0.2}; }; }; // Global reference frame Having defined the point, we can proceed to create a sur

Page 22

117 Radius = 0.15; Length = 0.4; AnyDrawParamSurf drv = {}; //CapRatio = 0.100000; }; }; Which causes the cylinder to rotate 20 deg

Page 23 - // Global Reference Frame

118 Jii = {0.100000, 1.000000, 1.000000}*0.1; AnyRefNode Jnt = { sRel = {-0.5, 0.0, 0}; }; AnyRefNode M1Insertion = { sRel = {0.3, 0.0

Page 24

11 AnyVec3 Hand = {0.000, 0.000, 0.000}; AnyVec3 Hip = {0.000, 0.000, 0.000}; AnyVec3 Knee = {0.000, 0.000, 0.000}; An

Page 25

119SPLine.StringMesh = 20; This line generates a sequence of 20 equidistant points on the shortest path muscle, and these are the points that are act

Page 26

120 As you can see, both muscles are now wrapping over the cylinder, and we can run the InverseDynamicAnalysis. It seems to work, but the system prov

Page 27

121measure that is really a string that wraps just like a muscle but does nothing else than measure its own length. These objects can be used outside

Page 28

122to go with a simpler model where the approximations are clear. In short, AnyBody has the following muscle models available AnyMuscleModel This i

Page 29

123 F0 = 0; Lfbar = 0; Lt0 = 0; Epsilonbar = 0; V0 = 0; }; Let us briefly review the parameters: Parameter Function F0 In the simple muscl

Page 30

124}; The parameters here are more or less random. In a moment we shall explain the ones that are less random, but first we must assign the new model

Page 31

125Now we can compare the variation of Lm and Lmdot to our settings of Lfbar and V0. Lm seems to vary between approximately 0.31 and 0.15. With an Lf

Page 32 - }; // Elbow joint

126 • Fin is a force, but it has not physiological significance for a muscle except for internal purposes. The reason why it is included in the outp

Page 33

127muscle model. • EPOTmt is the total elastic potential energy in the muscle-tendon unit. • Pt is not relevant for this muscle model. • Pm is

Page 34

128reducing Lt0: AnyMuscleModel2ELin Model2 = { F0 = 200; Lfbar = 0.3; Lt0 = 0.3; Epsilonbar = 0.05; V0 = -0.3; }; This reduction of the t

Page 35

12 If you click once on InverseDynamicAnalysis and then on the Run button in the bottom of the window then the system will start analyzing the muscle

Page 36

129 Definition of an external force requires two new elements in the model: The force itself and a new node on the arm, which we shall call hand, to

Page 37

130 The interesting point here is that with the long tendon and the high load, the muscle no longer contracts uniformly. In fact, the muscle extends

Page 38

131 The figure above is a schematic representation of the muscle model. We can get a complete impression of the parameters of the model if we pick th

Page 39

132hence dimensionless. Jt and Jpe Jt and Jpe are elasticity factors for the tendon (serial-elastic) and parallel-elastic elements respectively. The

Page 40

133 AnyRefFrame &Ins = .Arm.M2Insertion; SPLine.StringMesh = 20; SPLine.InitWrapPosVectors = {{-0.2, -0.2, 0},{-0.05,-0.2, 0}}; AnyDrawMus

Page 41

134 From the time the passive force sets in, the tendon starts to elongate a little bit. The total origin-insertion length of the muscle-tendon un

Page 42

135 }; AnyRefNode M1Insertion = { sRel = {0.3, 0.05, 0}; }; AnyRefNode M2Insertion = { sRel = {-0.2, 0.05, 0.05}; }; AnyRefNode Vi

Page 43

136Lt The length of the tendon. This appears to be constant, but the tendon length actually changes slightly over the movement with the changes of mu

Page 44

137Fm The force in the contractile element is decreasing throughout the movement because the moment arm of the external force is reducing and also be

Page 45

138Pennation-Angle The pennation angle is the angle between the muscle fiber direction and the muscle line of action. This angle changes when the mus

Page 46

13 Clicking the node produces an empty cordinate system in the large field. The reason why it is empty is that the standard setting of the ChartFX

Page 47 - • Lesson 4: The Chart View

139Pmt The mechanical power of the entire muscle-tendon unit, i.e. the rate of work performed on the skeleton. Notice that the power is negative beca

Page 48

140 Not only is the shape of the graph different; the maximum activity is also significantly higher. An error of 10% in an anthropometric data value

Page 49

141Try running the InverseDynamicAnalysis again and plot the Activity of Muscle2. You should see the following: As you can see, this is again very

Page 50

142Detailed calibration There is a more accurate and detailed way of calibrating tendons, but it requires additional information. More precisely it

Page 51 - AnySeg Segment1 = {

143muscles are disregarded and the body is balanced entirely by joint torques. This type of analysis can provide important information about the func

Page 52 - Jii = {0.1,0.01,0.1};

144 Reaction.Type = {0}; }; // Elbow driver }; // Driver folder AnyGeneralMuscle <ObjectName> = { //ForceDirection = -1; AnyKinMeasur

Page 53

145Having provided torques for the shoulder and elbow it should be possible to run the inverse dynamic analysis. However, attempting to do so will pr

Page 54

146Notice that in this case we have used the same strength (muscle model) for both joints. However, the maximum joint torque in physiological joints

Page 55

147We are going to make a couple of changes to the simple arm model to investigate contact in more detail. We shall imagine that the hand of the mode

Page 56

148 The muscle activity is rather constant which is the natural consequence of the moment arms being rather constant. The gravity as well as the appl

Page 57

14 This tells you that to stand upright and carry the 50 N load in the right hand, the model is using 4.00e-001 = 40% of its maximum voluntary contra

Page 58

149 F0 = 100.0; }; AnyMuscleModel ReacModel = { F0 = 10000.0; }; AnyGeneralMuscle WallReaction = { ForceDirection = -1; AnyKinMeasureOrg Org

Page 59

150}; If you run the model again and plot the same graphs, you will see this: The wall is obviously useful in the initial stages of the movement wh

Page 60

151 As you can see, the model is very simple. The blue structure is an "arm" that extends from the center of the yellow Ground reference fr

Page 61

152It looks like the force development is slightly nonlinear. This would make sense because ligament elasticity is generally nonlinear, but in this c

Page 62

153work with strain here rather than absolute length change? The reason is that ligaments are rather stiff structures, so small length changes can ca

Page 63

154 The specification has created a continuous slope of 0 where the curve previously had a kink. Notice that the curve converges back to the "no

Page 64

155 The significance of a1 is much the same, except it has its effect at the point (eps1,F1). Rather than at (L0,0). If, for instance you insert this

Page 65

156the values of L0, eps1, and F1. You can similarly increase the slopes by increasing a1: Unlike normal fourth order polynomials, these curves wil

Page 66

157 Clearly, this causes the curve to diverge after (eps1,F1), which is typical for higher order polynomials Unless you have some special reason for

Page 67

158 Double-click it, and its value is shown in the Object Description Window. You should find a value of Main.LigModel.LigModel.L0 = 1.300000; This

Page 68

15 This shows that the force in this muscle branch is roughly 18 N. Notice the specification line above the graphics pane marked with the red circle

Page 69

159them you must have sound understanding of the laws of mechanics in general and of Newton's three laws of motion in particular. The mechanical

Page 70

160 Segments do not have any particular shape associated with them. By default a segment is originated in its Center of Mass (CoM), but it is possibl

Page 71

161 Please refer to the reference manual for further explanation. The Getting Started with AnyScript tutorial provides examples of segment definition

Page 72

162 The different types are described in detail in the reference manual. For examples on how to use joints, please download and study the following t

Page 73

163 But let us imagine that we wanted the hand to reach out an grab something at a specific position. It would probably be difficult to figure out pr

Page 74 - A study of studies

164 Click Pos, and you will get three graphs tracking the x, y, and z components of the WristPos kinematic measure. The z component (blue curve) of

Page 75

165interpolation driver instead. AnyFolder Drivers = { AnyKinEqSimpleDriver HandMotionXY = { }; }; // Drivers folder We can now fill contents i

Page 76

1660.00900900900 0.83799541478 -0.54567809793 0.00000000000 0.01001001000 0.83717626771 -0.54693420265 0.00000000000 0.01101101100 0.83626918423 -0.5

Page 77

167We now have a linear measure that is in fact a three-dimensional vector from the origin of the global reference frame to the end point of the pend

Page 78

168forces to realize this movement. So we need to switch the reaction forces of the new driver off like this: AnyKinEqInterPolDriver P1Driver = {

Page 79

16All these branches have the same force, which is because they are assumed in the model to have the same strength. However, if you specify: Main.Stu

Page 80

169afterwards. To directly drive just one coordinate we need a driver file with just one column of data in addition to the time column. Please downlo

Page 81

170to the path of the pendulum regardless of which direction the pendulum has. But before we can make that shift, we shall implement the smart way of

Page 82

171 Type = Bspline; BsplineOrder = 4; FileName = "P1.txt"; AnyKinMeasure &Lin = .M1Lin; // MeasureOrganizer = {0}; Reac

Page 83

172 // MeasureOrganizer = {0}; Reaction.Type = {On, On, On}; }; The model now uses the new P2.txt file containing all three coordinates to dr

Page 84

173 Notice that the accelerations are between approximately -500 and 600. Now, let us introduce some random noise. An easy way to do so is to simply

Page 85

174 This appears to work very nicely. Plotting velocities produces this nice result: Still, there is not much indication that anything might be wro

Page 86

175 Oops, something appears to have gone completely wrong here. The accelerations are noisy and several times larger than before. What could be the p

Page 87

176The first example is a rather basic application of time-varying forces to the well-known 2-D arm model. The example shows forces defined directly

Page 88

177The ampersand, '&', in front of the variable name specifies that this is a reference. What it means that MyFolderCopy will just poin

Page 89

178 Right-click the files and save them in a directory of your choice. Then start AnyBody and load the main file, demo.include.any. Next up is Lesson

Page 90

17complex modeling tasks. The syntax of AnyScript is much like a Java, JavaScript, or C++ computer program. If you already know one of these programm

Page 91

179exchanging them, we shall end up with a very good supply of models that fit most purposes. The AnyBody Model Repository is an attempt to provide s

Page 92

180and it is rather heavy computationally. For this reason the BRep directory is structured to enable the user to link applications to subsets of the

Page 93

181 You can find more information on the structuring of the individual body part files in the Structure lesson. In the rest of this tutorial we shal

Page 94

182The ARep branch of the repository contains a large amount of applications where different collections of body parts are hooked up to more or less

Page 95

183//This file contains joint angles which are used at load time // for setting the initial positions #include "Mannequin.any" // This fil

Page 96

184 AnyVar AnklePlantarFlexion =0.0; AnyVar AnkleEversion =0.0; }; AnyFolder Left = { This first section of the mannequin file c

Page 97

185 #include "../../../BRep/Aalborg/BodyModels/FullBodyModel/BodyModel_NoMuscles.any" //This model uses the simple constant force musc

Page 98

186AnyFolder EnvironmentModel = { /* ********************************************************** This folder contains the definition of the Envir

Page 99

187 Jii = {0.003, 0.003, 0.3}; AnyRefNode rHandle = { sRel = {0.2, 0, 0.1}; }; AnyRefNode lHandle = { sRel = {-0.2, 0, -0.1}; }; A

Page 100

188 Here's some emergency help if you are having problems making the model work: HandPump.2.zip contains the three modified files from this less

Page 101

18 As you can see, the Main Frame window contains a smaller frame at the bottom. This frame provides much of your interaction with the system once yo

Page 102

189we cannot leave the model with a specification of constant elbow angle. We also know that shoulder flexion and extension is going to vary through

Page 103 - Muscle modeling

190The natural position of this joint would be in the jointsanddrivers.any file, because that is where we put the elements that connect the body to t

Page 104

191It is advisable when modifying models to make changes in small steps and verify that the model is working for each step. That way you can avoid ag

Page 105

192 AnyKinMeasureOrg &ref1 =...HumanModel.Interface.Right.GlenohumeralAbduction; // AnyKinMeasureOrg &ref2 =...HumanModel.Interface.Rig

Page 106

193 Ouch! How did that happen? Well, from a mechanical point-of-view, this solution is fully as good as the more anatomically compatible solution wit

Page 107

194is set up to impose the same angles on the right and left hand sides. You can now run the KinematicAnalysis operation and see the model turning th

Page 108

195 AnyVar GlenohumeralFlexion = 0; AnyVar GlenohumeralAbduction =.Right.GlenohumeralAbduction ; AnyVar GlenohumeralExternalRotation =.Right.Gl

Page 109 - AnyDrawMuscle drw = {};

196huge advantage when creating models like this one. In the real world, the muscles would be pulling on the bones, which causes the arms to exert fo

Page 110

197This driver we replace by another driver that controls the two horizontal positions of the thorax with respect to the wheel hub. As you can see, t

Page 111

198 AnyVar ElbowPronation = 50.0; Finally, to not have too large time steps, let us define a slightly higher resolution in the AnyBodyStudy in the m

Page 112

1Tutorials The AnyBody tutorials are step by step introductions to the use of the AnyBody system and in particular to construction of models in AnySc

Page 113

19 The new windows is basically a text editor. This main pane of the Editor window will contain the actual AnyScript text. The system has already cre

Page 114

199 Modifications like these from an existing application to a new one probably accounts for 90% of the model development of AnyBody users. However,

Page 115

200 The model is primarily divided into three folders (a folder is a container of different objects much like a directory can contain files) as sho

Page 116

201 The model can be compiled, but it does not do much, and in any case we shall restructure it right away. As indicated above, we wish to separate t

Page 117

202 AnyFixedRefFrame GlobalRef = { }; // Global reference frame AnySeg Pedal = { Mass = 2; Jii = {0.05, 0.001, 0.05}; AnyRefNode Hin

Page 118

203A much simpler solution is to use a set of popular, pre-defined assemblies of body parts that come with the necessary interfaces to hook them up t

Page 119

204 Each of these body models comes in three different forms: 1. BodyModel.any is the basic version including simple muscle models, i.e. muscles tha

Page 120

205they were originally defined, i.e. roughly like a 50th percentile European male: AnyFolder HumanModel={ #include "../../../BRep/Aalborg/B

Page 121

206 AnyFolder Muscle ={ AnyVec3 RGB = .Colors.AnyBodyRed; AnyVar DrawOnOff = 1.0; AnyVar Bulging = 1.0; AnyVar ColorScale =1.0;

Page 122

207 AnyVar ScaleFactor=0.001; AnyVec3 RGB = {1,0,0}; AnyVar Thickness = 0.01; AnyVar HeadThickness = 2*Thickness; Any

Page 123 - F0 = 100;

208 The pedal seems to be located in the middle of the pelvis, which is really a symptom of the warning that the model contains too few kinematic con

Page 124

20in the Main Frame toolbar and the key F7 is a convennient shortcut for this function. The script to model operation also saves your model files. T

Page 125

2092. The foot will be connected to the pedal by a spherical joint having 3 constraints. This leaves us with 4 more constraints to specify. 3. The

Page 126

210 AnyRefNode &Seat = Main.MyPedal.EnvironmentModel.GlobalRef.Hpoint; AnySeg &Pelvis = Main.MyPedal.HumanModel.Trunk.SegmentsLumbar.P

Page 127

211When you load the model you will get an error in the InitialPositions.any file: ERROR(SCR.PRS9) : Repository.6.3/ARep/Aalborg/BBTutorial/Initial

Page 128

212 We can now forget about the InitialPositions.any file. All positioning from now on takes place in the Mannquin.any file. Open it up and make the

Page 129

213position AnyVar GlenohumeralFlexion =-0; AnyVar GlenohumeralAbduction = 10; AnyVar GlenohumeralExternalRotation = 0; AnyVar ElbowFlexion

Page 130

214 Notice that the leg has moved slightly to honor the constraint that the foot must be on the pedal. 3. Setting the ankle angle The ankle in this

Page 131

215two degrees of freedom is which. Fortunately, the model is already loaded, and we can get the current values for the ankle angles from the object

Page 132

216The AnyKinLinear is really a vector between the two points it refers to, i.e. in this case the position of the knee in the global reference frame.

Page 133

217 With the model kinematically determinate we can proceed and run the KinematicAnalysis operation. Doing so will show you the movement of the ent

Page 134

218 The analysis runs in time from zero to one second, and the pedal angle develops in this time from 100 degrees (1.74 rad) to 145 degrees (2.53 rad

Page 135

21may know it from C++ or the Java language. Notice also that lines are terminated by semicolon ';'. Even the lines with closing braces mus

Page 136

219turned off inside the driver: AnyFolder Drivers = { AnyKinEqSimpleDriver AnkleDriver = { AnyUniversalJoint &Ankle = Main.MyPedal.HumanM

Page 137

220 Notice that the muscle forces are illustrated by the bulging of the muscles. In the ChartFx view near the top of the tree you can find the MaxMus

Page 138

221F = -10*.HingeJoint.Pos; This produces the activity curve: Obviously the level is much lower now starting at just 12%, so the spring really se

Page 139

222This appears to be equally good in terms of activity level and has the added quality of increasing muscle activity or effort for increasing angle.

Page 140

223 The idea behind this system is to make the human model and the environment model as independent of each other as possible. Some models also have

Page 141

224Model data uncertainties In general, the models in the AnyScript Model Repository are based on data reported in the literature. They often come f

Page 142

225very quick and the system predicts very rapid changes of muscle activation, then the result may not be realistic. Another possible source of error

Page 143

226 To find velocities, the system automatically differentiates positional data with respect to time and we get the following: It still looks reason

Page 144

227m/s^2 or 30 g. Notice that this is for the thorax and not a distal segment like a hand or a foot. It is not realistic, and it is in fact an artifa

Page 145

228disadvantage is that the number of computations grows exponentially with the number of parameters. A two-parameter problem with five values of eac

Page 146

22 We now assume that you have removed eventual errors and have loaded the model successfully. If you are up to it, let's continue onward to Le

Page 147

229 As you can see the model is very simple. It has two legs and a pelvis that is rigidly fixed to the seat. The feet are attached to the crank mecha

Page 148

230fact an AnyScript operation (AnyOperation), called Analysis, which is a member of all design studies. To state an optimization or a parameter stud

Page 149 - AnyMuscleModel MusModel = {

231 { //AnyOperation &<Insert name0> = <Insert object reference (or full object definition)>; };*/ nStep = ; AnyDesVar &&l

Page 150

232The next specification deals with the parameters to vary: nStep = ; AnyDesVar SaddleHeight = { Val = Main.BikeParameters.SaddleHeight; Min =

Page 151

233 AnyOutputFun MaxAct = { Val = .MaxMuscleActivity; }; }; This allows us to refer to Study.Output.MaxMuscleActivity before it actually get

Page 152

234It is finally time try it out. If you have typed everything correctly, then you should be able to load the model and expand the Operations Tree in

Page 153 - L0 = 1.30; // Slack length

235The toolbar of this window indicates a kinship with the Model View window. Indeed, if you select the rotation button in the toolbar and drag the m

Page 154

236combinations you may notice muscles beginning to bulge more and momentarily attain the color of magenta. This is the system's way of demonstr

Page 155 - If you try the following:

237 What this study reveals is that in terms of muscle activity to drive the bicycle a high seat is advantageous, but there seems to be a very shar

Page 156

238 // Useful variables for the optimization AnyFolder &r = Main.Bike2D.Model.Leg2D.Right.Mus; AnyFolder &l = Main.Bike2D.Model.Leg2D.

Page 157

23 // Todo: Add points for grounding // of the model here }; // Global reference frame // Segments AnyFolder Segs = { }; // Segs folde

Page 158

239AnyFolder &l = Main.Bike2D.Model.Leg2D.Left.Mus; AnyVar Pmet = r.Ham.Pmet+r.BiFemSh.Pmet+r.GlutMax.Pmet+r.RectFem.Pmet+ r.Vasti.Pmet+r.Gas.Pme

Page 159 - The mechanical elements

240 We shall return to the capabilities of the AnyChart in more detail in the next lesson, which deals with the definition of optimization studies. O

Page 160

241Minimize g0(x1..xn) Subject to gi(x1..xn) <= 0 Lj <= xj <= Uj where g0 is called the objective function, xj, j=1..n are the design vari

Page 161 - AnyDrawSeg drw = {};

2421. Decide on a search direction. 2. Perform a linear search to find the minimum along the chosen direction. This means that it is only necessary

Page 162

243 AnyOperation &Operation = ..Study.InverseDynamicAnalysis; }; AnyDesVar SaddleHeight = { Val = Main.BikeParameters.SaddleHeight;

Page 163 - • Slider crank in 3D

244If the model loads you should get a screen picture similar to the one above this text. Expand the OptStudy branch in the operations tree, click Op

Page 164

245 The graph confirms that the vast majority of the improvement is obtained in a couple of iterations and the final iteration contributes only by a

Page 165 - }; // Drivers folder

246select "New": This will give you a blank "Series 1". When you highlight it by clicking with the mouse you will see the li

Page 166

247 Finally, in the Value field select OptStudy.Metab.Val and look carefully at the plot. You will see that an additional polyline has been added. It

Page 167

248 This plot illustrates the convergence history in the "landscape" of the objective function. Here we can see the reasons for the conve

Page 168

24 //rDot0 = {0, 0, 0}; //Axes0 = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; //omega0 = {0, 0, 0}; Mass = 0; Jii = {0, 0, 0}; //Jij =

Page 169

249 This reveals a somewhat jacket surface and a distinct (local) valley of the objective function. Minor changes of the input to the optimization

Page 170

250 Notice how the final objective function value is slightly higher than the previous optimization result. Notice also how only the first iteration

Page 171

251segment velocities, and any other model property that the system can compute. Enough talk; let's try the optimization with the constraint add

Page 172

252as in the unconstrained case. The path of the design values bounces off the constraint and finally it gets stuck on the constraint even though the

Page 173

253This completes the introduction to optimization studies. Trouble shooting AnyScript models If you think mechanics is simple, it's probably ju

Page 174

254always that nice. First of all, the error messages are not always very descriptive. This is a problem the AnyBody Modeling System shares with any

Page 175

255you will get the error message: Folder assignment expected for this object. What the message means is that this type of assignment is not allowed.

Page 176

25Reload the model, and then choose the menus Window -> Model View (new). This opens a graphics window and displays what looks like a long yellow

Page 177 - Advanced script features

26 Try loading the model again and have a look at the graphical representation. If you zoom out enough, you should see your points floating around th

Page 178

27will determine where everything is at every point in time. But we need to go through several steps of definitions and subsequently the system must

Page 179 - Building block tutorial

28corresponding to a given axis and rotation angle. Therefore, we can specify: AnySeg UpperArm = { r0 = {0, 0.3, 0}; Axes0 =RotMat(-90*pi/180, z

Page 180

2 Getting Started...4 Lesson 1: Using

Page 181

29 sRel = {0.05,0,0}; }; AnyRefNode DeltodeusB = { sRel = {-0.05,0,0}; }; AnyRefNode BicepsLong = { sRel = {0.1,0,0}; }; AnyRe

Page 182

30The joint connects several segments, and it needs to know which point on each segment to attach to. For this purpose, we have lines like AnyRefNod

Page 183

31 When you right-click the ElbowNode you can select "Insert object name" from the context menu. This writes the full path of the node into

Page 184

32Lesson 4: Definition of movement Here's an AnyScript file to start on if you have not completed the previous lesson: demo.lesson4.any. If yo

Page 185

33AnyRevoluteJoint &Jnt = ..Jnts.Shoulder; and AnyRevoluteJoint &Jnt = ..Jnts.Elbow; are the ones that affiliate the two drivers with the sh

Page 186

34Try expanding the ArmStudy root. You will get a list of the study types that the system can perform. "Study" is a common name for operati

Page 187

35shown in the figure to the right. Directly under the ArmModelStudy branch you find the Output branch where all computed results are stored. Notice

Page 188

36Here's an AnyScript file to start on if you have not completed the previous lesson: demo.lesson5.any. We have seen that models in AnyBody can

Page 189

37that it goes from its origin to insertion via a number of predefined points. The via-points are the AnyRefNodes defined in the second and third pro

Page 190

38}; //--------------------------------- AnyViaPointMuscle TricepsShort = { AnyMuscleModel &MusMdl = ..Muscles.MusMdl; AnyRefNode &Org =

Page 191

3Trouble shooting AnyScript models... 253

Page 192

39 We now have enough muscles in the model to start computing the muscle forces that can drive the motion. But there is one more detail to take care

Page 193

40InverseDynamicAnalysis in the study tree at the bottom left of the screen and then the Run button, and watch the model move. It should look exactly

Page 194

41 This muscle grows in force during the movement. That is because it is influenced by the movement of two joints, namely the shoulder and the elbo

Page 195

42That's all there is to it. Now you can analyze how the model will react to a downward force of 100 N (approximately 10 kg dumbbell weight). If

Page 196

43very physiological. You may be wondering how you can add cool bones and other geometries that will impress your colleagues and look good in your pr

Page 197

44 ScaleXYZ = {0.001, 0.001, 0.001}; }; When you reload the model, the picture you get should be similar to what you see below. The dumbbell is visi

Page 198

45 We want to rotate the dumbbell 90 degrees about the y axis. We could do that by going back to the CAD system and modifying the dumbbell STL file,

Page 199

46 This completes the Getting Started with AnyScript tutorial. The final result of the efforts is in demo.arm2d.any. Interface features This tutorial

Page 200

47• Lesson 5: The Command Line Application Let us quickly proceed to the first lesson: Windows and workspaces. Lesson 1: Windows and workspaces When

Page 201

48 This indicates that you are now working in the first of the three user-defined layouts. Each layout can contain a different user-defined window se

Page 202

4 Getting Started This tutorial is the starting point for new users. Its purpose is to allow users to get the first model up and running fairly qui

Page 203

49 It says "New Workspace" because you did not load a workspace when you started, and you have not yet saved the one you have created. Cli

Page 204

50 This brings up a new editor window with an empty file, and we can go ahead typing anything we want. The first thing you have probably noticed abou

Page 205

51You are not forced to accept this. You can easily backspace to the beginning of the line and start your typing there, if you like that better. You

Page 206

52 What you see here is the Model Tree, which it the main tree view of AnyBody showing all objects in the loaded model in the structure they are crea

Page 207

53The Model Tree offers you several options to go from the tree to associated places the AnyScript code. There are, however, also options to go the o

Page 208

54The third tab in the tree view is named Classes. It gives you access to a tree of the predefined classes in the system. From this tree you can inse

Page 209

55If the model is not too big and the computer is not too slow, the computation runs fast enough to create a dynamic animation in real time or close

Page 210

56 This resolves the kinematical constraints and puts the model into the position defined by its drivers at time step 0. It produces the picture show

Page 211

57 Notice that we are looking at the model directly from the side. The default viewing direction is the xy plane. This coincides well with the Inte

Page 212

58 • On/Off: This button switches automatic update of the window on and off. When switched off, the window does not update when the model is movin

Page 213

5easy to create a model of a gymnastic exercise on the floor this way. • Constructing a model from single predefined body parts in the repository.

Page 214

59Recording video You may want to save a video file of you simulation for a presentation or simply to be able to show a large model running in real

Page 215

60purpose. We at AnyBody Technology use a very good and inexpensive tool called VideoMach available from http://www.gromada.com/. Size matters Rega

Page 216

61 Notice that the window like all other windows in the AnyBody Modeling System is divided into a tree pane on the left and the actual data area to t

Page 217

62Try clicking Ekin, Epot, and Emech in turn. You will notice that Epot and Emech are very similar. This is because the movement in this model is rel

Page 218

63 Having an item graphed you may want to investigate the results a little closer, and the toolbar above the graph gives you different options for do

Page 219

64In some cases you can have curves with complicated shapes that you may want to investigate in details. The zoom tool is handy for that. When you pr

Page 220

65 We have eight muscles in this model, so why do you only see two curves? The explanation is that all the muscles in this model have the same streng

Page 221

66 User-defined abscissa The default abscissa in the chart view is time. However, you can in principle plot data against any scalar property the sys

Page 222 - F = -20*.HingeJoint.Pos;

67 The three graphs (of which one is constant zero) is because the hand node position is a vector with three coordinates. We want to extract the heig

Page 223

68 As you can see, the tree has been extended with the new variable we have defined. The next step is to use this variable as the abscissa. Notice

Page 224 - Validation of models

6 When you open AnyBody for the first time, the Demo tab does not contain any models, but only a short guide on how to extract the demo models. Aft

Page 225

69the .CHT file. .CHT files are a convenient way of storing analysis data because they can subsequently be reformatted and displayed in other ways t

Page 226

70Lesson 5: The Command Line Application The AnyBody Modeling System comes with a command line version included. It is named AnyBodyCon.exe ("Co

Page 227

71understands eight different commands. You also always get help by using the 'help' command or by calling AnyBodyCon with /? argument. The

Page 228

72nearly as interesting as running the Windows version of the AnyBody Modeling System. So why bother? Well, the command line version of the AnyBody

Page 229

73As you can see, the command line version can produce output data that can be formatted according to your desire and processed further by other type

Page 230

74 where the classes with blue icons are the ones you can actually define. In this tutorial we shall focus on AnyBodyStudy and AnyBodyCalibrationStud

Page 231

75tEnd Ah, you guessed it already. This is the time at which the study ends. Contrary to tStart, this often has to be set by the user. The standard v

Page 232

76calculation of any sort of forces. This means that you can run KinematicAnalysis as soon as you have the movement defined uniquely. You don't

Page 233

77In the following lessons we shall look in more detail at the different operations in an AnyBodyStudy and finally also at the AnyBodyCalibrationStud

Page 234

78 When you press the run button you will see a whole lot of text scrolling over the message pane below the study tree. You can scroll up and down us

Page 235

7 //This model is only for kinematic analysis and should be used when playing //around with the kinematics of the model since leaving the

Page 236

790: Main.ArmModel.Drivers.ShoulderMotion (1constr.) 1: Main.ArmModel.Drivers.ElbowMotion (1constr.) Other: - none! Total number of constraints: Jo

Page 237

80A few special cases are: 1. The number of reaction and driver forces is less than the number of rigid body degrees of freedom in the model as it i

Page 238

81Drivers: 0: Main.ArmModel.Drivers.ElbowMotion (1constr.) Other: - none! Total number of constraints: Joints: 10 Drivers: 1 Other: 0 Total: 1

Page 239

82And running the ModelInformation operation will give the following feedback: ------------------------------------------------------------- 3) List

Page 240

83not do it automatically when you load the model. Running the SetInitialConditions operation produces a correctly assembled arm: The arm correct

Page 241

84 Picking the step button. The first step re-establishes the load-time conditions. This means that it positions the modes as it was when you loaded

Page 242

85An AnyBody model is really a collection of rigid segments. You can think of them as a bunch of potatoes floating around in space. Technically, each

Page 243

86Running kinematic analysis Now that you know the basics of kinematic analysis, let us look at how it is performed. We need an example to work on,

Page 244

87 Why would anything in a smoothly running model behave like this? The answer lies in the ordinate axis. You will notice that it has no values on it

Page 245

88Lesson 4: Inverse Dynamic Analysis Inverse dynamic analysis is at the heart of what the AnyBody Modeling System does. An InverseDynamicAnalysis ope

Page 246

8balance the extrnal forces. Please notice that it is possible to apply an external force large enough to require tension between the feet and the fl

Page 247

89For use in this tutorial, a slightly modified version of the model is provided here: demo.diffmusarm2D.any. Please download it, save it, and load i

Page 248

90Subject to • Equilibrium equations fulfilled • Muscles are not allowed to push In the standard setup of InverseDynamicAnalysis operations in the

Page 249

91 So the very systematic activation pattern becomes much more complex when viewed as muscle forces. Let us for a moment return to the activities aga

Page 250

92 This result is much different from the one we had before. The value of 1.0e+3 completely dominates the criterion, so here we are actually minimizi

Page 251

93e2 in the criterion. This has two potentials: 1. Small values of e2 may regularize complex problems numerically much like e1 can do. 2. Large va

Page 252

94 As you can see, the tendencies are much the same as before, but the muscular synergy is less outspoken in the quadratic case, and the maximum musc

Page 253

95lengths in AnyBody is the assumption that each muscle-tendon unit has its optimal length at some particular position of the joints it spans. We sim

Page 254

96What we have done here is to give BicepsLong a new and more advanced muscle model. Let's have a look at the consequences. Press the M<-S bu

Page 255 - Myvariable = 1;

97 The parallel-elastic force sets in when the muscle is stretched beyond its optimal fiber length. In the movement of this example, the elbow star

Page 256

98Calibrating the muscle in a particular position requires a calibration study. It's basic definition is very simple: // ======================

Commentaires sur ces manuels

Pas de commentaire