aerorobotics / neural-fly

Training scripts, training data, and experimental data for Neural Fly
138 stars 33 forks source link

how to get the exact thrust f_u #2

Closed LChen-99 closed 1 year ago

LChen-99 commented 1 year ago

We would like to know how you get the exact thrust f_u.

How do you get the exact thrust f_u?

We also use PX4. image

AndersonRayner commented 1 year ago

The thrust f_u is measured using a thrust stand to get an estimate of the installed thrust for each motor. The difference (or residual) between the observed thrust (i.e., what you have as the 'exact thrust') and the estimate is then learnt via the neural network. In our particular implementation (due to not being able to directly measure the RPM). we just use the thrust command, which is a throttle value between 0 and 1. Then we re-scale it by (m*g/) to convert to Newtons.

LChen-99 commented 1 year ago

The thrust f_u is measured using a thrust stand to get an estimate of the installed thrust for each motor. The difference (or residual) between the observed thrust (i.e., what you have as the 'exact thrust') and the estimate is then learnt via the neural network. In our particular implementation (due to not being able to directly measure the RPM). we just use the thrust command, which is a throttle value between 0 and 1. Then we re-scale it by (m*g/) to convert to Newtons.

Thanks for your reply. And In your paper it is mention that you compute the acceleration by fifth-order numerical differentiation, why you don't use the acceleration values of imu.

AndersonRayner commented 1 year ago

We don't receive the full rate IMU data, so numerical differentiation of the EKF data was better for our system. It may have been better to use the IMU data if we had full rate and could low pass filter it. Also, for adaptive control we used one step backwards Euler difference method. The 5 step central difference was only for training. Either way, these are more implementation details and not necessarily the best way for every system.