Ubuntu22.04 + ROS2 Humble的环境配置

Ubuntu22.04 + ROS2 Humble的环境配置

文章目录

    • Ubuntu22.04 + ROS2 Humble的环境配置
      • (1) Set locale
      • (2) Setup Sources
      • (3)安装ROS2
      • (4)检查是否成功安装

参考官方网站ROS2-Installation

ROS2的各种版本及维护计划,可以参考ROS2-List of Distributions

Image

(1) Set locale

首先检查UTF-8的支持情况

locale  # check for UTF-8

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  # verify settings

(2) Setup Sources

然后添加apt源,

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

同时添加GPG-key

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

然后将下列仓库添加到源列表中

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

(3)安装ROS2

首先进行upgrade确保是最新的环境,

sudo apt update
sudo apt upgrade

然后,选择是否部分安装,这边建议安装desktop版本,这就包含一些常用工具的安装比如RViz, Gazebo等,这里就保留官方的解释:

Desktop Install (Recommended): ROS, RViz, demos, tutorials.

sudo apt install ros-humble-desktop

ROS-Base Install (Bare Bones): Communication libraries, message packages, command line tools. No GUI tools.

sudo apt install ros-humble-ros-base

Development tools: Compilers and other tools to build ROS packages

sudo apt install ros-dev-tools

经过漫长的等待,终于安装成功了。然后添加环境变量,这样就避免了每次都手动source

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

(4)检查是否成功安装

启动那个经典的turtle_sim海龟模拟器,

ros2 run turtlesim turtlesim_node

然后新建另一个终端,

ros2 run turtlesim turtle_teleop_key

在这个终端里就能够用键盘的方向键来控制海龟的移动了。

Image

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

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

相关文章

2024年认证杯SPSSPRO杯数学建模D题(第一阶段)AI绘画带来的挑战全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 D题 AI绘画带来的挑战 原题再现: 2023 年开年,ChatGPT 作为一款聊天型 AI 工具,成为了超越疫情的热门词条;而在 AI 的另一个分支——绘图领域,一款名为 Midjourney(MJ&…

Vscode设置滚轮进行字体大小的调节

Vscode设置滚轮进行字体大小的调节 正常的话按 ctrl 或者 ctrl - 进行字体的大小调节 1.打开Vscode,找打设置的图标,在点击设置,或者直接使用快捷键,【ctrl ,】 2. 在搜索框搜索Font Ligatures 3.双击进入settings.json ,找到如…

第二证券策略:股指预计维持震荡格局 关注汽车、工程机械等板块

第二证券指出,指数自今年2月份阶段低点反弹以来,3月份持续高位整理。进入4月份之后面对年报和一季报的双重财报发表期,预计指数短期保持高位整理概率比较大。前期缺乏成绩支撑的概念股或有回落的危险,主张重视成绩稳定、估值低、分…

Github 2024-04-08 开源项目周报Top15

根据Github Trendings的统计,本周(2024-04-08统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目7Jupyter Notebook项目2TypeScript项目2C项目1Shell项目1C++项目1JavaScript项目1Mojo项目1Rust项目1非开发语言项目1编程面试大学:…

Redis--16--Spring Data Redis

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Spring Data Redishttps://spring.io/projects/spring-data-redis 1.依赖2.RedisTemplate3.案例 序列化1.默认是 JdkSerializationRedisSerializer2.添加Redis配置文…

transformer在生物基因DNA的应用:DNABERT、DNABERT-2

参考: https://www.youtube.com/watch?vmk-Se29QPBA&t1388s 写明这些训练模型可以最终训练好可以进行DNA特征向量的提取,应用与后续1、DNABERT https://github.com/jerryji1993/DNABERT 主要思路就是把DNA序列当成连续文本数据,直接用…

关于 Amazon DynamoDB 的学习和使用

文章主要针对于博主自己的技术栈,从Unity的角度出发,对于 DynamoDB 的使用。 绿色通道: WS SDK for .NET Version 3 API Reference - AmazonDynamoDBClient Amazon DynamoDB Amazon DynamoDB is a fast, highly scalable, highly available,…

小肥柴慢慢手写数据结构(C篇)(5-5 Huffuman编码)

小肥柴慢慢学习数据结构笔记(C篇)(5-5 Huffman编码) 目录5-16 编码案例5-17 Huffman编码原理5-18 Huffman编码/解码实现5-18-1 大致思路5-18-2 编码实现5-18-3 解码实现5-18-4 测试 5-19 实际案例总结参考文献 目录 5-16 编码案例…

Java 中文官方教程 2022 版(九)

原文:docs.oracle.com/javase/tutorial/reallybigindex.html 链接,符号或其他 原文:docs.oracle.com/javase/tutorial/essential/io/links.html 如前所述,java.nio.file包,特别是Path类是“链接感知”的。每个Path方法…

PDF转TXT ChatGPT编程

1.目的 在Z-library找到一本书,只不过是PDF格式的,看的时候体验不好,还没有办法保存记录,就想着能不能转成txt格式放到手机自带的小说软件中看。 不想去网上找相关的软件,可以还需要付钱,所以尝试用ChatGP…

安卓焦点窗口切换

一、背景 我们经常会遇到一种Application does not hava focused window的ANR异常,这种异常一般是没有焦点窗口FocusedWindow导致,且这类异常只会发生在key事件的派发,因为key事件是需要找到一个焦点窗口然后再派发,而触摸事件只需要找到当前…

Python零基础从小白打怪升级中~~~~~~~FaskAPI中的请求和响应

第二节:FastAPI中请求数据 一、URL请求参数 url请求参数是通过url请求地址携带的,例如,在以下 url 中: http://127.0.0.1:8000/items/?skip0&limit10这些请求参数是键值对的集合,这些键值对位于 URL 的 &#…

php反序列化(2)

一.pop链 在反序列化中,我们能控制的数据就是对象中的属性值(成员变量),所以在php反序列化中有一种漏洞利用方法叫“面向属性编程”,即pop(property oriented programming)。 pop链就是利用魔…

ES6基础(JavaScript基础)

本文用于检验学习效果,忘记知识就去文末的链接复习 1. ECMAScript介绍 ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言…

python(使用循环显示四种模式)

代码: # 模式A n int(input("请输入三角形的层数")) for i in range(1,n 1):for j in range(1,i 1):print(f"{j}\t", end" ")print()# 模式B n int(input("请输入三角形的层数")) for i in range(1,n 1):for j in rang…

点击notify里面的通知,实现路由跳转

需求描述: 右上角有出来通知用户的有代办任务的消息框,点击消息框会跳转到代办路由页面。 duration:3000//弹窗显示时间, 毫秒 getElementsByClassName() – 获取所有指定类名的元素 效果展示:

32单片机入门持续更新中

配套资料为野火霸道V2 初识 STM32 4.1 什么是 STM32 STM32,从字面上来理解,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示 32 位,合起 来理解,STM32 就是指 ST 公司开发的 32 位微控制器。在如今…

7.基础乐理-重升重降号、等音扩展篇

在 6.升降号、黑键的音名 这里知道了一个等音的概念,就是指的是同一个键,同一个音,拥有不同的名字,这些名字互相称为等音 在音乐中除了升降号,还有两个东西,一个长得像 x 叫重(chong&#xff09…

React Router 5 vs 6:使用上的主要差异与升级指南

React Router 5 的一些API 在 React Router 6 上有时可能找不到,可能会看到如下画面:export ‘useHistory’ was not found in ‘react-router-dom’ … React Router目前有两个大的版本,即React Router 5、6。React Router 6 在设计上更加简…

分布式系统接口限流方案

Git地址:https://gitee.com/deepjava/test-api-limit.git 方案一、 Guava工具包 实现单机版限流 具体代码见git 方案二、Redis lua脚本 实现分布式系统的接口限流 具体代码见git