對(duì)于ROS而言,其最常用的就是Topic話題以及Service兩個(gè)了。之前我們?cè)诹私釻nity Robotics Hub時(shí)候就了解到基本的Unity和ROS的通訊,下面我們來詳細(xì)介紹一下Unity與ROS的話題與服務(wù)。
ROS和Unity之間的通信是通過Unity的“ROS-TCP-Connector”軟件包和ROS的“ROS-TCP-Endpoint”軟件包進(jìn)行通信的。
1. Unity與ROS鏈接
ROS方面的準(zhǔn)備步驟如下,首先添加端口號(hào)“10000”“5005”,啟動(dòng)Docker鏡像。
Unity和ROS之間的通信需要端口號(hào)“10000”“5005”。為了在Unity中導(dǎo)入消息文件,也進(jìn)行文件夾的安裝。
docker run -p 6080:80 -p 10000:10000 -p 5005:5005 --shm-size=1024m tiryoh/ros-desktop-vnc:melodic
安裝“ROS-TCP-Endpoint”軟件包,用于ROS程序與Unity通信
cd ~/catkin_ws/src
git clone https://github.com/Unity-Technologies/ROS-TCP-Endpoint
cd ..
catkin build
source ~/catkin_ws/devel/setup.bash
然后就是Unity端準(zhǔn)備步驟如下,首先就是安裝ROS-TCP-Connector。這需要確保Unity的版本在2020.2以上。然后在在Unity菜單“Window→Package Manager”中打開“Package Manager”,“+→Add Package from git URL….”中輸入以下URL,按下“Add”按鈕,然后我們就會(huì)看到ROS-TCP-Connector插件安裝成功
然后在Unity中完成對(duì)ROS的設(shè)置,首先選擇Unity菜單“Robotics→ROS Settings”
確認(rèn)以下的設(shè)定是否正確
?Connect on Startup : True
?Protocol : ROS1
?ROS IP Address : 127.0.0.1
?ROS Port : 10000
?Show HUD : True
?KeepAlive time (secs):在指定秒數(shù)以上沒有發(fā)送其他消息的情況下,頻繁測(cè)試連接。這個(gè)時(shí)間越長(zhǎng),ROSConnection認(rèn)識(shí)到Topic停止響應(yīng)所花費(fèi)的時(shí)間就越長(zhǎng)。
?Network timeout (secs):消息發(fā)送超過指定秒數(shù)時(shí),視為連接失敗。這個(gè)時(shí)間越長(zhǎng),ROSConnection認(rèn)識(shí)到Topic停止了響應(yīng)所花費(fèi)的時(shí)間就越長(zhǎng)。
?Sleep time (secs):在確認(rèn)新消息之前,睡眠的秒數(shù)。如果減少這個(gè)時(shí)間,響應(yīng)會(huì)變快,但是會(huì)消耗更多的CPU。
-
通信
+關(guān)注
關(guān)注
18文章
6137瀏覽量
137083 -
ROS
+關(guān)注
關(guān)注
1文章
283瀏覽量
17445 -
Unity
+關(guān)注
關(guān)注
1文章
127瀏覽量
22173
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
EtherCAT運(yùn)動(dòng)控制器在ROS上的應(yīng)用開發(fā)案例(下)

Unity開發(fā)者Arm指南-特效圖形技術(shù)介紹
ROS的含義與機(jī)器人操作系統(tǒng)ROS的介紹
unity開發(fā)的數(shù)字游戲可在unity里打開應(yīng)用程序免費(fèi)下載
ROS基本介紹

ROS/ROS 2 介紹

ROS部署PaddlePaddle的CV模型

如何將消息導(dǎo)入Unity

Unity與ROS的Service話題介紹

ROS核心框架介紹

ROS通信接口機(jī)制介紹

評(píng)論