Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Principle:ARISE Initiative Robosuite Mobile Base Control Abstraction

From Leeroopedia
Knowledge Sources
Domains Robotics, Mobile Robotics, Software Architecture
Last Updated 2026-02-15 07:00 GMT

Overview

The mobile base control abstraction defines a base class for mobile base controllers that provides planar pose tracking, state management, and a uniform interface for SE(2) locomotion control.

Description

Mobile manipulation robots require a separate control abstraction for their navigating base, distinct from the arm and gripper controllers. The mobile base operates in a fundamentally different space: it moves in the plane (SE(2) or, for legged robots, SE(3)) rather than in joint space relative to a fixed base. The base controller abstraction captures this distinction by providing infrastructure for tracking the base's planar position and orientation, managing the correspondence between joint-level actuation and base-level motion, and defining the lifecycle for base control.

The base controller maintains the simulator reference, joint index mappings (position, velocity, and joint indices), and actuator limits, similar to the arm controller. However, it omits end-effector-specific state (no reference site tracking, no Jacobians, no mass matrix computation) since the base's "end effector" is the base frame itself. Instead, it provides a get_base_pose method that reads the base position and orientation from a designated center site in the simulator.

The controller tracks an initial pose (position and orientation at the start of each episode) which serves as the reference frame for action interpretation. This is critical because mobile base policies typically issue commands relative to the robot's starting configuration, and the controller must maintain this reference across the episode. The state update mechanism is simplified compared to the arm controller: it only reads joint positions and velocities, without computing Jacobians or mass matrices.

Usage

Apply the mobile base control abstraction as the foundation for any controller that commands a robot's locomotion subsystem. This base class should be extended for specific control modes (velocity control, position control) and specific base types (differential drive, omnidirectional, legged). It ensures that all base controllers share a common interface for state management, action scaling, and actuator interaction, enabling the composite controller system to treat all base controllers uniformly.

Theoretical Basis

Mobile Base Controller Base Class:

  Initialization:
    - Store simulator reference and joint index mappings
    - Read initial joint positions and velocities
    - Set actuator range for output clamping
    - Forward one simulation step to propagate initial state

  State Management:
    - joint_pos: current joint positions (e.g., wheel angles)
    - joint_vel: current joint velocities (e.g., wheel speeds)
    - base_pos: 3D position of base center site
    - base_ori_mat: 3x3 rotation matrix of base center site
    - init_pos, init_ori: pose at episode start (reference frame)

  Interface Contract:
    - get_base_pose() -> (position, orientation)
        Read base pose from simulator center site
    - reset()
        Store current base pose as init_pos, init_ori
    - update(force=False)
        Read joint_pos, joint_vel from simulator
        Skip if already up-to-date (lazy update)
    - set_goal(action)    [abstract]
    - run_controller()    [abstract]
    - scale_action(action)
        Linear mapping from input range to output range
    - clip_torques(torques)
        Clamp to actuator limits
    - reset_goal()        [abstract]

  Properties:
    - torque_compensation: bias forces from simulator
    - actuator_limits: (min, max) actuator bounds
    - control_limits: (input_min, input_max)
    - name: controller type string

Key design decisions:

  • No Jacobian or mass matrix: Mobile bases are controlled at the velocity or position level via their actuators; the dynamic coupling is handled by the simulator rather than by the controller.
  • Center site tracking: The base pose is read from a named site rather than from joint positions, because the base's Cartesian pose is not directly represented in joint space for free-floating bases.
  • Episode-relative reference frame: Storing the initial pose enables consistent interpretation of policy actions throughout an episode, regardless of accumulated base motion.
  • Separate from arm controller: The distinct state requirements (no EE tracking, no Jacobian, different actuator model) justify a separate class hierarchy rather than inheriting from the arm controller base.

Related Pages

Page Connections

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