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

Ubuntu 的 ROS 2 操作系统安装与测试

引言

在这里插入图片描述


学习目标

在这里插入图片描述


学习内容

1 设置系统语言环境

ROS 2 Humble Hawksbill是ROS 2的稳定版本之一,支持Ubuntu Jammy (22.04)。安装此版本在最新的平台上使用ROS 2进行机器人开发。

确保系统支持UTF-8编码格式。对于Docker等最小化环境,执行以下命令:

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  # 验证设置

2 设置软件源

在Ubuntu系统中添加ROS 2的APT软件源。

2.1 确保Ubuntu的universe仓库已启用
# 在Ubuntu系统中添加ROS 2APT软件源
sudo apt install software-properties-common
# 确保Ubuntu的universe仓库已启用
sudo add-apt-repository universe
2.2 添加ROS 2的GPG密钥
# 添加ROS 2GPG密钥
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
2.3 添加ROS 2的APT源到系统源列表
# 添加ROS 2APT源到系统源列表
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 安装ROS 2 Humble包

3.1 环境配置

更新APT缓存并确保系统已更新。

# 更新APT缓存并确保系统已更新
sudo apt update
# 更新系统以避免系统包冲突
sudo apt upgrade  
3.2 根据需求选择安装的ROS 2版本

3.2.1 桌面版安装(推荐):包括ROS、RViz、示例和教程,适合开发和仿真。

# 安装推荐的桌面版(包括ROS、RViz、示例、教程)
sudo apt install ros-humble-desktop

3.2.2 基础版安装(精简版):仅包含通信库、消息包和命令行工具,不包括GUI工具。

# 安装基础版(仅包含核心通信库和命令行工具)
sudo apt install ros-humble-ros-base

3.2.3 开发工具安装:提供编译器和其他构建ROS包的工具。

# 开发工具(编译器等)
sudo apt install ros-dev-tools

4 环境配置

4.1 环境配置

每次在终端中使用ROS 2时,都需要source环境配置文件:

# source环境配置文件
source /opt/ros/humble/setup.bash
4.2 简化操作

为了简化操作,可以将其添加到.bashrc文件中,使其在每次新终端启动时自动source:

# 在.bashrc中加入ROS的环境变量设置,使其每次启动终端时自动加载
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc# 更新.bashrc文件使其生效
source ~/.bashrc

5 验证安装

安装完成后,验证安装的ROS 2 Humble系统是否可以正常使用。

5.1 检查ROS 2版本
# 检查ROS 2版本
ros2 --version

输出安装的ROS 2版本,本文安装为 humble,如果输出正确版本说明ROS 2已经成功安装。

5.2 检查ROS 2环境
# 检查ROS 2环境
echo $ROS_DOMAIN_ID
  • 若显示出设定的ROS_DOMAIN_ID,则表明环境配置正确。
  • 如果没有输出,请重新执行source /opt/ros/humble/setup.bash,或将此命令添加至~/.bashrc文件中。
5.3 ROS 2核心
  • 在ROS 2中,不再需要像ROS 1那样手动启动roscore。
  • ROS 2的通信机制是基于DDS中间件,自动处理节点间的发现和通信。
5.4 运行ROS 2示例节点(验证ROS 2通信机制)

ROS 2提供了一些示例节点,可以用来验证安装:

# 发布消息
ros2 run demo_nodes_cpp talker

然后在另一个终端运行:

# 接收消息
ros2 run demo_nodes_py listener

若两个节点能够正常通信并在终端显示传输的消息,则说明ROS 2已经正确安装并配置完毕。


小结

  • 通过本次安装与配置,在Ubuntu系统上成功部署了ROS 2 Humble环境,并验证了其核心功能的运行情况。
  • 本文详细介绍了从设置系统语言、配置APT源,到安装ROS 2及其基本工具包的各个步骤,同时也展示了环境配置和通信测试的方法。完成这些步骤后,用户可以顺利使用ROS 2进行机器人应用的开发和实验,为后续的工作打下坚实基础。
  • ROS 2 Humble版本在通信机制、性能和灵活性上相较于ROS 1有显著提升,更适合复杂的机器人系统开发。未来,可以进一步学习ROS 2的开发工具和实际项目应用,实现机器人功能的扩展与优化。

欢迎大家评论留言!!!


友情提示:

  • 专栏:Turtlebot3 PC端ROS环境搭建与仿真
  • 下一节:Ubuntu 的 ROS 操作系统turtlebot3环境搭建

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

相关文章:

  • 在双显示器环境中利用Sunshine与Moonlight实现游戏串流的同时与电脑其他任务互不干扰
  • ElasticSearch备考 -- Cross cluster replication(CCR)
  • windows C#-异常处理
  • 边缘计算在智能制造中的应用
  • 点云开发:从入门到精通的全面教程
  • 【含文档】基于ssm+jsp的商店会员系统(含源码+数据库+lw)
  • 【大数据学习 | kafka高级部分】文件清除原理
  • dolphin 配置data 从文件导入hive 实践(一)
  • Docker Compose部署Rabbitmq(脚本下载延迟插件)
  • 麦当劳自助点餐机——实现
  • C++ STL CookBook 6:STL Containers (I)
  • 行转列实现方式总结
  • 【go从零单排】初探goroutine
  • HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)本地搜索接入方案
  • C语言可变参数列表编程实战指南:从基础概念到高级应用的全面解析
  • AndroidStudio-文本显示
  • HBuilderX运行微信小程序,编译的文件在哪,怎么运行
  • 百亿AI数字人社会初现:Project Sid展示智能代理文明进化路径
  • 代码随想录训练营Day21 | 491.递增子序列 - 46.全排列 - 47.全排列 II - 332.重新安排行程 - 51.N皇后 - 37.解数独
  • 多用户商城系统的功能及设计和开发
  • 2024年11月8日day8
  • Debezium系列之:Debezium3版本增量快照和只读增量快照应用的变化
  • Python正则表达式1 re.match惰性匹配详解案例
  • WPF(C#)学习日志10:Prism框架下按键绑定
  • WPF中的ResizeMode
  • Unity3D UI 双击和长按
  • LabVIEW扫描探针显微镜系统
  • 问题式教学法在生物教学中的应用探索
  • C++ | Leetcode C++题解之第556题下一个更大元素III
  • 实现链式结构二叉树