Environment:Haosulab ManiSkill Motion Planning Deps
| Knowledge Sources | |
|---|---|
| Domains | Motion_Planning, Robotics_Simulation |
| Last Updated | 2026-02-15 08:00 GMT |
Overview
Linux-only environment with MPlib 0.1.1 and fast_kinematics 0.2.2 for collision-free motion planning and fast IK computation.
Description
This environment provides the motion planning dependencies required for generating expert demonstrations via scripted motion planners. MPlib (Motion Planning Library) provides collision-aware RRT-based planners for computing collision-free joint-space trajectories. fast_kinematics provides accelerated forward/inverse kinematics computation. Both packages are Linux-only and are automatically installed on Linux platforms as core dependencies.
Usage
Use this environment for the Motion Planning Demo Generation workflow and any task that requires scripted expert demonstrations. This includes running the BaseMotionPlanningSolver, generating trajectories with the panda motion planning scripts, and any custom solver that uses mplib for collision-free planning.
System Requirements
| Category | Requirement | Notes |
|---|---|---|
| OS | Linux only | MPlib and fast_kinematics are not available on Windows or macOS |
| Hardware | CPU (GPU optional) | Motion planning runs on CPU with physx_cpu backend |
| Python | >= 3.9 | Same as core environment |
Dependencies
System Packages
- Linux OS (Ubuntu 20.04+ recommended)
Python Packages
- `mplib` == 0.1.1 (Linux only)
- `fast_kinematics` == 0.2.2 (Linux only)
- All packages from Environment:Haosulab_ManiSkill_Python_SAPIEN_Core
Credentials
No additional credentials required.
Quick Install
# On Linux, these are installed automatically with ManiSkill
pip install mani_skill
# Or install explicitly
pip install mplib==0.1.1 fast_kinematics==0.2.2
Code Evidence
Platform-specific dependency from `setup.py:43-44`:
"mplib==0.1.1;platform_system=='Linux'",
"fast_kinematics==0.2.2;platform_system=='Linux'",
MPlib usage in BaseMotionPlanningSolver from `mani_skill/examples/motionplanning/base_motionplanner/motionplanner.py:5-6`:
import mplib
from mplib import Pose as MPPose
Robot base limitation from `mani_skill/examples/motionplanning/base_motionplanner/motionplanner.py:18`:
base_pose: sapien.Pose = None, # TODO mplib doesn't support robot base being anywhere but 0
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
| `ModuleNotFoundError: No module named 'mplib'` | Running on Windows or macOS | Motion planning is Linux-only; use Linux or WSL |
| Motion planner returns no path | Collision prevents path finding | Check object placement; ensure goal pose is reachable without collisions |
| Robot base pose not at origin | MPlib limitation | Keep robot base at world origin (0,0,0); mplib does not support arbitrary base poses |
Compatibility Notes
- Windows/macOS: MPlib and fast_kinematics are not available. Motion planning demo generation workflows cannot run on these platforms. Use Linux or WSL2.
- MPlib Base Pose: The current MPlib version (0.1.1) does not support setting the robot base pose to anything other than the origin. This is a known limitation documented in the code.
- CPU-only: Motion planning solvers run on the CPU (`physx_cpu` backend) and operate on single environments. Parallelism is achieved through Python multiprocessing, not GPU batching.