• 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
  • 相关阅读:
    WPF之感触
    C# WinForm 给DataTable中指定位置添加列
    MyEclipse 8.6 download 官方下载地址
    将博客搬至CSDN
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
  • 原文地址:https://www.cnblogs.com/brifuture/p/11522954.html
Copyright © 2020-2023  润新知