Skip to content

Commit 085871d

Browse files
committed
Update README
1 parent e7ca43b commit 085871d

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
--------------------------------------------------------------------------------
44

5-
Fast, parallelizable simulations of Crazyflies with JAX and MuJoCo.
5+
Fast, parallelizable simulations of Crazyflies with JAX.
66

77
[![Python Version]][Python Version URL] [![Ruff Check]][Ruff Check URL] [![Documentation Status]][Documentation Status URL] [![Tests]][Tests URL]
88

@@ -32,7 +32,6 @@ The simulation is built as a pipeline of functions that are composed at initiali
3232
Multiple physics models are supported:
3333
- analytical: A first-principles model based on physical equations
3434
- sys_id: A system-identified model trained on real drone data
35-
- mujoco: MuJoCo physics engine for more complex interactions
3635

3736
#### Control Modes
3837
Different control interfaces are available:
@@ -41,9 +40,10 @@ Different control interfaces are available:
4140
- thrust: Low-level control of individual motor thrusts
4241

4342
#### Integration Methods
44-
For analytical and system-identified physics:
43+
We support multiple integration schemes for additional precision:
4544
- euler: Simple first-order integration
4645
- rk4: Fourth-order Runge-Kutta integration for higher accuracy
46+
- symplectic\_euler: Symplectic integration for conservation of energy
4747

4848
### Parallelization
4949
Crazyflow supports massive parallelization across:
@@ -58,6 +58,12 @@ The framework supports domain randomization through the crazyflow/randomize modu
5858
### Functional Design
5959
The simulation follows a functional programming paradigm: All state is contained in immutable data structures. Updates create new states rather than modifying existing ones. All functions are pure, enabling JAX's transformations (JIT, grad, vmap) and thus automatic differentiation through the entire simulation, making it suitable for gradient-based optimization and reinforcement learning.
6060

61+
### Contacts and Non-Drone Models
62+
We focus on drones dynamics in free-space flight. Consequently, no models other than drones are available in the simulation and contact dynamics with external objects are not considered. However, we use MuJoCo for contact detection and visualization. Users can load their own objects into the simulation by changing the MuJoCo world spec. Drone collisions with these objects will be detected during collision checks, but they won't have an effect on the dynamics (i.e. drones will pass through objects). Similarly, the objects themselves will be static.
63+
64+
### Visualization
65+
We use `gymnasium`'s MuJoCo renderer and synchronize the simulation data with MuJoCo to either render an interactive UI or RGB arrays.
66+
6167
## Examples
6268
The repository includes several example scripts demonstrating different capabilities:
6369
| Example | Description |

0 commit comments

Comments
 (0)