ZJU-FAST-Lab / GCOPTER

A General-Purpose Trajectory Optimizer for Multicopters
MIT License
684 stars 139 forks source link

About drag coefficients in FlatnessMap #3

Closed nickluo closed 2 years ago

nickluo commented 2 years ago

Thanks for your great job! I have a question on FlatnessMap. In your paper, it is noted that no assumption is made on concrete forms and more accurate dynamics such as the rotor drag can be adapted to fully exploit physical limits. However, in the code of class FlatnessMap, I've found drag coefficients including horizontal, vertical, and parasitic ones. Are they required mandatorily? And how to calibrate these parameters on a real drone? Thank you!

ZhepeiWang commented 2 years ago

As for the definition of drag coefficients, you can check the Section IV D of the paper : https://arxiv.org/pdf/2109.08403.pdf Actually they are not mandatorily, you can set the both the HorizDrag and VertDrag coefficient to 0 such that all drags are disabled:

HorizDrag: 0.0 VertDrag: 0.0 ParasDrag: 0.01 SpeedEps: 0.0001

If you need these parameters, you can make your multicopter fly at a constant speed horizontally/vertically and measure the tilt angle/ imu acc. Different speeds are required to fit those parameters according to the drag term in the aboved mentioned section.

nickluo commented 2 years ago

Thank you for your response!