惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
云风的 BLOG
云风的 BLOG
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Announcements
Recent Announcements
IT之家
IT之家
Google DeepMind News
Google DeepMind News
罗磊的独立博客
爱范儿
爱范儿
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
U
Unit 42
MongoDB | Blog
MongoDB | Blog
S
SegmentFault 最新的问题
B
Blog
博客园 - 叶小钗
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12)
AirSIM+PX4+QGC无人机仿真环境
TokE648 · 2026-05-17 · via 博客园_首页

PX4 + AirSim + QGC 仿真环境搭建完整指南

本文档记录了在 Windows 11 + WSL2 (Ubuntu 22.04/24.04) 环境下,从零开始搭建 PX4 v1.15.2、AirSim v1.8.1 和 QGC 仿真环境的完整过程。

image


📌 目录

  1. 环境要求
  2. 软件安装
  3. AirSim 配置
  4. PX4 配置
  5. QGC 配置
  6. 启动流程
  7. 常见问题与解决方案
  8. 参考资源

环境要求

项目 要求
系统 Windows 11
磁盘空间 80GB+
WSL WSL2 (Ubuntu 22.04/24.04)
仿真引擎 Unreal Engine 4.27
IDE Visual Studio 2022
飞控固件 PX4 v1.15.2
仿真插件 AirSim v1.8.1
地面站 QGroundControl

VS2022 必需组件

image

  • ✅ .NET 桌面应用开发
  • ✅ 使用 C++ 的桌面应用开发

软件安装

1. Visual Studio 2022

下载并安装 VS2022,安装时勾选:

  • ".NET 桌面应用开发"
  • "使用 C++ 的桌面应用开发"

2. Unreal Engine 4.27

  • 从整合包直接安装,选择 UE 4.27 版本引擎
  • 或通过 Epic Games Launcher 安装

3. WSL Ubuntu 安装

查看可用发行版

wsl --list --online

安装 Ubuntu

wsl --install -d Ubuntu-22.04

离线安装方式

下载离线包:

# 创建安装目录
mkdir C:\WSL\Ubuntu2204

# 导入镜像
wsl --import Ubuntu-22.04 C:\WSL\Ubuntu2204 "下载路径\ubuntu-22.04.5-wsl-amd64.wsl" --version 2

# 启动并创建用户
wsl -d Ubuntu-22.04 -u root
adduser <用户名>
passwd <用户名>

# 以普通用户登录
wsl -d Ubuntu-22.04 -u <用户名>

AirSim 配置

编译 AirSim

重要:必须在 x64 Native Tools Command Prompt for VS 2022 中运行

cd AirSim-1.8.1-windows
build.cmd

配置 settings.json

配置文件位置:C:\Users\<你的用户名>\Documents\AirSim\settings.json

{
    "SettingsVersion": 1.2,
    "SimMode": "Multirotor",
    "ClockType": "SteppableClock",
    "Vehicles": {
        "PX4": {
            "VehicleType": "PX4Multirotor",
            "UseTcp": true,
            "TcpPort": 4560,
            "LockStep": true,
            "LocalHostIp": "0.0.0.0"   // 关键:监听所有接口
        }
    }
}

或(将整合包里的setting内容黏贴进去,将"LocalHostIp"改成"0.0.0.0")

打开 Unreal 项目

\AirSim-1.8.1-windows\Unreal\Environments\Blocks\Blocks.uproject

用 UE4 打开,点击运行即可。

成功连接显示:
image


PX4 配置

1. 复制并解压 PX4 源码

# 从 Windows 复制到 WSL
sudo mv /mnt/c/Users/<用户名>/Desktop/px4v1.15.2.zip ~/

# 解压
unzip px4v1.15.2.zip -d ~/
cd ~/px4v1.15.2

2. 安装系统依赖

sudo apt update
sudo apt install -y \
    python3-empy python3-packaging python3-kconfiglib \
    python3-jinja2 python3-jsonschema python3-toml \
    python3-serial python3-numpy python3-pyparsing \
    python3-yaml python3-argcomplete \
    cmake gcc g++ ninja-build git make \
    net-tools python3-venv

3. 创建 Python 虚拟环境

# 创建虚拟环境
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate

# 安装 Python 依赖
pip install kconfiglib empy packaging jinja2 jsonschema toml pyros-genmsg pyyaml future

4. 运行 PX4 安装脚本

bash ./Tools/setup/ubuntu.sh

5. 编译 PX4

make px4_sitl_default none_iris

成功标志:出现 pxh>px4> 提示符
image


QGC 配置

  • 下载 Windows 版 QGroundControl
  • 直接安装运行
  1. 连接 QGC
    image

打开 Windows 版 QGroundControl:
image
进入 Application Settings (应用设置) → Comm Links (通信连接)
点击 Add (添加)
配置:
Name: WSL_PX4
Type: UDP
Port: 14550
Server Address: 留空(或填 127.0.0.1)
点击 Connect


启动流程

标准启动顺序(重要!)

顺序 操作 说明
1 启动 AirSim (UE4) 双击 Blocks.uproject 或按 F5
2 等待 AirSim 加载 看到 3D 场景出现
3 启动 PX4 make px4_sitl_default none_iris
4 等待连接成功 出现 pxh> 提示符
5 启动 MAVLink mavlink start -p -u 14550 -t 172.25.143.255
6 连接 QGC UDP 端口 14550
7 解锁起飞 在 QGC 中操作

PX4 常用控制命令

# 在 pxh> 提示符下输入
commander takeoff    # 起飞
commander land       # 降落
commander arm        # 解锁
commander disarm     # 上锁
vehicle status       # 查看状态
mavlink status       # 查看 MAVLink 状态

QGC 虚拟摇杆开启

  1. 连接飞机后,点击左上角 Q 图标应用设置
  2. 勾选 "虚拟摇杆" (Virtual Joystick)
  3. 返回飞行界面即可看到摇杆

常见问题与解决方案

问题1:WSL 网络不通 / apt update 超时

现象ping 8.8.8.8 不通,apt update 卡住

解决方案

  1. 关闭 Hyper-V 防火墙
  2. 或在 WSL 设置中将网络模式改为 Net
    image

WSL 网络配置C:\Users\<用户名>\.wslconfig

[wsl2]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

问题2:pip installexternally-managed-environment

原因:Ubuntu 24.04 的 PEP 668 保护机制

解决方案

# 方案一:使用 apt 安装
sudo apt install python3-<包名>

# 方案二:使用虚拟环境(推荐)
python3 -m venv venv
source venv/bin/activate
pip install <包名>

# 方案三:强制安装(不推荐)
pip install --break-system-packages <包名>

问题3:编译错误 module 'em' has no attribute 'RAW_OPT'

原因empy 版本过高

解决方案

pip uninstall empy em
pip install empy==3.3.4

问题4:AirSim 连接不上 PX4

现象:PX4 显示 Waiting for simulator to accept connection on TCP port 4560

解决方案

  1. 确保 AirSim 先启动
  2. 修改 settings.json"LocalHostIp": "0.0.0.0"
  3. 在 PX4 启动前设置:
    export PX4_SIM_HOSTNAME=<Windows主机IP>
    

问题5:QGC 无法连接 / 无数据显示

解决方案

# 在 PX4 控制台中执行
param set MAV_0_BROADCAST 1
mavlink stop-all
mavlink start -p -u 14550 -t 172.25.143.255

问题6:AirSim 中无人机显示为汽车

解决方案:修改 settings.json 中的 "SimMode": "Multirotor"

问题7:端口 4560 被占用错误

解决方案

# Windows PowerShell 中
netstat -ano | findstr :4560
taskkill /PID <PID> /F
wsl --shutdown

问题8:QGC 中没有虚拟摇杆

解决方案

  1. 确保飞机已连接
  2. QGC 设置中勾选"虚拟摇杆"
  3. 检查 PX4 参数:
    param set COM_RC_IN_MODE 1
    

参考资源

视频教程

保姆级教程!AirSIM+PX4+QGC从零开始搭建无人机仿真环境

资源下载

UP主准备了环境部署包,可关注后下载:

百度网盘:https://pan.baidu.com/s/1OE0Zxqfb_kOniaRDCZMDXQ?pwd=ytjy
image

关键路径汇总

组件 路径
AirSim 源码 D:\install\AirSim-1.8.1-windows
AirSim 配置 C:\Users\<用户名>\Documents\AirSim\settings.json
Unreal 项目 ...\AirSim-1.8.1-windows\Unreal\Environments\Blocks\Blocks.uproject
PX4 源码 ~/px4v1.15.2 (WSL 中)
QGC Windows 桌面应用
WSL 网络配置 C:\Users\<用户名>\.wslconfig

成功标志

当所有组件正常运行后,你应该看到:

组件 状态指示
AirSim 3D 场景显示,无人机模型
PX4 终端 pxh> 提示符,Simulator connected
MAVLink mavlink status 显示广播地址
QGC 实时数据(姿态、高度、卫星数),虚拟摇杆可用
通信 可执行起飞、降落命令

文档版本:1.0
最后更新:2026-05-17
测试环境:Windows 11 + WSL2 Ubuntu 24.04 + PX4 v1.15.2 + AirSim v1.8.1 + UE4.27