GAAS installlation on Ubuntu 18.04

2023-05-16

GAAS installlation on Ubuntu 18.04

GAAS 安装教程: document。

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

1049594-20190915153558826-2142681896.png

一开始不知道这个 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 的一些命令的时候会提示一些依赖项或者资源无法找到,比如我这个:

1049594-20190915153628844-256165622.png

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

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

1049594-20190915153642200-10395403.png

创建 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 的问题。
1049594-20190915153656405-1310183831.png

最后,运行 make 命令:

make posix_sitl_default gazebo

运行 Gazebo 模拟器

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

roslaunch px4 posix_sitl.launch

1049594-20190915153708400-903122472.png

接下来就可以继续研究 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

转载于:https://www.cnblogs.com/brifuture/p/11522954.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GAAS installlation on Ubuntu 18.04 的相关文章

随机推荐

  • power design综合应用

    出自大佬宋辉 xff1a https www cnblogs com dfsxh articles 1295087 html Power Designer是Sybase公司的CASE 工具集 xff0c 使用它可以方便地对管理信息系统进行
  • LTE中layer的概念以及rank的概念

    原帖地址 xff1a https www mscbsc com bbs thread 293293 1 1 html https www mscbsc com askpro question83176 MIMO 表示多输入多输出 MIMO系
  • Endnote--在参考文献列表中添加DOI

    参考了此网站的内容 xff1a https www jianshu com p 11411c1c8495 1 在Endnote中给参考文献列表添加DOI的方法 xff1a Edit gt Output styles gt Eidt AJTR
  • t检验中的t值和p值是什么关系_t检验和p值的关系

    t检验中的t值和p值是什么关系 t检验和p值的关系 t检验 中通过样本均值 总体均值 样本标准差 样本量 可以计算出一个t值 xff0c 这个t值和p值有什么关系 xff1f 根据界值表又会查出一个数 xff0c 这个数和t值比较 xff0
  • ORACLE 之 标识符无效 问题总结及解决方案

    今天自己在家里做毕业设计 xff0c 遇到了ORACLE数据库的一些问题 xff0c 所以来总结一下 自己在上班的时候也遇到客户过提过这样的问题 xff0c 当时自己在百度上查了 xff0c 给客户解决完 自己也没有在意 xff0c 这次又
  • 数据结构总结

    本文目录 xff1a 数据结构分类1 数组2 栈3 队列4 链表5 树6 散列表7 堆8 图 数据结构分类 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 常用的数据结构有 xff1a 数组 xff
  • Netty源码分析 (八)----- write过程 源码分析

    上一篇文章主要讲了netty的read过程 xff0c 本文主要分析一下write和writeAndFlush 主要内容 本文分以下几个部分阐述一个java对象最后是如何转变成字节流 xff0c 写到socket缓冲区中去的 pipelin
  • 接口调用方法详解

    接口调用方法详解 基础知识 接口定义 xff1a 接口是一组已命名的方法签名 所以接口里可以定义方法 属性 事件 xff0c 因为这些本质上都是方法 但是 xff0c 接口不能定义任何的构造函数 接口的可访问性 xff1a 类本身的修饰符可
  • C++ Primer Plus (Fifth Edition)pdf

    下载地址 xff1a 网盘下载 本书是久负盛名的C 43 43 经典教程 xff0c 其内容是C 43 43 大师Stanley B Lippman丰富的实践经验和C 43 43 标准委员会原负责人Jos e Lajoie对C 43 43
  • ROS----名字空间namespace

    1名称 1 1图资源名称Graph ResourceNames 图形资源名称提供了一个分层命名结构 xff0c 用于ROS计算图中的所有资源 xff0c 例如节点 xff0c 参数 xff0c 主题 和服务 这些名称在ROS中非常强大 xf
  • offboard Control

    1 使用mavlink based软件 没有ROS 2 使用无线连接 xff0c 没有ROS 3 Onboard computer 43 ROS 43 WiFi link recommended Control Methods 有下面两种方
  • 关于485通信不稳定问题解决方案[STM32产品问题]

    485通讯不稳定的问题 xff08 具体表现为有时能通讯上 xff0c 有时通讯不上 xff09 RS485在连接设备过多 通讯距离过长 双绞线质量差 xff0c 接线不规范 等 xff0c 都会导致通讯不稳定的问题 解决方案 xff1a
  • pixhawk与linux通信,模块 & 命令 – 通信 - PX4 开发指南

    mavlink 说明 该模块实现MAVLink协议 xff0c 该协议可以在串行链路或UDP网络连接上使用 它通过uORB与系统通信 xff1a 一些消息直接在模块中处理 例如 xff0c 任务协议 xff0c 其他则通过uORB发布 例如
  • ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - ROSMapModify - ROS地图修改

    ROS进阶学习笔记 xff08 11 xff09 Turtlebot Navigation and SLAM ROSMapModify ROS地图修改 ROS进阶学习笔记 xff08 11 xff09 Turtlebot Navigatio
  • STM32F103ZET6的中断管理

    1 STM32的中断 STM32的中断管理是属于内核部分的 xff0c 所以中断管理的寄存器也是属于内核组 xff0c 不属于芯片外设 xff0c 在查看相关资料的时候 xff0c 需要查看相对应的内核手册 STM32F103ZET6是Co
  • c语言strrchr()函数,C 库函数 – strrchr() ——jQuery中文网

    C 库函数 strrchr 描述 C 库函数 char strrchr const char str int c 在参数 str 所指向的字符串中搜索最后一次出现字符 c 一个无符号字符 的位置 声明 下面是 strrchr 函数的声明 c
  • 让我持续下去的理由

    牛仔裤 格子衬衫 运动鞋和双肩包 如果把这四个词放在一个人的身上 xff0c 似乎不用描述长相 xff0c 大家就对他的职业有了猜测 八成是个程序员吧 这个被笑称 月入五万过成月入五千样子 的群体 xff0c 以 收入高 脑回路简单 一成不
  • 一个工作多年的嵌入式工程师漫谈

    1 关于公司 公司是做什么的 xff1f 是属于项目型公司还是属于产品型公司 xff1f 我觉得公司分为两种 xff0c 一种做产品 xff0c 一种做项目 做产品的公司 xff0c 老板一般都会讲梦想 xff0c 情怀 梦想是什么 xff
  • 优秀APP启动页的设计思维

    一 APP启动项的定义 启动APP时 xff0c 第一画面一般都会是一张含有logo的图片 这张图片就叫做启动页面 二 APP启动页的设计方法 启动页设计要与主界页面要相似 xff0c 颜色 xff0c 风格等都不要有太大的跨度 xff0c
  • GAAS installlation on Ubuntu 18.04

    GAAS installlation on Ubuntu 18 04 GAAS 安装教程 xff1a document GAAS 中的安装教程中提到的 ROS Kinetic xff08 LTS 版 xff09 并不是最新的版本 xff0c