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 TiagoRobot

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

Overview

The Tiago class defines the robot model for the PAL Robotics TIAGo, a bimanual mobile manipulator with a torso lift joint and a pan-tilt head.

Description

The Tiago class extends ManipulatorModel to represent the TIAGo robot, a mobile manipulator created by PAL Robotics. It is configured as a bimanual robot with right and left arms, loading its MJCF model from robots/tiago/robot.xml. The robot uses a NullMobileBase as its default base platform.

Both arms are equipped with Robotiq85Gripper end-effectors. The default controller configuration specifies "joint_position" control for four body parts: right arm, left arm, head, and torso. This provides position-based joint control for all actuated degrees of freedom.

The initial joint configuration (init_qpos) is a 15-element array that includes the torso joint (index 0) and 7 joints per arm. The arms are initialized in a half-extended pose. End-effector names are defined as "right_hand" and "left_hand" for the two arms.

Workspace offsets are provided for bins, empty, and table arena configurations. The robot has a horizontal radius of 0.5 and a top offset of 1.0 in the z-direction.

Usage

Use this class when you need a bimanual mobile manipulator with head and torso control. The TIAGo is well-suited for tasks that require reaching, dual-arm coordination, and active perception through its pan-tilt head. Specify "Tiago" as the robot name when creating environments.

Code Reference

Source Location

Signature

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

    def __init__(self, idn=0)

Import

from robosuite.models.robots.manipulators.tiago_robot import Tiago

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 "NullMobileBase"
default_gripper dict {"right": "Robotiq85Gripper", "left": "Robotiq85Gripper"}
default_controller_config dict {"right": "joint_position", "left": "joint_position", "head": "joint_position", "torso": "joint_position"}
init_qpos np.ndarray 15-element array with torso joint and 7 joints per arm
arm_type str "bimanual"
_eef_name dict {"right": "right_hand", "left": "left_hand"}

Usage Examples

import robosuite

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

# Access robot properties
robot = env.robots[0]
print(f"Arms: {robot.robot_model.arms}")  # ['right', 'left']
print(f"Arm type: {robot.robot_model.arm_type}")  # "bimanual"

Related Pages

Page Connections

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