Setup

Almond Bot can be teleoperated using the twin, keyboard, or gamepad. This is a useful way to familiarize yourself with Almond Bot, it’s capabilities, and training it to perform complex tasks. In order to teleoperate the robot, you need to put it in teleoperation mode.

await client.set_mode(Mode.TELEOPERATION)

Once the robot is in teleoperation mode, you can stream either Pose or Joints data to the robot.

Stream Pose data

When streaming Pose data, you can send a Pose at your desired frequency, along with the tool stroke and force.

# Stream Pose data

stream_frequency = 10 # Hz
while True:
    next_pose = ...
    next_tool_stroke, next_tool_force = ...
    await client.stream_pose(frequency=stream_frequency, pose=next_pose, stroke=next_tool_stroke, force=next_tool_force)
    await asyncio.sleep(1 / stream_frequency)

Stream Joint data

When streaming Joints data, you can send a Joints at your desired frequency, along with the tool stroke and force.

# Stream Joints data

stream_frequency = 10 # Hz
while True:
    next_joints = ...
    next_tool_stroke, next_tool_force = ...
    await client.stream_joints(frequency=stream_frequency, joints=next_joints, stroke=next_tool_stroke, force=next_tool_force)
    await asyncio.sleep(1 / stream_frequency)

Twin Control

Almond Bot comes with a mini twin arm that can be used to teleoperate the robot. This is the easiest and most intuitive way to teleoperate the robot and collect training data.

Twin Setup

  1. Connect the twin to the robot using the provided USB cable.
  2. Put the robot in Teleoperation Mode.
  3. Enable twin control by calling client.connect_twin().

Move the twin to move the robot.