I studied this subject when I was building FPV sim from scratch. I noticed that yaw action is often misunderstood, falsely believing that it's caused by a change in angular momentum (think reaction wheels).
If anyone is interested in tackling UAV simulation, make sure to check out this prop/motor performance database, helped me a lot building a virtual drone with realistic properties (mainly motor thrust & torque): https://database.tytorobotics.com/tests
If you're into simulators then you may try applying forces directly rather than integrating ODE. If sim's has tiny numerical instabilities or integrator schedule is wrong the whole thing gonna fall spectacularly. The interest is with running large-scale simulations where along with ODE you need to handle collisions and deformations. The best one currently is MuJoCo.
Yes and no. The math here is useful, albeit not required. It is not specialized PhD material; it's linear algebra. (And not the abstract quantum mechanics/chem kind!)
What I mean by not required is, I've written drone firmware and didn't directly use this; the core can be done with a PID for rate controls (Compare measured rate along each axis with commanded; nudge motor power proportional to the diff), and commanding attitudes can be done with fundamental quaternion operations, as a slower outer loop.
I would skip the Tait-Bryan stuff in the article, in favor of pure quaternions. Actually, I'm kind of floored the word "quaternion" doesn't appear in the article.
I always found it interesting that basic quadcopters work on nothing but a gyroscope which measures angular velocity in 3 dimensions, and optionally an accelerometer for auto-levelling, with 3 dimensions of acceleration.
Then of course you can add on GPS for absolute position and route planning in 3 dimensions, and a ground height sensor for auto-landing, then you can add distance sensors on the sides for obstacle avoidance... it's all incredibly intuitive from a game programmer perspective. Then you can add in some signal filtering to mask out the range of vibrations from the motors and props being imperfectly balanced.
The hard part seems to be smooth rapid vertical descent. It's impossible to predict how the prop wash will interact with the wind and push the drone around as it descends into its own turbulence. I was tracking betaflight development for a while and was wondering if we'd ever see some kind of prop-wash calibration. Is there some adjustment of PID gains while descending through prop wash that could improve stability?
> The hard part seems to be smooth rapid vertical descent. It's impossible to predict how the prop wash will interact with the wind and push the drone around as it descends into its own turbulence. I was tracking betaflight development for a while and was wondering if we'd ever see some kind of prop-wash calibration. Is there some adjustment of PID gains while descending through prop wash that could improve stability?
The phenomenon is called Vortex Ring State* and it's not a problem that can be solved with a better calibration/control. A basic description of the problem is the prop moves into it's own prop-wash replacing happy lift with sad turbulence. The solutions are to:
1. Don't descend vertically, always have a reasonable degree of lateral motion.
2. Descend vertically slowly, how slow is vehicle specific
3. Angle the propellers so that their thrust angle is off vertical.
4. Descend with no power at all, thus avoiding the creation of prop-wash entirely, halting the descent will require the use of 1-3.
If you do happen upon a solution that can be applied to traditional helicopters there's probably a good deal of money in it for you.
The main anti prop wash thing in BF seems to be using a good frame design so that you don't get frame resonances below ~100+ Hz and that allows you to raise the lowpass gyro filter threshold high enough to let the PID loop handle propwash.
There is a good SE answer about deriving net torques given each props' thrust force in less PhD language than this article: https://drones.stackexchange.com/a/416/11402
If anyone is interested in tackling UAV simulation, make sure to check out this prop/motor performance database, helped me a lot building a virtual drone with realistic properties (mainly motor thrust & torque): https://database.tytorobotics.com/tests
Which I think is a good thing :)
What I mean by not required is, I've written drone firmware and didn't directly use this; the core can be done with a PID for rate controls (Compare measured rate along each axis with commanded; nudge motor power proportional to the diff), and commanding attitudes can be done with fundamental quaternion operations, as a slower outer loop.
I would skip the Tait-Bryan stuff in the article, in favor of pure quaternions. Actually, I'm kind of floored the word "quaternion" doesn't appear in the article.
Then of course you can add on GPS for absolute position and route planning in 3 dimensions, and a ground height sensor for auto-landing, then you can add distance sensors on the sides for obstacle avoidance... it's all incredibly intuitive from a game programmer perspective. Then you can add in some signal filtering to mask out the range of vibrations from the motors and props being imperfectly balanced.
The hard part seems to be smooth rapid vertical descent. It's impossible to predict how the prop wash will interact with the wind and push the drone around as it descends into its own turbulence. I was tracking betaflight development for a while and was wondering if we'd ever see some kind of prop-wash calibration. Is there some adjustment of PID gains while descending through prop wash that could improve stability?
The phenomenon is called Vortex Ring State* and it's not a problem that can be solved with a better calibration/control. A basic description of the problem is the prop moves into it's own prop-wash replacing happy lift with sad turbulence. The solutions are to:
1. Don't descend vertically, always have a reasonable degree of lateral motion. 2. Descend vertically slowly, how slow is vehicle specific 3. Angle the propellers so that their thrust angle is off vertical. 4. Descend with no power at all, thus avoiding the creation of prop-wash entirely, halting the descent will require the use of 1-3.
If you do happen upon a solution that can be applied to traditional helicopters there's probably a good deal of money in it for you.
* https://en.wikipedia.org/wiki/Vortex_ring_state