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.pswp.cn/bicheng/90216.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90216.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90216.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設備虛擬化技術

設備虛擬化技術概述設備虛擬化技術通過軟件模擬物理硬件設備,使多個操作系統或應用程序能夠共享同一臺物理設備。它廣泛應用于云計算、服務器整合和測試環境等領域。核心目標是提高資源利用率、隔離性和靈活性。?當接入的用戶數增加到原交換機端口密度不能滿足接入…

開發避坑短篇(3):解決@vitejs plugin-vue@5.0.5對Vite^5.0.0的依賴沖突

異常信息 # npm resolution error reportWhile resolving:system3.8.8 Found: vite6.2.3 node_modules/vitedev vite"6.2.3" from the root projectCould not resolve dependency: peer vite"^5.0.0" from vitejs/plugin-vue5.0.5 node_modules/vitejs/plu…

k8s快速部署(親測無坑)

文章目錄k8s快速部署(親測無坑)一、網絡劃分二、CentOS7設置 標題固定IP和阿里云YUM源三、主機環境配置四、虛擬機的拷貝五、安裝docker(每臺主機都需要安裝)六、安裝kubelet,kubeadm,kubectl(每臺機器都需要執行)遇到的問題參考文檔k8s快速部署&#xf…

簡易RAG問答引擎的構建與體驗

RAG(檢索增強生成)是結合檢索與生成式 AI 的技術框架。核心邏輯是先從外部知識庫精準檢索相關信息,再將其作為上下文輸入大模型生成回答。技術上依賴檢索引擎(如向量數據庫、BM25)、大語言模型(如 GPT、LLa…

C++11特性學習 Day1

nullptr對于c中null (void*)0,所以在為函數傳參傳入0時,無法清楚地分辨是int類型的0還是指的是空指針null在C11中清晰的將空指針變為了nullptr,0專指int型的數字0override關鍵字在子類中對父類的函數的覆寫之后加上override關鍵字&#xff0…

微算法科技(NASDAQ: MLGO)探索優化量子糾錯算法,提升量子算法準確性

隨著量子計算技術的飛速發展,量子計算機在解決復雜計算問題上的潛力日益顯現。然而,量子計算面臨的一個重大挑戰是量子比特的脆弱性,即量子比特容易受到環境噪聲和干擾的影響,導致量子態的塌縮和計算結果的錯誤。微算法科技&#…

MongoDB數據庫詳解-針對大型分布式項目采用的原因以及基礎原理和發展-卓伊凡|貝貝|莉莉

MongoDB數據庫詳解-針對大型分布式項目采用的原因以及基礎原理和發展-卓伊凡|貝貝|莉莉由于老產品即時通訊私有化軟件就是采用MongoDB ,但是版本實在太低,要做大更新,其次針對10年前完美運營的項目來到10年后的現在就不一定行,優雅…

Kotlin 中的單例模式(Singleton)與對象聲明

在 Kotlin 中,類描述的是一種通用結構,可以多次實例化,也可以用多種方式實例化。但有時我們只需要單個實例,不多不少。單例模式能幫你更好地組織代碼,把相關的方法聚合在一起。 單例模式是什么? 單例模式是…

Shell 編程基礎入門從認識到實戰

對于剛接觸 Linux 或 Unix 系統的開發者來說,Shell 腳本往往是自動化操作的第一道門檻。它不像 Python 那樣語法簡潔,也不像 Java 那樣有完善的面向對象體系,但卻能以極少的代碼實現強大的系統管理功能。本文將從 Shell 的基本概念講起&#…

混合遺傳粒子群算法在光伏系統MPPT中的應用研究

混合遺傳粒子群算法在光伏系統MPPT中的應用研究 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家,覺得好請收藏。點擊跳轉到網站。 摘要 本文針對光伏系統最大功率點跟蹤(MPPT)問題&#xff0…

機器視覺的布料絲印應用

在紡織印染行業,布料絲印工藝的精度直接決定產品外觀質量與市場競爭力。傳統絲印設備依賴機械定位與人工校準,面對高密度圖案、柔性面料或復雜紋理時,易出現套色偏移、油墨滲透不均等問題,導致良品率波動與生產成本攀升。 隨著機…

前端常用類庫

常用類庫 類庫作用 類庫可以幫助我們快速實現項目業務的開發與功能的實現, 幫助我們解放勞動力提高生產效率, 前端中的類庫與框架都是由原生javascript編寫, 提供給其他開發者應用于某一業務環境或者需求。一般有開發者/團隊開源維護. 優秀的類庫需要具備高度封裝可用, 穩定, …

通俗易懂循環神經網絡(RNN)指南

本文用直觀類比、圖表和代碼,帶你輕松理解RNN及其變體(LSTM、GRU、雙向RNN)的原理和應用。什么是循環神經網絡 循環神經網絡(Recurrent Neural Network, RNN)是一類專門用于處理序列數據的神經網絡。與前饋神經網絡不同…

【SVM】支持向量機實例合集

基于Java的SVM(支持向量機)實例合集 以下是一個基于Java的SVM(支持向量機)實例合集,包含核心代碼示例和應用場景說明。這些例子基于流行的機器學習庫(如LIBSVM、Weka、JSAT)實現。 數據準備與加載 使用LIBSVM格式加載數據集: // 加載LIBSVM格式數據 svm_problem pr…

Python100個庫分享第38個—lxml(爬蟲篇)

目錄專欄導讀📚 庫簡介🎯 主要特點🛠? 安裝方法Windows安裝Linux/macOS安裝驗證安裝🚀 快速入門基本使用流程HTML vs XML解析🔍 核心功能詳解1. XPath選擇器2. CSS選擇器支持3. 元素操作🕷? 實戰爬蟲案例…

imx6ull-系統移植篇17——linux頂層 Makefile(上)

目錄 前言 頂層 Makefile 源碼簡析 版本號 MAKEFLAGS 變量 命令輸出 靜默輸出 設置編譯結果輸出目錄 代碼檢查 模塊編譯 設置目標架構和交叉編譯器 調用 scripts/Kbuild.include 文件 交叉編譯工具變量設置 頭文件路徑變量 導出變量 make xxx_defconfig 過程 …

OpenCV 官翻6 - Computational Photography

文章目錄圖像去噪目標理論OpenCV中的圖像去噪1、cv.fastNlMeansDenoisingColored()2、cv.fastNlMeansDenoisingMulti()附加資源圖像修復目標基礎概念代碼補充資源練習高動態范圍成像(HDR)目標理論基礎曝光序列HDR1、將曝光圖像加載到列表中2、將曝光序列…

APT32F1732RBT8愛普特微電子 32位MCU國產芯片 智能家居/工業控制 首選

APT32F1732RBT8 愛普特微電子,32位MCU國產芯片一、產品簡介APT32F1732RBT8 是愛普特微電子(APT)推出的高性能32位ARM Cortex-M0內核MCU,主頻高達48MHz,內置64KB Flash8KB RAM,專為智能家居、工業控制、消費…

Smart Tomcat

本篇博客的內容是教你借助idea中的插件,把tomcat集成到idea中安裝 Smart Tomcat 插件搜索下載 ,如果一直處于加載界面,就嘗試一下科學上網配置 Smart Tomcat 插件 點擊右上角的 "Add Configuration"選擇左側的 "Smart Tomcat" 在 Name 這一欄填寫一個名字(…

Linux_shell編寫

title: Linux_4 shell編寫 shell pwd (/root/A/2025_7/19/myshell) 首先需要設計命令行提示 (MakeCommandLine()) 首先獲取相關信息 getenv(“name”) // 獲取用戶名 const char* GetUserName() {const char* name getenv("USER");if (name …