Nodes
Data in a component is organized in a tree structure consisting of nodes. The root node of a component represents the entire component. For example, the origin of a component's coordinate system is its root node.
Hierarchy
Simple components may have one node, whereas components with movable parts would require two or more nodes. For example, an articulated robot is a series of nodes linked together to form a kinematic chain for motion targeting.
In terms of node hierarchy:
- Parent is a node above another node.
- Child is a node below another node.
- Sibling is a node that is either before or after another node that belong to the same parent.
In most cases, a component's root node is a child of the 3D world. That is, a component is attached to the 3D world (simulation root node). In some cases, components are attached to nodes in other components. That allows components to move together, for example a tool mounted on the end of a robot's arm.
Some components that perform tasks during a simulation may have temporary nodes in order to contain and transport other components.
Common Properties
With the exception of root nodes, every node/link has the same set of common properties.
Name | Description |
Name | Defines the name of node. |
Offset | Defines the position (XYZ coordinates) and orientation (RxRyRz degrees of rotation) of node offset from its parent. |
Type | Defines the joint type of node.
Fixed Rotational Translational Rotational Follower Translational Follower Custom |
Axis | If joint type is not fixed or custom, defines the axis of joint. |
Joint Properties
The amount of additional properties in a node is based on its joint type and the assignment of that joint to a controller.
Fixed
No additional properties.
Rotational
Name | Description |
Name | Defines the name of joint.
Tip: The name of a joint can be used in an expression to reference its value. |
Controller | Assigns joint to a new or existing controller type behavior in node. |
Initial Value | Defines the default value of joint. |
Value | Defines the current value of joint.
Tip: The value of a joint can be used in an expression to reference its value using the keyword VALUE. |
Value Expression | Defines an expression for manipulating the value of joint. |
Min Limit | Defines the minimum value of joint. |
Max Limit | Defines the maximum value of joint. |
MaxSpeed | If joint is assigned to controller, defines the maximum speed of joint. |
MaxAcceleration | If joint is assigned to controller, defines the maximum acceleration of joint. |
MaxDeceleration | If joint is assigned to controller, defines the maximum deceleration of joint. |
LagTime | If joint is assigned to controller, defines the time lag of joint. |
SettleTime | If joint is assigned to controller, defines the settling time of joint. |
Translational
Same properties as Rotational.
Rotational Follower
Name | Description |
Name | Defines the name of joint.
Tip: The name of a joint can be used in an expression to reference its value. |
Driver | Defines another joint that is followed by the joint. |
Value Expression | Defines an expression for manipulating the value of joint. |
Translational Follower
Same properties as Rotational Follower.
Custom
Name | Description |
Name | Defines the name of joint.
Tip: The name of a joint can be used in an expression to reference its value. |
Controller | Assigns joint to a new or existing controller type behavior in node. |
Initial Value | Defines the default value of joint. |
Value | Defines the current value of joint.
Tip: The value of a joint can be used in an expression to reference its value using the keyword VALUE. |
Joint | Defines an expression for manipulating joint offset. |
Pivot | Defines an expression for manipulating pivot point of joint. |
Min Limit | Defines the minimum value of joint. |
Max Limit | Defines the maximum value of joint. |
MaxSpeed | If joint is assigned to controller, defines the maximum speed of joint. |
MaxAcceleration | If joint is assigned to controller, defines the maximum acceleration of joint. |
MaxDeceleration | If joint is assigned to controller, defines the maximum deceleration of joint. |
LagTime | If joint is assigned to controller, defines the time lag of joint. |
SettleTime | If joint is assigned to controller, defines the settling time of joint. |