Ubuntu18.04下ROS+Gazebo+Mavros+PX4安装教程(最新!最全!)

一、依赖安装

sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev python-pip python3-pip
pip2 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse

二、ROS安装

1.配置最佳源(家庭网可以选择阿里云,学校网可以选择清华云)

Ubuntu18.04下ROS+Gazebo+Mavros+PX4安装教程(最新!最全!)_第1张图片

2.添加ROS软件源

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'

3.设置KEY

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

4.安装ROS

sudo apt update
sudo apt install ros-melodic-desktop

5.环境设定

(1)echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

(2)source ~/.bashrc

6. 构建软件包的依赖关系

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

7. rosdep初始化、更新

(1)sudo apt install python-rosdep

(2)sudo rosdep init

(3)rosdep update

8.启动ROS

打开一个新终端输入:

roscore

Ubuntu18.04下ROS+Gazebo+Mavros+PX4安装教程(最新!最全!)_第2张图片
如果出现这样画面,ros就安装成功了,下面我们来测试一下小海龟。
重新打开一个终端输入:

 rosrun turtlesim turtlesim_node

再打开一个终端输入:

rosrun turtlesim turtle_teleop_key

把键盘鼠标放到终端中,通过键盘的“上下左右”键来让小乌龟运动。
Ubuntu18.04下ROS+Gazebo+Mavros+PX4安装教程(最新!最全!)_第3张图片
那么恭喜你的ROS已经成功安装完了!!!

三、Gazebo安装

  1. 如果前面安装ros 的时候安装了gazebo 这里进行卸载

(1)sudo apt-get remove gazebo*

(2)sudo apt-get remove libgazebo*

(3)sudo apt-get remove ros-melodic-gazebo*

  1. 设置计算机以接受来自package.osrfoundation.org的软件
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
cat /etc/apt/sources.list.d/gazebo-stable.list

#如果出现deb http://packages.osrfoundation.org/gazebo/ubuntu-stable xenial main表示没问题

  1. 设置密钥
    (1)wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
    (2)sudo apt-get update

  2. 安装gazebo9.1的指令

sudo apt-get install gazebo9=9.1*

安装之后终端输入gazebo若打开Gazebo说明安装成功,如果画面比较暗,可能需要安装nvidia驱动来驱动gazebo,方法会出现在我的另一篇博客中

  1. Gazebo本身是独立于ROS的,因此还需要安装ROS的Gazebo插件
    (1)sudo apt install ros-melodic-gazebo9-*
    (2)sudo apt install ros-melodic-gazebo-*

5.测试
(1)roscore
(2)rosrun gazebo_ros gazebo
若能打开Gazebo说明Gazebo和ROS间的插件也安装成功。
输入gazebo --version也可以查看到gazebo的版本

四、Mavros安装

在安装之前,请先更新软件库:

sudo apt-get update
sudo apt-get upgrade

然后安装ros

sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo chmod a+x ./install_geographiclib_datasets.sh
sudo bash ./install_geographiclib_datasets.sh #这一步时间稍长一些,请耐心等待

五、PX4配置

1. PX4源码下载(这里下载的是v1.12.3版本的PX4)

git clone -b v1.12.3 https://github.com/PX4/PX4-Autopilot.git --recursive

2.安装依赖

bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

3.编译

cd PX4-Autopilot
make px4_sitl_default gazebo

4.设置环境变量

(1).运行gedit ~/.bashrc 打开.bashrc文件

gedit ~/.bashrc

(2).把下面代码粘贴复制到该文件的最后面

source ~/PX4-Autopilot/Tools/setup_gazebo.bash ~/PX4-Autopilot/ ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/sitl_gazebo

(3).完成之后记得 source ~/.bashrc 一下

source ~/.bashrc

5.运行launch文件

cd ~/ PX4-Autopilot
roslaunch px4 mavros_posix_sitl.launch

7.检查与mavros连接是否正常

重新打开一个终端运行下面命令

rostopic echo /mavros/state

connected: True,则说明MAVROS与SITL通信成功。如果是false,一般是因为.bashrc里的路径写的不对,请仔细检查。如果一直false,则重新在配置PX4一遍试试。

六.安装地面站QGroundControl

首先在终端输入:

sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y

下载QGroundControl.AppImage
下载完成后,进入到QGroundControl.AppImage相应的目录,修改QGroundControl.AppImage权限:

chmod +x ./QGroundControl.AppImage

然后双击QGroundControl.AppImage或者在终端切换到QGroundControl.AppImage目录后,输入以下命令即可打开地面站:

./QGroundControl.AppImage

以上步骤是本人参考其他大佬的写的一些博客,最后总结了自己常用的一套方法,中间遇到了很多自己解决不了的问题,请教了很多前辈!自己也收获了很多!想把这些分享给大家,这是我的第一篇正式的CSDN博客,有不足之处,还望大家见谅,本人会再接再励,把自己在PX4上遇到的困难和解决方法一并给大家分享!

你可能感兴趣的:(ubuntu)