Unity-Robotics-Hub与ROS配置

Unity-Robotics-Hub与ROS配置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、环境配置
  • 二、通信配置
    • 1.unity端
    • 2.ubuntu端
    • 3.unity与ros联动,发布者/订阅者/服务
  • 总结

前言

记录在参考网上的资料配置unity-robotics-hub时遇到的一些问题,以便之后再次配置


一、环境配置

  1. 安装unity

在ubuntu系统中安装unityhub和unity editor
命令行安装unityhub

https://docs.unity3d.com/hub/manual/InstallHub.html#install-hub-linux
  1. 建立ros工作空间
    下载unity-robotics-hub包备用
    创建catkin_unity工作空间,下载ROS-TCP-Endpoint包放入src中,将 ros_packages中的unity_robotics_demo 和 unity_robotics_demo_msgs也复制到 src 中,如图所示
    在这里插入图片描述

在这里插入图片描述
在catkin文件夹下执行catkin_make,最后执行source devel/setup.bash

  1. 配置unity
    从github下载ros-tcp-connector和urdf-importer两个包
https://github.com/Unity-Technologies/ROS-TCP-Connector.git?path=/com.unity.robotics.ros-tcp-connector
https://github.com/Unity-Technologies/URDF-Importer

在这里插入图片描述

unity新建项目,打开包管理器 windows->package manager
“Window” ——“Package Manager ” —— “+”—— “Add package from disk…”
然后,选择自己下载到的本地路径,找到package的JSON源文件,点击打开(添加)

在这里插入图片描述
工具栏会出现robotics选项

二、通信配置

1.unity端

ubuntu系统下ifconfig查询ros地址,在unity的robotics中的ros settings更改ros ip,端口默认10000
在这里插入图片描述
在unity的robotics中ros message browser中添加ros message path,选择tutorials/ros_unity_integration/ros_packages/unity_robotics_demo_msgs文件夹,最后再Build两个一下(为了换成C#文件)
在这里插入图片描述

2.ubuntu端

运行

```bash
roslaunch ros_tcp_endpoint endpoint.launch tcp_ip:=192.168.**.** tcp_port:=10000
(地址为ifconfig查询得到)

3.unity与ros联动,发布者/订阅者/服务

在unity中创建c#脚本,并挂载到物体上,通过脚本控制物体运动,参考

https://www.guyuehome.com/40934
https://www.guyuehome.com/41408

后续需回顾ros相关知识/机械臂相关控制代码

总结

前人的经验总结足够丰富,慢慢来即可
参考资料:
ROS与unity通信配置过程详解
敢敢wing的古月居主页
宇宙爆肝锦标赛的古月居主页