旋翼飞行器 SITL/MAVProxy 教程

本教程简要介绍了如何使用 SITLMAVProxy 文档 对于 旋翼飞行器 测试。

概述

这篇文章主要面向希望使用 SITL 和 MAVProxy.它展示了如何起飞、在 指导 模式、运行任务、设置地理围栏以及执行其他一些基本测试任务。

该教程是对主题的补充 使用 SITL 进行 ArduPilot 测试.

备注

先决条件

本教程假定您已经设置了 Windows操作系统上的 SITLLinux操作系统 并使用 --地图--控制台 选项:

CD ~/ardupilot/ArduCopter
../工具/自动测试/模拟载具.py --地图 --游戏机

备注

如果您希望在不同的地图位置开始模拟,或使用与标准 + 布局四旋翼飞行器不同的框架类型(-f 选项用于 hexa、tri、octa、heli 等),请参阅 SITL 高级测试.使用 -help 选项可以找到模拟器启动选项的完整列表:

模拟载具.py --帮助

"这款" MAVProxy 命令提示符, 控制台地图 应方便安排,以便同时观察状态和发送命令。

../_images/mavproxy_sitl_console_and_map.jpg

起飞

本节介绍如何在 指导 模式。主要步骤如下 指导 模式,上膛节流阀,然后调用 起飞 指令。起飞必须在上膛后 15 秒内开始,否则电机将解除上膛!

备注

在撰写本文时,Copter 只支持在制导模式下起飞;如果要执行任务,必须先起飞,然后切换到 自动 模式。从 AC3.3 开始,也可以在自动模式下起飞。

MAVProxy 命令提示符.

模式 导游
上膛 throttle
起飞 40

旋翼飞行器应起飞到 40 米的高度,然后悬停(等待下一个指令)。

监测

在起飞过程中,您可以通过控制台上的 Alt field.

开发人员可能会发现 示意图 起飞时,首先输入 起飞 指挥。

./_images/MAVProxyGraphCopter_gtakeoff_40.png

MAVProxy:Copter Takeoff Graph (gtakeoff)

故障排除

造成起飞困难的最常见原因是

  1. 以除 指导.

  2. 在载具未上膛的情况下试图起飞。如果您呼叫 起飞 过慢 上膛 throttle或载具未通过预设警戒检查。

您可以列出所有 启用 使用命令 上膛 清单:

土地>; 上膛 清单
土地>; 一应俱全
参数
电压
指北针
电池
保险
rc
巴罗
全球定位系统

您可以使用 上膛 查看 n上膛 取消勾选 n n 分别是检查的名称。使用 n 的价值 一应俱全 来启用/禁用所有检查。

改变飞行模式 - 盘旋和着陆

下面的命令显示了如何将 Copter 放入 圆圈 模式,带有 CIRCLE_RADIUS 2000 厘米。这将使 Copter 以恒定的高度飞行一圈,前端指向圆心。

模式 圆形
停止 设置 圆半径 2000

备注

如果设置 CIRCLE_RADIUS 归零,载具将原地旋转。

旋翼飞行器支持 其他飞行模式的数量您可以在 MAVProxy 中使用 模式 指挥:

土地>; 模式
土地>; ('可用模式:';, ['RTL';, 'poshold';, '土地';, 'of_loiter';, '稳定';, '自动';, 'guided';, '漂移';, 'FLIP';, '自动调整';, 'alt_hold';, '位置悬停';, '位置';, '圈';, '运动';, 'ACRO';])

如上图所示,您可以通过指定 模式 modename.许多模式只需输入模式名称即可设置,例如 rtl, 载具, 等等

例如,要在您所在的位置着陆,您可以使用该命令: 模式 土地.要返回发射点然后着陆,您可以使用该命令: rtl.

引导载具

起飞后,您可以在地图上移动载具。 指导 模式。最简单的方法是右键单击您想去的地图,选择 飞往然后输入目标高度。

./_images/MAVProxyCopter_flyto.jpg

MAVProxy:飞往位置

您也可以使用以下两种格式在命令行中手动输入目标位置。如果只指定了高度,则将使用上次指定的 LAT/LON 格式。

导游 纬度
导游 LAT 伦敦 纬度

除了 起飞您可以在 指导 模式:

setyaw 角度 ANGULAR_SPEED 模式  (模式  0 对于 "绝对";  1 对于 "相对";)
设置速度 速度值
速度 x y z   (m/s)

备注

这些命令对应于 mav_cmd_nav_takeoff, mav_cmd_doo_change_speed, mav_cmd_condition_yaw, 设置目标位置.

在撰写本报告时,其他 旋翼飞行器指令 不支持MAVProxy #150)

飞行任务

您可以随时使用 wp 负荷 命令。起飞后,当前任务将在您切换到 自动 模式。

下面的示例显示了如何加载并启动其中一个测试任务,跳转到第二个航点,然后 任务:

wp 负荷 ..\工具\自动测试\通用任务\CMAC-线路.文本
模式 载具
wp 设置 2
wp 

"这款" MAVProxy 航点文档 列出了全部可用命令(也可以在命令行输入 "wp",使用自动完成功能获取)。

如果您想创建一个航点任务,这在地图上最容易实现:

  1. 右键单击地图,然后选择 任务 | 绘制.

    ./_images/MAVProxyCopter_Mission_Draw.jpg

    MAVProxy:绘制任务菜单

  2. 在地图上左键单击要显示点的位置。

    备注

    第一次点击时,不会出现任何可见的情况。第二次点击后,线条将连接您的点,显示路径。

  3. 完成后,右键单击地图,选择 任务环路.

这种方法只允许您创建 mav_cmd_nav_waypoint 命令。您可以在 Linux 上使用 未接 模块模块 负荷 未接).目前在 Windows 上这一功能已被破坏。也可以从文件加载其他类型的命令。

设置地理围栏

GeoFence 是 Copter 用来限制载具移动的虚拟屏障。Copter 使用一个简单的 "铁罐边界",如以下描述 简单地理围栏.当超过半径或最大高度时,飞行器会返回发射点和/或着陆。

围栏的启用(及其类型的选择)使用 旋翼飞行器围栏参数.您可以使用 停止 展览:

指导>; 停止 展览 篱笆*
指导>; 栅栏行动     1.000000
FENCE_ALT_MAX    100.000000
FENCE_ENABLE     0.000000
栅栏     2.000000
栅栏_RADIUS     150.000000
栅栏类型       3.000000

围栏的海拔高度边界为 100 米 (FENCE_ALT_MAX),并以一个半径为 栅栏_RADIUS 住宅周围。"""。 FENCE_TYPE=3 表示同时使用半径和高度(您可以将类型更改为只使用高度或圆形栅栏的其他数字,或者完全不使用)。

栅栏最初是禁用的 (FENCE_ENABLE=0).要打开它,我们将值设为 1:

指导>; 停止 设置 启用围栏 1

当我们飞出半径范围时,模式会变为 RTL(返回着陆)。如果由于某种原因,我们的飞行距离超出了 栅栏那么载具就会直接着陆。

测试载具

MAVProxy 可以列出影响载具和模拟的所有参数,使用 停止 展览 *并使用 停止 设置 参数名称 价值.除了影响载具本身外,一些参数还模拟特定硬件组件和环境(如风)的性能/故障。这些参数可通过以下方式列出 停止 展览 模拟*.主题 使用 SITL 进行 ArduPilot 测试 详细介绍了如何使用 SITL 进行测试。