具体实施方式
下面,基于附图对本发明的实施方式所涉及的摩擦补偿装置、碰撞检测装置、扭矩前馈运算装置及机器人控制装置以及摩擦补偿方法详细地进行说明。
实施方式1
图1是示意地表示实施方式1所涉及的摩擦补偿装置的结构的一个例子的框图。实施方式1所涉及的摩擦补偿装置10设置于进行机器人的控制的机器人控制装置的内部。机器人的一个例子是6轴机器人。摩擦补偿装置10对摩擦推定值进行计算并输出,该摩擦推定值是根据机器人的各轴的电动机的位置即电动机位置对机器人的各轴的摩擦进行推定而得到的。
摩擦补偿装置10具有速度计算部11、加速度计算部12、驱动扭矩运算部13和摩擦推定值运算部14。
速度计算部11使用表示输入的不同时间的电动机的位置的电动机位置的差分对电动机的速度进行检测。下面,电动机的速度被称为电动机速度。速度计算部11将电动机速度输出至加速度计算部12、驱动扭矩运算部13及摩擦推定值运算部14。
加速度计算部12使用从速度计算部11输入的不同时间的电动机速度的差分对电动机的加速度进行检测。下面,电动机的加速度被称为电动机加速度。加速度计算部12将电动机加速度输出至驱动扭矩运算部13。
驱动扭矩运算部13基于下式(1)所示的机器人的运动方程式,分别计算对机器人的电动机的驱动力进行传递的轴的传递机构的输出扭矩即惯性力、离心力及科里奥利力以及重力。此外,传递机构是经由轴而与电动机连接,将电动机的驱动力向输出侧传递的机构。驱动扭矩运算部13将计算出的各轴的传递机构的惯性力、离心力及科里奥利力以及重力输出至摩擦推定值运算部14的内部的后面记述的摩擦校正值运算部24。在这里,由机器人的各轴的传递机构的输出扭矩构成的矢量设为τ,由将各轴的电动机位置换算为传递机构的输出位置而得到的各轴的位置构成的矢量设为q。另外,由将电动机速度换算为传递机构的输出速度而得到的各轴的速度构成的矢量设为v,由将电动机加速度换算为传递机构的输出加速度而得到的各轴的加速度构成的矢量设为a。将电动机位置换算为传递机构输出位置而得到的位置为q时的惯性力的矢量成为M(q)a,将电动机位置换算为传递机构输出位置而得到的位置为q,速度为v的情况下的离心力及科里奥利力的矢量成为h(q,v),将电动机位置换算为传递机构输出位置而得到的位置为q时的重力的矢量成为g(q)。
τ=M(q)a+h(q,v)+g(q)···(1)
即,驱动扭矩运算部13对由从输入的电动机位置、电动机速度及电动机加速度向传递机构的输出侧进行换算而得到的值构成的矢量q、v及a进行计算,由此能够求出惯性力的矢量M(q)a、离心力及科里奥利力的矢量h(q,v)以及重力的矢量g(q)。另外,驱动扭矩运算部13使用它们,按照(1)式能够求出传递机构的输出侧的输出扭矩即驱动扭矩τ。
摩擦推定值运算部14使用从驱动扭矩运算部13输入的各轴的惯性力、离心力及科里奥利力以及重力和由速度计算部11计算出的电动机速度,对作用于机器人的各轴的摩擦力的推定值即摩擦推定值进行计算。这是通过发现机器人的电动机的速度及驱动部的温度相同的条件下的摩擦扭矩的变动受到与各轴的传递机构的输出部的惯性力、离心力及科里奥利力以及重力相应地变动的摩擦成分的影响,从而对摩擦推定值进行计算。摩擦推定值运算部14具有符号电路21、库仑摩擦运算部22、粘性摩擦运算部23、摩擦校正值运算部24和加法器25。
符号电路21将与从速度计算部11输出的电动机速度相对应的符号进行输出。符号电路21的功能在一个例子中能够通过sgn函数表示。sgn函数是在输入为负数时输出-1,在输入为0时输出0,在输入为正数时输出1的函数。
库仑摩擦运算部22在使电动机速度经过符号电路21而得到的结果乘以各轴的库仑摩擦系数而对该轴的库仑摩擦进行计算。库仑摩擦与电动机速度的符号相应地决定。
粘性摩擦运算部23使电动机速度乘以粘性摩擦系数而对该轴的粘性摩擦进行计算。此外,在粘性摩擦通过温度而变动的情况下,可以通过温度而设定粘性摩擦系数的值。另外,也可以不是粘性摩擦与速度的1次方成正比的模型,也可以设为与速度的幂指数成正比的模型。库仑摩擦运算部22及粘性摩擦运算部23对不依赖输出侧的驱动扭矩的摩擦进行运算。
摩擦校正值运算部24与从驱动扭矩运算部13输入的输出扭矩或者输出扭矩的要素相应地,计算对各轴的摩擦力进行校正的摩擦校正值。输出扭矩的要素的一个例子是惯性力。在实施方式1中,摩擦校正值运算部24基于各轴的惯性力、离心力及科里奥利力以及重力的绝对值和使电动机速度经过符号电路21而得到的结果,对摩擦校正值进行计算。
图2是示意地表示实施方式1所涉及的摩擦补偿装置中的摩擦校正值运算部的结构的一个例子的框图。摩擦校正值运算部24具有惯性力绝对值计算部101、惯性力校正部102、离心科里奥利力绝对值计算部103、离心科里奥利力校正部104、重力绝对值计算部105、重力校正部106、加法器107和乘法器108。
惯性力绝对值计算部101根据输入的惯性力的矢量对各轴的惯性力的绝对值进行计算。惯性力校正部102对使计算出的各轴的惯性力的绝对值乘以校正参数即校正增益而得到的校正惯性力进行计算,输出至加法器107。
离心科里奥利力绝对值计算部103根据输入的离心力及科里奥利力之和的矢量对各轴的离心力及科里奥利力之和的绝对值进行计算。离心科里奥利力校正部104对使计算出的各轴的离心力及科里奥利力的绝对值乘以校正参数即校正增益而得到的校正离心科里奥利力进行计算,输出至加法器107。
重力绝对值计算部105根据输入的重力的矢量对各轴的重力的绝对值进行计算。重力校正部106对使计算出的各轴的重力的绝对值乘以校正参数即校正增益而得到的校正重力进行计算,输出至加法器107。
加法器107将各轴的校正惯性力、校正离心科里奥利力及校正重力相加,将其结果输出至乘法器108。
乘法器108使将由图1的速度计算部11输出的电动机速度经过符号电路21而得到的值和关于各轴由加法器107相加得到的结果相乘,对各轴的摩擦校正值进行计算。如上所述,在实施方式1中,具有与电动机速度的符号相同的符号,通过与各轴的校正惯性力、校正离心科里奥利力及校正重力之和正比例的值对摩擦力进行校正的力成为摩擦校正值。
返回至图1,加法器25关于各轴,使从库仑摩擦运算部22输入的库仑摩擦、从粘性摩擦运算部23输入的粘性摩擦和从摩擦校正值运算部24输入的摩擦校正值相加,将相加得到的值作为摩擦推定值而输出。在6轴机器人中,分别关于1轴至6轴对摩擦推定值进行计算而输出。
输出的各轴的摩擦推定值在机器人控制装置内的其他功能处理部中,用于机器人的控制处理的运算。在一个例子中,作为对机器人与障碍物是否碰撞进行判定的碰撞检测功能中的扭矩推定值、扭矩前馈的摩擦力成分、在动作前对该动作的加减速时间进行计算时的代表点处的摩擦扭矩或者进行异常诊断时的摩擦扭矩推定值而使用摩擦推定值。
具有上述这样的结构的摩擦补偿装置10由控制部10A构成。
在实施方式1中,摩擦补偿装置10的摩擦推定值运算部14对包含机器人的传递机构的输出部中的惯性力、离心力及科里奥利力以及重力的各轴的绝对值在内的成分进行计算而作为摩擦校正值。另外,摩擦推定值运算部14使与电动机速度的符号相应地决定的库仑摩擦和与电动机速度成正比的粘性摩擦之和加上摩擦校正值而得到的结果作为摩擦推定值进行输出。由此,在速度及驱动部的温度相同的条件下发生摩擦扭矩的变动的情况下具有下述效果,即,与基于仅通过各轴的速度决定的摩擦模型而进行计算的摩擦扭矩相比,能够高精度地推定摩擦扭矩的推定值即摩擦推定值。即,能够高精度地推定与传递机构的输出部的惯性力、离心力及科里奥利力以及重力相应地变动的摩擦。
实施方式2
实施方式2所涉及的摩擦补偿装置10的结构与图1相同。但是,实施方式2所涉及的摩擦补偿装置10与实施方式1的摩擦校正值运算部24的结构不同。因此,下面关于与实施方式1相同的结构而省略说明,对与实施方式1不同的部分进行说明。
图3是示意地表示实施方式2所涉及的摩擦补偿装置中的摩擦推定值运算部的结构的一个例子的框图。在实施方式2中,向摩擦校正值运算部24不分别输入机器人的各轴的传递机构的惯性力、离心力及科里奥利力以及重力,而是输入各轴的惯性力、离心力及科里奥利力以及重力之和即传递机构的驱动扭矩τ。摩擦校正值运算部24具有驱动扭矩绝对值计算部111、驱动扭矩校正部112和乘法器113。
驱动扭矩绝对值计算部111对输入的各轴的惯性力、离心力及科里奥利力以及重力之和即传递机构的驱动扭矩的绝对值进行计算。驱动扭矩校正部112对使计算出的各轴的驱动扭矩的绝对值乘以校正参数即校正增益而得到的校正驱动扭矩进行计算,输出至乘法器113。
乘法器113使将由图1的速度计算部11输出的电动机速度经过符号电路21而得到的值和关于各轴从驱动扭矩校正部112输出的校正驱动扭矩相乘,对各轴的摩擦校正值进行计算。如上所述,在实施方式2中,具有与电动机速度的符号相同的符号,通过与各轴的惯性力、离心力及科里奥利力以及重力之和的绝对值正比例的值对摩擦力进行校正的力成为摩擦校正值。
在实施方式2中,摩擦补偿装置10的摩擦校正值运算部24对使机器人的传递机构的输出部中的惯性力、离心力及科里奥利力以及重力的各轴之和的绝对值乘以校正增益和与电动机速度的符号相同的符号而得到的结果进行计算而作为摩擦校正值。由此,与实施方式1的情况相比,在实施方式1的效果的基础上,具有能够将摩擦校正值的计算简化的效果。
实施方式3
图4是示意地表示实施方式3所涉及的摩擦补偿装置的结构的一个例子的框图。此外,对与上述的实施方式相同的结构要素标注同一标号,省略其说明。下面,对与上述的实施方式不同的部分进行说明。实施方式3所涉及的摩擦补偿装置10还具有对摩擦校正值运算部24所使用的校正增益进行计算的摩擦校正参数决定部30。在图4中,示出了摩擦校正参数决定部30在摩擦补偿装置10及机器人控制装置的外部设置的情况。在该情况下,摩擦校正参数决定部30在一个例子中,由个人计算机等构成。但是,摩擦校正参数决定部30也可以设置于摩擦补偿装置10或者机器人控制装置的内部。此外,摩擦校正值运算部24设为具有实施方式1的图2的结构。
在实施方式3中,驱动扭矩运算部13在(1)式的机器人的各轴的传递机构的输出扭矩τ的基础上,计算对下式(2)所示的各轴的电动机自身进行加减速所需的扭矩即矢量τm。但是,Im是电动机及传递机构的高速侧部件的惯性矩。另外,τm也被称为电动机惯性力。
τm=Ima···(2)
向摩擦校正参数决定部30从驱动扭矩运算部13输入(1)式的传递机构的输出扭矩τ的各要素即惯性力、离心力及科里奥利力以及重力和(2)式的电动机惯性力τm。另外,向摩擦校正参数决定部30还输入电动机位置及电动机电流。
首先,摩擦校正参数决定部30使用与库仑摩擦运算部22及粘性摩擦运算部23相同的方式及参数,根据电动机位置对库仑摩擦及粘性摩擦进行运算,对其之和τf进行计算。接下来,摩擦校正参数决定部30根据电动机电流,使用扭矩常数及减速比的信息对包含摩擦的驱动扭矩的实测值τr进行计算。如果将惯性力的矢量、对离心力及科里奥利力进行合成而得到的离心科里奥利力的矢量以及重力的矢量分别设为τa、τb、τc,将与摩擦校正值运算部24所使用的各轴的惯性力的绝对值相乘的校正增益设为Ka,将与各轴的离心力及科里奥利力之和的绝对值相乘的校正增益设为Kb,将与各轴的重力的绝对值相乘的校正增益设为Kc,则下式(3)成立。
τr-τ-τm-τf=y·p···(3)
在这里,(3)式中的矢量y及p通过下式(4)及下式(5)表示。其中,abs(X)是返回矢量X的绝对值的函数。
y=[abs(τa),abs(τb),abs(τc)]···(4)
p=[Ka、Kb、Kc]T···(5)
(3)式至(5)式都是针对每个轴的式子。摩擦校正参数决定部30在将n设为大于或等于2的自然数时,使用时刻t1至tn为止的数据对向摩擦校正值运算部24输出的(5)式的校正增益p进行计算。为此,将k设为大于或等于1而小于或等于n的自然数,将时刻tk时的(3)式的左边设为τ(k),将(3)式的右边的y设为y(k),将矩阵T、Y分别通过下式(6)及下式(7)进行定义。而且,使用Y的伪逆矩阵Y+,由此按照下式(8)对校正增益p进行计算。
【数1】
【数2】
【数3】
p=Y+T···(8)
摩擦校正参数决定部30将如以上那样关于各轴而计算出的校正增益p的各要素即校正参数作为在摩擦校正值运算部24的内部使用的校正增益而输出。即,校正增益p的要素Ka是惯性力校正部102所使用的校正增益,输出至惯性力校正部102。校正增益p的要素Kb是离心科里奥利力校正部104所使用的校正增益,输出至离心科里奥利力校正部104。校正增益p的要素Kc是重力校正部106所使用的校正增益,输出至重力校正部106。
在实施方式3中,摩擦校正参数决定部30基于电动机位置、电动机电流、传递机构的各轴的驱动扭矩及各轴的电动机惯性力,对摩擦校正值运算部24所使用的校正增益进行计算。由此,能够高精度地决定与传递机构的惯性力、离心力及科里奥利力以及重力相应地变动的摩擦的校正系数即校正增益。其结果,与实施方式1、2的情况相比,具有能够提高摩擦推定值的精度这一效果。
实施方式4
实施方式4所涉及的摩擦补偿装置10的结构与实施方式3的图4相同。但是,在实施方式4中,摩擦校正参数决定部30及摩擦校正值运算部24的功能与实施方式3的情况不同。此外,摩擦校正值运算部24具有与实施方式2的图3相同的结构。下面,对与上述的实施方式不同的部分进行说明。
将决定校正增益的轴的+方向的重力成为最大的位置设为θ1,将重力成为0的位置设为θ2,将-方向的重力成为最大的位置设为θ3。使机器人以通过低速且一定速度经过位置θ1、θ2及θ3的方式进行单轴动作,对此时的电动机位置、电动机速度及电动机电流进行测定。将根据各个位置θ1、θ2及θ3处的电动机电流而计算出的驱动扭矩设为τ1、τ2、τ3。此时,根据τ1及τ3将重力最大值计算为(τ1-τ3)/2,库仑摩擦与重力成为最大时的摩擦校正值之和计算为(τ1+τ3)/2。另外,τ2成为库仑摩擦力,因此重力成为最大时的摩擦校正值计算为(τ1+τ3)/2-τ2。以上,校正增益K通过下式(9)进行计算。
K=((τ1+τ3)/2-τ2)/((τ1-τ3)/2)···(9)
在这里,(9)式是以成为τ1>τ3、τ2>0的方式进行动作时的计算式。摩擦校正参数决定部30将通过(9)式计算出的校正增益K的值作为图3的摩擦校正值运算部24所使用的校正增益进行输出。
在实施方式4中,将决定校正增益的轴的+方向的重力成为最大的位置设为θ1,将重力成为0的位置设为θ2,将-方向的重力成为最大的位置设为θ3,根据使机器人以通过低速且一定速度经过位置θ1、θ2及θ3的方式进行单轴动作而得到的驱动扭矩对校正增益进行计算。由此,能够在实施方式2的效果的基础上,得到能够关于与重力所作用的轴而高精度地决定与传递机构的输出扭矩相应地变动的摩擦的校正系数这一效果。
实施方式5
图5是示意地表示实施方式5所涉及的摩擦补偿装置的结构的一个例子的框图。此外,对与上述实施方式相同的结构要素标注同一标号,省略其说明。另外,下面对与上述的实施方式不同的部分进行说明。
实施方式5所涉及的摩擦补偿装置10取代实施方式1至4中说明的驱动扭矩运算部13,而是具有驱动扭矩非驱动轴扭矩运算部15。驱动扭矩非驱动轴扭矩运算部15在驱动轴的扭矩的基础上,还对非驱动方向的力及力矩进行计算。另外,摩擦校正值运算部24根据驱动扭矩、非驱动方向的力及力矩对摩擦校正值进行运算。此外,通过牛顿欧拉的运动方程式,从而能够容易地对非驱动方向的力及力矩进行计算。驱动扭矩非驱动轴扭矩运算部15与驱动扭矩运算部相对应。
图6是示意地表示实施方式5所涉及的摩擦补偿装置中的摩擦校正值运算部的结构的一个例子的框图。摩擦校正值运算部24的结构成为对实施方式1的图2关于非驱动轴进行了扩展。在这里,将驱动轴设为Z轴,将非驱动轴设为X轴及Y轴。摩擦推定值运算部14具有:非驱动X轴扭矩校正量计算部120,其对不是驱动轴的X轴的力矩即扭矩的校正量进行计算;非驱动Y轴扭矩校正量计算部130,其对不是驱动轴的Y轴的力矩即扭矩的校正量进行计算;驱动扭矩校正量计算部100,其对驱动轴即Z轴的驱动扭矩校正量进行计算;加法器138;以及乘法器108。此外,不是驱动轴的X轴被称为非驱动X轴,不是驱动轴的Y轴被称为非驱动Y轴。
非驱动X轴扭矩校正量计算部120根据从驱动扭矩非驱动轴扭矩运算部15输入的非驱动X轴的扭矩即力矩的惯性力、离心力及科里奥利力以及重力而对非驱动X轴扭矩校正量进行计算。非驱动X轴扭矩校正量计算部120具有惯性力绝对值计算部121、惯性力校正部122、离心科里奥利力绝对值计算部123、离心科里奥利力校正部124、重力绝对值计算部125、重力校正部126和加法器127。
惯性力绝对值计算部121对输入的非驱动X轴的惯性力的绝对值进行计算。惯性力校正部122对使计算出的惯性力的绝对值乘以校正参数即校正增益而得到的校正惯性力进行计算,输出至加法器127。
离心科里奥利力绝对值计算部123对输入的非驱动X轴的离心力及科里奥利力的绝对值进行计算。离心科里奥利力校正部124对使计算出的非驱动X轴的离心力及科里奥利力的绝对值乘以校正参数即校正增益而得到的校正离心科里奥利力进行计算,输出至加法器127。
重力绝对值计算部125对输入的非驱动X轴的重力的绝对值进行计算。重力校正部126对使计算出的非驱动X轴的重力的绝对值乘以校正参数即校正增益而得到的校正重力进行计算,输出至加法器127。
加法器127使非驱动X轴的校正惯性力、校正离心科里奥利力及校正重力相加而对非驱动X轴的校正量进行计算,将非驱动X轴的校正量输出至加法器138。
非驱动Y轴扭矩校正量计算部130根据从驱动扭矩非驱动轴扭矩运算部15输入的非驱动Y轴的扭矩即力矩的惯性力、离心力及科里奥利力以及重力,对非驱动Y轴扭矩校正量进行计算。非驱动Y轴扭矩校正量计算部130具有惯性力绝对值计算部131、惯性力校正部132、离心科里奥利力绝对值计算部133、离心科里奥利力校正部134、重力绝对值计算部135、重力校正部136和加法器137。此外,非驱动Y轴扭矩校正量计算部130的各结构要素具有与非驱动X轴扭矩校正量计算部120的各结构要素相同的功能。但是,在非驱动Y轴扭矩校正量计算部130中,关于非驱动Y轴的扭矩的惯性力、离心力及科里奥利力以及重力而进行处理。
驱动扭矩校正量计算部100根据从驱动扭矩非驱动轴扭矩运算部15输入的驱动轴的扭矩的惯性力、离心力及科里奥利力以及重力对驱动轴的校正量即驱动扭矩校正量进行计算。驱动扭矩校正量计算部100的结构与图2中的说明相同,因此省略其说明。
加法器138将从非驱动X轴扭矩校正量计算部120输出的非驱动X轴扭矩校正量、从非驱动Y轴扭矩校正量计算部130输出的非驱动Y轴扭矩校正量和从驱动扭矩校正量计算部100输出的驱动扭矩校正量相加,将相加得到的结果输出至乘法器108。
乘法器108使将由图5的速度计算部11输出的电动机速度经过符号电路21而得到的值和加法器138中的相加结果相乘,对摩擦校正值进行计算。
此外,在实施方式5的摩擦校正参数决定部30中,对实施方式3进行了扩展,根据时刻t1至tn为止的电动机电流及电动机位置,使用(3)式至(7)式对矩阵Y、T进行计算,由校正增益Ka、Kb、Kc构成的矢量p是使用(8)式所示的伪逆矩阵Y+进行计算的。
在实施方式5的摩擦补偿装置10中,驱动扭矩非驱动轴扭矩运算部15在驱动轴的扭矩的基础上,还对非驱动方向的力及力矩进行计算,摩擦校正值运算部24根据驱动扭矩和非驱动方向的力矩对摩擦校正值进行运算。由此,与非驱动方向的力和力矩相应地变动的摩擦成分也能够高精度地补偿。即,具有下述效果,即,考虑与非驱动方向的惯性力、离心力及科里奥利力以及重力相应地变动的摩擦,能够高精度地推定摩擦扭矩。
实施方式6
实施方式6所涉及的摩擦补偿装置10的结构与图5相同。但是,实施方式6所涉及的摩擦补偿装置10与实施方式5的摩擦校正值运算部24及摩擦校正参数决定部30的结构不同。下面,对与上述实施方式相同的结构要素标注同一标号,省略其说明,对与上述的实施方式不同的部分进行说明。
图7是示意地表示实施方式6所涉及的摩擦补偿装置中的摩擦校正值运算部的结构的一个例子的框图。摩擦校正值运算部24的结构成为将实施方式2的图3关于非驱动轴进行了扩展。摩擦校正值运算部24具有非驱动X轴校正量计算部140、非驱动Y轴校正量计算部150、驱动轴校正量计算部160、加法器165、166、167和乘法器113。
非驱动X轴校正量计算部140对不是驱动轴的X轴方向的力及力矩所涉及的摩擦校正量进行计算。非驱动X轴校正量计算部140具有力绝对值计算部141、力校正部142、力矩绝对值计算部143和力矩校正部144。力绝对值计算部141对从驱动扭矩非驱动轴扭矩运算部15输入的非驱动X轴的方向上的力即非驱动X轴力的绝对值进行计算。力校正部142对使计算出的非驱动X轴力的绝对值乘以校正参数即校正增益而得到的校正非驱动X轴力进行计算,输出至加法器165。力矩绝对值计算部143对从驱动扭矩非驱动轴扭矩运算部15输入的非驱动X轴的方向上的力矩即惯性力、离心力及科里奥利力以及重力之和即非驱动X轴力矩的绝对值进行计算。力矩校正部144对使计算出的非驱动X轴力矩的绝对值乘以校正参数即校正增益而得到的校正非驱动X轴力矩进行计算,输出至加法器165。
非驱动Y轴校正量计算部150对不是驱动轴的Y轴方向的力及力矩所涉及的摩擦校正量进行计算。非驱动Y轴校正量计算部150具有力绝对值计算部151、力校正部152、力矩绝对值计算部153和力矩校正部154。力绝对值计算部151、力校正部152、力矩绝对值计算部153及力矩校正部154的功能除了关于非驱动Y轴方向的力或者力矩进行运算这一点以外,与非驱动X轴校正量计算部140的力绝对值计算部141、力校正部142、力矩绝对值计算部143及力矩校正部144的功能相同。从力校正部152输出校正非驱动Y轴力,从力矩校正部154输出校正非驱动Y轴力矩。
驱动轴校正量计算部160对驱动轴方向的力及驱动扭矩所涉及的摩擦校正量进行计算。驱动轴校正量计算部160具有力绝对值计算部161、力校正部162、驱动扭矩绝对值计算部111和驱动扭矩校正部112。力绝对值计算部161及力校正部162的功能除了关于驱动轴方向的力进行运算这一点以外,与非驱动X轴校正量计算部140的力绝对值计算部141及力校正部142的功能相同。另外,驱动扭矩绝对值计算部111及驱动扭矩校正部112与实施方式2中的说明相同。从力校正部162输出校正驱动轴力,从驱动扭矩校正部112输出校正驱动轴扭矩。
加法器165使从力校正部142输出的校正非驱动X轴力、从力矩校正部144输出的校正非驱动X轴力矩与从力校正部152输出的校正非驱动Y轴力相加。加法器166使从力矩校正部154输出的校正非驱动Y轴力矩、从力校正部162输出的校正驱动轴力与从驱动扭矩校正部112输出的校正驱动轴扭矩相加。加法器167使加法器165中的相加结果与加法器166中的相加结果相加,输出至乘法器113。
乘法器113使将由图5的速度计算部11输出的电动机速度经过符号电路21而得到的值与加法器167中的相加结果相乘,对摩擦校正值进行计算。
此外,在摩擦校正参数决定部30中,对实施方式3进行了扩展,根据时刻t1至tn为止的电动机电流及电动机位置,使用(3)式至(7)式对矩阵Y、T进行计算,由校正增益Ka、Kb、Kc构成的矢量p是使用(8)式所示的伪逆矩阵Y+进行计算的。
在实施方式6的摩擦补偿装置10中,驱动扭矩非驱动轴扭矩运算部15在驱动轴的力及扭矩的基础上,还对非驱动方向的力及力矩进行计算,摩擦校正值运算部24根据驱动轴方向及非驱动方向的力及力矩对摩擦校正值进行运算。由此,具有能够高精度地推定与非驱动方向的力和力矩相应地变动的摩擦这一效果。
实施方式7
实施方式7所涉及的摩擦补偿装置10的结构与实施方式3的图4相同。但是,在实施方式7中,驱动扭矩运算部13及摩擦校正参数决定部30的结构与实施方式3的情况不同。下面,对与上述的实施方式不同的部分进行说明。
驱动扭矩运算部13计算对电动机自身进行加减速所需的扭矩即电动机惯性力τm、机器人的各轴的传递机构的惯性力、离心力及科里奥利力以及重力之和即传递机构的驱动扭矩τ,向摩擦校正参数决定部30输出。
图8是示意地表示实施方式7所涉及的摩擦补偿装置中的摩擦校正参数决定部的结构的一个例子的框图。摩擦校正参数决定部30具有速度计算部31、摩擦扭矩运算部32、电动机驱动扭矩比较部33和参数学习部34。
速度计算部31使用输入的不同时间的电动机位置的差分对电动机速度进行计算。摩擦扭矩运算部32具有与摩擦推定值运算部14相同的功能。即,摩擦扭矩运算部32使用从速度计算部31输入的电动机速度、从驱动扭矩运算部13输入的传递机构的惯性力、离心力及科里奥利力以及重力和从参数学习部34输入的校正增益,对库仑摩擦、粘性摩擦及摩擦校正值进行计算。并且,摩擦扭矩运算部32对使库仑摩擦、粘性摩擦及摩擦校正值相加而得到的摩擦扭矩推定值进行计算。该摩擦扭矩推定值与上述的摩擦推定值相对应。
电动机驱动扭矩比较部33对根据电动机电流而计算出的驱动扭矩的实测值τr、与电动机惯性力τm、传递机构的驱动扭矩τ及摩擦扭矩推定值τf之和的差即驱动扭矩推定误差τr-(τ+τm+τf)进行计算,输出至参数学习部34。
参数学习部34首先将校正增益的初始值设定于摩擦扭矩运算部32。另外,参数学习部34以从电动机驱动扭矩比较部33输入的驱动扭矩推定误差变小的方式对校正增益进行探索,将探索的结果输出至摩擦扭矩运算部32。校正增益的探索方法的一个例子是贝叶斯优化或者粒子群优化。参数学习部34在一个例子中,将驱动扭矩推定误差收敛于预先确定的范围的校正参数即校正增益输出至摩擦校正值运算部24。此时,参数学习部34在能够探索出与通过学习所使用的条件即校正增益求出的驱动扭矩推定误差相比变小的驱动扭矩推定误差的校正增益的情况下,可以将探索出的校正增益作为与学习所使用的条件类似的条件而输出至摩擦校正值运算部24。
在实施方式7的摩擦补偿装置10中,以对驱动扭矩的实测值、与电动机惯性力、传递机构的驱动扭矩及摩擦扭矩推定值之和的差即驱动扭矩推定误差变小的校正增益进行探索的方式进行学习,将学习得到的结果即校正增益设定于摩擦校正值运算部24。由此,能够与动作相应地高精度地补偿摩擦扭矩。即,具有下述效果,即,通过学习所使用的条件及与学习所使用的条件类似的条件,能够高精度地推定摩擦。
实施方式8
图9是示意地表示实施方式8所涉及的摩擦补偿装置的结构的一个例子的框图。此外,对与上述的实施方式相同的结构要素标注同一标号,省略其说明。下面,对与上述的实施方式不同的部分进行说明。
实施方式8所涉及的摩擦补偿装置10取代实施方式3的摩擦校正参数决定部30,而是具有摩擦校正函数决定部40。另外,实施方式8所涉及的摩擦补偿装置10的驱动扭矩运算部13及摩擦校正值运算部24的功能与实施方式3不同。
驱动扭矩运算部13计算对电动机自身进行加减速所需的扭矩即电动机惯性力τm、与机器人的各轴的传递机构的惯性力、离心力及科里奥利力以及重力之和即传递机构的驱动扭矩τ,向摩擦校正函数决定部40输出。
图10是示意地表示实施方式8所涉及的摩擦补偿装置中的摩擦校正值运算部的结构的一个例子的框图。摩擦校正值运算部24具有惯性力绝对值计算部101、离心科里奥利力绝对值计算部103、重力绝对值计算部105、驱动扭矩校正量运算部109和乘法器108。此外,惯性力绝对值计算部101、离心科里奥利力绝对值计算部103、重力绝对值计算部105及乘法器108与实施方式1的图2中的说明相同,因此省略说明。
驱动扭矩校正量运算部109使用将由惯性力绝对值计算部101计算的惯性力的绝对值、由离心科里奥利力绝对值计算部103计算的离心科里奥利力绝对值和由重力绝对值计算部105计算的重力绝对值设为输入的校正函数,对校正驱动扭矩进行计算。驱动扭矩校正量运算部109所使用的校正函数使用通过后面记述的摩擦校正函数决定部40学习到的校正函数。
摩擦校正值运算部24也可以具有其他结构。图11是示意地表示实施方式8所涉及的摩擦补偿装置中的摩擦校正值运算部的结构的其他例的框图。摩擦校正值运算部24具有驱动扭矩绝对值计算部111、驱动扭矩校正量运算部114和乘法器113。此外,驱动扭矩绝对值计算部111及乘法器113与实施方式2的图3中的说明相同,因此省略说明。
图11中的驱动扭矩校正量运算部114使用将由驱动扭矩绝对值计算部111计算的惯性力、离心力及科里奥利力以及重力之和的绝对值设为输入的校正函数,对校正驱动扭矩进行计算。驱动扭矩校正量运算部114所使用的校正函数使用通过后面记述的摩擦校正函数决定部40学习到的校正函数。
图12是示意地表示实施方式8所涉及的机器人的摩擦校正值运算中的摩擦校正函数决定部的结构的一个例子的框图。摩擦校正函数决定部40具有速度计算部41、摩擦扭矩运算部42、电动机驱动扭矩比较部43和校正函数学习部44。
速度计算部41使用输入的不同时间的电动机位置的差分对电动机速度进行计算。摩擦扭矩运算部42使用从速度计算部41输入的电动机速度和从驱动扭矩运算部13输入的传递机构的惯性力、离心力及科里奥利力以及重力,对库仑摩擦及粘性摩擦进行计算。并且,摩擦扭矩运算部42对库仑摩擦和粘性摩擦之和即摩擦扭矩τf0进行计算。
电动机驱动扭矩比较部43对根据电动机电流计算出的驱动扭矩的实测值τr,与电动机惯性力τm、传递机构的驱动扭矩τ及摩擦扭矩τf0之和的差τr-(τ+τm+τf0)进行计算而作为驱动扭矩推定误差,输出至校正函数学习部44。
校正函数学习部44将惯性力、离心力及科里奥利力以及重力各自的绝对值,或者惯性力、离心力及科里奥利力以及重力之和的绝对值设为输入,对使得输出与驱动扭矩推定误差一致的校正函数进行学习。即,校正函数学习部44以减小与驱动扭矩推定误差之间的误差的方式对校正函数进行学习。在一个例子中,将与多个驱动扭矩推定误差之间的误差之中的与驱动扭矩推定误差之间的误差最小的函数设为校正函数。作为校正函数的学习,例如能够应用神经网络、多项式近似等。校正函数学习部44将学习到的校正函数输出至摩擦校正值运算部24。
在实施方式8的摩擦补偿装置10中,将惯性力、离心力及科里奥利力以及重力各自的绝对值,或者惯性力、离心力及科里奥利力以及重力之和的绝对值设为输入,对使得输出与驱动扭矩的实测值与电动机惯性力、传递机构的驱动扭矩及摩擦扭矩之和的差即驱动扭矩推定误差一致的方式对校正函数进行学习,将学习的结果即校正函数设定于摩擦校正值运算部24。在摩擦校正值运算部24中,使用校正函数对摩擦校正值进行运算。由此,与各轴的传递机构的输出扭矩的大小相对应地非线性地变动的摩擦成分也能够高精度地补偿。即,具有下述效果,即,在与惯性力、离心力及科里奥利力以及重力各自的绝对值或者它们之和的绝对值存在非线性的关系的摩擦的情况下,也能够高精度地对摩擦进行推定。
实施方式9
图13是示意地表示具有实施方式9所涉及的摩擦补偿装置的碰撞检测装置的结构的一个例子的框图。实施方式9所涉及的碰撞检测装置70设置于机器人控制装置的内部。碰撞检测装置70具有碰撞检测扭矩运算部71和碰撞判定部73。此外,对与上述的实施方式相同的结构要素标注同一标号,省略其说明。另外,下面对与上述的实施方式不同的部分进行说明。
碰撞检测扭矩运算部71具有摩擦补偿装置10和碰撞检测用扭矩合算部72。摩擦补偿装置10能够使用上述的实施方式1至8中说明的结构,但在这里,应用实施方式2中说明的结构而进行说明。另外,碰撞检测扭矩运算部71和碰撞判定部73由控制部10A构成。
向碰撞检测扭矩运算部71针对预先确定的每个周期,在一个例子中针对每个控制周期而输入机器人的各轴的位置。速度计算部11根据输入的机器人的各轴的电动机位置的差分对电动机速度进行计算,加速度计算部12根据从速度计算部11输入的电动机速度的差分对电动机加速度进行计算。
驱动扭矩运算部13计算对电动机自身进行加减速所需的扭矩即电动机惯性力τm与机器人的各轴的传递机构的惯性力、离心力及科里奥利力以及重力之和即传递机构的驱动扭矩τ。驱动扭矩运算部13将电动机惯性力τm和传递机构的驱动扭矩τ输出至碰撞检测用扭矩合算部72,将传递机构的驱动扭矩τ输出至摩擦推定值运算部14。
摩擦推定值运算部14与实施方式1、2中的说明相同,与实施方式2同样地,在摩擦校正值运算部24中,在对输入的传递机构的驱动扭矩τ的绝对值进行计算之后乘以校正增益,并且乘以与电动机速度的符号相同的符号,对其轴的摩擦校正值进行计算。另外,摩擦推定值运算部14对库仑摩擦及粘性摩擦进行计算,对库仑摩擦、粘性摩擦与摩擦校正值之和即摩擦推定值τfe进行计算,输出至碰撞检测用扭矩合算部72。
碰撞检测用扭矩合算部72对输入的电动机惯性力τm、传递机构的驱动扭矩τ及摩擦推定值τfe之和进行计算而作为碰撞检测用驱动扭矩推定值τc,输出至碰撞判定部73。
碰撞判定部73将根据输入的电动机电流而计算出的驱动扭矩的实测值τr与从碰撞检测用扭矩合算部72输入的碰撞检测用驱动扭矩推定值τc进行比较,判定机器人与障碍物是否发生了碰撞。具体地说,在驱动扭矩的实测值τr与碰撞检测用驱动扭矩推定值τc的差大于或等于预先确定的阈值的情况下,碰撞判定部73判定为机器人与障碍物发生了碰撞。
在实施方式9中,碰撞检测装置70具有实施方式1至8中记载的摩擦补偿装置10。由摩擦补偿装置10计算出的摩擦推定值、电动机惯性力与传递机构的驱动扭矩之和设为碰撞检测用驱动扭矩推定值。使用根据电动机电流而计算出的驱动扭矩的实测值与碰撞检测用驱动扭矩推定值的差,判定机器人与障碍物是否发生了碰撞。在碰撞检测用驱动扭矩推定值中,与各驱动轴的传递机构的输出扭矩的大小相应地变动的摩擦成分被高精度地补偿,因此具有能够高灵敏度对机器人与障碍物接触进行检测这一效果。
实施方式10
图14是表示具有实施方式10所涉及的摩擦补偿装置的扭矩前馈运算装置的结构的一个例子的框图。扭矩前馈运算装置80设置于机器人控制装置的内部。扭矩前馈运算装置80具有摩擦补偿装置10B和扭矩前馈指令生成部81。此外,对与上述的实施方式相同的结构要素标注同一标号,省略其说明。另外,下面对与上述的实施方式不同的部分进行说明。另外,摩擦补偿装置10B和扭矩前馈指令生成部81由控制部10A构成。
摩擦补偿装置10B具有与实施方式1至8中说明的摩擦补偿装置10基本相同的结构,但摩擦推定值运算部14A的结构与实施方式1至8中说明的摩擦推定值运算部14不同。摩擦推定值运算部14A具有符号电路21、库仑摩擦运算部22、粘性摩擦运算部23、摩擦校正值运算部24、加法器25a和滤波器部26。符号电路21、库仑摩擦运算部22、粘性摩擦运算部23及摩擦校正值运算部24与上述的实施方式1至8中的说明相同。但是,在这里,摩擦校正值运算部24应用实施方式2中说明的结构而进行说明。
加法器25a使从库仑摩擦运算部22输出的库仑摩擦和从摩擦校正值运算部24输出的摩擦校正值相加。滤波器部26对摩擦校正值和库仑摩擦的相加结果进行滤波。滤波器部26的一个例子是移动平均滤波器、1次延迟滤波器、2次延迟滤波器等低通滤波器。滤波器部26将滤波的结果输出至扭矩前馈指令生成部81。另外,粘性摩擦运算部23将运算得到的粘性摩擦输出至扭矩前馈指令生成部81。
在这里,对扭矩前馈运算装置80中的动作的概要进行说明。向扭矩前馈运算装置80针对预先确定的每个周期,在一个例子中针对每个控制周期而输入机器人的各轴的电动机位置指令。速度计算部11根据输入的机器人的各轴的电动机位置指令的差分对电动机速度的指令即电动机速度指令进行计算。加速度计算部12根据从速度计算部11输入的电动机速度指令的差分对电动机加速度的指令即电动机加速度指令进行计算。
驱动扭矩运算部13计算对电动机自身进行加减速所需的扭矩即电动机惯性力τmd与机器人的各轴的传递机构的惯性力、离心力及科里奥利力以及重力之和即传递机构的驱动扭矩τd。驱动扭矩运算部13将传递机构的驱动扭矩τd输出至摩擦推定值运算部14,将电动机惯性力τmd和传递机构的驱动扭矩τd输出至扭矩前馈指令生成部81。
摩擦校正值运算部24与实施方式2中说明的结构相同。与实施方式2同样地,在摩擦校正值运算部24中,在对输入的传递机构的驱动扭矩τd的绝对值进行计算之后乘以校正增益,并且乘以与电动机速度的符号相同的符号,对其轴的摩擦校正值进行计算。加法器25a使计算出的摩擦校正值和由库仑摩擦运算部22运算出的库仑摩擦相加。滤波器部26对摩擦校正值和库仑摩擦的相加结果进行滤波。
扭矩前馈指令生成部81使对摩擦校正值及库仑摩擦的相加结果进行滤波的结果、由粘性摩擦运算部23运算出的粘性摩擦与由驱动扭矩运算部13计算出的电动机惯性力τmd及传递机构的驱动扭矩τd相加,作为扭矩前馈指令而输出至未图示的各轴的电动机控制部。
实施方式10的扭矩前馈运算装置80具有摩擦补偿装置10B。摩擦补偿装置10B具有与实施方式1至8中记载的摩擦补偿装置10相同的结构。使由摩擦补偿装置10B计算出的摩擦校正值和库仑摩擦之和经过低通滤波器而得到的结果、粘性摩擦、电动机惯性力与传递机构的驱动扭矩相加得到的结果设为扭矩前馈指令。在扭矩前馈指令中,与各驱动轴的传递机构的输出扭矩的大小相应地变动的摩擦成分被高精度地补偿,因此具有能够高精度地对机器人前端的轨迹进行控制这一效果。
实施方式11
图15是示意地表示具有实施方式11所涉及的摩擦补偿装置的机器人控制装置的结构的一个例子的框图。机器人控制装置300是对控制对象即机器人330进行控制的装置。机器人控制装置300具有程序读出部311、加减速时间决定部312、位置指令生成部313和各轴电动机控制部314。
程序读出部311将指定了执行的机器人程序的各行依次读出,在读出的机器人命令为移动指令的情况下,将该移动指令的动作开始地点、动作结束地点及由程序指定出的最高速度输出至加减速时间决定部312。
加减速时间决定部312在一个例子中,决定通过移动指令而指示的动作的代表点处的加速时间及减速时间即加减速时间。在一个例子中,用于使通过移动指令而指示的动作进行动作的速度梯形图案中的加速结束地点处的时刻和动作开始地点处的时刻的差与加速时间相对应,动作结束地点处的时刻和减速开始地点处的时刻的差与减速时间相对应。图16是示意地表示实施方式11所涉及的机器人控制装置中的加减速时间决定部的结构的一个例子的框图。加减速时间决定部312具有代表点数据计算部321、驱动扭矩运算部13、摩擦推定值运算部14、代表点处的加减速时间运算部323和加减速时间选定部324。此外,驱动扭矩运算部13和摩擦推定值运算部14与实施方式1至8中说明的摩擦补偿装置10相对应。
代表点数据计算部321根据从程序读出部311输入的动作开始地点、动作结束地点及最高速度的数据对该动作的代表点处的位置及速度进行计算。在第1次的代表点的位置及速度的计算时,代表点数据计算部321使用预先确定的加减速时间的初始值对代表点处的位置及速度进行计算。在重复多次进行代表点处的加减速时间的计算的情况下,使用前一次的加减速时间的计算结果对代表点的位置及速度进行计算。作为代表点,在一个例子中,采用使该动作通过速度梯形图案进行动作的情况下的动作开始地点、加速结束地点、减速开始地点及动作结束地点。但是,代表点的选择方法并不限定于上述情况,也可以采用动作的中点、加速区间的中点等。
下面,关于驱动扭矩运算部13、摩擦推定值运算部14、代表点处的加减速时间运算部323及加减速时间选定部324,以代表点为加速结束地点的情况为具体例进行说明。
将由向加速结束地点处的传递机构的输出轴侧换算而得到的电动机位置构成的矢量设为qk,将由向传递机构的输出轴侧换算而得到的电动机速度构成的矢量设为vk。另外,将由将指定的最高速度向传递机构的输出轴侧换算而得到的速度构成的矢量设为Vmax,将由将各轴的电动机的容许扭矩向传递机构的输出轴侧换算而得到的值构成的矢量设为τmax。并且,将为了对代表点的位置及速度进行计算而使用的加减速时间的初始值或者前一次的加减速时间之中的加速时间设为kt0。驱动扭矩运算部13使用下式(10)对与传递机构的输出轴侧的惯性力相关的矢量即Mddt进行计算,使用下式(11)对输出轴侧的离心力及科里奥利力以及重力所产生的扭矩Tora进行计算。另外,驱动扭矩运算部13使用下式(12),对输出轴侧的惯性力、离心力及科里奥利力以及重力即惯性力所产生的扭矩Torb进行计算。
Mddt=M(qk)Vmax···(10)
Tora=h(qk,vk)+g(qk)···(11)
Torb=Tora+Mddt/kt0···(12)
在这里,矩阵M、矢量h、g与通过(1)式进行的说明相同。驱动扭矩运算部13将计算出的Mddt、Tora输出至代表点处的加减速时间运算部323,将计算出的Torb输出至摩擦推定值运算部14。
摩擦推定值运算部14在这里,成为与实施方式2的图1及图3所示的摩擦推定值运算部14相同的结构。即,在将机器人330的各轴的摩擦校正值运算部24的校正增益的值设为Ki,将Torb的各轴成分设为Torbi,将向传递机构的输出轴侧换算而得到的电动机速度的矢量vk的各轴成分设为vki,将各轴的库仑摩擦系数设为Kfci,将各轴的粘性摩擦系数设为Kfvi时,摩擦推定值运算部14通过下式(13)对各轴的摩擦推定值Torfi进行计算。摩擦推定值运算部14将计算出的各轴的摩擦推定值Torfi输出至代表点处的加减速时间运算部323。
Torfi=abs(Torbi)*Ki*sgn(vki)+Kfci*sgn(vki)+Kfvi*vki···(13)
代表点处的加减速时间运算部323将满足下式(14)的正的最小的kta设为ktai,将针对每个轴计算出的ktai的最大值设为该代表点处的加速时间候选kta而输出至加减速时间选定部324。但是,Mddti、Torai及τmaxi分别是Mddt、Tora及τmax的第i轴成分。
-τmaxi≤Mddti/kta+Torai+Torfi≤τmaxi···(14)
加减速时间选定部324在代表点存在多个的情况下,对通过多个代表点计算出的加速时间候选之中的最大的加速时间进行选择。加减速时间选定部324关于减速时间也同样地,对通过多个代表点计算出的减速时间候选之中的最大的减速时间进行选择。加减速时间选定部324在最大的加速时间及最大的减速时间的选择达到规定的重复次数的情况下,将选定出的加速时间和减速时间设为该动作的加减速时间,与动作开始地点、动作结束地点及最高速度一并输出至图15的位置指令生成部313。加减速时间选定部324在没有达到规定的重复次数的情况下,将选择出的加速时间和减速时间作为本次的重复周期的加减速时间而输出至代表点数据计算部321。在代表点数据计算部321中,加减速时间在下一次的重复中的代表点数据的计算时被有效使用。
返回至图15,位置指令生成部313基于从加减速时间决定部312输入的动作开始地点、动作结束地点、最高速度及加减速时间,生成针对预先确定的每个周期,在一个例子中生成针对每个控制周期的位置指令,将生成的位置指令输出至各轴电动机控制部314。
各轴电动机控制部314以各轴的位置追随位置指令的方式,将各轴的电动机的驱动扭矩输出至机器人330。
此外,在上述的说明中,对摩擦推定值运算部14具有实施方式2的结构的情况进行了说明,但也可以具有实施方式1、3至8的结构。另外,程序读出部311、加减速时间决定部312及位置指令生成部313由控制部10A构成的。
在实施方式11中,机器人控制装置300具有实施方式1至8中说明的摩擦补偿装置10。在机器人控制装置300中,与各驱动轴的传递机构的输出扭矩的大小相应地变动的摩擦成分被高精度地补偿,因此能够更高精度地对通过运动方程式计算的加速时间及减速时间进行计算。另外,具有下述效果,即,在满足限制的范围能够使机器人控制装置300和机器人330的各动作高速化即能够缩短机器人330的动作时间。
实施方式12
图17是示意地表示具有实施方式12所涉及的摩擦补偿装置的机器人控制装置的结构的一个例子的框图。此外,对与上述的实施方式相同的结构要素标注同一标号,省略其说明。另外,下面仅对与上述的实施方式不同的部分进行说明。机器人控制装置300还具有实施方式10的扭矩前馈运算装置80和实施方式9的碰撞检测装置70。扭矩前馈运算装置80设置于位置指令生成部313和各轴电动机控制部314之间。碰撞检测装置70设置为与各轴电动机控制部314连接。此外,碰撞检测装置70、扭矩前馈运算装置80、程序读出部311、加减速时间决定部312及位置指令生成部313由控制部10A构成。
在实施方式12中,在实施方式11的机器人控制装置300设置有扭矩前馈运算装置80和碰撞检测装置70。由此,在实施方式11的效果的基础上能够具有下述效果,即,能够高灵敏度地对机器人330与障碍物接触进行检测,并且高精度地对机器人330的前端的轨迹进行控制。
上述实施方式1至8所涉及的摩擦补偿装置10、实施方式9的碰撞检测装置70、实施方式10的扭矩前馈运算装置80及实施方式11、12的机器人控制装置300的控制部10A的功能通过处理电路而实现。处理电路可以是专用的硬件,也可以是执行在存储装置中储存的程序的处理装置。
在处理电路为专用的硬件的情况下,处理电路是单一电路、复合电路、被程序化的处理器、被并行程序化的处理器、面向特定用途的集成电路、现场可编程门阵列或者它们的组合。图18是表示将摩擦补偿装置的控制部的功能通过硬件实现的结构的一个例子的图。在处理电路501中装入实现控制部10A的功能的逻辑电路501a。
在处理电路501为处理装置的情况下,控制部10A的功能通过软件、固件或者软件和固件的组合而实现。
图19是表示将摩擦补偿装置的控制部的功能通过软件实现的结构的一个例子的图。处理电路501具有执行程序501b的处理器511、被处理器511用作工作区域的随机存取存储器512和对程序501b进行存储的存储装置513。将在存储装置513中存储的程序501b由处理器511在随机存取存储器512上展开并执行,由此实现控制部10A的功能。软件或者固件通过程序语言记述,储存于存储装置513。处理器511能够例示出中央处理装置,但并不限定于此。存储装置513能够应用如RAM(Random Access Memory)、ROM(Read Only Memory)、闪存、EPROM(Erasable Programmable Read Only Memory)或者EEPROM(注册商标)(Electrically Erasable Programmable Read Only Memory)这样的半导体存储器。半导体存储器可以是非易失性存储器,也可以是易失性存储器。另外,存储装置513除了半导体存储器以外,也能够应用磁盘、软盘、光盘、压缩盘、迷你盘或者DVD(Digital VersatileDisc)。此外,处理器511也可以将运算结果这样的数据输出至存储装置513而进行存储,也可以经由随机存取存储器512使该数据存储于未图示的辅助存储装置。将处理器511、随机存取存储器512及存储装置513集成于1个芯片,由此能够将控制部10A的功能通过微型计算机而实现。
处理电路501将在存储装置513中存储的程序501b读出而执行,由此实现控制部10A的功能。程序501b可以说使计算机执行实现控制部10A的功能的顺序及方法。
此外,处理电路501可以将控制部10A的功能的一部分通过专用的硬件而实现,将控制部10A的功能的一部分通过软件或者固件而实现。
如上所述,处理电路501能够通过硬件、软件、固件或者它们的组合而实现上述各功能。
此外,在这里,举例出摩擦补偿装置10的控制部10A的情况,但碰撞检测装置70、扭矩前馈运算装置80及机器人控制装置300的控制部10A的硬件结构也是同样的。
实施方式13
图20是表示实施方式13所涉及的摩擦补偿方法的一个例子的流程图。在这里,示出了摩擦补偿方法中的对摩擦扭矩进行推定的顺序。另外,下面参照图1的摩擦补偿装置10对机器人的摩擦补偿方法进行说明。
首先,如果输入电动机位置,则速度计算部11根据电动机位置的差分对电动机速度进行计算(步骤S11)。另外,加速度计算部12根据电动机速度的差分对电动机加速度进行计算(步骤S12)。计算出的电动机速度输出至驱动扭矩运算部13和摩擦推定值运算部14,计算出的电动机加速度输出至驱动扭矩运算部13。
接下来,在传递机构的输出侧配置的驱动扭矩运算部13根据电动机位置、电动机速度及电动机加速度,对传递机构的输出侧的驱动扭矩进行计算(步骤S13)。具体地说,驱动扭矩运算部13根据电动机位置、电动机速度及电动机加速度,对由分别向传递机构的输出侧换算而得到的值构成的矢量q、v、a进行计算,按照(1)式对由各轴的传递机构的输出侧的驱动扭矩构成的矢量τ进行计算。
然后,依赖于输出侧的驱动扭矩的摩擦校正值运算部24对依赖于输出侧的驱动扭矩的摩擦扭矩进行计算(步骤S14)。具体地说,摩擦校正值运算部24将驱动扭矩的矢量τ、使电动机速度换算为传递机构的输出速度而得到的速度的矢量v的第i轴成分分别设为τi、vi,将依赖于驱动扭矩的摩擦扭矩的各轴的校正系数设为Ki,使用下式(15)对依赖于输出侧的驱动扭矩的各轴的摩擦扭矩Torfai进行计算。该摩擦扭矩Torfai与摩擦校正值相对应。
Torfai=abs(τi)*Ki*sgn(vi)···(15)
另一方面,与步骤S13及S14并行地,不依赖于输出侧的驱动扭矩的库仑摩擦运算部22及粘性摩擦运算部23对不依赖于输出侧的驱动扭矩的摩擦扭矩进行计算(步骤S15)。具体地说,库仑摩擦运算部22、粘性摩擦运算部23及加法器25将各轴的库仑摩擦系数设为Kfci,将各轴的粘性摩擦系数设为Kfvi,使用下式(16)而求出不依赖于输出侧的驱动扭矩的摩擦扭矩的各轴成分Torfbi。
Torfbi=Kfci*sgn(vi)+Kfvi*vi···(16)
然后,加法器25根据依赖于输出侧的驱动扭矩的摩擦扭矩与不依赖于输出侧的驱动扭矩的摩擦扭矩之和,对摩擦扭矩推定值进行计算(步骤S16)。具体地说,加法器25将计算出的Torfa及Torfb关于各轴成分而相加,对各轴的摩擦扭矩推定值进行计算。以上,摩擦补偿方法结束。
在实施方式13所涉及的摩擦补偿方法中,使将传递机构的驱动扭矩的绝对值、电动机速度的符号与依赖于驱动轴扭矩的摩擦扭矩的校正系数相乘而得到的摩擦校正值与库仑摩擦及粘性摩擦相加而计算出摩擦扭矩推定值。由此,在速度及驱动部的温度相同的条件下的摩擦扭矩的变动发生的情况下,与基于仅通过各轴的速度而决定的摩擦模型进行计算的摩擦扭矩相比,具有能够高精度地对摩擦扭矩进行推定这一效果。即,能够高精度地对与传递机构的输出部的惯性力、离心力及科里奥利力以及重力相应地变动的摩擦进行推定。
以上的说明中,举例出对机器人的驱动轴的摩擦进行补偿的情况,但上述的实施方式能够应用于包含工业机械等驱动轴的控制对象整体。
以上的实施方式所示的结构表示一个例子,也能够与其他公知技术组合,也能够将实施方式彼此组合,在不脱离主旨的范围也能够将结构的一部分省略、变更。
标号的说明
10、10B摩擦补偿装置,10A控制部,11、31、41速度计算部,12加速度计算部,13驱动扭矩运算部,14、14A摩擦推定值运算部,15驱动扭矩非驱动轴扭矩运算部,21符号电路,22库仑摩擦运算部,23粘性摩擦运算部,24摩擦校正值运算部,25、25a、107、127、137、138、165、166、167加法器,26滤波器部,30摩擦校正参数决定部,32、42摩擦扭矩运算部,33、43电动机驱动扭矩比较部,34参数学习部,40摩擦校正函数决定部,44校正函数学习部,70碰撞检测装置,71碰撞检测扭矩运算部,72碰撞检测用扭矩合算部,73碰撞判定部,80扭矩前馈运算装置,81扭矩前馈指令生成部,100驱动扭矩校正量计算部,101、121、131惯性力绝对值计算部,102、122、132惯性力校正部,103、123、133离心科里奥利力绝对值计算部,104、124、134离心科里奥利力校正部,105、125、135重力绝对值计算部,106、126、136重力校正部,108、113乘法器,109、114驱动扭矩校正量运算部,111驱动扭矩绝对值计算部,112驱动扭矩校正部,120非驱动X轴扭矩校正量计算部,130非驱动Y轴扭矩校正量计算部,140非驱动X轴校正量计算部,141、151、161力绝对值计算部,142、152、162力校正部,143、153力矩绝对值计算部,144、154力矩校正部,150非驱动Y轴校正量计算部,160驱动轴校正量计算部,300机器人控制装置,311程序读出部,312加减速时间决定部,313位置指令生成部,314各轴电动机控制部,321代表点数据计算部,323代表点处的加减速时间运算部,324加减速时间选定部,330机器人。