# 模块参考:系统
# 电池模拟器
资料来源 模块/模拟/电池模拟器 (打开新窗口)
# 说明
# 使用方法
battery_simulator <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 电池状态
资料来源 模块/电池状态 (打开新窗口)
# 说明
提供的功能包括
- 读取 ADC 驱动程序的输出(通过 ioctl 接口)并发布
电池状态
.
# 实施情况
它在自己的主题中运行,并对当前选定的陀螺仪主题进行投票。
# 使用方法
battery_status <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 摄像机反馈
资料来源 模块/摄像机反馈 (打开新窗口)
# 说明
# 使用方法
camera_feedback <命令> [参数...] 命令:启动 停止 状态 打印状态 信息
# 司令员
资料来源 模块/指挥官 (打开新窗口)
# 说明
指令模块包含用于模式切换和故障安全行为的状态机。
# 使用方法
commander <command> [arguments...命令: start [-h] 启用 HIL 模式 calibrate 运行传感器校准 mag|baro|accel|gyro|level|esc|airspeed 校准类型 quick 快速校准(仅加速,不推荐) check 运行飞行前检查 arm [-f] 强制上膛(不运行飞行前检查) disarm [-f] 强制撤膛(空中撤膛) takeoff land transition VTOL transition mode 更改飞行模式 manual|acro|offboard|stabilized|altctl|posctl|auto:飞行模式配对 锁定 on|off 打开或关闭锁定 set_ekf_origin lat, lon, alt 初始纬度、经度、高度 lat|lon|alt 初始纬度、经度、高度 poweroff 关闭飞行器(如果支持) stop status 打印状态信息
# 数据管理员
资料来源 模块/数据管理员 (打开新窗口)
# 说明
模块,通过 C API 以简单数据库的形式为系统其他部分提供持久存储。支持多个后端:
- 文件(例如 SD 卡上的文件)
- 内存(这显然不是持久性的)
它用于存储不同类型的结构化数据:任务航点、任务状态和地理围栏多边形。每种类型都有特定的类型和固定的最大存储量,因此可以进行快速随机存取。
# 实施情况
读写单个项目总是原子的。如果需要以原子方式读取/修改多个项目,则通过 dm_lock
.
dm_key_fence_points 和 dm_key_safe_points 项:第一个数据元素是 任务统计条目
结构体,其中存储了这些类型的项目数量。这些项目总是在一个事务(来自 mavlink 任务管理器)中原子式更新。在此期间,导航仪将尝试获取地理围栏项目锁,但会失败,并且不会检查是否有违反地理围栏的行为。
# 使用方法
dataman <command> [arguments...] 命令: start [-f <val>] 存储文件值:<file> [-r] 使用 RAM 后端(非持久) 选项 -f 和 -r 是互斥的。如果未指定任何选项,则使用文件 "dataman" stop status 打印状态信息
# dmesg
# 说明
显示启动控制台信息的命令行工具。请注意,NuttX 工作队列和系统日志的输出不会被捕获。
# 实例
继续在后台打印所有信息:
dmesg -f &;
# 使用方法
dmesg <command> [arguments...] 命令:[跟随:等待新信息
# 电池
资料来源 模块/电池 (打开新窗口)
# 说明
该功能使用来自电调状态的信息,并将其发布为电池状态。
# 使用方法
esc_battery <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 陀螺仪校准
资料来源 modules/gyro_calibration (打开新窗口)
# 说明
简单的在线陀螺仪校准
# 使用方法
陀螺仪校准 <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# gyro_fft
# 说明
# 使用方法
gyro_fft <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 加热
资料来源 司机/加热器 (打开新窗口)
# 说明
在 LP 工作队列中定期运行的后台程序,用于将 IMU 温度调节到设定值。
可通过设置 SENS_EN_THERMAL 或 CLI 在启动时从启动脚本中启动该任务。
# 使用方法
加热器 <command> [参数...] 命令: 启动 停止 状态 打印状态信息
# 土地探测器
资料来源 modules/land_detector (打开新窗口)
# 说明
模块检测飞行器的自由落体和着陆状态,并发布 载具检测到土地
主题。每种飞行器(多旋翼飞行器、固定翼飞行器、vtol 飞行器......)都有自己的算法,考虑到各种状态,如指令推力、上膛状态和飞行器运动。
# 实施情况
每种类型都在自己的类中实现,并有一个共同的基类。基类保持一种状态(着陆、可能着陆、地面接触)。每个可能的状态都在派生类中实现。每个内部状态的滞后性和固定优先级决定了实际的降落检测器状态。
# 多旋翼降落检测器
地面接触GROUND_CONTACT_TRIGGER_TIME_US :推力设定点和 Z 方向的速度必须低于 GROUND_CONTACT_TRIGGER_TIME_US 的时间阈值。检测到地面接触时,位置控制器将关闭机体 x 和 y 方向的推力设定点。
可能着陆触发时间由 MAYBE_LAND_TRIGGER_TIME 确定。当检测到 maybe_landed 时,位置控制器会将推力设定值设为零。
上岸在 LAND_DETECTOR_TRIGGER_TIME_US 时,它要求 maybe_landed 为 true。
该模块在 HP 工作队列中定期运行。
# 使用方法
land_detector <command> [arguments...] 命令: start 启动后台任务 fixedwing|multiopter|vtol|rover|airship 选择载具类型 stop status 打印状态信息
# 载入时间
# 说明
在低优先级工作队列上定期运行的后台进程,用于计算 CPU 负载和 RAM 使用情况,并发布 cpuload
主题。
在 NuttX 上,它还会检查每个进程的堆栈使用情况,如果低于 300 字节,就会输出警告,该警告也会出现在日志文件中。
# 使用方法
load_mon <command> [arguments...] 命令: start 启动后台任务 stop status 打印状态信息
# 记录仪
资料来源 模块/日志 (打开新窗口)
# 说明
系统日志记录器可记录一组可配置的 uORB 主题和系统 printf 信息 (PX4_WARN
和 PX4_ERR
)转换为 ULog 文件。这些文件可用于系统和飞行性能评估、调整、回放和碰撞分析。
它支持 2 个后端:
- 文件:将 ULog 文件写入文件系统(SD 卡)
- MAVLink:通过 MAVLink 将 ULog 数据流传输到客户端(客户端必须支持此功能)
两个后端可同时启用和使用。
文件后台支持两种类型的日志文件:完整日志(普通日志)和任务日志。任务日志是一个缩小的 ulog 文件,可用于地理标记或载具管理。它可以通过 SDLOG_MISSION 参数启用和配置。正常日志始终是任务日志的超集。
# 实施情况
执行时使用两个线程:
- 主线程,以固定速率运行(如果使用 -p 启动,则对主题进行轮询)并检查数据更新
- 写入器线程,向文件写入数据
在两者之间有一个可配置大小的写缓冲区(另一个固定大小的缓冲区用于任务日志)。缓冲区应较大,以避免掉线。
# 实例
典型用法是立即开始记录:
logger start -e -t
或者,如果已经在运行:
记录仪开启
# 使用方法
logger <command> [arguments...命令: start [-m <val>] 后端模式值:file|mavlink|all,默认:all [-x] 通过 Aux1 RC 通道启用/禁用日志记录 [-a] 第一次上膛时记录日志,直至关机 [-e] 启动后立即启用日志记录,直至撤膛(否则仅在上膛时) [-f] 记录日志,直至关机(暗示 -e) [-t] 使用日期/时间命名日志目录和文件 [-r <val>] 记录速率,单位为 Hz,0 表示无限制速率,默认为 280 [-b <val>] 记录速率,单位为 Hz,0 表示无限制速率:280 [-b <val>] 日志缓冲区大小(单位:KiB) 默认值:12 [-p <val>] 在主题上轮询,而不是以固定速率运行(如果设置此值,则忽略日志速率和主题间隔) 值:<topic_name> [-c <val>] 日志速率因子(越高越快) 默认值:1.0 on 立即开始记录,覆盖上膛(记录仪必须运行) off 立即停止记录,覆盖上膛(记录仪必须运行) trigger_watchdog 手动触发看门狗 now stop status 打印状态信息
# 磁偏差估算器
资料来源 modules/mag_bias_estimator (打开新窗口)
# 说明
在线磁强计偏差估算器
# 使用方法
mag_bias_estimator <命令> [参数...] 命令: start 启动后台任务 stop status 打印状态信息
# 手动控制
资料来源 模块/手动控制 (打开新窗口)
# 说明
消耗手动控制输入的模块发布一个手动控制设定点。
# 使用方法
manual_control <命令> [参数...] 命令: 启动 停止 状态 打印状态 信息
# 网民
资料来源 systemcmds/netman (打开新窗口)
# 说明
网络配置管理器将网络设置保存在非易失性存储器中。启动时 更新
选项将被运行。如果网络配置不存在。默认设置将保存在非易失性存储器中,并重新启动系统。
# 更新
网民更新
会自动运行 启动脚本.运行时 更新
选项将检查是否存在 net.cfg
在 SD 卡根目录下。然后将网络设置从 net.cfg
删除非易失性内存中的文件并重启系统。
# 节省
节省
选项会将设置从非易失性存储器保存到名为
net.cfg
在 SD 卡文件系统上进行编辑。用它来编辑设置。保存 "不会立即应用网络设置;用户必须重启飞行算法池。相比之下 更新
命令由启动脚本运行,将设置提交到非易失性存储器中,并重启飞行控制器(控制器将使用新设置)。
# 展览
展览
选项将在 net.cfg
到控制台。
# 实例
$ netman save # 将参数保存到 SD 卡。$ netman show # 显示当前设置。$ netman update -i eth0 # 进行更新
# 使用方法
netman <command> [arguments...] 命令: show 向控制台显示当前的持续网络设置。 update 检查 SD 卡中的 net.cfg,更新网络持续网络设置。 save 将当前网络参数保存到 SD 卡中。[-i <val>] 设置接口名称 默认:eth0
# pwm_input
资料来源 驱动程序/pwm_输入 (打开新窗口)
# 说明
通过定时器捕获 ISR 测量 AUX5(或 MAIN5)上的 PWM 输入,并通过 uORB "pwm_input "信息发布。
# 使用方法
pwm_input <command> [arguments...] 命令: 启动 停止 状态 打印状态信息
# rc_update
资料来源 modules/rc_update (打开新窗口)
# 说明
rc_update 模块处理 RC 通道映射:读取原始输入通道 (input_rc
),然后应用校准,将 RC 通道映射到配置的通道 & 模式开关,然后发布为 rc_channels
和 手动控制输入
.
# 实施情况
为减少控制延迟,该模块安排在 input_rc 出版物上发布。
# 使用方法
rc_update <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 重放
资料来源 模块/重放 (打开新窗口)
# 说明
该模块用于重放 ULog 文件。
有 2 个环境变量用于配置: 重放
必须设置为 ULog 文件名,即要重放的日志文件。第二个是模式,通过 重放模式
:
replay_mode=ekf2
特定的 EKF2 重放模式。它只能与 EKF2 模块一起使用,但可以让重放尽可能快地运行。- 通用其他方式:可用于重放任何模块,但重放速度与记录日志的速度相同。
该模块通常与 uORB 发布规则一起使用,以指定哪些信息应被重放。重放模块只会发布日志中的所有信息。它还会应用日志中的参数。
重放程序记录在 全系统重播 (打开新窗口) page.
# 使用方法
命令: start 开始重放,使用 ENV 变量 "replay "中的日志文件 trystart 与 "start "相同,但如果没有给出日志文件,则静默退出 tryapplyparams 尝试应用日志文件中的参数 stop status 打印状态信息
# 发送事件
资料来源 模块/事件 (打开新窗口)
# 说明
在 LP 工作队列上定期运行的后台进程,用于执行内务管理任务。目前它只负责 RC 丢失时的音调警报。
任务可通过 CLI 或 uORB 主题(MAVLink 的 vehicle_command 等)启动。
# 使用方法
send_event <command> [arguments...] 命令: start 启动后台任务 stop status 打印状态信息
# 模拟传感器
资料来源 modules/simulation/sensor_airspeed_sim (打开新窗口)
# 说明
# 使用方法
sensor_arispeed_sim <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 传感器_巴罗_模拟
# 说明
# 使用方法
sensor_baro_sim <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 传感器_gps_sim
资料来源 modules/simulation/sensor_gps_sim (打开新窗口)
# 说明
# 使用方法
sensor_gps_sim <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 传感器磁模拟
资料来源 模块/模拟/传感器磁模拟 (打开新窗口)
# 说明
# 使用方法
sensor_mag_sim <命令> [参数...] 命令: 启动 停止 状态 打印状态信息
# 传感器
资料来源 模块/传感器 (打开新窗口)
# 说明
传感器模块是整个系统的核心。它从驱动程序中获取底层输出,将其转化为更有用的形式,并发布给系统的其他部分。
提供的功能包括
- 读取传感器驱动器的输出 (
传感器
等)。如果有多个相同类型,则进行表决和故障切换处理。然后应用电路板旋转和温度校准(如果启用)。最后发布数据;其中一个主题是传感器组合
系统的许多部分都在使用。 - 确保传感器驱动程序在参数更改或启动时获得更新的校准参数(标度&;偏移)。传感器驱动程序使用 ioctl 接口进行参数更新。要使其正常工作,传感器驱动程序必须在下列情况下已在运行
传感器
启动。 - 进行传感器一致性检查并发布
传感器状态
主题。
# 实施情况
它在自己的主题中运行,并对当前选定的陀螺仪主题进行投票。
# 使用方法
传感器 <command> [参数...] 命令: start [-h] 启动 HIL 模式 stop status 打印状态信息
# tattu_can
# 说明
用于从 Tattu 12S 16000mAh 智能电池读取数据的驱动程序。
# 使用方法
tattu_can <命令> [参数...] 命令: 启动 停止 状态 打印状态 信息
# 温度补偿
资料来源 模块/温度补偿 (打开新窗口)
# 说明
温度补偿模块允许对系统中的所有陀螺仪、加速度计和气压计进行温度补偿。该模块监控来自传感器的数据,并在检测到温度变化时更新相关的传感器校正主题。也可将模块配置为在下次启动时执行系数计算例程,以便在载具进行温度循环时计算热标定系数。
# 使用方法
temperature_compensation <command>[参数...] 命令: start 启动模块,监控传感器并更新 sensor_correction 主题 calibrate 运行温度校准过程 [-g] 校准陀螺仪 [-a] 校准加速度计 [-b] 校准气压计(如果未给出任何参数,则将校准所有参数) stop status 打印状态信息
# 调整参数控制
资料来源 systemcmds/tune_control (打开新窗口)
# 说明
控制 & 的命令行工具;测试(外部)调整参数器。
调整参数用于提供声音通知和警告(例如当系统启动、位置锁定等)。该工具要求运行的驱动程序能够处理 tune_control uorb 主题。
有关调整参数格式和预定义系统调整参数的信息,请访问:https://github.com/PX4/PX4-Autopilot/blob/release/1.14/src/lib/tunes/tune_definition.desc。
# 实例
播放系统曲调 2:
tune_control play -t 2
# 使用方法
tune_control <command> [arguments...] 命令: play 播放系统音调或单个音符。error 播放错误的曲调 [-t <val>] 播放预定义的系统曲调 默认值: 1 [-f <val>] 以 Hz 为单位的音符频率(0-22kHz) [-d <val>] 以 us 为单位的音符持续时间 [-s <val>] 音符的音量(响度)级别(0-100) 默认值: 40 [-m <val>] 以字符串形式表示的旋律 值: <string> - 例如:"MFT200e8a8a"。例如:"MFT200e8a8a" libtest 测试库 stop 停止播放(用于重复播放曲调)
# uxrce_dds_client
资料来源 modules/uxrce_dds_client (打开新窗口)
# 说明
UXRCE-DDS 客户端,用于通过串行或 UDP 与代理进行 uORB 主题通信。
# 实例
uxrce_dds_client start -t serial -d /dev/ttyS3 -b 921600 uxrce_dds_client start -t udp -h 127.0.0.1 -p 15555
# 使用方法
uxrce_dds_client <command> [arguments...] 命令:start [-t <val>] 传输协议值:serial|udp,默认值:udp [-d <val>] 串行设备值:<file:dev> [-b <val>] 波特率(也可以是 p:<param_name>)默认值:0 [-h <val>] 代理 IP。如果未提供,默认为 UXRCE_DDS_AG_IP 值:<IP> [-p <val>] 代理监听端口。如果未提供,默认为 UXRCE_DDS_PRT [-l] 限制为 localhost(与 ROS_LOCALHOST_ONLY=1 结合使用) [-c] 使用自定义参与者配置(profile_name="px4_participant") [-n <val>] 客户端 DDS 命名空间 stop status 打印状态信息
# 工作队列
资料来源 systemcmds/work_queue (打开新窗口)
# 说明
显示工作队列状态的命令行工具。
# 使用方法
work_queue <命令> [参数...] 命令: 启动 停止 状态 打印状态 信息