跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
PythonAI算法

AirSim 无人机仿真入门:起飞与降落控制实战

综述由AI生成AirSim 基于虚幻引擎构建,支持无人机及自动驾驶汽车仿真。内容涵盖环境搭建流程,包括 Epic Games 平台注册、UE4.27.2 安装、VS2022 配置及 Git 克隆步骤。重点讲解如何将 AirSim 插件导入自定义工程,并通过 Python API 建立通信连接。利用 msgpack-rpc 协议实现远程控制,演示了多旋翼无人机起飞与降落的完整代码逻辑及摄像头窗口配置方法,为后续算法迁移奠定基础。

灰度发布发布于 2026/3/22更新于 2026/5/45 浏览
AirSim 无人机仿真入门:起飞与降落控制实战

AirSim 无人机仿真入门:起飞与降落控制

概述: 完成软件与环境安装,通过 Python 代码控制无人机实现起飞与降落操作。

1. 环境搭建

1.1 核心组件说明

AirSim 基于 Unreal Engine(UE)开发,主要用于模拟无人机和自动驾驶汽车。我们需要先准备好 Epic Games 平台、UE 引擎以及开发工具。

1.2 安装步骤

建议按以下顺序配置环境,确保版本兼容性:

  1. 注册 Epic 账号:访问 Epic Games 官网并完成注册。
  2. 下载 UE 引擎:在 Epic 平台的'库'中选择 4.27.2 版本进行安装,该版本对 AirSim 支持较好。
  3. 配置 Visual Studio:安装 VS Community 2022,勾选'C++ 桌面开发'及'Windows 10 SDK 10.0.19041'。在'单个组件'中确保包含最新的 ".NET Framework SDK"。
  4. 安装 Git Bash:用于克隆项目代码。
  5. 克隆 AirSim 工程:在指定磁盘执行 git clone,进入目录运行 build.cmd 编译。成功后会在 AirSim\Unreal 下生成 Plugins 文件夹,这是后续导入的关键。

验证安装: 使用 AirSim 自带的 Block 环境进行测试,确认引擎能正常加载插件。

![仿真界面截图]

至此,基础环境已就绪,可以开始构建仿真工程。

2. 创建仿真工程

2.1 工程初始化

从虚幻商城选择一个场景(如山脉景观)创建新项目,获取 .uproject 文件。

2.2 插件集成

  1. 新建 C++ 类:双击 .uproject 打开编辑器,新建 C++ 类并等待编译完成,生成 .sln 文件。
  2. 添加插件:将之前生成的 AirSim\Unreal\Plugins 文件夹复制到当前工程目录(例如 LandscapeMountains)。
  3. 修改配置文件:编辑 LandscapeMountains.uproject 及 Config\DefaultGame.ini 以启用插件。
  4. 生成 VS 项目:右键点击 .uproject 选择 "Generate Visual Studio project files"。
  5. 配置多旋翼模式:修改 settings.json,将 SimMode 设为 Multirotor:
    {"SettingsVersion":1.2, "SimMode":"Multirotor"}
    
  6. 启动调试:在 VS 中打开 .sln,设置启动项为 LandscapeMountains,编译选项选 DebugGame Editor 和 Win64。点击调试运行,编辑器右下角应提示新插件可用。
  7. 设置游戏模式:在关卡编辑器的'世界场景设置'中,将'游戏模式重载'改为 AirSimGameMode 并保存。
  8. 运行仿真:点击绿色三角按钮启动,此时 AirSim 插件已成功加载。

![工程运行截图]

3. Python 控制程序

3.1 环境准备

建议使用 Conda 管理虚拟环境,PyCharm 作为编辑器。

pip install msgpack-rpc-python
pip install airsim

3.2 通信机制

AirSim API 基于 TCP/IP 的 msgpack-rpc 协议。仿真器默认监听 41451 端口。Python 程序向该端口发送 RPC 包即可建立连接。这种机制允许仿真端与控制端分离,即使 Python 中断,仿真仍可继续。

若需跨设备通信(如一台跑仿真,一台跑算法),可指定 IP 地址:

server_ip = "192.168.0.10"
port = 41451
client = airsim.MultirotorClient(ip=server_ip, port=port)

3.3 控制逻辑

在 PyCharm 中创建 Python 文件,编写以下控制脚本。注意 Async 函数会立即返回,需配合 .join() 确保任务完成。

import airsim

# 连接仿真器
client = airsim.MultirotorClient()
client.confirmConnection()

# 获取控制权
client.enableApiControl(True)

# 解锁电机
client.armDisarm(True)

# 起飞并等待完成
client.takeoffAsync().join()

# 降落并等待完成
client.landAsync().join()

# 锁定电机并释放控制权
client.armDisarm(False)
client.enableApiControl(False)

运行脚本后,仿真中的四旋翼将自动起飞至设定高度并安全降落。

![起飞降落效果]

4. 常见问题排查

现象: 仿真时 UE 界面未显示无人机的三个摄像头画面。

解决: 修改 settings.json 文件,显式开启子窗口。

"SubWindows": [
    {"WindowID": 0, "ImageType": 0, "CameraName": "front_center", "Visible": true},
    {"WindowID": 1, "ImageType": 3, "CameraName": "front_center", "Visible": true},
    {"WindowID": 2, "ImageType": 5, "CameraName": "front_center", "Visible": true}
]
  • ImageType:定义图像类型(如深度图、语义图等)。
  • CameraName:指定相机名称。

配置完成后重启仿真,摄像头视图即可正常显示。至此,AirSim 环境搭建与基础控制流程已完成,可作为后续算法迁移的起点。

目录

  1. AirSim 无人机仿真入门:起飞与降落控制
  2. 1. 环境搭建
  3. 1.1 核心组件说明
  4. 1.2 安装步骤
  5. 2. 创建仿真工程
  6. 2.1 工程初始化
  7. 2.2 插件集成
  8. 3. Python 控制程序
  9. 3.1 环境准备
  10. 3.2 通信机制
  11. 3.3 控制逻辑
  12. 连接仿真器
  13. 获取控制权
  14. 解锁电机
  15. 起飞并等待完成
  16. 降落并等待完成
  17. 锁定电机并释放控制权
  18. 4. 常见问题排查
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Edict:基于三省六部制的 AI Agent 协作架构
  • 2026年3月18日人工智能早间新闻
  • 使用 Dify 搭建合同审查法律文书机器人 Agent 全流程
  • FPGA 中 DDS 方案设计:频率、幅度与波形可调
  • C++11 左值与右值引用详解:移动语义与返回值优化实战
  • 5 款 AI 数据标注工具实测与效率提升技术逻辑
  • OpenClaw + GitHub Copilot GPT-5.4 技术修复指南
  • C++ 多线程进阶:互斥锁与竞态条件
  • C++ 基础入门:开发环境配置与第一个程序
  • Figma Make 实测:AI 辅助前端开发的潜力与局限
  • 前端 AI 代码辅助工具深度评测:从代码补全到规范驱动
  • 从零实现 STL vector 容器:深入理解动态内存管理
  • OpenClaw 多飞书机器人与多 Agent 团队实战复盘
  • Python 搭建本地 AI 智能体:OpenClaw 与 Ollama 部署教程
  • Neo4j Desktop 2 安装与图数据库实战指南
  • Playwright 绕过机器人验证与 IP 封禁的三种核心策略
  • Claude Code 与 OpenClaw 源码解析及高级应用实战
  • C++ 高并发内存池实战:ThreadCache 设计与实现
  • Qwen3.5 核心特性详解:原生多模态开源大模型
  • OpenCode 开源 AI 编程助手使用教程

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online