加快你ROS安装的一篇文章

作者: 良知犹存

前言:

首先ROS大家应该比较熟悉了哈,如果需要补充一下请看之前的这篇文章 《嵌入式的们为什么要学ROS》,对于嵌入式来说ROS是一个很好的进阶方向,所以如何快速的安装一个ROS到们电脑上是一件很重要的事情。当然ROS官网都有进行介绍如何安装,但是由于网络地址的原因,ROS安装如果按照官网的方法,你要踩很多的坑。所以作为一个过来人,介绍一些是如何快速安装的。

ROS 目前主要支持 Ubuntu、OSX、Android、Arch、Debian 等系统,ROS 也针对 ARM 处理器编译了核心库和部分功能包。新发布的 ROS2 也支持 Windows 系统。

选择一个适合你的 ROS 版本很重要,因为使用的本次测试使用的 Ubuntu 版本为 Ubuntu 16.04,ROS Kinetic Kame 还是比较适合的。如果你使用的是 Ubuntu 20 更新的版本,可以安装 noetic 版本,虽然版本不一样,但是安装时的操作基本都是一样的。

开始安装: {开始安装:}

首先们看官网的教程
,虽然有官方的教程,但是们知道ROS官方相关的源都在国内,所以如果你使用官网的教程,那么相信你如果不使用特殊方法的话,你会安装的很费力。大部分包括之前的就被安装时候下载速度惊呆。

所以第一件事情,请大家更换ROS的国内镜像

sudo vi /etc/apt/sources.list

设置ROS的sources.list为国内镜像:

这里有其他人做的参考,但是经过使用之后发现有些问题:

sudo sh -c '. /etc/lsb-release \&\& echo “deb http://mirrors.ustc.edu.cn/ros/ubuntu/ main” > /etc/apt/sources.list.d/ros-latest.list'

有问题!!!

sudo apt-get update 会提示如下错误

E: Malformed entry 1 in list file /etc/apt/sources.list.d/ros-latest.list (Suite) E: The list of sources could not be read.

的建议使用官网的命令, 再把链接替换成,国内镜像源。

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

再使用官网命令添加 keys

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

加载软件包列表

一旦配置完软件版本仓库(repositories)之后,可以用下列命令得到最新的可用软件包列表:

udo apt-get update

需要注意的是,这会更新你系统中所有的软件版本仓库,而不仅仅是新添加的 ROS 库。

安装 ROS 软件包

ROS系 统非常庞大,包含众多功能包、函数库和工具,所以ROS官方为用户提供了多种安装版本:

桌面完整版安装(Desktop-Full):这是最为推荐的一种安装版本,除了包含ROS的基础功能(核心功能包、构建工具和通信机制)外,还包含丰富的机器人通用函数库、功能包(2D/3D感知功能、机器人地图建模、自主导航等)以及工具(rviz可视化工具、gazebo仿真环境、rqt工具箱等)。命令为:

sudo apt-get install ros-kinetic-desktop-full

默认全装,后面大家也不需要再安装了。 分包安装的内容大家可以参看篇头所写的那篇 ROS 文章。

如果按照官方源,那们这里需要下载安装好长的时间,不过用国内镜像 不出意外 一般是十几分钟就可以下载完毕。

如果提示下载失败, 重复这个命令:

sudo apt-get install ros-kinetic-desktop-full

环境设定
每次启动新的shell时,如果将ROS环境变量自动添加到bash会话中,将很方便:

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

. ~/.bashrc 
source ~/.bashrc

构建软件包的依赖关系

rosinstall 是一个常用的命令行工具,们可以通过一个命令轻松下载 ROS 软件包的许多源代码树。
要安装此工具和其他依赖项以构建ROS软件包,请运行:

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

为系统设置rosdep

rosdep 是 ROS 自带的工具,主要功能是为某些功能包安装依赖关系,同时某些ROS核心功能包必须用到的工具,这个初始化步骤是一次性的,一旦 ROS 正常工作,多数用户不再需要访问 rosdep。完成上述安装步骤之后,需要使用如下命令进行初始化操作:

sudo rosdep init
rosdep update

rosdep update 会在你的账户中初始化 rosdep 系统,该命令在你的根目录下保存一些文件,文件夹名为 .ros,因为是初始化,这个命令只需要运行一次。该命令是在普通用户下运行。

rosdep init 经常出现问题,加载失败和下载失败

**error loading sources list
**

sudo vi /etc/hosts

在最下面添加一句这个:

151.101.84.133 raw.githubusercontent.com

看小乌龟 {看小乌龟}

安装小乌龟,这个看似简单的小乌龟例程,其实蕴含ROS最基础的原理和机制。

sudo apt-get install ros-kinetic-turtlesim

打开一个终端(Terminal),这是ROS运行需要的管理器节点

roscore

打开第二个Terminal,启动turtlesim仿真器节点(可以把小乌龟的界面长置顶)

rosrun turtlesim turtlesim_node

打开第三个Terminal,通过使用键盘的前后左右按键进行控制小乌龟

rosrun turtlesim turtle_teleop_key

ROS安装完成

原文作者:良知犹存

原文链接:https://www.cnblogs.com/conscience-remain/p/14191431.html

更多推荐

更多
  • Go安全-二、Go 编程语言 Go 语言规范,The Go playground,Go之旅,关键词,评论,类型,Boolean,数字的,通用编号,具体数字,无符号整数,Signed integers,浮点数,其他数字类型,一串, 在深入研究使用 GO 进行安全
    Golang资深开发

  • Go安全-三、使用文件 File basics,创建空文件,截断文件,获取文件信息,重命名文件,删除文件,打开和关闭文件,检查文件是否存在,检查读写权限,更改权限、所有权和时间戳,硬链接和符号链接,读写,复制文件,Seeking positions in a
    Golang资深开发

  • Go安全-一、Go 安全简介 About Go,Go语言设计,The History of Go,收养与社区,关于Go的常见批评,Go工具链,Go吉祥物,学习Go,为什么要用Go?,为什么使用 Go 进行安全保护?,为什么不使用 Python 呢?,为什么不使用 J
    Golang资深开发

  • Go安全-零、前言 这本书是给谁的,这本书涵盖的内容,充分利用这本书,下载示例代码文件,使用的惯例,联系,评论, 本书涵盖了 Go 编程语言,并解释了如何将其应用于网络安全行业。所涵盖的主题对于红色和蓝色团队、希望编写安全代码的开发人员以及希望保护其
    Golang资深开发

  • Go安全-十、爬虫 爬虫基础,使用 strings 包在 HTTP 响应中查找字符串,使用正则表达式查找页面中的电子邮件地址,从 HTTP 响应中提取 HTTP 头,使用 HTTP 客户端设置 Cookie,在 web 服务器上查找未列出的文件,更改请求的
    Golang资深开发

  • Go安全-六、密码学 散列,散列小文件,散列大文件,安全地存储密码,加密,加密安全伪随机数生成器CSPRNG,Symmetric encryption,AES,非对称加密,生成公钥和私钥对,对邮件进行数字签名,验证签名,TLS,生成自签名证书,创建证书签名请
    Golang资深开发

  • Go安全-七、安全 Shell(SSH) 七、安全 ShellSSH使用 GoSSH 客户端,Authentication methods,使用密码进行身份验证,使用私钥进行身份验证,验证远程主机,通过 SSH 执行命令,启动交互式 shell, 安全外壳(S
    Golang资深开发

  • Go安全-八、暴力破解 Brute forcing HTTP basic authentication,强制使用 HTML 登录表单,强制 SSH,Brute forcing database login, 蛮力攻击,也称为穷举密钥攻击,是指您尝试输入的
    Golang资深开发

  • Go安全-十三、实现漏洞利用 交叉编译,创建绑定壳,创建反向绑定壳,创建 web shell,查找可写文件,更改文件时间戳,更改文件权限,更改文件所有权, 后利用是指渗透测试的一个阶段,其中一台机器已经被利用,代码执行可用。主要任务通常是保持持久性,以便您可以
    Golang资深开发

  • Go安全-十四、总结 重述您所学的主题关于 Go 用法的更多思考,我希望你能从这本书中得到什么,了解法律、道德和技术界限,从这里到哪里去,获得帮助和学习更多,重述您所学的主题到目前为止,在本书中,我们讨论了许多关于Go和信息安全的话题。所涵盖
    Golang资深开发

  • 近期文章

    更多
    文章目录

      推荐作者

      更多