一种机器人示教器与控制器数据通信与解析的方法与流程

文档序号:14778732发布日期:2018-06-26 09:27阅读:600来源:国知局

本发明属于机器人的技术领域。更具体地,本发明涉及一种机器人示教器与控制器数据通信与解析的方法。



背景技术:

在机器人领域,通讯机构是机器人示教器和控制器之间沟通的桥梁。一种数据传输速率高、稳定性好的通讯方式可以极大提高示教器的性能。

在工业领域中,常用的通讯方式有:串行通讯、并行通讯、USB通讯、以太网通讯等。随着以太网技术的发展,以太网以其性价比高、传输距离远、容易组网、速度快等优点,成为数据通讯的首要选择方式。

目前各大机器人生产厂商所采用的机器人变成语言不同,所以对于不同的机器人的解释模块都是专用的。解释器是针对某一型号或多种型号机器人进行专门设计的。不同的硬件和机器人编程语言决定了不同类型的机器人的解释器必然有所区别。

现有的示教器与控制器之间的数据通讯方式,一般采用以太网进行通讯,通常建立两条数据通道:一条对周期性地数据进行传递;另一条对随机性的指令数据进行传输,虽然数据传送的分明,但程序设计相对复杂。

中国专利文献“机器人及其示教器通信系统和方法”(201610232016.4),公开了以下技术方案:基用TCP/IP以太网技术,建立了机器人示教器和控制器之间的通讯,通讯过程包含周期性数据通讯和随机性数据通讯两个数据通道,提高通讯效率。其采用的是两条数据通道。

中国专利文献“一种基于WEB控制的工业机器人示教器及使用方法”(201710400938.6),公开了以下技术方案:建立了一种基于WEB控制的工业机器人示教器,采用无线的方式进行数据的通讯,可在任何支持WEB浏览器的智能设备上应用,易于在各种硬件系统中推广实现。该技术方案中采用了WEB控制的软件开发的平台。



技术实现要素:

本发明提供一种机器人示教器与控制器数据通信与解析的方法,其目的是将随机信息和周期性的信息都通过服务端与客户端的一条信息通道进行传递。

为了实现上述目的,本发明采取的技术方案为:

本发明的机器人示教器与控制器数据通信与解析的方法,所述的控制器数据解释模块对接受的示教器的数据进行解释,根据解释出的指令内容进而控制机器人进行运动;所述的示教器与控制器之间的通讯采用基于TCP/IP的以太网通讯方式;控制器向示教器传递的状态信息是周期性的;所述的示教器向控制器发送信息也设定为周期性的。

当示教器上有要发送的指令时,将指令代码和指令代码后面所跟随的指令内容同时赋值给发送的字段;当没有要发送的指令时,将发送字段设置成预设的空指令。

所述的示教器端需要向控制器端发送的是随机的指令数据,而不同的指令数据后面所跟随的指令内容长短不一致,规定一个数据包的长度为字节数的设定值;当数据超过该规定的字节数时,需要对数据进行拆分,分多次进行发送。

4、按照权利要求3所述的机器人示教器与控制器数据通信与解析的方法,其特征在于:所述的控制器在接受数据时,如果收到的数据包的长度为0,则一直处于接收状态;若接受的数据包的长度为规定的字节数的设定值时,则继续接受剩余的数据,一直到接受到数据长度不为规定的字节数的数据包,或检测到数据末端的结束标志时,数据接收完成。

所述的一个数据包的长度规定的字节数的设定值为2048个字节。

所述的控制器向示教器端发送的数据为机器人的状态信息,其包括机器人实时末端位姿、实时关节转角、使能、错误代码的信息。

所述的控制器一个字符串最长为81个字节;控制器预先定义一个较大的字符串数组来容纳接受来的数据,解释模块对字符串数组的解释方式是两句两句的方式进行:首先取前两句,对第一句寻找一条命令的分割符;若找到分离出分割符前面的命令进行解释,依次进行;直到第一句中找不到命令的分割符,此时到第二句取寻找命令分隔符,将第一句剩余数据和第二句找到分隔符的前面的数据连接起来进行解释,然后第二句剩余的内容变为第一句,第二句变为后一句,这样依次地进行解释,直到后一句内容为空,或检测到程序结束代码时,完成数据的解释工作。

当所述的控制器完成一次数据接收与解释后,程序会跳转到指令代码对应的程序处理位置执行相应的程序;在执行指令程序的过程中,数据在一直进行传输,并且一直提取接收到的指令代码;在指令程序运行中会对实时接收的指令进行相应的响应。

当所述的的控制器将指令执行完成后,其对应的解释产生的数据会被被清空,等待新指令的到来。

所述的示教器端对接受到的信息根据预先设定的数据顺序,对数据进行提取,然后将数据通过相关的函数显示到界面的对应位置进行显示。

本发明采用上述技术方案,实现了示教器与控制器之间在TCP/IP在以太网通讯方式下的通讯;采用单条数据通道实现了随机性数据和周期性数据的传递,简化了程序的设计,提高了信息传递效率;在控制器端完成了对接受数据的解释工作。

附图说明

图1为本发明的示教器与控制器之间的数据传输流程图;

图2为本发明的控制器的数据解释流程图。

具体实施方式

下面对照附图,通过对实施例的描述,对本发明的具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。

本发明为一种机器人示教器与控制器数据通信与解析的方法,涉及机器人的控制器与示教器之间的通讯过程和控制器中的机器人语言解释器。机器人系统包含示教器和嵌入式的机器人控制器。本发明要解决的技术问题是:完成机器人示教器与控制器之间信息的传输,实现控制器端数据的解析。

为了实现示教器与控制器之间数据的相互传输与数据的解释,控制器端接受示教器发送来的信息,通过数据解释模块将接受到的信息进行解释、处理,根据解释出的指令内容进而控制机器人进行运动。示教器用于将要发送的指令与程序信息组合成数据包进行发送,并接受机器人控制器传回的机器人的状态信息,进行人机界面的显示。

为了克服现有技术的缺陷,实现将随机信息和周期性的信息都通过服务端与客户端的一条信息通道进行传递的发明目的,本发明采取的技术方案为:

本发明的机器人示教器与控制器数据通信与解析的方法,控制器向示教器传递的状态信息是周期性的;所述的示教器向控制器发送信息也设定为周期性的。

1、数据传输流程,如图1所示:

所述的示教器与控制器之间的通讯采用基于TCP/IP的以太网通讯方式,示教器是WinCE系统,采用套接字在示教器上建立客户端,在机器人的嵌入式控制器端建立服务端。示教器向控制器发送的指令是随机产生的,而控制器向示教器传递的状态信息是周期性的。

(1)、示教器向控制器发送信息:

为了将随机信息和周期性的信息都通过所建立的服务端与客户端一条信息通道进行传递,将示教器向控制器发送信息也设定为周期性的。

当示教器上有要发送的指令时,将指令代码和指令代码后面所跟随的指令内容同时赋值给发送的字段;当没有要发送的指令时,将发送字段设置成预设的空指令。即任何时候,都有周期性的指令,就可以利用一条信息通道进行传递,这样就实现了随机性数据和周期性数据的传输。

所述的示教器端需要向控制器端发送的是随机的指令数据,而不同的指令数据后面所跟随的指令内容长短一致,规定一个数据包的长度为规定的字节数的设定值;当数据超过该规定的字节数时,需要对数据进行拆分,分多次进行发送。

具体地,所述的一个数据包的长度规定的字节数的设定值为2048个字节。示教器端向控制器端发送的是随机的指令数据,不同的指令数据后面所跟随的指令内容长短不统一,规定一个数据包的长度为2048个字节,当数据超过该数值时,需要对数据进行拆分,分多次进行发送。

(2)、控制器向示教器发送信息:

所述的控制器在接受数据时,如果收到的数据包的长度为0,则一直处于接收状态;若接受的数据包的长度为规定的字节数的设定值时,则继续接受剩余的数据,一直到接受到数据长度不为规定的字节数的数据包,或检测到数据末端的结束标志时,数据接收完成。

按照设定值得出的具体方式:

详见图1:与示教器相一致地,所述的一个数据包的长度为规定的字节数的设定值为2048个字节。由于示教器与控制器之间的实时性要求不是很高,示教器与控制器之间的通讯周期设为100ms,示教器端将要发送的信息分割成多个2048字节长度的数据包(如果数据太长)依次连续发送,而控制器端在接受数据时如果收到的数据长度为0,则一直处于接收状态;若接受的数据长度为2048个字节时则继续接受剩余的数据,一直到接受到数据长度不为2048长度的数据包,或检测到数据末端的结束标志时,数据接收完成。

而所述的机器人控制器向示教器端发送的数据为机器人的状态信息,如机器人实时末端位姿、实时关节转角、使能、错误代码等信息,这些信息的数据长度不是很长,可以通过一次发送完成数据的传递。

2、数据解释流程,如图2所示:

控制器将数据接受完成后,进入对接受的数据进行数据解释过程。首先解释出指令代码,根据解释的指令代码,将需要回传到示教器的信息通过控制器端的发送指令发送给示教器,完成一次数据的传递。图中为确定返回信息。

当示教器没有操作指令时,示教器发送空指令代码给控制器,来使控制器有接受数据完成连续的数据通讯。机器人嵌入式控制器的运算能力很强,通讯程序卸载嵌入式控制器的软PLC里,一个扫描周期就可以完成数据的解释工作。

详见图2:由于机器人控制器端一个字符串最长为81个字节,所以在控制器端预先定义一个较大的字符串数组来容纳接受来的数据,解释模块对字符串数组的解释方式是两句两句的进行:首先取前两句,对第一句寻找一条命令的分割符;若找到分离出分割符前面的命令进行解释,依次进行,直到第一句中找不到命令的分割符,此时到第二句取寻找命令分隔符,将第一句剩余数据和第二句找到分隔符的前面的数据连接起来进行解释,然后第二句剩余的内容变为第一句,第二句变为后一句,这样一次的进行解释直到后一句内容为空,或检测到程序结束代码时,完成数据的解释工作。

本发明提供的机器人,其控制器接受到的信息分为指令代码加指令内容两部分。首先采用字符串函数提取指令代码,然后根据指令代码的值来对后面的指令内容采用不同的处理方法进行处理。

当所述的控制器完成一次数据接收与解释后,程序会跳转到指令代码对应的程序处理位置执行相应的程序;在执行指令程序的过程中,数据在一直进行传输,并且一直提取接收到的指令代码;在指令程序运行中会对实时接收的指令进行相应的响应。

当所述的的控制器将指令执行完成后,其对应的解释产生的数据会被被清空,等待新指令的到来。

所述的示教器端对接受到的信息根据预先设定的数据顺序,对数据进行提取,然后将数据通过相关的函数显示到界面的对应位置进行显示。

本发明采用一条数据通道来实现随机性和周期性的数据传递,简化了程序设计的复杂性。针对机器人控制器语言变量的特性设计了接受到数据的数据处理流程。该方法在建立的周期性数据传输通道中实现了周期数据和随机数据的传输,在控制器端完成了对接受数据的解释工作。进一步优化、改进或可替代的技术方案是:增加通讯检测机制,定时的检测示教器与控制器之间的连接是否保持,当通讯连接断掉后,重新进行通信的连接。

上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。

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