【UBUNTU与ROS实战笔记】(二)——系统ROS安装与配置

2023-11-07

该博文是【UBUNTU与ROS实战笔记】系列的第二篇文章,写这个的过程中我也正一步一步的实际操作,如果你对该内容有兴趣,欢迎留言交流。

0. 引言

同学你好,感谢你阅读本博文。在上一文中我们安装好了Ubuntu系统,接下来我们进行ROS系统(https://www.ros.org/)的搭建。

1. ROS系统安装

Ubuntu18.04中习惯使用ROS melodic版本,我们将按照官方教程进行安装,这里我强烈建议你也安装这个版本,因为很多东西在更新中,如果版本不同,实战笔记可能无法为你提供帮助,甚至会出现很多问题。我们从下图可以看到官方对ROS melodic版本的支持到2023年将结束。
在这里插入图片描述

1.1 解析安装过程

该笔记之后的内容,都将默认你使用的是自己热点网络,因为有些校园网会导致下载速度慢的问题,但是手机的热点就不会出现这个问题!

接下来的步骤需要在终端窗口中通过命令行的形式进行,你可以ctrl+alt+T启动终端窗口。我们默认使用bash形式。

a) 添加ROS源, 第一次使用sudo会让你输入用户密码。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

b)安装key,导入成功会显示(已导入)的信息

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

c)安装,先确定各种源包都是新鲜的,你可以多进行几次,直到没有下载了再进行下一步

sudo apt update

d)安装ROS,官网给我们提供了很多种方案,这里我们只需要安装最全的版本就行。 这个过程将下载安装2G左右的内容,如果你发现自己的下载速度太慢,几k,请切换网络试试。我使用的是手机热点,还是很快的。经过25分钟完成。

sudo apt install ros-melodic-desktop-full

e)测试ROS是否正确安装

apt search ros-melodic

1.2 ROS环境配置

安装完成后你需要告诉计算机去哪儿找到ROS库,从而在编写程序时调用它。
a)运行下面代码,将source /opt/ros/melodic/setup.bas写入系统环境配置文件

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

b)更新一下当前配置,不然对当前终端是不起作用的

source ~/.bashrc

上面的做法可以使你以后不用重复配置ROS环境,如果你只想在当前shell终端中配置环境或者使用的是zsh,可以查看官方教程。

c)测试ROS,我们知道ROS需要有一个master来管理所有节点,因此在运行程序前都需要开启,只需要存在一个就行。

roscore

如果你的ROS安装并配置成功将出现如下信息:

SUMMARY
========

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.10

NODES
*****
*****

小结

更多ROS基础教程,如什么是节点、什么是话题、什么是服务、什么是信息等等,都是初学者需要掌握和了解的。本笔记并不会系统的学习他们,只是在用到是简单讲解。

下一个笔记将记录GAZEBO安装配置和ROS接口插件的相关内容。

【UBUNTU与ROS实战笔记】(三)——GAZEBO安装及其与ROS的接口配置

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

【UBUNTU与ROS实战笔记】(二)——系统ROS安装与配置 的相关文章

随机推荐

  • c++递归函数

    递归函数是将规模较大的问题化为多个规模较小的同类问题 递归函数的特征是定义中包含函数本身和必须有终止条件 递归调用分为两个阶段 递推和回归 递推 将大问题转化为多个小问题 将问题逐步由未知化为已知 回归 从已知出发 是递推的逆过程 逐个求值
  • (面经三,技术面)——时间:2022-11-11 地点:线上

    面试经历 三 时间 2022 11 11 地点 线上 1 什么是抽象类 有抽象方法的类 用来表征对问题领域进行分析 设计中得出的抽象概念 2 抽象类和接口的区别 继承关系 类只能单继承 接口可以实现多个接口 构造函数 抽象类可以有构造函数
  • 王者荣耀学习工具JAVA Robot按键精灵找色点击功能

    一个简单的JAVA按键精灵 import java awt AWTException import java awt Color import java awt MouseInfo import java awt Point import
  • Pandas(一)—— Pandas基础

    Python模块 Pandas Pandas 一 Pandas基础 一 预备知识 1 1 Python基础 1 2 NumPy基础 1 3 练习 1 3 1 利用列表推导式写矩阵乘法 1 3 2 更新矩阵 1 3 3 连续整数的最大长度 二
  • 编程分钟转化小时怎么编_大中小型三菱PLC分类及编程软件学习内容附图文,初学者必看!...

    不少初学PLC的人都会问一个问题 如果学习三菱PLC编程入门应先学习什么 以下是关于PLC类型和运行原理 GX Developer软件的使用说明 如果这篇文章对你有所帮助 记得 收藏 一 PLC的类型 1 小型PLC 一体式结构 I O点数
  • 从Docker到Kubernetes——K8s多租户管理与资源控制

    文章目录 namespace设计解读 什么是namespace 多namespace使用案例 Kubernetes用户认证机制 应用健康检查 namespace设计解读 namespace是k8s进行多租户资源隔离主要手段 那么它在系统中的
  • 关于如何解决mingw64安装后配置完环境变量仍然执行不了gcc命令

    一 背景 已安装对应版本的mingw64 并且已经按照网上教程配置了环境变量 但是仍然无法执行gcc命令 二 遇到的问题 gcc 不是内部或外部命令 也不是可运行的程序 三 如何解决 至于如何打开环境变量 我就不赘述了 想必大家配置环境变量
  • GO语言变量声明的方式

    1 指定变量类型 声明后如果不做赋值 那么使用默认值 1 2 没有进行赋值 但是指明了是什么类型 go会自动加上空值 var a string 2 不指定变量类型 需要进行赋值操作 1 2 可以不指定变量类型 通过变量值 go会自行判断该变
  • Element-ui使用@keyup.enter.native的原因

    keyup enter加 native有什么作用 W3C 标准中有如下规定 即 当一个 form 元素中只有一个输入框时 在该输入框中按下回车应提交该表单 如果希望阻止这一默认行为 可以在 标签上添加 submit native preve
  • linux proc进程,linux 下 /proc/进程号/ 重要进程文件的内容解析

    proc maps 查看进程的虚拟地址空间是如何使用的 该文件有6列 分别为 地址 库在进程里地址范围 权限 虚拟内存的权限 r 读 w 写 x s 共享 p 私有 偏移量 库在进程里地址范围 设备 映像文件的主设备号和次设备号 节点 映像
  • 少儿编程scratch与机器人

    少儿编程scratch与机器人 对于很多的家长们来说 孩子的学习一直都是家长们十分关心和重视的一件事情 很多的家长在培养孩子的学习的时候 会给孩子选择一些能够提升孩子能力的课程 就拿现在很多的家长想要孩子去学习机器人编程的课程来说 他们对于
  • css的标准写法,前端css书写规范

    代码书写规范这种东西虽然不是必须的但是确实很有必要的好的书写规范不单单能增加可阅读性和提高代码性能而且有利于后续人员维护代码 良好的书写规范也是区分新手与专业人员的一个标准 一css书写顺序 1 位置属性position top right
  • VUE项目引入微信jssdk

    我们的一个vue webpack的 SPA项目需要在微信中使用 因此需要导入微信的jssdk库 通过搜索发现npm有微信jssdk的依赖包 weixin js sdk 于是 导入依赖包 npm i S weixin js sdk 前端页面U
  • Log 利用装饰模式 打印增强

    包引用
  • 前端基础--JavaScript

    一 JavaScript介绍 虽然是java作为前缀 但java和javascript的关系 就像老婆和老婆饼之间的关系 没有一毛钱关系 网景公司在Netscape2 0首先推出了JavaScript JavaScript 的正式名称是 E
  • Windows应急响应

    临近冬奥 残奥 发一篇Windows的应急响应 希望对大家有所帮助 下一篇会发Linux的应急响应 目录 Part1 前期交互 Part2 主机排查 Part3 工具篇 Part1 前期交互 这个阶段主要是先找客户了解主机的基本情况 如 主
  • Push failed Remote: Support for password authentication was removed on August 13, 2021.

    啥情况 竟然不能推送代码到github了 还能不能愉快的玩耍了 报错如下 大概意思就是 8月13后 不能使用用户名 密码的形式进行Push 强制大家改成SSH的方式 先说解决方案吧 一 查看是否已有密钥 Mac Users Your Nam
  • 写好“提示”改变“智造未来”-GPT4提示词驶入代码优化驾驶座心得

    开篇 在前端科技的新浪潮中 Artificial Intelligence AI 的逐渐成熟与发展引领着我们向前 其中OpenAI的GPT4提供了我们一种新的可能 帮助我们优化代码 使编程变得更加轻松 在这篇文章中 我们将一同探究如何在1
  • C++ 之 模板与泛型编程(二、模板实例化)

    模板是一个蓝图 它本身不是类或函数 编译器用模板产生指定的类或函数的特定类型版本 产生模板的特定类型实例的过程称为实例化 模板在使用时将进行实例化 类模板在引用实际模板类类型时实例化 函数模板在调用它或用它对函数指针进行初始化或赋值时实例化
  • 【UBUNTU与ROS实战笔记】(二)——系统ROS安装与配置

    本文结构 0 引言 1 ROS系统安装 1 1 解析安装过程 1 2 ROS环境配置 小结 该博文是 UBUNTU与ROS实战笔记 系列的第二篇文章 写这个的过程中我也正一步一步的实际操作 如果你对该内容有兴趣 欢迎留言交流 0 引言 同学