Skip to content

Commit d603ef4

Browse files
committed
Update docs
1 parent 4e86988 commit d603ef4

File tree

2 files changed

+28
-13
lines changed

2 files changed

+28
-13
lines changed

docs/concepts/drone-models.md

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ Drone Models provides several model types with different complexity levels and c
44

55
## Model Types Overview
66

7-
| Model | Rotor Dynamics | Complexity | Physics Level | Best For |
8-
|-------|----------------|------------|---------------|----------|
9-
| `first_principles` | Yes | High | Full rigid body | High-fidelity simulation, MPC |
10-
| `so_rpy` | No | Low | Simplified | Fast simulation, learning |
11-
| `so_rpy_rotor` | Yes | Medium | Simplified + rotors | Balanced performance |
12-
| `so_rpy_rotor_drag` | Yes | High | Simplified + effects | High-speed flight |
7+
| Model | Rotor Dynamics | Complexity | Physics Level | Best For |
8+
| ------------------- | -------------- | ---------- | -------------------- | ----------------------------- |
9+
| `first_principles` | Yes | High | Full rigid body | High-fidelity simulation, MPC |
10+
| `so_rpy` | No | Low | Simplified | Fast simulation, learning |
11+
| `so_rpy_rotor` | Yes | Medium | Simplified + rotors | Balanced performance |
12+
| `so_rpy_rotor_drag` | Yes | High | Simplified + effects | High-speed flight |
1313

1414
## Physics-Based Models
1515

@@ -18,15 +18,16 @@ Drone Models provides several model types with different complexity levels and c
1818
The most comprehensive model based on full rigid body dynamics with quaternion representation.
1919

2020
**Features:**
21+
2122
- Quaternion-based attitude representation (no singularities)
2223
- Full 6-DOF rigid body dynamics
2324
- Rotor spin-up dynamics with time constants
2425
- External force and torque disturbances
2526
- Mixing matrix for arbitrary motor configurations
2627

2728
**When to use:**
29+
2830
- High-fidelity simulations
29-
- Model Predictive Control (MPC)
3031
- Research requiring accurate dynamics
3132
- Hardware-in-the-loop testing
3233

@@ -43,6 +44,12 @@ pos_dot, quat_dot, vel_dot, ang_vel_dot, rotor_vel_dot = model(
4344
)
4445
```
4546

47+
**How to obtain:**
48+
49+
- Measure parameters, such as mass
50+
- Obtain thrust curves from experiments
51+
- Identify inertia either from flight or other experiments
52+
4653
### SO(3) Roll-Pitch-Yaw Models
4754

4855
Simplified models using Euler angle representation for faster computation.
@@ -62,11 +69,7 @@ Simplified models using Euler angle representation for faster computation.
6269
- Most complete simplified model
6370
- Better at high speeds
6471

65-
**When to use:**
66-
- Real-time applications requiring speed
67-
- Reinforcement learning training
68-
- Educational demonstrations
69-
- Rapid prototyping
72+
**When to use:** Real-time applications requiring speed, e.g., model based control
7073

7174
```python
7275
from drone_models.so_rpy import dynamics as so_rpy_dynamics
@@ -79,6 +82,18 @@ basic_model = parametrize(so_rpy_dynamics, "cf2x_L250")
7982
balanced_model = parametrize(so_rpy_rotor_dynamics, "cf2x_L250")
8083
```
8184

85+
**How to obtain:**
86+
87+
- Measure parameters, such as mass
88+
- Fit model to a few minutes of flight data
89+
90+
```python
91+
from drone_models.utils.identification import sys_id_lin
92+
#TODO
93+
```
94+
95+
For more information on the identification process, check out our [API](TODO)
96+
8297
## Data-Driven Models
8398

8499
While the current focus is on physics-based models, the framework is designed to support data-driven approaches:

drone_models/utils/rotation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from scipy.spatial.transform import Rotation as R
1515

1616
if TYPE_CHECKING:
17-
from array_api_strict import Array
17+
from drone_models._typing import Array # To be changed to array_api_typing later
1818

1919
# region Numeric
2020

0 commit comments

Comments
 (0)