PX4源码分析8_PX4的sensor校准

本文详细解析了PX4飞控系统的传感器校准过程,包括陀螺仪、加速度计和地磁传感器的校准步骤。从校准数据的设置到获取,再到各个传感器的具体校准算法,如陀螺仪的5000次循环校准,加速度计的六个方向测量,以及地磁传感器的球体拟合最小二乘法,全面阐述了传感器校准的核心环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.综述:

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()赋值给对应参数值。

3.gyro_calibration_worker():

gyro_calibration.cpp中do_gyro_calibration()执行gyro_calibration_worker()。

4.校准:

gyro_c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值