一、安装双系统以及配置ROS环境

  1. 安装双系统:ubuntu20.04
    参考b站:机器人工匠阿杰 Ubuntu双系统安装
    https://www.bilibili.com/video/BV1554y1n7zv/?spm_id_from=333.337.search-card.all.click

    swap分区建议设大一些。

    我电脑16G运行内存,swap分区设置的20G。

  2. 鱼香ROS 安装ROS 1
    参考:https://www.bilibili.com/opus/934654041226477571?from=readlist

二、配置PX4环境

  1. 打开终端,克隆源代码

    git clone https://github.com/PX4/PX4-Autopilot.git --recursive
    
  2. cd 到PX4-Autopilot中,运行更新子模块

    git submodule update --init --recursive
    
  3. 运行ubuntu.sh

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

    注:如果发现运行时pip下载速度很慢,那么就需要对pip进行换源,具体步骤如下:

    ①打开终端,依次输入以下指令:

    mkdir ~/.pip/
    cd .pip
    sudo gedit pip.conf
    

    ②在弹出的配置文件中填写源信息

    [global]
    timeout = 6000
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    trusted-host=pypi.tuna.tsinghua.edu.cn
    

    ③查看当前源

    pip config list
    

    ④换源成功后重新运行第一条指令:

    bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
    
  4. 重启电脑

  5. 安装依赖项:

    sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -y
    
  6. gedit ~/.bashrc
    

    打开.bashrc文件,在底部添加一行:其中的username为你自己的用户名

     export PATH="$PATH:/home/username/.local/bin"
    

    保存退出

  7. 终端更新numpy版本:

    pip install --upgrade numpy
    
  8. 安装OpenJDK:

    sudo apt install default-jdk
    

三、测试gazebo

  1. 进入PX4目录:

    cd PX4-Autopilot
    
  2. 编译环境:

    make px4_sitl gazebo
    

    在这里插入图片描述

    编译完成后会出现如上界面,编辑过程比较快,也没有出现报错。

    在终端输入 commander takeoff 后,可以看到飞机起飞到2.5m处悬停。

    在这里插入图片描述

    输入 commander land 后,可以看到飞机降落。

四、地面站QGC安装

  1. 依次输入以下命令:

    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
    sudo apt install libfuse2 -y
    sudo apt install libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor-dev -y
    
  2. 重启电脑

  3. 官网下载QGroundControl.AppImage. 参考官网:https://docs.qgroundcontrol.com/master/en/qgc-user-guide/getting_started/download_and_install.html

  4. 打开终端依次输入以下命令添加权限并运行:

    chmod +x ./QGroundControl.AppImage
    
    ./QGroundControl.AppImage
    

    在这里插入图片描述

  5. 安装完成后进入下载的地址并运行地面站:

    cd Downloads/
    
    ./QGroundControl.AppImage
    

在这里插入图片描述

出现如上界面即可。

  1. 再打开一个终端:

    cd PX4-Autopilot
    
    make px4_sitl gazebo
    

    可以看到QGC以及和无人机连接上了,左上角显示Ready To Fly,点击起飞就可以使无人机飞起来

    在这里插入图片描述

  2. 设置环境变量:

    先打开.bashrc文件

    gedit ~/.bashrc
    

    在文件末尾添加以下内容:

    source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/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/simulation/gazebo-classic/sitl_gazebo-classic
    

    保存后退出。

五、安装MAVROS

二进制安装:

  1. sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
    
  2. 安装GeographicLib 的数据集:

    wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh
    

    授予执行权限:

    sudo chmod a+x ./install_geographiclib_datasets.sh
    

    执行:

    sudo ./install_geographiclib_datasets.sh
    

六、测试通信

  1. roslaunch px4 mavros_posix_sitl.launch 
    

    出现以下界面:在这里插入图片描述

  2. 另打开一个终端,运行

    rostopic echo /mavros/state
    

    出现以下界面:connected:True就表示MAVROS与SITL通信成功。在这里插入图片描述

至此Ubuntu20.04+ROS+PX4+Mavros+Gazebo Classic的环境配置完成。

参考博客:

  1. https://www.bilibili.com/opus/934654041226477571/?from=readlist
  2. https://blog.csdn.net/lcjsddddd/article/details/134089398

PX4官网:https://docs.px4.io/main/zh/ros/mavros_offboard_cpp.html

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐