2、Ubuntu下ROS 的安装与测试_如何查看ubuntu是否安装ros-程序员宅基地

技术标签: 自动驾驶  ubuntu  linux  # ROS学习笔记  

1.在Ubuntu下选择合适的ROS版本

在这里插入图片描述

根据自己的Ubuntu坏境选择ROS版本,建议安装最新版本。

2.配置ubuntu的软件和更新

配置ubuntu的软件和更新,允许安装不经认证的软件。

首先打开“软件和更新”对话框,具体可以在 Ubuntu 搜索按钮中搜索。

打开后按照下图进行配置(确保勾选了"restricted", “universe,” 和 “multiverse.”)

00ROS安装之ubuntu准备

3.设置安装源

官方默认安装源:

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

或来自国内清华的安装源

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'

或来自国内中科大的安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://m

尽量使用国内安装源,安装的数度会快一些

4.设置key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu

若无法连接到密钥服务器,可以尝试替换上面命令中的 hkp://keyserver.ubuntu.com:80hkp://pgp.mit.edu:80

也可以使用curl命令替换apt-key命令,这在使用代理服务器的情况下比较有用:

curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

5.安装ROS

①、使用以下命令,确保Ubuntu软件包索引是最新的:

sudo apt update

②、安装完整桌面版的ROS,完整版包含了 ROS、rqtrviz、机器人通用库、2D/3D 模拟器、导航以及 2D/3D 感知包。

Ubuntu16.04下安装ROS Kinetic Kame 命令:

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

Ubuntu18.04下安装ROS Melodic 命令:

sudo apt install ros-melodic-desktop-full

Ubuntu20.04下安装ROS Noetic 命令:

sudo apt install ros-noetic-desktop-full

出现错误

在这里插入图片描述

重复多次安装一下,可能是因为网络的原因。

6.配置ROS坏境

配置环境变量,方便在任意 终端中使用 ROS。

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

7.ROS卸载

如果需要卸载ROS可以调用如下命令:

sudo apt remove ros-kinetic-*
sudo apt remove ros-melodic-*
sudo apt remove ros-noetic-*

8.初始化 rosdep

在使用 ROS 之前,需要初始化 rosdeprosdep 能够轻松地安装被想要编译的源代码,或被某些 ROS 核心组件需要的系统依赖。

避免后面出现sudo rosdep:找不到命令提示,需要执行如下命令

sudo apt install python3-rosdep

初始化rosdep

sudo rosdep init
rosdep update

在这里插入图片描述

但是,在 rosdep 初始化时,多半会抛出异常。

问题:img
原因:
境外资源被屏蔽。
解决:
百度或google搜索,解决方式有多种(https://github.com/ros/rosdistro/issues/9721),可惜在 ubuntu20.04 下,集体失效。
新思路:将相关资源备份到 gitee,修改 rosdep 源码,重新定位资源。
实现:
1.先打开资源备份路径:https://gitee.com/zhao-xuzuo/rosdistro,打开 rosdistro/rosdep/sources.list.d/20-default.list文件留作备用(主要是复用URL的部分内容:gitee.com/zhao-xuzuo/rosdistro/raw/master)。
img
2.进入"/usr/lib/python3/dist-packages/" 查找rosdep中和raw.githubusercontent.com相关的内容,调用命令:

find . -type f | xargs grep "raw.githubusercontent"

img

3.修改相关文件,主要有: ./rosdistro/init.py、./rosdep2/gbpdistro_support.py、./rosdep2/sources_list.py 、./rosdep2/rep3.py。可以使用sudo gedit命令修改文件:

文件中涉及的 URL 内容,如果是:raw.githubusercontent.com/ros/rosdistro/master都替换成步骤1中准备的gitee.com/zhao-xuzuo/rosdistro/raw/master即可。

修改完毕,再重新执行命令:

sudo rosdep init
rosdep update

就可以正常实现 rosdep 的初始化与更新了。

9.测试 ROS——运行小海龟

  1. 首先启动三个终端(ctrl + alt + T)

  2. 第一个终端运行命令:

    roscore
    
  3. 第二个终端运行命令:

   rosrun turtlesim turtlesim_node

此时会弹出图形化界面

  1. 第三个终端运行命令:
   rosrun turtlesim turtle_teleop_key

在3中可以通过上下左右控制2中乌龟的运动
在这里插入图片描述

注:

有时候下载任务不小心被 CTRL+Z暂停了

使用: jobs 命令查看已有进程 使用fg %x恢复执行

fg %x

参考文件:
https://blog.csdn.net/weixin_43159148/article/details/83375218
https://blog.csdn.net/qq_44830040/article/details/106049992

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44705488/article/details/121047474

智能推荐

Windows的torch + Cuda + cuDNN_cuda必须安装在c盘吗-程序员宅基地

文章浏览阅读2k次。windows下的pytorch-gpu安装_cuda必须安装在c盘吗

java/jsp/ssm酒店客房管理系统的设计与实现【2024年毕设】-程序员宅基地

文章浏览阅读38次。springboot基于小程序的临沂大学非机动车车辆管理系统。开发软件:eclipse/myeclipse/idea。springboot基于微信小程序的线下剧本杀管理系统。springboot微信小程序的代驾系统的设计与实现。springboot一品萫茶馆管理系统的设计与实现。springboot交通违章处理系统的设计与实现。springboot洛阳地铁信息查询与管理系统。ssm基于微信小程序的多多母婴购物商城的设计与。springboot企业客户信息反馈平台。springboot校园篮球联赛管理系统。

【操作系统-Windows】使用“任务计划程序”延时启动程序_任务计划延时启动程序-程序员宅基地

文章浏览阅读1.1w次,点赞3次,收藏16次。第一步、打开任务方式一、控制面板中打开控制面板 >所有控制面板项 > 管理工具 ,任务计划程序方式二、运行中打开【Win+R】输入taskschd.msctaskschd.msc第二步、创建任务选中并右击【任务计划程序库】,点击【新文件夹】,命名为【Rsszy】。点击【操作】-【创建基本任务…】输入【名称】和【描述】,点击【下一步..._任务计划延时启动程序

【信息安全】数据安全与信息安全_信息安全的指标有什么-程序员宅基地

文章浏览阅读5.2k次,点赞2次,收藏26次。数据安全与信息安全的关系,是包含的关系,信息安全包括了数据安全与网络安全,数据安全主要是数据使用的安全。_信息安全的指标有什么

赛道A:“58 到家”家政服务订单分配问题_家政服务分配数学建模-程序员宅基地

文章浏览阅读828次。2022 年MathorCup 高校数学建模挑战赛——大数据竞赛赛道A:“58 到家”家政服务订单分配问题“58 到家”是“58 同城”旗下高品质、高效率的上门家政服务平台,平台向用户提供家政保洁、保姆、月嫂、搬家、维修等众多生活领域的服务。在家政保洁场景中,用户在平台下单购买服务后,平台会将订单分配给一个保洁阿姨,阿姨接到订单后按照用户指定的服务时间上门,进行保洁服务。_家政服务分配数学建模

如何为Java面试准备项目经验_java项目经验面试-程序员宅基地

文章浏览阅读2.9k次,点赞12次,收藏75次。如何为Java面试准备项目经验_java项目经验面试

随便推点

C语言求两个整数最大值_两个整数的最大值-程序员宅基地

文章浏览阅读5.7k次,点赞6次,收藏5次。上代码:#include#define Max(a,b) ((a>b)?(a):(b)) //预处理实现int max(int a,int b) //函数实现{return a>b?a:b;}int main(){printf("%d\n",Max(18,19));printf("%d\n",Max(19,18));printf("\n");p_两个整数的最大值

wordpress 搬家 如何修改配置文件?实用教程建议收藏_wordpress网站搬家要修改那个表-程序员宅基地

文章浏览阅读435次。首先备份好源码以及数据库上传到新服务器以及数据库分别修改以下文件和数据库文档 上传覆盖 即可wp-config修改文件‘wp-config’ 填写新的数据库名称、用户名、密码、MySQL主机(万网测试需要修改)、如图然后:在新主机的数据库中修改原来域名的连接(这个是给有换新域名的用,如只换过主机没有换域名,此步可跳过。)首先介绍下SQL替换命令UPDATE 表名 SET 字段 = REPLACE(字段,’替换内容’,’替换值’);实例如下: UPDATE.._wordpress网站搬家要修改那个表

php服务器接口开发教程,20180313 - API服务端开发入门(5)从零开始编写接口-程序员宅基地

文章浏览阅读137次。前言现在,我们来“假设”一个接口需求,然后来完成它。需求简介我们的APP需要一个商品模块,包含了如下功能,我们应该如何设计接口呢?检索,从商品数据库中找到目标商品展示,查看一个商品的详细信息评论,查看与编写评论准备工作选择一个接口框架印象中,说起框架就是指 think PHP、Laravel、yii等,但其实还有大量的“专业框架”,比如专门为接口开发而设计的框架,不要问我都有哪些框架,自行搜索,反..._php编写api接口

cocos creator主程入门教程(二)—— 弹窗管理_cocos 弹窗设计 同时可以存在几个-程序员宅基地

文章浏览阅读1.2k次。我们已经知道怎样制作、加载、显示界面。但cocos没有提供一个弹窗管理模块,对于一个多人合作的项目,没有统一的管理,界面层级容易混乱。作为主程,在项目开始就应该处理好这些问题,将弹窗划分为不同的层次,不同类型的信息显示在不同的层中。下面将讲解怎样设计弹窗堆栈。一般地,从下向上,我会将弹窗划分为以下层:1)内容层,展示游戏相关的信息界面。2)tips层,显示提示性信息界面,例如获得物品的浮窗、网络异常的提示。3)新手引导层,主要显示新手引导的手指、新手提示文本框等。4)alert层,主要显_cocos 弹窗设计 同时可以存在几个

PowerDesigner16x64_Evaluation安装_powerdesigner x64-程序员宅基地

文章浏览阅读221次。https://www.sap.com/_powerdesigner x64

【Python】Python 包 ① ( Python 包引入 | Python 包概念 | Python 包结构 | 创建 Python 包 | 导入 Python 包 )_python包-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏14次。一、Python 包简介1、Python 包引入2、Python 包概念3、Python 包结构4、创建 Python 包5、导入 Python 包_python包

推荐文章

热门文章

相关标签