当前位置: 首页 > news >正文

【ROS】Ubuntu22.04安装ROS2(Humble Hawksbill)

0、版本说明

Ubuntu22.04对应的ROS2的版本为Humble Hawksbill(ros-humble)
如果不是在Ubuntu22.04中安装ROS,请参考下面Ubuntu和ROS的版本对应关系
在这里插入图片描述

1、更新apt包列表

$ sudo apt update

2、设置编码

将ubuntu环境语言编码设置为en_US en_US.UTF-8(疑问:不设置会咋样?)
安装locales用来配置ubuntu语言环境
locale-gen:配置语言环境并生效
update-locale:将更新语言环境配置

$ 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

3、设置DNS

首先设置DNS,否则报错

curl: Failed to connect to raw.githubusercontent.com port 443 after 1000 ms: Connection refused

1)登录网站:https://www.ipaddress.com
2)在打开的网站中将“raw.githubusercontent.com”复制到查询栏中进行搜索,可以看到域名对应的IP地址信息
3)修改i/etc/hosts

~$ cat /etc/hosts
127.0.0.1	localhost
185.199.108.133 raw.githubusercontent.com

4)重启电脑,使DNS生效

4、添加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 
$ 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

5、安装ROS2

大约需要2G空间

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

6、配置环境变量

执行ros的环境脚本

$ source /opt/ros/humble/setup.bash

将上述命令写入~/.bashrc,这样每次打开终端就会自动执行配置ROS2环境的脚本,不需要手动执行了

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

7、测试

7.1 Hello World

测试目的:测试ROS2最为重要的底层通信系统DDS是否正常
终端1中执行如下命令:

$ ros2 run demo_nodes_cpp talker

打印信息如下:

[INFO] [1684480670.409470994] [talker]: Publishing: 'Hello World: 1'
[INFO] [1684480671.409418842] [talker]: Publishing: 'Hello World: 2'	
[INFO] [1684480672.409424762] [talker]: Publishing: 'Hello World: 3'
……

终端2中输入:

$ ros2 run demo_nodes_py listener

打印信息如下:

[INFO] [1684480681.849102662] [listener]: I heard: [Hello World: 12]
[INFO] [1684480682.410752673] [listener]: I heard: [Hello World: 13]
[INFO] [1684480683.410712416] [listener]: I heard: [Hello World: 14]
……

如果系统正常,将会在终端2中看到“I heard: [Hello World: xx]”

7.2 小海龟

终端1中输入:

$ ros2 run turtlesim turtlesim_node

令将启动一个蓝色背景的海龟仿真器

终端2中输入:

$ ros2 run turtlesim turtle_teleop_key

将启动一个键盘控制节点,在该终端中点击键盘上的“上下左右”按键,就可以控制小海龟运动了
在这里插入图片描述

http://www.lryc.cn/news/68870.html

相关文章:

  • 【ChatGPT】体验一下ChatGPT
  • Android 串口通信
  • Python3 日期和时间
  • Go 爬虫三种框架的基本使用介绍
  • python实现斐波那契数列详解(黄金分割)
  • 整合营销和内容营销哪个好,有什么区别
  • C# | [二进制字符串] 与 [字节数组] 互相转换,一行代码就搞定! - CodePlus系列
  • Java 细节汇总(5)-Comparator#compare() 升降序确定
  • 湖北棒球发展报告·棒球5号位
  • 使用Eclipse 进行远程 Debug 调试
  • 记第一次出差得出的经验
  • 第12章:视图
  • Word控件Aspose.Words教程:操作 XPS 和 EPS 文档
  • java并发-Exchanger
  • 毫米波雷达系列 | 传统CFAR检测(自适应类)
  • 【2023/05/19】NFA
  • 汽车功能安全
  • 【Python】数据分析与可视化实践:收支日统计数据可视化的实现
  • Halcon 中_xld算子的概念与应用? select_shape_std 和 select_shape_xld区别?
  • [pgrx开发postgresql数据库扩展]7.返回序列的函数编写(3)多行表序列
  • 刚入职,就想跑路了...
  • 如何让技术架构师具有预知未来业务发展的能力
  • 卷麻了,新来的00后实在是太卷了...
  • 单片机--实战练习
  • Go Etcd 分布式锁实战
  • Windows环境下pcl点云库 安装配置教程
  • 岗位分析与可视化系统(三)
  • unity进阶学习笔记:json和xml
  • 数据结构之初识树与堆
  • 虚拟化技术 — VirtIO 虚拟设备接口标准