Metadata-Version: 2.1
Name: vhip_light
Version: 1.0.0
Summary: Variable-height inverted pendulum balancing in Python.
Keywords: inverse,kinematics,pinocchio
Author-email: Stéphane Caron <stephane.caron@normalesup.org>
Maintainer-email: Stéphane Caron <stephane.caron@normalesup.org>
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Robot Framework :: Library
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering
Requires-Dist: loop-rate-limiters >=0.1.0
Requires-Dist: numpy >=1.19.0
Requires-Dist: pin >=2.6.3
Requires-Dist: qpsolvers >=2.5.0
Requires-Dist: quadprog >=0.1.11
Project-URL: Changelog, https://github.com/stephane-caron/vhip_light/blob/main/CHANGELOG.md
Project-URL: Documentation, https://stephane-caron.github.io/vhip_light/
Project-URL: Source, https://github.com/stephane-caron/vhip_light
Project-URL: Tracker, https://github.com/stephane-caron/vhip_light/issues

# VHIP balancing in Python

Python code for [Biped Stabilization by Linear Feedback of the Variable-Height Inverted Pendulum Model](https://arxiv.org/abs/1909.07732).

The main script unrolls VHIP trajectories with different balance controllers and reproduces plots as in the paper:

![image](https://github.com/stephane-caron/vhip_light/assets/1189580/8a12ac28-3402-4b7a-92ea-9e46e18849b3)

This repository is a lighter implementation of the original script [vhip\_stabilization.py](https://github.com/stephane-caron/pymanoid/blob/2cbce7441f377a18119837dfeee51662654c6ce7/examples/vhip_stabilization.py) that was released with the paper.

## Installation

The recommended way is to use Conda:

```console
conda create -f environment.yaml
conda activate vhip_light
```

Alternatively, you can install all dependencies from PyPI:

```console
pip install cvxpy ipython matplotlib qpsolvers scipy
```

## Usage

```console
python main.py
```

## See also

- [vhip\_stabilization.py](https://github.com/stephane-caron/pymanoid/blob/2cbce7441f377a18119837dfeee51662654c6ce7/examples/vhip_stabilization.py): original Python prototype as a single script, with dependencies on OpenRAVE and pymanoid (now deprectated).
- [VHIP walking controller](https://github.com/stephane-caron/vhip_walking_controller): C++ version of the VHIP QP balancer that was validated on the HRP-4 humanoid robot.

