ROS1 LTS版本安装教程

news2024/12/30 3:45:25

Abstract: "ROS is primarily targeted at the Ubuntu , though other Linux systems as well as Mac OS X, Android, and Windows are supported to varying degrees. "

一、系统要求

ROS版本系统版本长期支持
ROS Kinetic KameWily: ++amd64、i386++
Xenial: ++amd64、i386、armhf、arm64++
2021.04
ROS Melodic MoreniaArtful: ++amd64++
Bionic: ++amd64、armhf、arm64++
2023.05
ROS Noetic NinjemysFocal: ++amd64、armhf、arm64++2025.05

二、ROS镜像源配置

1.设置ROS源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

2.下载安装秘钥

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

3.确保您的Debian软件包索引是最新的:

sudo apt-get update

三、安装ROS对应版本

根据Ubuntu系统版本选择对应的ROS版本安装,对应的ROS版本安装方式如下:

(一)ROS Kinetic(Ubuntu 16.04)

1.下面三种安装方式,选择其中一种即可:
(1)桌面完整版(推荐): 包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知

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

(2)桌面版安装: 包含ROS、rqt、rviz以及通用机器人函数库

sudo apt-get install ros-kinetic-desktop

(3)基础版安装: (简版) 包含ROS核心软件包、构建工具以及通信相关的程序库,无GUI工具。

sudo apt-get install ros-kinetic-ros-base

2.初始化 rosdep

#	卸载官方的rosdep
sudo apt-get purge python-rosdep
sudo apt-get purge python-rosdistro

# 删除下载的20-default.list
sudo rm -rf /etc/ros/rosdep/sources.list.d/20-default.list

# 下载国内的rosdep
wget http://119.29.41.151:1080/GrantLi/rosdep/uploads/35cf1afb1107970c1ec78dbf5ef6663b/rosdep-0.22.1-py2-none-any.whl
# 下载国内的rosdistro
wget http://119.29.41.151:1080/GrantLi/rosdistro-python/uploads/35ef18efc558999d4c4e32015eebc20b/rosdistro-0.9.0-py2-none-any.whl

# 安装rosdistro
sudo pip install rosdistro-0.9.0-py2-none-any.whl
# 安装rosdep
sudo pip install rosdep-0.22.1-py2-none-any.whl

# 初始化 rosdep
sudo rosdep init
rosdep update
  1. 环境配置
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

4.其他依赖

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

(二)ROS Melodic(Ubuntu 18.04 python2)

1.下面三种安装方式,选择其中一种即可:
(1)桌面完整版(推荐): 包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知

sudo apt install ros-melodic-desktop-full

(2)桌面版安装: 包含ROS、rqt、rviz以及通用机器人函数库

sudo apt install ros-melodic-desktop

(3)基础版安装: (简版) 包含ROS核心软件包、构建工具以及通信相关的程序库,无GUI工具。

sudo apt install ros-melodic-ros-base

2.初始化 rosdep

#	卸载官方的rosdep
sudo apt-get purge python-rosdep
sudo apt-get purge python-rosdistro

# 删除下载的20-default.list
sudo rm -rf /etc/ros/rosdep/sources.list.d/20-default.list

# 下载国内的rosdep
wget http://119.29.41.151:1080/GrantLi/rosdep/uploads/35cf1afb1107970c1ec78dbf5ef6663b/rosdep-0.22.1-py2-none-any.whl
# 下载国内的rosdistro
wget http://119.29.41.151:1080/GrantLi/rosdistro-python/uploads/35ef18efc558999d4c4e32015eebc20b/rosdistro-0.9.0-py2-none-any.whl

# 安装rosdistro
sudo pip install rosdistro-0.9.0-py2-none-any.whl
# 安装rosdep
sudo pip install rosdep-0.22.1-py2-none-any.whl

# 初始化 rosdep
sudo rosdep init
rosdep update
  1. 环境配置
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

4.其他依赖

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

(三)ROS Noetic(Ubuntu 20.04)

1.下面三种安装方式,选择其中一种即可:
(1)桌面完整版(推荐): 包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知

sudo apt install ros-noetic-desktop-full

(2)桌面版安装: 包含ROS、rqt、rviz以及通用机器人函数库

sudo apt install ros-noetic-desktop

(3)基础版安装: (简版) 包含ROS核心软件包、构建工具以及通信相关的程序库,无GUI工具。

sudo apt install ros-noetic-ros-base

2.初始化 rosdep

#	卸载官方的rosdep
sudo apt-get purge python3-rosdep
sudo apt-get purge python3-rosdistro

# 删除下载的20-default.list
sudo rm -rf /etc/ros/rosdep/sources.list.d/20-default.list

# 下载国内的rosdep
wget http://119.29.41.151:1080/GrantLi/rosdep/uploads/49ea4ce804b58bc7e16c4336c04d1664/rosdep-0.22.1-py3-none-any.whl
# 下载国内的rosdistro
wget http://119.29.41.151:1080/GrantLi/rosdistro-python/uploads/bb3db475bf0fab68b98dd2af22733a8e/rosdistro-0.9.0-py3-none-any.whl

# 安装rosdistro
sudo pip install rosdistro-0.9.0-py3-none-any.whl

# 安装rosdep
sudo pip install rosdep-0.22.1-py3-none-any.whl

# 初始化 rosdep
sudo rosdep init
rosdep update
  1. 环境配置
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

4.其他依赖

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

四、测试

roscore
ROS-Kinetic

(2)另外打开一个终端,输入:

rosrun rviz rviz
ROS-Kinetic 可以打开rviz就说明已经成功了

具体操作细节请移步到ROS1 Installation


参考文献
1. ros wiki installation cn
2. ros wiki installation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61083.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JSP住宅小区物业管理系统(源代码+开题报告+论文+答辩PPT)科大云炬

小区物业管理毕业设计 (论文) 目 录 摘要--------------------------------------------------------------------------------------------1 ABSTRACT-----------------------------------------------------------------------------------2 第1章…

制作composer包提供sdk扩展

目录 1、初始化包 2、将代码推送到github远程仓库 3、为写好扩展包打上tag标签标记当前代码版本 4、将包发布到包管理平台 初始化包,生成 Creates a basic composer.json file in current directory composer init composer init 按照引导就可以生成了 , 详细的…

Python学习笔记 - 异常处理

前言 为了增强程序的健壮性,计算机程序的编写也需要考虑如何处理一些异常的情况,Python 语言提供了异常处理功能,本博文主要介绍 Python 异常处理机制。 一 异常处理举例 为了学习 Python 异常处理机制,首先看下面进行除法运算的…

MySQL的主从复制与读写分离详解

MySQL的主从复制与读写分离详解读写分离概述什么是读写分离为什么要读写分离什么时候要读写分离MySQL主从复制与读写分离主从复制的概念MySQL支持的复制类型主从复制的工作过程主从复制示例保证MySQL主从服务器时间同步主节点服务器配置从节点服务器设置验证MySQL读写分离MySQL…

Vue3 学习笔记 —— Hooks、全局函数和变量、Vue3 插件

目录 1. Hooks 1.1 Vue2 中的 mixins 1.1.1 mixins 是什么? 1.1.2 mixins 缺点? 1.2 Vue3 中的 Hooks 1.2.1 Vue3 Hooks 是什么? 1.2.2 Vue3 内置 hooks 举例 1.2.3 自定义 Hooks 2. 全局函数和全局变量 2.1 app.config.globalProp…

【深入设计模式】适配器模式—一切皆有可能

文章目录1. 适配器模式1.1 适配器模式简介1.2 适配器模式结构1.3 适配器模式示例2. 适配器模式在源码中的应用3. 总结适配器这个词来源于硬件领域,是一个独立的硬件设备接口,允许硬件或电子接口与其它硬件或电子接口相连,比如常见的电源适配器…

(附源码)SSM芜湖公共书房服务平台 毕业设计 250859

SSM芜湖公共书房服务平台 摘 要 一座有底蕴的城市,应该是一个阅读的城市;一个有魅力的城市,应该是一个散发着书香的城市,而全民阅读量逐年增加,是社会进步、文明程度提高的重要标志。各大城市启动“全民阅读”工作以来…

Redis缓存过期和和内存淘汰策略

目录 1、MaxMemory 2、Expire数据结构 3、删除策略 3.1、惰性删除 3.2、主动删除 3.3、缓存淘汰策略 ​​​​​​​3.4、缓存淘汰策略的选择 1、MaxMemory Redis作为DB使用时,为了保证数据的完整性,不允许淘汰任何键值对。Redis作为缓存使用时&…

汇编语言与微机原理 期末半开卷复习整理(上)

8086CPU寄存器 8086:16位,4.77MHz~10MHz,16根数据线,20根地址线 AX/AL:乘除法指令中用作累加器,IO指令中用作数据寄存器,可显式或隐含调用 AH:在LAHF用作目的寄存器,隐含调用。 AL:…

大数据必学Java基础(一百一十一):过滤器注解应用和开发案例

文章目录 过滤器注解应用和开发案例 一、过滤器注解应用 二、开发案例

Python学习日记-第三十八天-生成器(第二节)

系列文章目录 使用greenlet,gevent完成多任务一、使用greenlet,gevent完成多任务 这里要先在pycharm里面提前安装好greenlet和gevent的包 操作: 代码: from greenlet import greenlet import timedef test1():while True:prin…

Android入门第39天-系统设置Configuration类

简介 本节给大家介绍的Configuration类是用来描述手机设备的配置信息的,比如屏幕方向, 触摸屏的触摸方式等。 Configuration给我们提供的方法列表 densityDpi:屏幕密度fontScale:当前用户设置的字体的缩放因子hardKeyboardHidd…

[深度学习] python基础支持汇总

这个系列放一些看神经网络源码过程中的python语法现象 文章目录前言一、list操作://extends/append的区别1.引入2.细致场景再现前言 例如:这个系列放一些看神经网络源码过程中的python语法现象, 直接解析语法太干瘪无聊.希望用这个方式来巩固所学知识 一、list操作…

电商评论文本情感分类(中文文本分类+中文词云图)(第一部分-textcnn)

电商评论文本情感分类(中文文本分类中文词云图) 第一部分 第二部分Bert部分 本项目包含: 1.中文文本处理 2.中文词云图绘制 3.中文词嵌入 4.基于textcnn的中文文本分类(Test_Acc89.2000) 5.基于bert的中文文本分类(Test_Acc0.…

ServiceComb场景及其原理

文章目录Java-ChassisEnableServiceComb初始化SCBSPIServiceUtils自定义SPI加载器职责链管理器FilterChainsManager/ConsumerHandlerManagerRpcSchema注册服务如何保活?RpcReferencePropertySourcesPlaceholderConfigurerThreadPoolExecutorEx/LinkedBlockingQueueE…

深刻理解JAVA并发中的有序性问题和解决之道

问题 Java并发情况下总是会遇到各种意向不到的问题,比如下面的代码: int num 0;boolean ready false; // 线程1 执行此方法 public void actor1(I_Result r) {if(ready) {r.r1 num num;} else {r.r1 1;} } // 线程2 执行此方法 public void actor…

Clickhouse 使用DBeaver连接

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。 OLTP是传统的…

JavaWeb--JDBC核心技术

JavaWeb--JDBC核心技术JDBC核心技术第1章:JDBC概述1.1 数据的持久化1.2 Java中的数据存储技术1.3 JDBC介绍1.4 JDBC体系结构1.5 JDBC程序编写步骤第2章:获取数据库连接2.1 要素一:Driver接口实现类2.1.1 Driver接口介绍2.1.2 加载与注册JDBC驱…

Redis学习笔记(六)

哨兵 哨兵时一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master,并将所有slave连接到新的master哨兵的作用 监控 不断检查master和slave是否正常运行master存活检测、master与slave运行情况检测 通…

Linux调度(三)——抢占式调度

目录 抢占式场景一: 抢占式场景二 抢占的时机 用户态的抢占时机 抢占式机一: 抢占时机二: 内核态的抢占时机 时机一 时机二 总结 之前讲了主动式调度,就是进程运行到一半,因为等待I/O等操作而主动让出CPU&a…