Skip to content

Commit fda4de4

Browse files
committed
Update installation instructions and dependencies in README and environment files
1 parent fa77d03 commit fda4de4

File tree

3 files changed

+55
-34
lines changed

3 files changed

+55
-34
lines changed

README.md

Lines changed: 48 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
2525
pip 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
2934
git clone https://github.com/thanhndv212/figaroh-plus.git
3035
cd figaroh
3136
pip 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
4563
pip 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:
228248
Complete examples and tutorials are available in a separate repository: [figaroh-examples](https://github.com/thanhndv212/figaroh-examples)
229249

230250
The 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

environment.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ channels:
33
- conda-forge
44
- defaults
55
dependencies:
6-
- python>=3.8
7-
- pinocchio
6+
- python==3.12
87
- cyipopt
98
- pip:
109
- -e .

pyproject.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,16 @@ classifiers = [
4343
dependencies = [
4444
"numpy",
4545
"scipy",
46-
"numdifftools",
47-
"ndcurves",
46+
"pin",
4847
"matplotlib",
48+
"pyyaml",
4949
"meshcat",
5050
"pandas",
5151
"rospkg",
52+
"picos",
53+
"numdifftools",
54+
"ndcurves",
55+
"cyipopt",
5256
]
5357

5458
[project.optional-dependencies]

0 commit comments

Comments
 (0)