Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:ARISE Initiative Robosuite BaxterRobot

From Leeroopedia
Knowledge Sources
Domains Robotics, Robot Modeling, Bimanual Manipulation
Last Updated 2026-02-15 07:00 GMT

Overview

The Baxter class defines the robot model for the Rethink Robotics Baxter bimanual manipulator, a dual-arm robot with 7 degrees of freedom per arm.

Description

The Baxter class extends ManipulatorModel to represent the Baxter robot, a bimanual platform designed by Rethink Robotics. It defines two arms (right and left) with 14 total joint degrees of freedom (7 per arm). The class loads its MJCF definition from robots/baxter/robot.xml.

The model configures each arm with a RethinkGripper and uses osc_pose (operational space control in pose mode) as the default controller for both arms. The initial joint configuration (init_qpos) places the arms in a half-extended pose. The robot uses a RethinkMinimalMount as its base.

End-effector names are defined as "right_hand" and "left_hand", corresponding to the gripper mount points in the XML model. Workspace offsets are provided for three arena types: bins, empty, and table (the latter being a function of table length).

Usage

Use this class when you need a bimanual robot setup in a robosuite environment. Specify "Baxter" as the robot name when creating environments.

Code Reference

Source Location

Signature

class Baxter(ManipulatorModel):
    arms = ["right", "left"]

    def __init__(self, idn=0)

Import

from robosuite.models.robots.manipulators.baxter_robot import Baxter

I/O Contract

Inputs

Name Type Required Description
idn int or str No Unique identification number or string for this robot instance (default: 0)

Outputs

Name Type Description
default_base str "RethinkMinimalMount"
default_gripper dict {"right": "RethinkGripper", "left": "RethinkGripper"}
default_controller_config dict {"right": "osc_pose", "left": "osc_pose"}
init_qpos np.ndarray 14-element array of initial joint positions [right_arm(7), left_arm(7)]
arm_type str "bimanual"
_eef_name dict {"right": "right_hand", "left": "left_hand"}

Usage Examples

import robosuite

# Create a Lift environment with a Baxter robot
env = robosuite.make(
    "Lift",
    robots="Baxter",
    has_renderer=True,
    has_offscreen_renderer=False,
    use_camera_obs=False,
)
obs = env.reset()

# The robot has two arms accessible via env.robots[0]
robot = env.robots[0]
print(f"Arms: {robot.arms}")  # ['right', 'left']

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment