Ros使用自定義數據通訊無法收到消息的分析和解決

 

在實際的開發中,和別的模塊定義了自定義的 數據類型,比如:

userMsg.msg文件

Header header

int32 nState

string strImageName

string strYamlName

 

報錯和原因

各自使用了userMsg.msg文件編譯在自己的工程中,但是在測試中發現相互之間無法收到彼此的數據,具體報錯內容:

ERROR: invalid message type: deepmap_msgs/MapMsg.
If this is a valid message type, perhaps you need to type 'rosmake deepmap_msgs'

 

因爲在各自編譯msg時,生成的包名默認是工程的名字,因爲包名不統一導致數據無法解析, 所以相互之間的包名首先要一致。

 爲了解決這個問題,相互之間使用了同一個包deepmap_msgs,放在工程的src目錄下,進行編譯。

 

添加依賴

在依

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章