【环境搭建】ubuntu22安装ros2

基于某种特殊需求,从Ubuntu16到22目前都尝试过安装ros、ros2
参考1:http://t.csdnimg.cn/DzvSe
参考2:http://t.csdnimg.cn/sOzr1

1.设置locale
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
2.确认软件源
2.1 universe

使用如下命令检查:

apt-cache policy | grep universe

返回可能有若干行,但是应该包含如下内容:

500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packagesrelease v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64

如果没有包含上述内容,那么输入如下命令:

sudo apt install software-properties-common
sudo add-apt-repository universe

Ubuntu 将其软件分为四个关键软件源:
 Main:默认启用,包含 Ubuntu 维护的自由和开源软件。
 Restricted:默认启用,提供设备的专有驱动程序。
 Universe:提供由社区维护的自由和开源软件,满足各种软件许可和维护需求。
 Multiverse:提供因版权或法律条款而受限的软件。

2.2 ros2软件源

先添加证书

sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

以上操作的本质是将ros.key这个文件下载并重命名为ros-archive-keyring.gpg到指定路径下。
按照官方给的教程是这个地址,但这个地址国内大概率是访问不了的,https://raw.githubusercontent.com,网上流传的直接将域名和IP加到hosts文件中其实也不实用,这个地址无论是域名还是IP我们都不好访问(国外地址)。

国内其实已经有人做好解决方案了,比如小鱼的一键安装,还有就是清华的解决方案,这里我们采用清华的软件源。

sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://mirrors.tuna.tsinghua.edu.cn/rosdistro/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null

这里一定注意,[arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg]不要省略。完成以上操作后执行sudo apt update试下,不报错就是配好了。

3.安装ros2

这里安装的桌面版的,大概2G,也要注意ubuntu不同版本对应不同的ros2版本,不要强行安装非官方指定对应版本,会很麻烦。

sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop

装完后记得配置环境变量

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

测试下

ros2 run demo_nodes_cpp talker

在这里插入图片描述

ros2 run demo_nodes_cpp listener

在这里插入图片描述

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

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

相关文章

SQL注入漏洞检测

预计更新SQL注入概述 1.1 SQL注入攻击概述 1.2 SQL注入漏洞分类 1.3 SQL注入攻击的危害 SQLMap介绍 2.1 SQLMap简介 2.2 SQLMap安装与配置 2.3 SQLMap基本用法 SQLMap进阶使用 3.1 SQLMap高级用法 3.2 SQLMap配置文件详解 3.3 SQLMap插件的使用 SQL注入漏洞检测 4.1 SQL注入…

Spring的IOC容器初始化流程

Spring的IOC容器初始化流程 IOC容器初始化在SpringApplication对象创建完毕执行run方法时执行refreshContext()时开始。 准备BeanFactory,设置其类加载器和environment等 执行BeanFactory后置处理器,扫描要放入容器的Bean信息,得到对应的Bea…

计算机网络常见的缩写

计算机网络常见缩写 通讯控制处理机(Communication Control Processor)CCP 前端处理机(Front End Processor)FEP 开放系统互连参考模型 OSI/RM 开放数据库连接(Open Database Connectivity)ODBC 网络操作系…

阿里云服务器租用价格分享,阿里云服务器热门配置最新活动价格汇总

在我们购买阿里云服务器的时候,1核2G、2核2G、2核4G、2核8G、4核8G、8核16G、8核32G等配置属于用户购买最多的热门配置,1核2G、2核2G、2核4G这些配置低一点的云服务器基本上能够满足绝大部分个人建站和普通企业用户建站需求,而4核8G、8核16G、…

Maven项目引入本地jar

Maven项目引入本地jar 1.对应maven模块项目中建lib目录,将jar放入进去 2.在对应的模块pom.xml中引入此依赖jar 3.在对应的maven-plugin插件打包的pom.xml中指定需要includeSystemScope为true的jar

AMEYA360:大唐恩智浦荣获 2023芯向亦庄 “汽车芯片50强”

2023年11月28日,由北京市科学技术委员会和北京市经济和信息化局指导、北京经济技术开发区管理委员会主办、盖世汽车协办的“芯向亦庄”汽车芯片大赛在北京亦庄成功闭幕。 在本次大赛中 大唐恩智浦的 电池管理芯片DNB1168 (应用于新能源汽车BMS系统) 凭卓越的性能及高…

SQL注入一般过程

实验:Vulnerability: SQL Injection(low) SQL注入一般过程 1.判断注入点 一般和数据库进行交互的位置 2.判断注入点类型 字符型判断: 1 报错 1 and 12 错误结果 1 and 11 正确结果 数字型判断: 1 报错 1 and 12…

【SpringBoot教程】SpringBoot 实现前后端分离的跨域访问(CORS)

作者简介:大家好,我是撸代码的羊驼,前阿里巴巴架构师,现某互联网公司CTO 联系v:sulny_ann(17362204968),加我进群,大家一起学习,一起进步,一起对抗…

【毕业季|进击的技术er】作为一名职场人,精心总结的嵌入式学习路线图

活动地址:毕业季进击的技术er 文章目录 0、作者介绍1、前言2、嵌入式基础必备知识2.1、学习内容2.2、学习建议2.3、学习资料 3、嵌入式入门篇——51单片机3.1、学习内容3.2、学习建议3.3、学习资料 4、STM32进阶篇4.1、学习内容4.2、学习建议4.3、学习资料 5、小而美…

印刷包装企业做什么认证才有优势

最近几年,外贸出口过程中,越来越多的印刷和包装企业被客户要求进行各类认证和审核,比如,产品印刷包装/吊牌等。他们已经意识到,印刷包装供应商对于整个供应链管理的重要性,尤其是那些明确标示了…

由pandas.loc引发的未知错误AttributeError: ‘str‘ object has no attribute ‘isna‘

由于data.loc[value]和 data[data.keyvalue] 这两者之间有一定的差异,第一种方式返回的可能是series,第二种方式返回的是dataframe,所以在做复杂条件筛选的的时候,可能会爆str相关的错误。 例如: account_instal[(ac…

嵌入式开发按怎样的路线学习较好?

嵌入式开发按怎样的路线学习较好? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「嵌入式从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家!&…

mysql的行锁具体是怎么工作的

mysql行级锁是怎么工作的? 加锁的对象是索引,加锁的基本单位是 next-key lock。在能使用记录锁或者间隙锁就能避免幻读现象的场景下, next-key lock 就会退化成记录锁或间隙锁。 锁的范围,总结一下就是,对于唯一索引&a…

张驰咨询:掌握流程改进的关键,深入了解六西格玛绿带培训

尊敬的读者,当您寻求提升个人能力,加强企业流程管理时,六西格玛绿带培训无疑是您的不二选择。本文将带您深入了解六西格玛绿带培训的核心内容、必备工具和实际案例,以助您在职业生涯中一帆风顺。 六西格玛绿带培训主要针对中层管…

C++- 格式化输出

1.常规–格式化输出 %d //整型输出 %ld //长整型输出 %o //以八进制数形式输出整数 %x //以十六进制数形式输出整数,或输出字符串的地址 %u //以十进制数输出unsigned型数据(无符号数)注意&…

element 点击button弹出图片 运用自带隐藏的图片查看器el-image-viewer浏览图片

最近在开发一个图片预览效果,由于位置有限,没有原始的缩略图。 看了下elementUI的文档,基本都是需要有缩略图的情况下,才能有放大的图。 所以网上找了下有个不错的方案,其实也是elementUI自带的功能,只是AP…

论文查重怎么找到需要更改的【详细说明】

大家好,今天来聊聊论文查重怎么找到需要更改的,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 论文查重怎么找到需要更改的 论文查重是保证学术诚信和提高论文质量的重要环节小发猫伪原创。…

班级管理的重要性

班级管理,就像是一座桥,连接着学生和老师,它的重要性不言而喻。 营造良好的学习氛围 班级管理不仅仅是维护秩序,更是营造一个积极向上的学习氛围。一个好的班级管理,能让学生更加专注于学习,提高学习效率。…

Linux上的MAC地址欺骗

Linux上的MAC地址欺骗 1、查看mac地址法1:ifconfig法2:ip link show 2、临时性改变 MAC 地址法1:使用iproute2工具包法2:使用macchanger工具 3、永久性改变 MAC 地址3.1 在 Fedora、RHEL下实践3.2 在 Debian、Ubuntu、Linux Mint下…

人工智能革命近在咫尺:利用数据实现社会影响、增强决策力和新机遇

人工智能(AI)是指由计算机系统或机器执行的智能行为,如学习、推理和解决问题。人工智能不再是科幻小说中的事物,而是已经成为我们日常生活中不可或缺的一部分。从语音助手到自动驾驶汽车,从人脸识别到机器翻译&#xf…