Ubuntu20.04安装ROS2 Foxy

Ubuntu20.04安装ROS2 Foxy

实操安装

安装ROS2的教程在网上很多,但是我操作之后都有问题,大部分的问题是在 sudo apt update 时访问packages.ros.org无法成功,主要的原因是没有外网,而自己整一个外网代理又非常麻烦,所以一般是通过设置国内源来实现

设置sources.list为国内源

修改 /etc/apt/sources.list里面的源为国内的

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list

如清华大学的源:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/ 注意:一定要选择跟自己ubuntu版本匹配的源,我的是ubuntu20.04,对应的源是:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse

deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse

设置编码为UTF-8

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
locale

添加ROS2的apt仓库到自己的系统

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

apt-cache policy | grep universe

更新并安装curl 、gnupg2 、lsb-release等软件

sudo apt update && sudo apt install curl gnupg2 lsb-release

与apt授权GPG密钥

sudo curl -verbose -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg

如果这一步有问题,参考:https://blog.searchinfogo.com/2021/01/27/github-connection-refused/

添加ROS2仓库到自己的source.list

如果设置了科学上网可以执行如下命令

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

如果无法科学上网,需要将域名packages.ros.org替换为国内的镜像源的域名,这里我替换为清华大学源域名mirrors.tuna.tsinghua.edu.cn,建议最好替换一下

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

更新

sudo apt update
sudo apt upgrade

安装ROS2-Foxy(带ROS, RViz, demos, tutorials等)

sudo apt install ros-foxy-desktop

如果指向安装基础包,执行以下指令

sudo apt install ros-foxy-ros-base

默认情况下,每次打开新shell终端时都必source安装文件,执行

source /opt/ros/foxy/setup.bash

可以将命令添加到shell启动脚本中,后面就不需要再输入source /opt/ros/foxy/setup.bash

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

测试安装结果

1、测试talker和listener

启动talker

ros2 run demo_nodes_cpp talker

启动listener

ros2 run demo_nodes_py listener

2、测试小海龟

打开终端,创建海龟

ros2 run turtlesim turtlesim_node

打开新终端,创建鼠标控制

ros2 run turtlesim turtle_teleop_key
参考

https://github.com/ya77ya/Installation-ROS-2-on-Jetson-Nano

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

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

相关文章

Vue-2、初识Vue

1、helloword小案列 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>初始Vue</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdelivr.n…

【STM32】STM32学习笔记-ADC单通道 ADC多通道(22)

00. 目录 文章目录 00. 目录01. ADC简介02. ADC相关API2.1 RCC_ADCCLKConfig2.2 ADC_RegularChannelConfig2.3 ADC_Init2.4 ADC_InitTypeDef2.5 ADC_Cmd2.6 ADC_ResetCalibration2.7 ADC_GetResetCalibrationStatus2.8 ADC_StartCalibration2.9 ADC_GetCalibrationStatus2.10 A…

openFeign服务调用

简介 Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。 Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装&#xff0c;使其支持了Spring MVC标准注解和HttpMessageC…

18款Visual Studio实用插件(更新)

前言 俗话说的好工欲善其事必先利其器&#xff0c;安装一些Visual Studio实用插件对自己日常的开发和工作效率能够大大的提升&#xff0c;避免996从选一款好的IDE实用插件开始。以下是我认为比较实用的Visual Studio插件希望对大家有用&#xff0c;大家有更好的插件推荐可在文…

【zetero】剪贴板导入格式的差别-EndNote、Refworks、BibTex

我比较了下 知网导出格式的 EndNote、Refworks、BibTex 导入到 zetero&#xff0c;哪个最合适&#xff0c;最终选择了EndNote格式 以《知网文章数据标注研究》为例子 1、Refworks格式下&#xff0c;会出现乱码笔记 2、BibTex 格式下 没有摘要信息&#xff0c;且作者顺序发生…

跑腿配送系统技术探析

概述 跑腿配送系统是一种基于现代科技的服务平台&#xff0c;通过智能化的技术手段&#xff0c;实现用户需求的快速响应和高效配送。本文将探讨该系统的核心技术原理&#xff0c;以及在实际开发中的一些代码示例。 技术原理 1. 用户请求与任务分配 跑腿配送系统的第一步是…

【Python机器学习】线性模型——用于回归的线性模型

对于回归问题&#xff0c;线性模型预测的一般公式为&#xff1a; yw[0]*x[0]w[1]*x[1]…………w[p]*x[p]b 这里的x[0]到x[p]表示的事单个数据点的特征&#xff0c;w和b是学习模型的参数&#xff0c;y是模型的预测结果。对于单一特征的数据集&#xff0c;公式&#xff1a; yw…

美年大健康黄伟:从选型到迁移,一个月升级核心数据库

核心生产系统的数据库&#xff0c;从接到替换需求到完成分布式升级&#xff0c;需要多久&#xff1f;一个月&#xff0c;这是美年大健康的回答。一个月集中调配各种资源&#xff0c;美年大健康完成了应用程序基本零改造的平滑迁移&#xff0c;新数据库在成本更低的前提下&#…

第8课 将推流端与播放端合并为一对一音视频聊天功能

在第二章的第7课&#xff0c;我们实现了一个推流端&#xff0c;可以把音视频推送到rtmp服务器&#xff1b;在第一章的第4课&#xff0c;我们实现了一个播放器&#xff0c;可以正常播放rtmp音视频流。聪明的你应该可以想到了&#xff1a;把推流端和播放端合并在一起&#xff0c;…

【UE Niagara学习笔记】01 - 浮动的蒲公英

目录 效果 步骤 一、创建材质 二、创建Niagara粒子 2.1 创建Niagara模板 2.2 通过用户参数设置粒子大小 2.3 设置数量、风速、透明度变化 效果 步骤 一、创建材质 1. 在虚幻商城中把“Realistic Starter VFX Pack Vol 2”添加到项目中&#xff0c;该资产中所包含的…

博客的简介

博客的简介 大家可以把这个当做目录&#xff0c;从中选择自己需要的内容进行阅览&#xff0c;欢迎大家一键三连&#xff01;&#xff01;&#xff01;&#xff01; 话题讨论专栏 点击进入话题讨论专栏 主要文章&#xff1a; 神奇的代码——可随意修改复制页面内容 Python…

工会排队规则:深度解析

工会排队规则&#xff1a;深度解析在当今的消费市场中&#xff0c;工会排队规则作为一种创新的营销策略&#xff0c;正逐渐受到广大商家和消费者的青睐。这一规则不仅为商家带来了可观的利润&#xff0c;同时也为消费者提供了一种全新的购物体验。本文将对工会排队规则进行深入…

跨国制造业组网方案解析,如何实现总部-分支稳定互联?

既要控制成本&#xff0c;又要稳定高效&#xff0c;可能吗&#xff1f; 在制造企业积极向“智造”发展、数字化转型的当下&#xff0c;物联网、人工智能、机器人等新型设备加入到生产、管理环节&#xff0c;为企业内部数据传输提出了更高的要求。而当企业规模扩大&#xff0c;数…

使用Docker-compose快速构建Nacos服务

在微服务架构中&#xff0c;服务的注册与发现扮演着至关重要的角色。Nacos&#xff08;Naming and Configuration Service&#xff09;是阿里巴巴开源的服务注册与发现组件&#xff0c;致力于支持动态配置管理和服务发现。最近&#xff0c;一位朋友表达了对搭建一套Nacos开发环…

php 数组中的元素进行排列组合

需求背景&#xff1a;计算出数组[A,B,C,D]各种排列组合&#xff0c;希望得到的是数据如下图 直接上代码&#xff1a; private function finish_combination($array, &$groupResult [], $splite ,){$result [];$finish_result [];$this->diffArrayItems($array, $…

分布式协调系统

分布式协调系统 分布式协调系统解决的进程间的通信和协作&#xff0c;根据是否在同一时间和是否相互引用分为四个模型。 示例系统Chubby 主功能&#xff1a;让客户端实现同步&#xff0c;方法是加锁服务 介绍一下系统&#xff1a; 系统由五台服务器构成&#xff0c;通过pax…

odoo17 | 视图操作按钮

前言 到目前为止&#xff0c;我们主要通过声明字段和视图来构建我们的模块。在上一章中&#xff0c;我们刚刚通过计算字段和onchanges引入了业务逻辑。在任何真实的业务场景中&#xff0c;我们都会希望将一些业务逻辑链接到操作按钮。在我们的房地产示例中&#xff0c;我们希望…

案例092:基于微信小程序的二手闲置交易市场系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

Linux学习之系统编程5(信号)

写在前面&#xff1a; 我的Linux的学习之路非常坎坷。第一次学习Linux是在大一下的开学没多久&#xff0c;结果因为不会安装VMware就无疾而终了&#xff0c;可以说是没开始就失败了。第二次学习Linux是在大一下快放暑假&#xff08;那个时候刚刚过完考试周&#xff09;&#xf…

2024年初级会计资格考试报名照片要求,千万不要直接上传哦

2024年初级会计资格考试照片要求&#xff0c;千万不要直接上传哦。 第一步&#xff1a;支付宝搜索"亿鸣证件照"或者微信搜索”随时照“&#xff0c;然后进入小程序的搜索列表搜索"初级会计"&#xff0c;然后上传一张生活照或者自拍一张&#xff0c;就能制…