CN116040331A - 货物码垛方法及装置、搬运设备和计算机可读存储介质 - Google Patents
货物码垛方法及装置、搬运设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116040331A CN116040331A CN202211731958.9A CN202211731958A CN116040331A CN 116040331 A CN116040331 A CN 116040331A CN 202211731958 A CN202211731958 A CN 202211731958A CN 116040331 A CN116040331 A CN 116040331A
- Authority
- CN
- China
- Prior art keywords
- radar
- grid
- target
- palletized
- determining
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G57/00—Stacking of articles
- B65G57/02—Stacking of articles by adding to the top of the stack
- B65G57/16—Stacking of articles of particular shape
- B65G57/20—Stacking of articles of particular shape three-dimensional, e.g. cubiform, cylindrical
- B65G57/22—Stacking of articles of particular shape three-dimensional, e.g. cubiform, cylindrical in layers each of predetermined arrangement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G67/00—Loading or unloading vehicles
- B65G67/02—Loading or unloading land vehicles
- B65G67/04—Loading land vehicles
- B65G67/20—Loading covered vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/04—Detection means
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本申请公开一种货物码垛方法、货物码垛装置、搬运设备及非易失性计算机可读存储介质。货物码垛方法包括通过多个雷达扫描预设存储空间以获取多个点云数据,多个所述雷达沿竖直方向依次排布;分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置;根据每个所述雷达对应的所述待码垛位置确定目标码垛位置,以将货物存储到所述目标码垛位置。本申请通过使用多个雷达来获取不同高度的点云数据,并根据多个点云数据确定每个雷达对应的待码垛位置,以根据不同高度的雷达对应的待码垛位置中确定目标码垛位置,从而将三维的预设存储空间分割成多个平面进行分析,实现对多层的复杂码垛场景下的精确引导。
Description
技术领域
本申请涉及工业视觉技术领域,更具体而言,涉及一种货物码垛方法、货物码垛装置、搬运设备和非易失性计算机可读存储介质。
背景技术
随着科技的进步,机器人在码垛行业有着广泛的应用。在机器人将货物码垛到车厢内时,往往需要在车厢内一般需要码垛好几层,而现有技术中难以获取车厢内货物的准确位置信息,从而难以保证在多层码垛时确定的目标码垛位置的准确性。
发明内容
本申请实施方式提供一种货物码垛方法、货物码垛装置、搬运设备和非易失性计算机可读存储介质。
本申请实施方式的货物码垛方法包括通过多个雷达扫描预设存储空间以获取多个点云数据,多个所述雷达沿竖直方向依次排布;分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置;根据每个所述雷达对应的所述待码垛位置确定目标码垛位置,以将货物存储到所述目标码垛位置。
本申请实施方式的货物码垛装置包括扫描模块、第一确定模块及第二确定模块。所述扫描模块用于通过多个雷达扫描预设存储空间以获取多个点云数据,多个所述雷达沿竖直方向依次排布;所述第一确定模块用于分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置;所述第二确定模块用于根根据每个所述雷达对应的所述待码垛位置确定目标码垛位置,以将货物存储到所述目标码垛位置。
本申请实施方式的搬运设备包括雷达和处理器,所述雷达用于多个所述雷达沿竖直方向依次排布,所述处理器用于通过多个雷达扫描预设存储空间以获取多个点云数据;分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置;根据每个所述雷达对应的待码垛位置确定目标码垛位置,以将货物存储到所述目标码垛位置。
本申请实施方式的非易失性计算机可读存储介质包括计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述货物码垛方法。所述货物码垛方法包括通过多个雷达扫描预设存储空间以获取多个点云数据,多个所述雷达沿竖直方向依次排布;分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置;根据每个所述雷达对应的所述待码垛位置确定目标码垛位置,以将货物存储到所述目标码垛位置。
本申请实施方式的货物码垛方法、货物码垛装置、搬运设备和计算机可读存储介质通过使用多个雷达来获取不同高度的点云数据,并根据多个点云数据确定每个雷达对应的待码垛位置,以根据不同高度的雷达对应的待码垛位置中确定目标码垛位置,从而将三维的预设存储空间分割成多个平面进行分析,实现对多层的复杂码垛场景下的精确引导。
本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的货物码垛方法的流程示意图;
图2是本申请某些实施方式的货物码垛方法的场景示意图;
图3是本申请某些实施方式的货物码垛方法的流程示意图;
图4是本申请某些实施方式的货物码垛方法的流程示意图;
图5是本申请某些实施方式的货物码垛方法的场景示意图;
图6是本申请某些实施方式的货物码垛方法的流程示意图;
图7是本申请某些实施方式的货物码垛方法的场景示意图;
图8是本申请某些实施方式的货物码垛方法的场景示意图;
图9是本申请某些实施方式的货物码垛方法的流程示意图;
图10是本申请某些实施方式的货物码垛方法的场景示意图;
图11是本申请某些实施方式的货物码垛方法的流程示意图;
图12是本申请某些实施方式的货物码垛方法的流程示意图;
图13是本申请某些实施方式的货物码垛方法的流程示意图;
图14是本申请某些实施方式的货物码垛方法的场景示意图;
图15是本申请某些实施方式的货物码垛方法的场景示意图;
图16是本申请某些实施方式的货物码垛方法的流程示意图;
图17是本申请某些实施方式的货物码垛方法的流程示意图;
图18是本申请某些实施方式的货物码垛方法的流程示意图;
图19是本申请某些实施方式的货物码垛装置的模块示意图;
图20是本申请某些实施方式的搬运设备的平面示意图;
图21是本申请某些实施方式的非易失性计算机可读存储介质和处理器的连接状态示意图。
具体实施方式
下面详细描述本申请的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。
请参阅图1和图2,本申请实施方式提供一种货物码垛方法,货物码垛方法包括:
步骤01:通过多个雷达20扫描预设存储空间S1以获取多个点云数据,多个雷达20沿竖直方向依次排布;
具体地,当在预设存储空间S1内将货物码垛多层货物时,为了提高预设存储空间S1的空间利用率,需要根据每一层的货物的码垛情况来选取目标码垛位置。而现有技术中,并不能获取预设存储空间S1内货物的准确轮廓信息,从而难以保证确定的目标存储位置的准确性。为了解决上述问题,本申请使用可探测物体轮廓的雷达20来获取预设存储空间S1内的码垛情况,并通过设置多个雷达20,且多个雷达20沿竖直方向依次排布,使不同的雷达20能够获取预设存储空间S1内不同的高度的点云信息,从而便于将三维的预设存储空间S1分割成多个平面来进行待码垛位置A1的分析和选取。然后在码垛货物前,通过多个雷达20扫射预设存储空间S1,以获取多个点云数据,且多个点云数据为不同高度的点云数据。
进一步地,雷达20只能获取预设存储空间S1内与雷达20的安装高度对应的高度的平面的点云信息,因此可通过增加雷达20的数量来增加目标码垛位置的确定精准度。多个雷达20将三维的预设存储空间S1分割成多个平面,当雷达20数量逐渐增多时,分割的平面的数量也不断增多,使得能够根据每个雷达20的点云数据获取预设存储空间S1内更准确的情况,从而提高确定的目标码垛位置的精准度。同时雷达20的数量增多时,对应的码垛层数也提高,从而可提高预设存储空间S1的空间利用率。
步骤02:分别根据每个雷达20对应的点云数据确定每个雷达20对应的待码垛位置A1;
具体地,在获取每个雷达20对应的点云数据后,分别根据每个雷达20的点云数据确定每个雷达20对应的待码垛位置A1,以确定多个高度对应的待码垛位置A1,从而便于根据多个高度的待码垛位置A1,选取合适的高度的待码垛位置A1来作为目标码垛位置。
步骤03:根据每个雷达20对应的待码垛位置A1确定目标码垛位置,以将货物存储到目标码垛位置。
具体地,在确定每个雷达20对应的待码垛位置A1后,便可根据每一个雷达20的待码垛位置A1的具体情况,确定可以放置货物的且符合码垛规则的目标码垛位置。例如,预设存储空间S1由下往上可依次分为多层空间,并以最底层为第一层,依次往上排列。码垛规则为先堆高,即在选取目标码垛位置时,优先选取层数最高且下方存在已放置的货物的待码垛位置A1为目标存储位置。或者,码垛规则为先放满第一层,再将货物码垛到第二层,以此类推,那么在选取目标码垛位置时,会优先从第一层的雷达20对应的待码垛位置A1为目标码垛位置,当第一层堆满货物后,再选取第二层的雷达20对应的待码垛位置A1为目标码垛位置。
本申请实施方式的货物码垛方法通过使用多个雷达20来获取不同高度的点云数据,并根据多个点云数据确定每个雷达20对应的待码垛位置A1,以根据不同高度的雷达20对应的待码垛位置A1中确定目标码垛位置,从而将三维的预设存储空间S1分割成多个平面进行分析,实现对多层的复杂码垛场景下的精确引导。
请参阅图2和图3,在某些实施方式中,步骤02:分别根据每个雷达20对应的点云数据确定每个雷达20对应的待码垛位置A1,包括:
步骤021:建立每个雷达20对应的栅格地图,并根据雷达20对应的点云数据确定栅格地图中的每个栅格C1是否为空;
步骤022:分别根据每个栅格地图中空的栅格C1确定每个雷达20对应的待码垛位置A1。
具体地,在获取每个雷达20对应的点云数据后,建立每个雷达20对应的栅格地图,点云数据为栅格地图中对应的栅格C1的中心点的数据,使得通过点云数据可得知对应的栅格C1在栅格地图中的位置,并得到对应的栅格C1的数据。因此,在获取每个雷达20对应的点云数据后,便可根据每个雷达20对应的点云数据确定每个雷达20对应的栅格地图中的每个栅格C1是否为空。然后在确定每个栅格地图中为空的栅格C1后,便可分别根据每个栅格地图中空的栅格C1确定每个雷达20对应的区域中可以放置货物的区域,并根据货物的尺寸从每个雷达20对应的可以放置货物的区域中确定每个雷达20对应的待码垛位置A1。
特别地,栅格C1的分辨率为栅格C1可辨认的物体几何长度的最小极限,分辨率越高,栅格地图中显示的物体的细节越多,越接近实际的物体,但此时所需要的数据处理时间也就越多;分辨率越低,栅格地图中显示的物体的细节越小,随之数据处理时间也就越少。因此,在设置分辨率时,需要兼顾栅格地图显示物体时对细节详细程度的要求以及对数据处理时间的要求。在本申请中,分辨率为10mm,以满足栅格地图显示预设存储空间S1的细节详细程度的要求,并保证数据处理时间,从而提高待码垛位置A1的确定准确性和选取速度。
请参阅图2和图4,在某些实施方式中,点云数据包括点云坐标,步骤021:建立每个雷达20对应的栅格地图,并根据雷达20对应的点云数据确定栅格地图中的每个栅格C1是否为空,包括:
步骤0211:建立每个雷达20对应的栅格地图,栅格地图中的所有栅格C1在初始状态下均为空;
步骤0212:根据任意相邻的两个点云坐标生成多个矢量,并根据栅格地图的坐标原点和矢量确定每个矢量对应的扫描区域;
步骤0213:在每个扫描区域中,确定位于扫描区域对应的矢量的左侧的栅格C1不为空,及确定位于扫描区域对应的矢量的右侧的栅格C1为空。
具体地,请结合图5,点云数据包括点云坐标。建立每个雷达20对应的栅格地图时,还会在每个栅格地图中构建平面坐标系,其中雷达20的位置为坐标系原点,获得点云数据后便可获得对应的点云坐标。在初始状态下,栅格地图中的所有栅格C1均为空。为了更新栅格C1的状态,需要根据任一相邻的两个点云坐标生成多个矢量,并根据栅格地图的坐标原点和矢量确定每个矢量对应的扫描区域。在确定扫描区域时,分别连接坐标原点以及形成矢量的点云坐标,从而形成两条直线,这两条直线围成的区域即为扫描区域。例如,栅格地图中有两个相邻的点云坐标为Kn(x1,y1)和Kn+1(x2,y2),如此便可生成矢量[Kn(x1,y1)→Kn+1(x2,y2)]。然后在每个扫描区域中,确定位于扫描区域内的栅格C1是否为空。每个栅格C1对应一个点云坐标,如P(x,y),然后便可根据方程r=(x2-x1)*(y-y1)-(y2-y1)*(x-y1)确定该栅格C1位于对应的矢量的左侧还是右侧。当r<0时,表示点云坐标对应的栅格C1在矢量方向的右侧,当r>0,表示点云坐标对应的栅格C1在矢量方向的左侧。然后确定位于扫描区域对应的矢量的左侧的栅格C1不为空,确定位于扫描区域对应的矢量的右侧的栅格C1为空。其中,在确定扫描区域内的栅格C1为扫描区域对应的矢量的左侧还是右侧时,可以扫描区域对应的矢量的方向为基准,判断栅格C1的左右方向。例如,在矢量[Kn(x1,y1)→Kn+1x2,y2对应的扫描区域中,沿着矢量Knx1,y1→Kn+1x2,y2的箭头方向,可确定P(x,y)所在的区域为矢量的左侧,在这个区域中的栅格C1为非空,扫描区域中P(x,y)不在的区域为矢量的右侧,在这个区域中的栅格C1为空。
例如,在一个实施例中,雷达20的角精度为0.33°,所以在以90°的夹角扫描预设存储空间S1后会获取271个点云数据,对应地栅格地图中会有271个点云坐标。在生成矢量时,可根据任意相邻的两个点云坐标生成270个矢量,再根据这270个矢量确定扫描区域,然后确定扫描区域内的栅格C1在对应的矢量的左侧还是右侧,从而确定位于扫描区域内的栅格C1是否为空。
如此,通过建立每个雷达20对应的栅格地图,并根据点云坐标生成多个矢量,便可根据图像中的矢量确定栅格C1为空还是非空,以便于从每个栅格地图中获取可放置货物的区域,从而便于选取每个雷达20对应的待码垛位置A1。
请参阅图2、图6和图7,在某些实施方式中,步骤022:分别根据每个栅格地图中空的栅格C1确定每个雷达20对应的待码垛位置A1,包括:
步骤0221:设置预设存储空间S1在栅格地图的第一边的第一权值和第二边的第二权值,第一边和第二边垂直;
步骤0222:计算第一边和第二边的交点栅格C1、与每个栅格C1的坐标差值;
步骤0223:根据每个栅格C1的坐标差值、第一权值和第二权值,确定每个栅格C1的第三权值,栅格C1对应的坐标差值越小,栅格C1的第三权值越小;
步骤0224:分别根据每个栅格地图中空的栅格C1的第三权值,确定每个雷达20对应的待码垛位置A1。
具体地,在选择待码垛位置A1时,不同的场合可能会有不同的货物摆放倾向性。例如有些场合需要货物优先放在预设存储空间S1的某一侧,某些场合需要在预设存储空间S1的两侧依次摆放货物。因此此时可设置预设存储空间S1在栅格地图的第一边L1的第一权值和第二边L2的第二权值,第一边L1和第二边L2垂直。然后计算第一边L1和第二边L2的交点栅格C1、与每个空的栅格C1的坐标差值,并根据每个空的栅格C1的坐标差值、第一权值和第二权值,确定每个空的栅格C1的第三权值。其中栅格C1对应的坐标差值越小,栅格C1的第三权值越小。
例如,可根据公式W[i]=*(O.x-[i].x)+*O.y-[i].y)计算每个空的栅格C1的第三权值,其中W[i]为第三权值,a为第一权值,b为第二权值,O.x和O.y分别对应交点栅格C1的横坐标和纵坐标,W[i].x和W[i].y分别对应栅格C1的横坐标和纵坐标,i={1,2..n},n为空的栅格C1的总和数量。
当计算出每个栅格地图中的所有空的栅格C1的第三权值后,便可根据第三权值确定每个雷达20对应的待码垛位置A1。在一个实施例中,比较所有空的栅格C1的第三权值,将第三权值最小的空的栅格C1确定为待码垛位置A1。在另一个实施例中,还会将栅格C1的尺寸和货物的尺寸纳入考虑范围,即,在确定待码垛位置A1时,根据货物的尺寸和栅格C1的尺寸,从预设存储空间S1中选取第三权值最小且能够放置货物的待存储空间,以放置货物。例如,当第一权值大于第二权值时,会优先选取在靠近第一边L1的栅格C1作为待码垛位置A1,例如图7。当第一权值等于第二权值时,会优先选取在靠近第二边L2的栅格C1作为待码垛位置A1,例如图8。
进一步地,每个雷达20对应的栅格地图的第一权值和第二权值可根据实际码垛情况进行规定。在一个实施例中,每个雷达20对应的栅格地图的第一权值和第二权值不同,在根据第一层的雷达20对应的栅格地图选取待码垛位置A1时,优先选取靠近第二边L2的栅格C1作为待码垛位置A1,在根据第一层的雷达20对应的栅格地图选取待码垛位置A1时,第二层优先选取靠近第一边L1的栅格C1作为待码垛位置A1。在另一个实施例中,每个雷达20对应的栅格地图的第一权值和第二权值相同,在分别根据每个雷达20对应的栅格地图选取待码垛位置A1时,都优先选取靠近第一边L1的栅格C1作为待码垛位置A1。
如此,便可通过设置预设存储空间S1在每个栅格地图的第一边L1的第一权值和第二边L2的第二权值,并根据第一权值和第二权值分别计算每个栅格地图中空的栅格C1的第三权值,然后根据每个栅格地图的第三权值选取每个雷达20对应的待码垛位置A1,以满足不同使用场景对货物的放置倾向性,从而使得本申请能够适用于多种使用场景。
请参阅图2、图9和图10,在某些实施方式中,步骤0224:分别根据每个栅格地图中空的栅格C1的第三权值,确定每个雷达20对应的待码垛位置A1,包括:
步骤02241:对每个栅格地图中所有空的栅格C1的第三权值进行排序,以确定位于预设排序范围内的第三权值对应的空的栅格C1为第一目标栅格C11,预设排序范围内第三权值小于预设排序范围外的第三权值;
步骤02242:根据第一目标栅格C11和货物的尺寸确定目标区域;
步骤02243:根据第一目标栅格C11的目标区域的顶点的坐标和坐标原点,确定第一目标栅格C11对应的第一遮挡区域S2;
步骤02244:根据第一目标栅格C11的目标区域的顶点的坐标和第一遮挡区域S2,确定第一目标栅格C11对应的第二遮挡区域;
步骤02245:根据预设的第四权值及每个第一目标栅格C11对应的第一遮挡区域S2、和预设的第五权值及每个第一目标栅格C11对应的第二遮挡区域,确定每个第一目标栅格C11的代价值;
步骤02246:确定每个栅格地图中代价值最小的第一目标栅格C11为每个雷达20对应的待码垛位置A1。
具体地,在选取待码垛位置A1前,根据实际需要设置预设排序范围,以便于对每个栅格地图中的所有空的栅格C1完成预先筛选,减少后面确定对应的第一目标栅格C111的代价值的步骤的工作量。在获取每个栅格地图中所有空的栅格C1的第三权值后,分别对每个栅格地图中所有空的栅格C1的第三权值进行排序,以确定位于预设排序范围内的第三权值对应的空的栅格C1为第一目标栅格C111。特别地,预设排序范围内第三权值小于预设排序范围外的第三权值。然后分别根据每个栅格地图的第一目标栅格C111和货物尺寸确定每个栅格地图的目标区域。例如预设排序范围为5个,那么对所有空的栅格C1的第三权值进行排序后,便会从中选取最小的5个第三权值对应的空的栅格C1为第一目标栅格C111。
货物放置在预设存储空间S1后,会遮挡雷达20发射的光线,从而形成雷达20无法扫描的区域,即第一遮挡区域S2。此外由于货物的尺寸和形状是不定的,货物和货物之间,以及货物和预设存储空间S1的边框之间难以完全贴合,使得货物和货物之间,货物和预设存储空间S1的边框之间可能会存在无法再放置货物的空间,即第二遮挡区域S3。而为了提高预设存储空间S1的利用率,在选取待码垛位置A1时,需要尽量减少第一遮挡区域S2和第二遮挡区域S3的面积,并根据对第一遮挡区域S2和第二遮挡区域S3的选择倾向,设置第一遮挡区域S2对应的第四权值和第二遮挡区域S3对应的第五权值,以根据使用需求设置第一遮挡区域S2和第二遮挡区域S3在代价值计算公式中的比重。例如,某些使用场景会更希望减少放置货物后产生的第一遮挡区域S2,因此在计算代价值时可提高第一遮挡区域S2在代价值计算公式中的比重,此时第四代价值可设置地较大,而某些使用场景会更希望减少放置货物后产生的第二遮挡区域S3,因此在计算代价值时可提高第二遮挡区域S3在代价值计算公式中的比重,此时第五代价值可设置地较大。因此,合理设置第四权值和第五权值,可在代价值计算公式中针对性地设置对应的遮挡区域的比重,以在将货物放置在待码垛位置A1后产生的第一遮挡区域S2和第二遮挡区域S3能够符合使用场景的使用需求。
然后,根据第一目标栅格C111的目标区域的顶点的坐标和坐标原点,确定每个第一目标栅格C111对应的第一遮挡区域S2,并根据每个第一目标栅格C111的目标区域的顶点的坐标和第一遮挡区域S2,确定每个第一目标栅格C111对应的第二遮挡区域S3。在确定第一遮挡区域S2和第二遮挡区域S3后,根据对应预设的第四权值及每个第一目标栅格C111对应的第一遮挡区域S2、和预设的第五权值及每个第一目标栅格C111对应的第二遮挡区域S3,确定每个第一目标栅格C111的代价值。如此,在每个栅格地图中重复上述确定第一目标栅格C111的代价值的方法后,便可确定每个栅格地图中的每个第一目标栅格C111的代价值。在每个栅格地图中对比每个第一目标栅格C111的代价值后,确定代价值最小的第一目标栅格C111为待码垛位置A1,以将货物存储到待码垛位置A1。
进一步地,可通过多种方法确定第一遮挡区域S2。例如,根据预设存储空间S1的尺寸,在栅格地图中绘出预设存储空间S1的完整的图形,然后获取目标区域的左上角的栅格C1的点云坐标,以及目标区域的右下角的栅格C1的点云坐标,并绘制出经过坐标原点和目标区域的左上角的栅格C1的点云坐标的直线,和经过坐标原点和目标区域的右下角的栅格C1的点云坐标的直线,两条直线会分别与预设存储空间S1的图形相交。如此,目标区域、经过坐标原点和目标区域的左上角的栅格C1的点云坐标的直线、经过坐标原点和目标区域的右下角的栅格C1的点云坐标的直线以及预设存储空间S1的图形围成的区域,便为第一遮挡区域S2。
或者,可根据目标区域的矢量来确定第一遮挡区域S2。例如,获取目标区域的左上角的栅格C1的点云坐标,目标区域的右上角的栅格C1的点云坐标,以及目标区域的右下角的栅格C1的点云坐标,连接目标区域的左上角的栅格C1的点云坐标和目标区域的右上角的栅格C1的点云坐标,以形成第一矢量,连接目标区域的右上角的栅格C1的点云坐标和目标区域的右下角的栅格C1的点云坐标,以形成第二矢量,然后分别计算出在扫描区域内,第一矢量与预设存储空间S1的图形之间的区域,以及第二矢量与预设存储空间S1的图形之间的区域,将两个区域相加便可得到第一遮挡区域S2。或者,连接目标区域的左上角的栅格C1的点云坐标和目标区域的右下角的栅格C1的点云坐标,以形成第三矢量,然后计算出在扫描区域内,第三矢量与预设存储空间S1的图形之间的区域。显然,目标区域内会有一半的区域位于第三矢量与预设存储空间S1的图形之间的区域中,因此在确定第一遮挡区域S2时,需要在第三矢量与预设存储空间S1的图形之间的区域中减去目标区域,得到的最终的区域即为第一遮挡区域S2。
同样地,第二遮挡区域S3的确定方法也可为多种。例如,获取组成目标区域的最高的边线的两个端点的点云坐标,并分别从两个端点的点云坐标出发,朝着y轴的正方向延伸出两条射线,两条射线、目标区域的最高的边线以及图形之间会组成一个区域,在这个区域中,若存在第一遮挡区域S2,则将为第一遮挡区域S2的区域排除,剩下的区域则为第二遮挡区域S3。或者,获取目标区域内纵坐标最高的点云坐标,从纵坐标最高的点云坐标出发,朝着y轴的正方向延伸出一条射线,射线与预设存储区域的图形会相交。那么,射线、预设存储区域的图形以及与第一遮挡区域S2之间会形成一个区域,该区域则为第二遮挡区域S3。
如此,便可通过设置每个栅格地图中的代价值,得到对应的栅格地图放置货物后产生的第一遮挡区域S2和第二遮挡区域S3最少的第一目标栅格C111,并将第一目标栅格C111确定为每个雷达20对应的待码垛位置A1,从而便于提高预设存储空间S1的空间利用率。
请参阅图2、图10和图11,在某些实施方式中,步骤02245:根据预设的第四权值及每个第一目标栅格C11对应的第一遮挡区域S2、和预设的第五权值及每个第一目标栅格C11对应的第二遮挡区域,确定每个第一目标栅格C11的代价值,包括:
步骤022451:根据第四权值及每个第一目标栅格C11对应的第一遮挡区域S2、第五权值及每个第一目标栅格C11对应的第二遮挡区域、交点栅格C1的坐标、第一权值、第二权值、和第一目标栅格C11的第三权值,确定每个第一目标栅格C11的代价值。
具体地,在计算第一目标的代价值时,还可将预设存储空间S1的长度和宽度的影响规划进代价值的计算中,由于交点栅格C1一般设置为预设存储空间S1的顶角,交点栅格C1的坐标一般能反应预设存储空间S1的长度和宽度。因此,此时可根据第四权值及每个第一目标栅格C111对应的第一遮挡区域S2、第五权值及每个第一目标栅格C111对应的第二遮挡区域S3、交点栅格C1的坐标、第一权值、第二权值、和第一目标栅格C111的第三权值,确定每个栅格地图中每个第一目标栅格C111的代价值。
例如,根据公式Wmax=O.x*a+.y*b可算出预设存储空间S1内的最大第三权值,以求出每个第一目标栅格C111的第三权值与最大第三权值的比例,从而能够将第三权值的大小因素规划进代价值的计算中。接着根据公式 便可算出每个第一目标栅格C111的代价值,其中第四权值为k1,第五权值为k2,U[i]为第一目标栅格C111对应的第一遮挡空间,S[i]为第一目标栅格C111对应的第二遮挡空间,其中i={1,2..n},n为预设排序范围内的最大值。然后,在利用公式Rout=MIN(R[1],[2]…R[n]),得到代价值最小的第一目标栅格C111,并确定代价值最小的第一目标栅格C111为待码垛位置A1。
如此,通过将交点栅格C1的坐标列入计算代价值的公式中,以将预设存储空间S1的长度和宽度的影响规划进代价值的计算中,从而还能够基于预设存储空间S1的尺寸选取待码垛位置A1,使得选取的每个待码垛位置A1都能够更符合预设存储空间S1的尺寸。
请参阅图2和图12,在某些实施方式中,雷达20的数量为N个,第1个雷达20到第N个雷达20的安装高度逐渐增加,N为正整数,步骤02:分别根据每个雷达20对应的点云数据确定每个雷达20对应的待码垛位置A1,还包括:
步骤023:根据第Q个雷达20对应的点云数据确定第Q个雷达20对应的待码垛位置A1不存在情况下,根据第Q+1个雷达20对应的点云数据确定第Q+1个雷达20对应的待码垛位置A1,Q为小于或等于N的正整数。
具体地,码垛规则可为先放满某一层,当某一层放满后,再将货物码垛到上一层。此时在选取待码垛位置A1时,可根据第Q个雷达20对应的点云数据确定第Q个雷达20对应的待码垛位置A1,其中Q为小于或等于N的正整数,且Q的初始数值为1。当第Q个雷达20对应的待码垛位置A1存在时,选取该待码垛位置A1为目标码垛位置。当第Q个雷达20对应的待码垛位置A1不存在时,即第Q个雷达20对应的存储空间已经无法再放置货物时,根据第Q+1个雷达20对应的点云数据确定第Q+1个雷达20对应的待码垛位置A1,并将第Q+1个雷达20对应的待码垛位置A1确定为目标码垛位置。以此类推,便可使得在码垛时会将货物放置在第一层,等到第一层放满后再往上继续码垛。如此,便可保证目标码垛位置的选取准确性的同时,使得在选取目标码垛位置时,无需一次性确定所有雷达20对应的待码垛位置A1,而是根据雷达20的安装高度从下往上依次确定雷达20对应的待码垛位置A1,当某个雷达20对应的待码垛位置A1存在时,便将存在的待码垛位置A1确定为目标码垛位置,而不需要计算高度比目标码垛位置对应的雷达20的高度更高的雷达20的待码垛位置A1,从而简化了选择待码垛位置A1时的计算量以及目标码垛位置的选取步骤。
请参阅图2和图13,在某些实施方式中,雷达20的数量为N个,第1个雷达20到第N个雷达20的安装高度逐渐增加,N为正整数,第1个雷达20对应的待码垛位置A1有效,步骤03:根据每个雷达20对应的待码垛位置A1确定目标码垛位置,以将货物存储到目标码垛位置,还包括:
步骤031:根据第M个雷达20对应的待码垛位置A1和第M-1个雷达20的栅格地图中为空的栅格C1,确定第M个雷达20对应的待码垛位置A1是否无效,M为大于1且小于或等于N的正整数;
步骤032:获取待码垛位置A1有效的多个雷达20中安装高度最高的目标雷达20,以确定目标雷达20对应的待码垛位置A1为目标码垛位置。
具体地,雷达20的数量为N个,第1个雷达20到第N个雷达20的安装高度逐渐增加,N为正整数。在码垛货物时,码垛原则还可为优先将货物码垛到层数最高的已放置的货物的上方。而此时为了保证货物的安全性,需要将货物放置在下方有已放置的货物或预设存储空间S1的地面的待码垛位置A1。那么在选取目标码垛位置时,需要确定每个雷达20对应的待码垛位置A1是否有效,有效的待码垛位置A1为下方存在有已放置的货物或预设存储空间S1的待码垛位置A1。可以理解,第1个雷达20对应的待码垛位置A1有效。因此,在选取目标码垛位置时,需要根据第M个雷达20对应的待码垛位置A1和第M-1个雷达20的栅格地图中为空的栅格C1,确定第M个雷达20对应的待码垛位置A1是否无效,M为大于1且小于或等于N的正整数。例如,在确定第2个雷达20对应的待码垛位置A1是否有效时,会根据第1个雷达20的栅格地图中为空的栅格C1,确定待码垛位置A1下方的栅格C1是否为空,即是否放置货物,若待码垛位置A1下方的栅格C1为非空,则确定待码垛位置A1有效,若待码垛位置A1下方的栅格C1为空,则确定待码垛位置A1无效。在确定每个雷达20对应的待码垛位置A1是否有效后,获取待码垛位置A1有效的多个雷达20中安装高度最高的目标雷达20,以确定目标雷达20对应的待码垛位置A1为目标码垛位置。
例如,雷达为3个,图2为第一个雷达的栅格地图,图14为第二个雷达的栅格地图,图15为第三个雷达的栅格地图。在确定第三个雷达对应的待码垛位置后,需要确定第二个雷达的栅格地图中,与第三个雷达对应的待码垛位置对应的位置是否有放置货物。从图14和图15中可知,第三个雷达确定的待存储位置位于预设存储空间S1的右上角,而第二个雷达的栅格地图中显示预设存储空间S1的右上角放置有货物,此时便可确定第三个雷达对应的待存储位置有效。类似的,在对比图2和图14后便可确定第二个雷达对应的待存储位置下方已放置有货物,因此第二个雷达对应的待码垛位置同样有效。
如此,在确认待码垛位置A1是否有效后,便可实现优先将货物码垛到层数最高的已放置的货物的上方的码垛原则,即实现先堆高货物的码垛原则,以一方面保证选取的目标码垛位置的准确性,另一方面提高预设存储空间S1的空间利用率。
请参阅图2和图16,在某些实施方式中,步骤031:根据第M个雷达20对应的待码垛位置A1和第M-1个雷达20的栅格地图中为空的栅格C1,确定第M个雷达20对应的待码垛位置A1是否无效,还包括:
步骤0311:根据第M个雷达20对应的待码垛位置A1和货物的尺寸确定目标区域;
步骤0312:在第M个雷达20对应的目标区域,在第M-1个雷达20的栅格地图中对应的区域内存在空的栅格C1的情况下,确定第M个雷达20对应的待码垛位置A1无效。
具体地,由于货物的尺寸不定,且待码垛位置A1可能不足以放置货物,因此还需要根据第M个雷达20对应的待码垛位置A1和货物的尺寸确定目标区域。此时,便还需要确认目标区域下是否有已放置的货物或预设存储空间S1的地面。即,在根据第M个雷达20对应的待码垛位置A1和货物的尺寸确定目标区域后,根据第M个雷达20对应的目标区域和第M-1个雷达20的栅格地图中的空的栅格C1的分布情况确定目标区域是否有效,在第M个雷达20对应的目标区域,在第M-1个雷达20的栅格地图中对应的区域内存在空的栅格C1的情况下,确定第M个雷达20对应的待码垛位置A1无效。如此,便可通过根据货物的尺寸和对应的待码垛位置A1确定目标区域,并确定目标区域对应的待码垛位置A1是否有效,灵活选择目标码垛位置,使得本申请能够完成多种尺寸的货物的码垛,且能够选取出最合理最符合货物的目标码垛位置,从而提高预设存储空间S1的利用率。此外,若可获取货物的形状,还可根据货物的形状和尺寸来确定目标区域,从而进一步提高选取的目标位置的准确性。
请参阅图2和图17,在某些实施方式中,货物码垛方法还包括:
步骤04:在货物的高度大于预设存储空间S1的预设高度的情况下,确定第1个雷达20对应的待码垛位置A1无效;
步骤05:在货物的高度小于或等于预设高度、且货物的高度大于预设高度和第N-1个雷达20的安装高度的高度差的情况下,确定第N个雷达20对应的待码垛位置A1无效。
具体地,由于货物会码垛到已放置的货物上方,已放置的货物和预设存储空间S1的顶部之间的距离不定,货物不一定能够放置在已放置的货物和预设存储空间S1的顶部之间。因此,在确定待码垛位置A1是否有效时,还需要将货物的高度融入考虑范围内。在货物的高度大于预设存储空间S1的预设高度的情况下,确定第1个雷达20对应的待码垛位置A1无效,代表货物无法放置到预设存储空间S1内,此时需要发出警报,等工作人员对该货物进行专门的处理。在货物的高度小于或等于预设高度的情况下,即货物能够放置在预设存储空间S1的情况下,获取预设高度和第N-1个雷达20的安装高度的高度差,若货物的高度大于预设高度和第N-1个雷达20的安装高度的高度差,则确定第N个雷达20对应的待码垛位置A1无效,只有在货物的高度小于预设高度和第N-1个雷达20的安装高度的高度差时,才可将货物码垛到待码垛位置A1,此时待码垛位置A1才可确认为有效的待码垛位置A1。如此,便可通过对比货物的高度、预设高度以及预设高度和对应的雷达20的安装高度的高度差,确定待码垛位置A1是否有效,从而提高确定的待码垛位置A1的准确性,保证货物能够放置到待码垛位置A1中。
请参阅图2和图18,在某些实施方式中,货物码垛方法还包括:
步骤06:分别根据每个雷达20的栅格地图中,所有不为空的栅格C1的数量和每个雷达20的安装高度,确定每个雷达20对应的占用体积;
步骤07:根据所有雷达20对应的占用体积和预设存储空间S1的预设体积,计算预设存储空间S1的剩余空间。
具体地,还可分别根据每个雷达20的栅格地图中,所有不为空的栅格C1的数量和每个雷达20的安装高度,确定每个雷达20对应的占用体积。此时需要确定每个栅格C1对应的面积,例如确定一个栅格C1对应的面积为1cm2,在确定不为空的栅格C1的数量后,便可确定每个雷达20对应的占用面积。接着根据每个雷达20的安装高度,确定每个雷达20对应的占用高度。在确定每个雷达20对应的占用面积和占用高度后,便可将每个雷达20对应的占用面积和占用高度相乘,以确定每个雷达20对应的占用体积。然后将每个雷达20对应的占用体积相加,得到预设存储空间S1的占用体积。最后根据预设存储空间S1的占用体积和预设存储空间S1的预设体积,计算出预设存储空间S1的剩余空间,以便于根据剩余空间和货物的尺寸,计算出剩余空间内还可放置的货物的数量,从而便于根据剩余空间来规划货物的放置。
例如,可根据公式占用面积*(H[i+1]-H[i])来计算预设存储空间S1的占用体积,并设H[N+1]=Ht,H[1]=0,其中i={1,2..N},N为雷达20的数量,Map[i].占用面积为对应的雷达20的占用面积,H[i]为对应的雷达20的安装高度,Ht为预设存储空间S1的预设高度。若没有直接提供预设存储空间S1的预设体积,还可根据公式V.y=Ht*Xmax*Ymax来计算预设存储空间S1的预设体积,其中Xmax为预设存储空间S1的长度,Ymax为预设存储空间S1的宽度。将预设存储空间S1的预设体积减去预设存储空间S1的占用体积,便可得到预设存储空间S1的剩余空间。此外,根据预设存储空间S1的预设体积和预设存储空间S1的占用体积还可计算预设存储空间S1的剩余空间比例,例如,根据公式P=1-V.z/V.y来得到预设存储空间S1的剩余空间比例,从而根据预设存储空间S1的剩余空间比例更清楚直观地查看预设存储空间S1内的存储情况。
进一步地,请参阅图2和图14,在某些实施方式中,还可根据每个栅格地图中的点云数据确定预设存储空间S1是否就位,从而保证码垛过程的正常进行。当雷达20扫描预设存储空间S1后,便可根据点云数据,确定轮廓信息,在轮廓信息和预设轮廓信息匹配的情况下,确定预设存储空间S1就位。例如,预设轮廓信息为栅格C1图像中的预设位置的预设图形,轮廓信息为栅格C1图像中预设存储空间S1的图形。在获取点云数据后,可确定此时预设存储空间S1的轮廓信息,若预设存储空间S1在栅格C1图像中的图形的轮廓线与预设位置的预设图像的轮廓线的重合度大于预设重合度,便可确定预设存储空间S1就位。或者,当位于预设图形内的点云数量的数量和总点云数量的比例大于预设比例,可确定匹配,进而可确认预设存储空间S1就位。如此,便可通过比较轮廓信息和预设轮廓信息,判断预设存储空间S1是否就位,以提高扫描的准确性,避免雷达20无法扫描部分预设存储空间S1,降低预设存储空间S1的空间利用率。
请参阅图19,为便于更好的实施本申请实施方式的货物码垛方法,本申请实施方式还提供一种货物码垛装置10。该货物码垛装置10包括扫描模块11、第一确定模块12、和第二确定模块13。扫描模块11用于通过多个雷达20扫描预设存储空间S1以获取多个点云数据,多个雷达20沿竖直方向依次排布。第一确定模块12用于分别根据每个雷达20对应的点云数据确定每个雷达20对应的待码垛位置A1。第二确定模块13用于根根据每个雷达20对应的待码垛位置A1确定目标码垛位置,以将货物存储到目标码垛位置。
第一确定模块12具体用于建立每个雷达20对应的栅格地图,并根据雷达20对应的点云数据确定栅格地图中的每个栅格C1是否为空;及分别根据每个栅格地图中空的栅格C1确定每个雷达20对应的待码垛位置A1。
第一确定模块12具体用于建立每个雷达20对应的栅格地图,栅格地图中的所有栅格C1在初始状态下均为空;根据任意相邻的两个点云坐标生成多个矢量,并根据栅格地图的坐标原点和矢量确定每个矢量对应的扫描区域;在每个扫描区域中,确定位于扫描区域对应的矢量的左侧的栅格C1不为空,及确定位于扫描区域对应的矢量的右侧的栅格C1为空。
货物码垛装置10还包括设置模块14和计算模块15。
设置模块14用于设置预设存储空间S1在栅格地图的第一边的第一权值和第二边的第二权值,第一边和第二边垂直。
计算模块15用于计算第一边和第二边的交点栅格C1、与每个栅格C1的坐标差值。
第一确定模块12具体用于根据每个栅格C1的坐标差值、第一权值和第二权值,确定每个栅格C1的第三权值,栅格C1对应的坐标差值越小,栅格C1的第三权值越小;分别根据每个栅格地图中空的栅格C1的第三权值,确定每个雷达20对应的待码垛位置A1。
第一确定模块12具体用于对每个栅格地图中所有空的栅格C1的第三权值进行排序,以确定位于预设排序范围内的第三权值对应的空的栅格C1为第一目标栅格C11,预设排序范围内第三权值小于预设排序范围外的第三权值;根据第一目标栅格C11和货物的尺寸确定目标区域;根据第一目标栅格C11的目标区域的顶点的坐标和坐标原点,确定第一目标栅格C11对应的第一遮挡区域S2;根据第一目标栅格C11的目标区域的顶点的坐标和第一遮挡区域S2,确定第一目标栅格C11对应的第二遮挡区域;根据预设的第四权值及每个第一目标栅格C11对应的第一遮挡区域S2、和预设的第五权值及每个第一目标栅格C11对应的第二遮挡区域,确定每个第一目标栅格C11的代价值;确定每个栅格地图中代价值最小的第一目标栅格C11为每个雷达20对应的待码垛位置A1。
第一确定模块12具体用于根据第四权值及每个第一目标栅格C11对应的第一遮挡区域S2、第五权值及每个第一目标栅格C11对应的第二遮挡区域、交点栅格C1的坐标、第一权值、第二权值、和第一目标栅格C11的第三权值,确定每个第一目标栅格C11的代价值。
第一确定模块12具体用于根据第Q个雷达20对应的点云数据确定第Q个雷达20对应的待码垛位置A1不存在情况下,根据第Q+1个雷达20对应的点云数据确定第Q+1个雷达20对应的待码垛位置A1,Q为小于或等于N的正整数。
第二确定模块13具体用于根据第M个雷达20对应的待码垛位置A1和第M-1个雷达20的栅格地图中为空的栅格C1,确定第M个雷达20对应的待码垛位置A1是否无效,M为大于1且小于或等于N的正整数;获取待码垛位置A1有效的多个雷达20中安装高度最高的目标雷达20,以确定目标雷达20对应的待码垛位置A1为目标码垛位置。
第一确定模块12具体用于根据第M个雷达20对应的待码垛位置A1和货物的尺寸确定目标区域;在第M个雷达20对应的目标区域,在第M-1个雷达20的栅格地图中对应的区域内存在空的栅格C1的情况下,确定第M个雷达20对应的待码垛位置A1无效。
第一确定模块12具体用于在货物的高度大于预设存储空间S1的预设高度的情况下,确定第1个雷达20对应的待码垛位置A1无效;在货物的高度小于或等于所预设高度、且货物的高度大于预设高度和第N-1个雷达20的安装高度的高度差的情况下,确定第N个雷达20对应的待码垛位置A1无效。
计算模块15具体用于分别根据每个雷达20的栅格地图中,所有不为空的栅格C1的数量和每个雷达20的安装高度,确定每个雷达20对应的占用体积;根据所有雷达20对应的占用体积和预设存储空间S1的预设体积,计算预设存储空间S1的剩余空间。
请参阅图2和图20,本申请实施方式的搬运设备100包括多个雷达20和处理器30,多个雷达20沿竖直方向依次排布,处理器30用于通过多个雷达20扫描预设存储空间S1以获取多个点云数据;分别根据每个雷达20对应的点云数据确定每个雷达20对应的待码垛位置A1;根据每个雷达20对应的待码垛位置A1确定目标码垛位置,以将货物存储到目标码垛位置。
具体地,现有技术中一般使用3D相机来获取预设存储空间S1的码垛情况,但3D相机的局限性较大,3D相机对于光线和物体的颜色材质有一定的要求,若光线较暗火物体的颜色材质与预设存储空间S1的颜色材质相近,都会影响3D相机的检测结果。因此本申请使用雷达20来采集预设存储空间S1的点云信息,雷达20对于光线和物体的颜色材质没有限制,抗外界干扰能力强且适应性更强,从而使得本申请能够适用于更多的码垛场景。
进一步地,由于雷达20的种类较多,例如有激光雷达20,毫米波雷达20,因此在设置雷达20时,可根据需求灵活配置雷达20的数量和种类,以保证获取的点云数据的准确性,进而保证待码垛位置A1的确定准确性。或者,也可使用其他可以平扫采集预设存储空间S1轮廓的传感器,在此不作限制。
请参阅图21,本申请实施方式还提供了一种非易失性计算机可读存储介质200,其上存储有计算机程序210,计算机程序210被处理器30执行的情况下,实现上述任意一种实施方式的货物码垛方法的步骤,为了简洁,在此不再赘述。
在本说明书的描述中,参考术语“某些实施方式”、“一个例子中”、“示例地”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。
Claims (14)
1.一种货物码垛方法,其特征在于,包括:
通过多个雷达扫描预设存储空间以获取多个点云数据,多个所述雷达沿竖直方向依次排布;
分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置;
根据每个所述雷达对应的所述待码垛位置确定目标码垛位置,以将货物存储到所述目标码垛位置。
2.根据权利要求1所述的货物码垛方法,其特征在于,所述分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置,包括:
建立每个所述雷达对应的栅格地图,并根据所述雷达对应的所述点云数据确定所述栅格地图中的每个栅格是否为空;及
分别根据每个所述栅格地图中空的所述栅格确定每个所述雷达对应的所述待码垛位置。
3.根据权利要求2所述的货物码垛方法,其特征在于,所述点云数据包括点云坐标,所述建立每个所述雷达对应的栅格地图,并根据所述雷达对应的所述点云数据确定所述栅格地图中的每个栅格是否为空,包括:
建立每个所述雷达对应的所述栅格地图,所述栅格地图中的所有所述栅格在初始状态下均为空;
根据任意相邻的两个所述点云坐标生成多个矢量,并根据所述栅格地图的坐标原点和所述矢量确定每个所述矢量对应的扫描区域;
在每个所述扫描区域中,确定位于所述扫描区域对应的所述矢量的左侧的所述栅格不为空,及确定位于所述扫描区域对应的所述矢量的右侧的所述栅格为空。
4.根据权利要求2所述的货物码垛方法,其特征在于,所述分别根据每个所述栅格地图中空的所述栅格确定每个所述雷达对应的所述待码垛位置,包括:
设置所述预设存储空间在所述栅格地图的第一边的第一权值和第二边的第二权值,所述第一边和第二边垂直;
计算所述第一边和所述第二边的交点栅格、与每个所述栅格的坐标差值;
根据每个所述栅格的所述坐标差值、所述第一权值和所述第二权值,确定每个所述栅格的第三权值,所述栅格对应的所述坐标差值越小,所述栅格的所述第三权值越小;
分别根据每个所述栅格地图中空的所述栅格的所述第三权值,确定每个所述雷达对应的所述待码垛位置。
5.根据权利要求4所述的货物码垛方法,其特征在于,所述分别根据每个所述栅格地图中空的所述栅格的所述第三权值,确定每个所述雷达对应的所述待码垛位置,包括:
对每个所述栅格地图中所有空的所述栅格的所述第三权值进行排序,以确定位于预设排序范围内的所述第三权值对应的空的所述栅格为第一目标栅格,所述预设排序范围内所述第三权值小于所述预设排序范围外的所述第三权值;
根据所述第一目标栅格和所述货物的尺寸确定目标区域;
根据所述第一目标栅格的所述目标区域的顶点的坐标和所述坐标原点,确定所述第一目标栅格对应的第一遮挡区域;
根据所述第一目标栅格的所述目标区域的顶点的坐标和所述第一遮挡区域,确定所述第一目标栅格对应的第二遮挡区域;
根据预设的第四权值及每个所述第一目标栅格对应的所述第一遮挡区域、和预设的第五权值及每个所述第一目标栅格对应的所述第二遮挡区域,确定每个所述第一目标栅格的代价值;
确定每个所述栅格地图中代价值最小的所述第一目标栅格为每个所述雷达对应的所述待码垛位置。
6.根据权利要求5所述的货物码垛方法,其特征在于,所述根据预设的第四权值及每个所述第一目标栅格对应的所述第一遮挡区域、和预设的第五权值及每个所述第一目标栅格对应的所述第二遮挡区域,确定每个所述第一目标栅格的代价值,包括:
根据所述第四权值及每个所述第一目标栅格对应的所述第一遮挡区域、所述第五权值及每个所述第一目标栅格对应的所述第二遮挡区域、所述交点栅格的坐标、所述第一权值、所述第二权值、和所述第一目标栅格的所述第三权值,确定每个所述第一目标栅格的所述代价值。
7.根据权利要求1所述的货物码垛方法,其特征在于,所述雷达的数量为N个,第1个所述雷达到第N个所述雷达的安装高度逐渐增加,所述N为正整数,所述分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置,包括:
根据第Q个所述雷达对应的所述点云数据确定第Q个所述雷达对应的待码垛位置不存在情况下,根据第Q+1个所述雷达对应的所述点云数据确定第Q+1个所述雷达对应的待码垛位置,所述Q为小于或等于所述N的正整数。
8.根据权利要求2所述的货物码垛方法,其特征在于,所述雷达的数量为N个,第1个所述雷达到第N个所述雷达的安装高度逐渐增加,所述N为正整数,第1个所述雷达对应的所述待码垛位置有效,所述根据每个所述雷达对应的所述待码垛位置确定目标码垛位置,以将货物存储到所述目标码垛位置,包括:
根据第M个所述雷达对应的所述待码垛位置和第M-1个所述雷达的所述栅格地图中为空的所述栅格,确定第M个所述雷达对应的所述待码垛位置是否无效,所述M为大于1且小于或等于N的正整数;
获取所述待码垛位置有效的多个所述雷达中安装高度最高的目标雷达,以确定所述目标雷达对应的所述待码垛位置为所述目标码垛位置。
9.根据权利要求8所述的货物码垛方法,其特征在于,所述根据第M个所述雷达对应的所述待码垛位置和第M-1个所述雷达的所述栅格地图中为空的所述栅格,确定第M个所述雷达对应的所述待码垛位置是否无效,包括:
根据第M个所述雷达对应的所述待码垛位置和所述货物的尺寸确定目标区域;
在第M个所述雷达对应的所述目标区域,在第M-1个所述雷达的所述栅格地图中对应的区域内存在空的所述栅格的情况下,确定第M个所述雷达对应的所述待码垛位置无效。
10.根据权利要求8所述的货物码垛方法,其特征在于,还包括:
在所述货物的高度大于所述预设存储空间的预设高度的情况下,确定第1个所述雷达对应的所述待码垛位置无效;
在所述货物的高度小于或等于所预设高度、且所述货物的高度大于所述预设高度和第N-1个所述雷达的安装高度的高度差的情况下,确定第N个所述雷达对应的所述待码垛位置无效。
11.根据权利要求2所述的货物码垛方法,其特征在于,还包括:
分别根据每个所述雷达的所述栅格地图中,所有不为空的所述栅格的数量和每个所述雷达的安装高度,确定每个所述雷达对应的占用体积;
根据所有所述雷达对应的所述占用体积和所述预设存储空间的预设体积,计算所述预设存储空间的剩余空间。
12.一种货物码垛装置,其特征在于,包括:
扫描模块,用于通过多个雷达扫描预设存储空间以获取多个点云数据,多个所述雷达沿竖直方向依次排布;
第一确定模块,用于分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置;及
第二确定模块,用于根根据每个所述雷达对应的所述待码垛位置确定目标码垛位置,以将货物存储到所述目标码垛位置。
13.一种搬运设备,其特征在于,包括多个雷达和处理器,多个所述雷达沿竖直方向依次排布,所述处理器用于通过多个雷达扫描预设存储空间以获取多个点云数据;分别根据每个所述雷达对应的所述点云数据确定每个所述雷达对应的待码垛位置;根据每个所述雷达对应的待码垛位置确定目标码垛位置,以将货物存储到所述目标码垛位置。
14.一种包含计算机程序的非易失性计算机可读存储介质,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1-11任意一项所述的货物码垛方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211731958.9A CN116040331A (zh) | 2022-12-30 | 2022-12-30 | 货物码垛方法及装置、搬运设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211731958.9A CN116040331A (zh) | 2022-12-30 | 2022-12-30 | 货物码垛方法及装置、搬运设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116040331A true CN116040331A (zh) | 2023-05-02 |
Family
ID=86121207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211731958.9A Pending CN116040331A (zh) | 2022-12-30 | 2022-12-30 | 货物码垛方法及装置、搬运设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116040331A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116835334A (zh) * | 2023-07-17 | 2023-10-03 | 湖北普罗格科技股份有限公司 | 基于3d视觉的无序码垛方法、装置、介质及设备 |
-
2022
- 2022-12-30 CN CN202211731958.9A patent/CN116040331A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116835334A (zh) * | 2023-07-17 | 2023-10-03 | 湖北普罗格科技股份有限公司 | 基于3d视觉的无序码垛方法、装置、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110031824B (zh) | 激光雷达联合标定方法及装置 | |
CN109840448A (zh) | 用于无人驾驶车辆的信息输出方法和装置 | |
US9205562B1 (en) | Integration of depth points into a height map | |
US6922234B2 (en) | Method and apparatus for generating structural data from laser reflectance images | |
CN116040331A (zh) | 货物码垛方法及装置、搬运设备和计算机可读存储介质 | |
CN111985675B (zh) | 托盘空间规划方法、码垛方法及其装置、及电子设备 | |
CN110530268A (zh) | 动态集装架尺寸确定—叉铲量皮重 | |
CN112070838A (zh) | 基于二维-三维融合特征的对象识别与定位方法及装置 | |
JPH05506730A (ja) | イメージ発生装置 | |
CN113658257B (zh) | 一种无人设备定位方法、装置、设备及存储介质 | |
CN115856829B (zh) | 一种雷达三维数据转换的图像数据识别方法及系统 | |
CN105466523A (zh) | 基于单摄像机图像的堆粮高度的测量方法和装置 | |
CN115035181A (zh) | 容积使用率的监控方法、装置和计算机可读存储介质 | |
CN115824052A (zh) | 一种基于激光雷达点云数据的堆料体积测量方法 | |
CN114723825A (zh) | 用于无人行车场景下的相机坐标映射方法、系统、介质及电子终端 | |
WO2001088566A2 (en) | System and method for acquiring tie-point location information on a structure | |
CN117011362A (zh) | 货物体积的计算方法、容积率的动态计算方法 | |
CN115249324A (zh) | 垛型中待码放位置的确定方法、装置及计算设备 | |
JPH05101163A (ja) | 3次元図形表示方式 | |
CN115631329B (zh) | 一种用于开放式车厢的装载控制方法、系统和存储介质 | |
US20190377931A1 (en) | Measurement system and measurement method | |
CN116238908A (zh) | 货物存储方法及装置、搬运设备和计算机可读存储介质 | |
CN116468781A (zh) | 一种室外远距离分层级的视觉定位测量方法 | |
KR20230094950A (ko) | 화물 계수 방법 및 장치, 컴퓨터 디바이스, 및 저장 매체 | |
CN113988740A (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 |