首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vs2022 生成AirSim 教程

vs2022 生成AirSim 教程

原创
作者头像
心语.Wang
发布2025-09-22 01:00:37
发布2025-09-22 01:00:37
570
举报

安装依赖

安装 Epic Games Launcher 并至少下载 UE 4.27。

安装 VS2022,勾选“使用 C++ 的桌面开发”和 Windows 10 SDK 10.0.19041(或更高)

获取并编译 AirSim 插件

代码语言:powershell
复制
git clone [https://github.com/Microsoft/AirSim.git](https://github.com/Microsoft/AirSim.git)
cd AirSim
build.cmd          // 用 Developer Command Prompt for VS 2022 执行

编译完成后会在 AirSim\Unreal\Plugins 生成插件二进制文件

生成 Blocks 示例的 UE 工程

代码语言:powershell
复制
cd AirSim\Unreal\Environments\Blocks
update\_from\_git.bat        // 生成 Blocks.sln

打开并编译 Blocks 项目

双击 Blocks.sln → VS2022 启动。

将 Blocks 设为启动项目,配置选 DebugGame_Editor + Win64(或 Development_Editor)

按 F5(或“调试→开始调试”)编译并启动 UE 编辑器。

运行仿真

在 UE 编辑器里点击 ▶ Play,选择汽车/无人机后即可开始仿真;此时 Blocks 的可执行文件(Blocks-Win64-DebugGame.exe 等)会输出到

Blocks\Binaries\Win64\ 目录下,可直接双击运行18。

JSON 配置与 PX4 + QGC 联合运行

一、JSON 模板(Windows 端) 把文件放到 C:\Users\<用户名>\Documents\AirSim\settings.json

代码语言:json
复制
{
  "SettingsVersion": 1.2,
  "SimMode": "Multirotor",
  "ClockType": "SteppableClock",
  "Vehicles": {
    "PX4": {
      "VehicleType": "PX4Multirotor",
      "UseSerial": false,
      "UseTcp": true,
      "TcpPort": 4560,
      "ControlIp": "remote",
      "ControlPortLocal": 14540,
      "ControlPortRemote": 14580,
      "LocalHostIp": "172.22.208.1",   // 换成你 Windows 在 WSL/局域网里的实际 IP
      "Parameters": {
        "NAV_RCL_ACT": 0,
        "NAV_DLL_ACT": 0,
        "COM_OBL_RC_ACT": 1,
        "LPE_LAT": 47.641468,
        "LPE_LON": -122.140165
      }
    }
  }
}

关键字段说明

  • TcpPort: 4560 是 PX4 SITL 默认监听口;AirSim 作为 client 去连。
  • LocalHostIp: 必须写 Windows 网卡上与 Ubuntu/WSL 同一网段的地址,不能写 127.0.0.1。
  • 两个 ControlPort* 给 mavros/辅助链路用,不改也行。

二、启动顺序(跨机同理)

  1. Windows a) 先启动 AirSim(Blocks 或 LandscapeMountains 都可)。 b) 看到「Waiting for TCP connection on 4560」即就绪。
  2. Ubuntu(或 WSL) a) export PX4_SIM_HOST_ADDR=172.19.160.1 # 与上面 LocalHostIp 一致 b) bash复制cd PX4-Autopilot make px4_sitl_default none_iris 直到出现 INFO [simulator] Got initial simulation connection 说明连通。
  3. 同一台或另一台机器打开 QGroundControl
  4. 默认通过 UDP 14550 自动连上 PX4,左下角出现“ Armed / Disarmed ”即成功。

三、常见连接失败排查

  • 4560 端口没打通 – Windows 防火墙入站规则把 TCP 4560 放行;WSL 环境再执行 sudo ufw allow 4560
  • IP 写错 – 在 Ubuntu 里 echo $PX4_SIM_HOST_ADDR 能 ping 通 Windows 地址才算对。
  • 先启 PX4 后启 AirSim – PX4 会立即反向连接,如果 AirSim 还没监听就会失败;务必 AirSim → 再 PX4。
  • QGC 提示“No GPS” – 把 LPE_LAT/LON 改成与场景一致(Blocks 默认 47.641468, -122.140165)。

四、纯 Windows 方案(无 Ubuntu)

如果只想在单台 Windows 跑,可直接用 make px4_sitl_default jmavsimgazebo,再把 JSON 里的 LocalHostIp 改成 127.0.0.1,其余字段不变,QGC 同样能自动接入。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • JSON 配置与 PX4 + QGC 联合运行
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档