一,先装好prometheus的环境
先装好ROS(有了rosdepc之后十分钟) MAVROS吧,这个非常快。
先按这个装了,把ROS MAVROS prometheus装好
https://gitee.com/maxibooksiyi/Prometheus-github-wiki/blob/master/%E5%85%A5%E9%97%A8/%E5%AE%89%E8%A3%85%E5%8F%8A%E7%BC%96%E8%AF%91.md
ROS melodic安装
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop-full
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
剩下两个命令是 sudo rosdep init 和 rosdep update,这两个需要代理,目前也有不需要代理的方法(见 https://blog.csdn.net/sinat_16643223/article/details/107813134 ),注意这两个还是需要装的,当你编译失败的时候可以告诉你缺哪些包。
sudo rosdep init 和 rosdep update也可以试下用这个方法,简单很多。
https://blog.csdn.net/sinat_16643223/article/details/120950026
MAVROS安装
sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
然后运行
git clone https://gitee.com/maxibooksiyi/mavros.git
然后在克隆下来的mavros文件夹里面找到这个红框内的sh脚本
把这个 install_geographiclib_datasets.sh 复制放到根目录下面
然后打开终端 运行 chmod 777 install_geographiclib_datasets.sh
注意终端和 install_geographiclib_datasets.sh 是在同一个文件夹下的
接着运行:
./install_geographiclib_datasets.sh
也可能需要
sudo ./install_geographiclib_datasets.sh
也就是执行这个sh脚本,这也是最后一步,注意这一步等的时间会比较长,需要耐心等,不要以为终端卡死了什么的(当然有的时候也很快)
最后这步执行成功终端打印情况就是这样
上面就是安装MAVROS的完整步骤
建图模块依赖项安装
安装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*
安装非线性优化工具箱 NLopt,安装方法如下
git clone git://github.com/stevengj/nlopt
cd nlopt
mkdir build
cd build
cmake ..
make
sudo make install
Prometheus项目下载
下载项目代码,使用crtl+alt+T打开一个新的终端
git clone https://github.com/amov-lab/Prometheus
也可以使用国内Gitee源(我们会定期搬运更新!)
git clone https://gitee.com/amovlab/Prometheus.git
环境变量配置,打开一个新终端,输入gedit .bashrc并回车,在打开的bashrc.txt文件中添加 source /home/$(your computer name)/Prometheus/devel/setup.bash,或者使用如下命令(需编译后才会出现该文件!)
echo "source (Path To Prometheus)/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
Prometheus项目编译
打开至Prometheus项目根目录,并执行对应的编译脚本,第一次编译用时较久,请耐心等待
cd Prometheus
sudo chmod 777 ./compile_all.sh (第一次运行才需要执行此赋权命令)
./compile_all.sh
二,再按照这个搭建PX4仿真环境
git clone https://gitee.com/amovlab/prometheus_px4.git
cd prometheus_px4
git submodule update --init --recursive
pip3 install --user toml empy jinja2 packaging
make amovlab_sitl_default gazebo (这可能是整个仿真环境搭建过程最没有把握的一步,生怕出现什么解决不了的报错)
会遇到缺包的报错,这个正常,你也是知道的,按照它的提示装就好了
运行下面之前还需要 sudo apt-get install python-pip3
pip3 install --user numpy
再运行 make amovlab_sitl_default gazebo 又遇到下面的报错,这回没说缺包 后面也只是试一试,把所有的包都装了一下,再运行这个命令就OK了。
我把这个运行一次
sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
再运行 make amovlab_sitl_default gazebo 这回编译到最后了,弹出了gazebo,但是一直在这个界面。可能感觉跟gazebo模型有关系。(后面回看这个应该没有影响,没有完全弹出gazebo应该没有影响,后面正常装好东西后正常启动普罗米修斯的gazebo仿真没有问题)
新开一个终端
cd prometheus_px4/Tools/setup
source ./ubuntu.sh (一次性OK了)
上面最后一行说要重启?但是我没有重启,我以前也没有重启过,后面弄好跑普罗米修斯仿真没有问题。
sudo gedit ~/.bashrc
里面加上
export GAZEBO_PLUGIN_PATH=$GAZEBO_PLUGIN_PATH:/home/maxi/Prometheus/devel/lib
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/home/maxi/Prometheus/Simulator/gazebo_simulator/models
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/home/maxi/Prometheus/Simulator/gazebo_simulator/amov_models
source /home/maxi/prometheus_px4/Tools/setup_gazebo.bash /home/maxi/prometheus_px4 /home/maxi/prometheus_px4/build/amovlab_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/maxi/prometheus_px4
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/maxi/prometheus_px4/Tools/sitl_gazebo
注意下面第一句不用再加了,因为之前装普罗米修斯的时候已经在终端加过了,别一个劲就复制教程里的。
填好后的.bashrc如下图所示
再打开一个新的终端会有这些显示
接着运行
安装3Dlidar插件
sudo apt-get install ros-melodic-velodyne-gazebo-plugins
安装octomap在rviz中的插件
sudo apt-get install ros-melodic-octomap-rviz-plugins
安装Turtlebot3 仿真插件
sudo apt-get install ros-melodic-turtlebot3-*
这个时候运行下面命令,普罗米修斯的仿真就跑起来了。
roslaunch prometheus_gazebo sitl.launch
运行
roslaunch prometheus_gazebo sitl_color_line_following.launch
可以跑起来巡线,帧率1秒左右
我又跑了两个,都OK
roslaunch prometheus_gazebo sitl_circle_crossing.launch
roslaunch prometheus_gazebo sitl_control.launch
总耗时也就一个半小时。