一种机器人数字仿真方法、装置、存储介质及电子终端与流程

文档序号:19833630发布日期:2020-02-04 12:44阅读:301来源:国知局
一种机器人数字仿真方法、装置、存储介质及电子终端与流程

本发明涉及到机器人仿真和plc的opcua通信领域,具体涉及一种基于opcua通信的机器人数字仿真方法及装置。



背景技术:

仿真技术已经成为目前工业自动化领域可行性分析,程序验证的重要工具手段。对于工业机器人,仿真技术尤其重要,不仅可以验证程序时序,观察机器人动作干涉,也能为客户提供直观的展示体验。因此各大设备厂商也纷纷推出了自己仿真软件。

然而绝大部分的机器人仿真软件处于封闭阶段,只能完成机器人本体程序的动作仿真,无法和外界控制程序进行交互。因此在开发机器人集成项目时,负责机器人程序开发和负责工控程序开发的人往往各自为战,需要联调的时候需将机器人仿真程序和plc仿真程序分别下载入实体中,连接实体观察效果。不仅效率低下,开发人员也承担了相应的安全风险。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于opcua通信的机器人数字仿真方法及系统,用于解决现有技术的缺陷。

为实现上述目的及其他相关目的,本发明提供一种机器人数字仿真装置,所述仿真装置包括:

第一仿真模块,运行第一仿真软件,用于在仿真装置内生成一个模拟端口;所述仿真装置通过所述模拟端口与外部设备进行通信;所述外部设备,运行控制软件用于收集现场信号,并根据所述现场信号调用机器人程序,以及发送控制所述机器人运动的变量,控制机器人动作;

服务器,用于收集所述控制软件中的变量数据,并将所述变量数据转义为统一的通信协议格式对外发送;

第二仿真模块,运行第二仿真软件,用于完成机器人程序的编写,实时展示机器人运动轨迹和姿态;

客户端,通过所述通信协议与所述服务器通信,用于将控制软件中的变量数据与第二仿真软件中的变量数据进行配对,并实时更新。

可选地,所述服务器与所述客户端均采用opcua的二进制通讯协定,二进制通讯协定的url格式为opc.tcp://server:port。

可选地,将控制软件中的变量数据与第二仿真软件中的变量数据进行配对,包括:

将所述控制软件中的变量数据序列化为标准opcua协议反序列化成对应的变量。

可选地,采用pythonapi处理所述客户端得到的变量数据。

为实现上述目的及其他相关目的,本发明提供一种机器人数字仿真方法,所述仿真方法包括:

运行第一仿真软件,在仿真装置内生成一个模拟端口;所述仿真装置通过所述模拟端口与外部设备进行通信;所述外部设备,运行控制软件用于收集现场信号,并根据所述现场信号调用机器人程序,以及发送控制所述机器人运动的变量,控制机器人动作;

通过服务器收集所述控制软件中的变量数据,并将所述变量数据转义为统一的通信协议格式对外发送;

运行第二仿真软件,完成机器人程序的编写,并实时展示机器人运动轨迹姿态;

由客户端周期性向服务器发送请求,实时订阅变量数据;

接收所述服务器发送的第一仿真软件中的变量数据,并将将第一仿真软件中的变量数据与第二仿真软件中的变量数据进行配对,并实时更新;

调用所述机器人程序。

可选地,所述服务器与所述客户端均采用opcua的二进制通讯协定,二进制通讯协定的url格式为opc.tcp://server:port。

可选地,将控制软件中的变量数据与第二仿真软件中的变量数据进行配对,包括:

将所述控制软件中的变量数据序列化为标准opcua协议反序列化成对应的变量。

可选地,采用pythonapi处理所述客户端得到的变量数据。

为实现上述目的及其他相关目的,本发明提供一种存储介质,存储计算机程序,所述计算机程序被处理器运行时执行所述的方法。

为实现上述目的及其他相关目的,本发明提供一种电子终端,包括:处理器及存储器;

所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述的方法。

如上所述,本发明的一种机器人数字仿真方法及系统,具有以下有益效果:

本发明实现了第一仿真软件和第二仿真软件的通信,可以在电脑端完成控制程序和机器人运动程序的联调仿真,避免了联调时必须连接机器实体,提高了集成开发的效率和安全性。

附图说明

图1为本发明一实施例的一种机器人数字仿真的构成图;

图2为本发明一实施例的plc控制程序人机交互图;

图3为本发明一实施例的plc仿真软件界面图;

图4为本发明一实施例的plc嵌入的opcua服务器界面图;

图5为本发明一实施例的机器人仿真软件界面图;

图6为本发明一实施例的机器人仿真软件嵌入的opcua客户端界面图;

图7为本发明一实施例的信号配对示意图;

图8为本发明一实施例的机器人仿真软件pythonapi界面图;

图9为本发明一实施例的一种机器人数字仿真方法的流程图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

如图1所示,一种机器人数字仿真装置,所述仿真装置包括:

第一仿真模块11,运行第一仿真软件,用于在仿真装置内生成一个模拟端口;所述仿真装置通过所述模拟端口与外部设备进行通信;所述外部设备,运行控制软件用于收集现场信号,并根据所述现场信号调用机器人程序,以及发送控制运动的变量,控制机器人动作;

服务器12,用于收集所述控制软件中的变量数据,将数据转义为统一的通信协议格式对外发送;

第二仿真模块13,运行第二仿真软件,用于完成机器人程序的编写,实时展示机器人运动轨迹姿态;

客户端14,通过所述通信协议与所述服务器通信,用于将控制软件中的变量数据与第二仿真软件中的变量数据进行配对。

在一实施例中,所述第一仿真模块、服务器、第二仿真模块、客户端设置于同一平台上。例如,可以设置于同一电脑上,第一仿真模块、服务器、第二仿真模块、客户端都是设置于电脑内的一个虚拟模块。其中,第一仿真模块中还具有一个人机交互界面。

本发明实现了第一仿真软件和第二仿真软件的通信,可以在电脑端完成控制程序和机器人运动程序的联调仿真,避免了联调时必须连接机器实体,提高了集成开发的效率和安全性。

在一实施例中,所述外部设备为plc上位机,plc上位机上运行plc控制软件,所述plc控制软件用于收集机器人运行现场的现场信号,并根据所述现场信号调用机器人程序,控制机器人动作序列,为机器人运动提供坐标值或偏移量。

在一实施例中,第一仿真软件为plc仿真软件,用于在电脑端生成一个ip地址模拟plc的以太网端口。如图3所示为plc的仿真软件界面图,plc仿真软件在电脑端模拟了一个网口,拥有独立的ip地址,将plc控制程序下载入该ip地址可以在电脑内部模拟一个plc控制程序,服务器也使用这个ip地址与客户端进行通信。

在一实施例中,第二仿真软件为机器人仿真软件,机器人仿真软件用于完成机器人运动程序的编写,实时展示机器人的运动轨迹和姿态。

在一实施例中,所述服务器为opcua服务器,客户端为opcua客户端;opcua服务器与opcua客户端均采用opcua的二进制通讯协定,二进制通讯协定的url格式为opc.tcp://server:port。

opcua,openplatformcommunicationsunifiedarchitecture,统一架构的开放平台通信。opcua具有跨平台性,面向服务以及统一架构的特点,实现了不同平台数据的信号模型的统一,是工业4.0通信的重要标准。plc仿真软件和机器人仿真软件之间通过分别内嵌在两个仿真软件中的opcua服务器/opcua客户端实现了信号的传递。

具体地,opcua服务器用于收集、转义plc仿真软件中的变量信号,然后将其序列化为标准opcua协议;opcua客户端从opcua服务器请求获取信息,opcua客户端接收opcua服务器发送的opcua协议信号,并将接收到的opcua协议信号反序列化成对应的变量,从而完成plc变量与仿真软件变量的配对。

图2所示为plc的人机交互界面图,这是一个机器人测温取样的plc人机交互界面。该界面中包括plc发送给机器人动作控制指令,坐标信号以及偏移信号。这些信号的变量存储在plc的中间寄存器中,等待opcua服务器收集。

如图4所示为plc仿真软件内嵌的opcua服务器设置界面,主要用于设置服务器的地址,服务器地址端口,最大监听opcua会话数量,采样发布间隔时间以及监视项最大数量。

如图5所示为机器人仿真软件界面图,该机器人仿真软件模拟了与plc控制程序相对应的测温取样机器人的工作场景,包括机器人本体,电炉,现场施工环境障碍等。在仿真程序中,添加了机器人运动动作的子程序以及需要和plc交互的变量,包括子程序调用的程序号,运动点位的坐标和角度,测温点的偏移量等。

如图6所示为机器人仿真软件内嵌的opcua客户端设置界面,主要用于设置需要请求数据的opcua服务器地址和端口号,保持这里的服务器地址和图4里服务器一致。

如图7所示为信号变量匹配表。在opcua客户端设置完成后,开始和opcua服务器连接。连接成功后,调出变量匹配表,选择需要匹配的变量进行配对。例如:将plc仿真软件中的的程序号变量和机器人仿真软件中的程序号进行配对;将偏移量x和offset_x进行配对。配对成功后,机器人仿真程序中的opcua客户端会根据opcua服务器信号采样发布频率进行数据订阅,实时更新机器人数据和plc一致,从而实现了仿真软件之间的数字化联调。

图8是机器人仿真软件内部的pythonapi界面。这个api可以理解为机器人执行器的访问端口,利用python语言实时访问从opcua服务器传来的变量,并对机器人的运动点位,偏移量做相应修正,从而实现第二仿真模块中机器人运动轨迹姿态的实时变化。如图8所示,是利用pythonapi对机器人的运动的采样点坐标做出偏移指令。

本发明克服了目前机器人仿真软件只能简单模拟机器人自身运动,不能和上位机通信的缺点,通过opcua通信协议将plc信号和机器人仿真软件中的变量配对,实现了电脑端模拟整个工业现场流程,避免了联调时需要连接plc和机器人实体,大大提高了机器人项目集成开发的效率。

如图9所示,一种机器人数字仿真方法,该仿真方法包括:

s11运行第一仿真软件,在仿真装置内生成一个模拟端口;所述仿真装置通过所述模拟端口与外部设备进行通信;所述外部设备,运行控制软件用于收集现场信号,并根据所述现场信号调用机器人程序,以及发送控制所述机器人运动的变量,控制机器人动作;

s12通过服务器收集所述控制软件中的变量数据,并将所述变量数据转义为统一的通信协议格式对外发送;

s13运行第二仿真软件,完成机器人程序的编写,并实时展示机器人运动轨迹姿态;

s14由客户端周期性向服务器发送请求,实时订阅变量数据;

s15接收所述服务器发送的第一仿真软件中的变量数据,并将将第一仿真软件中的变量数据与第二仿真软件中的变量数据进行配对,并实时更新;

s16调用所述机器人程序。

在一实施例中,所述服务器与所述客户端均采用opcua的二进制通讯协定,二进制通讯协定的url格式为opc.tcp://server:port。

在一实施例中,将控制软件中的变量数据与第二仿真软件中的变量数据进行配对,包括:

将所述控制软件中的变量数据序列化为标准opcua协议反序列化成对应的变量。

在一实施例中,采用pythonapi处理所述客户端得到的变量数据。

由于方法部分的实施例与装置部分的实施例相互对应,因此方法部分的实施例的内容请参见装置部分的实施例的描述,这里暂不赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器((ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1