Arm#

Move 6-Axis Arm to Position#

The Move 6-Axis Arm to Position block is used to move the 6-Axis Arm to a specified set of coordinates.

This is can be a non-waiting or waiting block depending on if the and don’t wait option is used.

  move [arm v] to position x: (120) y: (120 ) z: (75) [mm v] ▶ 

Select which unit for the coordinates to use: millimeters or inches.

The image shows a block designed to move a robotic arm to a specific position in a 3D space. The coordinates provided are x = 120, y = 120, and z = 75, with the unit set to millimeters. There is a dropdown menu that allows the user to switch the unit of measurement from millimeters (mm) to inches if desired. Currently, "mm" is selected as the unit.

You can select the arrow to expand and don’t wait - this will allow subsequent blocks to run while the 6-Axis Arm moves.

  move [arm v] to position x: (120) y: (120 ) z: (75) [mm v] ◀ and don't wait

In this example, the 6-Axis Arm will move to the coordinates (120, 120, 75) in millimeters.

  when started :: hat events
  move [arm v] to position x: (120) y: (120 ) z: (75) [mm v] ▶

Increment Move 6-Axis Arm Position#

The Move 6-Axis Arm to Position block is used to move the 6-Axis Arm in incremental distances using the specified values.

This can be a non-waiting or waiting block depending on if the and don’t wait option is used.

  increment [arm v] to position x: (0) y: (0) z: (0) [mm v] ▶ 

Select which unit for the coordinates to use: millimeters or inches.

The image shows a coding block that increments the position of a robotic arm along the x, y, and z axes. The current increments are set to x = 0, y = 0, and z = 0, with the unit of measurement set to millimeters (mm). Additionally, the block is configured to execute without waiting for the arm to complete its movement, as indicated by the "and don't wait" option.

You can select the arrow to expand and don’t wait - this will allow subsequent blocks to run while the 6-Axis Arm moves.

  increment [arm v] position by x: (0) y: (0) z: (0) [mm v] ◀ and don't wait

In this example, the 6-Axis Arm will move for 100 millimeters along the X axis.

  increment [Arm1 v] position by x: (100) y: (0) z: (0) [mm v]  ▶

Move 6-Axis Arm to Orientation#

The Move 6-Axis Arm to Orientation block is used to rotate the 6-Axis Arm’s end effector about an axis to a specific orientation.

This is can be a non-waiting or waiting block depending on if the and don’t wait option is used.

  move [arm v] to orientation [pitch v] (0) degrees  ▶

Select which orientation to be moved.

The image shows a coding block where the user can select the orientation type for a robotic arm. The dropdown menu currently highlights "pitch," but other options like "roll" and "yaw" are available. The block is set to move the arm to a pitch orientation at 0 degrees.

You can select the arrow to expand and don’t wait - this will allow subsequent blocks to run while the 6-Axis Arm moves.

  move [arm v] to orientation [pitch v] (0) degrees ◀ and don't wait

In this example, the 6-Axis Arm will move its end effector to point at 270 degrees along the Z axis.

  when started :: hat events
  move [arm v] to orientation [yaw v] (270) degrees  ▶

Increment Move 6-Axis Arm Orientation#

The Increment Move 6-Axis Arm Orientation block is used to rotate the 6-Axis Arm’s end effector about an axis for an incremental distance in degrees.

This is can be a non-waiting or waiting block depending on if the and don’t wait option is used.

  increment [arm v] orientation by [pitch v] (0) degrees  ▶

Select which orientation to be moved.

The image shows a coding block configured to increment the orientation of a robotic arm by adjusting its "pitch" orientation. The dropdown menu in the block offers options to change the orientation by "pitch," "roll," or "yaw." Currently, "pitch" is selected, meaning the block will increment the arm's pitch orientation by the specified number of degrees (in this case, 0 degrees). This block is typically used within a loop or a conditional statement to gradually adjust the arm's orientation.

You can select the arrow to expand and don’t wait - this will allow subsequent blocks to run while the 6-Axis Arm moves.

  increment [arm v] orientation by [pitch v] (0) degrees  ◀ and don't wait

In this example, the 6-Axis Arm will move its end effector for 40 degrees along the Y axis.

  when started :: hat events
  increment [arm v] orientation by [pitch v] (40) degrees   ▶

Set 6-Axis Arm Speed#

The Set 6-Axis Arm Speed block is used to set the 6-Axis Arm’s speed.

By default, the arm’s speed is set to 50% at the start of a project. The 6-Axis Arm’s speed can be set to an integer from 1-100%.

  set [arm v] speed to (50) %

In this example, the 6-Axis Arm will set its speed to 30% before moving to (120, 120, 70).

  when started :: hat events
  set [arm v] speed to (30) %
  move [arm v] to position x: (120) y: (120) z: (70) [mm v]  ▶

Set 6-Axis Robotic Arm End Effector#

The Set 6-Axis Robotic Arm End Effector block is used to set the 6-Axis Arm’s end effector.

This will automatically adjust the Z-offset of the 6-Axis Arm for what end effector is selected. By default, the end effector is set to the Magnet Pickup Tool at the start of the project.

  set [arm v] end effector to [magnet v]

Select which end effector to set on the 6-Axis Arm.

The image shows a block used to set the end effector of a robotic arm. The block reads: "set arm end effector to magnet," with a dropdown menu visible. The dropdown menu shows two options: "magnet" and "pen," with "magnet" currently selected. This block allows the user to configure the end effector of the arm to either a magnet or a pen, depending on the task required.

In this example, the 6-Axis Arm will set its end effector to the Pen Holder Tool.

  when started :: hat events
  set [arm v] end effector to [pen v]

Set 6-Axis Arm Magnet Mode#

The Set 6-Axis Arm Magnet Mode block is used to set the 6-Axis Arm’s magnet mode indefinitely or until another Set 6-Axis Arm Magnet Mode Block is used.

At the start of a project, the Magnet Pickup Tool’s mode is reset to its default mode, released.

  set [arm v] magnet to [engaged v]

Select which mode to set the Magnet Pickup Tool to:

  • Engaged - The Magnet Pickup Tool will pick up objects.

  • Released - The Magnet Pickup Tool will drop any object it is holding and not pick up further objects.

The image shows a block that reads "set arm magnet to engaged." It includes a dropdown menu where "engaged" is selected, with "released" as another option. This block is used to control the state of the magnet on the robotic arm, either turning it on (engaged) or off (released). The "engaged" state, currently selected, means the magnet will be activated when this block is executed.

In this example, the 6-Axis Arm will set the Magnet Pickup Tool’s mode to engaged.

  when started :: hat events
  set [arm v] magnet to [engaged v]

Set 6-Axis Robotic Arm Pen Offset#

The Set 6-Axis Robotic Arm Pen Offset block is used to manually set the 6-Axis Robotic Arm’s current Z offset.

You must use the Set 6-Axis Robotic Arm End Effector block to set the end effector to the Pen Tool before using this command, otherwise the Set 6-Axis Robotic Arm Pen Offset will do nothing.

The pen offset is the distance between the top of the Pen Holder Tool and the tip of the Dry-Erase Marker. At the start of a project, the Pen Offset is set to 0. By default, this corresponds to the ~23mm between the tip of the Dry-Erase Marker that is provided in the CTE Workcell Kit and the Pen Holder Tool.

The default offset of 0 will place the Z axis origin for the Arm at where the Pen Tool connects to the 6-Axis Arm.

  set [arm v] pen offset to (0) [mm v]

Select which unit to set the pen offset with: millimeters or inches.

The image shows a block with the following configuration: "set arm pen offset to 0 mm," with a dropdown menu open, showing options to set the unit of measurement to either "mm" or "inches." The current selection is "mm," as indicated by the checkmark. This block is used in a program to set the pen offset of the robotic arm to 0 millimeters, with the flexibility to switch the measurement unit to inches if needed.

In this example, the 6-Axis Arm’s pen offset is set to 1 inch before the 6-Axis Arm moves to the position (120, 120, 0).

  when started :: hat events
  set [arm v] pen offset to (1) [inches v]
  move [arm v] to position x: (120) y: (120) z: (0) [mm v]  ▶

Enable 6-Axis Arm Control Stop#

The Enable 6-Axis Arm Control Stop block is used to enable the 6-Axis Arm’s control stop.

A control stop will stop the 6-Axis Arm from continuing any further movement. Once this block is used, you will not be able to re-enable the 6-Axis Arm until you restart the project.

  set [arm v] to control stopped

In this example, the 6-Axis Arm will move to (120, 120, 70) and then enable its control stop.

  when started :: hat events
  move [arm v] to position x: (120) y: (120) z: (70) [mm v]  ▶ 
  set [arm v] to control stopped