首页 > 其他分享 >Airsim-PX4-ROS仿真环境搭建

Airsim-PX4-ROS仿真环境搭建

时间:2024-06-11 22:30:11浏览次数:9  
标签:github PX4 Windows AirSim Airsim 选择 点击 ROS 安装

AirSim项目地址:https://github.com/microsoft/AirSim

AirSim官方教程:Home - AirSim (microsoft.github.io)

CSDN参考教程: AirSim学习(1)安装Unreal Engine和AirSim

视频教程:

1.AirSim-Windows环境配置

注:环境搭建需要自行安装VS2022或以上版本,Unreal Engine >= 4.27(推荐4.27),以及wsl2(在Windows上运行Airsim,在wsl或者vm虚拟机上通过ros控制无人机)

  • 安装虚拟引擎

    • 1.【下载并安装EPIC】 ,虽然虚幻引擎是开源和免费下载的,但仍然需要注册

    • 2.运行Epic Games Launcher,打开左侧窗格中的 “虚幻引擎” 选项卡。单击右上角的 “安装” 按钮,该按钮应显示下载 UE> = 4.27(推荐4.27) 的选项。选择安装位置以满足您的需求,如下图所示。如果您安装了多个版本的Unreal,请单击该版本的启动按钮旁边的向下箭头,以确保将您使用的版本设置为 “当前”。

      Note: 如果您有UE 4.16或更旧的项目,请参阅 [升级指南](https:// microsoft.github.io/AirSim/unreal_upgrade/) 来升级您的项目。

  • 安装VS2022

    • 1.Visual Studio2022安装教程 (qq.com)。确保选择安装时勾选了C ++桌面开发 和**Windows 10 SDK 10.0.19041(如果是Windows11还需要选择Windows11的SDK)**进行桌面开发 (默认情况下应选择),然后选择最新的。NET Framework SDK下的 “单个组件” 选项卡,同时安装VS 2022。

  • Windows安装wsl2

1.1Build Airsim

  1. 下载源码到本地

    git clone https://github.com/microsoft/AirSim.git
    # 国内网络环境不好时选择下面
    git clone https://github.moeyy.xyz/https://github.com/microsoft/AirSim.git
    
  2. 安装依赖项并编译

    1. 【下载并安装Cmake】,安装时记得勾选添加到环境中

    2. 安装Cmake完后重启电脑以生效环境,打开Developer Command Prompt for VS 2022,在Windows搜索中搜索然后使用管理员打开,cd AirSim记得cd进入Airsim所在的目录

    3. 输入.\build.cmd进行编译Airsim,如果在下面的过程中卡壳了,Ctrl+C终止编译,然后重新编译,直到下载完成并正常编译完成

  1. 使用VS2022编译打开

    1. 使用Developer Command Prompt for VS 2022进入AirSim\Unreal\Environments\Blocks,执行.\update_from_git.bat

    2. 双击打开Blocks.sln,会自动启动VS2022

    3. 右键Block设为为启动项目

    4. 编译器选择DebugGame Editor,然后启动本地Windows调试器,编译完成自动打开虚幻引擎

    5. 点击运行,点击**‘是’选择仿真车,点击’否’**选择仿真无人机,当出现下面的画面则表示环境搭建成功

1.2自定义场景

创建一个自定义的虚拟场景,并通过Airsim加载

  1. 打开Epic -> 点击虚幻商城 -> 搜索环境类型的素材(推荐免费:搜索"Assetsville Town或City Park" -> 筛选结果选择免费 -> 添加致购物车进行购买)-> 点击上方的,选择刚才购买的City Park创建工程,选定路径

    image-20240611162643650

    image-20240611163507427

  2. 导入完成后双击打开该工程

    注:如果加载过程中黑屏或者卡住可以重启Unreal Engine,如果实在打开太卡或太慢可以选择上面购买City Park第二个那个轻量版地图

image-20240611192338259

  1. 关闭工程,将AirSim\Unreal\Plugins文件夹复制到刚才的工程目录下,然后双击CityParkEnvironmentMini.uproject,弹出Rebuild窗口,点击

    image-20240611195006551

  2. 重新编译完成后,右下角弹出更新插件,点击管理插件即可看到AirSim插件添加到工程中,然后点击功能栏的设置 -> 世界场景设置 -> 游戏模式重载选择AirSimGameMode

    image-20240611195450875

    image-20240611195844988

  3. 点击运行,如果出现弹窗,选择启动车辆仿真,启动无人机仿真,按F1查看帮助

    image-20240611200347055

    1. 修改配置文件,前往C:\User\{你的用户名}\Documents\AirSim\Settings.json,文件配置项参考https://microsoft.github.io/AirSim/settings/,以下是推荐的配置文件,需要搭配第二部分的设置使用,其中LocalHostIp为Windows本机的IP地址,通过cmd指令输入ipconfig进行查看,一般为192.168.1.116,或者其他,你可以通过WSL或者VM虚拟机ping一下看看通不通

      {
          "SettingsVersion": 1.2,
          "SimMode": "Multirotor",
          "ClockType": "SteppableClock",
          "Vehicles": {
              "PX4": {
                  "VehicleType": "PX4Multirotor",
                  "UseSerial": false,
                  "LockStep": true,
                  "UseTcp": true,
                  "TcpPort": 4560,
                  "ControlIp": "remote",
                  "ControlPortLocal": 14540,
                  "ControlPortRemote": 14580,
                  "LocalHostIp": "192.168.1.116",
                  "Sensors":{
                      "Barometer":{
                          "SensorType": 1,
                          "Enabled": true,
                          "PressureFactorSigma": 0.0001825
                      },
                      "Imu": {
                          "SensorType": 2,
                          "Enabled" : true,
                          "AngularRandomWalk": 0.3,
                          "GyroBiasStabilityTau": 500,
                          "GyroBiasStability": 4.6,
                          "VelocityRandomWalk": 0.24,
                          "AccelBiasStabilityTau": 800,
                          "AccelBiasStability": 36
                      },
                      "Gps": {
                          "SensorType": 3,
                          "Enabled" : true,
                          "EphTimeConstant": 0.9,
                          "EpvTimeConstant": 0.9,
                          "EphInitial": 25,
                          "EpvInitial": 25,
                          "EphFinal": 0.1,
                          "EpvFinal": 0.1,
                          "EphMin3d": 3,
                          "EphMin2d": 4,
                          "UpdateLatency": 0.2,
                          "UpdateFrequency": 50,
                          "StartupDelay": 1
                      },
                      "Distance": {
                          "SensorType": 5,
                          "Enabled" : true,
                          "MinDistance": 0.2,
                          "MaxDistance": 40,
                          "X": 0, "Y": 0, "Z": -1,
                          "Yaw": 0, "Pitch": 0, "Roll": 0,
                          "DrawDebugPoints": false
                      }
                  },
                  "Parameters": {
                      "NAV_RCL_ACT": 0,
                      "NAV_DLL_ACT": 0,
                      "COM_OBL_ACT": 1,
                      "LPE_LAT": 47.641468,
                      "LPE_LON": -122.140165
                  }
              }
          }
      }
      

    2. WSL2或者VM虚拟机环境配置(未完待续)

    1. 复制一份AirSim工程目录到WSLVM虚拟机

标签:github,PX4,Windows,AirSim,Airsim,选择,点击,ROS,安装
From: https://blog.csdn.net/qq_45516773/article/details/139610144

相关文章

  • Linux系统通过CrossOver运行windows系统exe程序
    1.CrossOver下载下载网址:https://crossover.mairuan.com/?a_planid=462146305&a_unitid=9457631754&a_kw_enc_utf8=crossover+%E4%B8%8B%E8%BD%BD&a_creative=93751965498&cjtg=bdsem_cr_pp&bd_vid=11448931900093706309点击免费下载软件自动下载的安装包不是liunx需要的,需要下......
  • NET8中增加的简单适用的DI扩展库Microsoft.Extensions.DependencyInjection.AutoActiv
    这个库提供了在启动期间实例化已注册的单例,而不是在首次使用它时实例化。单例通常在首次使用时创建,这可能会导致响应传入请求的延迟高于平时。在注册时创建实例有助于防止第一次Request请求的SLA以往我们要在注册的时候启动单例可能会这样写://注册:services.AddSingleton<Fil......
  • SYLU-YQ老师ROS结课大作业
    本次为YQ老师的大作业教程,欢迎大家指正一、创建gazebo仿真环境,建立Rviz地图在终端输入gazebo回车运行gazebo软件,选择BuildingEditor打开环境编辑界面点击ExitBuildingEditor退出并保存gazebo创建的环境。保存文件名为test,然后点击Save保存退回到gazebo编译环境后......
  • ROS geometry_msgs和sensor_msgs
    ROSgeometry_msgs和sensor_msgsgeometry_msgsgeometry_msgs是ROS(RobotOperatingSystem)中用于几何计算和空间表示的一个核心消息包。它定义了一系列消息类型,用于表示位置、方向、速度等几何概念。以下是一些geometry_msgs中定义的消息类型及其用途的详细解释:基本几......
  • C# OpenCvSharp Mat操作-创建Mat-zeros
    在OpenCvSharp中,zeros函数用于创建一个全零的矩阵(Mat对象)。这个函数有多个重载版本,可以根据不同的需求来创建不同形状和类型的全零矩阵。下面我将详细解释每个重载版本,并通过具体的代码示例来说明如何使用它们。......
  • EDGE浏览器新用户配置登录Microsoft账户出现0x80190001错误代码
    在网页内可以轻松反复登陆Microsoft账户,但是在EDGE浏览器上无法登陆。浏览器原本有一个用户配置,已经登陆了一个账号,在创建新的用户配置时,始终无法登陆账户。这个情况持续了两个星期  若是有使用代理,加速器,hosts修改器等,建议卸载一下。然后参考以下链接恢复hosts文件:https:/......
  • 三、线刷ColorOS
    参考:如何从LineageOS切换到ColorOS1.安装高通驱动从大侠阿木提供的第三方工具集合中下载高通驱动包QDLoaderHS-USBDriver,安装时选择第一项WWW那个即可。检查是否安装成功:安装完成后重启,到“计算机管理”→“设备管理器”中,点击上方“查看”-“显式隐藏设备”,如果能在......
  • 【NAS】Docker Gitea+SakuraFrp+绿联DPX4800标 搭建私有代码托管平台
    本文主要分享Gitea的一些设置,和Https的实现。Gitea的一些设置映射网络HTTPS的实现先准备好一个域名,建议准备一个1Panel创建一个AC账户然后点击申请证书,手动解析。申请完毕后,点击详情,查看证书crt和私钥key自己创建一个txt文本,将证书crt粘贴进去,然后将名字改为xxx.crt......
  • 深入理解交叉熵损失 CrossEntropyLoss - CrossEntropyLoss
    深入理解交叉熵损失CrossEntropyLoss-CrossEntropyLossflyfish本系列的主要内容是在2017年所写,GPT使用了交叉熵损失函数,所以就温故而知新,文中代码又用新版的PyTorch写了一遍,在看交叉熵损失函数遇到问题时,可先看链接提供的基础知识,可以有更深的理解。深入理解交叉熵损......
  • 在Ubuntu中进行PX4配置的过程中出现以下报错,且不能正常打开gazebo
    ......