The topics covered in this section include:
...
In OpenSim, a model's skeletal system is represented by rigid bodies interconnected by joints. Joints define how a body two bodies (e.g., bone segment), termed parent and child bodies, can move with respect to its parent body. In OpenSim, each body has a parent and is connected to its parent via a jointone another. Constraints can also be applied to limit the motion of bodies.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<Body name="r_humerus"> <attached_geometry>...</attached_geometry> <WrapObjectSet>...</WrapObjectSet> <mass>1.8645719999999999</mass> <mass_center>0 -0.18049599999999999 0</mass_center> <inertia>0.01481 0.0045510000000000004 0.013193 0 0 0</inertia> </Body> |
Every model comes with a Ground body, which exists as a property of a Model, not in the BodySet.
Geometry
...
A body is a moving reference frame (Bo) in which its center-of-mass and inertia are defined, and the location of a joint frame (B) fixed to the body can be specified. Similarly, the joint frame (P) in the parent body frame (Po) can also be specified. Flexibility in specifying the joint is achieved by permitting joint frames that are not coincident with the body frame. In 4.0, this flexibility was enhanced via the introduction of the Frame class hierarchy. There are three main types of Frames: Ground (each model starts with a ground frame), Body, and PhysicalOffsetFrame. All three of these frames are called PhysicalFrames because they either are a rigid body or are fixed to a rigid body. In OpenSim 4.0, a joint connects two PhysicalFrames (parent and child). One can use PhysicalOffsetFrames to specify a constant transform between a joint frame and the body frame.
As an example, the body r_humerus contains the joint r_shoulder. The figure below shows an example from Arm26 defining the r_shoulder joint. Note the key tags, such as <socket_parent_frame>, <socket_child_frame>, <Coordinate>, <translation>, and <orientation>. Note the use of an intermediate PhysicalOffsetFrame for the joint's parent frame.
...