【ROS教程】安装ROS全流程及可能遇到的问题

news/2024/10/9 16:32:26

@

目录
  • 1.配置Softerware & Updates
  • 2.添加软件源
  • 3.设置key
  • 4.更新并安装
    • 4.1 更新
    • 4.2 安装(ros-noetic-desktop-full)
      • 4.2.1 安装aptitude
      • 4.2.2 安装ROS软件包
  • 5.添加环境变量
  • 6.安装构建依赖
  • 7.初始化和更新
    • 7.1 初始化
      • 7.1.1 目前可行的解决办法:重新定位资源
      • 7.1.2 结果
    • 7.2 更新


1.配置Softerware & Updates

  • 如图所示配置即可

在这里插入图片描述

2.添加软件源

  • 如果不添加软件源,是无法定位软件包的

清华源

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'

3.设置key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  • 如果不设置key,在sudo apt update的时候会有如下问题

在这里插入图片描述

4.更新并安装

4.1 更新

sudo apt update

4.2 安装(ros-noetic-desktop-full)

  • 如果使用apt安装,几乎百分百会出现如下问题

在这里插入图片描述

  • 因此我们使用aptitude安装

4.2.1 安装aptitude

sudo apt install aptitude

4.2.2 安装ROS软件包

sudo aptitude install ros-noetic-desktop-full
  • 接下来会列出一栏未安装的,如下图

在这里插入图片描述

  • 切记,此时一定要选no
  • 然后,aptitude会给出第二个解决方案,仍然有很多未安装的,继续选no

在这里插入图片描述

  • 第三次,aptitude给出了满意的方案,只有一个未安装的,这时可以选yes了

在这里插入图片描述

5.添加环境变量

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

6.安装构建依赖

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

7.初始化和更新

7.1 初始化

sudo rosdep init
  • 由于境外资源被屏蔽,这样初始化几乎百分百会失败

在这里插入图片描述

7.1.1 目前可行的解决办法:重新定位资源

  1. 修改/usr/lib/python3/dist-packages/rosdistro/__init__.py的第68行
  2. 修改/usr/lib/python3/dist-packages/rosdep2/sources_list.py的第64行
  3. 修改/usr/lib/python3/dist-packages/rosdep2/rep3的第36行
  • 修改方式:把raw.githubusercontent.com/ros/rosdistro/master替换成gitee.com/zhao-xuzuo/rosdistro/raw/master,如下图

在这里插入图片描述
在这里插入图片描述

7.1.2 结果

sudo rosdep init
  • 如果出现以下结果,则成功

在这里插入图片描述

7.2 更新

rosdep update
  • 结果

在这里插入图片描述

本文由博客一文多发平台 OpenWrite 发布!

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

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

相关文章

table 固定标题的方法(tr标签)

<!DOCTYPE html> <html> <head> <title>带有额外列的表格示例</title> <style> /* 可选的CSS,用于美化表格 */ table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid black; padding: 8px; tex…

CTF—Crypto基础

一:常见编码类型 1、ASCII编码 (1)特征:在线网址http://www.mokuge.com/tool/asciito16/ 2、base家族编码 (1)base64编码 特点:由A-Z,a-z,0-9,+,/64个可见字符组成、==符号作为后缀填充、不属于编码字符;一般情况下密文尾部会有两个==符号,并且有大写字母和小写字母…

CTF—Misc基础

一:文件操作与隐写 1、文件类型的识别 1、文件头完好情况: (1)file命令 使用file命令识别:识别出file.doc为jpg类型(2)winhex 通过winhex工具查看文件头类型,根据文件头部内容去判断文件的类型eg:JPG类型(3)notepad++ 下载HEXeditor插件,查看文件的头部信息,和010e…

光之大陆

题目求的就是点仙人掌的数量;点仙人掌的所有环缩点之后就变成了一棵树,于是考虑无根树的数量怎么求,很显然利用Prufer序列就好了;然后考虑怎么将Prufer序列移植到点仙人掌上面,此时就要利用扩展Prufer序列 扩展Prufer序列:对于一个点仙人掌来说,先将所有环缩点变成一棵树…

Maui Blazor Windows 显示本地图片新方法更简单快速 支持.Net 8.0 最新版本

目前仅Windows平台测试,安卓平台暂不支持,调用 AppDomain.CurrentDomain.BaseDirectory,直接储存图片到wwwroot里的images文件夹内,在razor里直接使用<img src="images/图片路径" />即可private void SetAvarta(){MainThread.BeginInvokeOnMainThread(asyn…

laravel用AetherUpload实现大文件上传,并更改默认上传目录

github地址:https://github.com/peinhu/AetherUpload-Laravel 最近需求要做个视频上传,找到个好用的扩展AetherUpload1.首先用composer安装,切换到 laravel 项目根目录,执行 composer require peinhu/aetherupload-laravel dev-master 2.在 config/app.php 的 providers 数…

【Unity】经典四叉树的实现以及和无空间划分加速下的效率对比分析

背景 假如场景中存在大量的对象,需要快速找到某个范围内的所有对象,如果通过传统的方式,就需要对所有的物体遍历,依次判断是否在范围中,这样非常耗时。所以通过空间划分的方法将其加速,本文中采用四叉树的方式,从实现思想和代码层面对效率进行分析。 思想 在空间划分算法…

python3安装编译_tkinter模块丢失

1.make的时候报缺少_tkinter模块,上一步./configure已经checking发现_tkinter missing 2.安装tk、tcl相关的包,包括python3-tk仍然没有解决问题。讲相关库移到/usr/lib也没解决问题。3.查看./configure的命令行参数,在环境变量中有两个参数:TCLTK_CFLAGSC compiler flags f…