Metadata-Version: 2.5
Name: virtualmodelcontrol
Version: 0.1.0
Summary: Virtual Model Control: robots and controllers as mechanisms of springs, dampers and inertances, compiled with CasADi.
Project-URL: Repository, https://github.com/vigno0405/VirtualModelControl
Project-URL: Documentation, https://vigno0405.github.io/VirtualModelControl/
Author: Lorenzo Vignoli
License-Expression: MIT
License-File: LICENSE
Keywords: casadi,control,passivity,robotics,soft robots,virtual model control
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Requires-Dist: casadi>=3.6
Requires-Dist: numpy>=1.26
Requires-Dist: scipy>=1.11
Provides-Extra: dev
Requires-Dist: import-linter>=2.0; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pre-commit>=3.5; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Provides-Extra: docs
Requires-Dist: myst-nb>=1.1; extra == 'docs'
Requires-Dist: pydata-sphinx-theme>=0.15; extra == 'docs'
Requires-Dist: sphinx-copybutton>=0.5; extra == 'docs'
Requires-Dist: sphinx-design>=0.5; extra == 'docs'
Requires-Dist: sphinx>=7.2; extra == 'docs'
Provides-Extra: viz
Requires-Dist: matplotlib>=3.8; extra == 'viz'
Description-Content-Type: text/markdown

# VirtualModelControl

`virtualmodelcontrol` is a Python library for Virtual Model Control (VMC). Robots and
controllers are described as mechanisms: coordinates plus springs, dampers, inertances and
sources. One CasADi model serves the real-time controller, simulation and optimization.

A collaboration between EPFL (Prof. Josie Hughes) and the University of Cambridge
(Prof. Fulvio Forni).

## Install

Python ≥ 3.10 on Linux, macOS or Windows:

```bash
pip install virtualmodelcontrol
```

Then `import virtualmodelcontrol as vmc`. The latest development version installs with
`pip install "git+https://github.com/vigno0405/VirtualModelControl.git"`.

## Develop

On Linux or macOS (Windows: see the install page in the docs):

```bash
git clone https://github.com/vigno0405/VirtualModelControl.git
cd VirtualModelControl
python3 -m venv .venv
.venv/bin/pip install -e ".[dev,docs]"
.venv/bin/python -m pytest
```

On Debian/Ubuntu, `python3 -m venv` needs the `python3-venv` package
(`sudo apt install python3-venv`); a conda environment works too. If ROS 2 is sourced in your
shell, prefix these commands with `env -u PYTHONPATH` so ROS's Python packages stay out of the
environment.

## Documentation

https://vigno0405.github.io/VirtualModelControl/

To build it locally: `sphinx-build docs docs/_build/html`, then open
`docs/_build/html/index.html`.

## Citing

See `CITATION.cff`.
