Skip to content

Loading search…

core

Robot state, camera views, show() and finish(): what every program needs.

  • Layer: base
  • Needs: –
  • Requires: –
  • Conflicts with: –
  • Never dropped: yes
  • Mixin: skills.core:Core
  • Manifest: skills/core/skill.toml
def finish(summary='')

End the episode now: the program’s own checks say the task is done. No further model call follows.

def get_state()

The robot state, read fresh from the robot: step, ended, joint_position (14: left 6 joints, left gripper, right 6 joints, right gripper), left_ee_pose and right_ee_pose (link6 poses), and step_limit when the connection reports it.

def get_observation(cameras=None)

Current camera views as an Observation: .images[camera] (RGB uint8 HxWx3), .intrinsics[camera] (3x3), .camera_to_world[camera] (4x4, OpenCV convention) and .state. cameras is a camera name or a list of them; None means every camera.

def show(what, caption='')

Attach camera views or an RGB array to the next message you receive.

Also in the namespace: ARMS, CONTROL_HZ (constants and names the skill’s exports(session) provides).

From the RoboDojo prompt pack (prompts/robodojo/), with every skill and feature on:

finish(), when an unhandled event stops it, or when it raises an error; each time uses
get_state() -> dict step, step_limit, ended, joint_position (14: left 6 joints,
left gripper, right 6 joints, right gripper),
left_ee_pose, right_ee_pose
get_observation(cameras=None) -> Observation
.images[camera] RGB uint8 HxWx3, .intrinsics[camera] 3x3,
.camera_to_world[camera] 4x4 (OpenCV convention), .state
show it (or reply <finish>). You are asked again when the program ends without