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

推荐订阅源

S
Schneier on Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
A
Arctic Wolf
Security Latest
Security Latest
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Troy Hunt's Blog
Latest news
Latest news
Help Net Security
Help Net Security
S
Security Affairs
Webroot Blog
Webroot Blog
The Hacker News
The Hacker News
AI
AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tor Project blog
Forbes - Security
Forbes - Security
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
Attack and Defense Labs
Attack and Defense Labs
P
Proofpoint News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
H
Help Net Security
L
Lohrmann on Cybersecurity
S
SegmentFault 最新的问题
Google Online Security Blog
Google Online Security Blog
MongoDB | Blog
MongoDB | Blog
Cyberwarzone
Cyberwarzone
The Last Watchdog
The Last Watchdog
S
Securelist
N
News and Events Feed by Topic
S
Secure Thoughts
F
Fortinet All Blogs
博客园_首页
C
Cybersecurity and Infrastructure Security Agency CISA
量子位
M
MIT News - Artificial intelligence
F
Full Disclosure
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
P
Privacy International News Feed
L
LangChain Blog
Know Your Adversary
Know Your Adversary
C
CERT Recently Published Vulnerability Notes

博客园_首页

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) Snack JSONPath 项目架构分析 Claude Code Buddy 小析:一个非核心功能,如何体现产品的细节完成度 AI新时代下的图床管理方案-Cloudflare图床+MCP+Skills方案指南 化繁为简:顺丰速运App如何通过 HarmonyOS SDK实现专业级空间测量 从零实现富文本编辑器#13-React非编辑节点的内容渲染 AI开发-python-langchain框架(3-23-OpenAI Functions风格Tool Calling智能助手) .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut PbootCMS 网站内容数量多导致访问慢?这些实用优化方案帮你提速! - 家兴网络技术工作室 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 网站漏洞怎么发现并修复?一篇实用指南(附完整流程) - 家兴网络技术工作室 开了 TUN 模式还是直连?90% 的人都踩过这个坑 Github日报|2026年04月12日 - AI一族 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术 Etsy 把 1000 个 MySQL 分片迁进 Vitess:425TB 数据背后的真正问题不是性能,而是运维规模 MicroPython LVGL基础知识和概念:底层渲染与性能优化 - FreakStudio 数据库草图算法 Python 潮流周刊#146:CPython 引入 Rust 的进展 - 豌豆花下猫 最小生成树 - mofei1116 红日靶场七:从外网入口、容器逃逸到 AD 接管的完整利用链复盘 - YouDiscovered1t 分享四款开源且实用的 Kafka 管理工具 - 追逐时光者 vLLM 权重加载机制全解析:从挑战到理想架构 LCT 学习笔记 - ACehomoxue Avalonia UI 12.0.0 正式发布:架构演进和性能飞跃 - 张善友 当 AI Agent 把调用链拉长,延迟开始成为一门生意 conhost.exe 无法显示 U+2717 - 145a 太秀了,我把自己蒸馏成了 Skill!已开源 - 程序员鱼皮 ASP.NET Core 内存缓存实战:一篇搞懂该怎么配、怎么避坑 基于 Ghostty 带有分割标签页和为 Claude 编程设计的通知终端 - BugShare AI 焊死入口:教育的“操作系统级”重塑 - 郝hai 初级Java开发工程师使用sql脚本编写代码的过程是简单而且不糊涂 - CoderOilStation Claude Code通关手册(六):MCP协议完全指南 - 暮色之狐 边框灯光环绕动画特效实现指南 - Newbe36524 开源:子木蒸馏版的 SEO 审计工具 seo-audit-skill v1.0 我所理解的Python元模型 【从0到1构建一个ClaudeAgent】规划与协调-TodoWrite - 程序员Seven Claude 和 Codex 在审计 Skill 上性能差异探究 - ACai_sec AScript如何实现中文脚本引擎 - rockey627 【渗透测试】HTB Season10 Garfield 全过程wp - dynasty_chenzi Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革 树状数组正确性证明 - AC-wyr 你的 AI 焦虑,可能比 AI 本身更危险——ATM 机没有消灭银行柜员,但恐慌消灭了你的判断力 - 我没有三颗心脏 一个拉胯的分库分表方案有多绝望?整个部门都在救火! - 冰河团队 动态规划入门必学之走方格问题 - Ofnoname PostgREST 与 PostgreSQL 角色权限配置全解析(生产级实践) - SheepDog1998 使用 UEFI 图形输出协议 GOP 在屏幕上显示图像的方法 - 阿源- Claude Code通关手册(五):组建你的AI专家团队,子代理系统 - 暮色之狐 一个程序员到架构师的催婚路之感悟(整整10年后的催婚相亲感悟) - MisterLip 用 Agent Skill 自动生成工作周报 - 赵康
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