一种钢筋的绑扎方法及绑扎装置
技术领域
本发明涉及装配式建筑构件智能制造领域,尤其是涉及一种钢筋的绑扎方法及绑扎装置。
背景技术
装配式建筑技术使得大量的作业从现场转移到工厂进行,在工厂制作好构件后,在施工现场进行现场装配。目前,装配式建筑在新建筑面积中的比例在不断增长,钢筋绑扎技术作为装配式建筑中的一个重要的作业节点,该技术对钢筋节点(横钢筋与竖钢筋的交叉点)用金属丝进行绑扎,以形成一个牢固的钢筋笼。
需要说明的是,在目前的装配式建筑中对于钢筋绑扎的处理仍旧需要人工手持捆扎枪针对钢筋节点进行绑扎,这种传统的劳动方式存在劳动强度大,捆扎效率低,捆扎力度不均,会导致经常出现钢筋捆扎不合格的情况。其中,最为突出的技术问题是现有的钢筋绑扎技术在识别钢筋节点的准确性不够,容易出现漏绑导致绑扎效率低。
发明内容
本发明提供了一种钢筋的绑扎方法及绑扎装置,以解决现有技术中,现有的钢筋绑扎技术在识别钢筋绑扎点的准确性不够,容易出现漏绑导致绑扎效率低的技术问题。
根据本发明的第一方面,提供了一种钢筋的绑扎方法,该方法包括:在不同时间点采集钢筋操作面的多个点云图像,其中,在不同时间点中的相邻两个时间点采集到的两个点云图像存在重叠区域;从多个点云图像中确定钢筋操作面的目标钢筋节点坐标;根据目标钢筋节点坐标对钢筋操作面进行绑扎。
进一步地,控制点云数据采集设备按照拍照坐标采集钢筋操作面的多个点云图像,其中,在不同时间点采集钢筋操作面的多个点云图像之前,方法还包括:根据点云数据采集设备的视野参数以及钢筋操作面的尺寸参数确定点云数据采集设备的拍照坐标,其中,在拍照坐标下,多个点云图像包括钢筋操作面的整体,拍照坐标为多个。
进一步地,从多个点云图像中确定目标钢筋节点坐标包括:将多个点云图像进行点云分割,得到钢筋操作面的点云数据;将钢筋操作面的点云数据进行XOY平面投影,得到钢筋操作面的点云数据的二值图;基于二值图得到钢筋操作面的第一初始钢筋节点坐标;对二值图进行裁剪,得到包括第一初始钢筋节点坐标的多个图像;基于多个图像对第一初始钢筋节点坐标进行修正处理,得到第二初始钢筋节点坐标;将第二初始钢筋节点坐标进行3D 还原,得到目标钢筋节点坐标,其中,目标钢筋节点坐标为3D点云坐标系下的坐标。
进一步地,基于二值图得到钢筋操作面的第一初始钢筋节点坐标包括:基于霍夫变换算法确定二值图中的横线以及竖线;将横线以及竖线进行聚类,得到多个横线簇和多个竖线簇;将多个横线簇的平均线以及多个竖线簇的平均线的交点的坐标确定为第一初始钢筋节点坐标。
进一步地,基于多个图像对第一初始钢筋节点坐标进行修正处理,得到第二初始钢筋节点坐标包括:计算得到多个图像中横纵坐标的白色点数直方图;根据白色点数直方图确定第二初始钢筋节点坐标。
进一步地,在根据目标钢筋节点坐标对钢筋操作面进行绑扎之前,方法还包括:计算目标钢筋节点中的任意两个节点之间的距离;根据任意两个节点之间的距离对目标钢筋节点坐标进行去重处理。
进一步地,根据目标钢筋节点坐标对钢筋操作面进行绑扎包括:统计目标钢筋节点所在的行数以及所在的列数;根据目标钢筋节点所在的行数以及所在的列数确定目标钢筋节点的绑扎角度和/或绑扎路径;控制绑扎机器人按照绑扎角度和/或绑扎路径对目标钢筋节点进行绑扎。
进一步地,根据目标钢筋节点所在的行数以及所在的列数确定目标钢筋节点的绑扎角度包括:根据目标钢筋节点所在的行数以及所在的列数的奇偶性确定目标钢筋节点的绑扎角度。
进一步地,在控制绑扎机器人按照绑扎角度和/或绑扎路径对目标钢筋节点进行绑扎之前,方法还包括:计算得到目标钢筋节点处的横筋以及竖筋的尺寸参数;根据横筋以及竖筋的尺寸参数确定绑扎机器人的送丝长度以及绑扎圈数。
根据本发明的第二方面,提供了一种钢筋的绑扎装置,该装置包括:采集单元,用于在不同时间点采集钢筋操作面的多个点云图像,其中,在不同时间点中的相邻两个时间点采集到的两个点云图像存在重叠区域;确定单元,用于从多个点云图像中确定钢筋操作面的目标钢筋节点坐标;绑扎单元,用于根据目标钢筋节点坐标对钢筋操作面进行绑扎。
本发明提供了一种钢筋的绑扎方法及绑扎装置,该方法包括:在不同时间点采集钢筋操作面的多个点云图像,其中,在不同时间点中的相邻两个时间点采集到的两个点云图像存在重叠区域;从多个点云图像中确定钢筋操作面的目标钢筋节点坐标;根据目标钢筋节点坐标对钢筋操作面进行绑扎。解决了现有技术中,现有的钢筋绑扎技术在识别钢筋绑扎点的准确性不够,容易出现漏绑导致绑扎效率低的技术问题。
附图说明
为了更清楚地说明本发明
具体实施方式
或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的钢筋的绑扎方法的流程图;
图2为本发明实施例的点云相机与钢筋操作面的位置示意图;
图3(图3-1至图3-4)为本发明实施例的钢筋节点的粗定位的效果示意图;
图4(图4-1至图4-3)为本发明实施例的钢筋节点的细定位的效果示意图;
图5为本发明实施例的钢筋绑扎角度的示意图;
图6至图7为本发明实施例的钢筋尺寸计算的示意图;以及
图8为本发明实施例的钢筋的绑扎装置的示意图。
具体实施方式
为了使本发明的上述以及其他特征和优点更加清楚,下面结合附图进一步描述本发明。应当理解,本文给出的具体实施例是出于向本领域技术人员解释的目的,仅是示例性的,而非限制性的。
在以下描述中,阐述了许多具体细节以提供对本发明的透彻理解。然而,对于本领域普通技术人员来说明显的是,不需要采用具体细节来实践本发明。在其他情况下,未详细描述众所周知的步骤或操作,以避免模糊本发明。
实施例一
如图1所示,本发明提供了一种钢筋的绑扎方法,该方法可以包括:
步骤S11,在不同时间点采集钢筋操作面的多个点云图像,其中,在不同时间点中的相邻两个时间点采集到的两个点云图像存在重叠区域。
具体的,在本方案中,可以使用点云数据采集设备采集钢筋操作面的点云图像,上述点云数据采集设备可以为3D点云相机,上述钢筋操作面可以为钢筋笼,钢筋笼可以为立模,在钢筋笼中包括多个横钢筋以及竖钢筋的交叉点,上述多个交叉点即为钢筋节点,即本方案需要控制自动绑扎的钢筋节点,结合图2,本方案可以将点云相机设置于钢筋操作面之前,由点云相机来采集钢筋操作面的多个图像,需要说明的是,在本方案中,点云相机按照不同时间针对钢筋操作面采集多个图像,可以在不同时间点,从钢筋操作面的最左侧到最右侧依次采集多个图像,还需要说明的是,在采集的多个图像中,相邻两个时间点采集到的两个点云图像存在重叠区域,例如,在第一时间点采集第一图像,在第二时间点采集第二图像,在第三时间点采集第三图像,第二时间点晚于第一时间点,第三时间点晚于第二时间点,其中,第一图像与第二图像中包括重叠区域,第二图像与第三图像存在重叠区域,可选的,上述重叠区域可以进行设置,比如重叠范围overlap=50mm。
步骤S13,从多个点云图像中确定钢筋操作面的目标钢筋节点坐标。
具体的,在本方案中,点云相机在采集完钢筋操作面的多个点云图像之后,可以将上述图像发送至上位机,由上位机针对多个点云图像来确定钢筋操作面中的目标钢筋节点的坐标,需要说明的是,上述目标钢筋节点的坐标即为本方案中所绑扎的钢筋操作面中的对个钢筋节点,即横钢筋与竖钢筋交叉的点,本方案可以基于每一个拍摄点拍摄到的点云图像进行计算,得到每一个点云图上的钢筋节点的位置坐标。
步骤S15,根据目标钢筋节点坐标对钢筋操作面进行绑扎。
具体的,在上位机根据上述多个点云图像确定出目标钢筋节点坐标之后,可以将上述目标钢筋节点坐标发送至绑扎机器人(带有钢筋绑扎头的机械臂),由绑扎机器人对钢筋操作面进行绑扎,需要说明的是,绑扎机器人可以自动使用金属丝针对钢筋节点进行缠绕。
通过上述步骤,本方案在控制点云相机在采集钢筋操作面的过程中,并非只采集一张整体图像或者多张整体图像,而是控制点云相机在不同的时间点采集钢筋操作面的多张图像,而且,在相邻时间点的两两图像之间设置有重叠图像,然后再进行钢筋节点的识别,可以保证钢筋操作面的整体都被采集到,使得钢筋节点的识别不会出现遗漏,因此,本方案解决了现有的钢筋绑扎技术在识别钢筋绑扎点的准确性不够,容易出现漏绑导致绑扎效率低的技术问题,本方案保证了绑扎的覆盖率,无需人工补绑,大量节省了人力。
可选的,控制点云数据采集设备按照拍照坐标采集钢筋操作面的多个点云图像,其中,在步骤S11不同时间点采集钢筋操作面的多个点云图像之前,方法还可以包括:
步骤S09,根据点云数据采集设备的视野参数以及钢筋操作面的尺寸参数确定点云数据采集设备的拍照坐标,其中,在拍照坐标下,多个点云图像包括钢筋操作面的整体,拍照坐标为多个。
具体的,在本方案中,本方案可以根据点云数据采集设备的视野参数以及钢筋操作面的尺寸参数确定点云数据采集设备的拍照坐标(拍照点位),上述点云数据采集设备的视野参数可以为点云相机的拍摄距离范围、拍摄视野的宽以及高,上述钢筋操作面的尺寸参数可以为钢筋笼的宽以及高。本方案通过点云相机的视野以及钢筋操作面的尺寸,计算出拍照点的坐标,从而使点云相机在精度满足要求的情况下相机拍摄到的点云可以覆盖整个钢筋操作面。上述点云相机连接有机械臂,可以带动点云相机自由移动至不同的拍照坐标进行拍照。
需要说明的是,上述机械臂既可以带动点云相机进行移动拍照,也可以带动绑扎头对钢筋笼的不同节点进行绑扎,本方案中所有出现的机械臂均可以为同一个机械臂,具体的,相机可以固定在机械臂末端,绑扎头也固定在机械臂末端,拍照任务和绑扎任务可以为同一个机械臂在不同时间的动作。
关于拍照坐标的具体计算过程可以为如下:
相机的拍摄视野参数为如下:拍摄距离范围为[800mm,2000mm],拍摄视野宽为[500mm,1360mm],拍摄视野高为[350mm,860mm],待绑扎钢筋笼(即钢筋操作面)的宽W=1200mm,高H=2700mm。首先,确定相机拍摄距离及姿态,根据相机机械臂的额定工作范围大小和相机的视野大小,本方案可以选择拍照距离d=1000mm,相机拍摄姿态为相机的z轴水平并与钢筋操作平面垂直(钢筋笼为立模),相机拍摄面与钢筋操作面位置示意图如图2所示。然后,计算相机在钢筋操作面上的视野,当本方案中拍照距离为d=1000mm时,根据相机的拍摄视野参数可计算出当前相机在钢筋操作面上的拍摄视野宽 wc和高hc,计算公式可以为(1-1)所示。
接着,计算拍照点坐标,本方案可以预设相邻两个点云图像的重叠范围 overlap=50mm。拍摄点的横坐标可以通过如下公式(1-2)中所示。
[xb,(xb+stridex),(xb+stridex×2),......,(xb+stridex×n)] (1-2)
在公式(1-2)中,xb为左下角起始拍照点横坐标,stridex为横向移动的步长stridex=wc-overlap,n为横向移动的次数,同理可通过如下公式(1-3)来计算出拍摄点的纵坐标:
[yb,(yb+stridey),(yb+stridey×2),......,(yb+stridey×m)] (1-3)
在公式(1-3)中,yb为左下角起始拍照点纵坐标,stridey为纵向移动的步长stridey=hc-overlap,m为纵向移动的次数根据公式(1-2) 中拍照点横坐标和公式(1-3)中拍照点纵坐标可以得到所有拍照点坐标如下公式(1-4)所示,本方案再将所有拍照点排序后按顺序传输给相机机械臂进行拍照。
(xb,yb),(xb+stridex,yb),(xb+stridex×2,yb),...,(xb+stridex×n,yb), (xb,yb+stridey),(xb+stridex,yb+stridey),(xb+stridex×2,yb+stridey),...,(xb+stridex×n,yb+stridey), (xb,yb+stridey×2),(xb+stridex,yb+stridey×2),(xb+stridex×2,yb+stridey×2),...,(xb+stridex×n,yb+stridey×2), ........, (xb,yb+stridey×m),(xb+stridex,yb+stridey×m),(xb+stridex×2,yb+stridey×m),...,(xb+stridex×n,yb+stridey×m) (1-4)。
需要说明的是,上述横向移动步长以及纵向移动步长可以为每次拍完照片之后,相机机械臂带动相机移动的横向位移或者纵向位移,即通过上述横向位移以及纵向位移,相机机械臂带动相机位于不同的拍照点位(拍照的位置坐标),然后通过相机机械臂带动相机拍到多个不同的存在重叠区域的点云图像。
可选的,步骤S13从多个点云图像中确定目标钢筋节点坐标包括:
步骤S131,将多个点云图像进行点云分割,得到钢筋操作面的点云数据。
具体的,在本方案中,将目标操作面(即钢筋操作面)进行点云区域分割,可有效去除冗余的背景点云,将目标操作面分割出来,需要说明的是,目标操作面点云分割可以采用距离阈值的方法实现,由于拍摄点的拍摄位姿固定且拍摄点平面与目标操作面平行,本方案可以根据点云的z坐标范围来进行分割,在本方案中,z坐标的范围为[d-60mm,d+60mm],其中d为拍照距离,即点云中一点pc(x,y,z),若z∈[d-60mm,d+60mm],则保留,否则去除,最后保留下来的所有点则为分割结果即目标操作面的点云pn=(xn,yn,zn),其中,n为目标操作面点云中点的个数。
步骤S132,将钢筋操作面的点云数据进行XOY平面投影,得到钢筋操作面的点云数据的二值图。
具体的,在本方案中,可以计算钢筋操作面点云图在XOY平面投影,将钢筋操作面点云数据做XOY平面上的投影,得到钢筋操作面的mask二值图,需要说明的是,本方式通过上述二值化处理,可以实现数据的降维,从而三维空间问题简化为较成熟的二维图像定位问题来处理。在钢筋操作面点云在XOY平面上的投影二值图中,其中二值图的宽的计算方法可以通过如下公式(1-5)得到,二值图的高的计算方法可以通过如下公式(1-6)得到。
w=max(X)-min(X),X=[x0,x1,......,xn] (1-5)
h=max(Y)-min(Y),Y=[y0,y1,......,yn] (1-6)
步骤S133,基于二值图得到钢筋操作面的第一初始钢筋节点坐标。
具体的,在本方案中,可以将上述通过投影得到的二值图,进行钢筋节点的粗定位,以得到上述第一初始钢筋节点坐标,需要说明的是,上述第一初始钢筋节点坐标仅为粗定位之后的钢筋节点坐标,不代表最终本方案控制绑扎机器人进行实际绑扎的位置坐标。
步骤S134,对二值图进行裁剪,得到包括第一初始钢筋节点坐标的多个图像。
具体的,在本方案中,可以将上述二值图进行裁剪,从而得到包括第一初始钢筋节点坐标的多个图像,上述对个图像可以为包括多个第一初始钢筋节点坐标的多个节点小图像。
步骤S135,基于多个图像对第一初始钢筋节点坐标进行修正处理,得到第二初始钢筋节点坐标。
具体的,在本方案中,可以通过上述多个节点小图像将上述步骤S133 以及步骤S134中经过粗定位的第一初始钢筋节点坐标再进行进一步的精确定位(局部修正),需要说明的是,本发明中对于钢筋节点的细定位,基于节点局部小图实现,对每一个节点小图进行逐像素级的计算,保障了节点定位的准确性,即此种先粗定位后细定位的方式,可以提高钢筋节点的定位准确度。
步骤S136,将第二初始钢筋节点坐标进行3D还原,得到目标钢筋节点坐标,其中,目标钢筋节点坐标为3D点云坐标系下的坐标。
具体的,在本方案中,由上述步骤得到的第二初始钢筋节点坐标,即在操作面投影二值图中的位置坐标pm=(xm,ym),其中,m为节点个数,可计算出节点在3D点云坐标系下的位置pcm=(xcm,ycm,zcm),其中,xcm=xm+min(X), ycm=ymmin(Y),zcm为目标操作面点云中满足x∈[xcm-15,xcm+15]且y∈[ycm-15,ycm+15]的所有点云的z坐标的均值,本方案通过上述方式将钢筋节点坐标还原到3D 点云中,即最终得到3D点云坐标系下的目标钢筋节点坐标,需要说明的是,本方案中对于待绑扎的钢筋操作面,钢筋节点的检测定位基于3D点云图像完成,精度高,误差小,极大的提高了钢筋绑扎的质量和稳定性,其中,对于钢筋节点的定位,采用在点云的2D投影上计算x,y坐标再还原到3D图中计算z坐标的方式实现,算法复杂度低,计算量小,速度快。
可选的,步骤S131基于二值图得到钢筋操作面的第一初始钢筋节点坐标可以包括:
步骤S1311,基于霍夫变换算法确定二值图中的横线以及竖线。
步骤S1312,将横线以及竖线进行聚类,得到多个横线簇和多个竖线簇。
步骤S1313,将多个横线簇的平均线以及多个竖线簇的平均线的交点的坐标确定为第一初始钢筋节点坐标。
具体的,在上述步骤S1311至步骤S1313中,首先,利用霍夫变换算法检测投影二值图中所有的直线anx+bny+cn=0,其中n为直线的个数,根据直线方程可求得直线的倾角,直线倾角如下公式(1-7)所示。
然后,本方案可以将直线分成多个横线和竖线,即若直线的倾斜角 abs(anglen)∈[0°,15°]那么该直线为横线,若直线的倾角abs(anglen)∈[75°,90°]那么该直线为竖线。接着,将所有横线和竖线按照距离进行聚类得到多个横线簇和竖线簇,其中横线簇的聚类计算是当时,Δy<50,则记为同一个横线簇,同理竖线簇的聚类计算是当时,Δx<50则记为同一个竖线簇,然后本方案计算每一个簇的平均线。最后,计算得到横线簇平均线与和竖线簇平均线的交点即为节点pm=(xm,ym),其中m为节点个数。结合图3所示,图3-1至3-4 为本发明实施例的钢筋节点的粗定位的效果示意图,图3-1为投影的二值图,图3-3为经过聚类之后多个横线簇以及多个竖线簇,图3-4为多条横线簇的平均线以及多条竖线簇的平均线,图3-2为多条横线簇的平均线以及多条竖线簇的平均线交叉构成的节点,即上述第一初始钢筋节点。需要说明的是,本申请中对于钢筋节点的粗定位,采用传统的图像处理方法,霍夫变换直线检测再计算横线和竖线交点的方式实现,计算速度快,算法要求的硬件成本低,可有效保障绑扎速度和效率。
可选的,步骤S135,基于多个图像对第一初始钢筋节点坐标进行修正处理,得到第二初始钢筋节点坐标包括:
步骤S1351,计算得到多个图像中横纵坐标的白色点数直方图。
步骤S1352,根据白色点数直方图确定第二初始钢筋节点坐标。
具体的,在本方案中,上述步骤S1351至步骤S1352为钢筋节点的精确定位过程(即上述细定位),本方案对步骤S131中粗定位检测到的节点进行局部位置的修正,本方案可以从原二值图中裁剪出多个包括经过粗定位的节点位置的小图(图中白色区域为钢筋所在区域),然后计算节点小图中横纵坐标的白色点数直方图,其中纵坐标白色点数直方图统计的是节点小图中每一列白色的像素点数量,同理横坐标的白色点数直方图为每一行白色的像素点数量。接着分别找到两个直方图中A,B和C,D点,分别计算AB,CD 的中心线,则两中心线相交的中心点(横竖筋相交的中心点)即为修正后的节点位置。局部修正过程的示意图如图4所示,图4中的图4-1至4-3为本发明实施例的钢筋节点的细定位的效果示意图,其中图4-1的两节点为粗定位后的节点位置与细定位后的节点位置比较,图4-2分别为横向白色点数统计直方图,图4-3为纵向白色点数统计直方图,图4-1中十字交汇处的点即为校正后节点位置(即第二初始钢筋节点坐标)。
可选的,在步骤S15在根据目标钢筋节点坐标对钢筋操作面进行绑扎之前,本申请提供的方法还可以包括:
步骤S141,计算目标钢筋节点中的任意两个节点之间的距离。
步骤S142,根据任意两个节点之间的距离对目标钢筋节点坐标进行去重处理。
具体的,在本方案中,再将所有点云中的节点进行三维空间坐标变换之后,本方案则将相机坐标系下的节点位置坐标转换到机械臂所在的坐标系下。在机械臂所在的坐标系下计算两两节点间距离,距离太小认为两个节点重复,则进行去重处理,去重的方式为取两节点均值后进行保留。具体步骤可以为如下:首先,将相机坐标系下的节点位置坐标转换到机械臂所在的坐标系下,已知3D点云相机固定在机械臂末端且眼到手的变换矩阵由手眼标定得到记作拍照时记录拍照点的机械臂位姿那么节点pcm转换到机械臂base坐标系下的坐标的计算公式可以如下为如下公式(1-8)。
然后,将机械臂坐标系下的节点去重,将所有节点按欧式距离公式(1-9) 进行聚类,距离小于阈值thred则判为重叠点,重叠点位置坐标取平均作为当前重叠节点的坐标并更新,例如,点pb1,pb2两个点为重叠点,那么当前节点坐标按照如下公式(1-10)进行更新,并去除重叠的两个点。
需要说明的是,本发明中对所有待绑扎的节点进行去重,以节点间的3D 空间欧式距离作为节点重叠的度量,可有效去除重复节点,避免重复绑扎,有效提高绑扎效率。
可选的,步骤S15根据目标钢筋节点坐标对钢筋操作面进行绑扎可以包括:
步骤S151,统计目标钢筋节点所在的行数以及所在的列数。
步骤S152,根据目标钢筋节点所在的行数以及所在的列数确定目标钢筋节点的绑扎角度和/或绑扎路径。
步骤S153,控制绑扎机器人按照绑扎角度和/或绑扎路径对目标钢筋节点进行绑扎。
具体的,本方案可以根据目标钢筋节点的坐标来确定每个节点的行数以及所在的列数,然后根据节点的不同行数、列数来确定目标钢筋节点的绑扎角度和/或绑扎路径,需要说明的是,结合图5,上述绑扎角度为钢筋绑扎机器人对钢筋节点用铁丝进行捆扎的时候绑扎的角度,该角度可以为45度, 135度,以及45度,需要说明的是,通过不同的绑扎角度对节点进行绑扎可以使得绑扎之后的钢筋笼更加牢固,可选的,本方案还可以根据节点的不同行数、列数来确定钢筋操作面的绑扎路径,该路径可以为钢筋绑扎机器人的移动路径,本方案可以根据各个节点的坐标将所有节点按列进行排序,将排序后的节点按顺序传输给绑扎机器人的机械臂端进行绑扎,需要说明是,上述绑扎路径可以为先行后列(比如从下到上先绑扎第六行第一列,再绑扎第五行第一列…在绑扎到第一行第一列之后进行第一行第二列、第二行第二列…进行绑扎),也可以为先列后行,在对于多个待绑扎的节点,优选为先按列再按行进行排序,并有序逐一传输给机械臂端进行绑扎,使得完成所有节点绑扎任务机械臂的位移最小,可极大的提高绑扎的效率。
可选的,步骤S152根据目标钢筋节点所在的行数以及所在的列数确定目标钢筋节点的绑扎角度可以包括:
步骤S1521,根据目标钢筋节点所在的行数以及所在的列数的奇偶性确定目标钢筋节点的绑扎角度。
具体的,在本方案中,可以将所有绑扎节点按照行列进行对齐排列,记录每一个节点所在的行数和列数,为达到当前节点与其相邻的四个节点的绑扎方向均相反从而绑扎更牢固的效果,本方案可以根据目标钢筋节点所在的行数以及所在的列数的奇偶性确定目标钢筋节点的绑扎角度,根据行、列数的奇偶性来确定绑扎角度的示例如下表1所示:
表1节点角度绑扎规则
序号
列数奇偶
行数奇偶
绑扎角度
1
奇
奇
45度
2
奇
偶
135度
3
偶
奇
135度
4
偶
偶
45度
需要说明的是,本申请中对带绑扎的节点进行绑扎角度的规划,遵循每一个节点与其相邻的上下左右四个节点的绑扎角度均不同的规则,这样使得绑扎完成的整个钢筋操作面更牢固,降低钢筋滑落的风险。
可选的,在步骤S153控制绑扎机器人按照绑扎角度和/或绑扎路径对目标钢筋节点进行绑扎之前,本申请提供的方法还可以包括:
步骤A,计算得到目标钢筋节点处的横筋以及竖筋的尺寸参数。
步骤B,根据横筋以及竖筋的尺寸参数确定绑扎机器人的送丝长度以及绑扎圈数。
具体的,在本方案中,可以对每一个钢筋节点处的横筋和竖筋的粗细尺寸(粗细尺寸)进行估计,并传输给钢筋绑扎机器人的机械臂,机械臂可以根据钢筋的尺寸来控制绑扎手绑扎时的送丝长度和旋转圈数,保证不同钢筋尺寸的所有节点绑扎均合规。关于步骤A中的目标钢筋节点处的横筋以及竖筋的尺寸参数的计算步骤可以为如下:
由上述实施例步骤S1351中得到钢筋节点二值图的横纵坐标白色点数直方图,然后横坐标直方图,可计算出横筋的粗细尺寸,根据纵坐标直方图可计算出竖筋的粗细尺寸。结合图6以及图7所示,图6至图7为钢筋尺寸计算的示意图,在纵坐标白色点统计直方图上找到点B和C,再计算区间(A,B) 和区间(C,D)内的平均值即为当前节点横筋的尺寸。需要说明的是,本申请中对每一个待绑扎节点处的横筋和细筋的粗细尺寸进行估计,进而根据横竖筋的尺寸来自适应调整绑扎钢丝的长度和钢丝旋转的圈数,使得绑扎成功率更高,绑扎松紧度适中,可以保障钢筋绑扎的质量。
实施例二
本发明还提供了一种钢筋的绑扎装置,该装置可以用于执行上述实施例一中的方法,如图8所示,该装置可以包括:采集单元80,用于在不同时间点采集钢筋操作面的多个点云图像,其中,在不同时间点中的相邻两个时间点采集到的两个点云图像存在重叠区域。确定单元82,用于从多个点云图像中确定钢筋操作面的目标钢筋节点坐标。绑扎单元84,用于根据目标钢筋节点坐标对钢筋操作面进行绑扎。
具体的,在本方案中,可以使用采集单元80来接收点云数据采集设备采集到的钢筋操作面的点云图像,上述点云数据采集设备可以为3D点云相机,上述钢筋操作面可以为钢筋笼,钢筋笼可以为立模,在钢筋笼中包括多个横钢筋以及竖钢筋的交叉点,上述多个交叉点即为钢筋节点,即本方案需要控制自动绑扎的钢筋节点,结合图2,本方案可以将点云相机设置于钢筋操作面之前,由点云相机来采集钢筋操作面的多个图像,需要说明的是,在本方案中,点云相机按照不同时间针对钢筋操作面采集多个图像,可以在不同时间点,从钢筋操作面的最左侧到最右侧依次采集多个图像,还需要说明的是,在采集的多个图像中,相邻两个时间点采集到的两个点云图像存在重叠区域,例如,在第一时间点采集第一图像,在第二时间点采集第二图像,在第三时间点采集第三图像,第二时间点晚于第一时间点,第三时间点晚于第二时间点,其中,第一图像与第二图像中包括重叠区域,第二图像与第三图像存在重叠区域,可选的,上述重叠区域可以进行设置,比如重叠范围 overlap=50mm。点云相机在采集完钢筋操作面的多个点云图像之后,可以将上述图像发送至上位机,由上位机针对多个点云图像来确定钢筋操作面中的目标钢筋节点的坐标,需要说明的是,上述目标钢筋节点的坐标即为本方案中所绑扎的钢筋操作面中的对个钢筋节点,即横钢筋与竖钢筋交叉的点,本方案可以基于每一个拍摄点拍摄到的点云图像进行计算,得到每一个点云图上的钢筋节点的位置坐标。在上位机根据上述多个点云图像确定出目标钢筋节点坐标之后,可以将上述目标钢筋节点坐标发送至绑扎机器人(带有钢筋绑扎功能的机械臂),由绑扎机器人对钢筋操作面进行绑扎,需要说明的是,绑扎机器人可以自动使用金属丝针对钢筋节点进行缠绕。
通过上述装置中各个单元,本方案在控制点云相机在采集钢筋操作面的过程中,并非只采集一张整体图像或者多张整体图像,而是控制点云相机在不同的时间点采集钢筋操作面的多张图像,而且,在相邻时间点的两两图像之间设置有重叠图像,然后再进行钢筋节点的识别,可以保证钢筋操作面的整体都被采集到,使得钢筋节点的识别不会出现遗漏,因此,本方案解决了现有的钢筋绑扎技术在识别钢筋绑扎点的准确性不够,容易出现漏绑导致绑扎效率低的技术问题,本方案保证了绑扎的覆盖率,无需人工补绑,大量节省了人力。
应理解,本文中前述关于本发明的方法所描述的具体特征、操作和细节也可类似地应用于本发明的装置或系统,或者,反之亦然。另外,上文描述的本发明的方法的每个步骤可由本发明的装置或系统的相应部件或单元执行。
应理解,本发明的装置的各个模块/单元可全部或部分地通过软件、硬件、固件或其组合来实现。所述各模块/单元各自可以硬件或固件形式内嵌于计算机设备的处理器中或独立于所述处理器,也可以软件形式存储于计算机设备的存储器中以供处理器调用来执行所述各模块/单元的操作。所述各模块/单元各自可以实现为独立的部件或模块,或者两个或更多个模块/单元可实现为单个部件或模块。
在一个实施例中,提供了一种计算机设备,其包括存储器和处理器,所述存储器上存储有可由处理器执行的计算机指令,所述计算机指令在由所述处理器执行时指示所述处理器执行本发明的方法的各步骤。该计算机设备可以广义地为服务器、终端,或任何其他具有必要的计算和/或处理能力的电子设备。在一个实施例中,该计算机设备可包括通过系统总线连接的处理器、存储器、网络接口、通信接口等。该计算机设备的处理器可用于提供必要的计算、处理和/或控制能力。该计算机设备的存储器可包括非易失性存储介质和内存储器。该非易失性存储介质中或上可存储有操作系统、计算机程序等。该内存储器可为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口和通信接口可用于与外部的设备通过网络连接和通信。该计算机程序被处理器执行时执行本发明的用于电池充电的方法的步骤。
本发明也可以实现为一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在由处理器执行时导致本发明的实施例一方法的步骤被执行。在一个实施例中,所述计算机程序被分布在网络耦合的多个计算机设备或处理器上,以使得所述计算机程序由一个或多个计算机设备或处理器以分布式方式存储、访问和执行。单个方法步骤/操作,或者两个或更多个方法步骤/操作,可以由单个计算机设备或处理器或由两个或更多个计算机设备或处理器执行。一个或多个方法步骤/操作可以由一个或多个计算机设备或处理器执行,并且一个或多个其他方法步骤/操作可以由一个或多个其他计算机设备或处理器执行。一个或多个计算机设备或处理器可以执行单个方法步骤/ 操作,或执行两个或更多个方法步骤/操作。
本领域普通技术人员可以理解,本发明的方法步骤可以通过计算机程序来指示相关的硬件如计算机设备或处理器完成,所述的计算机程序可存储于非暂时性计算机可读存储介质中,该计算机程序被执行时导致本发明的步骤被执行。根据情况,本文中对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器的示例包括只读存储器 (ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘等。易失性存储器的示例包括随机存取存储器(RAM)、外部高速缓冲存储器等。
以上描述的各技术特征可以任意地组合。尽管未对这些技术特征的所有可能组合进行描述,但这些技术特征的任何组合都应当被认为由本说明书涵盖,只要这样的组合不存在矛盾。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。