您当前的位置: 首页 >  unity

鱼香ROS

暂无认证

  • 0浏览

    0关注

    498博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ROS2 For Unity:高性能的通信解决方案

鱼香ROS 发布时间:2022-02-07 16:37:44 ,浏览量:0

机器人学习资源:鱼香ROS官网 QQ交流群:139707339 教学视频地址:小鱼的B站 公众号:鱼香ROS 版权声明:如非允许禁止转载与商业用途。 公众号

开源地址:https://github.com/RobotecAI/ros2-for-unity

Ros2 For Unity

ROS2 For Unity是一个高性能的通信解决方案,以ROS2 "原生 "方式连接Unity3D和ROS2生态系统。通信不是像其他几个解决方案那样的桥接,而是使用ROS2中间件栈(rcl层及以下),这意味着你可以在你的模拟中拥有ROS2节点。 这个模块的优点包括。

  • 高性能–与桥接解决方案相比,有更高的吞吐量和更低的延迟。
  • 你的模拟实体是真正的ROS2节点/发布者/订阅者。它们将正确使用命令行工具,如ros2 topic。它们遵循QoS设置并可以使用ROS2的native time。
  • 该模块提供了抽象和工具,可以在你的Unity项目中使用,包括转换、传感器接口、时钟、被MonoBehavior包裹的旋转循环,处理初始化和关闭。
  • 支持所有标准的ROS2消息
  • 自定义消息在构建时自动生成,使用标准的ROS2方式。生成和使用它们是很简单的,不需要手工定义.cs等价物。
  • 该模块被包装成一个Unity的asset。
平台

支持的操作系统。

  • Ubuntu 20.04 (bash)
  • Windows 10 (powerhell)

支持的ROS2发行版。

  • Foxy
  • Galactic

经测试的Unity3D版本:2021.1.7f1。

仅适用于Windows,该资产可以以两种方式准备。

  • 独立的(在目标机器上不需要安装ROS2,例如你的Unity3D模拟服务器)。所有需要的依赖都已安装,例如可以作为一套完整的Unity3D插件使用。
  • 覆盖(假设目标机上已有(支持)ROS2安装)。只有资产库和生成的信息被安装。
发布

快速启动的最好方法是使用我们的版本。

你可以下载预先建立的版本的资产,支持两个平台和特定的ros2和Unity3D版本。

构建

注意:该项目将把ros2cs拉入工作区,它也独立运作,因为它是一个更通用的项目,针对任何C#/.Net环境。 它有自己的README和脚本,但对于构建Unity asset,请使用本文档中的说明和脚本,除非你也想运行ros2cs的测试或例子。

请看特定操作系统的说明。

  • Ubuntu 20.04的说明
  • Windows 10的说明
使用方法
  1. 执行操作系统特定的readme中描述的构建步骤或下载预构建的Unity包。不要为ros2-for-unity或ros2cs提供源代码。
  2. 打开或创建Unity项目。
  3. 在菜单栏(Unity窗口的顶部)进入Assets。
  4. 选择 “导入包"→"自定义包”。确保资产名称是Ros2ForUnity,并且直接在Assets文件夹中。
  5. 在文件浏览器中,选择由create_unity_package脚本建立的.unitypackage文件(默认位于install/unity_package中),并按照屏幕上的指示操作。
  6. 创建一个包含ROS2UnityComponent.cs的顶层对象。这是 "ROS2 For Unity "的中心Monobehavior,管理所有的节点。详情请参考类文件。
  7. 将示例脚本添加到层次标签中的任何对象,例如,将ROS2TalkerExample.cs拖到检查器标签中的对象。
  8. 在层次结构标签中选择另一个对象,用ROS2ListenerExample.cs添加重复上一步。
  9. 一旦你在Unity中启动项目,你应该能够在Unity编辑器的控制台中看到两个节点在互相交谈,或者使用ros2 topic listros2 topic echo /chatter来验证ros2通信。
Acknowledgements

ROS2 For Unity的开源版本是通过与Tier IV合作实现的。由于Tier IV的鼓励、支持和需求驱动,该项目在可移植性、稳定性、核心结构和用户友好性方面得到了极大的改善。

关注
打赏
1666092100
查看更多评论
立即登录/注册

微信扫码登录

0.1729s