Unity和ROS通讯的机械臂

Unity和ROS之间的通讯包

参考及引用

1. Github源码地址

①Unity和ROS之间的通讯

https://github.com/Unity-Technologies/Unity-Robotics-Hub 快速链接

②一个ROS包(用于接收从Unity场景发送的ROS消息)

https://github.com/Unity-Technologies/ROS-TCP-Endpoint 快速链接

③两个导入到Unity的包

a. 用于从ROS发送/接收消息的ROS TCP Connector和用于在Unity场景中添加传入和传出消息的可视化的Visualizations Package
https://github.com/Unity-Technologies/ROS-TCP-Connector 快速链接
b. 导入URDF到Unity(好像Unity自带,但重新本地导入了一遍)
https://github.com/Unity-Technologies/URDF-Importer快速链接

3. Unity文档关于本地文件导入到Unity

https://docs.unity3d.com/Manual/upm-ui-local.html快速链接

4. Plastichub网址

https://plastichub.unity.cn/unity-tech-cn/Unity-Robotics-Hub快速链接

————————————————————————————————————————————

一、两个Unity需要用到的包

1. 安装ROS-TCP-Connector包

采用本地路径添加的方法
https://github.com/Unity-Technologies/ROS-TCP-Connector快速链接
下载zip文件后解压缩到自己所放置的文件路径
在这里插入图片描述

新建一个项目,“Window” ——“Package Manager ” —— “+”—— “Add package from disk…”
然后,选择自己下载到的本地路径,找到package的JSON源文件,点击打开(添加)
在这里插入图片描述

在这里插入图片描述

在“Package Manager ”会看到添加成功,里面包括版本、路径等信息。
在这里插入图片描述

2. 安装URDF-Importer包

采用本地路径添加的方法
https://github.com/Unity-Technologies/URDF-Importer快速链接
下载zip文件后解压缩到自己所放置的文件路径
“Window” ——“Package Manager ” —— “+”—— “Add package from disk…”
然后,选择自己下载到的本地路径,找到package的JSON源文件,点击打开(添加)
方法同上。

二、Github源码上的教程

1. Pick-and-Place

网址:https://plastichub.unity.cn/unity-tech-cn/Unity-Robotics-Hub/src/branch/main…/tutorials/pick_and_place/README.md
快速链接
翻译:
ROS提供消息传递、包管理、底层设备控制和硬件抽象等服务。
Unity Robotics Hub能够支持导入URDF文件,并在ROS和Unity之间发送和接收消息。
本教程将介绍将ROS与Unity集成所需的步骤,从安装Unity编辑器到使用导入的URDF创建场景,到使用MoveIt轨迹规划完成带有已知姿势的拾取和放置任务。

2. Object Pose Estimation Demo

网址:https://github.com/Unity-Technologies/Robotics-Object-Pose-Estimation
快速链接

3. Articulations Robot Demo

网址:https://github.com/Unity-Technologies/articulations-robot-demo
快速链接

由于里面有详细的教程,因此按照教程跑一遍就可以了。这里只记录个人遇到的一些问题。

三、遇到的问题及解决办法

1. Unity版本问题

因为历程中用到了开源的机械臂模型,因此,要用合适的版本才能打开。

Unity 2020.3: 2020.3.10f1 or later
Unity 2021.1: 2021.1.8f1 or later
Unity 2021.2: 2021.2.a16 or later

2. Unity场景问题

一开始自己从头弄的一个场景一直走到Part 3,结果在最后,ROS不能实现对Unity机械臂的路径规划和抓取,终端出现报错

[ERROR] [1668429397.373772594]: RRTConnect: Unable to sample any valid states for goal tree

后来换了场景重新再走一遍历程才成功。
因此在Part 1里,导入了Projects以后
如图,得选择到该场景才适合接着进行。
在这里插入图片描述

3. 遇到下载Github源码时,有些文件为空的

解决办法可以根据教程进行补救,原教程很详细地说了。
我这里用了最直接的方法,把他们一个一个模块拆分下载再粘贴回去。
第一个:moveit_msgs
https://github.com/ros-planning/moveit_msgs快速链接

第二个:niryo_one_ros
https://github.com/NiryoRobotics/niryo_one_ros快速链接

第三个:ROS-TCP-Endpoint
https://github.com/Unity-Technologies/ROS-TCP-Endpoint快速链接

以上三个都是在Unity-Robotics-Hub/tutorials/pick_and_place/ROS/src/路径下

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>