跳至内容

模块参考:系统

电池模拟器

资料来源 模块/模拟/电池模拟器

说明

使用方法

battery_simulator <命令> [参数...]
 命令
   启动

   停止

   状态 打印状态信息

电池状态

资料来源 模块/电池状态

说明

提供的功能包括

  • 读取 ADC 驱动程序的输出(通过 ioctl 接口)并发布 电池状态.

实施情况

它在自己的主题中运行,并对当前选定的陀螺仪主题进行投票。

使用方法

battery_status <命令> [参数...]
 命令
   启动

   停止

   状态 打印状态信息

摄像机反馈

资料来源 模块/摄像机反馈

说明

摄像机反馈模块会发布 相机捕捉 触发图像捕捉时的 UORB 主题。

如果启用了摄像机捕捉功能,则会发布来自摄像机捕捉引脚的触发信息;否则会发布命令摄像机触发时的触发信息(来自 摄像机触发器 模块)。

拍摄的图像 然后(通过流代码)按照 相机捕捉 更新。 相机捕捉 主题也会被记录下来,并可用于地理标记。

实施情况

相机触发器 主题由 摄像机触发器 模块反馈 字段集 错误)触发图像捕捉时发布,也可以通过 摄像头捕捉 驱动程序(带 反馈 字段集 ),如果摄像机捕捉引脚已激活。

摄像机反馈 模块订阅了 相机触发器.它会从 摄像机触发器 模块。对于未被丢弃的主题,它会创建一个 相机捕捉 主题中的时间戳信息 相机触发器 以及来自载具的位置信息。

使用方法

camera_feedback <命令> [参数...]
 命令
   启动

   停止

   状态 打印状态信息

cdcacm_autostart

资料来源 驱动程序/cdcacm_autostart

说明

该模块通过 USB 进行监听,并根据接收到的字节自动配置协议。支持的协议有MAVLink、nsh 和 ublox 串行直通。如果参数 SYS_USB_AUTO=2,那么只要检测到 USB VBUS,模块就会尝试启动 mavlink。否则,它将旋转并继续检查 VBUS,一旦检测到 VBUS 就启动 mavlink。

使用方法

cdcacm_autostart <命令> [参数...]
 命令
   启动

   停止

   状态 打印状态信息

司令员

资料来源 模块/指挥官

说明

指令模块包含用于模式切换和故障安全行为的状态机。

使用方法

commander <command> [arguments...] [参数...
 命令
   启动
     [-h] 启用 HIL 模式

   校准 运行传感器校准
     Mag|baro|accel|gyro|level|esc|airspeed 校准类型
     快速 快速校准(仅用于加速,不推荐使用)

   检查 运行飞行前检查

   上膛
     [-f] 强制启动(不执行飞行前检查)

   缴枪
     [-f] 强制撤膛(空中撤膛)

   起飞

   土地

   过渡 VTOL 过渡

   模式 改变飞行模式
     手动|自动|离机|稳定|高度控制|位置控制|位置:慢速|自动:任务|au
                 到:悬停|自动:rtl|自动:起飞|自动:着陆|自动:precland|ext1
                 飞行模式

   双人

   关厂
     开启或关闭锁定

   set_ekf_origin
     纬度、经度、高度 起源 纬度、经度、高度

   lat|lon|alt 原产地 纬度 经度 高度

   poweroff 关闭电路板电源(如果支持)

   停止

   状态 打印状态信息

数据管理员

资料来源 模块/数据管理员

说明

模块,通过 C API 以简单数据库的形式为系统其他部分提供持久存储。支持多个后端:

  • 文件(例如 SD 卡上的文件)
  • 内存(这显然不是持久性的)

它用于存储不同类型的结构化数据:任务航点、任务状态和地理围栏多边形。每种类型都有特定的类型和固定的最大存储量,因此可以进行快速随机存取。

实施情况

读写单个项目总是原子式的。

使用方法

dataman <命令> [参数...]
 命令
   启动
     [-f <val>] 存储文件
                 值: <文件>;
     [-r] 使用 RAM 后端(非持久性)

 选项 -f 和 -r 是互斥的。如果未指定任何选项,文件
 使用了 'dataman'。

   停止

   状态 打印状态信息

dmesg

资料来源 systemcmds/dmesg

说明

显示启动控制台信息的命令行工具。请注意,NuttX'工作队列和系统日志的输出不会被捕获。

实例

继续在后台打印所有信息:

dmesg -f &;

使用方法

dmesg <命令> [参数...]
 命令
     [-f] 关注:等待新信息

电池

资料来源 模块/电池

说明

该功能使用来自电调状态的信息,并将其发布为电池状态。

使用方法

esc_battery <命令> [参数...]
 命令
   启动

   停止

   状态 打印状态信息

陀螺仪校准

资料来源 modules/gyro_calibration

说明

简单的在线陀螺仪校准

使用方法

陀螺仪校准 <command> [arguments...] [参数...
 命令
   启动

   停止

   状态 打印状态信息

gyro_fft

资料来源 modules/gyro_fft

说明

使用方法

gyro_fft <命令> [参数...]
 命令
   启动

   停止

   状态 打印状态信息

加热

资料来源 司机/加热器

说明

在 LP 工作队列中定期运行的后台程序,用于将 IMU 温度调节到设定值。

可通过设置 SENS_EN_THERMAL 或 CLI 在启动时从启动脚本中启动该任务。

使用方法

加热器 <command> [参数...]
 命令
   启动

   停止

   状态 打印状态信息

i2c_launcher

资料来源 systemcmds/i2c_launcher

说明

根据找到的 I2C 设备启动驱动程序的守护进程。

使用方法

i2c_launcher <命令> [参数...]
 命令
   启动
     -b <val> 总线编号

   停止

   状态 打印状态信息

土地探测器

资料来源 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 <命令> [参数...]
 命令
   启动后台任务
     选择载具类型

   停止

   状态 打印状态信息

载入时间

资料来源 modules/load_mon

说明

在低优先级工作队列上定期运行的后台进程,用于计算 CPU 负载和 RAM 使用情况,并发布 cpuload 主题。

在 NuttX 上,它还会检查每个进程的堆栈使用情况,如果低于 300 字节,就会输出警告,该警告也会出现在日志文件中。

使用方法

load_mon <命令> [参数...]
 命令
   启动后台任务

   停止

   状态 打印状态信息

记录仪

资料来源 模块/日志

说明

系统日志记录器可记录一组可配置的 uORB 主题和系统 printf 信息 (PX4_WARNPX4_ERR)转换为 ULog 文件。这些文件可用于系统和飞行性能评估、调整、回放和碰撞分析。

它支持 2 个后端:

  • 文件:将 ULog 文件写入文件系统(SD 卡)
  • MAVLink:通过 MAVLink 将 ULog 数据流传输到客户端(客户端必须支持此功能)

两个后端可同时启用和使用。

文件后台支持两种类型的日志文件:完整日志(普通日志)和任务日志。任务日志是一个缩小的 ulog 文件,可用于地理标记或载具管理。它可以通过 SDLOG_MISSION 参数启用和配置。正常日志始终是任务日志的超集。

实施情况

执行时使用两个线程:

  • 主线程,以固定速率运行(如果使用 -p 启动,则对主题进行轮询)并检查数据更新
  • 写入器线程,向文件写入数据

在两者之间有一个可配置大小的写缓冲区(另一个固定大小的缓冲区用于任务日志)。缓冲区应较大,以避免掉线。

实例

典型用法是立即开始记录:

logger start -e -t

或者,如果已经在运行:

记录仪开启

使用方法

logger <command> [arguments...] [参数...
 命令
   启动
     [-m <val>] 后端模式
                 值:file|mavlink|all, 默认值:all
     [-x] 通过 Aux1 RC 通道启用/禁用记录功能
     [-a] 日志第一次上膛,直至关闭
     [-e] 启动后立即启用日志记录功能,直至解除(否则只有
                 上膛时)
     [-f] 记录直至关闭(意味着 -e)
     [-t] 使用日期/时间命名日志目录和文件
     [-r <val>]以赫兹为单位的日志速率,0 表示无限制速率
                 默认值:280
     [-b <val>] 日志缓冲区大小(千字节
                 默认:12
     [-p <val>]对一个主题进行民意调查,而不是以固定速率运行(日志速率
                 如果设置了该选项,则主题时间间隔将被忽略)。
                 值: <主题名称>;
     [-c <val>] 对数速率系数(越高越快)
                 默认值:1.0

   开始记录时,覆盖上膛(记录仪必须正在运行)

   关闭 立即停止记录,覆盖上膛(记录仪必须运行)

   trigger_watchdog 现在手动触发看门狗

   停止

   状态 打印状态信息

磁偏差估算器

资料来源 modules/mag_bias_estimator

说明

在线磁强计偏差估算器

使用方法

mag_bias_estimator <命令> [参数...]
 命令
   启动后台任务

   停止

   状态 打印状态信息

手动控制

资料来源 模块/手动控制

说明

消耗手动控制输入的模块发布一个手动控制设定点。

使用方法

manual_control <命令> [参数...]
 命令
   启动

   停止

   状态 打印状态信息

网民

资料来源 systemcmds/netman

说明

网络配置管理器将网络设置保存在非易失性存储器中。启动时 更新 选项将被运行。如果网络配置不存在。默认设置将保存在非易失性存储器中,并重新启动系统。

更新

网民更新 会自动运行 启动脚本.运行时 更新 选项将检查是否存在 net.cfg 在 SD 卡根目录下。然后将网络设置从 net.cfg 删除非易失性内存中的文件并重启系统。

节省

节省 选项会将设置从非易失性存储器保存到名为 net.cfg 在 SD 卡文件系统上进行编辑。用它来编辑设置。保存 "不会立即应用网络设置;用户必须重启飞行算法池。相比之下 更新 命令由启动脚本运行,将设置提交到非易失性存储器中,并重启飞行控制器(控制器将使用新设置)。

展览

展览 选项将在 net.cfg 到控制台。

实例

$ netman save # 将参数保存到 SD 卡。$ netman show # 显示当前设置。$ netman update -i eth0 # 进行更新

使用方法

netman <命令> [参数...]
 命令
   show 向控制台显示当前的持续网络设置。

   更新 检查 SD 卡中的 net.cfg,更新网络持久性网络
                 设置

   保存 将当前网络参数保存到 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.

使用方法

重播 <command> [参数...]
 命令
   开始重放,使用 ENV 变量 'replay' 中的日志文件;

   trystart 与 'start'相同,但如果没有给出日志文件,则静默退出

   tryapplyparams 尝试应用日志文件中的参数

   停止

   状态 打印状态信息

发送事件

资料来源 模块/事件

说明

在 LP 工作队列上定期运行的后台进程,用于执行内务管理任务。目前它只负责 RC 丢失时的音调警报。

任务可通过 CLI 或 uORB 主题(MAVLink 的 vehicle_command 等)启动。

使用方法

send_event <command> [arguments...] [参数...
 命令
   启动后台任务

   停止

   状态 打印状态信息

模拟传感器

资料来源 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 接口进行参数更新。要使其正常工作,传感器驱动程序必须在下列情况下已在运行 传感器 启动。
  • 进行传感器一致性检查并发布 传感器状态 主题。

实施情况

它在自己的主题中运行,并对当前选定的陀螺仪主题进行投票。

使用方法

传感器<命令> [参数...]
 命令
   启动
     [-h] 以 HIL 模式启动

   停止

   状态 打印状态信息

tattu_can

资料来源 驱动程序/tattu_can

说明

用于从 Tattu 12S 16000mAh 智能电池读取数据的驱动程序。

使用方法

tattu_can <命令> [参数...]
 命令
   启动

   停止

   状态 打印状态信息

温度补偿

资料来源 模块/温度补偿

说明

温度补偿模块允许对系统中的所有陀螺仪、加速度计和气压计进行温度补偿。该模块监控来自传感器的数据,并在检测到温度变化时更新相关的传感器校正主题。也可将模块配置为在下次启动时执行系数计算例程,以便在载具进行温度循环时计算热标定系数。

使用方法

temperature_compensation <命令> [参数...]
 命令
   启动模块,该模块负责监控传感器并更新
                 传感器校正主题

   校准 运行温度校准过程
     [-a] 校准加速度
     [-g] 校准陀螺仪
     [-m] 校准磁力仪
     [-b]校准气压计(如果未给出其中任何一项,则全部校准)。
                 校准)

   停止

   状态 打印状态信息

调整参数控制

资料来源 systemcmds/tune_control

说明

控制 & 的命令行工具;测试(外部)调整参数器。

调整参数用于提供声音通知和警告(例如当系统启动、位置锁定等)。该工具要求运行的驱动程序能够处理 tune_control uorb 主题。

有关调整参数格式和预定义系统调整参数的信息,请点击此处: https://github.com/PX4/PX4-Autopilot/blob/main/src/lib/tunes/tune_definition.desc

实例

播放系统曲调 2:

tune_control play -t 2

使用方法

tune_control <命令> [参数...]
 命令
   play 播放系统曲调或单个音符。
     错误 播放错误曲调
     [-t <val>] 播放预定义的系统曲调
                 默认:1
     [-f <val>] 音符频率,单位 Hz(0-22kHz)
     [-d<val>]纸币的有效期(以秒为单位
     [-s <val>] 音符的音量(响度)(0-100)
                 默认值:40
     [-m <val>]弦乐形式的旋律
                 值:<字符串> - 例如:"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...] [参数...
 命令
   启动
     [-t <val>] 传输协议
                 值:serial|udp,默认值:udp
     [-d <val>] 串行设备
                 值:<file:dev>;
     [-b <val>] 波特率(也可以是 p:<参数名>)。
                 默认值:0
     [-h <val>] 代理 IP。如果未提供,默认为 UXRCE_DDS_AG_IP
                 值: <IP>;
     [-p <val>] 代理监听端口。如果未提供,默认为
                 UXRCE_DDS_PRT
     [-n <val>] 客户端 DDS 命名空间

   停止

   状态 打印状态信息

工作队列

资料来源 systemcmds/work_queue

说明

显示工作队列状态的命令行工具。

使用方法

work_queue <command> [arguments...] [参数...
 命令
   启动

   停止

   状态 打印状态信息