https://github.com/nate711/qpdoggo
Use QP and whole-body PID to control a 12DOF robot dog.
https://github.com/nate711/qpdoggo
Last synced: about 2 months ago
JSON representation
Use QP and whole-body PID to control a 12DOF robot dog.
- Host: GitHub
- URL: https://github.com/nate711/qpdoggo
- Owner: Nate711
- Created: 2018-11-19T07:57:48.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-07-30T01:05:42.000Z (almost 6 years ago)
- Last Synced: 2025-03-24T07:57:02.862Z (2 months ago)
- Language: Jupyter Notebook
- Size: 29.3 MB
- Stars: 40
- Watchers: 3
- Forks: 16
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Whole-body PID + QP for Stanford Woofer
## Overview
The goal of this project is to simulate a controller that uses whole-body PID and QP. The wholy-body PID generates desired body accelerations. A QP solver then allocates foot forces to achieve the desired body accelerations. Then, multiplication by the jacobian transpose will transform the foot forces into joint torques.## Install
1. Activate a python3 conda environment
```
source activate [environment name]
```
2. Install OSQP
```
conda install -c oxfordcontrol osqp
```
3. Install mujoco-py: https://github.com/openai/mujoco-py## Run
```
python3 SimulateWoofer.py
```## Details
### Implementation
* QP solver: OSQP
* Simulator: MuJoCo### Lessons from "High-slope terrain locomotion for torque-controlled quadruped robots"
* Minimize joint torques using W=JcS⊤WτSJc⊤, where W is the positive-definite used to regularize f in equation (6).
* Regularize foot forces to be normal to surface, however, regularizing joint torques was more practical