@@ -16,25 +16,43 @@ Note: This repo is a fork from [gitlab repo](https://gitlab.laas.fr/gepetto/figa
1616
1717## Installation
1818
19- ### Package Installation
19+ ### Quick Installation (Recommended)
2020
21- Install the core FIGAROH package:
21+ Install the core FIGAROH package with all dependencies (except for cyipopt) :
2222
2323``` bash
24- # Install from PyPI
24+ # Install from PyPI (includes all core dependencies)
2525pip install figaroh
26+ ```
27+
28+ ### Development Installation
29+
30+ For development or local installation from source, choose one of these methods:
2631
32+ ** Method 1: Direct pip installation (Simple)**
2733``` bash
28- # Or install from source
2934git clone https://github.com/thanhndv212/figaroh-plus.git
3035cd figaroh
3136pip install -e .
3237```
38+
39+ ** Method 2: Conda environment (Recommended for the use of cyipopt)**
40+ ``` bash
41+ git clone https://github.com/thanhndv212/figaroh-plus.git
42+ cd figaroh
43+ # Create conda environment with optimized C++ libraries
44+ conda env create -f environment.yml
45+ conda activate figaroh-dev
3346```
3447
48+ The conda environment automatically installs:
49+ - Python 3.12
50+ - cyipopt (C++ optimization library via conda-forge)
51+ - All other dependencies via pip
52+
3553### Examples and Tutorials
3654
37- Examples are maintained in a separate repository to keep the core package lightweight :
55+ Examples are maintained in a separate repository:
3856
3957``` bash
4058# Clone examples repository
@@ -45,31 +63,33 @@ cd figaroh-examples
4563pip install -r requirements.txt
4664```
4765
48- ### Development Environment
66+ ## Dependencies
4967
50- For development with all dependencies:
68+ FIGAROH automatically installs the following core dependencies:
5169
52- ``` bash
53- conda env create -f environment.yml
54- conda activate figaroh-dev
55- pip install -e .
56- ```
57- ## Prerequisites
58-
59- FIGAROH has the following core dependencies (automatically installed with pip):
60- * numpy
61- * scipy
62- * matplotlib
63- * numdifftools
64- * ndcurves
65- * meshcat
66- * rospkg
67- * pandas
68-
69- ** Note:** Some dependencies should be installed via conda for better compatibility:
70- ``` bash
71- conda install -c conda-forge pinocchio cyipopt
72- ```
70+ ** Scientific Computing:**
71+ - ` numpy ` - Array processing and linear algebra
72+ - ` scipy ` - Scientific computing and optimization
73+ - ` matplotlib ` - Plotting and visualization
74+ - ` pandas ` - Data processing and analysis
75+ - ` numdifftools ` - Numerical differentiation
76+
77+ ** Robotics Libraries:**
78+ - ` pin ` - [ Pinocchio] ( https://github.com/stack-of-tasks/pinocchio ) robotics library (PyPI version)
79+ - ` pyyaml ` - Configuration file parsing
80+ - ` ndcurves ` - Curve generation and interpolation
81+ - ` meshcat ` - 3D visualization
82+ - ` rospkg ` - ROS package utilities
83+
84+ ** Optimization Dependencies:**
85+ - ` cyipopt ` - Advanced optimization (automatically installed via conda environment, or install manually: ` pip install cyipopt ` )
86+ - ` picos ` - Convex optimization
87+ ### Installation Notes
88+
89+ - ** Simplified Dependencies** : All core dependencies are now available via PyPI and install automatically
90+ - ** No Manual Compilation** : Pre-built wheels eliminate the need for C++ compilation
91+ - ** Flexible Installation** : Works with both pip-only and conda environments
92+ - ** Lazy Loading** : Optional dependencies (like cyipopt) are loaded only when needed
7393
7494## Features
7595
@@ -228,10 +248,8 @@ identification:
228248Complete examples and tutorials are available in a separate repository : [figaroh-examples](https://github.com/thanhndv212/figaroh-examples)
229249
230250The examples include :
231- - **Human modeling**: Joint center estimation, segment inertial identification
232251- **Industrial manipulator Staubli TX40**: Dynamic inertial parameters identification
233252- **Industrial manipulator Universal UR10**: Geometric calibration using RealSense camera and checkerboard
234- - **3D-printed 3DOF manipulator MATE**: Geometric calibration using ArUco markers
235253- **Mobile manipulator TIAGo**: Dynamic identification, geometric calibration, mobile base modeling
236254- **Humanoid TALOS**: Torso-arm geometric calibration, whole-body calibration
237255
0 commit comments