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:Haosulab ManiSkill Ego Centric Control

From Leeroopedia
Knowledge Sources
Domains Robotics, Mobile_Robotics, Control_Theory
Last Updated 2026-02-15 08:00 GMT

Overview

Mobile robot base controllers accept velocity commands in the robot's local (ego-centric) frame and transform them to world-frame joint targets using the robot's current orientation, decoupling the policy's action space from the robot's global heading.

Description

The Ego Centric Control principle addresses navigation for mobile robots in simulation. A policy controlling a mobile base naturally reasons in the robot's local frame: "move forward", "strafe left", "rotate right". However, the physics engine operates in a global world frame where joint drive targets must account for the robot's current orientation. Ego-centric controllers bridge this gap by applying a 2D rotation matrix based on the robot's current heading to convert local velocity commands to world-frame velocities.

ManiSkill provides two variants: PDBaseVelController for omnidirectional (holonomic) bases supporting xy-plane translation plus z-axis rotation (3D action), and PDBaseForwardVelController for differential-drive robots supporting forward velocity plus rotation only (2D action). Both extend the PD velocity controller with the ego-centric transformation.

Usage

This principle applies whenever:

  • A mobile robot (wheeled base, legged platform) must be controlled via local-frame velocity commands.
  • The policy should not need to track the robot's absolute orientation to issue movement commands.
  • Omnidirectional or differential-drive semantics must be enforced at the controller level.

Theoretical Basis

2D Rotation Transform: Given ego-centric velocities (vx_ego, vy_ego) and robot heading angle θ, world-frame velocities are:

vx_world = vx_ego * cos(θ) - vy_ego * sin(θ)

vy_world = vx_ego * sin(θ) + vy_ego * cos(θ)

Holonomic vs Non-Holonomic: The omnidirectional controller allows independent lateral movement. The forward-only controller constrains the robot to move along its heading direction, simulating differential-drive kinematics.

Velocity Drive: The transformed velocities are set as velocity drive targets on the base joints (typically prismatic x/y joints and a revolute z joint on the robot's root link).

Related Pages

Page Connections

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