(57)【要約】【課題】作業対象の設置に係る作業の効率化を図ることができるロボットを提供すること。【解決手段】ロボットは、複数の関節を有するアームと、エンドエフェクターと、制御部とを備え、制御部は、アームを移動させ、エンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付ける。【選択図】図３
2016120529.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節を有するアームと、エンドエフェクターと、制御部とを備え、
前記制御部は、前記アームを移動させ、前記エンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付けることを特徴とするロボット。
【請求項２】
請求項１に記載のロボットであって、
前記制御部は、前記アームの構成情報を用いて、前記作業領域を算出する、
ロボット。
【請求項３】
請求項１又は２に記載のロボットであって、
前記制御部は、前記作業領域を表す位置として前記作業領域を示す複数の代表点の位置を算出し、算出した前記複数の前記代表点の位置それぞれに前記マーカーを付ける、
ロボット。
【請求項４】
請求項３に記載のロボットであって、
前記制御部は、前記作業領域を表す位置として前記作業領域の境界上における前記複数の前記代表点の位置を算出する、
ロボット。
【請求項５】
請求項１又は２に記載のロボットであって、
前記制御部は、前記作業領域を表す位置として前記作業領域の境界上の各点の位置を算出し、算出した前記境界上の各点に基づいて、前記境界をなぞるように前記マーカーを付ける、
ロボット。
【請求項６】
複数の関節を有するアームと、エンドエフェクターとを備えるロボットと、
前記ロボットを動作させる制御装置と、
を含み、
前記制御装置は、
前記アームを移動させ、前記エンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付けることを特徴とする、
ロボットシステム。
【請求項７】
ロボットが備えるアームを移動させ、前記ロボットが備えるエンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付けることを特徴とする制御装置。
【請求項８】
ロボットが備えるアームを移動させ、前記ロボットが備えるエンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付けることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット、ロボットシステム、制御装置、及び制御方法に関する。
【背景技術】
【０００２】
作業対象を把持し、把持した作業対象を用いて作業を行うロボットが研究・開発されている。
【０００３】
これに関連し、光を投影することによりロボットが操作する対象物を表示し、作業環境中に居る人にロボットの動作と作業内容を明示する動作予告装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１２２３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の動作予告装置では、ロボットの可動範囲を正確に把握することは困難で、作業レイアウトを決めるために多大な時間を要していた。
【０００６】
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、作業対象の設置に係る作業の効率化を図ることができるロボット、ロボットシステム、制御装置、及び制御方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様は、複数の関節を有するアームと、エンドエフェクターと、制御部とを備え、前記制御部は、前記アームを移動させ、前記エンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付けることを特徴とするロボットである。
この構成により、ロボットは、アームを移動させ、前記エンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付ける。これにより、ロボットは、作業対象の設置に係る作業の効率化を図ることができる。
【０００８】
また、本発明の他の態様は、ロボットにおいて、前記制御部は、前記アームの構成情報を用いて、前記作業領域を算出する、構成が用いられてもよい。
この構成により、ロボットは、アームの構成情報を用いて、前記作業領域を算出する。これにより、ロボットは、算出した作業領域をユーザーに知らせることができる。
【０００９】
また、本発明の他の態様は、ロボットにおいて、前記制御部は、前記作業領域を表す位置として前記作業領域を示す複数の代表点の位置を算出し、算出した前記複数の前記代表点の位置それぞれに前記マーカーを付ける、構成が用いられてもよい。
この構成により、ロボットは、作業領域を表す位置として作業領域を示す複数の代表点の位置を算出し、算出した複数の代表点の位置それぞれにマーカーを付ける。これにより、ロボットは、複数の代表点それぞれの位置に付けられたマーカーによって作業対象を設置可能な範囲をユーザーに知らせることができる。
【００１０】
また、本発明の他の態様は、ロボットにおいて、前記制御部は、前記作業領域を表す位置として前記作業領域の境界上における前記複数の前記代表点の位置を算出する、構成が用いられてもよい。
この構成により、ロボットは、作業領域を表す位置として作業領域の境界上における複数の代表点の位置を算出する。これにより、ロボットは、アームが移動する複数の位置によって作業対象を設置可能な範囲を、より確実にユーザーに知らせることができる。
【００１１】
また、本発明の他の態様は、ロボットにおいて、前記制御部は、前記作業領域を表す位置として前記作業領域の境界上の各点の位置を算出し、算出した前記境界上の各点に基づいて、前記境界をなぞるように前記マーカーを付ける、構成が用いられてもよい。
この構成により、ロボットは、作業領域を表す位置として作業領域の境界上の各点の位置を算出し、算出した境界上の各点に基づいて、境界をなぞるようにマーカーを付ける。これにより、ロボットは、マーカーにより示された境界によってユーザーに作業対象を設置可能な範囲を知らせることができる。
【００１２】
また、本発明の他の態様は、複数の関節を有するアームと、エンドエフェクターとを備えるロボットと、前記ロボットを動作させる制御装置と、を含み、前記制御装置は、前記アームを移動させ、前記エンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付けることを特徴とする、ロボットシステムである。
この構成により、ロボットシステムは、アームを移動させ、エンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付ける。これにより、ロボットシステムは、作業対象の設置に係る作業の効率化を図ることができる。
【００１３】
また、本発明の他の態様は、ロボットが備えるアームを移動させ、前記ロボットが備えるエンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付けることを特徴とする制御装置である。
この構成により、制御装置は、ロボットが備えるアームを移動させ、ロボットが備えるエンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付ける。これにより、制御装置は、作業対象の設置に係る作業の効率化を図ることができる。
【００１４】
また、本発明の他の態様は、ロボットが備えるアームを移動させ、前記ロボットが備えるエンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付けることを特徴とする制御方法である。
この構成により、制御方法は、ロボットが備えるアームを移動させ、ロボットが備えるエンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付ける。これにより、制御方法は、作業対象の設置に係る作業の効率化を図ることができる。
【００１５】
以上により、ロボット、ロボットシステム、制御装置、及び制御方法は、アームを移動させ、前記エンドエフェクターに所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付ける。これにより、ロボット、ロボットシステム、制御装置、及び制御方法は、作業対象の設置に係る作業の効率化を図ることができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態に係るロボットシステム１の一例を示す構成図である。
【図２】制御装置３０のハードウェア構成の一例を示す図である。
【図３】制御装置３０の機能構成の一例を示す図である。
【図４】制御装置３０がロボット２０に代表点の位置に印を付けさせるまでの処理の流れの一例を示すフローチャートである。
【図５】第２実施形態に係るロボットシステム１の一例を示す構成図である。
【図６】制御装置３０ａの機能構成の一例を示す図である。
【図７】制御装置３０ａがロボット２０に代表点の位置に印を付けさせるまでの処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
＜第１実施形態＞
以下、本発明の第１実施形態について、図面を参照して説明する。図１は、第１実施形態に係るロボットシステム１の一例を示す構成図である。ロボットシステム１は、１以上の撮像部を備えるロボット２０と、制御装置３０を具備する。
【００１８】
ロボットシステム１は、作業台ＴＢの上面の一部又は全部の領域を利用してロボット２０に所定の作業を行わせる。以下では、説明の便宜上、ロボット２０が所定の作業を行う領域を作業領域と称して説明する。図１において、作業領域を領域Ａによって示し、以下、領域Ａを作業領域Ａと称して説明する。所定の作業とは、例えば、作業領域Ａ内のある位置において作業対象を把持し、把持された作業対象を作業領域Ａ内の他の位置に配置する作業等である。なお、所定の作業は、これに代えて、作業領域Ａ内のある位置に配置された道具を把持し、把持された道具によって作業領域Ａ内の他の位置に配置された作業対象に対して加工等を行う作業等の他の作業であってもよい。
【００１９】
すなわち、作業領域Ａとは、ロボットにより行われる動作によって所定の目的を達成可能な領域を示す。所定の目的とは、所定の作業の完遂等を示す。より具体的には、例えば、作業領域Ａは、ロボット２０のエンドエフェクターの所定の部位が届く作業台ＴＢの上面の一部又は全部の領域や、ロボット２０のエンドエフェクターが作業台ＴＢにおいて所定の作業を行うために必要な姿勢を実現することが可能な領域等を示す。なお、作業領域Ａは、この一例において、作業台ＴＢの上面における何らかの平面的な領域であるが、これに代えて例えば、ロボット２０によって指し示すことが可能な立体的な領域（空間）であってもよく、棚や立体的な治具の一部分（例えば、棚の３〜５段目等）を含む領域であってもよい。作業領域Ａは、所定の目的を達成可能な領域の一例である。
【００２０】
作業台ＴＢは、この一例において、ロボット２０が作業を行うために用いる台やテーブル等であるが、これに代えて、床面や壁面等であってもよい。ロボットシステム１は、ロボット２０に所定の作業を行わせる前に、ロボット２０が備える１以上の撮像部によって作業領域よりも広い範囲（この一例において、作業台ＴＢの上面を含む範囲）を撮像する。そして、ロボットシステム１は、撮像した撮像画像であって、作業領域よりも広い範囲を含む撮像画像に基づいて、作業台ＴＢの上面における作業領域Ａを示す位置をロボット２０に指し示させる。
【００２１】
作業台ＴＢの上面における作業領域Ａを示す位置をロボット２０に指し示させる方法は、例えば、ロボット２０にペンやスタンプを把持させ、そのペンやスタンプによって印を付けさせる方法であってもよく、単にロボット２０がマニピュレーターの先端に設けられたエンドエフェクターを、作業領域Ａを示す位置まで移動させる方法等、他の方法であってもよい。この一例では、作業台ＴＢの上面における作業領域Ａを示す位置に印を付けるためのペンをロボット２０が予め把持しており、このペンによってロボット２０が作業領域Ａを示す位置に印を付けるとして説明する。なお、ペンによってロボット２０が印を付ける作業領域Ａを示す位置は、所定の目的を達成可能な領域の境界上の任意の位置の一例である。
【００２２】
以下、ロボットシステム１が具備するロボット２０と、制御装置３０について説明する。
ロボット２０は、第１動撮像部１１と、第２動撮像部１２と、第１固定撮像部２１と、第２固定撮像部２２と、第１エンドエフェクターＥＮＤ１と、第２エンドエフェクターＥＮＤ２と、第１マニピュレーターＭＮＰ１と、第２マニピュレーターＭＮＰ２と、図示しない複数のアクチュエーターを備えた双腕ロボットである。
【００２３】
双腕ロボットとは、第１エンドエフェクターＥＮＤ１と第１マニピュレーターＭＮＰ１（又は第１マニピュレーターＭＮＰ１のみ）によって構成されるアーム（以下、第１アームと称する）と、第２エンドエフェクターＥＮＤ２と第２マニピュレーターＭＮＰ２（又は第２マニピュレーターＭＮＰ２のみ）によって構成されるアーム（以下、第２アームと称する）との２本のアームを有するロボットを示す。この一例において、第１エンドエフェクターＥＮＤ１及び第２エンドエフェクターＥＮＤ２はそれぞれ、物体を把持可能な爪部を備える構成であるとするが、これに代えて、他の作業に特化した機能部（例えば、ドライバー等）を備える構成であってもよい。
【００２４】
なお、ロボット２０は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットとは、１本のアームを有するロボットを示し、例えば、前述の第１アームと第２アームのうちいずれか一方を有するロボットを示す。また、ロボット２０は、さらに制御装置３０を内蔵し、内蔵された制御装置３０により制御される。なお、ロボット２０は、制御装置３０を内蔵する構成代えて、外部に設置された制御装置３０により制御される構成であってもよい。
【００２５】
第１アームは、それぞれが７軸垂直多関節型となっており、支持台と第１マニピュレーターＭＮＰ１と第１エンドエフェクターＥＮＤ１とがアクチュエーターによる連携した動作によって７軸の自由度の動作を行うことができる。また、第１アームは、第１動撮像部１１を備える。
第２アームは、それぞれが７軸垂直多関節型となっており、支持台と第２マニピュレーターＭＮＰ２と第２エンドエフェクターＥＮＤ２とがアクチュエーターによる連携した動作よって７軸の自由度の動作を行うことができる。また、第２アームは、第２動撮像部１２を備える。
なお、第１アームと第２アームはそれぞれ、６自由度（６軸）以下で動作するものであってもよく、８自由度（８軸）以上で動作するものであってもよい。
【００２６】
第１動撮像部１１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。第１動撮像部１１は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、第１動撮像部１１と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００２７】
第１動撮像部１１は、図１に示したように第１アームを構成する第１マニピュレーターＭＮＰ１の一部に備えられており、第１アームの動きによって移動することが可能である。なお、第１動撮像部１１は、静止画像を第１動撮像画像として撮像する構成であるとするが、これに代えて、動画像を第１動撮像画像として撮像する構成であってもよい。
第２動撮像部１２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。
【００２８】
第２動撮像部１２は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２動撮像部１２と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。第２動撮像部１２は、図１に示したように第２アームを構成する第２マニピュレーターＭＮＰ２の一部に備えられており、第２アームの動きによって移動することが可能である。なお、第２動撮像部１２は、静止画像を第２動撮像画像として撮像する構成であるとするが、これに代えて、動画像を第２動撮像画像として撮像する構成であってもよい。
【００２９】
第１固定撮像部２１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第１固定撮像部２１は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２動撮像部１２と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００３０】
第１固定撮像部２１は、この一例において、作業台ＴＢの上面を含む範囲を撮像可能な位置に設置されている。以下では、第１固定撮像部２１により撮像される静止画像を第１固定撮像画像と称して説明する。なお、第１固定撮像部２１は、静止画像を第１固定撮像画像として撮像する構成であるとするが、これに代えて、動画像を第１固定撮像画像として撮像する構成であってもよい。
【００３１】
第２固定撮像部２２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第２固定撮像部２２は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２固定撮像部２２と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００３２】
第２固定撮像部２２は、この一例において、第１固定撮像部２１と同様の撮像範囲（作業台ＴＢの上面を含む範囲）を撮像可能な位置に設置されている。以下では、第２固定撮像部２２により撮像される静止画像を第２固定撮像画像と称して説明する。なお、第２固定撮像部２２は、静止画像を第２固定撮像画像として撮像する構成であるとするが、これに代えて、動画像を第２固定撮像画像として撮像する構成であってもよい。
【００３３】
また、これらの第１固定撮像部２１と第２固定撮像部２２は、ステレオカメラとして図１に点線で示したようにロボット２０の一部としてロボット２０の頭頂部Ｈに設置される構成であるとするが、これに代えて、ロボット２０とは別体として作業台ＴＢの上面を含む範囲を撮像可能な位置に設置される構成であってもよい。以下では、説明の便宜上、第１固定撮像画像と第２固定撮像画像をまとめてステレオ撮像画像と称して説明する。また、ロボット２０は、第１固定撮像部２１と第２固定撮像部２２のうちいずれか一方のみを備える構成であってもよく、３台以上の撮像部であって第１固定撮像部２１及び第２固定撮像部２２のように固定された撮像部を備える構成であってもよい。
【００３４】
ロボット２０は、例えば、ロボット２０に内蔵されている制御装置３０とケーブルによって通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、ロボット２０と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続されてもよい。
【００３５】
本実施形態において、ロボット２０が備える各機能部は、ロボット２０に内蔵された制御装置３０から制御信号を取得し、取得した制御信号に基づいて、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方に把持されたペンによって作業台ＴＢ上における作業領域Ａを示す位置を指し示す。
【００３６】
なお、以下の説明において、第１アームが行う動作は、第２アームによって行われてもよく、第２アームが行う動作は、第１アームによって行われてもよい。換言すると、ロボット２０は、第１エンドエフェクターＥＮＤ１によって指し示した作業領域Ａを示す位置を、第２エンドエフェクターＥＮＤ２によって指し示す構成であってもよい。この場合、第１アームと第２アームが行う動作は、以下の説明において入れ替わるとする。なお、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２が指し示す位置を分担することによって作業領域Ａを示す位置を指し示す構成であってもよい。
【００３７】
制御装置３０は、第１固定撮像部２１及び第２固定撮像部２２により作業台ＴＢの上面を含む範囲を撮像し、撮像されたステレオ撮像画像に基づいて作業台ＴＢの上面上の各点の位置を算出する。この一例において、作業台ＴＢの上面は、平面である場合について説明するが、これに限られず、例えば、凹凸を有する面であってもよい。制御装置３０は、算出された作業台ＴＢの上面上の各点の位置に基づいて、作業領域Ａを示す範囲を算出する。制御装置３０は、算出された作業領域Ａを示す範囲に基づいて、作業領域Ａを示す複数の点（以下、代表点と称する）の位置を算出する。そして、制御装置３０は、算出された複数の代表点の位置に基づいて第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方に把持されたペンによってそれぞれの代表点の位置に印（マーカー）を付けるようにロボット２０を制御する。
【００３８】
図１において、位置Ｐ１〜Ｐ４は、作業領域Ａを示す複数の点（すなわち、代表点）の一例である。なお、図１において、作業領域Ａは、長方形状の範囲であるが、これに代えて、円形状や楕円形状の範囲等、他の形状の範囲であってもよい。このように、制御装置３０は、ロボット２０に作業領域Ａを示す位置を指し示させることで、作業台ＴＢの上面に対する作業対象の設置に係る作業の効率化を図ることができる。作業対象とは、例えば、ロボット２０が作業を行う際に把持する工業製品やその部品、作業を行うための治具や道具、各種の部品を配置するトレイ等であるが、ロボット２０により作業を行うことが可能な物体であれば他の物体でもよい。
【００３９】
なお、制御装置３０は、ステレオ撮像画像に基づいて作業台ＴＢの上面上の各点の位置を算出する構成に代えて、第１固定撮像画像と第２固定撮像画像のうちいずれか一方に基づいて作業台ＴＢの上面上の各点の位置を算出する構成であってもよい。また、制御装置３０は、第１動撮像部１１及び第２動撮像部１２によって作業台ＴＢの上面を含む範囲をステレオ撮像することによって作業台ＴＢの上面上の各点の位置を算出する構成であってもよく、第１動撮像部１１と、第２動撮像部１２と、第１固定撮像部２１と、第２固定撮像部２２とのうちの１以上の撮像部によって作業台ＴＢの上面上の各点の位置を算出する構成であってもよい。
【００４０】
次に、図２を参照して、制御装置３０のハードウェア構成について説明する。図２は、制御装置３０のハードウェア構成の一例を示す図である。制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備え、通信部３４を介してロボット２０の各機能部と通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
【００４１】
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）などを含み、制御装置３０が処理する各種情報や画像、プログラム等を格納する。なお、記憶部３２は、制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
【００４２】
入力受付部３３は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部３３は、タッチパネルとして表示部と一体に構成されてもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００４３】
次に、図３を参照して、制御装置３０の機能構成について説明する。図３は、制御装置３０の機能構成の一例を示す図である。制御装置３０は、記憶部３２と、入力受付部３３と、表示部３５と、画像取得部３６と、制御部３７を備える。制御部３７が備える機能部のうち一部又は全部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００４４】
画像取得部３６は、第１固定撮像部２１及び第２固定撮像部２２からステレオ撮像画像を取得する。画像取得部３６は、取得されたステレオ撮像画像を制御部３７に出力する。
制御部３７は、制御装置３０の全体を制御する。制御部３７は、表示制御部４０と、撮像制御部４２と、範囲算出部４４と、代表点位置算出部４６と、ロボット制御部４８を備える。
表示制御部４０は、ユーザーがロボット２０に指し示させたい作業領域Ａの種類を、ユーザーに選択させるためのＧＵＩ（Graphical  User  Interface）を生成し、生成されたＧＵＩを表示部３５に表示させる。作業領域Ａの種類とは、例えば、以下の４つである。
【００４５】
１）第１エンドエフェクターＥＮＤ１の最大到達範囲
２）第２エンドエフェクターＥＮＤ２の最大到達範囲
３）第１エンドエフェクターＥＮＤ１及び第２エンドエフェクターＥＮＤ２それぞれの最大到達範囲を合わせた範囲
４）登録作業を実行可能な範囲
【００４６】
ここで、登録作業とは、入力受付部３３により予め登録されたロボット２０に行わせるための何らかの作業を示す。なお、作業領域Ａの種類は、上記の４つの種類に限られず、他の種類を含む５つ以上の種類であってもよい。また、作業領域Ａの種類は、他の種類を含む３つ以下の種類であってもよく、上記の１）〜４）のうちの任意の組み合わせによる３つ以下の種類であってもよい。
【００４７】
撮像制御部４２は、第１固定撮像部２１及び第２固定撮像部２２が作業台ＴＢの上面を含む範囲を撮像するように制御する。
範囲算出部４４は、画像取得部３６により取得された作業台ＴＢの上面を含む範囲が撮像されたステレオ撮像画像に基づいて作業領域を示す範囲を算出する。
代表点位置算出部４６は、範囲算出部４４により算出された作業領域を示す範囲に基づいて代表点の位置を算出する。
ロボット制御部４８は、代表点位置算出部４６により算出された代表点の位置に基づいて、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方に把持されたペンによって代表点の位置に印を付けるようにロボット２０を制御する。
【００４８】
以下、図４を参照して、制御装置３０がロボット２０に代表点の位置に印を付けさせるまでの処理について説明する。図４は、制御装置３０がロボット２０に代表点の位置に印を付けさせるまでの処理の流れの一例を示すフローチャートである。まず、表示制御部４０は、ユーザーがロボット２０に指し示させたい作業領域Ａの種類を、ユーザーに選択させるためのＧＵＩを生成し、生成されたＧＵＩを表示部３５に表示させる（ステップＳ１００）。
【００４９】
次に、範囲算出部４４は、ＧＵＩを介して入力受付部３３により受け付けられた操作に基づいて、算出する作業領域Ａの種類を選択する（ステップＳ１１０）。次に、撮像制御部４２は、第１固定撮像部２１及び第２固定撮像部２２に作業台ＴＢの上面を含む範囲をステレオ撮像させる（ステップＳ１２０）。次に、範囲算出部４４は、画像取得部３６からステップＳ１２０でステレオ撮像されたステレオ撮像画像を取得する。そして、範囲算出部４４は、取得されたステレオ撮像画像と、ステップＳ１１０で選択した作業領域Ａの種類とに基づいて、作業領域Ａを示す範囲を算出する（ステップＳ１３０）。ここで、範囲算出部４４による作業領域Ａを示す範囲の算出処理について説明する。
【００５０】
範囲算出部４４は、画像取得部３６から作業台ＴＢの上面を含む範囲が撮像されたステレオ撮像画像を取得すると、取得されたステレオ撮像画像に基づいて作業台ＴＢの上面上の各点の位置を算出する。また、範囲算出部４４は、記憶部３２からロボット２０の構成情報を読み込む。ロボット２０の構成情報とは、例えば、以下のＡ）〜Ｈ）までの８つの情報を含む。
【００５１】
Ａ）第１マニピュレーターＭＮＰ１が備える複数のリンクそれぞれの長さ（以下、リンク長と称する）を示す情報
Ｂ）第１マニピュレーターＭＮＰ１が備える複数のアクチュエーターの数を示す情報
Ｃ）第１マニピュレーターＭＮＰ１が備える複数のアクチュエーターそれぞれの回転可能範囲を示す情報
Ｄ）第１エンドエフェクターＥＮＤ１の形状・構造を示す情報
Ｅ）第２マニピュレーターＭＮＰ２が備える複数のリンクそれぞれのリンク長を示す情報
Ｆ）第２マニピュレーターＭＮＰ２が備える複数のアクチュエーターの数を示す情報
Ｇ）第２マニピュレーターＭＮＰ２が備える複数のアクチュエーターそれぞれの回転可能範囲を示す情報
Ｈ）第２エンドエフェクターＥＮＤ２の形状・構造を示す情報
【００５２】
範囲算出部４４は、算出された作業台ＴＢの上面上の各点の位置と、読み込まれた構成情報と、ステップＳ１１０で選択した作業領域Ａの種類とに基づいて、作業領域Ａの種類に応じた作業領域Ａを示す範囲を算出する。例えば、範囲算出部４４は、ステップＳ１１０で選択した作業領域Ａの種類が上記の１）であった場合、作業台ＴＢの上面上の各点の位置及び姿勢と、読み込まれた構成情報とに基づいて、第１マニピュレーターＭＮＰ１を最大限まで伸ばしきった時に第１エンドエフェクターＥＮＤ１の所定の部位が到達できる点であって作業台ＴＢの上面上の点の位置をすべて算出する。範囲算出部４４は、これらの算出された作業台ＴＢの上面上の複数の点それぞれの位置を、作業領域Ａを示す範囲として特定する。
【００５３】
ステップＳ１３０で範囲算出部４４により作業領域Ａを示す範囲が特定された後、代表点位置算出部４６は、範囲算出部４４により特定された作業領域Ａを示す範囲に基づいて、代表点の位置を算出する（ステップＳ１４０）。なお、代表点は、作業領域Ａを示す範囲の輪郭上の点であることが望ましいが、これに限られず、作業領域Ａを表すことができる代表的な点であれば、作業領域Ａを示す範囲の輪郭上の点とは異なる他の点であってもよい。ただし、そのような点は、ユーザーが作業領域Ａを示す範囲の外側に所定の作業に係る何らかの物体を配置してしまうことがないように、作業領域Ａを示す範囲の輪郭の内側であることが望ましい。
【００５４】
次に、ロボット制御部４８は、ステップＳ１４０で代表点位置算出部４６により算出された代表点の位置に対して、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方に把持されたペンによってロボット２０に印を付けさせる（ステップＳ１５０）。
【００５５】
なお、代表点位置算出部４６は、範囲算出部４４により特定された作業領域Ａを示す範囲に基づいて、作業領域Ａを示す範囲の境界上のすべての点を代表点として算出する構成であってもよい。その場合、ロボット制御部４８は、代表点位置算出部４６により算出された複数の代表点に基づいて、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方に把持されたペンによって、作業領域Ａを示す範囲の境界をなぞるようにロボット２０に印を付けさせる。
【００５６】
以上説明したように、本実施形態におけるロボットシステム１は、第１アームと第２アームのうちいずれか一方又は両方を移動させ、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方に所定の位置姿勢を取らせた後に、作業領域を識別するための複数の認識可能なマーカーを付ける。これにより、ロボットシステム１は、作業対象の設置に係る作業の効率化を図ることができる。
【００５７】
また、ロボットシステム１は、第１アームと第２アームのうちいずれか一方又は両方の構成情報を用いて、作業領域を算出する。これにより、ロボットシステム１は、算出した作業領域をユーザーに知らせることができる。
【００５８】
また、ロボットシステム１は、作業領域を表す位置として、作業領域を示す複数の代表点の位置を算出し、算出した複数の代表点の位置それぞれにマーカーを付ける。これにより、ロボットシステム１は、複数の代表点それぞれの位置に付けられたマーカーによって作業対象を設置可能な範囲をユーザーに知らせることができる。
【００５９】
また、ロボットシステム１は、作業領域を表す位置として作業領域の境界上における複数の代表点の位置を算出する。これにより、ロボットシステム１は、第１アームと第２アームのうちいずれか一方又は両方が移動する複数の位置によって作業対象を設置可能な範囲を、より確実にユーザーに知らせることができる。
【００６０】
また、ロボットシステム１は、作業領域を表す位置として、作業領域を示す範囲の境界上の各点の位置を算出し、算出した境界上の各点に基づいて、境界をなぞるようにマーカーを付ける。これにより、ロボットシステム１は、マーカーにより示された境界によってユーザーに作業対象を設置可能な範囲を知らせることができる。
【００６１】
＜第２実施形態＞
以下、本発明の第２実施形態について、図面を参照して説明する。図５は、第２実施形態に係るロボットシステム１の一例を示す構成図である。第２実施形態に係るロボットシステム１は、ロボット２０と、制御装置３０ａを備える。なお、第２実施形態では、第１の実施形態と同様な構成部には、同じ符号を付して説明する。
【００６２】
第２実施形態に係るロボットシステム１は、作業台ＴＢの上面に対して、複数の作業領域それぞれを示す位置へロボット２０に印を付けさせる。複数の作業領域とは、複数の所定の作業毎に、ロボット２０が作業を行う領域を示す。この一例において、複数の所定の作業のそれぞれは、複数の登録作業のそれぞれとして制御装置３０ａに予め登録されている場合について説明する。
【００６３】
本実施形態において、複数の所定の作業は、所定の作業Ｘ１〜Ｘ４の４つの作業であるとするが、４つ未満の所定の作業であってもよく、５つ以上の所定の作業であってもよい。また、この一例において、複数の所定の作業はそれぞれ異なる作業であるとするが、これに代えて、複数の所定の作業の一部又は全部が同じ作業であってもよい。
【００６４】
図５において、領域Ａ１は、所定の作業Ｘ１に係る作業領域であり、以下では、作業領域Ａ１と称する。また、領域Ａ２は、所定の作業Ｘ２に係る作業領域であり、以下では、作業領域Ａ２と称する。また、領域Ａ３は、所定の作業Ｘ３に係る作業領域であり、以下では、作業領域Ａ３と称する。また、領域Ａ４は、所定の作業Ｘ４に係る作業領域であり、以下では、作業領域Ａ４と称する。
【００６５】
制御装置３０ａは、作業領域Ａ１〜Ａ４それぞれを示す範囲を示す位置へロボット２０に印を付けさせる。ここで、図６を参照して、制御装置３０ａの機能構成について説明する。図６は、制御装置３０ａの機能構成の一例を示す図である。
【００６６】
制御装置３０ａは、記憶部３２と、入力受付部３３と、表示部３５と、画像取得部３６と、制御部３７ａを備える。
制御部３７ａは、表示制御部４０ａと、撮像制御部４２と、範囲算出部４４ａと、領域配置部４５と、代表点位置算出部４６ａと、ロボット制御部４８を備える。
【００６７】
表示制御部４０ａは、表示制御部４０の機能を有するのに加えて、領域配置部４５からの要求に応じて、エラーを示す情報を表示部３５に表示させる。
【００６８】
範囲算出部４４ａは、画像取得部３６により取得された作業台ＴＢの上面を含む範囲が撮像されたステレオ撮像画像に基づいて複数の作業領域それぞれを示す範囲を算出する。
領域配置部４５は、ロボット２０によって複数の所定の作業のすべてを実行可能な領域内に、範囲算出部４４ａにより算出された複数の作業領域それぞれを示す範囲を、それぞれの範囲が重ならないように配置する。より具体的には、領域配置部４５は、まず作業領域を表す仮想空間において、複数の作業領域それぞれを示す範囲を重ならないように配置するシミュレーションを行う。なお、本実施形態において、この実行可能な領域は、作業台ＴＢの上面の一部又は全部である。
【００６９】
領域配置部４５は、このシミュレーションの結果に基づいて、範囲算出部４４ａにより算出された複数の作業領域それぞれを示す範囲を、ロボット２０によって複数の所定の作業のすべてを実行可能な領域内に重ならないように配置可能であるか否かを判定する。領域配置部４５は、この判定の結果、配置不可能であると判定した場合、表示部３５にエラーを示す情報を表示させる要求を表示制御部４０ａへ出力する。
代表点位置算出部４６ａは、領域配置部４５による判定の結果、配置可能であると判定された場合、領域配置部４５によるシミュレーションの結果に基づいて、範囲算出部４４ａにより算出された複数の作業領域それぞれを示す範囲の代表点の位置を算出する。
【００７０】
以下、図７を参照して、制御装置３０ａがロボット２０に代表点の位置に印を付けさせるまでの処理について説明する。図７は、制御装置３０ａがロボット２０に代表点の位置に印を付けさせるまでの処理の流れの一例を示すフローチャートである。まず、表示制御部４０ａは、ユーザーがロボット２０に指し示させたい複数の作業領域それぞれの種類を、ユーザーに選択させるためのＧＵＩを生成し、生成されたＧＵＩを表示部３５に表示させる（ステップＳ２００）。
【００７１】
この際、例えば、表示制御部４０ａは、複数の所定の作業が記憶部３２に記憶されているため、上述の作業領域の種類のうち、４）のみが選択可能なようにＧＵＩを表示させる。なお、制御装置３０ａは、ユーザーがロボット２０に指し示させたい複数の作業領域それぞれの種類をユーザーに選択させるためのＧＵＩを表示制御部４０ａが表示させる構成に代えて、複数の作業領域それぞれの種類が予め登録されている構成等であってもよい。
【００７２】
次に、範囲算出部４４ａは、ＧＵＩを介して入力受付部３３により受け付けられた操作に基づいて、算出する複数の作業領域Ａ１〜Ａ４の種類を選択する（ステップＳ２１０）。この一例において、ステップＳ２００で表示されたＧＵＩには、上述の作業領域の種類のうち、４）のみが選択可能なように表示されているため、作業領域Ａ１〜Ａ４の種類は、登録作業を実行可能な範囲として選択されるとする。
【００７３】
次に、撮像制御部４２は、第１固定撮像部２１及び第２固定撮像部２２に作業台ＴＢの上面を含む範囲をステレオ撮像させる（ステップＳ２２０）。次に、範囲算出部４４ａは、画像取得部３６からステップＳ２２０でステレオ撮像されたステレオ撮像画像を取得する。そして、範囲算出部４４ａは、取得されたステレオ撮像画像と、ステップＳ２１０で選択した複数の作業領域Ａ１〜Ａ４それぞれの種類とに基づいて、複数の作業領域Ａ１〜Ａ４それぞれを示す範囲（面積）を算出する（ステップＳ２３０）。
【００７４】
次に、領域配置部４５は、範囲算出部４４ａにより算出された複数の作業領域Ａ１〜Ａ４それぞれを示す範囲を、複数の所定の作業Ｘ１〜Ｘ４のすべてをロボット２０により実行可能な領域内に、それぞれが重ならないように配置するように、作業領域を表す仮想空間においてシミュレーションを行う（ステップＳ２４０）。次に、領域配置部４５は、ステップＳ２４０でのシミュレーションの結果に基づいて、範囲算出部４４ａにより算出された複数の作業領域Ａ１〜Ａ４それぞれを示す範囲を、複数の所定の作業Ｘ１〜Ｘ４のすべてをロボット２０により実行可能な領域内に配置可能であるか否かを判定する（ステップＳ２５０）。
【００７５】
領域配置部４５による判定の結果、配置不可能であると判定した場合（ステップＳ２５０−Ｎｏ）、制御部３７ａは、表示部３５にエラーを示す情報を表示させるように表示制御部４０ａを制御し（ステップＳ２８０）、処理を終了する。一方、領域配置部４５による判定の結果、配置可能であると判定した場合（ステップＳ２５０−Ｙｅｓ）、代表点位置算出部４６ａは、ステップＳ２４０での領域配置部４５によるシミュレーションの結果に基づいて、範囲算出部４４ａにより算出された複数の作業領域それぞれを示す範囲の代表点の位置を算出する（ステップＳ２６０）。次に、ロボット制御部４８は、ステップＳ２６０で代表点位置算出部４６ａにより算出された代表点の位置に基づいて、第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方に把持されたペンによってロボット２０に印を付けさせる（ステップＳ２７０）。
【００７６】
以上説明したように、本実施形態におけるロボットシステム１は、作業台ＴＢの上面に対して、ある１つの所定の作業Ｘに係る１つの作業領域Ａを示す範囲を示す位置へロボット２０に印を付けさせる構成に代えて、複数の所定の作業それぞれに係る複数の作業領域それぞれを示す範囲を示す位置へロボット２０に印を付けさせる。これにより、ロボットシステム１は、第１実施形態と同様の効果を得ることができる。
【００７７】
なお、以上に説明したロボットシステム１が具備するロボット２０は、図１に示した腰部Ｃの位置にアクチュエーターを備えていてもよい。このアクチュエーターは、第１マニピュレーターＭＮＰ１の第１エンドエフェクターＥＮＤ１とは反対側の端部と、第２マニピュレーターＭＮＰ２の第２エンドエフェクターＥＮＤ２とは反対側の端部とのそれぞれの位置と、第１固定撮像部２１及び第２固定撮像部２２の位置とを、アクチュエーターの回転とともに移動させる。この場合、ロボットシステム１は、腰部Ｃのアクチュエーターを回転させることで、第１実施形態及び第２実施形態において第１固定撮像部２１及び第２固定撮像部２２によりステレオ撮像された範囲よりも更に広い範囲をステレオ撮像することが可能である。これにより、ロボットシステム１は、第１実施形態及び第２実施形態よりも広い範囲において、作業領域を示す範囲を第１エンドエフェクターＥＮＤ１と第２エンドエフェクターＥＮＤ２のうちいずれか一方又は両方によって指し示すことができる。
【００７８】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【００７９】
また、以上に説明した装置（例えば、ロボットシステム１の制御装置３０、３０ａ）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとする。
【００８０】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００８１】
１  ロボットシステム、１１  第１動撮像部、１２  第２動撮像部、２０  ロボット、２１  第１固定撮像部、２２  第２固定撮像部、３０、３０ａ  制御装置、３１  ＣＰＵ、３２  記憶部、３３  入力受付部、３４  通信部、３５  表示部、３６  画像取得部、３７、３７ａ  制御部、４０、４０ａ  表示制御部、４２  撮像制御部、４４、４４ａ  範囲算出部、４５  領域配置部、４６、４６ａ  代表点位置算出部、４８  ロボット制御部
【図１】
2016120529.tif 000003
【図２】
2016120529.tif 000004
【図３】
2016120529.tif 000005
【図４】
2016120529.tif 000006
【図５】
2016120529.tif 000007
【図６】
2016120529.tif 000008
【図７】
2016120529.tif 000009