(57)【要約】【課題】ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果の精度を向上させることができるロボット制御装置などを提供する。【解決手段】ロボットに備えられたエンドエフェクターが有する可動部を制御するロボット制御部と、前記可動部の位置を検出するエンコーダーにより検出された値に基づいて、前記可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する判定部と、を備えるロボット制御装置。【選択図】図１
2019042836.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに備えられたエンドエフェクターが有する可動部を制御するロボット制御部と、
前記可動部の位置を検出するエンコーダーにより検出された値に基づいて、前記可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する判定部と、
を備えるロボット制御装置。
【請求項２】
前記一端および前記他端は、それぞれ、前記可動部の速度の減少と、前記可動部を駆動する駆動部の電流の増加に基づいて、判定される、
請求項１に記載のロボット制御装置。
【請求項３】
前記可動部が前記一端にあるときの前記エンコーダーの値を以降の処理の基準として登録する原点登録部を備える、
請求項１または請求項２のいずれか１項に記載のロボット制御装置。
【請求項４】
前記可動部は、掌および指を含み、
前記指は、前記掌が可動する方向に対して垂直な方向に可動することが可能である、
請求項１から請求項３のいずれか１項に記載のロボット制御装置。
【請求項５】
前記ロボット制御部は、前記掌と前記指との干渉を回避する制御を行う、
請求項４に記載のロボット制御装置。
【請求項６】
請求項１から請求項５のいずれか１項に記載のロボット制御装置により制御される、
前記ロボット。
【請求項７】
請求項１から請求項５のいずれか１項に記載のロボット制御装置と、
前記ロボット制御装置により制御される前記ロボットと、
を備えるロボットシステム。
【請求項８】
ロボットに備えられたエンドエフェクターが有する可動部を制御するステップと、
前記可動部の位置を検出するエンコーダーにより検出された値に基づいて、前記可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定するステップと、
を備えるロボット制御方法。
【請求項９】
前記差が前記所定の範囲であると判定された場合、前記ロボットを動作させるプログラムの実行を可能とするステップを備える、
請求項８に記載のロボット制御方法。
【請求項１０】
前記差が前記所定の範囲ではないと判定された場合、前記ロボットを動作させるプログラムの実行を不能とするステップを備える、
請求項８または請求項９のいずれか１項に記載のロボット制御方法。
【請求項１１】
前記差が前記所定の範囲ではないと判定された場合、エラーに関するメッセージを出力するステップを備える、
請求項８から請求項１０のいずれか１項に記載のロボット制御方法。
【請求項１２】
ロボットを制御するロボット制御装置であって、
プロセッサーを備え、
前記プロセッサーは、前記ロボットに備えられたエンドエフェクターが有する可動部を制御し、
前記可動部の位置を検出するエンコーダーにより検出された値に基づいて、前記可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する指令を実行するように構成されている、
ロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボット、ロボットシステムおよびロボット制御方法に関する。
【背景技術】
【０００２】
ロボットでは、可動な掌を有するハンドが用いられる場合がある。この場合、ロボットでは、例えば、掌を所定の度当たりに度当てすることで、掌の原点合わせを行う（特許文献１参照。）。当該度当たりとしては、例えば、当該ハンドの指が用いられる。
【０００３】
ここで、本明細書では、「度当たり」とは、可動物に当接することで当該可動物の可動限界を決める物あるいは部分のことをいう。
また、本明細書では、「度当てる」とは、このような度当たりに可動物を当接させる動作のことをいう。
また、本明細書では、「度当て」とは、度当てることを行うことをいう。
【０００４】
しかしながら、ロボットでは、度当てが判定されたときに、実際には所定の度当たりに対する度当てではない場合があった。例えば、ロボットでは、掌が所定の度当たりに度当てされたことで当該掌の移動が停止したときと、掌の移動が他の理由により停止したときとを区別することができない場合があった。当該他の理由としては、例えば、掌が所定の度当たりの手前で異物に当接したという理由、あるいは、掌の移動が加工誤差により停止したという理由などがある。このような場合、掌の原点合わせにおいて、原点の位置に誤りが発生し得た。
なお、加工誤差としては、例えば、グリースの塗布量の程度による誤差、あるいは、ボルトとナットなどのように互いに組み合わされる物について組み合わせの程度による誤差などがあり得る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１６６２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のロボットでは、異物あるいは加工誤差などに起因して、エンドエフェクターの可動部の可動範囲に関する判定結果に誤りが発生する場合があった。
【課題を解決するための手段】
【０００７】
上記課題の少なくとも一つを解決するために本発明の一態様は、ロボットに備えられたエンドエフェクターが有する可動部を制御するロボット制御部と、前記可動部の位置を検出するエンコーダーにより検出された値に基づいて、前記可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する判定部と、を備えるロボット制御装置である。
この構成により、ロボット制御装置では、ロボットに備えられたエンドエフェクターが有する可動部の位置を検出するエンコーダーにより検出された値に基づいて、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する。これにより、ロボット制御装置では、ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果の精度を向上させることができる。
【０００８】
また、本発明の一態様は、ロボット制御装置において、前記一端および前記他端は、それぞれ、前記可動部の速度の減少と、前記可動部を駆動する駆動部の電流の増加に基づいて、判定される、構成とされてもよい。
この構成により、ロボット制御装置では、可動部の可動範囲の一端および他端は、それぞれ、可動部の速度の減少と、可動部を駆動する駆動部の電流の増加に基づいて、判定される。これにより、ロボット制御装置では、可動部の速度および可動部を駆動する駆動部の電流に基づいて、可動部の可動範囲の一端および他端を判定することができる。
【０００９】
また、本発明の一態様は、ロボット制御装置において、前記可動部が前記一端にあるときの前記エンコーダーの値を以降の処理の基準として登録する原点登録部を備える、構成とされてもよい。
この構成により、ロボット制御装置では、可動部が可動範囲の一端にあるときのエンコーダーの値を以降の処理の基準として登録する。これにより、ロボット制御装置では、可動部が可動範囲の一端にあるときのエンコーダーの値を以降の処理の基準として使用することができる。
【００１０】
また、本発明の一態様は、ロボット制御装置において、前記可動部は、掌および指を含み、前記指は、前記掌が可動する方向に対して垂直な方向に可動することが可能である、構成とされてもよい。
この構成により、ロボット制御装置では、可動部は、掌および指を含み、指は、掌が可動する方向に対して垂直な方向に可動することが可能である。これにより、ロボット制御装置では、ロボットのエンドエフェクターが有する掌および指の可動範囲に関する判定結果の精度を向上させることができる。
【００１１】
また、本発明の一態様は、ロボット制御装置において、前記ロボット制御部は、前記掌と前記指との干渉を回避する制御を行う、構成とされてもよい。
この構成により、ロボット制御装置では、ロボット制御部は、掌と指との干渉を回避する制御を行う。これにより、ロボット制御装置では、ロボットのエンドエフェクターが有する掌および指の可動範囲に関する判定を行うに際して、掌と指との干渉を回避することができる。
【００１２】
また、本発明の一態様は、上記のようなロボット制御装置により制御される、前記ロボットである。
この構成により、ロボットでは、当該ロボットに備えられたエンドエフェクターが有する可動部の位置を検出するエンコーダーにより検出された値に基づいて、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する。これにより、ロボットでは、当該ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果の精度を向上させることができる。
【００１３】
また、本発明の一態様は、上記のようなロボット制御装置と、前記ロボット制御装置により制御される前記ロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムでは、ロボットに備えられたエンドエフェクターが有する可動部の位置を検出するエンコーダーにより検出された値に基づいて、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する。これにより、ロボットシステムでは、ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果の精度を向上させることができる。
【００１４】
また、本発明の一態様は、ロボットに備えられたエンドエフェクターが有する可動部を制御するステップと、前記可動部の位置を検出するエンコーダーにより検出された値に基づいて、前記可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定するステップと、を備えるロボット制御方法である。
この構成により、ロボット制御方法では、ロボットに備えられたエンドエフェクターが有する可動部の位置を検出するエンコーダーにより検出された値に基づいて、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する。これにより、ロボット制御方法では、ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果の精度を向上させることができる。
【００１５】
また、本発明の一態様は、ロボット制御方法において、前記差が前記所定の範囲であると判定された場合、前記ロボットを動作させるプログラムの実行を可能とするステップを備える、構成とされてもよい。
この構成により、ロボット制御方法では、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であると判定された場合、ロボットを動作させるプログラムの実行を可能とする。これにより、ロボット制御方法では、ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果が正常であるとみなされる場合に、ロボットを動作させるプログラムの実行を可能とすることができる。
【００１６】
また、本発明の一態様は、ロボット制御方法において、前記差が前記所定の範囲ではないと判定された場合、前記ロボットを動作させるプログラムの実行を不能とするステップを備える、構成とされてもよい。
この構成により、ロボット制御方法では、可動部の可動範囲の一端における値と他端における値との差が所定の範囲ではないと判定された場合、ロボットを動作させるプログラムの実行を不能とする。これにより、ロボット制御方法では、ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果が異常であるとみなされる場合に、ロボットを動作させるプログラムの実行を不能とすることができる。
【００１７】
また、本発明の一態様は、ロボット制御方法において、前記差が前記所定の範囲ではないと判定された場合、エラーに関するメッセージを出力するステップを備える、構成とされてもよい。
この構成により、ロボット制御方法では、可動部の可動範囲の一端における値と他端における値との差が所定の範囲ではないと判定された場合、エラーに関するメッセージを出力する。これにより、ロボット制御方法では、ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果が異常であるとみなされる場合に、エラーに関するメッセージを出力することができる。
【００１８】
また、本発明の一態様は、ロボットを制御するロボット制御装置であって、プロセッサーを備え、前記プロセッサーは、前記ロボットに備えられたエンドエフェクターが有する可動部を制御し、前記可動部の位置を検出するエンコーダーにより検出された値に基づいて、前記可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する指令を実行するように構成されている、ロボット制御装置である。
この構成により、ロボット制御装置では、ロボットに備えられたエンドエフェクターが有する可動部の位置を検出するエンコーダーにより検出された値に基づいて、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する。これにより、ロボット制御装置では、ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果の精度を向上させることができる。
【００１９】
以上のように、本発明に係るロボット制御装置、ロボット、ロボットシステムおよびロボット制御方法によれば、ロボットに備えられたエンドエフェクターが有する可動部の位置を検出するエンコーダーにより検出された値に基づいて、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する。これにより、本発明に係るロボット制御装置、ロボット、ロボットシステムおよびロボット制御方法では、ロボット制御装置では、ロボットのエンドエフェクターが有する可動部の可動範囲に関する判定結果の精度を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係る双腕のロボットの概略的な構成例を示す図である。
【図２】本発明の一実施形態に係る双腕のロボットおよび周辺のハードウェアの概略的な構成例を示す図である。
【図３】本発明の一実施形態に係るロボット制御装置の機能ブロックの例を示す図である。
【図４】本発明の一実施形態に係るエンドエフェクターにおいて指および掌が開かれた状態の例を示す図である。
【図５】本発明の一実施形態に係るエンドエフェクターにおいて指および掌が閉じられた状態の例を示す図である。
【図６】本発明の一実施形態に係るロボット制御装置により行われる度当ての処理の手順の一例を示すフローチャートである。
【図７】本発明の一実施形態に係るロボット制御装置により行われる度当ての処理の手順の他の一例を示すフローチャートである。
【図８】本発明の一実施形態に係る単腕のロボットを含むロボットシステムの概略的な構成例を示す図である。
【図９】本発明の一実施形態に係る単腕のロボットおよび周辺のハードウェアの概略的な構成例を示す図である。
【発明を実施するための形態】
【００２１】
本発明の実施形態について図面を参照して詳細に説明する。
【００２２】
（第１実施形態）
［双腕のロボット］
図１は、本発明の一実施形態に係る双腕のロボット１の概略的な構成例を示す図である。
ロボット１は、概略的には、上部にある頭部と、中央部にある胴体部と、下部にある台部（台の部分）と、胴体部に設けられた腕部を備える。
ロボット１は、腕部として２本の腕を有する双碗のロボットである。
【００２３】
ロボット１は、一方の腕側の構成として、第１のマニピュレーターＭＮＰ１と、第１の力センサー３１−１と、第１のエンドエフェクターＥＮＤ１を備える。これらは一体化され、本実施形態では、第１のマニピュレーターＭＮＰ１と第１のエンドエフェクターＥＮＤ１との間に第１の力センサー３１−１を備える。
ロボット１は、他方の腕側の構成として、第２のマニピュレーターＭＮＰ２と、第２の力センサー３１−２と、第２のエンドエフェクターＥＮＤ２を備える。これらは一体化され、本実施形態では、第２のマニピュレーターＭＮＰ２と第２のエンドエフェクターＥＮＤ２との間に第２の力センサー３１−２を備える。
【００２４】
本実施形態では、一方の腕側の構成（エンドエフェクターＥＮＤ１が取り付けられたマニピュレーターＭＮＰ１）により７軸の自由度の動作を行うことが可能であり、他方の腕側の構成（エンドエフェクターＥＮＤ２が取り付けられたマニピュレーターＭＮＰ２）により７軸の自由度の動作を行うことが可能である。他の構成例として、６軸以下または８軸以上の自由度の動作を行う腕を有するロボットが実施されてもよい。
ここで、マニピュレーターＭＮＰ１、ＭＮＰ２は、７軸の自由度で動作する場合、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増えることによって、例えば、動作が滑らかになり、当該マニピュレーターＭＮＰ１、ＭＮＰ２の周辺に存在する物体との干渉を容易に回避することができる。また、マニピュレーターＭＮＰ１、ＭＮＰ２が７軸の自由度で動作する場合、当該マニピュレーターＭＮＰ１、ＭＮＰ２の制御では、マニピュレーターＭＮＰ１、ＭＮＰ２が８軸以上の自由度で動作する場合と比較して、計算量が少なく容易である。このような理由から、本実施形態では、好ましい一例として、７軸の自由度で動作するマニピュレーターＭＮＰ１、ＭＮＰ２が用いられている。
【００２５】
また、本実施形態では、胴体部は、腰の部分で、１軸の自由度で回動（回転）することが可能な構成である。
また、ロボット１は、頭部の左右のそれぞれに設けられた２個の撮像部（第１の撮像部１１−１、第２の撮像部１１−２）と、第１のマニピュレーターＭＮＰ１の所定部位に設けられた撮像部（第３の撮像部２１−１）と、第２のマニピュレーターＭＮＰ２の所定部位に設けられた撮像部（第４の撮像部２１−２）を備える。
それぞれの撮像部（第１の撮像部１１−１、第２の撮像部１１−２、第３の撮像部２１−１、第４の撮像部２１−２）は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）あるいはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等を用いたカメラである。
第１の撮像部１１−１および第２の撮像部１１−２は、それぞれ、頭部の動きに応じて動かされる。
第３の撮像部２１−１および第４の撮像部２１−２は、それぞれ、第１のマニピュレーターＭＮＰ１および第２のマニピュレーターＭＮＰ２のそれぞれの動きに応じて動かされる。
【００２６】
また、ロボット１は、ロボット制御装置５１を備える。本実施形態では、ロボット１は、台部の内部にロボット制御装置５１を備える。
ロボット制御装置５１は、ロボット１の動作を制御する。ロボット制御装置５１は、例えば、第１のマニピュレーターＭＮＰ１および第２のマニピュレーターＭＮＰ２の動作を制御する。さらに、ロボット１の腰などの部分の動作が可能な構成では、ロボット制御装置５１は当該腰などの部分の動作を制御する。
本実施形態では、第１の撮像部１１−１、第２の撮像部１１−２、第３の撮像部２１−１および第４の撮像部２１−２のそれぞれは、画像を撮像して、撮像された画像の情報をロボット制御装置５１に送信（出力）する。また、第１の力センサー３１−１および第２の力センサー３１−２のそれぞれは、第１のエンドエフェクターＥＮＤ１および第２のエンドエフェクターＥＮＤ２のそれぞれに作用する力およびモーメントのうちの一方または両方を検出して、検出結果の情報をロボット制御装置５１に送信（出力）する。ロボット制御装置５１は、これらの情報を受信（入力）し、受信された情報を、ロボット１の動作を制御する際に、使用することが可能である。
【００２７】
ここで、第１の撮像部１１−１、第２の撮像部１１−２、第３の撮像部２１−１、第４の撮像部２１−２、第１の力センサー３１−１および第２の力センサー３１−２のそれぞれとロボット制御装置５１とは有線のケーブル（有線の回線）を介して接続されており、当該ケーブルを介して情報を通信することが可能である。なお、有線の回線の代わりに、無線の回線が用いられてもよい。
【００２８】
本実施形態では、第１のマニピュレーターＭＮＰ１の位置および姿勢、第２のマニピュレーターＭＮＰ２の位置および姿勢、および各撮像部（第１の撮像部１１−１、第２の撮像部１１−２、第３の撮像部２１−１、第４の撮像部２１−２）により撮像される画像について、座標系のキャリブレーションが行われている。
【００２９】
本実施形態では、ロボット制御装置５１は、あらかじめ設定されたプログラム（動作制御プログラム）にしたがって、ロボット１の動作を制御する。ロボット制御装置５１は、ロボット１の動作を実現するために必要な各種の情報を、ロボット１（本体）に対して教示する。
具体例として、ロボット制御装置５１は、各マニピュレーター（第１のマニピュレーターＭＮＰ１および第２のマニピュレーターＭＮＰ２）の動作を制御することで、各エンドエフェクター（第１のエンドエフェクターＥＮＤ１および第２のエンドエフェクターＥＮＤ２）により物体を保持することが可能である。また、ロボット制御装置５１は、各エンドエフェクターＥＮＤ１、ＥＮＤ２により保持された物体を移動させること、各エンドエフェクターＥＮＤ１、ＥＮＤ２により保持された物体を所定位置に載置して離す（保持を解除する）こと、各エンドエフェクターＥＮＤ１、ＥＮＤ２により保持された物体を加工（例えば、穴開けなど）すること、なども可能である。
【００３０】
本実施形態では、それぞれのエンドエフェクターＥＮＤ１、ＥＮＤ２は、掌４１−１、４１−２および指（爪などと呼ばれてもよい。）４２−１、４２−２を備える。
他の構成例として、ロボット１のエンドエフェクターＥＮＤ１、ＥＮＤ２は、任意のものであってもよく、例えば、空気の吸引を利用して物体を吸着するものであって可動部を有するもの、あるいは、磁力を利用して物体を寄せ付けるものであって可動部を有するもの、などであってもよい。保持の態様には、例えば、把持、挟持、吸着などが含まれてもよい。
【００３１】
ここで、本実施形態では、ロボット１に備えられた撮像部１１−１〜１１−２、２１−１〜２１−２が画像の撮像に使用されるが、他の構成例として、ロボット１の外部に他の撮像部が設けられて用いられてもよい。
【００３２】
［双腕のロボットおよび周辺のハードウェア］
図２は、本発明の一実施形態に係る双腕のロボット１および周辺のハードウェアの概略的な構成例を示す図である。
図２には、ロボットシステム１０１の構成要素として、ロボット１と、情報処理装置１１１と、クラウドにある情報処理装置１１２と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１２１と、ケーブル（回線）１３１を示してある。
それぞれの情報処理装置１１１、１１２は、例えば、パーソナルコンピューターである。
また、情報処理装置１１２は、いわゆるクラウド上に存在する。
なお、図２の例では、１個の情報処理装置１１１を示したが、他の例として、同じ機能が複数の情報処理装置の機能により実現されてもよい。
同様に、図２の例では、クラウドにある１個の情報処理装置１１２を示したが、他の例として、同じ機能が複数の情報処理装置の機能により実現されてもよい。
【００３３】
ロボット１のロボット制御装置５１と情報処理装置１１１とは、ケーブル１３１を介して互いに通信可能に接続されている。
ロボット制御装置５１は、ＬＡＮ１２１と接続されている。
また、情報処理装置１１１は、ＬＡＮ１２１と接続されている。
クラウドにある情報処理装置１１２は、ＬＡＮ１２１と接続されている。
ＬＡＮ１２１に接続された複数の装置（本例では、情報処理装置１１１、１１２、ロボット制御装置５１）は、ＬＡＮ１２１を介して互いに通信することが可能である。
ここで、有線のケーブル１３１の代わりに、無線の回線が用いられてもよい。
また、ＬＡＮ１２１としては、例えば、有線のＬＡＮが用いられてもよく、あるいは、無線のＬＡＮが用いられてもよい。
【００３４】
ロボット１に内蔵されたロボット制御装置５１は、プロセッサー１５１と、メモリー１５２と、通信部１５３を備える。
プロセッサー１５１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などである。
メモリー１５２は、指令１６１を含む。指令１６１は、例えば、プログラムに記述された指令を表す。ここで、指令１６１は、例えば、１つのプログラムに記述された複数の指令の全体をまとめて表してもよく、あるいは、１つのプログラムに記述された複数の指令のうちの１つまたは一部分を表わしてもよい。指令１６１は、例えば、コンピューターにより実行可能な各種の指令（例えば、プログラム、コード等）であってもよい。
プロセッサー１５１は、メモリー１５２に記憶された指令１６１（例えば、動作制御プログラム）を実行して、当該指令１６１にしたがった処理を実行する。
通信部１５３は、ケーブル１３１を介して、情報処理装置１１１と通信する。
また、通信部１５３は、ＬＡＮ１２１を介して、クラウドにある情報処理装置１１２などと通信する。
【００３５】
情報処理装置１１１は、プロセッサー１７１と、メモリー１７２と、通信部１７３を備える。
プロセッサー１７１は、例えば、ＣＰＵなどである。
メモリー１７２は、指令（図示せず）を含む。当該指令は、例えば、ロボット制御装置５１における指令１６１と同様に、プログラムに記述された指令を表す。
プロセッサー１７１は、メモリー１７２に記憶された指令（例えば、動作制御プログラム）を実行して、当該指令にしたがった処理を実行する。
通信部１７３は、ケーブル１３１を介して、ロボット制御装置５１と通信する。
また、通信部１７３は、ＬＡＮ１２１を介して、クラウドにある情報処理装置１１２などと通信する。
【００３６】
クラウドにある情報処理装置１１２は、プロセッサー１８１と、メモリー１８２と、通信部１８３を備える。
プロセッサー１８１は、例えば、ＣＰＵなどである。
メモリー１８２は、指令（図示せず）を含む。当該指令は、例えば、ロボット制御装置５１における指令１６１と同様に、プログラムに記述された指令を表す。
プロセッサー１８１は、メモリー１８２に記憶された指令（例えば、動作制御プログラム）を実行して、当該指令にしたがった処理を実行する。
通信部１８３は、ＬＡＮ１２１を介して、ロボット制御装置５１あるいは情報処理装置１１１などと通信する。
【００３７】
ここで、ロボット制御装置５１は、単独でロボット１を制御してもよく、あるいは、他の装置の機能を利用してロボット１を制御してもよい。
一例として、情報処理装置１１１がロボット制御装置５１を制御することで、ロボット制御装置５１がロボット１を制御してもよい。つまり、情報処理装置１１１の機能とロボット制御装置５１の機能を組み合わせて、ロボット１を制御してもよい。
他の例として、クラウドにある情報処理装置１１２が情報処理装置１１１を制御し、情報処理装置１１１がロボット制御装置５１を制御することで、ロボット制御装置５１がロボット１を制御してもよい。つまり、クラウドにある情報処理装置１１２の機能と、情報処理装置１１１の機能と、ロボット制御装置５１の機能を組み合わせて、ロボット１を制御してもよい。
他の例として、クラウドにある情報処理装置１１２がロボット制御装置５１を制御することで、ロボット制御装置５１がロボット１を制御してもよい。つまり、クラウドにある情報処理装置１１２の機能とロボット制御装置５１の機能を組み合わせて、ロボット１を制御してもよい。
【００３８】
なお、図２の例では、ロボット制御装置５１が、ケーブル１３１を介して情報処理装置１１１と接続されるとともに、ＬＡＮ１２１と接続される構成を示したが、他の構成例として、いずれか一方のみと接続される構成が用いられてもよい。
【００３９】
［ロボット制御装置の機能ブロック］
図３は、本発明の一実施形態に係るロボット制御装置５１の機能ブロックの例を示す図である。
ロボット制御装置５１は、入力部２１１と、出力部２１２と、記憶部２１３と、通信部２１４と、制御部２１５を備える。
制御部２１５は、情報取得部２３１と、原点登録部２３２と、判定部２３３と、ロボット制御部２３４を備える。
【００４０】
ここで、入力部２１１および出力部２１２は、例えば、外部との間で情報を入出力するインターフェイス（図２の例では、図示を省略。）を用いて構成される。
また、記憶部２１３は、例えば、図２の例におけるメモリー１５２を用いて構成される。
また、通信部２１４は、例えば、図２の例における通信部１５３に相当する。
また、制御部２１５は、例えば、図２の例におけるプロセッサー１５１を用いて構成される。
なお、他の構成例として、記憶部２１３は、例えば、図２の例における複数のメモリー１５２、１７２、１８２のうちの１以上を用いて構成されてもよい。通信部２１４は、例えば、図２の例における複数の通信部１５３、１７３、１８３のうちの１以上を用いて構成されてもよい。制御部２１５は、例えば、図２の例における複数のプロセッサー１５１、１７１、１８１のうちの１以上を用いて構成されてもよい。
【００４１】
入力部２１１は、外部から情報を入力する。一例として、入力部２１１は、キーボードあるいはマウスなどの操作部を備え、当該操作部に対してユーザー（人）により行われる操作の内容に応じた情報を入力する。他の例として、入力部２１１は、エンドエフェクターＥＮＤ１〜ＥＮＤ２、マニピュレーターＭＮＰ１〜ＭＮＰ２、あるいは、撮像部１１−１〜１１−２、２１−１〜２１−２などから出力される情報を入力する。本実施形態では、エンドエフェクターＥＮＤ１〜ＥＮＤ２から出力される情報は、当該エンドエフェクターＥＮＤ１〜ＥＮＤ２の駆動部のエンコーダーの値に関する情報を含む。
出力部２１２は、外部に情報を出力する。一例として、出力部２１２は、表示部により情報を表示出力する。当該表示部は、例えば、画面を有するディスプレイ装置であり、当該画面に情報を表示出力する。他の例として、出力部２１２は、他の態様で情報を出力してもよく、例えば、音（音声を含む。）により情報を出力してもよい。他の例として、出力部２１２は、エンドエフェクターＥＮＤ１〜ＥＮＤ２、マニピュレーターＭＮＰ１〜ＭＮＰ２、あるいは、撮像部１１−１〜１１−２、２１−１〜２１−２などへ情報を出力する。
【００４２】
ここで、入力部２１１の全部または一部の機能と、出力部２１２の全部または一部の機能とが、共通の機器を用いて構成されてもよい。一例として、情報を表示する画面を有するとともに、当該画面に表示されたボタンの押下などの指示をユーザーから受け付けるタッチパネルが用いられてもよい。
【００４３】
記憶部２１３は、情報を記憶する。一例として、記憶部２１３は、制御部２１５により使用される動作制御プログラムおよび各種のパラメーターの情報を記憶する。他の例として、記憶部２１３は、任意の情報を記憶してもよく、例えば、ロボット１を制御する際に使用される画像などの情報を記憶してもよい。
通信部２１４は、外部の装置との間で回線を介して通信する。
【００４４】
制御部２１５は、ロボット制御装置５１において各種の制御を行う。制御部２１５は、例えば、ＣＰＵを用いて構成されており、記憶部２１３に記憶された動作制御プログラムおよび各種のパラメーターの情報に基づいて、各種の制御を行う。
【００４５】
情報取得部２３１は、情報を取得する。情報取得部２３１は、例えば、入力部２１１により入力される情報、または、記憶部２１３に記憶された情報のうちの１以上を取得する。
原点登録部２３２は、エンドエフェクターＥＮＤ１〜ＥＮＤ２の可動部である掌４１−１〜４１−２あるいは指４２−１〜４２−２について、原点を登録する処理を行う。
判定部２３３は、情報取得部２３１により取得された情報などに基づいて、所定の判定の処理を行う。
ロボット制御部２３４は、ロボット１の動作を制御する。具体的には、ロボット制御部２３４は、それぞれのマニピュレーターＭＮＰ１〜ＭＮＰ２と通信することで、それぞれのマニピュレーターＭＮＰ１〜ＭＮＰ２の動作を制御する。また、ロボット制御部２３４は、それぞれのエンドエフェクターＥＮＤ１〜ＥＮＤ２と通信することで、それぞれのエンドエフェクターＥＮＤ１〜ＥＮＤ２の可動部の動作を制御する。
ここで、原点登録部２３２、判定部２３３あるいはロボット制御部２３４は、情報取得部２３１により取得された情報に基づいて、それぞれの処理を実行してもよい。
【００４６】
［エンドエフェクターの例］
図４および図５を参照して、エンドエフェクターＥＮＤ１の構成例を示す。なお、本実施形態では、エンドエフェクターＥＮＤ２の構成についても、エンドエフェクターＥＮＤ１の構成と同様である。本実施形態では、それぞれのエンドエフェクターＥＮＤ１、ＥＮＤ２は、電動で制御される。
【００４７】
図４は、本発明の一実施形態に係るエンドエフェクターＥＮＤ１において指３３１〜３３４および掌４１−１が開かれた状態の例を示す図である。
図５は、本発明の一実施形態に係るエンドエフェクターＥＮＤ１において指３３１〜３３４および掌４１−１が閉じられた状態の例を示す図である。
図４および図５の例において、４本の指３３１〜３３４は、図１の例における指４２−１（図１の例では簡略化して１本のみに符号を付してあるが、ここでは４本の指）に相当する。
【００４８】
エンドエフェクターＥＮＤ１は、基台３１１と、掌４１−１と、４本の指３３１〜３３４を備える。本実施形態では、基台３１１は直方体の形状を有しており、当該直方体は互いに対向する２個の正方形の面３９１、３９２を有する。基台３１１の一方の面３９１は、ロボット１のマニピュレーターＭＮＰ１の側に接続される。基台３１１の他方の面３９２には、中央部に掌４１−１が備えられており、４角のそれぞれに４本の指３３１〜３３４のそれぞれが備えられている。
【００４９】
エンドエフェクターＥＮＤ１は、掌４１−１を面３９２に対して垂直方向に移動することが可能な機構を有している。本実施形態では、掌４１−１を面３９２に対して外側（面３９１とは反対の側）に押し出す方向を開の方向とし、掌４１−１を面３９２に対して内側（面３９１の側）に引っ込める方向を閉の方向とする。掌４１−１は、閉の方向では、面３９２に対して内側（面３９１の側）に収容されていく。掌４１−１は、開の方向では、面３９２に対して外側（面３９１とは反対の側）に出されていく。
【００５０】
また、エンドエフェクターＥＮＤ１は、４本の指３３１〜３３４の先の離間距離を変化させることが可能な機構を有している。本実施形態では、面３９２に対して垂直であって当該面３９２の中心を通る線上から４本の指３３１〜３３４の先を遠ざける方向を開の方向とし、当該線上に４本の指３３１〜３３４の先を近付ける方向を閉の方向とする。
本実施形態では、４本の指３３１〜３３４のそれぞれの根元の部分が、ＸＹ平面に平行な面において、面３９２の中心点から遠ざけられる方向および面３９２の中心点に近付けられる方向にスライドして移動することが可能な構成となっている。なお、指３３１〜３３４を開閉する機構としては、任意の機構が用いられてもよい。
【００５１】
本実施形態では、エンドエフェクターＥＮＤ１は、掌４１−１の可動範囲の全体と、４本の指３３１〜３３４の可動範囲の全体において、掌４１−１と指３３１〜３３４とが衝突（以下で、「干渉」ともいう。）する場合があり得る構成となっている。このため、ロボット１では、掌４１−１と指３３１〜３３４との干渉を回避することが好ましい。
また、他の構成例として、一部の指と他の一部の指とが干渉し得るエンドエフェクターが用いられる場合には、このような干渉を回避することが好ましい。
なお、他の構成例として、干渉が発生しない掌と指を有するエンドエフェクターが用いられてもよい。
【００５２】
ここで、図４および図５には、エンドエフェクターＥＮＤ１に備えられたエンコーダー部３７１を示してある。エンコーダー部３７１は、例えば、エンドエフェクターＥＮＤ１の内部に備えられている。なお、エンコーダー部３７１は、他のところに備えられてもよい。また、本実施形態では、掌４１−１と指３３１〜３３４とで共通のエンコーダー部３７１を備えるが、他の構成例として、掌４１−１と指３３１〜３３４とで別々のエンコーダー部を備えてもよい。
【００５３】
また、エンコーダー部３７１は、掌４１−１の開閉（押す、または、引く）の動作について、開閉の度合い（位置）を表す値を検出するエンコーダーの機能を有する。開閉の度合いとしては、例えば、掌４１−１が開く（押す）方向に変化している度合い、あるいは、掌４１−１が閉じる（引く）方向に変化している度合いを用いることができる。当該エンコーダーは、掌４１−１の開閉の動作を行う駆動部の変化の度合い（例えば、当該動作を駆動するモーターの回動位置であり、正負の回動方向を考慮した位置）を表す値を検出する。当該駆動部の変化の度合いは、掌４１−１の開閉の度合いと、比例などの関係で、相関関係を有する。
【００５４】
また、エンコーダー部３７１は、指３３１〜３３４の開閉の動作について、開閉の度合い（位置）を表す値を検出するエンコーダーの機能を有する。開閉の度合いとしては、例えば、指３３１〜３３４が開く方向に変化している度合い、あるいは、指３３１〜３３４が閉じる方向に変化している度合いを用いることができる。当該エンコーダーは、指３３１〜３３４の開閉の動作を行う駆動部の変化の度合い（例えば、当該動作を駆動するモーターの回動位置であり、正負の回動方向を考慮した位置）を表す値を検出する。当該駆動部の変化の度合いは、指３３１〜３３４の開閉の度合いと、比例などの関係で、相関関係を有する。なお、本実施形態では、４本の指３３１〜３３４の開閉の動作が同期させられている（一緒に同じ開閉の動作が行われる）が、他の構成例として、それぞれの指３３１〜３３４ごとに独立して開閉の動作が行われてもよい。
【００５５】
なお、図４および図５には、三次元直交座標系であるＸＹＺ直交座標系を示してある。
図４および図５の例では、ＸＹ平面に、基台３１１の面３９１が配置されている。Ｘ軸の方向は、当該面３９１が有する正方形の一辺の方向に相当する。Ｙ軸の方向は、Ｘ軸に対して垂直な方向に相当する。Ｚ軸の方向は、２個の面３９１、３９２に対して垂直な方向に相当する。
２本の指３３１、３３２はＸ軸に平行な方向に並んでおり、２本の指３３３、３３４はＸ軸に平行な方向に並んでいる。また、２本の指３３１、３３４はＹ軸に平行な方向に並んでおり、２本の指３３２、３３３はＹ軸に平行な方向に並んでいる。
掌４１−１は、Ｚ軸に平行な方向に並進することが可能である。
本実施形態では、指３３１〜３３４は、掌４１−１が可動する方向に対して垂直な方向（当該方向の成分）に可動することが可能である。
【００５６】
［度当たりの説明］
本実施形態では、判定部２３３は、可動部の可動範囲の一端と他端を判定する。当該可動部は、本実施形態では、エンドエフェクターＥＮＤ１の掌４１−１あるいは指３３１〜３３４、または、エンドエフェクターＥＮＤ２の掌あるいは指である。
掌４１−１について、可動範囲の一端の位置は、掌４１−１が最も引っ込められたときの位置に相当する。このとき、掌４１−１と基台３１１の一部（度当たり）とが当接し、それ以上は掌４１−１は基台３１１の側（例えば、基台３１１の内部）へ移動できない。本実施形態では、この位置は、掌４１−１と基台３１１の面３９２とが同一の平面に位置するときの位置である。
掌４１−１について、可動範囲の他端の位置は、掌４１−１が最も押し出されたときの位置に相当する。このとき、掌４１−１を動かす機構部が他の物（度当たり）と当接し、それ以上は掌４１−１は基台３１１と反対の側（外側）へ移動できない。当該機構部は、一例として、ギアであり、また、当該他の物（度当たり）は、例えば、ギアの歯が無くなる端の部分である。具体例として、ラックアンドピニオンのギアが用いられる場合、ラックとピニオンとの噛み合いが無くなる端の部分が度当たりとして用いられてもよい。当該機構部は、他の例として、ボルトとナットであり、当該他の物（度当たり）は、例えば、ボルトとナットとを組み合わせるための回転形の溝が無くなる端の部分である。
【００５７】
指３３１〜３３４について、可動範囲の一端の位置は、指３３１〜３３４が最も閉じられたときの位置に相当する。このとき、４本の指３３１〜３３４（それぞれの指が他の指にとって度当たりとなる。）の先が当接し、それ以上は指３３１〜３３４は閉じる向きに移動できない。
指３３１〜３３４について、可動範囲の他端の位置は、指３３１〜３３４が最も開かれたときの位置に相当する。このとき、指３３１〜３３４を動かす機構部が他の物（度当たり）と当接し、それ以上は指３３１〜３３４は開くことができない。当該機構部としては、例えば、掌４１−１について説明したものと同様なものが用いられてもよい。
【００５８】
制御部２１５において、可動部と度当たりとの度当てを検出する手法としては、任意の手法が用いられてもよい。
一例として、制御部２１５において、可動部の速度を速度センサーなどにより検出し、検出された速度の値が所定の閾値以下となった場合（または、所定の閾値より小さくなった場合）に、度当てが完了したと判定する手法が用いられてもよい。さらに、例えば、制御部２１５において、可動部の速度の値が所定の閾値を超える値から当該所定の閾値より小さい値となった場合（速度が減少した場合）に、度当てが完了したと判定する手法が用いられてもよい。
他の例として、制御部２１５において、可動部を動かす駆動部のモーターを流れる電流を電流センサーなどにより検出し、検出された電流の値が所定の閾値以上となった場合（または、所定の閾値を超えた場合）に、度当てが完了したと判定する手法が用いられてもよい。さらに、例えば、制御部２１５において、可動部を動かす駆動部のモーターを流れる値が所定の閾値より小さい値から当該所定の閾値を超える値となった場合（電流が増加した場合）に、度当てが完了したと判定する手法が用いられてもよい。
【００５９】
他の例として、制御部２１５において、可動部の速度（例えば、速度の減少）と、可動部を動かす駆動部のモーターを流れる電流（例えば、電流の増加）の両方に基づいて、度当てが完了したと判定する手法が用いられてもよい。
なお、度当てを検出する手法としては、例えば、接触センサー、力センサー（力センサー３１−１、３１−２、あるいは、他の力センサー）、圧力センサーなどのうちの１以上による検出結果を用いる手法が用いられてもよく、あるいは、これらのセンサーによる検出結果を用いない手法が用いられてもよい。
【００６０】
［ロボット制御装置により行われる処理の例］
図６は、本発明の一実施形態に係るロボット制御装置５１により行われる度当ての処理の手順の一例を示すフローチャートである。
図６の説明では、エンドエフェクターＥＮＤ１が有する掌４１−１または指３３１〜３３４のうちの一方について行われる処理を説明する。図６の説明では、「対象部」は、掌４１−１、または、指３３１〜３３４のうちの一方を示す。
また、図６の説明では、掌４１−１と指３３１〜３３４との干渉を回避することについては説明を省略するが、制御部２１５は、対象部（掌４１−１または指３３１〜３３４のうちの一方）についての処理において、当該対象部以外のもの（掌４１−１または指３３１〜３３４のうちの他方）との干渉が回避された状態を維持するとする。この場合、制御部２１５は、例えば、対象部と、当該対象部以外のものについて、それぞれの位置あるいは姿勢などを把握している。
なお、本実施形態では、エンドエフェクターＥＮＤ２について行われる処理についても、エンドエフェクターＥＮＤ１について行われる処理と同様である。
【００６１】
図６に示される一連の処理は、例えば、ユーザーにより入力された所定の指示に応じてロボット制御装置５１により行われてもよく、あるいは、当該処理を開始するための所定の条件が満たされたことが判定されたことに応じてロボット制御装置５１により（自動的に）行われてもよい。
【００６２】
（ステップＳ１）
制御部２１５は、ロボット制御部２３４によりエンドエフェクターＥＮＤ１が有する対象部を動かして、可動範囲の一方（一端）で度当てする。そして、ステップＳ２の処理へ移行する。
【００６３】
（ステップＳ２）
制御部２１５は、原点登録部２３２により原点登録の処理を行う。そして、ステップＳ３の処理へ移行する。
ここで、原点登録の処理としては、例えば、可動範囲の一方（一端）で度当てした状態において原点を登録する処理が用いられる。本実施形態では、原点登録部２３２は、それぞれのエンドエフェクターＥＮＤ１〜ＥＮＤ２の可動部の可動範囲の一端について、エンコーダーの値を以降の処理の基準として登録する。これにより、制御部２１５では、可動部の可動範囲の一端について、エンコーダーの値を以降の処理の基準として使用することができる。
一例として、原点登録の処理としては、対象部の動作に関するエンコーダーの値を所定の値（例えば、０）にリセットする処理が用いられる。他の例として、原点登録の処理としては、対象部の動作に関するエンコーダーの値を記憶して、記憶した値をオフセット値とする処理が用いられてもよい。
【００６４】
（ステップＳ３）
制御部２１５は、ロボット制御部２３４によりエンドエフェクターＥＮＤ１が有する対象部を動かして、可動範囲の他方（他端）で度当てする。そして、ステップＳ４の処理へ移行する。
【００６５】
（ステップＳ４）
制御部２１５は、判定部２３３により原点登録に基づく情報が適切であるか否かを判定する所定の条件を満たすか否かを判定する。本実施形態では、ステップＳ３の処理（度当て）が完了したときにおける対象部の位置（度当たった位置）を現在位置として、当該現在位置において、ステップＳ４の処理が行われる。
この判定の結果、制御部２１５は、判定部２３３により所定の条件を満たすことを判定した場合（ステップＳ４：ＹＥＳ）、ステップＳ５の処理へ移行する。
一方、この判定の結果、制御部２１５は、判定部２３３により所定の条件を満たさないことを判定した場合（ステップＳ４：ＮＯ）、ステップＳ６の処理へ移行する。
【００６６】
ここで、原点登録に基づく情報としては、例えば、エンコーダーの値に関する情報が用いられる。
一例として、原点登録の処理として、対象部の動作に関するエンコーダーの値を所定の値（例えば、０）にリセットする処理が用いられる場合、原点登録に基づく情報として、例えば、エンコーダーの値を表す情報が用いられる。当該情報は、当該対象部の可動範囲の一端と他端との相対位置を表す情報となる。
他の例として、原点登録の処理として、対象部の動作に関するエンコーダーの値を記憶して、記憶した値をオフセット値とする処理が用いられる場合、原点登録に基づく情報として、例えば、エンコーダーの値から当該オフセット値を減算した結果の値を表す情報が用いられる。当該情報は、当該対象部の可動範囲の一端と他端との相対位置（本実施形態では、エンコーダーの値の差）を表す情報となる。
【００６７】
また、原点登録に基づく情報が適切であるか否かを判定する所定の条件としては、例えば、エンコーダーの値に関する範囲が用いられる。
一例として、所定の条件として、エンコーダーの値に関する情報（原点登録に基づく情報）が所定の範囲にある場合に、原点登録に基づく情報が適切（正常）であるとし、条件を満たす（原点出しが成功した）とする一方、エンコーダーの値に関する情報（原点登録に基づく情報）が所定の範囲にない場合に、原点登録に基づく情報が不適切（異常）であるとし、条件を満たさない（原点出しが失敗した）とする、条件が用いられてもよい。
範囲としては、例えば、上限値と下限値が用いられてもよい。一例として、上限値以下または上限値より小さく、かつ、下限値以上または下限値より大きい場合に、当該範囲にあるとする条件が用いられてもよい。
【００６８】
また、範囲としては、例えば、所定の値（下限値）以上である範囲、あるいは、所定の値（下限値）を超える範囲が用いられてもよい。
また、範囲としては、例えば、所定の値（上限値）以下である範囲、あるいは、所定の値（上限値）より小さい範囲が用いられてもよい。
なお、本実施形態では、範囲の境界線（上限値と下限値のそれぞれ）については、例えば、当該範囲に含まれると捉えられてもよく、あるいは、当該範囲に含まれないと捉えられてもよい。
【００６９】
ここで、所定の範囲（例えば、上限値、下限値といった閾値）としては、例えば、複数の方向（例えば、Ｘ軸に平行な方向、Ｙ軸に平行な方向、Ｚ軸に平行な方向など）のそれぞれごとに設定されてもよい。また、所定の範囲は、例えば、掌４１−１あるいは指３３１〜３３４の仕様上のストロークの値に基づいて設定されてもよい。
また、所定の範囲は、例えば、対象部（本実施形態では、掌４１−１あるいは指３３１〜３３４）の撓み量あるいは度当たりの撓み量を含むように設定されてもよい。例えば、掌４１−１の場合、掌４１−１の撓み量と、基台３１１の撓み量とのうちの一方または両方が考慮されてもよい。また、例えば、指３３１〜３３４の場合、指３３１〜３３４の撓み量が考慮されてもよい。
このように、対象部あるいは度当たりが完全な剛体ではない場合には、撓みによって、他の物体と接触した状態よりも少し押される（内側に撓む）ことが可能である。
【００７０】
（ステップＳ５）
制御部２１５は、対象部の原点登録が適切であると判定した場合、その後において、当該対象部を用いたロボット１の動作を実行可能とするように制御する。そして、本フローの処理が終了する。
ここで、ロボット１の動作を実行可能とするように制御する態様としては、例えば、該当する動作制御プログラムの実行を可能とするように制御する態様が用いられてもよい。
【００７１】
（ステップＳ６）
制御部２１５は、対象部の原点登録が適切ではないと判定した場合、その後において、当該対象部を用いたロボット１の動作を抑制するように制御する。ステップＳ６の処理において、制御部２１５は、例えば、エラーメッセージなどの表示情報あるいは警告音などの音情報などを出力部２１２により出力してもよい。また、ステップＳ６の処理において、制御部２１５は、例えば、ロボット１の動作の全体あるいは所定の一部を停止させてもよい。そして、本フローの処理が終了する。
【００７２】
ここで、ロボット１の動作を抑制するように制御する態様としては、例えば、該当する動作制御プログラムの実行を抑制するように制御する態様が用いられてもよい。当該動作制御プログラムは、例えば、マニピュレーターＭＮＰ１、ＭＮＰ２およびエンドエフェクターＥＮＤ１、ＥＮＤ２の動作を制御するプログラムである。
なお、動作を抑制する態様としては、例えば、動作を禁止する態様が用いられてもよく、あるいは、他の所定の条件が満たされないときには動作を禁止する態様が用いられてもよい。
【００７３】
他の構成例として、ステップＳ４の処理からステップＳ６の処理へ移行する前に、所定の回数だけリトライ（ステップＳ１〜ステップＳ４の処理の再試行）が行われてもよい。この構成では、当該所定の回数だけ連続的にステップＳ４の処理で所定の条件が満たされないことが判定された場合にステップＳ６の処理へ移行する。
【００７４】
＜掌と指に関する度当ての処理の例＞
図７は、本発明の一実施形態に係るロボット制御装置５１により行われる度当ての処理の手順の他の一例を示すフローチャートである。
図７の説明では、エンドエフェクターＥＮＤ１が有する掌４１−１と指３３１〜３３４の両方について行われる処理を説明する。
なお、本実施形態では、エンドエフェクターＥＮＤ２について行われる処理についても、エンドエフェクターＥＮＤ１について行われる処理と同様である。
【００７５】
図７に示される一連の処理は、例えば、ユーザーにより入力された所定の指示に応じてロボット制御装置５１により行われてもよく、あるいは、当該処理を開始するための所定の条件が満たされたことが判定されたことに応じてロボット制御装置５１により（自動的に）行われてもよい。
【００７６】
（ステップＳ２１）
制御部２１５は、ロボット制御部２３４によりエンドエフェクターＥＮＤ１が有する指３３１〜３３４を動かして、当該指３３１〜３３４を開かせる（開放させる）。そして、ステップＳ２２の処理へ移行する。
ここで、指３３１〜３３４を開かせる程度としては、例えば、掌４１−１が可動範囲で動くときに当該掌４１−１と指３３１〜３３４とが干渉しない程度が用いられる。これにより、指３３１〜３３４が退避された状態で、掌４１−１の原点出しを行うことが可能となる。
【００７７】
（ステップＳ２２）
制御部２１５は、ロボット制御部２３４によりエンドエフェクターＥＮＤ１が有する掌４１−１を動かして、当該掌４１−１を引っ込める方向について、可動範囲の一方（一端）で度当てする。そして、ステップＳ２３の処理へ移行する。
【００７８】
（ステップＳ２３）
制御部２１５は、ロボット制御部２３４によりエンドエフェクターＥＮＤ１が有する指３３１〜３３４を動かして、当該指３３１〜３３４を閉じる方向について、可動範囲の一方（一端）で度当てする。そして、ステップＳ２４の処理へ移行する。
【００７９】
（ステップＳ２４）
制御部２１５は、原点登録部２３２により掌４１−１および指３３１〜３３４のそれぞれについて原点登録の処理を行う。そして、ステップＳ２５の処理へ移行する。
ここで、原点登録の処理としては、例えば、掌４１−１および指３３１〜３３４のそれぞれについて、可動範囲の一方（一端）で度当てした状態において原点を登録する処理が用いられる。
なお、原点登録の処理としては、例えば、図６に示されるステップＳ２の処理の場合と同様である。
【００８０】
（ステップＳ２５）
制御部２１５は、ロボット制御部２３４によりエンドエフェクターＥＮＤ１が有する指３３１〜３３４を動かして、当該指３３１〜３３４を開く方向について、可動範囲の他方（他端）で度当てする。そして、ステップＳ２６の処理へ移行する。
【００８１】
（ステップＳ２６）
制御部２１５は、ロボット制御部２３４によりエンドエフェクターＥＮＤ１が有する掌４１−１を動かして、当該掌４１−１を押し出す方向について、可動範囲の他方（他端）で度当てする。そして、ステップＳ２７の処理へ移行する。
【００８２】
（ステップＳ２７）
制御部２１５は、判定部２３３により原点登録に基づく情報が適切であるか否かを判定する所定の条件を満たすか否かを判定する。本実施形態では、ステップＳ２６の処理（度当て）が完了したときにおける掌４１−１および指３３１〜３３４の位置（両者が度当たった位置）を現在位置として、当該現在位置において、ステップＳ２７の処理が行われる。
この判定の結果、制御部２１５は、判定部２３３により所定の条件を満たすことを判定した場合（ステップＳ２７：ＹＥＳ）、ステップＳ２８の処理へ移行する。
一方、この判定の結果、制御部２１５は、判定部２３３により所定の条件を満たさないことを判定した場合（ステップＳ２７：ＮＯ）、ステップＳ３１の処理へ移行する。
【００８３】
なお、所定の条件を満たすか否かを判定する処理としては、例えば、図６に示されるステップＳ４の処理の場合と同様である。本実施形態では、掌４１−１について掌４１−１に関する所定の条件を満たし、かつ、指３３１〜３３４について指３３１〜３３４に関する所定の条件を満たす場合に、全体として所定の条件を満たすとする。本実施形態では、掌４１−１と指３３１〜３３４のうちの一方または両方について所定の条件が満たされない場合には、全体として所定の条件が満たされないとしている。
【００８４】
（ステップＳ２８）
制御部２１５は、ロボット制御部２３４によりエンドエフェクターＥＮＤ１が有する掌４１−１を動かして、当該掌４１−１を所定の待機位置まで引っ込める。そして、ステップＳ２９の処理へ移行する。
ここで、所定の待機位置は、任意の位置であってもよく、例えば、掌４１−１が最も引込められた位置に対して少し（例えば、数ミリメートル）押し出された位置が用いられてもよい。このような待機位置は、例えば、ユーザー（人）にとって視覚的に把握（目視）あるいは確認などし易い。逆に、掌４１−１が大きく開かれた待機位置とすると、マニピュレーターＭＮＰ１、ＭＮＰ２が動かされたときに他の物体に衝突し易い場合も考えられる。
【００８５】
（ステップＳ２９）
制御部２１５は、ロボット制御部２３４によりエンドエフェクターＥＮＤ１が有する指３３１〜３３４を動かして、当該指３３１〜３３４を所定の待機位置まで閉じる。そして、ステップＳ３０の処理へ移行する。
ここで、所定の待機位置は、任意の位置であってもよく、例えば、指３３１〜３３４が最も閉じられた位置に対して少し（例えば、数ミリメートル）開かれた位置が用いられてもよい。このような待機位置は、例えば、ユーザー（人）にとって視覚的に把握（目視）あるいは確認などし易い。逆に、指３３１〜３３４が大きく開かれた待機位置とすると、マニピュレーターＭＮＰ１、ＭＮＰ２が動かされたときに他の物体に衝突し易い場合も考えられる。
【００８６】
このように、掌４１−１および指３３１〜３３４の原点出しの成功が検出（判定）された後、掌４１−１および指３３１〜３３４をその場に留まらせずに、待機位置に移動させることが好ましい。
【００８７】
（ステップＳ３０）
制御部２１５は、掌４１−１および指３３１〜３３４を用いたロボット１の動作を実行可能とするように制御する。そして、本フローの処理が終了する。
【００８８】
（ステップＳ３１）
制御部２１５は、本フローの処理をリトライ（再試行）するか否かを判定する。
この判定の結果、制御部２１５は、本フローの処理をリトライすることを判定した場合（ステップＳ３１：ＹＥＳ）、ステップＳ２１の処理へ移行して、再び、それ以降の処理を実行する。
一方、この判定の結果、制御部２１５は、本フローの処理をリトライしないことを判定した場合（ステップＳ３１：ＮＯ）、ステップＳ３２の処理へ移行する。
ここで、本フローの処理をリトライするか否かを判定する条件としては、任意の条件が用いられてもよく、例えば、所定の回数だけリトライし、それ以降はリトライしない、という条件が用いられてもよい。当該所定の回数としては、任意の回数が用いられてもよく、例えば、３回などが用いられてもよい。
【００８９】
（ステップＳ３２）
制御部２１５は、掌４１−１および指３３１〜３３４を用いたロボット１の動作を抑制するように制御する。ステップＳ３２の処理において、制御部２１５は、例えば、エラーメッセージなどの表示情報あるいは警告音などの音情報などを出力部２１２により出力してもよい。また、ステップＳ３２の処理において、制御部２１５は、例えば、ロボット１の動作の全体あるいは所定の一部を停止させてもよい。そして、本フローの処理が終了する。
ここで、ロボット１の動作を抑制するように制御する態様としては、例えば、図６に示されるステップＳ６の処理の場合と同様である。
【００９０】
なお、図６の例あるいは図７の例において、指３３１〜３３４などの対象部について、当該対象部を複数の異なる方向（例えば、Ｘ軸に平行な方向、Ｙ軸に平行な方向、Ｚ軸に平行な方向など）のそれぞれに独立に動かすことができる場合、制御部２１５が、当該対象部を複数の異なる方向のそれぞれに独立に動かして、干渉の回避あるいは度当てなどが行われてもよい。この場合、制御部２１５は、例えば、これら複数の方向について、順番に、干渉の回避あるいは度当てなどを行う。
【００９１】
また、図６の例あるいは図７の例において、それぞれの度当ての処理（ステップＳ１の処理、ステップＳ３の処理、ステップＳ２２の処理、ステップＳ２３の処理、ステップＳ２５の処理、ステップＳ２６の処理）で、制御部２１５は、２回以上の所定の回数の度当てを行ってもよい。この場合、制御部２１５は、対象部について、度当てを行った後に、当該対象部を度当たりから少し離した後に、再び度当てすることを行う。当該所定の回数としては、任意の回数が用いられてもよく、例えば、３回などが用いられてもよい。
このような場合、制御部２１５は、対象部を開いたり閉じたりする処理、あるいは、対象部を閉じたり開いたりする処理を繰り返して行い、最後の度当ての結果を採用する。これにより、例えば、異物あるいは加工誤差などによって、対象部が度当たりよりも手前で当該対象部の移動が停止しやすいような状況であっても、より確実に当該対象物を度当たりに当てて原点出しすることが可能となる。
【００９２】
また、図６の例および図７の例では、対象部が閉じられた状態で原点出しが行われているが、逆に、対象部が開かれた状態で原点出しが行われてもよい。なお、例えば、対象部（特に、指）が閉じられた状態で原点出しが行われると、制御部２１５は、当該対象部を原点から必要な分（指であれば、保持したい物体よりも少し大きい分）だけ開いて作業を行わせることで、作業の精度が向上する場合がある。
【００９３】
［第１実施形態のまとめ］
以上のように、本実施形態に係るロボット１では、ロボット制御装置５１により、エンドエフェクターＥＮＤ１、ＥＮＤ２の可動部（本実施形態では、掌４１−１あるいは指３３１〜３３４）について、当該可動部を閉じる方向で度当たりに度当てして原点出しを行い、その後、当該可動部を開く方向で度当たりに度当てし、そして、これらの位置の差に基づいて、原点出しの成否（成功あるいは失敗）を判定する。
したがって、本実施形態に係るロボット１では、ロボット制御装置５１により、エンドエフェクターＥＮＤ１、ＥＮＤ２の可動部の可動範囲に関する判定結果の精度を向上させることができる。
例えば、本実施形態に係るロボット１では、ロボット制御装置５１により、エンドエフェクターＥＮＤ１、ＥＮＤ２の可動部について、原点出しが正確に行われたか否かを確認（判定）することができ、原点出しの精度を向上させることができる。
【００９４】
また、本実施形態に係るロボット１では、ロボット制御装置５１により、可動部の速度の減少と、可動部を駆動する駆動部の電流の増加に基づいて、可動部の可動範囲の一端および他端を判定することができる。
また、本実施形態に係るロボット１では、ロボット制御装置５１により、可動部の可動範囲の一端について、エンコーダーの値を以降の処理の基準として使用することができる。
【００９５】
また、本実施形態に係るロボット１では、ロボット制御装置５１により、ロボット１のエンドエフェクターＥＮＤ１、ＥＮＤ２が有する掌４１−１および指３３１〜３３４の可動範囲に関する判定結果の精度を向上させることができる。
また、本実施形態に係るロボット１では、ロボット制御装置５１により、エンドエフェクターＥＮＤ１、ＥＮＤ２が有する掌４１−１および指３３１〜３３４の可動範囲に関する判定を行うに際して、掌４１−１と指３３１〜３３４との干渉を回避することができる。
【００９６】
また、本実施形態に係るロボット１では、ロボット制御装置５１により、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であると判定された場合（正常であるとみなされる場合）に、ロボット１を動作させるプログラムの実行を可能とすることができる。
また、本実施形態に係るロボット１では、ロボット制御装置５１により、可動部の可動範囲の一端における値と他端における値との差が所定の範囲ではないと判定された場合（異常であるとみなされる場合）に、ロボット１を動作させるプログラムの実行を不能とすることができ、これにより、安全の確保などが可能である。
また、本実施形態に係るロボット１では、ロボット制御装置５１により、可動部の可動範囲の一端における値と他端における値との差が所定の範囲ではないと判定された場合（異常であるとみなされる場合）に、エラーに関するメッセージを出力することができ、これにより、エラーの発生をユーザーなどに通知することが可能である。
【００９７】
ここで、本実施形態では、掌４１−１と指３３１〜３３４とが干渉しないようにしたが、他の構成例として、掌４１−１と指３３１〜３３４とを接触させることで度当てを行う構成が用いられてもよい。
また、本実施形態では、掌４１−１および指３３１〜３３４を有するエンドエフェクターＥＮＤ１、ＥＮＤ２が用いられたが、他の構成例として、掌と指とのうちの任意の一方のみを有するエンドエフェクターが用いられてもよい。
【００９８】
また、本実施形態では、エンドエフェクターの指として、基台３１１の面３９２の中心に対して４本の指３３１〜３３４が同時に対称に動く構成が用いられたが、他の構成の指が用いられてもよい。
また、本実施形態では、エンドエフェクターとして、いわゆるハンドが用いられたが、他のエンドエフェクターが用いられてもよく、例えば、リニアスライダーのようなエンドエフェクターが用いられてもよい。
【００９９】
＜構成例＞
一構成例として、ロボット（本実施形態では、ロボット１）に備えられたエンドエフェクター（本実施形態では、エンドエフェクターＥＮＤ１、ＥＮＤ２）が有する可動部（本実施形態では、掌４１−１と指３３１〜３３４のうちの一方または両方）を制御するロボット制御部（本実施形態では、ロボット制御部２３４）と、可動部の位置を検出するエンコーダーにより検出された値に基づいて、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する判定部（本実施形態では、判定部２３３）と、を備えるロボット制御装置（本実施形態では、ロボット制御装置５１）である。
一構成例として、ロボット制御装置において、可動部の可動範囲の一端および他端は、それぞれ、可動部の速度の減少と、可動部を駆動する駆動部の電流の増加に基づいて、判定される。
一構成例として、ロボット制御装置において、可動部が可動範囲の一端にあるときのエンコーダーの値を以降の処理の基準として登録する原点登録部（本実施形態では、原点登録部２３２）を備える。
一構成例として、ロボット制御装置において、可動部は、掌および指を含み、指は、掌が可動する方向に対して垂直な方向に可動することが可能である。
一構成例として、ロボット制御装置において、ロボット制御部は、掌と指との干渉を回避する制御を行う。
一構成例として、上記のようなロボット制御装置により制御される、ロボットである。
なお、一構成例として、上記のようなロボット制御装置と、当該ロボット制御装置により制御されるロボットと、を備えるロボットシステムであってもよい。
【０１００】
一構成例として、ロボットに備えられたエンドエフェクターが有する可動部を制御するステップと、可動部の位置を検出するエンコーダーにより検出された値に基づいて、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定するステップと、を備えるロボット制御方法（本実施形態では、ロボット制御装置５１により行われるロボット制御の方法）である。
一構成例として、ロボット制御方法において、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であると判定された場合、ロボットを動作させるプログラムの実行を可能とするステップを備える．
一構成例として、ロボット制御方法において、可動部の可動範囲の一端における値と他端における値との差が所定の範囲ではないと判定された場合、ロボットを動作させるプログラムの実行を不能とするステップを備える．
一構成例として、ロボット制御方法において、可動部の可動範囲の一端における値と他端における値との差が所定の範囲ではないと判定された場合、エラーに関するメッセージを出力するステップを備える。
【０１０１】
一構成例として、ロボットを制御するロボット制御装置であって、プロセッサーを備え、プロセッサーは、ロボットに備えられたエンドエフェクターが有する可動部を制御し、可動部の位置を検出するエンコーダーにより検出された値に基づいて、可動部の可動範囲の一端における値と他端における値との差が所定の範囲であるか否かを判定する指令を実行するように構成されている、ロボット制御装置である。
【０１０２】
（第２実施形態）
本実施形態では、第１実施形態の変形例を示す。
【０１０３】
［エンドエフェクターの変形例］
第１実施形態では、双腕のロボット１のエンドエフェクターＥＮＤ１、ＥＮＤ２が有する掌４１−１および指３３１〜３３４に、原点出しの成否を判定する処理を適用した場合を示した。
他の構成例として、掌あるいは指以外の任意の可動部に、原点出しの成否を判定する処理が適用されてもよい。また、いわゆるハンドからなるエンドエフェクターばかりでなく、他の任意のエンドエフェクターに、原点出しの成否を判定する処理が適用されてもよい。
【０１０４】
［他のロボットの例］
第１実施形態では、双腕のロボット１を示したが、他の例として、他のロボットが有するエンドエフェクターの可動部に、第１実施形態に係る原点出しの成否を判定する処理が適用されてもよい。
一例として、このような構成が、単腕のロボットにおける任意のエンドエフェクターの可動部に適用されてもよい。
【０１０５】
［単腕のロボットを含むロボットシステム］
図８は、本発明の一実施形態に係る単腕のロボット１０１１を含むロボットシステム１００１の概略的な構成例を示す図である。
ロボットシステム１００１は、ロボット１０１１と、ロボット制御装置１０１２と、ロボット１０１１とロボット制御装置１０１２とを通信可能に接続するケーブル１０１３と、情報処理装置１０２１と、撮像装置１０２２と、情報処理装置１０２１とロボット制御装置１０１２とを通信可能に接続するケーブル１０２３と、撮像装置１０２２と情報処理装置１０２１とを通信可能に接続するケーブル１０２４を備える。
【０１０６】
なお、図８では、ロボット１０１１とロボット制御装置１０１２とを接続する配線の詳細を省略しており、１本のケーブル１０１３のみを示してあるが、任意の配線が用いられてもよい。
同様に、図８では、情報処理装置１０２１とロボット制御装置１０１２とを接続する配線の詳細を省略しており、１本のケーブル１０２３のみを示してあるが、任意の配線が用いられてもよい。
同様に、図８では、撮像装置１０２２と情報処理装置１０２１とを接続する配線の詳細を省略しており、１本のケーブル１０２４のみを示してあるが、任意の配線が用いられてもよい。
【０１０７】
ロボット１０１１は、基端（支持台）１０３１と、マニピュレーターＭ１と、力センサー１０３２と、エンドエフェクターＥ１を備える。
ここで、ロボット１０１１は、単腕のロボットである。
図８の例では、ロボット１０１１は、エンドエフェクターＥ１により、対象物を保持することが可能である。保持の態様には、例えば、把持、挟持、吸着などが含まれてもよい。
対象物としては、例えば、任意の物体が用いられてもよい。
【０１０８】
なお、図８の例では、それぞれの有線のケーブル１０１３、１０２３、１０２４を介して通信する構成を示すが、他の構成例として、これらのうちの１以上に関し、有線のケーブルの代わりに、無線の回線を介して通信する構成が用いられてもよい。
【０１０９】
撮像装置１０２２は、画像を撮像して、撮像された画像の情報を、ケーブル１０２４を介して、情報処理装置１０２１に送信する。
撮像装置１０２２は、ロボット１０１１により行われる動作の状況（作業の状況）を撮像することが可能なところに設置されている。
情報処理装置１０２１は、例えば、コンピューターである。情報処理装置１０２１は、撮像装置１０２２から画像の情報を受信し、受信された画像に関する処理を実行し、当該画像の情報あるいは当該処理の実行結果の情報などを、ケーブル１０２３を介して、ロボット制御装置１０１２に送信する。
力センサー１０３２は、ロボット１０１１に設けられており、受けた力またはモーメントのうちの一方または両方を検出する。なお、他の構成例として、力センサー１０３２の代わりに、トルクセンサーが備えられて用いられてもよい。
【０１１０】
［単腕のロボット］
ロボット１０１１の基端１０３１は、設置されている。
ロボット１０１１のマニピュレーターＭ１の一端は、基端１０３１と接続されている。ロボット１０１１のマニピュレーターＭ１の他端と、エンドエフェクターＥ１とが、これらの間に力センサー１０３２を介して、接続されている。
ロボット１０１１のマニピュレーターＭ１は、６軸垂直多関節型の構造を有しており、６個の関節を備える。それぞれの関節は、アクチュエーター（図示せず）を備える。そして、ロボット１０１１では、６個の関節のそれぞれのアクチュエーターの動作によって、６軸の自由度の動作を行う。他の構成例として、５軸以下の自由度で動作を行うロボット、または、７軸以上の自由度で動作を行うロボットが用いられてもよい。
ロボット１０１１のエンドエフェクターＥ１は、例えば、ハンドであり、物体を保持することが可能な指部を備える。また、エンドエフェクターＥ１は、例えば、掌部を備えてもよい。他の構成例として、ロボット１０１１のエンドエフェクターＥ１は、任意のものであってもよく、例えば、空気の吸引を利用して物体を吸着するものであって可動部を有するもの、あるいは、磁力を利用して物体を寄せ付けるものであって可動部を有するもの、などであってもよい。
【０１１１】
ロボット制御装置１０１２は、ロボット１０１１を制御する。例えば、ロボット制御装置１０１２は、マニピュレーターＭ１が有するそれぞれのアクチュエーター、力センサー１０３２およびエンドエフェクターＥ１のそれぞれを制御する。
また、ロボット制御装置１０１２は、情報処理装置１０２１を介して撮像装置１０２２を制御することが可能である。
ロボット制御装置１０１２は、力センサー１０３２から、検出結果の情報を受信する。
また、ロボット制御装置１０１２は、情報処理装置１０２１から、画像の情報あるいは所定の処理の結果の情報などを受信する。
ロボット制御装置１０１２は、力センサー１０３２および情報処理装置１０２１のそれぞれから受信された情報のうちの１以上に基づいて、ロボット１０１１を制御してもよい。
【０１１２】
［単腕のロボットおよび周辺のハードウェア］
図９は、本発明の一実施形態に係る単腕のロボット１０１１および周辺のハードウェアの概略的な構成例を示す図である。
図９には、ロボットシステム７０１の構成要素として、ロボット１０１１と、ロボット制御装置１０１２と、ケーブル１０１３と、情報処理装置７１１と、情報処理装置７１２と、クラウドにある情報処理装置７１３と、ＬＡＮ７２１と、ケーブル（回線）７３１〜７３２を示してある。
それぞれの情報処理装置７１１〜７１３は、例えば、パーソナルコンピューターである。なお、情報処理装置７１１は、例えば、図８に示される情報処理装置１０２１に相当すると捉えられてもよい。
また、情報処理装置７１３は、いわゆるクラウド上に存在する。
なお、図９の例では、１個の情報処理装置７１１を示したが、他の例として、同じ機能が複数の情報処理装置の機能により実現されてもよい。
同様に、図９の例では、１個の情報処理装置７１２を示したが、他の例として、同じ機能が複数の情報処理装置の機能により実現されてもよい。
同様に、図９の例では、クラウドにある１個の情報処理装置７１３を示したが、他の例として、同じ機能が複数の情報処理装置の機能により実現されてもよい。
【０１１３】
ロボット１０１１のロボット制御装置１０１２と情報処理装置７１１とは、ケーブル７３１を介して互いに通信可能に接続されている。
ロボット制御装置１０１２は、ＬＡＮ７２１と接続されている。
情報処理装置７１１は、ＬＡＮ７２１と接続されている。
ロボット１０１１と情報処理装置７１２とは、ケーブル７３２を介して接続されている。
情報処理装置７１２は、ＬＡＮ７２１と接続されている。
クラウドにある情報処理装置７１３は、ＬＡＮ７２１と接続されている。
ＬＡＮ７２１に接続された複数の装置（本例では、情報処理装置７１１〜７１３、ロボット制御装置１０１２）は、ＬＡＮ７２１を介して互いに通信することが可能である。
ここで、有線のケーブル７３１〜７３２の代わりに、無線の回線が用いられてもよい。
また、ＬＡＮ７２１としては、例えば、有線のＬＡＮが用いられてもよく、あるいは、無線のＬＡＮが用いられてもよい。
【０１１４】
ロボット１０１１のロボット制御装置１０１２は、プロセッサー７５１と、メモリー７５２と、通信部７５３を備える。
プロセッサー７５１は、例えば、ＣＰＵなどである。
メモリー７５２は、指令７６１を含む。指令７６１は、例えば、プログラムに記述された指令を表す。ここで、指令７６１は、例えば、１つのプログラムに記述された複数の指令の全体をまとめて表してもよく、あるいは、１つのプログラムに記述された複数の指令のうちの１つまたは一部分を表わしてもよい。指令７６１は、例えば、コンピューターにより実行可能な各種の指令（例えば、プログラム、コード等）であってもよい。
プロセッサー７５１は、メモリー７５２に記憶された指令７６１（例えば、動作制御プログラム）を実行して、当該指令７６１にしたがった処理を実行する。
通信部７５３は、ケーブル７３１を介して、情報処理装置７１１と通信する。
また、通信部７５３は、ＬＡＮ１２１を介して、クラウドにある情報処理装置１１２などと通信する。
また、通信部７５３は、ケーブル１０１３を介して、ロボット１０１１と通信する。
【０１１５】
情報処理装置７１１は、プロセッサー７７１と、メモリー７７２と、通信部７７３を備える。
プロセッサー７７１は、例えば、ＣＰＵなどである。
メモリー７７２は、指令（図示せず）を含む。当該指令は、例えば、ロボット制御装置１０１２における指令７６１と同様に、プログラムに記述された指令を表す。
プロセッサー７７１は、メモリー７７２に記憶された指令（例えば、動作制御プログラム）を実行して、当該指令にしたがった処理を実行する。
通信部７７３は、ケーブル７３１を介して、ロボット制御装置１０１２と通信する。
また、通信部７７３は、ＬＡＮ７２１を介して、クラウドにある情報処理装置７１３などと通信する。
【０１１６】
情報処理装置７１２は、プロセッサー７８１と、メモリー７８２と、通信部７８３を備える。
プロセッサー７８１は、例えば、ＣＰＵなどである。
メモリー７８２は、指令（図示せず）を含む。当該指令は、例えば、ロボット制御装置１０１２における指令７６１と同様に、プログラムに記述された指令を表す。
プロセッサー７８１は、メモリー７８２に記憶された指令（例えば、動作制御プログラム）を実行して、当該指令にしたがった処理を実行する。
通信部７８３は、ケーブル７３２を介して、ロボット１０１１と通信する。
また、通信部７８３は、ＬＡＮ７２１を介して、クラウドにある情報処理装置７１３などと通信する。
【０１１７】
クラウドにある情報処理装置７１３は、プロセッサー７９１と、メモリー７９２と、通信部７９３を備える。
プロセッサー７９１は、例えば、ＣＰＵなどである。
メモリー７９２は、指令（図示せず）を含む。当該指令は、例えば、ロボット制御装置１０１２における指令７６１と同様に、プログラムに記述された指令を表す。
プロセッサー７９１は、メモリー７９２に記憶された指令（例えば、動作制御プログラム）を実行して、当該指令にしたがった処理を実行する。
通信部７９３は、ＬＡＮ７２１を介して、ロボット制御装置１０１２あるいは情報処理装置７１１〜７１２などと通信する。
【０１１８】
ここで、ロボット制御装置１０１２は、単独でロボット１０１１を制御してもよく、あるいは、他の装置の機能を利用してロボット１０１１を制御してもよい。
一例として、情報処理装置７１１（あるいは、情報処理装置７１２）がロボット制御装置１０１２を制御することで、ロボット制御装置１０１２がロボット１０１１を制御してもよい。つまり、情報処理装置７１１（あるいは、情報処理装置７１２）の機能とロボット制御装置１０１２の機能を組み合わせて、ロボット１０１１を制御してもよい。
他の例として、クラウドにある情報処理装置７１３が情報処理装置７１１（あるいは、情報処理装置７１２）を制御し、情報処理装置７１１（あるいは、情報処理装置７１２）がロボット制御装置１０１２を制御することで、ロボット制御装置１０１２がロボット１０１１を制御してもよい。つまり、クラウドにある情報処理装置７１３の機能と、情報処理装置７１１（あるいは、情報処理装置７１２）の機能と、ロボット制御装置１０１２の機能を組み合わせて、ロボット１０１１を制御してもよい。
他の例として、クラウドにある情報処理装置７１３がロボット制御装置１０１２を制御することで、ロボット制御装置１０１２がロボット１０１１を制御してもよい。つまり、クラウドにある情報処理装置７１３の機能とロボット制御装置１０１２の機能を組み合わせて、ロボット１０１１を制御してもよい。
【０１１９】
なお、図９の例では、ロボット制御装置１０１２が、ケーブル７３１を介して情報処理装置７１１と接続されるとともに、ＬＡＮ７２１と接続される構成を示したが、他の構成例として、いずれか一方のみと接続される構成が用いられてもよい。
【０１２０】
［第２実施形態のまとめ］
以上のように、第１実施形態に係るロボット１における原点出しの成否を判定する処理は、他の任意のロボットの任意のエンドエフェクターの可動部に適用されてもよく、第１実施形態の場合と同様な効果を得ることが可能である。
本実施形態では、一構成例として、ロボット制御装置１０１２と、ロボット制御装置１０１２により制御されるロボット１０１１と、を備えるロボットシステム１００１を示した。
【０１２１】
なお、ロボットとしては、任意のロボットであってもよく、例えば、パラレルリンクロボットであってもよく、直交軸ロボットであってもよく、単軸ロボットであってもよく、スカラロボットであってもよい。
【０１２２】
［以上の実施形態のまとめ］
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【０１２３】
なお、以上に説明した装置（例えば、ロボット制御装置５１、１０１２など）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体（記憶媒体）に記録（記憶）し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。
ここでいう「コンピューターシステム」とは、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）あるいは周辺機器等のハードウェアを含むものとする。
また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。コンピューター読み取り可能な記録媒体は、例えば、非一時的記録媒体である。
さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバーあるいはクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１２４】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。
ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）あるいは電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２５】
１、１０１１…ロボット、１１−１〜１１−２、２１−１〜２１−２…撮像部、３１−１〜３１−２、１０３２…力センサー、４１−１〜４１−２…掌、４２−１〜４２−２、３３１〜３３４…指、５１、１０１２…ロボット制御装置、１０１、７０１、１００１…ロボットシステム、１１１〜１１２、７１１〜７１３…情報処理装置、１２１、７２１…ＬＡＮ、１３１、７３１〜７３２、１０１３、１０２３、１０２４…ケーブル、１５１、１７１、１８１、７５１、７７１、７８１、７９１…プロセッサー、１５２、１７２、１８２、７５２、７７２、７８２、７９２…メモリー、１５３、１７３、１８３、２１４、７５３、７７３、７８３、７９３…通信部、１６１、７６１…指令、２１１…入力部、２１２…出力部、２１３…記憶部、２１５…制御部、２３１…情報取得部、２３２…原点登録部、２３３…判定部、２３４…ロボット制御部、３１１…基台、３７１…エンコーダー部、３９１〜３９２…面、１０２１…情報処理装置、１０２２…撮像装置、１０３１…基端、ＭＮＰ１、ＭＮＰ２、Ｍ１…マニピュレーター、ＥＮＤ１〜ＥＮＤ２、Ｅ１…エンドエフェクター
【図１】
2019042836.tif 000003
【図２】
2019042836.tif 000004
【図３】
2019042836.tif 000005
【図４】
2019042836.tif 000006
【図５】
2019042836.tif 000007
【図６】
2019042836.tif 000008
【図７】
2019042836.tif 000009
【図８】
2019042836.tif 000010
【図９】
2019042836.tif 000011