GithubHelp home page GithubHelp logo

introvertindisguise / mujoco-tutorial Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tayalmanan28/mujoco-tutorial

0.0 0.0 0.0 30.14 MB

Tutorial on how to get started with MuJoCo Simulation Platform. MuJoCo stands for Multi-Joint dynamics with Contact. It was acquired and made freely available by DeepMind in October 2021, and open sourced in May 2022. Feel free to contribute. Show your support by ✨this repository.

License: MIT License

Python 1.96% Jupyter Notebook 98.04%

mujoco-tutorial's Introduction

All Contributors

logo

MuJoCo Tutorial

Mujoco Tutorial 👓

Tutorial on how to get started with MuJoCo simulations.

Installation and Getting started: 🚀

Conda Environment Setup 🐍

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

Running example 👉

python3 run.py

Contents

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

MuJoCo Examples 👉

- 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

READMEs in different Languages

español

Contributing 🤝

So you can contribute to this repository in 2 ways:

  1. By adding new examples of MuJoCo environments
  2. By help in resolving the existing issues

For Contributing a new example to this repo:

  • 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".

For Contributions directly from 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
  • 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.

LICENSE 📃

The code is licenced under the MIT license and free to use by anyone without any restrictions. 👍


Our Top Contributors

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 😉 image

mujoco-tutorial's People

Contributors

tayalmanan28 avatar alokendumazumder avatar bchainbuidler avatar guillergood avatar arturoemmanueltoledoaguado avatar viki-07 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.