Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simulation - investigate why such small dts are needed #405

Open
whoenig opened this issue Jan 18, 2024 · 2 comments
Open

Simulation - investigate why such small dts are needed #405

whoenig opened this issue Jan 18, 2024 · 2 comments

Comments

@whoenig
Copy link

whoenig commented Jan 18, 2024

Crazyflies crash if the dt is increased from 0.0005, even though in other simulations with the Python bindings and the same physics backend we achieve 0.01s.

@whoenig
Copy link
Author

whoenig commented Jan 24, 2024

This might be a control issue in combination with motor saturation. The following investigations have been done:

  • Tried different physics backends (same outcome)
  • Tried fixing the firmware ticks issue directly in the firmware (similar outcome, although behavior does change in this case)
  • Tried the Lee controller, for which we had successful simulations at higher dt's. This works reasonably well. Here we tried two versions: one that uses the polynomials to convert force/torque -> PWM -> RPM -> Force, and one that uses the force directly. Both worked fine, although avoiding the multiple conversions had a lower tracking error.

Moving forward, the goal is to get the Lee controller in the official firmware, and use it as default with a higher dt in simulation.

@jpreiss
Copy link

jpreiss commented Mar 20, 2024

I have also been finding some weird stability issues testing with the Mellinger controller even with dt small. I noticed that the controller's roll/pitch moment commands were saturating a lot, even in benign conditions. I traced it to the kd_omega_rp term in the Mellinger controller. Setting kd_omega_rp to zero improves stability a lot for me. Curious if it also helps your issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants