JP6123364B2 - ロボット制御システム、ロボット、プログラム及びロボット制御方法 - Google Patents

ロボット制御システム、ロボット、プログラム及びロボット制御方法 Download PDF

Info

Publication number
JP6123364B2
JP6123364B2 JP2013046266A JP2013046266A JP6123364B2 JP 6123364 B2 JP6123364 B2 JP 6123364B2 JP 2013046266 A JP2013046266 A JP 2013046266A JP 2013046266 A JP2013046266 A JP 2013046266A JP 6123364 B2 JP6123364 B2 JP 6123364B2
Authority
JP
Japan
Prior art keywords
reference image
robot
visual servo
imaging
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013046266A
Other languages
English (en)
Other versions
JP2014172119A (ja
Inventor
良至 岸
良至 岸
長谷川 浩
浩 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2013046266A priority Critical patent/JP6123364B2/ja
Publication of JP2014172119A publication Critical patent/JP2014172119A/ja
Application granted granted Critical
Publication of JP6123364B2 publication Critical patent/JP6123364B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、ロボット制御システム、ロボット、プログラム及びロボット制御方法等に関係する。
近年、生産現場において、人が行ってきた作業を機械化・自動化するために、産業用ロボットを導入することが多くなってきた。しかし、ロボットのアームやハンド等の位置決めを行うにあたっては、精密なキャリブレーションが前提となり、ロボット導入の障壁となっている。
ここで、ロボットのアームやハンド等の位置決めを行う手法の一つとしてビジュアルサーボがある。ある種のビジュアルサーボは、キャリブレーションに精密さを求めない点で有用であり、ロボット導入障壁を下げる技術として注目されている。
これらのビジュアルサーボに関する発明としては特許文献1及び特許文献2に記載される従来技術がある。
特開2003−302345号公報 特開2003−311670号公報
参照画像の撮像タイミングと撮像画像の撮像タイミングは異なることが一般的である。そのため、参照画像を撮像した時の環境と、撮像画像を撮像した時の環境が異なることも多い。このような場合には、ビジュアルサーボが上手く収束しないことがある。
本発明の幾つかの態様によれば、参照画像と撮像画像の撮像時の環境が異なる場合に、ビジュアルサーボの制御精度を向上させることができるロボット制御システム、ロボット、プログラム及びロボット制御方法等を提供することができる。
本発明の一態様は、ロボットの目標状態を表す画像である参照画像を記憶する記憶部と、撮像部から得られる撮像画像と前記参照画像とに基づいて、前記ロボットのビジュアルサーボを行い、前記ロボットの制御信号を出力する処理部と、前記制御信号に基づいて、前記ロボットを制御するロボット制御部と、を含み、前記記憶部は、前記ロボットの作業対象が映る画像を第1の参照画像として記憶し、前記ロボットのアーム、前記ロボットのエンドエフェクター、及び前記ロボットが把持するワークのうちの少なくとも1つと、前記作業対象とが映る画像を、第2の参照画像として記憶し、前記処理部は、前記作業対象が映る第1の撮像画像と、前記第1の参照画像とに基づいて、第1のビジュアルサーボを行い、前記第1のビジュアルサーボの後、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とが映る第2の撮像画像と、前記第2の参照画像とに基づいて、第2のビジュアルサーボを行うロボット制御システムに関係する。
本発明の一態様では、第1の撮像画像と第1の参照画像とに基づいて、第1のビジュアルサーボを行い、第2の撮像画像の撮像時の環境を第2の参照画像の撮像時の環境に合わせる。そして、第2の撮像画像と第2の参照画像とに基づいて、第2のビジュアルサーボを行う。
これにより、参照画像と撮像画像の撮像時の環境が異なる場合に、ビジュアルサーボの制御精度を向上させることが可能になる。
また、本発明の一態様では、前記記憶部は、所与の撮像位置及び所与の撮像方向で前記作業対象を見た時の画像を、前記第1の参照画像として記憶し、前記所与の撮像位置及び前記所与の撮像方向で、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とを見た時の画像を、前記第2の参照画像として記憶し、前記処理部は、前記撮像部により前記作業対象を撮像することで得られる前記第1の撮像画像と、前記第1の参照画像とに基づいて、前記撮像部を前記所与の撮像位置に移動させ、前記撮像部を前記所与の撮像方向へ向けさせる前記第1のビジュアルサーボを行い、前記所与の撮像位置及び前記所与の撮像方向で、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とを、前記撮像部により撮像することで得られる前記第2の撮像画像と、前記第2の参照画像とに基づいて、前記第2のビジュアルサーボを行ってもよい。
これにより、撮像部の撮像位置及び撮像方向を、第2の参照画像の撮像時の撮像位置及び撮像方向と合わせて、第2のビジュアルサーボを行うこと等が可能になる。
また、本発明の一態様では、前記ロボットは、第1のアームと第2のアームとを有し、前記撮像部は、前記第1のアームに設けられ、前記第2の参照画像は、前記第2のアームと、前記第2のアームに設けられた前記エンドエフェクターと、前記第2のアームの前記エンドエフェクターが把持する前記ワークのうち、少なくとも1つが映る画像であってもよい。
これにより、第1のビジュアルサーボで第1のアームに設けられた撮像部を移動させること等が可能になり、第2のビジュアルサーボで第2のアームに設けられたエンドエフェクターを移動させること等が可能になる。
また、本発明の一態様では、前記処理部は、前記第1のビジュアルサーボが収束したか否かの判定処理を行い、前記第1のビジュアルサーボが収束したと判定した場合に、前記第2のビジュアルサーボを行ってもよい。
これにより、第2の参照画像と第2の撮像画像の撮像時の環境が一致したと判定できた場合に、第2のビジュアルサーボを行うこと等が可能になる。
また、本発明の一態様では、前記記憶部は、各第1の参照画像の撮像位置及び撮像方向が互いに異なる第1の参照画像群と、各第2の参照画像が前記各第1の参照画像に対応する第2の参照画像群とを記憶してもよい。
これにより、第1のビジュアルサーボと第2のビジュアルサーボを複数回行うこと等が可能になる。
また、本発明の一態様では、前記記憶部は、前記第1の参照画像群の各第1の参照画像に対応する前記撮像位置及び前記撮像方向を表す位置方向特定情報を記憶してもよい。
これにより、あらかじめ第1のビジュアルサーボを複数回行っておき、以後、必要に応じて、各第1の参照画像の撮像位置及び撮像方向に撮像部340を移動させること等が可能になる。
また、本発明の一態様では、前記記憶部は、各第2の参照画像の撮像位置及び撮像方向が互いに異なる第2の参照画像群を記憶し、前記処理部は、前記第2のビジュアルサーボを行った後に、前記第2の参照画像群のうち、前回の前記第2のビジュアルサーボで用いた第2の参照画像とは異なる第2の参照画像を用いて、前記第2のビジュアルサーボを行ってもよい。
これにより、第2の参照画像を切り替えて、再度第2のビジュアルサーボを行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記第2のビジュアルサーボを行った時に、前記第2のビジュアルサーボが収束したか否かの判定処理を行い、前記第2のビジュアルサーボが収束していないと判定した場合に、前回の前記第2のビジュアルサーボで用いた前記第2の参照画像とは異なる第2の参照画像を用いて、前記第2のビジュアルサーボを行ってもよい。
これにより、第2のビジュアルサーボが期待通りに収束しなかった場合に、他の第2の参照画像を用いて、第2のビジュアルサーボを行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記第2のビジュアルサーボを行った時に、前記第2のビジュアルサーボが収束したか否かの判定処理を行い、前記第2のビジュアルサーボが収束したと判定した場合に、前回の前記第2のビジュアルサーボで用いた前記第2の参照画像とは異なる第2の参照画像を用いて、前記第2のビジュアルサーボを行ってもよい。
これにより、第2のビジュアルサーボが期待通りに収束した場合に、他の位置から見ても第2のビジュアルサーボが期待通りに収束しているかの確認を行うこと等が可能になる。
また、本発明の一態様では、前記作業対象は、前記ロボットの作業対象物、作業場所及びマーカーのうちの少なくとも一つであってもよい。
これにより、作業対象がワーク以外の場合にも、第1のビジュアルサーボと第2のビジュアルサーボを行う本発明の手法を適用すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記ビジュアルサーボとして、前記撮像画像が前記参照画像に一致又は近づくように前記ロボットを制御する処理を行ってもよい。
これにより、撮像部が参照画像と同じ画像を撮像可能な位置に、撮像部を移動させ、ロボットを目標の姿勢にすること等が可能になる。
また、本発明の他の態様では、前記ロボット制御システムを含むロボットに関係する。
また、本発明の他の態様では、ロボットの目標状態を表す画像である第1の参照画像として、前記ロボットの作業対象が映る画像を記憶し、前記ロボットのアーム、前記ロボットのエンドエフェクター、及び前記ロボットが把持するワークのうちの少なくとも1つと、前記作業対象とが映る画像を、第2の参照画像として記憶し、前記作業対象が映る第1の撮像画像と、前記第1の参照画像とに基づいて、第1のビジュアルサーボを行い、前記第1のビジュアルサーボの後、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とが映る第2の撮像画像と、前記第2の参照画像とに基づいて、第2のビジュアルサーボを行うロボットに関係する。
また、本発明の他の態様では、上記各部としてコンピューターを機能させるプログラムに関係する。
また、本発明の他の態様では、ロボットの目標状態を表す画像である第1の参照画像として、前記ロボットの作業対象が映る画像を記憶し、前記ロボットのアーム、前記ロボットのエンドエフェクター、及び前記ロボットが把持するワークのうちの少なくとも1つと、前記作業対象とが映る画像を、第2の参照画像として記憶し、前記作業対象が映る第1の撮像画像と、前記第1の参照画像とに基づいて、前記ロボットの第1のビジュアルサーボを行い、前記ロボットの第1の制御信号を出力し、前記第1の制御信号に基づいて、前記ロボットを制御し、前記第1のビジュアルサーボの後、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とが映る第2の撮像画像と、前記第2の参照画像とに基づいて、第2のビジュアルサーボを行い、前記ロボットの第2の制御信号を出力し、前記第2の制御信号に基づいて、前記ロボットを制御するロボット制御方法に関係する。
本実施形態のシステム構成例。 図2(A)、図2(B)は、本実施形態のロボットの構成例。 位置ベースビジュアルサーボの処理の流れを説明するフローチャート。 図4(A)、図4(B)は参照画像と撮像画像の説明図。 特徴ベースビジュアルサーボの処理の流れを説明するフローチャート。 本実施形態の処理の概要を説明するフローチャート。 図7(A)〜図7(C)は、第1のビジュアルサーボと第2のビジュアルサーボの説明図。 図8(A)〜図8(D)は、作業対象物の隣にワークを置く処理の説明図。 図9(A)〜図9(D)は、ネジ穴にネジを入れる処理の説明図。 図10(A)〜図10(D)は、パレットにワークを置く処理の説明図。 図11(A)〜図11(D)は、コネクターを組み付ける処理の説明図。 本実施形態の変形例の処理の流れを説明するフローチャート。 第1の参照画像群の説明図。 第2の参照画像群の説明図。
以下、本実施形態について説明する。まず、本実施形態の概要を説明し、次にシステム構成例について説明する。そして、ビジュアルサーボの概要について説明した後で、フローチャート等を用いて本実施形態で行う処理の詳細について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.概要
近年、生産現場において、人が行ってきた作業を機械化・自動化するために、産業用ロボットを導入することが多くなってきた。しかし、ロボットのアームやハンド等の位置決めを行うにあたっては、精密なキャリブレーションが前提となり、ロボット導入の障壁となっている。
ここで、ロボットのアームやハンド等の位置決めを行う手法の一つとしてビジュアルサーボがある。ビジュアルサーボは、参照画像(ゴール画像、目標画像)と撮像画像(現在の画像)との差に基づいて、ロボットを制御する技術である。ある種のビジュアルサーボは、キャリブレーションに精密さを求めない点で有用であり、ロボット導入障壁を下げる技術として注目されている。
ここで、ビジュアルサーボに用いる参照画像は、あらかじめワーク等の作業対象等を撮像した画像である。一方で、撮像画像は、ロボットを実際に動作させる際に現在の様子を撮像した画像である。
このように、参照画像と撮像画像では撮像タイミングが異なるため、参照画像を撮像した時の環境と、撮像画像を撮像した時の環境が異なることも多い。そして、このような場合には、ビジュアルサーボが上手く収束しないことがある。ここで、撮像時の環境とは、撮像部の撮像位置及び撮像方向や、ワーク等の作業対象の位置及び向き等、言い換えれば作業対象と撮像部との相対的な位置及び方向などのことを指す。
例えば、ビジュアルサーボによって、机の上に置かれた第1のワークの隣に、ロボットが把持している第2のワークを置く作業を考える。この時に、参照画像を撮像した時の撮像部の撮像位置及び撮像方向と、撮像画像を撮像する時の撮像部の撮像位置及び撮像方向が異なる場合には、撮像画像と参照画像とにおいて第1のワークが互いに異なる位置に、異なる角度で映ることになる。また、撮像位置及び撮像方向は変わらないが、第1のワークの位置及び方向の少なくとも一方が変わってしまった場合も同様である。このような場合には、ビジュアルサーボによって第1のワークの隣に第2のワークを正確に置くことは難しくなる。
本来であれば、ビジュアルサーボに用いる参照画像と撮像画像の撮像時の環境は変化しないことが好ましいが、実際には変化してしまうことが多い。
そこで、本実施形態では、双腕のロボットを用いて、2段階に分けてビジュアルサーボを行う。本実施形態のロボットの第1のアームには、撮像部が設けられており、第2のアームにはエンドエフェクターが設けられている。そして、第1のビジュアルサーボと第2のビジュアルサーボを続けて行う。ここで、第1のビジュアルサーボは、撮像部が設けられた第1のアームを動作させるものであり、第2のビジュアルサーボは、エンドエフェクター又は第2のアームを動作させるものである。そして、第2のビジュアルサーボを正確に行うために、第1のビジュアルサーボでは、作業対象と撮像部との相対的な位置及び方向が、第2のビジュアルサーボで用いる参照画像の撮影時における相対的な位置及び方向と、同じになるように、第1のアームに設けられた撮像部を移動させる。
これにより、第2のビジュアルサーボで用いる参照画像と撮像画像において、作業対象と撮像部との相対的な位置及び方向を一致させることが可能になる。その結果、参照画像と撮像画像の撮像時の環境が異なる場合に、ビジュアルサーボの制御精度を向上させることが可能になる。
2.システム構成例
次に、本実施形態のロボット制御システム10及びロボット30の構成例を図1に示す。
ロボット制御システム10は、処理部110と、ロボット制御部120と、記憶部130と、I/F部(入力部)140と、を含む。なお、ロボット制御システム10は、図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
次に、ロボット制御システム10の各部で行われる処理について説明する。
処理部110は、後述する撮像部340から得られる撮像画像と、後述する記憶部130から取得される参照画像とに基づいて、ロボット30のビジュアルサーボを行い、ロボット30の制御信号を出力する。
次に、ロボット制御部120は、制御信号に基づいて、ロボット30を制御する。なお、処理部110と、ロボット制御部120の機能は、各種プロセッサー(CPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムなどにより実現できる。
そして、記憶部130は、ロボット30の目標状態を表す画像である参照画像を記憶したり、処理部110やロボット制御部120のワーク領域となったりするもので、その機能はRAM等のメモリーやHDD(ハードディスクドライブ)などにより実現できる。
さらに、入力部(I/F部)140は、ロボット制御システム10に対する作業者からの入力を受け付けたり、ロボット制御システム10とロボット30間で情報をやり取りしたりするためのインターフェースである。作業者からの入力等を受け付ける場合には、入力部(I/F部)240は、スイッチやボタン、キーボード或いはマウス等から構成されてもよい。また、ロボット制御システム10とロボット30間で情報をやり取りする場合には、入力部(I/F部)240は、ネットワークを介して通信を行う通信部であってもよい。
また、図1に示すように、ロボット30は、制御部310と、第1のアーム320と、第2のアーム330と、撮像部340と、エンドエフェクター350と、を含む。さらに、図2(A)及び図2(B)に示すように、ロボット30では、第1のアーム320に撮像部340が設けられ、第2のアーム330にエンドエフェクター350が設けられる。なお、ロボット30は、図1、図2(A)及び図2(B)の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。例えば、第1のアーム320のエンドポイント以外の位置に撮像部340が設けられても良いし、第1のアーム320と第2のアーム330の両方に撮像部340が設けられても良い。
次に、ロボット制御システム10の各部で行われる処理について説明する。
また、制御部310は、ロボット制御部120からの情報に基づいて、ロボット30の各部(第1のアーム320、第2のアーム330、撮像部340及びエンドエフェクター350等)の制御を行う。
本実施形態のロボット30は双腕のロボットであり、ロボット30には、第1のアーム320と、第1のアーム320とは異なる第2のアーム330が設けられている。ここで、アームとは、ロボット30のパーツであって、一つ以上の関節を含む可動パーツのことをいう。
さらに、撮像部340は、ロボット30の作業現場等を撮像し、制御部310とI/F部140を介して処理部110に撮像画像を出力する。例えば撮像部340は、可視カメラであってもよいし、赤外線カメラであってもよい。さらに、例えば可視カメラは、撮像素子としてCCDやCMOSを用いるカメラであっても良く、また、白黒カメラであっても、カラーカメラであっても良い。白黒カメラを使う場合には、撮像画像として濃淡画像が撮像され、カラーカメラを使う場合には、撮像画像として色画像が撮像される。なお、可視カメラ及び赤外線カメラは、画像処理用等に用いられるデバイス(プロセッサー)を含んでもよい。本実施形態においては、撮像部340は撮像画像そのものを出力するが、これに限定されるものではない。例えば、処理部110において行う画像処理の一部を、撮像部340が行っても良い。その場合、撮像画像に対して、画像処理が施された後の撮像情報が処理部110に出力されることになる。
また、エンドエフェクター350は、アームのエンドポイントに設けられる把持部又はツールのことをいう。
ここで、把持部とは、ワークを把持したり、持ち上げたり、吊り上げたり、吸着させたりするために用いる部品のことをいう。把持部は、ハンドであってもよいし、フックであってもよいし、吸盤等であってもよい。なお、1本のアームに対して、複数のハンドを設けても良い。
また、ツールとは、ワークや作業対象に対して加工等の作業を行うための道具であって、例えばドリルやドライバーなどの工具を指す。なお、ツールは、ハンドにより把持されるものであってもよいし、アームのエンドポイントに直接設けられるものであってもよい。ここで、アームのエンドポイントとは、アームの先端部分のポイントであって、ロボット30のハンド以外の他の部分と接続されていない部分のことをいう。
次に、ロボット制御システム10とロボット30の一例を図2(A)及び図2(B)に示す。例えば図2(A)のロボット30では、ロボット本体30(ロボット)とロボット制御システム10とが一体に構成されている。しかし、本実施形態のロボット制御システム10及びロボット30は図2(A)の構成に限定されず、図2(B)のようにロボット本体30とロボット制御システム10とが別体に構成されていてもよい。具体的には図2(A)に示したように、ロボット30は、ロボット本体(第1のアーム320、第2のアーム330、撮像部340及びエンドエフェクター350を有する)及びロボット本体を支えるベースユニット部を有し、当該ベースユニット部にロボット制御システム10が格納されるものであってもよい。図2(A)のロボット30には、ベースユニット部に車輪等が設けられ、ロボット全体が移動可能な構成となっている。なお、図2(A)のロボット30は双腕型の例であるが、ロボット30は単腕型や多腕型のロボットであってもよい。なお、ロボット30は、人手により移動させられるものであってもよいし、車輪を駆動するモーターを設け、当該モーターをロボット制御システム10により制御することにより、移動させられるものであってもよい。また、ロボット制御システム10は、図2(A)のようにロボット30の下に設けられたベースユニット部に設けられるとは限られない。
3.ビジュアルサーボの概要
本実施形態の処理の詳細を説明する前に、ビジュアルサーボの概要と、位置ベースビジュアルサーボの流れ、特徴ベースビジュアルサーボの流れについて説明する。
ビジュアルサーボとは、目標物の位置の変化を視覚情報として計測し、それをフィードバック情報として用いることによって目標物を追跡するサーボ系の一種である。ビジュアルサーボは、サーボ系への入力情報(制御量)によって、位置ベースビジュアルサーボと特徴ベースビジュアルサーボの二つに大別される。位置ベースビジュアルサーボは、物体の位置情報や姿勢情報がサーボ系への入力情報となり、特徴ベースビジュアルサーボは、画像の特徴量がサーボ系への入力情報となる。他にも、位置ベースと特徴ベースをハイブリッドした手法もある。本発明で扱うビジュアルサーボは、これら全ての手法を対象とする。
これらのビジュアルサーボは、参照画像と撮像画像を元にサーボ系への入力情報を求める点で共通している。
3.1 位置ベースビジュアルサーボの流れ
まず、図3のフローチャートにおいて、位置ベースビジュアルサーボの流れを示す。位置ベースビジュアルサーボでは、まず参照画像を設定する(S1)。ここで、参照画像とは、目標画像やゴール画像とも呼ばれ、ビジュアルサーボの制御目標となる画像であり、ロボット30の目標状態を表す画像をいう。すなわち、参照画像とは、ロボット30の目標位置や目標姿勢を表す画像、もしくはロボット30が目標位置に位置する状態を表す画像である。また、参照画像はあらかじめ用意しておき、記憶部130に記憶しておく必要がある。
次に、撮像部340によって作業スペースを撮像し、撮像画像を取得する(S2)。撮像画像とは、撮像部340によって撮像された画像である。撮像画像は、作業スペースの現在の状態を表しており、撮像画像内にロボット30やワークが映りこんでいる場合には、ロボット30やワークの現在の状態を表している。なお、撮像部340の性能によっては処理遅延が生じるが、ここでは、処理遅延が生じている場合でも、撮像画像には現在の状態が映されているものとして扱う。
例えば、図4(A)に参照画像RIMの具体例を、図4(B)に撮像画像PIMの具体例を示す。撮像画像PIMにおいて、ロボットRBはアームAMとハンドHD(もしくはエンドポイントEP)を上方へ向けているが、参照画像RIMでは、ロボットRBはアームAMを折り曲げて、ハンドHDをワークWKに近づけている。したがって、この具体例においては、ロボットRBのアームAMを折り曲げ、ハンドHDをワークWKに近づけるようにロボットRBを制御することになる。
次に、制御指令を生成する(S3)。例えば、制御指令生成は、参照画像と撮像画像に基づいて、座標変換の一つであるホモグラフィー等を用いることにより行われる。この場合には、ホモグラフィー行列を求め、ホモグラフィー行列からロボット30の制御信号として速度指令を生成する。
ここで、制御信号(制御指令)とは、ロボット30を制御するための情報を含む信号のことをいう。例えば、制御信号としては速度指令などがある。また、速度指令とは、ロボット30の各部を制御するための情報として、ロボット30のアーム320のエンドポイント等の移動速度や回転速度を与える指令の方法を指す。
そして、生成された制御信号に基づいて、制御量(ここではロボット30の位置や姿勢)が目標値に収束したか否かを判断する(S4)。例えば、ホモグラフィーを用いる場合において、速度指令により表される速度ベクトルが0である場合には、制御量である位置や姿勢が目標状態に到達したとみなすことができるため、制御量が目標値に収束したと判断し、速度ベクトルが0でない場合には、制御量が目標値に収束していないと判断する。ここで、収束とは、目標値に限りなく近づくこと、又は目標値に到達することを意味する。
制御量が目標値に収束したと判断する場合にはビジュアルサーボを終了する。一方、制御量が目標値に収束していないと判断する場合には、処理部110はロボット制御部120に制御指令を送出する(S5)。
位置ベースビジュアルサーボでは、制御量が目標値に収束するまで以上の処理を繰り返す。
3.2 特徴ベースビジュアルサーボの流れ
次に、図5のフローチャートにおいて、特徴ベースビジュアルサーボの流れを示す。位置ベースビジュアルサーボと同様に、まず参照画像を設定し(S10)、次に、撮像部340によって作業スペースを撮像し、撮像画像を取得する(S11)。なお、特徴ベースビジュアルサーボを用いる場合には、参照画像を設定する際に参照画像の特徴抽出を行い、特徴量を算出しておくことが望ましい。または、参照画像の特徴を抽出した参照画像情報を記憶部130に記憶しておいてもよい。画像の特徴抽出については、例えば、コーナー検出やガウスフィルタ等を用いて行なう。
次に、撮像画像の特徴を抽出する(S12)。なお、参照画像の特徴抽出は、参照画像設定の際に行っておくことが望ましいが、本ステップで行ってもよい。特徴抽出では、ビジュアルサーボ系への入力情報(制御量)として、画像の特徴量を求める。
そして、画像の特徴量に基づいて、参照画像と撮像画像が一致するか否かを比較する(S13)。画像が一致すると判断する場合(S14)には、ビジュアルサーボを終了する。一方、画像が一致しないと判断する場合(S14)には、制御指令を生成し(S15)、ロボット制御部120に制御指令を送出する(S16)。
特徴ベースビジュアルサーボでは、制御量が目標値に収束するまで以上の処理を繰り返す。
4.処理の詳細
本実施形態のロボット制御システム10は、ロボット30の目標状態を表す画像である参照画像を記憶する記憶部130と、撮像部340から得られる撮像画像と参照画像とに基づいて、ロボット30のビジュアルサーボを行い、ロボット30の制御信号を出力する処理部110と、制御信号に基づいて、ロボット30を制御するロボット制御部120と、を含む。そして、記憶部130は、ロボット30の作業対象が映る画像を第1の参照画像として記憶し、ロボット30のアーム、ロボット30のエンドエフェクター350、及びロボット30が把持するワークのうちの少なくとも1つと、作業対象とが映る画像を、第2の参照画像として記憶する。さらに、処理部110は、作業対象が映る第1の撮像画像と、第1の参照画像とに基づいて、第1のビジュアルサーボを行い、第1のビジュアルサーボの後、アーム、エンドエフェクター350及びワークのうちの少なくとも1つと、作業対象とが映る第2の撮像画像と、第2の参照画像とに基づいて、第2のビジュアルサーボを行う。
ここで、本実施形態の処理の概要について、図6のフローチャートと、図7(A)〜図7(C)と、図8(A)〜図8(D)とを用いて説明する。ここでは具体的に、図7(A)に示すように、ビジュアルサーボによって、机の上に置かれた作業対象物(ワーク)OBの隣に、ハンドHDが把持するワークWKを置く作業を考える。
処理部110は、ビジュアルサーボとして、撮像画像が参照画像に一致又は近づくようにロボット30を制御する処理を行ってもよい。
これにより、撮像部340が参照画像と同じ画像を撮像可能な位置に、撮像部を移動させ、ロボット30を目標の姿勢にすることが可能になる。すなわち、ロボット30が目標姿勢をとっている状態で撮像可能な画像を参照画像としておき、参照画像と一致又は近い撮像画像を撮像できるようにロボット30を制御すれば、ロボット30が目標姿勢をとるように制御することが可能になる。
具体的には、まず図7(B)に示すように、第1のビジュアルサーボを行い、作業対象物OBが第1の参照画像RIM1と同じ位置、かつ同じ角度で映るように、第1のアームAM1に設けられた撮像部(カメラ)CMを移動させる(S101)。
ここで、第1のビジュアルサーボは、図8(A)に示すような第1の撮像画像PIM1と、図8(B)に示すような第1の参照画像RIM1とを比較することにより行われる。なお、第1の撮像画像とは、第1のビジュアルサーボにおいて用いる撮像画像であり、第1の参照画像とは、第1のビジュアルサーボにおいて用いる参照画像である。ここでは、第1の参照画像は、あらかじめ撮像部により撮像された画像であるものとして説明するが、第1の参照画像は、CG画像であってもよい。
そして、第1のビジュアルサーボが収束したか否かを判定する(S102)。第1のビジュアルサーボが期待通りに収束した場合、第1の撮像画像には、作業対象物OBが図8(B)と同じような位置及び角度で映るようになる。第1のビジュアルサーボが収束していないと判定した場合には、第1のビジュアルサーボを継続する。
一方で、第1のビジュアルサーボが収束したと判定した場合には、図7(C)に示すように、第2のビジュアルサーボを行う(S103)。
ここで、第2のビジュアルサーボは、図8(C)に示すような第2の撮像画像PIM2と、図8(D)に示すような第2の参照画像RIM2とを比較することにより行われる。なお、第2の撮像画像は、第2のビジュアルサーボにおいて用いる撮像画像であり、第2の参照画像は、第2のビジュアルサーボにおいて用いる参照画像である。第2の参照画像も、第1の参照画像と同様にCG画像であってもよい。
そして、第2のビジュアルサーボでは、ワークWK、アーム及びエンドエフェクターのうち少なくとも一つと、作業対象物OBとが、第2の参照画像RIM2と同じ位置及び角度で映るように、第2のアームAM2を移動させ、ハンドHDが把持するワークWKを作業対象物OBの隣に置く。
このように、第1のビジュアルサーボを行うことによって、第2のビジュアルサーボで用いる参照画像と撮像画像において、撮像時の環境、すなわち作業対象と撮像部との相対的な位置及び方向を一致させることが可能になる。
その結果、参照画像と撮像画像の撮像時の環境が異なる場合に、ビジュアルサーボの制御精度を向上させることが可能になる。すなわち、ロボットを実際に動作させる時の作業対象と撮像部との相対的な位置及び方向が、参照画像の撮影時における相対的な位置及び方向と異なる場合に、ビジュアルサーボの制御精度を向上させることが可能になる。
また、撮像画像と参照画像の撮像時の環境が変わる例としては、作業対象やワークの位置は変わらないが、撮像部の撮像位置又は撮像方向が異なる場合と、撮像部の撮像位置及び撮像方向は変わらないが、作業対象やワークの位置が異なる場合の二つがある。前述したように、このような場合には、ビジュアルサーボの制御精度が低下してしまう。
そこで、作業対象やワークの位置は変わらないが、撮像部の撮像位置又は撮像方向が異なる場合には、第1のビジュアルサーボによって、撮像部の撮像位置又は撮像方向を参照画像の撮像時と合わせれば良い。
すなわち、記憶部130は、所与の撮像位置及び所与の撮像方向で作業対象を見た時の画像を、第1の参照画像として記憶し、所与の撮像位置及び所与の撮像方向で、アーム、エンドエフェクター350及びワークのうちの少なくとも1つと、作業対象とを見た時の画像を、第2の参照画像として記憶してもよい。そして、処理部110は、撮像部340により作業対象を撮像することで得られる第1の撮像画像と、第1の参照画像とに基づいて、撮像部340を所与の撮像位置に移動させ、撮像部340を所与の撮像方向へ向けさせる第1のビジュアルサーボを行い、所与の撮像位置及び所与の撮像方向で、アーム、エンドエフェクター350及びワークのうちの少なくとも1つと、作業対象とを、撮像部340により撮像することで得られる第2の撮像画像と、第2の参照画像とに基づいて、第2のビジュアルサーボを行ってもよい。
これにより、撮像部340の撮像位置及び撮像方向を、第2の参照画像の撮像時の撮像位置及び撮像方向と合わせて、第2のビジュアルサーボを行うこと等が可能になる。
また、ロボット30は、第1のアーム320と第2のアーム330とを有してもよい。そして、撮像部340は、第1のアーム320に設けられてもよい。さらに、第2の参照画像は、第2のアーム330と、第2のアーム330に設けられたエンドエフェクター350と、第2のアーム330のエンドエフェクター350が把持するワークのうち、少なくとも1つが映る画像であってもよい。
これにより、第1のビジュアルサーボで第1のアーム320に設けられた撮像部340を移動させること等が可能になり、第2のビジュアルサーボで第2のアーム330に設けられたエンドエフェクター350を移動させること等が可能になる。
また、処理部110は、第1のビジュアルサーボが収束したか否かの判定処理を行い、第1のビジュアルサーボが収束したと判定した場合に、第2のビジュアルサーボを行ってもよい。
これにより、第2の参照画像と第2の撮像画像の撮像時の環境が一致したと判定できた場合に、第2のビジュアルサーボを行うこと等が可能になる。
ここで、作業対象は、ロボット30の作業対象物、作業場所及びマーカーのうちの少なくとも一つであってもよい。
また、作業対象物とは、例えばワーク、パレット、ロボット30のアーム及びエンドエフェクター350等を指す。一方で、作業場所とは、机や穴や壁などを指す。
図8(A)〜図8(D)の例では、作業対象はワークOBであったが、その他の具体例を図9(A)〜図9(D)、図10(A)〜図10(D)、図11(A)〜図11(D)に示す。なお、図9(A)、図10(A)及び図11(A)は第1の撮像画像PIM1を、図9(B)、図10(B)及び図11(B)は第1の参照画像RIM1を、図9(C)、図10(C)及び図11(C)は第2の撮像画像PIM2を、図9(D)、図10(D)及び図11(D)は第2の参照画像RIM2を、それぞれ表す。
まず、図9(A)〜図9(D)には、作業対象がネジ穴HLであり、エンドエフェクターEFが吸着しているネジSCをネジ穴HLに差し込む作業を行う例を示す。この場合には、始めに撮像部340とネジ穴HLとの相対的な位置及び方向を合わせる必要がある。従って、図9(A)の第1の撮像画像PIM1が、図9(B)の第1の参照画像RIM1と同じ画像になるように、第1のビジュアルサーボを行い、撮像部340を移動させる。そして、撮像部340を移動させた後に、ネジ穴HLとネジSCの現在の位置関係を表す図9(C)の第2の撮像画像PIM2を撮像し、あらかじめ撮像しておいた図9(D)の第2の参照画像RIM2と比較して、第2のビジュアルサーボを行い、第2の参照画像RIM2に示すような位置に、ネジSCを移動させる。
次に、図10(A)〜図10(D)には、作業対象がパレットPTであり、ワークWKをパレットPTに入れる作業を行う例を示す。この場合も、図10(A)の第1の撮像画像PIM1と、図10(B)の第1の参照画像RIM1とに基づいて、撮像部340とパレットPTとの相対的な位置及び方向を合わせるための第1のビジュアルサーボを行う。そしてその後に、図10(C)の第2の撮像画像PIM2と図10(D)の第2の参照画像RIM2とに基づいて、ワークWKをパレットPTに置くための第2のビジュアルサーボを行う。
さらに、図11(A)〜図11(D)には、作業対象がコネクターの一端CN1であり、コネクターの他端CN2をコネクターの一端CN1に組み付ける作業を行う例を示す。この場合も、図11(A)の第1の撮像画像PIM1と、図11(B)の第1の参照画像RIM1とに基づいて、撮像部340とコネクターの一端CN1との相対的な位置及び方向を合わせるための第1のビジュアルサーボを行う。そしてその後に、図11(C)の第2の撮像画像PIM2と図11(D)の第2の参照画像RIM2とに基づいて、コネクターの一端CN1にコネクターの他端CN2を組み付けるための第2のビジュアルサーボを行う。
これにより、作業対象がワーク以外の場合にも、第1のビジュアルサーボと第2のビジュアルサーボを行う手法を適用すること等が可能になる。
また、図6のフローチャート等を用いてこれまで説明してきた処理では、第1のビジュアルサーボと、第2のビジュアルサーボをそれぞれ一回ずつ行っているが、本実施形態はこれに限定されず、第1のビジュアルサーボと第2のビジュアルサーボをそれぞれ複数回行っても良い。
例えば、第2のビジュアルサーボが正しく収束したと判定した際に、他の位置から見た場合にも第2のビジュアルサーボが正しく収束しているか否かを判定する必要がある場合もある。この場合には、第1のビジュアルサーボをあらかじめ複数回を行っておき、第1のビジュアルサーボ後の撮像部の各位置における第1のアームのエンコーダー値を取得しておく。そして、第2のビジュアルサーボの収束判定時に、記憶しておいたエンコーダー値に基づいて、撮像部の撮像位置及び撮像方向を変更してもよい。
また、第2のビジュアルサーボが正しく収束しないと判定した場合には、第2の参照画像を、例えばアームの目標位置が異なる他の第2の参照画像や、目標位置は変わらないが、他の撮像位置及び撮像方向で撮像された第2の参照画像に変更して、再度第2のビジュアルサーボを行っても良い。
ここで、このような処理を行う場合の処理の流れを、図12のフローチャートを用いて詳細に説明する。
まず、複数の第1の参照画像(第1の参照画像群)を取得する(S201)。ここで、取得する第1の参照画像群のうちの各第1の参照画像は、互いに異なる撮像位置及び撮像方向で作業対象を見た時の画像である。例えば、図13に示すように、撮像部CM1から作業対象物OBを撮像して得られる第1の参照画像RIM11と、撮像部CM2から作業対象物OBを撮像して得られる第1の参照画像RIM12と、撮像部CM3から作業対象物OBを撮像して得られる第1の参照画像RIM13と、を取得する。なお、撮像部CM1〜CM3は、図示及び説明の都合上、別々の撮像部であるように記載するが、撮像部CM1〜CM3は別々の撮像部であってもよいし、撮像位置及び撮像方向が変更された同一の撮像部であってもよい。また、前述したように、第1の参照画像RIM11〜RIM13は、撮像部CM1〜CM3のそれぞれの位置から作業対象物OBを見た時のCG画像であってもよい。
次に、第1の参照画像群の中から処理対象の第1の参照画像を選択する(S202)。図13の例では、例えば処理対象の第1の参照画像として画像RIM11を選択する。
そして、ステップS202で選択した第1の参照画像と、撮像部から取得される第1の撮像画像とに基づいて、第1のビジュアルサーボを行って、撮像部を移動する(S203)。図13の例では、実際の撮像部TCMにより撮像される第1の撮像画像PIM1が、選択された第1の参照画像RIM11と同じ画像になるように、撮像部TCMを矢印YJのように移動させる。
そして、第1のビジュアルサーボが収束したか否か判定する(S204)。第1のビジュアルサーボが収束していないと判定した場合には、第1のビジュアルサーボを継続する。
一方で、第1のビジュアルサーボが収束したと判定した場合には、現在の第1のアームのエンコーダー値を記憶する(S205)。前述した図13の例では、撮像部CM1の撮像位置及び撮像方向を表すエンコーダー値を記憶する。
そして、第1の参照画像群のうちの全ての第1の参照画像について、ステップS203〜ステップS205の処理を行ったか否かを判定する(S206)。第1の参照画像群のうちの全ての第1の参照画像について、ステップS203〜ステップS205の処理を行っていないと判定する場合には、ステップS202の処理に戻る。図13の例では、撮像部CM2と撮像部CM3の撮像位置及び撮像方向を表す第1のアームのエンコーダー値を取得するまで、これを繰り返す。
一方、第1の参照画像群のうちの全ての第1の参照画像について、ステップS203〜ステップS205の処理を行ったと判定した場合には、記憶した第1のアームのエンコーダー値のうちのいずれかを選択し、選択したエンコーダー値に基づいて第1のアームを動作させ、撮像部を移動させる(S207)。ここで、図13の例では、撮像部TCMを撮像部CM2の位置に移動させるものとする。
次に、複数の第2の参照画像(第2の参照画像群)を取得する(S208)。例えば、図14に示すように、撮像部CM1から作業対象物OBとワークWKを撮像して得られる第2の参照画像RIM21と、撮像部CM2から作業対象物OBとワークWKを撮像して得られる第2の参照画像RIM22と、撮像部CM3から作業対象物OBとワークWKを撮像して得られる第2の参照画像RIM23と、を取得する。なお、図13の撮像部CM1〜CM3の撮像位置及び撮像方向と、図14の撮像部CM1〜CM3の撮像位置及び撮像方向は、それぞれ同じであるものとする。また、前述したように、第2の参照画像RIM21〜RIM23も、撮像部CM1〜CM3の位置から作業対象物OBとワークWKを見た時のCG画像であってもよい。
次に、第2のビジュアルサーボにおいて使用する第2の参照画像を取得する(S209)。ここで、取得する第2の参照画像は、ステップS207で移動した撮像部の撮像位置及び撮像方向で撮像された画像である。従って、前述した例では撮像部CM2から撮像された第2の参照画像RIM22を取得する。
そして、取得した第2の参照画像と、第2の撮像画像とに基づいて、第2のビジュアルサーボを行い、第2のアームを移動し(S210)、第2のビジュアルサーボが収束したか否かを判定する(S211)。前述した例では、第2のビジュアルサーボが期待通りに収束した場合には、第2の撮像画像PIM2に映る作業対象物OBとワークWKは、第2の参照画像RIM22に示すような状態になる。
ここで、第2のビジュアルサーボが収束していないと判定した場合には、このまま第2のビジュアルサーボを継続しても第2のアームを目標位置に移動させることができないと判断し、他の第2の参照画像を用いて第2のビジュアルサーボを行うことを試みる。そのため、記憶した別の位置へ撮像部を移動させ(S212)、ステップS209の処理へ戻る。
例えば、第2の参照画像RIM21を用いて、第2のビジュアルサーボを行うために、撮像部TCMを撮像部CM1の位置へ移動させる。この場合には、ステップS209では、ステップS212で移動させた撮像部の撮像位置及び撮像方向で撮像された第2の参照画像RIM21を取得する。なお、ここでは同一の目標位置を表す他の第2の参照画像を用いる例について説明するが、前述したように、異なる目標位置を表す他の第2の参照画像を用いてもよい。
一方で、例えば、撮像部CM1の位置から第2のビジュアルサーボが収束していると判定されても、撮像部CM3の位置から見ると、作業対象物OBとワークWKの位置がずれている場合がある。そのため、様々な位置及び方向から、第2のビジュアルサーボが期待通りに収束しているかを判定できることが好ましい。
そこで、第2のビジュアルサーボが収束したと判定した場合には、記憶した別の位置へ撮像部を移動させる(S213)。そして、別の位置からでも、第2のビジュアルサーボが収束しているか否かを判定し(S214)、第2のビジュアルサーボが収束していないと判定した場合には、ステップS213の処理へ戻る。
一方で、第2のビジュアルサーボが収束していると判定した場合には、処理を終了する。
以上のように、記憶部130は、各第1の参照画像の撮像位置及び撮像方向が互いに異なる第1の参照画像群と、各第2の参照画像が各第1の参照画像に対応する第2の参照画像群とを記憶してもよい。
これにより、第1のビジュアルサーボと第2のビジュアルサーボを複数回行うこと等が可能になる。
また、記憶部130は、第1の参照画像群の各第1の参照画像に対応する撮像位置及び撮像方向を表す位置方向特定情報を記憶してもよい。
これにより、あらかじめ第1のビジュアルサーボを複数回行っておき、以後、必要に応じて、各第1の参照画像の撮像位置及び撮像方向に撮像部340を移動させること等が可能になる。
また、記憶部130は、各第2の参照画像の撮像位置及び撮像方向が互いに異なる第2の参照画像群を記憶してもよい。そして、処理部110は、第2のビジュアルサーボを行った後に、第2の参照画像群のうち、前回の第2のビジュアルサーボで用いた第2の参照画像とは異なる第2の参照画像を用いて、第2のビジュアルサーボを行ってもよい。
これにより、第2の参照画像を切り替えて、再度第2のビジュアルサーボを行うこと等が可能になる。
また、処理部110は、第2のビジュアルサーボを行った時に、第2のビジュアルサーボが収束したか否かの判定処理を行い、第2のビジュアルサーボが収束していないと判定した場合に、前回の第2のビジュアルサーボで用いた第2の参照画像とは異なる第2の参照画像を用いて、第2のビジュアルサーボを行ってもよい。
これにより、第2のビジュアルサーボが期待通りに収束しなかった場合に、他の第2の参照画像を用いて、第2のビジュアルサーボを行うこと等が可能になる。
また、処理部110は、第2のビジュアルサーボを行った時に、第2のビジュアルサーボが収束したか否かの判定処理を行い、第2のビジュアルサーボが収束したと判定した場合に、前回の第2のビジュアルサーボで用いた第2の参照画像とは異なる第2の参照画像を用いて、第2のビジュアルサーボを行ってもよい。
これにより、第2のビジュアルサーボが期待通りに収束した場合に、他の位置から見ても第2のビジュアルサーボが期待通りに収束しているかの確認を行うこと等が可能になる。
なお、本実施形態のロボット制御システム10及びロボット30等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態のロボット制御システム10及びロボット30等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、ロボット制御システム、ロボット及びプログラム等の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
10 ロボット制御システム、30 ロボット(ロボット本体)、110 処理部、
120 ロボット制御部、130 記憶部、140 I/F部(入力部)、
310 制御部、320 第1のアーム、330 第2のアーム、340 撮像部、
350 エンドエフェクター

Claims (14)

  1. ロボットの目標状態を表す画像である参照画像を記憶する記憶部と、
    撮像部から得られる撮像画像と前記参照画像とに基づいて、前記ロボットのビジュアルサーボを行い、前記ロボットの制御信号を出力する処理部と、
    前記制御信号に基づいて、前記ロボットを制御するロボット制御部と、
    を含み、
    前記記憶部は、
    前記ロボットの作業対象が映る第1の参照画像であって、前記第1の参照画像の撮像位置及び撮像方向が互いに異なる前記第1の参照画像を第1の参照画像群として記憶し、
    前記ロボットのアーム、前記ロボットのエンドエフェクター、及び前記ロボットが把持するワークのうちの少なくとも1つと、前記作業対象とが映る第2の参照画像であって、前記第1の参照画像に対応する前記第2の参照画像を第2の参照画像群として記憶し、
    前記処理部は、
    前記作業対象が映る第1の撮像画像と、前記第1の参照画像とに基づいて、第1のビジュアルサーボを行い、
    前記第1のビジュアルサーボの後、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とが映る第2の撮像画像と、前記第2の参照画像とに基づいて、第2のビジュアルサーボを行うことを特徴とするロボット制御システム。
  2. 請求項1において、
    前記記憶部は、
    所与の撮像位置及び所与の撮像方向で前記作業対象を見た時の画像を、前記第1の参照画像として記憶し、
    前記所与の撮像位置及び前記所与の撮像方向で、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とを見た時の画像を、前記第2の参照画像として記憶し、
    前記処理部は、
    前記撮像部により前記作業対象を撮像することで得られる前記第1の撮像画像と、前記第1の参照画像とに基づいて、前記撮像部を前記所与の撮像位置に移動させ、前記撮像部を前記所与の撮像方向へ向けさせる前記第1のビジュアルサーボを行い、
    前記所与の撮像位置及び前記所与の撮像方向で、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とを、前記撮像部により撮像することで得られる前記第2の撮像画像と、前記第2の参照画像とに基づいて、前記第2のビジュアルサーボを行うことを特徴とするロボット制御システム。
  3. 請求項1又は2において、
    前記ロボットは、
    第1のアームと第2のアームとを有し、
    前記撮像部は、
    前記第1のアームに設けられ、
    前記第2の参照画像は、
    前記第2のアームと、前記第2のアームに設けられた前記エンドエフェクターと、前記第2のアームの前記エンドエフェクターが把持する前記ワークのうち、少なくとも1つが映る画像であることを特徴とするロボット制御システム。
  4. 請求項1乃至3のいずれかにおいて、
    前記処理部は、
    前記第1のビジュアルサーボが収束したか否かの判定処理を行い、前記第1のビジュアルサーボが収束したと判定した場合に、前記第2のビジュアルサーボを行うことを特徴とするロボット制御システム。
  5. 請求項1乃至4のいずれかにおいて、
    前記記憶部は、
    前記第1の参照画像群の各第1の参照画像に対応する前記撮像位置及び前記撮像方向を表す位置方向特定情報を記憶することを特徴とするロボット制御システム。
  6. 請求項1乃至4のいずれかにおいて、
    前記記憶部は、
    各第2の参照画像の撮像位置及び撮像方向が互いに異なる第2の参照画像群を記憶し、
    前記処理部は、
    前記第2のビジュアルサーボを行った後に、前記第2の参照画像群のうち、前回の前記第2のビジュアルサーボで用いた第2の参照画像とは異なる第2の参照画像を用いて、前記第2のビジュアルサーボを行うことを特徴とするロボット制御システム。
  7. 請求項6において、
    前記処理部は、
    前記第2のビジュアルサーボを行った時に、前記第2のビジュアルサーボが収束したか否かの判定処理を行い、
    前記第2のビジュアルサーボが収束していないと判定した場合に、前回の前記第2のビジュアルサーボで用いた前記第2の参照画像とは異なる第2の参照画像を用いて、前記第2のビジュアルサーボを行うことを特徴とするロボット制御システム。
  8. 請求項6又は7において、
    前記処理部は、
    前記第2のビジュアルサーボを行った時に、前記第2のビジュアルサーボが収束したか否かの判定処理を行い、
    前記第2のビジュアルサーボが収束したと判定した場合に、前回の前記第2のビジュアルサーボで用いた前記第2の参照画像とは異なる第2の参照画像を用いて、前記第2のビジュアルサーボを行うことを特徴とするロボット制御システム。
  9. 請求項1乃至8のいずれかにおいて、
    前記作業対象は、
    前記ロボットの作業対象物、作業場所及びマーカーのうちの少なくとも一つであることを特徴とするロボット制御システム。
  10. 請求項1乃至9のいずれかにおいて、
    前記処理部は、
    前記ビジュアルサーボとして、前記撮像画像が前記参照画像に一致又は近づくように前記ロボットを制御する処理を行うことを特徴とするロボット制御システム。
  11. 請求項1乃至10のいずれかに記載のロボット制御システムを含むことを特徴とするロボット。
  12. ロボットの目標状態を表す画像である第1の参照画像として、前記ロボットの作業対象が映る画像であって、前記第1の参照画像の撮像位置及び撮像方向が互いに異なる前記第1の参照画像を第1の参照画像群として記憶し、
    前記ロボットのアーム、前記ロボットのエンドエフェクター、及び前記ロボットが把持するワークのうちの少なくとも1つと、前記作業対象とが映る第2の参照画像であって、前記第1の参照画像に対応する前記第2の参照画像を第2の参照画像群として記憶し、
    前記作業対象が映る第1の撮像画像と、前記第1の参照画像とに基づいて、第1のビジュアルサーボを行い、
    前記第1のビジュアルサーボの後、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とが映る第2の撮像画像と、前記第2の参照画像とに基づいて、第2のビジュアルサーボを行うことを特徴とするロボット。
  13. ロボットの目標状態を表す画像である参照画像を記憶する記憶部と、
    撮像部から得られる撮像画像と前記参照画像とに基づいて、前記ロボットのビジュアルサーボを行い、前記ロボットの制御信号を出力する処理部と、
    前記制御信号に基づいて、前記ロボットを制御するロボット制御部として、
    コンピューターを機能させ、
    前記記憶部は、
    前記ロボットの作業対象が映る第1の参照画像であって、前記第1の参照画像の撮像位置及び撮像方向が互いに異なる前記第1の参照画像を第1の参照画像群として記憶し、
    前記ロボットのアーム、前記ロボットのエンドエフェクター、及び前記ロボットが把持するワークのうちの少なくとも1つと、前記作業対象とが映る第2の参照画像であって、前記第1の参照画像に対応する前記第2の参照画像を第2の参照画像群として記憶し、
    前記処理部は、
    前記作業対象が映る第1の撮像画像と、前記第1の参照画像とに基づいて、第1のビジュアルサーボを行い、
    前記第1のビジュアルサーボの後、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とが映る第2の撮像画像と、前記第2の参照画像とに基づいて、第2のビジュアルサーボを行うことを特徴とするプログラム。
  14. ロボットの目標状態を表す第1の参照画像であって、前記第1の参照画像の撮像位置及び撮像方向が互いに異なる前記第1の参照画像を第1の参照画像群として記憶し、
    前記ロボットのアーム、前記ロボットのエンドエフェクター、及び前記ロボットが把持するワークのうちの少なくとも1つと、前記作業対象とが映る第2の参照画像であって、前記第1の参照画像に対応する前記第2の参照画像を第2の参照画像群として記憶し、
    前記作業対象が映る第1の撮像画像と、前記第1の参照画像とに基づいて、前記ロボットの第1のビジュアルサーボを行い、前記ロボットの第1の制御信号を出力し、
    前記第1の制御信号に基づいて、前記ロボットを制御し、
    前記第1のビジュアルサーボの後、前記アーム、前記エンドエフェクター及び前記ワークのうちの少なくとも1つと、前記作業対象とが映る第2の撮像画像と、前記第2の参照画像とに基づいて、第2のビジュアルサーボを行い、前記ロボットの第2の制御信号を出力し、
    前記第2の制御信号に基づいて、前記ロボットを制御することを特徴とするロボット制御方法。
JP2013046266A 2013-03-08 2013-03-08 ロボット制御システム、ロボット、プログラム及びロボット制御方法 Active JP6123364B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013046266A JP6123364B2 (ja) 2013-03-08 2013-03-08 ロボット制御システム、ロボット、プログラム及びロボット制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013046266A JP6123364B2 (ja) 2013-03-08 2013-03-08 ロボット制御システム、ロボット、プログラム及びロボット制御方法

Publications (2)

Publication Number Publication Date
JP2014172119A JP2014172119A (ja) 2014-09-22
JP6123364B2 true JP6123364B2 (ja) 2017-05-10

Family

ID=51693939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013046266A Active JP6123364B2 (ja) 2013-03-08 2013-03-08 ロボット制御システム、ロボット、プログラム及びロボット制御方法

Country Status (1)

Country Link
JP (1) JP6123364B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5949611B2 (ja) * 2013-03-21 2016-07-13 トヨタ自動車株式会社 遠隔操作ロボットシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009279663A (ja) * 2008-05-19 2009-12-03 Kawada Kogyo Kk ロボット用位置同定方法および装置
JP4820395B2 (ja) * 2008-09-11 2011-11-24 川田工業株式会社 ロボットの作業位置修正システムおよびそのシステムを備えた簡易設置型ロボット
JP5609760B2 (ja) * 2011-04-27 2014-10-22 トヨタ自動車株式会社 ロボット、ロボットの動作方法、及びプログラム
JP2012254518A (ja) * 2011-05-16 2012-12-27 Seiko Epson Corp ロボット制御システム、ロボットシステム及びプログラム

Also Published As

Publication number Publication date
JP2014172119A (ja) 2014-09-22

Similar Documents

Publication Publication Date Title
US11090814B2 (en) Robot control method
JP2012254518A (ja) ロボット制御システム、ロボットシステム及びプログラム
JP4940715B2 (ja) ピッキングシステム
US20150273689A1 (en) Robot control device, robot, robotic system, teaching method, and program
JP2015071206A (ja) 制御装置、ロボット、教示データ生成方法及びプログラム
US11440197B2 (en) Robot system and imaging method
JP6565175B2 (ja) ロボットおよびロボットシステム
JP2016187846A (ja) ロボット、ロボット制御装置およびロボットシステム
JP2014188617A (ja) ロボット制御システム、ロボット、ロボット制御方法及びプログラム
CN110303474B (zh) 使用图像处理修正机器人的示教的机器人系统
US20180085920A1 (en) Robot control device, robot, and robot system
JP6390088B2 (ja) ロボット制御システム、ロボット、プログラム及びロボット制御方法
CN114080590A (zh) 使用先进扫描技术的机器人料箱拾取系统和方法
JP6424432B2 (ja) 制御装置、ロボットシステム、ロボット及びロボット制御方法
JP2006026790A (ja) 教示モデル生成装置
JP2015003348A (ja) ロボット制御システム、制御装置、ロボット、ロボット制御システムの制御方法及びロボットの制御方法
JP2018122376A (ja) 画像処理装置、ロボット制御装置、及びロボット
JP6123364B2 (ja) ロボット制御システム、ロボット、プログラム及びロボット制御方法
US20180056517A1 (en) Robot, robot control device, and robot system
JP6488571B2 (ja) 教示装置、及びロボットシステム
JP6455869B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
CN113302027B (zh) 作业坐标生成装置
JP2012236266A (ja) ロボット制御システム、ロボットシステム及びプログラム
WO2019176450A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2015157339A (ja) ロボット、ロボットシステム、制御装置、及び制御方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160302

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160610

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170320

R150 Certificate of patent or registration of utility model

Ref document number: 6123364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150