一种码垛装置的控制方法及装置与流程

文档序号:20274672发布日期:2020-04-03 19:29阅读:282来源:国知局
一种码垛装置的控制方法及装置与流程

本申请属于工业设备控制技术领域,尤其涉及一种码垛装置的控制方法及装置。



背景技术:

码垛装置是一种专门用于码垛货物的工业装置,在码垛行业有着相当广泛的应用。

目前码垛装置的控制主要由与之配套的示教器实现,其控制方法主要包括矩阵码垛和示教码垛。矩阵码垛就是通过示教器选择码垛装置内置的码垛策略,实现简单的重复码垛。示教码垛就是通过示教器对码垛装置进行自定义的编程或实时控制,实现码垛装置的复杂码垛作业。此外,目前的码垛装置还支持掉电保存的功能,在码垛装置突然断电时可以保存当前的码垛数据,实现再次上电后继续码垛工作的能力。

然而,对于现有的码垛装置来讲,虽然示教器能与码垛装置进行数据交互,但由于示教器只是控制设备,并不支持数据保存。所以,码垛装置的码垛数据只能在本地保存。因此,在出现突然断电的情况下,如果码垛装置的内部发生故障并导致本地保存的码垛数据丢失,则没有合适的补救措施。



技术实现要素:

有鉴于此,本申请实施例提供了一种码垛装置的控制方法及装置,可以解决现有技术中,在出现突然断电的情况下,如果码垛装置的内部发生故障并导致本地保存的码垛数据丢失,则没有合适的补救措施的问题。

为了实现上述目的,第一方面,本申请实施例提供了一种码垛装置的控制方法,包括:

码垛装置获取动作指令序列,动作指令序列中的每个动作指令用于指示码垛装置执行相应的动作;

码垛装置依次执行动作指令序列所指示的动作;

每完成一个动作指令所指示的动作,码垛装置在码垛状态表中对动作指令进行标记并将码垛状态表发送给第一设备,以便于第一设备对码垛状态进行备份,码垛状态表中包括动作指令序列中被标记的动作指令和未被标记的动作指令。

可选的,将码垛状态表发送给第一设备之后,方法还包括:

当码垛装置启动时,码垛装置向第一设备发送请求消息,请求消息用于请求第一设备返回码垛状态表;

接收第一设备发送的码垛状态表;

根据码垛状态表,确定动作指令序列中未标记的动作指令序列;

依次执行未标记的动作指令序列所指示的动作。

可选的,将码垛状态表发送给第一设备之后,方法还包括:

当码垛装置启动时,码垛装置向第一设备发送请求消息,请求消息用于请求第一设备返回码垛状态表;

接收第一设备发送的码垛状态表;

获取当前本地存储的码垛状态表;

将第一设备发送的码垛状态表和当前本地存储的码垛状态表进行对比,确定时间戳靠前的码垛状态表;

根据时间戳靠前的码垛状态表,确定动作指令序列中未标记的动作指令序列;

依次执行未标记的动作指令序列所指示的动作。

可选的,依次执行未标记的动作指令序列所指示的动作,包括:

从未标记的动作指令序列中的第n个动作指令开始,依次执行相应的动作,n>1。

可选的,依次执行未标记的动作指令序列所指示的动作,包括:

获取码垛装置的位姿信息;

根据位姿信息,确定未标记的动作指令序列中未被执行的动作指令;

依次执行未被执行的动作指令所指示的动作。

可选的,根据位姿信息,确定未标记的动作指令序列中未被执行的动作指令,包括:

从未标记的动作指令序列中的第一个动作指令开始,确定第一个动作指令所指示的动作与位姿信息是否匹配;

若第一个动作指令所指示的动作与位姿信息匹配,则继续判断未标记的动作指令序列中的下一个动作指令所指示的动作与位姿信息是否匹配,直至确定与位姿信息不匹配的第一动作指令;

确定第一动作指令和第一动作指令之后的动作指令为未被执行的动作指令。

第二方面,本申请实施例提供了一种码垛装置的控制装置,包括:

第一获取模块,用于码垛装置获取动作指令序列,动作指令序列中的每个动作指令用于指示码垛装置执行相应的动作;

动作模块,用于码垛装置依次执行动作指令序列所指示的动作;

发送模块,用于每完成一个动作指令所指示的动作,码垛装置在码垛状态表中对动作指令进行标记并将码垛状态表发送给第一设备,以便于第一设备对码垛状态进行备份,码垛状态表中包括动作指令序列中被标记的动作指令和未被标记的动作指令。

可选的,装置还包括:

第一请求模块,用于当码垛装置启动时,码垛装置向第一设备发送请求消息,请求消息用于请求第一设备返回码垛状态表;

第一接收模块,用于接收第一设备发送的码垛状态表;

第一确定模块,用于根据码垛状态表,确定动作指令序列中未标记的动作指令序列;

第一执行模块,用于依次执行未标记的动作指令序列所指示的动作。

第三方面,本申请实施例提供了一种码垛装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述第一方面或第一方面的任一实施方式的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式的方法。

本申请提供的码垛装置的控制方法及装置,通过码垛装置获取动作指令序列,然后码垛装置依次执行动作指令序列所指示的动作,最后每完成一个动作指令所指示的动作,码垛装置就在码垛状态表中对动作指令进行标记并将码垛状态表发送给第一设备,以便于第一设备对码垛状态进行备份。通过本申请实施例,码垛装置可以在每完成一个动作指令所指示的动作后,就对该动作指令进行标记,并将码垛状态表发送给第一设备,以便于第一设备对码垛状态进行备份。使得码垛装置在出现突然断电的情况下,如果内部发生故障并导致本地保存的码垛数据丢失,也可以通过第一设备恢复码垛数据,解决了没有合适的补救措施的问题,提高了码垛设备的数据安全性和可靠性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请提供的一种基于modbus的数据通道的建立流程图;

图2是本申请提供的一种码垛装置与第一设备的交互示意图;

图3是本申请提供的一种码垛装置的控制方法的示意性流程图;

图4是本申请提供的一种码垛装置的恢复数据方法的示意性流程图;

图5是本申请提供的另一种码垛装置的恢复数据方法的示意性流程图;

图6是本申请提供的一种码垛装置的执行恢复数据方法的示意性流程图;

图7是本申请提供的一种码垛装置的控制装置的结构框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

本实施例中码垛装置的控制方法的执行主体为码垛装置,码垛装置包括但不限于龙门式码垛码垛机、立柱式码垛机、机械臂式码垛机、码垛机器人等。

为了便于理解本申请实施例中的技术方案,下面首先对本申请实施例中所涉及的码垛装置和第一设备的应用场景进行介绍。

本申请实施例中,第一设备可以是示教器,也可以是第三方设备。其中,第三方设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本、个人数字助理(personaldigitalassistant,pda)等电子设备。

码垛装置和第一设备之间建立有数据传输通道,用于传输相关数据。用户可以在第一设备中设置码垛装置的工作目标,然后第一设备可以根据工作目标,生成一系列的用于执行相应动作以完成工作目标的动作指令。进而第一设备可以通过数据传输通道,将动作指令发送至码垛装置。码垛装置可以根据接收到的动作指令完成工作目标。用户也可以通过第一设备,手动操作码垛装置完成工作目标。

需要说明的是,用于发送动作指令的第一设备和用于备份的第一设备在实际应用中可以不是同一个设备。例如用于发送动作指令的第一设备为示教器,用于备份的第一设备为笔记本电脑,对此本申请不做限定。

若第一设备包括示教器,那么示教器和码垛装置之间的数据通道可以是基于私有协议建立的数据通道,也可以是基于标准工业通讯协议建立的数据通道,其中,标准工业通讯协议可以包括控制器局域网总线技术(controllerareanet-workbus,canbus)、过程现场总线(processfieldbus,profibus)、modbus等。其中,modbus是一种串行通信协议,是modicon公司于1979年为使用可编程逻辑控制器通信而发表。

若第一设备包括第三方设备,那么第三方设备与码垛装置之间的数据通道可以是基于标准工业通讯协议建立的数据通道。

示例性的,以基于modbus通讯协议建立的数据通道为例。图1示出了本申请提供的一种基于modbus的数据通道的建立流程图。参照图1,码垛装置和第一设备采用的是modbus总线方案,其中,第一设备可以是modbus协议中规定的主站,码垛装置可以是modbus协议中规定的从站。在第一设备和码垛装置上电后,第一设备可以启动modbus主站服务,并向码垛装置发起连接请求。码垛装置可以启动modbus从站服务,并等待连接请求。然后,码垛装置可以接受连接请求,并返回数据通道建立成功的信息至第一设备。此时,第一设备与码垛装置之间的数据通道建立成功,码垛装置可以通过与第一设备之间的数据通道,接收第一设备发送的动作指令。

若第一设备包括第三方设备,且码垛装置使用的数据库为远程字典服务(remotedictionaryserver,redis)数据库,那么第三方设备与码垛装置之间还可以基于redis数据库的自有通讯协议建立数据通道。其中,redis数据库在码垛装置中设置的是服务端,在第一设备中设置的是客户端。

例如,参照图2,图2示出了本申请提供的一种码垛装置与第一设备的交互示意图。码垛装置与示教器、第三方设备之间建立有基于modbus的数据通道。其中,示教器用于发送动作指令,第三方设备用于备份动作指令。示教器可以通过数据通道将动作指令发送至码垛装置。码垛装置可以将该动作指令保存在本地,并执行动作指令所指示的动作。码垛装置还可以通过数据通道将动作指令发送至第三方设备。第三方设备在接收到动作指令后,将其保存在本地。由于码垛装置中使用的是redis数据库,码垛装置还可以将动作指令保存在redis数据库中。因此,第三方设备还可以通过基于redis数据库的自有通讯协议建立数据通道,获取动作指令,并其保存在本地。

图3示出了本申请提供的一种码垛装置的控制方法的示意性流程图。该控制方法包括:

s110,码垛装置获取动作指令序列,动作指令序列中的每个动作指令用于指示码垛装置执行相应的动作。

第一设备可以根据用户设置的工作目标生成一系列的动作指令。其中,每个动作指令均用于指示码垛装置执行相应的动作。在实际应用中,码垛装置的工作目标往往需要通过执行海量的动作才可以完成的。因此,为了执行海量的动作,第一设备也将生成对应的动作指令。在上述情况下,若一次性将海量的动作指令发送至码垛装置,码垛装置很可能会因为需要处理的数据量过大而宕机。

因此,在本申请实施例中,第一设备在生成一系列的动作指令后,可以将所有的动作指令划分为多个动作指令序列。其中,每个动作指令序列均包含多个动作指令,保证码垛装置不会因需要处理的数据量过大而宕机。

示例性的,执行机构每次发送一个动作指令序列至码垛装置,码垛装置获取该动作指令序列,其中,该动作指令序列中的每个动作指令用于指示码垛装置执行相应的动作。

例如,用户可以在第一设备中将码垛装置的工作目标设置为“将1000个目标货物码放为10行10列10层的货物堆”。第一设备可以一次以10个目标货物为一组,生成这10个目标货物对应的动作指令,并将这10个目标货物对应的多个动作指令确定为一个动作指令序列,然后发送至码垛装置。由此,第一设备可以将1000个目标货物依次生成对应的100个动作指令序列,并将对应的100个动作指令序列依次发送至码垛装置,以供码垛装置完成工作目标。

s120,码垛装置依次执行动作指令序列所指示的动作。

在获取动作指令序列的情况下,码垛装置可以依次执行动作指令序列中动作指令所指示的动作,直到完成所有的动作指令。

例如,码垛装置获取的动作指令序列对应的动作为:001机械爪抓取目标货物、002机械臂1号轴旋转至正90度、003机械臂2号轴旋转至正35度、004移动底座在x轴移动至正50厘米。码垛装置可以根据动作指令序列,首先控制机械爪抓取目标货物,然后依次控制机械臂1号轴旋转至正90度,控制机械臂2号轴旋转至正35度,控制移动底座在x轴移动至正50厘米,完成动作指令序列对应的动作。

s130,每完成一个动作指令所指示的动作,码垛装置在码垛状态表中对动作指令进行标记并将码垛状态表发送给第一设备,以便于第一设备对码垛状态进行备份。

在步骤s110中,码垛装置在获取到动作指令序列后,可以将动作指令序列保存在码垛状态表中。每当码垛装置完成一个动作指令所指示的动作后,码垛装置可以在码垛状态表中查找对应的动作指令,并对该动作指令进行标记,表示已完成该动作指令所指示的动作。通过对完成的动作指令进行标记可以将已完成的动作指令和未完成的动作指令区分开,使得码垛装置可以在该动作指令序列还未完成的情况下,下电关机,然后当该码垛装置再次上电启动后,可以通过确定每个动作指令的标记状态,确定所有未完成的动作指令,并继续依次执行所有未完成的动作指令。

示例性的,码垛装置还可以在每次标记完动作指令后,将码垛状态表发送给第一设备,其中,码垛状态表中包括动作指令序列中被标记的动作指令和未被标记的动作指令。第一设备在接收到码垛状态表的情况下,可以将该码垛状态表保存在本地。使得码垛装置在出现突然断电的情况下,如果内部发生故障并导致本地保存的码垛数据丢失,也可以通过第一设备恢复码垛数据,解决了没有合适的补救措施的问题,提高了码垛设备的数据安全性和可靠性。进一步的,第一设备在获取码垛装置的码垛状态表后,还可以根据实际需求,进行数据展示,或数据分析等工作,实现了码垛机器人更丰富的应用场景。

例如,示教器将动作指令序列发送至码垛装置。码垛装置将该动作指令序列保存在码垛状态表中,并依次执行动作指令序列所指示的动作。码垛装置在执行完动作“机械爪抓取目标货物”的情况下,在码垛状态表中查找动作“机械爪抓取目标货物”对应的动作指令。查找到动作指令后,对该动作指令进行标记,并将码垛状态表发送至第三方设备。第三方设备在接收到码垛状态表后,将其保存在本地。

示例性的,图4示出了本申请提供的一种码垛装置的恢复数据方法的示意性流程图,主要描述了码垛装置在突然断电的情况下,内部发生故障并导致本地保存的码垛数据丢失,然后通过在第一设备中备份的码垛数据表恢复数据的步骤。参见图4,该方法包括:

s210,当码垛装置启动时,码垛装置向第一设备发送请求消息,请求消息用于请求第一设备返回码垛状态表。

码垛装置在突然断电的情况下,内部发生故障并导致本地保存的码垛数据丢失。由于码垛设备在断电前,一直在向第一设备发送码垛状态表。因此,码垛装置可以在启动时,向第一设备发送用于请求第一设备返回码垛状态表的请求信息。

s220,接收第一设备发送的码垛状态表。

第一设备可以在接收到码垛装置发送的请求信息后,确定需要被发送的码垛状态表,并将该码垛状态表发送至码垛设备。码垛设备接收第一设备发送的码垛状态表。

s230,根据码垛状态表,确定动作指令序列中未标记的动作指令序列。

码垛设备可以根据码垛状态表,获取码垛状态表中的动作指令序列。动作指令序列包括被标记的动作指令和未被标记的动作指令。其中,被标记的动作指令表示码垛装置已经完成该动作指令所指示的动作,未被标记的动作指令表示码垛装置未完成该动作指令所指示的动作。码垛装置可以在动作指令序列中找到所有未标记的动作指令,并将所有未标记的动作指令确定为未标记的动作指令序列。

s240,依次执行未标记的动作指令序列所指示的动作。

在确定完毕动作指令序列中未标记的动作指令序列的情况下,码垛装置可以依次执行未标记的动作指令序列所指示的动作,并且,在每完成一个动作指令所指示的动作后,执行步骤s130,直到完成所有的动作指令。

在实际应用中,为了提高工作效率,码垛装置往往是以很快的执行速度在执行动作,并且每个动作之间几乎是连续且不停歇的。因此,在发生突然断电时,码垛装置可能已经执行了多个动作,却没有来得及将该多个动作对应的动作指令进行标记。导致码垛状态表中已标记的动作指令与实际码垛装置已执行的动作不一致,若再次启动时,根据该码垛状态表继续执行未标记的动作指令所指示的动作,会使得码垛装置重复执行已执行过的动作,影响工作效率。

示例性的,为了解决上述问题,码垛装置可以在依次执行未标记的动作指令序列所指示的动作时,从未标记的动作指令序列中的第n个动作指令开始,依次执行相应的动作,其中,n>1。也即是,在重启后继续执行动作指令时,码垛装置可以跳过n-1个动作指令,提高工作效率。需要说明的是,n的具体数值可以根据实际的应用情况进行设定,本申请实施例具体不做限定。

例如,码垛装置已经确定出,在接收到的码垛状态表中,001-009的动作指令为已标记的动作指令,010-050的动作指令为未标记的动作指令。码垛装置预设的n为2,因此,码垛装置可以跳过010的动作指令,直接从011的动作指令开始执行,并依次011-050的动作指令。

示例性的,图5示出了本申请提供的另一种码垛装置的恢复数据方法的示意性流程图,主要描述了码垛装置在突然断电的情况下,但内部存储的码垛状态表并未丢失时,恢复数据的步骤。参见图5,该方法包括:

s310,当码垛装置启动时,码垛装置向第一设备发送请求消息,请求消息用于请求第一设备返回码垛状态表。

s320,接收第一设备发送的码垛状态表。

s330,获取当前本地存储的码垛状态表。

在一个示例中,码垛装置在突然断电的情况下,内部存储的码垛状态表并未丢失。因此,码垛装置可以在接收到第一设备发送的码垛状态表的情况下,获取当前本地存储的码垛状态表。

s340,将第一设备发送的码垛状态表和当前本地存储的码垛状态表进行对比,确定时间戳靠前的码垛状态表。

在实际应用中,由于突然断电的时机可不预测,因此,当断电发生在码垛装置已经将码垛状态表中的动作指令进行了标记,但还没将该码垛状态表发送至第一设备时,此时第一设备中的码垛状态表和码垛装置中的码垛状态表并不一致。

示例性的,码垛装置可以将第一设备发送的码垛状态表和当前本地存储的码垛状态表进行对比,确定时间戳靠前的码垛状态表。其中,码垛状态表的时间戳是用于记录该码垛状态表的最后一次数据变动时的时间。而时间戳靠前表示多个时间戳之间,距当前时间最近的时间戳。

例如,第一设备发送的码垛状态表的时间戳为2019年12月23日12时30分31秒,当前本地存储的码垛状态表的时间戳为2019年12月23日12时30分32秒。码垛装置将第一设备发送的码垛状态表和当前本地存储的码垛状态表进行对比,确定当前本地存储的码垛状态表的时间戳距当前时间2019年12月23日14时10分30秒更近。因此,确定当前本地存储的码垛状态表为时间戳靠前的码垛状态表。

s350,根据时间戳靠前的码垛状态表,确定动作指令序列中未标记的动作指令序列。

在确定好时间戳靠前的码垛状态表的情况下,码垛装置可以确定该码垛状态表包括的动作指令序列中未标记的动作指令序列。

s360,依次执行未标记的动作指令序列所指示的动作。

码垛装置可以依次执行未标记的动作指令序列所指示的动作,并且,在每完成一个动作指令所指示的动作后,执行步骤s130,直到完成所有的动作指令。

示例性的,码垛装置也可以在依次执行未标记的动作指令序列所指示的动作时,从未标记的动作指令序列中的第n个动作指令开始,依次执行相应的动作,其中,n>1。

在一个实施例中,步骤s240和步骤s360还可以具体包括以下步骤:

请参照图6,图6示出了本申请提供的一种码垛装置的执行恢复数据方法的示意性流程图。

s410,获取码垛装置的位姿信息。

“位姿(pose)”在自动化技术领域中主要是用于描述机械手臂的末端执行器相对于基点的位置和姿态。在本申请实施例中,码垛装置包括多个用于执行实际动作的执行机构,并且可以通过控制这些执行机构实现旋转、抓取、移动等动作。我们可以通过在每个执行机构中增加传感器,通过传感器检测这些执行机构相对于码垛装置的“基点”的“位置和姿态”信息。

示例性的,在码垛装置重启后,码垛装置可以继续保持在断电前的动作状态。在确定完毕未标记的动作指令序列的情况下,码垛装置可以通过设置在各个执行机构中的传感器检测各个执行机构的位姿信息,位姿信息可以包括各个执行机构相对于基点的角度信息或距离信息。

例如,码垛装置通过传感器获取的位姿信息包括:机械爪开合角度为30度、机械臂1号轴旋转角度为正90度、机械臂2号轴旋转角度为正28度、移动底座在x轴的距离为正40厘米,在y轴的距离为负20厘米。

s420,根据位姿信息,确定未标记的动作指令序列中未被执行的动作指令。

由于码垛状态表中已标记的动作指令与实际码垛装置已执行的动作可能不一致,因此,未标记的动作指令序列中未被执行的动作指令也可能与实际码垛装置中未被执行的动作指令不一致。为了精确的确定未被执行的动作指令,码垛装置可以根据位姿信息,确定未标记的动作指令序列中未被执行的动作指令。

示例性的,步骤s420可以包括以下子步骤:

s421,从未标记的动作指令序列中的第一个动作指令开始,确定第一个动作指令所指示的动作与位姿信息是否匹配。

码垛装置可以从未标记的动作指令序列中,按照执行顺序读取第一个动作指令,并确定出第一个动作指令所指示的动作,但并不执行该动作。然后在位姿信息中确定该动作对应执行机构的具体位姿信息,将该具体的位姿信息与该动作进行对比,若该具体的位姿信息与该动作相一致,则可以确定第一个动作指令所指示的动作与位姿信息匹配,否则就是不匹配。

例如,位姿信息包括:机械爪开合角度为30度、机械臂1号轴旋转角度为正90度、机械臂2号轴旋转角度为正28度、移动底座在x轴的距离为正40厘米,在y轴的距离为负20厘米。第一个动作指令所指示的动作为“机械臂1号轴旋转至正90度”。码垛装置可以确定该动作的执行机构为“机械臂1号轴”,然后在位姿信息中确定机械臂1号轴旋转角度为正90度,并与该动作“机械臂1号轴旋转至正90度”进行对比。由于该机械臂1号轴的位姿信息与该动作相一致,则确定第一个动作指令所指示的动作与位姿信息匹配。

s422,若第一个动作指令所指示的动作与位姿信息匹配,则继续判断未标记的动作指令序列中的下一个动作指令所指示的动作与位姿信息是否匹配,直至确定与位姿信息不匹配的第一动作指令。

若第一个动作指令所指示的动作与位姿信息匹配,则码垛装置可以继续判断未标记的动作指令序列中的下一个动作指令所指示的动作与位姿信息是否匹配,直至找到与位姿信息不匹配的动作指令,并将该动作指令确定为第一动作指令。

例如,位姿信息包括:机械爪开合角度为30度、机械臂1号轴旋转角度为正90度、机械臂2号轴旋转角度为正28度、移动底座在x轴的距离为正40厘米,在y轴的距离为负20厘米。第二个动作指令所指示的动作为“机械臂2号轴旋转至正35度”。码垛装置可以确定该动作的执行机构为“机械臂2号轴”,然后在位姿信息中确定机械臂2号轴旋转角度为正28度。由于该机械臂2号轴的位姿信息与该动作不一致,则确定第二个动作指令所指示的动作与位姿信息不匹配,并将第二个动作指令确定为第一动作指令。

若第一个动作指令所指示的动作与位姿信息不匹配,则码垛装置可以直接将第一个动作指令确定为第一动作指令。

s423,确定第一动作指令和第一动作指令之后的动作指令为未被执行的动作指令。

通过步骤s422,码垛装置可以精确的确定在断电时实际执行到哪个动作指令了,进一步的提高工作效率。在确定完毕第一动作指令的情况下,码垛装置可以将第一动作指令和第一动作指令之后的动作指令全部确定为未被执行的动作指令。

s430,依次执行未被执行的动作指令所指示的动作。

码垛装置可以依次执行未被执行的动作指令所指示的动作,并且,在每完成一个动作指令所指示的动作后,执行步骤s130,直到完成所有的动作指令。

综上,本申请实施例,通过码垛装置获取动作指令序列,然后码垛装置依次执行动作指令序列所指示的动作,最后每完成一个动作指令所指示的动作,码垛装置就在码垛状态表中对动作指令进行标记并将码垛状态表发送给第一设备,以便于第一设备对码垛状态进行备份。通过本申请实施例,码垛装置可以在每完成一个动作指令所指示的动作后,就对该动作指令进行标记,并将码垛状态表发送给第一设备,以便于第一设备对码垛状态进行备份。使得码垛装置在出现突然断电的情况下,如果内部发生故障并导致本地保存的码垛数据丢失,也可以通过第一设备恢复码垛数据,解决了没有合适的补救措施的问题,提高了码垛设备的数据安全性和可靠性。另外,通过本申请实施例,码垛装置还可以在依次执行未标记的动作指令序列所指示的动作时,可以跳过n-1个动作指令,提高工作效率。进一步的,码垛装置还可以在通过对比多个码垛状态表的时间戳,确定距当前时间最近的时间戳,以便选择最符合码垛装置真实状态的码垛状态表的。最后,码垛装置还可以通过对比位姿信息与未标记的动作指令序列,精确确定未被执行的动作指令。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例的码垛装置的控制方法,图7示出了本申请提供的一种码垛装置的控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图7,该装置包括:

第一获取模块710,用于码垛装置获取动作指令序列,动作指令序列中的每个动作指令用于指示码垛装置执行相应的动作;

动作模块720,用于码垛装置依次执行动作指令序列所指示的动作;

发送模块730,用于每完成一个动作指令所指示的动作,码垛装置在码垛状态表中对动作指令进行标记并将码垛状态表发送给第一设备,以便于第一设备对码垛状态进行备份,码垛状态表中包括动作指令序列中被标记的动作指令和未被标记的动作指令。

可选的,装置还包括:

第一请求模块,用于当码垛装置启动时,码垛装置向第一设备发送请求消息,请求消息用于请求第一设备返回码垛状态表;

第一接收模块,用于接收第一设备发送的码垛状态表;

第一确定模块,用于根据码垛状态表,确定动作指令序列中未标记的动作指令序列;

第一执行模块,用于依次执行未标记的动作指令序列所指示的动作。

本申请实施例还提供了一种码垛装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

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

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

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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