发明内容
本发明的目的在于提供一种机器人关节的校准方法和计算装置,以解决现有的校准方案效率低下的问题。
本发明的一方面提供一种机器人关节的校准方法,机器人关节的位置反馈传感器包括可变电阻器,所述校准方法包括:控制待校准的关节向第一方向运动;当待校准的关节到达第一方向的运动极限时,获取可变电阻器的第一ADC值;控制待校准的关节向第二运动方向运动,其中,第二方向与第一运动方向相反;当待校准的关节到达第二方向的运动极限时,获取可变电阻器的第二ADC值;根据所述第一ADC值、第二ADC值、第一方向的运动极限的第一绝对角度值和第二方向的运动极限的第二绝对角度值确定待校准的关节的绝对角度与可变电阻器的ADC值之间的函数关系式;按照确定的函数关系式在机器人控制***中设置待校准的关节的绝对角度与可变电阻器的ADC值之间的函数关系式。
可选地,在控制所述待校准的关节向第一方向或第二方向运动的过程中,实时获取可变电阻器的第三ADC值,根据可变电阻器的经验函数关系式以及所述第三ADC值估计关节的当前位置,根据估计的当前位置来确定关节的运动速度,控制关节按所述确定的运动速度进行运动。
可选地,根据当前位置来确定关节的运动速度的步骤包括:在当前位置到达预定位置之前确定关节的运动速度为第一速度,在当前位置到达预定位置之后确定关节的运动速度为第二速度,其中,所述第一速度大于所述第二速度。
可选地,通过以下方式来检测待校准的关节达到第一方向的运动极限或第二方向的运动极限:根据确定的运动速度来确定待校准的关节的当前理论位置,确定所述当前理论位置与所述估计的当前位置之间的跟随误差,当跟随误差大于误差阈值时,确定待校准的关节达到第一方向的运动极限或第二方向的运动极限。
可选地,通过以下方式来检测待校准的关节达到第一方向的运动极限或第二方向的运动极限:获取待校准的关节的电机的电流,当所述电流超过电流阈值时,确定待校准的关节达到第一方向的运动极限或第二方向的运动极限。
可选地,所述函数关系式为线性函数。
可选地,还包括:当所述第一ADC值与第一ADC经验值的差值大于第一差值阈值时,和/或当所述第二ADC值与第二ADC经验值的差值大于第一差值阈值时,提示可变电阻器装偏,或可变电阻器存在异常,或待校准的关节安装存在问题,其中,所述第一ADC经验值是指当待校准的关节到达第一方向的运动极限时可变电阻器的ADC的经验值,所述第二ADC经验值是指当待校准的关节到达第二方向的运动极限时可变电阻器的ADC的经验值。
可选地,机器人关节的位置反馈传感器还包括编码器,所述校准方法还包括:当待校准的关节到达第一方向的运动极限时,还获取编码器的第一读数,当待校准的关节到达第二方向的运动极限时,还获取编码器的第二读数,将第一读数和第二读数之间的差值换算为第一角度差,当第一角度差与第二角度差之间的差值大于第二差值阈值时,提示编码器存在异常,或待校准的关节安装存在问题,其中,第二角度差为第一绝对角度值和第二绝对角度值之间的差值。
本发明的另一方面提供一种计算机可读存储介质,存储有当被处理器执行时使得处理器执行如上所述的校准方法的程序指令。
本发明的另一方面提供一种计算装置,包括:处理器;存储器,用于存储当被处理器执行使得处理器执行如上所述的校准方法的程序指令。
根据本发明的实施例的机器人关节的校准方法,可自动校准位置反馈传感器用于反馈关节的位置信息的相关参数,校准效率高,校准过程安全可靠,从而可提高机器人运动的准确性。此外,根据本发明的实施例的机器人关节的校准方法还可对实际装配中的一些安装故障进行自动诊断,从而方便安装人员进行故障查证。
将在接下来的描述中部分阐述本发明另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明的实施而得知。
具体实施方式
下面参照附图详细描述本发明的实施例。
图1是示出根据本发明的实施例的机器人关节的校准方法的流程图。根据本发明的实施例的控制智能家电的方法可应用于各种具有自动控制功能的电子设备,例如,工业计算机、可编程控制器和单片机等。
根据本发明的机器人关节的位置反馈传感器可包括各种可反馈位置信息的传感器。例如,所述位置反馈传感器可包括可变电阻器,可变电阻器直接或者通过齿轮安装在关节的电机输出轴上,在机器人运动的过程中,由可变电阻器来反馈关节的位置信息。再如,所述位置反馈传感器可包括可变电阻器和编码器,编码器安装在关节的电机非输出轴上,可变电阻器直接或者通过齿轮安装在关节的电机输出轴上,可开机时由可变电阻器来反馈关键的初始位置,在机器人运动的过程中,由编码器结合初始位置来反馈关节的位置信息。
关节的位置(例如绝对角度)与安装在关节的电机输出轴上的可变电阻器的模数变换器(Analog to Digital Converter,ADC)值之间具有一定的函数关系。根据本发明的实施例的机器人关节的校准方法可通过校准可变电阻器的相关参数来校准体现该函数关系的函数关系式。优选地,该函数关系式为线性函数。换句话,根据本发明的实施例的机器人关节的校准方法用于校准该线性函数的斜率和截距。以下将参照图1来描述每个关节的校准过程。
参照图1,在步骤S10,控制待校准的关节向第一方向运动。该第一方向是关节的所有可运动的方向中的预定方向。
在步骤S20,当待校准的关节到达第一方向的运动极限时,获取可变电阻器的第一ADC值。所述第一方向的运动极限是指关节在向第一方向运动时可到达的最大位置。所述第一ADC值是指待校准的关节到达第一方向的运动极限时,安装在该待校准的关节的电机的输出轴上的可变电阻器的ADC值。
在步骤S30,控制待校准的关节向第二运动方向运动。第二方向与第一运动方向相反。例如,该第一方向是向左,该第二方向是向右。
在步骤S40,当待校准的关节到达第二方向的运动极限时,获取可变电阻器的第二ADC值。所述第二方向的运动极限是指关节在向第二方向运动时可到达的最大位置。所述第二ADC值是指待校准的关节到达第二方向的运动极限时,安装在该待校准的关节的电机的输出轴上的可变电阻器的ADC值。
在控制所述待校准的关节向第一方向或第二方向运动的过程中,可对关节的当前位置进行预估,根据估计的当前位置来控制关节的运动速度,以提高校准速度,并使关节的启停平稳可靠。
具体数来,可实时获取可变电阻器的第三ADC值(可变电阻器当前的ADC值),根据可变电阻器的经验函数关系式以及所述第三ADC值估计关节的当前位置,根据估计的当前位置来确定关节的运动速度,控制关节按所述确定的运动速度进行运动。这里,可变电阻器的经验函数关系式是指根据经验(例如实验数据)确定的关节的绝对角度与可变电阻器的ADC值之间的函数关系式。
这里,可针对关节运动达到不同的位置设置不同的运动速度。优选地,为了减小计算量,可预先设置离运动极限较近的预定位置,在当前位置到达预定位置之前确定关节的运动速度为第一速度,在当前位置到达预定位置之后确定关节的运动速度为第二速度,其中,所述第一速度大于所述第二速度。例如,在当前位置到达预定位置之前,采用小步快走的方式逼近运动极限,在接近运动极限时(在当前位置到达预定位置之后)降低预定速度,这样可以很好的控制校准速度,保证启停平稳可靠。
在控制所述待校准的关节向第一方向或第二方向运动的过程中,可采用各种方法来确定关节是否达到运动极限。这里,可在每个伺服周期判断关节是否到达运动极限。
例如,可根据上述确定的运动速度来确定待校准的关节的当前理论位置,确定所述当前理论位置与所述估计的当前位置之间的跟随误差,当跟随误差大于误差阈值时,确定待校准的关节达到第一方向的运动极限或第二方向的运动极限。所述当前理论位置是关节按照上述确定的运动速度进行运动应该到达的位置。这里,可在每个伺服周期,根据每个伺服周期确定的运动速度、周期时长以及上个伺服周期估计的当前位置确定当前理论位置。所述跟随误差是指当前理论位置与估计的当前位置之间的差值。当跟随误差大于误差阈值时,说明关节的位置已不再变化了,也就是说关节已经到了运动极限了。所述误差阈值可预先进行设置。
再如,可获取待校准的关节的电机的电流,当所述电流超过电流阈值时,确定待校准的关节达到第一方向的运动极限或第二方向的运动极限。所述电流阈值可预先进行设置,设置为大于关节正常运动时该电机的电流。在当前获取的电流超过电流阈值时,说明关节已到达运动极限。
在步骤S50根据所述第一ADC值、第二ADC值、第一方向的运动极限的第一绝对角度值和第二方向的运动极限的第二绝对角度值确定待校准的关节的绝对角度与可变电阻器的ADC值之间的函数关系式。该第一绝对角度值是关节在第一方向的运动极限的绝对角度值,第二绝对角度值是关节在第二方向的运动极限的绝对角度值,第一绝对角度值和第二绝对角度值是已知量,可预先进行存储。
优选地,为了减小计算量,该函数关系式为线性函数。该线性函数可以如下式(1)所示:
y=k*x+b (1)
其中,y表示待校准的关节的绝对角度,x表示可变电阻器的ADC值,K为线性函数的斜率,b为线性函数的截距。将所述第一ADC值、第二ADC值、第一方向的运动极限的第一绝对角度值和第二方向的运动极限的第二绝对角度值代入到该线性函数中即可得出斜率k和截距b。
优选地,为了提高校准的准确性和可靠性,对于准确性:可以重复执行步骤S10至步骤S40以获取多个第一ADC值和多个第二ADC值,计算多个第一ADC值的第一平均值和多个第二ADC值的第二平均值,再根据第一平均值、第二平均值、第一方向的运动极限的第一绝对角度值和第二方向的运动极限的第二绝对角度值确定上述函数关系式。对于可靠性:对于多次校准得到的ADC值,设置一个偏差值,如果两次偏差超过一定阈值,那么认为至少一次校准是有干扰影响的,此时可以报错停止校准,请用户排除校准干扰因素,并重新启动校准。
在步骤S60,按照确定的函数关系式在机器人控制***中设置待校准的关节的绝对角度与可变电阻器的ADC值之间的函数关系式。也就是说,将机器人控制***中的待校准的关节的绝对角度与可变电阻器的ADC值之间的函数关系式设置为在步骤S50中确定的函数关系式。在函数关系式为线性函数的情况下,在机器人控制***中将线性函数的斜率和截距分别设置为在步骤S50中确定的斜率和截距。
此外,在实际装配中,可能存在一些安装故障,例如,可变电阻器装偏、关节装配得太紧等,可在校准过程中对这些故障进行诊断。为了便于对上述安装故障进行准确地诊断,可调节待校准关节的初始位置在预定的角度范围内,例如,在关节的零点附近。
例如,根据所述第一ADC值与第一ADC经验值进行故障诊断,和/或根据所述第二ADC值与第二ADC经验值进行故障诊断。所述第一ADC经验值是指当待校准的关节到达第一方向的运动极限时可变电阻器的ADC的经验值,所述第二ADC经验值是指当待校准的关节到达第二方向的运动极限时可变电阻器的ADC的经验值,该第一ADC经验值和第二ADC经验值可预先进行设置。具体说来,当所述第一ADC值与第一ADC经验值的差值大于第一差值阈值时,和/或当所述第二ADC值与第二ADC经验值的差值大于第一差值阈值时,提示可变电阻器装偏,或可变电阻器存在异常,或待校准的关节安装存在问题。所述第一阈值差值可预先进行设置。
再如,在机器人关节的位置反馈传感器还包括编码器时,还可通过以下步骤进行故障诊断:当待校准的关节到达第一方向的运动极限时,还获取编码器的第一读数,当待校准的关节到达第二方向的运动极限时,还获取编码器的第二读数,将第一读数和第二读数之间的差值换算为第一角度差,当第一角度差与第二角度差之间的差值大于第二差值阈值时,提示编码器存在异常,或待校准的关节安装存在问题。第二角度差为第一绝对角度值和第二绝对角度值之间的差值。根据编码器的读数与相对角度之间的换算关系将第一读数和第二读数之间的差值换算为第一角度差。
根据本发明的实施例还提供一种计算机可读存储介质。该计算机可读存储介质存储有当被处理器执行时使得处理器执行如上所述的机器人关节的校准方法的程序指令。该计算机可读记录介质是可存储由计算机***读出的数据的任意数据存储装置。计算机可读记录介质的示例包括:只读存储器、随机存取存储器、只读光盘、磁带、软盘、光数据存储装置和载波(诸如经有线或无线传输路径通过互联网的数据传输)。计算机可读记录介质也可分布于连接网络的计算机***,从而计算机可读代码以分布式存储和执行。此外,完成本发明的功能程序、代码和代码段可容易地被与本发明相关的领域的普通程序员在本发明的范围之内解释。
根据本发明的实施例还提供一种计算装置。该计算装置包括存储器201和处理器301。存储器201用于存储程序指令。所述程序指令被处理器301执行使得处理器301执行如上所述的机器人关节的校准方法的程序指令。
根据本发明的实施例的机器人关节的校准方法,可自动校准位置反馈传感器用于反馈关节的位置信息的相关参数,校准效率高,校准过程安全可靠,从而可提高机器人运动的准确性。此外,根据本发明的实施例的机器人关节的校准方法还可对实际装配中的一些安装故障进行自动诊断,从而方便安装人员进行故障查证。
尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。