(57)【要約】【課題】制御性の悪化や衝突の誤検出のような問題が予期せずに起こることを未然に防止できる【解決手段】ユーザによって入力された推定条件の下でロボット２を動作させ、ロボット２に取り付けられた負荷の負荷パラメータを推定するパラメータ推定部１１と、負荷パラメータの推定時に動作させたロボット２の各関節の動作トルクを算出するトルク算出部１２と、動作トルクの最大値と最小値との差が所定の閾値以下の場合に、ユーザに警告を通知する通知部１３と、を備えるロボット制御装置１を提供する。【選択図】図１
2018114577.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって入力された推定条件の下でロボットを動作させ、該ロボットに取り付けられた負荷の負荷パラメータを推定するパラメータ推定部と、
前記負荷パラメータの推定時に動作させた前記ロボットの各関節の動作トルクを算出するトルク算出部と、
前記動作トルクの最大値と最小値との差が所定の閾値以下の場合に、前記ユーザに警告を通知する通知部と、
を備えるロボット制御装置。
【請求項２】
前記トルク算出部が、前記ロボットの前記各関節に備えらえるモータに流れる電流値を測定し、該電流値に基づいて、前記動作トルクを算出する請求項１に記載のロボット制御装置。
【請求項３】
前記ロボットに対しての前記負荷パラメータの推定を行う際に推奨される予め決められた推奨推定条件を格納する記憶部と、
前記ユーザによって入力された前記推定条件の適否を、前記推奨推定条件に基づいて判定する条件判定部と、
を備え、
前記条件判定部が適していると判断した前記推定条件のみが、前記パラメータ推定部に入力される請求項１又は請求項２に記載のロボット制御装置。
【請求項４】
前記条件判定部において、前記ユーザによって入力された前記推定条件が適していないと判断された場合に、前記通知部が、前記ユーザに警告を通知する請求項３に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに取り付けられた負荷の負荷パラメータを推定するのに好適なロボット制御装置に関する。
【背景技術】
【０００２】
フィードフォワードや衝突検出等の機能をロボットに正しく動作させるためには、ロボットに取り付けられた負荷やロボットに取り付けられたハンドに把持させた負荷の質量、重心位置、慣性行列等の負荷パラメータが必要となる。従来、負荷パラメータが未知の場合には、負荷パラメータの推定が行われている。
例えば、特許文献１では、力センサを介して負荷を取り付け、複数の姿勢及び力センサの出力から負荷パラメータを推定する技術が開示されている。
【０００３】
また、例えば、特許文献２では、教示された基準位置に従って動作パターンプログラムが作成され、作成された当該動作パターンプログラムに従ってロボットを動作させた場合の各軸の駆動電流から駆動トルクを求め、この駆動トルクが未知の負荷の質量及び重心位置を含めた負荷トルクに一致するものとして、未知の負荷パラメータを推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−５５１８９号公報
【特許文献２】特開平１０−１３８１８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のように負荷パラメータを推定した場合、推定を行う際の条件、例えば、推定を行うためのロボットの位置や姿勢、負荷パラメータの一部が既知であるか否か等の条件によって、推定精度にばらつきが生じることは不可避である。また、推定精度を高くするためには、推定を行うためのロボットの位置や姿勢が推定に適した条件であることが求められる。しかし、ロボットを動作可能な範囲やロボットの動作自体に制限があり推定に適した位置や姿勢をとることができない場合があり、このような場合には、推定した負荷パラメータの精度がユーザの要求を満たせていない可能性がある。十分な精度を有する負荷パラメータを推定することが期待できないような条件下で推定されたにも関わらず、ユーザがそのことに気づいていない場合、制御性の悪化や衝突の誤検出のようなユーザが予期しない問題が起こる可能性がある。
【０００６】
本発明は、上述した事情に鑑みてなされたものであって、制御性の悪化や衝突の誤検出のような問題が予期せずに起こることを未然に防止できるロボット制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、ユーザによって入力された推定条件の下でロボットを動作させ、該ロボットに取り付けられた負荷の負荷パラメータを推定するパラメータ推定部と、前記負荷パラメータの推定時に動作させた前記ロボットの各関節の動作トルクを算出するトルク算出部と、前記動作トルクの最大値と最小値との差が所定の閾値以下の場合に、前記ユーザに警告を通知する通知部と、を備えるロボット制御装置である。
【０００８】
この構成によれば、パラメータ推定部によって、ユーザによって入力された推定条件の下でロボットが動作させられ、ロボットに取り付けられた負荷の負荷パラメータが推定される。そして、トルク算出部によって、負荷パラメータの推定時に動作させたロボットの各関節の動作トルクが算出される。そして、通知部によって、動作トルクの最大値と最小値との差が所定の閾値以下の場合に、ユーザに警告が通知される。
【０００９】
このようにすることで、ユーザは、十分な精度を有する負荷パラメータの推定がなされなかったことを知ることができる。結果として、制御性の悪化や衝突の誤検出のような問題が予期せずに起こることを防止できる。
【００１０】
上記一態様に係るロボット制御装置において、前記トルク算出部が、前記ロボットの前記各関節に備えらえるモータに流れる電流値を測定し、該電流値に基づいて、前記動作トルクを算出する構成であってもよい。
【００１１】
上記一態様に係るロボット制御装置が、前記ロボットに対しての前記負荷パラメータの推定を行う際に推奨される予め決められた推奨推定条件を格納する記憶部と、前記ユーザによって入力された前記推定条件の適否を、前記推奨推定条件に基づいて判定する条件判定部と、をさらに備え、前記条件判定部が適していると判断した前記推定条件のみが、前記パラメータ推定部に入力される構成としてもよい。
【００１２】
この構成によれば、記憶部に、ロボットに対しての前記負荷パラメータの推定を行う際に推奨される予め決められた推奨推定条件が格納される。そして、条件判定部によって、ユーザによって入力された推定条件の適否が、推奨推定条件に基づいて判定される。そして、条件判定部によって適していると判断された推定条件のみが、パラメータ推定部に入力される。
【００１３】
このようにすることで、ロボットに推定動作を行わせる前に、条件判定部において、精度の高い負荷パラメータ推定を行うことが期待できる推定条件を選別することができる。そのため、精度の高い負荷パラメータ推定を行うことができないような推定条件下において、実機であるロボットに無駄な推定動作をさせる必要がなくなる。結果として、負荷パラメータの推定にかかる時間の削減を図ることができる。
【００１４】
このロボット制御装置において、前記条件判定部において、前記ユーザによって入力された前記推定条件が適していないと判断された場合に、前記通知部が、前記ユーザに警告を通知する構成としてもよい。
【００１５】
このようにすることで、ロボットに推定動作を行わせる前に、精度の高い負荷パラメータ推定を行うことが期待できる推定条件をロボット制御装置に入力して、再度上述の処理を実行させることをユーザに促すことができる。
【発明の効果】
【００１６】
本発明によれば、制御性の悪化や衝突の誤検出のような問題が予期せずに起こることを防止できるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】本発明の第一の実施形態に係るロボット制御装置の概略構成を示す図である。
【図２】図１に示されるロボット制御装置で実行される処理を示すフローチャートである。
【図３】本発明の第二の実施形態に係るロボット制御装置の概略構成を示す図である。
【図４】図３に示されるロボット制御装置で実行される処理を示すフローチャートである。
【図５】図４に示されるフローチャートにおける条件判定の処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
（第一の実施形態）
以下、本発明の第一の実施形態に係るロボット制御装置の実施形態について、図面を参照して詳細に説明する。
【００１９】
本実施形態のロボット制御装置１は、互いにバスを介して接続された、不図示の、ＣＰＵ(Central  Processing  Unit）と、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）等の主記憶装置と、ＨＤＤ（Hard  Disk  Drive）等の補助記憶装置と、キーボード等の入力装置と、モニタ等の出力装置と、ロボット等の外部機器との間で種々のデータのやりとりを行う外部インタフェース等を備えている。補助記憶装置には、各種プログラムが格納されており、ＣＰＵが補助記憶装置からプログラムをＲＡＭ等の主記憶装置に読み出し、実行することにより、種々の処理が実現される。
【００２０】
図１に示されるように、本実施形態に係るロボット制御装置１は、ＣＰＵによって実行される機能ブロックとして、パラメータ推定部１１と、トルク算出部１２と、通知部１３と、を備えている。
パラメータ推定部１１は、ロボット２と、トルク算出部１２とに接続されている。トルク算出部１２は、ロボット２と、パラメータ推定部１１とに接続されている。通知部１３は、トルク算出部１２に接続されている。
【００２１】
パラメータ推定部１１は、ユーザによって入力された推定を行うための条件（以下、推定条件という。）のもとで、実機であるロボット２に特定の動作（推定動作）をさせることにより、ロボット２に取り付けられた負荷３の負荷パラメータの推定を行うように構成されている。また、パラメータ推定部１１は、トルク算出部１２に対し、負荷パラメータの推定を行っている旨の通知をするように構成されている。
【００２２】
推定条件としては、推定を行う際のロボット２の位置・姿勢、動作範囲、動作速度・加速度が入力される。また、負荷パラメータのうち、負荷３の重量等、既知のパラメータがある場合には、その既知のパラメータも入力される。位置・姿勢としては、推定動作の基点となる軸の位置・姿勢を画定するための軸角度が入力される。動作範囲としては、推定動作の始点及び終点を示す軸角度が入力される。図１に示される例では、入力された推定条件に基づいて、第４軸を推定動作の基点として、先端の２軸を動かすことによってパラメータ推定のための推定動作をロボット２に行わせている。なお、負荷パラメータの推定手法としては、公知の手法を用いることができる。
【００２３】
トルク算出部１２は、パラメータ推定部１１から負荷パラメータの推定を行っている旨の通知がある間、ロボット２に備えられた、推定動作で稼働中の各関節の動作トルクを算出するように構成されている。具体的には、動作トルクは、各関節のモータに流れる電流値を測定することによって算出される。
【００２４】
通知部１３は、トルク算出部１２で算出された動作トルクの最大値と最小値の差が所定の閾値以下の場合にのみ、ユーザに対して、モニタ等を介して警告を通知するように構成されている。閾値は、定格トルクに対する割合として、経験的に予め決められるものである。例えば、閾値を定格トルクの５０％とした場合には、動作トルクの最大値と最小値の差が定格トルクの５０％以下であれば、ユーザに対して警告が通知される。
【００２５】
次に、上記構成を備えるロボット制御装置１において実行される処理について、図１及び図２を参照しながら説明する。
まず、ユーザによって推定条件が入力される（図２のステップＳＡ１）。そして、パラメータ推定部１１において、入力された推定条件のもとでロボット２を動作させて、ロボット２に取り付けられた負荷３の負荷パラメータの推定が行われる（図２のステップＳＡ２）。次に、トルク算出部１２において、パラメータ推定中に動作させているロボット２の各関節に備えられるモータに流れる電流値が測定され、測定された電流値に基づいて、各関節の動作トルクが算出される（図２のステップＳＡ３）。続いて、通知部１３において、算出された動作トルクの最大値である最大トルクと最小値である最小トルクの差が所定の閾値以下であるか否かが判断される（図２のステップＳＡ４）。そして、最大トルクと最小トルクの差が所定の閾値以下の場合には、通知部１３において、ユーザに対して警告が通知される（図２のステップＳＡ５）。
【００２６】
このように、最大トルクと最小トルクが所定の閾値以下の場合には、動作トルクの変化が少なく、ロボット２の推定動作における姿勢変化も少ないため、推定された負荷パラメータが十分な精度を有していないと予測できる。そこで、このような場合には、上述のようにユーザに対して警告を通知することで、制御性の悪化や衝突の誤検出のような問題が予期せずに起こることを未然に防止できる。
【００２７】
警告を通知されたユーザは、制御性の悪化や衝突の誤検出のような問題が起こる可能性があることを予期した上で、動作に余裕を持たせてロボット２を使用してもよいし、精度の高い負荷パラメータ推定を行うことが期待できる推定条件をロボット制御装置１に入力して、再度上述の処理を実行させてもよい。
【００２８】
（第二の実施形態）
以下、本発明の第二の実施形態に係るロボット制御装置の実施形態について、図面を参照して詳細に説明する。なお、以下の説明において、パラメータ推定部１１及びトルク算出部１２については上述の第一の実施形態と同じ構成であるため、同一の符号を付し、その説明を省略する。
【００２９】
本実施形態のロボット制御装置１０は、互いにバスを介して接続された、不図示の、ＣＰＵ(Central  Processing  Unit）と、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）等の主記憶装置と、ＨＤＤ（Hard  Disk  Drive）等の補助記憶装置と、キーボード等の入力装置と、モニタ等の出力装置と、ロボット等の外部機器との間で種々のデータのやりとりを行う外部インタフェース等を備えている。補助記憶装置には、各種プログラムが格納されており、ＣＰＵが補助記憶装置からプログラムをＲＡＭ等の主記憶装置に読み出し、実行することにより、種々の処理が実現される。
【００３０】
図３に示されるように、本実施形態に係るロボット制御装置１０は、ＣＰＵによって実行される機能ブロックとして、パラメータ推定部１１と、トルク算出部１２と、記憶部１０１と、条件判定部１０２と、通知部１０３と、を備えている。
【００３１】
記憶部１０１は、条件判定部１０２に接続されている。条件判定部１０２は、記憶部１０１と、パラメータ推定部１１と通知部１０３とに接続されている。通知部１０３は、トルク算出部１２と、条件判定部１０２とに接続されている。
【００３２】
記憶部１０１は、上述の主記憶装置や補助記憶装置の一部によって構成されており、ロボット２に取り付けられた負荷３の負荷パラメータの推定を行う際に推奨される予め決められた推奨推定条件を格納するように構成されている。推奨推定条件とは、要求される推定精度で負荷パラメータを推定するのに推奨される推定条件であり、ロボット２の動作性能及び実験結果等から予め決定されたものである。
【００３３】
条件判定部１０２は、ユーザによって入力された推定条件のもとでパラメータ推定が行われた場合に、十分な精度で負荷パラメータを推定することができるか否かを、記憶部１０１に格納された推奨推定条件に基づいて、パラメータ推定が実際に行われる前に判定するように構成されている。また、条件判定部１０２は、十分な精度で負荷パラメータを推定できると判断した場合にのみ、入力された推定条件をパラメータ推定部１１に引き渡すように構成されている。また、条件判定部１０２は、十分な精度で負荷パラメータを推定できないと判定した場合には、その判定結果を通知部１０３に通知するように構成されている。
【００３４】
通知部１０３は、条件判定部１０２からの判定結果に応じて、ユーザに対して、モニタ等を介して警告を通知するように構成されている。また、通知部１０３は、第一の実施形態の通知部１３と同様に、トルク算出部１２で算出された動作トルクの最大値と最小値の差が所定の閾値以下の場合にのみ、ユーザに対して、モニタ等を介して警告を通知するように構成されている。
【００３５】
次に、上記構成を備えるロボット制御装置１０において実行される処理について、図３から図５を参照しながら説明する。
まず、ユーザによって推定条件が入力されると（図４のステップＳＡ１）、条件判定部１０２において、入力された推定条件が、十分な精度で負荷パラメータを推定することができる条件であるか否かが判定される（図４のステップＳＢ１）。
【００３６】
ステップＳＢ１では、具体的には、図５に示されるように、まず、入力された推定条件下でロボット２に推定動作を行わせた場合に、動作範囲内で負荷３に対する重力の方向が変化するか否か、すなわち、動作時の回転軸が重力の方向と一定以上ずれているか否かが判断される（図５のステップＳＢ１１）。動作範囲内で負荷３に対する重力の方向が変化しないと判断された場合には、通知部１０３において、ユーザに対し警告を通知し（図４のステップＳＢ２）、処理を終了する。
【００３７】
動作範囲内で負荷３に対する重力の方向が変化すると判断された場合には、続いて、負荷３の質量が既知か否か、すなわち、入力された推定条件の中に、負荷３の質量が含まれているか否かが判断される（図５のステップＳＢ１２）。
【００３８】
負荷３の質量が既知ではない場合には、続いて、入力された推定条件下でロボット２に推定動作を行わせた場合に、一定以上の速度・加速度が見込まれるか否か、すなわち、入力された推定条件における速度・加速度が、記憶部１０１内に格納された推奨推定条件における速度・加速度以上であるか否かが判断される（図５のステップＳＢ１４）。
【００３９】
一定以上の速度・加速度が見込まれないと判断された場合には、通知部１０３において、ユーザに対し警告を通知し（図４のステップＳＢ２）、処理を終了する。一定以上の速度・加速度が見込まれると判断された場合には、入力された推定条件で、パラメータ推定が行われる（図４のステップＳＡ２）。
【００４０】
負荷３の質量が既知の場合には、続いて、入力された推定条件下でロボット２に推定動作を行わせた場合に、一定以上の動作範囲があるか否か、すなわち、入力された推定条件における動作範囲が、記憶部１０１内に格納された推奨推定条件における動作範囲以上であるか否かが判断される（図５のステップＳＢ１３）。
【００４１】
一定以上の動作範囲がないと判断された場合には、通知部１０３において、ユーザに対し警告を通知し（図４のステップＳＢ２）、処理を終了する。一定以上の動作範囲があると判断された場合には、入力された推定条件で、パラメータ推定が行われる（図４のステップＳＡ２）。
【００４２】
そして、パラメータ推定部１１において、入力された推定条件のもとでロボット２を動作させて、ロボット２に取り付けられた負荷３の負荷パラメータの推定が行われる（図４のステップＳＡ２）。次に、トルク算出部１２において、パラメータ推定中に動作させているロボット２の各関節に備えられるモータに流れる電流値が測定され、測定された電流値に基づいて、各関節の動作トルクが算出される（図４のステップＳＡ３）。続いて、通知部１３において、算出された動作トルクのうち最大トルクと最小トルクの差が所定の閾値以下であるか否かが判断される（図４のステップＳＡ４）。そして、最大トルクと最小トルクの差が所定の閾値以下の場合には、通知部１０３において、ユーザに対して警告が通知される（図４のステップＳＢ２）。
【００４３】
このように、ロボット２に推定動作を行わせる前に、条件判定部１０２において、精度の高い負荷パラメータ推定を行うことが期待できる推定条件を選別することができる。そのため、精度の高い負荷パラメータ推定を行うことができないような推定条件下において、実機であるロボット２に無駄な推定動作をさせる必要がなくなる。結果として、負荷パラメータの推定にかかる時間の削減を図ることができる。
【００４４】
また、最大トルクと最小トルクが所定の閾値以下の場合には、ユーザに対して警告を通知することで、制御性の悪化や衝突の誤検出のような問題が予期せずに起こることを未然に防止できる。
【００４５】
警告を通知されたユーザは、制御性の悪化や衝突の誤検出のような問題が起こる可能性があることを予期した上でロボット２を使用してもよいし、精度の高い負荷パラメータ推定を行うことが期待できる推定条件をロボット制御装置１０に入力して、再度上述の処理を実行させてもよい。
【００４６】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上述の実施形態における通知部１３，１０３では、最大トルクと最小トルクの差が所定の閾値以下の場合に、ユーザに警告を通知しているが、トルク算出部１２において測定されたモータを流れる電流値の最大値と最小値との差が所定の閾値以下の場合に、ユーザに警告を通知することとしてもよい。
【符号の説明】
【００４７】
１，１０  ロボット制御装置
２  ロボット
３  負荷
１１  パラメータ推定部
１２  トルク算出部
１３、１０３  通知部
１０１  記憶部
１０２  条件判定部
【図１】
2018114577.tif 000003
【図２】
2018114577.tif 000004
【図３】
2018114577.tif 000005
【図４】
2018114577.tif 000006
【図５】
2018114577.tif 000007