(57)【要約】【課題】直接教示の開始時にロボットを動き出させるのに要する力を抑制できるロボット制御装置を得ること。【解決手段】ロボット制御装置１は、複数の関節を有するアームと、関節を駆動するモータ２３と、モータ２３の位置によって示される関節位置を検出するエンコーダ２４とを有するロボット２のアームの先端部に設置された力センサ３から、力センサ３に作用した力の方向及び大きさを表す力情報を取得する力センサデータ取得部１１と、力情報に基づいて、力センサ３に外力が作用した方向にアームの先端部が移動するようにアームを駆動させる動き出しアシスト制御を行う動き出しアシスト制御部１２と、関節位置に基づくフィードバック処理により、ロボット２をコンプライアンス制御するコンプライアンス制御部１３とを備える。【選択図】図２
2020203374.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節を有するアームと、関節を駆動するモータと、前記モータの位置によって示される関節位置を検出するエンコーダとを有するロボットの前記アームの先端部に設置された力センサから、前記力センサに作用した力の方向及び大きさを表す力情報を取得する力センサデータ取得部と、
前記力情報に基づいて、前記力センサに作用した力の方向に前記アームの先端部が移動するように前記アームを駆動させる動き出しアシスト制御を行う動き出しアシスト制御部と、
前記関節位置に基づくフィードバック処理により、前記ロボットをコンプライアンス制御するコンプライアンス制御部とを備えることを特徴とするロボット制御装置。
【請求項２】
前記動き出しアシスト制御を行うか、前記コンプライアンス制御を行うか、前記動き出しアシスト制御と前記コンプライアンス制御とを並行して行うかを、前記エンコーダが検出した前記関節位置から算出した前記アームの先端部の速度又は前記力センサからの力情報に基づいて切り替える制御切替部を備えることを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記関節位置から算出した前記アームの先端部の速度又は前記力センサからの力情報が示す力の大きさが第１の閾値未満であれば、前記動き出しアシスト制御を行い、前記関節位置から算出した前記アームの先端部の速度又は前記力センサからの力情報が示す力の大きさが前記第１の閾値よりも大きい第２の閾値以上であれば、前記コンプライアンス制御を行い、前記関節位置から算出した前記アームの先端部の速度又は前記力センサからの力情報が示す力の大きさが前記第１の閾値以上前記第２の閾値未満であれば、前記動き出しアシスト制御と前記コンプライアンス制御とを並行して行うことを特徴とする請求項２に記載のロボット制御装置。
【請求項４】
前記第１の閾値及び前記第２の閾値は、ユーザが設定可能であることを特徴とする請求項３に記載のロボット制御装置。
【請求項５】
複数の関節を有するアームの先端部に設置された力センサを有するロボットの温度及びエンコーダによって取得された前記関節を駆動するモータの位置情報と、前記力センサに作用した力の方向に前記アームの先端部が移動するように前記アームを駆動させる動き出しアシスト制御と、前記位置情報に基づくフィードバック処理によるコンプライアンス制御とを切り替えるための閾値とを含む学習用データを取得するデータ取得部と、
前記学習用データを用いて、前記ロボットの温度及び前記位置情報から、前記閾値を推論するための学習済モデルを生成するモデル生成部とを備えることを特徴とする学習装置。
【請求項６】
前記データ取得部が取得する前記閾値は、前記ロボットの動き出し時に前記関節を駆動するモータに流れる電流の電流値のピーク値であることを特徴とする請求項５に記載の学習装置。
【請求項７】
複数の関節を有するアームの先端部に設置された力センサを有するロボットの温度及びエンコーダによって取得された前記関節を駆動するモータの位置情報を取得するデータ取得部と、
前記力センサに作用した力の方向に前記アームの先端部が移動するように前記アームを駆動させる動き出しアシスト制御と、前記位置情報に基づくフィードバック処理によるコンプライアンス制御とを切り替えるための閾値を、前記ロボットの温度及び前記位置情報から推論するための学習済モデルを用いて、前記データ取得部から入力された前記ロボットの温度及び前記位置情報から前記閾値を出力する推論部とを備えることを特徴とする推論装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、関節を有するロボットを制御するロボット制御装置、学習装置及び推論装置に関する。
【背景技術】
【０００２】
アームを有する産業用ロボットは、アームの先端に取り付けられるエンドエフェクタに加わる力を測定するために、作用する外力を高精度に検出する力覚センサと呼ばれる力センサを備えている。力覚センサを備えたロボットへの教示方法には、ロボットに設置された力覚センサに作用する力を計測し、力覚センサの計測結果に基づいてロボットを制御するロボットの直接教示法がある。また、ロボットに作用する外力に基づいてロボットの動作を制御するコンプライアンス制御が直接教示に用いられることがある。コンプライアンス制御は、ロボット又はロボットが把持しているワークが、対象物と接触するような動作をする際に、ロボット又はワークが受ける外力を小さくするようにロボットを制御する手法である。直接教示で用いる場合は、人手でロボットを押す力が外力となり、ロボットは受ける力を小さくするように、力を加えられた方向へ移動する。コンプライアンス制御は外力が発生した際に行う制御法であるため、直接教示に用いる場合は、最初は人手で静止状態のアームを動かし、指令値とフィードバック値とに差を与えなければならない。コンプライアンス制御を用いた直接教示では、力覚センサ以外の部分に力を加えて教示を行うことができる。
【０００３】
特許文献１に開示されるロボット制御装置は、力覚センサを使用せず、指令値をフィードバック速度で補正することで、コンプライアンス制御を実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２１８５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
コンプライアンス制御による直接教示機能を持つロボット制御装置は、作業者がロボットの任意の場所を押して教示を行えるが、教示開始時に静止しているロボットを動かすため、静止摩擦力に打ち勝ってロボットを動き出させる必要があり、ロボットが動き出すまで強い力を加え続けなければならなかった。
【０００６】
本開示は、上記に鑑みてなされたものであって、直接教示の開始時にロボットを動き出させるのに要する力を抑制できるロボット制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本開示に係るロボット制御装置は、複数の関節を有するアームと、関節を駆動するモータと、モータの位置によって示される関節位置を検出するエンコーダとを有するロボットのアームの先端部に設置された力センサから、力センサに作用した力の方向及び大きさを表す力情報を取得する力センサデータ取得部と、力情報に基づいて、力センサに作用した力の方向にアームの先端部が移動するようにアームを駆動させる動き出しアシスト制御を行う動き出しアシスト制御部とを有する。本開示に係るロボット制御装置は、関節位置に基づくフィードバック処理により、ロボットをコンプライアンス制御するコンプライアンス制御部を備える。
【発明の効果】
【０００８】
本開示によれば、直接教示の開始時にロボットを動き出させるのに要する力を抑制できるロボット制御装置を得られるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るロボット制御装置を用いたロボットシステムの構成を示す図
【図２】実施の形態１に係るロボット制御装置の機能ブロック図
【図３】実施の形態１に係るロボット制御装置がロボットを教示する際のロボットの関節の制御系のブロック線図
【図４】実施の形態１に係るロボット制御装置のゲイン計算部が用いるゲインの一例を示す図
【図５】実施の形態１に係るロボット制御装置の動作の流れを示すフローチャート
【図６】実施の形態１に係るロボットシステムにおいてロボットに直接教示するのに必要な力を示す図
【図７】実施の形態２に係るロボット制御装置の機能ブロック図
【図８】実施の形態２に係る学習装置の機能ブロック図
【図９】実施の形態２に係る学習装置のニューラルネットワークモデルの一例を示す図
【図１０】実施の形態２に係る学習装置の学習処理の流れを示すフローチャート
【図１１】実施の形態２に係る推論装置の機能ブロック図
【図１２】実施の形態２に係る推論装置が出力する切り替え速度閾値を用いてロボットが動き出しアシスト制御からコンプライアンス制御に切り替える処理の流れを示すフローチャート
【図１３】実施の形態１，２に係るロボット制御装置の制御部の機能、実施の形態２に係る学習装置のモデル生成部の機能又は実施の形態２に係る推論装置の推論部の機能をハードウェアによる処理回路で実現した構成を示す図
【図１４】実施の形態１，２に係るロボット制御装置の制御部の機能、実施の形態２に係る学習装置のモデル生成部の機能又は実施の形態２に係る推論装置の推論部の機能をソフトウェアによる処理回路で実現した構成を示す図
【発明を実施するための形態】
【００１０】
以下に、実施の形態に係るロボット制御装置、学習装置及び推論装置を図面に基づいて詳細に説明する。
【００１１】
実施の形態１．
図１は、実施の形態１に係るロボット制御装置を用いたロボットシステムの構成を示す図である。ロボットシステム５０は、ロボット制御装置１とロボット２とを有する。ロボット２は、アーム２１の先端部に力センサ３を備えている。力センサ３は、外から作用した力の方向及び大きさを示す力情報を検出する。力センサ３は、力覚センサと呼ばれる高精度なセンサである必要はなく、人力による操作力を検出できればよい。アーム２１は、複数の関節２２を有している。ロボット２は、各関節２２を駆動するモータ２３を備えている。各モータ２３には、モータ２３の回転位置を検出し、検出した回転位置を示す位置情報を出力するエンコーダ２４が設置されている。なお、図１には、ロボット２が有する複数のモータ２３及びエンコーダ２４のうち、一部のみ図示している。
【００１２】
図２は、実施の形態１に係るロボット制御装置の機能ブロック図である。ロボット制御装置１は、力センサ３から力情報を取得する力センサデータ取得部１１と、力情報に基づいて、力が作用した方向に力センサ３が移動するようにアーム２１を動かすためのトルク指令を生成する動き出しアシスト制御部１２と、エンコーダ２４からのエンコーダ情報に基づいてロボット２をコンプライアンス制御してトルク指令を生成するコンプライアンス制御部１３と、動き出しアシスト制御を行うか、コンプライアンス制御を行うか、動き出しアシスト制御とコンプライアンス制御とを並行して行うかをエンコーダ情報に基づいて切り替える制御切替部１４とを備えた制御部１６を有する。また、ロボット制御装置１は、トルク指令に基づいてモータ２３を駆動するサーボアンプ１５を有する。なお、動き出しアシスト制御とは、力センサ３に外から作用する力と同じ方向にアーム２１の先端部が移動するようにアーム２１を動かすことによって、ロボット２を動き出させるのに要する力を軽減する制御である。
【００１３】
力センサ３が設置されたアーム２１の先端部の位置及び速度は、各関節２２の関節位置及び関節速度によって定まる。各関節２２の関節位置は、エンコーダ２４が取得するモータ２３の位置情報である。各関節２２の関節速度は、関節位置を微分することによって算出される。
【００１４】
図３は、実施の形態１に係るロボット制御装置がロボットを教示する際のロボットの関節の制御系のブロック線図である。補正量計算部３８は、関節速度と既定の位置ゲイン補正係数Ｋｃｖとの積である計算結果を指令値計算部３９に出力する。指令値計算部３９は、補正量計算部３８による計算結果と関節位置とを加算した計算結果であるコンプライアンス制御の位置指令値を加算器４２及び切替スイッチ４３に出力する。
【００１５】
位置算出部４０は、関節位置と力センサ３からの力情報とを加算した計算結果である関節位置を切替スイッチ４３に出力する。位置算出部４０が切替スイッチ４３に出力する関節位置は、力センサ３に外力が作用したことによって移動した後の関節位置である。なお、切替スイッチ４３に出力される位置算出部４０の計算結果は、計算結果である関節位置が示す位置への移動を指令する位置指令となる。ゲイン計算部４１は、力センサ３からの力情報に、関節速度が大きくなるにつれて小さくなるゲインＫｓ（Ｖ）を乗じた補正量を算出し、加算器４２に出力する。ゲイン計算部４１が出力する補正量は、力センサ３に外力が作用したことによる補正量である。加算器４２は、力センサ３に外力が作用したことによる補正量と位置指令値とを加算した計算結果であるコンプライアンス制御と動き出しアシスト制御とを並行して行うための位置指令値を切替スイッチ４３に出力する。切替スイッチ４３は、移動量計算部３１に出力する位置指令値を切り替えるスイッチである。
【００１６】
スイッチ制御器４４は、位置算出部４０の計算結果、加算器４２の計算結果及び指令値計算部３９の計算結果のいずれを位置指令値にするかを、関節速度に基づいて切り替える。なお、スイッチ制御器４４は、関節角度から直交座標系に座標変換したロボット２の先端での直交座標位置を微分するなどして算出した直交座標速度に基づいて、位置算出部４０の計算結果、加算器４２の計算結果及び指令値計算部３９の計算結果のいずれを位置指令値にするかを切り替えてもよい。位置算出部４０の計算結果、加算器４２の計算結果及び指令値計算部３９の計算結果のいずれを位置指令値にするかを、直接教示を行う操作者が直感的に分かり易い直交座標系の速度に基づいて切り替えることにより、操作者が操作しやすくなる。また、スイッチ制御器４４は、位置算出部４０の計算結果、加算器４２の計算結果及び指令値計算部３９の計算結果のいずれを位置指令値にするかを、力センサ３からの力情報に基づいて切り替えてもよい。
【００１７】
図４は、実施の形態１に係るロボット制御装置のゲイン計算部が用いるゲインの一例を示す図である。ゲインＫｓ（Ｖ）は、関節速度ｖが第１の閾値ｖ１以上第２の閾値ｖ２未満の範囲では、関節速度ｖが高速になるほど小さくなる。関節速度ｖが第１の閾値ｖ１未満ではゲインＫｓ（Ｖ）＝１であり、第２の閾値ｖ２以上ではゲインＫｓ（Ｖ）＝０である。関節速度ｖが第１の閾値ｖ１以上第２の閾値ｖ２未満では、ゲインＫｓ（Ｖ）＝（ｖ−ｖ２）／（ｖ１−ｖ２）である。なお、図４に示すゲインＫｓ（Ｖ）は、一例であり、第１の閾値ｖ１と第２の閾値ｖ２との間でゲインの変化は直線的でなくてもよい。第１の閾値ｖ１及び第２の閾値ｖ２は、ユーザが設定可能とすることにより、動き出しアシスト制御とコンプライアンス制御とを並行して行い始める速度及び動き出しアシスト制御を終了してコンプライアンス制御のみを行う速度をロボット２の仕様に合わせて決めることができる。以下の説明において、第１の閾値ｖ１は、関節速度の測定の分解能においてゼロを超える最小値に設定されているものとする。したがって、ロボット制御装置１は、関節２２がわずかでも動いた場合に、動き出しアシスト制御とコンプライアンス制御とを並行して行い始める。ただし、ロボット２に振動などの外乱が作用することを鑑みて、関節速度が一定速度に達してから、動き出しアシスト制御とコンプライアンス制御とを並行して行い始めるように、第１の閾値ｖ１を設定してもよい。
【００１８】
移動量計算部３１は、切替スイッチ４３から出力される位置指令値とエンコーダ２４で検出された現在の関節位置との差である移動量を計算する。速度指令値計算部３２は、移動量に関節位置フィードバックループにおける位置ゲインＫｐを乗ずることにより速度指令値を求める。速度偏差計算部３３は、速度指令値と速度検出器３７で検出された関節速度との差である速度偏差を計算する。速度ゲイン処理部３４は、速度偏差と関節速度フィードバックループにおける速度ゲインＫｖとの積を計算する。積分器３５は、速度偏差と速度ゲインＫｖとの積を積分し、関節速度フィードバックループにおける積分ゲインＫｉを乗算する。トルク指令生成部３６は、速度偏差と速度ゲインＫｖとの積に積分器３５の出力を加算することによりトルク指令を求める。
【００１９】
なお、アーム２１の先端部のように複数の関節２２が可動することによって移動する部位の移動速度に基づいて直接教示の開始時にロボット制御装置１がロボット２を制御する方法を切り替える場合には、各関節２２の関節速度の和によって表される移動速度を第１の閾値及び第２の閾値と比較してロボット制御装置１がロボット２を制御する方法を切り替えればよい。
【００２０】
実施の形態１に係るロボットシステム５０のロボット制御装置１の動作について説明する。図５は、実施の形態１に係るロボット制御装置の動作の流れを示すフローチャートである。この動作は、直接教示の開始時にロボット制御装置１がロボット２を制御する方法を切り替える動作である。以下の説明においては、直接教示の開始時にロボット制御装置１がロボット２を制御する方法を、各関節２２の関節速度によって定まるアーム２１の先端部の移動速度に基づいて切り替える。ステップＳ１において、ロボット制御装置１は、人手で力センサ３が押されることによって力センサ３が検出した力情報を力センサ３から受信する。ステップＳ２において、ロボット制御装置１は、力情報を基に力センサ３が設置されたアーム２１の先端部の移動量を算出する。ステップＳ３において、ロボット制御装置１は、アーム２１の先端部の移動量を基にトルク指令を生成する。ステップＳ１からステップＳ３の動作は、力センサ３に外力が作用した方向に移動するようにアーム２１を動かすことによって、ロボット２を動き出させるのに要する力を軽減する動き出しアシスト制御である。
【００２１】
ステップＳ４において、ロボット制御装置１は、力センサ３が設置されたアーム２１の先端部の移動速度が第１の閾値未満であるか否かを判断する。アーム２１の先端部の移動速度が第１の閾値未満であれば、ステップＳ４でＹｅｓとなり、処理はステップＳ１に進む。アーム２１の先端部の移動速度が第１の閾値以上であれば、ステップＳ４でＮｏとなり、処理はステップＳ５に進む。
【００２２】
ステップＳ５において、ロボット制御装置１は、アーム２１の先端部の移動速度が第２の閾値未満であるか否かを判断する。アーム２１の先端部の移動速度が第２の閾値未満であれば、ステップＳ５でＹｅｓとなり、処理はステップＳ６に進む。アーム２１の先端部の移動速度が第２の閾値以上であれば、ステップＳ５でＮｏとなり、処理はステップＳ９に進む。
【００２３】
ステップＳ６において、ロボット制御装置１は、力センサ３から力情報を受信するとともに、現在の指令値とフィードバック値との差を算出する。
【００２４】
ステップＳ７において、ロボット制御装置１は、力センサ３の出力を基に力センサ３及びロボット２の移動量を生成し、アーム２１の先端部及びロボット２の移動速度に合わせて移動量を変更する。
【００２５】
ステップＳ８において、ロボット制御装置１は、指令値とフィードバック値との差と、変更後の移動量とからトルク指令を生成する。ステップＳ８の後、処理はステップＳ４に進む。ステップＳ６からステップＳ８の動作は、動き出しアシスト制御とコンプライアンス制御とを並行に行う制御である。
【００２６】
ステップＳ９において、ロボット制御装置１は、力センサ３からロボット２への持ち替えをユーザに促す合図を出す。合図は、表示装置を用いた視覚的な合図であってもよいし、スピーカを用いた聴覚的な合図であってもよい。ステップＳ１０において、ロボット制御装置１は、現在の指令値とフィードバック値との差を算出する。
【００２７】
ステップＳ１１において、ロボット制御装置１は、指令値とフィードバック値との差を基に、新たなトルク指令を生成する。ステップＳ１１の後、処理はステップＳ１０に進む。ステップＳ１０及びステップＳ１１の動作は、コンプライアンス制御である。
【００２８】
なお、力センサ３以外の部分を押して直接教示を行う場合には、ステップＳ１からステップＳ９の処理は行われず、ステップＳ１０及びステップＳ１１の処理が行われる。
【００２９】
図６は、実施の形態１に係るロボットシステムにおいてロボットに直接教示するのに必要な力を示す図である。図６中の線Ａは、ロボット制御装置１でロボット２の直接教示を行う際にロボット２を動かすのに必要な力を示している。図６中の線Ｂは、コンプライアンス制御だけを行うロボット制御装置がロボット２の直接教示を行う際にロボット２を動かすのに必要な力を示している。図６中の線Ｃは、アーム２１の先端部の移動速度を示している。コンプライアンス制御だけを行う場合、静止しているロボット２が静止摩擦力に打ち勝って時刻Ｔ１において動き出すまでの間は、力センサ３に加える力を増大させ、ロボット２が動き出した後は、動摩擦力に打ち勝ってロボット２の動きを維持する力を加え続けることになる。したがって、コンプライアンス制御だけを行う場合には、力センサ３に加える力は、ロボット２が動き出す直前に最大となる。一方、実施の形態１に係るロボット制御装置１は、制御切替部１４から出力する位置指令値をアーム２１の先端部の移動速度によって変化させるため、アーム２１の先端部の移動速度が第１の閾値未満の間は、Ｋｓ（ｖ）を１にして位置指令値をそのまま移動量計算部３１に出力し、アーム２１の先端部の移動速度が第１の閾値以上かつ第２の閾値未満の場合は、アーム２１の先端部の移動速度が増大するにつれて減少するＫｓ（ｖ）によって位置指令値を補正して移動量計算部３１に出力する。したがって、静止しているロボット２が静止摩擦力に打ち勝って時刻Ｔ１において動き出すまでの間は、ロボット２を動かす力に一定の強さの動き出しアシストが加わり、ロボット２が動き出した後は、アーム２１の先端部の移動速度が増大するにつれて動き出しアシストが弱まり、時刻Ｔ２においてアーム２１の先端部の移動速度が第２の閾値以上になると、動き出しアシストが無い通常のコンプライアンス制御となる。
【００３０】
実施の形態１に係るロボット制御装置１は、直接教示の開始時に、静止しているロボット２を弱い力で動き出させることができる。
【００３１】
実施の形態２．
図７は、実施の形態２に係るロボット制御装置の機能ブロック図である。実施の形態２に係るロボット制御装置１は、制御切替部１４が推論装置７０から学習済データを取得する点で実施の形態１に係るロボット制御装置１と相違する。実施の形態２に係るロボット２は、モータ２３に流れる電流の大きさを計測し、ロボット２の動き出し時にモータ２３に流れる電流のピーク値を取得するピーク電流値取得部２５と、ロボット２の温度を測定する温度センサ２６とを備える。実施の形態２に係るロボット２は、図１に示した実施の形態１に係るロボット２と同様に、複数の関節２２を有するアーム２１と、アーム２１の先端部に設置された力センサ３と、各関節２２を駆動するモータ２３と、モータ２３の回転位置を検出し、検出した回転位置を示す位置情報を出力するエンコーダ２４とを備えている。また、ロボット２には、学習装置６０及び推論装置７０が接続される。学習装置６０及び推論装置７０には、記憶装置８０が接続される。
【００３２】
図８は、実施の形態２に係る学習装置の機能ブロック図である。学習装置６０は、データ取得部６１及びモデル生成部６２を備える。また、記憶装置８０は、学習済モデルを記憶する学習済モデル記憶部８１を備える。
【００３３】
モデル生成部６２が用いる学習アルゴリズムは、教師あり学習、教師なし学習及び強化学習といった公知のアルゴリズムを用いることができる。一例として、ニューラルネットワークを適用した場合について説明する。
【００３４】
モデル生成部６２は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、切り替え速度閾値を学習する。ここで、教師あり学習とは、入力と結果とのデータの組を学習装置６０に与えることで、与えられた学習用データにある特徴を学習し、入力から結果を推論する手法をいう。
【００３５】
データ取得部６１は、姿勢、動き出し方向、温度及び切り替え速度閾値を学習用データとして取得する。切り替え速度閾値は、動き出しアシスト制御とコンプライアンス制御とを切り替えるための閾値である。エンコーダ２４が取得するモータ２３の位置情報が、姿勢及び動き出し方向の情報としてデータ取得部６１に取得される。また、温度センサ２６が取得するモータ２３の温度情報が、温度の情報としてデータ取得部６１に取得される。また、図６に示したように、静止していたロボット２が動き出すまでは、ロボット２を動かす力に一定の強さの動き出しアシストが加わり、ロボット２が動き出すとアーム２１の先端部の移動速度の増大に合わせて動き出しアシストが弱まるため、モータ２３に流れる電流は、動き出しアシスト制御からコンプライアンス制御に切り替わる時に電流値がピーク値となる。したがって、データ取得部６１は、特定の姿勢、動き出し方向及び温度でのロボット２の動き出し時にモータ２３に流れた電流の電流値のピーク値を取得することにより、切り替え速度閾値を取得する。教師あり学習においては、データ取得部６１がピーク電流値取得部２５から取得した切り替え速度閾値は、動き出しアシスト制御からコンプライアンス制御へ切り替わった時のアーム２１の先端部の移動速度を示す正解データである。
【００３６】
モデル生成部６２は、データ取得部６１によってロボット２から取得される姿勢、動き出し方向、温度及び切り替え速度閾値の組み合わせに基づいて作成される学習用データに基づいて、切り替え速度閾値を学習する。すなわち、モデル生成部６２は、ロボット２の姿勢、動き出し方向、温度及び切り替え速度閾値に基づいて、姿勢、動き出し方向及び温度の組み合わせに適した切り替え速度閾値を推論する学習済モデルを生成する。
【００３７】
ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層及び複数のニューロンからなる出力層で構成される。なお、中間層は、１層でもよいし、２層以上でもよい。
【００３８】
図９は、実施の形態２に係る学習装置のニューラルネットワークモデルの一例を示す図である。図９に示すような３層のニューラルネットワークであれば、複数の入力が入力層Ｘ１，Ｘ２，Ｘ３に入力されると、入力された値に重みｗ１１，ｗ１２，ｗ１３，ｗ１４，ｗ１５，ｗ１６が掛けられて中間層Ｙ１，Ｙ２に入力される。さらに、中間層Ｙ１，Ｙ２に入力された値に重みｗ２１，ｗ２２，ｗ２３，ｗ２４，ｗ２５，ｗ２６が掛けられて出力層Ｚ１，Ｚ２，Ｚ３から出力される。出力層Ｚ１，Ｚ２，Ｚ３からの出力である結果は、重みｗ１１，ｗ１２，ｗ１３，ｗ１４，ｗ１５，ｗ１６の値及び重みｗ２１，ｗ２２，ｗ２３，ｗ２４，ｗ２５，ｗ２６の値とによって変わる。
【００３９】
実施の形態２に係る学習装置６０において、ニューラルネットワークは、データ取得部６１によって取得される姿勢、動き出し方向、温度及び切り替え速度閾値の組み合わせに基づいて作成される学習用データに従って、いわゆる教師あり学習により、切り替え速度閾値を学習する。
【００４０】
すなわち、ニューラルネットワークは、入力層Ｘ１，Ｘ２，Ｘ３に姿勢、動き出し方向及び温度を入力して出力層Ｚ１，Ｚ２，Ｚ３から出力された結果が、切り替え速度閾値に近づくように重みｗ１１，ｗ１２，ｗ１３，ｗ１４，ｗ１５，ｗ１６の値及び重みｗ２１，ｗ２２，ｗ２３，ｗ２４，ｗ２５，ｗ２６を調整することで学習を実行する。
【００４１】
モデル生成部６２は、上記のような学習を実行することで、学習済モデルを生成し、生成した学習済モデルを出力する。
【００４２】
学習済モデル記憶部８１は、モデル生成部６２から出力された学習済モデルを記憶する。
【００４３】
図１０は、実施の形態２に係る学習装置の学習処理の流れを示すフローチャートである。ステップｂ１において、データ取得部６１は、姿勢、動き出し方向、温度及び切り替え速度閾値によって構成される学習用データを取得する。なお、姿勢、動き出し方向、温度及び切り替え速度閾値を同時に取得するものとしたが、姿勢、動き出し方向、温度及び切り替え速度閾値を関連付けて取得できればよく、姿勢、動き出し方向、温度及び切り替え速度閾値の各データをそれぞれ別のタイミングで取得してもよい。
【００４４】
ステップｂ２において、モデル生成部６２は、データ取得部６１によって取得される姿勢、動き出し方向、温度及び切り替え速度閾値によって構成される学習用データに従って、いわゆる教師あり学習により、切り替え速度閾値を学習し、学習済モデルを生成する。
【００４５】
ステップｂ３において、モデル生成部６２は、生成した学習済モデルを学習済モデル記憶部８１に記憶させる。
【００４６】
図１１は、実施の形態２に係る推論装置の機能ブロック図である。実施の形態２に係る推論装置７０は、データ取得部７１及び推論部７２を備える。
【００４７】
データ取得部７１は、姿勢、動き出し方向及び温度を取得する。
【００４８】
推論部７２は、学習済モデルを利用して得られる切り替え速度閾値を推論する。すなわち、学習済モデルにデータ取得部７１で取得した姿勢、動き出し方向及び温度を入力することで、姿勢、動き出し方向及び温度から推論される切り替え速度閾値を出力する。
【００４９】
なお、実施の形態２においては、ロボット２に関してモデル生成部６２で学習した学習済モデルを用いて切り替え速度閾値を出力するものとして説明したが、ロボット２とは異なるロボットに関する学習済モデルを外部から取得し、この学習済モデルに基づいて切り替え速度閾値を出力するようにしてもよい。
【００５０】
図１２は、実施の形態２に係る推論装置が出力する切り替え速度閾値を用いてロボットが動き出しアシスト制御からコンプライアンス制御に切り替える処理の流れを示すフローチャートである。ステップｃ１において、データ取得部７１は姿勢、動き出し方向及び温度を取得する。
【００５１】
ステップｃ２において、推論部７２は、学習済モデル記憶部８１に記憶された学習済モデルに姿勢、動き出し方向及び温度を入力し、切り替え速度閾値を得る。
【００５２】
ステップｃ３において、推論部７２は、学習済モデルにより得られた切り替え速度閾値をロボット２の制御切替部１４に出力する。
【００５３】
ステップｃ４において、ロボット２は、動作開始時に、動き出しアシスト制御からコンプライアンス制御への切り替えを行う。これにより、ロボット制御装置１は、ロボット２の姿勢、動き出し方向及びモータ２３の温度によらず、動き出しアシスト制御からコンプライアンス制御への切り替えを行うことができる。
【００５４】
モータ２３が発生させるトルクは、モータ２３の温度が一定であれば、モータ２３に供給される電流の変化に対して直線的に変化する。したがって、モータ２３の温度が一定であるならば、切り替え速度閾値を演算によって求めることができる。しかし、モータ２３の温度が一定ではない場合又は静止摩擦の影響が大きいときは、モータ２３が発生させるトルクとモータ２３に供給される電流との関係は、非線形の関係となるため、演算により切り替え速度閾値を求めることは困難である。実施の形態２では、学習装置６０は、機械学習により学習済モデルを生成し、推論装置７０は、機械学習によって生成された学習済モデルに基づいて切り替え速度閾値を得るため、モータ２３の温度が一定ではない環境下においても、切り替え速度閾値を得ることができる。
【００５５】
なお、実施の形態２では、モデル生成部６２が用いる学習アルゴリズムに教師あり学習を適用した場合について説明したが、これに限られるものではない。学習アルゴリズムについては、教師あり学習以外にも、強化学習、教師なし学習又は半教師あり学習などを適用することも可能である。
【００５６】
また、モデル生成部６２は、複数のロボット２に対して作成される学習用データに従って、切り替え速度閾値を学習するようにしてもよい。なお、モデル生成部６２は、同一のエリアで使用される複数のロボット２から学習用データを取得してもよいし、異なるエリアで独立して動作する複数のロボット２から収集される学習用データを利用して切り替え速度閾値を学習してもよい。また、学習用データを収集するロボット２を途中で対象に追加したり、対象から除外したりすることも可能である。さらに、あるロボット２に関して切り替え速度閾値を学習した学習装置６０を、別のロボット２に接続し、別のロボット２に関して切り替え速度閾値を再学習して更新するようにしてもよい。
【００５７】
また、モデル生成部６２に用いられる学習アルゴリズムとしては、特徴量そのものの抽出を学習する深層学習（Deep  Learning）を用いることもでき、他の公知の方法に従って機械学習を実行してもよい。例えば、Ｑ学習、遺伝的プログラミング、機能論理プログラミング又はサポートベクターマシンに従って機械学習を実行してもよい。
【００５８】
なお、学習装置６０及び推論装置７０は、ロボット２の切り替え速度閾値を学習するために使用されるが、例えば、ロボット２とは別個の装置であり、ネットワークを介してロボット２に接続されてもよい。また、学習装置６０及び推論装置７０は、ロボット２に内蔵されてもよい。さらに、学習装置６０及び推論装置７０は、ネットワーク上のサーバ内に存在していてもよい。
【００５９】
上記の実施の形態１，２に係るロボット制御装置１の制御部１６の機能、上記の実施の形態２に係る学習装置６０のモデル生成部６２の機能及び上記の実施の形態２に係る推論装置７０の推論部７２の機能は、処理回路により実現される。処理回路は、専用のハードウェアであっても、記憶装置に格納されるプログラムを実行する処理装置であってもよい。
【００６０】
処理回路が専用のハードウェアである場合、処理回路は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、又はこれらを組み合わせたものが該当する。図１３は、実施の形態１，２に係るロボット制御装置の制御部の機能、実施の形態２に係る学習装置のモデル生成部の機能又は実施の形態２に係る推論装置の推論部の機能をハードウェアによる処理回路で実現した構成を示す図である。処理回路２９には、制御部１６の機能、モデル生成部６２の機能又は推論部７２の機能を実現する論理回路２９ａが組み込まれている。
【００６１】
処理回路２９が処理装置の場合、制御部１６の機能、モデル生成部６２の機能又は推論部７２の機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせにより実現される。
【００６２】
図１４は、実施の形態１，２に係るロボット制御装置の制御部の機能、実施の形態２に係る学習装置のモデル生成部の機能又は実施の形態２に係る推論装置の推論部の機能をソフトウェアによる処理回路で実現した構成を示す図である。処理回路２９は、プログラム２９ｂを実行するプロセッサ２９１と、プロセッサ２９１がワークエリアに用いるランダムアクセスメモリ２９２と、プログラム２９ｂを記憶する記憶装置２９３を有する。記憶装置２９３に記憶されているプログラム２９ｂをプロセッサ２９１がランダムアクセスメモリ２９２上に展開し、実行することにより、制御部１６の機能、モデル生成部６２の機能又は推論部７２の機能が実現される。ソフトウェア又はファームウェアはプログラム言語で記述され、記憶装置２９３に格納される。プロセッサ２９１は、中央処理装置を例示できるがこれに限定はされない。記憶装置２９３は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、又はＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read  Only  Memory）といった半導体メモリを適用できる。半導体メモリは、不揮発性メモリでもよいし揮発性メモリでもよい。また記憶装置２９３は、半導体メモリ以外にも、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク又はＤＶＤ（Digital  Versatile  Disc）を適用できる。なお、プロセッサ２９１は、演算結果といったデータを記憶装置２９３に出力して記憶させてもよいし、ランダムアクセスメモリ２９２を介して不図示の補助記憶装置に当該データを記憶させてもよい。プロセッサ２９１、ランダムアクセスメモリ２９２及び記憶装置２９３を１チップに集積することにより、制御部１６の機能、モデル生成部６２の機能又は推論部７２の機能をマイクロコンピュータにより実現することができる。
【００６３】
処理回路２９は、記憶装置２９３に記憶されたプログラム２９ｂを読み出して実行することにより、制御部１６の機能、モデル生成部６２の機能又は推論部７２の機能を実現する。プログラム２９ｂは、制御部１６の機能、モデル生成部６２の機能又は推論部７２の機能を実現する手順及び方法をコンピュータに実行させるものであるとも言える。
【００６４】
なお、処理回路２９は、制御部１６の機能、モデル生成部６２の機能又は推論部７２の機能の一部を専用のハードウェアで実現し、制御部１６の機能の一部をソフトウェア又はファームウェアで実現するようにしてもよい。
【００６５】
このように、処理回路２９は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって、上述の各機能を実現することができる。
【００６６】
以上の実施の形態に示した構成は、内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６７】
１  ロボット制御装置、２  ロボット、３  力センサ、１１  力センサデータ取得部、１２  動き出しアシスト制御部、１３  コンプライアンス制御部、１４  制御切替部、１５  サーボアンプ、１６  制御部、２１  アーム、２２  関節、２３  モータ、２４  エンコーダ、２５  ピーク電流値取得部、２６  温度センサ、２９  処理回路、２９ａ  論理回路、２９ｂ  プログラム、３１  移動量計算部、３２  速度指令値計算部、３３  速度偏差計算部、３４  速度ゲイン処理部、３５  積分器、３６  トルク指令生成部、３７  速度検出器、３８  補正量計算部、３９  指令値計算部、４０  位置算出部、４１  ゲイン計算部、４２  加算器、４３  切替スイッチ、４４  スイッチ制御器、５０  ロボットシステム、６０  学習装置、６１，７１  データ取得部、６２  モデル生成部、７０  推論装置、７２  推論部、８０，２９３  記憶装置、８１  学習済モデル記憶部、２９１  プロセッサ、２９２  ランダムアクセスメモリ。
【図１】
2020203374.tif 000003
【図２】
2020203374.tif 000004
【図３】
2020203374.tif 000005
【図４】
2020203374.tif 000006
【図５】
2020203374.tif 000007
【図６】
2020203374.tif 000008
【図７】
2020203374.tif 000009
【図８】
2020203374.tif 000010
【図９】
2020203374.tif 000011
【図１０】
2020203374.tif 000012
【図１１】
2020203374.tif 000013
【図１２】
2020203374.tif 000014
【図１３】
2020203374.tif 000015
【図１４】
2020203374.tif 000016