搭建基于ROS的Fligtmare仿真环境
Flightmare 是一个灵活的模块化四旋翼模拟器,主要由两个核心组件构成:基于 Unity 的可配置渲染引擎和用于动力学仿真的灵活物理引擎。这两个组件完全解耦,可独立运行。在安装配置的过程中遇到了一些问题,解决之后想与大家分享,避免大家在配置的过程中遇到相同的问题。

-
Flightmare主要特性:
- 配备大型多模态传感器套件,包括提取场景 3D 点云的接口。
- 提供强化学习 API,可并行模拟数百架四旋翼。
- 集成虚拟现实头显,支持与模拟环境交互。
应用场景:
可用于路径规划、强化学习、视觉惯性里程计、深度学习、人机交互等多种应用。
仓库地址:
https://github.com/uzh-rpg/flightmare
官方学习网站地址:
https://flightmare.readthedocs.io/en/latest/documentation.html
Git环境配置及相关依赖库的安装
Git
在终端运行以下指令,配置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
Packages
在终端运行以下指令,安装Flightmare所需要的依赖库
apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
libzmqpp-dev \
libopencv-dev
基于ROS的Flightmare环境配置
- 推荐配置:
- Ubuntu:20.04
- ROS:noetic
Gazebo安装
ROS Melodic 及更新版本:使用 Gazebo 版本 9.x 运行命令 sudo apt-get install gazebo9
ROS Kinetic 及更新版本:使用 Gazebo 版本 7.x 运行命令 sudo apt-get install gazebo7
ROS Indigo:使用 Gazebo 版本 2.x 运行命令 sudo apt-get install gazebo2
安装ROS依赖
对 Ubuntu20.04,运行
sudo apt-get install libgoogle-glog-dev protobuf-compiler ros-$ROS_DISTRO-octomap-msgs ros-$ROS_DISTRO-octomap-ros ros-$ROS_DISTRO-joy python3-vcstool
对其他Ubuntu版本,运行
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
在继续之前,请确保您的 protobuf 编译器版本为 3.0.0。要检查版本,请在终端中输入 protoc --version。如果不是这种情况,请查看官方指南了解如何操作。
配置catkin工具及创建工作空间
安装catkin
sudo apt-get install python-pip
sudo pip install catkin-tools
创建工作空间
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
接下来就可以开始安装Flightmare仿真环境了。
安装并编译Flightmare
从原始仓库拉取仓库
cd ~/catkin_ws/src
git clone https://github.com/uzh-rpg/flightmare.git
克隆相关依赖
vcs-import < flightmare/flightros/dependencies.yaml
此处需要配置本地的SSH密钥,详细操作请查阅相关的教程。
编译工作空间
catkin build flightros -DBUILD_SAMPLES:=ON
这里的-DBUILD_SAMPLES:=ON也可以不加,开启后可以编译racing实验,但会遇到一些问题(可能只是博主自己铸币qwq)
确保编译全部通过,如果有报错解决报错后再次编译。
Flightmare Unity Binary的下载安装
在已经安装并配置完成的UE中安装Flightmare Unity Binary,UE的下载和相关配置可以查看相关的博客
https://blog.youkuaiyun.com/Dugege007/article/details/128472571
在所给链接https://github.com/uzh-rpg/flightmare/releases/latest/download/RPG_Flightmare.tar.xz中下载’RPG_Flightmare.tar.xz’,并将其提取到/path/to/flightmare/flightrender目录下。
Flightmare仿真环境的基本实验运行
在Flightmare环境的基础实验(rotors_gazebo.launch)中,使用RotorS来对四旋翼无人机进行建模,使用rpg_quadrotor_control控制器作为模型的基础控制器。
进入工作空间
cd ./catkin_ws
source一下
source ./devel/setup.bash
运行相应的launch文件
roslaunch flightros rotors_gazebo.launch
就可以在unity环境中进行基础仿真了

在下一篇博客中会对其他实验和其他功能进行进一步的讲解。
2691





