Tutorial on how to get started with MuJoCo simulations.
To install Anaconda follow the instructions in this webpage (Ubuntu 20.04)
Create a conda environment for MuJoCo setup:
conda create --name mujoco-tut
Switch to the newly create environment (you will notice the name of the environment on the command line in the extreme left):
conda activate mujoco-tut
Then, clone the repository on your system:
git clone https://github.com/tayalmanan28/Mujoco-Tutorial.git
Install the following required packages:
pip install -r requirements.txt
Jupyter notebook
conda install nb_conda_kernels
rendering ffmpeg
sudo apt install -y ffmpeg
python3 run.py
The main purpose of this repo is providing the starter code required to run a MuJoCo simulation with keyboard and mouse callbacks using its Python bindings. The base class is in mujoco_base.py
. To create your own MuJoCo simulation, you can create a new class that inherits mujoco_base.MuJoCoBase
. An example of this usage is provided in example_projectile.py
, the new class should implement the functions
- reset() # Initializes the enviroment and control callback
- controller() # Adds control actions
- simulate() # Copy the simulate() function from
# mujoco_base.MuJoCoBase and add your own twist
- Projectile with drag
- Control a simple pendulum
- Control a double pendulum
- Leg swing
- Manipulator drawing
- Control an underactuated pendulum
- Gymnast swing/release on a bar
- 2D Hopper
- Initial Value Problem
- Inverse Kinematics
- 2D Biped
So you can contribute to this repository in 2 ways:
- By adding new examples of MuJoCo environments
- By help in resolving the existing issues
- Fork this repository. You can fork this repository by clicking on fork button on top right corner. Once you fork this will create a copy of repo on your account
- Follow the above steps for installation
- Go to the
examples
folder and go through different mujoco environment examples. - Create a valid xml file. The instructions for making an XML File are mentioned here
- Then you can use one of the environments as a base to create a mujoco environment for your example and discuss if there are any issues.
- Once completed, create a pull request, read about submitting a pull request in the DigitalOcean tutorial "How To Create a Pull Request on GitHub".
- Fork this repository. You can fork this repository by clicking on fork button on top right corner. Once you fork this will create a copy of repo on your account
- Follow the above steps for installation
- Based on your experience select an issue from the issues button above and ask for assigning the issue to you. Work on the issue and discuss it if you face any problems.
- Create a pull request, read about submitting a pull request in the DigitalOcean tutorial "How To Create a Pull Request on GitHub".
Soon, we will review your request and merge your pull requests to the main branch of project if your pull request is valid. You will also get notification once your pull request is merged with existing code base. After that you will be able to see your details in contributor section on the page below.
The code is licenced under the MIT license and free to use by anyone without any restrictions. 👍
Currently we are also participating in Hacktober Fest 2022 🎃 so if you want to contribute to this repository please follow the contributing instructions given in the contributing Section below 😉