加快你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安装完成
加快你ROS安装的一篇文章的更多相关文章
- vs2010如何安装mvc3,怎样安装,详细的步骤,从哪下载?请看这篇文章。
vs2010如何安装mvc3,怎样安装,详细的步骤,从哪下载?请看这篇文章. 安装步骤:vs2010 -> vs2010sp1 -> AspNetMVC3Setup -> AspNe ...
- linux-一篇文章完成lnmp环境的编译安装
lnmp环境搭建 前置条件 操作系统安装:CentOS 6.8 64位最小化安装. 配置好IP.DNS.网关.主机名 配置防火墙,开启80.3306端口 关闭访问墙 service iptables ...
- 这是一篇致力于解决Linux小白无法安装tunctl工具的文章
计算机网络——搭建Linux下的实验环境并成功安装tunctl 各位如果是来解决安装tunctl的问题的,请直接到2.2部分的内容. 这个学期终于迎来了计算机网络这门课程,也终于能够进一步了解让我无数 ...
- ROS学习笔记一:ROS安装与测试
1 Ubuntu和ROS版本的对应关系 Ubuntu 和 ROS 都存在不同的版本,其对应关系如下: 注:如果Ubuntu版本和ROS版本不对应的话,安装就不会成功了- 笔者安装的是Ubuntu14. ...
- Vue开发入门看这篇文章就够了
摘要: 很多值得了解的细节. 原文:Vue开发看这篇文章就够了 作者:Random Fundebug经授权转载,版权归原作者所有. 介绍 Vue 中文网 Vue github Vue.js 是一套构建 ...
- 【转帖】我以为我对Kafka很了解,直到我看了这篇文章
我以为我对Kafka很了解,直到我看了这篇文章 2019-08-12 18:05 https://www.sohu.com/a/333235171_463994?spm=smpc.author.fd- ...
- ROS教程(一):ROS安装教程(详细图文)
ros教程:ros安装 目录 前言 一.版本选择 二.开始安装 2.1 软件中心配置 2.2 添加源 2.3 安装 三.验证ROS 前言 关于ROS(Robot OS 机器人操作系统),估计看这个教程 ...
- APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了
APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了 彻底理解android中的内部存储与外部存储 存储在内部还是外部 所有的Android设备均有两个文件存储区域:"intern ...
- USB C和USB 3.1傻傻分不清?这篇文章可以帮你
USB Type-C接口以及USB 3.1标准的到来,理应为消费者提供更多便利.然而就目前来看,似乎这些新标准非但没有为消费者提供了更好的使用体验,反而带来了诸多隐患.Google的工程师Benson ...
随机推荐
- AI算法测评事项
前言 注:大概2017年-2018年国内人工智能热度达到顶峰,随后热度开始逐渐减少.2018年前人工智能被投资界.学术界.工业界和媒体炒的特别热,各大企业都想尝试一下深度学习技术在业务场景的应用.试水 ...
- Ubuntu/Liinux睡眠无法唤醒解决方法:ACPI设置
最近给笔记本换了一个固态,顺便就重装了一下系统,版本是Ubuntu 20.10.装完之后各种功能基本都是正常的,触摸板轻触单击.双指右键等功能开箱即用.但是在安装完最新的Nvidia驱动之后就出现了问 ...
- MFC(c++大作业)基本对话框的使用(求平均成绩)
OOPEx2Dlg.cpp // OOPEx2Dlg.cpp : 实现文件 // #include "stdafx.h" #include "OOPEx2.h" ...
- .NET Core 处理 WebAPI JSON 返回烦人的null为空
前言 项目开发中不管是前台还是后台都会遇到烦人的null,数据库表中字段允许空值,则代码实体类中对应的字段类型为可空类型Nullable<>,如int?,DateTime?,null值字段 ...
- 基于Jmeter实现Rocketmq消息发送
在互联网企业技术架构中,MQ占据了越来越重要的地位.系统解耦.异步通信.削峰填谷.数据顺序保证等场景中,到处都能看到MQ的身影. 而测试工程师在工作中,也经常需要和mq打交道,比如构造测试数据,触发某 ...
- 【Java基础】面向对象下
面向对象下 这一章主要涉及其他关键字,包括 this.super.static.final.abstract.interface.package.import 等. static 在 Java 类中, ...
- 数学建模学习笔记 | matlab基本命令及用法
前言 数学建模对matlab水平的要求 了解matlab的基本用法,如常用命令.脚本结构.矩阵的基本操作.绘图等: 熟悉matlab的程序结构,能创建和引用函数: 熟悉常见模型的求解算法和套路: 自主 ...
- /usr/bin/ld: cannot find -lc
yum install glibc-static [root@test chkrootkit-0.50]# make sensecc -static -o strings-static strings ...
- ./utils/build.sh: line 131: patch: command not found
安装 percona-xtrabackup-2.1.5过程中遇到如下问题: [root@test percona-xtrabackup-2.1.5]# ./utils/build.sh innodb5 ...
- VSCode运行时弹出powershell
问题 安装好了vscode并且装上code runner插件后,运行代码时总是弹出powershell,而不是在vscode底部终端 显示运行结果. 解决方法 打开系统cmd ,在窗口顶部条右击打开属 ...