Skip to content

Commit 458a603

Browse files
committed
Fix autodetermined frequency in symbolic model. Add tests
1 parent f66307a commit 458a603

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

crazyflow/sim/symbolic.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -303,10 +303,10 @@ def symbolic_from_sim(sim: Sim) -> SymbolicModel:
303303
"""
304304
match sim.control:
305305
case Control.attitude:
306-
return symbolic_attitude(1 / sim.freq)
306+
return symbolic_attitude(1 / sim.control_freq)
307307
case Control.thrust:
308308
mass, J = sim.default_data.params.mass[0, 0], sim.default_data.params.J[0, 0]
309-
return symbolic_thrust(mass, J, 1 / sim.freq)
309+
return symbolic_thrust(mass, J, 1 / sim.control_freq)
310310
case _:
311311
raise ValueError(f"Unsupported control type for symbolic model: {sim.control}")
312312

tests/integration/test_symbolic.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ def sim_state2symbolic_state(state: SimState) -> NDArray[np.float32]:
1919

2020

2121
@pytest.mark.integration
22-
def test_attitude_symbolic():
23-
sim = Sim(physics="sys_id")
22+
@pytest.mark.parametrize("freq", [500, 1000])
23+
def test_attitude_symbolic(freq: int):
24+
sim = Sim(physics="sys_id", freq=freq)
2425
sym = symbolic_from_sim(sim)
2526

2627
x0 = np.zeros(12)
@@ -67,8 +68,9 @@ def test_attitude_symbolic():
6768

6869

6970
@pytest.mark.integration
70-
def test_thrust_symbolic():
71-
sim = Sim(physics="analytical", control="thrust")
71+
@pytest.mark.parametrize("freq", [500, 1000])
72+
def test_thrust_symbolic(freq: int):
73+
sim = Sim(physics="analytical", control="thrust", freq=freq)
7274
sym = symbolic_from_sim(sim)
7375

7476
x0 = np.zeros(12)

0 commit comments

Comments
 (0)