(57)【要約】【課題】産業用ロボットの出荷前の段階で、該産業用ロボットの動作を行うための最適な加減速時間を学習することが可能な振動抑制装置を提供すること。【解決手段】本発明の振動抑制装置１は、教示位置を取得する教示位置取得部２００と、教示位置、及び第１加減速パラメータに基づいて速度計画を算定する速度計画部２１０と、教示位置及び速度計画に基づいてロボットの加減速動作時に発生するたわみに係るデータを算出するたわみ算出部２２０と、教示位置における姿勢を示す姿勢に係るデータを取得する姿勢データ取得部と２３０、たわみに係るデータ及び姿勢に係るデータを入力データとして、たわみに係るデータ及び姿勢に係るデータに対する加減速パラメータの推定を行う機械学習部と、を備える。【選択図】図２
2019098439.tif 000002
【特許請求の範囲】
【請求項１】
制御対象のロボットの加減速動作時に発生する振動を所定の閾値以下となるように抑制する振動抑制装置において、
教示位置を取得する教示位置取得部と、
前記教示位置、及び第１加減速パラメータに基づいて速度計画を算定する速度計画部と、
前記教示位置及び前記速度計画に基づいて前記ロボットの加減速動作時に発生するたわみに係るデータを算出するたわみ算出部と、
前記教示位置に基づいて、前記教示位置における姿勢に係るデータを取得する姿勢データ取得部と、
前記たわみに係るデータ及び前記姿勢に係るデータを入力データとして、前記たわみに係るデータ及び前記姿勢に係るデータに対する第２加減速パラメータの推定を行う機械学習部とを備える、
振動抑制装置。
【請求項２】
前記第２加減速パラメータが、第１加減速パラメータに対して収束したか否かを判定する収束判定部と、
を備え、
前記収束判定部は、前記第２加減速パラメータが収束していないと判定した場合、前記第１加減速パラメータを修正し、その修正結果を用いて前記速度計画部に対して速度計画の再算定をするように指令する、
請求項１に記載の振動抑制装置。
【請求項３】
前記ロボットの振動が所定の閾値以下となる中で最も高速な最適加減速パラメータを探索する最適加減速探索部を更に備え、
前記機械学習部は、前記最適加減速探索部によって得られた前記最適加減速パラメータを教師データとして、前記第２加減速パラメータの学習を行う、
請求項１または２に記載の振動抑制装置。
【請求項４】
前記最適加減速探索部は、シミュレータを用いて最適加減速パラメータを求める、請求項３に記載の振動制御装置。
【請求項５】
前記機械学習部は、ニューラルネットを用いた学習を行う、
請求項３または４に記載の振動抑制装置。
【請求項６】
前記振動抑制装置は、ネットワークを介して複数のロボット制御装置と接続されており、前記ロボット制御装置のそれぞれに対して前記第２加減速パラメータを推定して送信する、
請求項１〜５のいずれか１つに記載の振動抑制装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動抑制装置及び機械学習装置に関し、特に産業用ロボットの動作に最適な加減速時間を学習する振動抑制装置に関する。
【背景技術】
【０００２】
工場で行われている製造工程においては、製造のサイクルタイムの短縮が求められる。製造のサイクルタイムを短縮する方法としては、各々の製造機械の動作速度を速くしたり、加速度を上げたりすることが考えられるが、例えば多関節ロボット等の産業用ロボットの動作速度を向上させることを目的として、各関節を駆動するサーボモータの指令速度を大きくしたり加減速時間を短くしたりすると、産業用ロボットに振動が発生し易くなる。
【０００３】
産業用ロボットの振動は、各関節を駆動するサーボモータが一定の速度で動作している時ではなく、主として加減速時に発生する。したがって、ロボットの動作計画においては振動が許容できる範囲で、最も短時間で加減速できる、最適加減速時間を求めることが重要となる。
【０００４】
産業用ロボットの振動を低減するための従来技術として、例えば特許文献１には、ロボットに位置を検出するセンサを取り付け、補正量を学習することで振動を低減する技術が開示されている。また、特許文献２には、センサを用いず、モータのトルク、目標誤差情報から、ロボットの動作を学習によって高速化する方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４８５０９５６号公報
【特許文献２】特許第６００６２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示される技術では、センサ情報に基づいた高精度な振動抑制が可能であるが、作業現場で実際に産業用ロボットにワークを把持させた状態での繰り返し学習が必要であり、ユーザに時間的な負担を掛けてしまうという問題があった。また、繰り返し学習を行うためにはセンサが必要となるが、作業現場においてはユーザがセンサを準備する必要があるため、ユーザにとってコスト的な負担となるという問題がある。
【０００７】
一方、特許文献２では、センサを必要としないほか、領域内での再学習を不要としている点でユーザの負担を軽減しているが、作業現場での学習が必要となる点で特許文献１と同様の問題があり、また、センサがないために振動抑制の精度に限界があるという別の問題も生じる
【０００８】
そこで本発明の目的は、産業用ロボットの出荷前の段階で、該産業用ロボットの動作を行うための最適な加減速時間を学習することが可能な振動抑制装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明の振動抑制装置は、上記課題を解決するために、ロボット動作時の各軸位置および各軸のたわみ量を計算し、該位置および該たわみ量に基づき機械学習装置（ニューラルネットワーク）を用いて加減速時間を推定することで、最適な加減速動作を行う機能を備える。この機械学習装置（ニューラルネットワーク）の学習は、メーカー出荷前の段階で、センサを用いて行っておくことができ、各ユーザの作業現場における学習は不要であり、またユーザ側でセンサを用意する必要も無いため、ユーザに時間的、コスト的な負担をかけることなく、最適なロボット動作を提供することができる。
【００１０】
本発明では、このように軸のたわみ量と振動量との間に相関があるものとして、これを機械学習装置（ニューラルネットワーク）の入力にしている点に特徴がある。一般的に、ロボットは軸部が回転または直動するため、この部分に軸受けが存在しており、その他のアーム部分に比べて剛性が低くなっている。このため、軸に発生するたわみは比較的大きいものとなり、ロボットの振動への寄与も大きくなっている。したがって、軸のたわみ量は、振動を小さく抑えるための加減速時間を求める機械学習装置（ニューラルネットワーク）への入力として適しているといえる。
【００１１】
そして、本発明の一態様は、制御対象のロボットの加減速動作時に発生する振動を所定の閾値以下となるように抑制する振動抑制装置において、教示位置を取得する教示位置取得部と、前記教示位置、及び第１加減速パラメータに基づいて速度計画を算定する速度計画部と、前記教示位置及び前記速度計画に基づいて前記ロボットの加減速動作時に発生するたわみに係るデータを算出するたわみ算出部と、前記教示位置に基づいて、前記教示位置における姿勢に係るデータを取得する姿勢データ取得部と、前記たわみに係るデータ及び前記姿勢に係るデータを入力データとして、前記たわみに係るデータ及び前記姿勢に係るデータに対する第２加減速パラメータの推定を行う機械学習部とを備える、振動抑制装置である。
【発明の効果】
【００１２】
本発明により、ロボットの最適な加減速時間を、作業現場での学習なしに実現することができる。これにより、ユーザに時間的、コスト的な負担をかけることなく、最適なロボット動作を実現できる。また、通常、ロボットの姿勢と各軸たわみ量から加減速時間を算出するには、テーブルなどを用いるしかないが、入力変数が多いためにテーブルの次元が大きくなりすぎ、現実的に実装困難となるが、本発明では、ここにニューラルネットワークを用いることで、この問題を回避することができる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態による振動抑制装置の概略的なハードウェア構成図である。
【図２】第１実施形態による振動抑制装置の概略的な機能ブロック図である。
【図３】速度計画の例を示す図である。
【図４】ニューラルネットワークを説明する図である。
【図５】第２実施形態による振動抑制装置の概略的な機能ブロック図である。
【図６】第３実施形態による振動抑制装置の概略的な機能ブロック図である。
【図７】第４実施形態による振動抑制装置の概略的な機能ブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。
図１は第１実施形態による振動抑制装置の要部を示す概略的なハードウェア構成図である。振動抑制装置１は、例えばロボットを制御する制御装置として実装することができる。また、振動抑制装置１は、ロボットを制御する制御装置と接続されたコンピュータ（例えば、セルコンピュータ、ホストコンピュータ、クラウドサーバ等）として実装することが出来る。図１は、ロボット２を制御する制御装置として振動抑制装置１を実装した場合の例を示している。
【００１５】
本実施形態による振動抑制装置１が備えるＣＰＵ１１は、振動抑制装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って振動抑制装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００１６】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、振動抑制装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、図示しないインタフェースを介して外部から読み込まれた制御プログラムや入力装置７２を介して入力された制御プログラム、入力装置７２から入力された各種データ（演算に必要なパラメータ等）や、ロボット２やセンサ６０から取得された各種データ（例えば、ＣＰＵ１１により算出されたロボット２の各関節のたわみ量に係るデータ、ロボット２の各関節の軸位置等）等が記憶されている。不揮発性メモリ１４に記憶されたプログラムは、利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、振動抑制装置１の動作に必要な各種のシステム・プログラム（機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００１７】
表示装置７０は、インタフェース１７を介して出力された振動抑制装置１やロボット２の状態示すテキストやグラフィックを表示するための装置であり、液晶ディスプレイ等が利用できる。また、入力装置７２は、作業者の入力を受け付けるキーボードやマウス、パルス発生器を備えたティーチングペンダント等であって良い。入力装置７２からの入力は、インタフェース１８を介してＣＰＵ１１へと引き渡される。
【００１８】
ロボット２の関節（軸）を制御するための軸制御回路３０はＣＰＵ１１からの軸の動作指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、ロボット２が備える軸を動作させるサーボモータ５０を駆動する。軸のサーボモータ５０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となるロボット２に備えられた軸の数だけ用意される。
【００１９】
センサ６０は、ロボット２に発生する振動を検出するためのものであり、一般的な加速度センサや非接触式３次元測定器を用いても良いし、撮像装置等をセンサ６０として採用し、該撮像装置で撮像した動画を解析して振動を検出するようにしても良い。なお、ロボット２に発生する振動は、サーボモータ５０の電流の揺れ等に基づいて検出することも可能であるから、必ずしも必要ではない。また、本願発明においては、ロボット２の振動の検出は機械学習装置１００の学習時において必要な構成であり、学習が完了した機械学習装置１００を用いてロボット２の振動を抑制するために振動抑制装置１を用いる場合には、ロボット２の振動を検出するための構成は必ずしも必要ではない。
【００２０】
インタフェース２１は、振動抑制装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して振動抑制装置１で取得可能な各情報（例えば、ＣＰＵ１１により算出されたロボット２の各関節のたわみ量に係るデータ、ロボット２の各関節の軸位置等）を観測することができる。また、振動抑制装置１は、機械学習装置１００から出力される値に基づいて、ロボット２の各軸の加減速に係るパラメータの調整等を行う。
【００２１】
図２は、第１実施形態による振動抑制装置１の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した振動抑制装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、振動抑制装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００２２】
本実施形態の振動抑制装置１は、ロボット２の位置を教示する教示位置取得部２００、教示された教示位置へロボット２を動作させる際の速度計画を立てる速度計画部２１０、速度計画に基づいてロボットの各軸のたわみに係るデータを算出するたわみ算出部２２０、ロボットの各軸の位置を取得する姿勢データ取得部２３０、たわみに係るデータ、軸位置に基づいて機械学習装置１００により推定された加減速パラメータの収束判定を行う収束判定部２４０、推定された加減速パラメータに基づいてロボットの制御を行う制御部２５０、及び推定された加減速パラメータに基づいて最適な加減速パラメータを探索する最適加減速探索部２６０を備える。
【００２３】
教示位置取得部２００は、作業者による入力装置７２からの入力（ティーチペンダント等から入力されたロボット２の教示位置や、キーボード等から入力された学習計画に基づく教示位置）に基づいて、ロボット２の教示位置を取得する。教示位置取得部２００が取得するロボット２の教示位置は、ロボット２が備える各軸の位置情報を含む。
【００２４】
速度計画部２１０は、教示位置取得部２００が取得したロボット２の教示位置へと動作させる際の各軸の速度計画を算定する。速度計画部２１０は、教示位置取得部２００が取得したロボット２の教示位置が入力された際に、予め不揮発性メモリ１４等に設定された初期の加減速パラメータに基づいて速度計画を算定する。また、速度計画部２１０は、収束判定部２４０から速度計画の再算定を指令された場合、その指令に従って修正された加減速パラメータに基づいて速度計画を算定する。
【００２５】
図３は、速度計画部２１０が算定する速度計画を例示する図である。図３の例では、ロボット２の各軸は直線加減速で軸の加速及び減速を行う。図３に例示する加減速をロボット２が行う場合、ロボット２の教示位置とロボット２の各軸の最高速度仕様、及び１つの加減速パラメータである加減速時間τ（１次加減速時間τ）により速度計画を算定することができる。そして、加減速時間τの値を調整することで速度計画を変更することができる。なお、図３は、速度計画部２１０が算定する速度計画の一例であり、例えば加速側と減速側で異なる加減速時間を用いるようにしても良いし（この場合、加減速パラメータは２つになる）、また、加減速波形をより細かく制御するために、例えば加減速フィルタや多項式を用いた速度計画を算定するようにしても良い（この場合、加減速フィルタの数や多項式の次数に応じて加減速パラメータは増加する）。
【００２６】
たわみ算出部２２０は、速度計画算定部が算定した速度計画に基づいて、ロボット２の各軸に発生するたわみの量を特定するためのデータであるたわみに係るデータを算出する。たわみ算出部２２０は、例えば、速度計画、ロボット２のリンク重量、重心位置、及びイナーシャに基づいて、ニュートン・オイラー法等の公知の手法によりロボット２の各軸に係る力やモーメントを算出し、算出したロボット２の各軸に係る力やモーメントと、予め実験等により求めておいたロボット２の各軸の剛性係数とを掛け合わせることで、ロボット２の各軸のたわみ量をたわみに係るデータとして算出する。なお、たわみ算出部２２０が算出するたわみに係るデータは、必ずしもロボット２の各軸のたわみ量そのものである必要はなく、間接的にロボット２の各軸のたわみ量を求めることが可能となるデータセットをたわみに係るデータとして算出するようにしてもよい。
【００２７】
姿勢データ取得部２３０は、ロボット２の動作が停止する位置（教示位置）における姿勢を特定するためのデータである姿勢に係るデータを取得する。姿勢に係るデータは、ある状態（姿勢）におけるロボット２の各軸の位置を直接的乃至間接的に特定できるデータであり、ある状態における各軸の位置を直接的に示す値のセット（各関節を駆動するサーボモータ５０の位置のセット）としても良いし、ある状態における各軸の位置を間接的に示す値乃至値のセット（例えば、ロボット２が６軸ロボットである場合には、ロボット２の先端の位置（座標値）により、各軸の位置が一意に定まるため、姿勢に係るデータとしてロボット２の先端の位置の値を用いることができる）としても良い。姿勢データ取得部２３０が取得したロボット２の各軸の停止位置に係るデータは、機械学習装置１００による学習・推定動作の入力として用いられる。これは、ロボット２の停止時の振動に、ロボット２の姿勢による剛性変化が影響するためである。
【００２８】
機械学習装置１００は、たわみ算出部２２０が算出したたわみに係るデータと、姿勢データ取得部２３０が取得したロボット２の停止位置における姿勢に係るデータとを入力として、そのような動作をする場合においてロボット２の振動を抑制できる範囲でロボット２を最も高速に動作させることができる加減速パラメータを学習・推定する。機械学習装置１００は、公知の機械学習アルゴリズムによる教師あり学習を行うことで、たわみに係るデータ及びロボット２の停止位置における姿勢に係るデータに対するロボット２の振動を抑制できる範囲でロボット２を最も高速に動作させることができる加減速パラメータを学習し、また、該学習した結果としての学習済みモデルを用いて、たわみに係るデータ及びロボット２の停止位置における姿勢に係るデータに基づいてロボット２の振動を抑制できる範囲でロボット２を最も高速に動作させることができる加減速パラメータを推定する。
【００２９】
教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデルを学習する手法である。教師あり学習を行う際には、例えば機械学習装置１００の学習・推定部として、図４に例示されるニューラルネットワークを用いることができる。図４は、ニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に例示している。ニューラルネットワークでは、入力部分及び出力部分に配置するニューロンの数でそれぞれ入力データの数、出力データの数を調整できる。このようなニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００３０】
機械学習装置１００においてニューラルネットワークを用いる場合、予めたわみに係るデータ及びロボット２の停止位置における姿勢に係るデータを入力データｘ（入力ｘ1〜入力ｘm）とし、加減速パラメータを結果データｙ（出力ｙ1〜出力ｙn）とするニューラルネットワークを構築しておき、後述する機械学習装置１００の学習段階において、各ニューロン間の重みｗ（ｗ1〜ｗ3）を調整することで学習済みモデルを構築する。
なお、図４では三層のニューラルネットワークのモデルを示したが、本発明の機械学習装置１００の学習・推定部としては、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【００３１】
収束判定部２４０は、機械学習装置１００がたわみに係るデータ及びロボット２の停止位置における姿勢に係るデータに基づいて推定した加減速パラメータが収束したか否かを判定する。収束判定部２４０は、速度計画部２１０が速度計画の算定に用いた加減速パラメータ（第１加減速パラメータとする）と、該加減速パラメータに基づいて算出されたたわみに係るデータ及びロボット２の停止位置における姿勢に係るデータに基づいて機械学習装置１００が推定した加減速パラメータ（第２加減速パラメータとする）とを比較し、第１加減速パラメータと第２加減速パラメータの差分が予め定めた所定の閾値以内である場合に、機械学習装置１００が推定した加減速パラメータが収束したと判定する。
【００３２】
収束判定部２４０は、機械学習装置１００が推定した加減速パラメータが収束していないと判定した場合には、加減速パラメータを修正した上で速度計画部２１０に対して再度速度計画を再算定するように指令する。収束判定部２４０は、機械学習装置１００が推定した第２加減速パラメータを第１加減速パラメータを修正したものとし、その修正後の第１加減速パラメータ（即ち、第２加減速パラメータ）を用いて速度計画を再算定するように速度計画部２１０に対して指令するようにしても良い。また、収束判定部２４０は、第１加減速パラメータと第２加減速パラメータの差分量とその符号（第１加減速パラメータと第２加減速パラメータの大小）とに基づいて、予め経験的に求められた加減速パラメータの修正式を用いて第１加減速パラメータを修正し、修正した結果を用いて速度計画を再算定するように速度計画部２１０に対して指令するようにしても良い。
なお、適切な入力に基づいて１回の推定により最適加減速パラメータを算出できる高い推定能力を備えた機械学習装置１００が構築されている場合には、収束判定部２４０は、その構成を省略することも可能である。この様にした場合、繰り返し計算は行われず、効率よく最適加減速パラメータを求めることができる。
【００３３】
最適加減速探索部２６０は、ロボット２の各軸が教示位置へと動作させる際に、ロボット２の振動を抑制できる範囲でロボット２を最も高速に動作する加減速パラメータを探索する。最適加減速探索部２６０は、例えば実際にロボット２を制御することにより最適な加減速パラメータを探索するようにしても良い。この場合、最適加減速探索部２６０は、探索の初期においては、収束判定部２４０が（機械学習装置１００の推定結果として）収束したと判定した加減速パラメータに基づく速度計画部２１０に算定させ、算定された速度計画に基づいてロボット２の各軸を教示位置へと動作させるように制御部２５０へ指令し、ロボット２の各軸が教示位置へと動作させた際に発生した振動をセンサ６０から取得する。
【００３４】
最適加減速探索部２６０は、ロボット２の振動が予め定めた所定の閾値より大きい場合には、加減速がより緩やかになるように加減速パラメータを調整し、調整した加減速パラメータに基づいて速度計画部２１０に速度計画を再算定させ、算定された速度計画に基づいて、ロボット２の再動作と、振動の再測定を行う。
一方、最適加減速探索部２６０は、ロボット２の振動が予め定めた所定の閾値より小さく、まだ余裕がある場合（閾値よりも予め定めた余裕量以上差がある場合）であれば加減速がより急になるように加減速パラメータを調整し、調整した加減速パラメータに基づいて速度計画部２１０に速度計画を再算定させ、算定された速度計画に基づいて、ロボット２の再動作と、振動の再測定を行う。
【００３５】
以上の処理を繰り返すことにより、最適加減速探索部２６０は、ロボット２の振動を抑制できる範囲でロボット２を最も高速に動作させることができる最適な加減速パラメータを求める。
なお、最適加減速探索部２６０は、実際にロボット２を制御せずに最適加減速パラメータを探索するようにしても良い。例えば、高精度シミュレータ等を用いて最適加減速パラメータを求める手法等も有効である。
【００３６】
この様にして、最適加減速探索部２６０が求めた最適な加減速パラメータと、収束判定部２４０が収束したと判定した加減速パラメータを推定した際に機械学習装置１００の入力データとして用いられたたわみに係るデータ及びロボット２の停止位置における姿勢に係るデータを用いて、機械学習装置１００の学習を進める。
【００３７】
そして、以上の手順を様々な教示位置、動作速度、負荷条件で行うことにより、機械学習装置１００の学習を進め、学習済みモデルを構築する。
このようにして得られた機械学習装置１００（学習済みモデル）は、ユーザの作業現場でもそのまま使用できるため、ユーザの作業現場における再学習が不要となる。そのため、ユーザ側での振動測定のためのセンサの準備も不要であり、ユーザに負担をかけることなく、学習の成果のみを利用することが可能である。
【００３８】
図５は、ユーザの作業現場で用いられる第２実施形態の振動抑制装置１の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した振動抑制装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、振動抑制装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００３９】
本実施形態の振動抑制装置１が備える機械学習装置１００は、第１実施形態の振動抑制装置１により学習済みモデルの構築が完了したものであり、その他の機能手段については第１実施形態と同様の動作をするものと成っている。
そして、本実施形態の振動抑制装置１をユーザが使用する際には、振動抑制装置１が備える各機能手段で実行される処理をユーザが意識する必要はなく、位置教示を行うだけで、あとは自動的に処理が行われ、最適な加減速時定数でのロボット２の制御が行われる。
【００４０】
図６は、ロボットを制御する制御装置３にネットワーク４００を介して接続されたセルコントローラ、ホストコンピュータ、クラウドサーバ等のサーバ上に機械学習装置１００を配置した第３実施形態による振動抑制装置１の概略的な機能ブロック図である。本実施形態では、ロボットを制御する制御装置３上に最適加減速探索部２６０を配置し、振動抑制装置１と複数の制御装置３とが通信部２７０，３１０を介して加減速パラメータ、教示位置、速度計画等をやり取りすること、教示位置取得部２００は、必要に応じて各制御装置３からそれぞれのロボットの教示位置を取得できることを除けば、それぞれの機能手段は第１実施形態と同様の機能を備える。なお、それぞれのロボット２は同じ機能及び性能を備えた同型のロボットであることが望ましい。
【００４１】
本実施形態の振動抑制装置１は、それぞれの制御装置３から取得した教示位置に基づいて、それぞれのロボット２に関する加減速パラメータを求め、それぞれの制御装置３へ送信する。また、それぞれの制御装置３は、振動抑制装置１から受け取った加減速パラメータに基づいてロボット２を実際に動作させ、最適な加減速パラメータの探索を行い、探索された最適な加減速パラメータを振動抑制装置１に送信する。そして、振動抑制装置１は、それぞれの制御装置３から受けた最適な加減速パラメータに基づいて、機械学習装置１００の学習を行う。したがって、本実施形態の振動抑制装置１は、複数の制御装置３を利用してより多くのデータ集合を入力とした学習を並列して行うことができ、機械学習の速度や信頼性を向上させることができる。
【００４２】
図７は、ユーザの作業現場で用いられるロボットを制御する制御装置３にネットワーク４００を介して接続されたコンピュータ（例えば、メーカー側に設置されたサーバ）等に機械学習装置１００を配置した第４実施形態による振動抑制装置１の概略的な機能ブロック図である。本実施形態では、振動抑制装置１とユーザの作業現場に設置されている複数の制御装置３とが通信部２７０，３１０を介して加減速パラメータ、教示位置、速度計画等をやり取りすること、教示位置取得部２００は、各制御装置３からそれぞれのロボットの教示位置を取得できることを除けば、それぞれの機能手段は第２実施形態と同様の機能を備える。なお、それぞれのロボット２は同じ機能及び性能を備えた同型のロボットであることが望ましい。
【００４３】
そして、本実施形態の振動抑制装置１をユーザが使用する際には、振動抑制装置１が備える各機能手段で実行される処理をユーザが意識する必要はなく、位置教示を行うだけで、あとは自動的に処理が行われ、最適な加減速時定数でのロボット２の制御が行われる。この構成では、ユーザ側に振動抑制装置１を配置する必要がないため、ユーザのコストや振動抑制装置１のメンテナンスコストを下げることができる。
また、サーバをメーカー側ではなく、ユーザの工場内に設置する場合でも、ロボット制御装置複数台に対してサーバは１つでよいので、各制御装置に機能を実装する場合に比べて、ユーザのコストを抑えることができる。
【００４４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００４５】
例えば、ユーザがロボット２に取り付けて使用するハンドやツールの剛性が想定よりも低かった場合に、該ハンドやツールの部分で振動が増大する可能性がある。この点は、どの程度まで振動を許容できるかがアプリケーションによって異なるため、ユーザが必要に応じて加減速時間を調整できるような機能を振動抑制装置１に設けることで対応する。例えば、振動抑制装置１により、ツール振動を考慮せずにロボット自身の振動を抑えつつ高速化するための加減速パラメータを求めた後に、加減速パラメータや速度計画を表示装置７０に表示し、入力装置７２を用いてユーザが加減速パラメータ乃至速度計画を調整できるようにすれば良い。
【００４６】
また、ロボット２の停止直前の速度方向を考慮してたわみに係るデータを算出するようにしても良い。例えば、たわみは重力によって一定に発生するが、ロボットが水平方向へ移動した場合には、そのたわみは変化せず、振動への影響は少ない。このような効果を考慮するために、ロボットの速度方向の成分のたわみだけをたわみに係るデータとして算出するようにしても良い。
【００４７】
以下では、本発明の機械学習を用いた振動抑制方法と、他の方法との違いについて述べる。
図２，５における機械学習装置１００を、物理モデルのシミュレータを用いて振動を計算することで、振動しない時定数を算出するというアプローチがあり得る。この方法は、シミュレーション処理によりロボットの各部の動作を演算し、振動をシミュレートするものであるが、このような方法は計算量が多く、リアルタイムでの処理が難しい。また、振動をシミュレートできても、加減速パラメータをどのように変化させれば振動が閾値内まで低減するかは明確ではなく、繰り返し計算が必要になり、一層の計算量の増大を招くこととなる。これに対して、本発明の機械学習を用いた振動抑制方法では、機械学習装置１００により予め学習を行っておくことで、加減速パラメータの推定に係る計算量を大幅に抑えることができる。
【００４８】
また、図２，５における機械学習装置１００を、入力と出力のテーブルとして作成しておいて、加減速パラメータを算出するというアプローチもあり得る。しかしながら、この方法では、入力変数の数の分の次元のテーブルを作成する必要があり、データが膨大となるため、テーブル作成実験の工数の面からも、実装時のメモリ量の面からも、実現が困難である。これに対して、本発明の機械学習を用いた振動抑制方法では、機械学習装置１００により予め学習を行っておくことで、実験工数とメモリ量を共に抑えることが出来る。
【符号の説明】
【００４９】
１  振動抑制装置
２  ロボット
３  制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１７，１８，１９  インタフェース
２０  バス
２１  インタフェース
３０  軸制御回路
４０  サーボアンプ
５０  サーボモータ
６０  センサ
７０  表示装置
７２  入力装置
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
２００  教示位置取得部
２１０  速度計画部
２２０  たわみ算出部
２３０  姿勢データ取得部
２４０  収束判定部
２５０  制御部
２６０  最適加減速探索部
２７０  通信部
３１０  通信部
４００  ネットワーク
【図１】
2019098439.tif 000003
【図２】
2019098439.tif 000004
【図３】
2019098439.tif 000005
【図４】
2019098439.tif 000006
【図５】
2019098439.tif 000007
【図６】
2019098439.tif 000008
【図７】
2019098439.tif 000009