|
19 | 19 | import casadi as cs
|
20 | 20 | from casadi import MX
|
21 | 21 |
|
22 |
| -from crazyflow.constants import GRAVITY, ARM_LEN |
23 |
| -from crazyflow.sim.core import Sim |
| 22 | +from crazyflow.constants import ARM_LEN, GRAVITY |
24 | 23 | from crazyflow.control.controller import KF, KM
|
| 24 | +from crazyflow.sim.core import Sim |
25 | 25 |
|
26 | 26 |
|
27 | 27 | class SymbolicModel:
|
@@ -149,14 +149,14 @@ def symbolic(sim: Sim, dt: float) -> SymbolicModel:
|
149 | 149 | Returns:
|
150 | 150 | The CasADi symbolic model of the environment.
|
151 | 151 | """
|
152 |
| - m, g = sim.params.mass[0,0,1], GRAVITY |
| 152 | + m, g = sim.params.mass[0,0,1], GRAVITY # select first drone in first world |
153 | 153 | # Define states.
|
154 | 154 | z = cs.MX.sym("z")
|
155 | 155 | z_dot = cs.MX.sym("z_dot")
|
156 | 156 |
|
157 | 157 | # Set up the dynamics model for a 3D quadrotor.
|
158 | 158 | nx, nu = 12, 4
|
159 |
| - Ixx, Iyy, Izz = sim.params.J[0,0].diagonal() |
| 159 | + Ixx, Iyy, Izz = sim.params.J[0,0].diagonal() # select first drone in first world |
160 | 160 | J = cs.blockcat([[Ixx, 0.0, 0.0], [0.0, Iyy, 0.0], [0.0, 0.0, Izz]])
|
161 | 161 | Jinv = cs.blockcat([[1.0 / Ixx, 0.0, 0.0], [0.0, 1.0 / Iyy, 0.0], [0.0, 0.0, 1.0 / Izz]])
|
162 | 162 | gamma = KM / KF
|
|
0 commit comments