上电——>rsC 运行… sensor start、commander start…
入口函数:(位于commander文件夹中)
Commader.cpp
· Commander::run()
commander_low_prio_loop()
【 订阅了vehicle_command 】根据cmd各param值,运行相应的算法:
(cmd.param1) == 1 ——> calib_ret = do_gyro_calibration(&mavlink_log_pub); ——> gyro_calibration.cpp /.h
(cmd.param2) == 1 ——> calib_ret = do_mag_calibration(&mavlink_log_pub); ——> mag_calibration.cpp / .h
(cmd.param5) == 1 ——> calib_ret = do_accel_calibration(&mavlink_log_pub); ——> accelerometer.cpp / .h
(cmd.param5) == 2 ——> calib_ret = do_level_calibration(&mavlink_log_pub); ——> accelerometer.cpp / .h
do_accel_calibration 函数中的 加速度计需要进行 偏移量以及尺度计算
do_gyro_calibration 函数中的 陀螺仪需要需要进行 热校准的补偿,并计算三轴偏移量(不需要计算尺度)
do_mag_calibration磁力计校准函数中,使用了椭球拟合,进行偏移量以及尺度计算。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)