CN113059560B - 机械臂控制方法、装置、电子设备以及烹饪系统 - Google Patents
机械臂控制方法、装置、电子设备以及烹饪系统 Download PDFInfo
- Publication number
- CN113059560B CN113059560B CN202110235368.6A CN202110235368A CN113059560B CN 113059560 B CN113059560 B CN 113059560B CN 202110235368 A CN202110235368 A CN 202110235368A CN 113059560 B CN113059560 B CN 113059560B
- Authority
- CN
- China
- Prior art keywords
- target
- image
- mechanical arm
- recognition result
- cooking
- 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.)
- Active
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/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
-
- 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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
Abstract
本申请实施例提供一种机械臂控制方法、装置、电子设备以及烹饪系统,所述方法包括:响应于接收到的移动指令,控制机械臂移动至第一目标位置;在所述机械臂移动至所述第一目标位置的情况下,获取采集到的第一目标图像;对所述第一目标图像进行图像识别,获得第一识别结果,所述第一识别结果用于表示所述第一目标图像中是否存在第一目标以及所述第一目标内是否含有目标物;基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行。
Description
技术领域
本申请涉及机械臂控制技术领域,特别涉及一种机械臂控制方法、装置、电子设备以及烹饪系统。
背景技术
机械臂本身具有定位精确度高、性能稳定、使用操作简单等特点,在餐厅、产品组装、分类、喷漆等领域得到了广泛的应用。
例如,在餐厅中,在煲仔饭的烹饪过程中,煲仔饭烹制主要依靠煲仔炉加热其上方的煲仔的形式完成,机械臂可以用于实现煲仔进炉、加菜以及出炉等。由于目前操作流程及烹制工艺的影响,在烹制过程中,一部分食材(如玉米粒等)等异物可能会落入煲仔炉中,若将煲仔放入含有异物的煲仔炉中,易导致煲仔无法与煲仔炉的加热内壁保持良好的直接接触,造成热传递不良问题,进而可能引发烹制食材不熟等食品安全问题,影响用户用餐体验。
现有技术中,采用人工识别煲仔炉中是否落入食材等异物,以调控机械臂的移动,这种控制方法不仅耗费人力,延误烹饪时间,而且存在人为失误等问题。
发明内容
本申请提供了一种机械臂控制方法、装置、电子设备以及烹饪系统,能够对采集到的图像进行识别,根据识别结果控制机械臂的运动。
第一方面,本申请提供了一种机械臂控制方法,包括:
响应于接收到的移动指令,控制机械臂移动至第一目标位置;
在所述机械臂移动至所述第一目标位置的情况下,获取采集到的第一目标图像;
对所述第一目标图像进行图像识别,获得第一识别结果,所述第一识别结果用于表示所述第一目标图像中是否存在第一目标以及所述第一目标内是否含有目标物;
基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行。
其中一种可能的实现方式中,所述基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行,包括:
若所述第一目标图像中存在第一目标且所述第一目标内不含有目标物,则控制所述机械臂按照第一模式运行;
若所述第一目标图像中不存在第一目标,或者,第一目标图像中存在第一目标且所述第一目标内含有目标物,则控制所述机械臂移动至第二目标位置,在所述机械臂移动至所述第二目标位置的情况下,获取采集到的第二目标图像,对所述第二目标图像进行图像识别,获得第二识别结果,基于所述第二识别结果,确定是否执行控制所述机械臂按照所述第一模式运行,所述第二识别结果用于表示所述第二图像中是否存在第二目标以及所述第二目标内是否含有目标物。
其中一种可能的实现方式中,所述控制所述机械臂移动至第二目标位置,包括:
获取第二目标位置以及第二目标的当前状态,所述第二目标位于所述第二目标位置;
判断所述第二目标的当前状态是否为第一状态;
若所述第二目标的当前状态为所述第一状态,则控制所述机械臂移动至所述第二目标位置。
其中一种可能的实现方式中,所述方法还包括:
若所述第二目标的当前状态不为所述第一状态,则控制所述第二目标从所述当前状态转变为所述第一状态。
其中一种可能的实现方式中,所述方法还包括:
判断是否存在空闲的第二目标、每个所述空闲的第二目标的当前状态是否为第一状态以及每个所述处于第一状态且空闲的第二目标是否被标注为含有目标物;
若不存在空闲的第二目标,或每个所述空闲的第二目标的当前状态不为第一状态,或每个所述处于第一状态且空闲的第二目标被标注为含有目标物,则控制所述机械臂移动至预设存放位置。
其中一种可能的实现方式中,所述方法还包括:
若所述第一目标图像中不存在第一目标,或者,所述第一目标图像中存在第一目标且所述第一目标内含有目标物,则生成第一标注,所述第一标注用于标注所述第一目标不适用。
其中一种可能的实现方式中,所述移动指令中包含第一移动路径,所述方法还包括:
在所述机械臂沿所述第一移动路径移动至目标位置的过程中,获取采集到的机械臂周围环境信息;
基于所述环境信息以及所述第一移动路径,控制所述机械臂停止移动,或者控制所述机械臂沿第二移动路径移动至所述目标位置,所述第二移动路径基于所述机械臂的当前位置、所述环境信息以及所述目标位置确定。
其中一种可能的实现方式中,所述对所述第一目标图像进行图像识别,获得第一识别结果,包括:
基于预设图像对所述第一目标图像进行目标识别,确定是否存在第一目标;
若存在所述第一目标,则在所述第一目标中进行搜索,获得多个待选区域;
对所述多个待选区域进行筛选,确定待定目标;
对所述待定目标进行像素点分类,确定第一类型像素点;
基于所有所述第一类型像素点占所述待定目标中总像素点的比例,确定所述第一目标中是否含有目标物。
其中一种可能的实现方式中,所述预设图像包括目标边缘曲线,所述基于预设图像对第一目标图像进行目标识别,确定是否存在第一目标,包括:
对所述第一目标图像进行灰度处理,获得灰度图像;
以所述目标边缘曲线作为参照,基于预设旋转偏差角和预设缩放比例对所述灰度图像进行广义霍夫变换处理,获得多个匹配区域及其对应的匹配度;
根据多个所述匹配区域的匹配度大小,确定第一目标。
其中一种可能的实现方式中,所述对所述多个待选区域进行筛选,确定待定目标,包括:
判断每个所述待选区域的面积是否小于或等于预设第一面积阈值,且是否大于或等于预设第二面积阈值,以及每个所述待选区域的长宽比是否小于预设长宽比阈值;
基于判断结果,从多个所述待选区域中确定待定目标。
其中一种可能的实现方式中,所述基于判断结果,从多个所述待选区域中确定待定目标,包括:
若所述待选区域的面积小于或等于预设第一面积阈值,且大于或等于预设第二面积阈值,以及每个所述待选区域的长宽比小于预设长宽比阈值,则确定所述待选区域为第三目标区域;
对所述第三目标区域进行筛选,确定待定目标。
其中一种可能的实现方式中,所述对所述第三目标区域进行筛选,确定待定目标,包括:
判断多个所述第三目标区域是否相重叠;
若多个所述第三目标区域相重叠,则选取相重叠的多个所述第三目标区域中面积最小或最大的所述第三目标区域为待定目标;
若多个所述第三目标区域不重叠,则确定不重叠的多个所述第三目标区域为待定目标。
其中一种可能的实现方式中,所述对所述待定目标进行像素点分类,确定第一类型像素点,包括:
判断所述待定目标中每个像素点的像素值是否小于或等于预设第一颜色阈值,且是否大于或等于预设第二颜色阈值;
基于判断结果,对所述待定目标中的每个像素点进行二值处理,获得二值图像,其中,所述二值图像的每个像素点为白像素点或黑像素点,所述第一类型像素点为所述二值图像中的白像素点。
其中一种可能的实现方式中,在所述获取第一目标图像之后,所述方法还包括:
基于预设算子对所述第一目标图像进行纹理增强处理,获得纹理增强后的第一目标图像。
其中一种可能的实现方式中,所述预设算子包括第一参数和第二参数,其中,所述第一参数与所述第二参数满足关系:a>0,b>0,b-4a=1,a为所述第一参数,b为所述第二参数。
第二方面,本申请提供了一种机械臂控制装置,包括:
第一控制模块,用于响应于接收到的移动指令,控制机械臂移动至第一目标位置;
图像获取模块,用于在所述机械臂移动至所述第一目标位置的情况下,获取采集到的第一目标图像;
图像识别模块,用于对所述第一目标图像进行图像识别,获得第一识别结果,所述第一识别结果用于表示所述第一目标图像中是否存在第一目标以及所述第一目标内是否含有目标物;
第二控制模块,用于基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行。
第三方面,本申请提供了一种电子设备,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如第一方面所述的方法。
第四方面,本申请提供一种烹饪系统,包括:
烹饪区;
机械臂,用于受控于控制装置,以在所述烹饪区内进行移动;
视觉装置,其被安装于所述机械臂,用于在所述机械臂移动过程中进行图像采集,并将采集到的图像传输至所述控制装置;
所述控制装置,包含:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行如第一方面所述的方法。
第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
第六方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第一方面所述的方法。
在一种可能的设计中,第六方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
附图说明
图1为本申请机械臂控制方法一个实施例的方法示意图;
图2为本申请机械臂控制方法一个实施例中对图像进行识别的流程示意图;
图3A为本申请机械臂控制方法一个实施例中第一目标图像示意图;
图3B为本申请机械臂控制方法一个实施例中预设图像示意图;
图3C为本申请机械臂控制方法一个实施例中第一图像示意图;
图3D为本申请机械臂控制方法一个实施例中第一图像中多个待选区域示意图;
图3E为本申请机械臂控制方法一个实施例中第一图像中待定目标示意图;
图3F为本申请机械臂控制方法一个实施例中第一图像中筛选后待定目标示意图;
图3G为本申请机械臂控制方法一个实施例中图像纹理增强前后对比示意图;
图4为本申请机械臂控制装置一个实施例的结构示意图;
图5为本申请烹饪系统一个实施例的结构示意图;
图6A、6B以及6C为本申请烹饪系统一个实施例的俯视图、侧视图以及主视图;
图7为本申请烹饪系统另一个实施例的结构示意图;
图8为本申请电子设备一个实施例的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
在餐厅中,在煲仔饭的烹饪过程中,煲仔饭烹制主要依靠煲仔炉加热其上方的煲仔的形式完成,机械臂可以用于实现煲仔进炉、加菜以及出炉等。由于目前操作流程及烹制工艺的影响,在烹制过程中,一部分食材(如玉米粒等)等异物可能会落入煲仔炉中,若将煲仔放入含有异物的煲仔炉中,易导致煲仔无法与煲仔炉的加热内壁保持良好的直接接触,造成热传递不良问题,进而可能引发烹制食材不熟等食品安全问题,影响用户用餐体验。
现有技术中,采用人工识别煲仔炉中是否落入食材等异物,以调控机械臂的移动,这种控制方法不仅耗费人力,延误烹饪时间,而且存在人为失误等问题。
为此,本申请提出一种机械臂控制方法、装置、电子设备以及烹饪系统,能够对采集到的图像进行识别,根据识别结果控制机械臂的运动。
在本实施例中,以机械臂应用于烹饪系统为例,举例地阐述了在烹饪过程中的机械臂控制方法。所述烹饪系统可以用于烹饪煲仔饭,在烹饪过程中,所述机械臂可以用于执行移动煲仔(如夹取待烹饪的煲仔进行移动等)、煲仔进炉(如将待烹饪的煲仔放入煲仔炉中等)、煲仔出炉(如将烹饪好的煲仔从煲仔炉中取出)以及煲仔出餐(如将烹饪好的煲仔移动至取餐区等)等操作。
在所述机械臂控制方法中,可以通过对采集到的图像进行识别,根据识别结果实时地控制所述机械臂的运动。例如,在机械臂执行煲仔进炉操作的情况下,通过视觉装置(如相机)采集煲仔炉图像,对采集到的煲仔炉图像进行识别,以判断该煲仔炉中是否含有异物(如玉米粒等),若该煲仔炉中不含有异物,则控制机械臂将煲仔放入该煲仔炉中,若该煲仔炉中含有异物,则控制机械臂改变运动轨迹,以将煲仔放入其他不含有异物的煲仔炉中,从而避免了因煲仔无法与煲仔炉的加热内壁保持良好的直接接触,造成热传递不良问题,进而可能引发的烹制食材不熟等食品安全问题,提高了用户用餐体验。
在其他的一些实施例中,在机械臂的移动过程中,可以实时地采集机械臂周围环境信息(如图像等),根据采集到的环境信息,判断机械臂在移动过程中是否会碰撞到障碍物(或障碍物是否会阻碍机械臂的移动),若机械臂在移动过程中会碰撞到障碍物(或障碍物会阻碍机械臂的移动),则控制机械臂停止移动,或者改变机械臂的移动轨迹,从而避免机械臂在移动过程中碰撞到障碍物等,避免发生故障或造成人员等活体伤害等。
图1为本申请机械臂控制方法一个实施例的方法示意图。如图1所示,上述机械臂控制方法可以包括:
S101、响应于接收到的移动指令,控制机械臂移动至第一目标位置。
举例地,在烹饪过程中,烹饪系统根据输入的用户烹饪需求,控制机械臂进行移动。所述烹饪系统可以包括烹饪区,所述烹饪区中可以包含多个目标(如多个煲仔炉等),如第一目标(如1号煲仔炉)、第二目标(如2号煲仔炉)、第三目标(如3号煲仔炉)…等。进一步地,烹饪系统中可以存储与每个目标对应的目标位置,如第一目标位置、第二目标位置、第三目标位置…等。所述烹饪需求中包含所述烹饪区中的第一目标,如1号煲仔炉。
进一步地,所述烹饪系统还可以包括通信装置以及控制装置。所述通信装置如手机、计算机或上位机等,用于获取用户烹饪需求,并根据烹饪需求,向所述控制装置发送移动指令。所述控制装置用于接收所述移动指令,并根据所述移动指令控制机械臂的移动。
在步骤S101中,所述移动指令中可以包含第一目标位置,所述第一目标位置举例地与所述烹饪区中的第一目标相对应,如第一目标位置对应于1号煲仔炉的位置,举例地,所述第一目标位置可以为1号煲仔炉的上方位置。可以理解的是,在所述第一目标位置,机械臂可以执行煲仔进炉操作,如将夹取的煲仔(或待烹饪煲仔)放入1号煲仔炉中等。
具体地,所述控制装置控制机械臂从当前位置移动至所述第一目标位置,如控制机械臂从当前位置移动至与1号煲仔炉对应的位置等。所述机械臂的当前位置可以为预设的初始位置,或者所述机械臂的当前位置可以根据电机伺服机构(如伺服轴)的脉冲数等确定。
进一步地,所述移动指令中可以包含第一移动路径,在步骤S101中,可以控制机械臂沿所述第一移动路径移动至所述第一目标位置。
S102、在所述机械臂移动至所述第一目标位置的情况下,获取采集到的第一目标图像。
在本实施例中,所述烹饪系统还可以包括视觉装置,所述视觉装置可以包括采集环境信息(如图像等)的传感器,如相机等。优选地,相机可以被安装于机械臂的末端,以采集得到图像。具体地,相机的安装位置以及拍摄范围可以根据烹饪区中煲仔炉的分布情况、机械臂的结构以及移动轨迹等确定,以拍摄得到所需的图像。举例地,相机可以拍摄机械臂前方的图像或机械臂周围环境图像等,且机械臂本身不会阻碍相机的拍摄,其中,相机参数(如清晰度等)可以根据实际拍摄情况进行设定,在此不受限制。
举例地,所述机械臂可以为六自由度机械臂,相机可以安装于机械臂上并随机械臂的第6轴一起旋转,以最大限度地增加拍摄范围。所述烹饪系统中可以包括两个机械臂,每个机械臂上均可以安装相机,两个机械臂可以独立控制,也可以联动控制等。
优选地,在机械臂的移动过程中,随着机械臂的位置变化,相机可以实时拍摄得到不同位置的图像,例如,在机械臂向目标位置移动的过程中,相机可以实时采集机械臂周围环境信息(或环境图像),或者,在机械臂移动至目标位置的情况下,相机可以对目标(如煲仔炉)进行图像采集,以得到目标图像。
也就是说,在步骤S102中,所述第一目标图像为相机对第一目标进行图像采集得到的。优选地,在机械臂移动至第一目标位置的情况下,相机可以采集得到第一目标图像,一般情况下,第一目标位于相机视野范围内。
S103、对所述第一目标图像进行图像识别,获得第一识别结果,所述第一识别结果用于表示所述第一目标图像中是否存在第一目标以及所述第一目标内是否含有目标物。
优选地,步骤S103中,可以识别出所述第一目标中是否含有目标物如异物等,如煲仔炉中是否含有异物(如玉米粒等)。也就是说,所述第一识别结果可以用于表示所述第一目标图像中是否存在煲仔炉,以及煲仔炉中是否含有异物等。
S104、基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行。
优选地,所述第一模式可以用于表示机械臂执行煲仔进炉操作等,如控制机械臂从第一目标位置向下移动固定距离等,以将夹取物(如夹取的煲仔)放入煲仔炉中等。
需要指出的是,在机械臂移动至第一目标位置后,以及在控制机械臂按照第一模式运行之前,执行上述步骤S102至S104。或者,在控制机械臂按照第一模式运行的过程中,执行上述步骤S102至S104。
也就是说,在控制机械臂按照第一模式运行之前,相机可以对第一目标进行图像采集,以得到第一目标图像。若识别到所述第一目标图像中不存在第一目标,或者,第一目标图像中存在第一目标且所述第一目标内含有目标物,则控制机械臂不执行按照第一模式运行,若识别到所述第一目标图像中存在第一目标且所述第一目标内不含有目标物,则控制机械臂按照第一模式运行。
在控制机械臂按照第一模式运行的过程中(如控制机械臂从第一目标位置向下移动的过程中),相机可以实时地对第一目标进行图像采集,以得到第一目标图像。若识别到第一目标中含有异物,则控制机械臂停止按照第一模式运行(如停止向下移动等),若识别到第一目标中不含有异物,则控制机械臂继续按照第一模式运行(如继续向下移动等),直到将夹取的煲仔放入不含有异物的煲仔炉内为止。
综上可以看出的是,在控制机械臂的移动过程中,通过相机对煲仔炉进行图像采集,并根据采集到的煲仔炉图像中识别出当前的煲仔炉中是否含有异物,以此控制机械臂的移动轨迹,实现了煲仔放入不含有异物的煲仔炉中,从而避免了因煲仔无法与煲仔炉的加热内壁保持良好的直接接触,造成热传递不良问题,进而可能引发的烹制食材不熟等食品安全问题,提高了用户用餐体验。
其中一种可能的实现方式中,步骤S104可以包括:
S201、若所述第一目标图像中存在第一目标且所述第一目标内不含有目标物(如1号煲仔炉中不含有异物),则控制所述机械臂按照第一模式运行,如机械臂执行将夹取的煲仔放入1号煲仔炉的操作。
S202、若所述第一目标图像中不存在第一目标,或者,第一目标图像中存在第一目标且所述第一目标内含有目标物(如不存在1号煲仔炉或1号煲仔炉中含有异物),则执行以下步骤:
S2021、控制所述机械臂移动至第二目标位置;
S2022、在所述机械臂移动至所述第二目标位置的情况下,获取采集到的第二目标图像;
S2023、对所述第二目标图像进行图像识别,获得第二识别结果;
S2024、基于所述第二识别结果,确定是否执行控制所述机械臂按照所述第一模式运行,所述第二识别结果用于表示所述第二图像中是否存在第二目标以及所述第二目标内是否含有目标物。
优选地,所述第二目标位置可以对应于第二目标,如2号煲仔炉等。更优选地,所述第二目标为已预热好的煲仔炉。
在本实施例中,步骤S2022至步骤S2024的具体步骤或原理可以参考上述步骤S102至S104的步骤或原理,在此不再赘述。
也就是说,在步骤S202中,若不存在1号煲仔炉或1号煲仔炉中含有异物,则控制机械臂不将夹取的煲仔放入1号煲仔炉中,以及控制机械臂移动至第二目标位置,通过相机对第二目标进行图像采集,以得到第二目标图像,通过对第二目标图像进行图像识别,以判断是否存在第二目标以及第二目标(如2号煲仔炉)中是否含有异物,若存在2号煲仔炉且2号煲仔炉中不含有异物,则控制机械臂按照第一模式运行,如将夹取的煲仔放入2号煲仔炉中。若不存在2号煲仔炉或者2号煲仔炉中含有异物,则控制机械臂不将夹取的煲仔放入2号煲仔炉中,以及按照同样的原理或步骤,控制机械臂将夹取的煲仔放入不含有异物的煲仔炉中。
其中一种可能的实现方式中,步骤S2021可以包括:
S301、获取第二目标位置以及第二目标的当前状态,所述第二目标位于所述第二目标位置;
S302、判断所述第二目标的当前状态是否为第一状态;
S303、若所述第二目标的当前状态为所述第一状态,则控制所述机械臂移动至所述第二目标位置。
在本实施例中,所述第二目标的当前状态可以为第一状态或第二状态,所述第一状态可以用于表示烹饪区中的该煲仔炉已预热好,所述第二状态可以用于表示烹饪区中的该煲仔炉未预热或未预热完毕等。
也就是说,在1号煲仔炉中含有异物以及2号煲仔炉已预热好的情况下,则控制机械臂移动至与2号煲仔炉对应的第二目标位置。在2号煲仔炉中不含有异物的情况下,则控制机械臂将夹取的煲仔放入2号煲仔炉中。
可以理解的是,步骤S303中,可以根据第一目标位置与第二目标位置生成第二移动路径,以及控制所述机械臂沿所述第二移动路径移动至所述第二目标位置。
其中一种可能的实现方式中,所述方法还可以包括:
若所述第二目标的当前状态不为所述第一状态,则控制所述第二目标从所述当前状态转变为所述第一状态。
也就是说,在2号煲仔炉未预热好的情况下,则对2号煲仔炉进行预热,以使2号煲仔炉的当前状态转换为第一状态(如预热好的状态)。
进一步地,举例地,在2号煲仔炉未预热好的情况下,则控制机械臂停止移动,并进行等待,以及在2号煲仔炉预热好之后,则控制机械臂按照预设第一模式运行,以将夹取的煲仔放入已预热好的2号煲仔炉中。
或者,举例地,在2号煲仔炉未预热好的情况下,则控制机械臂移动至其他目标位置(如3号煲仔炉等),在3号煲仔炉中不含有异物且3号煲仔炉已预热好的情况下,则控制机械臂将夹取的煲仔放入3号煲仔炉中。
可以理解的是,烹饪系统可以将未预热的煲仔炉进行预热,以增加预热好的煲仔炉的数量。
其中一种可能的实现方式中,所述方法还可以包括:
S401、判断是否存在空闲的第二目标、每个所述空闲的第二目标的当前状态是否为第一状态以及每个所述处于第一状态且空闲的第二目标是否被标注为含有目标物;
S402、若不存在空闲的第二目标,或每个所述空闲的第二目标的当前状态不为第一状态,或每个所述处于第一状态且空闲的第二目标被标注为含有目标物,则控制所述机械臂移动至预设存放位置。
也就是说,在所述第一目标(或当前的煲仔炉)中含有目标物(如异物)的情况下,判断当前的煲仔炉是否为最后一个空闲且预热好的煲仔炉,若是,则控制所述机械臂移动至预设存放位置(如暂存台等)。进一步地,当所有空闲且预热好的煲仔炉中均被标注为含有异物,则控制所述机械臂移动至预设存放位置(如暂存台等),直到存在至少一个空闲且预热好以及未被标注为含有异物的煲仔炉后,则控制所述机械臂将煲仔移动至该煲仔炉上,以进行加热烹饪等。
优选地,所述空闲的煲仔炉用于表示未被放置煲仔的煲仔炉。在烹饪区中不存在空闲的煲仔炉,或者所有空闲的煲仔炉均未预热好,或者所有预热好且空闲的煲仔炉中均被标注为含有目标物(如异物)的情况下,则控制所述机械臂将夹取的煲仔移动至预设存放位置。
优选地,所述烹饪系统中还包含存放区以及与所述存放区相对应的预设存放位置。所述存放区可以用于存放煲仔,如暂存台等。
举例地,步骤S401以及步骤S402可以包括:
判断是否存在空闲的第二目标;
若不存在空闲的第二目标,则控制所述机械臂移动至预设存放位置;
若存在空闲的第二目标,则判断每个空闲的第二目标的当前状态是否处于第一状态;
若每个空闲的第二目标的当前状态均未处于第一状态,则控制所述机械臂移动至预设存放位置;
若任意一个空闲的第二目标的当前状态处于第一状态,则判断每个处于第一状态且空闲的第二目标是否被标注为含有目标物;
若每个处于第一状态且空闲的第二目标均被标注为含有目标物,则控制所述机械臂移动至预设存放位置;
若任意一个处于第一状态且空闲的第二目标未被标注为含有目标物(如未被标注等),则控制所述机械臂将夹取物(如煲仔)移动至该第二目标(如煲仔炉)中。
也就是说,若烹饪区内不存在处于第一状态(如预热好)、空闲且未被标注为含有异物的煲仔炉,则控制机械臂移动至预设存放位置,以将煲仔放置于所述存放区。在某一个空闲的煲仔炉预热好且未被标注为含有异物的情况下,控制机械臂将煲仔移动至该煲仔炉中,以完成烹制。
其中一种可能的实现方式中,所述方法还可以包括:
若所述第一目标图像中不存在第一目标,或者,所述第一目标图像中存在第一目标且所述第一目标内含有目标物,则生成第一标注,所述第一标注用于标注所述第一目标不适用。
在本实施例中,所述第一标注可以用于标注第一目标不适用,如第一目标故障,或者第一目标中含有目标物如异物等。相应地,若第二目标图像中不存在第二目标,或者,所述第二目标图像中存在第二目标且所述第二目标内含有目标物,则生成第二标注,所述第二标注用于标注所述第二目标不适用,如标注第二目标中含有异物等。
例如,在识别到第一目标(如1号煲仔炉)中存在异物的情况下,对1号煲仔炉进行标注,以标注1号煲仔炉故障,或者1号煲仔炉中含有异物等。
可以理解的是,在识别到煲仔炉中存在异物的情况下,烹饪系统可以发出警报信号,如声音、灯光、画面等提示工作人员,以及时进行处理。进一步地,当存在异物的煲仔炉中的异物被清理后,则删除将该煲仔炉标注为含有异物的标注,或者,将该煲仔炉的标注更改为不含有异物等。
其中一种可能的实现方式中,所述方法还可以包括:
S501、在所述机械臂沿所述第一移动路径移动至目标位置的过程中,获取采集到的机械臂周围环境信息;
S502、基于所述环境信息以及所述移动路径,控制所述机械臂停止移动,或者控制所述机械臂沿第二移动路径移动至所述目标位置,所述第二移动路径基于所述机械臂的当前位置、所述环境信息以及所述目标位置确定。
在本实施例中,步骤S501中,在烹饪过程中,在机械臂移动过程(如执行移动煲仔、煲仔进炉、加菜、煲仔出炉以及煲仔出餐等操作)中,通过安装于机械臂末端的相机实时地对机械臂周围环境进行图像采集,以得到环境信息(如环境图像等)。可以理解的是,相机可以朝向机械臂的移动方向进行图像采集,以得到在机械臂将要进入的移动路径上的图像。
在步骤S502中,通过对环境图像进行图像识别,以识别出采集到的图像中是否存在障碍物,以及该障碍物是否处于机械臂的移动路径上(如障碍物的位置是否与机械臂的移动路径相重合等)。
若识别到障碍物处于机械臂的移动路径上,则确定该障碍物会阻碍机械臂的移动,为防止发生碰撞或造成损伤,则控制机械臂停止移动,或者控制机械臂改变移动路径,如沿第二移动路径移动至所述目标位置等,以避开该障碍物等。
进一步地,所述方法中,在机械臂移动过程中,还可以实时采集得到机械臂的当前状态信息,如当前位置、当前的移动路径、移动速度以及移动方向等,所述第二移动路径可以根据所述机械臂的当前状态信息、所述环境信息等确定。或者,根据所述机械臂的当前状态信息、环境信息等实时地调整机械臂的移动路径等,在此不受限制。
需要理解的是,步骤S103与步骤S502中对图像进行识别的原理或方法可以基本一致,在本实施例中,以步骤S103中对图像进行识别的方法作为详细举例。
具体地,如图2所示,步骤S103可以包括:
S601、基于预设图像对第一目标图像进行目标识别,确定是否存在第一目标;
S602、在所述第一目标中进行搜索,获得多个待选区域;
S603、对所述多个待选区域进行筛选,确定待定目标;
S604、对所述待定目标进行像素点分类,确定第一类型像素点;
S605、基于所有所述第一类型像素点占所述待定目标中总像素点的比例,确定所述第一目标中是否含有目标物。
在本实施例中,第一目标图像可以包括由相机拍摄煲仔炉图像,如三通道RGB图像(img-rgb)等。具体地,在机械臂移动至第一目标位置的情况下,相机可以拍摄得到煲仔炉的俯视图,因此,当煲仔炉中落入玉米粒等异物时,第一目标图像中可以包含异物图像。
如图3A所示为本实施例第一目标图像示意图,在第一目标图像T1中,包含煲仔炉L所在的目标区域Q1(即第一目标Q1),以及煲仔炉中落入的异物Y(即目标物Y)。
在本实施例中,所述预设图像可以包括不含异物的煲仔炉图像,如单通道灰度图(tem-gray)等。也就是说,预设图像可以提前采用相机对不含异物的煲仔炉进行拍摄获得,并转换为单通道灰度图。
在步骤S601中,所述第一目标可以包括第一目标图像中目标(如煲仔炉)的外接矩形顶点坐标(如左上角顶点坐标等)以及外接矩形尺寸(如长度和宽度)等。
如图3B所示为本实施例的预设图像示意图,在预设图像T2中包含煲仔炉L。
进一步地,预设图像可以包括目标边缘曲线(如煲仔炉边缘曲线等),具体地,预设图像可以通过灰度处理转换为单通道灰度图像,然后,基于边缘检测算子(如Canny算子等)对该单通道灰度图像进行边缘检测处理,获得目标边缘图像,该目标边缘图像中包含多条连续的边缘曲线,边缘曲线中包含组成该连续边缘的点集合,基于边缘曲线中的点数量,确定所述目标边缘曲线。举例地,选取点数量最多的边缘曲线作为该目标边缘曲线,即该预设图像中的煲仔炉边缘曲线。
在一种可能的实现方式中,步骤S601可以包括:
S6011、对所述第一目标图像进行灰度处理,获得灰度图像;
S6012、以所述目标边缘曲线作为参照,基于预设旋转偏差角和预设缩放比例对所述第一目标图像进行广义霍夫变换处理,获得多个匹配区域及其对应的匹配度;
S6013、根据多个所述匹配区域的匹配度大小,确定所述第一目标。
也就是说,第一目标图像被转换为单通道灰度图像(img-gray),以便于进行步骤S6012中的广义霍夫变换处理。
优选地,该预设旋转偏差角可以在0到30度范围内,该预设缩放比例可以在0.9至1.1倍范围内。
步骤S6012中,通过广义霍夫变换处理,对第一目标图像进行遍历,得到集合U1,该集合U1中包含多个匹配结果,每个匹配结果中包含匹配区域的当前点坐标、以该当前点坐标为外接矩形顶点(如左上角顶点坐标等)的匹配区域尺寸(如外接矩形的长度和宽度等)以及该匹配区域与所述目标边缘曲线的匹配度。该匹配度即为S(0<S<1),匹配度越大,表示该匹配区域与目标边缘曲线的匹配程度越高(即目标匹配程度越高)。
因此,步骤S6013中,选取匹配度最大的匹配区域作为所述第一目标,即该匹配度最大的匹配区域的顶点坐标以及尺寸作为所述第一目标的顶点坐标以及尺寸,记为(X0,Y0,W0,H0),其中X0,Y0为外接矩形的顶点坐标,W0和H0分别为外接矩形的宽度与高度(或宽度与长度等)。
举例地,若获得的匹配区域及其对应的匹配度低于预设阈值,则确定所述第一目标图像中不存在第一目标,即不存在煲仔炉(如相机未对煲仔炉进行拍摄等)。若获得的匹配区域及其对应的匹配度大于或等于预设阈值,则确定所述第一目标图像中含有第一目标,以及,选取匹配度最大的匹配区域作为所述第一目标。
可以理解的是,所述方法通过广义霍夫变换从相机拍摄的第一目标图像中精准地定位目标(如煲仔炉)所在位置,本方法可以对第一目标中是否存在异物进行识别,防止目标以外的杂物带来的干扰,即落入第一目标以外的异物不在识别范围内,另外,该方法还可以防止镜头移动、光线变化带来的定位偏差,提高图像识别准确度。
优选地,步骤S602中,可以对第一目标图像中的第一目标进行搜索,获得多个待选区域,该待选区域可以包括该第一目标中的多个选框(如矩形框等)的顶点坐标(x,y)以及尺寸(如宽度w与高度h等)。
其中一种可能的实现方式中,步骤S602可以包括:
S6021、将所述第一目标输入预设图像处理软件库中,所述图像处理软件库中包含选择性搜索工具;
S6022、通过所述选择性搜索工具对所述第一目标进行处理,获得多个待选区域。
所述图像处理软件库可以包括一种基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,如OpenCV。该图像处理软件库中可以存储多种实现图像处理和计算机视觉方面的算法或工具,如选择性搜索工具等。步骤S302中,该选择性搜索工具的具体功能或原理可以参考J.R.R.Uijlings发表在2012IJCV(International Journal of ComputerVision,计算机视觉国际期刊)上的一篇文章中介绍的选择性搜索方法的步骤或原理,在此不受限制。
也就是说,步骤S602中,通过上述顶点坐标以及尺寸(X0,Y0,W0,H0),从第一目标图像(img-rgb)中选取获得第一目标,即可以表示为第一图像(img-refine),该第一图像为三通道RGB图像。
如图3C所示为本实施例中第一图像示意图,在第一图像T3中,包含煲仔炉L,以及落入煲仔炉L中的异物Y。
如图3D所示为本实施例中第一图像中多个待选区域示意图,在第一图像T3中,包含多个待选区域K1。
可以理解的是,采用选择性搜索从第一图像中获得多个待选区域,比传统的滑窗法更加节省资源,有利于提高识别效率和识别精度。
优选地,筛选条件可以根据第一目标图像中异物(如玉米粒等)的尺寸进行预设。也就是说,该待定目标的尺寸范围可以与图像中异物的尺寸相对应,以去除无用的待选区域(即尺寸明显与异物尺寸不对应的待选取),即降低干扰,提高识别准确度,又缩短后续计算时间,提高计算效率。
其中一种可能的实现方式中,步骤S603可以包括:
S6031、判断每个所述待选区域的面积是否小于或等于预设第一面积阈值,且是否大于或等于预设第二面积阈值,以及每个所述待选区域的长宽比是否小于预设长宽比阈值;
S6032、基于判断结果,从多个所述待选区域中确定待定目标。
优选地,对每个所述待选区域进行遍历,若所述待选区域的面积小于或等于该第一面积阈值A1且大于或等于该第二面积阈值A2,即所述待选区域的面积处于面积区间(A1,A2)内,且所述待选区域的长宽比小于该长宽比阈值T(T>1),则确定该待选区域为第三目标区域,否则,删除面积不处于该面积区间即区间(A1,A2)内或长宽比大于该长宽比阈值T的待选区域,得到第三目标区域的集合U2,集合U2中包含所述第三目标区域的顶点坐标以及尺寸。
进一步地,步骤S6032可以包括:
S6033、若每个所述待选区域的面积小于或等于预设第一面积阈值,且大于或等于预设第二面积阈值以及每个所述待选区域的长宽比小于预设长宽比阈值,则确定所述待选区域为第三目标区域;
S6034、对所述第三目标区域进行筛选,获得待定目标。
如图3E所示为本实施例中第一图像中待定目标的示意图,在第一图像T3中,包含多个第三目标区域K2。
进一步地,步骤S6034包括:
S60341、判断多个所述第三目标区域是否相重叠;
S60342、若多个所述第三目标区域相重叠,则选取相重叠的多个所述第三目标区域中面积最小或最大的所述第三目标区域为待定目标;
S60343、若多个所述第三目标区域不重叠,则确定不重叠的多个所述第三目标区域为待定目标。
也就是说,步骤S6034中,对集合U2中的所有第三目标区域进行遍历,若多个第三目标区域(如第三目标区域A和B)之间存在交集(或交集大于预设阈值),则可以确定第三目标区域A和B之间相重叠。
优选地,若多个第三目标区域之间相重叠,则比较相重叠的多个第三目标区域的面积大小,基于比较结果选取面积最小(或最大)的第三目标区域为待定目标。例如第三目标区域A和B之间相重叠,第三目标区域A的面积A1小于第三目标区域B的面积B1,则从集合U2中相重叠且删除面积较大的第三目标区域B,得到待定目标的集合U3。也就是说,集合U3中可以包含未重叠的第三目标区域以及相重叠且面积较小(或较大)的第三目标区域,即所述待定目标。
如图3F所示为本实施例中第一图像中待定目标示意图,在第一图像T3中,包含多个含有异物Y的待定目标K4以及多个未含有异物的待定目标K5。
优选地,可以根据预设颜色阈值对所述待定目标进行像素点分类,颜色阈值可以根据第一目标图像中异物的颜色预设。例如颜色阈值可以包括预设第一颜色阈值Tmax和预设第二颜色阈值Tmin,第一颜色阈值包含三个阈值(Rmax,Gmax,Bmax),与第二颜色阈值包含三个阈值(Rmin,Gmin,Bmin),如第一颜色阈值Tmax=(Rmax,Gmax,Bmax)以及第二颜色阈值Tmin=(Rmin,Gmin,Bmin),第一颜色阈值的三个阈值分别代表RGB三通道的阈值,第二颜色阈值的三个阈值分别代表RGB三通道的阈值,例如红色,绿色以及蓝色等。
也就是说,当所述待定目标中的像素点的像素值(三通道像素值)小于或等于第一颜色阈值(Rmax,Gmax,Bmax),且大于或等于第二颜色阈值(Rmin,Gmin,Bmin)时,该像素点被分类为第一类型像素点,否则,该像素点被分类为第二类型像素点。换句话说,所述第一类型像素点用于表征所述待定目标中像素值小于或等于第一颜色阈值,且大于或等于第二颜色阈值的像素点。
其中一种可能的实现方式中,所述颜色阈值包括第一颜色阈值和第二颜色阈值,步骤S604可以包括:
S6041、判断所述待定目标中每个像素点的像素值是否小于或等于所述第一颜色阈值,且是否大于或等于所述第二颜色阈值;
S6042、基于判断结果,对所述待定目标中的每个像素点进行二值处理,获得二值图像,其中,所述二值图像的每个像素点为白像素点或黑像素点,所述第一类型像素点为所述二值图像中的白像素点。
优选地,步骤S6041中,可以根据集合U3中的多个待定目标分别对第一目标图像进行裁剪,得到多个第二图像,即为集合U4,该待定目标(即第二图像)为三通道RGB图像。
步骤S6042中,对集合U4中所有待定目标中的每个像素点进行遍历,若其像素点的像素值小于或等于第一颜色阈值且大于或等于第二颜色阈值,即处于颜色区间(Tmax,Tmin)中,则将该像素点的灰度值置为0,即黑色像素点,否则将该像素点的灰度值置为255,即白色像素点,以此对所述待定目标中的每个像素点进行二值处理,即得到二值图像,记为集合U5。
也就是说,所述二值图像中的白像素点为所述第一类型像素点,黑色像素点为所述第二类型像素点。
可以理解的是,待定目标中的像素点总数量与所述二值图像中总像素点数量一致,因此,步骤S605中,可以根据所有所述第一类型像素点(如白像素点)占所述待定目标或所述二值图像中总像素点的比例,获得识别结果。
举例地,步骤S605中,可以对二值图像中所有像素点的像素值进行中值滤波,即可得到白色像素点的数量,然后统计得到白色像素点占总像素点的比例。若白色像素点的占比大于预设比值(优选为10%),则将该二值图像标记为含有目标物如异物等,否则将该二值图像标记为不含有目标物如异物等。
也就是说,若任意一个二值图像中白色像素点的占比大于或等于预设比值,则输出识别结果为第一目标图像的第一目标(或第一图像)中包含异物(即该煲仔炉中包含异物),若所有的二值图像中白色像素点的占比均小于预设比值,则输出识别结果为第一目标图像的第一目标(或第一图像)中不包含异物(即该煲仔炉中不包含异物)。
可以理解的是,所述方法还可以包括,当识别第一目标图像中包含异物时,发出提示信号,如语音提示、灯光提示或画面显示等,以提示用户煲仔炉中含有异物,需及时处理,从而无需人工检查,节省人力,实时性强,避免人为错检漏检等问题的发生。
因此,本实施例方法中,通过预设颜色范围对图像中是否存在异物进行识别,相比于采用传统的神经网络分类算法进行图像识别的方法更加便捷,不需要大量训练数据支持,方法简单。
其中一种可能的实现方式中,在步骤S601之前,所述方法还包括:
S606、基于预设算子对所述第一目标图像进行纹理增强处理,获得纹理增强后的第一目标图像。
如图3G所示为本实施例中图像纹理增强前后对比示意图,其中,左图为纹理增强处理前图像T4,右图为纹理增强处理后图像T5。可以理解的是,本实施例中,还可以对第一图像或第二图像进行纹理增强处理,在此不受限制。
优选地,该算子可以包括二阶微分算子,如3x3的拉普拉斯纹理增强算子等。
具体地,该二阶微分算子可以由公式表示为:
在图像处理过程中,定义图像的中心点为f(x,y),即有3x3算子:
0 | f(x,y-1) | 0 |
f(x-1,y) | f(x,y) | f(x+1,y) |
0 | f(x,y+1) | 0 |
因此,可以计算得到坐标f(x,y)像素的拉普拉斯变换值为:
由此可以得到3x3拉普拉斯算子Op1:
0 | 1 | 0 |
1 | -4 | 1 |
0 | 1 | 0 |
引入算子Op2(保留原图信息,基本不产生变换):
0 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
将算子Op1和算子Op2加权相减,并且保持算子内部参数和为1(图片总体灰度不变),得到算子Op3:
0 | -a | 0 |
-a | b | -a |
0 | -a | 0 |
其中,在算子Op3中,a大于0,b大于0,b-4a=1。在本实施例中,在一定范围内以特定步长对a,b进行取值,分别计算其对该图像识别的影响,从而选取最优算子作为步骤S606中的该预设算子。
举例地,假定图像(如所述第一目标图像)中目标区域的像素值如下表分布:
X1 | X2 | X3 |
X4 | X5 | X6 |
X7 | X8 | X9 |
该像素值与算子Op3进行卷积计算,得到新的中心像素可以表示为:
Fcenter=b*X5-a*(X2+X4+X6+X8)
以此方法依次处理该图像的全部像素点,即可得到卷积计算后的图像。随着a或b的取值的改变,该图像的纹理细节也随着改变,例如,随着a取值的不断增加,该图像的纹理细节也不断增强,从人眼视觉视角来看,表现为更加清晰,以实现对该图像的纹理增强。也就是说,通过对a和b的取值的调整,确定图像纹理增强最佳时的a和b的取值,从而确定该预设算子,基于该预设算子对该第一目标图像进行纹理增强后,有利于提高计算机对该第一目标图像进行图像识别的准确度,从人眼视觉角度来看,表现为更加清晰。而传统图像识别方法在对目标多次卷积之后,会使其纹理特征淡化,导致模型泛化能力不足,识别率低,需要人为介入校准,降低系统效率。
熟知本领域的技术人员应当理解的是,本申请提供的机械臂控制方法并不局限于应用于本实施例提供的烹饪领域中,其在其他机械臂的应用领域中也可以适用,如适用于在其他一些机械位置对定位点有特殊要求或机械臂运行轨迹的空间周边有障碍物等应用场景中,在此不受限制。
可以理解的是,上述实施例中的部分或全部步骤骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
图4所示为本申请机械臂控制装置100一个实施例的结构示意图。如图4所示,上述机械臂控制装置100可以包括:
第一控制模块10,用于响应于接收到的移动指令,控制机械臂移动至第一目标位置;
图像获取模块20,用于在所述机械臂移动至所述第一目标位置的情况下,获取采集到的第一目标图像;
图像识别模块30,用于对所述第一目标图像进行图像识别,获得第一识别结果,所述第一识别结果用于表示所述第一目标图像中是否存在第一目标以及所述第一目标内是否含有目标物;
第二控制模块40,用于基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行。
其中一种可能的实现方式中,所述第二控制模块40包括:
若所述第一目标图像中存在第一目标且所述第一目标内不含有目标物,则控制所述机械臂按照第一模式运行;
若所述第一目标图像中不存在第一目标,或者,第一目标图像中存在第一目标且所述第一目标内含有目标物,则控制所述机械臂移动至第二目标位置,在所述机械臂移动至所述第二目标位置的情况下,获取采集到的第二目标图像,对所述第二目标图像进行图像识别,获得第二识别结果,基于所述第二识别结果,确定是否执行控制所述机械臂按照所述第一模式运行,所述第二识别结果用于表示所述第二图像中是否存在第二目标以及所述第二目标内是否含有目标物。
其中一种可能的实现方式中,所述第二控制模块40包括:
获取第二目标位置以及第二目标的当前状态,所述第二目标位于所述第二目标位置;
判断所述第二目标的当前状态是否为第一状态;
若所述第二目标的当前状态为所述第一状态,则控制所述机械臂移动至所述第二目标位置。
其中一种可能的实现方式中,所述装置还包括:
若所述第二目标的当前状态不为所述第一状态,则控制所述第二目标从所述当前状态转变为所述第一状态。
其中一种可能的实现方式中,所述装置还包括:
判断是否存在空闲的第二目标、每个所述空闲的第二目标的当前状态是否为第一状态以及每个所述处于第一状态且空闲的第二目标是否被标注为含有目标物;
若不存在空闲的第二目标,或每个所述空闲的第二目标的当前状态不为第一状态,或每个所述处于第一状态且空闲的第二目标被标注为含有目标物,则控制所述机械臂移动至预设存放位置。
其中一种可能的实现方式中,所述装置还包括:
若所述第一目标图像中不存在第一目标,或者,所述第一目标图像中存在第一目标且所述第一目标内含有目标物,则生成第一标注,所述第一标注用于标注所述第一目标不适用。
其中一种可能的实现方式中,所述移动指令中包含第一移动路径,所述装置还包括:
在所述机械臂沿所述第一移动路径移动至目标位置的过程中,获取采集到的机械臂周围环境信息;
基于所述环境信息以及所述第一移动路径,控制所述机械臂停止移动,或者控制所述机械臂沿第二移动路径移动至所述目标位置,所述第二移动路径基于所述机械臂的当前位置、所述环境信息以及所述目标位置确定。
其中一种可能的实现方式中,所述图像识别模块30包括:
基于预设图像对所述第一目标图像进行目标识别,确定是否存在第一目标;
若存在所述第一目标,则在所述第一目标中进行搜索,获得多个待选区域;
对所述多个待选区域进行筛选,确定待定目标;
对所述待定目标进行像素点分类,确定第一类型像素点;
基于所有所述第一类型像素点占所述待定目标中总像素点的比例,确定所述第一目标中是否含有目标物。
可以理解的是,图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;机械臂220,用于受控于控制装置230,以在所述烹饪区内进行移动;视觉装置240,其被安装于所述机械臂220,用于在所述机械臂220移动过程中进行图像采集,并将采集到的图像传输至所述控制装置230;以及所述控制装置。
本实施例中,烹饪系统200可以被应用餐厅中,如烹制煲仔饭等。
如图6A至6C所示,烹饪区210可以包括多个煲仔炉211(如煲仔炉头等),每个煲仔炉211可以用于烹饪煲仔,制作煲仔饭。在一些可能的实现方式中,烹饪系统200可以包括一个或多个烹饪区210,每个烹饪区210均可以包括一个或多个煲仔炉211。
视觉装置240用于对所述烹饪区中的煲仔炉进行拍摄,以获取得到第一目标图像,并将所述第一目标图像发送至控制装置230。所述视觉装置240如相机或摄像头等,其可以被安装于机械臂220的末端。
所述烹饪系统还可以包括通信装置250,所述通信装置如上位机250等,用于获取用户烹饪需求,并根据烹饪需求,向所述控制装置发送的控制指令。
所述控制装置230用于接收所述控制指令,并根据所述控制指令控制机械臂220的运动,如控制所述机械臂执行移动煲仔212(如将放置于煲仔存放区213内的待烹饪的煲仔取出并移动至目标位置等)、煲仔进炉(如将待烹饪的煲仔放入煲仔炉中等)、煲仔出炉(如将烹饪好的煲仔从煲仔炉中取出等)以及煲仔出餐(如将烹饪好的煲仔移动至取餐区214等)等操作。
控制装置还用于接收由所述视觉装置240采集得到的图像,并对所述图像进行图像识别,根据识别结果,控制机械臂220的移动等。或者,由上位机接收由视觉装置240采集得到的图像,并对图像进行识别后,根据识别结果向所述控制装置230发送相应的控制指令,以控制机械臂的移动等。
所述控制装置230,包含:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行步骤:
响应于接收到的移动指令,控制机械臂移动至第一目标位置;
在所述机械臂移动至所述第一目标位置的情况下,获取采集到的第一目标图像;
对所述第一目标图像进行图像识别,获得第一识别结果,所述第一识别结果用于表示所述第一目标图像中是否存在第一目标以及所述第一目标内是否含有目标物;
基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行,包括:
若所述第一目标图像中存在第一目标且所述第一目标内不含有目标物,则控制所述机械臂按照第一模式运行;
若所述第一目标图像中不存在第一目标,或者,第一目标图像中存在第一目标且所述第一目标内含有目标物,则控制所述机械臂移动至第二目标位置,在所述机械臂移动至所述第二目标位置的情况下,获取采集到的第二目标图像,对所述第二目标图像进行图像识别,获得第二识别结果,基于所述第二识别结果,确定是否执行控制所述机械臂按照所述第一模式运行,所述第二识别结果用于表示所述第二图像中是否存在第二目标以及所述第二目标内是否含有目标物。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述控制所述机械臂移动至第二目标位置,包括:
获取第二目标位置以及第二目标的当前状态,所述第二目标位于所述第二目标位置;
判断所述第二目标的当前状态是否为第一状态;
若所述第二目标的当前状态为所述第一状态,则控制所述机械臂移动至所述第二目标位置。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行:
若所述第二目标的当前状态不为所述第一状态,则控制所述第二目标从所述当前状态转变为所述第一状态。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行:
判断是否存在空闲的第二目标、每个所述空闲的第二目标的当前状态是否为第一状态以及每个所述处于第一状态且空闲的第二目标是否被标注为含有目标物;
若不存在空闲的第二目标,或每个所述空闲的第二目标的当前状态不为第一状态,或每个所述处于第一状态且空闲的第二目标被标注为含有目标物,则控制所述机械臂移动至预设存放位置。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行:
若所述第一目标图像中不存在第一目标,或者,所述第一目标图像中存在第一目标且所述第一目标内含有目标物,则生成第一标注,所述第一标注用于标注所述第一目标不适用。
其中一种可能的实现方式中,所述移动指令中包含第一移动路径,当所述指令被所述系统执行时,使得所述系统执行:
在所述机械臂沿所述第一移动路径移动至目标位置的过程中,获取采集到的机械臂周围环境信息;
基于所述环境信息以及所述第一移动路径,控制所述机械臂停止移动,或者控制所述机械臂沿第二移动路径移动至所述目标位置,所述第二移动路径基于所述机械臂的当前位置、所述环境信息以及所述目标位置确定。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述对所述第一目标图像进行图像识别,获得第一识别结果,包括:
基于预设图像对所述第一目标图像进行目标识别,确定是否存在第一目标;
若存在所述第一目标,则在所述第一目标中进行搜索,获得多个待选区域;
对所述多个待选区域进行筛选,确定待定目标;
对所述待定目标进行像素点分类,确定第一类型像素点;
基于所有所述第一类型像素点占所述待定目标中总像素点的比例,确定所述第一目标中是否含有目标物。
其中一种可能的实现方式中,所述预设图像包括目标边缘曲线,当所述指令被所述系统执行时,使得所述系统执行所述基于预设图像对第一目标图像进行目标识别,确定是否存在第一目标,包括:
对所述第一目标图像进行灰度处理,获得灰度图像;
以所述目标边缘曲线作为参照,基于预设旋转偏差角和预设缩放比例对所述灰度图像进行广义霍夫变换处理,获得多个匹配区域及其对应的匹配度;
根据多个所述匹配区域的匹配度大小,确定第一目标。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述对所述多个待选区域进行筛选,确定待定目标,包括:
判断每个所述待选区域的面积是否小于或等于预设第一面积阈值,且是否大于或等于预设第二面积阈值,以及每个所述待选区域的长宽比是否小于预设长宽比阈值;
基于判断结果,从多个所述待选区域中确定待定目标。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述基于判断结果,从多个所述待选区域中确定待定目标,包括:
若所述待选区域的面积小于或等于预设第一面积阈值,且大于或等于预设第二面积阈值,以及每个所述待选区域的长宽比小于预设长宽比阈值,则确定所述待选区域为第三目标区域;
对所述第三目标区域进行筛选,确定待定目标。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述对所述第三目标区域进行筛选,确定待定目标,包括:
判断多个所述第三目标区域是否相重叠;
若多个所述第三目标区域相重叠,则选取相重叠的多个所述第三目标区域中面积最小或最大的所述第三目标区域为待定目标;
若多个所述第三目标区域不重叠,则确定不重叠的多个所述第三目标区域为待定目标。
其中一种可能的实现方式中,当所述指令被所述系统执行时,使得所述系统执行所述对所述待定目标进行像素点分类,确定第一类型像素点,包括:
判断所述待定目标中每个像素点的像素值是否小于或等于预设第一颜色阈值,且是否大于或等于预设第二颜色阈值;
基于判断结果,对所述待定目标中的每个像素点进行二值处理,获得二值图像,其中,所述二值图像的每个像素点为白像素点或黑像素点,所述第一类型像素点为所述二值图像中的白像素点。
其中一种可能的实现方式中,在所述获取第一目标图像之后,当所述指令被所述系统执行时,使得所述系统执行:
基于预设算子对所述第一目标图像进行纹理增强处理,获得纹理增强后的第一目标图像。
其中一种可能的实现方式中,所述预设算子包括第一参数和第二参数,其中,所述第一参数与所述第二参数满足关系:a>0,b>0,b-4a=1,a为所述第一参数,b为所述第二参数。
也就是说,所述烹饪系统200可以用于执行如图1所示实施例的机械臂控制方法,其功能或原理可以参考上述图1所示实施例的机械臂控制方法,在此不再赘述。
如图7所示,在本实施例中,为实现机械臂的控制,所述上位机250可以包括模数转换模块251、指令运算模块252、第一通信模块253以及机械臂控制模块254,所述控制装置230可以包括状态检测模块231、运动控制模块232以及第二通信模块233,所述机械臂220可以包括电机221、电机状态检测模块222以及命令信息处理模块223,所述视觉装置240可以包括摄像模块241、视觉处理控制模块242以及第三通信模块243。
所述模数转换模块251用于进行模数转换。所述指令运算模块252用于执行数据或信息运算处理。第一通信模块253、第二通信模块233以及第三通信模块243用于传输数据或指令等。所述机械臂控制模块254用于生成控制指令,并发送至控制装置230。所述状态检测模块231用于检测机械臂的运动状态并反馈至上位机250,所述运动控制模块232用于响应所述控制指令,向机械臂发送运动指令。所述电机221用于响应所述运动指令进行运作,所述电机状态检测模块222用于检测电机221的状态并反馈至控制装置230。所述命令信息处理模块223用于处理命令信息。所述摄像模块241用于拍摄机械臂周围环境信息如图像,所述视觉处理控制模块242用于控制处理摄像模块241采集到的信号,并将环境信息反馈至上位机250。
具体地,所述上位机250可以向所述控制装置230发送机械臂控制指令(如上述移动指令等)。所述控制装置230接收由所述通信装置250发送的控制指令,并由所述运动控制模块232控制机械臂220的运动,以及所述状态检测模块231检测机械臂的运动状态,并将检测到的运动状态信息反馈至所述上位机250。所述视觉装置240实时地对机械臂末端的周围环境信息进行图像采集,并将采集到的图像发送至所述上位机250。所述上位机250接收由所述控制装置230反馈的机械臂运动状态信息以及由所述视觉装置240实时采集到的图像,并根据该运动状态信息以及图像,生成相应的控制指令,并发送至所述控制装置230。所述控制装置230接收由所述上位机250发送的控制指令,并根据该控制指令,实时地指导或改变所述机械臂的运动轨迹,从而实现了机械臂的自动控制,而减少了人工操作。
所述烹饪系统200还可以包括警报装置,所述警报装置用于接收所述识别结果,若所述识别结果为所述第一目标图像中第一目标(即煲仔炉)中含有异物,则发出警报信号提示用户。或者,所述烹饪系统还可以包括异物清理装置,所述异物清理装置用于接收所述识别结果,若所述识别结果为所述第一目标图像中第一目标(即煲仔炉)中含有异物,则执行清理煲仔炉中的异物,例如所述异物清理装置被实施为夹爪,根据所述第一目标图像中异物的坐标或位置,通过伺服升降机构驱动夹爪夹取煲仔炉中的异物,并从该煲仔炉中移出,实现异物清理,等。
应理解,本实施例烹饪系统200可以包括其他不同类型的操作机构,以根据所述控制装置输出的识别结果,执行不同的操作,在此不受限制。
应理解,控制装置可以被实施为控制电路,控制装置中的处理器可以是片上系统SOC,该处理器中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等。
图8为本申请电子设备一个实施例的结构示意图,如图8所示,上述电子设备可以包括:一个或多个处理器;存储器;以及一个或多个计算机程序。
其中,上述电子设备可以为烹饪设备,移动终端(手机),收银设备,计算机,智慧屏,无人机,智能网联车(Intelligent Connected Vehicle;以下简称:ICV),智能(汽)车(smart/intelligent car)或车载设备等设备。
其中上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行以下步骤:
响应于接收到的移动指令,控制机械臂移动至第一目标位置;
在所述机械臂移动至所述第一目标位置的情况下,获取采集到的第一目标图像;
对所述第一目标图像进行图像识别,获得第一识别结果,所述第一识别结果用于表示所述第一目标图像中是否存在第一目标以及所述第一目标内是否含有目标物;
基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行。
其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备执行所述基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行,包括:
若所述第一目标图像中存在第一目标且所述第一目标内不含有目标物,则控制所述机械臂按照第一模式运行;
若所述第一目标图像中不存在第一目标,或者,第一目标图像中存在第一目标且所述第一目标内含有目标物,则控制所述机械臂移动至第二目标位置,在所述机械臂移动至所述第二目标位置的情况下,获取采集到的第二目标图像,对所述第二目标图像进行图像识别,获得第二识别结果,基于所述第二识别结果,确定是否执行控制所述机械臂按照所述第一模式运行,所述第二识别结果用于表示所述第二图像中是否存在第二目标以及所述第二目标内是否含有目标物。
其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备执行所述控制所述机械臂移动至第二目标位置,包括:
获取第二目标位置以及第二目标的当前状态,所述第二目标位于所述第二目标位置;
判断所述第二目标的当前状态是否为第一状态;
若所述第二目标的当前状态为所述第一状态,则控制所述机械臂移动至所述第二目标位置。
其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备执行:
若所述第二目标的当前状态不为所述第一状态,则控制所述第二目标从所述当前状态转变为所述第一状态。
其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备执行:
判断是否存在空闲的第二目标、每个所述空闲的第二目标的当前状态是否为第一状态以及每个所述处于第一状态且空闲的第二目标是否被标注为含有目标物;
若不存在空闲的第二目标,或每个所述空闲的第二目标的当前状态不为第一状态,或每个所述处于第一状态且空闲的第二目标被标注为含有目标物,则控制所述机械臂移动至预设存放位置。
其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备执行:
若所述第一目标图像中不存在第一目标,或者,所述第一目标图像中存在第一目标且所述第一目标内含有目标物,则生成第一标注,所述第一标注用于标注所述第一目标不适用。
其中一种可能的实现方式中,所述移动指令中包含第一移动路径,当上述指令被上述设备执行时,使得上述设备执行:
在所述机械臂沿所述第一移动路径移动至目标位置的过程中,获取采集到的机械臂周围环境信息;
基于所述环境信息以及所述第一移动路径,控制所述机械臂停止移动,或者控制所述机械臂沿第二移动路径移动至所述目标位置,所述第二移动路径基于所述机械臂的当前位置、所述环境信息以及所述目标位置确定。
其中一种可能的实现方式中,当上述指令被上述设备执行时,使得上述设备执行所述对所述第一目标图像进行图像识别,获得第一识别结果,包括:
基于预设图像对所述第一目标图像进行目标识别,确定是否存在第一目标;
若存在所述第一目标,则在所述第一目标中进行搜索,获得多个待选区域;
对所述多个待选区域进行筛选,确定待定目标;
对所述待定目标进行像素点分类,确定第一类型像素点;
基于所有所述第一类型像素点占所述待定目标中总像素点的比例,确定所述第一目标中是否含有目标物。
图8所示的电子设备可以是烹饪设备也可以是内置于上述烹饪设备的电路设备。该设备可以用于执行本申请图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)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种机械臂控制方法,应用于烹饪系统,其特征在于,包括:
响应于接收到的移动指令,控制机械臂移动至第一目标位置,所述第一目标位置为第一目标对应的目标位置;
在所述机械臂移动至所述第一目标位置的情况下,获取采集到的第一目标图像,所述第一目标图像为第一目标对应的图像;
对所述第一目标图像进行图像识别,获得第一识别结果,所述第一识别结果用于表示所述第一目标图像中是否存在第一目标以及所述第一目标内是否含有目标物,所述第一目标包括第一煲仔炉,所述目标物包括煲仔炉中的异物;
基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行;
所述基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行,包括:
若所述第一目标图像中存在第一目标且所述第一目标内不含有目标物,则控制所述机械臂按照第一模式运行;
若所述第一目标图像中不存在第一目标,或者,第一目标图像中存在第一目标且所述第一目标内含有目标物,则控制所述机械臂移动至第二目标位置,所述第二目标位置为第二目标对应的目标位置,在所述机械臂移动至所述第二目标位置的情况下,获取采集到的第二目标图像,对所述第二目标图像进行图像识别,获得第二识别结果,基于所述第二识别结果,确定是否执行控制所述机械臂按照所述第一模式运行,所述第二识别结果用于表示所述第二目标图像中是否存在第二目标以及所述第二目标内是否含有目标物,所述第二目标包括第二煲仔炉。
2.根据权利要求1所述的方法,其特征在于,所述控制所述机械臂移动至第二目标位置,包括:
获取第二目标位置以及第二目标的当前状态,所述第二目标位于所述第二目标位置;
判断所述第二目标的当前状态是否为第一状态;
若所述第二目标的当前状态为所述第一状态,则控制所述机械臂移动至所述第二目标位置。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第二目标的当前状态不为所述第一状态,则控制所述第二目标从所述当前状态转变为所述第一状态。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
判断是否存在空闲的第二目标、每个所述空闲的第二目标的当前状态是否为第一状态以及每个所述处于第一状态且空闲的第二目标是否被标注为含有目标物;
若不存在空闲的第二目标,或每个所述空闲的第二目标的当前状态不为第一状态,或每个所述处于第一状态且空闲的第二目标被标注为含有目标物,则控制所述机械臂移动至预设存放位置。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一目标图像中不存在第一目标,或者,所述第一目标图像中存在第一目标且所述第一目标内含有目标物,则生成第一标注,所述第一标注用于标注所述第一目标不适用。
6.根据权利要求1所述的方法,其特征在于,所述移动指令中包含第一移动路径,所述方法还包括:
在所述机械臂沿所述第一移动路径移动至目标位置的过程中,获取采集到的机械臂周围环境信息;
基于所述环境信息以及所述第一移动路径,控制所述机械臂停止移动,或者控制所述机械臂沿第二移动路径移动至所述目标位置,所述第二移动路径基于所述机械臂的当前位置、所述环境信息以及所述目标位置确定。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述对所述第一目标图像进行图像识别,获得第一识别结果,包括:
基于预设图像对所述第一目标图像进行目标识别,确定是否存在第一目标;
若存在所述第一目标,则在所述第一目标中进行搜索,获得多个待选区域;
对所述多个待选区域进行筛选,确定待定目标;
对所述待定目标进行像素点分类,确定第一类型像素点;
基于所有所述第一类型像素点占所述待定目标中总像素点的比例,确定所述第一目标中是否含有目标物。
8.一种机械臂控制装置,其特征在于,包括:
第一控制模块,用于响应于接收到的移动指令,控制机械臂移动至第一目标位置,所述第一目标位置为第一目标对应的目标位置;
图像获取模块,用于在所述机械臂移动至所述第一目标位置的情况下,获取采集到的第一目标图像,所述第一目标图像为第一目标对应的图像;
图像识别模块,用于对所述第一目标图像进行图像识别,获得第一识别结果,所述第一识别结果用于表示所述第一目标图像中是否存在第一目标以及所述第一目标内是否含有目标物,所述第一目标包括第一煲仔炉,所述目标物包括煲仔炉中的异物;
第二控制模块,用于基于所述第一识别结果,确定是否执行控制所述机械臂按照第一模式运行;
所述第二控制模块,具体用于若所述第一目标图像中存在第一目标且所述第一目标内不含有目标物,则控制所述机械臂按照第一模式运行;若所述第一目标图像中不存在第一目标,或者,第一目标图像中存在第一目标且所述第一目标内含有目标物,则控制所述机械臂移动至第二目标位置,所述第二目标位置为第二目标对应的目标位置,在所述机械臂移动至所述第二目标位置的情况下,获取采集到的第二目标图像,对所述第二目标图像进行图像识别,获得第二识别结果,基于所述第二识别结果,确定是否执行控制所述机械臂按照所述第一模式运行,所述第二识别结果用于表示所述第二目标图像中是否存在第二目标以及所述第二目标内是否含有目标物,所述第二目标包括第二煲仔炉。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1至7任一项所述的方法。
11.一种烹饪系统,其特征在于,包括:
烹饪区;
机械臂,用于受控于控制装置,以在所述烹饪区内进行移动;
视觉装置,其被安装于所述机械臂,用于在所述机械臂移动过程中进行图像采集,并将采集到的图像传输至所述控制装置;
所述控制装置,包含:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述系统执行时,使得所述系统执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110235368.6A CN113059560B (zh) | 2021-03-03 | 2021-03-03 | 机械臂控制方法、装置、电子设备以及烹饪系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110235368.6A CN113059560B (zh) | 2021-03-03 | 2021-03-03 | 机械臂控制方法、装置、电子设备以及烹饪系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113059560A CN113059560A (zh) | 2021-07-02 |
CN113059560B true CN113059560B (zh) | 2023-01-20 |
Family
ID=76559744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110235368.6A Active CN113059560B (zh) | 2021-03-03 | 2021-03-03 | 机械臂控制方法、装置、电子设备以及烹饪系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113059560B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113524183B (zh) * | 2021-07-14 | 2023-01-24 | 广东智源机器人科技有限公司 | 相对位置获得方法、机械臂控制方法以及机械臂系统 |
CN113925109B (zh) * | 2021-11-02 | 2023-12-05 | 中山东菱威力电器有限公司 | 一种冰激凌产品的挤出位置控制方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015011538A1 (de) * | 2015-09-02 | 2017-03-02 | ROLLERCOASTERRESTAURANT GmbH & Co. KG | Restaurantsystem |
JP2019084601A (ja) * | 2017-11-02 | 2019-06-06 | キヤノン株式会社 | 情報処理装置、把持システムおよび情報処理方法 |
CN108848589B (zh) * | 2018-06-20 | 2021-08-20 | 广东威特真空电子制造有限公司 | 烹饪设备及其烹饪方法和烹饪装置 |
CN108858122B (zh) * | 2018-08-13 | 2021-01-29 | 中国农业大学 | 一种温室植物病害巡检机器人及巡检方法 |
CN210077354U (zh) * | 2019-01-29 | 2020-02-18 | 广州富港万嘉智能科技有限公司 | 一体化自动烹饪系统 |
CN110253586B (zh) * | 2019-07-12 | 2024-06-04 | 珠海优特电力科技股份有限公司 | 电力防误操作设备及方法 |
KR20190098936A (ko) * | 2019-08-05 | 2019-08-23 | 엘지전자 주식회사 | 쿠킹 로봇 시스템 및 그 제어 방법 |
CN110412959B (zh) * | 2019-08-21 | 2022-04-29 | 李绍汉 | 一种自动食品加工及销售的无人系统 |
KR20190104482A (ko) * | 2019-08-21 | 2019-09-10 | 엘지전자 주식회사 | 로봇 시스템 및 그 제어방법 |
CN111227580B (zh) * | 2020-03-21 | 2024-02-06 | 深圳市邂逅科技有限公司 | 煲仔机和自动制作煲仔饭的方法 |
CN111898561B (zh) * | 2020-08-04 | 2024-07-12 | 腾讯科技(深圳)有限公司 | 一种人脸认证方法、装置、设备及介质 |
CN111772471B (zh) * | 2020-09-07 | 2021-08-31 | 佛山隆深机器人有限公司 | 一种煲仔饭烹饪搬运机械手 |
-
2021
- 2021-03-03 CN CN202110235368.6A patent/CN113059560B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113059560A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3740897B1 (en) | License plate reader using optical character recognition on plural detected regions | |
CN113059560B (zh) | 机械臂控制方法、装置、电子设备以及烹饪系统 | |
Plebe et al. | Localization of spherical fruits for robotic harvesting | |
CN112837371A (zh) | 基于3d匹配的物体抓取方法、装置及计算设备 | |
US20220324107A1 (en) | Performance recreation system | |
CN112560713A (zh) | 图像识别方法、装置、设备以及烹饪系统 | |
US11232589B2 (en) | Object recognition device and object recognition method | |
CN112347887A (zh) | 一种物体检测方法、物体检测装置及电子设备 | |
CN107527368B (zh) | 基于二维码的三维空间姿态定位方法与装置 | |
Lu et al. | A robust omnidirectional vision sensor for soccer robots | |
US9286669B2 (en) | Image processing apparatus, image processing method and program | |
Zhao et al. | Palletizing robot positioning bolt detection based on improved YOLO-V3 | |
CN116494253B (zh) | 目标物体抓取位姿获取方法及机器人抓取系统 | |
CN106067031A (zh) | 基于人工纠错机制与深度学习网络协作机器视觉识别系统 | |
Varga et al. | Vision-based autonomous load handling for automated guided vehicles | |
CN118279295B (zh) | 配电柜状态检测方法、装置、设备及存储介质 | |
JPWO2020090897A1 (ja) | 位置検出装置、位置検出システム、遠隔制御装置、遠隔制御システム、位置検出方法、及びプログラム | |
US20230009925A1 (en) | Object detection method and object detection device | |
Phyu et al. | Verification of illumination tolerance for photo-model-based cloth recognition | |
US20130307976A1 (en) | Imaging apparatus and imaging condition setting method and program | |
JP7424800B2 (ja) | 制御装置、その制御方法、及び制御システム | |
Bellandi et al. | Development and characterization of a multi-camera 2D-vision system for enhanced performance of a drink serving robotic cell | |
CN112069841B (zh) | X光违禁品包裹跟踪方法及装置 | |
CN114022342A (zh) | 抓取点信息获取方法、装置、电子设备和存储介质 | |
CN109754003B (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 |