• 首页
    • 旋翼飞行器
    • 固定翼飞行器
    • 无人车UGV
    • 飞艇
    • 潜航器
    • 天线跟踪器
    • Mission Planner地面站
    • APM Planner 2
    • MAVProxy
    • 配套计算机
    • 开发人员
  • 下载
    • Mission Planner地面站
    • APM Planner 2
    • 高级用户工具
    • 开发人员工具
    • 固件
  • 社区
    • 支持论坛
    • 在 Facebook 上
    • 开发人员聊天室(Discord)
    • 开发人员语音(Discord)
    • 联系我们
    • 参与
    • 商业支持
    • 开发团队
    • 无人机系统培训中心
  • 商店
  • 关于
    • 历史
    • 许可证
    • 商标
    • 致谢
    • 维基编辑指南
    • 合作伙伴计划
开发 标志
  • 许可证(GPLv3)
  • AP_ 外围设备
  • 下载代码/使用 Git
  • 编写代码
  • 编辑器和集成开发环境
  • 学习代码
  • 模拟 & 测试
    • SITL 模拟器
      • 设置 SITL
        • 在 Linux 上设置 SITL
        • 使用 WSL 在 Windows 上设置 SITL
        • 使用 Cygwin 在 Windows 上设置 SITL(不推荐)
        • 在 Windows 虚拟机中设置 SITL(不推荐)
        • 使用 Vagrant 设置 SITL
      • 在(飞行)控制器上运行 SITL
      • 使用 SITL
      • 按载具使用 SITL 的示例
      • SITL 串行端口
      • SITL 参数列表
    • 飞行任务规划模拟
    • gazebo
    • XPlane-10
    • XPlane-10翱翔
    • RealFlight
    • 莫尔斯
    • 重播
    • JSBSim
    • 空中模拟
    • 翱翔的无声之翼
    • 最后一封信
    • CRRCSim
    • HITL 模拟器
    • 自动测试框架
    • 单元测试
    • SCRIMMAGE
    • Webots
    • MATLAB 和 Simulink
    • JSON 接口
  • 调试
  • Linux 上的 ArduPilot
  • 支持代理
  • 贡献代码
  • MAVLink 接口
  • CAN 和 DroneCAN/UAVCAN
  • 配套计算机
  • ROS1/ROS2
  • Lua 脚本
  • 移植到新的飞行控制器
  • OEM 定制
  • 安全固件
  • 远程 ID
  • 高级硬件信息
  • MAVProxy 开发人员 GCS
  • 为 GCS 开发人员提供的资源
  • RTF 载具开发人员信息
  • 团队如何工作
  • 活动
  • 培训中心
  • GSoC
  • 2021 年开发者大会
  • 2022 年路线图
  • 维基编辑指南
  • USB ID
  • 用户警报
  • 涉及 ArduPilot 的学术作品
  • 附录


个人 合作伙伴 SWAG 商店
开发
  • 模拟
  • SITL 模拟器(循环中的软件)
  • 设置 SITL
  • 在 Windows 虚拟机中设置 SITL(不推荐)
  • 在 GitHub 上编辑

在 Windows 虚拟机中设置 SITL(不推荐)¶

警告

这些说明已经过时。我们建议 Windows 用户遵循以下说明 使用 WSL 设置构建环境 和 在 WSL 上设置 SITL

本文介绍了如何 人工 设立 SITL ArduPilot 模拟器 在 Windows 的虚拟机环境中,将其连接到地面控制站

提示

参见 使用 Vagrant 设置 SITL 以实现更自动化的设置过程。

概述¶

SITL(Software In The Loop,循环软件)模拟器允许您在没有任何硬件的情况下运行飞机、旋翼飞行器或漫游车。模拟器在 Linux PC 上以本地可执行文件的形式运行正常的 ArduPilot 代码。SITL 也可在 Windows、Mac OSX 或 Linux 上的虚拟机中运行。

本文介绍如何在 VMware 虚拟机托管的 Linux 环境中手动设置 SITL。您可以使用任何虚拟机提供商,如 VirtualBox、Vmware 等。

备注

使用 VMware ver 7.1.0 build-2496824 在 Windows 8 和 Ubuntu 14.10 上测试了该说明。

../_images/Ubuntu_SITL_running_Copter.jpg

先决条件¶

请注意,在尝试此操作之前,您应该已经拥有 下载了代码 到您的机器上。

步骤 #1 - 安装 VMWare 并创建 Ubuntu 虚拟机¶

  1. 下载并安装 虚拟软件 (查找 Windows 版 VMware Workstation Player)。

  2. 下载最新的 Ubuntu 版本:例如 22.04 LTS。

3.启动 VMware,选择播放器> 文件> 新建虚拟机,创建新的 ubuntu 机器

  • 选择刚刚下载的 ISO

  • 输入虚拟机的全名、用户名和密码。

  • 为虚拟机命名(如 Copter-SITL)

  • 指定磁盘容量 - 将最大磁盘容量保留为默认的 20GB,并选中 "将虚拟磁盘分割为多个文件"。

  • 在 "新建虚拟机向导 "的下一页点击 "自定义硬件... "按钮

  • 在 "硬件 "选项卡上设置内存3GB,处理器4、硬盘:20GB、网络适配器网络适配器

../_images/Ubuntu_VMSettings_Hardware.png

步骤 #2 - 首次启动虚拟机¶

  1. 双击刚刚在 VMware Player 中创建的项目,打开机器电源

  2. 对于 "无法连接到 XXX 设备,因为主机上没有相应的设备 "之类的问题,请按 "否"。

  3. 在登录屏幕出现时输入密码

  4. 对任何升级版本的选项说 "不"

  5. 打开火狐浏览器,确保它能访问某个网页,如 ardupilot.org

  6. 双击右上角设置时钟,在地图上选择你的位置,然后将 "设置时间:"设置为 "从互联网自动"。

    Ubuntu_setTimezone

  7. 点击左上角的 Dash 主页图标,输入 "terminal"(终端),然后将终端应用程序拖动到左侧的开始窗格,即可设置终端短板。

    Ubuntu_TerminalShortcut

步骤 #3 - 使用 Windows & 设置共享分区;Ubuntu 虚拟机¶

1.选择虚拟机名称,确保虚拟机已关闭电源,然后选择绿色播放按钮旁边的下拉按钮,如果没有变灰,则选择 "关闭电源"。

../_images/Ubuntu_PowerOff.jpg

2.在 VMware Player 上选择播放器> 管理> 虚拟机设置... > 选项卡> 共享文件夹

  • 选中 "始终启用"、

  • 点击 "添加..."

  • 将 "主机路径 "设置为安装 ardupilot 软件的上一级文件夹

  • 选中 "启用此共享"。

../_images/Ubuntu_VMSettings_SetupSharedFolder.png
  1. 打开虚拟机电源,输入登录信息

4.打开终端窗口,键入 "ls /mnt/hgfs",这时你设置的共享应该就能看到了

输入 "ln -s /mnt/hgfs/<foldername>"(其中<foldername>替换为您设置的文件夹名称),从您的主目录创建指向共享文件夹的符号链接

步骤 #4 - 按照 Linux 说明操作¶

现在你已经有了一个 Linux 虚拟机,你应该按照 适用于 Linux 的 SITL 说明

与Mission Planner地面站联系¶

除了使用 mavproxy 地面站(用 python 编写的命令行式地面站)外,还可以通过添加 --viewerip=XXX.X.X.X 到启动命令的末尾,其中的 X 替换为机器的 IP 地址。在命令提示符下输入 "ipconfig "即可找到该地址。

备注

您可能会看到列出的 IP 地址不止一个,因此您可能需要尝试几个不同的地址才能找到一个合适的地址。

../_images/SITL_ipconfig.png

因此,在这个例子中,在 Ubuntu 虚拟机的 ardupilot 目录下,在终端中输入以下内容:

./工具/自动测试/自动测试.py 构建.ArduCopter 苍蝇.ArduCopter --地图 --观众席=192.168.184.1

首先将 "COM 端口 "设置为 "UDP",然后连接Mission Planner地面站。

../_images/SITL_connectWithMP.jpg

数据闪存日志¶

模拟运行后,将在 "buildlogs "目录下创建名为 "Copter.flashlog "或 "CopterAVC.flashlog "的数据闪存日志。该目录与 ardupilot 目录同级(即直接包含 "Copter"、"Plane "和 "libraries "目录的顶层)。由于文件名不方便,您需要在Mission Planner地面站中打开前将文件扩展名改为".log"。

下一步工作¶

要充分利用 SITL,我们建议您阅读 MAVProxy 文档.

主题 使用 SITL 进行 ArduPilot 测试 介绍了如何使用模拟器,并涵盖了如何将 SITL 与Mission Planner地面站和 MAVProxy 以外的地面站一起使用等主题。

上一页 下一页

有关本页面的问题、事项和建议可在 论坛.问题和建议可在论坛或 Github 问题跟踪.

知识共享许可协议© 版权 2024 年,ArduPilot 开发团队。