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是否正常安装完毕以及环境变量是否正常加载。
roscd mavros
如果出现路径为~/prometheus_mavros/src/mavros/mavros
则证明安装成功。
如果上面执行后没有报错,但是roscd mavros 并不能成功,那么打开.bashrc文件
sudo gedit ~/.bashrc
正常情况下.bashrc里显示了ROS的环境"source /opt/ros/melodic/setup.bash",这时添加mavros如下所示
source ~/prometheus_mavros/devel/setup.bash
保存退出,再终端中更新环境变量
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_all.sh | 编译全部功能模块,包含基础模块、通信模块、Gazebo仿真模块、控制模块、demo模块、规划模块、目标检测模块 |
compile_control.sh | 编译控制功能相关模块,包含基础模块、Gazebo仿真模块、控制模块、demo模块 |
compile_planning.sh | 编译规划功能相关模块,包含基础模块、Gazebo仿真模块、控制模块、规划模块 |
compile_detection.sh | 编译视觉功能相关模块,包含基础模块、Gazebo仿真模块、控制模块、demo模块、目标检测模块 |
警告
提示
用户可根据自身情况选择其中一个编译脚本文件运行,可避免不需要的功能模块带来的环境或编译问题。
其他配置
环境变量配置
打开终端输入以下命令打开.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
这种形式的需要将用户名更改。