UGV无人车 SITL/MAVProxy 教程

本教程简要介绍了如何使用 SITLMAVProxy 对于 无人车UGV 测试。

概述

UGV无人车是一个易于上手的平台。与 Copter 或 Plane 不同的是,UGV无人车没有快速移动的螺旋桨,因此不需要上膛电机。由于是沿地面移动,因此无需考虑起飞或着陆,暂停/浮空/等待也只是 "停止 "而已。初始化结束后,UGV无人车就可以出发了!

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

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

备注

先决条件

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

CD ~/ardupilot/无人车UGV
模拟载具.py --地图 --游戏机

安排 MAVProxy 命令提示符, 控制台地图 这样您就可以在观察状态的同时发送命令。

../_images/mavproxy_sitl_console_and_map.jpg

开始

将漫游车切换到制导模式,然后在 mavproxy 控制台输入以下内容进行上膛

指导
上膛 throttle

右键单击 在目标目的地的地图上,选择 飞往并输入高度(将被忽略)。UGV无人车应行驶到该位置,然后暂停(仍处于引导模式)。

./_images/MAVProxyRover_Guided_Menu.jpg

MAVProxy:UGV无人车去定位

如果任务已加载,也可以直接切换到自动模式运行:

模式 载具

提示

任何与漫游车无关的命令或参数都将被忽略(如 TAKEOFF 命令和任何高度信息)。

引导载具

上一节介绍了在地图上移动载具所需的几乎所有知识。 指导 模式。

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

导游 纬度
导游 LAT 伦敦 纬度

如果需要暂停然后重新启动制导路径,只需指定高度(如 0)即可。下面的命令将模式设置为 "保持",然后重新启动飞行器朝前一点飞行:

指导>; 模式 持有
保持>; 导游 0
指导>;

完成后,您可以切换到 RTL 模式(在 自动 模式):

指导>; 模式 rtl
RLT>;

执行任务

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

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

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

备注

UGV无人车只能运行 支持的命令 (其他忽略不计)。

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

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

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

    ./_images/MAVProxyCopter_Mission_Draw.jpg

    MAVProxy:绘制任务菜单(此图片用于 Copter,但行为相同)。

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

    备注

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

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

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

提示

在任何时候,您都可以将模式设置为 保持并将其设置为 自动.

改变模式

罗孚支持少量模式,您可以在 MAVProxy模式 指挥:

指导>; 模式
指导>; ('可用模式:';, ['自动';, 'guided';, '手册';, '学习';, 'RTL';, '初始化';, 'HOLD';, '转向';])

有用的模拟模式有

  • 自动 - 执行任务

  • 指导 - 按指挥中心的指示移动

  • RTL - 返回发射

  • 保持 - 等待 - 暂停任务/停止移动。

如上一节所示,您可以通过指定 模式 modename.大多数模式只需输入模式名称即可设置,例如 rtl, 载具, 持有.

测试载具

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