首页 / 调整辅助装置

调整辅助装置有效专利 发明

技术领域

[0001] 本发明涉及调整辅助装置,尤其涉及与机器人的力控制中的控制参数的设定有关的调整辅助装置。

相关背景技术

[0002] 有时通过带有力传感器的机器人进行精密加工的部件间的嵌合、齿轮的相位调整、或者去毛刺、抛光等作业。通过由机器人抓持部件或工具,将预定方向的力控制(力控制)为希望的值来实现这样的作业。作为这样的力控制的方式,已知阻抗控制或阻尼控制、混合控制等。任何一种控制方式都需要手动设定合适的控制增益。另外,自动调整控制增益的方法是公知的(例如,日本特开2007-237312号公报)。
[0003] 如上所述,力控制中的控制增益的设定方法是公知的。但是,其它的参数例如合适的按压力、行进速度、行进方向等需要由操作者调整。当这样的参数的调整失败时,难以判断变更哪个控制参数可解决问题。
[0004] 因此,期望一种在力控制的参数调整失败时,基于在过去进行的力控制中使用的控制参数进行调整辅助的调整辅助装置。

具体实施方式

[0020] 下面,与附图一起说明本发明的实施方式。
[0021] 图1是表示一实施方式的调整辅助装置的概要硬件结构图。调整辅助装置1例如可安装在用于控制机器人的控制装置(机器人控制器)。另外,调整辅助装置1例如可安装在与用于控制机器人的控制装置一起设置的个人计算机中。调整辅助装置1可安装在经由有线/无线的网络与该控制装置连接的单元计算机、边缘计算机、雾计算机、云服务器等计算机中。在本实施方式中表示了将调整辅助装置1安装在用于控制机器人的控制装置中的例子。
[0022] 本实施方式的调整辅助装置1所具备的CPU(Central Processing Unit:中央处理器)11是对调整辅助装置1进行整体控制的处理器。CPU11经由总线20读出在ROM(Read Only Memory:只读存储器)12中存储的系统程序,按照该系统程序控制整个调整辅助装置1。在RAM(Random Access Memory:随机存取存储器)13中暂时存储暂时性的计算数据、操作者经由示教操作盘60或输入装置71输入的各种数据等。
[0023] 非易失性存储器14例如由通过未图示的电池进行支援的存储器、SSD(Solid State Drive:固态驱动器)等构成。即使调整辅助装置1的电源被切断,非易失性存储器14也保持存储状态。在非易失性存储器14中存储从示教操作盘60经由接口19输入的示教数据、从输入装置71输入的数据。另外,在非易失性存储器14中存储经由未图示的接口输入的工业用机器人控制用程序。另外,将安装在工业用机器人上的传感器3检测出的数据(对操纵器施加的力、力矩等)经由接口16输入到非易失性存储器14。非易失性存储器14存储经由接口16输入的数据。另外,在非易失性存储器14中存储从用于对工业用机器人的轴进行驱动的伺服电动机50检测出的数据(伺服电动机50的电流值、位置、速度、加速度、转矩等)。在非易失性存储器14中存储经由未图示的外部存储装置或网络读入的数据等。关于存储在非易失性存储器14中的程序、各种数据,在执行时/使用时可以在RAM13中展开。另外,在ROM12中预先写入了各种系统程序(包括用于控制与后述的机器学习装置100之间的数据交换的系统程序),该各种系统程序用于执行与机器人的控制、示教位置的示教相关的处理等。
[0024] 将读入到存储器的各数据以及作为执行程序等的结果而得到的数据经由接口17输入到显示装置70来进行显示。另外,将从后述的机器学习装置100输出的数据等经由接口17输入到显示装置70来进行显示。另外,输入装置71由键盘、定点设备等构成。输入装置71将基于操作者的操作的指令、数据等经由接口18传递给CPU11。
[0025] 示教操作盘60是具备显示器、手柄、硬键等的手动数据输入装置。示教操作盘60经由接口19接收来自调整辅助装置1的信息并进行显示。示教操作盘60将从手柄、硬键等输入的脉冲、指令、各种数据传递给CPU11。
[0026] 轴控制电路30用于控制工业用机器人所具备的关节等的轴。轴控制电路30接收来自CPU11的轴的移动指令量,将轴的移动指令量输出给伺服放大器40。伺服放大器40接收该指令来驱动伺服电动机50。伺服电动机50使机器人所具备的轴移动。伺服电动机50内置有位置速度检测器。伺服电动机50将来自该位置速度检测器的位置速度反馈信号反馈给轴控制电路30,进行位置速度的反馈控制。此外,在图1的硬件结构图中,关于轴控制电路30、伺服放大器40以及伺服电动机50,分别只示出了1个,但实际上按照成为控制对象的机器人所具备的轴的数量来准备。例如,在具备6个轴的机器人的情况下,针对各个轴准备轴控制电路30、伺服放大器40以及伺服电动机50。
[0027] 接口21是用于将调整辅助装置1的各部分与机器学习装置100连接的接口。机器学习装置100具备用于控制整个机器学习装置100的处理器101。机器学习装置100具备存储有系统程序等的ROM102。机器学习装置100具备RAM103,该RAM103用于进行与机器学习有关的各处理中的暂时性存储。机器学习装置100具备用于存储学习模型等的非易失性存储器104。机器学习装置100能够经由接口21观测调整辅助装置1可取的各信息(向操纵器施加的力或力矩、伺服电动机50的电流值、位置、速度、加速度、转矩等)。另外,调整辅助装置1接受从机器学习装置100输出的力控制参数的调整对象和调整方向的指示,并基于程序、示教数据进行机器人的控制指令的调整等。
[0028] 图2是第1实施方式的调整辅助装置1和机器学习装置100的概要性功能框图。图1所示的调整辅助装置1所具备的CPU11以及机器学习装置100的处理器101执行各自的系统程序来控制调整辅助装置1以及机器学习装置100的各部的动作,由此实现图2所示的功能块的各功能。
[0029] 本实施方式的调整辅助装置1具备:控制部32、数据取得部34、预处理部36、调整决定部38。调整辅助装置1所具备的机器学习装置100具备:学习部110、解析部130。另外,在非易失性存储器14设置有取得数据存储部54,其用于存储从工业用机器人2、传感器3等取得的数据。在机器学习装置100的非易失性存储器104设置有学习模型存储部150,其存储通过学习部110的机器学习而构筑的至少1个学习模型。
[0030] 控制部32根据操作者对操作盘(未图示)的控制操作、在非易失性存储器14等中存储的控制用程序来控制工业用机器人2。例如,在由控制用程序52指令了工业用机器人2所具备的各轴(关节)的移动时,控制部32按每个控制周期对驱动该轴的电动机输出作为轴角度的变化量的指令数据。也就是说,控制部32具备为了控制工业用机器人2的各部分所需要的用于一般性控制的功能。另外,控制部32取得工业用机器人2所具备的各电动机的电动机状态量(电动机的电流值、位置、速度、加速度、转矩等),并向数据取得部34输出。
[0031] 数据取得部34从工业用机器人2、传感器3以及输入装置71等取得各种数据。数据取得部34例如取得基于工业用机器人控制用程序的指令、与向工业用机器人2的操纵器施加的力或力矩相关的信息。数据取得部34取得用于对工业用机器人2的轴进行驱动的伺服电动机50的电流值、位置、速度、加速度、转矩等。数据取得部34将取得的数据存储到取得数据存储部54。可以使数据取得部34取得传感器3检测出的数据、与伺服电动机50相关的数据,来作为时间序列数据。另外,可以使数据取得部34取得操作者从输入装置71输入的与力控制相关的控制参数、与力控制的结果相对的判断结果所涉及的信息(判定数据)。可以使数据取得部34从未图示的外部存储装置取得数据或者经由有线/无线的网络从其它计算机取得数据。
[0032] 对数据取得部34取得的取得数据赋予判定数据。判定数据是用于按照预先决定的预定基准对取得数据进行分类的数据。数据取得部34取得的判定数据例如用于对图3所示的将圆柱形部件插入到汽缸的控制中使用的数据进行分类等。图3表示了对于将圆柱形部件插入圆筒孔中的圆柱嵌合是否良好进行判定的示例。在该示例中,预先规定了与时间相关的阈值tlim1、阈值tlim2以及阈值tlim3。阈值tlim1、阈值tlim2以及阈值tlim3满足阈值tlim1<阈值tlim2<阈值tlim3的关系。当圆柱嵌合至圆筒孔内的目标深度所花费的时间t小于tlim1时,判定为成功度为“高”。当圆柱嵌合至圆筒孔内的目标深度所花费的时间t为tlim1以上且小于tlim2时,判定为成功度为“中”。当圆柱嵌合至圆筒孔内的目标深度所花费的时间t为tlim2以上且小于tlim3时,判定为成功度为“低”。当在时间tlim3内圆柱未嵌合至圆筒孔内的目标深度时,判定为“失败”。如此,对于数据取得部34取得的数据赋予了与如下分类有关的判定数据,该分类为基于预先决定的基准,表示“成功”、“失败”等力控制的判定结果。另外,也可以对数据取得部34取得的数据赋予与子分类相关的判定数据,该子分类是基于预先决定的其它基准对“成功”、“失败”等各分类进行细分。此外,可以由数据取得部34基于预先给出的预定基准(上述各阈值和判定式)自动生成该判定数据。在上述例子中,赋予了与按照时间基准对“成功”的分类进一步细分的子分类有关的判定数据。例如,可以通过以细致度(carefulness)为基准的子分类对“成功”的分类进行细分。另外,也可以赋予通过以速度为基准的子分类(根据直到作业完成为止所花费的时间进行分类)进行了细分的判定数据。另外,也可以赋予与如下的子分类有关的判定数据,该子分类是按照扭转情况(根据向机器人前端部施加的力的最大值进行分类)或精度(根据机器人前端部的位置的精度进行分类)对“失败”的分类进行了细分。
[0033] 并且,也可以赋予将工业用机器人2的1个动作划分为多个阶段,并在各个阶段按照各自的基准进行了分类的判定数据。例如,在将圆柱插入圆筒孔的圆柱嵌合中,如图4所例示的那样,在嵌合动作的前半段调整圆柱部件的姿势,在嵌合动作的后半段调整嵌合方向(按压方向)的力的大小。也就是说,在各个阶段所重视的力控制的参数不同。为了能够应对这样的情况,针对取得数据中包含的预定的数据,对于每个预定的值或范围划分力控制的阶段。并且,也可以赋予根据预定的基准对各个阶段中的动作进行了分类的判定数据。例如,在圆柱嵌合中,针对深度方向的移动距离设置多个值或范围,由此来划分嵌合动作的阶段即可。在使用了其它的力控制的动作中,例如可以根据机器人前端部的姿势等来划分动作的阶段。此外,上述的值或范围例如可以由熟练的操作者等适当决定。
[0034] 预处理部36基于数据取得部34取得的机器学习用取得数据来生成在机器学习装置100的学习中使用的学习数据。预处理部36生成将数据取得部34取得的数据转换为在机器学习装置100中处理的统一形式(数值化、取样等)的状态数据。
[0035] 预处理部36生成的状态数据S可以包含力状态数据S1以及位置数据S2。力状态数据S1例如包含与对工业用机器人2的操纵器进行力控制时向操纵器施加的力相关的信息(目标按压力、实际施加的力等)。位置数据S2包含与操纵器的速度相关的信息(目标速度指令值、表示位置推移的数据等)。在该情况下,力状态数据S1至少包含向工业用机器人2的操纵器施加的进给方向的力的数据。力状态数据S1也可以包含在进给方向以外的方向施加的力、力矩的数据。也可以根据针对工业用机器人2的指令值、设定值求出力状态数据S1。也可以根据在工业用机器人2的操纵器设置的传感器3、用于驱动各个轴的伺服电动机50中流过的电流等来综合求出力状态数据S1。位置数据S2至少包含用于对预定的力状态数据S1所示的力的状态下设定的操纵器的位置的推移进行表示的数据等。位置数据S2还可以包含根据位置的推移计算出的速度、加速度、目标进给速度指令值、进给方向以外方向的控制指令。
[0036] 此外,关于在预处理部36作为学习数据而使用的判定数据D,原样使用在取得数据存储部54中存储的判定数据即可。
[0037] 当基于所设定的控制参数的力控制失败时,调整决定部38对机器学习装置100指令基于在取得数据存储部54中存储的取得数据进行解析。调整决定部38基于该解析结果决定控制参数的调整对象和调整方向,并输出所决定的这些信息。例如,当操作者经由输入装置71通知了工业用机器人2的力控制失败时,调整决定部38使用存储在取得数据存储部54中的取得数据对机器学习装置100的学习部110进行机器学习而生成的学习模型进行解析。调整决定部38根据该解析结果求出对失败时设定的控制参数中的哪个控制参数进行调整可使力控制成功。调整决定部38例如将求出的结果在显示装置70进行显示输出。
[0038] 学习部110进行使用了预处理部36生成的数据的机器学习。学习部110生成通过监督学习等公知的机器学习方法对操作者调整后的工业用机器人2的动作状态与该动作的良好与否的判定之间的关系进行学习而得到的学习模型。学习部110将生成的学习模型存储在学习模型存储部150中。作为学习部110进行的监督学习的方法,例如举出:Linear regression法(线性回归法)、Multilayer perceptron法(多层感知器法)、Recurrent neural network法(递归神经网络法)、Long Short-Term memory法(长短期记忆法)、convolutional neural network法(卷积神经网络法)等。
[0039] 在学习部110作为学习数据使用状态数据S和作为标签数据的判定数据D来进行监督学习。通过该学习,学习部110能够生成以下的学习模型,该学习模型决定工业用机器人2的动作的成功/失败(即,操作者进行的调整动作的成功/失败)的判别界限、成功度以及失败度的判别界限。
[0040] 此外,在学习已完成并且在学习模型存储单元150中存储有必要的学习模型的状态下,学习部110不是必需的。例如,在制造商将调整辅助装置1向客户发货时,可以将学习部110从调整辅助装置1移除。
[0041] 解析部130根据来自调整决定部38的指令,基于在学习模型存储部150中存储的学习模型对于在工业用机器人2的力控制失败时所使用的控制参数中调整哪个控制参数可使力控制成功进行解析。例如,解析部130解析在控制参数中将控制增益、与力状态数据S1对应的操纵器的按压力、与位置数据S2对应的操纵器的行进速度以及行进方向中的哪个控制参数进行何种程度的调整可使失败的力控制成功。
[0042] 下面,对于学习部110生成的学习模型以及解析部130的解析处理,以图3所示的汽缸的嵌合操作为例进行说明。
[0043] 学习部110基于存储在取得数据存储部54中的取得数据生成例如将以下的式(1)表示的回归式作为模型的学习模型。此外,在式(1)中,pi(i=1,2,3……)是对工业用机器人2的操纵器进行力控制时设定的控制参数,Q被定义为表示成功度的权重。
[0044] Q=f(p1,p2,p3,…)…(1)
[0045] 学习部110也可以基于在取得数据存储部54中存储的取得数据中的赋予了判定数据的取得数据来生成学习模型,该判定数据表示基于预定的基准进行判定后的判定结果。例如,学习部110可以在汽缸的嵌合操作中的力控制成功时所取得的取得数据中,使用被赋予了与将细致度作为基准的子分类相关的判定数据(细致度为“高”、“中”、“低”等)的取得数据来生成学习模型a并存储在学习模型存储部150中。另外,学习部110也可以使用被赋予了与将速度作为基准的子分类相关的判定数据(速度为“高”、“中”、“低”等)的取得数据来生成学习模型b并存储在学习模型存储部150中。另外,学习部110可以针对基于预先决定的基准对取得数据进行细分的每个子分类生成学习模型。例如,学习部110可以针对汽缸的嵌合操作中的赋予了以细致度作为基准的判定数据的取得数据,基于赋予了与细致度为“高”的子分类相关的判定数据的取得数据生成学习模型a1,基于赋予了与细致度为“中”的子分类相关的判定数据的取得数据生成学习模型a2,基于赋予了与细致度为“低”的子分类相关的判定数据的取得数据生成学习模型a3,并将存储在学习模型存储部150中。
[0046] 在学习模型存储部150中存储了这样的学习模型时,当从调整决定部38指令了操纵器的力控制失败时的控制参数的值和控制参数的调整基准时,解析部130从存储在学习模型存储部150中的学习模型中选择通过与调整决定部38的指令中包含的控制参数的调整基准相同的基准生成的学习模型。调整决定部38通过对选择出的学习模型进行解析,从而解析出对工业用机器人2的力控制失败时使用的控制参数中的哪个控制参数进行调整可使力控制成功。
[0047] 作为解析处理的一例,解析部130可以在作为学习模型而选择的回归式上基于成功度Q的变化倾向来决定控制参数的调整对象。在使用这样的解析方法时,解析部130首先确定在力控制失败时取得的控制参数在回归式上的位置。接着,解析部130求出在所确定的回归式上的位置各个控制参数的斜率。然后,解析部130将求出的各个控制参数的斜率进行比较,将斜率最大的控制参数决定为作为调整对象的控制参数。例如,如图5所例示的那样,解析部130将参数pi以外的参数pj(j≠i)固定为在力控制失败时使用的值来生成成功度Q与pi的式子。接着,解析部130求出在力控制失败时使用的pi的值的位置上的式子的斜率。针对各个控制参数pj执行这样的处理,在作为学习模型选择的回归式中,将在力控制失败时使用的值的位置上斜率最大的控制参数选择为调整对象的控制参数即可。然后,向调整决定部38通知解析部130选择出的成为调整对象的控制参数,使得将该成为调整对象的控制参数向成功度Q增大的调整方向调整预定的值。
[0048] 作为解析处理的其它例子,解析部130可以在作为学习模型选择的回归式上,根据与预定的控制参数的变化量相对的成功度Q的变化倾向来决定控制参数的调整对象。在采用这样的解析方法时,解析部130首先确定在力控制失败时取得的控制参数在回归式上的位置。接着,解析部130计算在所确定的位置附近,各个控制参数以预定的变化量进行了变更时的成功度Q的变化。然后,解析部130将计算出的与控制参数的变化量相对的成功度Q的变化倾向进行比较,将相对于控制参数的变化量成功度Q的变化最大(能够高效地改善成功度Q的值)的控制参数决定为调整对象的控制参数。例如,如图6所例示的那样,解析部130将参数pi以外的参数pj(j≠i)固定为在力控制失败时使用的值来生成Q与pi的式子。接着,解析部130将力控制失败时使用的pi的值作为中心,求出以每个预定的变化量Δd变化时的成功度Q的值,由此解析出力控制失败时的pi的值附近的成功度Q的变化倾向。针对各个控制参数执行这样的处理,在作为学习模型而选择的回归式中,将在力控制失败时使用的pi的值的位置能够最高效地使成功度Q增大的控制参数选择为调整对象的控制参数即可。然后,向调整决定部38通知解析部130选择出的成为调整对象的控制参数,使得将该成为调整对象的控制参数向成功度Q增大的调整方向调整预定的值。该解析方法也可用于作为学习模型使用了神经网络等的情况。
[0049] 此外,关于解析部130的解析处理,可以与学习模型的种类等相符地,采用公知的数理分析方法、几何学方法等能够掌握力控制失败的控制参数的值附近的成功度Q的变化倾向的任何手法。
[0050] 在具备上述结构的调整辅助装置1中,在工业用机器人2的力控制失败时,对基于过去取得的取得数据生成的学习模型进行解析来向操作者通知对哪个控制参数进行怎样的调整可使力控制成功。因此,即使是缺乏经验的操作者也能高效地调整工业用机器人2的力控制的控制参数。
[0051] 本实施方式的调整辅助装置1除了用于图3所示的嵌合动作以外,还能用于如下动作:例如,如图7所例示的那样,由安装在工业用机器人2上的操纵器抓持齿轮,一边相对于其它的齿轮进行齿轮的相位调整一边组装齿轮。另外,如图8所例示的那样,调整辅助装置1还能用于作为操纵器的末端执行部(手部、前端部等)的替代由安装在工业用机器人2上的抛光工具进行工件的去毛刺、抛光的动作等。
[0052] 作为本实施方式的一个变形例,解析部130可以将多个控制参数附加优先顺序来作为调整对象的控制参数通知给调整决定部38。在这样的情况下,例如在力控制失败时使用的控制参数pi的值的位置,按照斜率从大到小的顺序将多个控制参数作为调整对象通知给调整决定部38。
[0053] 作为本实施方式的另一变形例,作为学习部110在学习中使用的状态数据S,除了从工业用机器人2以及传感器3取得的力状态数据以及位置状态数据以外,还可以向状态数据S追加力控制中的控制增益、安装在机器人前端的工具的质量、工件与工具之间的间隙距离、摩擦系数、温度、力传感器特性等各种数据来进行机器学习。
[0054] 图9表示具备调整辅助装置1’的第2实施方式的系统170。当作为单元计算机、雾计算机、主计算机、云服务器等计算机安装了系统170时,系统170具备:调整辅助装置1’、具备控制部32(机器人控制器)的至少1个工业用机器人2、以及用于将调整辅助装置1’与工业用机器人2互相连接的有线/无线的网络172。
[0055] 本实施方式的调整辅助装置1’在通过图2说明的功能中具备控制部32以外的功能,在这一点与第1实施方式的调整辅助装置1不同。在具备上述结构的系统170中,调整辅助装置1’经由网络172收集在各个工业用机器人2进行动作时取得的取得数据。调整辅助装置1’使用收集到的取得数据进行机器学习,生成学习模型。
[0056] 并且,调整辅助装置1’从正在使用各个工业用机器人2的操作者接受力控制失败时的控制参数的调整辅助的委托,对成为调整对象的控制参数及其调整方法进行解析,将解析结果返回给各个工业用机器人2。
[0057] 在本实施方式的系统170中,例如在对于作为边缘计算机的多个工业用机器人2设置的雾计算机上安装调整辅助装置1’。由此,能够在调整辅助装置1’上集中进行各个工业用机器人2中的力控制的控制参数的调整辅助。结果,无需对每个工业用机器人2设置机器学习装置100,因此能够削减机器学习装置100的使用成本。
[0058] 图10是图9所示的调整辅助装置1’的概要性硬件结构图。
[0059] 调整辅助装置1’具备的CPU511是对调整辅助装置1’进行整体控制的处理器。CPU511经由总线520读出存储在ROM512中的系统程序。CPU511按照该系统程序控制整个调整辅助装置1’。在RAM513中暂时存储暂时性计算数据、操作者经由输入装置531输入的各种数据等。
[0060] 非易失性存储器514例如由通过未图示的电池进行支援的存储器、SSD(Solid State Drive:固态驱动器)等构成。即使调整辅助装置1’的电源被切断,非易失性存储器514也保持存储状态。在非易失性存储器514中确保用于存储与调整辅助装置1’的动作相关的设定信息的设定区域。在非易失性存储器514中存储有从输入装置531输入的数据、从各调整辅助装置1’取得的数据、从未图示的外部存储装置或经由网络读入的数据等。关于存储在非易失性存储器514中的程序、各种数据,在执行时/使用时可以在RAM513中展开。另外,在ROM512中预先写入了包括用于解析各种数据的公知的解析程序等的系统程序。
[0061] 调整辅助装置1’经由接口516与网络172连接。网络172上连接有至少1个工业用机器人2、其它计算机等,与调整辅助装置1’之间相互进行数据的交换。
[0062] 将读入到存储器的各数据、作为执行程序等的结果而得到的数据等经由接口517输出给显示装置530来进行显示。输入装置531由键盘、指点设备等构成。输入装置531将基于操作者的操作的指令、数据等经由接口518传递给CPU511。
[0063] 此外,关于机器学习装置100,具备与图1中说明的硬件结构相同的硬件结构。
[0064] 以上对本发明的实施方式进行了说明,但本发明并不仅限于上述实施方式的示例,可通过加入适当的变更以各种方式实施。
[0065] 例如,在上述实施方式中,将调整辅助装置1和机器学习装置100说明为具有不同的CPU(处理器)的装置,但也可以通过调整辅助装置1具备的CPU11和存储在ROM12中的系统程序来实现机器学习装置100。

当前第1页 第1页 第2页 第3页