Implementation:ARISE Initiative Robosuite BaxterRobot
| 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']