Ubuntu22.04安裝/使用Gazebo時踩的一些坑

首先,本人原本打算安裝gazebo11的,因為官方好像不支持ubuntu22.04,所以要通過PPA和ROS2 humble來安裝,安裝過程跟著教程來的,也就是下面這篇

ubuntu22.04安裝gazebo11(ROS2 Humble)-CSDN博客

安裝ROS2可以直接用小魚一鍵式安裝

wget http://fishros.com/install -O fishros && . fishros
?

但是,不知道是什么原因,最關鍵的gazebo--common這個包沒下到,我直接--version看版本出來了以為就安裝完了,沒想到這只是個殼,內核根本沒下到,大家一定要注意自己gazebo11的安裝完整性。

然而到這里還沒有完,我的gazebo運行只能顯示UI,但卡死了根本加載不進去,且終端報錯。

[Err] [Server.cc:584] Waited 11 seconds for namespaces. Giving up.

[Err] [Node.cc:118] No namespaces found

網上嘗試了各種辦法,去github上下載了模型通過共享文件夾塞進.gazebo/models試過了,拉大顯存開3D圖形加速也試過,也換了Xorg登錄,結局都是失敗。我猜測應該是Ubuntu22.04與gazebo11的兼容性太差了,或者是我用的是虛擬機(非雙系統Linux)導致的。

隨后便放棄了,我不能一條路走到黑,選擇大于努力!然后查閱資料發現我這個Ubuntu版本和gazebo harmonic的兼容性不錯,就開始準備換個gazebo版本

Gazebo Harmonic 和 ROS2 jazzy 安裝和測試-CSDN博客

五條指令就能裝完這個Harmonic版本的gazebo

sudo apt-get install lsb-release gnupgsudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/nullsudo apt-get updatesudo apt-get install gz-harmonic

啟動指令? ??gz sim shapes.sdf

這里順便補充一下徹底刪除gazebo11的流程指令

刪除gazebo11sudo apt remove gazebo11* libgazebo11* libsdformat9* -y# 刪除 Gazebo 11 核心包
sudo apt purge gazebo11 libgazebo11-dev gazebo11-common# 刪除遺留插件
sudo apt purge 'ros-*-gazebo11-*' ?# 如果使用ROS# 清理配置
rm -rf ~/.gazebo# 檢查 Gazebo 11 是否移除
which gzserver ?# 應無輸出
gz sim --versions ?# 應只顯示 Harmonic# 檢查 Harmonic 功能
ign gazebo -v ?# 或 gz sim -v

重新安裝好gazebo后,能成功打開gazebo了,但是世界界面仍然是一片黑,按照經驗把模型提前下載好拷過去后還是沒有用,且又出現了很多新的bug,氣死我了(我不李姐)。

這里參考博客Gazebo Harmonic學習筆記2-CSDN博客,先把本地模型綁定進gazebo,命令如下

#下面的路徑填你存放模型的文件夾的絕對路徑,指令有兩個,我忘了我跑的哪個指令成功綁的了,反正其中一個是能綁的233~export GZ_SIM_RESOURCE_PATH=~/xxx/xxx/gazebomodels/? ?echo "export GZ_SIM_RESOURCE_PATH="xxx/xxx/xxx/models"" >> ~/.bashrc
source ~/.bashrc

重新打開gazebo,確實能看見本地模型了,但界面還是一片黑,我嘗試去使用截圖功能,就是界面第二欄的那個照相機,它截出來的圖片是能顯示出我的模型的,但我沒法直觀的看到他,我這的顯示還是一片黑。

中間省略一堆修BUG的過程,因為沒用,最后我一氣之下把他卸載了。

#卸載指令
sudo apt remove gz-harmonic gz-* libgz-*  # 移除所有 Gazebo Harmonic 相關包
sudo apt autoremove  # 清理未使用的依賴rm -rf ~/.gz  # Harmonic 的配置和緩存(新版本用 ~/.gz 替代 ~/.gazebo)
rm -rf ~/.gazebo  # 舊版本緩存(如果存在)
sudo rm -rf /tmp/gz-*  # 臨時文件gz sim --versions  # 驗證是否刪干凈了

我決定重新安裝一次,這次我換了個平臺,來到了最大的學習中心b站來找安裝教程,就是這個視頻BV1WF4m1A72u,按照它的教程我重新按照了gazebo-Harmonic

sudo wget https://packages.osrfoundation.org/gazebo.gpg -O/usr/share/keyrings/pkgs-osrf-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/nullsudo apt-get updatesudo apt-get install gz-harmonicgz sim shapes.sdf

然而結果還是一片黑,就在這時我在評論區看到一個老哥說VMWare要把3D圖形加速給關掉!

沒錯我關掉之后就能正常使用了,關鍵點就在這,大模型害人啊,一直讓我開3D圖形加速

但是要注意關掉3D圖形加速后你的虛擬機會變卡,這里還是建議要跑仿真的小伙伴裝雙系統

太長不看省流版

總結幾個要點,要過程指令的自己往上翻

1.務必根據你的你的虛擬機系統版本安裝對應的gazebo,不要安裝不推薦的版本

2.注意給你的系統換源,不要用默認源,當然如果你會虛擬機科學上網也可以這么做

小魚一鍵式安裝ROS2這里面可選自動換國內源,可以用這條命令改下你的系統源順便安裝ROS2

wget http://fishros.com/install -O fishros && . fishros

3.如果出現了下面的報錯

[Err] [Node.cc:118] No namespaces found

大概率是你.gazebo/models里面的模型需要自己提前下載,讓他在線獲取大概率會超時,請自己建好文件夾并把模型復制進去,至于下載的GitHub鏈接網上一搜很多,我這里也在綁定資源上傳了一個給你們

4.一定要記得關掉3D圖形加速,不要聽大模型的,他只會讓你的bug越來越多。注意關掉3D圖形加速后你的虛擬機會變卡,建議要跑仿真還是裝雙系統比較好。

5.開機登錄時一定要選擇Xorg形式登錄

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913422.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913422.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913422.shtml

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

相關文章

CPT203-Software Engineering: Introduction 介紹

目錄 1.專業名詞定義 1.1計算機軟件的定義 1.2軟件系統的定義 1.3軟件工程的定義 2.軟件的失敗與成功 2.1 失敗 2.2 成功 3.軟件開發 Professional software development 3.1 分類 3.2 專業軟件開發 professional software development 3.3專業軟件開發產品特性 3.4…

診斷工程師進階篇 --- 車載診斷怎么與時俱進?

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

奧特曼論人工智能、OpenAI與創業

來自Y Combinator的YouTube視頻,展示了OpenAI首席執行官薩姆奧特曼分享的深刻見解。他討論了OpenAI從一個看似瘋狂的通用人工智能(AGI)夢想,如何發展成為一個全球性的現象。奧特曼強調了早期決策的關鍵性、吸引頂尖人才的策略&…

React Ref使用

受控與非受控組件 Ref 1.獲取原生dom 類組件中&#xff1a;在componentDidMount方法內使用document.getElementById的方法獲取到dom元素 1 目標dom增加ref屬性 設置為字符串 <h2 reftitleref></h2>function changeRef(){this.refs.titleref.innerHtml }2 函數組件…

地下管線安全的智能監測先鋒:智能標志樁圖像監測裝置解析?

?在城市與鄉村的地下&#xff0c;縱橫交錯的管線是能源與信息傳輸的關鍵通道。但深埋地下的電纜、燃氣管道等設施&#xff0c;因難以直觀監測&#xff0c;面臨施工誤挖、自然災害等風險。傳統防護手段力不從心&#xff0c;TLKS-PAZ01 智能標志樁圖像監測裝置的誕生&#xff0c…

Camera相機人臉識別系列專題分析之十六:人臉特征檢測FFD算法之libcvface_api.so數據結構詳細注釋解析

【關注我&#xff0c;后續持續新增專題博文&#xff0c;謝謝&#xff01;&#xff01;&#xff01;】 上一篇我們講了&#xff1a; 這一篇我們開始講&#xff1a; Camera相機人臉識別系列專題分析之十六&#xff1a;人臉特征檢測FFD算法之libcvface_api.so數據結構詳細注釋解析…

【字節跳動】數據挖掘面試題0012:數據分析、數據挖掘、數據建模的區別

文章大綱 數據分析、數據挖掘、數據建模的區別一、核心定義與目標二、技術方法差異三、應用場景對比四、三者的關聯與遞進關系五、面試應答策略 數據分析、數據挖掘、數據建模的區別 一、核心定義與目標 數據分析&#xff1a; 是對已有的數據進行收集、清洗、整理&#xff0c;并…

預警:病毒 “黑吃黑”,GitHub 開源遠控項目暗藏后門

在開源生態蓬勃發展的當下&#xff0c;黑客們也將黑手伸向了代碼共享平臺。當黑產開發者以為在共享 “行業秘笈” 時&#xff0c;殊不知已經掉入了黑客布置的陷阱 —— 看似方便的后門遠程控制源碼和游戲作弊外掛源碼等 “圈內資源”&#xff0c;實則是植入了惡意代碼的投毒誘餌…

Qt中的QProcess類

Qt中的QProcess類 QProcess 是 Qt 框架中用于啟動和控制外部進程的類&#xff0c;它屬于 QtCore 模塊。這個類提供了執行外部程序并與它們交互的功能。 一、主要功能 啟動外部程序&#xff1a;可以啟動系統上的其他可執行程序進程通信&#xff1a;通過標準輸入、輸出和錯誤流…

周任務自動化升級:N8N與多維表格無縫聯動全解析

.自動化之言&#xff1a; 在上一篇文章中&#xff0c;我們介紹了如何利用多維表格&#xff08;如飛書多維表格或Notion&#xff09;搭建一個靈活的任務管理系統。現在我們將進一步擴展這個系統&#xff0c;借助 N8N 實現周報的自動匯總與郵件發送&#xff0c;真正實現任務管理…

Go語言的web框架--gin

本章內容&#xff0c;會介紹一下gin的運用&#xff0c;以及gin框架底層的內容&#xff0c;話不多說&#xff0c;開始進入今天的主題吧&#xff01; 一.基本使用 gin框架支持前后端不分離的形式&#xff0c;也就是直接使用模板的形式。 模板是什么&#xff1f; 這里可能有同…

企業為什么需要雙因素認證?

從進入互聯網時代開始&#xff0c;密碼是我們個人日常的重要保護。但是單獨的密碼保護可能已經不再適應當前的數字化時代。密碼已經不再足夠安全最近發生的各種安全漏洞讓我重新審視網絡安全。幾行代碼可能就導致了全球數以百萬的登錄憑證被泄露。今天&#xff0c;僅僅周期性地…

Spring Boot + 本地部署大模型實現:優化與性能提升!

在Spring Boot中集成本地部署的大模型&#xff08;如LLaMA、ChatGLM等&#xff09;并進行優化&#xff0c;需要從模型選擇、推理加速、資源管理和架構設計等多方面入手。以下是完整的優化方案及實現步驟&#xff1a; 一、核心優化策略 1. 模型量化 目標&#xff1a;減少顯存占…

仿mudou庫one thread oneloop式并發服務器

前言 我們所要實現的是一個高并發服務器的組件&#xff0c;使服務器的性能更加高效&#xff0c;是一個高并發服務器的組件&#xff0c;并不包含實際的業務。 首先需要先明確我們所要實現的目標是什么 第一點&#xff0c;實現一個高并發的服務器第二點&#xff0c;在服務器的基礎…

超詳細的私有化安裝部署Dify服務以及安裝過程中問題處理

一、什么是Dify Dify 是一款開源的大語言模型(LLM) 應用開發平臺。它融合了后端即服務&#xff08;Backend as Service&#xff09;和 LLMOps 的理念&#xff0c;使開發者可以快速搭建生產級的生成式 AI 應用。即使你是非技術人員&#xff0c;也能參與到 AI 應用的定義和數據…

國產DSP,QXS320F280049,QXS320F28377D,QXS320F2800137,QXS320F28034

自定義指令集&#xff0c;自研內核架構&#xff0c;基于eclipse自研IDE&#xff0c;工具鏈&#xff0c;算法庫。 根據自研QXS320F280049&#xff0c;做了600W和2KW數字電源方案&#xff0c;1.5KW電機方案&#xff0c;目前已在市場大量投產。 QXS320F290049應用于數字電源&#…

dotnet publish 發布后的項目,例如asp.net core mvc項目如何在ubuntu中運行,并可外部訪問

復制到 Ubuntu 上的是使用 Visual Studio 或 dotnet publish 命令生成的 發布后的輸出文件&#xff08;publish output&#xff09;&#xff0c;而不是原始項目源代碼。在這種情況下&#xff0c;確實沒有 .csproj 文件&#xff0c;所以不能直接用 dotnet run 啟動。但你可以通過…

Linux多線程(十二)之【生產者消費者模型】

文章目錄生產者消費者模型為何要使用生產者消費者模型生產者消費者模型優點基于BlockingQueue的生產者消費者模型BlockingQueueC queue模擬阻塞隊列的生產消費模型單線程生產消費模型多線程生產消費模型生產者消費者模型 consumer/productor 321原則(便于記憶) 為何要使用生產…

MySQL表的操作(3)

文章目錄前言一、創建表創建表時指定屬性二、查看表查看表結構查看建表消息三、修改表修改列屬性修改列名修改表名四、刪除表總結前言 Hello! 那我們乘勝追擊&#xff0c;開始 表的操作&#xff01; 一、創建表 首先創建一個 數據庫 testForTable mysql> create database i…

從“人工智障”到“智能助手”:集成為什么能拯救AI用戶體驗?

幾年前&#xff0c;當人們滿懷期待地與AI語音助手對話時&#xff0c;常常遭遇令人啼笑皆非的回應——“抱歉&#xff0c;我不明白你在說什么”“請再說一遍”甚至答非所問。AI被戲稱為“人工智障”&#xff0c;用戶體驗一度讓人失望。然而&#xff0c;近年來&#xff0c;隨著技…