Prometheus配置

安装Prometheus

打开终端输入以下命令安装Prometheus项目。

git clone https://gitee.com/amovlab/Prometheus.git

安装prometheus_mavros

prometheus_mavros是Prometheus项目配套使用的MAVROS功能包,Prometheus项目与PX4连接进行数据交互依赖于MAVROS功能包。

打开终端输入以下命令安装prometheus_mavros。

注意

请将示例中的{your_prometheus_path}替换为Prometheus的安装路径。

cd Prometheus/Scripts/installation/prometheus_mavros
chmod +x install_prometheus_mavros.sh
./install_prometheus_mavros.sh

Prometheus_mavros.png

安装完毕后关闭当前终端窗口,打开新的终端输入以下命令测试prometheus_mavros是否正常安装完毕以及环境变量是否正常加载。

roscd mavros

如果出现路径为~/prometheus_mavros/src/mavros/mavros则证明安装成功。

roscd_mavros.png

如果上面执行后没有报错,但是roscd mavros 并不能成功,那么打开.bashrc文件

sudo gedit ~/.bashrc

正常情况下.bashrc里显示了ROS的环境"source /opt/ros/melodic/setup.bash",这时添加mavros如下所示

source ~/prometheus_mavros/devel/setup.bash

Screenshot from 2023-05-05 09-37-48.png

保存退出,再终端中更新环境变量

source .bashrc

roscd mavros

如果还没有成功那么就是前面有错误,仔细看看运行过程中是否异常,报错。

依赖项下载

遥控器仿真驱动安装

## 安装遥控器仿真驱动
sudo apt-get install jstest-gtk
## 安装完成之后,可以在终端中运行如下指令确认遥控器是否正常以及摇杆和按钮的响应情况
jstest-gtk

Gazebo模型库下载

 cd ~/.gazebo/
 # 如果之前没有models文件夹的话,创建models文件夹
 mkdir -p models
 cd ~/.gazebo/models/
 # 这个仓库是从官方仓库(https://github.com/osrf/gazebo_models)复制过来的,会定期更新
 git clone https://gitee.com/amovlab/gazebo-models.git

nlink_parser安装

nlink_parser为UWB驱动功能包,目前仅支持nooploop相关UWB产品

# 通过git clone方式下载功能包,参考README配置该功能包
git clone https://github.com/nooploop-dev/nlink_parser.git

vrpn_client_ros安装(可选)

vrpn_client_ros功能包为动捕定位系统应用所依赖的ROS功能包,如果使用动捕定位则需要下载该功能包

sudo apt-get install ros-melodic-vrpn-client-ros

编译Prometheus

输入以下命令编译Prometheus项目。

cd Prometheus 

# 第一次使用时需要给编译脚本文件添加可执行权限
chmod +x compile_*

# 编译控制功能模块
./compile_control.sh

compile_control.png

目前提供四个编译脚本:

编译脚本文件编译模块
compile_all.sh编译全部功能模块,包含基础模块、通信模块、Gazebo仿真模块、控制模块、demo模块、规划模块、目标检测模块
compile_control.sh编译控制功能相关模块,包含基础模块、Gazebo仿真模块、控制模块、demo模块
compile_planning.sh编译规划功能相关模块,包含基础模块、Gazebo仿真模块、控制模块、规划模块
compile_detection.sh编译视觉功能相关模块,包含基础模块、Gazebo仿真模块、控制模块、demo模块、目标检测模块

警告

  • 目标检测模块能编译通过,并不代表所有功能都能正常运行
  • 目标检测模块大部分功能都需要Nvidia显卡,CUDA环境支持,具体请看视觉功能汇总
  • 如果需要使用完整目标检测模块,请前往目标检测模块介绍完成相关依赖环境安装

提示

用户可根据自身情况选择其中一个编译脚本文件运行,可避免不需要的功能模块带来的环境或编译问题。

其他配置

环境变量配置

打开终端输入以下命令打开.bashrc文件。

sudo gedit ~/.bashrc

将以下内容复制到.bashrc文件中后保存退出,如果.bashrc已有相关内容,则无需重复添加。

提示

其中{your prometheus path}为Prometheus项目路径,{your px4 path}为安装prometheus_px4固件的路径。

source {your prometheus path}/Prometheus/devel/setup.bash

export 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

以下图为例,Prometheus安装在/home文件夹下,可用~代表。~/Prometheus/home/amov/Prometheus等效。示例中的amov为用户名,如果使用/home/{user}/Prometheus这种形式的需要将用户名更改。

prometheus_px4环境变量.png