(57)【要約】【課題】自動機械の設置形態を判定することが可能な設置形態判定装置を提供する。【解決手段】設置形態判定装置は、サーボモータ３５により駆動される少なくとも一つの軸を有する自動機械２に適用可能な複数の設置形態のうちの設定された設置形態において自動機械２の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得する推定トルク取得部４１と、静止状態を維持するのにサーボモータ３５によって実際に付与されている実トルクを算出する実トルク算出部４２と、設定された設置形態に対応する推定トルクと実トルクとの差に基づいて、設定された設置形態と自動機械２の実際の設置形態とが異なるか否かを判定する判定部４３とを有する。【選択図】図４
2019181654.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のうちの設定された設置形態において前記自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得する推定トルク取得部と、
前記静止状態を維持するのに前記サーボモータによって実際に付与されている実トルクを算出する実トルク算出部と、
前記設定された設置形態に対応する前記推定トルクと前記実トルクとの差に基づいて、前記設定された設置形態と前記自動機械の実際の設置形態とが異なるか否かを判定する判定部と、
を有する設置形態判定装置。
【請求項２】
前記判定部は、前記推定トルクと前記実トルク間の差の絶対値が所定の閾値以上となる場合に、前記設定された設置形態と前記自動機械の実際の設置形態とが異なると判定する、請求項１に記載の設置形態判定装置。
【請求項３】
前記判定部は、前記推定トルクに対応する前記サーボモータの出力方向と、前記実トルクに対応する前記サーボモータの出力方向とが異なる場合に、前記設定された設置形態と前記自動機械の実際の設置形態とが異なると判定する、請求項１に記載の設置形態判定装置。
【請求項４】
前記自動機械は、サーボモータにより駆動される軸を複数有し、
前記判定部は、複数の前記軸のうち、前記推定トルクと前記実トルク間の差の絶対値が所定の閾値以上となる軸の数、あるいは、前記推定トルクに対応する前記サーボモータの出力方向と、前記実トルクに対応する前記サーボモータの出力方向とが異なる軸の数が所定数以上となる場合に、前記設定された設置形態と前記自動機械の実際の設置形態とが異なると判定する、請求項１〜３の何れか一項に記載の設置形態判定装置。
【請求項５】
前記設定された設置形態と前記自動機械の実際の設置形態とが異なるか否かの判定結果を通知する通知部をさらに有する、請求項１〜４の何れか一項に記載の設置形態判定装置。
【請求項６】
サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のうちの設定された設置形態において前記自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得し、
前記静止状態を維持するのに前記サーボモータによって実際に付与されている実トルクを算出し、
前記設定された設置形態に対応する前記推定トルクと前記実トルクとの差に基づいて、前記設定された設置形態と前記自動機械の実際の設置形態とが異なるか否かを判定する、
ことをコンピュータに実行させるための設置形態判定用コンピュータプログラム。
【請求項７】
サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のうちの設定された設置形態において前記自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得し、
前記静止状態を維持するのに前記サーボモータによって実際に付与されている実トルクを算出し、
前記設定された設置形態に対応する前記推定トルクと前記実トルクとの差に基づいて、前記設定された設置形態と前記自動機械の実際の設置形態とが異なるか否かを判定する、
ことをコンピュータに実行させるための設置形態判定用コンピュータプログラムが記録された記録媒体。
【請求項８】
サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のそれぞれについて、当該設置形態において前記自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得する推定トルク取得部と、
前記静止状態を維持するのに前記サーボモータによって実際に付与されている実トルクを算出する実トルク算出部と、
前記複数の設置形態のそれぞれの前記推定トルクと、前記実トルクとの間の差の絶対値を算出し、前記複数の設置形態のうち、前記差の絶対値が最小となる設置形態を前記自動機械の実際の設置形態と推定する推定部と、
を有する設置形態判定装置。
【請求項９】
前記推定部は、前記複数の設置形態のうちの所定の設置形態についての前記推定トルクに対する前記実トルクの比に基づいて、前記自動機械が前記所定の設置形態に従って設置されたときに対する前記自動機械の傾斜角を求める、請求項８に記載の設置形態判定装置。
【請求項１０】
サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のそれぞれについて、当該設置形態において前記自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得し、
前記静止状態を維持するのに前記サーボモータによって実際に付与されている実トルクを算出し、
前記複数の設置形態のそれぞれの前記推定トルクと、前記実トルクとの間の差の絶対値を算出し、前記複数の設置形態のうち、前記差の絶対値が最小となる設置形態を前記自動機械の実際の設置形態と推定する、
ことをコンピュータに実行させるための設置形態判定用コンピュータプログラム。
【請求項１１】
サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のそれぞれについて、当該設置形態において前記自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得し、
前記静止状態を維持するのに前記サーボモータによって実際に付与されている実トルクを算出し、
前記複数の設置形態のそれぞれの前記推定トルクと、前記実トルクとの間の差の絶対値を算出し、前記複数の設置形態のうち、前記差の絶対値が最小となる設置形態を前記自動機械の実際の設置形態と推定する、
ことをコンピュータに実行させるための設置形態判定用コンピュータプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、自動機械の設置形態を判定する設置形態判定装置、設置形態判定用コンピュータプログラム及びそのような設置形態判定用コンピュータプログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
アームなどの可動部を有し、その可動部がサーボモータを用いて駆動されるロボットまたは工作機械といった自動機械を適切に制御するために、制御対象となる可動部の動特性に影響を与える情報が正しく設定されることが求められる。そこで、予め設定された負荷情報に基づいて計算される、自動機械の姿勢を保持するのに必要な推定トルクと、姿勢を保持するのに実際に付与されている実トルクとの誤差に基づいて、負荷情報が適切に設定されているか否かを判定する技術が提案されている（例えば、特許文献１を参照）。
【０００３】
また、ロボットに静止姿勢をとらせた状態での各軸値、トルク指令などに基づいてロボットの姿勢と各軸のトルクを推定し、その推定結果を利用して負荷重量を推定する技術が提案されている（例えば、特許文献２を参照）。さらに、ワーク重量を想定せずにモータに向けて送られたトルク指令と把持されたワークの重量に応答して現実に生じているトルクとの差異に基づいてワークの重量及び重心位置を推定する技術が提案されている（例えば、特許文献３を参照）。さらにまた、把持する重量物の種類に応じて重量物把持装置が台車進行方向前後にスライド移動することで適切な位置に位置決めされる技術が提案されている（例えば、特許文献４を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−８７７００号公報
【特許文献２】特開平９−９１００４号公報
【特許文献３】特開２０１１−２３５３７４号公報
【特許文献４】特開２００４−３４５０３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
自動機械では、重力により影響を受ける軸では、設置形態に応じて、重力による負荷モーメントが変化する。そのため、このような自動機械を適切に制御するためには、設置形態に応じて設定された自動機械の制御情報が用いられることがある。そこで、自動機械の設置形態を表す情報を正しく設定することが求められる。
【０００６】
一つの側面では、自動機械の設置形態を判定することが可能な設置形態判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、設置形態判定装置が提供される。この設置形態判定装置は、サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のうちの設定された設置形態においてその自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得する推定トルク取得部と、静止状態を維持するのにサーボモータによって実際に付与されている実トルクを算出する実トルク算出部と、設定された設置形態に対応する推定トルクと実トルクとの差に基づいて、設定された設置形態と自動機械の実際の設置形態とが異なるか否かを判定する判定部とを有する。
【０００８】
他の実施形態によれば、設置形態判定用コンピュータプログラムが提供される。この設置形態判定用コンピュータプログラムは、サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のうちの設定された設置形態において自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得し、静止状態を維持するのにサーボモータによって実際に付与されている実トルクを算出し、設定された設置形態に対応する推定トルクと実トルクとの差に基づいて、設定された設置形態と自動機械の実際の設置形態とが異なるか否かを判定する、ことをコンピュータに実行させるための命令を含む。
【０００９】
また他の実施形態によれば、設置形態判定用コンピュータプログラムが記録された記録媒体が提供される。この記録媒体に記録された設置形態判定用コンピュータプログラムは、サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のうちの設定された設置形態において自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得し、静止状態を維持するのにサーボモータによって実際に付与されている実トルクを算出し、設定された設置形態に対応する推定トルクと実トルクとの差に基づいて、設定された設置形態と自動機械の実際の設置形態とが異なるか否かを判定する、ことをコンピュータに実行させるための命令を含む。
【００１０】
さらに他の実施形態によれば、設置形態判定装置が提供される。この設置形態判定装置は、サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のそれぞれについて、その設置形態において自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得する推定トルク取得部と、静止状態を維持するのにサーボモータによって実際に付与されている実トルクを算出する実トルク算出部と、複数の設置形態のそれぞれの推定トルクと、実トルクとの間の差の絶対値を算出し、複数の設置形態のうち、差の絶対値が最小となる設置形態を自動機械の実際の設置形態と推定する推定部とを有する。
【００１１】
さらに他の実施形態によれば、設置形態判定用コンピュータプログラムが提供される。この設置形態判定用コンピュータプログラムは、サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のそれぞれについて、その設置形態において自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得し、静止状態を維持するのにサーボモータによって実際に付与されている実トルクを算出し、複数の設置形態のそれぞれの推定トルクと、実トルクとの間の差の絶対値を算出し、複数の設置形態のうち、差の絶対値が最小となる設置形態を自動機械の実際の設置形態と推定する、ことをコンピュータに実行させるための命令を含む。
【００１２】
さらに他の実施形態によれば、設置形態判定用コンピュータプログラムが記録された記録媒体が提供される。この記録媒体に記録された設置形態判定用コンピュータプログラムは、サーボモータにより駆動される少なくとも一つの軸を有する自動機械に適用可能な複数の設置形態のそれぞれについて、その設置形態において自動機械の姿勢が保たれる静止状態を維持するのに必要な推定トルクを取得し、静止状態を維持するのにサーボモータによって実際に付与されている実トルクを算出し、複数の設置形態のそれぞれの推定トルクと、実トルクとの間の差の絶対値を算出し、複数の設置形態のうち、差の絶対値が最小となる設置形態を自動機械の実際の設置形態と推定する、ことをコンピュータに実行させるための命令を含む。
【発明の効果】
【００１３】
一つの側面によれば、自動機械の設置形態を判定することができる。
【図面の簡単な説明】
【００１４】
【図１】設置形態判定装置の一つの実施形態による制御装置を含む、ロボットシステムの概略構成図である。
【図２Ａ】ロボットが床置き設置される場合における、重力の方向を表す図である。
【図２Ｂ】ロボットが天吊り設置される場合における、重力の方向を表す図である。
【図２Ｃ】ロボットが傾斜角設置される場合における、重力の方向を表す図である。
【図３】設置形態判定装置の一つの実施形態による制御装置の概略構成図である。
【図４】制御装置が有するプロセッサの機能ブロック図である。
【図５】設置形態判定処理の動作フローチャートである。
【図６】変形例による、制御装置が有するプロセッサの機能ブロック図である。
【図７】変形例による、設置形態判定処理の動作フローチャートである。
【発明を実施するための形態】
【００１５】
以下、図を参照しつつ、設置形態判定装置、及び、設置形態判定装置で利用される設置形態判定用コンピュータプログラムについて説明する。この設置形態判定装置は、重力による負荷モーメントが設置形態に応じて異なる自動機械の軸に関して、ユーザにより設定された設置形態において自動機械が静止する状態（以下、単に静止状態と呼ぶ）を維持するためにその軸に付与されるトルクの推定値（以下、推定トルクと呼ぶ）と、自動機械の静止状態を維持するためにその軸に付与される実際のトルク（以下、実トルクと呼ぶ）間の差に応じて、設定された設置形態と実際の設置形態とが異なるか否かを判定する。なお、自動機械の静止状態とは、ブレーキなどの別個の制動手段が作用していない状態において、自動機械の各関節の軸にトルクを付与するサーボモータの出力トルクによってその自動機械の姿勢が一時的に保持される状態を意味する。
【００１６】
図１は、設置形態判定装置の一つの実施形態による制御装置を含む、ロボットシステム１の概略構成図である。ロボットシステム１は、ロボット２と、ロボット２を制御する制御装置３とを有する。ロボット２は、設置形態の判定対象となる自動機械の一例である。また制御装置３は、設置形態判定装置の一例である。
【００１７】
ロボット２は、６軸の垂直多関節ロボットであり、台座１１と、回転ステージ１２と、第１のアーム１３と、バランサ１４と、第２のアーム１５と、リスト１６と、ハンド１７とを有する。回転ステージ１２、第１のアーム１３、第２のアーム１５、リスト１６及びハンド１７は、それぞれ、可動部の一例である。また、回転ステージ１２、第１のアーム１３、第２のアーム１５、リスト１６及びハンド１７のそれぞれは、それらが取り付けられる関節に設けられる軸により支持され、サーボモータがその軸を駆動することで動作する。
【００１８】
台座１１は、ロボット２が床置き設置される場合に台となる部材である。回転ステージ１２は、台座１１の一方の面（例えば、ロボット２が床置き設置される場合、台座１１の天面）に、関節２１にて、台座１１のその一方の面と直交するように設けられる軸（図示せず）を回転中心として回動可能に取り付けられる。
【００１９】
第１のアーム１３は、その一端側にて、回転ステージ１２に設けられる関節２２において回転ステージ１２に取り付けられる。本実施形態では、図１に示されるように、第１のアーム１３は、関節２２にて、台座１１の回転ステージ１２が取り付けられる面と平行に設けられる軸（図示せず）を中心として回動可能となっている。
【００２０】
バランサ１４は、回転ステージ１２に対して第１のアーム１３と対向するように固定される。さらに、バランサ１４は、その一端で、第１のアーム１３と接続される。そしてバランサ１４は、例えば、バランサ１４の内部に設けられたバネ（図示せず）またはバランサ１４の内部に充填された圧縮空気により、ロボット２の姿勢が安定するように、第１のアーム１３を引っ張る方向または第１のアーム１３を押下する方向の力（以下、バランサ力と呼ぶ）を生じさせ、そのバランサ力を第１のアーム１３に付与する。例えば、ロボット２が床置き設置される場合、バランサ１４は、第１のアーム１３を引っ張る方向のバランサ力を生じさせる。そのバランサ力により、第１のアーム１３及び第１のアーム１３から先端側に掛かる重力によるロボット２の関節２２の負荷への影響を軽減することが期待される。
【００２１】
第２のアーム１５は、その一端側にて、関節２２とは反対側の第１のアーム１３の他端側に設けられる関節２３にて第１のアーム１３に取り付けられる。本実施形態では、図１に示されるように、第２のアーム１５は、関節２３にて、台座１１の回転ステージ１２が取り付けられる面と平行に設けられる軸（図示せず）を中心として回動可能となっている。
【００２２】
リスト１６は、関節２３とは反対側の第２のアーム１５の先端にて、関節２４を介して取り付けられる。本実施形態では、リスト１６は、第２のアーム１５の長手方向と平行な軸（図示せず）を回転中心として、第２のアーム１５の長手方向と直交する面において回動可能となっている。
【００２３】
またリスト１６は、関節２５を有し、関節２５にて関節２２の軸及び関節２３の軸と平行に設けられる軸（図示せず）を回転中心として屈曲可能となっている。
【００２４】
ハンド１７は、作業対象物を把持するための把持部材であり、関節２４とは反対側のリスト１６の先端にて、関節２６を介して取り付けられる。本実施形態では、ハンド１７は、リスト１６の先端面と直交するように設けられる軸（図示せず）を回転中心として、その先端面に沿って回動可能となっている。
【００２５】
なお、設置形態判定処理の対象となる自動機械は、図１に示されるロボット２に限られず、サーボモータにより駆動される軸及びその軸にて支持される可動部を少なくとも一つ有する自動機械であればよい。
【００２６】
制御装置３は、通信回線４を介してロボット２と接続され、ロボット２のそれぞれの関節に設けられる軸を駆動するサーボモータに制御指令を出力することで、ロボット２の位置及び姿勢を制御する。
【００２７】
図２Ａ〜図２Ｃを参照しつつ、ロボット２の設置形態と重力による負荷モーメントとの対応関係について説明する。図２Ａは、ロボット２が床置き設置される場合における、重力の方向を表す図である。また図２Ｂは、ロボット２が天吊り設置される場合における、重力の方向を表す図である。そして図２Ｃは、ロボット２が傾斜角設置される場合における、重力の方向を表す図である。
【００２８】
図２Ａに示されるように、ロボット２が床置き設置される場合、ロボット２の各部には、重力により、床面側、すなわち、台座１１側へ向かう方向に重力が掛かる。例えば、第１のアーム１３及び第１のアーム１３よりも先端側の各部には、矢印２０１に示されるように台座１１側へ向かう方向に重力が掛かる。そのため、第１のアーム１３を支持する関節２２の軸には、図２Ａ上で時計回りの方向の負荷モーメントが掛かる。また、バランサ１４は、矢印２０２に示される方向に沿って第１のアーム１３を引っ張るバランサ力を第１のアーム１３に付与して、第１のアーム１３及び第１のアーム１３よりも先端側の各部に掛かる重力による影響を軽減する。したがって、ロボット２の静止状態を維持するために、関節２２の軸には、第１のアーム１３及び第１のアーム１３よりも先端側の各部が受ける重力による負荷モーメントからバランサ１４によるバランサ力を減じたものを相殺するトルクが与えられることが求められる。
【００２９】
図２Ｂに示されるように、ロボット２が天吊り設置される場合、ロボット２の各部には、重力により、台座１１側から離れる方向に重力が掛かる。例えば、第１のアーム１３及び第１のアーム１３よりも先端側の各部には、矢印２１１に示されるように台座１１から離れる方向に重力が掛かる。そのため、第１のアーム１３を支持する関節２２の軸には、ロボット２が床置き設置される場合の負荷モーメントの向きと逆回りの方向の負荷モーメントが掛かる。この場合、バランサ１４は、矢印２１２に示される方向に沿って第１のアーム１３を押圧するバランサ力を第１のアーム１３に付与して、第１のアーム１３及び第１のアーム１３よりも先端側の各部に掛かる重力による影響を軽減することが望ましい。したがって、ロボット２が天吊り設置される場合においてバランサ１４が生じるバランサ力が付与される方向は、ロボット２が床置き設置される場合においてバランサ１４が生じるバランサ力が付与される方向とは逆向きとなることが好ましい。さらに、ロボット２の静止状態を維持するために、ロボット２が天吊り設置される場合において関節２２の軸に付与されるトルクの回転の向きに関する出力方向（以下、単に出力方向と呼ぶ）も、ロボット２が床置き設置される場合において関節２２の軸に付与されるトルクの出力方向と逆向きとなることが好ましい。
【００３０】
図２Ｃに示される、ロボット２が、床置き設置される場合に床面と面する台座１１の面が床面に対して傾くように設置される、いわゆる傾斜角設置が適用される場合も、矢印２２１に示されるように、ロボット２の各部には床面へ向かう方向の重力が掛かる。しかし、この場合、ロボット２を基準とした場合に重力が掛かる方向は、床置き設置あるいは天吊り設置された場合に重力が掛かる方向に対して、ロボット２の傾斜角に相当する角度をなす。したがって、ロボット２が傾斜角設置される場合において、ロボット２の静止状態を維持するために、ロボット２の関節２２の軸に付与されるトルクは、ロボット２が床置き設置される場合あるいは天吊り設置される場合における、ロボット２の関節２２の軸に付与されるトルクと異なる。なお、ロボット２に適用可能な傾斜角の範囲は、例えば、ロボット２の仕様などに応じて予め設定されてもよい。
【００３１】
このように、ロボット２の設置形態に応じて、ロボット２の静止状態を維持するために必要とされる、関節２２の軸に付与されるトルクの大きさ、または、向きが異なる。ロボット２の他の関節の軸についても同様に、ロボット２の静止状態を維持するために必要とされる、付与されるトルクの大きさまたは向きは、設置形態に応じて異なる。そこで、制御装置３は、ロボット２についてユーザにより設定された設置形態において、ロボット２の静止状態を維持するために必要な推定トルクと、ロボット２の静止状態を維持するためにサーボモータから出力される実トルクとを比較することで、設定された設置形態と実際の設置形態とが異なるか否かを判定できる。
【００３２】
図３は、制御装置３の概略構成図である。制御装置３は、ユーザインターフェース３１と、通信インターフェース３２と、メモリ３３と、プロセッサ３４とを有する。
【００３３】
ユーザインターフェース３１は、通知部の一例であり、例えば、タッチパネルを有する。そしてユーザインターフェース３１は、ユーザによる操作に応じた操作信号、例えば、設置形態の設定に関する信号を生成し、その操作信号をプロセッサ３４へ出力する。またユーザインターフェース３１は、プロセッサ３４から受け取った表示用の信号に従って、設置形態の判定結果などを表示する。なお、ユーザインターフェース３１は、操作信号入力用のキーボードあるいはマウスといった入力機器と、液晶ディスプレイといった表示装置とを別個に有していてもよい。
【００３４】
通信インターフェース３２は、例えば、制御装置３を通信回線４と接続するための通信インターフェース及び通信回線４を介した信号の送受信に関する処理を実行するための回路などを含む。そして通信インターフェース３２は、例えば、プロセッサ３４から受け取った、ロボット２のサーボモータ３５に対するトルク指令値などを、通信回線４を介してロボット２へ出力する。また通信インターフェース３２は、ロボット２から、通信回線４を介して、サーボモータ３５のフィードバック電流の値など、サーボモータ３５の動作状況を表す情報を受信して、その情報をプロセッサ３４へわたす。なお、図３では、代表的に一つのサーボモータ３５が図示されているが、ロボット２は、関節ごとに、その関節の軸を駆動するサーボモータを有してもよい。
【００３５】
メモリ３３は、記憶部の一例であり、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。さらに、メモリ３３は、半導体メモリカード、ハードディスク、あるいは光記憶媒体といった記憶媒体及びその記憶媒体にアクセスする装置を有していてもよい。
【００３６】
メモリ３３は、制御装置３のプロセッサ３４で実行される、ロボット２の制御用の各種プログラム、及び、設置形態判定処理用のコンピュータプログラムなどを記憶する。また、メモリ３３は、ロボット２の設置形態ごとの制御情報（例えば、設置形態ごとのロボット２を静止させる際のサーボモータ３５の出力方向及びトルク、設置形態ごとのサーボモータ３５の回転許容範囲、各可動部を動作させる際の重力による負荷モーメントに応じたトルクの補正情報）、設置形態の判定に用いられるロボット２の各関節の軸における、ロボット２の静止状態を維持するために必要な推定トルク、及び、ユーザにより設定された、ロボット２の設置形態を指定する情報を記憶する。さらに、メモリ３３は、ロボット２の動作中においてロボット２から得られるサーボモータ３５の動作状況を表す情報、設置形態判定処理の途中において生成される各種のデータ、及び、設置形態判定処理の結果などを記憶する。
【００３７】
各関節の軸に付与される推定トルクは、例えば、ロボット２の設置形態と、ロボット２が設置される場合における、その設置形態での所定の姿勢と、ロボット２のその関節及びその関節よりも先端部分の各部の力学的パラメータ（支持される軸からの長さ、質量、摩擦係数などであり、これらのパラメータは既知である）と、バランサ１４により付与されるバランサ力と、ロボット２に付与される負荷の質量及び重心などの負荷情報などに基づいて、公知の手法に従って算出される。
【００３８】
あるいは、各設置形態についての各関節の軸に付与される推定トルクは、ロボット２がその設置形態に従って実際に設置されたときに、その関節の軸にロボット２を静止させるためのトルクを付与するサーボモータ３５に対するトルク指令から予め計算されてもよい。なお、推定トルクは、サーボモータ３５の出力方向に応じて正負が異なるように表されてもよい。例えば、ロボット２の静止状態を維持するためのトルクを与える、サーボモータ３５の出力方向が正転方向である場合、推定トルクは正の値で表され、一方、ロボット２の静止状態を維持するためのトルクを与える、サーボモータ３５の出力方向が逆転方向である場合、推定トルクは負の値で表されてもよい。
【００３９】
プロセッサ３４は、制御部の一例であり、例えば、Central Processing Unit(CPU)及びその周辺回路を有する。さらにプロセッサ３４は、数値演算用のプロセッサを有していてもよい。そしてプロセッサ３４は、ロボットシステム１全体を制御する。またプロセッサ３４は、ロボット２の設置形態の設定に関する処理、及び、設置形態判定処理を実行する。
【００４０】
設置形態の設定に関する処理として、プロセッサ３４は、ロボット２が工場の生産ラインなどに設置される際、例えば、ユーザインターフェース３１に、ロボット２について適用可能な複数の設置形態を表示させる。ユーザが、ユーザインターフェース３１を介して、表示された各設置形態の中から、ロボット２の設置形態を選択する操作を実行すると、ユーザインターフェース３１は、その操作に応じた操作信号を生成してプロセッサ３４へ出力し、プロセッサ３４は、受信した操作信号に従って、ユーザにより設定された設置形態を指定する情報（例えば、設定された設置形態と他の設置形態とが互いに異なる値を持つフラグ）をメモリ３３に保存する。
【００４１】
設置形態の設定に関する処理に引き続いて、あるいは、設置形態の設定に関する処理が行われた後、ロボット２の設置が正常か否かを確認するためにロボット２が起動される際、あるいは、ロボット２が作業するときの最初の起動時、あるいはまた、制御装置３が起動される度に、プロセッサ３４は、メモリ３３から読み込んだ設置形態判定用コンピュータプログラムに従って設置形態判定処理を実行する。
【００４２】
図４は、設置形態判定処理に関する、プロセッサ３４の機能ブロック図である。プロセッサ３４は、推定トルク読込部４１と、実トルク算出部４２と、判定部４３とを有する。プロセッサ３４が有するこれらの各部は、例えば、プロセッサ３４上で実行されるコンピュータプログラムにより実現される機能モジュールである。あるいは、これらの各部は、プロセッサ３４の一部に実装される専用の演算回路として実装されてもよい。
【００４３】
推定トルク読込部４１は、推定トルク取得部の一例であり、ロボット２の設置形態の判定に利用される関節の軸について、ユーザにより設定された設置形態を表す情報を参照して、その設定された設置形態における、その関節の軸についての推定トルクの値をメモリ３３から読み込む。なお、設置形態の判定に利用される関節の軸は、例えば、各設置形態について、その関節の軸に掛かる重力による負荷モーメントの絶対値が相対的に大きい軸であることが好ましい。さらに、設置形態の判定が行われるロボット２の姿勢は、設置形態の判定に利用される関節の軸にて支持される部分のその軸からの延伸方向が重力が掛かる方向と平行でないように設定されることが好ましい。例えば、ロボット２では、設置形態ごとに定められた姿勢のそれぞれにおいて延伸方向が異なり、かつ、その延伸方向と重力が掛かる方向とが異なる、第１のアーム１３を支持する関節２２の軸が、設置形態の判定に利用される関節の軸として予め設定される。また、第２のアーム１５を支持する関節２３の軸、あるいは、リスト１６の関節２５の軸が、設置形態の判定に利用される軸として予め設定されてもよい。これにより、設置形態に応じてその関節の軸に付与される、ロボット２の静止状態を維持するためのトルクの値または向きが異なるので、制御装置３は、ロボット２の設置形態を正確に判定できる。
【００４４】
推定トルク読込部４１は、読み込んだ推定トルクの値を判定部４３へわたす。
【００４５】
実トルク算出部４２は、ロボット２の設置形態の判定に利用される関節の軸について、ロボット２を実際に静止状態に保つためにサーボモータ３５から出力される実トルクを算出する。なお、実トルクを算出する際、サーボモータ３５は、例えば、設定形態判定処理用のコンピュータプログラムに従って、プロセッサ３４により静止状態に保つことが指示される。例えば、実トルク算出部４２は、実トルクを、ロボット２の設置形態の判定に利用される関節の軸にトルクを付与するサーボモータ３５のフィードバック電流及びサーボモータ３５のトルク定数、及び、その関節の軸及びその軸により支持される部分の力学的パラメータといったトルク関連の情報に基づいて、公知の手法に従って算出すればよい。なお、トルク定数は状況に応じて変化するので、実トルク算出部４２は、別途取得される温度情報などに基づいてトルク定数を適宜調整してもよい。また、実トルク算出部４２は、ロボット２の動作中において、サーボモータ３５のフィードバック電流などのトルク関連の情報に基づいて、その動作中におけるロボット２の姿勢ごとの実トルクを算出してもよい。これにより、制御装置３は、ロボット２が動作している間にも、ロボット２の設置形態を判定することができる。
【００４６】
また、実トルク算出部４２は、サーボモータ３５に対するトルク指令に基づいて実トルクを算出してもよい。このように、実トルク算出部４２は、サーボモータ３５の動作情報またはサーボモータ３５に対するトルク指令を利用して実トルクを算出することで、実トルクを求めるためのセンサを別個に設けなくてよい。
なお、サーボモータ３５から出力されるトルクを測定するためのトルクセンサが設けられる場合には、実トルク算出部４２は、そのトルクセンサによる測定結果に基づいて、実トルクを求めてもよい。この場合には、実トルク算出部４２は、トルク定数の変動による影響を受けることなく、実トルクを正確に求めることができる。
【００４７】
なお、実トルクは、推定トルクと同様に、サーボモータの出力方向に応じて正負が異なるように表されてもよい。例えば、ロボット２の静止状態を維持するためのトルクを与える、サーボモータ３５の出力方向が正転方向である場合、実トルクは正の値で表され、一方、ロボット２の静止状態を維持するためのトルクを与える、サーボモータ３５の出力方向が逆転方向である場合、実トルクは負の値で表されてもよい。
実トルク算出部４２は、求めた実トルクを判定部４３へわたす。
【００４８】
判定部４３は、ロボット２の設置形態の判定に利用される関節の軸について、実トルクと推定トルクの差の絶対値を実トルクと推定トルク間の誤差として算出する。そして判定部４３は、実トルクと推定トルク間の誤差が所定の閾値以上である場合、設定された設置形態に関する情報が誤っている、あるいは、ロボット２が設定通りに設置されていない、すなわち、ロボット２の実際の設置形態が、設定された設置形態と異なっていると判定する。一方、判定部４３は、実トルクと推定トルク間の誤差が所定の閾値未満である場合、設定された設置形態に関する情報が正しい、すなわち、ロボット２の実際の設置形態が、設定された設置形態と同一であると判定する。なお、所定の閾値は、例えば、設定された設置形態についての推定トルクの最大許容誤差とすることができる。これにより、判定部４３は、設定された設置形態と実際の設置形態とが異なるか否かを正確に判定できる。
【００４９】
判定部４３は、判定結果を表す情報をユーザインターフェース３１に表示させる。なお、判定部４３は、設定された設置形態に関する情報が誤っているとする判定結果が得られた場合、例えば、判定結果を表す情報を点滅表示させるといった、ユーザの注意を惹起させるような表示態様にて、その判定結果を表す情報をユーザインターフェース３１に表示させてもよい。これにより、判定部４３は、ユーザにより設定された設置形態に関する情報が誤っている場合に、その旨をユーザに気付かせ易くして、誤って設定された設置形態に関する情報に基づいてロボット２を動作させることを未然に防ぐことができる。その結果として、この制御装置３は、ロボット２が想定外の挙動をすることを防止して、安全性を高めることができる。
【００５０】
さらに、判定部４３は、設定された設置形態に関する情報が誤っているとする判定結果が得られた場合、設定された設置形態以外の各設置形態について、その設置形態における推定トルクと実トルク間の誤差を算出してもよい。そして判定部４３は、各設置形態のうち、誤差が最小となる設置形態が、ロボット２に実際に適用された設置形態として推定し、その推定された設置形態を表す情報をユーザインターフェース３１に表示させてもよい。さらに、判定部４３は、ユーザにより設定された設置形態を表す情報も推定された設置形態を表す情報とともにユーザインターフェース３１に表示させてもよい。これにより、判定部４３は、設定された設置形態が実際の設置形態と異なっていることをユーザに認知させ易くなる。
【００５１】
さらにまた、設定された設置形態に関する情報が誤っているとする判定結果が得られた場合、プロセッサ３４は、ロボット２の動作を制限させてもよい。例えば、プロセッサ３４は、ロボット２の各関節のうちの何れか一つ以上の関節について、その関節の軸にて支持される部分の可動範囲を制限してもよい。あるいは、プロセッサ３４は、ロボット２の各関節のうちの何れか一つ以上の関節の軸を駆動するサーボモータ３５からの出力トルクを所定の範囲内に制限してもよい。
これにより、制御装置３は、誤った設置形態に関する情報が用いられて事故が発生することを未然に防止できる。
【００５２】
図５は、設置形態判定処理の動作フローチャートである。プロセッサ３４は、下記の動作フローチャートに従って設置形態判定処理を実行する。
【００５３】
推定トルク読込部４１は、ロボット２の設置形態の判定に利用される関節の軸について、ユーザにより設定された設置形態における、その軸についての推定トルクの値をメモリ３３から読み込む（ステップＳ１０１）。また、実トルク算出部４２は、ロボット２の設置形態の判定に利用される関節の軸について、ロボット２を実際に静止状態に保つためにサーボモータ３５から出力される実トルクを算出する（ステップＳ１０２）。
【００５４】
判定部４３は、実トルクと推定トルク間の誤差を算出する（ステップＳ１０３）。そして判定部４３は、実トルクと推定トルク間の誤差が所定の閾値以上か否か判定する（ステップＳ１０４）。
【００５５】
実トルクと推定トルク間の誤差が所定の閾値以上である場合（ステップＳ１０４−Ｙｅｓ）、判定部４３は、設定された設置形態に関する情報が誤っている、すなわち、設定された設置形態と実際の設置形態とが異なっていると判定する。そして判定部４３は、設定された設置形態と実際の設置形態とが異なっていることを表す判定結果をユーザインターフェース３１に表示させる（ステップＳ１０５）。
【００５６】
一方、実トルクと推定トルク間の誤差が所定の閾値未満である場合（ステップＳ１０４−Ｎｏ）、判定部４３は、設定された設置形態に関する情報が正しい、すなわち、設定された設置形態と実際の設置形態とが同一であると判定する。そして判定部４３は、設定された設置形態と実際の設置形態とが同一であることを表す判定結果をユーザインターフェース３１に表示させる（ステップＳ１０６）。
ステップＳ１０５またはＳ１０６の後、プロセッサ３４は、設置形態判定処理を終了する。なお、ステップＳ１０１の処理とステップＳ１０２の処理の順序は入れ替えられてもよい。
【００５７】
以上に説明してきたように、この設置形態判定装置は、設定された設置形態に対応する、自動機械の静止状態を維持するための推定トルクと、自動機械の静止状態を実際に維持するための実トルクとの差に基づいて、設定された設置形態と実際の設置形態とが同一か否か判定する。そのため、設置形態判定装置は、自動機械の設置形態に関して設定された情報が正しいか否かを適切に判定し、その判定結果をユーザに認知させることができる。そのため、この設置形態判定装置は、ユーザの設定ミスなどに起因して、自動機械が想定外の挙動をすることを防止するとともに、事故の発生を予防することができる。
【００５８】
また、ロボット２の静止状態を維持するために、サーボモータ３５の出力方向がロボット２の設置形態ごとに異なることがある。例えば、図２Ａに示される、ロボット２が床置き設置される場合においてロボット２の静止状態を維持するための関節２２の軸を駆動するサーボモータ３５の出力方向と、図２Ｂに示される、ロボット２が天吊り設置される場合においてロボット２の静止状態を維持するための関節２２の軸を駆動するサーボモータ３５の出力方向とは、互いに逆向きとなる。
【００５９】
そこで変形例によれば、判定部４３は、ロボット２の設置形態を判定するために利用される関節の軸について、推定トルクの向きと、実トルクの向きとが互いに異なる場合に、設定されたロボット２の設置形態とロボット２の実際の設置形態とが異なると判定してもよい。この変形例によれば、判定部４３は、推定トルクの向きと実トルクの向きとを比較するだけでよいので、ロボットの設置形態に関して設定された情報が正しいか否かをより簡単に判定できる。
【００６０】
他の変形例によれば、プロセッサ３４は、ロボット２が有する複数の関節のうちの２以上の軸のそれぞれについての実トルクと推定トルク間の誤差またはトルクの向きの違いに基づいて設置形態を判定してもよい。この場合、推定トルク読込部４１は、設置形態の判定に利用される複数の関節の軸のそれぞれについて推定トルクをメモリ３３から読み込んで判定部４３にわたす。また、実トルク算出部４２は、設置形態の判定に利用される複数の関節の軸のそれぞれについて実トルクを算出し、算出した実トルクを判定部４３にわたす。そして判定部４３は、設置形態の判定に利用される複数の関節の軸のそれぞれについて、実トルクと推定トルク間の誤差を算出し、算出した誤差を所定の閾値と比較する。そして判定部４３は、複数の関節の軸のうちの所定数の軸について、誤差が所定の閾値以上となる場合に、設定された設置形態と実際の設置形態とが異なると判定してもよい。あるいは、判定部４３は、複数の関節の軸のうちの所定数の軸について、推定トルクの向きと実トルクの向きとが互いに異なる場合に、設定された設置形態と実際の設置形態とが異なると判定してもよい。なお、所定数は、例えば、１、２、あるいは、ロボット２が有する関節の数の半分に設定される。
この変形例によれば、複数の関節の軸について実トルクと推定トルク間の誤差または向きの違いが調べられるので、この設置形態判定装置は、ロボットの設置形態に関して設定された情報が正しいか否かをより正確に判定できる。
【００６１】
さらに他の変形例によれば、プロセッサ３４は、実トルクに基づいて、ロボット２の設置形態を推定してもよい。
【００６２】
図６は、この変形例による、設置形態判定処理に関する、プロセッサ３４の機能ブロック図である。プロセッサ３４は、推定トルク読込部４１と、実トルク算出部４２と、推定部４４とを有する。プロセッサ３４が有するこれらの各部は、例えば、プロセッサ３４上で実行されるコンピュータプログラムにより実現される機能モジュールである。あるいは、これらの各部は、プロセッサ３４の一部に実装される専用の演算回路として実装されてもよい。図６に示される変形例では、プロセッサ３４は、図４に示される上記の実施形態と比較して、判定部４３の代わりに推定部４４を有する点と、推定トルク読込部４１の処理の一部について相違する。そこで以下では、この相違点及び関連部分について説明する。
【００６３】
推定トルク読込部４１は、ロボット２の設置形態の判定に利用される関節の軸について、ロボット２に適用可能な設置形態のそれぞれにおける推定トルクの値をメモリ３３から読み込んで推定部４４へわたす。
【００６４】
推定部４４は、ロボット２に適用可能な各設置形態について、その設置形態における推定トルクと実トルク間の誤差を算出する。そして推定部４４は、各設置形態のうち、誤差が最小となる設置形態を、ロボット２に実際に適用された設置形態として推定する。あるいは、推定部４４は、ロボット２が床置き設置される場合の推定トルクと実トルク間の誤差及びロボット２が天吊り設置される場合の推定トルクと実トルク間の誤差の何れもが所定の閾値以上となる場合に、ロボット２が傾斜角設置されたと判定してもよい。
【００６５】
推定部４４は、その推定された設置形態を表す情報をユーザインターフェース３１に表示させる。そしてプロセッサ３４は、ユーザがロボット２の設置形態を設定する際に、ロボット２に適用可能な各設置形態のうち、推定された設置形態を強調表示してもよい。これにより、プロセッサ３４は、ユーザがロボット２の設置形態を誤って設定することを抑制できる。
【００６６】
あるいは、推定部４４は、推定された設置形態を表す情報をメモリ３３に記憶してもよい。この場合、プロセッサ３４は、ロボット２を動作させる際に、メモリ３３に記憶された、推定された設置形態を表す情報を参照して、その推定された設置形態に対応する制御情報を利用してもよい。例えば、プロセッサ３４は、推定された設置形態が床置き設置である場合、ロボット２の静止状態を維持するために、関節２２の軸を駆動するサーボモータに対して、第１のアーム１３をバランサ１４側へ引っ張る方向の力が生じる向きに回転させるトルク指令を出力する。一方、推定された設置形態が天吊り設置である場合、プロセッサ３４は、ロボット２の静止状態を維持するために、関節２２の軸を駆動するサーボモータに対して、第１のアーム１３をバランサ１４から離れる方向の力が生じる向きに回転させるトルク指令を出力する。
【００６７】
図７は、この変形例による、設置形態判定処理の動作フローチャートである。プロセッサ３４は、下記の動作フローチャートに従って設置形態判定処理を実行する。
【００６８】
推定トルク読込部４１は、ロボット２の設置形態の判定に利用される関節の軸について、ロボット２の適用可能な各設置形態における、その軸についての推定トルクの値をメモリ３３から読み込む（ステップＳ２０１）。また、実トルク算出部４２は、ロボット２の設置形態の判定に利用される関節の軸について、ロボット２を実際に静止状態に保つためにサーボモータ３５から出力される実トルクを算出する（ステップＳ２０２）。
【００６９】
推定部４４は、ロボット２に適用可能な各設置形態について、その設置形態における推定トルクと実トルク間の誤差を算出する（ステップＳ２０３）。そして推定部４４は、各設置形態のうち、誤差が最小となる設置形態を、ロボット２に実際に適用された設置形態として推定し、推定された設置形態を表す情報をユーザインターフェース３１に表示させる（ステップＳ２０４）。
ステップＳ２０４の後、プロセッサ３４は、この変形例による設置形態判定処理を終了する。なお、ステップＳ２０１の処理とステップＳ２０２の処理の順序は入れ替えられてもよい。
【００７０】
この変形例によれば、設置形態判定装置は、自動機械に適用された実際の設置形態を推定できる。そのため、設置形態判定装置は、実際の設置形態と異なる設置形態が設定されることを防止できる。
【００７１】
さらに、推定部４４は、ロボット２が傾斜角設置されたと判定した場合、ロボット２の傾斜角を推定してもよい。例えば、ロボット２が天吊り設置される場合を基準としたときのロボット２の傾斜角が推定される場合、メモリ３３に、傾斜角ごとの、ロボット２の静止状態を維持するために必要な推定トルクが予め記憶される。そして推定部４４は、傾斜角ごとの推定トルクと実トルク間の誤差を算出し、その誤差が最小となる傾斜角をロボット２の傾斜角として推定してもよい。なお、傾斜角を算出する際に基準となる設置形態は、床置き設置であってもよい。
この変形例によれば、推定部４４は、ロボットが傾斜角設置される場合の傾斜角を推定できる。
【００７２】
上記の実施形態または各変形例において、推定トルク読込部４１は、ロボット２が静止している際、あるいは、ロボット２が動作している間において、ロボット２の実際の姿勢に応じて、設定された設置形態あるいは各設置形態もしくは傾斜角における推定トルクを算出してもよい。この場合には、メモリ３３には、各部の力学的パラメータ及び負荷情報といった推定トルクの算出に利用される各種パラメータが予め記憶される。そして推定トルク読込部４１は、それらのパラメータをメモリ３３から読み込む。また、推定トルク読込部４１は、ロボット２から、現在の姿勢を表す情報を通信インターフェース３２を介して取得する。なお、ロボット２の姿勢を表す情報は、例えば、サーボモータ３５の回転軸などに設けられるエンコーダといった位置検出器によるサーボモータ３５の回転量の測定結果として得られる。そして推定トルク読込部４１は、設定された設置形態あるいは各設置形態もしくは傾斜角について、その設置形態に関する情報と、ロボット２の現在の姿勢と、メモリ３３から読み込んだ力学的パラメータと、推定対象となる傾斜角の値などを用いて、公知の手法に従って推定トルクを算出すればよい。
この変形例によれば、プロセッサ３４は、ロボット２の任意の姿勢について、ロボット２の設置形態を判定できる。
【００７３】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００７４】
１    ロボットシステム
２    ロボット
３    制御装置（設置形態判定装置）
４    通信回線
１１    台座
１２    回転ステージ
１３    第１のアーム
１４    バランサ
１５    第２のアーム
１６    リスト
１７    ハンド
２１〜２６    関節
３１    ユーザインターフェース
３２    通信インターフェース
３３    メモリ
３４    プロセッサ
３５    サーボモータ
４１    推定トルク読込部
４２    実トルク算出部
４３    判定部
４４    推定部
【図１】
2019181654.tif 000003
【図２Ａ】
2019181654.tif 000004
【図２Ｂ】
2019181654.tif 000005
【図２Ｃ】
2019181654.tif 000006
【図３】
2019181654.tif 000007
【図４】
2019181654.tif 000008
【図５】
2019181654.tif 000009
【図６】
2019181654.tif 000010
【図７】
2019181654.tif 000011