精华内容
下载资源
问答
  • 参照http://blog.csdn.net/u011860814/article/details/60469441一文就可以成功地搭建unreal上的airsim项目。我跑了一个car simulation的项目,没有接入外设,是纯模拟的,具体效果如上图。  微软的这套airsim...


            参照http://blog.csdn.net/u011860814/article/details/60469441一文就可以成功地搭建unreal上的airsim项目。我跑了一个car simulation的项目,没有接入外设,是纯模拟的,具体效果如上图。


            微软的这套airsim框架已经开源,可以在github上找到:https://github.com/Microsoft/AirSim,它原本是一个无人机的项目,最近又开放了无人车的版本,可以直接使用它的api,也可以作为unreal插件进行无人机/车的模拟。直接使用接口可以适用于各种平台,灵活性也比较大,但是上手难度也相对高一些。


            我在本地编译并测试跑了几个项目,首先要注意的是,需要手动在我的文档(windows平台)下建一个AirSim文件夹,并在AirSim文件夹里建一个settings.json文件,来填写一些配置参数,代码里会读取该文件,如果不存在的话就会出错,具体怎么填写可以参照https://github.com/Microsoft/AirSim/blob/master/docs/settings.md (这里提供的默认json漏了一个逗号,如果直接复制的话记得把这个逗号补好,否则还是会报错)。


            数据传输是通过rpc实现的,所以我们可以先执行DroneServer,运行一个本地服务器,然后再执行HelloCar/HelloDrone这两个工程,这时候再接入外设,应该就能看到效果了(不知道为什么,这里服务器和客户端提供的默认端口不一样,所以一开始一直连不上服务器,这里查了很久bug。要注意在代码里保证改成一致的,再重新编译运行),DroneShell工程类似于一个cmd命令窗口,可以改一些参数。AirLibUnitTests作为一个单元测试项目,其实可以很好地展现计算机中模拟无人车/机时,一些api的使用方法,可以仔细读一读。


            当然我的重点主要是这个框架在Unreal中的应用,所以现在把官方文档翻译一遍。

    unreal_blocks.md


            为airsim搭建有障碍物的环境

            在Unreal/Environments/Blocks文件夹里包含了一个含障碍物的轻量级环境,这意味着它只包含了最基础的功能,但是性能较好。

            现在,我们快速搭建一下这个环境,把它跑起来。


        Windows

            1.确保你安装了Unreal,并且已经编译了AirSim.
            2.进入AirSim\Unreal\Environments\Blocks文件夹,并且运行update_from_git.bat批处理文件。
            3.双击编译生成的.sln文件来打开Visual Studio 2015 Update3或者更新的版本。
            4.保证Blocks工程为当前激活的工程,build设置为DebugGame_Editor,Win64,按下F5来执行。
            5.点击unreal 编辑器里的播放按钮看到效果。

        修改代码并重新编译

            对于Windows系统而言,你只需要修改vs中的代码,按f5重新运行即可。在AirSim\Unreal\Enviroments\Blocks文件夹下有一些批处理文件,可以使你执行同步代码。清理等操作。

           

        选择你的载具:无人车或是无人机

        默认选择的是无人机,你可以容易的改成无人车,并使用所有sirsim的语法糖,详情可见using_car.md。

    using_car.md


              如何在airsim中使用无人车
     
            airsim中默认选择的是无人机,如果你想要使用车的话,只需要在settings.json中设置SimMode,如下:
    {
      "SettingsVersion": 1.0,
      "SimMode": "Car"
    }
            现在,当你重启airsim,你就会看到车自动生成了。

            手动驾驶


           请使用键盘上的方向键来手动驾驶。按住空格来刹车。在手动驾驶模式,档被设置为“自动”

            使用API


            通过调用不同语言的客户端API,包括C++,Python,你可以控制车辆/获取状态和图像。详情可见APIs.doc。

            改变视角


            默认状态下,相机会在车的后方追踪车,你可以按下F键来获取第一人称视角,再按/来回到俯视视角。更多快捷键可按F1来获取。

            相机


            默认情况下包含了三个相机:中间的,左边的和右边的。你可以通过选择相机的id0,1,2来获得对应方向的图像。

     

    unreal_custenv.md

           创建并设置Unreal环境

            这一页包含了使用airsim来设置Unreal环境的完整教程。unreal商店包含了一些可用的环境,你可以在短短几分钟内上手。同样,也可以使用 turbosquid.com ,cgitrader.com等网站上提供的环境素材,但是这要花费更多的精力。此外,这里还有一些免费的资源可用: free environments
            接下来我们使用Unreal商店里的一个叫landscape mountain的免费环境。

            1.保证你已经有了unreal引擎,并且编译了airsim
            2.在unreal启动器学习一栏找到资源并下载。
            3.打开LandscapeMountains.uproject,它将会启动unreal编辑器。
            4.在文件菜单选择新建C++类,类的类型设为默认的none,再点击下一步,点击新建class。我们需要这么做是因为Unreal在工程中至少需要有一个源文件。接下来会自动编译并打开visual studio项目。
            5.进入你的airsim文件夹,把unreal\plugins文件夹复制到LandscapeMountains文件夹的根目录下。这样你的工程就有了一个airsim的插件。
            6.编辑LandscapeMountains.uproject,如下:
    {
    	"FileVersion": 3,
    	"EngineAssociation": "4.16",
    	"Category": "Samples",
    	"Description": "",
    	"Modules": [
    		{
    			"Name": "LandscapeMountains",
    			"Type": "Runtime",
    			"LoadingPhase": "Default",
    			"AdditionalDependencies": [
    				"AirSim"
    			]
    		}
    	],
    	"TargetPlatforms": [
    		"MacNoEditor",
    		"WindowsNoEditor"
    	],
    	"Plugins": [
    		{
    			"Name": "AirSim",
    			"Enabled": true
    		}
    	]
    }
            7.关闭visual studio和unreal editor,并右键LandscapeMountains.uproject,选择Generate visual studio project files。这一步将检测你的所有插件和源文件并生成.sln文件。
            提示:如果找不到这个选项,可以重启电脑,使得Unreal扩展生效。还是不行的话就在Unreal工程的文件菜单选择刷心vs project。
            8.再次打开LandscapeMountains.sln,保证编译条件为:DebugGame Editor , Win64

            9.点击F5来执行,这将启动Unreal Editor。Unreal Editor允许你编辑环境,资源,以及其他游戏相关的设置。你想要在你的环境中做的第一件事情就是设置PlayerStart对象。在LandscapeMountains的环境中,PlayerStart对象已经存在了,你可以在世界大纲视图找到它。确保你的位置设置为如图所示,这是airsim插件创建和放置载具的地方。如果太高载具会在你输入随机行为的时候立即坠落。
       
            10.在如下的窗口/世界设置,把GameMode Override设置为AirSimGameMode:

            11.确保你已经保存了工程,然后点击播放按钮。
            恭喜你,现在你已经可以在你的Unreal环境中使用airsim了。

    展开全文
  • AirSim is a simulator for drones, cars and more built on Unreal Engine. It is open-source, cross platform and supports hardware-in-loop with popular flight controllers such as PX4 for physi

    1. Airsim 概述

    AirSim是基于Unreal Engine引擎或者Unity引擎,打造的一个无人机/无人车的仿真平台,凭借着Unreal Engine的性能,能够出色的进行基于计算机视觉算法的autonomous vehicles的仿真,AirSim在使用时作为一个UE4的插件,可以嵌到任意Unreal environment中,所以我们可以根据需求实现不同任务,不同场景的仿真。

    Our goal is to develop AirSim as a platform for AI research to experiment with deep learning, computer vision and reinforcement learning algorithms for autonomous vehicles. For this purpose, AirSim also exposes APIs to retrieve data and control vehicles in a platform independent way.
             ——Microsoft

    微软想把它打造成人工智能研究的仿真平台,以无人驾驶为主(比如自主无人机、自动驾驶汽车),在Airsim中跑深度学习,计算机视觉和强化学习算法。

    2. Unreal Engine 概述

    The Unreal Engine is a game engine developed by Epic Games.With its code written in C++, the Unreal Engine features a high degree of portability and is a tool used by many game developers today.The current release is Unreal Engine 4, designed for Microsoft Windows, macOS, Linux, SteamOS, HTML5, iOS, Android, Nintendo Switch, PlayStation 4, Xbox One and virtual reality (SteamVR/HTC Vive, Oculus Rift, PlayStation VR, Google Daydream, OSVR and Samsung Gear VR).

    3. 在Linux下环境搭建

    3.1. 手动 编译安装 UnrealEngine

    UnrealEngine在github上私有的项目,https://github.com/EpicGames/UnrealEngine.git 不信你点点看。
    但是只要你申请加入Unreal engine项目的组织,还是可以Clone下来的,具体步骤。

    1、首先登陆UnrealEngine的缔造者Epic的官网,注册一个账号
    2、然后在Epic的个人页面下–账号关联,关联到自己的GitHub账号 (这个关联表明你申请加入EpicGames的开发,他会向你发出一个加入邀请)
    3、登陆GitHub,在https://github.com/EpicGames 确认邀请就可以了

    这里写图片描述

    接下来就按照Build It on Linux的步骤,下载、编译安装 就可以啦

    git clone -b 4.18 https://github.com/EpicGames/UnrealEngine.git
    cd UnrealEngine
    //few times Epic folks broke the build so we will get commit that works
    // git checkout af96417313a908b20621a443175ba91683c238c8
    ./Setup.sh
    ./GenerateProjectFiles.sh
     make
     //注意 UnrealEngine这个东西很占地方,不仅下载大,编译更大,所以你的HOME下至少要有20G的Free Space,不然等你编译的时候,空间占满了,就失败了,我开始就这样,后来把我的双系统Windows下的一个分区挂到home下的一个文件夹下,才解决。
    

    3.2 编译airsim 插件

         # go to folder where you clone GitHub projects
         git clone https://github.com/Microsoft/AirSim.git
         cd AirSim
         ./setup.sh  // 配置依赖
         ./build.sh  //编译airsim库
         cd ros
         catkin_make // 编译airsim_ros接口
         
    

    ./Engine/Binaries/Linux/UE4Editor 执行这个这个路径下的可执行程序,启动Unreal Engine试试。有两点说明。

    1. 如果在初始化启动的过程中出错了(比如OpenGL的错误),说明你要按照NVIDIA的显卡驱动
    2. 这个软件很大,对显卡的显存要求也比较高

    3.3 使用编译好的binaries环境+Airsim

    These are experimental Linux binaries for Ubuntu 16.04
    https://github.com/microsoft/AirSim/releases/tag/v1.2.0Linux

    • Africa (safari-like environment with moving animals and poachers)
    • Blocks
    • City (large environment with moving vehicles and pedestrians)
    • Forest
    • LandscapeMountains
    • Neighborhood (small urban neighbourhood block)
    • SimpleMaze
    • SubT
    • TrapCam (hunting trap camera simulator with large and small game)
    • Warehouse
    • ZhangJiaJie
    场景 描述
    Africa.zip 1.05G
    Blocks.zip 327 MB
    CityEnviron.zip.001 1.66 GB
    CityEnviron.zip.002 1.24 GB
    Forest.zip 1.17 GB
    LandscapeMountains.zip 657 MB
    Neighborhood.zip 1.42 GB
    SimpleMaze.zip 423 MB
    TrapCam.zip.001 1.76 GB
    TrapCam.zip.002 1.33 GB
    Warehouse.zip 837 MB
    ZhangJiaJie.zip 517 MB

    Source code (zip)
    Source code (tar.gz)

    OK 至此,Airsim+UnrealEngine 在Linux下的环境就搭建好了,可以自己先体验一下。
    后面再分享Airsim+UnrealEngine的使用

    4. 如何启动 无人车/无人机自动驾驶仿真环境

    要启动基于Airsim+UnrealEngine4 搭建无人车/无人机自动驾驶仿真环境,需要两个方面:

    • airsim+UE4 也就是配置了airsim插件的UE4 environment
    • airsim settings 不同的配置可以设置不同的仿真类型/传感器类型等
    • airsim API, 有了以上两者,我们通过什么方式取回image, 得到vehicle的状态,并执行control cmd,这就要通过api与其进行数据交互。

    首先关于airsim+UE4

    • 简单的方式,可以使用airsim发布的编译好的binaries环境,这种二进制文件,通过执行一个脚本可以直接运行。
    • 另一种方式是自己编译UE4,以及enviromnent,并且在环境中添加airsim plugin,这种方式更加灵活,有时编译容易出错,说版本不匹配。

    其次关于settings.json的设置:

    AirSim Settings.json 很总要

    最后是airsim API

    airsim 采用RPC网络通信,所以可以通过创建rpc client与仿真器的rpc server进行交互。airsim提供了C++ /Python的接口用于基于api的程序开发。可以参考相应的C++ APIs Guide设计

    [参考文档]

    5. 最简单的方式配置示例

    实现UE4+airsim 实现无人机在simple_flight mode下带有双目+深度的模式

    - 场景, 使用linux下预先编译好的 Block.zip 
    执行命令: ./Blocks.sh
    
    - settign文件
    - api
    - 
    

    6. 四种仿真类型

    {
      "SettingsVersion": 1.2,
      "SimMode": "Multirotor" // Car or ComputerVision
    }
    

    6.1 Hardware-in-Loop(HITL)

    • flight controller runs in actual hardware such as Naze32 or Pixhawk chip.
    • connect this hardware to PC using USB port
    • Simulator talks to the device to retrieve actuator signals and send it simulated sensor data
    {
      "SettingsVersion": 1.2,
      "SimMode": "Multirotor",
      "Vehicles": {
        "PX4": {
          "VehicleType": "PX4Multirotor"
        }
      }
    }
    

    参考文档px4_setup.md

    6.2 Software-In-Loop Simulation (SITL)

    {
        "SettingsVersion": 1.2,
        "SimMode": "Multirotor",
        "Vehicles": {
            "PX4": {
                "VehicleType": "PX4Multirotor",
                "UseSerial": false
            }
        }
    }
    
    • firmware runs in your computer as opposed to separate board

    参考文档 px4_sitl.md
    Airsim SIL简单说明

    6.3 airsim simple_flight (default)

    参考simple_flight.md

    • 特性:可以通过输入 angle rate, angle level, velocity or position的方式控制

    6.4 Computer Vision (without flight controller)

    {
      "SettingsVersion": 1.2,
      "SimMode": "ComputerVision"
    }
    
    • In this mode, physics engine is disabled and there is no vehicle, just cameras
    • You can move around using keyboard (use F1 to see help on keys). Or you can call APIs to move cameras around and take images.
    • You can press Record button to continuously generate images.

    7. 获取传感器的类型和数据

    参考文档 sensors.md

    airsim 目前支持六种类型传感器

    Camera 
    Barometer = 1
    Imu = 2
    Gps = 3
    Magnetometer = 4
    Distance Sensor = 5
    Lidar = 6
    

    7.1 camera数据

    • 首先指定哪个位置的摄像头,可以使用id或者name [“0”, “1”, “2”, “3”, “4”] or [front_center, front_right, front_left, bottom_center and back_center]
    • 指定图像的类型/分辨率以及各种相机参数
      图像的类型指 [场景图/深度图/视差图/语义分割图等等吧]
    // ImageType 0~7
      Scene = 0, 
      DepthPlanner = 1,   //(更类似于双目深度估计结果SGM) all points that are in plan parallel to camera have same depth
      DepthPerspective = 2,//(类似于depth_image_proc 来参生点云)using a projection ray that hits that pixel.
      DepthVis = 3, //用于深度可视化的 从近到远被量化成 从黑到白
      DisparityNormalized = 4,// 视差图,视差被归一化0-1  use (Xl - Xr)/Xmax
      Segmentation = 5, //场景的语义分割图
      SurfaceNormals = 6,
      Infrared = 7 //根据 object ID 映射成 grey scale 0-255
    
    {
      "SettingsVersion": 1.2,
      "CameraDefaults": {
          "CaptureSettings": [
            {
              "ImageType": 0,
              "Width": 256,
              "Height": 144,
              "FOV_Degrees": 90,
              "AutoExposureSpeed": 100,
              "MotionBlurAmount": 0
            }
        ]
      },
      "SimMode": "ComputerVision"
    }
    

    参考image_apis.md
    一个获取双目和深度图的示例

    7.2 Lidar data

    {
        "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings_json.md",
        "SettingsVersion": 1.2,
    
        "SimMode": "Multirotor",
    
         "Vehicles": {
    		"Drone1": {
    			"VehicleType": "simpleflight",
    			"AutoCreate": true,
    			"Sensors": {
    			    "LidarSensor1": { 
    					"SensorType": 6,
    					"Enabled" : true,
    					"NumberOfChannels": 16,
    					"RotationsPerSecond": 10,
    					"PointsPerSecond": 100000,
    					"X": 0, "Y": 0, "Z": -1,
    					"Roll": 0, "Pitch": 0, "Yaw" : 0,
    					"VerticalFOVUpper": -15,
    					"VerticalFOVLower": -25,
    					"HorizontalFOVStart": -20,
    					"HorizontalFOVEnd": 20,
    					"DrawDebugPoints": true,
    					"DataFrame": "SensorLocalFrame"
    				},
    				"LidarSensor2": { 
    				   "SensorType": 6,
    					"Enabled" : true,
    					"NumberOfChannels": 4,
    					"RotationsPerSecond": 10,
    					"PointsPerSecond": 10000,
    					"X": 0, "Y": 0, "Z": -1,
    					"Roll": 0, "Pitch": 0, "Yaw" : 0,
    					"VerticalFOVUpper": -15,
    					"VerticalFOVLower": -25,
    					"DrawDebugPoints": true,
    					"DataFrame": "SensorLocalFrame"
    				}
    			}
    		}
        }
    }
    

    参考文档 lidar.md

    Aerial Informatics and Robotics Platform 官方Airsim说明文档

    【1/编译安装】
    Unreal Engine + AirSim/docs/build_linux.md
    [Unreal Engine + AirSim/docs/build_windows.md]

    【2/启动与使用】

    camera_views.md
    通过F1开关camera settings.json设置image mode 机器性能影响帧率

    flight_controller.md
    简要说明 Flight Controller HIL SIL simple_flight PX4

    hello_drone.md 介绍hello drone如何工作的
    Airsim启动时,会启动RPC server, Hello Drone uses the RPC client to connect it.

    multi_vehicle.md :Setting Up Multiple Vehicles

    px4_build.md  
    make posix_sitl_default
    ./build_posix_sitl_default/src/firmware/posix/px4 ./posix-configs/SITL/init/ekf2/iris

    px4_setup.md PX4 Setup for AirSim
    Setting up PX4 Hardware-in-Loop
    Setting up PX4 Software-in-Loop

    px4_sitl.md 详细讲Setting up PX4 Software-in-Loop

    FAQ.md

    log_viewer.md Log Viewer是一个数据调试工具

    【3/深究Airsim】
    design.md & paper

    code_structure.md Airsim代码组织结构
    AirLib包含(Physics engine、Sensor models、Vehicle models、Control library)
    Unreal/Plugins/AirSim Unreal Engine中用于自动驾驶的一个插件
    MavLinkCom  
    Sample Programs 一些例程examples hellocar helloDrone Droneshell

    custom_drone.md AirLib on a Real Drone

    apis.md —— c++ API hello drone/ hello car
    python.md——Python API接口使用
    image_apis.md

    reinforcement_learning.md Reinforcement Learning in AirSim

    Remote Control.md 遥控的使用

    Hardware-In-Loop Simulation)(HIL)

    YouTube有关HIL using Airsim的视频教程
    UE+AirSim& PX4+遥控器 在Windows环境下搭建

    Pixhawk 有关硬件在环仿真的说明


    强化学习demo
    DeepQNeuralNetwork in AirSim using CNTK
    https://github.com/Microsoft/AirSim/blob/master/PythonClient/DQNdrone.py

    Autonomous vehicle navigation based on Deep Reinforcement Learnin using AirSim

    参考文档:
    Building On Linux

    展开全文
  • AirSim是一个依托于Unreal Engine的无人机模拟器(项目Github地址),将来还将有望能应用在无人驾驶汽车上。它是一个Unreal插件,能够被安插在任何Unreal系统中。AirSim是一个开源项目,它有良好的平台延展性(即...

    AirSim是一个依托于Unreal Engine的无人机模拟器(项目Github地址),将来还将有望能应用在无人驾驶汽车上。它是一个Unreal插件,能够被安插在任何Unreal系统中。

    AirSim是一个开源项目,它有良好的平台延展性(即应用方式不局限于无人机的训练、平台不局限于在Unreal上、操作系统不局限于Windows),且在模拟过程中支持主流飞行控制器(如Pixhawk等)来实现物理及视觉双重层面的超仿真。

    除了无人机飞行模拟功能。研发团队希望将AirSim开发成一个自动驾驶汽车的AI研究平台,用户可以在该平台上进行无人驾驶汽车方面的深度学习、计算机视觉、强化学习的实验。为此,AirSim将预留API接口,用户可以通过接口检索数据,进而能够在AirSim平台外训练自动驾驶系统。

    该项目目前还在Beta阶段,API接口也尚在进行中,因此团队欢迎社区研发人员的参与。

    使用说明

    为了模拟器的超仿真效果,你需要Pixhawk(或其他飞行控制器)以及一个RC控制器。点击这里查看如何得到

    1. 安装

    Windows(两种方式)

    通过Unreal平台安装
    使用预编译代码

    Linux

    官方版的Linux适配系统将在几周后推出。但由于现在该系统为跨平台的,因此你也可以尝试着在Linux系统上运行Windows适配版。(若在安装中发现Bug,点击这里向AirSim报错

    2. 使用

    按照上述步骤搭好Unreal平台后,将Pixhawk(或其他飞行控制器)插入USB接口,打开RC控制器,在Unreal系统中点击Play按钮,此时你应该可以在虚拟环境下试飞你的无人机。点击F1可以查看飞行快捷键。点击查看RC使用教程。

    图片描述

    试飞成功后,你就可以用该模拟器来搜集训练数据。收集数据的方式有两种,最简单的方法是点击屏幕右下角(参见上图)的录制键,系统会自动存储每一帧图像。你可以通过这个日志查看器来调取无人机存储的图像。

    如果你在使用过程中有其他的功能需求,可以在此定制新功能。你也可以通过AirSim的API接口自己编写客户端代码,只是这样会比较麻烦,但是好处是你对系统的控制权有所增加,自编代码能够适配更多的飞行控制器,也不用费心查看内部协议。

    若你选择使用API编写自己的代码,那么稍加改进,该系统就可以用于无人驾驶汽车以及其他深度学习训练项目上。更多关于API的细节请查看这里

    最后附上论文链接产品设计页代码架构页


    图片描述

    图片描述

    展开全文
  • airsim手动控制无人机-详细搭建过程

    千次阅读 2019-08-28 10:02:04
    本文的步骤完成后,就可以在unreal中用遥控器手动控制无人机飞行。 打开Epic Games Launcher, 点击左下角的设置,将语言改为English (United States)。因为如果是中文的话,会造成中文路径,导致一系列问题。 ...

    首先需要完成我的上一个博客,win10-airsim-unreal安装配置教程

    本文的步骤完成后,就可以在unreal中用遥控器手动控制无人机飞行。

    1. 打开Epic Games Launcher,

    2. 点击左下角的设置,将语言改为English (United States)。因为如果是中文的话,会造成中文路径,导致一系列问题。

    3. 回到主页面,点击左侧的Unreal Engine,然后点击上面的Learn
      在这里插入图片描述

    4. 一直往下翻,找到Landscape Mountains,并且点击它;
      在这里插入图片描述

    5. 在打开后的页面中点击creat project,如果是第一次打开是需要先下载的。

    6. 写一个项目名称,我这里就直接默认了,并且选择一个路径。点击Creat

      注意,一定要确保路径没有中文。

      注意如果没有改语言,这里会是默认中文的,然后后面的步骤就会出现错误。
      在这里插入图片描述

    7. 创建完成之后,在你刚才选择的路径中会出现一个文件夹。

    8. 打开文件夹中的LandscapeMountains.uproject,会自动打开Unreal Editor.

    9. 文件菜单中,选择新建C++类,选择类型为none,点击继续,默认命名为MyClass,最后点击创建类。然后会触发编译,同时会创建Visual Studio工程文件LandscapeMountain.sln。然后会打开Visual Studio Comunity 2017.

      因为Unreal要求最少有一个源文件,所以我们必须这么做。

    10. 在安装的airsim文件路径中,找到Unreal\Plugins文件夹,并将这个文件夹复制到你刚刚创建的工程LandscapeMountains文件夹下。这时,你的Unreal工程也包含了Airsim插件。

    11. 为了能够正常使用Airsim插件,还得编辑Landscapmountains.uproject。(注意不能用记事本打开)修改这个文件如下所示:

      {
          "FileVersion": 3,
          "EngineAssociation": "4.18",
          "Category": "Samples",
          "Description": "",
          "Modules": [
              {
                  "Name": "LandscapeMountains",
                  "Type": "Runtime",
                  "LoadingPhase": "Default",
                  "AdditionalDependencies": [
                      "AirSim"
                  ]
              }
          ],
          "TargetPlatforms": [
              "MacNoEditor",
              "WindowsNoEditor"
          ],
          "Plugins": [
              {
                  "Name": "AirSim",
                  "Enabled": true
              }
          ]
      }
      
    12. 关闭Visual Studio, 关闭Unreal Editor。在文件夹中,右击LandscapeMountains.uproject。点击Generate visual Studio Project Files

      这一步会检测所有的插件和源文件,并生成.sln文件。

    如果右键没有Generate visual Studio Project Files,也可以使用命令行来做:

    cd C:/Program Files/Epic Games/UE_4.18/Engine/Binaries/DotNET/
    
    UnrealBuildTool.exe -projectfiles -project="D:/unreal-proj/LandscapeMountains/LandscapeMountains.uproject" -game -rocket -progress
    
    1. 打开LandscapeMountains.sln,使用Visual Studio 。

    2. 在visual studio中,设置编译模式为DebugGame EditorWin64.
      在这里插入图片描述

    3. 将解决方案管理器中的LandscapeMountains设为启动项目。(右击LandscapeMountains,选择设为启动项目)。

    4. 在Visual Studio中点击调试->开始调试,此时会自动编译,并打开Unreal Editor

    5. 在Unreal Editor中的右上角,世界大纲视图中,搜索play,会出来很多player start。留下第一个,将其他的全部删除。

    6. 设置遥控器。我用的是官方推荐的frsky,这里的原理是:airsim直接读取win10系统的游戏控制器的数据,默认是第一个。所以需要用一个能够在遥控器上调整通道数据的遥控器。

      查看遥控器可不可以用,就打开win10的游戏控制器,然后摆弄手柄,看看有没有反应。

      在这里,如果是左右油门的习惯的话,遥控器的1和4通道应该对应win10游戏手柄的x和y轴;遥控器的2和3通道应该对应x旋转和y旋转。

    7. 点击右下角的世界设置,将Game Mode设置为AirSimGameMode

    8. 修改settings.json文件。每次运行游戏的时候,都会自动读取这个文件。这个文件的位置,在c盘的documents里面。关于这个文件的解释,可以看官方文件,也可以看我自己总结的一个博客。

      {
        "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md",
        "SettingsVersion": 1.2,
        "SimMode": "Multirotor",
        "LocalHostIp": "127.0.0.1",
        "RpcEnabled": true,
        "EngineSound": false,
        "ViewMode": "",
        "OriginGeopoint": {
          "Latitude": 47.641468,
          "Longitude": -122.140165,
          "Altitude": 122
        },
        "CameraDefaults": {
          "CaptureSettings": [
            {
              "ImageType": 0,
              "Width": 320,
              "Height": 240,
              "FOV_Degrees": 90,
              "AutoExposureSpeed": 100,
              "MotionBlurAmount": 0
            }
          ]
        },
        "SubWindows": [
          {
            "WindowID": 0,
            "ImageType": 0,
            "CameraName": "0",
            "Visible": true
          },
          {
            "WindowID": 1,
            "ImageType": 3,
            "CameraName": "0",
            "Visible": true
          },
          {
            "WindowID": 2,
            "ImageType": 5,
            "CameraName": "0",
            "Visible": true
          }
        ],
        "Vehicles": {
          "UAV1": {
            "VehicleType": "SimpleFlight",
            "X": 12,
            "Y": 0,
            "Z": -1
          }
        }
        }
      
    9. 点击播放按钮,就可以手动控制无人机了。

    10. 最后列出一些快捷键:

      1. shift+f1:出现鼠标
      2. f:fly with me视角,也就是无人机上的摄像头视角
      3. 1, 2, 3:分别对应三个小窗口
      4. 0:三个小窗口全部显示\隐藏
    展开全文
  • 微软开发并开源了AirSim,一个用于模拟无人机在全世界的飞行的工具。这个模拟器基于虚幻引擎(Unreal
  • airsim-手动控制无人机-搭建过程

    千次阅读 2019-07-04 15:11:30
    在epic Game Launcher中Launch Unreal Engine(4.18.3) 在打开的Engine中,点击新建项目->C++-> Basic Code->No Starter Content 写上项目的名字Manual UAV,点击Creat Project 项目创建完,会自动打开...
  • 参考: https://blog.csdn.net/z136411501/article/details/82422645... ... 1. Airsim是一个基于Unreal Engine(虚幻引擎4)的插件,用来模拟无人机或无人车在真实环境下的控制,由微软发布在github平台。 链接:htt...
  • AirSim is a simulator for drones, cars and more, built on Unreal Engine (we now also have an experimental Unity release). It is open-source, cross platform, and supports software-in-the-loop ...
  • AirSim是一款基于 (我们现在还有一个实验性的版本)的无人机,汽车等模拟器。 它是开源,跨平台的,并通过流行的飞行控制器(例如PX4和ArduPilot)支持在环软件仿真,并通过PX4进行硬件在环仿真,以进行物理和视觉...
  •  Airsim是一个基于Unreal Engine(虚幻引擎4)的插件,用来模拟无人机或无人车在真实环境下的控制,由微软发布在github平台。更多详细文字介绍与视频可以查看github主页,页面使劲往下拉。 链接:https://gith...
  • Linux环境下搭建AirSim

    2019-10-17 09:57:16
    AirSim是基于Unreal Engine引擎或者Unity引擎,打造的一个无人机/无人车的仿真平台,凭借着Unreal Engine的性能,能够出色的进行基于计算机视觉算法的autonomous vehicles的仿真,AirSim在使用时作为一个UE4的插...
  • Airsim仿真平台介绍

    千次阅读 2020-03-15 10:32:52
    Airsim是一款基于Unreal Engine构建的无人机、汽车等模拟器的开源平台,并且可以跨平台的通过PX4飞行控制器进行仿真控制,在物理和视觉上逼真的模拟环境使得它成为一款很好的平台。不仅模拟了汽车无人机等动力学模型...
  • Airsim是一款基于Unreal Engine构建的无人机、汽车等模拟器的开源平台,并且可以跨平台的通过PX4飞行控制器进行仿真控制,在物理和视觉上逼真的模拟环境使得它成为一款很好的平台。不仅模拟了汽车无人机等动力学模型...
  • AirSim 的官方 Github: https://github.com/Microsoft/AirSim对于 Unreal Engine 来说,AirSim 其实是作为一个插件存在,说白了就是把无人车,无人机以插件的形式加入 Unreal 的场景中。下面是如何编译 AirSim。1 ...
  • AirSim是一个用于模拟无人机在全世界的飞行的工具,这个模拟器基于虚幻引擎(Unreal Engine)构建。通过AirSim平台可以理解自动驾驶仪在真实世界中是如何行驶的,同时可以在该平台使用深度学习技术来理解这些运输...
  • AirSim中的物理引擎

    万次阅读 2021-02-03 14:09:18
    “物理引擎”是指在一款仿真软件/平台中使用的模拟现实世界物理逻辑的计算单元,在AirSim中,针对无人机MultiRotor的物理引擎是AirSim自己开发的FastPhysics,而针对车辆Car的物理引擎是Unreal自己的PhysX引擎。...
  • DISC4BoT-源码

    2021-02-16 03:06:49
    基于Airsim的无人机在不同情况下进行飞行模拟,包括恶意行为 入门 首先,请确保您已经下载了 ,并且计算机上安装了Unreal引擎,并且已经设置了 。 打开块环境。 它看起来应该像这样: 建议删除所有物体以避免碰撞...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

unreal无人机