Piper-X MuJoCo Simulation¶
Project Overview¶
piper-X is a MuJoCo-based simulation of the AgileX Piper robotic arm, developed by AB-pixel-pixel.
- Repository: AB-pixel-pixel/piper-X
- Simulator: MuJoCo
- Language: Python
About AgileX Piper¶
The AgileX Piper is a 6-DOF collaborative robotic arm with:
| Specification | Value |
|---|---|
| Degrees of Freedom | 6 |
| Payload | 1.5 kg |
| Reach | 580mm |
| Weight | ~9kg |
| Repeatability | ±0.1mm |
Key Features¶
- Lightweight: Easy to mount and integrate
- High Precision: Industrial-grade servo motors
- ROS/ROS2 Support: Native integration with Robot Operating System
- Cobot Design: Safe for human-robot collaboration
piper-X Project Goals¶
This project aims to provide:
- Physics-Accurate Simulation: Realistic dynamics modeling in MuJoCo
- Rapid Prototyping: Test manipulation algorithms without hardware
- Research Platform: Foundation for RL and control research
- Sim-to-Real Bridge: Transfer learned policies to real hardware
Getting Started¶
Installation¶
# Clone the repository
git clone https://github.com/AB-pixel-pixel/piper-X.git
cd piper-X
# Install dependencies
pip install mujoco
pip install numpy
pip install matplotlib
Basic Usage¶
import mujoco
import numpy as np
# Load Piper model
model = mujoco.load("piper.xml")
data = mujoco.Data(model)
# Set joint positions
data.qpos[0:6] = [0, -0.5, 1.0, 0, 0.5, 0]
# Run simulation
for _ in range(1000):
mujoco.mj_step(model, data)
Project Structure¶
piper-X/
├── piper.xml # MuJoCo model definition
├── sim.py # Basic simulation example
├── control.py # Joint position control
├── ik_solver.py # Inverse kinematics
└── rl_train.py # Reinforcement learning setup
Integration with This Course¶
This project connects to our course materials:
| Module | Connection |
|---|---|
| Simulation | MuJoCo fundamentals |
| Robotics Basics | Forward/inverse kinematics |
| Control | Joint trajectory control |
| RL Applications | Policy learning |
Next Steps¶
- Try the basic simulation
- Implement joint space control
- Add inverse kinematics
- Train a grasping policy with RL