ubuntu安装ROS

2023-10-26

ubuntu安装ROS
参考文章:http://wiki.ros.org/noetic/Installation/Ubuntu

1.设置ubuntu接受来自packages.ros.org的安装

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.设置keys

sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
(注意:这一步可能需要梯子)

3.更新Debian包

   sudo apt update(一定要执行该命令,不然会导致下一步报错:无法定位软件包 ros-noetic-desktop-full)

4.安装ROS

sudo apt install ros-noetic-desktop-full

5.构建软件包的依赖关系
创建和管理自己的 ROS 工作区,还需要各种单独分发的工具和要求。例如,rosinstall 是一个常用的命令行工具,只需一条命令就能轻松下载许多 ROS 软件包的源代码树。

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

6.初始化rosdep

sudo apt install python3-rosdep
sudo rosdep init
rosdep update

执行sudo rosdep init出现ERROR: cannot download default sources list from报错
在这里插入图片描述
参考:https://blog.csdn.net/luoluonuoyasuolong/article/details/128999527
https://gitee.com/ncnynl/rosdep/tree/master#https://gitee.com/link?target=https%3A%2F%2Fwww.ncnynl.com%2Farchives%2F202109%2F4549.html
https://www.ncnynl.com/archives/202109/4549.html

参考:https://www.guyuehome.com/12640

sudo passwd    //接着提示输入UNIX密码,输入你的用户密码即可
sudo su //或者su root 然后输入密码切换至root用户
sudo mkdir -p /etc/ros/rosdep/sources.list.d
cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list

该文件存在目录:/etc/ros/rosdep/sources.list.d/20-default.list
解决方法:
1.首先点击https://www.ncnynl.com/archives/202109/4549.html将文件下载下来解压,更改rosdep_update.sh文件中的代理地址,原来的地址是ghproxy_url=https://ghproxy.com
更改为ghproxy_url=https://http://127.0.0.1:7891然后保存(当然你们需要根据自己的代理更改,后面的4位数的端口不一定相同)
2.在该目录下打开终端输入su进入root权限运行rosdep_update.sh

./rosdep_update.sh

3.然后输入初始化命令

sudo rosdep init

4.然后运行rosdep_recover.sh

./rosdep_recover.sh

5.执行以下命令

rm update_rosdep_tsinghua.sh ; wget https://gitee.com/ncnynl/rosdep/raw/master/update_rosdep_tsinghua.sh ; sudo chmod +x ./update_rosdep_tsinghua.sh; sudo ./update_rosdep_tsinghua.sh

6.之后就能直接输入rosdep update进行更新了。

更新完后配置环境变量

echo “source /opt/ros/noetic/setup.bash”>> ~/.bashrc #noetic就算你下的ROS版本,一定要对应自己下的ROS版本,弄错的话运行下面命令会报错显示找不到该目录

source ~/.bashrc

最后输入

roscore

出现以下界面则安装成功
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu安装ROS 的相关文章

  • Linux 内核使用的设备树文件 (dtb) 可视化工具? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以图形化表示Linux内核中使用的硬件设备树的工具 我正在尝试了解特定 Arm 芯片组
  • bdist_rpm 从 Ubuntu 到 CentOs

    我们在 Ubuntu Mac 上进行开发 并将 RPM 部署到 CentOS 这是设置 不能更改太多 问题是 当从 rpm 安装时 软件包会转到 usr local lib python2 7 dist packages 这是 Ubuntu
  • 在本地主机上使用相同的 IP 和端口创建套接字

    我在 Linux 上看到奇怪的行为 我看到远程端和本地端都显示相同的 IP 和端口组合 以下是 netstat 输出 netstat anp 网络统计grep 6102 tcp 0 0 139 185 44 123 61020 0 0 0
  • Vagrant 遇到问题 - “404 - 未找到”

    我正在尝试使用 Vagrant 制作一个 LAMP 盒子 有人告诉我它使用起来非常简单 我对网络和虚拟机完全陌生 对 Linux Ubuntu 的经验也很少 我目前已尝试按照官方文档页面上的教程进行操作 http docs vagrantu
  • 在 Linux 中重新启动时,新创建的文件变为 0 kb(数据被覆盖为空)

    我遇到了一个奇怪的问题 这让我发疯 当前的任务是在 root 用户第一次登录时启动一组文件 并在同一用户第二次登录时启动另一组文件 我决定使用 profile 和 bashrc 文件 并在第一次登录期间发生的任务结束时重新加载 bashrc
  • 使用 systemctl 获取 systemd 进程的正常运行时间或停机时间?

    喜欢使用systemctl is active
  • nginx + WordPress:SFTP + 自动更新的适当用户/文件权限?

    I used this http wordimpress com aws ec2 rds s3 cloudfront nginx wordpress tutorial roundup 在 Ubuntu VPS 上安装 nginx 和 Wor
  • vim 中的 python 2 支持

    我正在尝试设置 YouCompleteMe 一个 vim 代码完成插件 当我运行 vim 时 它给我这个错误消息 YouCompleteMe unavailable 需要 python 2 x 我的 ubuntu 机器上安装了正确版本的 p
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • 查看graphml文件

    我最近发现了一个 graphml 文件 但不知道如何从命令行打开它 我需要安装一些东西才能在 ubuntu 中从命令行查看此类文件吗 我尝试谷歌但找不到与此主题相关的任何结果 Graphml 是标准文件格式图表 yED 编辑器 http w
  • LINUX:如何锁定内存中进程的页面

    我有一个 LINUX 服务器 运行一个具有大量内存占用的进程 某种数据库引擎 该进程分配的内存太大 需要将其中一部分换出 换出 我想做的是将所有其他进程 或正在运行的进程的子集 的内存页面锁定在内存中 以便只有数据库进程的页面被换出 例如
  • 更改启动 Java 运行时后 IntelliJ IDEA 无法在 Ubuntu 上启动

    之前 我的 IntelliJ 运行得很好 但我使用的是 java 6 所以我的项目无法使用 gradle 运行 我用命令将java切换到版本8sudo update alternatives config java 我检查了java ver
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 无法启动 MySQL 服务器 - 控制进程退出并出现错误代码

    我的 mysql 服务器停止后无法启动 命令使用 sudo etc init d mysql restart Error 重新启动 mysql 通过 systemctl mysql serviceJob for mysql service
  • 如何在不使用 IDE 的情况下在 Linux 上运行 Java 项目

    我是 Java 新手 基本上 我开发了一个java项目 其中包含Eclipse中的多个Java包 该项目在我安装了 redhat Linux 的桌面上运行正常 然而 我需要在一个更强大的没有安装X11的Linux服务器 redhat ent
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String

随机推荐

  • VMware下,私有云平台的配置(CentOS 7系统,含桌面)

    文章目录 实验环境 Windows系统 VMWare 15 1 0 CentOS 7 x86 64 Minimal 1810 iso映像文件 1 安装CentOS系统 2 实现远程桌面连接 实验环境 Windows系统 VMWare 15
  • Tensorflow入门--用tensorflow实现一个三层的神经网络

    前言 这段时间在学习吴恩达的深度学习视频 前面博客中一直在利用numpy自己构造网络框架实现前向传播 损失函数 反向传播 优化等 在这一篇博客中将实现利用tensorflow库里的函数直接实现上面所说的功能 使整个程序更加简洁 最后 如果有
  • 汉诺塔系列问题: 汉诺塔II、汉诺塔III、汉诺塔IV、汉诺塔V、汉诺塔VI

    汉诺塔 汉诺塔II hdu1207 先说汉若塔I 经典汉若塔问题 有三塔 A塔从小到大从上至下放有N个盘子 如今要搬到目标C上 规则小的必需放在大的上面 每次搬一个 求最小步数 这个问题简单 DP a n a n 1 1 a n 1 先把
  • HTML(的简单表格)的案例

    1 简单的表格 代码 table border 2 width 400px height 200px align center cellspacing 10 cellpadding 0px tr align right valign top
  • 【ML】XGBoost 算法:愿它统治万岁!

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • css使用行内注释报错_在CSS中使用注释

    css使用行内注释报错 It is a very good working practice to comment your code in CSS Comments serve two major functions 在CSS中注释您的代
  • uniapp组件深度修改样式问题

    问题一 样式类型scss less css 如果公共样式为common scss 对应的App vue文件必须加上lang scss 问题二 深入修改样式 当前页面修改 带scoped css样式
  • 系统安装部署系列教程(四):制作PE系统

    Win PE全程叫做Windows预安装系统 是Windows系统运行所必须的所有组件的最小集合 可能这么说大家感觉比较绕 简单来说 PE系统就是用来安装和修复系统的工具系统 最主要的作用就是用来重装系统 当然PE系统的作用并不是仅仅用来重
  • 【Unity 3D】VR飞机拆装后零件说明功能案例实战(附源码和演示视频 超详细)

    需要源码和资源包请点赞关注收藏后评论区留言私信 一 效果演示 如下图所示 飞机拆装后 单击零件 将会出现零件说明功能 看上去十分有科技感和美观 演示视频如下 零件高亮及显示说明 二 实现步骤 首先双击打开Level6 UI场景 接下来的步骤
  • 项目上线质量如何评估

    一 项目上线质量指标 你认为用什么质量指标可以反映项目 上线的一个质量 你可能会想那不是有很多质量指标么 多数和BUG相关 例如BUG数量 重新打开BUG数 BUG解决时长等等 好像都能体现上线质量啊 可仔细想想 我们衡量上线质量 不能只看
  • 【ML】AdaBoost:实用介绍及如何使用 Python 进行分类和回归

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • sdio tf卡基础知识总结

    sdio介绍 SDIO的全称是安全数字输入 输出接口 一般都是用来SD卡 SD I O 卡 MMC卡进行通讯 SDIO总线拥有9根线 一个CLK时钟线 四条DATA双向数据线 一条双向指令线CMD VDD VSS1 VSS2电源和地信号线
  • GIT常用命令

    文章目录 前言 一 必备命令 rebase 变基 merge branch reset revert 二 将本地项目推送到远程 总结 问题 references 前言 当前工作区 add gt stage commit gt 本地仓库 pu
  • [SDOI2007]游戏【哈希+DAG拓扑】

    题目链接 先通过哈希确定点 这里我使用的是双值哈希 然后利用哈希判断可以和前面的出现的点如何链接 之后构造出来的图一定是一副DAG图 有向无环图 所以直接拓扑排序DP即可 include
  • 图解通信原理与案例分析-29:埃隆.马斯克的“星链”Starlink计划是卫星语音通信向卫星互联网的演进

    埃隆 马斯克一个值得技术人员尊敬的科技狂人 他把现实 科幻 理想 情怀 未来有机的融合在了一起 他有很多伟大的 革命性的构想与实现 星链 Starlink计划就是其中之一 本文就从通信的角度解读一下这个看似不可思议的计划 目录 第1章 什么
  • 618京东预售一般便宜多少?跟直接买有啥区别?

    618京东预售一般便宜多少 跟直接买有啥区别 京东作为消费者比较喜欢的电商购物平台之一 经常会推出促销打折的活动 以吸引用户到平台上购物 在这些大促活动中 平台会在预售环节设置专属的优惠 让消费者下单提前锁定这些折扣 一般这种情况能便宜多少
  • Vue模板语法:插值语法和指令语法

    div h1 插值语法 h1 h3 你好 name h3 hr h1 指令语法 h1 a 点我去 school name a a 点我去百度 a div
  • Array.prototype.slice.call()方法详解

    slice 用来截取截取字符串方法 Array javascript的一个引用类型 其原型prototype上有一个方法叫slice call和apply 用来改变对象中函数内部的this引用 使得函数可以随便换 妈妈 为什么不直接用 ar
  • TCP/IP协议,HTTP协议,get和post请求的关联与区别

    TCP IP协议 TCP IP Transmission Control Protocol Internet Protocol 传输控制协议 网际协议 它是在网络使用中最基本的通信协议 TCP IP协议不仅仅指的是TCP 和IP两个协议 而
  • ubuntu安装ROS

    ubuntu安装ROS 参考文章 http wiki ros org noetic Installation Ubuntu 1 设置ubuntu接受来自packages ros org的安装 sudo sh c echo deb http