0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Unity与ROS链接介绍

麦辣鸡腿堡 来源:古月居 作者:敢敢のwings 2023-11-17 17:22 次阅读

对于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

    文章

    5706

    浏览量

    134394
  • ROS
    ROS
    +关注

    关注

    1

    文章

    271

    浏览量

    16681
  • Unity
    +关注

    关注

    0

    文章

    126

    浏览量

    21531
收藏 人收藏

    评论

    相关推荐

    EtherCAT运动控制器在ROS上的应用开发案例(下)

    本篇文章我们主要介绍正运动技术动态链接库环境配置以及EtherCAT运动控制器在ROS下的单轴运动。
    的头像 发表于 03-17 11:11 456次阅读
    EtherCAT运动控制器在<b class='flag-5'>ROS</b>上的应用开发案例(下)

    ROS2的安装与使用 精选资料推荐

    ros2的乌龟仿真turtlesim,介绍topic,service,action等元素及其使用,介绍ros的基本操作
    发表于 08-30 08:24

    什么是ROS?如何学习ROS

    什么是ROS?如何学习ROS
    发表于 11-11 07:21

    Unity中的高级图形技术解读

    本指南向您介绍Unity中的一些高级图形概念。您将需要使用自定义着色器,本指南将带您了解这些着色器,并向您介绍一些其他移动概念和工具。 在本指南的最后,您将了解到: •如何实现顶点和片段着色器
    发表于 08-02 07:44

    Unity开发者Arm指南-特效图形技术介绍

    本指南介绍了几种可以在Unity程序中使用的特效技术,包括: •脏镜头效果 •雾效果 •冰墙效果 在本指南中,有图像显示了如何在示例中使用特效展示了冰洞演示和Nordeus的游戏Spellsouls
    发表于 08-02 06:07

    UNITY 平台介绍

    UNITY 平台介绍
    发表于 12-25 00:26 0次下载

    ROS的含义与机器人操作系统ROS介绍

    为了说明讲清楚 ROS,我就从 ROS 是什么,为什么使用 ROS,如何使用 ROS 三个方面展开。 △出自今年《机器人视觉与应用》课程本人制作的课件 是什么
    发表于 09-26 14:08 12次下载

    ROS基本介绍

    近来找到的实习主要是做智能车控制,用到的也就是ROS机器人操作系统,ROS需要运行在一个操作系统上,这个操作系统常用的就是Linux,而公司用的就是Ubuntu,所以Ubuntu-ROS组合就是实习的主要学习内容了。所以我就新开
    的头像 发表于 05-19 17:07 5124次阅读
    <b class='flag-5'>ROS</b>基本<b class='flag-5'>介绍</b>

    ROS/ROS 2 介绍

    ROS是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。ROS的原型源自斯坦福大学的STanford
    的头像 发表于 05-19 17:45 3465次阅读
    <b class='flag-5'>ROS</b>/<b class='flag-5'>ROS</b> 2 <b class='flag-5'>介绍</b>

    ROS部署PaddlePaddle的CV模型

    paddle_inference_ros_demo功能包是基于paddle_inference_ros开发的,帮助开发者快速体验paddle_inference在ROS环境下的推理部署效果的功能包。可以直接进入该项目
    的头像 发表于 10-20 17:02 298次阅读
    <b class='flag-5'>ROS</b>部署PaddlePaddle的CV模型

    如何初始化ROS并创立链接

    ROS1完成了介绍。 对ROS的Simulink支持包括一个Simulink块库,用于为指定的主题发送和接收
    的头像 发表于 11-15 17:26 259次阅读
    如何初始化<b class='flag-5'>ROS</b>并创立<b class='flag-5'>链接</b>

    如何将消息导入Unity

    自定义msg 将消息导入Unity的步骤如下所示: 1.Unity的菜单“Robotics→Generate ROS Messages…”选择。 2.在“ROS message pat
    的头像 发表于 11-17 17:26 224次阅读
    如何将消息导入<b class='flag-5'>Unity</b>

    UnityROS的Service话题介绍

    “AddTwoIntsServer”,添加新的脚本“AddTwoIntsServer” using UnityEngine; using Unity.Robotics.ROSTCPConnector; using
    的头像 发表于 11-17 17:36 273次阅读
    <b class='flag-5'>Unity</b>与<b class='flag-5'>ROS</b>的Service话题<b class='flag-5'>介绍</b>

    ROS核心框架介绍

    ROS核心框架 对于第一个问题,我也没仔细研究过源码,核心代码基本由python和C++组成,运用了xmlrpc机制,每个运行的节点可以理解成一个进程。进程间通讯有些是共享内存的方式(比如
    的头像 发表于 11-21 18:07 483次阅读
    <b class='flag-5'>ROS</b>核心框架<b class='flag-5'>介绍</b>

    ros1和ros2的通信模型

    ros1: talker 注册 listener 注册 ROS Master 进行信息匹配 listener 发送链接请求 talker 确认请求 建立连接 talker 给 listener
    的头像 发表于 11-27 11:26 329次阅读
    <b class='flag-5'>ros</b>1和<b class='flag-5'>ros</b>2的通信模型