CN111037563A - 机械臂校准方法、装置、设备及计算机可读存储介质 - Google Patents
机械臂校准方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111037563A CN111037563A CN201911383471.4A CN201911383471A CN111037563A CN 111037563 A CN111037563 A CN 111037563A CN 201911383471 A CN201911383471 A CN 201911383471A CN 111037563 A CN111037563 A CN 111037563A
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- angle
- arm
- actual
- joint angle
- 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.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种机械臂校准方法,包括:获取第一实际臂长以及第一实际角度,并获取第二实际臂长以及第二实际角度;获取第一关节角以及第一外界纵坐标;对称旋转底座;获取第二关节角以及第二外界纵坐标;基于第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及第二外界纵坐标,确定机械臂末端的长度。本发明还公开了一种机械臂校准装置、设备及计算机可读存储介质。本发明通过第一机械臂与第二机械臂的参数以及外界坐标系,确定机械臂末端的长度,减小物理定位以及机械臂模型与实际机械臂模型之间存在的偏差,提高机械臂的末端定位精度。
Description
技术领域
本发明涉及机器人技术领域,尤其涉及一种机械臂校准方法、装置、设备及计算机可读存储介质。
背景技术
随着现有技术的迅速发展,机器人开始走进老百姓的生活中,机器人的使用领域较为广泛,以服务行业为例,机器人可从事餐饮、维护保养、修理、运输、清洗、救援或监护等工作,能完成有益于人类健康的服务工作,给人民的生活带来的极大的便利。
机械臂在运动的时候会涉及到运动学模型,运动学模型用于将电机运动转换到机械臂末端的位置和姿态,计算过程需要确定机械臂当前时刻电机角度与机械臂模型的角度映射关系,即确定零点位置,同时还需要结合机械臂的臂长参数等进行计算,在一个机械臂使用之前,往往会通过物理定位方式确定机械臂电机角度与机械臂模型零点对应,使用机械臂设计模型确定机械臂臂长参数。
实际使用,物理定位机械臂零点以及机械臂模型都与实际机械臂模型存在一定的偏差,导致实际机械臂末端的位置与理论计算出来的位置存在偏差,降低了机械臂的末端长度的精度。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种机械臂校准方法、装置、设备及计算机可读存储介质,旨在解决现有机械臂模型中机械臂的末端长度的精度低技术问题。
为实现上述目的,本发明提供一种机械臂校准方法,所述机械臂包括底座、第一机械臂、第二机械臂以及机械臂末端,所述机械臂校准方法包括以下步骤:
获取所述第一机械臂的第一实际臂长以及所述第一机械臂对应的第一实际角度,并获取第二机械臂的第二实际臂长以及所述第二机械臂对应的第二实际角度;
获取所述底座对应的第一关节角,以及所述机械臂的第一预设位置对应的第一外界纵坐标;
控制所述机械臂以所述底座的零点为中心,对称旋转所述底座;
获取所述底座对应的第二关节角,以及所述第一预设位置对应的第二外界纵坐标;
基于所述第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及所述第二外界纵坐标,确定所述机械臂末端的长度。
进一步地,所述获取所述述第一机械臂对应的第一实际角度的步骤包括:
获取所述第一机械臂当前的第一理论关节角,以及所述第一机械臂的第二预设位置对应的第一外界坐标;
在所述第一机械臂移动第一预设角度时,获取所述第一机械臂当前的第二理论关节角,以及所述第二预设位置对应的第二外界坐标;
基于所述第一外界坐标以及所述第二外界坐标,确定所述第一机械臂的第一投影长度差以及第一投影高度差;
基于所述第一理论关节角、所述第二理论关节角、所述第一投影长度差以及第一投影高度差,确定所述第一机械臂的关节角对应的第一零点偏移角度;
基于所述第一零点偏移角度以及所述第一机械臂当前的第一理论角度,确定所述第一实际角度。
进一步地,所述第二预设位置为所述第一机械臂与所述第二机械臂的连接点,所述获取获取所述第一机械臂的第一实际臂长的步骤包括:
基于所述第一投影高度差、所述第一零点偏移角度、所述第一理论关节角以及所述第二理论关节角,确定所述第一实际臂长。
进一步地,所述第二机械臂对应的第二实际角度的步骤包括:
获取所述第二机械臂当前的第三理论关节角,以及所述第二机械臂的第三预设位置对应的第三外界坐标;
在所述第二机械臂移动第二预设角度时,获取所述第二机械臂当前的第四理论关节角,以及所述第三预设位置对应的第四外界坐标;
基于所述第三外界坐标以及所述第四外界坐标,确定所述第二机械臂的第二投影长度差以及第二投影高度差;
基于所述第三理论关节角、所述第四理论关节角、所述第二投影长度差以及第二投影高度差,确定所述第二机械臂的关节角对应的第二零点偏移角度;
基于所述第二零点偏移角度以及所述第二机械臂当前的第二理论角度,确定所述第二实际角度。
进一步地,所述第三预设位置为所述第二机械臂与所述机械臂末端的连接点,所述获取第二机械臂的第二实际臂长的步骤包括:
基于所述第二投影高度差、所述第二零点偏移角度、所述第三理论关节角以及所述第四理论关节角,确定所述第二实际臂长。
进一步地,所述获取所述底座对应的第一关节角的步骤包括:
获取所述底座当前的第五理论关节角,以及所述底座的第四预设位置对应的第五外界坐标;
在所述底座移动第三预设角度时,获取所述底座当前的第六理论关节角,以及所述第四预设位置对应的第六外界坐标;
基于所述第五理论关节角、所述第六理论关节角、所述第五外界坐标以及第六外界坐标,确定所述底座的关节角对应的第三零点偏移角度;
基于所述第三零点偏移角度以及所述底座当前的第三理论角度,确定所述第一关节角。
进一步地,所述获取所述底座对应的第二关节角的步骤包括:
基于所述第三零点偏移角度以及所述底座当前的第四理论角度,确定所述第二关节角。
此外,为实现上述目的,本发明还提供一种机械臂校准装置,所述机械臂包括底座、第一机械臂、第二机械臂以及机械臂末端,所述机械臂校准装置包括:
第一获取模块,用于获取所述第一机械臂的第一实际臂长以及所述第一机械臂对应的第一实际角度,并获取第二机械臂的第二实际臂长以及所述第二机械臂对应的第二实际角度;
第二获取模块,用于获取所述底座对应的第一关节角,以及所述机械臂的第一预设位置对应的第一外界纵坐标;
控制模块,用于控制所述机械臂以所述底座的零点为中心,对称旋转所述底座;
第三获取模块,用于获取所述底座对应的第二关节角,以及所述第一预设位置对应的第二外界纵坐标;
确定模块,用于基于所述第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及所述第二外界纵坐标,确定所述机械臂末端的长度。
此外,为实现上述目的,本发明还提供一种机械臂校准设备,所述机械臂校准设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的机械臂校准程序,所述机械臂校准程序被所述处理器执行时实现前述的机械臂校准方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有机械臂校准程序,所述机械臂校准程序被处理器执行时实现前述的机械臂校准方法的步骤。
本发明通过获取所述第一机械臂的第一实际臂长以及所述第一机械臂对应的第一实际角度,并获取第二机械臂的第二实际臂长以及所述第二机械臂对应的第二实际角度,接着获取所述底座对应的第一关节角,以及所述机械臂的第一预设位置对应的第一外界纵坐标;而后控制所述机械臂以所述底座的零点为中心,对称旋转所述底座;然后获取所述底座对应的第二关节角,以及所述第一预设位置对应的第二外界纵坐标;最后基于所述第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及所述第二外界纵坐标,确定所述机械臂末端的长度,通过第一机械臂与第二机械臂的参数以及外界坐标系,确定机械臂末端的长度,使用外界坐标系对已经进行物理定位以及机械臂模型参数匹配的情况下下,减小物理定位以及机械臂模型与实际机械臂模型之间存在的偏差,提高机械臂的末端定位精度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境中机械臂校准设备的结构示意图;
图2为本发明机械臂校准方法第一实施例的流程示意图;
图3为本发明机械臂在一实施例的结构示意图;
图4为本发明机械臂校准装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中机械臂校准设备的结构示意图。
本发明实施例机械臂校准设备可以是机器人,也可以是PC。如图1所示,该机械臂校准设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,机械臂校准设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图1中示出的机械臂校准设备结构并不构成对机械臂校准设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及机械臂校准程序。
在图1所示的机械臂校准设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的机械臂校准程序。
在本实施例中,机械臂校准设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的机械臂校准程序,其中,处理器1001调用存储器1005中存储的机械臂校准程序时,并执行下述机械臂校准方法中的操作。
本发明还提供一种机械臂校准方法,参照图2,图2为本发明机械臂校准方法第一实施例的流程示意图。
本实施例中,参照图3,机械臂包括底座、第一机械臂L1、第二机械臂L2以及机械臂末端LinkH,其中,第一机械臂的关节角为θ1,第二机械臂的关节角θ2。
该机械臂校准方法包括:
步骤S100,获取所述第一机械臂的第一实际臂长以及所述第一机械臂对应的第一实际角度,并获取第二机械臂的第二实际臂长以及所述第二机械臂对应的第二实际角度;
本实施例中,第一机械臂以及第二机械臂均已经过校准,第一实际臂长以及第二实际臂长为校准后的数据,第一实际角度通过第一机械臂的理论关节角与该关节角对应的第一零点偏移角度得到,第二实际角度通过第二机械臂的理论关节角与该关节角对应的第二零点偏移角度得到。
步骤S200,获取所述底座对应的第一关节角,以及所述机械臂的第一预设位置对应的第一外界纵坐标;
本实施例中,底座也已通过校准,该底座对应的第一关节角通过底座的理论关节角与该关节角对应的第三零点偏移角度得到。
第一外界纵坐标通过预设的外界坐标系获得,例如,通过坐标测量装置测量该第一预设位置对应的第一外界纵坐标,并获取该坐标测量装置测量到的第一外界纵坐标,其中,该第一预设位置为机械臂末端的端点。
步骤S300,获取所述机械臂以所述底座的零点为中心对称旋转所述底座后,所述底座对应的第二关节角,以及所述第一预设位置对应的第二外界纵坐标;
本实施例中,可在获取到第一外界纵坐标后,控制机械臂以所述底座的零点为中心对称旋转所述底座,而后获取底座对应的第二关节角,以及第一预设位置对应的第二外界纵坐标。
或者,对称旋转所述底座前,存储第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第一外界纵坐标,并控制机械臂以所述底座的零点为中心对称旋转所述底座,而后获取存储的第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第一外界纵坐标,并获取底座对应的第二关节角,以及第一预设位置对应的第二外界纵坐标。
步骤S400,基于所述第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及所述第二外界纵坐标,确定所述机械臂末端的长度。
本实施例中,由于以底座零点为中心,对称旋转底座关节角,机械臂的其它参数保持不变,机械臂任一点的横轴坐标均保持不变,该机械臂的投影长度h1只与纵坐标有关系。因此,在获取到第二关节角以及第二外界纵坐标之后,基于第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及所述第二外界纵坐标,确定所述机械臂末端的长度。
具体地,根据机械臂运动模型,可知:
机械臂的投影长度:h1=l1cosθ1+l2cosθ2+l末;
机械臂末端的端点的投影高度:y=hsinθ0;
进而可得到:y=(l1cosθ1+l2cosθ2+l末)sinθ0;
其中,l1为第一实际臂长,θ1为第一实际角度,l2为第二实际臂长,θ2为第二实际角度,l末为机械臂末端的长度,θ0为底座对应的关节角。
令a=y1-y2;b=l1cosθ1+l2cosθ2;d=sinθ01;e=sinθ02;
其中,θ01为第一关节角,θ02为第二关节角,y1为第一外界纵坐标,y2为第二外界纵坐标。
则通过上述公式可得到,a=(b+l末)d-(b+l末)e。
进而得到机械臂末端的长度的计算公式为:l末=(a-bd+de)/(d-e),进而可通过该公式准确得到机械臂末端的长度。
本实施例提出的机械臂校准方法,通过获取所述第一机械臂的第一实际臂长以及所述第一机械臂对应的第一实际角度,并获取第二机械臂的第二实际臂长以及所述第二机械臂对应的第二实际角度,接着获取所述底座对应的第一关节角,以及所述机械臂的第一预设位置对应的第一外界纵坐标;而后控制所述机械臂以所述底座的零点为中心,对称旋转所述底座;然后获取所述底座对应的第二关节角,以及所述第一预设位置对应的第二外界纵坐标;最后基于所述第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及所述第二外界纵坐标,确定所述机械臂末端的长度,通过第一机械臂与第二机械臂的参数以及外界坐标系,确定机械臂末端的长度,使用外界坐标系对已经进行物理定位以及机械臂模型参数匹配的情况下下,减小物理定位以及机械臂模型与实际机械臂模型之间存在的偏差,提高机械臂的末端定位精度。
基于第一实施例提出本发明机械臂校准方法的第二实施例,在本实施例中,步骤S100包括:
步骤S101,获取所述第一机械臂当前的第一理论关节角,以及所述第一机械臂的第二预设位置对应的第一外界坐标;
步骤S102,在所述第一机械臂移动第一预设角度时,获取所述第一机械臂当前的第二理论关节角,以及所述第二预设位置对应的第二外界坐标;
步骤S103,基于所述第一外界坐标以及所述第二外界坐标,确定所述第一机械臂的第一投影长度差以及第一投影高度差;
步骤S104,基于所述第一理论关节角、所述第二理论关节角、所述第一投影长度差以及第一投影高度差,确定所述第一机械臂的关节角对应的第一零点偏移角度;
步骤S105,基于所述第一零点偏移角度以及所述第一机械臂当前的第一理论角度,确定所述第一实际角度。
本实施例中,获取所述第一机械臂当前的第一理论关节角,以及第一机械臂的第二预设位置对应的第一外界坐标,其中,第一外界坐标通过预设的外界坐标系获得,例如,通过坐标测量装置测量该第二预设位置对应的第一外界坐标,并获取该坐标测量装置测量到的第一外界坐标,其中,该第二预设位置为第一机械臂的任意位置,优选地,该第二预设位置为所述第一机械臂与所述第二机械臂的连接点。
而后,控制第一机械臂移动第一预设角度,机械臂中底座、第二机械臂以及机械臂末端的参数均保持不变,并获取第一机械臂当前的第二理论关节角,以及第二预设位置对应的第二外界坐标,该第二外界坐标与第一外界坐标的获取方式类似。
接着,基于第一外界坐标以及第二外界坐标,确定第一机械臂的第一投影长度差以及第一投影高度差,基于第一理论关节角、第二理论关节角、所述第一投影长度差以及第一投影高度差,确定所述第一机械臂的关节角对应的第一零点偏移角度,最后基于第一零点偏移角度以及第一机械臂当前的第一理论角度,确定所述第一实际角度,进而准确得到第一实际角度。
具体地,根据机械臂运动模型,可知:
第一机械臂的投影长度差为:h11-h12=l1cosθ11-l1cosθ12;
第一机械臂的投影高度差为:v11-v12=-l1sinθ11+l1sinθ12;
其中,l1为第一实际臂长,θ11为第一机械臂移动第一预设角度前的实际角度,θ12为第一机械臂移动第一预设角度后的实际角度,h11为第一外界坐标的横坐标,h12为第二外界坐标的横坐标;v11为第一外界坐标的众坐标,v12为第二外界坐标的众坐标。
令a1=(h11-h12)/(v11-v12);
则,a1=-tan((θ11+θ12)/2);
根据理论角度与实际角度的计算公式,可得到:θ11=θ13-θ1零点偏移,θ12=θ14-θ1零点偏移;
其中,θ1零点偏移为第一零点偏移角度,θ13为第一理论关节角,θ14为第二理论关节角。进而可得到第一零点偏移角度的计算公式为:
θ1零点偏移=(2atan(a1)+(θ13+θ14))/2,
进而可通过该公式准确得到第一零点偏移角度。而第一实际角度为第一机械臂当前的第一理论角度-θ1零点偏移。
进一步地,在一实施例中,第二预设位置为所述第一机械臂与所述第二机械臂的连接点,步骤S100包括:
基于所述第一投影高度差、所述第一零点偏移角度、所述第一理论关节角以及所述第二理论关节角,确定所述第一实际臂长。
具体地,根据第一机械臂的投影长度差的公式可得:
l1=(h11-h12)/(cos(θ13-θ1零点偏移)-cos(θ14-θ1零点偏移));
或者,根据第一机械臂的投影高度差公式可得:
l1=(v11-v12)/(-sin(θ13-θ1零点偏移)+sin(θ14-θ1零点偏移));
进而,可通过其中的任一公式计算第一实际臂长。
本实施例提出的机械臂校准方法,通过获取所述第一机械臂当前的第一理论关节角,以及所述第一机械臂的第二预设位置对应的第一外界坐标;接着在所述第一机械臂移动第一预设角度时,获取所述第一机械臂当前的第二理论关节角,以及所述第二预设位置对应的第二外界坐标;而后基于所述第一外界坐标以及所述第二外界坐标,确定所述第一机械臂的第一投影长度差以及第一投影高度差;然后基于所述第一理论关节角、所述第二理论关节角、所述第一投影长度差以及第一投影高度差,确定所述第一机械臂的关节角对应的第一零点偏移角度;最后基于所述第一零点偏移角度以及所述第一机械臂当前的第一理论角度,确定所述第一实际角度,能够通过外界坐标系确定第一机械臂对应的第一零点偏移角度,根据第一零点偏移角度得到第一实际角度,减小物理定位以及机械臂模型与实际机械臂模型之间存在的偏差,提高第一实际角度的准确度,进一步提高机械臂的末端定位精度。
基于第一实施例提出本发明机械臂校准方法的第二实施例,在本实施例中,步骤S100包括:
步骤S106,获取所述第二机械臂当前的第三理论关节角,以及所述第二机械臂的第三预设位置对应的第三外界坐标;
步骤S107,在所述第二机械臂移动第二预设角度时,获取所述第二机械臂当前的第四理论关节角,以及所述第三预设位置对应的第四外界坐标;
步骤S108,基于所述第三外界坐标以及所述第四外界坐标,确定所述第二机械臂的第二投影长度差以及第二投影高度差;
步骤S109,基于所述第三理论关节角、所述第四理论关节角、所述第二投影长度差以及第二投影高度差,确定所述第二机械臂的关节角对应的第二零点偏移角度;
步骤S110,基于所述第二零点偏移角度以及所述第二机械臂当前的第二理论角度,确定所述第二实际角度。
本实施例中,获取所述第二机械臂当前的第三理论关节角,以及第二机械臂的第三预设位置对应的第三外界坐标,其中,第三外界坐标通过预设的外界坐标系获得,例如,通过坐标测量装置测量该第三预设位置对应的第三外界坐标,并获取该坐标测量装置测量到的第三外界坐标,其中,该第三预设位置为第二机械臂的任意位置,优选地,该第三预设位置为所述第二机械臂与机械臂末端的连接点。
而后,控制第二机械臂移动第二预设角度,机械臂中底座、第一机械臂以及机械臂末端的参数均保持不变,并获取第二机械臂当前的第四理论关节角,以及第三预设位置对应的第四外界坐标,该第四外界坐标与第三外界坐标的获取方式类似。
接着,基于第三外界坐标以及第四外界坐标,确定第二机械臂的第二投影长度差以及第二投影高度差,基于第三理论关节角、第四理论关节角、所述第二投影长度差以及第二投影高度差,确定所述第二机械臂的关节角对应的第二零点偏移角度,最后基于第二零点偏移角度以及第二机械臂当前的第二理论角度,确定所述第二实际角度,进而准确得到第二实际角度。
具体地,根据机械臂运动模型,可知:
第二机械臂的投影长度差为:h21-h22=l2cosθ21-l2cosθ22;
第二机械臂的投影高度差为:v21-v22=-l2sinθ21+l2sinθ22;
其中,l2为第二实际臂长,θ21为第二机械臂移动第二预设角度前的实际角度,θ22为第二机械臂移动第二预设角度后的实际角度,h21为第三外界坐标的横坐标,h22为第四外界坐标的横坐标;v21为第三外界坐标的众坐标,v22为第四外界坐标的众坐标。
令a2=(h21-h22)/(v21-v22);
则,a2=tan((θ21+θ22)/2);
根据第二机械臂的理论角度与实际角度的计算公式,可得到:θ21=θ23-
θ2零点偏移,θ22=θ24-θ2零点偏移;
其中,θ2零点偏移为第二零点偏移角度,θ23为第三理论关节角,θ24为第四理论关节角。进而可得到第二零点偏移角度的计算公式为:
θ2零点偏移=-(2atan(a2)-(θ23+θ24))/2,
进而可通过该公式准确得到第二零点偏移角度。而第二实际角度为第二机械臂当前的第二理论角度-θ2零点偏移。
进一步地,在一实施例中,第三预设位置为所述第二机械臂与所述机械臂末端的连接点,步骤S100包括:
基于所述第二投影高度差、所述第二零点偏移角度、所述第三理论关节角以及所述第四理论关节角,确定所述第二实际臂长。
具体地,根据第二机械臂的投影长度差的公式可得:
l2=(h21-h22)/(cos(θ23-θ2零点偏移)-cos(θ24-θ2零点偏移));
或者,根据第二机械臂的投影高度差公式可得:
l2=(v21-v22)/(-sin(θ23-θ2零点偏移)+sin(θ24-θ2零点偏移));
进而,可通过其中的任一公式计算第二实际臂长。
本实施例提出的机械臂校准方法,通过获取所述第二机械臂当前的第三理论关节角,以及所述第二机械臂的第三预设位置对应的第三外界坐标;接着在所述第二机械臂移动第二预设角度时,获取所述第二机械臂当前的第四理论关节角,以及所述第三预设位置对应的第四外界坐标;而后基于所述第三外界坐标以及所述第四外界坐标,确定所述第二机械臂的第二投影长度差以及第二投影高度差;然后基于所述第三理论关节角、所述第四理论关节角、所述第二投影长度差以及第二投影高度差,确定所述第二机械臂的关节角对应的第二零点偏移角度;最后基于所述第二零点偏移角度以及所述第二机械臂当前的第二理论角度,确定所述第二实际角度,能够通过外界坐标系确定第二机械臂对应的第二零点偏移角度,根据第二零点偏移角度得到第二实际角度,减小物理定位以及机械臂模型与实际机械臂模型之间存在的偏差,提高第二实际角度的准确度,进一步提高机械臂的末端定位精度。
基于上述各个实施例提出本发明机械臂校准方法的第四实施例,在本实施例中,步骤S300包括:
步骤S201,获取所述底座当前的第五理论关节角,以及所述底座的第四预设位置对应的第五外界坐标;
步骤S202,在所述底座移动第三预设角度时,获取所述底座当前的第六理论关节角,以及所述第四预设位置对应的第六外界坐标;
步骤S203,基于所述第五理论关节角、所述第六理论关节角、所述第五外界坐标以及第六外界坐标,确定所述底座的关节角对应的第三零点偏移角度;
步骤S204,基于所述第三零点偏移角度以及所述底座当前的第三理论角度,确定所述第一关节角。
本实施例中,获取所述底座当前的第五理论关节角,以及底座的第四预设位置对应的第五外界坐标,其中,第五外界坐标通过预设的外界坐标系获得,例如,通过坐标测量装置测量该第四预设位置对应的第五外界坐标,并获取该坐标测量装置测量到的第五外界坐标,其中,该第四预设位置为所述第一机械臂与底座的连接点。
而后,控制底座移动第第三预设角度,机械臂中第一机械臂、第二机械臂以及机械臂末端的参数均保持不变,并获取所述底座当前的第六理论关节角,以及所述第四预设位置对应的第六外界坐标;该第六外界坐标与第五外界坐标的获取方式类似。
接着,基于所述第五理论关节角、所述第六理论关节角、所述第五外界坐标以及第六外界坐标,确定所述底座的关节角对应的第三零点偏移角度;并基于所述第三零点偏移角度以及所述底座当前的第三理论角度,确定所述第一关节角,进而准确得到第一关节角。
具体地,根据机械臂运动模型,
底座横轴方向的长度差值为:x1-x2=h31cosθ31-h32cosθ32;
底座众轴方向的长度差值为:y1-y2=h31sinθ31-h32sinθ32;
其中,(x1,y1)为第五外界坐标;;(x2,y2)为第六外界坐标,θ31为底座移动第三预设角度前的实际角度,θ32为底座移动第三预设角度后的实际角度,h31为底座移动第三预设角度前的实际投影长度,h32为底座移动第三预设角度前的实际投影长度。
由于仅移动了底座的关节角,因此,h31=h32;
进而,(x1-x2)/(y1-y2)=(cosθ31-cosθ32)/(sinθ31-sinθ32)=-tan((θ31+θ32)/2);
根据底座的理论角度与实际角度的计算公式,得到:θ31=θ33-θ3零点偏移,θ32=θ34-θ3零点偏移;
其中,θ3零点偏移为第二零点偏移角度,θ33为第五理论关节角,θ34为第六理论关节角。
进而可得到第三零点偏移角度的计算公式为:
θ3零点偏移=((θ33+θ34)-(2atan(-(x1-x2)/(y1-y2)))/2,
进而可通过该公式准确得到第三零点偏移角度。而第一关节角为底座当前的第三理论角度-θ3零点偏移。
进一步地,在一实施例中,步骤S400包括:
基于所述第三零点偏移角度以及所述底座当前的第四理论角度,确定所述第二关节角。
第二关节角为底座当前的第四理论角度-θ3零点偏移。
本实施例提出的机械臂校准方法,通过获取所述底座当前的第五理论关节角,以及所述底座的第四预设位置对应的第五外界坐标;接着所述底座移动第三预设角度时,获取所述底座当前的第六理论关节角,以及所述第四预设位置对应的第六外界坐标;而后基于所述第五理论关节角、所述第六理论关节角、所述第五外界坐标以及第六外界坐标,确定所述底座的关节角对应的第三零点偏移角度;最后基于所述第三零点偏移角度以及所述底座当前的第三理论角度,确定所述第一关节角,能够通过外界坐标系确定底座的第三零点偏移角度,根据第三零点偏移角度得到第一关节角,减小物理定位以及机械臂模型与实际机械臂模型之间存在的偏差,提高第一关节角的准确度,进一步提高机械臂的末端定位精度。
本发明实施例还提供一种机械臂校准装置,参照图3,所述机械臂包括底座、第一机械臂、第二机械臂以及机械臂末端,所述机械臂校准装置包括:
第一获取模块100,用于获取所述第一机械臂的第一实际臂长以及所述第一机械臂对应的第一实际角度,并获取第二机械臂的第二实际臂长以及所述第二机械臂对应的第二实际角度;
第二获取模块200,用于获取所述底座对应的第一关节角,以及所述机械臂的第一预设位置对应的第一外界纵坐标;
控制模块300,用于控制所述机械臂以所述底座的零点为中心,对称旋转所述底座;
第三获取模块400,用于获取所述底座对应的第二关节角,以及所述第一预设位置对应的第二外界纵坐标;
确定模块500,用于基于所述第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及所述第二外界纵坐标,确定所述机械臂末端的长度。
进一步地,第一获取模块100还用于:
获取所述第一机械臂当前的第一理论关节角,以及所述第一机械臂的第二预设位置对应的第一外界坐标;
在所述第一机械臂移动第一预设角度时,获取所述第一机械臂当前的第二理论关节角,以及所述第二预设位置对应的第二外界坐标;
基于所述第一外界坐标以及所述第二外界坐标,确定所述第一机械臂的第一投影长度差以及第一投影高度差;
基于所述第一理论关节角、所述第二理论关节角、所述第一投影长度差以及第一投影高度差,确定所述第一机械臂的关节角对应的第一零点偏移角度;
基于所述第一零点偏移角度以及所述第一机械臂当前的第一理论角度,确定所述第一实际角度。
进一步地,所述第二预设位置为所述第一机械臂与所述第二机械臂的连接点,第一获取模块100还用于:
基于所述第一投影高度差、所述第一零点偏移角度、所述第一理论关节角以及所述第二理论关节角,确定所述第一实际臂长。
进一步地,第一获取模块100还用于:
获取所述第二机械臂当前的第三理论关节角,以及所述第二机械臂的第三预设位置对应的第三外界坐标;
在所述第二机械臂移动第二预设角度时,获取所述第二机械臂当前的第四理论关节角,以及所述第三预设位置对应的第四外界坐标;
基于所述第三外界坐标以及所述第四外界坐标,确定所述第二机械臂的第二投影长度差以及第二投影高度差;
基于所述第三理论关节角、所述第四理论关节角、所述第二投影长度差以及第二投影高度差,确定所述第二机械臂的关节角对应的第二零点偏移角度;
基于所述第二零点偏移角度以及所述第二机械臂当前的第二理论角度,确定所述第二实际角度。
进一步地,所述第三预设位置为所述第二机械臂与所述机械臂末端的连接点,第一获取模块100还用于:
基于所述第二投影高度差、所述第二零点偏移角度、所述第三理论关节角以及所述第四理论关节角,确定所述第二实际臂长。
进一步地,第二获取模块200还用于:
获取所述底座当前的第五理论关节角,以及所述底座的第四预设位置对应的第五外界坐标;
在所述底座移动第三预设角度时,获取所述底座当前的第六理论关节角,以及所述第四预设位置对应的第六外界坐标;
基于所述第五理论关节角、所述第六理论关节角、所述第五外界坐标以及第六外界坐标,确定所述底座的关节角对应的第三零点偏移角度;
基于所述第三零点偏移角度以及所述底座当前的第三理论角度,确定所述第一关节角。
进一步地,第三获取模块300还用于:
基于所述第三零点偏移角度以及所述底座当前的第四理论角度,确定所述第二关节角。
上述各程序模块所执行的方法可参照本发明机械臂校准方法各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质。所述计算机可读存储介质上存储有机械臂校准程序,所述机械臂校准程序被处理器执行时实现如上所述的机械臂校准方法的步骤。
其中,在所述处理器上运行的机械臂校准程序被执行时所实现的方法可参照本发明机械臂校准方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种机械臂校准方法,其特征在于,所述机械臂包括底座、第一机械臂、第二机械臂以及机械臂末端,所述机械臂校准方法包括以下步骤:
获取所述第一机械臂的第一实际臂长以及所述第一机械臂对应的第一实际角度,并获取第二机械臂的第二实际臂长以及所述第二机械臂对应的第二实际角度;
获取所述底座对应的第一关节角,以及所述机械臂的第一预设位置对应的第一外界纵坐标;
控制所述机械臂以所述底座的零点为中心,对称旋转所述底座;
获取所述底座对应的第二关节角,以及所述第一预设位置对应的第二外界纵坐标;
基于所述第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及所述第二外界纵坐标,确定所述机械臂末端的长度。
2.如权利要求1所述的机械臂校准方法,其特征在于,所述获取所述述第一机械臂对应的第一实际角度的步骤包括:
获取所述第一机械臂当前的第一理论关节角,以及所述第一机械臂的第二预设位置对应的第一外界坐标;
在所述第一机械臂移动第一预设角度时,获取所述第一机械臂当前的第二理论关节角,以及所述第二预设位置对应的第二外界坐标;
基于所述第一外界坐标以及所述第二外界坐标,确定所述第一机械臂的第一投影长度差以及第一投影高度差;
基于所述第一理论关节角、所述第二理论关节角、所述第一投影长度差以及第一投影高度差,确定所述第一机械臂的关节角对应的第一零点偏移角度;
基于所述第一零点偏移角度以及所述第一机械臂当前的第一理论角度,确定所述第一实际角度。
3.如权利要求2所述的机械臂校准方法,其特征在于,所述第二预设位置为所述第一机械臂与所述第二机械臂的连接点,所述获取获取所述第一机械臂的第一实际臂长的步骤包括:
基于所述第一投影高度差、所述第一零点偏移角度、所述第一理论关节角以及所述第二理论关节角,确定所述第一实际臂长。
4.如权利要求1所述的机械臂校准方法,其特征在于,所述第二机械臂对应的第二实际角度的步骤包括:
获取所述第二机械臂当前的第三理论关节角,以及所述第二机械臂的第三预设位置对应的第三外界坐标;
在所述第二机械臂移动第二预设角度时,获取所述第二机械臂当前的第四理论关节角,以及所述第三预设位置对应的第四外界坐标;
基于所述第三外界坐标以及所述第四外界坐标,确定所述第二机械臂的第二投影长度差以及第二投影高度差;
基于所述第三理论关节角、所述第四理论关节角、所述第二投影长度差以及第二投影高度差,确定所述第二机械臂的关节角对应的第二零点偏移角度;
基于所述第二零点偏移角度以及所述第二机械臂当前的第二理论角度,确定所述第二实际角度。
5.如权利要求4所述的机械臂校准方法,其特征在于,所述第三预设位置为所述第二机械臂与所述机械臂末端的连接点,所述获取第二机械臂的第二实际臂长的步骤包括:
基于所述第二投影高度差、所述第二零点偏移角度、所述第三理论关节角以及所述第四理论关节角,确定所述第二实际臂长。
6.如权利要求1至5任一项所述的机械臂校准方法,其特征在于,所述获取所述底座对应的第一关节角的步骤包括:
获取所述底座当前的第五理论关节角,以及所述底座的第四预设位置对应的第五外界坐标;
在所述底座移动第三预设角度时,获取所述底座当前的第六理论关节角,以及所述第四预设位置对应的第六外界坐标;
基于所述第五理论关节角、所述第六理论关节角、所述第五外界坐标以及第六外界坐标,确定所述底座的关节角对应的第三零点偏移角度;
基于所述第三零点偏移角度以及所述底座当前的第三理论角度,确定所述第一关节角。
7.如权利要求6所述的机械臂校准方法,其特征在于,所述获取所述底座对应的第二关节角的步骤包括:
基于所述第三零点偏移角度以及所述底座当前的第四理论角度,确定所述第二关节角。
8.一种机械臂校准装置,其特征在于,所述机械臂包括底座、第一机械臂、第二机械臂以及机械臂末端,所述机械臂校准装置包括:
第一获取模块,用于获取所述第一机械臂的第一实际臂长以及所述第一机械臂对应的第一实际角度,并获取第二机械臂的第二实际臂长以及所述第二机械臂对应的第二实际角度;
第二获取模块,用于获取所述底座对应的第一关节角,以及所述机械臂的第一预设位置对应的第一外界纵坐标;
控制模块,用于控制所述机械臂以所述底座的零点为中心,对称旋转所述底座;
第三获取模块,用于获取所述底座对应的第二关节角,以及所述第一预设位置对应的第二外界纵坐标;
确定模块,用于基于所述第一实际臂长、第一实际角度、第二实际臂长、第二实际角度、第一关节角、第二关节角、第一外界纵坐标以及所述第二外界纵坐标,确定所述机械臂末端的长度。
9.一种机械臂校准设备,其特征在于,所述机械臂校准设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的机械臂校准程序,所述机械臂校准程序被所述处理器执行时实现如权利要求1至7中任一项所述的机械臂校准方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有机械臂校准程序,所述机械臂校准程序被处理器执行时实现如权利要求1至7中任一项所述的机械臂校准方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911383471.4A CN111037563B (zh) | 2019-12-27 | 2019-12-27 | 机械臂校准方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911383471.4A CN111037563B (zh) | 2019-12-27 | 2019-12-27 | 机械臂校准方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111037563A true CN111037563A (zh) | 2020-04-21 |
CN111037563B CN111037563B (zh) | 2021-10-29 |
Family
ID=70240952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911383471.4A Active CN111037563B (zh) | 2019-12-27 | 2019-12-27 | 机械臂校准方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111037563B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111673716A (zh) * | 2020-06-08 | 2020-09-18 | 中冶南方城市建设工程技术有限公司 | 灵巧手定位方法及控制系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6228808A (ja) * | 1985-07-31 | 1987-02-06 | Fujitsu Ltd | ロボツト座標系の較正方法 |
CN106826918A (zh) * | 2017-01-03 | 2017-06-13 | 深圳市众为创造科技有限公司 | 机械臂调校方法、机械臂调校装置及机械臂 |
CN107756391A (zh) * | 2016-08-19 | 2018-03-06 | 达观科技有限公司 | 机械手臂校正系统的校正方法 |
CN108297100A (zh) * | 2018-02-11 | 2018-07-20 | 广州视源电子科技股份有限公司 | 机械臂参数标定方法、装置和系统、机械臂 |
CN109760049A (zh) * | 2018-12-28 | 2019-05-17 | 深圳市越疆科技有限公司 | 一种机械臂的校准方法、装置及机械臂 |
-
2019
- 2019-12-27 CN CN201911383471.4A patent/CN111037563B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6228808A (ja) * | 1985-07-31 | 1987-02-06 | Fujitsu Ltd | ロボツト座標系の較正方法 |
CN107756391A (zh) * | 2016-08-19 | 2018-03-06 | 达观科技有限公司 | 机械手臂校正系统的校正方法 |
CN106826918A (zh) * | 2017-01-03 | 2017-06-13 | 深圳市众为创造科技有限公司 | 机械臂调校方法、机械臂调校装置及机械臂 |
CN108297100A (zh) * | 2018-02-11 | 2018-07-20 | 广州视源电子科技股份有限公司 | 机械臂参数标定方法、装置和系统、机械臂 |
CN109760049A (zh) * | 2018-12-28 | 2019-05-17 | 深圳市越疆科技有限公司 | 一种机械臂的校准方法、装置及机械臂 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111673716A (zh) * | 2020-06-08 | 2020-09-18 | 中冶南方城市建设工程技术有限公司 | 灵巧手定位方法及控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111037563B (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108527360B (zh) | 一种位置标定系统及方法 | |
JP5670416B2 (ja) | ロボットシステム表示装置 | |
US10618166B2 (en) | Teaching position correction device and teaching position correction method | |
JP4021413B2 (ja) | 計測装置 | |
JP6886620B2 (ja) | キャリブレーション方法、キャリブレーションシステム及びプログラム | |
CN106064379B (zh) | 一种机器人自动计算实际臂长的方法 | |
CN112873204B (zh) | 机器人标定方法、装置、设备及计算机可读存储介质 | |
JP4967858B2 (ja) | カメラとロボット間のキャリブレーション方法及びその装置 | |
JP2005300230A (ja) | 計測装置 | |
CN110370316B (zh) | 一种基于垂直反射的机器人tcp标定方法 | |
JP2016185572A (ja) | ロボット、ロボット制御装置およびロボットシステム | |
JP2005342832A (ja) | ロボットシステム | |
JP2015150636A (ja) | ビジュアルフィードバックを利用したロボットシステム | |
JP2015066603A5 (zh) | ||
JP2016078195A (ja) | ロボットシステム、ロボット、制御装置及びロボットの制御方法 | |
CN111037563B (zh) | 机械臂校准方法、装置、设备及计算机可读存储介质 | |
US20180161983A1 (en) | Control device, robot, and robot system | |
CN109807937A (zh) | 一种基于自然场景的机器人手眼标定方法 | |
KR101842286B1 (ko) | 로봇의 자동 캘리브레이션 방법 | |
CN109304713B (zh) | 工具坐标系的标定方法、装置及计算机可读存储介质 | |
JPH09128549A (ja) | ロボット装置の相対位置姿勢検出方法 | |
CN109341836B (zh) | 一种对称重平台进行校准的方法及装置 | |
CN109591051A (zh) | 复合机器人作业精度补偿方法、系统及存储介质 | |
CN112378398A (zh) | 确定终端设备姿态的方法、装置及设备 | |
CN111098306A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |