zoukankan      html  css  js  c++  java
  • GAAS installlation on Ubuntu 18.04

    GAAS installlation on Ubuntu 18.04

    GAAS 安装教程: document

    GAAS 中的安装教程中提到的 ROS-Kinetic (LTS 版)并不是最新的版本,在 ROS官网 上说明有两种 LTS 版本,其中一种版本是 Kinetic,另外一种是 Melodic 版本,这两种版本都是 LTS版的。

    一开始不知道这个 Kinetc 是什么意思,完全按照 GAAS 上面的教程安装,一直提示找不到 ros-kinetic-* 相关的包。其实这就是个版本代号,类似 Ubuntu 18.04 代号 bionic,我们在 bionic 这个版本上就要安装 Melodic 版本。

    安装 ROS

    在 Ubuntu 18.04 上,我们跟着 ROS 官方教程 进行安装(以下为官网步骤的翻译):

    1. 设置 sources.list,以便可以从 packages.ros.org 下载已经编译好的二进制文件:
    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
    
    1. 设置密钥
    sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    
    1. 安装

    首先更新仓库索引:

    sudo apt update
    

    Desktop-Full 安装:

    sudo apt install ros-melodic-desktop-full
    
    1. 初始化 rosdep

    在使用 ROS 前,需要初始化 rosdep.

    sudo rosdep init
    rosdep update
    
    1. 设置环境变量

    将 melodic 的环境变量导入到当前的 bash 环境中,并且每次打开新的终端时自动加载 melodic 的环境变量:

    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    
    1. 构建软件包所需的依赖

    前面几步设置好了运行 ROS 包的必要环境,要创建并管理自己的 ROS 工作环境,还有一些工具和依赖需要安装。

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

    还有一些依赖项,在 GAAS 教程中提到的,也需要安装:

    pip install pandas jinja2 pyserial cerberus pyulog numpy toml  pyquaternion
    sudo apt install -y ninja-build exiftool python-argparse python-empy python-toml python-numpy python-yaml python-dev python-pip ninja-build protobuf-compiler libeigen3-dev genromfs
    

    如果你发现有些软件安装了,但是在后面运行 gazebo 时候又提示没有找到相应软件,可能需要换一种方式安装:比如我用 pip 安装了 empy,但是构建时提示我无法 import em,package not found,换用 python -m pip install empy,之后就正常了。

    后面会用到 gazebo 相关的包,这里进行安装:

    sudo apt install ros-melodic-gazebo-*
    

    这一步很关键,如果不安装 gazebo 插件,那么后面运行 gazebo_ros 的一些命令的时候会提示一些依赖项或者资源无法找到,比如我这个:

    至此,ROS 的基本环境已经搭建好了。

    可以在终端中测试:roscore,正常的话这个命令应该输出如下内容:

    创建 catkin 工作目录:

    mkdir -p ~/catkin_ws/src
    

    一切正常后,使用 apt 安装 MAVROS,这是一个基于 MAVLink 的通讯节点:

    sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
    wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
    chmod +x ./install_geographiclib_datasets.sh
    sudo ./install_geographiclib_datasets.sh
    

    PX4 固件

    GAAS 给出的教程使用的是 PX4 v1.8.0:

    cd ~/catkin_ws/src
    
    git clone https://github.com/PX4/Firmware.git  # 后面需要用到 v1.8.0 标签,因此此处 clone 的时候不要添加 --depth 1 选项
    
    cd Firmware
    
    git checkout v1.8.0
    

    然后我们就可以使用 make 命令构建 gazebo 示例了,在此之前,先更新所有的 submodules,尽管 make 命令在执行过程中会自动检查并更新子模块,但如果受网速限制,git 更新速度较慢,我们可以使用 proxychains 进行代理更新,如果设置了正确的代理,这样会快很多:

    git submodule update --init --recursive
    # proxychains git submodules update --init --recursive 
    

    如果你访问 github 的速度够快,可以忽略掉这条指令。否则建议手动更新子模块,如果你用 proxychains 代理 make 命令,最后生成 demo 示例时可能会出现无法打开 gazebo demo 的问题。

    最后,运行 make 命令:

    make posix_sitl_default gazebo
    

    运行 Gazebo 模拟器

    最后可以看一看 Gazebo 的运行效果:

    roslaunch px4 posix_sitl.launch
    

    接下来就可以继续研究 GAAS 的软件了。
    这篇教程是我这两天的安装体验的总结。按照官网给出的教程一步步来就没有问题。另外说一个 ubuntu 上可能比较常见的问题:循环依赖。在安装 python-ros* 的某个软件时,提示我 A 软件依赖 B,但是 B 不会安装,我想要卸载掉 A,又提示 C 依赖于 A,用 apt remove A; apt remove C 会一直循环提示,最后又提示到 A 缺少依赖,解决方法就是将 A 和依赖于 A 的一起删除:apt remove A C

    教程列表

    1. GAAS document
    2. PX4 开发指南
    3. ROS Wiki
  • 相关阅读:
    井字棋先手必胜图解
    python 回溯法 子集树模板 系列 —— 19、野人与传教士问题
    pandas 索引与列相互转化
    按概率随机选取
    java中文乱码解决之道(二)-----字符编码详解:基础知识 + ASCII + GB**
    java中文乱码解决之道(一)-----认识字符集
    Java提高篇(三八)-----Java集合细节(四):保持compareTo和equals同步
    Java提高配(三七)-----Java集合细节(三):subList的缺陷
    Java提高篇(三六)-----Java集合细节(二):asList的缺陷
    Java提高篇(三五)-----Java集合细节(一):请为集合指定初始容量
  • 原文地址:https://www.cnblogs.com/brifuture/p/11522954.html
Copyright © 2011-2022 走看看