模块参考:控制器
飞艇控制
资料来源 modules/airship_att_control
说明
它实现了飞艇的姿态和速率控制器。理想情况下,它将采用姿态设定点(......)。载具姿态设定点
)或速率设定点(在 acro 模式下通过 手动控制设定点
主题)作为输入和输出执行器控制信息。
目前,它正在为 手动控制设定点
主题直接连接到执行机构。
实施情况
为减少控制延迟,模块直接轮询 IMU 驱动程序发布的陀螺仪主题。
使用方法
airship_att_control <命令> [参数...]
命令
启动
停止
状态 打印状态信息
控制分配器
资料来源 modules/control_allocator
说明
实现控制分配。它将扭矩和推力设定点作为输入,并输出执行器设定点信息。
使用方法
control_allocator <command>[参数...]
命令
启动
停止
状态 打印状态信息
差分驱动
资料来源 模块/差分驱动
说明
罗孚差速驱动控制器。
使用方法
differential_drive <命令> [参数...]
命令
启动
停止
状态 打印状态信息
飞行模式管理器
资料来源 modules/flight_mode_manager
说明
它实现了所有模式的设定点生成。它将载具的当前模式状态作为输入,并为控制器输出设定点。
使用方法
flight_mode_manager <command>[参数...]
命令
启动
停止
状态 打印状态信息
fw_att_control
资料来源 模块/fw_att_control
说明
fw_att_control 是固定翼姿态控制器。
使用方法
fw_att_control <命令> [参数...]
命令
启动
[vtol] VTOL 模式
停止
状态 打印状态信息
fw_pos_control
资料来源 模块/fw_pos_control
说明
fw_pos_control 是固定翼位置控制器。
使用方法
fw_pos_control <命令> [参数...]
命令
启动
[vtol] VTOL 模式
停止
状态 打印状态信息
fw_rate_control
资料来源 模块/费率控制
说明
fw_rate_control 是固定翼速率控制器。
使用方法
fw_rate_control <命令> [参数...]
命令
启动
[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...] [参数...
命令
启动
fencefile 从 SD 卡加载地理围栏文件,存储在 etc/geofence.txt 中
fake_traffic 发布 24 条伪造的 transponder_report_s uORB 报文
停止
状态 打印状态信息
罗弗-阿克曼
说明
UGV无人车状态机
使用方法
rover_ackermann <命令> [参数...]
命令
启动
停止
状态 打印状态信息
UGV无人车位置控制
资料来源 modules/rover_pos_control
说明
使用 L1 控制器控制地面漫游车的位置。
出版 载具推力设定点(仅限 x 方向)和载具扭矩设定点(仅限偏航方向)
IMU_GYRO_RATEMAX 处的信息。
实施情况
目前,这种实现方式只支持几种模式:
- 全手动:油门和偏航控制直接传递到执行器
- 自动任务:漫游车执行任务
- 停泊:漫游车将导航至悬停半径内,然后停止电机
实例
CLI 使用示例
UGV无人车位置控制启动
UGV无人车位置控制状态
停止
使用方法
rover_pos_control <command>[参数...]
命令
启动
停止
状态 打印状态信息
uuv_att_control
说明
控制无人潜航器(UUV)的姿态。
出版 载具推力设置
和 载具扭矩设定点
信息频率恒定为 250 赫兹。
实施情况
目前,这种实现方式只支持几种模式:
- 全手动:滚转、俯仰、偏航和油门控制直接传递到执行器
- 自动任务:uuv 执行任务
实例
CLI 使用示例
uuv_att_control 启动
uuv_att_control 状态
uuv_att_control 停止
使用方法
uuv_att_control <命令> [参数...]
命令
启动
停止
状态 打印状态信息
uuv_pos_control
说明
控制无人潜航器 (UUV) 的姿态。发布 态度设定点
留言
实施情况
目前,这种实现方式只支持几种模式:
- 全手动:滚转、俯仰、偏航和油门控制直接传递到执行器
- 自动任务:uuv 执行任务
实例
CLI 使用示例
uuv_pos_control 启动
uuv_pos_control 状态
uuv_pos_control 停止
使用方法
uuv_pos_control <命令> [参数...]
命令
启动
停止
状态 打印状态信息
vtol_att_control
说明
fw_att_control 是固定翼姿态控制器。
使用方法
vtol_att_control <命令> [参数...]
命令
停止
状态 打印状态信息