flightmare初探——简介与安装

本文档详细介绍了如何安装和配置Flightmare,一个基于Unity3D和Gazebo的无人机仿真软件。首先,通过git clone获取源代码,并安装必要的依赖,包括git、build-essential、cmake等。接着,创建并激活conda环境,安装flightmare及其飞行库。对于ROS的集成,根据不同的ROS版本安装相应版本的Gazebo,并设置相关依赖。在安装过程中可能会遇到zmqpp库缺失的问题,解决方法是手动安装。最后,测试安装是否成功,通过roslaunch运行相关launch文件。此外,还介绍了Unity的安装,包括Unity Hub和Editor的下载与安装。整个过程涵盖了从基本环境配置到软件运行的完整步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本介绍及官方网址链接

flightmare,是uzh组基于unity 3D, gazebo 做的仿真软件:
在这里插入图片描述

1. 效果视频:https://www.bilibili.com/video/BV1mf4y1Q7VD?from=search&seid=14905217311811133451

2. code:https://github.com/uzh-rpg/flightmare

3. flightmare 介绍视频:https://www.bilibili.com/video/BV16v411r7dB?from=search&seid=14905217311811133451

4. 官方document: https://flightmare.readthedocs.io/en/latest/

二、安装flightmare

可以先git clone 工程文件,找到以下路径:

/flightmare/docs/source/getting_started/

其中的quick_start.rst,其中简要介绍了安装的依赖与步骤。内容简洁摘要如下:

  1. git
sudo apt-get install git
   git config --global user.name "Your Name Here"
   git config --global user.email "Same Email as used for github"
   git config --global color.ui true
  1. Packages
apt-get update && apt-get install -y --no-install-recommends \
      build-essential \
      cmake \
      libzmqpp-dev \
      libopencv-dev 
  1. Python environment
  • To create an environment with python3.6
conda create --name ENVNAME python=3.6
  • Activate a named Conda environment
conda activate ENVNAME
  1. Install Flightmare
   git clone https://github.com/uzh-rpg/flightmare.git
  1. Add Environment Variable
echo "export FLIGHTMARE_PATH=~/Desktop/flightmare" >> ~/.bashrc
  source ~/.bashrc
  1. Install dependencies
 conda activate ENVNAME
   cd flightmare/
   pip install -r requirements.txt

其中不建议使用VCS,只有7个依赖,直接找到txt文件打开,git clone会比用VCS快

  1. Install Flighmare (flightlib)
cd flightmare/flightlib
   # it first compile the flightlib and then install it as a python package.
   pip install .
Install with ROS
  1. gazebo版本
  • ROS Melodic and newer: use Gazebo version 9.x sudo apt-get install gazebo9
  • ROS Kinetic and newer: use Gazebo version 7.x sudo apt-get install gazebo7
  • ROS Indigo: use Gazebo version 2.x sudo apt-get install gazebo2
  1. gagzebo 依赖
sudo apt-get install libgoogle-glog-dev protobuf-compiler ros-$ROS_DISTRO-octomap-msgs ros-$ROS_DISTRO-octomap-ros ros-$ROS_DISTRO-joy python-vcstool

  1. Get catkin tools
sudo apt-get install python-pip 
   sudo pip install catkin-tools
  1. Create a catkin workspace
cd
   mkdir -p catkin_ws/src
   cd catkin_ws
   catkin config --init --mkdirs --extend /opt/ros/$ROS_DISTRO --merge-devel --cmake-args -DCMAKE_BUILD_TYPE=Release
  1. Install Flightmare
  • git clone:
cd ~/catkin_ws/src
   git clone https://github.com/uzh-rpg/flightmare.git
  • 下载依赖:
vcs-import < flightmare/flightros/dependencies.yaml
  • build:
 catkin build
  • add source:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
   echo "export FLIGHTMARE_PATH=~/catkin_ws/src/flightmare" >> ~/.bashrc
   source ~/.bashrc

安装的其他参考博客:
https://blog.youkuaiyun.com/ZNxiaobai/article/details/109687203?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control

出现的报错:
/home/zzx/flightmare/src/flightmare/flightlib/include/flightlib/bridges/unity_bridge.hpp:19:10: fatal error: zmqpp/zmqpp.hpp: 没有那个文件或目录
 #include <zmqpp/zmqpp.hpp>

关于ZeroMQ:
ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。

解决方法:
安装 zmqpp

git clone https://github.com/zeromq/libzmq.git
git checkout v4.3.3
cd libzmq && ./configure --prefix=/usr
make -j4 && sudo make install
测试:
roslaunch flightros rotors_gazebo.launch

三、关于安装Unity

简介

在flightmare的document中(链接:https://flightmare.readthedocs.io/en/latest/),查找“unity”,有需要的版本号和安装链接
在这里插入图片描述
unity需要安装两部分: editor +hub
unity下载中文网站:https://unity.cn/releases/full/2020
**unity hub **:( v2.0)
https://forum.unity.com/threads/unity-hub-v2-0-0-release.677485/
unity editor : Unity Editor Unity 2020.1.10
安装完hub后,可以在hub中下载editor
选择左侧的install, 选择版本。(在flightmare的官方document中推荐2020.2.10,在下载页面中unity推荐了2020.3,所以安装了这一版,经测试也可以使用。在官方document中提到也可以使用旧版的editor,只是需要放弃一些功能)
在这里插入图片描述

文章:Unity2020.1新功能探路:编辑器相关更新
https://www.bilibili.com/read/cv6474757/

安装:
  1. 在Unity.tar.xz的目录:
xz -d Unity.tar.xz
tar -xvf Unity.tar

两步分别得到 Unity.tar压缩包 以及 文件夹Editor

  1. 安装unityhub:
    右键运行UnityHub.AppImage文件, 如果运行不了尝试更改权限,加上可执行权限
chmod 744 文件名

在这里插入图片描述
保存第一步中的许可证,根据提示进行用户注册,进行人机验证后提交,进入邮箱点击相关邮件进行确认,在第二步中添加第一步中的许可证;再开启unity时则可以看到如下界面
在这里插入图片描述

最终测试

最终,运行roslaunch flightros rotors_gazebo.launch时可以得到:
在这里插入图片描述
在这里插入图片描述

quick_start.rst中的Run Flightmare(搬运,最后的roslaunch如前文)
  1. Run pip
    To use unity rendering, you need first download the binary from Releases and extract it into the flightrender folder.
    To enable unity for visualization, double click the extracted executable file RPG_Flightmare.x84-64 and then test a pre-trained controller.
conda activate ENVNAME
   cd /path/to/flightmare/flightrl
   pip install .
   cd examples
   python3 run_drone_control.py --train 0 --render 1
  1. Run ROS
 # The examples are by default not built.
   catkin build flightros -DBUILD_SAMPLES:=ON

   # Now you can run any example.  
   roslaunch flightros rotors_gazebo.launch
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值