Project Eleven explores training quadruped locomotion using reinforcement learning in MuJoCo with Python. The goal is to develop an agile, intelligent robot through simulation-based learning, starting with a bipedal prototype and scaling to a full quadruped design.
This project follows a comprehensive workflow from CAD design to physics simulation:
SolidWorks CAD → URDF Format → MuJoCo XML → Physics Simulation
Designed individual components for the bipedal prototype:
- Waist (1x)
- Hip joints (2x - mirrored)
- Upper legs (2x - mirrored)
- Lower legs (2x - mirrored)
Key Technique - Independent Mirror Parts: For mirrored components that need independent axes and references:
- Open the original part
- Select a face or plane for mirroring
- Go to
Insert → Mirror Part - Choose features/body to mirror
- ✨ Select "Break link to original part" under Link options
- Click OK to create a distinct, editable copy
This creates a new part file that can be modified independently without affecting the source part.
Converted SolidWorks assembly to URDF format using the SW2URDF exporter:
- Define the base link (root of kinematic tree)
- Configure all links in hierarchical order
- Set up joints between connected links
- Verify coordinate frames and joint axes
Output: A working URDF file with complete robot description
Used MuJoCo's built-in compiler to convert URDF to MuJoCo XML format:
compile Assembly_2legs/urdf/Assembly_2legs.urdf Assembly_2legs/urdf/Assembly_2legs.xmlCompiler Location:
C:\Users\[username]\mujoco-3.3.2-windows-x86_64\bin\compile.exe
Result: A MuJoCo-ready XML file with the complete kinematic tree preserved
With the XML file ready, you can now customize the simulation parameters:
- ⚙️ Actuators - Apply motors to joints for control
- 🔧 Joint Limits - Set realistic motion constraints
- 🎚️ Stiffness - Configure joint stiffness values
- 📉 Damping - Add damping for realistic motion
Status: Kinematic tree complete and ready for physics simulation!
Designing robot components in SolidWorks and converting to MuJoCo format. Currently focusing on 2-leg analysis for learning and understanding the complete workflow.
Implementing control systems to achieve bipedal locomotion. Testing stability and gait patterns with the 2-leg prototype.
Training the robot using RL algorithms in MuJoCo. Optimizing for agile and intelligent movement patterns.
Scaling to full quadruped (4-leg) version or optimizing the bipedal design based on results. Final integration and testing.
- CAD Design: SolidWorks
- Robot Description: URDF (Unified Robot Description Format)
- Physics Simulation: MuJoCo
- Programming: Python 3.8+
- Machine Learning: Reinforcement Learning algorithms
- Control Systems: PID controllers, trajectory planning
- Tools: SW2URDF exporter, Jupyter Notebook
The repository includes all necessary files to replicate the workflow:
files/Assembly_2legs.SLDASM- Complete SolidWorks assemblyfiles/Assembly_2legs.urdf- Robot description formatfiles/Assembly_2legs.xml- MuJoCo simulation modelfiles/mujoco_simulation.ipynb- Python simulation code
# Required Software
- SolidWorks 2020 or later
- MuJoCo 3.0+
- Python 3.8+
- Jupyter Notebook- Clone the repository:
git clone https://github.com/Sjschhabra/project-eleven.github.io.git
cd project-eleven.github.io- Install Python dependencies:
pip install mujoco numpy matplotlib jupyter- Open the simulation notebook:
jupyter notebook files/mujoco_simulation.ipynbLoad the MuJoCo XML model and run physics simulation:
import mujoco
import mujoco.viewer
# Load the model
model = mujoco.MjModel.from_xml_path('files/Assembly_2legs/urdf/Assembly_2legs.xml')
data = mujoco.MjData(model)
# Launch interactive viewer
with mujoco.viewer.launch_passive(model, data) as viewer:
while viewer.is_running():
mujoco.mj_step(model, data)
viewer.sync()- MuJoCo Documentation: https://mujoco.readthedocs.io/
- SW2URDF Plugin: https://github.com/ros/solidworks_urdf_exporter
- URDF Specification: http://wiki.ros.org/urdf
- Project Website: https://sjschhabra.github.io/project-eleven.github.io/
- Complete CAD design of 2-leg prototype
- Convert SolidWorks assembly to URDF
- Compile URDF to MuJoCo XML format
- Basic physics simulation in MuJoCo
- Implement control systems for bipedal walking
- Apply reinforcement learning algorithms
- Optimize gait patterns and stability
- Scale to full quadruped (4-leg) design
- Physical prototype construction (if feasible)
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Sjschhabra
- GitHub: @Sjschhabra
- Project Website: project-eleven.github.io
Give a ⭐️ if this project helped you or if you find it interesting!





