ubuntu18.04安装阿木实验室prometheus

  • Post author:
  • Post category:其他

ubuntu18.04安装阿木实验室prometheus

前言

由于做毕设以及未来科研需求,需要安装prometheus,之前在ubuntu20.04安装prometheus,会有各种问题,opencv版本的问题需要自行解决,建议还是在ubuntu18.04基础上安装。

必备依赖项安装

安装ROS

官网安装ROS链接,link
想省事点的话可以直接通过鱼香ROS一键安装的方式,这里给上安装链接鱼香ROS一键安装
具体安装就不介绍了,ROS一定要安装好。

mavros安装

安装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_px4

prometheus更新v2版本,如果需要安装v1版本需要指定分支下载,我下载的是v1版本。

更新系统

sudo apt-get update

sudo apt-get upgrade

确保系统是最新版本的

安装px4

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的机型就可以了,部分报错的话不用管。

安装prometheus

依赖安装

建图模块依赖项安装

安装rtabmap:

sudo apt-get install ros-melodic-rtabmap*

安装Octomap:

sudo apt-get install ros-melodic-octomap-*

激光SLAM依赖项安装

安装cartographer

sudo apt-get install ros-melodic-cartographer*

视觉检测依赖项安装(这里我暂时不需要,所以没有安装)

如果需要运行数字识别、SiamRPN跟踪,需要安装PyTorch。
目前ROS仅支持python2,所以确保你的CUDA版本为10.1或9.2

首先查看CUDA版本
nvidia-smi
CUDA 10.1
pip2 install torch==1.4.0 torchvision==0.5.0
CUDA 9.2
pip2 install torch==1.4.0+cu92 torchvision==0.5.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html
CPU only,如果没有Nvidia显卡,则安装CPU版本(影响检测性能)
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官网上下载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。
虚拟机的话阿木实验室有镜像可以直接用,方便很多。


版权声明:本文为m0_46541304原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。