当前位置:   article > 正文

flightmare初探——简介与安装

flightmare

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

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/
  • 1

其中的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
  • 2
  • 3
  • 4
  1. Packages
apt-get update && apt-get install -y --no-install-recommends \
      build-essential \
      cmake \
      libzmqpp-dev \
      libopencv-dev 
  • 1
  • 2
  • 3
  • 4
  • 5
  1. Python environment
  • To create an environment with python3.6
conda create --name ENVNAME python=3.6
  • 1
  • Activate a named Conda environment
conda activate ENVNAME
  • 1
  1. Install Flightmare
   git clone https://github.com/uzh-rpg/flightmare.git
  • 1
  1. Add Environment Variable
echo "export FLIGHTMARE_PATH=~/Desktop/flightmare" >> ~/.bashrc
  source ~/.bashrc
  • 1
  • 2
  1. Install dependencies
 conda activate ENVNAME
   cd flightmare/
   pip install -r requirements.txt
  • 1
  • 2
  • 3

其中不建议使用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 .
  • 1
  • 2
  • 3
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
  • 2
  1. Get catkin tools
sudo apt-get install python-pip 
   sudo pip install catkin-tools
  • 1
  • 2
  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
  • 2
  • 3
  • 4
  1. Install Flightmare
  • git clone:
cd ~/catkin_ws/src
   git clone https://github.com/uzh-rpg/flightmare.git
  • 1
  • 2
  • 下载依赖:
vcs-import < flightmare/flightros/dependencies.yaml
  • 1
  • build:
 catkin build
  • 1
  • add source:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
   echo "export FLIGHTMARE_PATH=~/catkin_ws/src/flightmare" >> ~/.bashrc
   source ~/.bashrc
  • 1
  • 2
  • 3

安装的其他参考博客:
https://blog.csdn.net/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>

  • 1
  • 2
  • 3

关于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
  • 1
  • 2
  • 3
  • 4
测试:
roslaunch flightros rotors_gazebo.launch
  • 1

三、关于安装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
  • 1
  • 2

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

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

在这里插入图片描述
保存第一步中的许可证,根据提示进行用户注册,进行人机验证后提交,进入邮箱点击相关邮件进行确认,在第二步中添加第一步中的许可证;再开启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
  • 2
  • 3
  • 4
  • 5
  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
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/91242
推荐阅读
相关标签
  

闽ICP备14008679号