【环境搭建】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,一经查实,立即删除!

相关文章

Spring的IOC容器初始化流程

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

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

在我们购买阿里云服务器的时候,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系统) 凭卓越的性能及高…

【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、小而美…

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

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

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

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

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

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

班级管理的重要性

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

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下…

数据结构之----原码、反码、补码

数据结构之----原码、反码、补码 什么是原码? 原码:我们将数字的二进制表示的最高位视为符号位,其中 0 表示正数,1 表示负数,其余位表示数字 的值。 什么是反码? 反码:正数的反码与其原码相…

网络攻击(二)--情报搜集阶段

4.1. 概述 在情报收集阶段,你需要采用各种可能的方法来收集将要攻击的客户组织的所有信息,包括使用社交网络、Google Hacking技术、目标系统踩点等等。 而作为渗透测试者,你最为重要的一项技能就是对目标系统的探查能力,包括获知…

文生图:AE/VAE/VQVAE/VQGAN/DALLE模型

文生图模型演进:AE、VAE、VQ-VAE、VQ-GAN、DALL-E 等 8 模型本文中我们回顾了 AE、VAE、VQ-VAE、VQ-VAE-2 以及 VQ-GAN、DALL-E、DALL-E mini 和 CLIP-VQ-GAN 等 8 中模型,以介绍文生图模型的演进。https://mp.weixin.qq.com/s/iFrCEpAJ3WMhB-01lZ_qIA 1…

GaussDB数据库语法及gsql入门

一、GaussDB数据库语法入门 之前我们讲了如何连接数据库实例,那连接数据库后如何使用数据库呢?那么我们今天就带大家了解一下GaussDB,以下简称GaussDB的基本语法。 关于如何连接数据库,请戳这里。 学习本节课程之后&#xff0c…

【运维】将Linux的硬盘当内存用,Linux内存不够用的时候如何用硬盘提升内存

文章目录 内存不够用,可以用硬盘当内存吗如何取消这种交换空间交换空间是优先使用的还是说原始内存是会被优先使用的 内存不够用,可以用硬盘当内存吗 是的,可以使用硬盘作为虚拟内存来扩展容器中的内存。这个过程被称为“交换”或“交换空间…

Django 模型操作-分页(七)

一、连接MySql数据库 1、先安装MySQL 2、再安装MySQL驱动 使用mysqlclient pip install mysqlclient 如果上面的命令安装失败, 则尝试使用国内豆瓣源安装: pip install -i https://pypi.douban.com/simple mysqlclient 二、在settings.py中配置 三、 book表的数据…

Android系统启动过程-uBoot+Kernel+Android

摘要:本文是参考大量网上资源在结合自己查看源代码总结出来的,让自己同时也让大家加深对Android系统启动过程有一个更加深入的了解!再次强调,本文的大多数功劳应归功于那些原创者们,同时一些必要的参考链接我会一一附上…

【机器学习实训项目】黑色星期五画像分析

目录 前言 一、项目概述 1.1 项目简介 1.2 项目背景 1.3 项目目标 二、数据分析 2.1 导入库 2.2 数据基本信息 三、画像分析 3.1 画像1:消费金额Top10 3.2 画像2:高频消费Top10 3.3 画像3:人均消费金额Top10 3.4 画像4:男女消费对…

创投课程第四期 | Web3一级市场投资框架的演变及投资人能力框架的构成

协会邀请了来自Zonff Partners的合伙人——Colin,作为VC创投课程第4期的嘉宾,在北京时间12月9日(周六)下午14:00 PM-15:00 PM于蚂蚁链科技产业创新中心进行线下分享,届时将与所有对Web3投资、创业心怀热忱的朋友们共同探讨《WEB3一级市场投资…