(57)【要約】【課題】高タクト化が可能なロボットシステムを提供する。【解決手段】ロボットシステム１は、ワークＷに対して所定の作業を行うロボット１０と、ロボット１０を搭載して移動する移動体２０と、ロボット１０に取り付けられ、ロボット１０が所定の作業を行うためのマーク４１，４６を撮像するカメラ３と、移動体２０が移動している状態でカメラ３により異なるタイミングで撮像されたマーク４１，４６の２以上の画像を取得する画像取得部３６と、２以上の画像に基づいて、移動体２０が移動している状態で所定の作業を行うようにロボット１０を制御するロボットコントローラ１５とを有する。【選択図】図１
2019093481.tif 000002
【特許請求の範囲】
【請求項１】
ワークに対して所定の作業を行うロボットと、
前記ロボットを搭載して移動する第１の移動体と、
前記第１の移動体に取り付けられ、前記ロボットが前記所定の作業を行うための基準物を撮像するカメラと、
前記第１の移動体が移動している状態で前記カメラにより異なるタイミングで撮像された前記基準物の２以上の画像を取得する画像取得部と、
前記２以上の画像に基づいて、前記第１の移動体が移動している状態で前記所定の作業を行うように前記ロボットを制御するロボット制御部と、
を有することを特徴とするロボットシステム。
【請求項２】
前記基準物の基準位置情報を取得する基準位置情報取得部と、
前記第１の移動体の現在位置情報を取得する現在位置情報取得部と、
前記基準位置情報と前記現在位置情報とに基づいて、前記基準位置と前記第１の移動体との離間距離が所定のしきい値以内か否かを判定する離間距離判定部と、をさらに有し、
前記画像取得部は、
前記離間距離が前記所定のしきい値以内と判定された場合に、前記カメラにより撮像された前記基準物の画像を取得する
ことを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記２以上の画像の解析結果に基づいて、前記ロボットが前記所定の作業を行うための教示データを補正する教示データ補正部をさらに有し、
前記ロボット制御部は、
補正された前記教示データに基づいて前記ロボットを制御する
ことを特徴とする請求項１又は２に記載のロボットシステム。
【請求項４】
前記２以上の画像に基づいて、前記基準物の前記第１の移動体に対する単位時間当たりの相対移動速度ベクトルを算出するベクトル算出部をさらに有し、
前記教示データ補正部は、
前記相対移動速度ベクトルに基づいて、前記ロボットが前記所定の作業を行うための教示データを補正する
ことを特徴とする請求項３に記載のロボットシステム。
【請求項５】
前記画像取得部は、
前記第１の移動体が移動している状態で前記基準物の２以上の画像を連続して取得するように構成されている
ことを特徴とする請求項１乃至４のいずれか１項に記載のロボットシステム。
【請求項６】
前記ワークを搭載して移動する第２の移動体をさらに有し、
前記カメラは、
前記第２の移動体に設けられた前記基準物を撮像し、
前記画像取得部は、
前記第１の移動体及び前記第２の移動体が共に移動している状態で前記カメラにより異なるタイミングで撮像された前記基準物の２以上の画像を取得し、
前記ロボット制御部は、
前記２以上の画像に基づいて、前記第１の移動体及び前記第２の移動体が共に移動している状態で前記所定の作業を行うように前記ロボットを制御する
ことを特徴とする請求項１乃至５のいずれか１項に記載のロボットシステム。
【請求項７】
ワークに対して所定の作業を行うロボットと、
前記ロボットを搭載して移動する第１の移動体と、
前記第１の移動体に取り付けられ、前記ロボットが前記所定の作業を行うための基準物を撮像するカメラと、
を有するロボットシステムの制御方法であって、
前記第１の移動体が移動している状態で前記カメラにより異なるタイミングで撮像された前記基準物の２以上の画像を取得することと、
前記２以上の画像に基づいて、前記第１の移動体が移動している状態で前記所定の作業を行うように前記ロボットを制御することと、
を有することを特徴とするロボットシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ロボットシステム及びロボットシステムの制御方法に関する。
【背景技術】
【０００２】
特許文献１には、移動ロボット装置が記載されている。この移動ロボット装置は、作業時に無人搬送車を所定の教示位置に停止させた状態で、当該無人搬送車に搭載されたロボットを予め教示された位置及び姿勢となるように制御することにより、静止部位に位置決めされたワークに対して所定の作業を行う。また移動ロボット装置は、無人搬送車が所定の教示位置に停止した状態でロボットの先端部に取付けられた撮像手段により検出した静止部位上の基準点位置の位置ずれに基づいて、ワークに対する作業位置を補正する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−５８２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術の移動ロボット装置では、無人搬送車が停止した状態で撮像手段により基準点位置の検出を行い、当該停止した状態でロボットがワークに対して所定の作業を行う。このため、作業に要する時間が長くなり高タクト化が難しいという課題があった。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、高タクト化が可能なロボットシステム及びロボットシステムの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、ワークに対して所定の作業を行うロボットと、前記ロボットを搭載して移動する第１の移動体と、前記第１の移動体に取り付けられ、前記ロボットが前記所定の作業を行うための基準物を撮像するカメラと、前記第１の移動体が移動している状態で前記カメラにより異なるタイミングで撮像された前記基準物の２以上の画像を取得する画像取得部と、前記２以上の画像に基づいて、前記第１の移動体が移動している状態で前記所定の作業を行うように前記ロボットを制御するロボット制御部と、を有するロボットシステムが適用される。
【０００７】
また、本発明の別の観点によれば、ワークに対して所定の作業を行うロボットと、前記ロボットを搭載して移動する第１の移動体と、前記第１の移動体に取り付けられ、前記ロボットが前記所定の作業を行うための基準物を撮像するカメラと、を有するロボットシステムの制御方法であって、前記第１の移動体が移動している状態で前記カメラにより異なるタイミングで撮像された前記基準物の２以上の画像を取得することと、前記２以上の画像に基づいて、前記第１の移動体が移動している状態で前記所定の作業を行うように前記ロボットを制御することと、を有するロボットシステムの制御方法が適用される。
【発明の効果】
【０００８】
本発明によれば、高タクト化が可能なロボットシステムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係るロボットシステムの全体構成の一例を表す説明図である。
【図２】ロボットシステムが備える移動体コントローラ、カメラコントローラ、及びロボットコントローラの機能構成の一例を表すブロック図である。
【図３】ワーク移送作業時の移動体コントローラ、カメラコントローラ、及びロボットコントローラの制御内容の一例を表すフローチャートである。
【図４Ａ】ワーク取り出し工程におけるロボットシステムの動作の一例を表す説明図である。
【図４Ｂ】ワーク取り出し工程におけるロボットシステムの動作の一例を表す説明図である。
【図４Ｃ】ワーク取り出し工程におけるロボットシステムの動作の一例を表す説明図である。
【図５Ａ】ワーク載置工程におけるロボットシステムの動作の一例を表す説明図である。
【図５Ｂ】ワーク載置工程におけるロボットシステムの動作の一例を表す説明図である。
【図５Ｃ】ワーク載置工程におけるロボットシステムの動作の一例を表す説明図である。
【図６Ａ】ワークとロボットの両方が移動する変形例でのワーク取り出し工程におけるロボットシステムの動作の一例を表す説明図である。
【図６Ｂ】ワークとロボットの両方が移動する変形例でのワーク取り出し工程におけるロボットシステムの動作の一例を表す説明図である。
【図６Ｃ】ワークとロボットの両方が移動する変形例でのワーク取り出し工程におけるロボットシステムの動作の一例を表す説明図である。
【図７Ａ】ワークとロボットの両方が移動する変形例でのワーク載置工程におけるロボットシステムの動作の一例を表す説明図である。
【図７Ｂ】ワークとロボットの両方が移動する変形例でのワーク載置工程におけるロボットシステムの動作の一例を表す説明図である。
【図７Ｃ】ワークとロボットの両方が移動する変形例でのワーク載置工程におけるロボットシステムの動作の一例を表す説明図である。
【図８】ロボットコントローラのハードウェア構成の一例を表す説明図である。
【発明を実施するための形態】
【００１０】
以下、一実施の形態について図面を参照しつつ説明する。
【００１１】
＜１．ロボットシステムの全体構成＞
まず、図１を参照しつつ、実施形態に係るロボットシステム１の全体構成の一例について説明する。
【００１２】
ロボットシステム１は、移動体２０によりロボット１０を移動させながら所定の作業を行うことが可能である。図１に示すように、ロボットシステム１は、ワークＷ（後述の図４、図５参照）に対して所定の作業を行うロボット１０と、ロボット１０を搭載して移動する移動体２０（第１の移動体の一例）と、カメラ３と、カメラコントローラ３５と、ロボットコントローラ１５（ロボット制御部の一例）とを有する。
【００１３】
ロボット１０は、例えば６つの関節部を備えた垂直多関節型の６軸ロボットであり、その先端には、エンドエフェクタとしてハンド７が取り付けられている。ロボットコントローラ１５は、ロボット１０の例えば基台１０１に取り付けられており、ロボット１０を制御する。なお、ロボット１０を６軸以外（例えば５軸や７軸等）のロボットとしてもよい。また、水平多関節型やパラレルリンクロボット等、ロボット１０を垂直多関節型以外のロボットとしてもよい。また、ロボットコントローラ１５をロボット１０と分離して配置してもよい。
【００１４】
ロボット１０は、上記所定の作業として、ハンド７により移送元テーブル４０（後述の図４参照）上のワークＷを把持して移送先テーブル４５（後述の図５参照）に移送するワークの移送作業を実行する。なお、ロボット１０が行う作業はワークの移送作業に限定されるものではなく、例えばワークを別のワークに組み付けて部品の組み立て等を実行することも可能である。また、ハンド７に代えてエンドエフェクタの種類を適宜変更することにより、例えば、塗装、リベット打ち、くぎ打ち、スポット溶接、ステープル留め、ボルト締め等の作業を行うことも可能である。
【００１５】
カメラ３は、ロボット１０が上記所定の作業をする際のワークＷの３次元位置をリアルタイムに検出するために、ロボット１０の例えば手首部１０６にハンド７の手先側を視野とする姿勢で設置されている。なお、カメラ３は、ロボット１０の他の箇所や移動体２０上に取り付けられてもよい。また、カメラ３の設置台数は１台に限定されるものではなく、２台以上としてもよい。カメラ３は、ロボット１０がワーク移送作業をする際に、移動体２０が移動している状態で移送元テーブル４０上のマーク４１（後述の図４参照）や移送先テーブル４５上のマーク４６（後述の図５参照）を撮像する。なお、カメラ３による撮像は、時間的に連続して行われてもよいし、断続的に複数回撮像されてもよいが、本実施形態では連続的に撮像される場合を一例として説明する。カメラ３は、移動体２０に設置されたカメラコントローラ３５に接続されており、撮像した画像情報はカメラコントローラ３５に送信される。
【００１６】
＜２．移動体の構成＞
次に、移動体２０の構成の一例について説明する。なお、以下において、移動体２０等の構成の説明の便宜上、上下左右前後等の方向を適宜使用するが、移動体２０等の各構成の位置関係を限定するものではない。また、上記前及び後の方向は移動体２０の進行方向における前方及び後方に対応している。
【００１７】
移動体２０は、移動体コントローラ３０の制御により例えば工場内などを無軌道に移動可能ないわゆる無人搬送車（ＡＧＶ）である。図１に示すように、移動体２０は、例えば直方体状の筐体２１を備え、筐体２１の内部に移動体コントローラ３０を内蔵している。筐体２１の上面２１ａには、例えば後側寄りの位置にロボット１０が搭載され、例えば前方右側寄りの位置にカメラコントローラ３５が搭載されている。筐体２１の下面の四隅には車輪２２が設けられている。筐体２１の上面２１ａの対角線上の隅部（この例では前方左側の隅部と後方右側の隅部）には、それぞれ全方位センサ２３が設置されている。また、筐体２１の前面２１ｂには近接センサ２４が設置され、筐体２１の左右一方側の側面、この例では右側面２１ｃにマップ作製センサ２５が設置されている。
【００１８】
移動体２０は、少なくとも１つのモータ（図示省略）を備えており、移動体コントローラ３０によるモータの制御により車輪２２を駆動させて、搭載したロボット１０とともに移動する。２つの全方位センサ２３は、例えばレーザを用いて移動体２０が移動している状態で周囲３６０°の環境を測定し、周囲の状況を把握するために使用される。近接センサ２４は、例えば超音波を用いて移動体２０が移動している状態で対象物までの距離を測定し、対象物との衝突を回避するために使用される。マップ作製センサ２５は、例えばレーザを用いて移動体２０が移動している状態で周囲の環境を測定し、移動体２０周囲の環境地図の作製に使用される。これらのセンサにより安全性が向上され、ロボットシステム１と人（作業者）との協働を可能としている。
【００１９】
なお、上述した移動体２０の構成は一例であり、上述の内容に限定されるものではない。例えば全方位センサ２３、近接センサ２４、マップ作製センサ２５の少なくとも１つは設置されなくてもよい。また、移動体２０は車両に限るものではなく、例えば無人飛行機等、ロボット１０を搭載して移動可能な装置であればよい。
【００２０】
＜３．ロボットの構成＞
次に、ロボット１０の構成の一例について説明する。
【００２１】
図１に示すように、ロボット１０は、基台１０１と、旋回部１０２と、アーム１０３とを有する。基台１０１は、移動体２０の上面２１ａに固定されている。
【００２２】
旋回部１０２は、基台１０１の上端部に、上下方向に略平行な回転軸心Ａｘ１まわりに旋回可能に支持されている。この旋回部１０２は、基台１０１との間の関節部に設けられたアクチュエータＡｃ１の駆動により、基台１０１の上端部に対し、回転軸心Ａｘ１まわりに旋回駆動される。
【００２３】
アーム１０３は、旋回部１０２の一方側の側部に支持されている。このアーム１０３は、下腕部１０４と、上腕部１０５と、手首部１０６と、フランジ部１０７とを備える。
【００２４】
下腕部１０４は、旋回部１０２の一方側の側部に、回転軸心Ａｘ１に略垂直な回転軸心Ａｘ２まわりに旋回可能に支持されている。この下腕部１０４は、旋回部１０２との間の関節部に設けられたアクチュエータＡｃ２の駆動により、旋回部１０２の一方側の側部に対し、回転軸心Ａｘ２まわりに旋回駆動される。
【００２５】
上腕部１０５は、下腕部１０４の先端側に、回転軸心Ａｘ２に略平行な回転軸心Ａｘ３まわりに旋回可能且つ回転軸心Ａｘ３に略垂直な回転軸心Ａｘ４回りに回動可能に支持されている。この上腕部１０５は、下腕部１０４との間の関節部に設けられたアクチュエータＡｃ３の駆動により、下腕部１０４の先端側に対し、回転軸心Ａｘ３まわりに旋回駆動される。また上腕部１０５は、アクチュエータＡｃ３との間に設けられたアクチュエータＡｃ４の駆動により、下腕部１０４の先端側に対し、回転軸心Ａｘ４まわりに回動駆動される。
【００２６】
手首部１０６は、上腕部１０５の先端側に、回転軸心Ａｘ４に略垂直な回転軸心Ａｘ５まわりに旋回可能に支持されている。この手首部１０６は、上腕部１０５との間の関節部に設けられたアクチュエータＡｃ５の駆動により、上腕部１０５の先端側に対し、回転軸心Ａｘ５まわりに旋回駆動される。
【００２７】
フランジ部１０７は、手首部１０６の先端側に、回転軸心Ａｘ５に略垂直な回転軸心Ａｘ６まわりに回動可能に支持されている。このフランジ部１０７は、手首部１０６との間の関節部に設けられたアクチュエータＡｃ６の駆動により、手首部１０６の先端側に対し、回転軸心Ａｘ６まわりに回動駆動される。
【００２８】
ハンド７は、フランジ部１０７の先端に取り付けられており、フランジ部１０７の回転軸心Ａｘ６まわりの回動と共に、回転軸心Ａｘ６まわりに回動する。このハンド７は、互いに遠近する方向に動作可能な一対の爪部材７ａ，７ａを備える。ハンド７は、爪部材７ａ，７ａでワークＷを把持することを初めとして、各種の操作をすることが可能である。
【００２９】
以上の構成であるロボット１０は、６つのアクチュエータＡｃ１〜Ａｃ６を備えた６つの関節部を有する６軸ロボットである。各関節部を駆動するアクチュエータＡｃ１〜Ａｃ６は、例えばサーボモータ、減速機及びブレーキ等により構成されている。なお、サーボモータ、減速機及びブレーキ等は、必ずしも回転軸心Ａｘ１〜Ａｘ６上に配置される必要はなく、これらの回転軸心Ａｘ１〜Ａｘ６から離れた位置に配置されてもよい。
【００３０】
なお、上記では、アーム１０３の長手方向（あるいは延材方向）に沿った回転軸心まわりの回転を「回動」と呼び、アーム１０３の長手方向（あるいは延材方向）に略垂直な回転軸心まわりの回転を「旋回」と呼んで区別している。
【００３１】
＜４．移動体コントローラ、カメラコントローラ、ロボットコントローラの機能構成＞
次に、図２を参照しつつ、移動体コントローラ３０、カメラコントローラ３５、及びロボットコントローラ１５の機能構成の一例について説明する。なお、図２では、移動体コントローラ３０の機能構成中、移動体２０の移動制御に関わる機能構成は図示を省略する。
【００３２】
移動体コントローラ３０は、例えばプログラマブルロジックコントローラ（ＰＬＣ）やパーソナルコンピュータ（ＰＣ）等により構成される。移動体コントローラ３０は、基準位置情報取得部３１と、現在位置情報取得部３２と、離間距離判定部３３とを有する。
【００３３】
基準位置情報取得部３１は、ロボット１０がワーク移送作業を行う際の基準位置となる移送元テーブル４０上のマーク４１及び移送先テーブル４５上のマーク４６の位置情報である基準位置情報を取得する。基準位置情報は、例えば移動体コントローラ３０が備える適宜の記録手段（メモリやハードディスク等）から取得されてもよいし、ロボットシステム１の外部の機器（上位コントローラ等）から通信等を介して取得されてもよい。
【００３４】
現在位置情報取得部３２は、移動している移動体２０の現在位置情報を取得する。現在位置情報は、例えば移動体２０の走行情報やマップ作製センサ２５により作製されたマップ情報等に基づいて算出されてもよいし、ロボットシステム１の外部の機器（測位装置等）から通信等を介して取得されてもよい。
【００３５】
離間距離判定部３３は、上記取得したマーク４１，４６の基準位置情報と上記取得した移動体２０の現在位置情報とに基づいて、マーク４１，４６の基準位置と移動体２０との離間距離が所定のしきい値以内に至ったか否か、言い換えると移動体２０が移送元テーブル４０又は移送先テーブル４５に対して所定の距離以内に近づいたか否かを判定する。離間距離判定部３３は、所定のしきい値以内に至ったと判定すると、当該判定結果をカメラコントローラ３５に出力する。なお、所定のしきい値は、例えばカメラ３の視野にマーク４１，４６が収まる程度の距離に設定されてもよい。
【００３６】
カメラコントローラ３５は、例えばプログラマブルロジックコントローラ（ＰＬＣ）やパーソナルコンピュータ（ＰＣ）等により構成される。カメラコントローラ３５は、画像取得部３６と、画像解析処理部３７と、教示データ補正部３８と、格納部３９とを有する。
【００３７】
画像取得部３６は、移動体コントローラ３０の離間距離判定部３３から入力された判定結果（マーク４１，４６と移動体２０との離間距離が所定のしきい値以内に至ったとの判定）を受信したことをトリガーとして、カメラ３が撮像したマーク４１又はマーク４６の画像の取得を開始する。その後、例えば離間距離判定部３３により、マーク４１，４６と移動体２０との離間距離が所定のしきい値以上となったと判定されるまでの間、画像取得部３６はカメラ３が撮像した画像を時間的に連続して取得する。すなわち、画像取得部３６はカメラ３により異なるタイミングで撮像された多数の画像を取得する。
【００３８】
画像解析処理部３７は、画像取得部３６で取得した画像に対して所定の画像解析処理を実行することで、移動体２０（ロボット１０）に対するマーク４１又はマーク４６の相対的な３次元位置及び姿勢をリアルタイムに測定する。
【００３９】
格納部３９には、ロボット１０がワークＷに対して所定の作業を行うための教示データが格納されている。当該教示データは、例えば移動体２０が静止した状態でロボット１０とマーク４１，４６とが所定の基準となる相対位置関係に配置された状態での教示データとなっている。各教示データはマークの種類と関連づけられて格納されており、例えば本実施形態では、マーク４１と関連づけられて移送元テーブル４０に対してワークＷを取り出す作業を行うための教示データが格納されており、マーク４６と関連づけられて移送先テーブル４５に対してワークＷを載置する作業を行うための教示データが格納されている。
【００４０】
教示データ補正部３８は、格納部３９から読み出した教示データを、画像解析処理部３７による画像の解析結果に基づいて補正する。補正された教示データは、ロボットコントローラ１５に出力される。本実施形態では、ロボット１０が移動しながらワークＷに対して作業を行うので、ロボット１０に対するワークＷの相対位置は常に変動している。このため、教示データ補正部３８は比較的短い周期（例えばカメラコントローラ３５のＣＰＵの演算周期）で教示データを逐次補正する。これにより、ロボット１０は移動しながら、相対的に移動するワークＷに対してハンド７を精度よく追従させながら所定の作業を行うことができる。
【００４１】
ロボットコントローラ１５は、モーション制御部１６と、サーボアンプ１７とを有する。モーション制御部１６は、上記教示データ補正部３８から入力された教示データに基づいて、ロボット１０のハンド７を当該教示データが指示する位置に移動させるために必要となるロボット１０の各アクチュエータＡｃ１〜Ａｃ６のサーボモータ（図示省略）の目標回転角度等を演算し、対応するモータ位置指令を出力する。
【００４２】
サーボアンプ１７は、上記モーション制御部１６から入力されたモータ位置指令に基づいて、各アクチュエータＡｃ１〜Ａｃ６のサーボモータに供給する駆動電力の制御を行い、ロボット１０の動作を制御する。
【００４３】
なお、上記では画像取得部３６が画像を時間的に連続して取得するようにしたが、これに限定されるものではなく、断続的に取得してもよい。この場合、画像取得部３６により、カメラ３により異なるタイミングで撮像された複数（２以上であればよく、数が多いほど精度が向上する）の画像を取得し、カメラコントローラ３５のベクトル算出部（図示省略）により、それらの画像に基づいてマーク４１又はマーク４６の移動体２０（ロボット１０）に対する単位時間当たりの相対移動速度ベクトルを算出すればよい。この場合には、教示データ補正部３８は、算出された相対移動速度ベクトルに基づいて教示データを補正することにより、ハンド７の手先位置を予測されるワークＷの相対的な移動先に対応させるように動作させることができる。
【００４４】
なお、上述した離間距離判定部３３、教示データ補正部３８、モーション制御部１６等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部（例えば１つの処理部）で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、各コントローラ３０，３５，１５の各処理部は、サーボモータに駆動電力を給電する部分（サーボアンプ等）のみ実際の装置により実装され、その他の機能は後述するＣＰＵ９０１（図８参照）が実行するプログラムにより実装されてもよいし、その一部又は全部がＡＳＩＣやＦＰＧＡ、その他の電気回路等の実際の装置により実装されてもよい。
【００４５】
＜５．ワーク移送作業時の各コントローラの制御内容及びロボットシステムの動作＞
次に、図３乃至図５により、ワーク移送作業時に各コントローラ３０，３５，１５が実行する制御内容の一例及びロボットシステム１の動作の一例について説明する。図３は、ワーク移送作業時に各コントローラ３０，３５，１５が実行する制御内容の一例を表すフローチャートである。図４は、ワーク移送作業におけるワーク取り出し動作の一例を表す説明図である。図５は、ワーク移送作業におけるワーク載置動作の一例を表す説明図である。
【００４６】
図４Ａに示すように、ロボット１０がワーク移送作業を行う際の移送元テーブル４０の上面４０ａには、ワークＷの取り出し工程を行うための基準位置となるマーク４１（基準物の一例）が設けられている。また、上面４０ａの所定位置には、作業対象となる複数のワークＷが載置されている。また、図５Ａに示すように、ロボット１０がワーク移送作業を行う際の移送先テーブル４５の上面４５ａには、ワークＷの載置工程を行うための基準位置となるマーク４６（基準物の一例）が設けられている。なお、マーク４１，４６は、画像において基準となる位置が認識できるものであればよく、例えば文字、記号、符号、図柄等でもよいし、例えばテーブル上面の突起、凹部等の形状でもよいし、ワークＷそのものでもよい。
【００４７】
ワーク取り出し工程では、まず、ステップＳ１０において、移動体コントローラ３０の基準位置情報取得部３１が移動元テーブル４０のマーク４１の基準位置情報を取得する。
【００４８】
ステップＳ２０では、図４Ａに示すように、移動体コントローラ３０による制御により、移動体２０が移送元テーブル４０に向けて移動する。そして、移動体コントローラ３０の現在位置情報取得部３２が移動している移動体２０の現在位置情報を取得する。
【００４９】
ステップＳ３０では、移動体コントローラ３０の離間距離判定部３３が、上記取得したマーク４１の基準位置情報と上記取得した移動体２０の現在位置情報とに基づいて、移送元テーブル４０（マーク４１）と移動体２０とが所定の距離以内まで近づいたか否かを判定する。ステップＳ３０の判定が満たされない場合には（ステップＳ３０：ＮＯ）、上記ステップＳ２０に戻る。ステップＳ３０の判定が満たされた場合には（ステップＳ３０：ＹＥＳ）、ステップＳ４０に移る。
【００５０】
ステップＳ４０では、カメラコントローラ３５の画像取得部３６により、カメラ３が撮像したマーク４１の画像の取得を開始し、その後、連続して画像を取得する。
【００５１】
ステップＳ５０では、カメラコントローラ３５の画像解析処理部３７により、取得した画像を解析し、移動体２０（ロボット１０）に対するマーク４１の相対的な３次元位置及び姿勢を測定する。
【００５２】
ステップＳ６０では、カメラコントローラ３５の教示データ補正部３８により、格納部３９から読み出したマーク４１に対応する教示データ（ワークＷを取り出す作業を行うための教示データ）を、画像の解析結果に基づいて補正する。
【００５３】
ステップＳ７０では、ロボットコントローラ１５のモーション制御部１６により、補正した教示データに基づいて、ロボット１０の各アクチュエータＡｃ１〜Ａｃ９のサーボモータに対する位置指令を演算し、サーボアンプ１７により各サーボモータに供給する駆動電力を制御してロボット１０の動作を制御し、ワーク移送作業におけるワーク取り出し工程を実行する。
【００５４】
これにより、図４Ｂに示すように、ロボット１０は移動体２０により移動しながら、アーム１０３のハンド７により移送元テーブル４０上の所定のワークＷを把持する。そして、図４Ｃに示すように、ハンド７によりワークＷを把持したロボット１０は、移動体２０の移動に伴い移送元テーブル４０から離間し、ワーク移送作業におけるワーク取り出し工程を終了する。
【００５５】
ワーク取り出し工程が終了すると、移動体２０は移動を続けたまま、引き続きワーク移送作業におけるワーク載置工程に移る。ワーク載置工程は、ワーク取り出し工程と同様の手順で実行される。
【００５６】
まず、ステップＳ１０において、移動体コントローラ３０の基準位置情報取得部３１が移送先テーブル４５のマーク４６の基準位置情報を取得する。
【００５７】
ステップＳ２０では、図５Ａに示すように、移動体コントローラ３０による制御により、移動体２０が移送先テーブル４５に向けて移動する。そして、移動体コントローラ３０の現在位置情報取得部３２が移動している移動体２０の現在位置情報を取得する。
【００５８】
ステップＳ３０では、移動体コントローラ３０の離間距離判定部３３が、上記取得したマーク４６の基準位置情報と上記取得した移動体２０の現在位置情報とに基づいて、移送先テーブル４５（マーク４６）と移動体２０とが所定の距離以内まで近づいたか否かを判定する。ステップＳ３０の判定が満たされない場合には（ステップＳ３０：ＮＯ）、上記ステップＳ２０に戻る。ステップＳ３０の判定が満たされた場合には（ステップＳ３０：ＹＥＳ）、ステップＳ４０に移る。
【００５９】
ステップＳ４０では、カメラコントローラ３５の画像取得部３６により、カメラ３が撮像したマーク４６の画像の取得を開始し、その後、連続して画像を取得する。
【００６０】
ステップＳ５０では、カメラコントローラ３５の画像解析処理部３７により、取得した画像を解析し、移動体２０（ロボット１０）に対するマーク４６の相対的な３次元位置及び姿勢を測定する。
【００６１】
ステップＳ６０では、カメラコントローラ３５の教示データ補正部３８により、格納部３９から読み出したマーク４６に対応する教示データ（ワークＷを載置する作業を行うための教示データ）を、画像の解析結果に基づいて補正する。
【００６２】
ステップＳ７０では、ロボットコントローラ１５のモーション制御部１６により、補正した教示データに基づいて、ロボット１０の各アクチュエータＡｃ１〜Ａｃ９のサーボモータに対する位置指令を演算し、サーボアンプ１７により各サーボモータに供給する駆動電力を制御してロボット１０の動作を制御し、ワーク移送作業におけるワーク載置工程を実行する。
【００６３】
これにより、図５Ｂに示すように、ロボット１０は移動体２０により移動しながら、アーム１０３のハンド７により把持しているワークＷを移送先テーブル４５上の所定位置に載置する。そして、図５Ｃに示すように、ワークＷの載置を終了したロボット１０は、移動体２０の移動に伴い移送先テーブル４５から離間し、ワーク移送作業におけるワーク載置工程を終了する。これによりワーク移送作業が終了する。
【００６４】
＜６．実施形態の効果＞
以上説明したように、本実施形態のロボットシステム１は、ワークＷに対して所定の作業を行うロボット１０と、ロボット１０を搭載して移動する移動体２０と、ロボット１０に取り付けられ、ロボット１０が所定の作業を行うためのマーク４１，４６を撮像するカメラ３と、移動体２０が移動している状態でカメラ３により異なるタイミングで撮像されたマーク４１，４６の２以上の画像を取得する画像取得部３６と、２以上の画像に基づいて、移動体２０が移動している状態で所定の作業を行うようにロボット１０を制御するロボットコントローラ１５とを有する。これにより、次の効果を奏する。
【００６５】
すなわち、本実施形態のロボットシステム１では、移動体２０で移動しながらカメラ３によりマーク４１，４６を異なるタイミングで撮像して２以上の画像を取得する。これらの画像により、マーク４１，４６の移動体２０（ロボット１０）に対する相対的な３次元位置及び姿勢を測定することが可能となる。その結果、２以上の画像に基づいてロボット１０の動作を制御することにより、移動体２０でロボット１０を移動させながらワークＷに対して所定の作業を行うことができる。これにより、例えば移動体２０を停止させてマーク４１，４６の撮像を行い、当該停止した状態でロボット１０がワークＷに対して所定の作業を行う場合に比べて、作業工程のサイクルタイムを大幅に短縮できるので、高タクト化が可能となる。また、ロボット１０の自走化により、ロボット１０の作業位置を容易に変更することが可能となるので、作業プロセスのロバスト性（フレキシビリティ）を向上できる。
【００６６】
また、本実施形態では特に、ロボットシステム１は、マーク４１，４６の基準位置情報を取得する基準位置情報取得部３１と、移動体２０の現在位置情報を取得する現在位置情報取得部３２と、基準位置情報と現在位置情報とに基づいて、基準位置と移動体２０との離間距離が所定のしきい値以内か否かを判定する離間距離判定部３３と有し、画像取得部３６は、離間距離が所定のしきい値以内と判定された場合に、カメラ３により撮像されたマーク４１，４６の画像を取得する。これにより、次の効果を奏する。
【００６７】
すなわち、本実施形態では、移動体２０をマーク４１又はマーク４６に向けて移動させ、マーク４１又はマーク４６と移動体２０との離間距離が所定のしきい値以内となった場合に、カメラ３により撮像されたマーク４１又はマーク４６の画像を取得する。これにより、マーク４１又はマーク４６と移動体２０とが離れている場合には画像を取得しないので画像処理の負担を軽減できると共に、マーク４１又はマーク４６と移動体２０とが近づいて初めて画像を取得するので、撮像の確実性及び画像の信頼性を向上できる。
【００６８】
また、本実施形態では特に、ロボットシステム１は、２以上の画像の解析結果に基づいて、ロボット１０が所定の作業を行うための教示データを補正する教示データ補正部３８を有し、ロボットコントローラ１５は、補正された教示データに基づいてロボット１０を制御する。これにより、次の効果を奏する。
【００６９】
すなわち、本実施形態では、ロボット１０がワークＷに対して所定の作業を行うための教示データが予め格納部３９に格納されており、当該教示データを２以上の画像の解析結果に基づいて補正する。これにより、ハンド７の手先位置をワークＷの相対的な移動先に追従させることができるので、作業精度の低下を抑制しつつ、ロボット１０を移動させながらワークＷに対して所定の作業を行うことができる。
【００７０】
また、本実施形態では特に、ロボットシステム１は、２以上の画像に基づいて、マーク４１，４６の移動体２０に対する単位時間当たりの相対移動速度ベクトルを算出するベクトル算出部を有し、教示データ補正部３８は、相対移動速度ベクトルに基づいて、ロボット１０がワーク移送作業を行うための教示データを補正する場合には、次の効果を奏する。
【００７１】
すなわち、マーク４１，４６の相対移動速度ベクトルを算出する場合には、マーク４１，４６のロボット１０に対する相対的な移動先を予測することが可能となる。したがって、教示データを相対移動速度ベクトルに基づいて補正することにより、ハンド７の手先位置を予測されるワークＷの相対的な移動先に対応させることができるので、作業精度の低下を抑制しつつ、ロボット１０を移動させながらワークＷに対して所定の作業を行うことができる。
【００７２】
また、本実施形態では特に、画像取得部３６は、移動体２０が移動している状態でマーク４１，４６の２以上の画像を連続して取得するように構成されている。
【００７３】
これにより、教示データを細かい精度で補正することが可能となるので、例えば路面の凹凸や移動体２０の車輪２２のすべり、機械的なガタつき等、単純な相対速度以外の外乱の影響を低減できる。
【００７４】
＜７．変形例＞
以上では、ワークＷが搭載された移送元テーブル４０及び移送先テーブル４５が静止している場合について説明したが、これに限定されるものではなく、例えばワークＷを移動体に搭載し、ロボット１０とワークＷの両方が移動しながら所定の作業を実行してもよい。
【００７５】
例えば図６Ａ〜図６Ｃに示す例では、移動体４０Ａ（第２の移動体の一例）がワークＷの移送元テーブルとなっており、ロボット１０は移動体２０により移動しながら、移動体４０Ａにより対向方向に移動するワークＷに対して、前述のワーク取り出し工程を実行する。
【００７６】
また例えば図７Ａ〜図７Ｃに示す例では、移動体４５Ａ（第２の移動体の一例）がワークＷの移送先テーブルとなっており、ロボット１０は移動体２０により移動しながら、移動体４５Ａにより同一方向に移動するワークＷに対して、前述のワーク載置工程を実行する。なお、この例では移動体４５Ａの移動速度は移動体２０よりも遅くなっている。
【００７７】
本変形例における各コントローラの制御内容は、前述の実施形態と同様であるので説明を省略する。
【００７８】
本変形例によれば、ロボット１０を移動させながら移動するワークＷに対して所定の作業を行うことができる。これにより、ワークＷを搬送している最中に例えば加工や組み立て等を実行することが可能となるので、さらなる高タクト化を実現できる。また、ロボット１０とワークＷの自走化により、ロボット１０の作業位置やワークＷの搬送経路を自在に変更することが可能となるので、作業プロセスのロバスト性（フレキシビリティ）を大幅に向上できる。
【００７９】
＜８．コントローラのハードウェア構成例＞
次に、図８を参照しつつ、上記で説明したロボットコントローラ１５、移動体コントローラ３０、カメラコントローラ３５のハードウェア構成例について説明する。
【００８０】
図８に示すように、各コントローラ１５，３０，３５は、例えば、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、ＡＳＩＣ又はＦＰＧＡ等の特定の用途向けに構築された専用集積回路９０７と、入力装置９１３と、出力装置９１５と、記録装置９１７と、ドライブ９１９と、接続ポート９２１と、通信装置９２３とを有する。これらの構成は、バス９０９や入出力インターフェース９１１を介し相互に信号を伝達可能に接続されている。
【００８１】
プログラムは、例えば、ＲＯＭ９０３やＲＡＭ９０５、記録装置９１７等に記録しておくことができる。記録装置９１７は例えばハードディスク等であり、格納部等として機能する。
【００８２】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のＣＤ・ＭＯディスク・ＤＶＤ等の光ディスク、半導体メモリ等のリムーバブルな記録媒体９２５に、一時的又は非一時的（永続的）に記録しておくこともできる。このような記録媒体９２５は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体９２５に記録されたプログラムは、ドライブ９１９により読み出されて、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００８３】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等（図示せず）に記録しておくこともできる。この場合、プログラムは、ＬＡＮやインターネット等のネットワークＮＷを介し転送され、通信装置９２３がこのプログラムを受信する。そして、通信装置９２３が受信したプログラムは、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００８４】
また、プログラムは、例えば、適宜の外部接続機器９２７に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート９２１を介し転送され、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００８５】
そして、ＣＰＵ９０１が、上記記録装置９１７に記録されたプログラムに従い各種の処理を実行することにより、上記の離間距離判定部３３、教示データ補正部３８、モーション制御部１６等による処理が実現される。この際、ＣＰＵ９０１は、例えば、上記記録装置９１７からプログラムを直接読み出して実行してもよいし、ＲＡＭ９０５に一旦ロードした上で実行してもよい。更にＣＰＵ９０１は、例えば、プログラムを通信装置９２３やドライブ９１９、接続ポート９２１を介し受信する場合、受信したプログラムを記録装置９１７に記録せずに直接実行してもよい。
【００８６】
また、ＣＰＵ９０１は、必要に応じて、例えばマウス・キーボード・マイク（図示せず）等の入力装置９１３から入力する信号や情報に基づいて各種の処理を行ってもよい。
【００８７】
そして、ＣＰＵ９０１は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置９１５から出力してもよく、さらにＣＰＵ９０１は、必要に応じてこの処理結果を通信装置９２３や接続ポート９２１を介し送信してもよく、上記記録装置９１７や記録媒体９２５に記録させてもよい。
【００８８】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００８９】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「同じ」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００９０】
また、以上既に述べた以外にも、上記実施形態による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００９１】
１            ロボットシステム
３            カメラ
１０          ロボット
１５          ロボットコントローラ（ロボット制御部の一例）
２０          移動体（第１の移動体の一例）
３１          基準位置情報取得部
３２          現在位置情報取得部
３３          離間距離判定部
３６          画像取得部
３８          教示データ補正部
４０          移送元テーブル（第２の移動体の一例）
４１          マーク（基準物の一例）
４５          移送先テーブル（第２の移動体の一例）
４６          マーク（基準物の一例）
Ｗ            ワーク
【図１】
2019093481.tif 000003
【図２】
2019093481.tif 000004
【図３】
2019093481.tif 000005
【図４Ａ】
2019093481.tif 000006
【図４Ｂ】
2019093481.tif 000007
【図４Ｃ】
2019093481.tif 000008
【図５Ａ】
2019093481.tif 000009
【図５Ｂ】
2019093481.tif 000010
【図５Ｃ】
2019093481.tif 000011
【図６Ａ】
2019093481.tif 000012
【図６Ｂ】
2019093481.tif 000013
【図６Ｃ】
2019093481.tif 000014
【図７Ａ】
2019093481.tif 000015
【図７Ｂ】
2019093481.tif 000016
【図７Ｃ】
2019093481.tif 000017
【図８】
2019093481.tif 000018