Modeling and Simulation
Vol. 12  No. 03 ( 2023 ), Article ID: 65696 , 11 pages
10.12677/MOS.2023.123222

基于ROS和Unity的自动导航小车状态监控研究

王超,鲁玉军

浙江理工大学机械工程学院,浙江 杭州

收稿日期:2023年3月23日;录用日期:2023年5月16日;发布日期:2023年5月23日

摘要

针对传统仓储物流工厂中普遍存在借助于人力完成产品的存储和搬运、人力成本高昂且浪费严重、智能化程度低等情况,提出一种将ROS平台与Unity开发软件相结合的方法来智能监控AGV运行,提高工厂智能化,提高效率。通过构建数字孪生体,实现虚拟AGV和真实AGV的实时交互,完成以虚映实、以虚控实。建立真实AGV的虚拟模型,ROS系统作为服务端安装ROS-TCP-Endpoint服务,Unity作为客户端安装ROS-TCP-Connector服务,完成数据互通,最终在Unity中开发出状态监控系统。通过该系统,促进人与机器高效合作,降低错误产生的可能,利用数据交互进行仿真,更加直观地对AGV进行分析和优化,进而提高仓储物流工厂的工作效率。

关键词

ROS,Unity,AGV,数字孪生,仓储物流

Research on Status Monitoring of Autonomous Navigation Vehicle Based on ROS and Unity

Chao Wang, Yujun Lu

School of Mechanical Engineering, Zhejiang Sci-Tech University, Hangzhou Zhejiang

Received: Mar. 23rd, 2023; accepted: May 16th, 2023; published: May 23rd, 2023

ABSTRACT

In view of the common situations in traditional warehousing and logistics factories that rely on manpower to complete product storage and handling, high labor costs and serious waste, and low intelligence, a method combining ROS platform and Unity development software is proposed to intelligently monitor AGV operation, improve factory intelligence, and improve efficiency. By constructing a digital twin, real-time interaction between virtual AGVs and real AGVs is realized, and virtual mapping and virtual control of reality are achieved. Establish a virtual model of a real AGV, install the ROS-TCP-Endpoint service on the ROS system as the server, and install the ROS-TCP-Connector service on the Unity client to complete data exchange. Finally, a status monitoring system in Unity is developed. Through this system, we can promote efficient cooperation between people and machines, reduce the possibility of errors, utilize data interaction for simulation, and more intuitively analyze and optimize AGVs, thereby improving the efficiency of warehousing and logistics factories.

Keywords:ROS, Unity, AGV, Digital Twin, Warehousing Logistics

Copyright © 2023 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

传统的仓储物流工厂主要是借助于人力完成产品的存储和搬运 [1] ,人力成本高昂且浪费严重,劳动效率低下,智能化程度低,同时随着货物的增加,该模式会严重影响正常的运转工作。实体经济和快速发展的网络信息技术正在不断融合,在工业行业中数字化、网络化、智能化发展十分迅速,产生了新模式和新业态的制造业数字化转型的方法,其中一个重要方法就是数字孪生 [2] [3] 。

数字孪生这一概念最早由Michael Grieves [4] 在密歇根大学的PLM课堂上提出,指的是从产品的设计到制造、使用到维修、开始服务到最终被回收的整个流程。Klaus Schützer等学者合作研发基于产品生命周期的数字孪生模型,同步数据并建立文档,为企业提供相关指导方案 [5] 。T. G. Ritto和F. A. Rochinha [6] 研究了多种物理模型的损伤结构场景,建立孪生模型并分析各种操作条件对模型的影响,利于工程实际运用推广。国内也有大量学者对其进行了相关研究。陶飞等针对物理世界和虚拟世界信息交互问题提出了数字孪生车间的概念 [7] ,并基于此探讨相关实现理论与方法。2019年,陶飞及其团队为推动数字孪生技术的进一步深入运用,扩展已有的三维模型,提出了数字孪生五维模型概念 [8] 。蒋爱国等融合人工智能与大数据,基于数字孪生五维模型建立智能监测系统,完成对海上钻井平台的监测 [9] 。胡阳等针对复杂大型风电机组建立数字孪生仿真系统,实现对风电机组的在线实时仿真 [10] 。

数字孪生作为一个概念性的理论逐渐被工业界以及学术界采纳,这一概念,从其本质来说是以数字化形式对物理实体进行模拟,完成以虚映实、以虚控实、以虚预实、以虚优实等功能服务 [11] 。综合以上研究,本文将数字孪生技术与AGV相结合,针对传统仓储车间的效率低下的问题,建立AGV状态监控系统,促进人与机器高效合作,降低工作错误的产生,利用数据交互进行仿真,更加直观地对AGV物理实体进行分析和状态监控,提高生产效率。

2. AGV状态监控系统五维结构模型建立

结合数字孪生五维结构模型及其标准体系 [12] ,本文以AGV为研究对象,提出AGV状态监控系统五维架构,并进行AGV的数字孪生建模技术研究,创建相对应的数字孪生虚拟模型。通过该技术,完成对AGV的可视化监测以及智能控制。

AGV状态监控系统的五维结构模型如下图1所示:

Figure 1. Five dimensional structural model of AGV condition monitoring system

图1. AGV状态监控系统五维结构模型

五维结构模型公式为MDT = (PE, VE, Ss, DD, CN),MDT表示建立的孪生模型,由PE、VE、Ss、DD、CN共同组成。其中PE表示现实世界中的物理实体,VE表示相对于物理实体建立而成的虚拟模型,Ss表示结合物理实体和虚拟模型等创建的全生命周期服务系统,DD表示物理实体和虚拟模型在运行过程中产生的各种孪生数据,CN表示上述各部分之间的连接。

3. AGV模型与通讯连接的建立

1) AGV模型的建立

本文主要目的为构建AGV的数字孪生模型,由此需设计确定AGV的车身结构、控制系统、传感器模块、驱动系统、动力系统 [13] 。

根据研究需要本文选择XTARK-MECX2,具体研究的AGV硬件架构如下图2所示:

Figure 2. AGV hardware architecture diagram

图2. AGV硬件架构图

AGV实体如下图3所示:

Figure 3. AGV entity

图3. AGV实体

对实体进行精准的映射和对模型进行更进一步的迭代优化是数字孪生的两个特点,利用这两个特点,可以得出AGV的数字孪生体就是AGV的数字孪生虚拟模型。本文采用SolidWorks [14] 、3dMax、Unity软件设计混合模型,建模过程如下图4所示:

Figure 4. 3D modeling process

图4. 三维建模流程

本文对AGV进行仿真的Unity软件版本为2021.3.18flcl,建模完成后在Unity环境AGV虚拟模型展示如下图5所示:

Figure 5. Unity environment AGV virtual model presentation

图5. Unity环境AGV虚拟模型展示

2) 通讯连接的建立

ROS与Unity的通信,ROS端需要下载ROS-TCP-Endpoint服务,下载后在ROS的工作空间编译该文件,使得该文件生效;Unity端需要配置ROS-TCP-Connector服务,下载后需要将其加载到Unity工程配置里,然后进行相应的环境变量配置。需要注意的是ROS服务端与Unity客户端的连接IP地址须保持一致,从而使得通讯能够正常建立,进而传输相关数据。通过该配置操作,完成TCP通讯的建立,为后续系统开发做准备。

4. AGV状态监控系统实现

4.1. 监控系统功能设计

本文设计的AGV状态监控系统界面显示多个方面的内容,如下图6所示,分别为① AGV运动信息、② 菜单项、③ AGV运动画面、④ 指示灯状态、⑤ AGV运动控制、⑥ 点击菜单栏出现的具体信息。其中运行状态包含有移动速度、转动速度、当前运动方向等信息;指示灯状态包括系统运行状态灯和电池状态灯;菜单项包括基本信息、减速器信息、激光雷达、深度相机等信息,点击对应的菜单项,界面将弹出相应的信息;AGV运动画面将展示AGV的实时运动情况。

Figure 6. AGV status monitoring system interface

图6. AGV状态监控系统界面

系统包括了以下功能:可视化交互、实时监测、运动控制。

1) 可视化交互功能便于用户快速了解物理实体AGV的基础数据,AGV实时运动数据、动态调控算法以及搭载的各类传感器配置参数。通过点击界面上相关按键即可出现对应内容。

2) 实时监测功能实现了界面中虚拟模型对物理实体的完全映射,通过系统界面即可多方位多角度观察实体AGV的运动情况,为用户进一步维护、管理物理实体AGV提供依据。

3) 运动控制功能实现了通过AGV状态监控系统对AGV物理实体的控制,满足用户通过系统远程调度控制物理实体的功能需求。

4.2. 监控系统功能实现与展示

1) 可视化交互

菜单项包括了AGV物理实体的基本信息、及其上搭载的减速电机、激光雷达、深度相机等信息。鼠标点击相应的菜单项按键,相关信息将在系统右下角弹出并进行展示。

图6所示,即为点击“基本信息”出现的结果。

2) 实时监测

① 监控系统界面右上方配置有两个指示灯,绿色灯标识运行状态,红色灯标识电池电量状态。正常运行状态下,绿色灯常量。进入低电压保护状态时,绿色灯熄灭。如图6中AGV正常运行,绿色灯常亮、红色灯熄灭。

红色灯标识电量状态,共有三种状态,如下表1所示:

Table 1. AGV indicator status

表1. AGV指示灯状态

② AGV的运动信息是通过订阅话题“/odom”来实时获取的。如下图7为“/odom”的消息内容,包含了AGV物理实体位置pose.position和姿态pose.orientation,其中position就是用以控制AGV运动方向,orientation就是用以控制AGV转动方向。

Figure 7. AGV motion data

图7. AGV运动数据

相关运动监测画面如下图8~11所示:

Figure 8. AGV stationary

图8. AGV静止

Figure 9. AGV left rotation

图9. AGV左旋转

Figure 10. AGV right rotation

图10. AGV右旋转

Figure 11. AGV advance

图11. AGV前进

③ 运用Unity功能中NavMeshPath的导航组件来实现Unity客户端控制AGV运动的功能 [15] ,即通过定义NavMeshPath类型的变量,命名为path,调用NavMesh.CalculatePath()函数将导航的起始点坐标转换为NavMeshPath类型,并保存至path变量中,path中所包含的Conner数组便存储着AGV所行驶的所有关键路径点坐标,通过比较相邻两点的坐标,就可以计算出两点的距离即所需要转动的角度,然后将该信息发布至ROS中的robot_pose_ekf/odom_combined话题中,实现从Unity客户端控制AGV的运动。

AGV的运动可以通过键盘按键,或通过点击系统界面的方向按钮进行控制。控制方式以及AGV实时运动状态如下表2所示。

Table 2. AGV motion control list

表2. AGV运动控制列表

5. AGV状态监控系统性能测试

AGV状态监控系统在Unity中开发完成后即可进行发布,但在此之前还需对系统整体性能加以测试,确保开发的监控系统能够满足预期性能需求,解决可能存在的性能问题并评估系统整体的稳定性。本文将测试开发的监控系统对于服务器系统资源的占用情况,测试采用一般标准,即长时间使用的情况下,CPU使用率可接受上限为85%,内存利用率可接受上限为85%,而对GPU的使用降低了显卡对于CPU的依赖,分担了部分CPU的工作,因此后续也将对GPU进行测试。

使用计算机相关配置如下:CPU为Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz,内存为16 GB 2666 MHz,显卡为Intel(R) UHD Graphics 630。对系统进行长时间的性能分析测试,整体测试结果如下图12所示。

选取AGV状态数字孪生监控系统整体测试结果中某段峰值时刻进行分析,由图可知CPU、GPU此时FPS皆大于30。

CPU使用率测试结果如下图13所示,峰值CPU使用率为55.6%,测试结果小于长时间使用情况下CPU使用率可接受的85%上限,满足系统使用需求。

GPU使用率测试结果如下图14所示,峰值GPU使用率为51.7%,满足系统使用需求。

内存利用率测试结果如下图15所示,使用内存445.3 MB,保留内存0.74 GB,未存储内存0.68 GB,测试结果小于长时间使用情况下内存利用率可接受的85%上限,满足系统使用需求。

Figure 12. Profiler overall monitoring results

图12. Profiler整体监测结果

Figure 13. CPU usage peak analysis

图13. CPU使用率峰值分析

Figure 14. GPU usage peak analysis

图14. GPU使用率峰值分析

Figure 15. Memory utilization analysis

图15. 内存利用率分析

6. 结论

针对传统仓储物流工厂中普遍使用人工完成相关工作,效率低下的问题,结合Unity开发引擎,搭建ROS服务端和Unity客户端的连接,依靠ROS-TCP技术实现Unity对ROS的数据的订阅。基于数字孪生五维模型开发AGV状态监控系统,实现了虚拟模型对物理实体的完全同步。完成了系统可视化交互、实时监测、运动控制等功能的实现,并对系统进行了相关测试,证明设计的监控系统具备较高的兼容性与可靠性,为仓储控制智能化管理提供了很好的帮助与支持。

基金项目

浙江省重点研发计划项目(No. 2020C01084, No. 2021C01071)。

文章引用

王 超,鲁玉军. 基于ROS和Unity的自动导航小车状态监控研究
Research on Status Monitoring of Autonomous Navigation Vehicle Based on ROS and Unity[J]. 建模与仿真, 2023, 12(03): 2421-2431. https://doi.org/10.12677/MOS.2023.123222

参考文献

  1. 1. 刘潇. 麦克纳姆轮驱动的仓储机器人定位方法研究[D]: [硕士学位论文]. 哈尔滨: 哈尔滨工业大学, 2020.

  2. 2. 刘阳. 数字孪生是驱动制造业数字化转型重要力量[N]. 人民邮电, 2019-11-26(006).

  3. 3. Cattaneo, L. and Macchi, M. (2019) A Digital Twin Proof of Concept to Support Machine Prognostics with Low Availability of Run-to-Failure Data. IFAC-PapersOnLine, 52, 37-42. https://doi.org/10.1016/j.ifacol.2019.10.016

  4. 4. Grieves, M. (2006) Product Lifecycle Management-Driving the Next Generation of Lean Thinking. McGraw Hill, New York.

  5. 5. Schützer, K., Bertazzi, J., Sallati, C., et al. (2019) Contribution to the Development of a Digital Twin Based on Product Lifecycle to Support the Manufacturing Process. Procedia CIRP, 84, 82-87. https://doi.org/10.1016/j.procir.2019.03.212

  6. 6. Ritto, T.G. and Rochinha, F.A. (2021) Digital Twin, Physics-Based Model, and Machine Learning Applied to Damage Detection in Structures. Mechanical Systems and Signal Processing, 155, Article ID: 107614. https://doi.org/10.1016/j.ymssp.2021.107614

  7. 7. 陶飞, 张萌, 程江峰, 等. 数字孪生车间——一种未来车间运行新模式[J]. 计算机集成制造系统, 2017, 23(1): 1-9.

  8. 8. 陶飞, 刘蔚然, 张萌, 等. 数字孪生五维模型及十大领域应用[J]. 计算机集成制造系统, 2019, 25(1): 1-18.

  9. 9. 蒋爱国, 王金江, 谷明, 等. 数字孪生驱动半潜式钻井平台智能技术应用[J]. 船海工程, 2019, 48(5): 49-52+55.

  10. 10. 胡阳, 王蔚然, 房方, 等. 风电机组运行动态数字孪生建模及半物理仿真[J/OL]. 系统仿真学报, 2023: 1-12. https://doi.org/10.16182/j.issn1004731x.joss.22-1307, 2023-03-15.

  11. 11. 陶飞, 马昕, 戚庆林, 等. 数字孪生连接交互理论与关键技术[J]. 计算机集成制造系统, 2023, 29(1): 1-10.

  12. 12. 陶飞, 马昕, 胡天亮, 等. 数字孪生标准体系[J]. 计算机集成制造系统, 2019, 25(10): 2405-2418.

  13. 13. 张汉斌. 用于电商配送中心的物流仓储搬运机器人(AGV)的研究[D]: [硕士学位论文]. 北京: 北京物资学院, 2014.

  14. 14. 李自春, 孙玉和, 马敬亭, 等. Solidworks三维制图在线缆行业应用的探讨[J]. 电线电缆, 2019(4): 21-23+30.

  15. 15. 张朝兴, 刘忠跃, 田龙淼, 郭伦, 王怡欣. 基于ROS-Unity的移动机器人虚实交互场景构建方法的研究[J]. 人工智能与机器人研究, 2020, 9(4): 217-231.

期刊菜单