(57)【要約】【課題】制御対象部位の振動を精度良く学習制御する。【解決手段】制御対象部位の位置を検出するためのセンサ１２及びモータエンコーダ１３を備えたロボット機構部１４と、作業プログラム２０に従ってロボット機構部１４の動作を制御するロボット制御装置１５と、を備える、ロボットシステム１０であって、学習制御部２２は、モータエンコーダ１３の情報から位置偏差の低周波成分を推定すると共に、センサ１２の情報から位置偏差の高周波成分を推定するように構成された位置偏差推定部３３を有する。【選択図】図３
2019181610.tif 000002
【特許請求の範囲】
【請求項１】
制御対象部位の位置を検出するためのセンサ及びモータエンコーダを備えたロボット機構部と、作業プログラムに従って前記ロボット機構部の動作を制御するロボット制御装置と、を備える、ロボットシステムであって、
前記制御対象部位の目標位置に関する動作指令によって前記ロボット機構部を動作させて、前記制御対象部位の推定位置と前記目標位置との間の位置偏差を推定すると共に、推定した前記位置偏差と前記制御対象部位の推定位置を前記目標位置に近づけるために前回算出した補正量とに基づいて新たな補正量を今回算出する学習を行う学習制御部と、
前記今回算出した補正量を用いて前記動作指令を補正し、前記ロボット機構部の動作を制御するロボット制御部と、
を有し、
前記学習制御部は、前記モータエンコーダの情報から前記位置偏差の低周波成分を推定すると共に、前記センサの情報から前記位置偏差の高周波成分を推定するように構成された位置偏差推定部を有する、ロボットシステム。
【請求項２】
前記位置偏差推定部は、前記モータエンコーダに基づく推定位置から前記目標位置を減算して得られた第１成分の低周波成分と、前記センサに基づく推定位置から前記目標位置を減算して得られた第２成分の高周波成分と、を加算することにより前記位置偏差を推定する、請求項１に記載のロボットシステム。
【請求項３】
前記位置偏差推定部は、前記モータエンコーダに基づく推定位置から前記目標位置を減算して得られた第１成分と、前記センサに基づく推定位置から前記目標位置を減算して得られた第２成分から前記第１成分を減算して得られた第３成分の高周波成分と、を加算することにより前記位置偏差を推定する、請求項１に記載のロボットシステム。
【請求項４】
前記位置偏差推定部は、前記センサに基づく推定位置から前記モータエンコーダに基づく推定位置を減算して得られた第４成分の高周波成分と、前記モータエンコーダに基づく推定位置と、を加算し、さらに、前記加算して得られた第５成分から前記目標位置を減算することにより前記位置偏差を推定する、請求項１に記載のロボットシステム。
【請求項５】
前記位置偏差推定部はノイズ又は制御困難な高周波成分を除去する、請求項１から４のいずれか一項に記載のロボットシステム。
【請求項６】
前記学習制御部はさらに、前記位置偏差推定部において推定した前記位置偏差に基づいて前記モータエンコーダの精度を算出するモータエンコーダ精度算出部と、前記算出した精度が許容範囲内である場合に、学習対象の動作が前記許容範囲内の精度を有する動作に類似するか否かを判定する第１動作判定部と、を有し、前記学習制御部は、判定結果に基づいて前記センサを使用せずに前記モータエンコーダのみで前記学習を行う、請求項１から５のいずれか一項に記載のロボットシステム。
【請求項７】
前記学習制御部はさらに、学習対象の動作における動作速度を算出する動作速度算出部と、前記学習対象の動作における前記位置偏差の高周波成分の割合を算出する高周波成分割合算出部と、算出した前記動作速度が予め定めた閾値より遅く、且つ、算出した前記高周波成分の割合が予め定めた閾値より小さいか否かを判定する第２動作判定部と、を有し、前記学習制御部は、判定結果に基づいて前記センサを使用せずに前記モータエンコーダのみで前記学習を行う、請求項１から６のいずれか一項に記載のロボットシステム。
【請求項８】
前記学習制御部はさらに、前記モータエンコーダに基づく推定誤差を算出するモータエンコーダ推定誤差算出部と、算出した前記推定誤差に基づいて前記モータエンコーダに基づく推定位置を補正するモータエンコーダ推定位置補正部と、を有する、請求項１から７のいずれか一項に記載のロボットシステム。
【請求項９】
さらに、前記センサを使用せずに前記モータエンコーダのみで学習できる旨を表示する表示装置を備える、請求項１から８のいずれか一項に記載のロボットシステム。
【請求項１０】
前記学習制御部はさらに、前記前回算出した補正量と前記今回算出した補正量との比が許容範囲内になった場合に、又は、学習回数が予め定めた回数を超えた場合に、又は、推定した前記位置偏差が許容値以下になった場合に、前記学習を完了したと判定する学習完了判定部を有する、請求項１から９のいずれか一項に記載のロボットシステム。
【請求項１１】
前記表示装置は、学習中又は学習終了後に各学習回で推定した前記位置偏差の軌跡、及び、前記位置偏差の最小値及び最大値を表示する、請求項９に記載のロボットシステム。
【請求項１２】
前記センサは、加速度センサ、ジャイロセンサ、慣性センサ、又は歪ゲージを含む、請求項１から１１のいずれか一項に記載のロボットシステム。
【請求項１３】
前記学習制御部は、前記ロボット制御装置に設けられるか、又は、有線又は無線を介して前記ロボット制御装置に接続するコンピュータ装置に設けられる、請求項１から１２のいずれか一項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステムの学習制御に関し、特にモータエンコーダ及びセンサを用いて学習制御を行うロボットシステムに関する。
【背景技術】
【０００２】
ロボット先端にセンサを取付けて動作中の振動を計測することにより、ロボット先端の振動を学習制御する方法が提案されている。例えば、特許文献１では、軌跡誤差を推定するためにセンサを用いており、斯かるセンサの実施態様としては、ビジョンセンサ、加速度センサ、ジャイロセンサ、慣性センサ、歪ゲージ等が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１６７８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
斯かるセンサを用いてロボット先端の振動を学習制御する技術においては、以下の問題点があった。
（１）ビジョンセンサでは、密集した場所での動作、姿勢が変化する動作等において、測定機器と測定点との間に障害物が入ったり、測定対象物自身の陰に隠れたりして測定点の位置を計測できなくなってしまうことがある。
（２）加速度センサ、ジャイロセンサ、慣性センサ、及び歪ゲージでは、センサのデータから位置を推定する計算処理に起因して位置の推定誤差が大きくなってしまうことがある。
（３）センサを使用して学習を完了した後、ロボットに設置していたセンサを取外してセンサを他のロボットの学習に利用できるが、元のロボットの教示を修正して再度学習を行う場合には、再びセンサを取付ける必要があり、工数が掛かる。
【０００５】
上記（２）の問題点についてさらに詳述する。図１０Ａは、センサに基づく推定位置と目標位置との間の位置偏差と時間との関係を示すグラフであり、図１０Ｂは、図１０Ａに示すグラフに対してハイパスフィルタを掛けることにより低周波成分を除去した図である。加速度センサの場合には、センサから取得した加速度を積分して速度を推定し、さらに速度を積分して位置を推定すると共に、センサに基づく推定位置から目標位置を減算して位置偏差を推定する計算処理が行われる。従って、センサから取得した加速度に僅かでも誤差があると、時間と共に速度、位置の推定誤差が累積していき、図１０Ａに示すように時間と共に位置偏差が過大に大きくなっていく。斯かる推定誤差は位置偏差の低周波成分に累積していくため、図１０Ｂに示すようにハイパスフィルタを掛けることにより推定誤差を含む低周波成分を除去できる。しかしながら、推定誤差を含まない位置偏差の低周波成分も取除かれてしまうため、ロボット先端の振動を精度良く学習制御できない。
【０００６】
そこで、制御対象部位の振動を精度良く学習制御する技術が求められている。
【課題を解決するための手段】
【０００７】
本開示の一態様は、制御対象部位の位置を検出するためのセンサ及びモータエンコーダを備えたロボット機構部と、作業プログラムに従ってロボット機構部の動作を制御するロボット制御装置と、を備えるロボットシステムであって、制御対象部位の目標位置に関する動作指令によってロボット機構部を動作させて、制御対象部位の推定位置と目標位置との間の位置偏差を推定すると共に、推定した位置偏差と制御対象部位の推定位置を目標位置に近づけるために前回算出した補正量とに基づいて新たな補正量を今回算出する学習を行う学習制御部と、今回算出した補正量を用いて動作指令を補正し、ロボット機構部の動作を制御するロボット制御部と、を有し、学習制御部は、モータエンコーダの情報から位置偏差の低周波成分を推定すると共に、センサの情報から位置偏差の高周波成分を推定するように構成された位置偏差推定部を有する、ロボットシステムを提供する。
【発明の効果】
【０００８】
本開示の一態様によれば、モータエンコーダの情報から位置偏差の低周波成分を推定すると共に、センサの情報から位置偏差の高周波成分を推定するため、最終的に得られる位置偏差はセンサに基づく低周波成分の推定誤差が除去された位置偏差となる。従って、制御対象部位の振動を精度良く学習制御できる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態におけるロボットシステムの概略図である。
【図２】一実施形態におけるロボット機構部の構成図である。
【図３】一実施形態におけるロボット制御装置のブロック図である。
【図４】一実施形態におけるロボットシステムの学習制御の流れを示すフローチャートである。
【図５】第１実施形態における位置偏差推定部のブロック図である。
【図６】第２実施形態における位置偏差推定部のブロック図である。
【図７】第３実施形態における位置偏差推定部のブロック図である。
【図８Ａ】モータエンコーダのみで学習が可能か否かを判定する学習制御部のブロック図である。
【図８Ｂ】モータエンコーダのみで学習が可能か否かを判定する他の学習制御部のブロック図である。
【図９】モータエンコーダに基づく推定位置を補正する学習制御部のブロック図である。
【図１０Ａ】センサに基づく推定位置と目標位置との間の位置偏差と時間との関係を示すグラフである。
【図１０Ｂ】図１０Ａに示すグラフに対してハイパスフィルタを掛けることにより低周波成分を除去した図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本開示の実施形態を詳細に説明する。各図面において、同一又は類似の構成要素には同一又は類似の符号が付与されている。また、以下に記載する実施形態は、特許請求の範囲に記載される発明の技術的範囲及び用語の意義を限定するものではない。
【００１１】
図１は、本実施形態におけるロボットシステム１０の概略図である。ロボットシステム１０は、位置制御の対象である制御対象部位１１の位置を検出するためのセンサ１２及びモータエンコーダ１３を備えたロボット機構部１４と、作業プログラムに従ってロボット機構部１４を制御するロボット制御装置１５と、種々の情報を表示する表示装置１６と、を備えており、制御対象部位１１の振動を学習制御するように構成されている。センサ１２、モータエンコーダ１３、ロボット機構部１４、ロボット制御装置１５、及び表示装置１６は、有線又は無線を介して相互に通信可能に接続されている。
【００１２】
センサ１２は、制御対象部位１１の位置を推定するために計算処理を必要とする情報（例えば、加速度、角速度、ひずみ（電気抵抗値）等）を検出するセンサであり、例えば、加速度センサ、ジャイロセンサ、慣性センサ、歪ゲージ等を含む。
【００１３】
モータエンコーダ１３は、ロボット機構部１４の夫々の関節軸に配置されたサーボモータの回転量、回転速度等を検出するエンコーダであり、例えば、スリット板とスリット板を挟むように配置した発光素子及び受光素子とを備える、インクリメンタルエンコーダ、アブソリュートエンコーダ等を含む。
【００１４】
図２は、本実施形態におけるロボット機構部１４の構成図である。ロボット機構部１４は、サーボモータ、減速機等を有する６つの関節軸Ｊ１〜Ｊ６を備えている。ロボット機構部１４は、空間上に固定されるワールド座標系Ｃ１と、関節軸Ｊ６のフランジ位置にあるメカニカルインタフェイス座標系Ｃ２とを定義したロボットマニピュレータである。
【００１５】
図３は、本実施形態におけるロボット制御装置１５のブロック図である。ロボット制御装置１５は、作業プログラム２０に従ってロボット機構部１４の動作を制御するロボット制御部２１と、制御対象部位１１の目標位置に関する動作指令によってロボット機構部１４を動作させて、制御対象部位１１の推定位置と目標位置との間の位置偏差を推定すると共に、推定した位置偏差と制御対象部位１１の推定位置を目標位置に近づけるために前回算出した補正量とに基づいて新たな補正量を今回算出する学習を行う学習制御部２２と、を備えている。
【００１６】
ロボット制御部２１及び学習制御部２２は公知のＣＰＵ、ＡＳＩＣ、ＦＰＧＡ等を備えている。他の実施形態において、学習制御部２２は、ロボット制御装置１５に設けられるのではなく、有線又は無線を介してロボット制御装置１５と通信可能に接続されたコンピュータ装置に設けられていてもよい。また、学習制御部２２における学習は、オンラインで実行されるのではなく、オフラインで実行されてもよい。
【００１７】
学習制御部２２は、センサ１２から取得したセンサ情報、モータエンコーダ１３から取得したエンコーダ情報、及び動作指令を記憶する第１メモリ３０と、制御対象部位１１の推定位置を目標位置に近づけるために前回又は今回算出した補正量を記憶する第２メモリ３１と、学習を繰返して収束した補正量を記憶する第３メモリ３２と、を備えている。第１メモリ３０及び第２メモリ３１は高速な学習を行うために揮発性メモリであることが好ましく、第３メモリ３２は電源切断後であっても補正量を記憶する不揮発性メモリであることが好ましい。電源投入後、収束した補正量が第３メモリ３２から第２メモリ３１に読出されてロボット制御部２１において再利用される。
【００１８】
学習制御部２２はさらに、センサ情報、エンコーダ情報、及び動作指令に基づいて制御対象部位１１の推定位置と目標位置との間の位置偏差を推定する位置偏差推定部３３を備えている。位置偏差推定部３３は、センサ情報から位置偏差の高周波成分を推定すると共に、エンコーダ情報から位置偏差の低周波成分を推定する。モータエンコーダ１３に基づいて推定した位置偏差の低周波成分はセンサ１２に基づく推定誤差を含まないため、前述した従来技術のように位置偏差の低周波成分をハイパスフィルタで除去する必要はない。また、位置偏差推定部３３において最終的に得られる位置偏差は、センサ１２に基づく低周波成分の推定誤差が除去された位置偏差であるため、学習制御部２２は、制御対象部位１１の振動を精度良く学習制御できる。
【００１９】
学習制御部２２はさらに、位置偏差推定部３３において推定した位置偏差と第２メモリ３１に記憶した前回算出した補正量とに基づいて新たな補正量を今回算出する補正量算出部３４を備えている。補正量算出部３４において今回算出した補正量は第２メモリ３１に記憶される。
【００２０】
学習制御部２２はさらに、学習が完了したか否かを判定する学習完了判定部３５を備えている。学習完了判定部３５は、前回算出した補正量と今回算出した補正量との比が許容範囲内になった場合に、又は、学習回数が予め定めた回数を超えた場合に、又は、推定した位置偏差が許容値以下になった場合に、学習が完了したと判定する。学習完了判定部３５において学習が完了したと判定された場合、収束した補正量が第３メモリ３２に記憶される。
【００２１】
ロボット制御部２１は、学習制御部２２において今回算出した補正量（収束した補正量も含む。）を用いて動作指令を補正し、ロボット機構部１４の動作を制御する。
【００２２】
図４は、本実施形態におけるロボットシステム１０の学習制御の流れを示すフローチャートである。斯かるフローチャートはＣＰＵによって実行されるプログラムで実現されてもよい。
【００２３】
ステップＳ１０では、学習対象の動作を実行する。
ステップＳ１１では、センサ情報から位置偏差の高周波成分を推定すると共に、エンコーダ情報から位置偏差の低周波成分を推定することにより、制御対象部位１１の位置偏差を推定する。
ステップＳ１２では、推定した位置偏差と制御対象部位１１の推定位置を目標位置に近づけるために前回算出した補正量とに基づいて新たな補正量を今回算出する。
ステップＳ１３では、学習が完了したか否かを判定する。即ち、前回算出した補正量と今回算出した補正量との比が許容範囲内か否か、又は、学習回数が予め定めた回数を超えか否か、又は、推定した位置偏差が許容値以下になったか否かを判定する。学習が完了していない場合には（ステップＳ１３のＮＯ）、ステップＳ１０に戻り、学習対象の動作を再度実行する。学習が完了した場合には（ステップＳ１３のＹＥＳ）、ステップＳ１４に進む。
ステップＳ１４では、収束した補正量を不揮発性メモリに記憶する。
【００２４】
図５は、第１実施形態における位置偏差推定部３３のブロック図である。理解を容易にするため、図５は各過程における周波数成分の概念を示す挿絵を含んでいることに留意されたい。位置偏差推定部３３は、モータエンコーダ１３に基づく推定位置から目標位置を減算して第１成分を得る第１減算器４０と、第１成分の低周波成分を得る第１ローパスフィルタ４１と、センサ１２に基づく推定位置から目標位置を減算して第２成分を得る第２減算器４２と、第２成分の高周波成分を得るハイパスフィルタ４３と、第１成分の低周波成分及び第２成分の高周波成分を加算する加算器４４と、を備えている。
【００２５】
位置偏差推定部３３はさらに、必須の構成要素ではないが、ノイズ又は制御困難な高周波成分を除去する第２ローパスフィルタ４５を備えていてもよい。ここで、第１ローパスフィルタ４１、ハイパスフィルタ４３、及び第２ローパスフィルタ４５の夫々のカットオフ周波数Ｌ１、Ｈ１、Ｌ２の関係は、Ｌ１＜Ｈ１＜Ｌ２である。
【００２６】
斯かる構成により、位置偏差推定部３３は、モータエンコーダ１３に基づく推定位置から目標位置を減算して得られた第１成分の低周波成分と、センサ１２に基づく推定位置から目標位置を減算して得られた第２成分の高周波成分と、を加算することにより位置偏差を推定することとなる。従って、位置偏差推定部３３において最終的に得られる位置偏差は、センサ１２に基づく低周波成分の推定誤差が除去された位置偏差であるため、学習制御部２２は、制御対象部位１１の振動を精度良く学習制御できる。
【００２７】
しかしながら、第１ローパスフィルタ４１のカットオフ周波数Ｌ１及びハイパスフィルタ４３のカットオフ周波数Ｈ１が同じ値、例えば２Ｈｚである場合には、第１ローパスフィルタ４１及びハイパスフィルタ４３が完全に２Ｈｚ以上及び２Ｈｚ以下の周波数成分を除去できる訳ではないため、図５に示すように最終的に得られる位置偏差は２Ｈｚ付近において重複部分を有し、過度に大きく推定されてしまうことになる。第２実施形態における位置偏差推定部３３は斯かる問題をさらに解決する。
【００２８】
図６は、第２実施形態における位置偏差推定部３３のブロック図である。理解を容易にするため、図６は各過程における周波数成分の概念を示す挿絵を含んでいることに留意されたい。位置偏差推定部３３は、モータエンコーダ１３に基づく推定位置から目標位置を減算して第１成分を得る第１減算器４０と、センサ１２に基づく推定位置から目標位置を減算して第２成分を得る第２減算器４２と、第２成分から第１成分を減算して第３成分を得る第３減算器５０と、第３成分の高周波成分を得るハイパスフィルタ４３と、第３成分の高周波成分に第１成分を加算する加算器４４と、を備えている。
【００２９】
位置偏差推定部３３はさらに、必須の構成要素ではないが、第１成分の低周波成分を得る第１ローパスフィルタ４１と、ノイズ又は制御困難な高周波成分を除去する第２ローパスフィルタ４５と、を備えていてもよい。即ち、第２実施形態における位置偏差推定部３３は、第１実施形態における位置偏差推定部３３の構成要素に加えて、第３減算器５０を備える構成でもよい。ここで、第１ローパスフィルタ４１、ハイパスフィルタ４３、及び第２ローパスフィルタ４５の夫々のカットオフ周波数Ｌ１、Ｈ１、Ｌ２の関係は、Ｈ１＜Ｌ１≦Ｌ２である。
【００３０】
斯かる構成により、位置偏差推定部３３は、第１成分の低周波成分と、第２成分から第１成分の低周波成分を減算して得られた第３成分の高周波成分と、を加算することにより位置偏差を推定することとなる。即ち、位置偏差推定部３３は、第２成分及び負符号の第１成分を纏めてハイパスフィルタ４３に掛け、さらに、得られた第３成分の高周波成分に正符号の第１成分を加算することにより、最終的に得られる位置偏差において第２成分の高周波成分と第１成分の低周波成分との境界を上手く整合させ、位置偏差を過大に推定してしまう問題を解決している。
【００３１】
図７は、第３実施形態における位置偏差推定部３３のブロック図である。理解を容易にするため、図７は各過程における周波数成分の概念を示す挿絵を含んでいることに留意されたい。位置偏差推定部３３は、センサ１２に基づく推定位置からモータエンコーダ１３に基づく推定位置を減算して第４成分を得る第４減算器６０と、第４成分の高周波成分を得るハイパスフィルタ４３と、第４成分の高周波成分にモータエンコーダ１３に基づく推定位置を加算して第５成分を得る加算器４４と、第５成分から目標位置を減算して第６成分を得る第５減算器６１と、を備えている。
【００３２】
位置偏差推定部３３はさらに、必須の構成要素ではないが、ノイズ又は制御困難な高周波成分を除去する第２ローパスフィルタ４５を備えていてもよい。ここで、ハイパスフィルタ４３及び第２ローパスフィルタ４５の夫々のカットオフ周波数Ｈ１、Ｌ２の関係は、Ｈ１＜Ｌ２である。
【００３３】
斯かる構成により、位置偏差推定部３３は、センサ１２に基づく推定位置からモータエンコーダ１３に基づく推定位置を減算して得られた第４成分の高周波成分と、モータエンコーダ１３に基づく推定位置と、を加算し、さらに加算して得られた第５成分から目標位置を減算することにより位置偏差を推定することとなる。即ち、位置偏差推定部３３は、センサ１２に基づく推定位置及び負符号のモータエンコーダ１３に基づく推定位置を纏めてハイパスフィルタ４３に掛け、さらに、得られた第４成分の高周波成分に正符号のモータエンコーダ１３に基づく推定位置を加算することにより、最終的に得られる位置偏差においてセンサ１２に基づく位置偏差の高周波成分とモータエンコーダ１３に基づく位置偏差の低周波数成分との境界を上手く整合させ、位置偏差を過大に推定してしまう問題を解決している。
【００３４】
位置偏差推定部３３はさらに、第１ローパスフィルタ４１を無くすと共に、目標位置を減算する第１減算器４０及び第２減算器４２を１つに纏めることにより、構成要素を削減し、高速な学習を可能にしている。
【００３５】
前述したセンサ１２及びモータエンコーダ１３の双方で推定した位置偏差は、モータエンコーダ１３のみで推定した位置偏差より精度が高い。しかしながら、バックラッシの影響が少ない動作、ロボット機構部１４の撓みが少ない動作においては、モータエンコーダ１３のみで推定した位置偏差の精度とセンサ１２及びモータエンコーダ１３の双方で推定した位置偏差の精度との間に大きな差異が無い。そこで、学習制御部２２はさらに、モータエンコーダ１３のみで学習が可能か否かを判定する。
【００３６】
図８Ａは、モータエンコーダ１３のみで学習が可能か否かを判定する学習制御部２２のブロック図である。理解を容易にするため、図８Ａは説明に必要な構成要素のみを示していることに留意されたい。学習制御部２２はさらに、位置偏差推定部３３において推定した位置偏差に基づいてモータエンコーダ１３の精度を算出するモータエンコーダ精度算出部７０と、算出した精度が許容範囲内である場合に、学習対象の動作が許容範囲内の精度を有する動作に類似するか否かを判定する第１動作判定部７１と、を有しており、判定結果に基づいてセンサ１２を使用せずにモータエンコーダ１３のみで学習を行う。
【００３７】
モータエンコーダ精度算出部７０は、モータエンコーダ１３のみで推定した位置偏差からセンサ１２及びモータエンコーダ１３の双方で推定した位置偏差を減算することにより、モータエンコーダ１３の精度を算出する。
【００３８】
第１動作判定部７１は、開始位置、終了位置、動作速度、加速度、モータの負荷等の予め定めた閾値に基づいて、学習対象の動作が許容範囲内の精度を有する動作に類似するか否かを判定する。また、第１動作判定部７１は、学習対象の動作が許容範囲内の精度を有する動作に類似する動作である場合には、センサ１２を使用せずにモータエンコーダ１３のみで学習できる旨を表示装置１６に表示させる。表示装置１６はさらに、学習中又は学習終了後に各学習回で推定した位置偏差の軌跡、及び、位置偏差の最小値及び最大値を表示してもよい。
【００３９】
斯かる構成により、学習制御部２２は、未知の学習対象の動作に対してモータエンコーダ１３のみで学習が可能か否かを判定できる。従って、学習が終了してロボット機構部１４からセンサ１２を取外した後、他の動作を再度学習する必要が生じた場合であっても、学習対象の動作が許容される動作であれば、モータエンコーダ１３のみで学習が可能であると判定されるため、センサ１２を取付ける工数を削減できる。
【００４０】
図８Ｂは、モータエンコーダ１３のみで学習が可能か否かを判定する他の学習制御部２２のブロック図である。理解を容易にするため、図８Ｂは説明に必要な構成要素のみを示していることに留意されたい。学習制御部２２はさらに、学習対象の動作における動作速度を算出する動作速度算出部７２と、学習対象の動作における位置偏差の高周波成分の割合を算出する高周波成分割合算出部７３と、算出した動作速度が予め定めた閾値より遅く、且つ、算出した高周波成分の割合が予め定めた閾値より小さいか否かを判定する第２動作判定部７４と、を有しており、判定結果に基づいてセンサ１２を使用せずにモータエンコーダ１３のみで学習を行う。
【００４１】
また、第２動作判定部７４は、算出した動作速度が予め定めた閾値より遅く、且つ、算出した高周波成分の割合が予め定めた閾値より小さい場合には、センサ１２を使用せずにモータエンコーダ１３のみで学習できる旨を表示装置１６に表示させる。表示装置１６はさらに、学習中又は学習終了後に各学習回で推定した位置偏差の軌跡、及び、位置偏差の最小値及び最大値を表示してもよい。
【００４２】
これにより、学習制御部２２は、未知の学習対象の動作に対してモータエンコーダ１３のみで学習が可能か否かを判定できる。従って、学習が終了してロボット機構部１４からセンサ１２を取外した後、他の動作を再度学習する必要が生じた場合であっても、学習対象の動作が許容される動作であれば、モータエンコーダ１３のみで学習が可能であると判定されるため、センサ１２を取付ける工数を削減できる。
【００４３】
図９は、モータエンコーダ１３に基づく推定位置を補正する学習制御部２２のブロック図である。モータエンコーダ１３に基づく推定位置は、ロボット機構部１４の撓み、バックラッシの影響等をある程度考慮して推定しているが、ロボット毎の個体差、アーム先端に取付けたツールの影響により推定誤差を含んでいる。従って、学習制御部２２はさらに、モータエンコーダ１３に基づく推定誤差を算出するモータエンコーダ推定誤差算出部７５と、算出した推定誤差に基づいてモータエンコーダ１３に基づく推定位置を補正するモータエンコーダ推定位置補正部７６と、を有している。
【００４４】
モータエンコーダ推定誤差算出部７５は、モータエンコーダ１３のみで推定した位置偏差からモータエンコーダ１３及びセンサ１２の双方で推定した位置偏差を減算することにより、バックラッシによる推定誤差、アーム及びツールの撓みによる推定誤差等を含むモータエンコーダ１３に基づく推定誤差を算出する。
【００４５】
モータエンコーダ推定位置補正部７６は、算出した推定誤差をモータエンコーダ１３に基づく推定位置から減算することにより、モータエンコーダ１３に基づく推定位置を補正する。
【００４６】
斯かる構成により、モータエンコーダ１３に基づく推定位置は、バックラッシによる推定誤差、アーム及びツールの撓みによる推定誤差等のモータエンコーダ１３に基づく推定誤差を低減するため、学習制御部２２は、制御対象部位１１の振動をさらに精度良く学習制御できる。
【００４７】
本実施形態によれば、モータエンコーダ１３の情報から位置偏差の低周波成分を推定すると共に、センサ１２の情報から位置偏差の高周波成分を推定するため、最終的に得られる位置偏差はセンサ１２に基づく低周波成分の推定誤差が除去された位置偏差となる。従って、制御対象部位１１の振動を精度良く学習制御できる。
【００４８】
前述したフローチャートを実行するプログラムは、コンピュータ読取り可能な非一時的記録媒体、例えばＣＤ−ＲＯＭ等に記録して提供してもよい。
【００４９】
本明細書において種々の実施形態について説明したが、本発明は、前述した実施形態に限定されるものではなく、以下の特許請求の範囲に記載された範囲内において種々の変更を行えることを認識されたい。
【符号の説明】
【００５０】
１０    ロボットシステム
１１    制御対象部位
１２    センサ
１３    モータエンコーダ
１４    ロボット機構部
１５    ロボット制御装置
１６    表示装置
２０    作業プログラム
２１    ロボット制御部
２２    学習制御部
３０    第１メモリ
３１    第２メモリ
３２    第３メモリ
３３    位置偏差推定部
３４    補正量算出部
３５    学習完了判定部
４０    第１減算器
４１    第１ローパスフィルタ
４２    第２減算器
４３    ハイパスフィルタ
４４    加算器
４５    第２ローパスフィルタ
５０    第３減算器
６０    第４減算器
６１    第５減算器
７０    モータエンコーダ精度算出部
７１    第１動作判定部
７２    動作速度算出部
７３    高周波成分割合算出部
７４    第２動作判定部
７５    モータエンコーダ推定誤差算出部
７６    モータエンコーダ推定位置補正部
Ｊ１〜Ｊ６    関節軸
Ｃ１    ワールド座標系
Ｃ２    メカニカルインタフェイス座標系
【図１】
2019181610.tif 000003
【図２】
2019181610.tif 000004
【図３】
2019181610.tif 000005
【図４】
2019181610.tif 000006
【図５】
2019181610.tif 000007
【図６】
2019181610.tif 000008
【図７】
2019181610.tif 000009
【図８Ａ】
2019181610.tif 000010
【図８Ｂ】
2019181610.tif 000011
【図９】
2019181610.tif 000012
【図１０Ａ】
2019181610.tif 000013
【図１０Ｂ】
2019181610.tif 000014