prometheus_px4配置

prometheus_px4是Prometheus项目配套使用的PX4固件,Prometheus项目的仿真模块依赖PX4固件以及sitl_gazebo ros功能包。(如果是配置Prometheus到真实无人机上那不需要配置prometheus_px4,因为这个是用于虚拟仿真的,真实无人机不需要)

电脑建议Ubuntu18.04/20.04,内存建议大于等于16G,如果内存不足可以通过增加Swap空间来避免编译爆内存。Ubuntu20.04电脑默认分配swap 2G,如果编译卡住,也可以通过增加swap空间解决,教程链接

更新系统

sudo apt-get update

sudo apt-get upgrade

确保系统在当下版本保持最新

安装prometheus_px4

打开终端输入下面的命令安装prometheus_px4

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

首次安装PX4固件时,需要安装PX4环境

cd prometheus_px4/Tools/setup
source ./ubuntu.sh

安装子模块以及相关依赖

注意

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

cd prometheus_px4
git submodule update --init --recursive #下载子模块可能会有些慢稍等,下载完可以再运行,如果下载好是不会显示什么的
pip3 install --user toml empy jinja2 packaging

编译prometheus_px4

cd prometheus_px4
make amovlab_sitl_default gazebo_p450

编译对于CPU性能和内存有一定要求,内存建议16G及以上,CPU性能建议i7 10代及以上,安装Ubuntu18.04相比20.04对于性能要求相对低一些

编译结束后,会自动运行gazebo仿真环境并加载P450无人机

如果遇到错误无法如下图显示,见下面常见错误解决

prometheus_px4_make.png

常见报错如下图所示

1.启动仿真环境时部分电脑可能出现下面这种报错信息,但只要仿真环境和P450无人机可以正常加载就可以忽略相关报错。

prometheus_px4_error.png

2.如果出现“Waiting for simulator to accept connection on TCP port 4560”并且一直保持,并且往上看显示lookup error:........./libgazebo_common.so.9,如下图 ,那么关闭终端,单独打开gazebo软件,不出意外是没有反应,这个错误原因:ignition-math库太老了,需要更新。 运行下面代码

sudo apt upgrade libignition-math2

59ce7708b4741e9029c0fea54c5fea7.jpg

3.如果错误显示'amovlab_sitl_default'failed ,中间错误显示error:'........../libignition-common.so.1.0.1',如下图所示,这个是系统缺少libignition-common_1.0.1-1 点击ignition-common,下载libignition-common_1.0.1-1_amd64.deb,右键->用软件安装打开

3745f7ff7e1991622064ef7b16ae830.jpg

4.如果出现错误显示“could not find a package configuration file provided by "gazebo" with any”,这个是缺少gazebo中的配置文件 运行下面代码

sudo apt-get install ros-melodic-gazebo-dev

2023-03-13 14-14-07 的屏幕截图.png

ubuntu的终端中遇到错误不要慌,根据终端错误提示,将提示复制,百度搜索,一般都可以解决