加快你ROS安装的一篇文章

本文涉及的产品
资源编排,不限时长
简介: 加快你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 版本,虽然版本不一样,但是安装时的操作基本都是一样的。

4edc953e2c684bbe819ffa954c899c08.png

开始安装:

首先我们看官网的教程

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

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

sudo vi /etc/apt/sources.list

4edc953e2c684bbe819ffa954c899c08.png

设置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’

有问题!!!

4edc953e2c684bbe819ffa954c899c08.png

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

4edc953e2c684bbe819ffa954c899c08.png

加载软件包列表

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

udo apt-get update

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

安装 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

4edc953e2c684bbe819ffa954c899c08.png

环境设定

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

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

4edc953e2c684bbe819ffa954c899c08.png

. ~/.bashrc 
source ~/.bashrc

构建软件包的依赖关系

rosinstall 是一个常用的命令行工具,我们可以通过一个命令轻松下载 ROS 软件包的许多源代码树。

要安装此工具和其他依赖项以构建ROS软件包,请运行:

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

4edc953e2c684bbe819ffa954c899c08.png4edc953e2c684bbe819ffa954c899c08.png

为系统设置rosdep

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

sudo rosdep init
rosdep update

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

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

**error loading sources list

**

4edc953e2c684bbe819ffa954c899c08.png

sudo vi /etc/hosts

在最下面添加一句这个:

151.101.84.133 raw.githubusercontent.com4edc953e2c684bbe819ffa954c899c08.png4edc953e2c684bbe819ffa954c899c08.png

看小乌龟

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

sudo apt-get install ros-kinetic-turtlesim

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

roscore

4edc953e2c684bbe819ffa954c899c08.png

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

rosrun turtlesim turtlesim_node

4edc953e2c684bbe819ffa954c899c08.png

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

rosrun turtlesim turtle_teleop_key

4edc953e2c684bbe819ffa954c899c08.png

ROS安装完成

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
Ubuntu Java Python
ROS2通讯中间件安装与使用
本文记录主要ROS2的安装、如何JAVA和PYTHON对ROS2消息的订阅和发布。
|
Python
Ubuntu18.04 ROS Melodic安装和卸载
Ubuntu18.04 ROS Melodic安装和卸载简单过程
300 0
|
3月前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
278 1
ROS2教程02 ROS2的安装、配置和测试
|
3月前
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
189 1
|
3月前
|
Ubuntu Apache
Ubuntu20.04下一键安装ROS1 Noetic
本文提供了一个简化在Ubuntu 20.04系统上安装ROS1 Noetic过程的一键安装脚本工具,该脚本通过优化配置和使用清华大学镜像源,加速了国内用户的下载速度,并自动完成环境设置和依赖安装,同时提供了详细的使用说明和源码。
349 0
Ubuntu20.04下一键安装ROS1 Noetic
|
6月前
|
Ubuntu
【ubuntu】ubuntu20.04安装ros noetic(亲测有效,附操作步骤)
【ubuntu】ubuntu20.04安装ros noetic(亲测有效,附操作步骤)
|
6月前
|
弹性计算 关系型数据库 API
ECS安装问题之安装资源编排服务(ROS)如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
6月前
[ROS2] --- ROS2安装
[ROS2] --- ROS2安装
216 0
|
6月前
|
Ubuntu
ubuntu20.04 ros-noetic 安装
ubuntu20.04 ros-noetic 安装
188 0
|
C语言 C++ Python
【ROS 开发神器 Visual Studio Code 的安装和设置】
【ROS 开发神器 Visual Studio Code 的安装和设置】
946 0
【ROS 开发神器 Visual Studio Code 的安装和设置】

推荐镜像

更多