对于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文章
6086浏览量
136558 -
ROS
+关注
关注
1文章
281浏览量
17145 -
Unity
+关注
关注
1文章
127浏览量
21923
发布评论请先 登录
相关推荐
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)
评论