无人机控制模块 - uav_control
uav_control代码框架
uav_control包含两个功能模块uav_controller(无人机控制)和uav_estimator(无人机状态);
uav_controller模块一次循环的的核心逻辑为:
- 无人机状态检查,包含飞控连接状态、定位状态、地理围栏等
- 检查无人机控制状态,包含INIT、RC_POS_CONTROL、COMMAND_CONTROL、LAND_CONTROL四种控制状态并对控制变量进行赋值
- 如果无人机状态为INIT则本次循环结束
- 下发控制指令
uav_estimator模块一次循环的的核心逻辑为:
- 订阅无人机状态、电池状态、无人机定位数据、外部定位数据等
- 如果使用外部定位数据,则将定位数据下发到MAVROS
- 打印显示无人机相关数据
- 发送相关提示信息到地面站
下图为uav_control模块代码运行流程
uav_control代码框架图