(57)【要約】  【課題】作業台の高さが変わったときのロボット操作の手間を低減する。  【解決手段】操作部１９は、ユーザーの操作に応じて、ロボットの撮像部を昇降する。制御部３１は、ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、ロボットの移動前における撮像部の高さと、第２の作業台の高さとの差が所定の範囲内にあるか否か判定する。表示部３４は、制御部３１によって、差が所定の範囲内にないと判定された場合、操作部１９により撮像部の高さを変更するよう指示する情報を表示装置１２に表示する。【選択図】図４
2015131375.tif 000002
【特許請求の範囲】
【請求項１】
撮像部を備えたロボットであって、
前記ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、
ことを特徴とするロボット。
【請求項２】
請求項１に記載のロボットであって、
前記撮像部の高さを変更する変更値を表示することを特徴とするロボット。
【請求項３】
請求項１または２に記載のロボットであって、
前記第１の作業台で作業する前記ロボットの作業領域は、前記撮像部の視野範囲内にあることを特徴とするロボット。
【請求項４】
請求項１〜３のいずれか一項に記載のロボットであって、
前記所定の範囲は、２台の前記撮像部間の距離と、２台の前記撮像部のそれぞれの視野角と、２台の前記撮像部の被写体深度と、２台の前記撮像部のそれぞれの回転と、２台の前記撮像部のそれぞれの並進位置と、前記ロボットが作業を行う作業領域とに基づいて決まることを特徴とするロボット。
【請求項５】
請求項１〜３のいずれか一項に記載のロボットであって、
前記所定の範囲は、２台の前記撮像部のそれぞれの画角に占める作業領域の割合に基づいて決まることを特徴とするロボット。
【請求項６】
撮像部を備えたロボットであって、
前記ロボットが高さの異なる第１の作業領域から第２の作業領域へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業領域の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、
ことを特徴とするロボット。
【請求項７】
ロボットとロボット制御装置とを有するロボットシステムであって、
前記ロボットは、
撮像部を備え、
前記ロボット制御装置は、
前記ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、
ことを特徴とするロボットシステム。
【請求項８】
撮像部を備えたロボットであって、
前記ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する、
ことを特徴とするロボット。
【請求項９】
ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、
ことを特徴とするロボット制御装置。
【請求項１０】
ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、
ことを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットシステム、ロボット制御装置、および制御方法に関する。
【背景技術】
【０００２】
特許文献１には、人と共存、協調する作業場所に作業ロボットを投入する場合に、作業場所の近傍の床上の障害物があっても作業ロボットを配置することができ、その作業ロボットを配置した際に作業者の安全を確保することができ、しかも高精度の位置決めも作業命令の大規模な改変も必要としない作業ロボットが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−５１０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、作業台上を撮影するカメラを備え、カメラが撮影した画像データに基づき、作業台にて作業するロボットがある。このようなロボットは、例えば、作業台に対するカメラの高さが決められている。そのため、作業台の高さが変わるたびに、ロボットの高さを調整する必要があり手間がかかる。
【０００５】
そこで本発明は、作業台の高さが変わったときのロボット操作の手間を低減することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するための本発明の第一の態様は、撮像部を備えたロボットであって、前記ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、ことを特徴とするロボットである。第一の態様によれば、ロボットは、移動前における撮像部の高さと、第２の作業台の高さとの差が所定の範囲内にない場合に、撮像部の高さを変更する指示を表示する。これにより、ユーザーは、撮像部の高さを変更するよう指示が表示された場合に、ロボットの撮像部の高さを変更すればよく、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【０００７】
前記撮像部の高さを変更する変更値を表示することを特徴としてもよい。これにより、ユーザーは、表示された高さに基づいて、撮像部を昇降すればよく、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【０００８】
前記第１の作業台で作業する前記ロボットの作業領域は、前記撮像部の視野範囲内にあることを特徴としてもよい。これにより、ロボットの作業領域が撮像部の視野範囲に入っていた、第１の作業台が、第２の作業台に移る場合、移動前における撮像部の高さと、第２の作業台の高さとの差が所定の範囲内にない場合に、撮像部の高さを変更すればよく、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【０００９】
前記所定の範囲は、２台の前記撮像部間の距離と、２台の前記撮像部のそれぞれの視野角と、２台の前記撮像部の被写体深度と、２台の前記撮像部のそれぞれの回転と、２台の前記撮像部のそれぞれの並進位置と、前記ロボットが作業を行う作業領域とに基づいて決まることを特徴としてもよい。これにより、移動前における撮像部の高さと、第２の作業台の高さとの差が、２台の前記撮像部間の距離と、２台の前記撮像部のそれぞれの視野角と、２台の前記撮像部の被写体深度と、２台の前記撮像部のそれぞれの回転と、２台の前記撮像部のそれぞれの並進位置と、当該ロボットが作業を行う作業領域とに基づいて決まる所定の範囲内にない場合に、ユーザーは撮像部の高さを変更すればよく、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【００１０】
前記所定の範囲は、２台の前記撮像部のそれぞれの画角に占める作業領域の割合に基づいて決まることを特徴としてもよい。これにより、移動前における撮像部の高さと、第２の作業台の高さとの差が、２台の撮像部のそれぞれの画角に占める作業領域の割合に基づいて決まる所定の範囲内にない場合に、ユーザーは撮像部の高さを変更すればよく、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【００１１】
上記の課題を解決するための本発明の第二の態様は、撮像部を備えたロボットであって、前記ロボットが高さの異なる第１の作業領域から第２の作業領域へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業領域の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、ことを特徴とするロボットである。第二の態様によれば、ロボットは、移動前における撮像部の高さと、第２の作業領域の高さとの差が所定の範囲内にない場合に、撮像部の高さを変更するよう指示する情報を表示する。これにより、ユーザーは、撮像部の高さを変更するよう指示する情報が表示された場合に、ロボットの撮像部の高さを変更すればよく、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【００１２】
上記の課題を解決するための本発明の第三の態様は、ロボットとロボット制御装置とを有するロボットシステムであって、前記ロボットは、撮像部を備え、前記ロボット制御装置は、前記ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、ことを特徴とするロボットシステムである。第三の態様によれば、ロボット制御装置は、移動前における撮像部の高さと、第２の作業台の高さとの差が所定の範囲内にない場合に、撮像部の高さを変更するよう指示する情報を表示する。これにより、ユーザーは、撮像部の高さを変更するよう指示する情報が表示された場合に、ロボットの撮像部の高さを変更すればよく、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【００１３】
上記の課題を解決するための本発明の第四の態様は、撮像部を備えたロボットであって、前記ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する、ことを特徴とするロボットである。第四の態様によれば、ロボットは、移動前における撮像部の高さと、第２の作業台の高さとの差が所定の範囲内にない場合に、撮像部の高さを変更する。これにより、ロボットが自分で高さを変更することで、ユーザーのロボット操作の手間を低減することができる。
【００１４】
上記の課題を解決するための本発明の第五の態様は、ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、ことを特徴とするロボット制御装置である。第五の態様によれば、ロボット制御装置は、ロボットの移動前における撮像部の高さと、第２の作業台の高さとの差が所定の範囲内にない場合に、撮像部の高さを変更するよう指示する情報を表示する。これにより、ユーザーは、撮像部の高さを変更するよう指示する情報が表示された場合に、ロボットの撮像部の高さを変更すればよく、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【００１５】
上記の課題を解決するための本発明の第六の態様は、ロボットが高さの異なる第１の作業台から第２の作業台へ移動する場合、前記ロボットの移動前における前記撮像部の高さと前記第２の作業台の高さとの差が所定の範囲内にない場合、前記撮像部の高さを変更する指示を表示する、ことを特徴とするロボット制御方法である。第六の態様によれば、ロボットの移動前における撮像部の高さと、第２の作業台の高さとの差が所定の範囲内にない場合に、撮像部の高さを変更するよう指示する情報を表示する。これにより、ユーザーは、撮像部の高さを変更するよう指示する情報が表示された場合に、ロボットの撮像部の高さを変更すればよく、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態におけるロボット１の正面斜視図である。
【図２】ロボット１の背面斜視図である。
【図３】図１のロボット１に対し肩領域１０ａおよび撮像部１５ａ、１５ｂを上方に移動させたロボット１の正面斜視図である。
【図４】ロボット制御装置２０の機能構成の一例を示した図である。
【図５】制御部３１と表示部３４の動作を説明する図である。
【図６】ロボット制御装置２０の動作の一例を示すフロー図である。
【図７】情報入力画面の一例を示した図である。
【図８】確認画面の一例を示した図である。
【図９】撮像部１５ａ、１５ｂの高さを変更しない場合の画面例を示した図である。
【図１０】撮像部１５ａ、１５ｂの高さを変更する場合の画面例を示した図である。
【図１１】ロボット制御装置２０の機能を実現するハードウェア構成の一例を示す図である。
【図１２】撮像部の視錐台を定義した図面である。
【図１３】図１２の視錐台をＹＺ平面から見た図である。
【図１４】図１２の視錐台をＸＺ平面から見た図である。
【図１５】撮像部の設置位置姿勢例を示した図である。
【図１６】作業領域の設置例を示した図である。
【図１７】撮像部の高さを算出するための具体的なパラメータ値を示した図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の一実施形態におけるロボット１の正面斜視図である。図２は、ロボット１の背面斜視図である。図１および図２に示すように、ロボット１は、胴部１０と、アーム１１と、表示装置１２と、脚部１３と、搬送用ハンドル１４と、２つの撮像部１５ａ、１５ｂと、信号灯１６と、電源スイッチ１７と、外部接続端子１８と、操作部１９と、ロボット制御装置２０と、を備える。また、図１には、ロボット１が作業を行うための作業台２１が点線で示してある（図２では、作業台２１の図示を省略している）。
【００１８】
ロボット１は、人間型双腕ロボットであり、脚部１３に内蔵された、ロボット制御装置２０からの制御信号に従って処理を行う。ロボット１は、例えば、腕時計のような精密機器等を製造する製造工程で用いることができる。このような製造作業は、通常、胴部１０の前方に設置される作業台２１上で行なわれる。
【００１９】
なお、以下では、説明の都合上、図１、図２、図３中の上側を「上」または「上方」、下側を「下」または「下方」と呼ぶことがある。また、図１の手前側を「正面側」または「正面」といい、図２の手前側を「背面側」または「背面」と呼ぶことがある。
【００２０】
胴部１０の両側面の上端近傍には、それぞれアーム１１が設けられる。アーム１１の先端には、ワークや道具を把持するハンド１１ａが設けられる。アーム１１のエンドポイントの位置は、ハンド１１ａの位置である。また、アーム１１には、作業台２１上に載置されたワーク等を撮影するハンドアイカメラ１１ｂが設けられる。
【００２１】
アーム１１は、マニピュレーターの一種ということができる。マニピュレーターは、エンドポイントの位置を移動させる機構であり、アームに限られず様々な形態をとることができる。例えば、１以上のジョイントとリンクとにより構成され、ジョイントを動かすことで全体が動くマニピュレーターであれば、どのような形態でもよい。また、ロボット１に設けられるマニピュレーターの数も２本に限られず、１本または３本以上であってもよい。
【００２２】
ハンド１１ａは、エンドエフェクターの一種ということができる。エンドエフェクターは、対象物を把持したり、押し付けたり、持ち上げたり、吊し上げたり、吸着したり、ワークを加工したりするための部材である。エンドエフェクターは、ハンド、フック、吸盤など、様々な形態をとることができる。また、エンドエフェクターは、１本のアームに対して複数設けるようにしてもよい。
【００２３】
胴部１０は、脚部１３のフレーム上に設けられる。脚部１３はロボットの基台であり、胴部１０はロボットの胴体である。
【００２４】
脚部１３の内部には、ロボット１自身を制御するロボット制御装置２０が設けられる。脚部１３の内部には回転軸が設けられ、この回転軸には胴部１０の肩領域１０ａが設けられる。
【００２５】
脚部１３の背面には、電源スイッチ１７と、脚部１３に内蔵されたロボット制御装置２０と外部のＰＣ等を接続する外部接続端子１８とが設けられる。電源スイッチ１７は、ロボット１の電源を投入する電源ＯＮスイッチと、ロボット１の電源を遮断する電源ＯＦＦスイッチとを有する。
【００２６】
また、脚部１３の最下部には、図示しない複数のキャスターが水平方向に間隔をおいて設置されている。これにより、ユーザーが搬送用ハンドル１４を押すこと等によりロボット１を移動搬送することができる。
【００２７】
胴部１０から上に突出する、頭部に当たる部分には、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の電子カメラを有する撮像部１５ａ、１５ｂと、信号灯１６とが設けられる。
【００２８】
撮像部１５ａ、１５ｂは、ステレオカメラを形成している。撮像部１５ａ、１５ｂは、作業台２１および作業台２１上の作業領域を撮像する。作業領域とは、ロボット１が作業台２１上で作業を行う領域である。信号灯１６は、例えば、赤色の光、黄色の光、青色の光をそれぞれ発するＬＥＤを有し、これらのＬＥＤがロボット１の現在の状態に応じて適宜選択されて発光する。
【００２９】
胴部１０の背面側には、ロボット１の背面側から視認可能な表示装置１２が配置されている。表示装置１２は、例えば、液晶モニターであり、ロボット１の現在の状態等を表示することができる。また、表示装置１２は、例えば、タッチパネル機能を有しており、ロボット１に対する動作の設定を行なう入力部としても用いられる。
【００３０】
胴部１０の背面には、操作部１９が設けられる。操作部１９は、ユーザーの操作によって、胴部１０の最上部にある肩領域１０ａと、肩領域１０ａから上に突出した頭部に設けられた撮像部１５ａ、１５ｂとを、胴部本体１０ｂに対して上下方向に移動させる。
【００３１】
図３は、図１のロボット１に対し肩領域１０ａおよび撮像部１５ａ、１５ｂを上方に移動させたロボット１の正面斜視図である。図３において図１と同じものには同じ符号が付してある。
【００３２】
胴部１０は、図３に示すように、昇降部１０ｃを有している。昇降部１０ｃは、胴部本体１０ｂに収納され、また、胴部本体１０ｂから上方へ出される。肩領域１０ａおよび撮像部１５ａ、１５ｂは、昇降部１０ｃが、胴部本体１０ｂから出たり入ったりすることによって、上下方向に移動することができる。
【００３３】
操作部１９は、例えば、昇降ハンドルである。昇降ハンドルの軸の先端には、例えば、ピニオンギアが設けられ、胴部１０の昇降部１０ｃには、例えば、ラックギアが設けられている。昇降ハンドルのピニオンギアと、昇降部１０ｃに設けられたラックギアはかみ合っており、昇降部１０ｃは、昇降ハンドルの回転により、上下方向に移動する。
【００３４】
すなわち、昇降部１０ｃは、ユーザーによって操作部１９が操作されることにより、上下方向に移動する。これにより、肩領域１０ａと撮像部１５ａ、１５ｂは、ユーザーによる操作部１９の操作によって、上下方向に移動する。また、ロボット１は、様々な高さの作業台２１に対応することができる。
【００３５】
上記のロボット１の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、図示した構成例に限られない。また、一般的なロボットが備える構成を排除するものではない。例えば、ジョイントの数（「軸数」ともいう）やリンクの数を増減させてもよい。また、ジョイント、リンク、ハンド等の各種部材の形状、大きさ、配置、構造等を適宜変更してもよい。
【００３６】
図４は、ロボット制御装置２０の機能構成の一例を示した図である。図４に示すように、ロボット制御装置２０は、制御部３１と、記憶部３２と、入力部３３と、表示部３４と、を有している。なお、図４には、ロボット制御装置２０の他に、図１、図２、および図３に示した胴部１０と、操作部１９と、表示装置１２とが示している。
【００３７】
制御部３１は、例えば、ビジュアルサーボ、位置制御、および力制御の少なくとも１以上の制御により、部品の組立作業等を行う。例えば、制御部３１は、撮像部１５ａ、１５ｂが撮像する画像データに基づいて、アーム１１およびハンド１１ａの動作を制御し、部品の組立作業等を行う。
【００３８】
また、制御部３１は、作業台２１が第１の高さから第２の高さへ移るとき、作業台２１が第１の高さにあるときの撮像部１５ａ、１５ｂと、第２の高さの作業台２１との距離が所定の範囲内にあるか否か判定する。
【００３９】
記憶部３２には、撮像部１５ａ、１５ｂの視野範囲に関する情報が記憶されている。
【００４０】
入力部３３は、表示装置１２が備えるタッチパネルから、ユーザーが入力した情報を受付ける。
【００４１】
表示部３４は、制御部３１によって、作業台２１が第１の高さにあるときの撮像部１５ａ、１５ｂと、第２の高さの作業台２１との距離が所定の範囲内にない判定された場合、操作部１９により撮像部１５ａ、１５ｂの高さを変更するよう指示する情報を表示装置１２に表示する。
【００４２】
図５は、制御部３１と表示部３４の動作を説明する図である。図５には、図１、図２、および図３に示した撮像部１５ａ、１５ｂと、作業台２１とが示してある。
【００４３】
撮像部１５ａ、１５ｂには、対象物全体を適切に撮像する視野範囲が存在する。図５（Ａ）の矢印Ａ１１は、撮像部１５ａ、１５ｂの視野範囲を示している。撮像部１５ａ、１５ｂは、対象物が矢印Ａ１１に示す視野範囲にあれば、対象物を適切に撮像することができる。なお、図５（Ａ）では、視野範囲は、２次元（高さ方向および横方向（紙面左右方向））で示しているが、３次元（高さ方向、横方向、および縦方向（紙面垂直方向））で存在する（図５（Ｂ）〜図５（Ｄ）についても同じ）。
【００４４】
撮像部１５ａ、１５ｂは、操作部１９によって高さを変えることができる。従って、撮像部１５ａ、１５ｂは、対象物が矢印Ａ１１に示す視野範囲になくても、対象物が撮像部１５ａ、１５ｂの視野範囲に入るよう高さが調整されることにより、対象物を適切に撮像することができる。
【００４５】
ロボット１のアーム１１等は、可動範囲が限られる。そのため、ロボット１は、部品の組立作業等を行うのに適した作業領域が存在する。すなわち、ロボット１は、作業台２１上の作業領域内で作業を行う。図５（Ｂ）には、作業台２１と、ロボット１が作業台２１上で作業する作業領域４１とが示してある。なお、図５（Ｂ）では、作業領域は、２次元（高さ方向および横方向（紙面左右方向））で示しているが、３次元（高さ方向、横方向、および縦方向（紙面垂直方向））で存在する（図５（Ｃ）、図５（Ｄ）についても同じ）。
【００４６】
撮像部１５ａ、１５ｂは、作業領域４１が矢印Ａ１１に示す視野範囲内にあれば、適切に作業領域４１を撮像することができる。そして、ロボット１は、撮像部１５ａ、１５ｂにより、適切に撮像される画像データに基づいて、適切に部品の組立作業等を行うことができる。図５（Ｂ）に示す矢印Ａ１２は、ロボット１の作業領域４１が、撮像部１５ａ、１５ｂの視野範囲内に収まる作業台２１の高さ範囲を示している。すなわち、作業台２１の高さが、矢印Ａ１２に示す範囲内にあれば、作業領域４１は、矢印Ａ１１に示す撮像部１５ａ、１５ｂの視野範囲に収まる。
【００４７】
例えば、点線で示す作業台２１ａは、矢印Ａ１２に示す範囲内に収まっており、作業台２１ａ上の作業領域４１ａは、矢印Ａ１１に示す撮像部１５ａ、１５ｂの視野範囲に収まっている。また、図５（Ｂ）の作業台２１ｂは、矢印Ａ１２に示す範囲内に収まっており、作業台２１ｂ上の作業領域４１ｂは、矢印Ａ１１に示す撮像部１５ａ、１５ｂの視野範囲に収まっている。
【００４８】
矢印Ａ１２に示す範囲は、撮像部１５ａ、１５ｂ間の距離と、撮像部１５ａ、１５ｂのそれぞれの視野角と、撮像部１５ａ、１５ｂの被写体深度と、撮像部１５ａ、１５ｂのそれぞれの回転（仰角および輻輳角）と、撮像部１５ａ、１５ｂのそれぞれの並進位置と、ロボット１が作業を行う作業領域とに基づいて決まる。また、矢印Ａ１２に示す範囲は、撮像部１５ａ、１５ｂのそれぞれの画角に占める作業領域の割合に基づいて決まる。
【００４９】
作業台２１の高さは、変わることがある。例えば、ロボット１に対し、別の作業をさせるため、別の作業場所へ移動したとき、移動前の作業台の高さ（第１の高さ）と、移動先の作業台の高さ（第２の高さ）とが、異なっている場合がある。制御部３１は、作業台２１が第１の高さから第２の高さへ移るとき、作業台２１が第１の高さにあるときの撮像部１５ａ、１５ｂと、第２の高さの作業台２１との距離（図５（Ｃ）に示す「ａ」）が、所定の範囲内にあるか否か判定する。
【００５０】
例えば、図５（Ｃ）に示す作業台２１は、ロボット１の移動前（第１の高さ）の作業台を示している。また、図５（Ｃ）に示す撮像部１５ａ、１５ｂは、ロボット１の移動前の撮像部を示し、移動前の作業台２１の作業領域４１を、適切に撮像できる高さにある。
【００５１】
この状態で（撮像部１５ａ、１５ｂの高さを変えないで、すなわち、図５（Ｃ）に示す撮像部１５ａ、１５ｂの高さのままで）、例えば、ロボット１を第２の高さの作業台へ移動するとする。図５（Ｃ）の点線の作業台２１ｃは、ロボット１の移動後（第２の高さ）の作業台を示し、距離ａは、ロボット１の移動前における撮像部１５ａ、１５ｂと、第２の高さの作業台２１ｃとの距離を示している（ロボット１の移動前における撮像部１５ａ、１５ｂの高さと、作業台２１ｃの高さとの差を示している）。距離ｘ１は、撮像部１５ａ、１５ｂの視野範囲（矢印Ａ１１）に作業領域４１が収まる、撮像部１５ａ、１５ｂから最も近い作業台２１の距離を示している。距離ｘ２は、撮像部１５ａ、１５ｂの視野範囲（矢印Ａ１１）に作業領域４１が収まる、撮像部１５ａ、１５ｂから最も遠い作業台２１の距離を示している。従って、制御部３１は、距離ａ（作業台２１が第１の高さにある撮像部１５ａ、１５ｂと、第２の高さにある作業台２１ｃとの距離）が、距離ｘ１と距離ｘ２との間（所定の範囲内）にあるか否かを判定する。
【００５２】
なお、距離ｘ１と距離ｘ２との差は、矢印Ａ１２に示すように、ロボット１の作業領域４１が、撮像部１５ａ、１５ｂの視野範囲に収まる作業台２１の高さ範囲を示す。よって、図５（Ｃ）の例の場合、第２の高さにおける作業台２１ｃの作業領域４１ｃは、移動前の撮像部１５ａ、１５ｂの視野範囲に収まっていない。従って、制御部３１は、作業台２１が第１の高さにある撮像部１５ａ、１５ｂと、第２の高さにある作業台２１ｃとの距離は、所定の範囲内にないと判定する。この場合、撮像部１５ａ、１５ｂは、移動前の高さのままでは、移動後の作業台２１ｃの作業領域４１ｃを適切に撮像することができないので、その高さを変える必要がある。
【００５３】
表示部３４は、制御部３１によって、作業台２１が第１の高さにあるときの撮像部１５ａ、１５ｂと、第２の高さの作業台２１ｃとの距離が所定の範囲内にないと判定された場合、操作部１９により撮像部１５ａ、１５ｂの高さを変更するよう指示する情報を表示装置１２に表示する。これにより、ユーザーは、ロボット１を新たな作業台へ移動するとき、または、移動したとき、撮像部１５ａ、１５ｂの高さを変更する必要があることを認識することができる。そして、ユーザーは、第２の高さの作業台の作業領域が、撮像部１５ａ、１５ｂの視野範囲に入るように、操作部１９によって、撮像部１５ａ、１５ｂの高さを変更することができる。
【００５４】
例えば、図５（Ｄ）の作業台２１ｃおよび作業領域４１ｃは、図５（Ｃ）の作業台２１ｃおよび作業領域４１ｃに対応している。上記したように、移動後の作業領域４１ｃは、移動前の高さの撮像部１５ａ、１５ｂの視野範囲に入らない。従って、表示装置１２には、操作部１９により撮像部１５ａ、１５ｂの高さを変更するよう指示する情報が表示される。ユーザーは、表示装置１２の指示に基づいて、図５（Ｄ）の矢印Ａ１３に示すように、撮像部１５ａ、１５ｂの高さを変え、作業領域４１ｃが、撮像部１５ａ、１５ｂの視野範囲（矢印Ａ１１）に収まるようにする。
【００５５】
なお、表示部３４は、制御部３１によって、作業台２１が第１の高さにあるときの撮像部１５ａ、１５ｂと、第２の高さの作業台２１ｃとの距離が所定の範囲内にあると判定された場合、操作部１９により撮像部１５ａ、１５ｂの高さを変更するよう指示する情報を表示装置１２に表示しない。すなわち、表示部３４は、第２の高さの作業台の作業領域が、移動前の高さにある撮像部１５ａ、１５ｂの視野範囲に収まっている場合、撮像部１５ａ、１５ｂの高さを変更するよう指示する情報を表示装置１２に表示しない。よって、ユーザーは、高さの異なる作業台へロボット１を移動しても、撮像部１５ａ、１５ｂの高さを変えなくてよい。つまり、作業台の高さが変わったときのロボット操作の手間を低減することができる。
【００５６】
以下、ロボット制御装置２０の動作を、フロー図を用いて説明する。
【００５７】
図６は、ロボット制御装置２０の動作の一例を示すフロー図である。図６のフロー図は、例えば、ロボット１の作業台２１の高さが、第１の高さから第２の高さへ変わるときに実行される。
【００５８】
なお、第１の高さにおける作業台２１の作業領域は、撮像部１５ａ、１５ｂの視野範囲に入っているものとする。また、記憶部３２には、図５（Ｃ）に示す距離ｘ１、ｘ２の情報が予め記憶されているとする。すなわち、記憶部３２には、撮像部１５ａ、１５ｂの視野範囲に作業領域が収まる、撮像部１５ａ、１５ｂから最も近い作業台２１の距離が予め記憶されているとする。また、記憶部３２には、撮像部１５ａ、１５ｂの視野範囲に作業領域が収まる、撮像部１５ａ、１５ｂから最も遠い作業台２１の距離が予め記憶されているとする。
【００５９】
まず、入力部３３は、ユーザーから、表示装置１２が備えるタッチパネルを介して、ロボット１の作業内容と、新たな作業台（例えば、ロボット１の移動先の作業台）の情報とを受付ける（ステップＳ１）。
【００６０】
図７は、情報入力画面の一例を示した図である。図７に示すように、表示装置１２のディスプレイには、画面５１が表示される。画面５１には、新たな作業台でロボット１に作業させる作業内容をユーザーから受付ける入力領域５１ａと、新たな作業台の高さをユーザーから受付ける入力領域５１ｂとが表示される。新たな作業台の高さは、例えば、床からの高さである。入力部３３は、ユーザーが入力領域５１ａ、５１ｂに入力した情報を受付ける。
【００６１】
図６の説明に戻る。次に、表示部３４は、ステップＳ１で入力された情報を表示装置１２に表示する（ステップＳ２）。
【００６２】
図８は、確認画面の一例を示した図である。図８に示すように、表示装置１２のディスプレイには、画面５２が表示される。画面５２は、ステップＳ１でユーザーが入力した情報の確認画面である。
【００６３】
画面５２の表示領域５２ａには、図７の入力領域５１ａで入力された情報が表示される。表示領域５２ｂには、図７の入力領域５１ｂで入力された情報が表示される。また、画面５２には、表示領域５２ａ、５２ｂに表示された情報で次の処理に進めるか否かをユーザーから受付けるボタン５２ｃ、５２ｄが表示される。「ＯＫ」のボタン５２ｃは、次の処理に進めるためのボタンであり、「ＮＧ」のボタン５２ｃは、再度ユーザーから情報を受付ける処理に戻るためのボタンである。
【００６４】
図６の説明に戻る。次に、入力部３３は、ユーザーがステップＳ１にて入力した情報で、次の処理に進めるか否かをユーザーから受付ける（ステップＳ３）。例えば、入力部３３は、画面５２のボタン５２ｃが押下（タップ）されたか、または、画面５２のボタン５２ｄが押下されたかを受付ける。入力部３３は、ユーザーから、ボタン５２ｃの押下を受付けた場合（「Ｙｅｓ」の場合」、ステップＳ４の処理へ移行する。入力部３３は、ユーザーから、ボタン５２ｄの押下を受付けた場合（「Ｎｏ」の場合）、ステップＳ１の処理へ移行する。
【００６５】
ステップＳ３で「Ｙｅｓ」の場合、制御部３１は、撮像部１５ａ、１５ｂの床からの高さを取得する（ステップＳ４）。
【００６６】
撮像部１５ａ、１５ｂの床からの高さは、一般的な方法によって取得することができる。例えば、制御部３１は、２つの撮像部１５ａ、１５ｂで床上の同じ物体（例えば、床上に設けたマーカー）を撮影し、その表示位置の差（視差）によって、撮像部１５ａ、１５ｂの床からの高さを取得することができる。または、例えば、制御部３１は、ユーザーによって回される操作部１９の回転数をカウントし、昇降部１０ｃが胴部本体１０ｂからどのくらい出でいるかを算出して、撮像部１５ａ、１５ｂの床からの高さを取得することができる。
【００６７】
次に、制御部３１は、撮像部１５ａ、１５ｂと、新たな作業台との距離を算出する（ステップＳ５）。例えば、制御部３１は、図５（Ｃ）の距離ａを算出する。
【００６８】
制御部３１は、ステップＳ４にて算出した撮像部１５ａ、１５ｂの床からの高さと、ステップＳ１にて受付けた新たな作業台の床からの高さとから、撮像部１５ａ、１５ｂと、新たな作業台との距離を算出する。具体的には、制御部３１は、撮像部１５ａ、１５ｂの床からの高さから、新たな作業台の床からの高さを減算し、撮像部１５ａ、１５ｂと、新たな作業台との距離を算出する。
【００６９】
次に、制御部３１は、ステップＳ５にて算出した、撮像部１５ａ、１５ｂと、新たな作業台との距離が、所定の範囲内にあるか否か判定する（ステップＳ６）。
【００７０】
例えば、上記したように、記憶部３２には、撮像部１５ａ、１５ｂの視野範囲に作業領域が収まる、撮像部１５ａ、１５ｂから最も近い作業台２１の距離（ｘ１）が記憶されている。また、記憶部３２には、撮像部１５ａ、１５ｂの視野範囲に作業領域が収まる、撮像部１５ａ、１５ｂから最も遠い作業台２１の距離（ｘ２）が記憶されている。よって、制御部３１は、ステップＳ５にて算出した距離（ａ）が、記憶部３２に記憶された２つの距離の範囲内（ｘ１とｘ２との間）にあるか否か判定する。制御部３１は、ステップＳ５にて算出した距離が、所定の範囲内にある場合（「Ｙｅｓ」の場合）、ステップＳ７の処理へ移行する。制御部３１は、ステップＳ５にて算出した距離が、所定の範囲内にない場合（「Ｎｏ」の場合）、ステップＳ８の処理へ移行する。
【００７１】
ステップＳ６で「Ｙｅｓ」の場合、表示部３４は、操作部１９により撮像部１５ａ、１５ｂの高さを変更しなくてもよい旨の情報を表示装置１２に表示する（ステップＳ７）。
【００７２】
図９は、撮像部１５ａ、１５ｂの高さを変更しない場合の画面例を示した図である。図９に示すように、表示装置１２のディスプレイには、画面５３が表示される。画面５３の表示領域５３ａには、撮像部１５ａ、１５ｂの昇降の調整が不要なことが表示され、ボタン５３ｂを押すと（タップすると）ロボット１の動作確認を開始することが表示されている。
【００７３】
図６の説明に戻る。ステップＳ６で「Ｎｏ」の場合、表示部３４は、操作部１９により撮像部１５ａ、１５ｂの高さを変更するよう指示する情報を表示装置１２に表示する（ステップＳ８）。
【００７４】
図１０は、撮像部１５ａ、１５ｂの高さを変更する場合の画面例を示した図である。図１０に示すように、表示装置１２のディスプレイには、画面５４が表示される。画面５４の表示領域５４ａには、撮像部１５ａ、１５ｂの昇降の調整が必要なことが表示され、昇降の調整後、ボタン５４ｂを押すと（タップすると）ロボット１の動作確認を開始することが表示されている。
【００７５】
なお、ユーザーは、撮像部１５ａ、１５ｂの高さを変更する場合、例えば、変更前の作業台の高さと、変更後の作業台の高さとの差分、撮像部１５ａ、１５ｂの高さを変更すればよい。例えば、ユーザーは、図５（Ｃ）に示す作業台２１の高さと、図５（Ｄ）に示す作業台２１ｃとの差分、撮像部１５ａ、１５ｂの高さを変更すればよい。より具体的には、ユーザーは、変更後の作業台の高さが変更前の作業台より高ければ、変更前の作業台の高さと、変更後の作業台の高さとの差分、撮像部１５ａ、１５ｂの高さを高くする。また、ユーザーは、変更後の作業台の高さが変更前の作業台より低ければ、変更前の作業台の高さと、変更後の作業台の高さとの差分、撮像部１５ａ、１５ｂの高さを低くする。これにより、高さを変更した後の作業台の作業領域は、撮像部１５ａ、１５ｂの視野範囲に収まる。
【００７６】
上記で説明したフローチャートの処理単位は、ロボット制御装置２０の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。ロボット制御装置２０の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。さらに、上記のフローチャートの処理順序も、図示した例に限られるものではない。
【００７７】
次に、ロボット制御装置２０の機能を実現するハードウェア構成例について説明する。
【００７８】
図１１は、ロボット制御装置２０の機能を実現するハードウェア構成の一例を示す図である。
【００７９】
ロボット制御装置２０は、例えば、図１１に示すような、ＣＰＵ（Central Processing Unit）等の演算装置６１と、ＲＡＭ（Random Access Memory）などの主記憶装置６２と、ＨＤＤ（Hard Disk Drive）等の補助記憶装置６３と、有線又は無線により通信ネットワークと接続するための通信インターフェイス（Ｉ／Ｆ）６４と、ＤＶＤ（Digital Versatile Disk）などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置６５と、を備えるコンピューター６０で実現することができる。
【００８０】
例えば、制御部３１、入力部３３、および表示部３４の機能は、補助記憶装置６３などから主記憶装置６２にロードされた所定のプログラムを演算装置６１が実行することで実現される。記憶部３２は、例えば、演算装置６１が主記憶装置６２または補助記憶装置６３を利用することで実現される。ロボット制御装置２０と表示装置１２との通信およびロボット制御装置２０と表示装置１２に設けられたタッチパネルとの通信は、通信Ｉ／Ｆ６４によって実現される。
【００８１】
なお、上記の所定のプログラムは、例えば、読み書き装置６５により読み取られた記憶媒体からインストールされてもよいし、通信Ｉ／Ｆ６４を介してネットワークからインストールされてもよい。
【００８２】
また、制御部３１、入力部３３、および表示部３４の一部またはすべての機能は、例えば、演算装置、記憶装置、駆動回路などを備えるＡＳＩＣ（Application Specific Integrated Circuit）を備えるコントローラー基板等により実現してもよい。
【００８３】
上述したロボット制御装置２０の機能構成は、ロボット制御装置２０の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボット制御装置２０の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００８４】
このように、ロボット１は、高さの異なる第１の作業台から第２の作業台へ移動する場合、移動前における撮像部１５ａ、１５ｂの高さと、第２の作業台の高さとの差が所定の範囲内にあるか否か判定する。そして、ロボット１は、移動前における撮像部１５ａ、１５ｂの高さと、第２の作業台の高さとの差が所定の範囲内にないと判定した場合、撮像部１５ａ、１５ｂの高さを変更するよう指示する情報を表示装置１２に表示する。これにより、作業台の高さが変わったときのロボット１の操作の手間を低減することができる。
【００８５】
なお、上記では、ユーザーが、撮像部１５ａ、１５ｂの高さを変更するとしたが、ロボット１が、撮像部１５ａ、１５ｂの高さを変更してもよい。
【００８６】
例えば、昇降部１０ｃに、昇降部１０ｃのラックギアを稼働するモーターを設ける。制御部３１は、作業台２１が第１の高さにあるときの撮像部１５ａ、１５ｂと、第２の高さの作業台２１との距離が所定の範囲内にない場合、昇降部１０ｃに設けられたモーターを回転し、昇降部１０ｃのラックギアを稼働する。より具体的には、制御部３１は、変更後の作業台の高さが変更前の作業台より高ければ、変更前の作業台の高さと、変更後の作業台の高さとの差分、撮像部１５ａ、１５ｂの高さを高くするようにモーターを回す。また、制御部３１は、変更後の作業台の高さが変更前の作業台より低ければ、変更前の作業台の高さと、変更後の作業台の高さとの差分、撮像部１５ａ、１５ｂの高さを低くするようにモーターを回す。
【００８７】
これにより、ロボット１は、作業台２１が第１の高さにあるときの撮像部１５ａ、１５ｂと、第２の高さの作業台との距離が所定の範囲内にない場合に、撮像部１５ａ、１５ｂの高さを変更するので、ユーザーのロボット操作の手間を低減することができる。
【００８８】
なお、制御部３１は、例えば、次のようにして、変更前の作業台の高さと、変更後の作業台の高さとの差分を算出できる。例えば、制御部３１は、変更前の作業台の高さを、撮像部１５ａ、１５ｂの視差を利用して取得する。また、制御部３１は、図６のステップＳ１で説明したように、ユーザーからの入力によって、変更後の作業台の高さを取得する。制御部３１は、取得した変更前の作業台の高さと、変更後の作業台の高さとから、変更前の作業台の高さと、変更後の作業台の高さとの差分を算出できる。
【００８９】
また、表示部３４は、制御部３１によって、作業台２１が第１の高さにあるときの撮像部１５ａ、１５ｂと、第２の高さの作業台２１との距離が所定の範囲内にないと判定された場合、撮像部１５ａ、１５ｂの高さを変更する変更値を表示装置１２に表示してもよい。
【００９０】
例えば、制御部３１は、変更前の作業台の高さと、変更後の作業台の高さとの差分を算出する。表示部３４は、変更後の作業台の高さが変更前の作業台より高ければ、撮像部１５ａ、１５ｂの高さを、制御部３１が算出した差分、高くするように指示を表示する。また、表示部３４は、変更後の作業台の高さが変更前の作業台より低ければ、撮像部１５ａ、１５ｂの高さを、制御部３１が算出した差分、低くするように指示を表示する。
【００９１】
これにより、ユーザーは、表示装置１２に表示された差分値に基づいて、撮像部１５ａ、１５ｂの高さを変更すればよく、ロボット１の操作の手間を低減することができる。
【００９２】
また、制御部３１は、ロボット１の作業領域が第１の高さから第２の高さへ移るとき、作業領域が第１の高さにあるときの撮像部１５ａ、１５ｂと、第２の高さの作業領域との距離が所定の範囲内にあるか否か判定してもよい。例えば、制御部３１は、図５（Ｂ）に示すように、作業領域４１が矢印Ａ１１に示す範囲にあるか否か判定してもよい。
【００９３】
また、上記では、ロボット制御装置２０は、ロボット１が有しているとしたが、ロボット１の外部に独立して設けてもよい。例えば、ロボット１の外部に独立して設けたロボット制御装置２０を、配線によってロボット１と接続し、ロボット１を制御するようにしてもよい。
【００９４】
以下、作業領域全体が撮像部の視野範囲（視錐台）に収まる、撮像部の高さ範囲の算出例（例えば、図５（Ｃ）で説明した距離ｘ１、ｘ２の算出例）について説明する。まず、撮像部の視錐台と作業領域との関係について説明する。
【００９５】
図１２は、撮像部の視錐台を定義した図面である。図１２に示すように、撮像部の視点方向をＺ軸の正方向とし、水平方向をＸ軸、垂直方向をＹ軸とした右手座標系を定義する。また、撮像部の画角（ＦＯＶ：Field Of View）および被写界深度を次の変数で表すとする。
【００９６】
撮像部の画角（視野角）：水平画角θｘ、垂直画角θｙ
撮像部の被写界深度：近平面距離ｄｎ、遠平面距離ｄｆ
【００９７】
図１２の視錐台において、撮像部が作業領域の全体を捉えるには、作業領域全体が視錐台を形成する平面の内側に入っていることが条件となる。以下、視錐台を形成する平面方程式を求める。
【００９８】
図１３は、図１２の視錐台をＹＺ平面から見た図である。図１４は、図１２の視錐台をＸＺ平面から見た図である。図１３および図１４に示すように、視錐台は、６つの平面Ｐ１〜Ｐ６から構成される。平面Ｐ１〜Ｐ６の平面方程式は、次の式（１ａ）〜（１ｆ）によって示される。
【００９９】
ｚ−ｄｎ＝０  …（１ａ）
ｚ−ｄｆ＝０  …（１ｂ）
ｅｙｙ＋ｚ＝０  …（１ｃ）
−ｅｙｙ＋ｚ＝０  …（１ｄ）
ｅｘｘ＋ｚ＝０  …（１ｅ）
−ｅｘｘ＋ｚ＝０  …（１ｆ）
【０１００】
ただし、ｅｘ、ｅｙは、次の式（２ａ）、（２ｂ）で示される。
ｅｘ＝１／（ｔａｎθｘ／２）  …（２ａ）
ｅｙ＝１／（ｔａｎθｙ／２）  …（２ｂ）
【０１０１】
ここで、撮像部の視錐台に作業領域の全体が収まるには、上記の式（１ａ）〜（１ｆ）で示される平面によって形成される視錐台の内側に、作業領域の全ての領域が収まることが条件となる。例えば、作業領域が直方体で定義される場合、直方体の８頂点すべてが、式（１ａ）〜（１ｂ）で示される平面によって形成される視錐台の内側に収まることが条件となる。より具体的には、直方体の頂点Ｐｎ（ｘｎ、ｙｎ、ｚｎ）（ｎ＝１…８）の全てが、次の式（３ａ）〜（３ｆ）を満たす必要がある。
【０１０２】
ｚｎ−ｄｎ＞０      …（３ａ）  （平面Ｐ１の条件）
ｚｎ−ｄｆ＞０      …（３ｂ）  （平面Ｐ２の条件）
ｅｙｙｎ＋ｚｎ＞０    …（３ｃ）  （平面Ｐ３の条件）
−ｅｙｙｎ＋ｚｎ＞０  …（３ｄ）  （平面Ｐ４の条件）
ｅｘｘｎ＋ｚｎ＞０    …（３ｅ）  （平面Ｐ５の条件）
−ｅｘｘｎ＋ｚｎ＞０  …（３ｆ）  （平面Ｐ６の条件）
【０１０３】
以上より、頂点Ｐｎ（ｘｎ、ｙｎ、ｚｎ）（ｎ＝１…８）で示される直方体の作業領域は、上記の式（３ａ）〜（３ｆ）の条件を満たせば、図１２〜図１４に示す平面Ｐ１〜Ｐ６で囲まれる視錐台の中に収まる。
【０１０４】
次に、撮像部の設置位置および姿勢が、基準座標系の原点および座標軸と一致していない場合の、作業領域が視錐台に収まる条件を求める。
【０１０５】
ある座標を各ＸＹＺ軸へ（ｘ０、ｙ０、ｚ０）だけ並進移動した場合の座標は、次の式（４）で示される。
【０１０６】
【数１】
2015131375.tif 000003
【０１０７】
また、ある座標を各ＸＹＺ軸周りにＺＹＸの順にθｚ、θｙ、θｘだけ回転したときの座標は、次の式（５）で示される。
【０１０８】
【数２】
2015131375.tif 000004
【０１０９】
各軸周りのcos/sin値を書き換え、式（５）を整理すると、ＺＹＸ軸周りの回転変換は次の式（６）で示される。
【０１１０】
【数３】
2015131375.tif 000005
【０１１１】
式（４）と式（６）で示される座標変換を、上記の平面Ｐ１〜Ｐ６の平面方程式（１ａ）〜（１ｆ）に適用すると、撮像部の設置位置および姿勢が、基準座標系の原点および座標軸と一致していない場合の、視錐台の各平面方程式（７ａ）〜（７ｆ）が求まる。
【０１１２】
【数４】
2015131375.tif 000006
【０１１３】
ここで、撮像部の設置位置および姿勢が、基準座標系の原点および座標軸と一致していない場合の、撮像部の視錐台に作業領域の全体が収まる条件は、上記の式（７ａ）〜（７ｆ）で示される平面によって形成される視錐台の内側に、作業領域の全ての領域が収まることが条件となる。例えば、作業領域が直方体で定義される場合、直方体の８頂点すべてが、式（７ａ）〜（７ｂ）で示される平面によって形成される視錐台の内側に収まることが条件となる。より具体的には、直方体の頂点Ｐｎ（ｘｎ、ｙｎ、ｚｎ）（ｎ＝１…８）の全てが、次の式（８ａ）〜（８ｆ）を満たす必要がある。
【０１１４】
【数５】
2015131375.tif 000007
【０１１５】
以上より、頂点Ｐｎ（ｘｎ、ｙｎ、ｚｎ）（ｎ＝１…８）で示される直方体の作業領域は、上記の式（８ａ）〜（８ｆ）の条件を満たせば、式（７ａ）〜（７ｆ）に示す平面Ｐ１〜Ｐ６で囲まれる視錐台の中に納まる。
【０１１６】
なお、式（８ａ）、（８ｂ）の平面は、被写界深度ｄｎ、ｄｆと撮像部の設置位置姿勢で決まる。式（８ｃ）〜（８ｆ）の平面は、被写界深度ｄｎ、ｄｆに依存せず、撮像部の視野角ｅｘ、ｅｙと撮像部の設置位置姿勢で決まる。
【０１１７】
次に、高さ範囲を算出する撮像部の設置位置姿勢について説明する。
【０１１８】
図１５は、撮像部の設置位置姿勢例を示した図である。図１５（Ａ）には、ＸＺ平面での撮像部の設置位置姿勢が示してあり、図１５（Ｂ）には、ＹＺ平面での撮像部の設置位置姿勢が示してある。
【０１１９】
図１５には、２つの撮像部Ｃ０、Ｃ１が示してある。２つの撮像部Ｃ０、Ｃ１は、ステレオカメラを形成している。
【０１２０】
撮像部Ｃ０、Ｃ１は、基長線２ｌ（ｍｍ）、仰角α°（１８０°〜２７０°）、輻輳角β°（０°〜９０°）で設置されているとする。撮像部Ｃ０、Ｃ１の画角はθｘ、θｙ、焦点はｄｎ〜ｄｆ（ｍｍ）であるとする。撮像部Ｃ０は、基準座標系に対し、座標（−ｌ、Ｃｙ、Ｃｚ）に設置され、撮像部Ｃ１は、基準座標系に対し、座標（ｌ、Ｃｙ、Ｃｚ）に設置されているとする。
【０１２１】
この場合、撮像部Ｃ０は、基準座標系をＺＹＸ軸周りに順に（α°、−β°、０）回転した後、各軸方向へ（−ｌ、Ｃｙ、Ｃｚ）（ｍｍ）だけ並進移動した位置に設置されていることになる。また、撮像部Ｃ１は、基準座標系をＺＹＸ軸周りに順に（α°、β°、０）回転した後、各軸方向へ（ｌ、Ｃｙ、Ｃｚ）（ｍｍ）だけ並進移動した位置に設置されていることになる。
【０１２２】
次に、作業領域の設置について説明する。
【０１２３】
図１６は、作業領域の設置例を示した図である。図１６（Ａ）には、ＸＺ平面での作業領域の設置例が示してあり、図１６（Ｂ）には、ＹＺ平面での作業領域の設置例が示してある。
【０１２４】
図１６には、作業領域Ｗ１が示してある。作業領域Ｗ１は、立方体であり、図１６に示すように各辺の長さ（ｍｍ）は、２ｓｘ、２ｓｙ、２ｓｚであるとする。作業領域Ｗ１の中心は、座標（０、ｓｙ０、ｓｚ）に置かれているとする。この場合、作業領域Ｗ１の８つの頂点座標は、次のように示される。
【０１２５】
頂点１：（−ｓｘ、ｓｙ０、０）
頂点２：（−ｓｘ、ｓｙ０、２ｓｚ）
頂点３：（−ｓｘ、ｓｙ０＋２ｓｙ、０）
頂点４：（−ｓｘ、ｓｙ０＋２ｓｙ、２ｓｚ）
頂点５：（ｓｘ、ｓｙ０、０）
頂点６：（ｓｘ、ｓｙ０、２ｓｚ）
頂点７：（ｓｘ、ｓｙ０＋２ｓｙ、０）
頂点８：（ｓｘ、ｓｙ０＋２ｓｙ、２ｓｚ）
【０１２６】
以下、具体的な撮像部の高さ範囲を算出する。
【０１２７】
図１７は、撮像部の高さを算出するための具体的なパラメータ値を示した図である。図１５に示した撮像部Ｃ０、Ｃ１のカメラ視野「θｘ、θｙ」の値を、図１７の「カメラ視野」に示す値とする。これにより、「ｔａｎθｘ／２」および「ｔａｎθｙ／２」の値は、図１７の変数「ｔａｎθｘ／２」および「ｔａｎθｙ／２」に示す値となり、上記の式（２ａ）、（２ｂ）に示す「ｅｘ」および「ｅｙ」の値は、図１７の変数「ｅｘ」および「ｅｙ」に示す値となる。
【０１２８】
図１５に示した撮像部Ｃ０、Ｃ１の回転「α、β」の値を、図１７の「カメラ回転」に示す値とする。これにより、式（６）のただし書きおよび式（８ａ）〜（８ｆ）に示す「ｓｘ」、「ｓｙ」、「ｓｚ」、「ｃｘ」、「ｃｙ」、および「ｃｚ」は、図１７の変数「ｓｘ」、「ｓｙ」、「ｓｚ」、「ｃｘ」、「ｃｙ」、および「ｃｚ」に示す値となる。
【０１２９】
図１５に示した撮像部Ｃ０、Ｃ１の並進移動「ｘ０、ｙ０、ｚ０」の値を、図１７の「カメラ並進移動」に示す値とする。なお、作業領域の全体が、撮像部Ｃ０、Ｃ１の視錐台に入る撮像部Ｃ０、Ｃ１の高さを求めるので、「Ｃｚ」は、未知数とする。
【０１３０】
図１５に示した撮像部Ｃ０、Ｃ１の被写界深度「ｄｎ、ｄｆ」を、図１７の「被写体深度」に示す値とする。
【０１３１】
図１６に示した作業領域Ｗ１の「２ｓｘ、２ｓｙ、２ｓｚ、ｓｙ０」のそれぞれを、３００、３００、３００、および２００をとする。作業領域Ｗ１の各頂点の座標は、以下のようになる。
【０１３２】
頂点１：（−１５０、２００、０）
頂点２：（−１５０、２００、３００）
頂点３：（−１５０、５００、０）
頂点４：（−１５０、５００、３００）
頂点５：（１５０、２００、０）
頂点６：（１５０、２００、３００）
頂点７：（１５０、５００、０）
頂点８：（１５０、５００、３００）
【０１３３】
作業領域Ｗ１の各頂点が、撮像部Ｃ０の視錐台の平面Ｐ１の内側に入る条件を求める。すなわち、図１７のパラメータを式（８ａ）に代入し（撮像部Ｃ０の視錐台の条件を求めるので、βは「−２０°」、Ｃｘは「−１５０」、Ｓβは「−０．３４２０」を代入）、作業領域Ｗ１の上記頂点の座標を、式（８ａ）のｘ、ｙ、ｚに代入する。すると、以下の結果が得られる。
【０１３４】
頂点１が、視錐台の平面Ｐ１の内側に入る条件
307.2017＜Ｃｚ
頂点２が、視錐台の平面Ｐ１の内側に入る条件
607.2017＜Ｃｚ
頂点３が、視錐台の平面Ｐ１の内側に入る条件
122.8807＜Ｃｚ
頂点４が、視錐台の平面Ｐ１の内側に入る条件
422.8807＜Ｃｚ
頂点５が、視錐台の平面Ｐ１の内側に入る条件
198.0106＜Ｃｚ
頂点６が、視錐台の平面Ｐ１の内側に入る条件
498.0106＜Ｃｚ
頂点７が、視錐台の平面Ｐ１の内側に入る条件
13.6896＜Ｃｚ
頂点８が、視錐台の平面Ｐ１の内側に入る条件
313.6896＜Ｃｚ
【０１３５】
上記条件のうち、最も厳しい条件は、頂点２が、視錐台の平面Ｐ１の内側に入る条件である。すなわち、作業領域Ｗ１の各頂点が、視錐台の平面Ｐ１の内側に入るには、少なくとも、「607.2017＜Ｃｚ」の条件を満たす必要がある。
【０１３６】
以下、同様にして、作業領域Ｗ１の各頂点が、視錐台の平面Ｐ２〜Ｐ６の内側に入る条件を求める。すなわち、図１７のパラメータを、平面Ｐ２〜Ｐ６の条件式（８ｂ）〜（８ｆ）に代入し、作業領域Ｗ１の各頂点の座標を、式（８ｂ）〜（８ｆ）のｘ、ｙ、ｚに代入する。すると、各平面Ｐ２〜Ｐ６のそれぞれにおいて、上記のような、各頂点が視錐台の内側に入るための条件が求まる。そして、各平面において、最も厳しい条件を抽出する。平面Ｐ２〜Ｐ６のそれぞれの最も厳しい条件は、上記の平面１の条件も再度示すと以下のようになる。
【０１３７】
平面１の条件：607.2017＜Ｃｚ
平面２の条件：Ｃｚ＜873.8542
平面３の条件：125.9030＜Ｃｚ
平面４の条件：297.3330＜Ｃｚ
平面５の条件：220.3311＜Ｃｚ
平面６の条件：314.6146＜Ｃｚ
【０１３８】
以上６つの条件から、作業領域Ｗ１全体が撮像部Ｃ０の視錐台に収まる、撮像部Ｃ０の高さ範囲は、次のようになる。
607.2017＜Ｃｚ＜873.8542
【０１３９】
撮像部Ｃ１においても、撮像部Ｃ０と同様にして、作業領域Ｗ１全体が撮像部Ｃ１の視錐台に収まる、撮像部Ｃ１の高さ範囲を求める。なお、式（８ａ）〜（８ｆ）に代入するパラメータは、図１７のパラメータとなるが、「β」、「ｌ」、および「Ｓβ」については、「＋２０°」、「＋１５０」、および「＋０．３４２０」を代入する。
【０１４０】
撮像部Ｃ１の視錐台は、撮像部Ｃ０の視錐台に対し、Ｚ方向（撮像部Ｃ０、Ｃ１の高さ方向）において線対称となる。よって、撮像部Ｃ１における高さ範囲は、撮像部Ｃ０と同じ結果となる。以上から、作業領域Ｗ１全体が、撮像部Ｃ０、Ｃ１の視錐台に収まる、撮像部Ｃ０、Ｃ１の高さ範囲は、「607.2017＜Ｃｚ＜873.8542」となる。
【０１４１】
なお、「Ｃｚ」は、図１５および図１６より、撮像部Ｃ０、Ｃ１と作業台との距離を示しているといえる。よって、「607.2017」は、例えば、図５（Ｃ）の距離ｘ１に対応し、「873.8542」は、図５（Ｃ）の距離ｘ２に対応する。
【０１４２】
図６等で説明したように、距離ｘ１、ｘ２は、予め記憶部３２に記憶される。距離ｘ１、ｘ２は、例えば、パーソナルコンピュータなどの計算機を用いて、上記したような計算方法によって予め算出し、記憶部３２に記憶する。または、ロボット１の制御部３１が算出して、記憶部３２に記憶してもよい。この場合、図１７に示すパラメータおよび作業領域の頂点は、例えば、表示装置１２のタッチパネルから、ユーザーによって入力されるようにする。または、撮像部１５ａ、１５ｂの回転、並進運動を検知するセンサーをロボット１に設け、制御部３１は、そのセンサーから回転、並進運動に関するパラメータを取得するようにしてもよい。
【０１４３】
上記の撮像部Ｃ０、Ｃ１の高さ範囲の算出例では、作業領域の形状を直方体または立方体として説明したが、多面体等その他の立体形状であってもよい。立体形状の各頂点が、視錐台内に収まるように条件を求めればよい。
【０１４４】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。本発明は、ロボットと、ロボット制御装置等とを別個に有するロボットシステムとして提供してもよいし、ロボットにロボット制御装置等が含まれるロボットとして提供してもよいし、ロボット制御装置として提供してもよい。また、本発明は、ロボット等を制御する方法、ロボット等を制御するプログラム、当該プログラムを記憶した記憶媒体として提供することもできる。
【０１４５】
また、本発明は、ロボット、ロボットシステム、ロボットの昇降指示方法、またはロボットの昇降指示プログラムなど、様々な態様で提供することもできる。
【符号の説明】
【０１４６】
１：ロボット、１０：胴部、１０ａ：肩領域、１０ｂ：胴体本体、１０ｃ：昇降部、１１：アーム、１２：表示装置、１３：脚部、１４：搬送用ハンドル、１５ａ、１５ｂ：撮像部、１６：信号灯、１７：電源スイッチ、１８：外部接続端子、１９：操作部、２０：ロボット制御装置、２１：作業台、３１：制御部、３２：記憶部、３３：入力部、３４：表示部。
【図１】
2015131375.tif 000008
【図２】
2015131375.tif 000009
【図３】
2015131375.tif 000010
【図４】
2015131375.tif 000011
【図５】
2015131375.tif 000012
【図６】
2015131375.tif 000013
【図７】
2015131375.tif 000014
【図８】
2015131375.tif 000015
【図９】
2015131375.tif 000016
【図１０】
2015131375.tif 000017
【図１１】
2015131375.tif 000018
【図１２】
2015131375.tif 000019
【図１３】
2015131375.tif 000020
【図１４】
2015131375.tif 000021
【図１５】
2015131375.tif 000022
【図１６】
2015131375.tif 000023
【図１７】
2015131375.tif 000024