机器人基坐标系位姿的确定方法、装置、系统及可读介质
技术领域
本发明涉及机器人技术领域,尤其涉及一种机器人基坐标系位姿的确定方法、装置、系统及计算机可读介质。
背景技术
随着机器人领域相关技术的迅猛发展,越来越多自由度各异、用途多样的工业机器人被应用到如激光加工、零部件制造等生产环节中,以此实现了加工制造业的标准化、自动化、程序化,提高了工业制造业的生产效率。而在多自由度工业机器人的使用过程中,首先需要确定出多自由度机器人的基坐标系的位置与姿态,以此定位从而控制机器人的各个组件按照预设的坐标轨迹运动来完成预设动作。
但在实际操作中,机器人工作系统中的基座、夹具和/或工件等机器人外部的装置在生产过程中常可能出现位置变动,而这个变动可能导致以上述外部装置为参照确定出的机器人的基坐标系的位姿信息随之出现偏差,从而导致多自由度机器人的各部件在按照预设坐标信息进行运动过程中的准确性、操作精准度达不到生产的需要。
而现有技术中采取的机器人基坐标系的确定方式主要是通过用户手动操作示教器获取机器人外部的工作台、夹具或工件的相关特征点,然后输入到机器人内部装置进行计算以确定基坐标的位姿信息,这样人工手动示教需要花费较长时间,从而降低了机器人生产活动的效率。
发明内容
基于此,有必要针对上述问题,提出一种机器人基坐标系位姿的确定方法、装置、计算机设备及可读介质。
一种机器人基坐标系位姿的确定方法,所述方法基于一机器人系统,所述系统包括多自由度机器人、工作台、夹具和/或工件,所述方法包括:
获取预设装置上至少3个不共面的特征点作为目标参考点,获取其世界坐标,所述预设装置包括所述工作台、夹具和/或工件;
根据所述目标参考点的世界坐标建立基坐标系;
根据所述基坐标系的坐标轴方向向量确定所述基坐标系相对于世界坐标系的旋转矩阵;
根据所述旋转矩阵确定所述基坐标系的姿态角。
一种机器人基坐标系位姿的确定装置,所述装置包括:
获取单元,用于获取预设装置上至少3个不共面的特征点作为目标参考点,获取其世界坐标,所述预设装置包括所述工作台、夹具和/或工件;
建立单元,用于根据所述目标参考点的世界坐标建立基坐标系;
第一确定单元,用于根据所述基坐标系的坐标轴方向向量确定所述基坐标系相对于世界坐标系的旋转矩阵;
第二确定单元,用于根据所述旋转矩阵确定所述基坐标系的姿态角。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取预设装置上至少3个不共面的特征点作为目标参考点,获取其世界坐标,所述预设装置包括所述工作台、夹具和/或工件;
根据所述目标参考点的世界坐标建立基坐标系;
根据所述基坐标系的坐标轴方向向量确定所述基坐标系相对于世界坐标系的旋转矩阵;
根据所述旋转矩阵确定所述基坐标系的姿态角。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取预设装置上至少3个不共面的特征点作为目标参考点,获取其世界坐标,所述预设装置包括所述工作台、夹具和/或工件;
根据所述目标参考点的世界坐标建立基坐标系;
根据所述基坐标系的坐标轴方向向量确定所述基坐标系相对于世界坐标系的旋转矩阵;
根据所述旋转矩阵确定所述基坐标系的姿态角。
本发明实施例基于一个包括多自由度机器人、工作台、夹具和/或工件的机器人系统实现,通过将系统中预设装置上的至少3个特征点作为目标参考点,根据目标参考点的世界坐标建立机器人对应的基坐标系,再根据基坐标系的坐标轴方向向量确定出基坐标系相对于世界坐标系的旋转矩阵,根据该旋转矩阵进一步确定基坐标系的姿态角信息。区别于相关技术中需要用户手动操作示教器等获取机器人外部的工作台、夹具或工件的相关特征点坐标信息,然后手动输入到机器人内部装置进行计算以确定其基坐标系的位姿信息导致的效率低下的缺陷,本发明实施例中所提出的确定机器人基坐标系的位姿方法可以自动计算出机器人基坐标系的位置与姿态,因此提高了多自由度机器人控制的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中根据目标参考点的世界坐标建立基坐标系的流程图;
图2为一个实施例中根据所述目标参考点的世界坐标建立基坐标系的流程图。
图3为一个实施例中根据所述基坐标系的坐标轴方向向量信息确定所述基坐标系相对于世界坐标系的旋转矩阵的流程图;
图4为一个实施例中计算所述目标坐标轴方向向量在世界坐标系中的投影向量的流程图;
图5为一个实施例中根据所述旋转矩阵确定所述基坐标系的姿态角的流程图;
图6为一个实施例中据所述旋转矩阵确定所述基坐标系相对于世界坐标系的方向余弦矩阵的流程图;
图7为一个实施例在“机器人在激光处理时其工作台被移动时确定机器人基坐标系的位置与姿态”的应用场景下的具体流程图;
图8为一个实施例中机器人基坐标系位姿的确定装置的结构框图;
图9为一个实施例中计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述人工获取外部特征点再输入机器人内部以确定机器人基坐标系的位姿的效率低下的问题,本发明实施例提供了一种机器人基坐标系位姿的确定方法。该方法可以基于一个包含多自由度机器人、工作台、夹具和/或工件的系统实现,上述系统还可以包括一计算机设备,用于处理相关数据以确定多自由度机器人的基坐标系的位置与姿态,该计算机设备可以是与前述工作台、夹具连接的例如PC、平板电脑等的终端设备,也可以是集成在所述多自由度机器人中的处理器。
本发明中所述的机器人基坐标系位姿的确定方法至少包括如图1所示的步骤S1022-S1028,图1为一个实施例中根据目标参考点的世界坐标建立基坐标系的流程图。
在进一步对以下各步骤进行说明之前,首先对本发明的目标主体多自由度机器人进行说明:在机器人领域中,一个自由度是指物体能够沿着或者围绕一个坐标轴运动,而多自由度指的是该物体由多个不同的可分别运动具有一个以上自由度的部件构成。
因此区别于单自由度的机器人控制时只需要对单个运动部件整体进行定位与操控,多自由度机器人由于其存在多个可独立运动的以预设方式相连接的运动子部件,因此需要针对每一个子部件的坐标信息以及运动轨迹进行确定,以此实现对整个机器人运动的控制和调整。
在步骤S1022中,获取预设装置上至少3个不共面的特征点作为目标参考点,获取其世界坐标,所述预设装置包括所述工作台、夹具和/或工件。
具体的,将获取的目标特征点标记为S、S1、S2三点。
需要说明的是,基于笛卡尔坐标系的建立原则,S、S1、S2不可共面。
在可选的实施例中,基于外部预设装置的特征点的位置的获取可以通过预设的传感装置(如光学照相装置)。
在可选的实施例中,上述工作台可以是多自由度机器人所被部置于的平台装置,而夹具可以是基于前述工作台上用于限制待处理工件移动范围的控制性部件,工件则是根据具体应用场景进行替换的预设类型的可被多自由度机器人的运动装置进行预设处理的实体部件。
另外,本发明提出的多自由度机器人基坐标系的位姿确定方法并不因上述预设装置的具体内容的改变而受限,即只要获取处于机器人外部的任意预设装置上的特征点即可继续后续步骤,在工件的类型替换或是工作台的形态变化时并不影响。
在步骤S1024中,根据所述目标参考点的世界坐标建立基坐标系。
具体的,上述根据所述目标参考点的世界坐标建立基坐标系的过程还至少包括步骤S1032-S1038,下面结合图2进行说明。
图2为一个实施例中根据所述目标参考点的世界坐标建立基坐标系的流程图。
在步骤S1032中,根据所述目标参考点的世界坐标确定第一向量、第二向量,所述第一向量与第二向量不平行。
具体的,在获取了S、S1、S2三点的在世界坐标系(记为W)中的世界坐标信息后,分别可以将第一向量为而第二向量确定为(根据向量积的定义可知:的方向分别垂直于与这两个向量所在的平面)。
在步骤S1034中,根据所述第一向量、第二向量确定第三向量,所述第三向量垂直于所述第一向量与第二向量所共在的平面。
具体的,第三向量可记为(同理,的方向分别垂直于与这两个向量所在的平面)。
在步骤S1036中,对所述第一向量、第二向量、第三向量进行单位化处理,将所述单位化处理之后的第一向量、第二向量、第三向量作为目标坐标轴方向向量。
为了方便后续的相关矩阵的计算过程,做到快速确定出机器人的基坐标系的位姿信息以此对机器人的运动实现及时调节和控制,在确定了上述向量 所在的方向作为基坐标系的坐标轴方向后,可以进一步地将上述三个向量单位化处理作为基坐标系的坐标轴的方向向量。
具体的处理过程可以是:第一向量对应基坐标系的X轴单位向量:第二向量对应基坐标系的Z轴单位向量:第三向量对应基坐标系的Y轴单位向量:
在步骤S1038中,根据所述目标坐标轴方向向量按照预设规则建立基坐标系。
具体的,上述预设规则可以是笛卡尔坐标系规则,如可以根据步骤S1036中确定的X轴方向向量、Z轴方向向量、Y轴方向向量,按照左手定则(即左手定则:以左手握住Z轴,当左手四指从正向X轴以π/2角度转向正向Y轴时,大拇指的指向为Z轴的正向)建立一个三轴对应的空间直角坐标系作为机器人的基坐标系记为S。
在步骤S1026中,根据所述基坐标系的坐标轴方向向量确定所述基坐标系相对于世界坐标系的旋转矩阵。
具体的,上述步骤S1026至少还包括如图3示出的步骤S1042-S1044。
图3为一个实施例中根据所述基坐标系的坐标轴方向向量信息确定所述基坐标系相对于世界坐标系的旋转矩阵的流程图。
在步骤S1042中,计算所述目标坐标轴方向向量在世界坐标系中的投影向量。
首先,旋转矩阵包括了两个坐标系的转换关系,即可以根据旋转矩阵描述一个坐标系相对于另一个的姿态,因此旋转矩阵可以用于一个点在不同坐标系中的坐标间的相互转换。
具体的,设步骤S1038中建立的基坐标系S到世界坐标系W的方向旋转矩阵为根据旋转矩阵的定义可知旋转矩阵的列向量,是基坐标系S各坐标轴的单位向量在世界坐标系中的投影向量。
具体的,上述计算投影向量的过程还至少包括如4示出的步骤S1052-S1054。图4为一个实施例中计算所述目标坐标轴方向向量在世界坐标系中的投影向量的流程图。
在步骤S1052中,获取世界坐标系的坐标轴方向向量。
为了后续计算的便利,可以在此设世界坐标系W中X、Y、Z三个坐标轴的单位向量分别为:
在步骤S1054中,获取所述基坐标系的坐标轴方向向量与所述世界坐标系的坐标轴方向向量的向量积作为所述目标坐标轴方向向量在世界坐标系中的投影向量。
具体的,结合步骤S1036与S1052中的分别对基坐标系的坐标轴方向向量与世界坐标系的坐标轴方向向量的说明,基坐标系S的X轴在世界坐标系W中的投影向量应该为S的X轴方向向量与W的坐标三轴的方向向量的向量积即:
同理,基坐标系S的Y轴在世界坐标系W中的投影向量应该为Y轴方向向量与W的坐标三轴的方向向量的向量积即
基坐标系S的Z轴在世界坐标系W中的投影向量确定方法同上,应为
在步骤S1044中,根据所述投影向量计算所述基坐标系相对于世界坐标系的旋转矩阵。
根据步骤S1042中确定出的S各坐标轴在W中的投影向量可以将旋转矩阵确定为:
继续对步骤S1028进行说明,在步骤S1028中,根据所述旋转矩阵确定所述基坐标系的姿态角。
具体的,图5示出了根据所述旋转矩阵确定所述基坐标系的姿态角的流程图,至少包括步骤S1062-S1064。
在步骤S1062中,根据所述旋转矩阵确定所述基坐标系相对于世界坐标系的方向余弦矩阵。
具体的,步骤S1062又可以包括图6示出的步骤S1072-S1076。
图6为一个实施例中据所述旋转矩阵确定所述基坐标系相对于世界坐标系的方向余弦矩阵的流程图。
在步骤S1072中,获取所述多自由度机器人的类型信息。
由于机器人的自由度数目不同,构造以及用途不同,其在应用环境中的运动方式和针对运动的控制也由此各异,因此在描述机器人的姿态时可以对应选择。
具体的,多自由度机器人的类型信息可以包括机器人对应的自由度数目、定位精度、工作范围、最大工作速度、承载能力等影响其运动控制参数。
在步骤S1074中,根据所述类型信息确定目标姿态角描述方式。
在一个具体的实施例中,例如针对用于激光处理处理的多自由度机器人,考率到其工作范围有限,但是自由度数目以及定位精度都较高,因此可以采用准确度较高但计算量适中的ZYX式欧拉角的方式来描述其基坐标系对应的姿态角。
在步骤S1076中,根据所述旋转矩阵确定在所述目标姿态角描述方式下所述基坐标系相对于世界坐标系的方向余弦矩阵。
具体的,结合步骤S1044中的确定出旋转矩阵,将其对应表示为
式1中将旋转矩阵中的等各投影向量按顺序用向量等对应指代,以方便后续的计算。在按照ZYX欧拉角的方式描述姿态角时,对应的方向余弦矩阵应为:
在步骤S1064中,根据所述方向余弦矩阵确定所述基坐标系相对于世界坐标系的姿态角。
具体根据方向余弦矩阵的定义,可以将步骤S1062中列出的式1与式2关联,从而对应计算出式2中的α、β、γ分别为基坐标系S绕世界坐标系W的Z、Y、X三轴旋转的姿态角。对应计算结果如下(基于反三角函数的特性,分别表示为β不为90°、为90°以及为-90°这三种情况):
下面结合图7示出根据本发明一示例实施方式在为“在机器人进行激光处理其工作台被移动时确定机器人基坐标系的位置与姿态”的应用场景下的具体流程。
此应用场景可以基于一个包括一个可以执行预设动作的多自由度机器人,以及用于放置待处理工件以及其他工具及装置的工作台、用于限制待处理的工件的移动范围夹具以及待被激光处理的工件的系统实现。
具体的,本发明一实施例的所述应用场景下的具体流程包括步骤S1082-S1088,说明如下:
在步骤S1082中,确定工件和工作台上的三个特征点作为目标特征点,获取目标特征点的世界坐标。
具体的,三个目标特征点A、A1、A2的世界坐标可以分别是(0,0,0)、(1,1,2)、(1,2,1)。
在步骤S1084中,根据目标参考点的世界坐标建立基坐标系。
参考前续步骤S1024中的相关说明,可以确定出基坐标系的X、Z、Y三轴的方向向量分别为单位化前:第二向量为第三向量将单位化后的分别记为则分别计算出为(0.4,0.8,0.4)、(0.9,0.3,0.3)、(0.12,0.48,0.84)。
在步骤S1086中,根据所述基坐标系的坐标轴方向向量确定所述基坐标系相对于世界坐标系的旋转矩阵。
具体的,参考前续步骤S1026中的对旋转矩阵的相关说明,可以根据 确定出所述基坐标系相对于世界坐标系的旋转矩阵如下:
在步骤S1088中,根据所述旋转矩阵确定所述基坐标系的姿态角。
首先根据当前应用场景确定以ZYX欧拉角来描述所述基坐标系的姿态角,并将机器人的基坐标系对于与世界坐标系的X、Y、Z轴的姿态角分分别设为ε、μ、δ,根据旋转矩阵与方向余弦矩阵以及姿态角这三者的对应关系解出ε、μ、δ分别为19.7°、63.4°、23.5°即根据姿态角的定义,确定出机器人的基坐标系围绕世界坐标的X、Y、Z三个坐标轴分别旋转了19.7°、63.4°、23.5°的角度。
图8为一个实施例中机器人基坐标系位姿的确定装置的结构框图。
参考图8所示,根据本发明的一个实施例的机器人基坐标系位姿的确定装置1080,包括:获取单元1082、建立单元1084、第一确定单元1086和第二确定单元1088。
其中,获取单元1082,用于获取预设装置上至少3个不共面的特征点作为目标参考点,获取其世界坐标,所述预设装置包括所述工作台、夹具和/或工件。
第一确定单元1084,用于根据所述目标参考点的世界坐标建立基坐标系。
判断单元1086,用于根据所述基坐标系的坐标轴方向向量确定所述基坐标系相对于世界坐标系的旋转矩阵。
切换单元1088,用于根据所述旋转矩阵确定所述基坐标系的姿态角。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图9所示,该计算机设备包括通过系统总线连接的处理器、存储器和控制模块、传感模块、通信模块。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现本机器人基坐标系位姿的确定方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行本机器人基坐标系位姿的确定方法。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取预设装置上至少3个不共面的特征点作为目标参考点,获取其世界坐标,所述预设装置包括所述工作台、夹具和/或工件;
根据所述目标参考点的世界坐标建立基坐标系;
根据所述基坐标系的坐标轴方向向量确定所述基坐标系相对于世界坐标系的旋转矩阵;
根据所述旋转矩阵确定所述基坐标系的姿态角。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。