(57)【特許請求の範囲】
【請求項１】
解析部と指示部を有するコントローラーによって制御されるロボットであって、
センサーに関するセンサー情報と前記ロボットの電源がＯＦＦになっていた期間の累積期間を含む電源情報を記録する記録部と、
前記コントローラーまたは外部装置に前記センサー情報と前記電源情報とを送信する送信部と、を備え、
前記解析部は、前記累積期間が許容値以下であるか否かを判定し、前記累積期間が前記許容値以下であると判定しなかった場合、前記指示部により電池交換通知をユーザーＩ／Ｆ装置に出力させる、
ロボット。
【請求項２】
前記センサーを備える、
請求項１に記載のロボット。
【請求項３】
前記センサー情報は、前記センサーの種類を示す、
請求項１または請求項２に記載のロボット。
【請求項４】
前記センサー情報は、前記センサーの性能を示す、
請求項１から請求項３のいずれか一項に記載のロボット。
【請求項５】
前記センサー情報は、過去における前記センサーの測定値を示す、
請求項１から請求項４のいずれか一項に記載のロボット。
【請求項６】
前記センサー情報は、過去における時系列の前記センサーの測定値を示す、
請求項５に記載のロボット。
【請求項７】
前記センサー情報は、過去における異常発生時刻での前記センサーの測定値を示す、
請求項５または請求項６に記載のロボット。
【請求項８】
前記センサーは可動部に備えられるとともに、
前記センサー情報は、過去における前記可動部の位置ごとの前記センサーの測定値を示す、
請求項５から請求項７のいずれか一項に記載のロボット。
【請求項９】
前記解析部は、前記センサー情報が示す許容範囲を第１許容範囲として設定し、現在における前記センサーの測定値が前記第１許容範囲に属するか否かを判定し、現在における前記センサーの前記測定値が第１許容範囲内であると判定した場合、過去における前記センサーの前記測定値から導出される第２許容範囲を設定し、現在における前記センサーの前記測定値が前記第２許容範囲に属するか否かを判定することにより、前記ロボットが異常であるか否かを判定し、
前記指示部は、現在における前記センサーの前記測定値が前記第２許容範囲内であると判定しなかった場合、異常通知を前記ユーザーＩ／Ｆ装置に出力させる、
請求項１から請求項８のいずれか一項に記載のロボット。
【請求項１０】
前記解析部は、過去の正常動作中における前記センサーの時系列の前記測定値の平均値Ｇと標準偏差Ｈを算出し、Ｇ±ｎ×Ｈの範囲を前記第２許容範囲として設定する、
請求項９に記載のロボット。
【請求項１１】
センサーと、
記録部と、を備えるロボットと、
前記ロボットを制御する前記コントローラーと、を備えるロボットシステムであって、
前記記録部は、前記センサーに関するセンサー情報と前記ロボットの電源がＯＦＦになっていた期間の累積期間を含む電源情報とを記録し、
前記コントローラーまたは前記ロボットに接続された外部装置は、指示部と、前記センサー情報および前記電源情報を前記ロボットから受信し、前記センサー情報および前記電源情報を解析する解析部と、を備え、
前記解析部は、前記累積期間が許容値以下であるか否かを判定し、前記累積期間が前記許容値以下であると判定しなかった場合、前記指示部により電池交換通知をユーザーＩ／Ｆ装置に出力させる、
ロボットシステム。
【請求項１２】
前記解析部は、前記センサー情報が示す許容範囲を第１許容範囲として設定し、現在における前記センサーの測定値が前記第１許容範囲に属するか否かを判定し、現在における前記センサーの前記測定値が第１許容範囲内であると判定した場合、過去における前記センサーの前記測定値から導出される第２許容範囲を設定し、現在における前記センサーの前記測定値が前記第２許容範囲に属するか否かを判定することにより、前記ロボットが異常であるか否かを判定し、
前記指示部は、現在における前記センサーの前記測定値が前記第２許容範囲内であると判定しなかった場合、異常通知を前記ユーザーＩ／Ｆ装置に出力させる、
請求項１１に記載のロボットシステム。
【請求項１３】
前記解析部は、過去の正常動作中における前記センサーの時系列の前記測定値の平均値Ｇと標準偏差Ｈを算出し、Ｇ±ｎ×Ｈの範囲を前記第２許容範囲として設定する、
請求項１２に記載のロボットシステム。
【請求項１４】
前記コントローラーまたは前記ロボットに接続された外部装置は、前記センサー情報が示す前記センサーの個体情報に変化があるか否かに基づいて、接続されている前記ロボットの個体が変化したか否かを判定する、
請求項１１から請求項１３のいずれか一項に記載のロボットシステム。
【請求項１５】
指示部と、センサーに関するセンサー情報を記録する記録部を備える複数のロボットから前記センサー情報を収集し、前記センサー情報を統計処理する解析部と、を備え、
前記解析部は、前記ロボットの電源がＯＦＦになっていた期間の累積期間が許容値以下であるか否かを判定し、前記累積期間が前記許容値以下であると判定しなかった場合、前記指示部により電池交換通知をユーザーＩ／Ｆ装置に出力させる、
サーバー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットシステムおよびサーバーに関する。
【背景技術】
【０００２】
ロボット制御装置によって制御されるロボットにおいて、当該ロボットの可動部の軌道制御の演算に用いられるパラメータを当該ロボット内に格納する技術が知られている（特許文献１、参照）。また、コントローラーによって制御されるロボットの動作履歴やメンテナンス履歴を示す固有データを、当該ロボットとコントローラーの双方に記憶する技術も知られている（特許文献２、参照）。これらの技術によれば、ロボットを制御するロボット制御装置やコントローラーを交換したとしても、ロボット側に記録されたデータに基づいてロボットを制御することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１４８４３３号公報
【特許文献２】特開２００１−２４２９２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、軌道制御の演算に用いられるパラメータやロボットの動作履歴やメンテナンス履歴だけではロボットを適切に制御できない場合があった。
本発明は前記課題にかんがみてなされたもので、コントローラーが制御するロボットが交換されてもロボットを適切に制御できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
前記の目的を達成するため、本発明のロボットは、コントローラーによって制御されるロボットであって、センサーに関するセンサー情報を記録する記録部と、コントローラーまたは外部装置にセンサー情報を送信する送信部と、を備える。
この構成において、ロボットが備えるセンサーに関するセンサー情報がロボット側に記録されるため、コントローラーはロボット側からセンサー情報を受信して当該センサー情報に基づいてロボットを適切に制御できる。コントローラーが制御するロボットが交換された場合にも、交換後のロボットに記録されているセンサー情報に基づいてロボットを適切に制御できる。特に、コントローラーは交換後のロボットのセンサー情報に基づいてセンサーの測定結果を利用したロボットの制御を適切に行うことが可能となる。なお、センサー情報はコントローラーに直接送信されなくてもよく、例えばセンサー情報はコントローラー以外の外部装置やサーバーに送信されてもよい。この場合、外部装置やサーバーはセンサー情報に基づいてロボットを制御するための情報を生成し、当該情報をコントローラーに送信すればよい。
【図面の簡単な説明】
【０００６】
【図１】（１Ａ）はロボットシステムのブロック図、（１Ｂ）はセンサー情報の表である。
【図２】（２Ａ）は起動処理のフローチャート、（２Ｂ）は電池管理処理のフローチャート、（２Ｃ）は異常判定処理のフローチャートである。
【図３】（３Ａ）は第１実施形態のロボットシステムのブロック図、（３Ｂ）（３Ｃ）は他の実施形態のロボットシステムのブロック図である。
【発明を実施するための形態】
【０００７】
以下、本発明の実施形態について、添付図面を参照しながら以下の順に説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
（１）ロボットシステムの構成：
（２）ロボットシステムの処理：
（３）他の実施形態：
【０００８】
（１）ロボットシステムの構成：
図１Ａは、本発明の一実施形態にかかるロボットシステム１のブロック図である。ロボットシステム１は、ロボット１０とコントローラー２０とユーザーＩ／Ｆ(Interface)装置３０とを含む。コントローラー２０はロボット１０と通信可能に接続されている。この接続は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の有線通信規格、Ｗｉ−Ｆｉ（登録商標）等の無線通信規格に準じる。コントローラー２０はロボット１０およびユーザーＩ／Ｆ装置３０を制御するためのコンピューターである。
【０００９】
ロボット１０はコントローラー２０によって制御される。ロボット１０は、制御部Ｃとマニピュレーター１４とを備える。本実施形態のロボット１０は７軸の単腕ロボットであり、単一のマニピュレーター１４を備える。マニピュレーター１４は、駆動部１４ａとセンサー群Ｓとを備える。駆動部１４ａは、７軸の駆動軸を回転駆動するためのモーターを含む。センサー群Ｓについては後述する。
【００１０】
制御部Ｃは、ＣＰＵ１１とメモリー１２等を備えるコンピューターである。制御部Ｃは、コントローラー２０から送信された制御信号Ｄに基づいてマニピュレーター１４を制御する。具体的に、制御部Ｃは、マニピュレーター１４に備えられた駆動部１４ａを駆動させるための信号を生成し、当該信号を駆動部１４ａに出力することによりマニピュレーター１４を制御する。また、ＣＰＵ１１は、メモリー１２に記録したデータに基づいてプログラムを実行することにより、送信部１１ａを実現する。すなわち、送信部１１ａは、ＣＰＵ１１において、ハードウェア資源（例えばメモリーコントローラー）とプログラムとが協働することにより実現する。送信部１１ａは、コントローラー２０にセンサー情報Ｉを送信するための機能構成であり、詳細は後述する。
【００１１】
メモリー１２は、センサー情報Ｉと電源情報Ｐとを記録する。センサー情報Ｉは、マニピュレーター１４に備えられたセンサー群Ｓに関する情報である。メモリー１２は、ロボット１０の電源がＯＦＦの期間においてもデータを保持可能な不揮発性の記録媒体であり、センサーに関するセンサー情報Ｉを記録する記録部に相当する。
【００１２】
図１Ｂは、センサー群Ｓを構成するセンサーの一例と当該センサーに関するセンサー情報Ｉの内容を示す表である。図１Ｂの左欄に示すように、センサー情報Ｉは、センサーごとにセンサーの種類を示す。本実施形態のロボット１０には、触覚センサーと力覚センサーとトルクセンサーと加速度センサーとジャイロセンサーとエンコーダーと温度センサーとが備えられている。センサー情報Ｉには、個体情報として、各センサーの個体固有の個体番号が含まれる。また、センサー情報Ｉには、各センサーの性能を示す情報（許容範囲、応答性、分解能、ばらつき、重量、通信速度、通信フォーマット）が含まれる。また、センサー情報Ｉには、各センサーの過去における時系列（正常動作中における所定の時間周期ごと）の測定値を示す過去データが含まれる。
【００１３】
触覚センサーは、マニピュレーター１４においてワーク等を把持するグリッパーに備えられている。触覚センサーは、グリッパーとワーク等との接触に応じて弾性変形し、当該弾性変形における変位量を検出することにより、ワーク等との接触の検知と、ワーク等の把持力の計測とを行う。力覚センサーとトルクセンサーとは、マニピュレーター１４の所定の測定部位（例えばエンドエフェクター）に備えられている。力覚センサーは、測定部位に作用する３次元の力の方向と大きさを計測する。トルクセンサーは、測定部位に作用する３次元のトルクの方向と大きさを計測する。
【００１４】
加速度センサーとジャイロセンサーとは、マニピュレーター１４の所定の測定部位（例えばエンドエフェクターや各関節等）に備えられている。加速度センサーは、測定部位における３次元の加速度の方向と大きさを計測する。ジャイロセンサーは、測定部位における３次元の角速度の方向と大きさを計測する。エンコーダーは、マニピュレーター１４の可動部に備えられ、マニピュレーター１４の可動部の移動量（各関節の回転角度）を計測する。温度センサーは、マニピュレーター１４の温度を計測する。
【００１５】
センサー情報Ｉが示す許容範囲とは、各センサーが計測する測定値の範囲であって、各センサーの動作が許容される測定値の範囲である。各センサーの動作が許容される測定値の範囲とは、各センサーが測定値を正常に測定可能な範囲であってもよいし、各センサーの測定値の精度が所定基準以上となる範囲であってもよいし、各センサーが破損しない範囲であってもよい。センサー情報Ｉが示す応答性とは、計測対象の状態の変化が各センサーの計測値に反映されるまでの早さを意味する。センサー情報Ｉが示す分解能とは、各センサーが計測可能な計測値の最小単位を意味する。センサー情報Ｉが示すばらつきに基づいて、計測値を真の値に補正するための補正値を導出できる。
【００１６】
センサー情報Ｉが示す力覚センサーの重量とは、力覚センサーの重さを意味する。センサー情報Ｉが示すエンコーダーの通信速度とは、計測値のデータをエンコーダーが制御部Ｃに送信する際の通信速度（クロック周波数）を意味する。センサー情報Ｉが示すエンコーダーの通信フォーマットは、計測値のデータの形式である。以上説明したように、センサー情報Ｉは、センサーの種類と、センサーの性能と、過去における時系列のセンサーの測定値を示す。
【００１７】
電源情報Ｐは、過去においてロボット１０の電源がＯＦＦになっていた期間の累積期間と、最後にロボット１０の電源がＯＦＦになった直近のＯＦＦ時刻とを示す情報である。ロボット１０の電源がＯＦＦになるとは、ロボット１０に供給されている商用電源が遮断されることである。ロボット１０は、例えばエンコーダー等に電池（一次電池）を備えており、ロボット１０の電源がＯＦＦになっていた期間においてもエンコーダー等のために必要な最低限の電力を得ることができる。なお、ロボット１０の電源がＯＮとなっている期間においては、商用電源からエンコーダー等のために必要な電源を得ることができるため、ロボット１０の電池は消費されない。以上説明したように、記録部としてのメモリー１２は、センサー情報Ｉとともにロボット１０の電源がＯＦＦとなった期間を特定するための電源情報Ｐを記録する。
【００１８】
次に、コントローラー２０について説明する。コントローラー２０は、ＣＰＵ２１とメモリー２２とを備える。ＣＰＵ２１は、メモリー２２に記録したデータに基づいてプログラムを実行することにより、解析部２１ａと指示部２１ｂとを実現する。すなわち、解析部２１ａと指示部２１ｂとは、ＣＰＵ２１において、ハードウェア資源とプログラムとが協働することにより実現する。解析部２１ａは、センサー情報をロボット１０から受信し、当該センサー情報Ｉを解析するための機能構成であり、詳細は後述する。指示部２１ｂは、センサー情報Ｉに基づいて制御信号Ｄを生成し、当該制御信号Ｄをロボット１０に出力するための機能構成であり、詳細は後述する。コントローラー２０は、ユーザーＩ／Ｆ装置３０と接続されている。ユーザーＩ／Ｆ装置３０は、表示部と入力部とを含み、表示部において表示された各種画像に関連する入力操作を入力部にて受け付ける。
【００１９】
（２）ロボットシステムの処理：
（２−１）起動処理：
以下、ロボットシステム１の機能構成（送信部１１ａ，解析部２１ａ，指示部２１ｂ）についてロボットシステムの処理とともに説明する。図２Ａはコントローラー２０が実行する起動処理のフローチャートである。例えば、起動処理は、ロボット１０とコントローラー２０とのうち少なくとも一方の電源がＯＮとなった場合に実行される。まず、コントローラー２０は、ロボット１０からセンサー情報Ｉを受信する（ステップＳ１００）。すなわち、ロボット１０においては、送信部１１ａがメモリー１２に記録されているセンサー情報Ｉをコントローラー２０に送信する。送信部１１ａは、センサー情報Ｉとともに電源情報Ｐもコントローラー２０に送信する。
【００２０】
次に、解析部２１ａは、センサーの個体番号がロボット１０とコントローラー２０とで一致するか否かを判定する（ステップＳ１１０）。すなわち、解析部２１ａは、ステップＳ１００にてロボット１０から取得したセンサー情報Ｉが示す個体番号と、自らのメモリー２２に記録されているセンサー情報Ｉが示す個体番号とが一致するか否かを判定する。これにより、電源がＯＮとなった現在においてコントローラー２０に対して制御可能に接続されているロボット１０が備えるすべてのセンサーの個体が、最後に電源がＯＦＦにされた際にコントローラー２０に対して制御可能に接続されていたロボット１０が備えるすべてのセンサーの個体と一致するか否かを判定できる。つまり、コントローラー２０に対して制御可能に接続されているロボット１０が、最後に電源がＯＦＦにされた時点から、電源がＯＮとなった現在までの間に交換されたか否かを判定できる。以上説明したように、コントローラー２０は、センサー情報Ｉをロボット１０から受信し、センサー情報Ｉが示すセンサーの個体情報としての個体番号に変化があるか否かに基づいて、制御可能に接続されているロボット１０の個体が変化したか否かを判定する。
【００２１】
センサーの個体番号がロボット１０とコントローラー２０とで一致すると判定した場合（ステップＳ１１０：Ｙ）、指示部２１ｂは、ロボット１０の制御を行う（ステップＳ１５０）。具体的に、解析部２１ａはメモリー２２に記録されたセンサー情報Ｉを解析し、指示部２１ｂは当該解析の結果に基づいてマニピュレーター１４を動作させるための制御信号Ｄを生成し、当該制御信号Ｄをロボット１０の制御部Ｃに出力する。本実施形態において、指示部２１ｂは、位置制御と力制御とを組み合わせてマニピュレーター１４を制御する。
【００２２】
まず、位置制御について説明する。指示部２１ｂは、マニピュレーター１４の制御基準点（例えばエンドエフェクターの所定箇所）が目標の位置と姿勢（向き）となるようにマニピュレーター１４の駆動部１４ａを位置制御する。具体的に、指示部２１ｂは、制御基準点の目標の位置と姿勢に対応するエンコーダーの目標の計測値（各関節の回転角度）をロボット１０の個体ごとの位置変換テーブルを参照して取得し、当該目標の計測値となるように駆動部１４ａをＰＩＤ（Proportional-Integral-Derivative）制御する。位置変換テーブルは、例えばロボット１０のメモリー１２にセンサー情報Ｉとともに記録されていてもよい。さらに、指示部２１ｂは、位置制御において、マニピュレーター１４が目標の加速度と角速度が実現できるように加速度センサーとジャイロセンサーの計測値に基づくＰＩＤ制御を行う。なお、マニピュレーター１４の制御は必ずしもＰＩＤ制御でなくてもよく、目標の加速度や角速度と、計測値との差を減少させる制御であればどのようなものであってもよい。
【００２３】
指示部２１ｂは、目標の加速度と角速度を設定するにあたりセンサー情報Ｉが示す力覚センサーの重量が大きいほど停止直前におけるマニピュレーター１４の目標の減速度（負の加速度の絶対値）を小さく設定する。これにより、力覚センサーの重量が大きいほど顕著となる残留振動の影響を抑制できる。また、指示部２１ｂは、位置制御において、目標の加速度と角速度を設定するにあたり、センサー情報Ｉが示す加速度センサーとジャイロセンサーの許容範囲内の加速度と角速度を設定する。さらに、指示部２１ｂは、加速度センサーとジャイロセンサーの計測値を、センサー情報Ｉが示す加速度センサーとジャイロセンサーのばらつきに基づいて補正した補正値を取得する。そして、指示部２１ｂは、加速度センサーとジャイロセンサーの計測値の補正値に応じてＰＩＤ制御を行う。
【００２４】
また、指示部２１ｂは、センサー情報Ｉが示すエンコーダーの通信速度とフォーマットに基づいてエンコーダーの応答性を取得する。そして、指示部２１ｂは、エンコーダーの計測値（各関節の回転角度）や加速度センサーとジャイロセンサーの計測値（補正値）に応じたＰＩＤ制御におけるゲインを、センサー情報Ｉが示すエンコーダーと加速度センサーとジャイロセンサーの分解能と応答性とに基づいて設定する。具体的に、指示部２１ｂは、分解能と応答性とが良好であるほど、ＰＩＤ制御における比例ゲインを大きく設定する。以上説明したように、指示部２１ｂは、ロボット１０から受信したセンサー情報Ｉを使用して位置制御の制御条件を適正に設定できる。
【００２５】
次に、力制御について説明する。指示部２１ｂは、マニピュレーター１４に備えられた力覚センサーとトルクセンサーの計測値が目標値となるようにマニピュレーター１４の駆動部１４ａを力制御する。力制御は、力覚センサーとトルクセンサーの計測値に基づくフィードバック制御である。指示部２１ｂは、力制御において、力覚センサーとトルクセンサーの計測値の目標値を設定するにあたり、センサー情報Ｉが示す力覚センサーとトルクセンサーの許容範囲内の力とトルクを設定する。これにより、力制御によって、力覚センサーとトルクセンサーが破損するような荷重とトルクが生じることを防止できる。指示部２１ｂは、力覚センサーとトルクセンサーの計測値に応じたフィードバック制御におけるゲインを、センサー情報Ｉが示す力覚センサーとトルクセンサーの分解能と応答性とに基づいて設定する。以上説明したように、指示部２１ｂは、ロボット１０から受信したセンサー情報Ｉを使用して力制御の制御条件を適正に設定できる。
【００２６】
ロボット１０には、センサー情報Ｉと電源情報Ｐの他にロボット１０の制御に必要な設定値を記録してもよく、例えばジャイロサーボのゲインを記録してもよいし、力制御における慣性係数や減衰係数やバネ係数を記録してもよいし、ロボット１０が空間に認識を行うために使用するカメラ座標系とロボット座標系のキャリブレーションに必要な情報を記録してもよい。以上の設定値をロボット１０に記録しておけば、コントローラー２０とロボット１０を交換したに際に、以上の設定値の再設定を省略したり、以上の設定値の再設定の所要期間を短縮したりできる。特に、ジャイロサーボのゲインと慣性係数と減衰係数とバネ係数は、ロボット１０の動作ごとに異なる値を設定することが一般的であるため、ロボット１０の動作ごとにジャイロサーボのゲインと慣性係数と減衰係数とバネ係数とを記録してもよい。
【００２７】
また、指示部２１ｂは、位置制御と力制御によってそれぞれ駆動部１４ａの駆動量を導出し、当該駆動量を合成（加重平均等）して、駆動部１４ａを制御するための制御信号Ｄを生成する。さらに、指示部２１ｂは、触覚センサーの計測値（ワーク等の把持力）が目標値となるようにグリッパーを駆動制御する。このとき、指示部２１ｂは、センサー情報Ｉが示す触覚センサーの許容範囲内の把持力を設定する。
【００２８】
ここで、ステップＳ１５０におけるロボット１０の制御の説明を終了し、図２Ａの起動処理の説明に戻る。センサーの個体番号がロボット１０とコントローラー２０で一致すると判定しなかった場合（ステップＳ１１０：Ｎ）、コントローラー２０は、ロボット１０の交換が承認されたか否かを判定する（ステップＳ１２０）。すなわち、コントローラー２０は、ロボット１０の交換がユーザーが意図したものであったか否かを判定する。具体的に、コントローラー２０は、ロボット１０の交換が承認するか否かを問い合わせるための画像をユーザーＩ／Ｆ装置３０の表示部に表示させ、ロボット１０の交換を承認するか否かを選択するための入力操作をユーザーＩ／Ｆ装置３０の入力部にて受け付ける。ロボット１０の交換が承認されたと判定しなかった場合（ステップＳ１２０：Ｎ）、コントローラー２０は、起動処理を終了する。すなわち、意図に反して制御対象のロボット１０が交換されているとして、ロボット１０の制御を行わない。
【００２９】
ロボット１０の交換が承認されたと判定した場合（ステップＳ１２０：Ｙ）、コントローラー２０は、個体番号も含めセンサー情報を更新記録する（ステップＳ１３０）。すなわち、コントローラー２０は、ステップＳ１００にてロボット１０から取得したセンサー情報Ｉで、自らのメモリー２２のセンサー情報Ｉを更新記録する。これにより、電源がＯＮとなった現在においてコントローラー２０に対して制御可能に接続されているロボット１０が備えるセンサー群Ｓの性能等を示す情報を、コントローラー２０にて保持することが可能となる。それと同時に、最後に電源がＯＦＦにされた際にコントローラー２０に対して制御可能に接続されていたロボット１０が備えるセンサー群Ｓの性能等を示す情報を、コントローラー２０から削除できる。センサー情報Ｉを更新記録すると、コントローラー２０は、更新記録したセンサー情報Ｉに基づいてロボット１０の制御を行うことが可能となる（ステップＳ１５０）。なお、交換前後のロボット１０の機種が同一である場合等において、ユーザーの選択に応じて、交換前のロボット１０のセンサー情報Ｉに基づいて、交換後のロボット１０の制御を行うようにしてもよい。
【００３０】
（２−２）電池管理処理：
図２Ｂはコントローラー２０が実行する電池管理処理のフローチャートである。例えば、電池管理処理は、図２Ａの起動処理と並行して実行される処理であり、ロボット１０とコントローラー２０とのうち少なくとも一方の電源がＯＮとなった場合に実行される処理である。まず、コントローラー２０は、ロボット１０から電源情報Ｐを受信する（ステップＳ２００）。すなわち、ロボット１０においては、送信部１１ａがメモリー１２に記録されている電源情報Ｐをコントローラー２０に送信する。本実施形態において、図２ＡのステップＳ１００と図２ＢのステップＳ２００とは一括して実行され、送信部１１ａは、センサー情報Ｉとともに電源情報Ｐもコントローラー２０に送信する。電源情報Ｐは、過去においてロボット１０の電源がＯＦＦになっていた期間の累積期間と、最後にロボット１０の電源がＯＦＦになった直近のＯＦＦ時刻とを示す。
【００３１】
次に、解析部２１ａは、直近のＯＦＦ時刻と現在時刻から直近のＯＦＦ期間を算出する（ステップＳ２１０）。すなわち、解析部２１ａは、現在時刻から直近のＯＦＦ時刻を減算することにより、直近のＯＦＦ期間を算出する。直近のＯＦＦ時刻は、ロボット１０に記録されている情報であるため、ロボット１０が交換されてもコントローラー２０は交換後のロボット１０の直近のＯＦＦ期間を適正に得ることができる。
【００３２】
次に、解析部２１ａは、直近のＯＦＦ期間を累積期間に累積する（ステップＳ２２０）。すなわち、解析部２１ａは、直近のＯＦＦ期間を累積期間に加算することにより、最新の累積期間を算出する。累積期間も、ロボット１０に記録されている情報であるため、ロボット１０が交換されてもコントローラー２０は交換後のロボット１０の累積期間を適正に得ることができる。
【００３３】
次に、解析部２１ａは、累積期間が許容値以下であるか否かを判定する（ステップＳ２３０）。ここで、許容値とは、例えば電池の残電力量が所定値（例えば初期の残電力量の１０％等）となる期間であってもよい。許容値は、センサー情報Ｉと同様にロボット１０に記録されてもよいし、センサー情報Ｉから特定されるロボット１０の機種ごとにコントローラー２０に記録されていてもよい。
【００３４】
累積期間が許容値以下であると判定した場合（ステップＳ２３０：Ｙ）、解析部２１ａは、残期間を算出する（ステップＳ２４０）。残期間とは、電池の寿命から現在の累積期間を減算することにより得られる期間である。電池の寿命は、新品の電池の充電電力量を、ＯＦＦ期間における単位時間あたりの消費電力量で除算することにより導出されてもよい。次に、指示部２１ｂは、残期間をユーザーＩ／Ｆ装置３０に出力させる（ステップＳ２５０）。これにより、ユーザーは、電池の交換時期の目安を得ることができる。
【００３５】
一方、累積期間が許容値以下であると判定しなかった場合（ステップＳ２３０：Ｎ）、指示部２１ｂは、電池交換通知をユーザーＩ／Ｆ装置３０に出力させる（ステップＳ２６０）。これにより、ユーザーに電池交換を促すことができる。以上説明したように、電源情報Ｐは、ロボット１０に記録されている情報であるため、ロボット１０が交換されてもコントローラー２０は交換後のロボット１０の電池について適切な通知を行うことができる。
【００３６】
（２−３）異常判定処理：
図２Ｃはコントローラー２０が実行する異常判定処理のフローチャートである。異常判定処理は、図２Ａの起動処理と並行して実行される処理、または、所定の時間周期ごとに実行される処理であり、ロボット１０とコントローラー２０とのうち少なくとも一方の電源がＯＮとなった場合に実行される処理である。まず、コントローラー２０は、ロボット１０からセンサー情報Ｉと、センサーの現在の測定値とを受信する（ステップＳ３００）。すなわち、コントローラー２０は、センサー情報Ｉの過去データが示す各センサーの過去における時系列の測定値と、各センサーの現在（電源ＯＮ直後）の測定値とを取得する。
【００３７】
次に、解析部２１ａは、センサー情報Ｉが示す許容範囲を第１許容範囲として設定する（ステップＳ３１０）。すなわち、図１Ｂに示す各センサーの測定値の許容範囲を、第１許容範囲として設定する。上述したように、センサー情報Ｉが示す許容範囲は、各センサーが測定値を正常に測定可能な範囲や、各センサーの測定値の精度が所定基準以上となる範囲や、各センサーが破損しない範囲等である。
【００３８】
次に、解析部２１ａは、各センサーの現在の測定値が第１許容範囲内であるか否かを判定する（ステップＳ３２０）。すなわち、解析部２１ａは、各センサーが測定値を正常に測定できているか否か、各センサーが測定値を所定基準以上の精度で測定できているか否か、各センサーが破損しないか否かを判定する。
【００３９】
各センサーの現在の測定値が第１許容範囲内であると判定しなかった場合（ステップＳ３２０：Ｎ）、指示部２１ｂは、異常通知をユーザーＩ／Ｆ装置３０に出力させる（ステップＳ３３０）。すなわち、指示部２１ｂは、ロボット１０のセンサーが異常な測定値を測定しているとして、ユーザーに注意を喚起する。具体的に、コントローラー２０は、センサー情報Ｉの解析結果としての異常通知をユーザーＩ／Ｆ装置３０の表示部に表示させる。なお、指示部２１ｂは、異常通知の出力とともに、ロボット１０を停止させてもよい。ここで、各センサーの現在の測定値が第１許容範囲内であると判定しなかった場合とは、少なくとも１個のセンサーの現在の測定値が第１許容範囲外であることを意味する。
【００４０】
各センサーの現在の測定値が第１許容範囲内であると判定した場合（ステップＳ３２０：Ｙ）、解析部２１ａは、過去における時系列の測定値に基づいて第２許容範囲を設定する（ステップＳ３４０）。本実施形態のセンサー情報Ｉの過去データは、各センサーの過去における時系列（正常動作中における所定の時間周期ごと）の測定値を示す。解析部２１ａは、正常動作中における各センサーの時系列の測定値を統計処理することにより第２許容範囲を導出する。例えば、解析部２１ａは、正常動作中における各センサーの時系列の測定値の平均値Ｇと標準偏差Ｈを算出し、Ｇ±ｎ×Ｈの範囲を第２許容範囲として設定してもよい。なお、ｎは自然数（例えば２，３）である。なお、解析部２１ａは、正常動作中における各センサーの時系列の測定値の最小値から最大値までの範囲を第２許容範囲として設定してもよい。
【００４１】
次に、解析部２１ａは、各センサーの現在の測定値が第２許容範囲内であるか否かを判定する（ステップＳ３５０）。すなわち、解析部２１ａは、現在におけるセンサーの測定値が、過去におけるセンサーの測定値から導出された第２許容範囲に属するか否かを判定することにより、ロボット１０が異常であるか否かを判定する。Ｇ±ｎ×Ｈの範囲を第２許容範囲として設定することにより、解析部２１ａは、正常動作中における各センサーの時系列の測定値の分布において、現在の測定値が確率的に特異であるか否かを判定できる。
【００４２】
各センサーの現在の測定値が第２許容範囲内であると判定しなかった場合（ステップＳ３５０：Ｎ）、指示部２１ｂは、異常通知をユーザーＩ／Ｆ装置３０に出力させる（ステップＳ３３０）。すなわち、指示部２１ｂは、ロボット１０のセンサーが異常な測定値を測定しているとして、ユーザーに注意を喚起する。ここで、各センサーの現在の測定値が第２許容範囲内であると判定しなかった場合とは、少なくとも１個のセンサーの現在の測定値が第２許容範囲外であることを意味する。
【００４３】
一方、各センサーの現在の測定値が第２許容範囲内であると判定した場合（ステップＳ３５０：Ｙ）、指示部２１ｂは、正常通知をユーザーＩ／Ｆ装置３０に出力させる（ステップＳ３６０）。ここで、各センサーの現在の測定値が第２許容範囲内であると判定した場合とは、すべてのセンサーの現在の測定値が第２許容範囲内であることを意味する。
【００４４】
（３）他の実施形態：
センサー情報Ｉが示す過去におけるセンサーの測定値は、正常動作中における各センサーの時系列の測定値でなくてもよい。例えば、センサー情報Ｉは、過去における異常発生時刻でのセンサーの測定値を示してもよい。この場合、コントローラー２０の解析部２１ａは、各センサーの現在の測定値が過去における異常発生時刻でのセンサーの測定値との差（絶対値）が所定値以下である場合に、ロボット１０に異常が生じ得るとして異常通知を出力してもよい。異常時刻における測定値を記録すればよいため、センサー情報Ｉのデータ量を抑制できる。
【００４５】
さらに、センサー情報Ｉは、過去における可動部の位置ごとのセンサーの測定値を示してもよい。例えば、位置制御において、マニピュレーター１４の制御基準点（例えばエンドエフェクターの所定箇所）の目標の位置と姿勢とが設定されるが、ロボット１０は、目標の位置と姿勢とに対応付けて過去におけるセンサーの測定値を記録してもよい。例えば、ロボット１０は、マニピュレーター１４の制御基準点の位置が可動範囲の中心にある場合と、当該可動範囲の縁にある場合とのそれぞれについて過去におけるセンサーの測定値を記録してもよい。これにより、コントローラー２０は、マニピュレーター１４の制御基準点が可動範囲の中心にある場合における測定値として現在の測定値が正常であるか否かを判定できる。同様に、コントローラー２０は、マニピュレーター１４の制御基準点が可動範囲の縁にある場合における測定値として現在の測定値が正常であるか否かを判定できる。むろん、ロボット１０は、可動範囲を３個以上の空間に分割し、当該空間ごとに過去におけるセンサーの測定値を記録してもよい。
【００４６】
図３Ａ〜３Ｃは、ロボットシステムにおける解析部２１ａと指示部２１ｂの配置を示す模式図である。図３Ａは、第１実施形態における解析部２１ａと指示部２１ｂの配置を示す。すなわち、解析部２１ａと指示部２１ｂとが、双方ともコントローラー２０に備えられている。この構成において、センサー情報Ｉがロボット１０からコントローラー２０に送信され、当該センサー情報Ｉに基づいて生成された制御信号Ｄがロボット１０に送信される。
【００４７】
図３Ｂは、解析部４１ａが外部装置としての解析ＰＣ（personal computer）４０に備えられ、指示部２１ｂがコントローラー２０に備えられている例を示す。同図に示すように、ロボット１０の送信部１１ａが解析ＰＣ４０にセンサー情報Ｉを送信し、解析ＰＣ４０の解析部４１ａがセンサー情報Ｉを解析する。そして、解析ＰＣ４０は、解析部４１ａにおける解析結果を示す解析情報Ｒをコントローラー２０に送信する。例えば、解析情報Ｒは、第１実施形態における第２許容範囲を示す情報であってもよい。これにより、解析情報Ｒを受信したコントローラー２０において、指示部２１ｂはセンサー情報Ｉの解析結果に基づいてロボット１０を制御することができる。以上説明したように、ロボット１０の送信部１１ａは、コントローラー２０または外部装置（解析ＰＣ４０）にセンサー情報Ｉを送信すればよく、必ずしもコントローラー２０にセンサー情報Ｉを送信しなくてもよい。
【００４８】
図３Ｃは、解析部５１ａが外部装置としてのサーバー５０に備えられ、サーバー５０が複数のロボット１０と通信可能となっている例を示す。同図に示すように、コントローラー２０によって制御されている各ロボット１０がサーバー５０にセンサー情報Ｉを送信し、解析部５１ａがセンサー情報Ｉを収集する。そして、解析部５１ａは、センサー情報Ｉを統計処理することにより当該センサー情報Ｉを解析する。さらに、サーバー５０は、解析部５１ａにおける解析結果を示す解析情報Ｒをコントローラー２０に送信する。例えば、解析部５１ａは、複数のロボット１０から収集したセンサー情報Ｉが示す過去の測定値を統計処理することにより、第２許容範囲を導出してもよい。多数のセンサー情報Ｉを統計処理することができるため、統計的な信頼度の高い第２許容範囲を導出できる。また、センサー情報Ｉを収集したロボット１０の機種が異なっていても、共通して備えられているセンサーの測定値を統計処理することができ、統計的な信頼度の高い第２許容範囲を導出できる。
【００４９】
さらに、センサー情報Ｉはロボット１０内の記録部に備えられればよく、記録部は必ずしもロボット１０の制御部Ｃに備えられなくてもよい。例えば、ロボット１０が備えるセンサーごとにメモリーを備え、当該メモリーがセンサーについてのセンサー情報Ｉを記録してもよい。そして、センサー情報Ｉをコントローラー２０等に送信する段階で、送信部１１ａが各センサーに備えられたメモリーからセンサー情報Ｉを収集してもよい。例えば、マニピュレーターに対してエンドエフェクターが脱着可能な構成において、エンドエフェクターが備えるセンサーについてのセンサー情報Ｉが当該エンドエフェクターのメモリーに記録されてもよい。例えば、コントローラー２０は、エンドエフェクターのセンサーが示す個体番号のみに変化があった場合に、ロボット１０全体ではなくエンドエフェクターのみが交換されたことを認識できる。また、コントローラー２０は、必ずしもロボット１０と物理的に分離した装置でなくてもよく、双腕ロボット等においてコントローラー２０がロボット１０に内蔵されてもよい。さらに、ロボット１０は、コントローラー２０に備えられたセンサー群Ｓについてのセンサー情報Ｉを記録してもよい。さらに、センサー群Ｓまたは単一のセンサーはロボット１０以外に備えられてもよく、例えばコントローラー２０に対してロボット１０とともに交換され得るロボット１０の付属装置に備えられてもよい。例えば、ロボット１０に取り付けられる撮像ユニットや通信ユニットやエンドエフェクター等の付属装置にセンサー群Ｓが備えられ、当該センサー群Ｓについてのセンサー情報Ｉをロボット１０が記録してもよい。この場合、付属装置とロボット１０とが通信を行い、ロボット１０が通信によって取得したセンサー情報Ｉを記録すればよい。
【符号の説明】
【００５０】
１…ロボットシステム、１０…ロボット、１１…マニピュレーター、１１ａ…送信部、１２…メモリー、１４…マニピュレーター、１４ａ…駆動部、２０…コントローラー、２１ａ…解析部、２１ｂ…指示部、２２…メモリー、３０…ユーザーＩ／Ｆ…装置、４０…解析ＰＣ、４１ａ…解析部、５０…サーバー、５１ａ…解析部、Ｃ…制御部、Ｄ…制御信号、Ｇ…平均値、Ｈ…標準偏差、Ｉ…センサー情報、Ｐ…電源情報、Ｒ…解析情報、Ｓ…センサー群
【図１】
0006623522.tif 000002
【図２】
0006623522.tif 000003
【図３】
0006623522.tif 000004