program_id: repeated_cube_pick_place
instruction: Move the cube to target B, then to target A.
targets:
  drop_pose:
    kind: cyclic_pose
    values:
    - position: [-0.42, -0.08, 0.1]
      quaternion_xyzw: [0.0, 0.0, 0.0, 1.0]
    - position: [-0.4, 0.48, 0.1]
      quaternion_xyzw: [0.0, 0.0, 0.0, 1.0]
program:
  kind: repeat
  count: 2
  body:
    kind: sequence
    items:
    - kind: segment
      name: pick_cube
      instruction: Grasp and lift the cube.
      steps:
        kind: invoke
        call:
          kind: pick
          object: cube
    - kind: segment
      name: place_cube
      instruction: Place the cube at the next target position and release it.
      steps:
        kind: invoke
        call:
          kind: place
          object: cube
          at:
            kind: target_ref
            target: drop_pose
