Red object → handoff → tray · ALOHA
ivy.agent.handover-aloha · v1.0.0
ivyx
The left arm picks the red object and sets it on the handoff, and once its jaws are open the right arm picks it from there and lets go over the tray. Every move names its arm and goes through the gateway as robotics.arm.moveTo, so the laboratory's envelope reads each one.
Steps
In the order the agent's file lists them, each with where its inputs come from and the values the file fixes. A branch or a loop is a step too.
- 01Extension stepFind the red object (left)robotics.scene.locate
- takes
targetfrom the agent's input- set
colorredtargetsim
- 02Extension stepA pose above the cube (left)robotics.pose.offset
- takes
posefrom step 1dzfrom the agent's input,approach- set
dz0.06
- 03Extension stepMove above the cube (left)robotics.arm.moveTo
- takes
posefrom step 2targetfrom the agent's inputspeedfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.25targetsimarmleft
- 04Extension stepThe grasp pose (left)robotics.pose.offset
- takes
posefrom step 1- set
dz0.005
- 05Extension stepCome down on the cube (left)robotics.arm.moveTo
- takes
posefrom step 4targetfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.1targetsimarmleft
- 06Extension stepClose the jaws (left)robotics.gripper.set
- takes
targetfrom the agent's input- set
behaviorivy.agent.handover-alohastateclosetargetsimarmleft
- 07Extension stepA pose to lift to (left)robotics.pose.offset
- takes
posefrom step 1dzfrom the agent's input,carry- set
dz0.1
- 08Extension stepLift the cube (left)robotics.arm.moveTo
- takes
posefrom step 7targetfrom the agent's inputspeedfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.25targetsimarmleft
- 09Extension stepFind the handoff (left)robotics.scene.locate
- takes
targetfrom the agent's input- set
namehandofftargetsim
- 10Extension stepA pose over the tray (left)robotics.pose.offset
- takes
posefrom step 9dzfrom the agent's input,carry- set
dz0.1
- 11Extension stepCarry it over the tray (left)robotics.arm.moveTo
- takes
posefrom step 10targetfrom the agent's inputspeedfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.25targetsimarmleft
- 12Extension stepA pose to let go from (left)robotics.pose.offset
- takes
posefrom step 9dzfrom the agent's input,release- set
dz0.05
- 13Extension stepLower into the tray (left)robotics.arm.moveTo
- takes
posefrom step 12targetfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.1targetsimarmleft
- 14Extension stepOpen the jaws (left)robotics.gripper.set
- takes
targetfrom the agent's input- set
behaviorivy.agent.handover-alohastateopentargetsimarmleft
- 15Extension stepMove back (left)robotics.arm.moveTo
- takes
posefrom step 7targetfrom the agent's inputspeedfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.25targetsimarmleft
- 16Extension stepFind the red object (right)robotics.scene.locate
- takes
targetfrom the agent's input- set
colorredtargetsim
- 17Extension stepA pose above the cube (right)robotics.pose.offset
- takes
posefrom step 16dzfrom the agent's input,approach- set
dz0.06
- 18Extension stepMove above the cube (right)robotics.arm.moveTo
- takes
posefrom step 17targetfrom the agent's inputspeedfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.25targetsimarmright
- 19Extension stepThe grasp pose (right)robotics.pose.offset
- takes
posefrom step 16- set
dz0.005
- 20Extension stepCome down on the cube (right)robotics.arm.moveTo
- takes
posefrom step 19targetfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.1targetsimarmright
- 21Extension stepClose the jaws (right)robotics.gripper.set
- takes
targetfrom the agent's input- set
behaviorivy.agent.handover-alohastateclosetargetsimarmright- returns
picked
- 22Extension stepA pose to lift to (right)robotics.pose.offset
- takes
posefrom step 16dzfrom the agent's input,carry- set
dz0.1
- 23Extension stepLift the cube (right)robotics.arm.moveTo
- takes
posefrom step 22targetfrom the agent's inputspeedfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.25targetsimarmright
- 24Extension stepFind the tray (right)robotics.scene.locate
- takes
targetfrom the agent's input- set
nametraytargetsim
- 25Extension stepA pose over the tray (right)robotics.pose.offset
- takes
posefrom step 24dzfrom the agent's input,carry- set
dz0.1
- 26Extension stepCarry it over the tray (right)robotics.arm.moveTo
- takes
posefrom step 25targetfrom the agent's inputspeedfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.25targetsimarmright
- 27Extension stepA pose to let go from (right)robotics.pose.offset
- takes
posefrom step 24dzfrom the agent's input,release- set
dz0.05
- 28Extension stepLower into the tray (right)robotics.arm.moveTo
- takes
posefrom step 27targetfrom the agent's input- set
behaviorivy.agent.handover-alohaspeed0.1targetsimarmright- returns
placed
- 29Extension stepOpen the jaws (right)robotics.gripper.set
- takes
targetfrom the agent's input- set
behaviorivy.agent.handover-alohastateopentargetsimarmright- returns
released
What it runs on
Its steps are an extension's own capabilities. Install the extension from the extension marketplace: it is not added with the agent.
- Robot
- Arm
- Written for
- aloha
- Joints
- 6
- Gripper
- Yes
- Sensors
- scene
What it touches
Collected from what each of its nodes declares and what the agent's own file declares, such as moving a robot, plus the model call when a step is a model turn. A declaration is the author's statement, and it is what policy rules select on.
Inputs
| Field | Type | Description |
|---|---|---|
| target | string | Where the arm is: sim for the simulator. The workspace's default when omitted. |
| approach | number | How high above the cube the jaws arrive before coming down, metres. |
| carry | number | How high the cube is carried, metres above the table. |
| release | number | How high above the tray floor the jaws open, metres. |
| speed | number | The tool's path speed for every move, metres per second. |
Outputs
| Field | Type | Description |
|---|---|---|
| picked | string | The object the jaws closed on. |
| placed | object | Where the tool was when the jaws opened. |
| released | string | What the jaws held after opening: null when they let go. |
Simulator proof
20 of 20 runs of the random-pose scenario succeeded, in MuJoCo 3.17.0 on Nov 3, 2026. The simulator counted no collisions.
The publisher ran these trials in IVYX Robotics and wrote the result onto this version before publishing it. The registry keeps the record; it runs nothing again. The target was the simulator, the only one extension-robotics drives today.
Tests
1 of 1 test cases passed on Nov 3, 2026, in the publisher's own environment, before this version was published. The registry keeps that record; it does not run the cases again.
Requires: extension-robotics
- one-cube
In the simulator the left arm sets the red object on the handoff and the right arm puts it over the tray.
- given
targetsim- expects
pickedequals cube