1. 程式人生 > >“error [node.cc:90] no namespace found” gazebo運行時出現的問題及解決方案

“error [node.cc:90] no namespace found” gazebo運行時出現的問題及解決方案

運行 log inf 加載 href names found image nod

ubuntu14.04.5+ROS indigo,在運行gazebo2.2.3時,出現“error [node.cc:90] no namespace found”的錯誤,但gazebo依然可以打開使用。

網上很多教程雖然給出了辦法,但下載網址不對,自己折騰了半天,總算發現需要將原來的 http://old.gazebosim.org/models 替換為 http://gazebosim.org/models ,然後就可以了。

問題類似於如下所示:

Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Warning [gazebo.cc:215] Waited 1seconds for namespaces.
Error [gazebo.cc:220] Waited 11 seconds for namespaces. Giving up.
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found
Error [Node.cc:90] No namespace found

解決辦法:

這主要是因為gazebo啟動時會預先加載各種已有的模板,比如各種通用的機器人模型、水杯、墻壁等等,但gazebo本身不帶這些東西,需要自己下載,因此,只需要將這些模型文件下載好存放於.gazebo文件夾中,啟動時可以預讀取即可。

首先,先下載models的文件,執行如下指令:(需要時間較長,自己用了1小時30分鐘才下好,沒有找到相關文件包集合,如找到直接下載包即可)

$ wget -r -R "index\.html*" http://gazebosim.org/models/

接著,在/home裏找到models.gazebosim.org文件夾,如下圖

技術分享圖片

models.gazebosim.org文件夾裏的內容如下所示:

技術分享圖片

然後,在home下找到隱藏文件夾./gazebo,在該文件夾下新建文件夾models,然後將models.gazebosim.org文件裏的全部內容直接復制或剪切到models文件夾內,原文件夾刪掉即可,如下所示:

技術分享圖片

重新打開terminal,輸入

$gazebo

再次啟動gazebo,一切正常,OK.

“error [node.cc:90] no namespace found” gazebo運行時出現的問題及解決方案