CN112661061B - 一种智能叉车及其控制方法 - Google Patents
一种智能叉车及其控制方法 Download PDFInfo
- Publication number
- CN112661061B CN112661061B CN201910984618.9A CN201910984618A CN112661061B CN 112661061 B CN112661061 B CN 112661061B CN 201910984618 A CN201910984618 A CN 201910984618A CN 112661061 B CN112661061 B CN 112661061B
- Authority
- CN
- China
- Prior art keywords
- height
- fork
- stack
- current
- image
- 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
Abstract
本申请公开了一种智能叉车及其控制方法,本说明书提供的智能叉车的货叉上设有可随货叉在竖直方向上移动的图像传感器,可采集货叉前方的图像,则智能叉车可根据图像传感器采集的货差前方的图像,判断货叉与托盘垛的相对位置,进而根据该相对位置控制货叉进行堆垛或拆垛,从而使智能叉车在无人控制的情况下仍可精确的进行堆垛和拆垛操作。
Description
技术领域
本申请涉及机器人技术领域,尤其涉及一种智能叉车及其控制方法。
背景技术
目前,在仓储应用场景中,经常通过堆垛的方式来存储货物。
一般的,使用如图1所示的托盘承载货物,并将托盘上承载的货物码放平整,然后在其上再次叠放一个承载货物的托盘,以此类推,形成如图2所示的托盘垛。
在现有技术中,可通过叉车对如图2所示的托盘垛进行堆垛或拆垛。具体的,在堆垛时,驾驶员控制叉车将货叉插入托盘,并进行搬运至托盘垛所在的位置,然后升高货叉,将托盘叠放在托盘垛的最上方。在拆垛时,驾驶员控制叉车行驶至托盘垛所在的位置,然后升高货叉,将货叉插入托盘垛最上方的托盘,再将该托盘从托盘垛上取下。
可见,现有技术均需要驾驶员人工的操作叉车进行堆垛或拆垛,而随着对无人驾驶的深入研究,智能叉车将取代传统人工驾驶叉车,而智能叉车如何在无人控制的情况下精确的进行堆垛和拆垛成为首要解决的问题。
发明内容
本说明书实施例提供一种智能叉车及其控制方法,用以至少部分的解决现有技术中的问题。
本说明书实施例采用下述技术方案:
本说明书提供的一种智能叉车,所述智能叉车包括:处理器、图像传感器;
所述图像传感器设置在所述智能叉车的货叉上,所述图像传感器能够随着货叉在竖直方向上升高或下降;
所述图像传感器用于采集所述货叉前方的图像,并传输给所述处理器;
所述处理器包括:初始化模块、图像采集模块、深度确定模块、判断模块、操作模块、调整模块;其中:
所述初始化模块,用于控制所述智能叉车行驶至托盘垛的操作位置,并控制所述货叉位于最低点;
所述图像采集模块,用于通过所述图像传感器采集所述货叉前方的图像,作为当前图像;
所述深度确定模块,用于确定所述当前图像中每个像素点的深度;
所述判断模块,根据所述当前图像中每个像素点的深度,判断所述货叉当前的高度是否高于所述托盘垛的高度;
所述操作模块,用于在所述判断模块的判断结果为是时,基于所述货叉当前的高度,控制所述智能叉车进行堆垛或拆垛;
所述调整模块,用于在所述判断模块的判断结果为否时,升高所述货叉,使所述图像采集模块通过所述图像传感器重新采集所述货叉前方的图像,将重新采集的图像重新作为当前图像,并使所述判断模块重新根据当前图像中每个像素点的深度判断所述货叉当前的高度是否高于所述托盘垛的高度,直至所述货叉高度高于所述托盘垛的高度为止。
可选地,所述判断模块具体用于,根据所述当前图像中每个像素点的深度,确定深度大于预设深度阈值的像素点的比例;若所述比例大于第一预设比例,则确定所述货叉当前的高度高于所述托盘垛的高度;若所述比例不大于第一预设比例,则确定所述货叉当前的高度不高于所述托盘垛的高度。
可选地,所述调整模块具体用于,根据预设的托盘高度,将所述货叉升高所述托盘高度。
可选地,所述处理器还包括:
识别模块,用于在所述判断模块的判断结果为否时,根据预先保存的托盘对应的图像,识别所述当前图像中是否包含托盘;当识别出所述当前图像中包含托盘时,对记录的所述托盘垛中包含的托盘的数量进行更新。
可选地,所述处理器还包括:
记录模块,用于记录在从所述当前图像中识别出托盘时所述货叉的高度;
所述操作模块具体用于,在控制所述智能叉车进行拆垛时,将所述识别模块最后一次从采集的图像中识别出托盘时所述记录模块记录的货叉的高度作为第一高度,将所述货叉当前的高度作为第二高度;确定所述第二高度与所述第一高度的高度差,作为第一高度差;将所述货叉下降所述第一高度差,并基于下降所述第一高度差之后的货叉的高度,控制所述智能叉车进行拆垛。
可选地,所述操作模块具体用于,在控制所述智能叉车进行堆垛时,根据所述当前图像中每个像素点的深度,确定所述货叉当前的高度与所述托盘垛的垛顶位置的高度差,作为第二高度差;根据所述第二高度差,控制所述智能叉车进行堆垛。
可选地,所述操作模块具体用于,按照从上到下的顺序,在所述当前图像的各像素行中,查找首个满足指定条件的像素行;其中,针对一个待定像素行,若从所述当前图像最上方的像素行到该待定像素行的所有像素点中,深度不大于预设深度阈值的像素点的比例大于第二预设比例,则该待定像素行为满足指定条件的像素行;根据查找到的首个满足指定条件的像素行在所述当前图像中的位置,确定当前所述图像传感器的位置到所述垛顶位置的高度,作为第三高度;确定所述第三高度与记录的所述图像传感器的位置到所述货叉底端的高度的差值,作为所述货叉当前的高度与所述托盘垛的垛顶位置的高度差。
可选地,所述操作模块具体用于,将所述货叉下降所述第二高度差,并基于下降所述第二高度差之后的货叉的高度,控制所述智能叉车进行堆垛。
本说明书提供的一种智能叉车的控制方法,所述智能叉车的货叉上设有图像传感器,所述图像传感器能够随着货叉在竖直方向上升高或下降;所述方法包括:
控制所述智能叉车行驶至托盘垛的操作位置,并控制所述货叉位于最低点;
通过所述图像传感器采集所述货叉前方的图像,作为当前图像;
确定所述当前图像中每个像素点的深度;
根据所述当前图像中每个像素点的深度,判断所述货叉当前的高度是否高于所述托盘垛的高度;
若是,则基于所述货叉当前的高度,控制所述智能叉车进行堆垛或拆垛;
否则,升高所述货叉,通过所述图像传感器重新采集所述货叉前方的图像,将重新采集的图像重新作为当前图像,并重新根据当前图像中每个像素点的深度判断所述货叉当前的高度是否高于所述托盘垛的高度,直至所述货叉高度高于所述托盘垛的高度为止。
可选地,根据所述当前图像中每个像素点的深度,判断所述货叉当前的高度是否高于所述托盘垛的高度,具体包括:
根据所述当前图像中每个像素点的深度,确定深度大于预设深度阈值的像素点的比例;
若所述比例大于第一预设比例,则确定所述货叉当前的高度高于所述托盘垛的高度;
若所述比例不大于第一预设比例,则确定所述货叉当前的高度不高于所述托盘垛的高度。
可选地,升高所述货叉,具体包括:
根据预设的托盘高度,将所述货叉升高所述托盘高度。
可选地,当判断所述货叉当前的高度不高于所述托盘垛的高度时,所述方法还包括:
根据预先保存的托盘对应的图像,识别所述当前图像中是否包含托盘;
当识别出所述当前图像中包含托盘时,对记录的所述托盘垛中包含的托盘的数量进行更新。
可选地,所述方法还包括:
记录在从所述当前图像中识别出托盘时所述货叉的高度;
当判断所述货叉当前的高度高于所述托盘垛的高度时,基于所述货叉当前的高度,控制所述智能叉车进行拆垛,具体包括:
将最后一次从采集的图像中识别出托盘时记录的货叉的高度作为第一高度,将所述货叉当前的高度作为第二高度;
确定所述第二高度与所述第一高度的高度差,作为第一高度差;
将所述货叉下降所述第一高度差,并基于下降所述第一高度差之后的货叉的高度,控制所述智能叉车进行拆垛。
可选地,基于所述货叉当前的高度,控制所述智能叉车进行堆垛,具体包括:
根据所述当前图像中每个像素点的深度,确定所述货叉当前的高度与所述托盘垛的垛顶位置的高度差,作为第二高度差;
根据所述第二高度差,控制所述智能叉车进行堆垛。
可选地,根据所述当前图像中每个像素点的深度,确定所述货叉当前的高度与所述托盘垛的垛顶位置的高度差,具体包括:
按照从上到下的顺序,在所述当前图像的各像素行中,查找首个满足指定条件的像素行;其中,针对一个待定像素行,若从所述当前图像最上方的像素行到该待定像素行的所有像素点中,深度不大于预设深度阈值的像素点的比例大于第二预设比例,则该待定像素行为满足指定条件的像素行;
根据查找到的首个满足指定条件的像素行在所述当前图像中的位置,确定当前所述图像传感器的位置到所述垛顶位置的高度,作为第三高度;
确定所述第三高度与记录的所述图像传感器的位置到所述货叉底端的高度的差值,作为所述货叉当前的高度与所述托盘垛的垛顶位置的高度差。
可选地,根据所述第二高度差,控制所述智能叉车进行堆垛,具体包括:
将所述货叉下降所述第二高度差,并基于下降所述第二高度差之后的货叉的高度,控制所述智能叉车进行堆垛。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
本说明书提供的智能叉车的货叉上设有可随货叉在竖直方向上移动的图像传感器,可采集货叉前方的图像,则智能叉车可根据图像传感器采集的货差前方的图像,判断货叉与托盘垛的相对位置,进而根据该相对位置控制货叉进行堆垛或拆垛,从而使智能叉车在无人控制的情况下仍可精确的进行堆垛和拆垛操作。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有技术中的托盘的正视图;
图2为现有技术中的托盘垛示意图;
图3为本说明书实施例提供的智能叉车结构示意图;
图4为本说明书实施例提供的处理器控制智能叉车进行堆垛或拆垛的流程图;
图5为本说明书实施例提供的拆垛过程中的控制流程图;
图6为本说明书实施例提供的拆垛示意图;
图7为本说明书实施例提供的堆垛过程中的控制流程图;
图8为本说明书实施例提供的堆垛示意图;
图9为本说明书实施例提供的应用于智能叉车的处理器示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
在本说明书实施例中,可在智能叉车的货叉上设置图像传感器,图像传感器能够随着货叉在竖直方向上升高或下降,用于采集货叉前方的图像,如图3所示。
图3为本说明书实施例提供的智能叉车的结构示意图,在图3中,智能叉车包括:处理器(图3中未示出)、图像传感器301。图像传感器301设置在智能叉车的货叉302上,图像传感器301能够随着货叉302在竖直方向上升高或下降,用于采集货叉302前方的图像,并传输给处理器。
具体的,在图3中,图像传感器301可位于货叉302的尖端。所述的图像传感器301可采用深度摄像机实现,当然,也可采用其他可以捕捉到像素深度的图像传感器实现,如用于采集点云图像的雷达等,本说明书对此不作限制。
处理器则控制智能叉车行驶至托盘垛的操作位置,并控制货叉位于最低点,通过图像传感器采集货叉前方的图像,作为当前图像,确定当前图像中每个像素点的深度,根据当前图像中每个像素点的深度,判断货叉当前的高度是否高于托盘垛的高度。若是,则基于货叉当前的高度,控制智能叉车进行堆垛或拆垛。否则,升高货叉,通过图像传感器重新采集货叉前方的图像,将重新采集的图像重新作为当前图像,并重新根据当前图像中每个像素点的深度判断货叉当前的高度是否高于托盘垛的高度,直至货叉高度高于所述托盘垛的高度为止。
具体的,基于上述图3所示的智能叉车的结构,由智能叉车的处理器控制智能叉车堆垛或拆垛的方法可以如图4所示。
图4为本说明书实施例提供的处理器控制智能叉车进行堆垛或拆垛的流程图,具体包括以下步骤:
S401:控制智能叉车行驶至托盘垛的操作位置,并控制货叉位于最低点。
在本说明书实施例中,处理器首先控制智能叉车行驶至如图2所示的托盘垛对应的操作位置,以便准备进行后续进行堆垛操作或拆垛操作。处理器具体控制智能叉车行驶至托盘垛的操作位置的方法不在本说明书的保护范围之内。
由于后续无论是堆垛操作还是拆垛操作,均需要智能叉车从托盘垛的顶部开始操作,因此,后续需要智能叉车的货叉升高到托盘垛的顶部位置,而由于托盘垛顶部的位置并不固定,因此,本说明书实施例中智能叉车需要从货叉的最低点开始逐步向上的寻找托盘垛的顶部位置,从而,在控制智能叉车行驶至托盘垛的操作位置后,处理器可控制智能叉车的货叉位于最低点,以便后续从该最低点开始逐步向上寻找托盘垛的顶部位置。
其中,本说明书实施例中所述的最低点是指智能叉车的货叉所能降低到的最低点。
S402:通过图像传感器采集货叉前方的图像,作为当前图像。
在将货叉降低到最低点后,处理器可通过设置在货叉上的图像传感器,采集位于货叉前方的图像,作为当前图像。
S403:确定当前图像中每个像素点的深度。
在本说明书实施例中,当图像传感器为深度摄像机时,可直接通过深度摄像机确定采集的当前图像中每个像素点的深度。当图像传感器为普通摄像机时,可通过指定图像处理算法确定当前图像中每个像素点的深度,对于一个图像而言,采用指定的图像处理算法计算每个像素点的深度的方法已经较为成熟,因此本说明书对此不再赘述。当图像传感器为雷达时,采集的当前图像为点云图像,因此可直接确定点云图像中每个点的深度。
S404:根据当前图像中每个像素点的深度,判断货叉当前的高度是否高于托盘垛的高度,若是,则执行步骤S405,否则,执行步骤S406。
在本说明书实施例中,由于图像传感器设置在货叉上,采集的图像是位于货叉前方的图像,因此,图像中一个像素点的深度越大,代表着该像素点对应的实际目标物与货叉的距离越远,反之,像素点的深度约小,则代表着该像素点对应的实际目标物与货叉的距离越近。
而由于在步骤S401中已经控制智能叉车行驶到了如图2所示的托盘垛的操作位置,因此,若像素点的深度较小,则说明该托盘垛遮挡在货叉的前方,此时货叉的高度不高于托盘垛的高度,若像素点的深度较大,则说明托盘垛已经不再遮挡在货叉的前方,此时货叉的高度高于托盘垛的高度。因此,判断货叉当前的高度是否高于托盘垛的高度的方法具体可以是,根据当前图像中每个像素点的深度,确定深度大于预设深度阈值的像素点的比例,若所述比例大于第一预设比例,则确定货叉当前的高度高于托盘垛的高度,若所述比例不大于第一预设比例,则确定货叉当前的高度不高于所述托盘垛的高度。
其中,上述的第一预设比例可根据需要进行设置,例如可设置为80%,即,若当前图像中深度大于预设深度阈值的像素点占该当前图像中所有像素点80%以上,则确定货叉当前的高度高于托盘垛的高度,反之确定货叉当前的高度不高于所述托盘垛的高度。
S405:基于货叉当前的高度,控制智能叉车进行堆垛或拆垛。
当货叉当前的高度已经高于托盘垛的高度时,说明货叉此时已经升高到可以进行堆垛操作或拆垛操作的位置,因此,处理器可基于货叉当前的高度进行堆垛操作或拆垛操作,具体的如何基于货叉当前的高度进行堆垛操作或拆垛操作将在下文进行说明。
S406:升高货叉,返回步骤S402。
当货叉当前的高度尚未高于托盘垛的高度时,说明货叉此时尚未升高到可以进行堆垛操作或拆垛操作的位置,因此,处理器可控制货叉升高一定的高度,并在升高货叉后,通过图像传感器重新采集货叉前方的图像,将重新采集的图像重新作为当前图像,并重新根据当前图像中每个像素点的深度判断货叉当前的高度是否高于所述托盘垛的高度,直至货叉高度高于所述托盘垛的高度为止,也即返回步骤S402并重复执行步骤S402~S404,直至货叉的高度升高到高于所述托盘垛的高度为止。
通过上述方法,可实现智能叉车在无人驾驶的情况下,基于图像传感器采集的图像,准确的控制货叉升高到适合进行堆垛操作和拆垛操作的高度,并基于这个高度进行相应的堆垛操作和拆垛操作。
进一步的,在本说明书实施例中,若货叉当前的高度尚未高于托盘垛的高度,步骤S406控制货叉升高时,具体可根据预设的托盘高度,将货叉升高至该托盘高度。如图1所示的托盘的结构,在实际应用场景中,托盘的高度可视为是固定不变的,因此,处理器可预先保存托盘高度,并在步骤S406中控制货叉升高时,升高该托盘高度,也即,每次升高货叉时,升高一个托盘的高度。
另外,本说明书实施例中还可以识别如图2所示的托盘垛中包含的托盘的数量。具体的,在步骤S401中控制货叉位于最低点后,通过步骤S402~S406的循环执行,可在货叉当前的高度尚未高于托盘垛的高度时,根据预先保存的托盘对应的图像,识别当前图像中是否包含托盘,当识别出当前图像中包含托盘时,对记录的托盘垛中包含的托盘的数量进行更新。
其中,识别图像中是否包含托盘的方法具体可以是:根据预先保存的托盘对应的图像,确定托盘对应的图像特征,根据托盘对应的图像特征,识别当前图像中是否包含具有该图像特征的目标物,若是,则确定该目标物为托盘,否则确定当前图像中不包含托盘。当然,识别效率较高的识别托盘的方法可以是:根据当前图像中每个像素点的深度和预设深度阈值,将当前图像中的每个像素点进行二值化,具体的,可将深度大于预设深度阈值的像素点置为0,将深度不大于预设深度阈值的像素点置为1或其他大于0的数值,并采用二值化后的图像与预先保存的托盘对应的图像进行卷积,根据卷积结果识别当前图像中是否包含托盘。如,若卷积结果中大于预设数值的像素点数量大于一定的数量,则确定当前图像中包含托盘,否则确定当前图像中不包含托盘;或者,若卷积结果中的最大值大于预设卷积阈值,则确定当前图像中包含托盘,否则确定当前图像中不包含托盘。
基于上述的识别当前图像中是否包含托盘的方法,本说明书实施例提供了如图5所示的拆垛方法,具体包括以下步骤:
S501:记录在从当前图像中识别出托盘时货叉的高度。
即,每次从图像传感器采集的图像中识别出托盘时,就记录此时货叉的高度。
S502:当判断货叉当前的高度高于托盘垛的高度时,将最后一次从采集的图像中识别出托盘时记录的货叉的高度作为第一高度,将货叉当前的高度作为第二高度。
如图6所示,假设从货叉在最低点到高度高于托盘垛的高度的过程中,智能叉车共升高了10次货叉,其中最后一次从采集的图像中识别出托盘是第8次升高货叉后,则第8次升高货叉后货叉的高度为第一高度,第10次升高货叉后货叉的高度(货叉当前的高度)为第二高度。
S503:确定第二高度与第一高度的高度差,作为第一高度差。
S504:将货叉下降第一高度差,并基于下降第一高度差之后的货叉的高度,控制智能叉车进行拆垛。
如图6所示,由于在拆垛时,货叉需要插入托盘垛顶部的第一个托盘中,因此,由于此时货叉当前的高度与托盘垛顶部第一个托盘的高度差即为步骤S503确定出的第一高度差,因此,只要将货叉下降第一高度差,即可控制下降第一高度差之后的货叉执行前插的动作,以便插入托盘垛顶部第一个托盘,然后再控制货叉将托盘垛顶部第一个托盘从托盘垛上取下,即可完成拆垛的操作。
当然,图6只是示例性的拆垛方法,并不代表本说明书中仅能采用如图6所示的方法进行拆垛操作。例如,每次升高货叉时,可记录升高后的货叉的高度与上一次从图像传感器采集的图像中识别出托盘时货叉的高度的高度差,当判断货叉当前的高度高于托盘垛的高度时,可直接基于最后一次记录的高度差,将货叉下降该高度差,并基于下降该高度差之后的货叉的高度,控制智能叉车进行拆垛操作。
另外,除了上述拆垛操作以外,本说明书实施例还提供了堆垛操作的控制方法,如图7所示,具体包括以下步骤:
S701:当判断货叉当前的高度高于托盘垛的高度时,根据当前图像中每个像素点的深度,确定货叉当前的高度与托盘垛的垛顶位置的高度差,作为第二高度差。
具体的,如图8所示,可根据图像传感器301采集的当前图像,按照从上到下的顺序,在当前图像的各像素行中,查找首个满足指定条件的像素行,根据查找到的首个满足指定条件的像素行在当前图像中的位置,确定当前该图像传感器301的位置到该垛顶位置310的高度,作为第三高度H,确定第三高度与记录的图像传感器301的位置到货叉302底端的高度h的差值,作为货叉302当前的高度与托盘垛的垛顶位置310的高度差,即第二高度差。
其中,针对一个待定像素行,若从当前图像最上方的像素行到该待定像素行的所有像素点中,深度不大于预设深度阈值的像素点的比例大于第二预设比例,则该待定像素行为满足指定条件的像素行。该第二预设比例例如可以设置为70%。
S702:根据第二高度差,控制智能叉车进行堆垛。
由于在堆垛时,智能叉车需要将货叉上的货物放置在托盘垛顶部的上方,因此,可将货叉下降第二高度差,并基于下降第二高度差之后的货叉的高度,控制智能叉车进行堆垛,用以将货叉当前承载的货物放置在托盘垛顶部的上方,并收回货叉。
基于上述的智能叉车的控制方法,本说明书还提供了一种应用于智能叉车的处理器,如图9所示。
图9为本说明书实施例提供的应用于智能叉车的处理器示意图,所述处理器包括:
初始化模块901,用于控制所述智能叉车行驶至托盘垛的操作位置,并控制所述货叉位于最低点;
图像采集模块902,用于通过所述图像传感器采集所述货叉前方的图像,作为当前图像;
深度确定模块903,用于确定所述当前图像中每个像素点的深度;
判断模块904,根据所述当前图像中每个像素点的深度,判断所述货叉当前的高度是否高于所述托盘垛的高度;
操作模块905,用于在所述判断模块904的判断结果为是时,基于所述货叉当前的高度,控制所述智能叉车进行堆垛或拆垛;
调整模块906,用于在所述判断模块904的判断结果为否时,升高所述货叉,使所述图像采集模块902通过所述图像传感器重新采集所述货叉前方的图像,将重新采集的图像重新作为当前图像,并使所述判断模块904重新根据当前图像中每个像素点的深度判断所述货叉当前的高度是否高于所述托盘垛的高度,直至所述货叉高度高于所述托盘垛的高度为止。
所述判断模块904具体用于,根据所述当前图像中每个像素点的深度,确定深度大于预设深度阈值的像素点的比例;若所述比例大于第一预设比例,则确定所述货叉当前的高度高于所述托盘垛的高度;若所述比例不大于第一预设比例,则确定所述货叉当前的高度不高于所述托盘垛的高度。
所述调整模块906具体用于,根据预设的托盘高度,将所述货叉升高至所述托盘高度。
所述处理器还包括:
识别模块907,用于在所述判断模块904的判断结果为否时,根据预先保存的托盘对应的图像,识别所述当前图像中是否包含托盘;当识别出所述当前图像中包含托盘时,对记录的所述托盘垛中包含的托盘的数量进行更新。
所述处理器还包括:
记录模块908,用于记录在从所述当前图像中识别出托盘时所述货叉的高度;
所述操作模块905具体用于,在控制所述智能叉车进行拆垛时,将所述识别模块907最后一次从采集的图像中识别出托盘时所述记录模块908记录的货叉的高度作为第一高度,将所述货叉当前的高度作为第二高度;确定所述第二高度与所述第一高度的高度差,作为第一高度差;将所述货叉下降所述第一高度差,并基于下降所述第一高度差之后的货叉的高度,控制所述智能叉车进行拆垛。
所述操作模块905具体用于,在控制所述智能叉车进行堆垛时,根据所述当前图像中每个像素点的深度,确定所述货叉当前的高度与所述托盘垛的垛顶位置的高度差,作为第二高度差;根据所述第二高度差,控制所述智能叉车进行堆垛。
所述操作模块905具体用于,按照从上到下的顺序,在所述当前图像的各像素行中,查找首个满足指定条件的像素行;其中,针对一个待定像素行,若从所述当前图像最上方的像素行到该待定像素行的所有像素点中,深度不大于预设深度阈值的像素点的比例大于第二预设比例,则该待定像素行为满足指定条件的像素行;根据查找到的首个满足指定条件的像素行在所述当前图像中的位置,确定当前所述图像传感器的位置到所述垛顶位置的高度,作为第三高度;确定所述第三高度与记录的所述图像传感器的位置到所述货叉底端的高度的差值,作为所述货叉当前的高度与所述托盘垛的垛顶位置的高度差。
所述操作模块905具体用于,将所述货叉下降所述第二高度差,并基于下降所述第二高度差之后的货叉的高度,控制所述智能叉车进行堆垛。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种智能叉车,其特征在于,所述智能叉车包括:处理器、图像传感器;
所述图像传感器设置在所述智能叉车的货叉上,所述图像传感器能够随着货叉在竖直方向上升高或下降;
所述图像传感器用于采集所述货叉前方的图像,并传输给所述处理器;
所述处理器包括:初始化模块、图像采集模块、深度确定模块、判断模块、操作模块、调整模块;其中:
所述初始化模块,用于控制所述智能叉车行驶至托盘垛的操作位置,并控制所述货叉位于最低点;
所述图像采集模块,用于通过所述图像传感器采集所述货叉前方的图像,作为当前图像;
所述深度确定模块,用于确定所述当前图像中每个像素点的深度;
所述判断模块,根据所述当前图像中每个像素点的深度,判断所述货叉当前的高度是否高于所述托盘垛的高度;
所述操作模块,用于在所述判断模块的判断结果为是时,基于所述货叉当前的高度,控制所述智能叉车进行堆垛或拆垛;
所述调整模块,用于在所述判断模块的判断结果为否时,升高所述货叉,使所述图像采集模块通过所述图像传感器重新采集所述货叉前方的图像,将重新采集的图像重新作为当前图像,并使所述判断模块重新根据当前图像中每个像素点的深度判断所述货叉当前的高度是否高于所述托盘垛的高度,直至所述货叉高度高于所述托盘垛的高度为止。
2.如权利要求1所述的智能叉车,其特征在于,所述判断模块具体用于,根据所述当前图像中每个像素点的深度,确定深度大于预设深度阈值的像素点的比例;若所述比例大于第一预设比例,则确定所述货叉当前的高度高于所述托盘垛的高度;若所述比例不大于第一预设比例,则确定所述货叉当前的高度不高于所述托盘垛的高度。
3.如权利要求1所述的智能叉车,其特征在于,所述调整模块具体用于,根据预设的托盘高度,将所述货叉升高所述托盘高度。
4.如权利要求1所述的智能叉车,其特征在于,所述处理器还包括:
识别模块,用于在所述判断模块的判断结果为否时,根据预先保存的托盘对应的图像,识别所述当前图像中是否包含托盘;当识别出所述当前图像中包含托盘时,对记录的所述托盘垛中包含的托盘的数量进行更新。
5.如权利要求4所述的智能叉车,其特征在于,所述处理器还包括:
记录模块,用于记录在从所述当前图像中识别出托盘时所述货叉的高度;
所述操作模块具体用于,在控制所述智能叉车进行拆垛时,将所述识别模块最后一次从采集的图像中识别出托盘时所述记录模块记录的货叉的高度作为第一高度,将所述货叉当前的高度作为第二高度;确定所述第二高度与所述第一高度的高度差,作为第一高度差;将所述货叉下降所述第一高度差,并基于下降所述第一高度差之后的货叉的高度,控制所述智能叉车进行拆垛。
6.如权利要求1所述的智能叉车,其特征在于,所述操作模块具体用于,在控制所述智能叉车进行堆垛时,根据所述当前图像中每个像素点的深度,确定所述货叉当前的高度与所述托盘垛的垛顶位置的高度差,作为第二高度差;根据所述第二高度差,控制所述智能叉车进行堆垛。
7.如权利要求6所述的智能叉车,其特征在于,所述操作模块具体用于,按照从上到下的顺序,在所述当前图像的各像素行中,查找首个满足指定条件的像素行;其中,针对一个待定像素行,若从所述当前图像最上方的像素行到该待定像素行的所有像素点中,深度不大于预设深度阈值的像素点的比例大于第二预设比例,则该待定像素行为满足指定条件的像素行;根据查找到的首个满足指定条件的像素行在所述当前图像中的位置,确定当前所述图像传感器的位置到所述垛顶位置之间的距离,作为第三高度;确定所述第三高度与记录的所述图像传感器的位置到所述货叉底端的高度的差值,作为所述货叉当前的高度与所述托盘垛的垛顶位置的高度差。
8.如权利要求7所述的智能叉车,其特征在于,所述操作模块具体用于,将所述货叉下降所述第二高度差,并基于下降所述第二高度差之后的货叉的高度,控制所述智能叉车进行堆垛。
9.一种智能叉车的控制方法,其特征在于,所述智能叉车的货叉上设有图像传感器,所述图像传感器能够随着货叉在竖直方向上升高或下降;所述方法包括:
控制所述智能叉车行驶至托盘垛的操作位置,并控制所述货叉位于最低点;
通过所述图像传感器采集所述货叉前方的图像,作为当前图像;
确定所述当前图像中每个像素点的深度;
根据所述当前图像中每个像素点的深度,判断所述货叉当前的高度是否高于所述托盘垛的高度;
若是,则基于所述货叉当前的高度,控制所述智能叉车进行堆垛或拆垛;
否则,升高所述货叉,通过所述图像传感器重新采集所述货叉前方的图像,将重新采集的图像重新作为当前图像,并重新根据当前图像中每个像素点的深度判断所述货叉当前的高度是否高于所述托盘垛的高度,直至所述货叉高度高于所述托盘垛的高度为止。
10.如权利要求9所述的方法,其特征在于,根据所述当前图像中每个像素点的深度,判断所述货叉当前的高度是否高于所述托盘垛的高度,具体包括:
根据所述当前图像中每个像素点的深度,确定深度大于预设深度阈值的像素点的比例;
若所述比例大于第一预设比例,则确定所述货叉当前的高度高于所述托盘垛的高度;
若所述比例不大于第一预设比例,则确定所述货叉当前的高度不高于所述托盘垛的高度。
11.如权利要求9所述的方法,其特征在于,升高所述货叉,具体包括:
根据预设的托盘高度,将所述货叉升高至所述托盘高度。
12.如权利要求9所述的方法,其特征在于,当判断所述货叉当前的高度不高于所述托盘垛的高度时,所述方法还包括:
根据预先保存的托盘对应的图像,识别所述当前图像中是否包含托盘;
当识别出所述当前图像中包含托盘时,对记录的所述托盘垛中包含的托盘的数量进行更新。
13.如权利要求12所述的方法,其特征在于,所述方法还包括:
记录在从所述当前图像中识别出托盘时所述货叉的高度;
当判断所述货叉当前的高度高于所述托盘垛的高度时,基于所述货叉当前的高度,控制所述智能叉车进行拆垛,具体包括:
将最后一次从采集的图像中识别出托盘时记录的货叉的高度作为第一高度,将所述货叉当前的高度作为第二高度;
确定所述第二高度与所述第一高度的高度差,作为第一高度差;
将所述货叉下降所述第一高度差,并基于下降所述第一高度差之后的货叉的高度,控制所述智能叉车进行拆垛。
14.如权利要求9所述的方法,其特征在于,基于所述货叉当前的高度,控制所述智能叉车进行堆垛,具体包括:
根据所述当前图像中每个像素点的深度,确定所述货叉当前的高度与所述托盘垛的垛顶位置的高度差,作为第二高度差;
根据所述第二高度差,控制所述智能叉车进行堆垛。
15.如权利要求14所述的方法,其特征在于,根据所述当前图像中每个像素点的深度,确定所述货叉当前的高度与所述托盘垛的垛顶位置的高度差,具体包括:
按照从上到下的顺序,在所述当前图像的各像素行中,查找首个满足指定条件的像素行;其中,针对一个待定像素行,若从所述当前图像最上方的像素行到该待定像素行的所有像素点中,深度不大于预设深度阈值的像素点的比例大于第二预设比例,则该待定像素行为满足指定条件的像素行;
根据查找到的首个满足指定条件的像素行在所述当前图像中的位置,确定当前所述图像传感器的位置到所述垛顶位置之间的距离,作为第三高度;
确定所述第三高度与记录的所述图像传感器的位置到所述货叉底端的高度的差值,作为所述货叉当前的高度与所述托盘垛的垛顶位置的高度差。
16.如权利要求15所述的方法,其特征在于,根据所述第二高度差,控制所述智能叉车进行堆垛,具体包括:
将所述货叉下降所述第二高度差,并基于下降所述第二高度差之后的货叉的高度,控制所述智能叉车进行堆垛。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984618.9A CN112661061B (zh) | 2019-10-16 | 2019-10-16 | 一种智能叉车及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984618.9A CN112661061B (zh) | 2019-10-16 | 2019-10-16 | 一种智能叉车及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112661061A CN112661061A (zh) | 2021-04-16 |
CN112661061B true CN112661061B (zh) | 2022-05-10 |
Family
ID=75400381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910984618.9A Active CN112661061B (zh) | 2019-10-16 | 2019-10-16 | 一种智能叉车及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112661061B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4425780A1 (de) * | 1994-07-14 | 1996-01-18 | Mannesmann Ag | Verfahren und Einrichtung zum Entsorgen von Leerplatten aus einem Regallager |
JP2005314077A (ja) * | 2004-04-30 | 2005-11-10 | Ishikawajima Harima Heavy Ind Co Ltd | スタッカークレーン |
CN101853387A (zh) * | 2010-04-02 | 2010-10-06 | 北京物资学院 | 立体仓库货物盘点方法及系统 |
CN204549114U (zh) * | 2015-03-30 | 2015-08-12 | 苏州智载机器人有限公司 | 一种自动化立体仓库 |
CN106882734A (zh) * | 2017-04-24 | 2017-06-23 | 深圳市鸿鹭工业设备有限公司 | 智能堆垛机 |
CN108046172A (zh) * | 2017-12-04 | 2018-05-18 | 深圳市今天国际物流技术股份有限公司 | 叉车机器人 |
CN108584809A (zh) * | 2018-06-01 | 2018-09-28 | 上海诺力智能科技有限公司 | Agv叉车自动存取货控制系统及方法 |
CN109969989A (zh) * | 2019-04-02 | 2019-07-05 | 北京极智嘉科技有限公司 | 行驶策略确定方法、智能叉车及存储介质 |
-
2019
- 2019-10-16 CN CN201910984618.9A patent/CN112661061B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4425780A1 (de) * | 1994-07-14 | 1996-01-18 | Mannesmann Ag | Verfahren und Einrichtung zum Entsorgen von Leerplatten aus einem Regallager |
JP2005314077A (ja) * | 2004-04-30 | 2005-11-10 | Ishikawajima Harima Heavy Ind Co Ltd | スタッカークレーン |
CN101853387A (zh) * | 2010-04-02 | 2010-10-06 | 北京物资学院 | 立体仓库货物盘点方法及系统 |
CN204549114U (zh) * | 2015-03-30 | 2015-08-12 | 苏州智载机器人有限公司 | 一种自动化立体仓库 |
CN106882734A (zh) * | 2017-04-24 | 2017-06-23 | 深圳市鸿鹭工业设备有限公司 | 智能堆垛机 |
CN108046172A (zh) * | 2017-12-04 | 2018-05-18 | 深圳市今天国际物流技术股份有限公司 | 叉车机器人 |
CN108584809A (zh) * | 2018-06-01 | 2018-09-28 | 上海诺力智能科技有限公司 | Agv叉车自动存取货控制系统及方法 |
CN109969989A (zh) * | 2019-04-02 | 2019-07-05 | 北京极智嘉科技有限公司 | 行驶策略确定方法、智能叉车及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112661061A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110002367B (zh) | Agv搬运货架过程中agv姿态调整系统及方法 | |
CN110054116B (zh) | 应用于叉车的货叉导航方法、系统及无人叉车 | |
JP7206421B2 (ja) | スマートフォークリフト及び容器位置姿勢ずれの検出方法 | |
US10730708B2 (en) | Unloading apparatus and unloading method | |
JP4087874B2 (ja) | ワーク取り出し装置 | |
EP3000773A1 (en) | Method in forklift truck for determining a load position in a load rack | |
CN109969760B (zh) | 适配料盘高度的方法及装置、上下料机构 | |
CA3024573C (en) | Bale detection and classification using stereo cameras | |
CN112661061B (zh) | 一种智能叉车及其控制方法 | |
EP4166479A1 (en) | Goods extraction device, depth measurement method, warehouse robot, and warehouse system | |
EP3718951A1 (en) | Load handling module for a material handling vehicle | |
CN112793982B (zh) | 一种堆垛机取放货系统及其应用方法 | |
JP7462248B2 (ja) | 収穫ロボット | |
US20170232496A1 (en) | Loading blanks to a stamping press line | |
CN112357827A (zh) | 举升式agv、基于agv的取放货位姿检测方法及取放货方法 | |
CN114291595B (zh) | 三维视觉引导拆垛系统 | |
CN114275712A (zh) | 一种堆垛装置及堆垛方法 | |
CN214326156U (zh) | 一种移动机器人 | |
US20210347617A1 (en) | Engaging an element | |
RU2813398C1 (ru) | Устройство для захвата товаров, способ измерения глубины, складской робот и складская система | |
CN114763212A (zh) | 一种移动机器人 | |
CN113443447B (zh) | 一种供料控制方法及系统及计算机设备及可读储存介质 | |
CN115159402A (zh) | 货物放取方法、装置、电子设备及机器可读存储介质 | |
CN117302705A (zh) | 一种拆垛搬运系统和拆垛搬运方法 | |
CN108584809B (zh) | Agv叉车自动存取货控制系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100020 Beijing Chaoyang District Chuang Yuan Road 36 hospital 1 building 101 Applicant after: Beijing jizhijia Technology Co.,Ltd. Address before: 100020 Beijing Chaoyang District Chuang Yuan Road 36 hospital 1 building 101 Applicant before: Beijing Geekplus Technology Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |