Filghtmare是一个基于unity的无人机仿真软件,相关的论文和源码今年刚刚发布,我在网上找了大半圈,都没有一个教程,零零散散已经搞了一个多月,前期对于ubuntu的操作以及命令不太懂,所以一步一个坑地往前走,wiki的教程中有很多步骤都不是很详细,对于像我这样的小白来说不太友好,因此我想记录一下我的安装过程,和大家分享一下:
wiki教程:https://github.com/uzh-rpg/flightmare/wiki,
源码:https://github.com/uzh-rpg/flightmare
原文:https://arxiv.org/pdf/2009.00563.pdf
首先一定要用ubuntu18来配置Flightmare,否则编译的过程会很麻烦,我之前用ubuntu16来编译filghtmare时很多软件的版本都不对。
1. ubuntu18.04下安装ROS melodic:http://wiki.ros.org/ROS/Installation
2. 安装一些工具:
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
libzmqpp-dev \
libopencv-dev
3. 安装GAZEBO9.0
sudo apt-get install gazebo9
4. ROS依赖:
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
5.编译工具安装:
sudo apt-get install python-pip
sudo pip install catkin-tools
6.确保protobuf编译器版本是3.0.0
protoc--version
如果不是,安装网址:https://github.com/linux-on-ibm-z/docs/wiki/Building-ProtoBuf-3.0.0
7.做完准备工作后,下面就可以创建工作空间了
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
8. 克隆flighmare 源码,原网址克隆实在太慢了,我这里加了在github上加了后缀,瞬间起飞,不信试试
cd ~/catkin_ws/src
git clone https://github.com.cnpmjs.org/uzh-rpg/flightmare.git
9. 克隆依赖包:
vcs-import < flightmare/flightros/dependencies.yaml
这个过程也非常慢非常慢,并且可能报错,可以试试我的方法,打开文件所在位置,找到网址:
一次找到对应的网页,比如第一个:https://github.com/catkin/catkin_simple,
然后在终端输入:
git clone https://github.com.cnpmjs.org/catkin/catkin_simple.git
克隆到src下,其他6个同样做这样的操作,就不会有任何问题
10. 编译,catkin build可能会报错卡住不动,我用的是
catkin_make
编译的时候又有问题了,还是github.com下载太慢的问题,截图是成功以后的结果,一个是Pybind11,一个是yaml
可以根据文件名进入文件夹,找到download文件,flightmare/flightlib/camke/XXXdownload.cmake文件,把github.com网址都加上“.cnpmjs.org”后缀,不放心的话还可以进入
flightmare/flightlib/externals里面有两个下载文件夹,打开里面的CMakeLists.txt文件,把网址也改了,这样make的时候就不浪费时间干等着了。
11. 添加路径:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
echo "export FLIGHTMARE_PATH=~/catkin_ws/src/flightmare" >> ~/.bashrc
source ~/.bashrc
12. 下载unity相关环境:文件名:RPG_Flightmare.tar.xz
https://github.com/uzh-rpg/flightmare/releases
下载后解压到/flightmare/flightrender文件夹里。这样Flightmare+ROS的环境就配置好了
13.可以运行launch文件测试:
roslaunch flightros rotors_gazebo.launch