Skip to content

Examples Gallery

Complete, runnable reference implementations live in the companion figaroh-examples repository — one folder per robot, each with its own config, data, and results. This gallery is the index into that repository: what each example demonstrates, how to run it, and where its outputs land. For the theory behind what these scripts do, read the Tutorials first.

Robot Type Demonstrates
UR10 Fixed-base manipulator Calibration, identification, optimal config + trajectory → folder
TIAGo Mobile manipulator Calibration, identification, optimal config + trajectory → folder
TALOS Humanoid (torso/arm) Calibration → folder
Staubli TX40 Fixed-base manipulator Identification → folder
Config Templates The extends: template-inheritance system every example config uses → folder

Installing figaroh-examples

git clone https://github.com/thanhndv212/figaroh-examples
cd figaroh-examples
pip install figaroh
pip install -r requirements.txt

Each script assumes you run it from inside its robot folder:

cd examples/ur10
python calibration.py

Common layout

Every robot folder follows the same shape:

{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 configs (unified format, extends a template)
  data/                     # CSV logs / measurement data
  urdf/                     # robot URDF(s)
  utils/                    # robot-specific BaseCalibration/BaseIdentification subclass
  results/                  # generated HTML reports, verification JSON, plots

Creating a new example

Scaffold a new robot folder from the TIAGo template:

cd examples
./create_example.sh <robot_name>

The generated scripts are placeholders pointing back at the TIAGo example as the reference implementation — fill in the robot-specific class in utils/, then point its config at the matching template (manipulator_robot.yaml or humanoid_robot.yaml).