LeRobot EnvHub-compatible simulation environment for the SO-101 follower arm.
1from so101_single_arm_env.env import make_env, SingleArmEnvConfig, CameraConfig
2
3# Default (push task, tuned cameras)
4env = make_env(n_envs=1)
5obs, _ = env.reset()
6
7# Custom camera positions
8cfg = SingleArmEnvConfig(
9 task="push",
10 wrist_camera=CameraConfig("wrist", pos=(0.0, -0.043, -0.042), euler=(29.0, -6.0, 0.5), fov=75.0),
11 outside_cameras=[
12 CameraConfig("outside_left", pos=(0.462, -0.110, 1.273), euler=(0.5, 3.5, 91.0), fov=65.0),
13 CameraConfig("outside_right", pos=(0.382, -0.304, 1.066), euler=(65.0, 1.0, -3.0), fov=65.0),
14 ],
15)
16env = make_env(cfg=cfg)
joint_pos (6,) joint positions [rad]
joint_vel (6,) joint velocities [rad/s]
ee_pos (3,) end-effector position [m]
object_pos (3,) cube position [m]
object_quat (4,) cube orientation [wxyz]
object_vel (3,) cube linear velocity [m/s]
goal_pos (3,) goal position [m]
goal_quat (4,) goal orientation [wxyz]
images.wrist (480,640,3) uint8
images.outside_left (480,640,3) uint8
images.outside_right (480,640,3) uint8