无人机控制模块 - uav_control

uav_control代码框架

uav_control包含两个功能模块uav_controller(无人机控制)和uav_estimator(无人机状态);

uav_controller模块一次循环的的核心逻辑为:

  1. 无人机状态检查,包含飞控连接状态、定位状态、地理围栏等
  2. 检查无人机控制状态,包含INIT、RC_POS_CONTROL、COMMAND_CONTROL、LAND_CONTROL四种控制状态并对控制变量进行赋值
  3. 如果无人机状态为INIT则本次循环结束
  4. 下发控制指令

uav_estimator模块一次循环的的核心逻辑为:

  1. 订阅无人机状态、电池状态、无人机定位数据、外部定位数据等
  2. 如果使用外部定位数据,则将定位数据下发到MAVROS
  3. 打印显示无人机相关数据
  4. 发送相关提示信息到地面站

下图为uav_control模块代码运行流程

uav_control代码框架图