I've spent the last six months replicating the paper "Champion-level drone racing using deep reinforcement learning" and now I'm writing down the blog posts I wish I had along the way.
Any feedback is welcome, especially as I'm a bit unsure if I struck the right balance between being concise and not requiring too many prerequisites.
Also if you're working on RL and robotics (especially aerial), let's connect!
I assume you are going to start introducing all the 2nd and 3rd order effects? One big one is ground effect, and another is vortex ring state/settling with power and the related translational lift, and the props themselves have p-factor and the dirty air effect for the rear props.
Good question, haven't really thought about modeling complex effects besides prop aerodynamic drag. If I were to start, I'd probably look at the model described in the "Aerodynamic forces and torques" section of "Champion-level drone racing using deep reinforcement learning" (Kaufmann et al. 2023).
My understanding of it is that it's especially apparent when you are within 1 prop width of the ground. For a quadcopter, it's most apparent just off the ground, since the props are small compared to the entire craft. You don't usually operate the drone in ground effect for very long, but you need to really push the throttle to get in the air, and the drone floats if you are close to the ground.
The other effects are more apparent, especially settling with power, the tendency to pitch back as you go faster, and translational lift. Modeling all of these accurately turns into a fluid simulation, so probably you'd just want a heuristic.
11 comments
I've spent the last six months replicating the paper "Champion-level drone racing using deep reinforcement learning" and now I'm writing down the blog posts I wish I had along the way.
Any feedback is welcome, especially as I'm a bit unsure if I struck the right balance between being concise and not requiring too many prerequisites.
Also if you're working on RL and robotics (especially aerial), let's connect!
In general, I think I'd try to go for a black-box/grey-box model based on real data rather than e.g. CFD-based, as I don't think you can run CFD at sufficient accuracy for real-time control anyway. For that, I would look at https://rpg.ifi.uzh.ch/docs/TRO26_Bauersfeld.pdf or https://rpg.ifi.uzh.ch/docs/RSS21_Bauersfeld.pdf
The other effects are more apparent, especially settling with power, the tendency to pitch back as you go faster, and translational lift. Modeling all of these accurately turns into a fluid simulation, so probably you'd just want a heuristic.