
打造你自己的AirSim仿真环境从选择UE4场景到布置车辆与相机的完整路径【免费下载链接】AirSimOpen source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI Research项目地址: https://gitcode.com/gh_mirrors/ai/AirSimAirSim是微软 AI Research 团队开源的自动驾驶仿真平台基于 Unreal EngineUE4与 Unity 构建让开发者在照片级真实感的虚拟世界中测试多旋翼无人机与自动驾驶汽车。本文将从零讲清AirSim 仿真环境的搭建路径如何选择 UE4 场景、如何布置车辆、如何配置相机帮你快速跑出自己的自动驾驶仿真实验。一、先选场景内置 Blocks 环境 vs 自定义 UE4 场景AirSim 提供两条路线按你的需求选择路线适用人群特点内置 Blocks 环境新手、快速验证体积极小、启动快仓库自带位于 Unreal/Environments/Blocks/Blocks.uproject自定义 UE4 环境需要高保真场景的正式实验可从 Unreal Marketplace 导入山地、城市等写实场景1. 新手起步Blocks 环境 5 分钟跑通官方文档给出了最简步骤见 docs/unreal_blocks.md完成 AirSim 与 Unreal 引擎的安装构建docs/build_windows.md / docs/build_linux.md用 Visual Studio 打开Unreal\Environments\Blocks\Blocks.sln构建配置选择DebugGame_EditorWin64按 F5 启动 Unreal 编辑器按下Play按钮无人机就会出现在方块世界里。 小技巧Unreal\Environments\Blocks目录里有一批.bat/.sh脚本如clean.bat、update_to_git.bat用于同步代码与清理中间文件开发时非常顺手。2. 进阶玩法用 Unreal Marketplace 场景打造专属世界想要照片级真实感官方推荐用 Epic Games Launcher 的 Learn 标签页里的Landscape Mountains作为示例环境完整步骤见 docs/unreal_custenv.md创建项目在 Launcher 中点击该环境的 Create Project 下载内容包注入 AirSim 插件把 AirSim 仓库中的Unreal\Plugins文件夹整个复制进你的环境项目根目录编辑.uproject文件为 Modules 添加AdditionalDependencies: [AirSim]并在顶层Plugins中启用 AirSim修改Config\DefaultGame.ini追加MapsToCook(FilePath/AirSim/AirSimAssets)确保打包时包含全部 AirSim 资产重新生成 VS 工程文件F5 运行在 World Outliner 中确认PlayerStart位置合理这是 AirSim 放置车辆的坐标原点。⚠️ 注意PlayerStart 悬太高会导致车辆一启动就坠落行为变得不可预测如环境自带 Matinee 播放片头动画记得删除 MatineeActor。插件资产内容可以在插件目录中直接查看Unreal/Plugins/AirSim/ 使用 Unity 引擎的开发者同样可以搭建环境仓库自带 CarDemo 与 DroneDemo 两个轻量示例项目详见 docs/Unity.md 与 docs/custom_unity_environments.md。二、布置车辆从单架无人机到多车混编AirSim 1.2 版本起完整支持多车辆核心全靠一个settings.json配置文件格式详解见 docs/settings.md。1. 用 Vehicles 节点定义车辆与初始位姿位置采用NED 坐标系单位米原点是 UE4 场景里的 PlayerStart朝向用 Yaw/Pitch/Roll 角度表示。想飞多旋翼就设SimMode: Multirotor想开车就设SimMode: Car开车玩法见 docs/using_car.md{ SettingsVersion: 1.2, SimMode: Car, Vehicles: { Car1: { VehicleType: PhysXCar, X: 4, Y: 0, Z: -2 }, Car2: { VehicleType: PhysXCar, X: -4, Y: 0, Z: -2, Yaw: 90 } } }多旋翼同理把VehicleType换成SimpleFlight即可。每辆车在 API 中都用这个名字如Car1、Drone2来寻址listVehicles()可返回当前所有车辆名。2. 运行时动态添加车辆不想改配置文件simAddVehicleAPI 允许在运行中动态生成车辆支持 SimpleFlight、PhysXCar 等类型并可通过pawn_path指定自定义车辆蓝图。示例代码C 版HelloSpawnedDrones/HelloSpawnedDrones.cppPython 版PythonClient/car/runtime_car.py更多车辆玩法与 API 用法见 docs/multi_vehicle.md想给自己的车换模型可以看 docs/meshes.md。三、配置相机让数据采集视角随心所欲AirSim 的相机系统是数据采集的核心屏幕上的每个子窗口都对应simGetImagesAPI 能拉取的视图深度图、分割图、RGB 等详解见 docs/camera_views.md。1. 给车辆挂载自定义相机在settings.json中每辆车的Cameras节点下按相机名字定义参数例如PhysXCar: { VehicleType: PhysXCar, Cameras: { FrontCam: { Width: 1024, Height: 768, FOV_Degrees: 110 }, DepthCam: { ImageType: 1, Width: 512, Height: 512 } } }常用参数速查X / Y / Z相机相对车辆的位置米FOV_Degrees视场角ImageType0RGB、1深度、2分割 等Gimbal云台增稳与俯仰/偏航角度CaptureSettings分辨率与投影模式对全部相机生效的默认值写在CameraDefaults中2. 快捷键切换视图与手动控制按F1查看开关各视图的快捷键可切换 Fly with Me、FPV、地面视角等模式按M进入手动相机模式WASD 方向键自由推拉镜头方便先巡视一遍场景再决定相机挂载点。3. 验证你的环境配置环境搭好、车辆与相机就位后用 Python 客户端一键验证。多旋翼起飞示例PythonClient/multirotor/takeoff.pyimport airsim client airsim.MultirotorClient() client.enableApiControl(True) client.armDisarm(True) client.takeoff().join()汽车示例PythonClient/car/hello_car.pyclient airsim.CarClient() client.enableApiControl(True) client.setCarControl(airsim.CarControl(throttle1, steer0.5))客户端完整 API 参考 docs/apis.md。四、常见问题速查FAQ问题解决方案启动时播片头动画看不到车删除环境中的 MatineeActor车辆启动即坠落把 PlayerStart 降到贴近地面找不到默认地图在 Project Settings Maps Modes 中设置 Editor Starter Map报 _BuiltData 文件缺失警告中间产物可安全忽略想让已有 UE 项目接入 AirSim复制Unreal\Plugins目录 按上文修改.uprojectLinux 上如何创建自定义环境自定义环境需 Windows 制作完成后把项目文件夹拷到 Linux 即可写在最后回顾一下完整路径选场景Blocks / Marketplace→ 注入 AirSim 插件 → settings.json 布置车辆位姿 → Cameras 节点挂载相机 → Python 客户端验证。跟着 docs/unreal_proj.md 的指引从内置环境练手再逐步过渡到自定义 UE4 场景你就能把 AirSim 变成专属的自动驾驶算法试验场。️祝仿真愉快飞得又高又稳【免费下载链接】AirSimOpen source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI Research项目地址: https://gitcode.com/gh_mirrors/ai/AirSim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考