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

ubuntu24 ros2 jazzy

安装2

software & update

选择其它 

安装

一、前提准备

  1. 检查操作系统版本

    • 确保你的系统版本是Ubuntu 24.04。你可以通过运行lsb_release -a命令来检查当前的系统版本。
  2. 设置UTF-8支持

    • ROS 2需要UTF-8编码支持。你可以通过以下命令来检查和设置UTF-8编码:
    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  # 验证配置
    
  3. 启用Universe存储库

    • Ubuntu 24.04通常会默认启用Universe存储库,但你可以通过以下命令来确认并启用它:
    sudo apt install software-properties-common
    sudo add-apt-repository universe
    sudo apt update
    

二、安装ROS 2 Jazzy

  1. 安装所需依赖

    • 运行以下命令来安装curl、gnupg和lsb-release等依赖包:
    sudo apt install curl gnupg lsb-release -y
    
  2. 设置ROS 2软件源

    • 下载ROS 2的GPG密钥并添加到系统中,下载软件源的秘钥:
    sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
    
    • 将ROS 2的软件源添加到系统的源列表中:
    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 Jazzy

    • 更新系统的apt存储库信息:
    sudo apt update
    
    • 根据需要选择安装不同的ROS 2版本:
      • ros-jazzy-desktop-full:完整安装,包括所有开发工具和图形界面。
      • ros-jazzy-desktop:较为简化的桌面版本,适合大多数桌面开发。
      • ros-jazzy-ros-base:基本的安装版本,只包含核心功能,适合基础开发。
    • 例如,安装桌面版本:
    sudo apt install ros-jazzy-desktop -y
    

三、配置环境变量

  • 每次打开终端时,都需要设置ROS 2的环境变量。你可以通过以下命令手动设置:
source /opt/ros/jazzy/setup.bash
  • 为了避免每次都要手动设置,可以将此命令添加到~/.bashrc文件中:
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc

四、安装其他开发工具(可选)

  • 更新系统并安装开发工具:
sudo apt update && sudo apt install ros-dev-tools
  • 安装自动补全功能:
sudo apt install python3-argcomplete
  • 安装colcon和pip:
sudo apt install python3-pip python3-colcon-common-extensions

五、测试ROS 2安装

  1. 运行ROS 2示例程序

    • 打开一个新的终端,设置环境变量并运行一个C++发布者节点(talker):
    source /opt/ros/jazzy/setup.bash
    ros2 run demo_nodes_cpp talker
    
    • 打开另一个新的终端,设置环境变量并运行一个Python订阅者节点(listener):
    source /opt/ros/jazzy/setup.bash
    ros2 run demo_nodes_py listener
    
    • 如果talker节点不断发布消息,并且listener节点能够显示接收到的消息,则说明ROS 2安装成功。

问题

E: 软件源 http://packages.ros.org/ros2/ubuntu/ noble 的选项 Signed-By 中含有互相冲突的值:/usr/share/keyrings/ros-archive-keyring.gpg != -----BEGIN PGP PUBLIC KEY BLOCK-----

sudo rm  /etc/apt/sources.list.d/ros2.list

sudo rm /etc/apt/sources.list.d/ros2.list.save

sudo rm  /etc/apt/sources.list.d/ros2.sources 

sudo rm /usr/share/keyrings/ros-archive-keyring.gpg

登录www.ipaddress.com

https://www.ipaddress.com/

往下滚动,查看ip地址

域名和ip地址的映射

sudo vim /etc/hosts

添加以下 

185.199.108.133 raw.githubusercontent.com

gpg Ubuntu 22.04 ros2 humble installing error GPG, libc-bin - ROS Answers archive

sudo apt install ros-jazzy-desktop

下列软件包有未满足的依赖关系:
 libbz2-dev : 依赖: libbz2-1.0 (= 1.0.8-5.1) 但是 1.0.8-5.1build0.1 正要被安装
              推荐: bzip2-doc 但是它将不会被安装
 libdbus-1-dev : 依赖: libdbus-1-3 (= 1.14.10-4ubuntu4) 但是 1.14.10-4ubuntu4.1 正要被安装
 libdeflate-dev : 依赖: libdeflate0 (= 1.19-1build1) 但是 1.19-1build1.1 正要被安装
 libdrm-dev : 依赖: libdrm2 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安装
              依赖: libdrm-intel1 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安装
              依赖: libdrm-radeon1 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安装
              依赖: libdrm-nouveau2 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安装
              依赖: libdrm-amdgpu1 (= 2.4.120-2build1) 但是 2.4.122-1~ubuntu0.24.04.1 正要被安装
 libgbm-dev : 依赖: libgbm1 (= 24.0.5-1ubuntu1) 但是 24.2.8-1ubuntu1~24.04.1 正要被安装
 libicu-dev : 依赖: libicu74 (= 74.2-1ubuntu3) 但是 74.2-1ubuntu3.1 正要被安装
 liblz4-dev : 依赖: liblz4-1 (= 1.9.4-1build1) 但是 1.9.4-1build1.1 正要被安装
 libmount-dev : 依赖: libblkid-dev 但是它将不会被安装
                依赖: libmount1 (= 2.39.3-9ubuntu6) 但是 2.39.3-9ubuntu6.2 正要被安装
 libnl-3-dev : 依赖: libnl-3-200 (= 3.7.0-0.3build1) 但是 3.7.0-0.3build1.1 正要被安装
 libnl-route-3-dev : 依赖: libnl-route-3-200 (= 3.7.0-0.3build1) 但是 3.7.0-0.3build1.1 正要被安装
 libpcre2-dev : 依赖: libpcre2-8-0 (= 10.42-4ubuntu2) 但是 10.42-4ubuntu2.1 正要被安装
                依赖: libpcre2-16-0 (= 10.42-4ubuntu2) 但是 10.42-4ubuntu2.1 正要被安装
                依赖: libpcre2-32-0 (= 10.42-4ubuntu2) 但是 10.42-4ubuntu2.1 正要被安装
 libpulse-dev : 依赖: libpulse0 (= 1:16.1+dfsg1-2ubuntu10) 但是 1:16.1+dfsg1-2ubuntu10.1 正要被安装
                依赖: libpulse-mainloop-glib0 (= 1:16.1+dfsg1-2ubuntu10) 但是 1:16.1+dfsg1-2ubuntu10.1 正要被安装
 libselinux1-dev : 依赖: libselinux1 (= 3.5-2ubuntu2) 但是 3.5-2ubuntu2.1 正要被安装
 libxft-dev : 依赖: libfontconfig1-dev
 libzstd-dev : 依赖: libzstd1 (= 1.5.5+dfsg2-2build1) 但是 1.5.5+dfsg2-2build1.1 正要被安装
 python3-dev : 依赖: python3 (= 3.12.3-0ubuntu1) 但是 3.12.3-0ubuntu2 正要被安装
 ros-jazzy-demo-nodes-cpp-native : 依赖: ros-jazzy-rmw-fastrtps-cpp 但无法安装它
 ros-jazzy-rcl : 依赖: ros-jazzy-tracetools 但无法安装它
 ros-jazzy-rcl-lifecycle : 依赖: ros-jazzy-tracetools 但无法安装它
 ros-jazzy-rclcpp : 依赖: ros-jazzy-tracetools 但无法安装它
 ros-jazzy-rmw-implementation : 依赖: ros-jazzy-rmw-fastrtps-cpp 但无法安装它 或
                                        ros-jazzy-rmw-cyclonedds-cpp 但无法安装它 或
                                        ros-jazzy-rmw-connextdds 但无法安装它
 zlib1g-dev : 依赖: zlib1g (= 1:1.3.dfsg-3.1ubuntu2) 但是 1:1.3.dfsg-3.1ubuntu2.1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

sudo apt install aptitude
sudo aptitude install ros-jazzy-desktop

交互操作说明

  • 首次提示 “是否接受当前解决方案(不安装)” 时,输入n(不接受)。
  • 后续会显示降级冲突包的方案(如 “降级 libbz2-1.0 从 1.0.8-5.1build0.1 到 1.0.8-5.1”),输入y(接受)。
  • 全程按提示选择 “降级” 相关选项,直到开始安装。

参考

官方教程

Ubuntu (deb packages) — ROS 2 Documentation: Jazzy documentationhttps://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html#system-setup

Ubuntu24.04 + ROS2 Jazzy + Gazebo Harmonic安装教程_ubuntu24.04安装gazebo-CSDN博客文章浏览阅读3.9k次,点赞27次,收藏28次。2025.2.13自用。Ubuntu安装见上篇。目前已无须修改为清华镜像源。如有任何问题,本文在国内亲测,不是镜像源的原因。_ubuntu24.04安装gazebo https://blog.csdn.net/qq_48187848/article/details/145621442?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ECtr-7-145621442-blog-141285787.235%5Ev43%5Epc_blog_bottom_relevance_base6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ECtr-7-145621442-blog-141285787.235%5Ev43%5Epc_blog_bottom_relevance_base6&utm_relevant_index=8

如何在ubuntu24.04安裝jazzy | 鱼香ROS

http://www.dtcms.com/a/288101.html

相关文章:

  • OpenVINO使用教程--图像增强算法DarkIR
  • 华为擎云L420安装LocalSend
  • Oracle为什么需要临时表?——让数据处理更灵活
  • LeetCode 322. 零钱兑换 LeetCode 279.完全平方数 LeetCode 139.单词拆分 多重背包基础 56. 携带矿石资源
  • 【补题】Codeforces Round 958 (Div. 2) D. The Omnipotent Monster Killer
  • 窗口(6)-QMessageBox
  • ctf.show-web习题-web4-flag获取详解、总结
  • 动态规划——状压DP经典题目
  • Weavefox 图片 1 比 1 生成前端源代码
  • 计算机网络:(十)虚拟专用网 VPN 和网络地址转换 NAT
  • 详细阐述 TCP、UDP、ICMPv4 和 ICMPv6 协议-以及防火墙端口原理优雅草卓伊凡
  • 【王树森推荐系统】推荐系统涨指标的方法04:多样性
  • sql练习二
  • 模型自信度提升:增强输出技巧
  • 《Spring Boot 插件化架构实战:从 SPI 到热插拔的三级跳》
  • 6. 装饰器模式
  • 教育科技内容平台的破局之路:从组织困境到 UGC 生态的构建
  • 我是怎么设计一个订单号生成策略的(库存系统)
  • 带root权限_新魔百和cm311-5_gk6323不分代工通刷优盘强刷及线刷
  • Openlayers 面试题及答案180道(141-160)
  • JavaScript 中的继承
  • MySQL——约束类型
  • 【RK3576】【Android14】分区划分
  • Java行为型模式---中介者模式
  • HOT100——排序篇Leetcode215. 数组中的第K个最大元素
  • 深度解析 rag-vector-agent-semantic-kernel:基于 Semantic Kernel 的 Agentic RAG 实践
  • 变频器实习Day10
  • JS原型相关知识
  • EINO框架解读:字节跳动开源的大模型应用开发框架
  • 【jquery详细讲解】