(57)【要約】      （修正有）【課題】撓み量を迅速に算出することができる撓み量推定装置、ロボット制御装置、及び撓み量推定方法の提供。【解決手段】所定の角度範囲において揺動する４節リンク構造部を含む複数のリンクが関節によって連結されてなるロボットアームの４節リンク構造部の撓み量を推定する撓み量推定装置であって、４節リンク構造部の揺動角を算出する揺動角算出部と、４節リンク構造部が受ける負荷を算出する負荷算出部と、４節リンク構造部が受ける負荷と４節リンク構造部の撓み量とを関係づける剛性行列の各成分の値である剛性値と、４節リンク構造部の揺動角との相関関係を表した剛性値決定関数を用いて、揺動角算出部が検知した４節リンク構造部の揺動角に対応する前記剛性値を決定する剛性行列決定部と、負荷算出部が算出した４節リンク構造部が受ける負荷と、剛性値決定部が決定した剛性値に基づき、４節リンク構造部の撓み量を算出する撓み量算出部と、を備える。【選択図】図２
2019195892.tif 000002
【特許請求の範囲】
【請求項１】
所定の角度範囲において揺動する４節リンク構造部を含む複数のリンクが関節によって連結されてなるロボットアームの前記４節リンク構造部の撓み量を推定する撓み量推定装置であって、
前記４節リンク構造部の揺動角を算出する揺動角算出部と、
前記４節リンク構造部が受ける負荷を算出する負荷算出部と、
前記４節リンク構造部が受ける負荷と前記４節リンク構造部の撓み量とを関係づける剛性行列の各成分の値である剛性値と、前記４節リンク構造部の揺動角との相関関係を表した剛性値決定関数を用いて、前記揺動角算出部が検知した前記４節リンク構造部の揺動角に対応する前記剛性値を決定する剛性行列決定部と、
前記負荷算出部が算出した前記４節リンク構造部が受ける負荷と、前記剛性行列決定部が決定した前記剛性値成分を有する前記剛性行列に基づき、前記４節リンク構造部の撓み量を算出する撓み量算出部と、を備える撓み量推定装置。
【請求項２】
前記４節リンク構造部は、閉じたリンク構造を有する、請求項１に記載の撓み量推定装置。
【請求項３】
前記４節リンク構造部は、平行リンク構造を有する、請求項１に記載の撓み量推定装置。
【請求項４】
前記剛性値決定関数は、互いに異なる複数の前記揺動角にそれぞれ対応する前記剛性値を予め解析により取得し、解析により取得した複数の前記揺動角に対応する前記剛性値を線形補間した関数である、請求項１乃至３の何れか１に記載の撓み量推定装置。
【請求項５】
請求項１乃至４の何れか１に記載の前記撓み量推定装置を備える、ロボット制御装置。
【請求項６】
所定の角度範囲において揺動する４節リンク構造部を含む複数のリンクが関節によって連結されてなるロボットアームの前記４節リンク構造部の撓み量を検出する撓み量推定方法であって、
前記４節リンク構造部の揺動角を算出する揺動角算出ステップと、
前記４節リンク構造部が受ける負荷を算出する負荷算出ステップと、
前記４節リンク構造部が受ける負荷と前記４節リンク構造部の撓み量とを関係づける剛性行列の各成分の値である剛性値と、前記４節リンク構造部の揺動角との相関関係を表した剛性値決定関数を用いて、前記揺動角算出ステップにおいて算出した前記４節リンク構造部の揺動角に対応する前記剛性値を決定する剛性行列決定ステップと、
前記負荷算出ステップにおいて算出した前記４節リンク構造部が受ける負荷と、前記剛性行列決定ステップにおいて決定した前記剛性値成分を有する前記剛性行列に基づき、前記４節リンク構造部の撓み量を算出する撓み量算出ステップと、を備える撓み量推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撓み量推定装置、ロボット制御装置、及び撓み量推定方法に関する。
【背景技術】
【０００２】
従来、例えば特許文献１において、剛性が低い要素を含むロボットについて、たわみ等を考慮して正確に位置決め等をする制御に関して提案がなされている。特許文献１は、アームの駆動軸の動力伝達要素の二次側の変位を取得し、取得した変位値に基づきオブザーバにより動力伝達要素の一次側の変位を推定してフィーバック制御するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１１５８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、産業用ロボットは、サイクルタイム減少等のための高速化やアームのリンクの軽量化が進められている。しかし、高速化や軽量化により、位置決め動作時にアームのリンクの撓みやこの撓みに起因する振動が発生し、位置決め精度等の低下が生じることになる。このため、リンクの撓みを考慮しつつ振動を防止して正確に位置決め等の制御を実現するため、その撓み量を推定することが望まれている。特に、平行リンク構造等の４節リンク構造を用いたロボットアームは、高負荷条件下における安定動作を実現することができるものであるが、リンク構造が複雑となり、その撓み量の推定には困難が伴う。しかし、特許文献１においては、アームのリンクは剛性が高いものとしており、そのたわみについては考慮されていなかった。このように、従来の技術においては、高速化やアームのリンクの軽量化に対応することが困難であった。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明のある態様に係る撓み量推定装置は、所定の角度範囲において揺動する４節リンク構造部を含む複数のリンクが関節によって連結されてなるロボットアームの前記４節リンク構造部の撓み量を推定する撓み量推定装置であって、前記４節リンク構造部の揺動角を算出する揺動角算出部と、前記４節リンク構造部が受ける負荷を算出する負荷算出部と、前記４節リンク構造部が受ける負荷と前記４節リンク構造部の撓み量とを関係づける剛性行列の各成分の値である剛性値と、前記４節リンク構造部の揺動角との相関関係を表した剛性値決定関数を用いて、前記揺動角算出部が検知した前記４節リンク構造部の揺動角に対応する前記剛性値を決定する剛性行列決定部と、前記負荷算出部が算出した前記４節リンク構造部が受ける負荷と、前記剛性行列決定部が決定した前記剛性値成分を有する前記剛性行列に基づき、前記４節リンク構造部の撓み量を算出する撓み量算出部と、を備える。
【０００６】
この構成によれば、揺動角に基づいて決定した剛性値成分を有する剛性行列を用いて、迅速に４節リンク構造の撓み量を推定することができる。したがって、撓み量を算出する過程における計算量を少なくすることができ、撓み量を迅速に算出することができる。
【０００７】
前記４節リンク構造部は、閉じたリンク構造を有していてもよい。
【０００８】
この構成によれば、ロボットアームを適切に構成することができる。
【０００９】
前記４節リンク構造部は、平行リンク構造を有していてもよい。
【００１０】
この構成によれば、ロボットアームを適切に構成することができる。
【００１１】
前記剛性値決定関数は、互いに異なる複数の前記揺動角にそれぞれ対応する前記剛性値を予め解析により取得し、解析により取得した複数の前記揺動角に対応する前記剛性値を線形補間した関数であってもよい。
【００１２】
この構成によれば、撓み量を算出する過程における計算量をより少なくすることができ、撓み量を迅速に算出することができる。
【００１３】
上記課題を解決するため、本発明のある態様に係るロボット制御装置は、上記の撓み量推定装置を備える。
【００１４】
この構成によれば、揺動角に基づいて決定した剛性値成分を有する剛性行列を用いて、迅速に４節リンク構造の撓み量を推定することができる。したがって、計算量を少なくすることができ、撓み量を迅速に算出することができる。これによって、ロボット本体の動作速度を向上させることができる。
【００１５】
上記課題を解決するため、本発明のある態様に係る撓み量推定方法は、所定の角度範囲において揺動する４節リンク構造部を含む複数のリンクが関節によって連結されてなるロボットアームの前記４節リンク構造部の撓み量を検出する撓み量推定方法であって、前記４節リンク構造部の揺動角を算出する揺動角算出ステップと、前記４節リンク構造部が受ける負荷を算出する負荷算出ステップと、前記４節リンク構造部が受ける負荷と前記４節リンク構造部の撓み量とを関係づける剛性行列の各成分の値である剛性値と、前記４節リンク構造部の揺動角との相関関係を表した剛性値決定関数を用いて、前記揺動角算出ステップにおいて算出した前記４節リンク構造部の揺動角に対応する前記剛性値を決定する剛性行列決定ステップと、前記負荷算出ステップにおいて算出した前記４節リンク構造部が受ける負荷と、前記剛性行列決定ステップにおいて決定した前記剛性値成分を有する前記剛性行列に基づき、前記４節リンク構造部の撓み量を算出する撓み量算出ステップと、を備える。
【００１６】
この構成によれば、揺動角に基づいて決定した剛性値成分を有する剛性行列を用いて、迅速に４節リンク構造の撓み量を推定することができる。したがって、計算量を少なくすることができ、撓み量を迅速に算出することができる。これによって、ロボット本体の動作速度を向上させることができる。
【発明の効果】
【００１７】
本発明は、撓み量を算出する過程における計算量を少なくすることができ、撓み量を迅速に算出することができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係る撓み量推定装置を含むロボットシステムの構成例を概略的に示す図である。
【図２】図１のロボットシステムの制御系統の構成例を概略的に表すブロック図である。
【図３】図１のロボットシステムの撓み量推定動作に係る動作例を示すフローチャートである。
【図４Ａ】図１のロボットシステムの撓み量推定動作に用いる剛性値決定関数の一例を示す図である。
【図４Ｂ】図１のロボットシステムの撓み量推定動作に用いる剛性値決定関数の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、本実施の形態によって本発明が限定されるものではない。また、以下では、全ての図を通じて、同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【００２０】
図１は、本発明の実施の形態に係る撓み量推定装置を含むロボットシステム１００の構成例を概略的に示す図である。図１に示すように、ロボットシステム１００は、ロボット本体１と、ロボットコントローラ２とを備える。
【００２１】
［ロボット本体の構成例］
ロボット本体１は、多関節型の産業用ロボット（多関節ロボット）である。また、ロボット本体１は、後述する上部アーム構造１２及びハンド８を支持する下部アーム構造１１に平行リンク構造を用いたロボットであり、高い機械剛性を有し、高負荷条件下における安定動作を実現することができるロボットである。
【００２２】
ロボット本体１は、基台６と、ロボットアーム７と、ハンド８とを含む。基台６は、例えば床面に固定されて載置され、ロボットアーム７及びハンド８を支持している。
【００２３】
ロボットアーム７は、複数のリンクが関節によって連結されている構造を有する。ロボットアーム７は、下部アーム構造１１と、上部アーム構造１２と、関節駆動部１３（図２参照）と、下部アーム駆動部１４（図２参照）とを含む。下部アーム構造１１は、基台６に対して例えば上下方向に延びる旋回軸線周りに回動可能に連結されている。この基台６と下部アーム構造１１とを連結している構造が第１関節ＪＴ１である。また、上部アーム構造１２は、下部アーム構造１１に対して旋回軸線と直交する上部アーム回動軸線周りに回動可能に連結されている。この下部アーム構造１１と上部アーム構造１２とを連結している構造が第３関節ＪＴ３である。ロボットアーム７は、後述する下部アーム構造１１の動作構造を関節（第２関節ＪＴ２）と見做すことができ、これを含めると、ロボットアーム７全体で６つの関節軸を有する。これらの関節軸のうち、下部アーム構造１１を除く５つの関節軸は、それぞれの関節に対応して設けられた関節駆動部１３によって駆動され、近位端側のリンクに対して遠位端側のリンクを回動軸線周りに回動させる。また、下部アーム構造１１は、下部アーム駆動部１４（詳細は後述）によって駆動される。上部アーム構造１２は、シリアルリンク構造であり、周知の垂直多関節型の６軸ロボットの上部アーム構造と同様に構成されるので、その詳細な説明を省略する。なお、本明細書において、遠位端側という用語は、ロボットアーム７が延びる方向において、ハンド８側を意味し、近位端側という用語は、基台６側を意味する。
【００２４】
下部アーム構造（４節リンク構造部）１１は、所定の角度範囲において揺動するアーム構造である。下部アーム構造１１は、ベース３１と、駆動リンク３２と、従動リンク３３と、中間リンク３４とを含む。ベース３１は、基台６に対して旋回軸線周りに回動可能に連結されている。駆動リンク３２及び従動リンク３３はそれぞれ、近位端部が第１連結軸３５及び第２連結軸３６を介してベース３１に連結され、遠位端部が第３連結軸３７及び第４連結軸３８を介して中間リンク３４に連結されている。各連結軸は、連結する一方のリンク及び他方のリンクを回動軸線周りに回動可能に連結している。また、各連結軸の軸線は、旋回軸線と直交する方向に延び、且つ互いに平行に延びている。そして、第１連結軸３５及び第２連結軸３６の軸線の間隔と、第３連結軸３７及び第４連結軸３８の軸線の間隔は同一であり、また、第１連結軸３５及び第３連結軸３７の間隔と、第２連結軸３６及び第４連結軸３８の間隔は同一である。すなわち、下部アーム構造１１は、平行リンク構造を有し、４つの節を有する環状に閉じた４節リンク構造を有する。そして、駆動リンク３２及び従動リンク３３は対称性をもって揺動し、また、駆動リンク３２の揺動角及び従動リンク３３の揺動角は同一となるように構成されている。これによって、第３関節ＪＴ３は、第１関節ＪＴ１に対する姿勢を維持することができる。
【００２５】
そして、下部アーム駆動部１４が下部アーム構造１１を駆動し、揺動させる。下部アーム駆動部１４は、図示しないベース３１に取り付けられたサーボモータと減速機を備え、サーボモータの出力軸は減速機を介して第１連結軸３５において、駆動リンク３２に固定的に連結されている。したがって、関節駆動部１３は、その駆動力によって、駆動リンク３２を揺動させる。また、下部アーム駆動部１４は、サーボモータの出力軸の角度位置を検出するエンコーダ１４ａを有する。エンコーダ１４ａによって検出されたサーボモータの出力軸の角度位置情報は、ロボットコントローラ２の後述する演算部２１及びサーボアンプ２３に入力される（図２参照）。
【００２６】
［ロボットコントローラの構成例］
図２は、ロボットシステム１００の制御系統の構成例を概略的に表すブロック図である。
【００２７】
図１に示すように、ロボットコントローラ（ロボット制御装置）２は、ロボット本体１の周辺に配置され、ロボット本体１の制御対象軸の位置制御、速度制御、又は電流制御を行う。図２に示すように、ロボットコントローラ２は、例えば、ＣＰＵ等の演算器を有する演算部２１と、ＲＯＭ及びＲＡＭ等のメモリを有する記憶部２２と、下部アーム駆動部１４及び関節駆動部１３のそれぞれのサーボモータに対応して設けられた複数のサーボアンプ２３とを含む。また、ロボットコントローラ２は、４節リンク構造部の撓み量、すなわち、下部アーム構造１１の撓みに起因する第１関節ＪＴ１に対する第３関節ＪＴ３の位置及び姿勢の変位量を推定する。ロボットコントローラ２は、集中制御する単独のコントローラで構成されていてもよく、互いに協働して分散制御する複数のコントローラで構成されてもよい。
【００２８】
演算部２１は、揺動角算出部２５と、負荷算出部２６と、剛性行列決定部２７と、撓み量算出部２８と、指令生成部２９とを含む。揺動角算出部２５、負荷算出部２６、剛性行列決定部２７、及び撓み量算出部２８が撓み量推定装置を構成する。これらの機能部２５〜２９は、記憶部２２に格納された所定の制御プログラムを演算部２１が実行することにより実現される機能ブロックである（詳細は動作例において述べる）。記憶部２２は、所定の制御プログラムが記憶されていて、演算部２１がこれらの制御プログラムを読み出して実行することにより、ロボット本体１の動作が制御される。また、記憶部２２は、後述する剛性値決定関数が記憶されている。
【００２９】
撓み量推定装置は、ロボットアーム７を動作させた際に、ロボットアーム７の加減速によって生じる動的負荷による下部アーム構造１１の動的撓み量を推定する装置であり、下部アーム構造１１の近位端（第１関節ＪＴ１）に対する遠位端（第３関節ＪＴ３）の位置及び姿勢の変位量を推定する装置である。
【００３０】
サーボアンプ２３は、対応するサーボモータの制御を行う。すなわち、サーボアンプ２３は、例えば、位置制御においては、指令生成部２９において生成された位置指令値に基づき決定したサーボモータの出力軸の角度位置に対する現在位置との偏差を０にするようにサーボモータの追従制御を行う。
【００３１】
［動作例］
次に、ロボットシステム１００の撓み量推定動作に係る動作例を説明する。
【００３２】
図３は、ロボットシステム１００の撓み量推定動作に係る動作例を示すフローチャートである。
【００３３】
まず、揺動角算出部２５は、下部アーム駆動部１４のエンコーダ１４ａが検知した駆動リンク３２を駆動するサーボモータの出力軸の角度位置情報に基づき、下部アーム構造１１の揺動角を算出する（ステップＳ１）。
【００３４】
次に、負荷算出部２６は、下部アーム構造１１が受ける負荷を算出する（ステップＳ３）。本実施の形態において、下部アーム構造１１が受ける負荷とは、ロボットアーム７の動作時のリンクの加減速に伴って下部アーム構造１１が受ける動的負荷である。負荷算出部２６は、負荷量を符号付きで取り扱い、例えば、ロボットアーム７の揺動開始時にリンクを加速することにより＋負荷が生じ、揺動終了時にリンクを減速することにより−負荷が生じるものとして取り扱う。
【００３５】
次に、剛性行列決定部２７は、揺動角算出部２５が検知した下部アーム構造１１の揺動角に対応する剛性行列Ｃ（rigidity matrix, stiffness matrix）の各成分の値である剛性値を決定する（ステップＳ５）。剛性行列Ｃは、下部アーム構造１１が受ける負荷（力及びモーメントの６方向の力、レンチ）ｗと下部アーム構造１１の撓み量δとを関係づける６×６の対称行列であり、以下の式（１）に示すｃ１１〜ｃ６６の３６個の成分を有する。
【００３６】
【数１】
2019195892.tif 000003
【００３７】
剛性行列決定部２７は、これら３６個の成分（対称成分を除くと２１個）のぞれぞれについて個別に規定される剛性値決定関数を用いて、剛性値を決定する。
【００３８】
剛性値決定関数は、剛性値と下部アーム構造１１の揺動角との相関関係を表した関数であり、有限要素法（ＦＥＭ）を使用した解析により算出される。すなわち、まず、互いに異なる複数の揺動角にそれぞれ対応する剛性値を予め解析により取得する。具体的には、駆動リンク３２が直立状態にある角度を０°とし、前方に傾斜させた状態を正、後方に傾斜させた状態を負とした場合、例えば、駆動リンク３２を−６０°、−３０°、０°、３０°、６０°に傾斜させた状態のそれぞれについて、剛性値を取得する。そして、解析により取得した複数の揺動角に対応する剛性値を線形補間し、これを剛性値決定関数とする。図４Ａにｃ３６成分に係る剛性値決定関数の一例を示す。また、図４Ｂにｃ１３成分に係る剛性値決定関数の一例を示す。また、有限要素法によって剛性値を取得するサンプリング間隔は、線形補間によって剛性値の変化の傾向が表れるように設定され、図４Ａ及び図４Ｂに示すように例えば３０°間隔で剛性値を取得することによって、剛性値の変化の傾向を取得することができる。
【００３９】
次に、撓み量算出部２８は、負荷算出部２６が算出した下部アーム構造１１が受ける負荷と、剛性行列決定部２７が決定した剛性値に基づき決定された剛性行列Ｃに基づいて、下部アーム構造１１の撓み量δを算出する（ステップＳ７）。すなわち、撓み量算出部２８は、以下の式（２）に係る関数を用いて、撓み量δを算出する。
【００４０】
【数２】
2019195892.tif 000004
【００４１】
ところで、通常、シリアルリンクにおいては、レンチｗと撓み量δとの関係は線形性を持つ。しかし、４節リンク構造においては、図４Ａ及び図４Ｂに示すように、レンチｗと撓み量δとの関係は非線形性を持ち、剛性行列Ｃは揺動角に応じて互いに異なる変化傾向を示す剛性値成分を有することから、その撓み量δの推定が困難であった。しかし、ロボットシステム１００の撓み量推定装置は、揺動角に基づいて決定した剛性値成分ｃ１１〜ｃ６６を有する剛性行列Ｃを用いて、迅速に４節リンク構造の撓み量δを推定する。したがって、例えば、各リンクのレンチｗと撓み量δとの関係を表した式を連立して解く場合と比較して、計算量を少なくすることができ、撓み量を迅速に算出することができる。これによって、ロボット本体１の動作速度を向上させることができる。なお、式（２）に表すように、動的撓み量の推定において、重力成分の影響は軽微であるので、この影響を無視している。
【００４２】
次に、指令生成部２９は、動作プログラムに基づき指令値を生成する（ステップＳ７）。この際、指令生成部２９は、撓み量算出部２８が算出した下部アーム構造１１の動的撓み量δに応じた補償量を算出する。この補償量は、下部アーム構造１１の加速度に比例する量であり、揺動開始時における補償量と動作終了時における補償量とは反対符号となる。これによって、ロボットアーム７の加減速に伴うロボットアーム７の振動を抑制することができる。
【００４３】
以上に説明したように、本発明の撓み量推定装置は、揺動角に基づいて決定した剛性値成分ｃ１１〜ｃ６６を有する剛性行列Ｃを用いて、迅速に４節リンク構造の撓み量δを推定する。したがって、計算量を少なくすることができ、撓み量を迅速に算出することができる。これによって、ロボット本体１の動作速度を向上させることができる。
【００４４】
＜変形例＞
上記実施の形態においては、撓み量推定装置は、動的撓み量δを推定したがこれに限られるものではない。これに代えて、撓み量推定装置は、負荷算出部２６が静的負荷を算出し、撓み量算出部２８が静的負荷と静的撓み量との関係に基づいて静的撓み量を推定してもよい。
【００４５】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【符号の説明】
【００４６】
ＪＴ１  第１関節
ＪＴ２  第２関節
ＪＴ３  第３関節
１  ロボット本体
２  ロボットコントローラ
７  ロボットアーム
１１  下部アーム構造
１４  下部アーム駆動部
１４ａ  エンコーダ
２１  演算部
２２  記憶部
２３  サーボアンプ
２５  揺動角算出部
２６  負荷算出部
２７  剛性行列決定部
２８  撓み量算出部
２９  指令生成部
１００  ロボットシステム
【図１】
2019195892.tif 000005
【図２】
2019195892.tif 000006
【図３】
2019195892.tif 000007
【図４Ａ】
2019195892.tif 000008
【図４Ｂ】
2019195892.tif 000009