對于ROS而言,其最常用的就是Topic話題以及Service兩個了。之前我們在了解Unity Robotics Hub時候就了解到基本的Unity和ROS的通訊,下面我們來詳細介紹一下Unity與ROS的話題與服務。
ROS和Unity之間的通信是通過Unity的“ROS-TCP-Connector”軟件包和ROS的“ROS-TCP-Endpoint”軟件包進行通信的。
1. Unity與ROS鏈接
ROS方面的準備步驟如下,首先添加端口號“10000”“5005”,啟動Docker鏡像。
Unity和ROS之間的通信需要端口號“10000”“5005”。為了在Unity中導入消息文件,也進行文件夾的安裝。
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端準備步驟如下,首先就是安裝ROS-TCP-Connector。這需要確保Unity的版本在2020.2以上。然后在在Unity菜單“Window→Package Manager”中打開“Package Manager”,“+→Add Package from git URL….”中輸入以下URL,按下“Add”按鈕,然后我們就會看到ROS-TCP-Connector插件安裝成功
然后在Unity中完成對ROS的設置,首先選擇Unity菜單“Robotics→ROS Settings”
確認以下的設定是否正確
?Connect on Startup : True
?Protocol : ROS1
?ROS IP Address : 127.0.0.1
?ROS Port : 10000
?Show HUD : True
?KeepAlive time (secs):在指定秒數以上沒有發送其他消息的情況下,頻繁測試連接。這個時間越長,ROSConnection認識到Topic停止響應所花費的時間就越長。
?Network timeout (secs):消息發送超過指定秒數時,視為連接失敗。這個時間越長,ROSConnection認識到Topic停止了響應所花費的時間就越長。
?Sleep time (secs):在確認新消息之前,睡眠的秒數。如果減少這個時間,響應會變快,但是會消耗更多的CPU。
-
通信
+關注
關注
18文章
6070瀏覽量
136423 -
ROS
+關注
關注
1文章
280瀏覽量
17095 -
Unity
+關注
關注
1文章
127瀏覽量
21877
發布評論請先 登錄
相關推薦
Unity開發者Arm指南-特效圖形技術介紹
ROS的含義與機器人操作系統ROS的介紹
ROS基本介紹
![<b class='flag-5'>ROS</b>基本<b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/88/79/wKgZomRnO_yACCbjAAGtszQoCtg988.jpg)
ROS/ROS 2 介紹
![<b class='flag-5'>ROS</b>/<b class='flag-5'>ROS</b> 2 <b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/88/79/wKgaomRnRIiAOKp1AADoiufH-34809.jpg)
ROS部署PaddlePaddle的CV模型
![<b class='flag-5'>ROS</b>部署PaddlePaddle的CV模型](https://file1.elecfans.com/web2/M00/AB/4C/wKgZomUyQkeAdUbAAAARHa7hHWo153.png)
如何將消息導入Unity
![如何將消息導入<b class='flag-5'>Unity</b>](https://file1.elecfans.com/web2/M00/B0/AB/wKgZomVXMO6AH4_AAAE4A6KiL5Q424.jpg)
Unity與ROS的Service話題介紹
![<b class='flag-5'>Unity</b>與<b class='flag-5'>ROS</b>的Service話題<b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/B0/AC/wKgZomVXMeeARz7bAAFE0Ci174c729.jpg)
ROS核心框架介紹
![<b class='flag-5'>ROS</b>核心框架<b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/B1/AE/wKgZomVcgG6AQ-34AAD1NFzWWHI989.jpg)
ROS通信接口機制介紹
![<b class='flag-5'>ROS</b>通信接口機制<b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/B2/33/wKgaomVphMyAMRuzAALL8BtvzxY966.jpg)
評論