Augmented Labs

Instructions

Information on the instructions

Each program you create has a set of instructions that control your simulation's components.

There are eight instruction types:

  • Move to target
  • Move joints
  • Wait
  • Wait for signal
  • Set signal
  • Call program
  • Conditional call
  • Set cartesian speed
  • Set joint speed

Move to target

The Move to Target instruction moves an articulated chain to a specific position.

This instruction has five configurable parameters:

  • Controller
  • TCP
  • Position
  • Move type
  • Offset

Controller

To execute a Move to Target instruction, you need an Articulation Controller component in your scene (robot, gripper, cartesian axis, or other articulated chain).

Select a controller by clicking the list button and choosing from available controllers, or drag and drop a scene object with an Articulation Controller into the field.

TCP

The TCP defines the frame used to reach the target position. By default, the TCP is the position of the last joint in the articulated body.

You can define more than one TCP by creating child frames under the last joint. These frames appear in the TCP parameter list.

Position

The Position parameter defines the target frame. You can select a frame from the scene list or drag and drop a scene object into the field.

Warning

Move to Target sends the articulation TCP (tool center point) to the selected frame position. Make sure the correct TCP is selected.

Move type

The Move type parameter can be either cartesian space or joint space (commonly called MoveL and MoveJ)

  • Cartesian space move: Moves the articulated body's TCP from its current position to the target position in a straight line (MoveL). Use this when path accuracy is important.
  • Joint space move: Moves by interpolating joint positions, so the TCP path is not necessarily straight (MoveJ). Use this when higher speed is more important than path accuracy.

Offset

If needed, Move to Target accepts an Offset parameter. The offset is measured along the selected frame.

You can also set an offset without a position frame. In that case, the position is set to "relative to self", which moves the chain along the configured TCP by the specified offset.

Warning

Parallel articulated chains do not support inverse kinematics. These articulations cannot use Move to Target and must use Move Joints instead.

Move joints

The Move Joints instruction moves individual joints of an articulated chain.

This instruction has three main parameters:

  • Controller
  • Joint target value
  • Relative

Controller

As with Move to Target, this must reference the articulated chain you want to move.

Joint target value

The Joint target value is the absolute value you want to set each joint to in a program step. Only two joint types appear:

  • Revolute: value measured in degrees
  • Prismatic: value measured in meters

Warning

Joint values appear in the same order as your joint tree.

Relative

The Relative parameter configures the instruction as relative, meaning the values you set are added to each joint's current position.

If Relative is disabled, the instruction performs an absolute move and each joint moves to the exact value set in Joint target value.

Set cartesian speed

The Set Cartesian Speed instruction defines Cartesian linear and angular velocity and acceleration limits for an articulated body.

This instruction has five parameters:

  • Controller
  • Linear velocity
  • Linear acceleration
  • Angular velocity
  • Angular acceleration

These settings are used whenever an articulation moves to a target in Cartesian space (X, Y, Z).

Controller

The Articulation Controller whose speed parameters you want to set.

Linear velocity

Linear velocity in m/s.

Linear acceleration

Linear acceleration in m/s^2.

Angular velocity

Angular velocity in deg/s.

Angular acceleration

Angular acceleration in deg/s^2.

Set Joint speed

The Set Joint Speed instruction defines angular velocity and acceleration limits for an articulated body's joints.

This instruction has three parameters:

  • Controller
  • Angular velocity
  • Angular acceleration

These settings are used whenever Move Joints is executed, and whenever Move to Target runs in joint space.

Controller

The Articulation Controller whose joint speed and acceleration parameters you want to set.

Angular velocity

Joints' angular velocity in deg/s for revolute joints and m/s for prismatic joints.

Angular acceleration

Joints' angular acceleration in deg/s^2 for revolute joints and m/s^2 for prismatic joints.

Warning

If an articulated body includes both prismatic and revolute joints, the Set Joint Speed instruction lets you configure velocity and acceleration for both joint types.

Wait

The Wait instruction blocks the program for a specified amount of time (in seconds).

Wait for signal

The Wait for Signal instruction waits until a signal matches a given condition.

This instruction has four parameters:

  • Signal type
  • Signal
  • Operator
  • State

Signal type

Defines whether you are reading a global signal or an entity signal.

As described in the Signals page, global signals are configured in Settings, and entity signals come from Components in the scene.

  • If Global is selected, choose the signal from the dropdown list.
  • If Entity is selected, choose the entity you want to read signals from.

Signal

Select the specific signal to read, such as a sensor state.

Operator

Defines the comparison operator. Depending on the signal type (boolean, float, or integer), the available operators are:

  • equal
  • not equal
  • greater than
  • less than

State

Defines the value you want to compare against.

Set signal

The Set Signal instruction sets a signal's state.

This instruction has three parameters:

  • Signal type
  • Signal
  • State

Signal type

Defines whether you are setting a global signal or an entity signal.

As described in the Signals page, global signals are configured in Settings, and entity signals come from Components in the scene.

  • If Global is selected, choose the signal from the dropdown list.
  • If Entity is selected, choose the entity you want to set a signal on.

Signal

Select the signal you want to set, for example the state of a conveyor (On/Off).

State

Defines the value you want to set. The input field changes based on the signal type: boolean, integer, or float.

Call program

The Call Program instruction calls another program in the Program Tree.

This instruction has one parameter:

  • Program

Program

Select the program name from the dropdown list.

Warning

Only programs with Auto-start turned off can be called by this instruction.

Conditional call

The Conditional Call instruction is a non-blocking version of Wait for Signal + Call Program. It triggers only if the condition is true at the moment it runs.

This instruction has four parameters:

  • Signal type
  • Operator
  • State
  • Program

Signal type

Defines whether you are reading a global signal or an entity signal.

As described in the Signals page, global signals are configured in Settings, and entity signals come from Components in the scene.

  • If Global is selected, choose the signal from the dropdown list.
  • If Entity is selected, choose the entity you want to read signals from.

Operator

Defines the comparison operator. Depending on the signal type (boolean, float, or integer), the available operators are:

  • equal
  • not equal
  • greater than
  • less than

State

Defines the value you want to compare against.

Program

Select the program name from the dropdown list.

On this page