MuJoCo is a free and open-source physics engine designed to facilitate research and development in robotics, biomechanics, graphics, and animation, providing fast and accurate simulation capabilities.
-
MuJoCo: Multi-Joint dynamics with Contact
-
Rigid-body simulation
-
Essential simulator components:
- Solving equations of motion (e.g., articulated body algorithms)
- Contact solver (key factor for sim-to-real gaps)
- User-friendly visualizer
- Introduction to
MuJoCoandmujoco_parser - Forward Kinematics
- Forward Dynamics
- Inverse Kinematics
- Inverse Dynamics
- Reinforcement Learning with
Soft Actor-CriticforSnapbot
Follow the steps below to configure your environment
Create a new conda environment and activate it:
conda create -n snapbot-env python=3.10
conda activate snapbot-envInstall all required packages from the provided requirements.txt file:
pip install -r requirements.txtOptimize robotic motion using reinforcement learning. Train and evaluate control policies in simulation for various competition tasks.
- Standing Long Jump: Forward distance achieved by robot after jumping
- High Jump: Vertical height achieved by robot
- Running Sideways: Time to reach designated goal coordinate (faster is better)
- All tasks conducted in MuJoCo
- Snapbot robot model (
XML) - SAC algorithm implementation (
notebook/06_sac_snapbot_train.ipynb,notebook/06_sac_snapbot_eval.ipynb,pakage/gym/snapbot_env.py,pakage/rl/sac.py) - (Reward functions must be designed by students)
- Configure neural network dimensions based on robot DoF and action dimensions
- Design task-specific reward functions
- Train and evaluate policies
- Analyze reward function impact on performance
- One-page A4 result report (must include reward definitions and model hyperparameters)
- Video of trained Snapbot performance
Aim to design the best policy and win the Snapbot Olympics!
- Prof. Sungjoon Choi: sungjoon dash choi at korea dot ac dot kr
- TA Taemoon Jeong: taemoon dash jeong at korea dot ac dot kr