# 模块参考:控制器
# ODULE_NAM
资料来源 modules/control_allocator (打开新窗口)
# 说明
实现控制分配。它将扭矩和推力设定点作为输入,并输出执行器设定点信息。
# 使用方法
ODULE_NAM <命令> [参数...] 命令: 启动 停止 状态 打印状态 信息
# 飞艇控制
资料来源 modules/airship_att_control (打开新窗口)
# 说明
它实现了飞艇的姿态和速率控制器。理想情况下,它将采用姿态设定点(......)。载具姿态设定点
)或速率设定点(在 acro 模式下通过 手动控制设定点
主题)作为输入和输出执行器控制信息。
目前,它正在为 手动控制设定点
主题直接连接到执行机构。
# 实施情况
为减少控制延迟,模块直接轮询 IMU 驱动程序发布的陀螺仪主题。
# 使用方法
airship_att_control <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 飞行模式管理器
资料来源 modules/flight_mode_manager (打开新窗口)
# 说明
它实现了所有模式的设定点生成。它将载具的当前模式状态作为输入,并为控制器输出设定点。
# 使用方法
flight_mode_manager <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# fw_att_control
资料来源 模块/fw_att_control (打开新窗口)
# 说明
fw_att_control 是固定翼姿态控制器。
# 使用方法
fw_att_control <命令> [参数...] 命令: 启动 [vtol] VTOL 模式 停止 状态 打印状态信息
# fw_pos_control_l1
资料来源 模块/fw_pos_control_l1 (打开新窗口)
# 说明
fw_pos_control_l1 是固定翼位置控制器。
# 使用方法
fw_pos_control_l1 <命令> [参数...] 命令: 启动 [vtol] VTOL 模式 停止 状态 打印状态信息
# mc_att_control
资料来源 模块/mc_att_control (打开新窗口)
# 说明
它实现了多旋翼飞行器姿态控制器。它采用姿态设定点(载具姿态设定点
)作为输入,并输出一个速率设定值。
控制器有一个 P 循环,用于消除角度误差
记录已实施的四元数姿态控制的出版物:非线性四旋翼飞行器姿态控制》(2013 年),作者:Dario Brescianini、Markus Hehn 和 Raffaello D'Andrea 苏黎世联邦理工学院动态系统与控制研究所 (IDSC)
https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/154099/eth-7387-01.pdf
# 使用方法
mc_att_control <命令> [参数...] 命令: 启动 [vtol] VTOL 模式 停止 状态 打印状态信息
# mc_pos_control
资料来源 模块/mc_pos_control (打开新窗口)
# 说明
控制器有两个环路:P 环路用于控制位置误差,PID 环路用于控制速度误差。速度控制器的输出是推力矢量,分为推力方向(即多旋翼飞行器方向的旋转矩阵)和推力标量(即多旋翼飞行器推力本身)。
控制器在工作中不使用欧拉角,生成欧拉角只是为了更人性化地进行控制和记录。
# 使用方法
mc_pos_control <命令> [参数...] 命令: 启动 [vtol] VTOL 模式 停止 状态 打印状态信息
# 率控制
资料来源 模块/速率控制 (打开新窗口)
# 说明
它实现了多旋翼飞行器速率控制器。它接收速率设置点(在 acro 模式下通过 手动控制设定点
主题)作为输入和输出执行器控制信息。
控制器有一个 PID 循环,用于消除角速度误差。
# 使用方法
mc_rate_control <命令> [参数...] 命令: 启动 [vtol] VTOL 模式 停止 状态 打印状态信息
# 导航仪
资料来源 模块/导航器 (打开新窗口)
# 说明
负责自主飞行模式的模块。其中包括任务(从 dataman 读取)、起飞和 RTL。它还负责检查违反地理围栏的情况。
# 实施情况
不同的内部模式是作为不同的类实现的,它们继承自一个共同的基类 导航模式
.成员 导航模式
包含当前的活动模式。
导航仪发布位置设定点三元组 (三重定位点_s
),然后由位置控制器使用。
# 使用方法
navigator <command> [arguments...] 命令: start fencefile 从 SD 卡加载地理围栏文件,存储在 etc/geofence.txt 中 fake_traffic 发布 4 条伪造的 transponder_report_s uORB 消息 stop status 打印状态信息
# UGV无人车位置控制
资料来源 modules/rover_pos_control (打开新窗口)
# 说明
使用 L1 控制器控制地面漫游车的位置。
出版 执行器控制器_0
IMU_GYRO_RATEMAX 处的信息。
# 实施情况
目前,这种实现方式只支持几种模式:
- 全手动:油门和偏航控制直接传递到执行器
- 自动任务:漫游车执行任务
- 停泊:漫游车将导航至悬停半径内,然后停止电机
# 实例
CLI 使用示例
rover_pos_control start rover_pos_control status rover_pos_control stop
# 使用方法
rover_pos_control <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# uuv_att_control
资料来源 modules/uuv_att_control (打开新窗口)
# 说明
控制无人潜航器(UUV)的姿态。
出版 执行器控制器_0
信息频率恒定为 250 赫兹。
# 实施情况
目前,这种实现方式只支持几种模式:
- 全手动:滚转、俯仰、偏航和油门控制直接传递到执行器
- 自动任务:uuv 执行任务
# 实例
CLI 使用示例
uuv_att_control start uuv_att_control status uuv_att_control stop
# 使用方法
uuv_att_control <命令> [参数...] 命令: 启动 停止 状态 打印状态 信息
# uuv_pos_control
资料来源 modules/uuv_pos_control (打开新窗口)
# 说明
控制无人潜航器 (UUV) 的姿态。发布 执行器控制器_0
信息频率恒定为 250 赫兹。
# 实施情况
目前,这种实现方式只支持几种模式:
- 全手动:滚转、俯仰、偏航和油门控制直接传递到执行器
- 自动任务:uuv 执行任务
# 实例
CLI 使用示例
uuv_pos_control start uuv_pos_control status uuv_pos_control stop
# 使用方法
uuv_pos_control <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# vtol_att_control
资料来源 modules/vtol_att_control (打开新窗口)
# 说明
fw_att_control 是固定翼姿态控制器。
# 使用方法
vtol_att_control <命令> [参数...] 命令: 停止状态 打印状态信息