Skip to content

Commit 476abcc

Browse files
committed
docs: Update documentation for v0.3.0 release
- Added comprehensive linear solver documentation - Updated index with v0.3.0 key features and what's new - Enhanced getting started guide with solver examples - Added new module documentation (config, parameter, data_loader) - Documented solver methods and constraint capabilities - Updated identification and calibration module overviews
1 parent 1874322 commit 476abcc

File tree

5 files changed

+117
-0
lines changed

5 files changed

+117
-0
lines changed

docs/source/getting_started.rst

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,50 @@ Configuration Management
143143
calib_config = parser.create_task_config(robot, config, "calibration")
144144
identif_config = parser.create_task_config(robot, config, "identification")
145145
146+
Advanced Linear Solver (New in v0.3.0)
147+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
148+
149+
.. code-block:: python
150+
151+
from figaroh.tools.solver import LinearSolver, solve_linear_system
152+
153+
# Basic usage with convenience function
154+
result = solve_linear_system(
155+
A, b,
156+
method='ridge',
157+
alpha=0.01
158+
)
159+
x = result['solution']
160+
161+
# Advanced usage with constraints
162+
solver = LinearSolver()
163+
result = solver.solve(
164+
A, b,
165+
method='constrained',
166+
bounds=(0, None), # Positive constraints
167+
A_eq=A_eq, b_eq=b_eq, # Equality constraints
168+
alpha=0.1 # Regularization
169+
)
170+
171+
# Access quality metrics
172+
print(f"RMSE: {result['rmse']:.4f}")
173+
print(f"R²: {result['r_squared']:.4f}")
174+
print(f"Condition number: {result['condition_number']:.2e}")
175+
176+
# Use in identification workflow
177+
from figaroh.identification import BaseIdentification
178+
179+
identification = BaseIdentification(robot, config)
180+
identification.load_data("data/identification_data.csv")
181+
182+
# Solve with custom solver and regularization
183+
params = identification.solve_with_custom_solver(
184+
method='elastic_net',
185+
alpha=0.01,
186+
l1_ratio=0.5,
187+
bounds=(0, None) # Physical constraints
188+
)
189+
146190
Next Steps
147191
---------
148192

docs/source/index.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,19 @@ is a comprehensive Python toolbox for robot calibration and identification.
77
**Key Features:**
88
- Dynamic parameter identification for rigid multi-body systems
99
- Geometric calibration for serial and tree-structure robots
10+
- **Advanced linear solver with 10 methods** (lstsq, QR, SVD, Ridge, Lasso, Elastic Net, Tikhonov, constrained, robust, weighted)
11+
- **Regularization and constraint optimization** (L1/L2 regularization, box constraints, linear equality/inequality)
1012
- Unified configuration system with template inheritance
1113
- Advanced regressor computation with object-oriented design
1214
- Support for URDF modeling convention
1315
- Extensive examples and tutorials
1416

17+
**What's New in v0.3.0:**
18+
- Advanced linear solver for robot parameter identification
19+
- Module reorganization for better maintainability
20+
- Enhanced BaseIdentification with flexible solver methods
21+
- Comprehensive test coverage with 18 unit tests
22+
1523
**Quick Links:**
1624
- `PyPI Package <https://pypi.org/project/figaroh/>`_
1725
- `Examples Repository <https://github.com/thanhndv212/figaroh-examples>`_

docs/source/modules/calibration.rst

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
Calibration
22
==========
33

4+
The calibration module provides tools for geometric calibration of robots.
5+
6+
**New in v0.3.0:**
7+
- Modular code organization with separate config, parameter, and data loader modules
8+
- Significant code reduction (58% fewer lines in calibration_tools)
9+
- Enhanced maintainability and extensibility
10+
411
base_calibration
512
---------------
613
.. automodule:: figaroh.calibration.base_calibration
@@ -14,3 +21,24 @@ calibration_tools
1421
:members:
1522
:undoc-members:
1623
:show-inheritance:
24+
25+
Configuration Management (New in v0.3.0)
26+
----------------------------------------
27+
.. automodule:: figaroh.calibration.config
28+
:members:
29+
:undoc-members:
30+
:show-inheritance:
31+
32+
Parameter Management (New in v0.3.0)
33+
------------------------------------
34+
.. automodule:: figaroh.calibration.parameter
35+
:members:
36+
:undoc-members:
37+
:show-inheritance:
38+
39+
Data Loading (New in v0.3.0)
40+
----------------------------
41+
.. automodule:: figaroh.calibration.data_loader
42+
:members:
43+
:undoc-members:
44+
:show-inheritance:

docs/source/modules/identification.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
Identification
22
=============
33

4+
The identification module provides tools for dynamic parameter identification of robots.
5+
6+
**New in v0.3.0:**
7+
- ``solve_with_custom_solver()`` method with advanced solving options
8+
- Support for regularization (L1, L2, Elastic Net)
9+
- Physical constraint enforcement (e.g., positive masses/inertias)
10+
- Enhanced configuration management with modular design
11+
412
base_identification
513
------------------
614
.. automodule:: figaroh.identification.base_identification
@@ -14,3 +22,17 @@ identification_tools
1422
:members:
1523
:undoc-members:
1624
:show-inheritance:
25+
26+
Configuration Management (New in v0.3.0)
27+
----------------------------------------
28+
.. automodule:: figaroh.identification.config
29+
:members:
30+
:undoc-members:
31+
:show-inheritance:
32+
33+
Parameter Management (New in v0.3.0)
34+
------------------------------------
35+
.. automodule:: figaroh.identification.parameter
36+
:members:
37+
:undoc-members:
38+
:show-inheritance:

docs/source/modules/tools.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
Tools
22
=====
33

4+
Advanced Linear Solver (New in v0.3.0)
5+
--------------------------------------
6+
.. automodule:: figaroh.tools.solver
7+
:members:
8+
:undoc-members:
9+
:show-inheritance:
10+
11+
The linear solver provides comprehensive solving methods for robot parameter identification:
12+
13+
- **Basic methods**: lstsq, QR decomposition, SVD
14+
- **Regularized methods**: Ridge (L2), Lasso (L1), Elastic Net, Tikhonov
15+
- **Advanced methods**: Constrained optimization, robust regression, weighted least squares
16+
- **Constraint support**: Box constraints, linear equality/inequality constraints
17+
- **Quality metrics**: RMSE, R², condition number, residual analysis
18+
419
Robot Management
520
---------------
621
.. automodule:: figaroh.tools.robot

0 commit comments

Comments
 (0)