CN110640733A - 一种流程执行的控制方法及装置、饮品售卖系统 - Google Patents
一种流程执行的控制方法及装置、饮品售卖系统 Download PDFInfo
- Publication number
- CN110640733A CN110640733A CN201910958538.6A CN201910958538A CN110640733A CN 110640733 A CN110640733 A CN 110640733A CN 201910958538 A CN201910958538 A CN 201910958538A CN 110640733 A CN110640733 A CN 110640733A
- Authority
- CN
- China
- Prior art keywords
- container
- image
- preset
- liquid
- area
- 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.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Image Analysis (AREA)
- Apparatus For Making Beverages (AREA)
Abstract
本申请提供的技术方案,在流程中的任意一个步骤(即目标步骤)执行完毕的情况下,获取预设区域的图像,在图像满足预设条件的情况下,执行下一个步骤,否则,至少重新执行目标步骤。因为预设区域为被执行目标步骤后的容器和/或液体所在的区域,并且,因为预设条件依据目标步骤的目的设定,所以,图像满足预设条件,说明步骤被准确执行,在此情况下,执行下一步骤,否则,至少重新执行目标步骤,可见,对于流程中的步骤,只需定制预设区域和预设条件,即可实现监控步骤是否被准确执行的目的,从而保证流程执行的准确性。
Description
技术领域
本申请涉及电子信息领域,尤其涉及一种流程执行的控制方法及装置、饮品售卖系统。
背景技术
随着自动化技术的发展,各领域开始使用机器人代替人工操作。在饮品售卖领域,各种饮品自动售卖机器人应运而生。
以咖啡机器人为例,咖啡机器人是指使用机器人完成咖啡的制作过程,比如包括订单获取、空杯的拾取、咖啡的接取、牛奶的接取、辅料添加和吧台递送等步骤。以工业机械臂代替人工进行咖啡的操作,与咖啡店制作咖啡的方式类似。
现有的机器人均使用预设的逻辑,完成流程中的各个步骤,即一个步骤完成后,继续执行下一个步骤。然而,任何机器或者机器部件并不是完全稳定的,所以,在步骤的执行过程中,可能会出现一个步骤执行不到位,而导致流程的最终执行结果不满意的情况,例如,咖啡机器人的机械臂进行多次重复动作后,精度会有所下降,在机械臂将杯子放置的位置偏离咖啡机出口的情况下,如果仍然按照原有的逻辑,执行下一步注入咖啡的步骤,就会有一部分咖啡滴落在杯外,导致杯中的咖啡量不够。
因此,如何提高机器人的流程执行准确性,成为目前亟待解决的问题。
发明内容
本申请提供了一种流程执行的控制方法及装置,目的在于解决如何提高机器人的流程执行准确性的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种流程执行的控制方法,包括:
在流程中的目标步骤执行完毕的情况下,获取预设区域的图像,所述预设区域为对象所在的区域,所述对象为被执行所述目标步骤的容器和/或液体,所述目标步骤包括移动所述容器、向所述容器中注入所述液体、以及操作盛有所述液体的所述容器中的至少一项;
判断所述图像是否满足预设条件,所述预设条件依据所述目标步骤的目的设定;
在所述图像满足所述预设条件的情况下,控制执行所述流程中所述目标步骤的下一个步骤;
在所述图像不满足所述预设条件的情况下,控制至少重新执行所述目标步骤。
可选的,所述移动所述容器为:
将所述容器从第一位置移动到第二位置;
所述预设区域包括:所述第二位置;
所述预设条件包括:与预设的模板图像间的差值大于预设的第一阈值,所述模板图像中在所述第二位置不存在所述容器。
可选的,所述预设条件还包括:
由所述图像中的所述容器的轮廓,计算得到的所述容器在所述图像中的面积,不大于预设的第二阈值。
可选的,所述目标步骤为:向所述容器中注入所述液体;
所述预设区域包括:所述容器中的液面所在的区域;
所述图像包括:向所述容器中注入所述液体的过程中按照时间先后顺序采集的多帧图像;
所述预设条件包括:依据所述多帧图像确定的液面的面积大于预设的第三阈值。
可选的,所述操作盛有所述液体的所述容器为:移动所述容器,被移动的所述容器中盛有所述液体;
所述预设区域包括:所述容器中的液面以及容器口的边缘所在的区域;
所述图像包括:在移动所述容器的过程中按照时间先后顺序采集的多帧图像;
所述预设条件包括:至少一帧图像中的液面状态表示液体溢出,且液面的面积的差值大于预设阈值,所述液面的面积的差值为所述多帧图像中的第一帧图像中的液面的面积与最后一帧图像中的液面的面积之差,其中,任意一帧图像中的液面状态表示液面溢出,包括:
该帧图像中所述液面的凸包与所述容器口的边缘之间的区域为非连通区域。
可选的,所述操作盛有所述液体的所述容器为:抓取所述容器,所述容器中盛有所述液体;
在执行所述目标步骤之前,还包括:
提取所述容器中的液面区域;
计算所述液面区域的轮廓矩;
由所述轮廓矩确定所述容器的位置;
依据所述容器的位置和预设的坐标转换关系,确定操作部件的参考位置;
在所述操作部件的实际位置与所述参考位置的差异小于预设阈值的情况下,控制所述操作部件执行所述目标步骤。
一种流程执行的控制装置,包括:
获取单元,用于在流程中的目标步骤执行完毕的情况下,获取预设区域的图像,所述预设区域为对象所在的区域,所述对象为被执行所述目标步骤的容器和/或液体,所述目标步骤包括移动所述容器、向所述容器中注入所述液体、以及操作盛有所述液体的所述容器中的至少一项;
判断单元,用于判断所述图像是否满足预设条件,所述预设条件依据所述目标步骤的目的设定;
第一控制单元,用于在所述图像中满足所述预设条件的情况下,控制执行所述流程中所述目标步骤的下一个步骤;
第二控制单元,用于在所述图像不满足所述预设条件的情况下,控制至少重新执行所述目标步骤。
一种流程执行的控制设备,包括:
处理器和存储器,所述存储器用于存储应用程序,所述处理器用于执行所述应用程序,以实现上述的流程执行的控制方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的流程执行的控制方法。
一种饮品售卖系统,包括:
操作模块和控制模块;
所述操作模块用于执行预设的流程,所述流程用于完成饮品的制作;
所述控制模块用于执行上述的流程执行的控制方法;
语音交互模块,用于实现语音交互;
人脸识别模块,用于进行人脸识别检测。
本申请所述的技术方案,在流程中的任意一个步骤(即目标步骤)执行完毕的情况下,获取预设区域的图像,在图像满足预设条件的情况下,执行下一个步骤,否则,至少重新执行目标步骤。因为预设区域为被执行目标步骤后的容器和/或液体所在的区域,并且,因为预设条件依据目标步骤的目的设定,所以,图像满足预设条件,说明步骤被准确执行,在此情况下,执行下一步骤,否则,至少重新执行目标步骤,可见,对于流程中的步骤,只需定制预设区域和预设条件,即可实现监控步骤是否被准确执行的目的,从而保证流程执行的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的流程执行的控制方法的流程图;
图2为本申请实施例公开的咖啡机器人自动化流程的流程图;
图3为本申请实施例公开的基于落杯检测的控制的流程图;
图4为本申请实施例公开的基于液面检测的控制的流程图;
图5为本申请实施例公开的基于机械臂抓取杯体的控制的流程图;
图6为本申请实施例公开的基于移动盛有液体的杯体中液面检测的控制的流程图;
图7为本申请实施例公开的计算得到多帧图像液面的面积的流程图;
图8(a)为本申请实施例公开的液面与杯沿的几何图;
图8(b)为本申请实施例公开的另一液面与杯沿的几何图;
图9为本申请实施例公开的饮品售卖系统的结构示意图;
图10为本申请实施例公开的流程执行的控制装置的结构示意图;
图11为本申请实施例公开的流程执行的控制设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例公开的一种流程执行的控制方法,可以包括以下步骤:
S101、在流程中的目标步骤执行完毕的情况下,获取预设区域的图像。
流程中包括多个步骤,本实施例中,将任意一个步骤称为目标步骤。
预设区域为对象所在的区域,其中,本实施例中,对象为被执行目标步骤的容器和/或液体。
具体的,目标步骤可以包括以下至少一项:1、移动容器。2、向容器中注入液体。3、操作盛有液体的容器。
进一步的,移动容器可以是将容器从第一位置移动到第二位置,即在容器从一个位置被移动到另一个位置的情况下,容器被移动前所在的位置为第一位置,第二位置为容器被移动后所在的位置。这里“第一”、“第二”仅为区分位置,而不做其它限定。
操作盛有液体的容器可以是:移动盛有液体的容器,或者抓取盛有液体的容器。
需要说明的是,本实施例中,将对象定义为被执行目标步骤的容器和/或液体,因此,有可能,容器和液体均被执行目标步骤,但对象仅包括容器或液体,也有可能,对象包括容器和液体。
本实施例中,因为区域为预设的,所以可以预先使用图像采集设备对准预设区域采集图像,得到预设区域的图像。
S102、判断图像是否满足预设条件。
预设条件依据目标步骤的目的设定,目标步骤的目的为执行目标步骤后期望达到的效果。对于不同的目标步骤,若目标步骤的目的相同,则不同的目标步骤也可以设定相同的预设条件。
因为预设条件依据目标步骤的目的设定,所以执行目标步骤后,判断图像是否满足预设条件可以作为验证目标步骤是否被准确执行的依据。
从S102可以看出,预设条件依据目标步骤定制得到,实际中,结合图像处理算法以及目标步骤的目的,针对不同的目标步骤,可以定制不同的预设条件,将在以下实施例中举例说明目标步骤和预设条件。
S103、在图像满足预设条件的情况下,控制执行流程中目标步骤的下一个步骤。
流程中包括多个目标步骤,若当前执行的目标步骤满足预设条件,说明该目标步骤被准确执行,则按预设的各个目标步骤的执行顺序,控制执行流程中目标步骤的下一个步骤。
S104、在图像不满足预设条件的情况下,控制至少重新执行目标步骤。
若当前执行的目标步骤不满足预设条件,说明该目标步骤不能被准确执行,则控制重新执行该目标步骤,或控制重新执行该目标步骤以及该目标步骤之前的至少一个目标步骤。
对于在图像不满足预设条件的情况下,控制重新执行目标步骤,可以是:例如,图像不满足预设条件的情况下,判断该图像与预设条件之间的相差程度,若相差较小,说明执行目标步骤的过程中只是出现较小的偏差,则重新执行该目标步骤即可。或者,预先规定执行该目标步骤后,若得到的图像不满足预设条件,只需重新执行该目标步骤,比如对于流程中执行的第一个目标步骤,若该目标步骤执行不准确,则重新执行该目标步骤即可。
对于在图像不满足预设条件的情况下,控制重新执行目标步骤以及该目标步骤之前的至少一个步骤,可以是:图像严重的偏离预设条件,说明执行该目标步骤的过程中出现较大的偏差,在这种情况下,之前至少一个准确执行的目标步骤达到的效果很有可能因为当前执行的目标步骤的出现较大偏差而被破坏,则需要控制重新执行该目标步骤以及该目标步骤之前的至少一个目标步骤。或者,预先规定执行该目标步骤后,若得到的图像不满足预设条件,则需重新执行该目标步骤以及该目标步骤之前的至少一个目标步骤。
本申请实施例提供的方法,在流程中的任意一个步骤执行完毕的情况下,获取预设区域的图像,在图像满足预设条件的情况下,执行下一个步骤,否则,至少重新执行目标步骤。因为预设区域为被执行目标步骤后的对象所在的区域,所以如果目标步骤准确执行,则图像中包括对象,否则,图像中可能不包括对象,因此,通过图像实现对被执行目标步骤后的对象的监控。并且,因为预设条件依据目标步骤的目的设定,所以,图像满足预设条件,即被执行目标步骤后的对象满足目标步骤的目的,说明步骤被准确执行,在此情况下,执行下一步骤,否则,至少重新执行目标步骤,可见,对于流程中的步骤,只需定制预设区域和预设条件,即可实现监控步骤是否被准确执行的目的,从而保证流程执行的准确性。
下面以对咖啡机器人的控制为例,对本申请提供的方法进行说明。
咖啡机器人的组成设备至少包括:机械臂、落杯器、咖啡机以及加料机。咖啡机器人通过各个组成设备之间的协调运行,实现咖啡机器人的自动化流程。图2为咖啡机器人自动化流程的一种方式,可以包括以下步骤:
S201、接收到订单后,机器人复位。
接受到的用户互交界面传输的订单后,机器人进行复位,开始执行自动化流程。
S202、落杯器落杯。
咖啡机器人执行的第一个流程为落杯器落杯,空杯下落的位置为落杯器出口下方的机械臂。
S203、机械臂抓取空杯。
杯子下落到机械臂后,机械臂通过闭合夹持器抓取空杯,其中,夹持器中安装有物理传感器,通过物理传感器可以使夹持器以适当的压力抓取空杯,避免抓取力度不够使空杯从夹持器中脱落,或抓取力度太大导致空杯发生变形。
S204、机械臂将空杯放至咖啡机的咖啡出口。
S205、咖啡机流出咖啡,如果杯子被准确放在咖啡机的咖啡出口下,则咖啡注入杯子。
S206、关闭咖啡机。
当杯子中咖啡量达到预设的阈值后,关闭咖啡机。
S207、机械臂抓取注入咖啡后的杯子。
S208、机械臂将注入咖啡后的杯子移放至加料机的出口下。
加料机可以为加奶机或其他的加料机。
S209、加料机出料,如果杯子被准确放在加料机的出口下,则出料注入杯子。
S210、关闭加料机。
S211、判断吧台是否放置杯子。
S212、如果是,说明有用户还未取走做好的咖啡,则机械臂将加料后的杯子放至加热待取区,等待用户取走吧台处的咖啡后,再将注入咖啡后的杯子放至吧台。
S213、如果否,机械臂将注入咖啡后的杯子放至吧台。
对于图2中的各个步骤,本实施例对咖啡机器人的控制主要包括:基于落杯检测的控制、基于液面检测的控制、基于移动盛有液体的杯体中的液面检测的控制、基于用户取杯检测的控制,以及对机械臂基于图像抓取杯体的控制。以下结合咖啡机器人的自动化流程分别说明各个控制过程的实现方法。
执行图2中的S202落杯器落杯流程后,需要进行落杯检测的控制,以判断落杯器是否落杯成功,若落杯成功则控制执行图2的S203机械臂抓取空杯的步骤。图3为基于落杯检测的控制的一种方法,可以包括以下步骤:
S301、确定容器从第一位置移动到第二位置后,获取预设区域的图像。
针对落杯器落杯的场景,容器为空杯,第一位置为空杯在落杯器中的位置,第二位置为落杯器出口下方的机械臂所在的位置,预设区域为第二位置。在落杯器落杯后,获取预设区域的图像。获取的图像中还可以包括机械臂的夹持器。如果杯子准确落在机械臂的夹持器中,则图像中包括夹持器和杯子,否则,图像中包括夹持器,可能包括杯子,也可能不包括杯子。
S302、判断获取的图像与预设的模板图像间的差值是否大于预设的第一阈值。如果大于,则执行S303,如果不大于,则执行S304。
预设的模板图像中在第二位置不存在容器(如空杯)的图像,即模板图像的图像为落杯器落杯前落杯器出口下方的机械臂的夹持器所在的区域的图像。
落杯器落杯后,将获取预设区域的图像与模板图像相比较,计算获取的图像与模板图像之间的差值,其中,差值包括两幅图像中对应位置的像素间的差值,任意一对对应位置的像素为一幅图像中的一个位置的像素与在另一幅图像中的相同位置的像素,并判断差值是否大于预设的第一阈值。若获取的图像与预设的模板图像间的差值大于预设的第一阈值,说明落杯器成功地落下空杯,反之,则说明落杯器没有落下空杯。
通过判断获取的图像与模板图像间的差值是否大于预设的第一阈值能够判断落杯器是否成功的落下空杯,是因为:如果落杯器没有落下空杯,获取的图片中不包括空杯,则获取的图片和模板图像的像素相差不大,获取的图像与模板图像间的差值不会超过预设的第一阈值,相反,如果落杯器落下空杯,则获取的图片中包括空杯,所以获取的图像与模板图像间的差值超过预设的第一阈值,从而确定落杯器落杯成功。
需要说明的是,差值可以为绝对值,例如,杯子的颜色为白色,其它部分的颜色为黑色,则图像中杯子与背景对应的像素值的差值为255,相反,杯子的颜色为黑色,其它部分的颜色为白色,则图像中杯子与背景对应的像素值的差值为-255,所以使用绝对值更为准确。第一阈值可以依据实际情况和需求设置。
S303、触发执行下一个步骤。
若获取的图像与预设的模板图像间的差值大于预设的第一阈值,说明落杯器成功的落下空杯,则触发咖啡机器人执行下一个目标步骤。
S304、触发重新执行将容器从第一位置移动到第二位置的步骤。
若获取的图像与预设的模板图像间的差值大于预设的第一阈值,说明落杯器没有落下空杯,则触发咖啡机器人执行将对象从第一位置移动到第二位置的步骤,即触发机器人重新执行落杯器落杯的步骤。
现有咖啡机器人在咖啡制作流程中,由于空杯之间的吸附力较大,很容易出现落杯器已经执行落杯命令但是杯子没有落下的现象,在这种情况下,机械臂仍然会进行夹取空杯的动作,这个时候就会抓空即没有取到空杯,如果后续执行注入咖啡的操作,咖啡会被浪费。所以本实施例提供的方法,通过判断获取的图像与预设的模板图像间的差值是否大于预设的第一阈值,从而可以判断落杯器是否落下空杯,确定落杯器落下空杯后,才进行下一步的步骤,避免咖啡会被浪费的问题。
实际中,可能存在以下情况:从落杯器落下多个杯子,多个杯子可能套叠在一起,也可能,有的杯子斜落在其它杯子的杯口处,第一种情况不影响咖啡的后续注入,但第二种情况,咖啡很可能不能被全部注入杯中。因此,可选的,本实施例中还可以针对第二种情况进行检测,并控制机械臂丢弃落下的杯子,以及落杯器重新落杯。
具体的,上述实施例提供的基于落杯检测的控制的方法,在判断获取的图像与预设的模板图像间的差值大于预设的第一阈值之后,即确定落杯器成功落下空杯之后,在执行S303或S304之前,可以进行以下步骤:
A1、确定获取的图像中容器(如杯子)的轮廓。
对获取的图片进行二值化处理,并从二值化处理后图片中获取容器的轮廓,即获取图片中的空杯的轮廓。其中,对图片进行二值化处理以及从二值化图像中获取容器的轮廓可以参考现有技术。
A2、计算图像中容器的轮廓围成的面积,得到容器在图像中的面积。
例如,可以从图像中检测杯子的外接矩形框,并将外接矩形框的面积作为杯子在图像中的面积。更为详细的计算方法可以参见现有技术。
A3、判断计算得到的面积是否不大于预设的第二阈值,如果不大于,则执行S303,如果大于,则执行S304。
因为套叠在一起的杯子的侧面积,与一个杯子的侧面积相比,多出的面积很小,而一个杯子斜放在另一个杯子的杯口,构成的侧面积,与一个杯子的侧面积相比,多出的面积较大,因此,预设的第二阈值可以是一个空杯的面积与一个常数之和,常数可以通过实测得到。
若计算得到的面积不大于预设的第二阈值,则说明落杯器有可能同时落下多个空杯,但每个空杯相互套叠在一起,或者落杯器只落下一个空杯。上述的这两种情况不会影响后续的液体注入空杯,所以可以执行下一个步骤。
相反的,若计算得到的面积大于预设的第二阈值,说明落杯器有可能同时落下多个空杯,且落下的多个空杯中,出现一个空杯斜落在另一个空杯的杯口的情况。这种情况会导致液体不能全部注入空杯中。
本实施例提供的方法,通过判断计算得到的图像中容器所占的面积是否不大于预设的第二阈值,进一步确定落杯器落下的空杯情况会不会影响后续的液体注入,避免了落杯器同时落下多个杯子且出现一个杯子斜落在另一个杯子的杯口的情况,而导致后续液体注入失败的现象。
执行图2中的S205至S206的过程中,为了实现控制注入的咖啡量,需进行液面检测的控制,图4为基于液面检测的控制方法,可以包括以下步骤:
S401、获取向容器注入液体的过程中的多帧图像。
向容器注入液体的过程中,容器中的液面是从无到有,从多到少的过程,容器中液面的面积不断的增大,即液面的面积是动态变化的过程,所以向容器注入液体的过程中,可以在预设的时长内按照时间先后顺序采集预设区域的多帧图像,预设区域为容器中的液面所在的区域。具体的,例如,使用图像采集设备,从液体开始注入杯子时起,开始计时,并以预设的周期,对准预设区域采集图像,在计时达到预设时长后,停止采集图像,得到多帧图像,需要说明的是,基于容器注入液体过程中,容器和咖啡机的相对位置关系,图像采集设备的位置可能在容器的侧面,所以预设区域中还可以包括容器所在的区域。
S402、判断多帧图像确定的液面的面积是否大于预设的第三阈值。
得到向容器注入液体的过程中连续的多帧图像后,计算多帧图像确定的液面的面积,并判断多帧图像确定的液面的面积是否大于预设的第三阈值。其中,计算得到多帧图像液面的面积的过程可以参考图7所示的流程。第三阈值可以依据实际经验和需求设置。
S403、如果多帧图像确定的液面的面积大于预设的第三阈值,停止向容器注入液体。
如果多帧图像确定的液面的面积大于预设的第三阈值,说明向容器注入液体容量已经达到预设的液体容量值,则机器人执行停止向容器注入液体的步骤,即图2中的S206关闭咖啡机的步骤。
S404、如果多帧图像确定的液面的面积不大于预设的第三阈值,继续向容器注入液体。
如果多帧图像确定的液面的面积不大于预设的第三阈值,说明向容器注入液体容量没有达到预设的液体容量值,则控制机器人执行继续向容器注入液体的步骤,即图2中的S205咖啡机将咖啡注入杯子的步骤。
本实施例提供的方法,在向容器注入液体的过程中,通过获取向容器注入液体的过程中的多帧图像,判断多帧图像确定的液面的面积是否大于预设的第三阈值,以实现控制向容器注入液体的液体容量。
执行图2中S207机械臂抓取注入咖啡后的杯子的步骤之前,为了使机械臂能够牢固的抓取盛有液体的杯子,需进行基于机械臂抓取杯体的控制,图5为对机械臂抓取杯体的控制的一种方法,可以包括以下步骤:
S501、提取容器中的液面区域。
容器中盛有液体后,提取容器中的液面区域,其中,提取容器中的液面区域的实现方法可以是先提取液面轮廓,再使用分水岭算法得到液面区域。
S502、计算液面区域的轮廓矩。
依据液面区域计算液面区域的轮廓矩,计算轮廓矩的方式可以参考现有技术。
S503、由轮廓矩确定容器的位置。
因为轮廓矩中包括了图像中容器的坐标信息,所以通过轮廓矩可以确定图像中容器的位置。
S504、依据容器的位置和预设的坐标转换关系,确定操作部件的参考位置。
预设的坐标转换关系为图像坐标系与操作部件(比如机械臂)坐标系之间的转换关系,将容器的位置代入预设的坐标转换关系中,即可确定操作部件相对容器的参考位置。
其中,预设的坐标转换关系的公式为:
PA=H·PB
其中,下标A代表操作部件坐标系,下标B代表图像坐标系,pA表示容器在操作部件坐标系下的位置姿态矩阵,pB表示容器在图像坐标系下的位置姿态矩阵,表示容器在图像坐标系下的位置和姿态矩阵的转置矩阵、H表示图像坐标系到操作部件坐标系之间的变换矩阵。
S505、在操作部件的实际位置与参考位置的差异小于预设阈值的情况下,控制操作部件抓取杯体。
确定操作部件的参考位置后,通过逆运动学调整操作部件的实际位置与参考位置的之间差异,并在操作部件的实际位置与参考位置的差异小于预设阈值的情况下,控制操作部件抓取杯体。
本实施例提供的方法,可以实现机器人对杯体的准确抓取,在机械臂抓取水杯的过程中能够根据识别到的水杯位置调整机械臂的位置,从而可以避免由于机械臂的位置误差导致抓取杯子失败或者放置偏离的问题。
图2中S207机械臂抓取注入咖啡后的杯子到S208机械臂将注入咖啡后的杯子移放至加料机的出口下,或S212中机械臂将加料后的杯子放至加热待取区,以及S213中机械臂将注入咖啡后的杯子放至吧台的过程,都需要移动盛有液体的杯体,在移动盛有液体的杯体的过程中,很有可能会发生液体溢出,所以在移动盛有液体的杯体的过程中,需进行基于移动盛有液体的杯体中的液面检测的控制,图6为基于移动盛有液体的杯体中的液面检测的控制的一种方法,可以包括以下步骤:
S601、获取在移动容器的过程中多帧图像。
因为移动容器的过程是动态的过程,所以在移动容器的过程中,可以在预设的时长内按照时间先后顺序采集预设区域的多帧图像,预设区域为容器中的液面以及容器口的边缘所在的区域。具体的,例如,使用图像采集设备,从开始移动杯子时起,开始计时,并以预设的周期,对准容器中的液面以及容器口的边缘所在的区域采集图像,在计时达到预设时长后,停止采集图像,得到多帧图像。进一步的,图像采集设备可以具有跟踪功能,对移动中的容器中的液面以及容器口的边缘所在的区域进行跟踪采集,也可以,将容器的移动范围作为预设区域,以预设的周期采集预设区域图像。需要说明的是,图像采集设备在高于容器的位置,才能够采集到容器中的液面,例如,图像采集设备可以设置在预设区域的侧上方。
S602、判断是否存在至少一帧图像中的液面状态表示液体溢出,且液面的面积的差值大于预设阈值。
任意一帧图像中的液面状态表示液面溢出为该帧图像中液面的凸包与容器口的边缘之间的区域为非连通区域。例如,图8(a)和图8(b)为液面与杯沿的几何图,图8(a)和图8(b)中虚线01表示液面,虚线02表示凸包,实线03表示杯沿,可以发现在图8(a)中,凸包与杯沿之间为连通区域,而图8(b)种凸包与杯沿之间区域为非连通区域。
凸包依据液面轮廓得到。得到液面凸包后,根据凸包与杯沿之间的连通区域的连通性即可判断液体有没有溢出。连通性的判断可以采用Two-Pass方法。如果区域是连通的表明没有液体溢出,如果该区域是非连通的,则表明液体溢出。
液面的面积的差值为多帧图像中的第一帧图像中的液面的面积与最后一帧图像中的液面的面积之差。计算得到最后一帧图像中的液面的面积的一种方法可以是:基于颜色聚类算法,得到该帧图像中的液面区域,并计算该液面区域的面积。
本实施例中,图像帧中的最后一帧图像的面积计算采用颜色聚类算法,而图像帧中第一帧中的液面的面积可以是在咖啡机关闭后计算出的面积,咖啡机关闭后计算出的面积的计算方式可以参考图7。
S603、如果存在至少一帧图像中的液面状态表示液体溢出,但液面的面积的差值不大于预设阈值,则控制执行下一步骤。
在多帧图像中如果存在至少一帧图像的液面状态表示液体溢出,但液面的面积的差值不大于预设阈值,说明液体只是少量的溢出,这种情况下可以继续执行下一个步骤。
S604、如果存在至少一帧图像中的液面状态表示液体溢出,且液面的面积的差值大于预设阈值,则控制返回重新执行流程的第一个步骤。
在多帧图像中如果存在至少一帧图像的液面状态表示液体溢出,且液面的面积的差值大于预设阈值,说明移动的过程中液体发生了严重的溢出,液体量大量减少,则将杯体弃至于废弃处,然后返回重新执行流程的第一个步骤,重新制作新的咖啡。
S605、如果不存在液面状态表示液体溢出的图像,则控制执行下一步骤。
在多帧图像中如果不存在任何一帧图像的液面状态表示液体溢出,说明在移动杯体的过程中没有发生液体溢出,则控制执行下一步骤。
本发明实施例提供的方法,考虑到在移动杯体的过程中可能会发生液面晃动,所以在移动杯体的过程中,进行液面的检测,当检测到液体严重溢出后,可重新制作新的咖啡,避免了咖啡溢出导致配送至用户的咖啡量不足的问题。
S211中,为了确定用户是否取走吧台处的咖啡,需对吧台进行监控,监控吧台是否放置杯子的方法可以是对机械臂基于图像抓取杯体的控制,对机械臂基于图像抓取杯体的控制的方式可以是,先获取预设区域的图像,预设区域为吧台所在的区域,并将获取的图片与预设的模板图片作比较,其中,模板图片中不包括杯子,若吧台放置杯子,则获取的图片与模板图片的差值将大于预设的阈值,从而可确定吧台中放置有杯子。相反,若吧台没有放置杯子,则获取的图片与模板图片的差值将小于预设的阈值,从而可确定吧台中放置没有杯子。
图7为图4的S402中计算得到多帧图像液面的面积的过程的一种方式,可以包括以下步骤:
S701、获取多帧图像的背景差分图像。
其中,任意一帧图像的背景差分图像为:该帧图像与上一帧图像的差分图像,第一帧图像的上一帧图像为容器中没有液体的图像。具体的,任意两帧图像之间的差分图像的获取方式为:将两帧图像中的对应位置的像素的值相减,得到差分图像,任意一对对应位置的像素为一幅图像中的一个位置的像素与在另一幅图像中的相同位置的像素。
S702、将背景差分图像进行或运算,得到逻辑运算图像。
得到多帧图像的背景差分图像后,对所有的背景差分图像进行或运算,得到一个逻辑运算图像。具体的,对所有的背景差分图像进行或运算的具体方式为:将所有的背景差分图像中,对应位置的像素的值进行或运算。所有的背景差分图像中,对应位置的像素为,具有相同的位置坐标的像素。例如,所有背景差分图像中,坐标为(0,0)的像素,为对应位置的像素。
S703、提取逻辑运算图像中的液面的轮廓,得到标记图。
提取逻辑运算图像中的液面的轮廓的一种方式可以是对逻辑运算图像进行滤波处理,从而得到逻辑运算图像中的液面的轮廓。并将液面的轮廓作为标记图。
S704、以标记图作为种子,使用分水岭算法提取液面区域。
具体的,以标记图作为种子,即局部最小值点,依据临近像素的相似性,由局部最小值点得到分割的各个区域(其中包括液面区域)。其中,使用分水岭算法提取液面区域的实现方式可以参考现有技术。
S705、计算液面区域的面积。
获取液面区域后,可依据预设的面积计算规则,计算液面区域的面积。
本实施例提供的方法,依据获取多帧图像的背景差分图像,得到逻辑运算图像,并依据逻辑运算图像,得到液面区域的面积。通过计算液面区域的面积,确定向容器注入液体的液体容量。
需要说明的是,上述的实施例中对咖啡机器人的控制仅为示例,所有的饮品售卖系统均适用于本申请提供的流程执行的控制方法。
本申请还提供了一种饮品售卖系统,图9为该饮品售卖系统的结构示意图,包括:操作模块901、控制模块902、语音交互模块903以及人脸识别模块904。
操作模块901用于执行预设的流程,流程用于完成饮品的制作,例如图2所示的流程。控制模块902用于执行上述实施例中的流程执行的控制方法,例如图1、图3、图4、图5、图6、图7所示的流程。语音交互模块903,用于实现语音交互。人脸识别模块904,用于进行人脸识别检测。
基于现有的语音识别、语义理解、语音合成以及语音唤醒功能,语音交互模块903可以与顾客进行互动。具体为:语音交互模块向顾客进行问候并询问顾客需要购买的饮品种类,并在顾客回答完后,语音交互模块以语音合成的方式提醒顾客在手机APP或触摸屏上完成点单操作,另外,如果识别顾客说出唤醒词,则语音提醒顾客进行点单和询问等。
语音交互模块903通过有趣的主动问候和问答可以吸引顾客的注意和增加顾客的兴趣,与封闭式的无法与顾客进行互动的自动售卖机相比,可以更好地吸引顾客,从而增加客流量。
人脸识别模块904的功能包括对视野范围内的顾客进行识别,其方法可以是通过利用现有的深度学习MTCNN框架来进行人脸的检测,并可以为顾客设置专属的个性化服务。例如,在识别到人脸后,顾客输入用户名即可完成对该顾客的记录,利用记录的顾客的信息,以实现在下一次识别到该顾客的人脸时,触发语音互动模块与该顾客进行个性化的主动问候。
人脸识别模块通过对视野范围内的顾客进行识别,并在识别到人脸后,触发语音互动模块与顾客进行互动,从而可以更好地吸引顾客,从而增加客流量。
与图1的方法相对应,本申请实施例还提供了一种流程执行的控制装置,用于对图1的方法的实现,图10为流程执行的控制装置的结构示意图,包括:
获取单元1001,用于在流程中的目标步骤执行完毕的情况下,获取预设区域的图像,所述预设区域为对象所在的区域,所述目标步骤包括移动所述容器、向所述容器中注入所述液体、以及操作盛有所述液体的所述容器中的至少一项。
判断单元1002,用于判断所述图像是否满足预设条件,所述预设条件依据所述目标步骤的目的设定。
第一控制单元1003,用于在所述图像中满足所述预设条件的情况下,控制执行所述流程中所述目标步骤的下一个步骤。
第二控制单元1004,用于在所述图像不满足所述预设条件的情况下,控制至少重新执行所述目标步骤。
本申请所述的技术装置,在流程中的任意一个步骤(即目标步骤)执行完毕的情况下,获取预设区域的图像,在图像满足预设条件的情况下,执行下一个步骤,否则,至少重新执行目标步骤。因为预设区域为被执行目标步骤后的对象所在的区域,所以,如果步骤被准确执行,则图像中即包括对象,并且,因为预设条件依据目标步骤的目的设定,所以,图像满足预设条件,说明步骤被准确执行,在此情况下,执行下一步骤,否则,至少重新执行目标步骤,可见,对于流程中的步骤,只需定制预设区域和预设条件,即可实现监控步骤是否被准确执行的目的,从而保证流程执行的准确性。
本申请还提供了流程执行的控制设备,其结构示意图如图11所示,包括:处理器1101和存储器1102,存储器1102于存储应用程序,处理器1101用于执行应用程序,以实现本申请实施例中流程执行的控制方法。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执本申请实施例中流程执行的控制方法。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种流程执行的控制方法,其特征在于,包括:
在流程中的目标步骤执行完毕的情况下,获取预设区域的图像,所述预设区域为对象所在的区域,所述对象为被执行所述目标步骤的容器和/或液体,所述目标步骤包括移动所述容器、向所述容器中注入所述液体、以及操作盛有所述液体的所述容器中的至少一项;
判断所述图像是否满足预设条件,所述预设条件依据所述目标步骤的目的设定;
在所述图像满足所述预设条件的情况下,控制执行所述流程中所述目标步骤的下一个步骤;
在所述图像不满足所述预设条件的情况下,控制至少重新执行所述目标步骤。
2.根据权利要求1所述的方法,其特征在于,所述移动所述容器为:
将所述容器从第一位置移动到第二位置;
所述预设区域包括:所述第二位置;
所述预设条件包括:与预设的模板图像间的差值大于预设的第一阈值,所述模板图像中在所述第二位置不存在所述容器。
3.根据权利要求2所述的方法,其特征在于,所述预设条件还包括:
由所述图像中的所述容器的轮廓,计算得到的所述容器在所述图像中的面积,不大于预设的第二阈值。
4.根据权利要求1所述的方法,其特征在于,所述目标步骤为:向所述容器中注入所述液体;
所述预设区域包括:所述容器中的液面所在的区域;
所述图像包括:向所述容器中注入所述液体的过程中按照时间先后顺序采集的多帧图像;
所述预设条件包括:依据所述多帧图像确定的液面的面积大于预设的第三阈值。
5.根据权利要求1所述的方法,其特征在于,所述操作盛有所述液体的所述容器为:移动所述容器,被移动的所述容器中盛有所述液体;
所述预设区域包括:所述容器中的液面以及容器口的边缘所在的区域;
所述图像包括:在移动所述容器的过程中按照时间先后顺序采集的多帧图像;
所述预设条件包括:至少一帧图像中的液面状态表示液体溢出,且液面的面积的差值大于预设阈值,所述液面的面积的差值为所述多帧图像中的第一帧图像中的液面的面积与最后一帧图像中的液面的面积之差,其中,任意一帧图像中的液面状态表示液面溢出,包括:
该帧图像中所述液面的凸包与所述容器口的边缘之间的区域为非连通区域。
6.根据权利要求1所述的方法,其特征在于,所述操作盛有所述液体的所述容器为:抓取所述容器,所述容器中盛有所述液体;
在执行所述目标步骤之前,还包括:
提取所述容器中的液面区域;
计算所述液面区域的轮廓矩;
由所述轮廓矩确定所述容器的位置;
依据所述容器的位置和预设的坐标转换关系,确定操作部件的参考位置;
在所述操作部件的实际位置与所述参考位置的差异小于预设阈值的情况下,控制所述操作部件执行所述目标步骤。
7.一种流程执行的控制装置,其特征在于,包括:
获取单元,用于在流程中的目标步骤执行完毕的情况下,获取预设区域的图像,所述预设区域为对象所在的区域,所述对象为被执行所述目标步骤的容器和/或液体,所述目标步骤包括移动所述容器、向所述容器中注入所述液体、以及操作盛有所述液体的所述容器中的至少一项;
判断单元,用于判断所述图像是否满足预设条件,所述预设条件依据所述目标步骤的目的设定;
第一控制单元,用于在所述图像中满足所述预设条件的情况下,控制执行所述流程中所述目标步骤的下一个步骤;
第二控制单元,用于在所述图像不满足所述预设条件的情况下,控制至少重新执行所述目标步骤。
8.一种流程执行的控制设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储应用程序,所述处理器用于执行所述应用程序,以实现权利要求1-6任一项所述的流程执行的控制方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-6任一项所述的流程执行的控制方法。
10.一种饮品售卖系统,其特征在于,包括:
操作模块和控制模块;
所述操作模块用于执行预设的流程,所述流程用于完成饮品的制作;
所述控制模块用于执行权利要求1-6所述的流程执行的控制方法;
语音交互模块,用于实现语音交互;
人脸识别模块,用于进行人脸识别检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910958538.6A CN110640733B (zh) | 2019-10-10 | 2019-10-10 | 一种流程执行的控制方法及装置、饮品售卖系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910958538.6A CN110640733B (zh) | 2019-10-10 | 2019-10-10 | 一种流程执行的控制方法及装置、饮品售卖系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110640733A true CN110640733A (zh) | 2020-01-03 |
CN110640733B CN110640733B (zh) | 2021-10-26 |
Family
ID=69012726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910958538.6A Active CN110640733B (zh) | 2019-10-10 | 2019-10-10 | 一种流程执行的控制方法及装置、饮品售卖系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110640733B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001222430A (ja) * | 1999-11-30 | 2001-08-17 | Stmicroelectronics Srl | ファジーセルラーアーキテクチャを介して運動を制御するための電子回路 |
CN102902271A (zh) * | 2012-10-23 | 2013-01-30 | 上海大学 | 基于双目视觉的机器人目标识别与抓取系统及方法 |
CN105518702A (zh) * | 2014-11-12 | 2016-04-20 | 深圳市大疆创新科技有限公司 | 一种对目标物体的检测方法、检测装置以及机器人 |
CN105747865A (zh) * | 2016-03-23 | 2016-07-13 | 季聪林 | 一种自动饮料机及其控制方法 |
CN107055445A (zh) * | 2016-12-09 | 2017-08-18 | 刘凑华 | 基于图像识别的饮品输出控制系统和饮品供给设备 |
CN109816561A (zh) * | 2018-11-30 | 2019-05-28 | 广州富港万嘉智能科技有限公司 | 一种自动取菜方法、系统及存储介质 |
CN110046545A (zh) * | 2019-03-05 | 2019-07-23 | 深兰科技(上海)有限公司 | 一种物品摆放系统、方法、装置、电子设备及存储介质 |
CN110211093A (zh) * | 2019-04-30 | 2019-09-06 | 上海工程技术大学 | 一种用于自动饮水机的出水控制方法 |
CN110292312A (zh) * | 2019-06-04 | 2019-10-01 | 口碑(上海)信息技术有限公司 | 饮品订单的处理方法及装置 |
-
2019
- 2019-10-10 CN CN201910958538.6A patent/CN110640733B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001222430A (ja) * | 1999-11-30 | 2001-08-17 | Stmicroelectronics Srl | ファジーセルラーアーキテクチャを介して運動を制御するための電子回路 |
CN102902271A (zh) * | 2012-10-23 | 2013-01-30 | 上海大学 | 基于双目视觉的机器人目标识别与抓取系统及方法 |
CN105518702A (zh) * | 2014-11-12 | 2016-04-20 | 深圳市大疆创新科技有限公司 | 一种对目标物体的检测方法、检测装置以及机器人 |
CN105747865A (zh) * | 2016-03-23 | 2016-07-13 | 季聪林 | 一种自动饮料机及其控制方法 |
CN107055445A (zh) * | 2016-12-09 | 2017-08-18 | 刘凑华 | 基于图像识别的饮品输出控制系统和饮品供给设备 |
CN109816561A (zh) * | 2018-11-30 | 2019-05-28 | 广州富港万嘉智能科技有限公司 | 一种自动取菜方法、系统及存储介质 |
CN110046545A (zh) * | 2019-03-05 | 2019-07-23 | 深兰科技(上海)有限公司 | 一种物品摆放系统、方法、装置、电子设备及存储介质 |
CN110211093A (zh) * | 2019-04-30 | 2019-09-06 | 上海工程技术大学 | 一种用于自动饮水机的出水控制方法 |
CN110292312A (zh) * | 2019-06-04 | 2019-10-01 | 口碑(上海)信息技术有限公司 | 饮品订单的处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
卫祖赏: "《数位影像处理》", 30 September 1978, 全华科技图书股份有限公司 * |
Also Published As
Publication number | Publication date |
---|---|
CN110640733B (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108492482B (zh) | 货品监控系统及监控方法 | |
US11638490B2 (en) | Method and device for identifying product purchased by user and intelligent shelf system | |
CN109299715B (zh) | 基于卷积神经网络的图像识别技术的结算方法和装置 | |
CN107679850A (zh) | 一种商品结算方法、装置及系统 | |
JP2019217608A (ja) | 情報処理装置、情報処理方法及びプログラム | |
US7840035B2 (en) | Information processing apparatus, method of computer control, computer readable medium, and computer data signal | |
CN103198705A (zh) | 车位状态自动检测方法 | |
CN111568245A (zh) | 饮水机控制方法、饮水机及计算机可读存储介质 | |
CN106056117A (zh) | 矩形物体的图像处理方法及装置 | |
CN111428822A (zh) | 物品识别方法、装置及设备、智能货柜、智能货柜系统 | |
CN110640733B (zh) | 一种流程执行的控制方法及装置、饮品售卖系统 | |
KR101926392B1 (ko) | 병 회수 장치 및 방법 | |
US20220375191A1 (en) | Method and system for detecting liquid level inside a container | |
CN114821435A (zh) | 一种基于视觉识别的药粒装瓶缺陷检测识别方法及装置 | |
CN111568193A (zh) | 出水设备控制方法、出水设备及计算机可读存储介质 | |
CN107479713A (zh) | 一种移动设备的人机交互方法及移动设备 | |
CN111310610B (zh) | 货品识别方法、货品识别系统及电子设备 | |
JP2020177405A (ja) | 液体自動販売機 | |
CN208433046U (zh) | 自动贩售机和自动售货系统 | |
CN111568201A (zh) | 出水控制方法、饮水机及计算机可读存储介质 | |
CN103035060A (zh) | 介质处理装置及介质处理方法 | |
US20200126026A1 (en) | Generating customized alerts with computer vision and machine learning | |
CN116728400A (zh) | 用于具有物体处置能力的机器人系统的系统和方法 | |
CN104776880B (zh) | 一种奶瓶内液体减少去向检测方法 | |
CN109034169B (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 |