35
positions of joints between objects. Joints between parts are
usually positioned not in the [0 0 0] of parent’s coordinate
system. To define a center of rotation different from the
default value [0 0 0], define the center field of the child
Transform in the VRML file. Example – define the robot’s
tool center of rotation to be collocated with the joint
connecting the hand and the tool , in the hand’s local
coordinates.
Hint: In the case of hierarchical scene structure, when the parts are connected
by revolute joints, it is very easy to define relative rotations between parts. The
joint axis defines directly the VRML rotation axis, so constructing the [axis
angle] 4-element VRML rotation vector is trivial.
5.3.2. Initial Conditions
Simulink model initial conditions must correspond to the initial object’s
positions and rotations defined in the virtual scene. Otherwise, the object
controlled from Simulink would “jump” from the position defined in the VRML
file to the position dictated from Simulink at the start of the simulation. The
possible offset can be compensated either in the VRML file (by defining another
level of nested Transform around the controlled object) or in the Simulink
model by adding the object initial position to the model calculations before
sending to the VR Sink block.
In order to align Simulink model initial conditions with virtual scene object
positions, while maintaining also correct position of the object relative to the
surrounding scene, it is sometimes necessary to adjust also position of the
object surroundings. Example – move the road position so that the car at
position [0 0 0] stays on the road, the wheels not sinking nor floating above the
road surface.
5.3.3. Use of VR Placeholder and VR Signal Expander
The VR Sink block accepts only inputs that define fully qualified VRML field
values. For dynamic models that describe system’s behaviour only in one
Kommentare zu diesen Handbüchern