掌桥专利:专业的专利平台
掌桥专利
首页

订单处理方法、装置、电子设备以及烹饪系统

文献发布时间:2023-06-19 11:57:35


订单处理方法、装置、电子设备以及烹饪系统

技术领域

本申请涉及订单处理技术领域,特别涉及一种订单处理方法、装置、电子设备以及烹饪系统。

背景技术

自动化控制可以解放劳动力,提高生产效率,降低生产成本,要达到这样的要求,设备一般要满足三大要素,即“快、稳、准”,目前市场上设备信息与电控交互太多,导致设备接收订单后,受通讯约束太多,每次交互都要进行握手,如果通讯延时或通讯收发失败,会导致触发重发机制,大量的状态报文交互,影响了控制实时性。

例如,在餐厅领域中,设备在接收到订单后,每次调度命令下发,都要先监听机械臂是否空闲,当有多个订单任务执行时,信息调度在复杂的应用场景下,往往要通过串行等待来做逻辑判读,即在接收到一个订单信息后,只有在对这个订单信息进行每个烹饪环节都处理完并出餐后,系统才对下一个订单信息进行处理,从而影响出餐速度,因此,订单处理效率较低,用户体验度较差。

发明内容

本申请提供了一种订单处理方法、装置、电子设备以及烹饪系统,其能够在第一个订单信息还没有处理完的情况下,对第二个订单信息进行处理,有利于提高订单处理效率,增加用户体验度。

第一方面,本申请提供了一种订单处理方法,应用于烹饪系统,所述烹饪系统包括机械臂以及储料区,所述储料区包括一个或多个储料子区,每个所述储料子区被配置有对应的第一地址,所述方法包括:

获取接收到的一个或多个订单信息,所述订单信息中包含目标标识,所述目标标识用于标识所述第一地址;

按照所述订单信息的输入时刻,将每个所述订单信息中的目标标识按时间顺序存入第一存储队列;

在确定所述第一存储队列的队首位存有所述目标标识后,将所述队首位存有的所述目标标识作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的目标标识对应的储料子区。

其中一种可能的实现方式中,所述方法还包括:

在读取到所述队首位存有的所述目标标识后,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

其中一种可能的实现方式中,所述在读取到所述队首位存有的所述目标标识后,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动,包括:

在读取到所述队首位存有的所述目标标识后,将所述队首位存有的所述目标标识从所述队首位删除,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

其中一种可能的实现方式中,所述烹饪系统还包括烹饪区,所述烹饪区包括一个或多个烹饪子区,每个所述烹饪子区被配置有对应的第二地址,多个所述烹饪子区按照优先级排序,在所述将所述队首位存有的所述目标标识作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的目标标识对应的储料子区之后,所述方法还包括:

在多个所述烹饪子区中进行搜索,以得到处于空闲状态且优先级高的目标烹饪子区;

按照与所述目标烹饪子区对应的第二地址,控制所述机械臂移动。

其中一种可能的实现方式中,所述方法还包括:

获取所述订单信息的数量;

在多个所述烹饪子区中进行搜索,以得到处于空闲状态的烹饪子区;

基于所述订单的数量,按照优先级开启所述处于空闲状态的烹饪子区。

其中一种可能的实现方式中,所述方法还包括:

在所述烹饪子区完成烹饪的情况下,获取一个或多个与完成烹饪的所述烹饪子区相对应的第二地址;

按照所述烹饪子区的烹饪完成时刻,将每个与完成烹饪的所述烹饪子区相对应的第二地址按时间顺序存入第二存储列队;

在确定所述第二存储列队的队首位存有所述第二地址后,将所述队首位存有的所述第二地址作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的第二地址对应的烹饪子区。

第二方面,本申请提供一种订单处理装置,所述订单处理装置包括机械臂以及储料区,所述储料区包括一个或多个储料子区,每个所述储料子区被配置有对应的第一地址,所述装置包括:

获取模块,用于获取接收到的一个或多个订单信息,所述订单信息中包含目标标识,所述目标标识用于标识所述第一地址;

存储模块,用于按照所述订单信息的输入时刻,将每个所述订单信息中的目标标识按时间顺序存入第一存储队列;

控制模块,用于在确定所述第一存储队列的队首位存有所述目标标识后,将所述队首位存有的所述目标标识作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的目标标识对应的储料子区。

第三方面,本申请提供一种烹饪系统,所述烹饪系统包括:

储料区,所述储料区包括一个或多个储料子区,每个所述储料子区被配置有对应的第一地址;

烹饪区,所述烹饪区包括一个或多个烹饪子区,每个所述烹饪子区被配置有对应的第二地址;

订单管理装置,用于接收一个或多个订单信息;

控制装置,包含:

一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行第一方面所述的方法;

机械臂,用于受控于所述控制装置,以执行取料、移动和/或出餐操作。

第四方面,本申请提供了一种电子设备,包括:

一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如第一方面所述的方法。

第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。

第六方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第一方面所述的方法。

在一种可能的设计中,第六方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。

附图说明

图1为本申请订单处理方法一个实施例的方法示意图;

图2为本申请订单处理方法一个实施例中第一存储列队的示意图;

图3为本申请订单处理方法一个实施例中第二存储列队的示意图;

图4为本申请订单处理装置一个实施例的结构示意图;

图5为本申请烹饪系统一个实施例的结构示意图;

图6为本申请烹饪系统一个实施例的流程示意图;

图7为本申请烹饪系统另一个实施例的结构示意图;

图8为本申请电子设备一个实施例的结构示意图。

具体实施方式

本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。

现有技术中,当有多个订单任务执行时,信息调度在复杂的应用场景下,往往要通过串行等待来做逻辑判读,即在接收到一个订单信息后,只有在对这个订单信息进行每个烹饪环节都处理完并出餐后,系统才对下一个订单信息进行处理,从而影响出餐速度,因此,订单处理效率较低,用户体验度较差。

为此,本申请提出一种订单处理方法、装置、电子设备以及烹饪系统,其能够在第一个订单信息还没有处理完的情况下,对第二个订单信息进行处理,有利于提高订单处理效率,增加用户体验度。

举例地,所述订单处理方法可以应用于烹饪系统,烹饪系统可以包括机械臂以及储料区,储料区可以包括一个或多个储料子区,每个储料子区被配置有对应的第一地址,每个储料子区内存储有用于烹饪的储料(或菜品原料)等。例如,储料区可以包括多层料架,多层料架的每一层对应于储料子区,如第一储料子区对应第一层料架,与第一储料子区对应的第一地址为第一层料架的编号(如编号为1),第二储料子区对应第二层料架,与第二储料子区对应的第一地址为第二层料架的编号(如编号为2),以此类推。

烹饪系统还可以包括烹饪区,烹饪区可以包括一个或多个烹饪子区,每个烹饪子区被配置有对应的第二地址,每个烹饪子区用于烹饪被投入其中的储料,例如,烹饪区可以包括多个炸炉,每个炸炉中包含炸篮,每个炸蓝对应于烹饪子区,如第一炸蓝对应第一烹饪子区,与第一烹饪子区对应的第二地址为第一炸蓝的编号(如编号为1),第二烹饪子区对应第二炸篮,与第二烹饪子区对应的第二地址为第二炸篮的编号(如编号为2),以此类推。

在处理订单信息的过程中,烹饪系统需要执行多个烹饪环节,烹饪环节可以包括但不限于取料,投料,烹饪,出餐等。例如,一个完整的处理订单信息过程可以包括,根据接收到的订单信息,控制机械臂从储料区内取出所需的储料(如取料),在取到所需的储料后,控制机械臂将取到的储料投入烹饪区内(如投料),然后在烹饪区内进行烹饪(如烹饪),在烹饪完成后,控制机械臂将烹饪完成的餐品从烹饪区内取出(如出餐),以完成出餐。

在本实施例中,若接收到多个订单信息,在第一个订单信息还没有处理完的情况下,烹饪系统可以对第二个订单信息进行处理,以提高订单处理效率。例如,在第一个订单信息正在进行下一个烹饪环节(如投料、烹饪或出餐等)的情况下,烹饪系统可以对第二个订单信息进行上一个烹饪环节(如取料、投料或烹饪等),有利于缩短出餐时间,增加用户体验度。而现有技术中,若接收到多个订单信息,需在对第一个订单信息依次进行取料、投料、烹饪并出餐完毕后,才对第二个订单信息进行处理,因此,订单处理效率较低,用户体验度较差。

图1为本申请订单处理方法一个实施例的方法示意图。如图1所示,上述订单处理方法可以包括:

S101、获取接收到的一个或多个订单信息,所述订单信息中包含目标标识,所述目标标识用于标识所述第一地址。

例如,订单信息中可以包含一个或多个菜品的目标标识,目标标识与存储该菜品原料的储料子区的第一地址相对应,如第一地址为1号储料子区,目标标识可以记为ID=1。在其他实施例中,订单信息中的目标标识可以包含菜品原料存储的第一地址,在此不受限制。

举例地,烹饪系统中还可以包括订单管理装置,订单管理装置用于接收一个或多个订单信息。例如,订单管理装置可以包含交互界面,用于获取用户输入的订单信息。或者,订单管理装置还可以包含通信模块,用于与用户终端如手机等建立连接,以接收由用户终端发送的订单信息。

S102、按照所述订单信息的输入时刻,将每个所述订单信息中的目标标识按时间顺序存入第一存储队列。

举例地,订单信息的输入时刻可以包括用户输入订单信息的时刻,如用户在订单管理装置输入订单的时刻,或者订单管理装置接收到订单信息的时刻等。或者,订单信息的输入时刻可以包括用户输入的设定时刻,如预约时刻等。

如图2所示,第一存储列队中可以包含多个第一缓存器,如从队首位至队尾位,第一缓存器地址依次为D430、D431、D432、D433、D434…D478、D479等。优选地,在没有订单信息的情况下,第一存储队列中每个第一缓存器的值均为0。

举例地,在步骤S102中,按照时间顺序,将每个订单信息中的目标标识的值依次赋给队首位至队尾位的第一缓存器,如按时间顺序,接收到4个订单信息,且第一个订单信息中目标标识为ID=1、第二个订单信息中目标标识为ID=2、第三个订单信息中目标标识为ID=3、第四个订单信息中目标标识为ID=1,则在第一存储队列中从队首位至队尾位的第一缓存器的存储值分别为D430=1、D431=2、D432=3、D433=1、D434=0、D436=0…D478=0、D479=0。

进一步地,若烹饪系统继续接收到新的订单信息,则按照从队首位向队尾位的顺序,查找到存储值为0的第一缓存器,并将新的订单信息的目标标识的值赋给查找到的存储值为0的第一缓存器。例如,按照时间顺序,在接收到第五个订单信息中目标标识(如ID=4)的情况下,按照从队首位向队尾位的顺序,判断到第一缓存器D434的存储值等于0,则将第五个订单信息中目标标识的值赋给第一缓存器D434,即D434=4,后续接收到的订单信息以此类推。

S103、在确定所述第一存储队列的队首位存有所述目标标识后,将所述队首位存有的所述目标标识作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的目标标识对应的储料子区,以执行取料操作。

举例地,在队首位的第一缓存器的存储值不等于0(如D430=1)的情况下,读取得向队首位的第一缓存器的存储值,并以读取到的存储值控制机械臂执行移动操作,如移动至对应的储料子区,以完成取料。如,在控制机械臂移动至对应的储料子区后,控制机械臂执行取料操作,以从该储料子区内取出所需的储料如菜品原料。

也就是说,只要读取到第一存储列队的队首位存有目标标识后,便能够触发控制机械臂执行移动操作的操作,而无需等待前一个订单信息处理完整个烹饪环节(如出餐完毕)。换句话说,即使前一个订单信息的整个烹饪环节还没有处理完毕,也能够开始下一个订单的烹饪流程,有利于提高订单处理效率,增加烹饪系统的烹饪效率,缩短用户等待时间。例如,若第一个订单信息正在进行烹饪(如烹制菜品等)或取餐等过程,在读取到第一存储列队的队首位存有目标标识(如第二个订单信息的目标标识)的情况下,则根据读取结果控制机械臂移动至与第二个订单信息的目标标识相对应的储料子区,并执行取料操作,以取到与第二个订单信息对应的菜品原料。

需要指出的是,订单信息中包含的目标标识可以表示储料子区的地址(如第一地址),因此,烹饪系统可以从第一存储列队中读取存储的目标标识,即可控制机械臂移动至相应的储料子区,无需将订单信息存入第一存储列队中,减少了对订单信息解析的过程,有利于提高效率。

其中一种可能的实现方式中,所述方法还可以包括:

S201、在读取到所述队首位存有的所述目标标识后,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

也就是说,在读取到第一存储列队的队首位存储的目标标识后,按照读取结果控制机械臂执行移动操作,并且将存入第一存储列队的所有目标标识从队尾位向队首位的方向进行移动,例如,每次移动步长为一个存储地址。

举例地,在接收到4个订单信息的情况下,在第一存储队列中从队首位至队尾位的第一缓存器的存储值分别为D430=1、D431=2、D432=3、D433=1、D434=0、D436=0…D478=0、D479=0,在读取到第一存储列队的队首位的目标标识(如读取结果为D430=1)后,按照读取结果控制机械臂移动至与D430=1相对应的储料子区,并且第一存储列队中的所有目标标识从队尾位向队首位的方向进行移动,则在第一存储列队中从队首位至队尾位的第一缓存器的存储值分别为D430=2、D431=3、D432=1、D433=0、D434=0、D436=0…D478=0、D479=0。

可以看出的是,烹饪系统每次只需通过对第一存储列队的队首位进行数据读取,便能够实现对按时间排序的多个订单信息的目标标识依次读取的效果,因此,无需对读取位置进行修改或更新,如始终读取第一存储列队的队首位(D430)的存储值,从而简化了程序设计,有利于后续程序的标准模块化的工作。

其中一种可能的实现方式中,步骤S201可以包括:

S202、在读取到所述队首位存有的所述目标标识后,将所述队首位存有的所述目标标识从所述队首位删除,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

在步骤S202中,进行移动的所有目标标识是指在将第一存储列队中队首位存有的目标标识删除后,其他剩下仍存于第一存储列队中的所有目标标识。

也就是说,在读取到第一存储列队的队首位存有的目标标识(如D430=1)后,按照读取结果控制机械臂执行移动操作,(如在完成移动操作后)将第一存储列队的队首位存有的目标标识删除(如清除D430的存储值,如D430=0),(如在达到设定的轮询时长后)将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动,(如将D431的存储值2赋给D430,如D430=2)。

因此,第一存储列队的长度可以保持固定,有利于节省存储空间,只要第一存储列队的队尾位(如D479)的存储值为0(或空集),便可以将接收到的新订单信息的目标标识存入第一存储列队中。

其中一种可能的实现方式中,在步骤S103之后,所述方法还可以包括:

S301、在多个所述烹饪子区中进行搜索,以得到处于空闲状态且优先级高的目标烹饪子区;

S302、按照与所述目标烹饪子区对应的第二地址,控制所述机械臂移动。

优选地,多个烹饪子区按照优先级排序,例如,多个烹饪子区按照编号大小进行优先级排序,如编号越小,优先级越高。烹饪子区的状态可以包括工作状态以及空闲状态,工作状态用于表示烹饪子区内存在已投入的菜品,空闲状态用于表示烹饪子区内未投入菜品。

举例地,在步骤S301中,在控制机械臂移动至对应的储料子区并执行取料操作,以取到所需的菜品原料后,按照优先级从高至低的顺序,检测每个烹饪子区是否处于空闲状态(如检测每个烹饪子区内是否已投入菜品等),以得到处于空闲状态且优先级高的目标烹饪子区。举例地,若检测到1号烹饪子区内已投入菜品,2号烹饪子区内未投入菜品,则确定2号烹饪子区为目标烹饪子区。

在步骤S302中,按照与目标烹饪子区对应的第二地址,控制机械臂将取到的菜品原料移动并投入到目标烹饪子区(如2号烹饪子区)内,以完成投料。进一步地,在菜品原料投入到目标烹饪子区内的情况下,将目标烹饪子区的状态从空闲状态转变为工作状态,并按照菜品的烹饪时长等参数,对目标烹饪子区内的菜品原料执行烹饪操作,以烹制得到用户所需的餐品。例如,烹饪系统还可以包括加热装置,加热装置用于对烹饪子区执行烹饪操作,如加热烹饪子区内的温度(如油温),以炸制菜品。

其中一种可能的实现方式中,所述方法还可以包括:

S401、获取所述订单信息的数量;

S402、在多个所述烹饪子区中进行搜索,以得到处于空闲状态的烹饪子区;

S403、基于所述订单的数量,按照优先级开启所述处于空闲状态的烹饪子区。

举例地,订单信息的数量为n个,则按照优先级从高至低的顺序,开启n个处于空闲状态的烹饪子区,而其他处于空闲状态的烹饪子区不开启,有利于降低能耗,节省电量。

其中一种可能的实现方式中,所述方法还可以包括:

S501、在所述烹饪子区完成烹饪的情况下,获取一个或多个与完成烹饪的所述烹饪子区相对应的第二地址;

S502、按照所述烹饪子区的烹饪完成时刻,将每个与完成烹饪的所述烹饪子区相对应的第二地址按时间顺序存入第二存储列队;

S503、在确定所述第二存储列队的队首位存有所述第二地址后,将所述队首位存有的所述第二地址作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的第二地址对应的烹饪子区,以执行出餐操作。

举例地,在烹饪子区完成烹饪(如达到烹饪时长等)的情况下,可以生成烹饪完成信号,烹饪完成信号用于标识该烹饪子区完成烹饪。进一步地,该烹饪完成信号可以包含与完成烹饪的烹饪子区的第二地址以及烹饪完成时刻。

在步骤S502中,在多个烹饪子区完成烹饪(如检测到多个烹饪完成信号等)的情况下,按照每个烹饪子区的烹饪完成时刻,将每个与完成烹饪的烹饪子区相对应的第二地址按时间属性存入第二存储列队中。

如图3所示,第二存储列队中可以包含多个第二缓存器,如从队首位至队尾位,第二缓存器地址依次为D320、D321、D322、D323、D324…D335、D336等。优选地,在没有完成烹饪的烹饪子区的情况下,第二存储队列中每个第二缓存器的值均为0。

举例地,在步骤S502中,按照时间顺序,将每个与完成烹饪的烹饪子区相对应的第二地址的值依次赋给队首位至队尾位的第二缓存器,如按时间顺序,获取到4个完成烹饪的烹饪子区对应的第二地址(如检测到4个烹饪完成信号),且第一个完成烹饪的烹饪子区对应的第二地址为ID=1、第二个完成烹饪的烹饪子区对应的第二地址为ID=2、第三个完成烹饪的烹饪子区对应的第二地址为ID=3、第四个完成烹饪的烹饪子区对应的第二地址为ID=4,则在第二存储队列中从队首位至队尾位的第二缓存器的存储值分别为D320=1、D321=2、D322=3、D323=4、D324=0、D436=0…D478=0、D479=0。

进一步地,若烹饪系统继续接收到新的完成烹饪的烹饪子区对应的第二地址,则按照从队首位向队尾位的顺序,查找到存储值为0的第二缓存器,并将新的完成烹饪的烹饪子区对应的第二地址的值赋给查找到的存储值为0的第二缓存器。例如,按照时间顺序,在获取到第五个完成烹饪的烹饪子区对应的第二地址(如ID=5)的情况下,按照从队首位向队尾位的顺序,判断到第二缓存器D434的存储值等于0,则将第五个完成烹饪的烹饪子区对应的第二地址的值赋给第二缓存器D434,即D434=4,后续接收到的订单信息以此类推。

在步骤S503中,举例地,在队首位的第二缓存器的存储值不等于0(如D320=1)的情况下,读取得向队首位的第二缓存器的存储值,并以读取到的存储值控制机械臂执行移动操作,如移动至对应的烹饪子区,以取到烹制完成的餐品。例如,烹饪系统还可以包括一个或多个升降机构,升降机构用于执行升降操作,以升降烹饪子区内的炸篮完成倒料。在控制机械臂移动至对应的烹饪子区后,控制升降机构执行升降操作,以将烹饪子区内炸篮升高(用于实现炸篮倒料),以使机械臂取到从炸篮倒出的餐品(如炸篮中的餐品倒入机械臂上的取料盒或托盘内)。进一步地,在控制机械臂执行取餐操作完毕后,控制机械臂移动至出餐口,以将取到的餐品放置于出餐口,出餐口可以包括多个出餐位,每个出餐位分别用于存放取出的餐品。进一步地,在控制机械臂移动至出餐口后,烹饪系统可以发出出餐提示,以提示用户取餐。

也就是说,只要读取到第二存储列队的队首位存有第二地址后,便能够触发控制机械臂执行移动操作的操作,有利于提高订单处理效率,增加烹饪系统的烹饪效率,缩短用户等待时间。

可选地,在读取到第二存储列队的队首位存有的第二地址(如D320=1)后,按照读取结果控制机械臂执行移动操作,(如在完成移动操作后)将第二存储列队的队首位存有的第二地址删除(如清除D320的存储值,如D320=0),(如在达到设定的轮询时长后)将存入所述第二存储队列的所有第二地址从队尾位向队首位的方向进行移动,(如将D321的存储值2赋给D320,如D320=2)。

因此,第二存储列队的长度可以保持固定,有利于节省存储空间,只要第二存储列队的队尾位(如D336)的存储值为0(或空集),便可以将接收到的新的完成烹饪的烹饪子区对应的第二地址存入第二存储列队中。

需要指出的是,若烹饪系统的机械臂为单臂机械臂,步骤S103与步骤S503可以交替执行,以合理分配机械臂执行任务,提高设备效率和稳定性。例如,在执行步骤S103,如控制机械臂按照第一个订单信息的目标标识执行移动操作之后,执行步骤S503,如控制机械臂按照第一个完成烹饪的烹饪子区对应的第二地址执行移动操作,然后,再次执行步骤S103,如控制机械臂按照第二个订单信息的目标标识执行移动操作(若读取第一存储列队的队首位的存储值为0的情况下,则继续执行步骤S503),依次类推。

可以理解的是,上述实施例中的部分或全部步骤骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。

图4所示为本申请订单处理装置100一个实施例的结构示意图。如图4所示,上述订单处理装置100包括包括机械臂以及储料区,所述储料区包括一个或多个储料子区,每个所述储料子区被配置有对应的第一地址,所述装置100包括:

获取模块10,用于获取接收到的一个或多个订单信息,所述订单信息中包含目标标识,所述目标标识用于标识所述第一地址;

存储模块20,用于按照所述订单信息的输入时刻,将每个所述订单信息中的目标标识按时间顺序存入第一存储队列;

控制模块30,用于在确定所述第一存储队列的队首位存有所述目标标识后,将所述队首位存有的所述目标标识作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的目标标识对应的储料子区。

其中一种可能的实现方式中,所述装置100还用于:

在读取到所述队首位存有的所述目标标识后,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

其中一种可能的实现方式中,所述装置100还用于:

在读取到所述队首位存有的所述目标标识后,将所述队首位存有的所述目标标识从所述队首位删除,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

其中一种可能的实现方式中,所述装置100还包括烹饪区,所述烹饪区包括一个或多个烹饪子区,每个所述烹饪子区被配置有对应的第二地址,多个所述烹饪子区按照优先级排序,所述装置100还用于:

在多个所述烹饪子区中进行搜索,以得到处于空闲状态且优先级高的目标烹饪子区;

按照与所述目标烹饪子区对应的第二地址,控制所述机械臂移动。

其中一种可能的实现方式中,所述装置100还用于:

获取所述订单信息的数量;

在多个所述烹饪子区中进行搜索,以得到处于空闲状态的烹饪子区;

基于所述订单的数量,按照优先级开启所述处于空闲状态的烹饪子区。

其中一种可能的实现方式中,所述装置100还用于:

在所述烹饪子区完成烹饪的情况下,获取一个或多个与完成烹饪的所述烹饪子区相对应的第二地址;

按照所述烹饪子区的烹饪完成时刻,将每个与完成烹饪的所述烹饪子区相对应的第二地址按时间顺序存入第二存储列队;

在确定所述第二存储列队的队首位存有所述第二地址后,将所述队首位存有的所述第二地址作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的第二地址对应的烹饪子区。

可以理解的是,图4所示实施例提供的订单处理装置可用于执行本申请图1所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。

应理解以上图4所示的订单处理装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,控制模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。

图5为本申请烹饪系统200一个实施例的结构示意图。如图5所示,烹饪系统200可以包括储料区210,所述储料区210包括一个或多个储料子区211,每个所述储料子区被配置有对应的第一地址;烹饪区220,所述烹饪区220包括一个或多个烹饪子区221,每个所述烹饪子区被配置有对应的第二地址,每个烹饪子区221内被配置有用于烹饪菜品的炸篮201;订单管理装置230,用于接收一个或多个订单信息;控制装置240;以及机械臂250,用于受控于所述控制装置240,以执行取料、移动和/或出餐操作。

所述控制装置240,包含:

一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行以下步骤;

获取接收到的一个或多个订单信息,所述订单信息中包含目标标识,所述目标标识用于标识所述第一地址;

按照所述订单信息的输入时刻,将每个所述订单信息中的目标标识按时间顺序存入第一存储队列;

在确定所述第一存储队列的队首位存有所述目标标识后,将所述队首位存有的所述目标标识作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的目标标识对应的储料子区。

其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统还执行:

在读取到所述队首位存有的所述目标标识后,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述在读取到所述队首位存有的所述目标标识后,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动,包括:

在读取到所述队首位存有的所述目标标识后,将所述队首位存有的所述目标标识从所述队首位删除,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

其中一种可能的实现方式中,所述烹饪系统还包括烹饪区,所述烹饪区包括一个或多个烹饪子区,每个所述烹饪子区被配置有对应的第二地址,多个所述烹饪子区按照优先级排序,当所述指令被所述系统执行时,使得所述系统在执行所述将所述队首位存有的所述目标标识作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的目标标识对应的储料子区之后,还包括:

在多个所述烹饪子区中进行搜索,以得到处于空闲状态且优先级高的目标烹饪子区;

按照与所述目标烹饪子区对应的第二地址,控制所述机械臂移动。

其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统还执行:

获取所述订单信息的数量;

在多个所述烹饪子区中进行搜索,以得到处于空闲状态的烹饪子区;

基于所述订单的数量,按照优先级开启所述处于空闲状态的烹饪子区。

其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统还执行:

在所述烹饪子区完成烹饪的情况下,获取一个或多个与完成烹饪的所述烹饪子区相对应的第二地址;

按照所述烹饪子区的烹饪完成时刻,将每个与完成烹饪的所述烹饪子区相对应的第二地址按时间顺序存入第二存储列队;

在确定所述第二存储列队的队首位存有所述第二地址后,将所述队首位存有的所述第二地址作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的第二地址对应的烹饪子区。

也就是说,所述烹饪系统200可以用于执行如图1所示实施例的订单处理方法,其功能或原理可以参考上述图1所示实施例的订单处理方法,在此不再赘述。

需要指出的是,烹饪系统的订单管理装置210只管接收订单,询问烹饪系统是否可以接单,若可以接单,则接收用户输入的订单信息,并在订单完成后,提醒用户取餐,在整个烹饪环节(如取料、投料、烹饪以及出餐等)中,订单管理装置210可以无需与控制装置240进行信息交互,有利于减少信息参与烹饪制作过程。控制装置240只需按照第一存储列队中存有的目标标识(或第二存储列队中存有的第二地址)控制机械臂执行移动操作,以完成取料、投料、烹饪以及出餐等任务,有利于提高控制的实时性和可靠性,提高订单处理效率。相比于现有的烹饪系统,在炸篮数量不变的情况下,本实施例提供的烹饪系统,可以将之前24份菜品如薯条连续出餐平均速度48秒/份,压缩到小于或等于12份薯条连续出餐平均速度20秒/份,速度提高为240%,以及24份薯条连续出餐平均速度25秒/份,速度提高为192%。

例如,如图6所示,烹饪系统可以用于炸制菜品,烹饪系统的订单处理流程可以包括:

S1、对烹饪系统进行初始化,如初始化储料区(如获取储料区配置信息等)、初始化烹饪区(如获取烹饪区炸篮信息等)以及初始化机械臂(如机械臂回到初始位置)等;

S2、接收用户输入的订单信息;

S3、判断是否接单成功,若接单失败,则重新接单,若接单成功,则执行步骤S4;

S4、检测储料区是否出料(如检测储料区的出料滑道是否有料盒等),若未出料,则上报错误信息,若出料,则执行步骤S5;

S5、将订单信息的目标标识存入第一存储列队;

S6、控制机械臂执行取料、投料操作,以从储料区的出料滑道上取到料盒,并将取到的料盒中的菜品投入空闲的烹饪子区内;

S7、对投入烹饪子区内的菜品执行烹饪操作(如炸制菜品等);

S8、将完成烹饪的烹饪子区对应的第二地址存入第二存储列队;

S9、控制机械臂执行取餐操作,以将炸制完成的餐品放到出餐口;

S10、上报出餐完成信号,以提示用户取餐。

可以理解的是,订单管理装置210可以包含交互界面,用于获取用户输入的订单信息。或者,订单管理装置还可以包含通信模块,用于与用户终端如手机等建立连接,以接收由用户终端发送的订单信息。如图7所示,烹饪系统200还可以包括加热装置260,加热装置用于受控于控制装置240,以对烹饪子区执行烹饪操作,如加热烹饪子区内的温度(如油温),以炸制菜品。烹饪系统还可以包括一个或多个升降机构270,升降机构用于受控于控制装置240,以执行升降操作,以升降烹饪子区内的炸篮完成倒料。烹饪系统200还可以包括壳体280,烹饪区220形成于壳体280上,升降机构270与加热装置260均被安装于壳体280上。所述烹饪系统200还可以包括报警装置,用于受控于所述控制装置240,以执行报警操作等。

应理解,本实施例烹饪系统200可以包括其他不同类型的操作机构,以受控于所述控制装置,执行不同的操作,在此不受限制。

应理解,控制装置可以被实施为控制电路,控制装置中的处理器可以是片上系统SOC,该处理器中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。

图8为本申请电子设备一个实施例的结构示意图,如图8所示,上述电子设备可以包括:一个或多个处理器;存储器;以及一个或多个计算机程序。

其中,上述电子设备可以为烹饪设备等。

其中上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行以下步骤:

获取接收到的一个或多个订单信息,所述订单信息中包含目标标识,所述目标标识用于标识所述第一地址;

按照所述订单信息的输入时刻,将每个所述订单信息中的目标标识按时间顺序存入第一存储队列;

在确定所述第一存储队列的队首位存有所述目标标识后,将所述队首位存有的所述目标标识作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的目标标识对应的储料子区。

其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备还执行:

在读取到所述队首位存有的所述目标标识后,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备执行所述在读取到所述队首位存有的所述目标标识后,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动,包括:

在读取到所述队首位存有的所述目标标识后,将所述队首位存有的所述目标标识从所述队首位删除,将存入所述第一存储队列的所有所述目标标识从队尾位向队首位的方向进行移动。

其中一种可能的实现方式中,所述烹饪系统还包括烹饪区,所述烹饪区包括一个或多个烹饪子区,每个所述烹饪子区被配置有对应的第二地址,多个所述烹饪子区按照优先级排序,当上述指令被上述设备执行时,使得上述设备在执行所述将所述队首位存有的所述目标标识作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的目标标识对应的储料子区之后,还执行:

在多个所述烹饪子区中进行搜索,以得到处于空闲状态且优先级高的目标烹饪子区;

按照与所述目标烹饪子区对应的第二地址,控制所述机械臂移动。

其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备还执行:

获取所述订单信息的数量;

在多个所述烹饪子区中进行搜索,以得到处于空闲状态的烹饪子区;

基于所述订单的数量,按照优先级开启所述处于空闲状态的烹饪子区。

其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备还执行:

在所述烹饪子区完成烹饪的情况下,获取一个或多个与完成烹饪的所述烹饪子区相对应的第二地址;

按照所述烹饪子区的烹饪完成时刻,将每个与完成烹饪的所述烹饪子区相对应的第二地址按时间顺序存入第二存储列队;

在确定所述第二存储列队的队首位存有所述第二地址后,将所述队首位存有的所述第二地址作为读取结果,根据所述读取结果控制所述机械臂移动至与所述读取结果包含的第二地址对应的烹饪子区。

图8所示的电子设备可以用于执行如图1所示实施例的订单处理方法,其功能或原理可以参考上述图1所示实施例的订单处理方法,在此不再赘述。

如图8所示,电子设备900包括处理器910和存储器920。其中,处理器910和存储器920之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器920用于存储计算机程序,该处理器910用于从该存储器920中调用并运行该计算机程序。

上述存储器920可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。

上述处理器910可以和存储器920可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器920中存储的程序代码来实现上述功能。具体实现时,该存储器920也可以集成在处理器910中,或者,独立于处理器910。

除此之外,为了使得电子设备900的功能更加完善,该电子设备900还可以包括摄像头930、电源940、输入单元950等中的一个或多个。

可选地,电源950用于给电子设备中的各种器件或电路提供电源。

应理解,图8所示的电子设备900能够实现本申请图1所示实施例提供的方法的各个过程。电子设备900中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见本申请图1所示方法实施例中的描述,为避免重复,此处适当省略详细描述。

应理解,图8所示的电子设备900中的处理器910可以是片上系统SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。

总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器920中。

本申请还提供一种电子设备,所述设备包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现本申请图1所示实施例提供的方法。

以上各实施例中,涉及的处理器可以例如包括CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如ASIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请图1所示实施例提供的方法。

本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请图1所示实施例提供的方法。

本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。

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

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 订单处理方法、装置、电子设备以及烹饪系统
  • 取消订单的处理方法、订单系统、电子设备及存储介质
技术分类

06120113118112