一.综述:
sensor的校准过程分为两部分,首先需要先通过地面站进行校准设置,然后通过校准数据的更新来获取最新的校准数据。
1.校准数据的设置:
commander(地面站)经过计算之后通过param_set()来设置校准数据,路径为src/modules/commander下的各个calibration文件,上电后rcS脚本执行sensors start之后会执行commder start来启动commander.cpp,commander.cpp进而调用各个calibration文件,进而进行校准设置。
2.校准数据的获取:
在sensors.cpp中的task_main()循环中还有一个poll函数是parameter_update_poll(),这个poll函数获取了各个sensor的offset和scale来供各个sensor驱动中measure校准时使用,它使用param_get()来获得。
二.陀螺仪的校准:
1.do_gyro_calibration():
commander.cpp中commander_main()中执行do_gyro_calibration()。
2.初始化:
gyro_calibration.cpp中do_gyro_calibration()初始化gyro_scale_zero中各个offset赋值为0,各个scale赋值为1,并将gyro_scale_zero各个值通过param_set()赋值给对应参数值。