ros2 ubuntu 20.04 安装 foxy

设置区域设置

确保您有一个支持UTF-8. 如果您处于最小环境(例如 docker 容器)中,则区域设置可能是最小的,例如POSIX. 我们使用以下设置进行测试。但是,如果您使用不同的 UTF-8 支持的区域设置,应该没问题。

locale  # check for UTF-8sudo 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-8locale  # verify settings

设置源

您需要将 ROS 2 apt 存储库添加到您的系统中。

首先确保Ubuntu Universe 存储库已启用。

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

现在使用 apt 添加 ROS 2 GPG 密钥。

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

若使用上述命令报该错:
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
可以参考:
ROS2安装过程中,使用 apt 添加 ROS 2 GPG 密钥报错

然后将存储库添加到您的源列表中。

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

安装 ROS 2 软件包

设置存储库后更新 apt 存储库缓存。

sudo apt update

ROS 2 软件包构建在经常更新的 Ubuntu 系统上。始终建议您在安装新软件包之前确保系统是最新的。

sudo apt upgrade

桌面安装(推荐):ROS、RViz、演示、教程。

sudo apt install ros-foxy-desktop python3-argcomplete

ROS-Base 安装(裸骨):通信库、消息包、命令行工具。没有 GUI 工具。

sudo apt install ros-foxy-ros-base python3-argcomplete

开发工具:编译器和其他构建ROS包的工具

sudo apt install ros-dev-tools
sudo apt upgrade
sudo rosdep init
rosdep update

环境设置

获取安装脚本

通过获取以下文件来设置您的环境。

# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
source /opt/ros/foxy/setup.bash

尝试一些例子

如果您ros-foxy-desktop在上面安装了,您可以尝试一些示例。

在一个终端中,获取安装文件,然后运行 ​​C++ talker

source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker

在另一个终端中获取安装文件,然后运行 ​​Python listener

source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener

您应该看到talker“这是Publishing消息”和“这些消息”这listener句话。这验证了 C++ 和 Python API 是否正常工作。万岁!I heard

备用编译器

使用 gcc 之外的其他编译器来编译 ROS 2 很容易。如果您将环境变量CCCXX分别设置为工作 C 和 C++ 编译器的可执行文件,并重新触发 CMake 配置(通过使用--force-cmake-config或删除您想要受影响的包),CMake 将重新配置并使用不同的编译器。

铛

配置 CMake 以检测和使用 Clang:

sudo apt install clang
export CC=clang
export CXX=clang++
colcon build --cmake-force-configure

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

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

相关文章

VM安装虚拟机及初始化操作

一、VM下载及暗转 虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,在实体计算机中能够完成的工作在虚拟机中都能够实现。VMware 是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的…

python毕设选题 - flink大数据淘宝用户行为数据实时分析与可视化

文章目录 0 前言1、环境准备1.1 flink 下载相关 jar 包1.2 生成 kafka 数据1.3 开发前的三个小 tip 2、flink-sql 客户端编写运行 sql2.1 创建 kafka 数据源表2.2 指标统计:每小时成交量2.2.1 创建 es 结果表, 存放每小时的成交量2.2.2 执行 sql &#x…

463岛屿周长

题目 给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] 1 表示陆地, grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个…

GreatSQL社区2023全年技术文章总结

GreatSQL社区自成立以来一直致力于为广大的数据库爱好者提供一个交流与学习的平台。在2023年,我们见证了社区的蓬勃发展,见证了众多技术文章的诞生与分享。 此篇总结呈现GreatSQL社区2023年社区技术文章在CSDN发布的全部。这些文章涵盖了GreatSQL、MGR、…

自动驾驶HWP的功能定义

一、功能定义 高速路自动驾驶功能HWP是指在一般畅通高速公路或城市快速路上驾驶员可以放开双手双脚,同时注意力可在较长时间内从驾驶环境中转移,做一些诸如看手机、接电话、看风景等活动,该系统最低工作速度为60kph。 如上两种不同环境和速度…

知识笔记(七十)———tp5中的增删改查(详细)

增 添加多条数据 添加多条数据直接向 Db 类的 insertAll 方法传入需要添加的数据即可 $data [[foo > bar, bar > foo],[foo > bar1, bar > foo1],[foo > bar2, bar > foo2] ]; Db::name(user)->insertAll($data); 助手函数写法 // 添加单条数据 db(…

力扣labuladong一刷day53天LFU 算法

力扣labuladong一刷day53天LFU 算法 一、460. LFU 缓存 题目链接&#xff1a;https://leetcode.cn/problems/lfu-cache/description/ class LFUCache {HashMap<Integer, Integer> ktv;HashMap<Integer, Integer> ktf;HashMap<Integer, LinkedHashSet<Inte…

力扣题:字符串变换-1.5

力扣题-1.5 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;482. 密钥格式化 解题思想&#xff1a;首先先将破折号去除,并将所有字母转换为大写,然后计算第一组的长度,进行结果字符串的拼接,如果第一组的长度为0,则需要删除开头的’-符号 class S…

互联网加竞赛 基于CNN实现谣言检测 - python 深度学习 机器学习

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于CNN实现谣言检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&am…

力扣-135.分发糖果

135.分发糖果 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#xff0c;计算并返…

BUUCTF crypto做题记录(5)新手向

一、传统知识古典密码 加上一个数&#xff0c;就有点移位加密的味道&#xff0c;很有可能就是凯撒加密 辛卯28&#xff0c;癸巳30&#xff0c;丙戌23&#xff0c;辛未8&#xff0c;庚辰17&#xff0c;癸酉10&#xff0c;己卯16&#xff0c;癸巳30 加1之后&#xff0c;28变29&a…

详解编码与调制

编码与调制是现代通信领域的重要概念。在信息传输过程中&#xff0c;编码和调制起着至关重要的作用&#xff0c;它们帮助将数字信号转化为模拟信号&#xff0c;从而实现高效、可靠的数据传输。本文将从编码和调制的基本概念、常见的编码和调制技术以及其在通信领域的应用等方面…

微商城怎么弄才能开通呢?

​微商城的开通&#xff0c;对于许多商家来说&#xff0c;是进入移动电商领域的重要一步。它不仅能帮助你扩大销售渠道&#xff0c;还能让你更好地管理和服务你的客户。那么&#xff0c;微商城怎么弄才能开通呢&#xff1f; 1、注册微信公众号&#xff1a;首先&#xff0c;你需…

麒麟KYLINOS操作系统上扩容系统盘

原文链接&#xff1a;麒麟KYLINOS操作系统上扩容系统盘 hello&#xff0c;大家好啊&#xff01;继之前我们讨论了如何在统信UOS上扩容数据盘之后&#xff0c;今天我要给大家带来的是在麒麟KYLINOS操作系统上扩容系统盘与数据盘的方法。随着数据的不断增长&#xff0c;系统盘或数…

【开题报告】基于SSM的动物保护知识科普平台的设计与实现

1.研究背景 动物保护是一个全球性的议题&#xff0c;涉及到生态环境、物种多样性和可持续发展等重要领域。随着人们环保意识的提高和社会对动物福利的关注度的增加&#xff0c;动物保护知识科普的重要性日益凸显。 在过去的几十年里&#xff0c;动物保护组织和机构开展了大量…

微软 Power Platform 使用Power Automate发送邮件以Dataverse作为数据源的附件File Column

微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式 目录 微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式1、需求背景介绍2、附件列File Column介绍3、如何在Po…

亚马逊多店铺运营:如何有效降低账号关联风险?

在亚马逊平台进行多店铺运营时&#xff0c;账号关联风险是卖家需要特别关注的问题。本文将介绍一些有效的方法&#xff0c;以帮助卖家降低账号关联风险&#xff0c;保护多店铺运营的稳定和持续性。 一、避免使用相同的IP地址和设备 亚马逊通过IP地址和设备指纹等信息来判断账…

分布式之任务调度Elastic-Job学习二

4 Spring 集成与分片详解 ejob-springboot 工程 4.1 pom 依赖 <properties><elastic-job.version>2.1.5</elastic-job.version> </properties> <dependency><groupId>com.dangdang</groupId><artifactId>elastic-job-lite-…

安全cdn有哪些优势

1. 免备案&#xff1a;在中国大陆地区&#xff0c;进行网站建设需要先进行备案手续&#xff0c;而安全cdn可以避免这一繁琐的步骤&#xff0c;节省时间和精力。 2. 精品线路&#xff1a;安全cdn使用的是覆盖范围更广、速度更快的香港CN2 GIA优化线路。 3. 高速稳定&#xff1a…

邦芒攻略:让HR看得上的简历五大要素

简历是求职的敲门砖。只有通过简历筛选&#xff0c;HR给你面试通知&#xff0c;你才有机会面试&#xff0c;距离你的心仪的公司和职位又近了一步。 1、简历上的求职目标一定要简洁明确。简历上的内容一定要能与所应聘的岗位所呼应&#xff0c;无 关紧要的信息最好不要出现&…