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 Motion Planning Execution

From Leeroopedia
Field Value
Principle Name Motion Planning Execution
Domain Motion_Planning
Overview Computing collision-free robot arm trajectories using sampling-based motion planning
Date 2026-02-15
Repository Haosulab/ManiSkill

Overview

The Motion Planning Execution principle describes how ManiSkill computes collision-free trajectories that move a robot arm from its current configuration to a target end-effector pose. This is a foundational capability for generating expert demonstrations: rather than relying on learned policies, the system uses classical motion planning algorithms to produce geometrically correct and physically feasible paths.

Description

The motion planning execution layer wraps the mplib library (Motion Planning Library) to provide three planning strategies:

  • Screw motion (plan_screw): Computes a direct interpolation in SE(3) along a screw axis from the current pose to the target pose, then solves inverse kinematics at each interpolated waypoint. This produces smooth, predictable motions and is preferred when the path is likely to be collision-free. If the first attempt fails, the planner retries once before giving up.
  • RRTConnect: A bidirectional Rapidly-exploring Random Tree algorithm that grows trees from both the start and goal configurations and attempts to connect them. This is the default sampling-based planner and works well for moderately cluttered environments.
  • RRT* (RRT-Star): An asymptotically optimal variant of RRT that continues to improve the path quality within a given planning time budget. This is useful when path optimality (e.g., shortest path) matters more than planning speed.

All three methods share a common interface: they accept a target pose (position + quaternion), optionally perform a dry run (returning the planned path without executing it), and follow the computed path by stepping the environment with joint position actions.

The planner is configured from the robot's URDF and SRDF files, which define the kinematic chain, joint limits, and self-collision pairs. Joint velocity and acceleration limits can be scaled to control motion speed.

Usage

Task-specific solver functions compose these planning primitives to achieve manipulation goals. A typical solver might:

  1. Use move_to_pose_with_screw to approach a pre-grasp pose above an object.
  2. Close the gripper.
  3. Use move_to_pose_with_screw to lift the object.
  4. Use move_to_pose_with_RRTConnect to move to a placement location if obstacles are present.

The planner also supports point cloud-based collision avoidance via add_box_collision and add_collision_pts, enabling obstacle-aware planning in cluttered scenes.

Theoretical Basis

The algorithms used are grounded in well-established motion planning theory:

  • Inverse Kinematics (IK): Given a desired end-effector pose in Cartesian space, IK computes the corresponding joint angles. The mplib planner uses numerical IK solvers internally.
  • Screw Theory: Any rigid body displacement can be described as a rotation about and translation along a single axis (the screw axis). Screw interpolation produces smooth SE(3) trajectories (Chasles' theorem).
  • RRT (Rapidly-exploring Random Trees) (LaValle, 1998): A sampling-based algorithm that incrementally builds a tree of collision-free configurations by randomly sampling the configuration space and extending toward those samples.
  • RRTConnect (Kuffner & LaValle, 2000): A bidirectional variant that grows trees from both the start and goal, significantly improving convergence speed in practice.
  • RRT* (Karaman & Frazzoli, 2011): An asymptotically optimal extension of RRT that rewires the tree to minimize path cost, converging to the optimal path given sufficient planning time.
  • Collision checking: Point cloud-based collision detection allows the planner to reason about arbitrary obstacles sampled from the environment without requiring exact geometric models.

Related Pages

Page Connections

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