由于做毕设以及未来科研需求,需要安装prometheus,之前在ubuntu20.04安装prometheus,会有各种问题,opencv版本的问题需要自行解决,建议还是在ubuntu18.04基础上安装。
官网安装ROS链接,link
想省事点的话可以直接通过鱼香ROS一键安装的方式,这里给上安装链接鱼香ROS一键安装
具体安装就不介绍了,ROS一定要安装好。
安装Mavros包
sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
安装GeographicLib
下载速度太慢的话可以科学上网或者用手机热点多试几次
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh
prometheus更新v2版本,如果需要安装v1版本需要指定分支下载,我下载的是v1版本。
sudo apt-get update
sudo apt-get upgrade
确保系统是最新版本的
sudo apt-get update
sudo apt-get upgrade
打开终端输入下面的命令安装prometheus_px4
git clone https://gitee.com/amovlab/prometheus_px4.git
v1分支用下面代码:
git clone https://gitee.com/amovlab/prometheus_px4.git -b Prometheus_PX4_1.11.1
首次安装PX4固件时,需要安装PX4环境
cd prometheus_px4/Tools/setup
source ./ubuntu.sh
请将示例中的{your_prometheus_px4_path}替换为prometheus_px4的安装路径。
cd {your_prometheus_px4 path}/prometheus_px4
git submodule update --init --recursive
pip3 install --user toml empy jinja2 packaging
make amovlab_sitl_default gazebo_p450
看到gazebo 加载出来,有p450的机型就可以了,部分报错的话不用管。
安装rtabmap:
sudo apt-get install ros-melodic-rtabmap*
安装Octomap:
sudo apt-get install ros-melodic-octomap-*
安装cartographer
sudo apt-get install ros-melodic-cartographer*
如果需要运行数字识别、SiamRPN跟踪,需要安装PyTorch。
目前ROS仅支持python2,所以确保你的CUDA版本为10.1或9.2
nvidia-smi
pip2 install torch==1.4.0 torchvision==0.5.0
pip2 install torch==1.4.0+cu92 torchvision==0.5.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html
pip2 install torch==1.4.0+cpu torchvision==0.5.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
安装非线性优化工具箱 NLopt,安装方法如下
git clone git://github.com/stevengj/nlopt
cd nlopt
mkdir build
cd build
cmake ..
make
sudo make install
这里我出现了一个问题,我在cmake的时候,会报错当前cmake的版本过低,需要升级到高版本
强调!!!
网上一些先删除cmake再下载高版本的方式不能用!!删除cmake会导致ROS出现问题,ros需要重新下载,也就是所有的步骤都得重来一遍,所以这里给大家的方式是升级cmake,不用下载。
到cmake官网上下载cmake自己需要的版本,link
我下载的是3.15.2,这里以3.15.2为例
# 下载cmake源码包
wget https://github.com/Kitware/CMake/releases/download/v3.15.2/cmake-3.15.2-linux-x86_64.tar.gz
tar -xzvf cmake-3.15.2-Linux-x86_64.tar.gz
将解压出来的包移到 /opt 目录下
sudo mv cmake-3.21.4-Linux-x86_64 /opt/cmake-3.21.4
建立软链接
sudo ln -sf /opt/cmake-3.21.4/bin/* /usr/bin/
cmake --version
cmake安装成功之后,一定不要忘记将cmake的文件路径添加至 .bashrc里面,否则找不到目录:
进入~/.bashrc
sudo gedit ~/.bashrc
输入以下内容
export PATH=$PATH:/opt/cmake-3.21.4/bin
保存 .bashrc的更改和更新source一下
source ~/.bashr
至此,cmake安装完毕
使用crtl+alt+T打开一个新的终端
git clone https://github.com/amov-lab/Prometheus
或者
git clone https://gitee.com/amovlab/Prometheus.git
v1分支用下面的代码:
git clone https://gitee.com/amovlab/Prometheus.git -b v1.1
环境变量配置,打开一个新终端,输入gedit .bashrc并回车,在打开的bashrc.txt文件中添加
source {your prometheus path}/Prometheus/devel/setup.bash
GAZEBO_PLUGIN_PATH=$GAZEBO_PLUGIN_PATH:{your prometheus path}/Prometheus/devel/lib
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:{your prometheus path}/Prometheus/Simulator/gazebo_simulator/gazebo_models/uav_models
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:{your prometheus path}/Prometheus/Simulator/gazebo_simulator/gazebo_models/ugv_models
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:{your prometheus path}/Prometheus/Simulator/gazebo_simulator/gazebo_models/sensor_models
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:{your prometheus path}/Prometheus/Simulator/gazebo_simulator/gazebo_models/scene_models
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:{your prometheus path}/Prometheus/Simulator/gazebo_simulator/gazebo_models/texture
source {your px4 path}/prometheus_px4/Tools/setup_gazebo.bash {your px4 path}/prometheus_px4 {your px4 path}/prometheus_px4/build/amovlab_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:{your px4 path}/prometheus_px4
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:{your px4 path}/prometheus_px4/Tools/sitl_gazebo
source ~/.bashrc
Prometheus项目编译
打开至Prometheus项目根目录,并执行对应的编译脚本,第一次编译用时较久,请耐心等待
cd Prometheus
sudo chmod 777 ./compile_all.sh (第一次运行才需要执行此赋权命令)
./compile_all.sh
./compile_all.sh编译的话是编译所有的功能包,如果不需要用所有的包的话只需要安装需要的sh文件就可以了,编译完不报错就可以尝试运行了,第一次打开运行gazebo会比较久,等着别急。
我在运行的时候出现PX4 not found的问题,这里需要在终端的时候输入下面两个指令再运行:
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:{your px4 path}/prometheus_px4
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:{your px4 path}/prometheus_px4/Tools/sitl_gazebo
其实在环境变量里添加了,但不知道为什么还得手动,如果有好的解决办法欢迎评论讨论。
至此,prometheus的安装就结束了,ubuntu18.04安装起来确实快了很多,也没什么报错问题,有问题的地方,欢迎大家进行补充,我这里主要是整理了网上一些方法,也方便自己以后重装的时候更方便,后续使用过程中出现问题再更新,之前ubuntu20.04装出了很多问题忘整理了,建议还是18.04。
虚拟机的话阿木实验室有镜像可以直接用,方便很多。