[轉]RosBridge小結


1.rosbridge介紹 

rosbridge(rosbridge_suite)是ros官方為開發者提供的一個用於非ros系統和ros系統進行交互通信的功能包。rosbridge主要包含兩個部分,Rosbridge Protocol和Rosbridge Implementation。其中Protocol部分提供了非ros系統和ros系統通信的具體格式,包括話題的訂閱,消息的發布,服務的調用,參數的設置和獲取,圖片信息的傳遞等等,都是JSON格式的字符串。Implementation部分是rosbridge的具體實現,包含rosapi,rosbridge_library,rosbridge_server等包。rosapi通過服務調用使某些ROS action可訪問,包括獲取和設置參數,獲取主題列表等。rosbridge_library是核心rosbridge包。rosbridge_library負責獲取JSON字符串並將命令發送到ros,反之亦然。rosbridge_server負責通信的傳輸層,包括websocket,tcp,udp等幾種格式。

2.rosbridge的安裝

sudo apt-get install ros-indigo-rosbridge-server

這里我安裝的是indigo版本,具體版本視自己安裝的ros版本而定。

3.rosbridge應用

rosbridge針對BS 架構和CS架構分別提供了相應的解決方案。 
在BS架構中,rosbridge提供了roslibjs庫,roslibjs是一個通過瀏覽器和ros系統進行交互的javascript庫。在終端通過如下代碼roslaunch rosbridge_server rosbridge_websocket.launch 
啟動websocket,並在html中載入roslibjs庫,就可以在html中依照指定的格式和ros系統進行通信了。 
在CS架構中,rosbridge提供了TCP協議和UDP協議兩種方式,其中因為TCP協議需要三次握手,因此比較穩定准確,而UDP協議速度更快,但會發生丟包,因此存在不准確性。相應的啟動方式分別為roslaunch rosbridge_server rosbridge_tcp.launch 和roslaunch rosbridge_server rosbridge_udp.launch 具體的通信內容都遵從JSON格式的字符串,詳細信息請查看官網 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM