DefaultRobotHWSim
<source : greatway9999>

一、錯誤描述

在模擬機器人時,遇到以下錯誤碼 :

GazeboRosControlPlugin missing <legacyModeNS> while using DefaultRobotHWSim, defaults to true.

DefaultRobotHWSim

從訊息中,可看出解決的關鍵應該在於 <legacyModeNS> 的設定。接著我們在第二部分逐步來解決這個問題。

二、解決方法

步驟1.用rosed編輯指令打開機器人描述資料夾中的gazebo檔案

本例使用的是 Jackal 機器人,因此會修改 jackal_description 資料夾中的 "jackal.gazebo"。指令如下 :

$ rosed jackal_description jackal.gazebo


步驟2.修改機器人的gazebo檔案

我們剛在錯誤訊息中看到,如果要解決這個錯誤,要將 <legacyModeNS> 設為 "true"。因此,在剛才打開的檔案中,在 "gazebo_ros_control" 那個區塊中,添加以下內容 :

<legacyModeNS>true</legacyModeNS>

畫面如下圖所示 :


如果你遇到檔案權限的問題,請在步驟3修改檔案權限。

步驟3.更改檔案權限

在 jackal_description資料夾的位置中,輸入以下指令 :

$ ls -al

你會看到 jackal.gazebo 檔案的權限僅限讀取。


為方便作業,在 jackal_description資料夾的位置中,輸入以下指令,將該檔案的權限開到最大(所有人可讀、可寫、可執行)。

$ sudo chmod 777 jackal.gazebo

接著再輸入以下指令 :

$ ls -al


如圖,"jackal.gazebo" 檔案的權限確實已經開到最大。接著再回到第二步驟修改內容。

重新執行模擬的 launch 檔,剛才的錯誤就已經被解決了。

---
參考資料 :

#legacyModeNS #機器人模擬 #gazebo

0 留言