CN116389513B - 基于云架构的多机器人视觉协同通信控制方法及系统 - Google Patents
基于云架构的多机器人视觉协同通信控制方法及系统 Download PDFInfo
- Publication number
- CN116389513B CN116389513B CN202310609782.8A CN202310609782A CN116389513B CN 116389513 B CN116389513 B CN 116389513B CN 202310609782 A CN202310609782 A CN 202310609782A CN 116389513 B CN116389513 B CN 116389513B
- Authority
- CN
- China
- Prior art keywords
- control unit
- cloud
- information
- terminal system
- mechanical arm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 230000005540 biological transmission Effects 0.000 claims description 42
- 238000007726 management method Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 17
- 230000033001 locomotion Effects 0.000 claims description 16
- 238000007781 pre-processing Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 230000007797 corrosion Effects 0.000 claims description 7
- 238000005260 corrosion Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 238000003708 edge detection Methods 0.000 claims description 4
- 230000003190 augmentative effect Effects 0.000 claims description 3
- 238000004064 recycling Methods 0.000 claims description 3
- 230000026676 system process Effects 0.000 abstract 1
- 238000004519 manufacturing process Methods 0.000 description 20
- 238000013461 design Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000007599 discharging Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 206010063385 Intellectualisation Diseases 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 125000003275 alpha amino acid group Chemical group 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000699 topical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Manipulator (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了基于云架构的多机器人视觉协同通信控制方法及系统,包括:通过设备端工业网关对控制单元进行通讯信息收发,将采集到的控制单元信息发送到边缘端子系统通讯节点;边缘端子系统通讯节点中的活跃控制单元检测模块根据接收到的活跃控制单元信息,边缘端子系统通讯节点中的子线程组生成模块生成对应活跃ID的子线程组,并向云端子系统请求云服务;云端子系统根据接收到的边缘端子系统通讯节点云服务请求,通过容器对控制单元的信息进行处理,云端子系统的容器管理模块以设定的频率查询动态ID库,并与云端子系统正在运行的容器的ID号进行比对,根据比对结果控制对应ID的容器的开启和关闭,完成通信控制。
Description
技术领域
本发明涉及智能工厂领域,具体是基于云架构的多机器人视觉协同通信控制方法及系统。
背景技术
云制造是面向服务的网络化智能制造新模式,在网络化制造和服务技术基础上融合了云计算、边缘计算、高性能计算、物联网等技术,具有物联化、协同化、服务化、智能化等典型特征。云制造已经成为我国制造企业应对知识经济与制造全球化挑战的关键技术,正逐渐催生出基于“云边端协同”架构的智能工厂新模式。然而,作为智能工厂的关键一环,多机器人智能上下料系统仍发展缓慢。
目前,智能化程度较高的多机器人上下料动作大多数是通过本地部署上料AGV、机械臂、下料AGV和摄像头等多模块而实现的,为此,每个控制单元都需要独立装配成本较高的定位系统和协作系统,一般企业难以承担相关改造成本和维护成本,导致此类智能化上下料技术既不易推广应用,又无法满足我国制造企业实现云制造的需求。
目前,国内外学者已经广泛开展了在提高多机器人上下料智能化程度方面的研究,改进主要分为两个方向。一是提高机械臂工作智能化,包括夹具升级、碰撞监测、轨迹规划、基于生产节拍的工作规划等方面;二是引入除机械臂外的其他智能装置,包括引入视觉传感器、AGV、智能工作站等。但上述两个方向均仅考虑了单一控制单元的智能化,导致单个控制单元成本较高且各控制单元之间缺乏必要的配合,可推广性和智能化水平仍然受限,还无法适用于云制造下的无人化上下料控制。在近几年研究中,虽然可参考的关于云制造上下料系统的研究还相对较少,但在整个制造业领域内已有基于云平台或云端系统来解决云制造相关问题的研究。如基于Kubernetes与Docker容器技术,设计实现了建筑机器人任务云平台系统,可以满足建筑机器人项目开发及部署的基本需求;使用RMTP(Real TimeMessage Protocol,实时信息传输协议)将摄像头采集到的图像上云,使用了Vue、SpringBoot等框架进行前后端开发实现本地和云端的通信,设计实现了面向云制造的工业机器人远程监控系统,能较好地满足云制造环境下不同角色用户对工业机器人的远程监控和简单的控制需求;基于Kafka消息中间件实现车间数据在本地和云端的传输,研究开发了云制造环境下车间生产大数据处理系统,实现了对车间生产的智能化改造。然而,由于这些研究并不直接面向多机器人协作上下料的具体工业场景,在多控制单元并行可靠性、云/边端通信控制智能性、数据传输实时性和视频传输高效性等方面还不能直接用于多机器人上下料环节,因此,还有必要对面向云制造的多机器人上下料系统及其通讯网络展开进一步研究。
发明内容
本发明的目的在于克服现有技术的不足,提供基于云架构的多机器人视觉协同通信控制方法,包括:
通过设备端工业网关对控制单元进行通讯信息收发,将采集到的控制单元信息发送到边缘端子系统通讯节点;
边缘端子系统通讯节点中的活跃控制单元检测模块根据接收到的控制单元信息,判断控制单元是否为活跃控制单元,若为活跃控制单元,则将活跃控制单元的ID存储至边缘端子系统的活跃ID库,活跃ID库与云端子系统中的动态ID库进行同步,云端子系统的容器管理模块根据动态ID库中ID生成对应ID号的容器;边缘端子系统通讯节点中的子线程组生成模块生成对应活跃ID的子线程组,并向云端子系统请求云服务;
云端子系统根据接收到的边缘端子系统通讯节点云服务请求,得到控制单元ID号,通过云端子系统的动态ID库查询得到的控制单元ID号,若查询到控制单元ID号,则边缘端子系统中相同ID号的子线程组与云端子系统中相同ID号的容器相连,通过容器对控制单元的信息进行处理,并回传给边缘端子系统通讯节点连接成功信息;若在设定的时长内未查询得到控制单元ID号,则回传给边缘端子系统通讯节点连接失败信息;
云端子系统的容器管理模块以设定的频率查询动态ID库,并与云端子系统正在运行的容器的ID号进行比对,根据比对结果控制对应ID的容器的开启和关闭,完成通信控制。
进一步的,所述的边缘端子系统通讯节点中的活跃控制单元检测模块根据接收到的控制单元信息,判断控制单元是否为活跃控制单元,包括:
步骤一,在相机视场内预设的方位设置出口标志和入口标志,通过相机实时采集视场内的图像;
步骤二,通过边缘端子系统的边缘端视场图像监测模块检测相机采集到的图像,检测AGV是否进入入口标志,若监测到AGV进入入口标志,则活跃控制单元检测模块判断该AGV的控制单元为活跃控制单元,将该活跃控制单元的ID号存储到活跃ID库;所述的AGV为自动导向车;
步骤三,通过边缘端子系统的边缘端视场图像监测模块,继续检测相机采集到的图像,检测AGV是否进入出口标志,若监测到AGV进入出口标志,则检测机械臂是否工作,若机械臂停止工作,则将该活跃控制单元置为非活跃控制单元,同时将活跃ID库内的该控制单元的ID移除。
进一步的,所述的通过边缘端子系统的边缘端视场图像监测模块检测相机采集到的图像,检测AGV是否进入入口标志,包括:
未工作时,边缘端视场图像监测模块对采集到的图像进行预处理,得到灰度图像,对灰度图进行二值化处理,得到二值化后的灰度图像;
对二值化后的灰度图像进行腐蚀操作,通过设定结构元素对二值化后的灰度图像中的每一个像素,将结构元素的中心点与像素对齐,将结构元素与该像素邻域内的像素逐个进行逻辑与操作,如果所有像素的值都为1,则中心像素的值不变,否则中心像素的值被设置为0;
完成腐蚀操作后,对二值化图像进行边缘检测,完成对入口标志区域的识别,得到模板图像;
在工作过程中,边缘端子系统对采集得到的图像经过预处理后,剪裁出模板图像的图像范围,再与模板图像通过方差匹配方法进行模板匹配操作,得到匹配结果,若得到的值大于设定的阈值,则判定有AGV遮挡了入口标志或出口标志,即有AGV进入视场或即将离开视场;所述的匹配结果为:
式中,表示模板图像中的像素值,/>表示目标图像中的像素值。
进一步的,所述的检测机械臂是否工作包括:通过检测机械臂上设置的AR Tag是否在相机视场内,若在视场内,则机械臂在工作,否则,机械臂则未工作;所述的AR Tag为增强现实标签。
应用所述的基于云架构的多机器人视觉协同通信控制方法的基于云架构的多机器人视觉协同通信控制系统,包括设备端模块、设备端工业网关、边缘端子系统、云端子系统,所述的设备端模块与所述的设备端工业网关通信连接;所述的设备端工业网关、边缘端子系统、云端子系统依次通信连接;
所述的设备端模块包括控制单元,所述的控制单元用于采集机械臂与AGV相对位置的图像、发送机械臂状态信息、接收机械臂和AGV的控制指令;
所述的边缘端子系统管理多个控制单元,用于向云端子系统发送服务请求、预处理图像信息、视频信息、机械臂状态信息、接收并向控制单元分发云端子系统发送的机械臂和AGV的控制指令;
所述的云端子系统用于接收边缘端子系统发送的服务请求后,生成和管理对应控制单元的容器并进行加密,在各个容器内对对应控制单元控制的机械臂与AGV相对位置的图像信息处理、接收机械臂状态信息和下发机械臂和AGV的控制指令。
优选的,所述的设备端模块包括控制单元、AGV、机械臂,控制单元包括视频获取接口、AGV运动控制接口以及机械臂运动控制接口;所述的视频获取接口用于获取相机采集的现场视频信息以及机械臂与AGV相对位置的图像信息,所述的AGV运动控制接口用于传输AGV的控制指令,所述的机械臂运动控制接口用于传输机械臂的控制指令。
优选的,所述的边缘端子系统包括边缘端子系统通讯节点、设备管理模块;
边缘端子系统通讯节点包括子线程组生成模块、活跃控制单元检测模块、活跃ID库;
所述的设备管理模块用于将位于同一个控制单元内的机械臂和相机进行绑定,形成一个由边缘端子系统进行管理的控制单元,每个控制单元赋予一个不重复的ID号;
所述的活跃控制单元检测模块用于获取控制单元内的相机采集的图像,对图像进行识别并得到控制单元的活跃状态,根据控制单元的活跃状态以及控制单元的ID,动态更新边缘端子系统的活跃ID库,云端子系统的云端动态ID库以设定的频率与边缘端子系统的活跃ID库进行同步;
所述的子线程组生成模块则用于生成对应活跃控制单元ID的子线程组,子线程组中包括与ID对应的两个子线程,一个用于处理参数信息,另一个用于处理视频信息;所述的子线程组与云端子系统的相同ID的容器进行通信连接。
优选的,所述的云端动态ID库是一个记录边缘端子系统当前活跃控制单元ID的库,以设定的频率向边缘端子系统的活跃ID库发送同步请求并解析回传数据,动态更新当前边缘端子系统的所有活跃控制单元ID,使云端子系统容器与活跃控制单元一一对应。
优选的,还包括:当活跃控制单元检测模块检测到控制单元状态变为非活跃时,则回收对应的子线程组。
优选的,所述的云端子系统包括云端子系统通讯接口、容器管理模块;所述的容器管理模块用于生成和回收容器,所述的容器包括加密验证节点、控制解算节点、信息接收节点和信息传输节点;
云端子系统通讯接口包括动态ID库、同步请求模块;所述的同步请求模块用于动态ID库和活跃ID库之间ID号同步;
云端子系统通讯接口根据接收到的边缘端子系统通讯节点云服务请求,解析该请求的控制单元ID号,通过云端子系统的动态ID库查询得到的控制单元ID号,若查询到控制单元ID号,则边缘端子系统中相同ID号的子线程组与云端子系统中相同ID号的容器相连,通过容器对控制单元的信息进行处理,并回传给边缘端子系统通讯节点连接成功信息;若在设定的时长内未查询得到控制单元ID号,则回传给边缘端子系统通讯节点连接失败信息;
所述的容器管理模块根据解析出请求云服务的控制单元ID,若在动态ID库查询到对应的ID,则对应ID的容器与对应ID的子线程组进行连接;
所述的控制解算节点包括机械臂控制信息生成节点和AGV控制信息生成节点,所述的机械臂控制信息生成节点和AGV控制信息生成节点均包括了生成目标位姿子模块,所述的机械臂控制信息生成节点还包括路径规划子模块,所述的AGV控制信息生成节点还包括了速度信息生成子模块;
所述的路径规划子模块为基于ROS自带的MoveIt功能包,通过机械臂当前位姿和目标位姿子模块生成的机械臂目标位姿来进行路径规划,生成多个中间路径点并发送至信息传输节点;
所述的速度信息生成子模块将机械臂与AGV相对位置的图像中的AGV位姿与AGV目标位姿进行对比分析,生成路径点和更新AGV接近下一路径点所需的左右轮转速控制信息,并将控制信息传输至信息传输节点。
本发明的有益效果是: (1)将参数信息与视频信息分开传输。参数信息部分基于MQTT协议,提出了一种基于MQTT协议的可动态更新的MD5加密与验证方案,提高了各个子系统在接收参数信息时的安全性。视频信息部分采用了RTP/UDP协议来保证图像传输的实时性;保证了多设备云端交互的实时性和可靠性。
(2)云端子系统和边缘端子系统通信控制的智能性,边缘端子系统实时监测和对采集的图像处理和识别,根据识别结果判断控制单元活跃状态,根据控制单元的活跃状态,动态的更新控制单元ID,云端子系统和边缘端子系统之间进行活跃ID同步,云端子系统的容器基于活跃ID号匹配结果自动启停、边缘端子线程组与云端容器根据活跃ID匹配结果自动进行通信的通断,实现云端子系统和边缘端子系统之间的信息传输通断控制的智能性。
附图说明
图1为基于云架构的多机器人视觉协同通信控制方法的流程示意图;
图2为基于云架构的多机器人视觉协同通信控制系统原理示意图;
图3为出口和入口标志示意图,其中(a)为两线型黑色色带结构作为AGV入口标识,(b)为三线型黑色色带结构作为AGV出口标识;
图4为基于云架构的多机器人视觉协同通信控制系统实施示意图;
图5为可动态更新的MD5加密与验证流程示意图;
图6为视频传输流程图;
图7为设备端通信网络架构图;
图8为云端子系统主体部分程序流程图;
图9为云端子系统通讯接口图;
图10为边缘端子系统主体部分程序流程图;
图11为边缘端子系统通讯节点示意图;
图12为基于云架构的多机器人视觉协同通信控制系统的通信示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
为了使本发明的目的,技术方案及优点更加清楚明白,结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
而且,术语“包括”,“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程,方法,物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程,方法,物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程,方法,物品或者设备中还存在另外的相同要素。
以下结合实施例对本发明的特征和性能作进一步的详细描述。
如图1所示,基于云架构的多机器人视觉协同通信控制方法,包括:
通过设备端工业网关对控制单元进行通讯信息收发,将采集到的控制单元信息发送到边缘端子系统通讯节点;
边缘端子系统通讯节点中的活跃控制单元检测模块根据接收到的控制单元信息,判断控制单元是否为活跃控制单元,若为活跃控制单元,则将活跃控制单元的ID存储至边缘端子系统的活跃ID库,活跃ID库与云端子系统中的动态ID库进行同步,云端子系统的容器管理模块根据动态ID库中ID生成对应ID号的容器;边缘端子系统通讯节点中的子线程组生成模块生成对应活跃ID的子线程组,并向云端子系统请求云服务;
云端子系统根据接收到的边缘端子系统通讯节点云服务请求,得到控制单元ID号,通过云端子系统的动态ID库查询得到的控制单元ID号,若查询到控制单元ID号,则边缘端子系统中相同ID号的子线程组与云端子系统中相同ID号的容器相连,通过容器对控制单元的信息进行处理,并回传给边缘端子系统通讯节点连接成功信息;若在设定的时长内未查询得到控制单元ID号,则回传给边缘端子系统通讯节点连接失败信息;
云端子系统的容器管理模块以设定的频率查询动态ID库,并与云端子系统正在运行的容器的ID号进行比对,根据比对结果控制对应ID的容器的开启和关闭,完成通信控制。
进一步的,所述的边缘端子系统通讯节点中的活跃控制单元检测模块根据接收到的控制单元信息,判断控制单元是否为活跃控制单元,包括:
步骤一,在相机视场内预设的方位设置出口标志和入口标志,通过相机实时采集视场内的图像;
步骤二,通过边缘端子系统的边缘端视场图像监测模块检测相机采集到的图像,检测AGV是否进入入口标志,若监测到AGV进入入口标志,则活跃控制单元检测模块判断该AGV的控制单元为活跃控制单元,将该活跃控制单元的ID号存储到活跃ID库;所述的AGV为自动导向车;
步骤三,通过边缘端子系统的边缘端视场图像监测模块,继续检测相机采集到的图像,检测AGV是否进入出口标志,若监测到AGV进入出口标志,则检测机械臂是否工作,若机械臂停止工作,则将该活跃控制单元置为非活跃控制单元,同时将活跃ID库内的该控制单元的ID移除。
进一步的,所述的通过边缘端子系统的边缘端视场图像监测模块检测相机采集到的图像,检测AGV是否进入入口标志,包括:
未工作时,边缘端视场图像监测模块对采集到的图像进行预处理,得到灰度图像,对灰度图进行二值化处理,得到二值化后的灰度图像;
对二值化后的灰度图像进行腐蚀操作,通过设定结构元素对二值化后的灰度图像中的每一个像素,将结构元素的中心点与像素对齐,将结构元素与该像素邻域内的像素逐个进行逻辑与操作,如果所有像素的值都为1,则中心像素的值不变,否则中心像素的值被设置为0;
完成腐蚀操作后,对二值化图像进行边缘检测,完成对入口标志区域的识别,得到模板图像;
在工作过程中,边缘端子系统对采集得到的图像经过预处理后,剪裁出模板图像的图像范围,再与模板图像通过方差匹配方法进行模板匹配操作,得到匹配结果,若得到的值大于设定的阈值,则判定有AGV遮挡了入口标志或出口标志,即有AGV进入视场或即将离开视场;所述的匹配结果为:
式中,表示模板图像中的像素值,/>表示目标图像中的像素值。
进一步的,所述的检测机械臂是否工作包括:通过检测机械臂上设置的AR Tag是否在相机视场内,若在视场内,则机械臂在工作,否则,机械臂则未工作。所述的AR Tag即为增强现实标签,用于机械臂定位,是一个黑白栅格化图像,最小单元为一个小方块,整个ARTag为10*10网格,边缘由2个单位厚的黑色方块组成,中心为6*6的有效数据区,黑色为0,白色为1,这就代表一个36位的二进制数。这36位中,其中10位表示有效数据,另外26位是用来容错编码的,进过一系列编码后,AR Tag标签可以表示2002种图案。
如图2所示,应用所述的基于云架构的多机器人视觉协同通信控制方法的基于云架构的多机器人视觉协同通信控制系统,包括设备端模块、设备端工业网关、边缘端子系统、云端子系统,所述的设备端模块与所述的设备端工业网关通信连接;所述的设备端工业网关、边缘端子系统、云端子系统依次通信连接;
所述的设备端模块包括控制单元,所述的控制单元用于采集机械臂与AGV相对位置的图像、发送机械臂状态信息、接收机械臂和AGV的控制指令;
所述的边缘端子系统管理多个控制单元,用于向云端子系统发送服务请求、预处理图像信息、视频信息、机械臂状态信息、接收并向控制单元分发云端子系统发送的机械臂和AGV的控制指令;
所述的云端子系统用于接收边缘端子系统发送的服务请求后,生成和管理对应控制单元的容器并进行加密,在各个容器内对对应控制单元控制的机械臂与AGV相对位置的图像信息处理、接收机械臂状态信息和下发机械臂和AGV的控制指令。
优选的,所述的设备端模块包括控制单元、AGV、机械臂,控制单元包括视频获取接口、AGV运动控制接口以及机械臂运动控制接口;所述的视频获取接口用于获取相机采集的现场视频信息以及机械臂与AGV相对位置的图像信息,所述的AGV运动控制接口用于传输AGV的控制指令,所述的机械臂运动控制接口用于传输机械臂的控制指令。
优选的,所述的边缘端子系统包括边缘端子系统通讯节点、设备管理模块;
边缘端子系统通讯节点包括子线程组生成模块、活跃控制单元检测模块、活跃ID库;
所述的设备管理模块用于将位于同一个控制单元内的机械臂和相机进行绑定,形成一个由边缘端子系统进行管理的控制单元,每个控制单元赋予一个不重复的ID号;
所述的活跃控制单元检测模块用于获取控制单元内的相机采集的图像,对图像进行识别并得到控制单元的活跃状态,根据控制单元的活跃状态以及控制单元的ID,动态更新边缘端子系统的活跃ID库,云端子系统的云端动态ID库以设定的频率与边缘端子系统的活跃ID库进行同步;
所述的子线程组生成模块则用于生成对应活跃控制单元ID的子线程组,子线程组中包括与ID对应的两个子线程,一个用于处理参数信息,另一个用于处理视频信息;所述的子线程组与云端子系统的相同ID的容器进行通信连接。
优选的,所述的云端动态ID库是一个记录边缘端子系统当前活跃控制单元ID的库,以设定的频率向边缘端子系统的活跃ID库发送同步请求并解析回传数据,动态更新当前边缘端子系统的所有活跃控制单元ID,使云端子系统容器与活跃控制单元一一对应。
优选的,还包括:当活跃控制单元检测模块检测到控制单元状态变为非活跃时,则回收对应的子线程组。
优选的,所述的云端子系统包括云端子系统通讯接口、容器管理模块;所述的容器管理模块用于生成和回收容器,所述的容器包括加密验证节点、控制解算节点、信息接收节点和信息传输节点;
云端子系统通讯接口包括动态ID库、同步请求模块;所述的同步请求模块用于动态ID库和活跃ID库之间ID号同步;
云端子系统通讯接口根据接收到的边缘端子系统通讯节点云服务请求,解析该请求的控制单元ID号,通过云端子系统的动态ID库查询得到的控制单元ID号,若查询到控制单元ID号,则边缘端子系统中相同ID号的子线程组与云端子系统中相同ID号的容器相连,通过容器对控制单元的信息进行处理,并回传给边缘端子系统通讯节点连接成功信息;若在设定的时长内未查询得到控制单元ID号,则回传给边缘端子系统通讯节点连接失败信息;
云端子系统的容器管理模块以设定的频率查询动态ID库,并与云端子系统正在运行的容器的ID号进行比对,根据比对结果控制对应ID的容器的开启和关闭,完成通信控制;
所述的控制解算节点包括机械臂控制信息生成节点和AGV控制信息生成节点,所述的机械臂控制信息生成节点和AGV控制信息生成节点均包括了生成目标位姿子模块,所述的机械臂控制信息生成节点还包括路径规划子模块,所述的AGV控制信息生成节点还包括了速度信息生成子模块;
所述的路径规划子模块为基于ROS自带的MoveIt功能包,通过机械臂当前位姿和目标位姿子模块生成的机械臂目标位姿来进行路径规划,生成多个中间路径点并发送至信息传输节点;
所述的速度信息生成子模块将机械臂与AGV相对位置的图像中的AGV位姿与AGV目标位姿进行对比分析,生成路径点和更新AGV接近下一路径点所需的左右轮转速控制信息,并将控制信息传输至信息传输节点。
具体的,为了提高云端计算资源利用率、降低边缘端子系统向云端子系统传输视频的压力,本文提出了基于云架构的多机器人视觉协同通信方法。
本发明设计了一种两线型黑色色带结构作为AGV入口标识,如图3中(a)所示,设计了一种三线型黑色色带结构作为AGV出口标识,如图3中(b)所示。
选择黑色作为色带的颜色是考虑到黑色在二值化算法中表现较其余颜色更好,且对比白色色带,黑色色带拥有反射率低、不易反光的优点,更适合作为标识物。
两线型结构由两条相交的线段a和b组成,其大小比例和组合方式不限,点O为线段a、b的交点,要求点O均不是线段a、b的端点,且铺设时需保证其能完全出现于相机视场内。其中,线段b为路径引导线,用于引导AGV进入工作空间。线段a为停止线,其与线段b形成的交叉点O用作AGV运动停止的触发标识。具体的,当AGV运动到交叉点O上时,AGV会自动停车等待云端控制命令接入。
三线型结构由两条平行的线段c和d以及一条与线段c、d相交的线段e组成,其大小比例和组合方式不限,点M为线段c、e的交点,点N为线段d、e的交点,要求点M是线段e的端点但不是线段c的端点,点N均不是线段d、e的端点,且铺设时需保证其能完全出现于相机视场内。其中,线段e为路径引导线,用于引导AGV离开工作空间。线段c为对齐辅助线,线段c、d与线段e相交形成的交叉点M、N用作构成方向向量,该方向向量用于辅助云端视觉系统控制AGV对齐路径引导线e。线段d为停止线,当AGV运动至线段d与e交叉点N上时,云端会结束对AGV的控制,AGV会自动停车等待自身循迹控制命令接入。
本方法将机械臂或AGV出现在视场内作为边缘端子系统需要上传视频信息至云端子系统的标志,当图像识别结果显示视场内没有机械臂和AGV时则不向云端子系统传输视频信息,从而提高系统工作效率。
图像处理
当控制单元刚被注册,视场中还未出现AGV时,边缘端子系统会先对捕获到的图像进行预处理,首先对原图像的各个像素的RGB值按式(1)进行加权平均,得到一个灰度值,用这个灰度值替代原来的RGB值,从而得到灰度图像。
(1)
随后对灰度图进行二值化处理,但一张图像中不同区域的灰度分布可能不同,如果使用一个全局的阈值对整张图像进行二值化,可能会导致一些细节信息丢失或者背景中出现很多噪点,因此需要根据不同区域的灰度分布来自适应地选择不同的阈值。对于灰度图,指定一个窗口大小blockSize(如3像素*3像素),将整张图像分成若干个blockSize的小块,对于每个小块内的像素,通过计算小块内像素平均值和标准差来自适应地确定阈值,见式(2)。
(2)
式(2)中,为计算得到的小块内的阈值,/>为小块内像素值的平均值,/>为小块内像素值的标准差,/>为人为给定可调的常数。如果某个像素的灰度值大于该小块的阈值,则将其设置为255(白色),否则将其设置为0(黑色)。最终,所有小块的二值化结果会组合成最终的二值图像。
接下来,为了将图像中较小的细节或噪点去除,同时也使边缘能够更加清晰锐利,对二值图像进行腐蚀操作。指定一个结构元素,表示腐蚀操作时需要考虑的像素邻域范围,本方法中结构元素为一个矩形,对于图像中的每一个像素,我们将结构元素的中心点与该像素对齐,然后将结构元素与该像素邻域内的像素逐个进行逻辑与操作。如果所有像素的值都为1,则中心像素的值不变,否则该像素的值被设置为0。
最后对二值化图像进行边缘检测,完成对入口标志区域的识别,得到一块矩形区域作为模板匹配的区域并保存为模板图片。由于各时间段工作的光照条件不尽相同,因此在每一轮工作结束后,下一个AGV进入前会重新进行取模板操作,以求模板匹配的准确性,减少程序的错误判断。
在工作过程中,边缘端子系统会对采集得到的图像经上述流程预处理后,剪裁出前序获得的图像范围,再使用模板匹配中的方差匹配方法进行模板匹配操作,按式(3)进行计算,完全匹配结果为0,不匹配则会得到一个很大的值,若得到的值大于某一规定阈值,则判定有AGV遮挡了入口标志或出口标志,即有AGV进入视场或即将离开视场。
(3)
式(3)中,表示模板图像中的像素值,/>表示目标图像中的像素值。
机械臂是否在视场内的识别则是通过对张贴其上的AR Tag来实现的,由于不需要解算机械臂具体位姿,只需要返回视场中是否检测到AR Tag,因此计算量也较小,符合边缘端子系统的低时延、低算力特性。
系统总体设计
1.1 系统架构设计
边缘计算作为地理分布的计算模型,在数据源附近执行计算任务,能够提高服务响应速度和降低服务延迟。但是由于边缘计算设备的计算能力和存储能力有限,一些需要大量计算和存储的任务仍然需要送到云端去完成。因此,与边缘计算单独发展相比,边缘计算将会向云计算方向发展,形成云边协同的层次计算体系。
本发明正是基于“云边端协同”架构,面向云制造设计了一套多机器人视觉协同系统,由设备端、边缘端子系统以及云端子系统三个部分组成。系统总体架构如图4所示。
在本发明系统中,设备端作为上下料视觉协作执行端,负责完成采集传输用于解析机械臂和AGV相对位置的图像、发送机械臂状态信息、接收机械臂和AGV的控制信息等任务;边缘端子系统位于本地作为管理中心,管理多个控制单元,负责完成向云端子系统发送服务请求、预处理图像信息、上传视频、上传机械臂状态信息、接收并分发机械臂和AGV的控制信息等任务;云端子系统作为图像处理中心,负责完成接收边缘端子系统请求后生成和管理容器并进行加密,在各个容器内进行处理图像信息、接收机械臂状态信息、下发机械臂和AGV的控制信息等任务。
1.2 系统通信模块设计
本发明多机器人视觉协同系统各部分间信息通路可以分为两部分,一个是用于设备端、边缘端子系统和云端子系统之间传输状态、指令的参数信息通信,另一个是用于给边缘端子系统在预处理后可能要将视频信息发往云端子系统的需求提供服务的视频信息通信。
本发明将控制、状态数据传输与视频数据传输分离开来,以避免占据高带宽的视频数据影响到控制、状态信息的传输,从而增强系统运行的稳定性,同时也是给这两类信息的传输分别使用了更为合适的传输方案。下面分别对参数信息和视频信息的通信模块进行设计。
1.2.1 参数信息通信模块设计
由于本系统的云端子系统需要实时控制现场设备端完成协作工作、现场机械臂也需要实时上传其当前位姿信息来支撑云端做控制信息的解算工作,这就要求本系统能在网络质量一般的情况下高可靠、低时延、低开销地完成参数数据的传输。在此场景下常见的通信协议中,轮询技术(polling)能够确保客户端与服务器端之间的同步,但由于其客户端会一直以固定频率向服务器端请求信息的特点,在客户端和服务器端都会造成较大的资源浪费;XMPP协议通常被应用于在线监测和即时通信领域,但由于其是基于XML实现,导致其所发送的消息较为冗余,耗流量大; MQTT协议基于 TCP/IP协议栈,是一种轻量级的消息发布/订阅协议,由于其开销小、延时低、可靠性高等优点,在不可靠网络环境下扩展消息发送方和接收方,适用于硬件性能较差的远程设备,但也存在安全性不高的问题。考虑到本发明系统可能会工作在网络资源较差的环境中,对信息的精简性和可靠性要求较高,本系统选用了MQTT协议来实现本发明系统控制、状态数据的传输,将MQTT服务器部署于云端子系统。
在安全性方面,MQTT协议通过控制QoS等级来决定服务质量,而消息的安全级别则由QoS的值决定,但是MQTT协议本身不具备加密和验证消息的功能,使用MQTT协议时可能会遭到恶意篡改或攻击。因此,本发明结合MQTT通信协议的报文特点和视觉协作环节的安全性要求,使用了常用于确保消息传输的完整性和一致性的散列算法(MD5),提出了一种基于MQTT协议的可动态更新的MD5加密与验证方案,如图5所示,秘钥管理单元部署在云端子系统并在系统的全生命周期都启用,加密单元和验证单元则同时部署在边缘端子系统和云端子系统中,加密单元作用于MQTT报文形成之后,发送之前,而验证单元作用于收到MQTT报文之后,解析之前。其中,AppSecret是一个随机生成的32位字符串。
1.2.2 视频信息通信模块设计
在云端子系统需要高实时性地依据现场图像解析生成控制信息这一场景下,本发明选用了实时传输协议RTP作为图像信息传输协议。
RTP协议可以传输具有实时特性的音频和视频文件,是一种既能在TCP上也能在UDP上工作的应用层程序。与TCP相比,UDP具有较短的传输延时和较小的网络开销,因此本发明选择了RTP/UDP作为视频流传输协议。边缘端子系统向云端子系统进行视频传输的流程图如图6所示。
2 设备端通信网络设计
考虑到实验设备因素,本发明设备端机械臂选用的是选用基于固高机器人控制系统的德恩DR50工业机器人,AGV选用的是普通差速AGV,相机选用的是普通网络摄像头。
在本发明系统的架构下,设备端仅会与边缘端主机进行交互,其各部分所需要实现的功能有:机械臂依据控制信息运行、反馈状态信息;AGV依据控制信息运行;相机采集和发送视频信息等。机械臂部分功能基于德恩DR50工业机器人中的动态指令模式实现。动态指令模式是一个让用户能通过API获取机器人状态、控制机器人运动的机器人运行模式,其中API可以通过TCP通信的方法来调用。AGV部分功能则是基于本发明选用的普通差速AGV提供的运动控制API来实现对左右轮转速的控制,此API也是通过TCP通信的方法来进行调用。相机部分功能则是基于网络摄像头自带的网络传输接口来实现的。
根据各设备自带通讯接口的特点,本发明的机械臂和相机均通过网线与交换机互联后接入无线路由器,AGV则是连接无线路由器的WIFI,然后无线路由器再通过网线与边缘端主机互联。基于此通信网络,多套控制单元的机械臂、AGV和相机便可柔性互联,并同属于一台边缘端主机的管理之下,边缘端主机能够通过各设备被分配的唯一的IP地址来实现对不同设备的标识,以此在边缘端子系统内注册控制单元。设备端通信网络如图7所示。
考虑到实验平台因素,本发明云端子系统的硬件部分选用的是“德恩云造”产业协同云平台,“德恩云造”专注于智能装备及零部件制造产业的平台化、集群化、协同化、数智化赋能服务,能够很好地支撑本发明云端子系统的代码部署。
本发明云端子系统主体部分由管理模块和功能模块两部分组成。管理模块部署于云端虚拟机中,主要负责对容器的管理。为了使本系统能够对其同时服务的控制单元数量实现动态增减,并给每一个工作中的控制单元都提供一个隔离性较好的云端服务环境以提高系统稳定性,功能模块的部署使用了和虚拟机方案相比有着更高资源利用率的Docker方案。Docker是一种通过镜像构建包含软件的运行环境的容器化(container)工具,因此容器可以随时随地运行,同一主机上的多个容器仍然可以共享操作系统和物理资源。
考虑到需要对实体机械臂和AGV进行路径规划,本发明在容器中选用了ROS(RobotOperation System,机器人操作系统)进行功能模块的开发。ROS是一个适用于机器人的开源操作系统,它采用的是话题通信,即数据由发布者传输给订阅者。
管理模块除了前文所提到的秘钥管理单元以外,还有容器管理模块,负责完成容器生成和回收等任务。功能模块由多个协作的ROS节点组成,实现机械臂和AGV控制信息生成、信息传输等功能。本发明云端子系统主体部分的程序流程如图8所示。
图8中,管理模块中容器管理模块接收的请求是云端子系统通信接口发送过来的,可以通过此请求解析出边缘端子系统请求云服务的控制单元ID后做查询及后续操作。其中提到的云端动态ID库是一个记录边缘端目前活跃控制单元ID的库,其会以60次每分钟的频率向边缘端子系统发送同步请求并解析回传数据,动态更新目前边缘端子系统的所有活跃控制单元ID,从而可以保证云端子系统容器可以与活跃控制单元一一对应,提高云端资源利用率。功能模块中,在两个控制信息生成节点中部署了生成目标位姿子程序,在机械臂控制信息生成节点单独部署了路径规划子程序,在AGV控制信息生成节点单独部署了速度信息生成子程序。路径规划子程序是基于ROS自带的MoveIt功能包,借助机械臂当前位姿和机械臂目标位姿来进行路径规划,可智能生成多个带有避障功能的中间路径点发送至信息传输节点。速度信息生成子程序的程序流程为实时将图像中的AGV位姿与目标位姿进行对比分析,不断生成路径点和更新AGV接近下一路径点所需要的左右轮转速信息。当控制信息成功生成后,会将其传输至信息传输节点。所述的 MoveIt由ROS中一系列移动操作的功能包组成,包含运动规划,操 作控制,3D感知,运动学,碰撞检测等。
总结上述流程,可以得出,云端子系统需要发送的信息有:通过MQTT向边缘端子系统发送的机械臂、AGV控制信息和连接成功信息;需要接收的信息有:边缘端子系统通过RTP发送过来的视频信息和通过MQTT发送过来的机械臂状态信息和控制单元ID信息。
MQTT需要根据收发的信息特点选择最适合的QoS(Quality of Service)来进行传输。MQTT设计了3个QoS等级用于传输质量的确定,分别为QoS0、QoS1和QoS2。QoS0是一种“fire and forget”的信息发送模式,发送者不关心信息是否为对方所接收,也不设置任何重发机制;QoS1包含了简单的重发机制,发送者发送信息后会在一定时间内等待接收者返回ACK,若没有则重发,这种传输质量能保证消息至少到达一次,但不能保证信息不重复到达;QoS2设计了重发和重复消息发现机制,严格保证消息能到且只到一次。QoS等级越高,流程越复杂,系统资源消耗越大,因此本发明将尽量选择满足业务需求的较小的QoS等级。对通过MQTT发送的各类信息特点进行分析后得出,云端子系统接收边缘端子系统所发送的机械臂状态信息使用QoS0,控制单元ID信息使用QoS1。
根据边缘端子系统与云端子系统交互流程,对云端子系统通讯接口进行设计如图9所示。图9中,由于状态信息的传输使用了QoS0等级,视频信息传输使用了RTP/UDP协议,会出现信息重复发送或没有按照发出的时序被接收的情况。为此,在功能模块的控制解算节点中,程序均会记录下接收到的上一条信息的时间戳信息,之后若遇到小于或等于此记录的时间戳数据,则会将其视为无效信息并过滤,以保证上传至云端子系统的状态信息和视频信息都会是最新版本。
4 边缘端子系统及其通讯节点设计
边缘端子系统的软件部分则是使用Qt软件来编写,其主体部分以设备管理模块、活跃控制单元检测模块和信息下发模块组成,进行资源管理和信息传递,其程序流程如图10所示。图10中,设备管理模块内的注册操作指的是用户通过辨识设备的IP地址,将位于同一个控制单元内的一套机械臂和相机进行绑定,形成一个由边缘端子系统进行管理的控制单元,每个被生成的控制单元均会被赋予一个不重复的ID号。活跃控制单元检测模块内则会进行所有注册的控制单元的相机图像采集,对图像进行预处理分析得出此控制单元的工作状态,如图11所示,以此来动态更新边缘端活跃ID库。由于活跃控制单元检测模块的边缘端活跃ID库的更新全过程是在局域网内进行操作,其准确度高且能迅速检测出脱离活跃状态的控制单元,因此本发明云端动态ID库会要以60次每分钟的频率向边缘端活跃ID库发送同步请求来保证云端子系统内活跃控制单元ID信息的正确性。控制下发模块则是负责接收云端子系统的控制信息并分类下发给设备端。总结上述流程可以得出,边缘端子系统需要发送的信息有:通过MQTT向云端子系统发送的机械臂状态信息和控制单元ID信息,通过RTP向云端子系统发送的视频信息,通过TCP向边缘端机械臂和AGV发送的控制信息;需要接收的信息有:云端子系统通过MQTT发送过来的机械臂和AGV控制信息和连接成功信息,设备端机械臂通过TCP传输过来的状态信息和相机通过TCP传输过来的视频信息。
由于TCP本身的稳定性,且边缘端子系统和设备端是位于同一局域网内进行传输工作,本发明认为由TCP传输的各类信息均能稳定地被对方接收一次。由于本发明选用的是RTP/UDP协议格式进行的视频传输,边缘端子系统只需要按时序向对应图像上传端口号发送视频信息即可。对通过MQTT发送的各类信息特点进行分析后得出,边缘端子系统接收云端子系统所发送的控制信息和连接成功信息使用QoS1。对边缘端子系统通讯节点设计如图12所示。图12中,当活跃控制单元检测模块检测到一个新的活跃控制单元时,会生成与此控制单元ID相对应的子线程组,而后会将控制单元ID发送至云端子系统通讯接口,得到连接成功的返回后子线程组便会与云端子系统的对应容器进行视频信息和参数信息的通讯。此外,当活跃控制单元检测模块检测到某个控制单元状态变为非活跃时,也会回收对应的子线程组以提高系统资源利用率。
各个子线程组中管理着与其ID号对应的两个子线程,一个用于处理参数信息,另一个用于处理视频信息。其中,由于控制信息的传输使用了QoS1等级,会出现信息重复发送或没有按照发出的时序被接收的情况,为此,边缘端子系统在接收到云端子系统的控制信息进行处理时,会记录下此条信息带有的时间戳信息,之后若遇到小于或等于此记录的时间戳数据,则会将其视为无效信息并过滤,以保证下发给设备端的都是最新版本的控制信息。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (10)
1.基于云架构的多机器人视觉协同通信控制方法,其特征在于,包括:
通过设备端工业网关对控制单元进行通讯信息收发,将采集到的控制单元信息发送到边缘端子系统通讯节点;
边缘端子系统通讯节点中的活跃控制单元检测模块根据接收到的控制单元信息,判断控制单元是否为活跃控制单元,若为活跃控制单元,则将活跃控制单元的ID存储至边缘端子系统的活跃ID库,活跃ID库与云端子系统中的动态ID库进行同步,云端子系统的容器管理模块根据动态ID库中ID生成对应ID号的容器;边缘端子系统通讯节点中的子线程组生成模块生成对应活跃ID的子线程组,并向云端子系统请求云服务;所述的控制单元用于采集机械臂与AGV相对位置的图像、发送机械臂状态信息、接收机械臂和AGV的控制指令,边缘端子系统实时监测和对采集的图像处理和识别,根据识别结果判断控制单元活跃状态;
云端子系统根据接收到的边缘端子系统通讯节点云服务请求,得到控制单元ID号,通过云端子系统的动态ID库查询得到的控制单元ID号,若查询到控制单元ID号,则边缘端子系统中相同ID号的子线程组与云端子系统中相同ID号的容器相连,通过容器对控制单元的信息进行处理,并回传给边缘端子系统通讯节点连接成功信息;若在设定的时长内未查询得到控制单元ID号,则回传给边缘端子系统通讯节点连接失败信息;
云端子系统的容器管理模块以设定的频率查询动态ID库,并与云端子系统正在运行的容器的ID号进行比对,根据比对结果控制对应ID的容器的开启和关闭,完成通信控制。
2.根据权利要求1所述的基于云架构的多机器人视觉协同通信控制方法,其特征在于,所述的边缘端子系统通讯节点中的活跃控制单元检测模块根据接收到的控制单元信息,判断控制单元是否为活跃控制单元,包括:
步骤一,在相机视场内预设的方位设置出口标志和入口标志,通过相机实时采集视场内的图像;
步骤二,通过边缘端子系统的边缘端视场图像监测模块检测相机采集到的图像,检测AGV是否进入入口标志,若监测到AGV进入入口标志,则活跃控制单元检测模块判断该AGV的控制单元为活跃控制单元,将该活跃控制单元的ID号存储到活跃ID库;所述的AGV为自动导向车;
步骤三,通过边缘端子系统的边缘端视场图像监测模块,继续检测相机采集到的图像,检测AGV是否进入出口标志,若监测到AGV进入出口标志,则检测机械臂是否工作,若机械臂停止工作,则将该活跃控制单元置为非活跃控制单元,同时将活跃ID库内的该控制单元的ID移除。
3.根据权利要求2所述的基于云架构的多机器人视觉协同通信控制方法,其特征在于,所述的通过边缘端子系统的边缘端视场图像监测模块检测相机采集到的图像,检测AGV是否进入入口标志,包括:
未工作时,边缘端视场图像监测模块对采集到的图像进行预处理,得到灰度图像,对灰度图进行二值化处理,得到二值化后的灰度图像;
对二值化后的灰度图像进行腐蚀操作,通过设定结构元素对二值化后的灰度图像中的每一个像素,将结构元素的中心点与像素对齐,将结构元素与该像素邻域内的像素逐个进行逻辑与操作,如果所有像素的值都为1,则中心像素的值不变,否则中心像素的值被设置为0;
完成腐蚀操作后,对二值化图像进行边缘检测,完成对入口标志区域的识别,得到模板图像;
在工作过程中,边缘端子系统对采集得到的图像经过预处理后,剪裁出模板图像的图像范围,再与模板图像通过方差匹配方法进行模板匹配操作,得到匹配结果,若得到的值大于设定的阈值,则判定有AGV遮挡了入口标志或出口标志,即有AGV进入视场或即将离开视场;所述的匹配结果为:
式中,表示模板图像中的像素值,/>表示目标图像中的像素值。
4.根据权利要求2所述的基于云架构的多机器人视觉协同通信控制方法,其特征在于,所述的检测机械臂是否工作包括:通过检测机械臂上设置的AR Tag是否在相机视场内,若在视场内,则机械臂在工作,否则,机械臂则未工作;所述的AR Tag为增强现实标签。
5.应用权利要求1-4任一所述的基于云架构的多机器人视觉协同通信控制方法的基于云架构的多机器人视觉协同通信控制系统,其特征在于,包括设备端模块、设备端工业网关、边缘端子系统、云端子系统,所述的设备端模块与所述的设备端工业网关通信连接;所述的设备端工业网关、边缘端子系统、云端子系统依次通信连接;
所述的设备端模块包括控制单元,所述的控制单元用于采集机械臂与AGV相对位置的图像、发送机械臂状态信息、接收机械臂和AGV的控制指令;
所述的边缘端子系统管理多个控制单元,用于向云端子系统发送服务请求、预处理图像信息、视频信息、机械臂状态信息、接收并向控制单元分发云端子系统发送的机械臂和AGV的控制指令;
所述的云端子系统用于接收边缘端子系统发送的服务请求后,生成和管理对应控制单元的容器并进行加密,在各个容器内对对应控制单元控制的机械臂与AGV相对位置的图像信息处理、接收机械臂状态信息和下发机械臂和AGV的控制指令。
6.根据权利要求5所述的基于云架构的多机器人视觉协同通信控制系统,其特征在于,所述的设备端模块包括控制单元、AGV、机械臂,控制单元包括视频获取接口、AGV运动控制接口以及机械臂运动控制接口;所述的视频获取接口用于获取相机采集的现场视频信息以及机械臂与AGV相对位置的图像信息,所述的AGV运动控制接口用于传输AGV的控制指令,所述的机械臂运动控制接口用于传输机械臂的控制指令。
7.根据权利要求6所述的基于云架构的多机器人视觉协同通信控制系统,其特征在于,所述的边缘端子系统包括边缘端子系统通讯节点、设备管理模块;
边缘端子系统通讯节点包括子线程组生成模块、活跃控制单元检测模块、活跃ID库;
所述的设备管理模块用于将位于同一个控制单元内的机械臂和相机进行绑定,形成一个由边缘端子系统进行管理的控制单元,每个控制单元赋予一个不重复的ID号;
所述的活跃控制单元检测模块用于获取控制单元内的相机采集的图像,对图像进行识别并得到控制单元的活跃状态,根据控制单元的活跃状态以及控制单元的ID,动态更新边缘端子系统的活跃ID库,云端子系统的云端动态ID库以设定的频率与边缘端子系统的活跃ID库进行同步;
所述的子线程组生成模块则用于生成对应活跃控制单元ID的子线程组,子线程组中包括与ID对应的两个子线程,一个用于处理参数信息,另一个用于处理视频信息;所述的子线程组与云端子系统的相同ID的容器进行通信连接。
8.根据权利要求7所述的基于云架构的多机器人视觉协同通信控制系统,其特征在于,所述的云端动态ID库是一个记录边缘端子系统当前活跃控制单元ID的库,以设定的频率向边缘端子系统的活跃ID库发送同步请求并解析回传数据,动态更新当前边缘端子系统的所有活跃控制单元ID,使云端子系统容器与活跃控制单元一一对应。
9.根据权利要求8所述的基于云架构的多机器人视觉协同通信控制系统,其特征在于,还包括:当活跃控制单元检测模块检测到控制单元状态变为非活跃时,则回收对应的子线程组。
10.根据权利要求9所述的基于云架构的多机器人视觉协同通信控制系统,其特征在于,所述的云端子系统包括云端子系统通讯接口、容器管理模块;所述的容器管理模块用于生成和回收容器,所述的容器包括加密验证节点、控制解算节点、信息接收节点和信息传输节点;
云端子系统通讯接口包括动态ID库、同步请求模块;所述的同步请求模块用于动态ID库和活跃ID库之间ID号同步;
云端子系统通讯接口根据接收到的边缘端子系统通讯节点云服务请求,解析该请求的控制单元ID号,通过云端子系统的动态ID库查询得到的控制单元ID号,若查询到控制单元ID号,则边缘端子系统中相同ID号的子线程组与云端子系统中相同ID号的容器相连,通过容器对控制单元的信息进行处理,并回传给边缘端子系统通讯节点连接成功信息;若在设定的时长内未查询得到控制单元ID号,则回传给边缘端子系统通讯节点连接失败信息;
云端子系统的容器管理模块以设定的频率查询动态ID库,并与云端子系统正在运行的容器的ID号进行比对,根据比对结果控制对应ID的容器的开启和关闭,完成通信控制;
所述的控制解算节点包括机械臂控制信息生成节点和AGV控制信息生成节点,所述的机械臂控制信息生成节点和AGV控制信息生成节点均包括了生成目标位姿子模块,所述的机械臂控制信息生成节点还包括路径规划子模块,所述的AGV控制信息生成节点还包括了速度信息生成子模块;
所述的路径规划子模块为基于ROS自带的MoveIt功能包,通过机械臂当前位姿和目标位姿子模块生成的机械臂目标位姿来进行路径规划,生成多个中间路径点并发送至信息传输节点;所述的ROS为机器人操作系统,所述的MoveIt为ROS中的功能模块;
所述的速度信息生成子模块将机械臂与AGV相对位置的图像中的AGV位姿与AGV目标位姿进行对比分析,生成路径点和更新AGV接近下一路径点所需的左右轮转速控制信息,并将控制信息传输至信息传输节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310609782.8A CN116389513B (zh) | 2023-05-29 | 2023-05-29 | 基于云架构的多机器人视觉协同通信控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310609782.8A CN116389513B (zh) | 2023-05-29 | 2023-05-29 | 基于云架构的多机器人视觉协同通信控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116389513A CN116389513A (zh) | 2023-07-04 |
CN116389513B true CN116389513B (zh) | 2023-08-04 |
Family
ID=86965969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310609782.8A Active CN116389513B (zh) | 2023-05-29 | 2023-05-29 | 基于云架构的多机器人视觉协同通信控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116389513B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880497A (zh) * | 2020-07-23 | 2020-11-03 | 常州信息职业技术学院 | 基于容器的智能制造设备控制系统 |
CN113342478A (zh) * | 2021-08-04 | 2021-09-03 | 阿里云计算有限公司 | 资源管理方法、设备、网络系统及存储介质 |
CN115048188A (zh) * | 2022-06-28 | 2022-09-13 | 绿盟科技集团股份有限公司 | 容器的网络隔离控制系统、方法、电子设备及存储介质 |
CN115480525A (zh) * | 2021-06-16 | 2022-12-16 | 费希尔-罗斯蒙特系统公司 | 过程控制环境中用于选择和使用容器化控制器服务的活动控制器输出的i/o服务器服务 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210021594A1 (en) * | 2020-09-25 | 2021-01-21 | Francesc Guim Bernat | Biometric security for edge platform management |
-
2023
- 2023-05-29 CN CN202310609782.8A patent/CN116389513B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880497A (zh) * | 2020-07-23 | 2020-11-03 | 常州信息职业技术学院 | 基于容器的智能制造设备控制系统 |
CN115480525A (zh) * | 2021-06-16 | 2022-12-16 | 费希尔-罗斯蒙特系统公司 | 过程控制环境中用于选择和使用容器化控制器服务的活动控制器输出的i/o服务器服务 |
CN113342478A (zh) * | 2021-08-04 | 2021-09-03 | 阿里云计算有限公司 | 资源管理方法、设备、网络系统及存储介质 |
CN115048188A (zh) * | 2022-06-28 | 2022-09-13 | 绿盟科技集团股份有限公司 | 容器的网络隔离控制系统、方法、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于KubeEdge的云边协同技术架构的探索;陈卫;郑炜;汤毅;;微型电脑应用(第07期);第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116389513A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aoki et al. | Cooperative perception with deep reinforcement learning for connected vehicles | |
CN110086891B (zh) | 基于dds协议在自动驾驶中实现分布式通信的方法 | |
US11670070B2 (en) | Cloud-edge-end cooperative control method of 5G networked unmanned aerial vehicle for security rescue | |
US8370421B2 (en) | Method for coordinating a plurality of sensors | |
CA2563909A1 (en) | Open control system architecture for mobile autonomous systems | |
CN105574695A (zh) | 基于二维码导航的物流送货系统及其送货方法 | |
CN112286151B (zh) | 基于微服务的多种类集群agv导航调度系统及方法 | |
CN110636255A (zh) | 一种基于4g网络的无人机图像、视频传输分发系统及方法 | |
CN104660384A (zh) | 一种开放式数控系统的网络远程监控方法 | |
CN110505309A (zh) | 网络通信方法、装置、设备及存储介质 | |
CN117041290B (zh) | 一种智能交通数据交互方法、平台及系统 | |
CN111163422B (zh) | 船舶之间信息的传输方法、设备及系统 | |
Pilz et al. | The components of cooperative perception-a proposal for future works | |
CN116389513B (zh) | 基于云架构的多机器人视觉协同通信控制方法及系统 | |
CN109656167A (zh) | 一种基于智能设备的通信控制系统及方法 | |
CN101917486A (zh) | 一种基于以太网的相机控制和高速数据传输方法 | |
CN116633992B (zh) | 一种物联网数据传输方法及系统 | |
CN111614741A (zh) | 一种基于ros系统的多机器人通讯方法及装置 | |
CN202351855U (zh) | 对io扩展板的升级系统 | |
CN101572718A (zh) | 基于面向应用的IP QoS统一策略系统及其方法 | |
CN113873033B (zh) | 一种具有容错功能的智能边缘计算网关平台 | |
CN115139300A (zh) | 云端服务器、机器人、多机管理系统及多机管理方法 | |
CN114143331A (zh) | 一种基于物联网的智慧园区态势感知系统 | |
CN112631272A (zh) | 一种远程恢复机器人动力的方法以及设备 | |
CN114895701B (zh) | 一种无人机巡检方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |