DynamicTranslationMover
This simulation component translates a dynamic 3D object by applying a force.
When to use
Use this simulation component if you want to move a 3D object relative to it's parent along a linear axis. The translation is done by setting either the force or the speed of the movement.
With this simulation component you can reconstruct the behavior of each mechanical system which is moved by e.g. a force in a direction. To get a better understanding please take a close look to the example down below.
How to use
Add this simulation component from the simulation component library.
At first select the 3D object which will be translated. Make that selection either in the 3D View
window or in the Assembly Structure
window using the select button near the property MovingObject3D
.
Then define the 3D object which should serve as a reference for the movement called BaseObject3D
.
After that define the translation axis either in the global or in the local coordinate system of the selected MovingObject3D
.
Finally you can define the ControllingType
which indicates whether the 3D object should be translated by setting the force or the speed of the movement.
If you are interested in setting an upper and lower limit, you can do that by enabling the specified limits.
Parameters
GlobalTranslationAxis
Indicates the translation axis in the global coordinate system.
LocalTranslationAxis
Indicates the translation axis in the local coordinate system of the selected MovingObject3D
. You first have to select the MovingObject3D
, before you can define the LocalTranslationAxis
.
MovingObject3D
The 3D object which will be translated. The rigid body behavior of this 3D object must be Dynamic
.
BaseObject3D
The 3D object which serves as a reference for the movement. If this 3D object is empty, the movement is relative to the world.
The rigid body behavior of this 3D object must be either Dynamic
, Static
or Kinematic
.
ControllingType
Indicates if the MovingObject3D
should be moved by applying force or speed.
EnableLimits
A value in m indicating whether upper and lower limits are enabled or not.
InitialPosition
A value in m indicating the initial position of the MovingObject3D
.
LowerLimit
Indicates the lower limit of the translation in m. If negative infinite is defined the translation of the 3D object is not limited.
UpperLimit
Indicates the upper limit of the translation in m. If positive infinite is defined the translation of the 3D object is not limited.
Inputs
Force
An input indicating the force in N which is applied to move the MovingObject3D.
Outputs
CurrentPosition
Outputs a value in m indicating the current position of the MovingObject3D.
CurrentTranslationSpeed
Outputs a value in m/s indicating the current speed of MovingObject3D.
LowerLimitReached
Outputs a value indicating whether the lower limit of the translation is reached or not.
UpperLimitReached
Outputs a value indicating whether the upper limit of the translation is reached or not.
Example
In this example, a robot has the job to pick up and handle different types of tubes, which are dynamic rigid body's in the simulation environment.
To pick up the tube, there are some safety sensors on the gripper which should prevent the robot from crashing as shown in the picture below.
To react if a crash occurs, which simply means that a force from the environment acts on the vacuum assembly while the robot is picking up a tube, the assembly must be able to move dynamically up and down.
Therefore the vacuum assembly, which is highlighted in the picture below, is defined as the dynamic MovingObject3D
in the
DynamicTranslationMover.
The highlighted kinematic guide in the following picture is defined as the BaseObject
.
The properties of the simulation component are shown in the picture below. The positive direction of the movement is in the direction of the local y-axis from the MovingObject3D
.
The mechanical stops, UpperLimit
and LowerLimit
, are set to 0.03 m and 0 m.
To complete that UseCase, the VacuumGripper simulation component could be used as the gripper. To react if a crash occurs, the PLCConnector simulation component could be used. As a sensor, the LightBarrier simulation component could be used.