发明内容
本发明的主要目的在于提出一种桌面机械臂标定方法,旨在解决上述背景技术中所提出的技术问题。
为实现上述目的,本发明提出一种桌面机械臂标定方法,该桌面机械臂标定方法包括:
控制所述旋转底座和所述小臂的关节角保持不变并分别控制所述大臂转动三个不同的第一预设角度;
获取所述大臂转动各角度后所述机械臂末端的第一外界坐标,基于三个所述第一外界坐标确定所述大臂的实际臂长。
其中,在基于三个所述第一外界坐标确定所述大臂的实际臂长的步骤之后,所述桌面机械臂标定方法还包括:
控制所述大臂和所述小臂的关节角保持不变并分别控制所述旋转底座转动三个不同的第二预设角度,获取所述旋转底座转动各角度后所述机械臂末端的第二外界坐标;
在获取三个所述第二外界坐标后,保持所述小臂的关节角不变并控制所述大臂转动第三预设角度;
在所述大臂转动第三预设角度后保持所述大臂和所述小臂的关节角不变,并分别控制所述旋转底座转动三个不同的第四预设角度;
获取所述旋转底座转动各角度后所述机械臂末端的第三外界坐标,基于三个所述第二外界坐标和三个所述第三外界坐标确定所述大臂的第一投影长度差;
根据所述第一投影长度差和所述大臂在转动前后的两个位置之间的距离,计算所述大臂的实际转动角度。
其中,所述桌面机械臂标定方法还包括:
控制所述旋转底座和所述大臂的关节角保持不变并分别控制所述小臂转动三个不同的第四预设角度;
获取所述大臂转动各角度后所述机械臂末端的第四外界坐标,基于三个所述第四外界坐标确定所述小臂的实际臂长。
其中,在基于三个所述第四外界坐标确定所述小臂的实际臂长的步骤之后,所述桌面机械臂标定方法还包括:
控制所述大臂和所述小臂的关节角保持不变并分别控制所述旋转底座转动三个不同的第五预设角度,获取所述旋转底座转动各角度后所述机械臂末端的第五外界坐标;
在获取三个所述第五外界坐标后,保持所述大臂的关节角不变并控制所述小臂转动第六预设角度;
在所述小臂转动第六预设角度后保持所述大臂和所述小臂的关节角不变,并分别控制所述旋转底座转动三个不同的第七预设角度;
获取所述旋转底座转动各角度后所述机械臂末端的第六外界坐标,基于三个所述第五外界坐标和三个所述第六外界坐标确定所述小臂的第二投影长度差;
根据所述第二投影长度差和所述小臂在转动前后的两个位置之间的距离,计算所述小臂的实际转动角度。
其中,所述桌面机械臂标定方法还包括:
控制所述大臂和所述小臂的关节角保持不变并分别控制所述旋转底座转动三个不同的第八预设角度;
获取所述旋转底座转动各角度后所述机械臂末端的第七外界坐标,基于三个所述第七外界坐标和所述桌面机械臂的运动学模型确定所述机械臂末端的实际长度。
本发明进一步提出一种桌面机械臂标定装置,该桌面机械臂标定装置包括:
第一运动控制模块,用于控制所述旋转底座和所述小臂的关节角保持不变并分别控制所述大臂转动三个不同的第一预设角度;
大臂实际长度确定模块,用于获取所述大臂转动各角度后所述机械臂末端的第一外界坐标,基于三个所述第一外界坐标确定所述大臂的实际臂长。
其中,所说桌面机械臂标定装置还包括:
第二运动控制模块,用于控制所述大臂和所述小臂的关节角保持不变并分别控制所述旋转底座转动三个不同的第二预设角度,获取所述旋转底座转动各角度后所述机械臂末端的第二外界坐标;
第三运动控制模块,用于在获取三个所述第二外界坐标后,保持所述小臂的关节角不变并控制所述大臂转动第三预设角度;
第四运动控制模块,用于在所述大臂转动第三预设角度后保持所述大臂和所述小臂的关节角不变,并分别控制所述旋转底座转动三个不同的第四预设角度;
第一投影长度差确定模块,用于获取所述旋转底座转动各角度后所述机械臂末端的第三外界坐标,基于三个所述第二外界坐标和三个所述第三外界坐标确定所述大臂的第一投影长度差;
大臂零点偏移量确定模块,用于根据所述第一投影长度差和所述大臂在转动前后的两个位置之间的距离,计算所述大臂的实际转动角度,基于所述大臂的实际转动角度和理论转动角度确定所述大臂的零点偏移量。
其中,所述桌面机械臂标定装置还包括:
第五运动控制模块,用于控制所述旋转底座和所述大臂的关节角保持不变并分别控制所述小臂转动三个不同的第四预设角度;
小臂实际长度确定模块,用于获取所述小臂转动各角度后所述机械臂末端的第四外界坐标,基于三个所述第四外界坐标确定所述小臂的实际臂长。
其中,所述桌面机械臂标定装置还包括:
第六运动控制模块,用于控制所述大臂和所述小臂的关节角保持不变并分别控制所述旋转底座转动三个不同的第五预设角度,获取所述旋转底座转动各角度后所述机械臂末端的第五外界坐标;
第七运动控制模块,用于在获取三个所述第五外界坐标后,保持所述大臂的关节角不变并控制所述小臂转动第六预设角度;
第八运动控制模块,用于在所述小臂转动第六预设角度后保持所述大臂和所述小臂的关节角不变,并分别控制所述旋转底座转动三个不同的第七预设角度;
第二投影长度差确定模块,用于获取所述旋转底座转动各角度后所述机械臂末端的第六外界坐标,基于三个所述第五外界坐标和三个所述第六外界坐标确定所述小臂的第二投影长度差;
小臂零点偏移量确定模块,用于根据所述第二投影长度差和所述小臂在转动前后的两个位置之间的距离计算所述小臂的实际转动角度,基于所述小臂的实际转动角度和理论转动角度确定所述小臂的零点偏移量。
其中,所述桌面机械臂标定装置还包括:
第九运动控制模块,用于控制所述大臂和所述小臂的关节角保持不变并分别控制所述旋转底座转动三个不同的第八预设角度;
机械臂末端实际长度确定模块,用于获取所述旋转底座转动各角度后所述机械臂末端的第七外界坐标,基于三个所述第七外界坐标和所述桌面机械臂的运动学模型确定所述机械臂末端的实际长度。
与现有技术相比,本发明实施例的有益技术效果在于:
本发明实施例所提出的桌面机械臂标定方法,其先保持旋转底座和小臂的关节角不变,再控制大臂转动三个不同的第一预设角度,以使得机械臂末端随之转动至三个不同的位置处,同时通过坐标测量装置获取机械臂末端在三个不同位置处的外界坐标,譬如激光跟踪仪,而后通过三个外界坐标确定每两个位置之间的距离,再通过外接圆半径计算公式计算大臂的实际臂长,因为旋转底座和小臂的关节角保持不变,所以大臂的臂长即为外接圆的半径。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开一种桌面机械臂标定方法,在一实施方式中,参见图1,该桌面机械臂标定方法包括以下步骤:
步骤S10,控制旋转底座和小臂的关节角保持不变并分别控制大臂转动三个不同的第一预设角度;
本实施例中,先保持旋转底座的关节角为θ1,小臂的关节角为θ3,再控制大臂转动三个不同的第一预设角度,大臂转动三个不同角度后,其所对应的关节角分别为θ21,θ22,θ23。在转动大臂时,三个第一预设角度的差值需尽可能大,并在转动各角度后通过坐标测量装置获取机械臂末端在此位置处的外界坐标,本实施例通过激光跟踪仪获取外界坐标,包括但不限于此,激光跟踪仪仅为示例性的,而非限制性的。需要说明的是,外界坐标是相较于桌面机械臂坐标系而言的,此外界是指机械臂末端在运动空间内的笛卡尔坐标。
可以理解的是,由于大臂转动时底座和小臂的关节角是保持不变的,因此大臂末端的轨迹是与机械臂末端的轨迹相同的。也就是说,可以将大臂末端在关节角为θ21,θ22,θ23时的外界坐标等同于机械臂末端的坐标。
步骤S20,获取大臂转动各角度后机械臂末端的第一外界坐标,基于三个第一外界坐标确定大臂的实际臂长。
本实施例中,大臂在转动三个不同角度后,大臂的末端在运动空间内对应有三个位置点,此三个位置点连线后构成三角形。而由于大臂在转动时小臂的关节角是保持不动的,因此大臂的臂长即为上述三角形的外接圆半径,根据外接圆的半径求解公式即可计算得到大臂的实际臂长。
具体的,先根据空间两点的距离公式计算上述三角形的三边边长:
设定三边边长分别为a,b,c,三个第一外界坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)
再根据外接圆的半径公式计算上述三角形的外接圆半径,也即大臂的实际臂长L2:
在一实施例中,参见图2,本发明所提出的桌面机械臂标定方法还包括以下步骤:
步骤S30,控制大臂和小臂的关节角保持不变并分别控制旋转底座转动三个不同的第二预设角度,获取旋转底座转动各角度后机械臂末端的第二外界坐标;
步骤S40,在获取三个第二外界坐标后,保持小臂的关节角不变并控制大臂转动第三预设角度;
步骤S50,在大臂转动第三预设角度后保持大臂和小臂的关节角不变,并分别控制旋转底座转动三个不同的第四预设角度;
步骤S60,获取旋转底座转动各角度后机械臂末端的第三外界坐标,基于三个第二外界坐标和三个第三外界坐标确定大臂的第一投影长度差;
步骤S70,根据第一投影长度差和大臂在转动前后的两个位置之间的距离,计算大臂的实际转动角度,基于大臂的实际转动角度和理论转动角度确定大臂的零点偏移量。
本实施例中,先保持小臂的关节角为θ3,再旋转大臂到关节角为θ21,而后保持小臂和大臂的关节角不变,再控制旋转底座转动三个不同的第二预设角度,在转动三个第二预设角度后,旋转底座所对应的关节角分别为θ11,θ12,θ13,三个不同的第二预设角度需尽可能大。在转动各角度后,通过坐标测量装置获取机械臂末端在三个位置处的第二外界坐标,本实施例通过激光跟踪仪获取坐标值,此仅为示例性的,而非限制性的,包括但不限于此。
可以理解的是,由于旋转底座转动时大臂和小臂的关节角保持不变,因此桌面机械臂的旋转半径即为大臂、小臂和机械臂末端在水平面上的投影,因此根据两点之间的距离公式和外接圆的半径公式即可计算得到桌面机械臂在水平面上的第一投影长度。需要说明的是,此外接圆即为由上述机械臂末端所在三个位置点连线构成的三角形的外接圆。
设定三边边长分别为a1,b1,c1,三个第二外界坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)
再根据外接圆的半径公式计算上述三角形的外接圆半径,也即桌面机械臂在水平面内的第一投影长度H1:
在获取第一投影长度H1后,保持小臂的关节角为θ3,控制大臂转动第三预设角度,大臂转动后所对应的关节角为θ22。在大臂转动至关节角为θ22后,保持大臂和小臂的关节角不变,控制旋转底座转动三个不同的第四预设角度,在转动三个第四预设角度后,旋转底座所对应的关节角分别为θ11,θ12,θ13,三个不同的第二预设角度需尽可能大。在转动各角度后,通过坐标测量装置获取机械臂末端在三个位置处的第三外界坐标,本实施例通过激光跟踪仪获取坐标值,此仅为示例性的,而非限制性的,包括但不限于此。
可以理解的是,由于旋转底座转动时大臂和小臂的关节角保持不变,因此桌面机械臂的旋转半径即为大臂、小臂和机械臂末端在水平面上的投影,因此根据两点之间的距离公式和外接圆的半径公式即可计算得到桌面机械臂在水平面上的第二投影长度。需要说明的是,此外接圆即为由上述机械臂末端所在三个位置点连线构成的三角形的外接圆。
设定三边边长分别为a2,b2,c2,三个第二外界坐标分别为(x4,y4,z4),(x5,y5,z5),(x6,y6,z6)
再根据外接圆的半径公式计算上述三角形的外接圆半径,也即桌面机械臂在水平面内的第二投影长度H2:
参见图6,在旋转底座的中心O建立坐标系,大臂旋转两个角度θ21,θ22后,大臂的末端处于B,C两点,B,C两点的距离为S,OB=OC=L2,大臂在θ21,θ22两个关节角处的投影差为Herr,D为BC中点,OD垂直BC,EC与坐标系X轴平行,BE与坐标系Y轴平行。
需要说明的是,因为大臂的两次转动(对应关节角分别为θ21,θ22)都只是变动了大臂的关节角,所以投影差Herr是两个关节角θ21,θ22下大臂的投影差值。
因此,投影差Herr=H1-H2;
计算大臂末端两点的距离S,具体的,以臂为旋转中心,旋转底座和小臂的关节角保持不变,根据上述的旋转坐标,(θ11、θ21、θ3),(θ11、θ22、θ3)满足要求,对应的坐标为(x1,y1,z1),(x4,y4,z4)。
根据空间两点的距离公式:
如图6所示,θ21为大臂的实际转动角度:
θ21=β-α
假设大臂不存在传动系数误差,只存在零点偏移,那么大臂的实际转动角度与理论转动角度具有如下换算关系:
θ实际=θ理论+θ零点偏移
那么,大臂的零点偏移量:
在另一实施例中,参见图3,本发明所提出的桌面机械臂标定方法还包括以下步骤:
步骤S80,控制旋转底座和大臂的关节角保持不变并分别控制小臂转动三个不同的第四预设角度;
本实施例中,先保持旋转底座的关节角为θ1,大臂的关节角为θ2,再控制小臂转动三个不同的第四预设角度,大臂转动三个不同角度后,其所对应的关节角分别为θ31,θ32,θ33。在转动小臂时,三个第四预设角度的差值需尽可能大,并在转动各角度后通过坐标测量装置获取机械臂末端在此位置处的外界坐标,本实施例通过激光跟踪仪获取外界坐标,包括但不限于此。
步骤S90,获取小臂转动各角度后机械臂末端的第四外界坐标,基于三个第四外界坐标确定小臂的实际臂长。
本实施例中,小臂在转动三个不同角度后,小臂的末端在运动空间内对应有三个位置点,此三个位置点连线后构成三角形。而由于小臂在转动时大臂的关节角是保持不动的,因此小臂的臂长即为上述三角形的外接圆半径,根据外接圆的半径求解公式即可计算得到小臂的实际臂长。
具体的,先根据空间两点的距离公式计算上述三角形的三边边长:
设定三边边长分别为a,b,c,三个第一外界坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)
再根据外接圆的半径公式计算上述三角形的外接圆半径,也即大臂的实际臂长L3:
在又一实施例中,参见图4,本发明所提出的桌面机械臂标定方法还包括以下步骤:
步骤S100,控制大臂和小臂的关节角保持不变并分别控制旋转底座转动三个不同的第五预设角度,获取旋转底座转动各角度后机械臂末端的第五外界坐标;
步骤S200,在获取三个第五外界坐标后,保持大臂的关节角不变并控制小臂转动第六预设角度;
步骤S300,在小臂转动第六预设角度后保持大臂和小臂的关节角不变,并分别控制旋转底座转动三个不同的第七预设角度;
步骤S400,获取旋转底座转动各角度后机械臂末端的第六外界坐标,基于三个第五外界坐标和三个第六外界坐标确定小臂的第二投影长度差;
步骤S500,根据第二投影长度差和小臂在转动前后的两个位置之间的距离计算小臂的实际转动角度,基于小臂的实际转动角度和理论转动角度确定小臂的零点偏移量;
本实施例中,先保持大臂的关节角为θ2,再旋转小臂到关节角为θ31,而后保持小臂和大臂的关节角不变,再控制旋转底座转动三个不同的第五预设角度,在转动三个第五预设角度后,旋转底座所对应的关节角分别为θ11,θ12,θ13,三个不同的第五预设角度需尽可能大。在转动各角度后,通过坐标测量装置获取机械臂末端在三个位置处的第五外界坐标,本实施例通过激光跟踪仪获取坐标值,此仅为示例性的,而非限制性的,包括但不限于此。
可以理解的是,由于旋转底座转动时大臂和小臂的关节角保持不变,因此桌面机械臂的旋转半径即为大臂、小臂和机械臂末端在水平面上的投影,因此根据两点之间的距离公式和外接圆的半径公式即可计算得到桌面机械臂在水平面上的第三投影长度。需要说明的是,此外接圆即为由上述机械臂末端所在三个位置点连线构成的三角形的外接圆。
在获取第三投影长度后,保持大臂的关节角为θ2,控制小臂转动第六预设角度,小臂转动后所对应的关节角为θ32。在小臂转动至关节角为θ32后,保持大臂和小臂的关节角不变,控制旋转底座转动三个不同的第七预设角度,在转动三个第七预设角度后,旋转底座所对应的关节角分别为θ11,θ12,θ13,三个不同的第七预设角度需尽可能大。在转动各角度后,通过坐标测量装置获取机械臂末端在三个位置处的第六外界坐标,本实施例通过激光跟踪仪获取坐标值,此仅为示例性的,而非限制性的,包括但不限于此。
本实施例中所涉及到的第三投影长度、第四投影长度以及小臂在转动前后两点的距离都与上述记载的大臂计算过程相同,因此申请人在此不再赘述,直接列出小臂的零点偏移量:
在再一实施例中,参见图5,本发明所提出的桌面机械臂标定方法还包括以下步骤:
步骤S600,控制大臂和所述小臂的关节角保持不变并分别控制旋转底座转动三个不同的第八预设角度;
步骤S700,获取旋转底座转动各角度后机械臂末端的第七外界坐标,基于三个第七外界坐标和桌面机械臂的运动学模型确定机械臂末端的实际长度。
本实施例中,控制大臂转动至关节角为θ2,控制小臂转动至关节角为θ3,而后保持大臂和小臂的关节角不变,控制旋转底座转动三个第八预设角度,旋转底座转动三个第八预设角度后,其所对应的关节角为θ11,θ12,θ13。在转动旋转底座时,三个第八预设角度的差值需尽可能大,并在转动各角度后通过坐标测量装置获取机械臂末端在此位置处的外界坐标,本实施例通过激光跟踪仪获取外界坐标,包括但不限于此,激光跟踪仪仅为示例性的,而非限制性的。
先根据空间两点距离公式,求出点与点之间的距离a,b,c,三点所对应的坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)
再根据外接圆的半径公式计算上述三角形的外接圆半径,也即机械臂的旋转半径:
而根据机械臂的运动学模型,旋转半径:
R=L2*sin(θ2)+L3*cos(θ3)+L末
因此,L末=R-L2*sin(θ2)-L3*cos(θ3)
本发明还提出一种桌面机械臂标定装置,该桌面机械臂标定装置包括:
第一运动控制模块,用于控制旋转底座和小臂的关节角保持不变并分别控制大臂转动三个不同的第一预设角度;
大臂臂实际长度确定模块,用于获取大臂转动各角度后机械臂末端的第一外界坐标,基于三个第一外界坐标确定大臂的实际臂长。
在一实施例中,本发明所提出的桌面机械臂标定装置还包括:
第二运动控制模块,用于控制大臂和小臂的关节角保持不变并分别控制旋转底座转动三个不同的第二预设角度,获取旋转底座转动各角度后机械臂末端的第二外界坐标;
第三运动控制模块,用于在获取三个第二外界坐标后,保持小臂的关节角不变并控制大臂转动第三预设角度;
第四运动控制模块,用于在大臂转动第三预设角度后保持大臂和小臂的关节角不变,并分别控制旋转底座转动三个不同的第四预设角度;
第一投影长度差确定模块,用于获取旋转底座转动各角度后机械臂末端的第三外界坐标,基于三个第二外界坐标和三个第三外界坐标确定大臂的第一投影长度差;
大臂零点偏移量确定模块,用于根据第一投影长度差和大臂在转动前后的两个位置之间的距离,计算大臂的实际转动角度,基于大臂的实际转动角度和理论转动角度确定大臂的零点偏移量。
在另一实施例中,本发明所提出的桌面机械臂标定装置还包括:
第五运动控制模块,用于控制旋转底座和大臂的关节角保持不变并分别控制小臂转动三个不同的第四预设角度;
小臂实际臂长确定模块,用于获取小臂转动各角度后机械臂末端的第四外界坐标,基于三个第四外界坐标确定小臂的实际臂长。
在又一实施例中,本发明所提出的桌面机械臂标定装置还包括:
第六运动控制模块,用于控制大臂和小臂的关节角保持不变并分别控制旋转底座转动三个不同的第五预设角度,获取旋转底座转动各角度后机械臂末端的第五外界坐标;
第七运动控制模块,用于在获取三个第五外界坐标后,保持大臂的关节角不变并控制小臂转动第六预设角度;
第八运动控制模块,用于在小臂转动第六预设角度后保持大臂和小臂的关节角不变,并分别控制旋转底座转动三个不同的第七预设角度;
第二投影长度差确定模块,用于获取旋转底座转动各角度后机械臂末端的第六外界坐标,基于三个第五外界坐标和三个第六外界坐标确定小臂的第二投影长度差;
小臂零点偏移量确定模块,用于根据第二投影长度差和小臂在转动前后的两个位置之间的距离计算小臂的实际转动角度,基于小臂的实际转动角度和理论转动角度确定小臂的零点偏移量。
在再一实施例中,本发明所提出的桌面机械臂标定装置还包括:
第九运动控制模块,用于控制大臂和小臂的关节角保持不变并分别控制旋转底座转动三个不同的第八预设角度;
机械臂末端实际长度确定模块,用于获取旋转底座转动各角度后机械臂末端的第七外界坐标,基于三个第七外界坐标和桌面机械臂的运动学模型确定机械臂末端的实际长度。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnIy Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上的仅为本发明的部分或优选实施例,无论是文字还是附图都不能因此限制本发明保护的范围,凡是在与本发明一个整体的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明保护的范围内。