百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

加快你ROS安装的一篇文章

nanshan 2024-11-23 20:13 10 浏览 0 评论

前言:

首先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安装完成

相关推荐

在 Ubuntu 上安装 Zabbix(以 Zabbix 6.4 LTS 版本为例)

Zabbix是一个流行的开源监控解决方案,能够监控各种网络参数和服务器健康状态。一、环境准备系统要求Ubuntu20.04/22.04LTS至少2GBRAM(生产环境建议4GB+)至少1...

如何在 Ubuntu 24.04 服务器上安装 Apache Solr

ApacheSolr是一个免费、开源的搜索平台,广泛应用于实时索引。其强大的可扩展性和容错能力使其在高流量互联网场景下表现优异。Solr基于Java开发,提供了分布式索引、复制、负载均衡及自...

如何在 Ubuntu 24.04 LTS 或 22.04/20.04 上安装 Apache Maven

Maven是由Apache托管的开源工具,用于管理Java项目。它包含一个项目对象模型(POM):一个配置文件(XML),其中包含项目的基本信息,包括配置、项目依赖项等。Maven可以处理...

Cursor的终极对手——Trae Pro最新系统提示词

前段时间,字节的AI编程神器Trae国际版,终于甩出了Pro订阅计划!很多对它又爱又恨的小伙伴,直呼:终于等到你。爱它,是因为Trae长期免费+体验真香;恨它?还不是那该死的排队等待,...

AI系统提示词:V0(ai代码提示)

以下是对V0系统提示词(SystemPrompt)的分部分讲解与解读,帮助你理解其核心内容和设计意图。V0系统提示词##CoreIdentity-Youarev0,Vercel&...

8岁男童失踪第13天,搜救人员发现可疑水库,更恶心的事情发生了

Lookingatyourrequest,Ineedtorewritethearticleaboutthe8-year-oldmissingboywhilemaking...

docker常用指令及安装rabbitMQ(docker安装zabbix)

一、docker常用指令启动docker:systemctlstartdocker停止docker:systemctlstopdocker重启docker:systemctlrestart...

三步教你用Elasticsearch+PyMuPDF实现PDF大文件秒搜!

面对100页以上的大型PDF文件时,阅读和搜索往往效率低下。传统关系型数据库在处理此类数据时容易遇到性能瓶颈,而Elasticsearch凭借其强大的全文检索和分布式架构,成为理想解决方案。通过...

ElasticSearch中文分词插件(IK)安装

坚持原创,共同进步!请关注我,后续分享更精彩!!!前言ElasticSearch默认的分词插件对中文支持很不友好。一段话按规则会以每个中文字符来拆解,再分别建立倒排索引。如"中华人民共和国国歌...

SpringBoot使用ElasticSearch做文档对象的持久化存储?

ElasticSearch是一个基于Lucene的开源搜索引擎,广泛应用于日志分析、全文搜索、复杂查询等领域,在有些场景中使用ElasticSearch进行文档对象的持久化存储是一个很不错的选择...

Elasticsearch数据迁移方案(elasticsearch copyto)

前言最近小编要去给客户部署一套系统涉及到了Mysql和ES数据的迁移,下面就给大家分享一下ES数据迁移的几套方案,根据具体的使用场景来选择不同的迁移方案能使你事倍功半,话多说下面就一一介绍。Elast...

Rancher部署单体ElasticSearch(rancher2.5部署)

Rancher是k8s图形管理界面,之前曾有写文章介绍如何安装。ElasticSearch是热门搜索引擎,很多地方都有用到,常规安装部署略显繁琐,本文介绍在k8s下用rancher简易部署ES。1.在...

Elasticsearch在Java项目的搜索实践:从零开始构建高效搜索系统

Elasticsearch在Java项目中的搜索实践:从零开始构建高效搜索系统在现代的Java项目中,数据量激增,传统的数据库查询方式已经无法满足快速检索的需求。这时,Elasticsearch(E...

小白入门-Kibana安装(kibana安装配置)

一Kibana基础1.1介绍Kibana是一款免费且开放的前端应用程序,其基础是ElasticStack,可以为Elasticsearch中索引的数据提供搜索和数据可视化功能。Kiban...

Docker上使用Elasticsearch,Logstash,Kibana

在对一个项目做性能测试时我需要处理我们web服务器的访问日志来分析当前用户的访问情况。因此,我想这是试用ELK的一个好机会。ELK栈首先要注意的是使用它是非常简单的。从决定使用ELK到在本机上搭一个...

取消回复欢迎 发表评论: