第 2 课 ROS 系统安装和环境搭建

news2024/9/20 16:40:20

第 2 课 ROS 系统安装和环境搭建

1.版本选择

不同的 Ubuntu 安装的 ROS 版本不同,其中 Ubuntu18.04 的 ROS 对应版本为Melodic。

Ubuntu版本ROS版本
Ubuntu16.04Kinetic
Ubuntu18.04Melodic
Ubuntu20.04Noetic

2.检查 Ubuntu 的软件和更新源

  1. 找到系统中的“软件和更新”。
    在这里插入图片描述
  2. 确保勾上互联网下载的选项,下载源更换成国内的,以阿里云为例。
    在这里插入图片描述

3.设置 ROS 的下载源

3.1 设置国内下载源

打开命令行终端,输入指令:

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

按下回车,接着输入虚拟机的密码“ubuntu”(此密码为用户自行设置的,我们这里的密码为 ubuntu)。
在这里插入图片描述

3.2 设置公匙

输入指令

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

在这里插入图片描述

3.3 更新软件包

输入指令sudo apt update
在这里插入图片描述

4. 安装 ROS

打开命令行终端,输入指令

sudo apt install ros-melodic-desktop-full

等待下载安装完成,根据网络状况不同,安装过程大概要 10 分钟。
在这里插入图片描述

5. 设置环境变量

打开命令行终端,依次输入指令

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

完成环境变量配置。
在这里插入图片描述

6. 安装 rosdep

输入指令

sudo apt-get install python3-rosdep

按下回车,安装 rosdep;出现安装确认提示,输入“Y”即可。
在这里插入图片描述

7. 初始化

  1. 输入指令cd /etc/ros/rosdep/sources.list.d进入“sources.list.d”文件夹。
    在这里插入图片描述
  2. 输入指令sudo gedit 20-default.list,编辑此文件。
    在这里插入图片描述
  3. 将原文件中的内容替换为以下内容(直接复制、粘贴,不需要换行,也不要手动输入)。
# os-specific li# os-specific listings first yaml
https://gitee.com/wybros/rosdistro/raw/master/rosdep/osx-homebrew.yaml osx # generic yaml
https://gitee.com/wybros/rosdistro/raw/master/rosdep/base.yaml yaml
https://gitee.com/wybros/rosdistro/raw/master/rosdep/python.yaml yaml
https://gitee.com/wybros/rosdistro/raw/master/rosdep/ruby.yaml gbpdistro
https://gitee.com/wybros/rosdistro/raw/master/releases/fuerte.yaml fuerte # newer distributions
(Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro
index.yaml instead
  1. 修改过程中,终端会出现警告,属于正常现象,不必理会
    在这里插入图片描述
  2. 替换完成后,直接点击保存再关闭文件。
    在这里插入图片描述
  3. 输入指令“cd /usr/lib/python2.7/dist-packages/rosdep2/”,进入到“rosdep2”目录下
    在这里插入图片描述
  4. 输入指令“sudo gedit gbpdistro_support.py”按下回车,若提示有输入虚拟机密码的提示,我们输入“ubuntu”(此密码为用户自行设置的,我们这里的密码为 ubuntu),按下回车,即可打开“gbpdistro_support.py”文 件,找到“FUERTE_GBPDISTRO_URL”代码。
    在这里插入图片描述
    在这里插入图片描述
  5. 将“https://raw.githubusercontent.com/ros/rosdistro/”修改为https://gitee.com/wybros/rosdistro/raw/,(只修改下图红框所示内容,后续内容无需更改)修改完成后点击保存,关闭即可
    在这里插入图片描述
  6. 接着输入指令sudo gedit rep3.py,打开“rep3.py”文件,找到“REP3_TARGETS_URL”代码。
    在这里插入图片描述
    在这里插入图片描述
  7. 将“https://raw.githubusercontent.com/ros/rosdistro/”修改为“https://gitee.com/wybros/rosdistro/raw/”,(只修改下图红框所示内容,后续内容无需更改)修改完成后点击保存,关闭即可。
    在这里插入图片描述
  8. 接着输入指令sudo gedit sources_list.py,打开“sources_list.py”文件,找到“DEFAULT_SOURCES_LIST_URL”代码。
    在这里插入图片描述
    在这里插入图片描述
  9. 将“https://raw.githubusercontent.com/ros/rosdistro/”修改为
    https://gitee.com/wybros/rosdistro/raw/,(只修改下图红框所示内容,后续内容无需更改)修改完成后点击保存,关闭即可。
    在这里插入图片描述
  10. 输入指令cd /usr/lib/python2.7/dist-packages/rosdistro/,进入“rosdistro”目录下。
    在这里插入图片描述
  11. 输入指令sudo gedit __init__.py,进入“init.py”文件,找到“DEFAULT_INDEX_URL”代码。
    在这里插入图片描述
    在这里插入图片描述
  12. 将“https://raw.githubusercontent.com/ros/rosdistro/”修改为
    https://gitee.com/wybros/rosdistro/raw/,(只修改下图红框所示内容,后续内容无需更改)修改完成后点击保存,关闭即可。
    在这里插入图片描述

8.更新

打开新的命令行终端,输入指令rosdep update更新。
在这里插入图片描述
出现如下信息,则代表更新成功了。
在这里插入图片描述
若出现下图读取超时的提示,可能是网络原因,用户可多输入几次rosdep update尝试更新;若还是更新不了,用户可检查“1.7 初始化”的内容,确保修改的内容无误,后再次输入“rosdep update”进行更新。
在这里插入图片描述

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

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

相关文章

数据模型/数据建模的含义

我们可以从以下四个方面来了解 (1)、业务模型 (2)、构建表关系/表链接 (3)、数学模型 (4)、算法模型 业务模型 建立业务模型的重点是懂业务,即了解业务的整个过…

Java项目:07 Springboot的客户管理系统

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 springboot客户管理系统 功能模块:登录修改密码客户列表充值列表消费记录客户类型 环境:IDEAjdk1.8Tomcat9MySQL5.7maven3.6…

RK3568笔记八: Display子系统

modetest 是由 libdrm 提供的测试程序,可以查询显示设备的特性,进行基本的显示测试,以及设置显示的模式。 我们可以借助该工具来学习 Linux DRM 应用编程,另外为了深入分析 Rockchip DRM driver,有必要先了解一下这个…

用C语言采集亚马逊amazon产品数据

上一篇文章我是用C写的一个爬取亚马逊的爬虫程序,相信大家已经看过了,这次呢,我依然使用C语言来写一个爬虫,大体上思路是和之前一样,只是支持的库以及语法有些区别,具体的呢我会一一解释出来,方…

DHCP动态主机配置协议

文章目录 DHCP1、DHCP的优势2、DHCP的分配方式3、DHCP的租约过程4、服务器配置命令格式命令图文详解 DHCP DHCP:动态主机配置协议 1、DHCP的优势 减少管理员的工作量 避免输入错误的可能 避免IP地址冲突 当更改IP地址段时,不需要重新配置每个用户的…

【教学类-44-03】20240111阿拉伯数字字帖的字体(三)——德彪钢笔行书(实线字体)和print dashed(虚线字体)

作品展示: 背景需求: 一、寻找适合幼儿书写的数字描字帖,文鼎标楷国字体有部分数字补符合我的要求 【教学类-44-02】20231226阿拉伯数字字帖的字体(二)——文鼎标楷国字体 AR StdKaiGDLB5 Md(虚线字体)-CS…

SpringBoot知识03

1、多模块项目无法启动,报错Failed to execute goal on project*: Could not resolve dependencies for project

【Unity】Attribute meta-data#com.google.android.play.billingclient.version 多版本库冲突

文章目录 一、背景二、问题描述三、解决方案 一、背景 1、Unity 2021.3.9f1 2、Max由6.0.1至最新版本6.1.0 二、问题描述 错误信息 Attribute meta-data#com.google.android.play.billingclient.versionvalue value(6.1.0) from [com.android.billingclient:billing:6.1.0] An…

python图像处理总结

等我有时间了,好好总结一下这几个图像处理包,为后面的研究做个铺垫 skimage包 可以用系统自带的图片,不用自己找图片 from skimage.io import imread, imshow from skimage import data image data.astronaut() imshow(image)后面可以拿这…

Maven环境搭建及Maven部分目录分析

一、安装Maven Maven 本身就是⼀套由 Java 开发的软件,所以 Maven 的运⾏需要依赖 JDK 环境。在安装 Maven 之前请 确认JDK 是否配置正确(主要依赖 JAVA_HOME 环境变量)。如果没有正确安装和配置 JDK ,则运⾏ Maven 时 会出现以下…

“一键转换PNG至BMP:轻松批量处理,高效优化图片管理“

在数字世界中,图片格式的转换是日常工作中不可或缺的一部分。你是否经常遇到需要将PNG格式的图片转换为BMP格式的需求?是否在处理大量图片时,希望能够实现一键批量转换,提高工作效率? 首先,我们进入首助编…

vue前端开发自学基础,动态切换组件的显示

vue前端开发自学基础,动态切换组件的显示&#xff01;这个是需要借助于&#xff0c;一个官方提供的标签&#xff0c;名字叫【Component】-[代码demo:<component :is"ComponetShow"></component>]。 下面看看代码详情。 <template><h3>动态…

三、Qt Creator 使用

关于Qt的安装及环境配置&#xff0c;在我的上一篇《二、QT下载、安装及问题解决(windows系统)》已经讲过了。 本章节有一个重点&#xff0c;在新建 工程文件时&#xff0c;所在路径不要有中文&#xff0c;否则编译及运行程序不能正常运行。 在使用Qt Creator&#xff08;以下…

解决Spss没有创建虚拟变量的选项的问题

这个是今天用spss想创建虚拟变量然后发现我的spss没有。 然后能怎么办我就百度呗&#xff0c; 说是在扩展里连接扩展中心 天哪&#xff0c;谁能连上&#xff0c;我连不上 于是就找到了从github上下载到本地&#xff0c;然后安装到spss中 目录 解决方法 点击code 再点击D…

9.5.1 函数模板特化

函数模板 有了泛化版本比较函数&#xff0c;我们可以比较两个整数&#xff0c;两个字符&#xff0c;两个指针 6~10行&#xff0c;是一个函数模板 13~16行&#xff0c;都可以得到正常结果 22行&#xff0c;得到的结果是&#xff0c;"A001" < "A000", …

openGauss学习笔记-196 openGauss 数据库运维-常见故障定位案例-强制结束指定的问题会话

文章目录 openGauss学习笔记-196 openGauss 数据库运维-常见故障定位案例-强制结束指定的问题会话196.1 强制结束指定的问题会话196.1.1 问题现象196.1.2 处理办法 openGauss学习笔记-196 openGauss 数据库运维-常见故障定位案例-强制结束指定的问题会话 196.1 强制结束指定的…

AI剪辑助手:轻松剪辑专注创意,视频批量AI智剪的方法

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;在许多领域都展现出了强大的能力。在视频剪辑领域&#xff0c;AI剪辑助手的出现&#xff0c;给内容创作者带来了前所未有的便利。它不仅能快速、高效地完成视频剪辑工作&#xff0c;还能释放创造力。今天一起…

为什么选择Go语言编写网络应用程序

关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等&#xff0c;您的关注将是我的更新动力&#xff01; 作为一名后端开发者&#xff0c;你一定对选择合适的编程语言来编写网络应用程序非常重视。在众多的编程语言中&#xff0c;Go语言…

Redis如何把字符集的编码格式设置为UTF-8

一、问题复现&#xff08;编码错乱&#xff09; 刚安装好的redis在使用的过程中&#xff0c;若使用到了汉字&#xff0c;则在显示的时候&#xff0c;汉字是不能够正常显示的&#xff0c;因为redis在解析的过程中&#xff0c;会将汉字转换成其他编码的格式&#xff0c;如下图&am…

软件测试|pycharm关联GitHub的详细步骤

简介 GitHub 是全球最大的开源代码托管平台之一&#xff0c;而 PyCharm 是一款强大的 Python 集成开发环境。将两者结合使用&#xff0c;可以提高团队协作和代码管理的效率。本文将详细介绍如何在 PyCharm 中管理 GitHub 账号&#xff0c;包括如何设置 GitHub 账号、创建新仓库…