Nate711 / PupperPythonSim

46 stars 19 forks source link

Pupper Robot: Control & Simulation

This repo has been replaced by: https://github.com/stanfordroboticsclub/stanfordquadruped

Overview

This repository contains Python code to run Pupper, a Raspberry Pi-based quadruped robot. In addition to the robot code, this repository also contains a wrapper to simulate the robot in MuJoCo or PyBullet using the same code that runs on the robot.

Video of the robot following a QR code: https://www.youtube.com/watch?v=iyuJq_Pn7TM

Installing and Running Code on the Raspberry Pi

Materials

Steps

Installation for PyBullet Simulation

The PyBullet simulator is free for academic use and requires no license whatsoever, but in my experience PyBullet is much slower than MuJoCo and is less clear about how to tune the contact parameters.

  1. Clone this repository
    git clone https://github.com/Nate711/PupperSimulation.git
  2. Install pybullet (in a python 3.7 environment)
    pip install pybullet

    Run PyBullet Simulation

  3. Run simulation:
    python3 simulate_pybullet.py

Installation for MuJoCo Simulation

MuJoCo has been faster than PyBullet in my experience, but requires that you request and activate a license. The process to acquire a license can take several days.

  1. Clone this repository

    git clone https://github.com/Nate711/PupperSimulation.git
  2. Acquire a license for MuJoCo at http://mujoco.org/. You can get a free trial of the professional license for a month, or with a student account, a free year.

  3. Follow the instructions at https://github.com/openai/mujoco-py to correctly install MuJoCo.

If you have trouble installing MuJoCo on macOS because gcc can't find certain header files, like "limits.h" or "stdio.h", then try completing the installation wizard that pops up when you run:

sudo open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg 

And also do:

brew update
brew install gcc@8
brew link --overwrite gcc
  1. Install the python requirements:
    sudo bash install_packages_sim.sh

Run MuJoCo Simulation

(Sorry, the MuJoCo sim has not been updated in a while so does not currently work. You're welcome to update it to work with our other code though!)

  1. Run
    python3 simulate.py
  2. The MuJoCo simulator should then pop up in a new window with various interactive options. Press space to stop or start the simulation.