(57)【要約】【課題】対象物に関する情報に基づく作業を精度よく行うことができるロボットを提供すること。【解決手段】アームを備え、前記アームに設けられた撮像部が撮像可能な撮像領域内における所定領域は、複数の対象物のそれぞれを撮像する位置に前記アームを移動した場合において前記撮像部により撮像された撮像画像の画像領域のうち前記対象物を含む前記画像領域又は当該画像領域よりも小さい領域と一致し、前記位置において前記撮像部により前記対象物が撮像された前記撮像画像に基づいて前記対象物に関する情報を検出し、検出した当該情報に基づいて前記対象物を把持する、ロボット。【選択図】図４
2018034243.tif 000002
【特許請求の範囲】
【請求項１】
アームを備え、
前記アームに設けられた撮像部が撮像可能な撮像領域内における所定領域は、複数の対象物のそれぞれを撮像する位置に前記アームを移動した場合において前記撮像部により撮像された撮像画像の画像領域のうち前記対象物を含む前記画像領域又は当該画像領域よりも小さい領域と一致し、
前記位置において前記撮像部により前記対象物が撮像された前記撮像画像に基づいて前記対象物に関する情報を検出し、検出した当該情報に基づいて前記対象物を把持する、
ロボット。
【請求項２】
前記複数の前記対象物のそれぞれは、パレット内のセルのそれぞれに配置されており、
前記対象物を含む前記画像領域は、前記撮像画像の前記画像領域のうち前記セルの内側の画像領域である、
請求項１に記載のロボット。
【請求項３】
ロボットが備えた関節毎の角度である第１角度の変化に応じて、前記所定領域の角度である第２角度が変化する、
請求項１又は２に記載のロボット。
【請求項４】
前記第１角度は、前記関節毎に対応付けられた第１基準方向に対する角度であり、
前記第２角度は、前記撮像部に対応付けられた第２基準方向と、前記所定領域に対応付けられた第３基準方向との間の角度であり、
前記第２角度の変化において、前記第３基準方向が変化しない、
請求項３に記載のロボット。
【請求項５】
前記第１角度は、前記関節毎に対応付けられた第１基準方向に対する角度であり、
前記第２角度は、前記撮像部に対応付けられた第２基準方向と、前記所定領域に対応付けられた第３基準方向との間の角度であり、
前記第１角度とゲインとに応じて、前記第２角度が変化する、
請求項３に記載のロボット。
【請求項６】
前記第１角度に応じて前記第２角度が変化する第１モードと、前記第１角度に応じて前記第２角度が変化しない第２モードとの２つの動作モードによって動作可能である、
請求項３から５のうちいずれか一項に記載のロボット。
【請求項７】
前記所定領域の形状は、前記対象物を含む前記画像領域の形状又は当該画像領域よりも小さい領域の形状に対応する形状である、
請求項１から６のうちいずれか一項に記載のロボット。
【請求項８】
前記撮像画像が表示部に表示される場合、前記撮像画像とともに前記所定領域が前記表示部に表示される、
請求項１から７のうちいずれか一項に記載のロボット。
【請求項９】
請求項１から８のうちいずれか一項に記載のロボットを制御する、
ロボット制御装置。
【請求項１０】
請求項１から８のうちいずれか一項に記載のロボットと、
前記ロボットを制御するロボット制御装置と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット、ロボット制御装置、及びロボットシステムに関する。
【背景技術】
【０００２】
撮像部により撮像した撮像画像に基づいてロボットに作業を行わせる技術の研究や開発が行われている。
【０００３】
これに関し、作業内容を制御可能なロボットハンドの１つ以上の作業対象物が搭載されたトレイが、ロボットハンドによって作業が行われるべき位置に載置された状態で、作業対象物のすべてが含まれるように撮像し、撮像した画像データから作業対象物それぞれを検出するとともに、検出された作業対象物それぞれの正常位置に対する位置誤差が許容範囲内か否かを判定し、当該位置誤差が許容範囲内と判定された作業対象物に対しては通常作業を実行するとともに、位置誤差が許容範囲内ではないと判定された作業対象物に対しては通常作業を実行しないロボット制御方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１０６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このようなロボット制御方法では、作業対象物の全体を撮像しようとした場合、作業対象物を配置するトレイや他の物体等の背景までも作業対象物とともに撮像されてしまう。その結果、当該ロボット制御方法では、作業対象物が撮像された撮像画像に含まれる当該背景の少なくとも一部を作業対象物として誤検出してしまう場合があった。すなわち、当該ロボット制御方法では、作業対象物の位置及び姿勢等の作業対象物に関する情報を当該撮像画像から検出する検出精度が低下してしまう場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、アームを備え、前記アームに設けられた撮像部が撮像可能な撮像領域内における所定領域は、複数の対象物のそれぞれを撮像する位置に前記アームを移動した場合において前記撮像部により撮像された撮像画像の画像領域のうち前記対象物を含む前記画像領域又は当該画像領域よりも小さい領域と一致し、前記位置において前記撮像部により前記対象物が撮像された前記撮像画像に基づいて前記対象物に関する情報を検出し、検出した当該情報に基づいて前記対象物を把持する、ロボットである。
この構成により、ロボットは、アームに設けられた撮像部が撮像可能な撮像領域内における所定領域が、複数の対象物のそれぞれを撮像する位置にアームを移動した場合において撮像部により撮像された撮像画像の画像領域のうち対象物を含む画像領域又は当該画像領域よりも小さい領域と一致し、複数の対象物のそれぞれを撮像する位置において撮像部により対象物が撮像された撮像画像に基づいて対象物に関する情報を検出し、検出した当該情報に基づいて対象物を把持する。これにより、ロボットは、対象物に関する情報に基づく作業を精度よく行うことができる。
【０００７】
また、本発明の他の態様は、ロボットにおいて、前記複数の前記対象物のそれぞれは、パレット内のセルのそれぞれに配置されており、前記対象物を含む前記画像領域は、前記撮像画像の前記画像領域のうち前記セルの内側の前記画像領域である、構成が用いられてもよい。
この構成により、ロボットは、アームに設けられた撮像部が撮像可能な撮像領域内における所定領域が、撮像部により撮像された撮像画像の画像領域のうちパレット内のセルの内側の画像領域又は当該画像領域よりも小さい領域と一致し、複数の対象物のそれぞれを撮像する位置において撮像部により対象物が撮像された撮像画像に基づいて対象物に関する情報を検出し、検出した当該情報に基づいて対象物を把持する。これにより、ロボットは、パレット内のセルのそれぞれに配置された対象物に関する情報に基づく作業を精度よく行うことができる。
【０００８】
また、本発明の他の態様は、ロボットにおいて、ロボットが備えた関節毎の角度である第１角度の変化に応じて、前記所定領域の角度である第２角度が変化する、構成が用いられてもよい。
この構成により、ロボットでは、ロボットが備えた関節毎の角度である第１角度の変化に応じて、前記所定領域の角度である第２角度が変化する。これにより、ロボットは、ロボットが備えた関節毎の角度である第１角度に基づいて、対象物に関する情報に基づく作業を精度よく行うことができる。
【０００９】
また、本発明の他の態様は、ロボットにおいて、前記第１角度は、前記関節毎に対応付けられた第１基準方向に対する角度であり、前記第２角度は、前記撮像部に対応付けられた第２基準方向と、前記所定領域に対応付けられた第３基準方向との間の角度であり、前記第２角度の変化において、前記第３基準方向が変化しない、構成が用いられてもよい。
この構成により、ロボットでは、第２角度の変化において、第３基準方向が変化しない。これにより、ロボットは、ロボットが備えた関節毎に対応付けられた第１基準方向に対する角度であって当該関節毎の角度である第１角度に基づいて、対象物に関する情報に基づく作業を精度よく行うことができる。
【００１０】
また、本発明の他の態様は、ロボットにおいて、前記第１角度は、前記関節毎に対応付けられた第１基準方向に対する角度であり、前記第２角度は、前記撮像部に対応付けられた第２基準方向と、前記所定領域に対応付けられた第３基準方向との間の角度であり、前記第１角度とゲインとに応じて、前記第２角度が変化する、構成が用いられてもよい。
この構成により、ロボットでは、第１角度とゲインとに応じて、第２角度が変化する。これにより、ロボットは、ロボットが備えた関節毎に対応付けられた第１基準方向に対する角度であって当該関節毎の角度であるである第１角度とゲインとに基づいて、対象物に関する情報に基づく作業を精度よく行うことができる。
【００１１】
また、本発明の他の態様は、ロボットにおいて、前記第１角度に応じて前記第２角度が変化する第１モードと、前記第１角度に応じて前記第２角度が変化しない第２モードとの２つの動作モードによって動作可能である、構成が用いられてもよい。
この構成により、ロボットは、第１角度に応じて第２角度が変化する第１モードと、第１角度に応じて第２角度が変化しない第２モードとの２つの動作モードによって動作可能である。これにより、ロボットは、ユーザーが所望する動作モードによって、対象物に関する情報に基づく作業を精度よく行うことができる。
【００１２】
また、本発明の他の態様は、ロボットにおいて、前記所定領域の形状は、前記対象物を含む前記画像領域の形状又は当該画像領域よりも小さい領域の形状に対応する形状である、構成が用いられてもよい。
この構成により、ロボットでは、所定領域の形状は、対象物を含む画像領域の形状又は当該画像領域よりも小さい領域の形状に対応する形状である。これにより、ロボットは、対象物を含む画像領域の形状又は当該画像領域よりも小さい領域の形状に対応する形状の所定領域に基づいて、対象物に関する情報に基づく作業を精度よく行うことができる。
【００１３】
また、本発明の他の態様は、ロボットにおいて、前記撮像画像が表示部に表示される場合、前記撮像画像とともに前記所定領域が前記表示部に表示される、構成が用いられてもよい。
この構成により、ロボットでは、撮像画像が表示部に表示される場合、撮像画像とともに所定領域が表示部に表示される。これにより、ロボットは、所定領域内に対象物が含まれているか否かをユーザーに確認させることができる。
【００１４】
また、本発明の他の態様は、上記に記載のロボットを制御する、ロボット制御装置である。
この構成により、ロボット制御装置は、アームに設けられた撮像部が撮像可能な撮像領域内における所定領域を、複数の対象物のそれぞれを撮像する位置にアームを移動した場合において撮像部により撮像された撮像画像の画像領域のうち対象物を含む画像領域又は当該画像領域よりも小さい領域と一致させ、複数の対象物のそれぞれを撮像する位置において撮像部により対象物が撮像された撮像画像に基づいて対象物に関する情報を検出し、検出した当該情報に基づいて対象物をロボットに把持させる。これにより、ロボット制御装置は、対象物に関する情報の検出精度の低下を抑制することができる。
【００１５】
また、本発明の他の態様は、上記に記載のロボットと、前記ロボットを制御するロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、アームに設けられた撮像部が撮像可能な撮像領域内における所定領域を、複数の対象物のそれぞれを撮像する位置にアームを移動した場合において撮像部により撮像された撮像画像の画像領域のうち対象物を含む画像領域又は当該画像領域よりも小さい領域と一致させ、複数の対象物のそれぞれを撮像する位置において撮像部により対象物が撮像された撮像画像に基づいて対象物に関する情報を検出し、検出した当該情報に基づいて対象物をロボットに把持させる。これにより、ロボットシステムは、対象物に関する情報の検出精度の低下を抑制することができる。
【００１６】
以上により、ロボットは、アームに設けられた撮像部が撮像可能な撮像領域内における所定領域が、複数の対象物のそれぞれを撮像する位置にアームを移動した場合において撮像部により撮像された撮像画像の画像領域のうち対象物を含む画像領域又は当該画像領域よりも小さい領域と一致し、複数の対象物のそれぞれを撮像する位置において撮像部により対象物が撮像された撮像画像に基づいて対象物に関する情報を検出し、検出した当該情報に基づいて対象物を把持する。これにより、ロボットは、対象物に関する情報に基づく作業を精度よく行うことができる。
また、ロボット制御装置、及びロボットシステムは、アームに設けられた撮像部が撮像可能な撮像領域内における所定領域を、複数の対象物のそれぞれを撮像する位置にアームを移動した場合において撮像部により撮像された撮像画像の画像領域のうち対象物を含む画像領域又は当該画像領域よりも小さい領域と一致させ、複数の対象物のそれぞれを撮像する位置において撮像部により対象物が撮像された撮像画像に基づいて対象物に関する情報を検出し、検出した当該情報に基づいて対象物をロボットに把持させる。これにより、ロボット制御装置、及びロボットシステムは、対象物に関する情報の検出精度の低下を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、ロボット制御装置３０を備える。
【図２】パレットＰの一例を示す図である。
【図３】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図４】ロボット制御装置３０の機能構成の一例を示す図である。
【図５】制御点Ｔの位置及び姿勢が初期位置姿勢Ｘ１１と一致している状態における撮像領域ＣＡ及び所定領域ＳＷと、当該状態におけるロボット２０との様子の一例を示す図である。
【図６】ロボット制御装置３０が初期位置姿勢情報を記憶部３２に記憶させる処理の流れの一例を示す図である。
【図７】表示部３５に表示された撮像画像と、当該撮像画像のうち撮像部２１の撮像素子上に設定された所定領域ＳＷに含まれる範囲を示す枠との一例を示す図である。
【図８】ステップＳ６０の処理を説明するための図である。
【図９】制御点Ｔの位置がセルＣ２３を撮像部２１が撮像する撮像位置と一致している状態における撮像領域ＣＡ及び所定領域ＳＷと、当該状態におけるロボット２０との様子の一例を示す図である。
【図１０】図９に示した状態における第１関節及び第２関節それぞれの第１角度と、所定領域ＳＷの撮像領域ＣＡに対する相対的な角度とを例示する図である。
【図１１】表示部３５に表示された撮像画像と、当該撮像画像のうち撮像部２１の撮像素子上に設定された所定領域ＳＷに含まれる範囲を示す枠との他の例を示す図である。
【図１２】ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示す図である。
【図１３】制御点Ｔの位置及び姿勢がセルＣ２３を撮像部２１が撮像する撮像位置と一致している状態における撮像領域ＣＡ及び所定領域ＳＷと、当該状態におけるロボット２０との様子の一例を示す図である。
【発明を実施するための形態】
【００１８】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００１９】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、ロボット制御装置３０を備える。
【００２０】
ロボット２０は、スカラロボットである。なお、ロボット２０は、スカラロボットに代えて、直角座標ロボットや単腕ロボット、複腕ロボット等の他のロボットであってもよい。直角座標ロボットは、例えば、ガントリロボットである。
【００２１】
図１に示した例において、ロボット２０は、床面に設置されている。なお、ロボット２０は、床面に代えて、壁面や天井面、テーブルや治具、台の上面等に設置される構成であってもよい。以下では、説明の便宜上、ロボット２０が設置されている面に直交する方向であって、ロボット２０から当該面に向かう方向を下と称し、当該方向と反対の方向を上と称して説明する。ロボット２０が設置されている面に直交する方向であって、ロボット２０の重心から当該面に向かう方向は、例えば、ワールド座標系におけるＺ軸の負方向、又はロボット座標系ＲＣにおけるＺ軸の負方向である。
【００２２】
ロボット２０は、床面に設置された支持台Ｂと、可動部Ａと、撮像部２１を備える。また、可動部Ａは、支持台Ｂによって図示しない第１軸ＡＸ１周りに回動可能に支持された第１アームＡ１と、第１アームＡ１によって図示しない第２軸ＡＸ２周りに回動可能に支持された第２アームＡ２と、第２アームＡ２によって図示しない第３軸ＡＸ３周りに回動可能且つ第３軸ＡＸ３の軸方向に並進可能に支持されたシャフト（作動軸）Ｓを備える。可動部Ａは、アームの一例である。
【００２３】
シャフトＳは、円柱形状の軸体である。シャフトＳの周表面には、図示しないボールねじ溝とスプライン溝とがそれぞれ形成される。シャフトＳは、第２アームＡ２の端部のうちの第１アームＡ１と反対側の端部を上下に貫通し、設けられている。また、シャフトＳには、この一例において、シャフトＳの端部のうちの上側の端部に当該円柱の半径よりも大きな半径の円盤形状のフランジが設けられている。当該円柱の中心軸は、当該フランジの中心軸と一致している。
【００２４】
シャフトＳのフランジが設けられていない方の端部には、エンドエフェクターＥが設けられている。エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００２５】
エンドエフェクターＥは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２６】
支持台Ｂは、床面に固定されている。支持台Ｂは、図示しない第１関節を備える。前述の第１軸ＡＸ１は、この第１関節の回動軸のことである。第１関節は、図示しないアクチュエーターを備え、ロボット制御装置３０から取得する制御信号に基づいて第１アームＡ１を第１軸ＡＸ１周りに回動させる。第１関節は、ロボットが備えた関節の一例である。
【００２７】
第１アームＡ１は、第１軸ＡＸ１周りに回動するので、水平方向に移動する。水平方向は、この一例において、上下方向と直交する方向である。水平方向は、例えば、ワールド座標系におけるＸＹ平面に沿った方向、又はロボット座標系ＲＣにおけるＸＹ平面に沿った方向である。
【００２８】
第２アームＡ２は、図示しない第２関節を備える。前述の第２軸ＡＸ２は、この第２関節の回動軸のことである。第２関節は、図示しないアクチュエーターを備え、ロボット制御装置３０から取得する制御信号に基づいて第２アームＡ２を第２軸ＡＸ２周りに回動させる。第２関節は、ロボットが備えた関節の一例である。第２アームＡ２は、第２軸ＡＸ２周りに回動するので、水平方向に移動する。
【００２９】
また、第２アームＡ２は、図示しない上下動アクチュエーターと、図示しない回動アクチュエーターとを備えてシャフトＳを支持する。上下動アクチュエーターは、シャフトＳのボールねじ溝の外周部に設けられたボールねじナットをタイミングベルト等で回動させることにより、シャフトＳを上下方向（すなわち、前述の第３軸ＡＸ３の軸方向）に移動（昇降）させる。回動アクチュエーターは、シャフトＳのスプライン溝の外周部に設けられたボールスプラインナットをタイミングベルト等で回動させることにより、シャフトＳの中心軸（すなわち、前述の第３軸ＡＸ３）周りにシャフトＳを回動させる。
【００３０】
撮像部２１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。この一例において、撮像部２１は、第２アームＡ２に設けられる。そのため、撮像部２１は、第２アームＡ２の動きに応じて移動する。また、撮像部２１が撮像可能な領域（範囲）である撮像領域ＣＡは、第２アームＡ２の動きに応じて変化する。撮像部２１は、撮像領域ＣＡの静止画像を撮像する構成であってもよく、撮像領域ＣＡの動画像を撮像する構成であってもよい。以下では、一例として、撮像部２１が上から下に向かって撮像領域ＣＡを撮像するように第２アームＡ２に設けられている場合について説明する。なお、撮像部２１は、これに代えて、他の方向に向かって撮像領域ＣＡを撮像する構成であってもよい。また、撮像部２１は、第２アームＡ２に設けられる構成に代えて、可動部Ａの他の部位に設けられる構成であってもよい。
【００３１】
ロボット２０が備える各アクチュエーター及び撮像部２１のそれぞれは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該各アクチュエーター及び撮像部２１のそれぞれは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、当該アクチュエーター及び撮像部２１のうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３２】
ロボット制御装置３０は、ロボット２０を動作させるコントローラーである。ロボット制御装置３０は、ロボット２０に制御信号を送信することにより、ロボット２０を動作させる。これにより、ロボット制御装置３０は、ロボット２０に所定の作業を行わせる。なお、ロボット制御装置３０は、この一例において、ロボット２０と別体であるが、これに代えて、ロボット２０に内蔵される構成であってもよい。この場合、ロボット制御装置３０は、例えば、ロボット２０の支持台Ｂに内蔵される。
【００３３】
＜ロボットが行う所定の作業の概要＞
以下、ロボット２０が行う所定の作業の概要について説明する。
【００３４】
図１に示した例では、ロボット２０がエンドエフェクターＥにより作業することが可能な領域には、パレットＰが配置されている。パレットＰは、図２に示したように、複数の対象物Ｏのそれぞれを格納可能な複数の小領域であるセルを有する容器である。図２は、パレットＰの一例を示す図である。
【００３５】
パレットＰは、この一例において、１６個のセルを有する。また、１６個のセルのそれぞれは、図２に示したように、パレットＰにおいて４×４の行列状に配置されている。以下では、説明の便宜上、当該行列における１行目の４個のセルを左から順にセルＣ１１、セルＣ１２、セルＣ１３、セルＣ１４と称し、当該行列における２行目の４個のセルを左から順にセルＣ２１、セルＣ２２、セルＣ２３、セルＣ２４と称し、当該行列における３行目の４個のセルを左から順にセルＣ３１、セルＣ３２、セルＣ３３、セルＣ３４と称し、当該行列における４行目の４個のセルを左から順にセルＣ４１、セルＣ４２、セルＣ４３、セルＣ４４と称して説明する。また、以下では、これらの１６個のセルを区別する必要がない限り、まとめてセルＣと称して説明する。
【００３６】
セルＣそれぞれの内側には、対象物Ｏが１個ずつ配置されている。なお、セルＣそれぞれの内側には、２個以上の対象物Ｏが配置されている構成であってもよい。また、図２に示した例では、セルＣそれぞれの内側に配置されている対象物Ｏの数が同じ数であるが、これに代えて、セルＣの一部又は全部のそれぞれの内側に配置されている対象物Ｏの数が互いに異なる数であってもよい。
【００３７】
この一例において、ロボット２０は、パレットＰが有するセルＣのそれぞれに配置された対象物Ｏを１個ずつ把持し、把持した対象物Ｏを図示しない給材領域に載置する作業を所定の作業として行う。
【００３８】
＜ロボット制御装置がロボットに所定の作業を行わせる処理の概要＞
以下、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の概要について説明する。
【００３９】
この一例において、可動部Ａの位置及び姿勢は、制御点Ｔの位置及び姿勢によって表される。制御点Ｔは、エンドエフェクターＥに予め対応付けられた位置に設定された仮想的な点であってエンドエフェクターＥとともに動く点である。エンドエフェクターＥに予め対応付けられた位置は、例えば、エンドエフェクターＥの重心の位置である。
【００４０】
制御点Ｔは、例えば、ＴＣＰ（Tool  Center  Point）である。なお、制御点Ｔは、エンドエフェクターＥに予め対応付けられた位置に代えて、エンドエフェクターＥの他の部位の位置に設定される構成であってもよく、可動部Ａの部位のうちのエンドエフェクターＥと異なる部位に対応付けられた何らかの位置に設定される構成であってもよい。
【００４１】
制御点Ｔには、制御点Ｔの位置を示す情報である制御点位置情報と、制御点Ｔの姿勢を示す情報である制御点姿勢情報とが対応付けられている。当該位置は、ロボット座標系ＲＣにおける位置である。当該姿勢は、ロボット座標系ＲＣにおける姿勢である。なお、制御点Ｔには、これらに加えて、他の情報が対応付けられる構成であってもよい。制御点位置情報及び制御点姿勢情報をロボット制御装置３０が指定（決定）すると、制御点Ｔの位置及び姿勢が決まる。当該位置及び姿勢は、ロボット座標系ＲＣにおける位置及び姿勢である。ロボット制御装置３０は、制御点位置情報及び制御点姿勢情報を指定する。ロボット制御装置３０は、可動部Ａを動作させ、ロボット制御装置３０が指定した制御点位置情報が示す位置に制御点Ｔの位置を一致させるとともに、ロボット制御装置３０が指定した制御点姿勢情報が示す姿勢に制御点Ｔの姿勢を一致させる。以下では、説明の便宜上、ロボット制御装置３０が指定した制御点位置情報が示す位置を目標位置と称し、ロボット制御装置３０が指定した制御点姿勢情報が示す姿勢を目標姿勢と称して説明する。すなわち、ロボット制御装置３０は、制御点位置情報及び制御点姿勢情報を指定することにより、可動部Ａを動作させ、制御点Ｔの位置及び姿勢を目標位置及び目標姿勢と一致させる。
【００４２】
この一例において、制御点Ｔの位置は、制御点座標系ＴＣの原点のロボット座標系ＲＣにおける位置によって表される。また、制御点Ｔの姿勢は、制御点座標系ＴＣの各座標軸のロボット座標系ＲＣにおける方向によって表される。制御点座標系ＴＣは、制御点Ｔとともに動くように制御点Ｔに対応付けられた三次元局所座標系である。
【００４３】
ロボット制御装置３０は、ユーザーから予め入力された制御点設定情報に基づいて制御点Ｔを設定する。制御点設定情報は、例えば、エンドエフェクターＥの重心の位置及び姿勢と制御点Ｔの位置及び姿勢との相対的な位置及び姿勢を示す情報である。なお、制御点設定情報は、これに代えて、エンドエフェクターＥに対応付けられた何らかの位置及び姿勢と制御点Ｔの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、可動部Ａの部位のうちエンドエフェクターＥと異なる部位に対応付けられた何らかの位置及び姿勢と制御点Ｔの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
【００４４】
また、この一例において、前述のパレットＰが有するセルＣのそれぞれには、セルＣの内側に配置された対象物Ｏを撮像部２１が撮像する位置である撮像位置が対応付けられている。撮像位置のそれぞれは、各セルＣの内側に配置された対象物Ｏを撮像部２１が撮像する際における可動部Ａの位置のそれぞれである。あるセルＣの内側に配置された対象物Ｏを撮像部２１が撮像する撮像位置は、当該セルＣを上から下に向かって見た場合における当該セルＣの図心を撮像部２１の光軸が通る位置であり、且つ当該セルＣにおいて当該対象物Ｏが配置された面から撮像部２１の撮像レンズまでの距離が所定距離離れた位置である。当該所定距離は、当該セルＣを上から下に向かって見た場合における当該セルＣの全体が撮像領域ＣＡ内に含まれる距離であれば、如何なる距離であってもよい。
【００４５】
ここで、ロボット制御装置３０は、撮像部２１が撮像可能な撮像領域ＣＡ内における所定領域ＳＷを、前述の撮像位置のそれぞれに可動部Ａを移動するたびに対象物Ｏに基づく領域のそれぞれと一致させ、撮像位置において撮像部２１により対象物Ｏが撮像された撮像画像に基づいて対象物Ｏに関する情報を検出し、検出した当該情報に基づいて対象物Ｏをロボット２０に把持させる。換言すると、ロボット制御装置３０は、所定領域ＳＷを、複数の対象物Ｏのそれぞれを撮像する位置に可動部Ａを移動した場合において撮像部２１により撮像された撮像画像の画像領域のうち対象物Ｏを含む画像領域（又は当該画像領域よりも小さい領域）と一致させ、複数の対象物Ｏのそれぞれを撮像する位置において撮像部２１により対象物Ｏが撮像された撮像画像に基づいて対象物Ｏに関する情報を検出し、検出した当該情報に基づいて対象物Ｏをロボット２０に把持させる。これにより、ロボット制御装置３０は、対象物Ｏに関する情報の検出精度の低下を抑制することができる。その結果、ロボット２０は、対象物Ｏに関する情報に基づく作業（この一例において、所定の作業）を精度よく行うことができる。ロボット２０が対象物Ｏを把持した後、ロボット制御装置３０は、ロボット２０を動作させ、対象物Ｏを図示しない給材領域に載置する。
【００４６】
ある対象物Ｏに基づく領域は、この一例において、当該対象物Ｏが配置されたセルＣの内側の領域のことである。なお、以下の説明において、ある対象物Ｏに基づく領域は、前述のように、撮像部２１により当該対象物Ｏが撮像された撮像画像の画像領域のうち当該対象物Ｏを含む画像領域であってもよい。この場合、撮像部２１により当該対象物Ｏが撮像された撮像画像の画像領域のうち当該対象物Ｏを含む画像領域は、当該撮像画像の画像領域のうち当該セルＣの内側の画像領域である。また、この一例において、所定領域ＳＷが対象物Ｏに基づく領域と一致するとは、所定領域ＳＷの形状と対象物Ｏに基づく領域の形状とが一致することを意味する。すなわち、所定領域ＳＷの形状は、対象物Ｏに基づく領域の形状に対応する形状である。なお、ロボット制御装置３０は、所定領域ＳＷを、撮像位置のそれぞれに可動部Ａを移動するたびに対象物Ｏに基づく領域よりも小さい領域のそれぞれと一致させる構成であってもよい。この場合、ある対象物Ｏに基づく領域よりも小さい領域は、少なくとも当該対象物Ｏが配置されたセルＣの内側の領域のうち当該対象物Ｏを上から下に向かって見た場合における当該対象物Ｏの全体を含む領域である。また、ある対象物Ｏに基づく領域は、当該対象物Ｏが配置されたセルＣの内側の領域である構成に代えて、対象物Ｏに基づく他の領域である構成であってもよい。
【００４７】
所定領域ＳＷは、この一例において、撮像部２１の撮像素子上において撮像素子の少なくとも一部を含むように設定される領域である。換言すると、所定領域ＳＷは、撮像部１０により撮像された撮像画像上の少なくとも一部を含むように設定される領域である。具体的には、所定領域ＳＷは、例えば、撮像部２１により撮像された撮像画像上における領域のうちロボット制御装置３０が予め決められた処理を行う領域（サーチウィンドウ）である。なお、所定領域ＳＷは、当該領域に代えて、撮像素子上において撮像素子の一部を含むように設定される他の領域であってもよい。
【００４８】
対象物Ｏに関する情報は、この一例において、対象物Ｏの位置及び姿勢である。なお、対象物Ｏに関する情報は、これに代えて、対象物Ｏの表面の状態を示す情報、対象物Ｏの形状を示す情報、対象物Ｏが良品であるか不良品であるかを示す情報等の対象物Ｏに関する他の情報であってもよい。例えば、ある対象物Ｏに関する情報が、当該対象物Ｏが良品であるか不良品であるかを示す情報である場合、ロボット制御装置３０は、当該対象物Ｏが良品である場合に当該対象物Ｏをロボット２０に把持させる。この場合、当該対象物Ｏの位置及び姿勢は、ロボット制御装置３０に予め記憶される。
【００４９】
ロボット制御装置３０は、検出した対象物Ｏに関する情報（この一例において、対象物Ｏの位置及び姿勢）に基づいて対象物Ｏをロボット２０に把持させる。そして、ロボット制御装置３０は、ロボット２０を動作させ、対象物Ｏを図示しない給材領域に載置する。なお、ロボット制御装置３０には、給材領域の位置を示す情報が予め記憶されている。
【００５０】
＜ロボット制御装置のハードウェア構成＞
以下、図３を参照し、ロボット制御装置３０のハードウェア構成について説明する。図３は、ロボット制御装置３０のハードウェア構成の一例を示す図である。ロボット制御装置３０は、例えば、ＣＰＵ（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）からロボット制御部４８が受け付けてもよく、ティーチングペンダント等の他の装置からロボット制御部４８が受け付ける構成であってもよい。
【００６７】
このようにしてロボット制御装置３０は、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理を行うための初期設定として、初期角度情報が対応付けられた初期位置姿勢情報を記憶部３２に記憶させる。そして、ロボット制御装置３０は、記憶部３２に記憶された当該初期位置姿勢情報と、以下において説明する処理とによって、撮像部２１が撮像可能な撮像領域ＣＡ内における所定領域ＳＷを、前述の撮像位置のそれぞれに可動部Ａを移動するたびに対象物Ｏに基づく領域のそれぞれと一致させることができる。
【００６８】
＜初期位置姿勢情報に基づくロボット制御装置の処理＞
以下、図６に示したフローチャートの処理によって記憶部３２に記憶された初期位置姿勢情報に基づくロボット制御装置３０の処理について説明する。
【００６９】
ロボット制御装置３０は、記憶部３２に予め記憶された初期位置姿勢情報を記憶部３２から読み出す。また、ロボット制御装置３０は、記憶部３２に予め記憶された撮像位置情報を記憶部３２から読み出す。撮像位置情報は、前述の撮像位置を示す情報である。また、撮像位置情報は、初期位置姿勢情報が示す初期位置姿勢Ｘ１１のうちの初期位置から各撮像位置までの相対的な位置を示す情報である。
【００７０】
ロボット制御装置３０は、ロボット２０を動作させ、読み出した撮像位置情報が示す複数の撮像位置のそれぞれを１つずつ選択し、読み出した初期位置姿勢情報が示す初期位置姿勢Ｘ１１に基づいて、選択した撮像位置と制御点Ｔの位置とを一致させる。ここでは、図９に示したように、ロボット制御装置３０が制御点Ｔの位置を、セルＣ２３を撮像部２１が撮像する撮像位置と一致させた場合を例に挙げて説明する。図９は、制御点Ｔの位置がセルＣ２３を撮像部２１が撮像する撮像位置と一致している状態における撮像領域ＣＡ及び所定領域ＳＷと、当該状態におけるロボット２０との様子の一例を示す図である。図９では、当該状態における撮像領域ＣＡに含まれる範囲と、当該撮像領域ＣＡにおける所定領域ＳＷに含まれる範囲とを二点鎖線によって表している。
【００７１】
図９に示したように、当該状態では、所定領域ＳＷとセルＣ２３の内側の領域とが一致している。これは、ロボット制御装置３０が、記憶部３２から読み出した初期位置姿勢情報に対応付けられた初期角度情報が示す第１角度に基づいて、撮像部２１の撮像素子上における所定領域ＳＷの撮像領域ＣＡに対する相対的な角度（姿勢）を変化させた結果である。ロボット制御装置３０は、このように当該角度を変化させることにより、所定領域ＳＷを、撮像位置情報が示す複数の撮像位置のそれぞれに可動部Ａを移動するたびに対象物Ｏに基づく領域のそれぞれと一致させる。
【００７２】
以下、ロボット制御装置３０が、初期角度情報が示す第１角度に基づいて、撮像部２１の撮像素子上における所定領域ＳＷの撮像領域ＣＡに対する相対的な角度を変化させる方法について説明する。図１０は、図９に示した状態における第１関節及び第２関節それぞれの第１角度と、所定領域ＳＷの撮像領域ＣＡに対する相対的な角度とを例示する図である。
【００７３】
図１０に示した支持台Ｂ、第１アームＡ１、第２アームＡ２のそれぞれは、制御点Ｔの位置がセルＣ２３を撮像部２１が撮像する撮像位置と一致している状態における支持台Ｂ、第１アームＡ１、第２アームＡ２である。図１０に示した例では、第１関節の第１角度は、第１角度θ’１である。ここで、図１０に示した補助線ＶＸ３は、第１基準方向を示すための補助線である。また、第２関節の第１角度は、第１角度θ’２である。ここで、図１１に示した補助線ＶＸ４は、第１基準方向を示すための補助線である。
【００７４】
ここで、この一例において、撮像部２１には、撮像部２１とともに動く撮像部座標系ＣＡＣが対応付けられている。また、撮像部座標系ＣＡＣにおけるＹ軸の正方向は、直線Ｘ２の方向と一致している。以下では、説明の便宜上、当該正方向を第２基準方向と称して説明する。すなわち、撮像部２１には、第２基準方向が対応付けられている。この第２基準方向は、撮像部２１とともに動くため、撮像領域ＣＡに対応付けられていると換言することができる。
【００７５】
また、所定領域ＳＷには、撮像部２１の撮像素子上の点であって当該撮像素子上において所定領域ＳＷに対応付けられた点とともに動く所定領域座標系ＳＷＣが対応付けられている。この一例において、所定領域ＳＷの形状が長方形状であるため、当該点は、当該撮像素子上の位置のうち所定領域ＳＷの図心の位置に対応付けられている。なお、当該点は、当該撮像素子上の位置のうち所定領域ＳＷに対応付けられた他の位置に対応付けられている構成であってもよい。また、所定領域座標系ＳＷＣにおけるＹ軸の正方向は、制御点Ｔの位置及び姿勢が初期位置姿勢Ｘ１１と一致している状態において、撮像部座標系ＣＡＣにおけるＹ軸の正方向と一致している。以下では、説明の便宜上、所定領域座標系ＳＷＣにおけるＹ軸の正方向を第３基準方向と称して説明する。すなわち、所定領域ＳＷには、第３基準方向が対応付けられている。
【００７６】
第３基準方向は、制御点Ｔの位置及び姿勢が初期位置姿勢Ｘ１１と一致している状態から制御点Ｔの位置及び姿勢が初期位置姿勢Ｘ１１と一致していない状態に変化すると、第１関節及び第２関節それぞれの第１角度に基づく方向を向く。以下では、説明の便宜上、第２基準方向と第３基準方向との間の角度を第２角度と称して説明する。図１０に示した第２角度αは、このような第２角度の一例である。
【００７７】
可動部Ａの動作に伴う第２角度αは、図１０に示した状態における第１角度θ’１、第１角度θ’２のそれぞれと、初期角度情報が示す第１角度θ１、第１角度θ２のそれぞれとに基づいて、以下の式（１）に基づいて算出される。
【００７８】
α＝（θ１＋θ２）−（θ’１＋θ’２）  ・・・（１）
【００７９】
所定領域設定部４６は、図１０に示した状態における第１角度θ’１、第１角度θ’２のそれぞれと、初期角度情報が示す第１角度θ１、第１角度θ２のそれぞれと、上記の式（１）とに基づいて第２角度αを算出する。そして、所定領域設定部４６は、算出した第２角度αに基づいて、撮像部１０の撮像素子上において、前述したデフォルト領域の図心（すなわち、所定領域ＳＷの図心）を中心としてデフォルト領域を第２角度α回転させた領域を所定領域ＳＷとして設定する。これにより、ロボット制御装置３０は、第２角度αの変化において、第３基準方向を変化させない（保持する）。
【００８０】
第３基準方向が変化しないように第２角度αを所定領域設定部４６が変化させることにより、表示部３５に表示された画面ＭＰ上では、図１１に示したように、撮像画像ＣＰの輪郭が動かないため、所定領域ＳＷに含まれる範囲を示す枠ＳＷＡの当該輪郭に対する角度が変化する。図１１は、表示部３５に表示された撮像画像と、当該撮像画像のうち撮像部２１の撮像素子上に設定された所定領域ＳＷに含まれる範囲を示す枠との他の例を示す図である。前述したように、図１１に示した例では、撮像画像ＣＰに含まれるセルＣ２３の内側の領域の輪郭と、枠ＳＷＡとが一致している。すなわち、ロボット制御装置３０は、第２角度αを変化させることにより、所定領域ＳＷを、撮像位置情報が示す複数の撮像位置のそれぞれに可動部Ａを移動するたびに対象物Ｏに基づく領域のそれぞれと一致させる。また、ユーザーは、表示部３５に表示された撮像画像ＣＰ及び枠ＳＷＡを見ることにより、撮像位置情報が示す複数の撮像位置のそれぞれに可動部Ａが移動するたびに対象物Ｏに基づく領域のそれぞれと所定領域ＳＷとが一致することを確認することができる。
【００８１】
なお、ロボット制御装置３０は、第２角度αの変化に応じて第３基準方向を変化させる構成であってもよい。この場合、第２角度αは、以下に示した式（２）に基づいて算出される。
【００８２】
α＝ｋ（（θ１＋θ２）−（θ’１＋θ’２））  ・・・（２）
【００８３】
ここで、ｋは、所定のゲインである。すなわち、ロボット制御装置３０は、第１角度θ１及び第１角度θ２と、ゲインとに応じて、第２角度αを変化させる。なお、ｋは、定数であってもよく、第１角度θ１と第１角度θ２との少なくとも一方の関数であってもよい。上記の式（２）を用いて第２角度αを算出する構成は、例えば、パレットＰが有するセルＣがパレットＰの中心から放射状に並んでいる場合等に適用される。
【００８４】
＜ロボット制御装置がロボットに所定の作業を行わせる処理＞
以下、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理について説明する。図１２は、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示す図である。
【００８５】
ロボット制御部４８は、現在のロボット制御装置３０の動作モードが第１モードであるか否かを判定する（ステップＳ１００）。ここで、ステップＳ１００の処理について説明する。ロボット制御装置３０の動作モードは、第１モードと第２モードの２つのモードのいずれかに切り替えることができる。すなわち、ロボット２０は、第１モードと第２モードとのいずれかの動作モードで動作可能である。
【００８６】
第１モードは、この一例において、第１角度θ１及び第１角度θ２に基づいて第２角度αを変化させる動作モードである。第２モードは、この一例において、第２角度αを０°から変化させない動作モードである。すなわち、第２モードは、所定領域ＳＷがデフォルト領域のまま保持される動作モードである。
【００８７】
ロボット制御部４８は、例えば、図７に示した画面ＭＰから動作モードを切り替える操作をユーザーから受け付け、受け付けた当該操作に基づいて動作モードを第１モードと第２モードとのいずれかに切り替える。なお、ロボット制御部４８は、他の方法によって動作モードを第１モードと第２モードとのいずれかに切り替える構成であってもよい。また、ロボット制御装置３０の動作モードは、第１モード及び第２モード以外の他の動作モードを含む構成であってもよい。
【００８８】
現在のロボット制御装置３０の動作モードが第１モードであると判定した場合（ステップＳ１００−ＹＥＳ）、ロボット制御部４８は、記憶部３２に予め記憶された初期位置姿勢情報及び撮像位置情報を記憶部３２から読み出す。そして、ロボット制御部４８は、読み出した撮像位置情報が示す複数の撮像位置を１つずつ選択し、選択した撮像位置毎にステップＳ１２０〜ステップＳ１８０の処理を繰り返し行う（ステップＳ１１０）。
【００８９】
ステップＳ１１０において撮像位置が選択された後、ロボット制御部４８は、可動部Ａを動作させ、ステップＳ１１０において読み出した初期位置姿勢情報に基づいて、ステップＳ１１０において選択された撮像位置と制御点Ｔの位置とを一致させる（ステップＳ１２０）。
【００９０】
次に、所定領域設定部４６は、現在の第１関節の第１角度θ１と、現在の第２関節の第１角度θ２とのそれぞれを示す情報を、第１関節が備えるアクチュエーター及び第２関節が備えるアクチュエーターそれぞれのエンコーダーから取得する。そして、所定領域設定部４６は、取得した当該情報が示す第１角度θ１及び第１角度θ２と、ステップＳ１１０において読み出した初期位置姿勢情報に対応付けられた初期角度情報が示す第１角度θ’１及び第１角度θ’２と、上記の式（１）とに基づいて、第２角度αを算出する（ステップＳ１３０）。
【００９１】
次に、所定領域設定部４６は、ステップＳ１３０において算出した第２角度αに基づいて、撮像部２１の撮像素子上に所定領域ＳＷを設定する（ステップＳ１４０）。次に、撮像制御部４０は、撮像部２１に撮像領域ＣＡを撮像させる（ステップＳ１５０）。次に、画像取得部４２は、ステップＳ１５０において撮像部２１が撮像した撮像画像を撮像部２１から取得する（ステップＳ１６０）。
【００９２】
次に、対象物情報検出部４９は、ステップＳ１６０において画像取得部４２が撮像部２１から取得した撮像画像に基づいて、当該撮像画像に含まれる対象物Ｏの位置及び姿勢を検出（算出）する（ステップＳ１７０）。対象物情報検出部４９は、既知の方法によって当該対象物Ｏの位置及び姿勢を検出する構成であってもよく、これから開発される方法によって当該対象物Ｏの位置及び姿勢を検出する構成であってもよい。
【００９３】
次に、ロボット制御部４８は、ステップＳ１７０において検出された対象物Ｏの位置及び姿勢に基づいて可動部Ａを動作させ、対象物Ｏをロボット２０に把持させる。そして、ロボット制御部４８は、可動部Ａを動作させ、ロボット２０に把持された対象物Ｏをロボット２０に図示しない給材領域へ載置させる（ステップＳ１８０）。その後、ロボット制御部４８は、ステップＳ１１０において未選択の撮像位置がある場合、ステップＳ１１０に遷移し、未選択の撮像位置の中から撮像位置を１つ選択する。一方、ロボット制御部４８は、ステップＳ１１０において未選択の撮像位置がない場合、処理を終了する。
【００９４】
一方、ステップＳ１００において現在のロボット制御装置３０の動作モードが第１モードではないと判定した場合（ステップＳ１００−ＮＯ）、ロボット制御部４８は、ロボット制御装置３０の動作モードが第２モードであると判定し、記憶部３２に予め記憶された初期位置姿勢情報及び撮像位置情報を記憶部３２から読み出す。そして、ロボット制御部４８は、読み出した撮像位置情報が示す複数の撮像位置を１つずつ選択し、選択した撮像位置毎にステップＳ２００〜ステップＳ２４０の処理を繰り返し行う（ステップＳ１９０）。
【００９５】
ステップＳ１９０において撮像位置が選択された後、ロボット制御部４８は、可動部Ａを動作させ、ステップＳ１９０において読み出した初期位置姿勢情報に基づいて、ステップＳ１９０において選択された撮像位置と制御点Ｔの位置とを一致させる（ステップＳ２００）。ここで、図１３を参照し、ステップＳ２００の処理について説明する。
【００９６】
以下では、ステップＳ２００において、ロボット制御部４８が制御点Ｔの位置を、セルＣ２３を撮像部２１が撮像する撮像位置と一致させた場合を例に挙げて説明する。図１３は、制御点Ｔの位置及び姿勢がセルＣ２３を撮像部２１が撮像する撮像位置と一致している状態における撮像領域ＣＡ及び所定領域ＳＷと、当該状態におけるロボット２０との様子の一例を示す図である。図１３では、当該状態における撮像領域ＣＡに含まれる範囲と、当該撮像領域ＣＡにおける所定領域ＳＷに含まれる範囲とを二点鎖線によって表している。図１３に示したように、当該状態では、所定領域ＳＷとセルＣ２３の内側の領域とが一致していない。これは、ロボット制御装置３０の動作モードが第２モードであるため、所定領域ＳＷがデフォルト領域のまま保持されているからである。
【００９７】
ステップＳ２００の処理が行われた後、撮像制御部４０は、撮像部２１に撮像領域ＣＡを撮像させる（ステップＳ２１０）。次に、画像取得部４２は、ステップＳ２１０において撮像部２１が撮像した撮像画像を撮像部２１から取得する（ステップＳ２２０）。
【００９８】
次に、対象物情報検出部４９は、ステップＳ２２０において画像取得部４２が撮像部２１から取得した撮像画像に基づいて、当該撮像画像に含まれる対象物Ｏの位置及び姿勢を検出（算出）する（ステップＳ２３０）。対象物情報検出部４９は、既知の方法によって当該対象物Ｏの位置及び姿勢を検出する構成であってもよく、これから開発される方法によって当該対象物Ｏの位置及び姿勢を検出する構成であってもよい。
【００９９】
次に、ロボット制御部４８は、ステップＳ２３０において検出された対象物Ｏの位置及び姿勢に基づいて可動部Ａを動作させ、対象物Ｏをロボット２０に把持させる。そして、ロボット制御部４８は、可動部Ａを動作させ、ロボット２０に把持された対象物Ｏをロボット２０に図示しない給材領域へ載置させる（ステップＳ２４０）。その後、ロボット制御部４８は、ステップＳ１９０において未選択の撮像位置がある場合、ステップＳ１９０に遷移し、未選択の撮像位置の中から撮像位置を１つ選択する。一方、ロボット制御部４８は、ステップＳ１９０において未選択の撮像位置がない場合、処理を終了する。
【０１００】
以上説明したように、実施形態におけるロボット２０は、アーム（この一例において、可動部Ａ）に設けられた撮像部（この一例において、撮像部２１）が撮像可能な撮像領域（この一例において、撮像領域ＣＡ）内における所定領域（この一例において、所定領域ＳＷ）が、複数の対象物（この一例において、対象物Ｏ）のそれぞれを撮像する位置にアームを移動した場合において撮像部により撮像された撮像画像の画像領域のうち対象物を含む画像領域（この一例において、撮像画像の画像領域のうちセルＣの内側の画像領域）又は当該画像領域よりも小さい領域と一致し、複数の対象物のそれぞれを撮像する位置において撮像部により対象物が撮像された撮像画像に基づいて対象物に関する情報（この一例において、対象物Ｏの位置及び姿勢）を検出し、検出した当該情報に基づいて対象物を把持する。これにより、ロボット２０は、対象物に関する情報に基づく作業を精度よく行うことができる。
【０１０１】
また、ロボット２０は、アームに設けられた撮像部が撮像可能な撮像領域内における所定領域が、撮像部により撮像された撮像画像の画像領域のうちパレット（この一例において、パレットＰ）内のセル（この一例において、セルＣ）の内側の画像領域又は当該画像領域よりも小さい領域と一致し、複数の対象物のそれぞれを撮像する位置において撮像部により対象物が撮像された撮像画像に基づいて対象物に関する情報を検出し、検出した当該情報に基づいて対象物を把持する。これにより、ロボット２０は、パレット内のセルのそれぞれに配置された対象物に関する情報に基づく作業を精度よく行うことができる。
【０１０２】
また、ロボット２０では、ロボット２０が備えた関節（この一例において、第１関節及び第２関節）毎の角度である第１角度（この一例において、第１角度θ１及び第１角度θ２）に応じて、所定領域の角度である第２角度（この一例において、第２角度α）が変化する。これにより、ロボット２０は、ロボット２０が備えた関節毎の角度である第１角度に基づいて、対象物に関する情報に基づく作業を精度よく行うことができる。
【０１０３】
また、ロボット２０では、第２角度の変化において、第３基準方向が変化しない。これにより、ロボット２０は、ロボットが備えた関節毎に対応付けられた第１基準方向に対する角度であって当該関節毎の角度であるである第１角度に基づいて、対象物に関する情報に基づく作業を精度よく行うことができる。
【０１０４】
また、ロボット２０は、ロボット２０が備えた関節毎に対応付けられた第１基準方向に対する角度であって当該関節毎の角度であるである第１角度とゲインとに基づいて、対象物に関する情報に基づく作業を精度よく行うことができる。
【０１０５】
また、ロボット２０は、第１角度に応じて第２角度が変化する第１モードと、第１角度に応じて第２角度が変化しない第２モードとの２つの動作モードによって動作可能である。これにより、ロボット２０は、ユーザーが所望する動作モードによって、対象物に関する情報に基づく作業を精度よく行うことができる。
【０１０６】
また、ロボット２０では、所定領域の形状は、対象物を含む画像領域の形状又は当該画像領域よりも小さい領域の形状に対応する形状である。これにより、ロボット２０は、対象物に基づく領域の形状又は当該領域よりも小さい領域の形状に対応する形状の所定領域に基づいて、対象物に関する情報に基づく作業を精度よく行うことができる。
【０１０７】
また、ロボット２０では、撮像画像が表示部に表示される場合、撮像画像とともに所定領域が表示部に表示される。これにより、ロボット２０は、所定領域内に対象物が含まれているか否かをユーザーに確認させることができる。
【０１０８】
また、ロボット制御装置３０は、アームに設けられた撮像部が撮像可能な撮像領域内における所定領域を、複数の対象物のそれぞれを撮像する位置にアームを移動した場合において撮像部により撮像された撮像画像の画像領域のうち対象物を含む画像領域又は当該画像領域よりも小さい領域と一致させ、複数の対象物のそれぞれを撮像する位置において撮像部により対象物が撮像された撮像画像に基づいて対象物に関する情報を検出し、検出した当該情報に基づいて対象物をロボットに把持させる。これにより、ロボット制御装置３０は、対象物に関する情報の検出精度の低下を抑制することができる。
【０１０９】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１１０】
また、以上に説明した装置（例えば、ロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１１１】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１１２】
１…ロボットシステム、２０…ロボット、２１…撮像部、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、４０…撮像制御部、４２…画像取得部、４６…所定領域設定部、４８…ロボット制御部、４９…対象物情報検出部、５０…表示制御部
【図１】
2018034243.tif 000003
【図２】
2018034243.tif 000004
【図３】
2018034243.tif 000005
【図４】
2018034243.tif 000006
【図５】
2018034243.tif 000007
【図６】
2018034243.tif 000008
【図７】
2018034243.tif 000009
【図８】
2018034243.tif 000010
【図９】
2018034243.tif 000011
【図１０】
2018034243.tif 000012
【図１１】
2018034243.tif 000013
【図１２】
2018034243.tif 000014
【図１３】
2018034243.tif 000015