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

树莓派5+Ubuntu24.04 LTS ROS2 Jazzy安装 保姆级教程

1.背景

我曾经写过一个树莓派4B+Ubuntu24.04 LTS ROS2 Jazzy安装 保姆级教程。

现在,我又买了一个树莓派5,想在树莓派5上学习ROS2,所以,有必要在树莓派5上再装ROS2,装的过程中,发现树莓派5上装ROS2和树莓派4B上装ROS2有点不同。所以,就再写一个树莓派5上装ROS2的保姆级教程。

2.保姆级教程

2.1参考网站

- ROS 官网  

- ROS2 Jazzy版本   Ubuntu (Debian packages) — ROS 2 Documentation: Jazzy documentation

2.2准备工作

- 修改Ubuntu Hosts文件: 

   在终端执行命令:

sudo vim /etc/hosts

添加如下内容:

185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com 

2.3 安装ROS2 Jazzy版本

 主要是按照ROS2 Jazzy安装手册

因为我的树莓派是装的Ubuntu24.04LTS, 所以,我就选的 deb packages(recommended) 

然后,按照安装说明, 

- set locale

我的树莓派5是这样的:

我试了这2个命令:

sudo update-locale LC_ALL=C.UTF-8 LANG=C.UTF-8

$ export LANG=C.UTF-8

然后,在执行locale命令,跟上面还是一样的,没啥变化。

- Enable required repository

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

 执行结果

- Installing the ros2-apt-source package 

sudo apt update && sudo apt install curl -y
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F\" '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo $VERSION_CODENAME)_all.deb" # If using Ubuntu derivates use $UBUNTU_CODENAME
sudo apt install /tmp/ros2-apt-source.deb 

执行结果

 

- install development tools

sudo apt update && sudo apt install ros-dev-tools

执行结果

- install ROS2

sudo apt update

sudo apt upgrade

sudo apt install ros-jazzy-desktop

sudo apt install ros-jazzy-ros-base

执行结果

至此,安装就结束了。

3. 结果检验

 还是在2个终端上执行命令

source /opt/ros/jazzy/setup.bash

ros2 run demo_nodes_cpp talker 

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

结果

至此,大功告成,亲个嘴儿。

http://www.lqws.cn/news/491509.html

相关文章:

  • transformer-kv缓存
  • Docker健康检查
  • 【AI News | 20250623】每日AI进展
  • 开发Qt程序时,为什么是CMake?
  • 前端截图并导出pdf
  • 基于Django和MySQL的智能图像分类与情感分析系统
  • Nginx-前端跨域解决方案!
  • AI+地图打车:如何用机器学习实现小程序订单智能匹配与路径优化?
  • 征服分布式系统:阿里云 Linux 多机互联与资源共享实战指南
  • 区块链大讲堂 | 分布式隐私计算友好的零知识证明协议
  • 基于PostgreSQL的百度或高德等POI多层级分类的数据库设计
  • [Java恶补day31] 21. 合并两个有序链表
  • 【ARM 嵌入式 编译系列 7.5 -- GCC 打印链接脚本各段使用信息】
  • 华为OD机试_2025 B卷_矩形相交的面积(Python,100分)(附详细解题思路)
  • 联合语音和文本机器翻译,支持多达100种语言(nature子刊论文研读)
  • Restormer: Efficient Transformer for High-Resolution Image Restoration 论文阅读
  • 树莓派超全系列教程文档--(66)rpicam-apps可用选项介绍之视频选项
  • 2025年CCF先进音频技术竞赛
  • sublime 4200 激活
  • K8S: etcdserver: too many requests
  • 计算机网络:(六)超详细讲解数据链路层 (附带图谱表格更好对比理解)
  • 编程语言的跨代演进:从C到Rust再到AI驱动语言的时代变革
  • docker方式启动Jenkins
  • EEG分类 - Theta 频带 power
  • 图像处理基础篇
  • [特殊字符] OpenCV opencv_world 模块作用及编译实践完整指南
  • 软件设计模式期末复习模拟解析
  • 运维打铁: Windows 服务器基础运维要点解析
  • arcgis分割 (Split)
  • 目标检测之YOLOv5到YOLOv11——从架构设计和损失函数的变化分析