Examples for the FIGAROH PLUS library (robot dynamics identification and geometric calibration).
pip install figaroh
pip install -r requirements.txtIf you use conda, some dependencies may be easier to install via conda:
conda install -c conda-forge pinocchio cyipoptMost scripts assume you run them from inside the corresponding robot folder:
cd examples/ur10
python calibration.py- Choose an example under
examples/<robot>/. - Review the YAML files under
examples/<robot>/config/. - Place or update CSV logs under
examples/<robot>/data/(or update paths in the YAML). - Run one of:
calibration.py,identification.py,optimal_config.py,optimal_trajectory.py(if present). - Review printed results/plots. If applicable, use
update_model.pyto materialize estimated parameters.
Examples use CSV logs for measurements and trajectories. The required files/columns depend on the robot and task; see each example README for the expected inputs.
- UR10 (manipulator): examples/ur10/README.md
- TIAGo (mobile manipulator): examples/tiago/README.md
- TALOS (humanoid, torso/arm chain): examples/talos/README.md
- Staubli TX40 (manipulator): examples/staubli_tx40/README.md
- Templates and config starting points: examples/templates/README.md
Most robot folders follow this pattern:
{robot}/
calibration.py # kinematic calibration (if present)
identification.py # dynamic identification (if present)
optimal_config.py # optimal measurement configurations (if present)
optimal_trajectory.py # exciting trajectories for identification (if present)
config/ # YAML configuration files
data/ # CSV logs / measurement data
urdf/ # robot URDF(s) used by the scripts
utils/ # robot-specific helper classes
Use the scaffold script to create a new robot folder based on the TIAGo template:
cd examples
./create_example.sh <robot_name>The generated scripts are placeholders that point you back to the TIAGo example for a complete reference implementation.
If you use these examples in your research, please cite the main FIGAROH paper:
@inproceedings{nguyen2023figaroh,
title={FIGAROH: a Python toolbox for dynamic identification and geometric calibration of robots and humans},
author={Nguyen, Dinh Vinh Thanh and Bonnet, Vincent and Maxime, Sabbah and Gautier, Maxime and Fernbach, Pierre and others},
booktitle={IEEE-RAS International Conference on Humanoid Robots},
pages={1--8},
year={2023},
address={Austin, TX, United States},
doi={10.1109/Humanoids57100.2023.10375232},
url={https://hal.science/hal-04234676v2}
}Apache License 2.0. See LICENSE.
- Open an issue in this repository for example-specific questions.
- Open an issue in the main FIGAROH repository: https://github.com/thanhndv212/figaroh-plus/issues