Prometheus是阿木实验室提供的开源无人机开发项目,可以实现避障、激光雷达、自主降落等多种功能的gazebo仿真和配合P200无人机的真机实验。github上有完整的工程和Wiki讲解,链接:https://github.com/amov-lab/Prometheus
Prometheus本质是个ROS package,它和上文“新手入门”中提到的px4_command项目是一个类型,但是含有的功能包更多,下载和安装方式也不大一样。
上次下载px4_command项目以及配置px4、ros环境,我是在VMware虚拟机上进行的,全部实现了但是gazebo仿真十分卡,而且没有二维码引导着陆的功能包。见 https://blog.csdn.net/benchuspx/article/details/108022028 这次我是在双系统ubuntu上下载Prometheus并配置px4、ros环境,过程有些许不同。
这次我安装的都是最新版的环境。当然gazebo9在安装px4或者ros的过程中可能已经安装了。
ubuntu | px4 | ROS | Gazebo |
18.04 | 1.10-stable | melodic | 9.0 |
我遇到的环境配置问题如下:
1、环境配置顺序
由于安装px4或者ros的过程中都会自动安装gazebo,所以可能会重复安装造成一些问题。我建议先配置px4环境,按照px4官网安装教程用ubuntu.sh进行全程傻瓜安装,这个脚本是自动安装了gazebo9的。然后安装ros-melodic,不选择ros-melodic-desktop-full版本,而是选择ros-melodic-desktop版本,否则又会安装一遍gazebo9
2、gazebo打不开,报错gazebo: symbol lookup error
点击gazebo图标,打不开。终端输入gazebo,报错 gazebo: symbol lookup error 伴有以下问题:
px4在Firmware v110中编译固件的时候成功
make px4_fmu-v5_default
但是一旦编译涉及到gazebo就有问题
make px4_sitl_default gazebo
总是编译到一半就停止了,报错make error
我一开始还以为是px4的问题或者gazebo重复安装的问题,把px4、ros、gazebo全部重装了几遍都没用。
最后网上查到了问题,见https://blog.csdn.net/qq_42703283/article/details/84484112
其实只需要升级一个动态库就行了
sudo apt upgrade libignition-math2
这个问题可能是重复安装gazebo版本不同造成的吧。
3、ResourceNotFound: gazebo_ros
运行
roslaunch prometheus_gazebo sitl.launch
报错
ResourceNotFound: gazebo_ros
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/home/dqq/catkin_ws/src/mavlink
ROS path [2]=/home/dqq/catkin_ws/src/mavros/libmavconn
ROS path [3]=/home/dqq/catkin_ws/src/mavros/mavros_msgs
ROS path [4]=/home/dqq/catkin_ws/src/mavros/mavros
路径报错,先检查环境变量添加的是否正确。注意~/.bashrc中添加的export后面的冒号左右不能有空格!添加完路径还要source ~/.bashrc检查一下路径添加有没有问题!
如果还是有上述问题,没有找到gazebo-ros,说明安装ros的时候没有安装gazebo,也就没有安装ros和gazebo的接口,虽然安装了ros和gazebo,但是从ros无法找到gazebo。
sudo apt search ros-melodic-gazebo-*
可以查看目前是否安装gazebo和ros的接口,如果没有,安装如下
sudo apt install ros-melodic-gazebo-ros-pkgs
安装的包名称是灵活的,可以输入 sudo apt install ros-melodic-gazebo之后按几下Tab键看有哪些可选。
参考https://blog.csdn.net/weixin_41869763/article/details/104244205