IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ダイヘンの特許一覧

特許7222135ロボット制御装置、及びロボット制御システム
<>
  • 特許-ロボット制御装置、及びロボット制御システム 図1
  • 特許-ロボット制御装置、及びロボット制御システム 図2
  • 特許-ロボット制御装置、及びロボット制御システム 図3A
  • 特許-ロボット制御装置、及びロボット制御システム 図3B
  • 特許-ロボット制御装置、及びロボット制御システム 図4
  • 特許-ロボット制御装置、及びロボット制御システム 図5
  • 特許-ロボット制御装置、及びロボット制御システム 図6
  • 特許-ロボット制御装置、及びロボット制御システム 図7A
  • 特許-ロボット制御装置、及びロボット制御システム 図7B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-02-06
(45)【発行日】2023-02-14
(54)【発明の名称】ロボット制御装置、及びロボット制御システム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20230207BHJP
   B25J 9/22 20060101ALI20230207BHJP
   H01L 21/68 20060101ALI20230207BHJP
【FI】
B25J13/08 A
B25J9/22 A
H01L21/68 F
【請求項の数】 5
(21)【出願番号】P 2022089803
(22)【出願日】2022-06-01
【審査請求日】2022-06-09
【早期審査対象出願】
(73)【特許権者】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】檀上 梓紗
【審査官】神山 貴行
(56)【参考文献】
【文献】特開2018-051670(JP,A)
【文献】特開2016-101632(JP,A)
【文献】特開2018-001321(JP,A)
【文献】特開2009-184069(JP,A)
【文献】特開平10-264065(JP,A)
【文献】韓国登録特許第10-2292337(KR,B1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
H01L 21/68
(57)【特許請求の範囲】
【請求項1】
板状の搬送対象を保持するハンド部と当該ハンド部に連結されたアーム部と前記ハンド部の基端側に固定されたカメラ部とを有する搬送ロボットを制御するロボット制御装置であって、
前記カメラ部によって取得された撮影画像を受け付ける受付部と、
前記受付部によって受け付けられた、前記ハンド部で保持されている模擬搬送対象を含む撮影画像を用いて、当該模擬搬送対象が有する1個の基準マーカ位置である第1の位置を特定する第1の特定部と、
前記受付部によって受け付けられた、目標位置に配置された模擬搬送対象を含む撮影画像を用いて、当該模擬搬送対象が有する1個の基準マーカ位置である第2の位置を特定する第2の特定部と、
前記第1の位置が前記第2の位置に重なるように、前記ハンド部が搬送対象を保持していない状態の前記搬送ロボットを制御する制御部と、
前記第1の位置が前記第2の位置に重なった状態で教示を行う教示部と、を備えたロボット制御装置。
【請求項2】
前記カメラ部は、ステレオカメラであり、
前記第1及び第2の位置は、3次元のカメラ座標系における位置である、請求項1記載のロボット制御装置。
【請求項3】
前記第1の位置が前記第2の位置に重なるまでに、
前記第2の特定部による、撮影画像を用いた前記第2の位置の特定と、
前記制御部による前記第1の位置が前記第2の位置に近づくようにするための前記アーム部の制御とが繰り返される、請求項1または請求項2記載のロボット制御装置。
【請求項4】
前記第1の位置が前記第2の位置に重なるまでに、前記第2の特定部による、撮影画像を用いた前記第2の位置の特定が1回のみ行われる、請求項1または請求項2記載のロボット制御装置。
【請求項5】
板状の搬送対象を保持するハンド部と当該ハンド部に連結されたアーム部と前記ハンド部の基端側に固定されたカメラ部とを有する搬送ロボットと、
当該搬送ロボットを制御する、請求項1または請求項2記載のロボット制御装置と、を備えたロボット制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、搬送ロボットを制御して自動的に教示を行うロボット制御装置等に関する。
【背景技術】
【0002】
従来、基板を搬送する搬送ロボットにおいて、目標位置に配置された教示用基板の撮影画像と、ハンドの基板載置部に仮想的に配置された仮想基板の画像とをパターンマッチングすることによって教示用基板までの距離を算出し、その算出した距離を用いて目標位置に関して自動的に教示することが行われている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-051670号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に記載された方法では、上記したように、仮想基板である楕円形状の画像と、教示用基板である楕円形状の画像とをパターンマッチングすることによって教示用基板までの距離を算出しているため、正確な距離の算出が難しいという課題がある。その理由は、次のとおりである。正円形状の基板を斜めから撮影するとパースの付いた楕円形状になるが、撮影画像において、その楕円形状の中心(すなわち、長軸と短軸の交点)の位置と、正円形状の基板の中心に相当する位置とには差(ずれ)があり、両者は一致しない。そのため、パターンマッチングによって、一方の楕円形状の中心から他方の楕円形状の中心までの距離を算出したとしても、その距離は、仮想基板である正円形状の中心から教示用基板である正円形状の中心までの距離とは一致しないことになる。なぜならば、撮影画像において手前側に存在する仮想基板における上記した差と、撮影画像において奥側に存在する教示用基板における上記した差とは同じではないからである。したがって、上記特許文献1に記載されているように、パターンマッチングによって教示用基板までの距離を算出し、その距離だけハンドを移動させた位置において教示を行ったとしても、正確な教示を行うことはできないことになる。
【0005】
本発明は、上記課題を解決するためになされたものであり、搬送対象を搬送する搬送ロボットについて、より精度の高い教示を自動的に行うことができるようにするためのロボット制御装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様によるロボット制御装置は、板状の搬送対象を保持するハンド部とハンド部に連結されたアーム部とハンド部の基端側に固定されたカメラ部とを有する搬送ロボットを制御するロボット制御装置であって、カメラ部によって取得された撮影画像を受け付ける受付部と、受付部によって受け付けられた、ハンド部で保持されている模擬搬送対象を含む撮影画像を用いて、模擬搬送対象が有する基準マーカに応じた位置である第1の位置を特定する第1の特定部と、受付部によって受け付けられた、目標位置に配置された模擬搬送対象を含む撮影画像を用いて、模擬搬送対象が有する基準マーカに応じた位置である第2の位置を特定する第2の特定部と、第1の位置が第2の位置に重なるように、ハンド部が搬送対象を保持していない状態の搬送ロボットを制御する制御部と、第1の位置が第2の位置に重なった状態で教示を行う教示部と、を備えたものである。
【発明の効果】
【0007】
本発明の一態様によるロボット制御装置等によれば、模擬搬送対象が有する基準マーカの位置を用いて教示を行うため、より正確な教示を実現することができるようになる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態によるロボット制御システムの構成を示す模式図
図2】同実施の形態によるロボット制御装置の動作を示すフローチャート
図3A】同実施の形態における模擬搬送対象の一例を示す平面図
図3B】同実施の形態における模擬搬送対象の一例を示す平面図
図4】同実施の形態における搬送ロボット等の配置の一例を示す平面図
図5】同実施の形態における撮影画像の一例を示す図
図6】同実施の形態における撮影画像の一例を示す図
図7A】同実施の形態におけるハンド部の移動制御の一例について説明するための図
図7B】同実施の形態におけるハンド部の移動制御の一例について説明するための図
【発明を実施するための形態】
【0009】
以下、本発明によるロボット制御システム、及びロボット制御装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本発明の実施の形態によるロボット制御装置は、板状の搬送対象を搬送する搬送ロボットについて、基準マーカを有する模擬搬送対象の撮影画像を用いて自動的に教示を行うものである。
【0010】
図1は、本実施の形態によるロボット制御システム100の構成を示す模式図である。本実施の形態によるロボット制御システム100は、ロボット制御装置1と、搬送対象を搬送する搬送ロボット2とを備える。
【0011】
搬送ロボット2は、基部20と、基部20に一端が接続され、モータによって駆動される関節によって連結された複数のアームを有するアーム部40と、アーム部40の先端側に連結されたハンド部50と、ハンド部50の基端側に固定されたカメラ部60とを備える。アーム部40は、第1アーム21、第2アーム22、及び第3アーム23を有する垂直アーム部41と、第4アーム24、及び第5アーム25を有する水平アーム部42とを備える。
【0012】
垂直アーム部41が有する第1アーム21の基端側は、第1軸31によって、回動可能に基部20に支持されている。基部20は、例えば、床等に固定されていることが好適である。第1アーム21の先端側は、第2アーム22の基端側と第2軸32によって回動可能に連結されている。第2アーム22の先端側は、第3アーム23の基端側と第3軸33によって回動可能に連結されている。第1から第3のアーム21~23によって、垂直方向にアームが動作する多関節の垂直アーム部41が構成されている。第1軸31、第2軸32、第3軸33の各回転軸は、水平方向に延びる回転軸であってもよい。また、それらの各回転軸は、平行であってもよい。また、それらの各回転軸は、それぞれモータによって駆動されることが好適である。なお、垂直アーム部41は、第3軸33を水平方向に移動させることができる。第3アーム23は、水平アーム部42の基端側が回動可能に連結される回転ベース23aを先端側に有している。第3アーム23は、垂直アーム部41が停止している場合には、垂直方向に延びるように、すなわち回転ベース23aの上面が水平方向となるように第3軸33において制御されることが好適である。水平アーム部42が水平多関節マニピュレータとして動作できるようにするためである。また、第3アーム23の位置が移動されている場合、すなわちアーム部40の先端側が垂直アーム部41によって移動されている場合には、第3軸33より先端側の各軸は回動されないことが好適である。
【0013】
水平アーム部42が有する第4アーム24の基端側は、第5軸35によって、回動可能に回転ベース23aに接続されている。なお、第4アーム24の基端側は、厳密には、第5軸35と同軸である第4軸34を介して、回転ベース23aに接続されている。したがって、水平アーム部42の基端側は、旋回軸である第4軸34によってθ方向に旋回可能に回転ベース23aに接続されていることになる。第5アーム25の基端側は、第6軸36によって、回動可能に第4アーム24の先端側に連結されている。ハンド部50の基端側は、第7軸37によって、回動可能に第5アーム25の先端側に連結されている。第4及び第5アーム24,25によって、水平方向にアームが動作する多関節の水平アーム部42が構成されている。第4軸34、第5軸35、第6軸36、第7軸37の各回転軸は、回転ベース23aの上面が水平方向である場合に、垂直方向(鉛直方向)に延びる回転軸であってもよい。また、それらの各回転軸は、平行であってもよい。旋回軸である第4軸34は、モータによって駆動されることが好適である。第5軸35、第6軸36、第7軸37は、例えば、1つのモータと、そのモータの駆動力を伝達する伝達手段とによって駆動されてもよく、各軸がそれぞれモータによって駆動されてもよい。その伝達手段は、例えば、ベルトとプーリによって構成されてもよく、複数のギヤによって構成されてもよい。そのような構成により、例えば、ハンド部50が、直線的に移動されてもよい。すなわち、第5軸35、第6軸36、第7軸37は、例えば、ハンド部50の先端側を直線的に移動させるように駆動されてもよい。その場合には、旋回軸である第4軸34によって、その直線の方向が変更されることになる。
【0014】
ハンド部50は、板状の搬送対象を保持することができるものである。搬送対象は、例えば、半導体基板やガラス基板など基板であってもよく、各種のウェハであってもよく、その他の薄板状のものであってもよい。搬送対象の形状は特に限定されないが、例えば、円盤形状や矩形状などであってもよい。ハンド部50は、搬送時に搬送対象がずれたり落ちたりしないように搬送対象を固定できるチャック機構を有してもよく、または、そうでなくてもよい。後者の場合には、例えば、搬送対象の保持は、搬送対象が載置されることであってもよい。ハンド部50が有するチャック機構は、例えば、把持機構であってもよく、吸着機構であってもよい。なお、アーム部40は、2以上の水平アーム部を有していてもよい。また、本実施の形態による搬送ロボット2のように、基端側の垂直アーム部41、及び、先端側の水平アーム部42を有するアーム部40と、そのアーム部40の先端に連結されたハンド部50とを有する多関節ロボットはすでに公知であるため、その詳細な説明を省略する。
【0015】
カメラ部60は、ハンド部50の基端側に固定されている。したがって、ハンド部50の移動に応じて、カメラ部60も移動することになる。カメラ部60は、ハンド部50によって保持された搬送対象を撮影できると共に、ハンド部50が目標位置に配置された搬送対象を取得するための取得開始位置に位置する際に、目標位置に配置された搬送対象を撮影できる画角及び光軸方向となっていることが好適である。なお、取得開始位置とは、ハンド部50を直線的に移動させることによって、目標位置に配置された搬送対象を取得することができる位置であってもよい。また、カメラ部60は、例えば、単眼のカメラであってもよく、ステレオカメラであってもよい。後者の場合には、基準マーカを有する模擬搬送対象の撮影画像を用いて、3次元のカメラ座標系における基準マーカの位置を特定することができる。本実施の形態では、カメラ部60がステレオカメラである場合について主に説明する。なお、撮影画像は、グレースケール画像であることが好適である。すなわち、撮影画像はモノクロカメラによって撮影されることが好適である。カラー画像よりもグレースケール画像の方が高解像度だからである。一方、色情報を用いて基準マーカを特定する場合などには、撮影画像はカラー画像であってもよい。また、カメラ部60は、例えば、静止画を撮影してもよく、動画を撮影してもよい。後者の場合には、動画に含まれる1フレームが、撮影画像としてロボット制御装置1において用いられてもよい。
【0016】
搬送ロボット2は、例えば、図4で示されるように、搬送対象が格納されるフープ110と、搬送対象のアライメントを行うためのアライナ120と、搬送対象に対して所定の処理を行う処理装置130との間で搬送対象を搬送してもよい。なお、図4では、説明の便宜上、搬送ロボット2のアーム部40の水平アーム部42のみを示している。例えば、フープ110内に格納された搬送対象をハンド部50で取り出してアライナ120に載置し、アライメント行った後に、あらかじめ決められた位置及び向きで、搬送対象を、3個のピン131上に載置することによって、処理装置130によって、搬送対象に対する処理が行われてもよい。この場合には、目標位置に配置された搬送対象は、例えば、フープ110に格納された搬送対象や、アライナ120に載置された搬送対象、処理装置130の3個のピン131に配置された搬送対象などであってもよい。また、例えば、フープ110に格納された搬送対象を取り出すための教示、アライナ120に搬送対象を載置するための教示、3個のピン131上に搬送対象を載置するための教示が行われてもよい。なお、搬送対象を取得するための教示と、搬送対象を設置するための教示は実質的に同じであるため、一方の教示を行えば、他方の処理も行うことができるようになる。
【0017】
ロボット制御装置1は、搬送ロボット2を制御するものであり、図1で示されるように、受付部11と、第1の特定部12と、第2の特定部13と、記憶部14と、制御部15と、教示部16とを備える。
【0018】
受付部11は、カメラ部60によって取得された撮影画像を受け付ける。受付部11は、例えば、カメラ部60から連続的に出力されている撮影画像を受け付けてもよく、または、ロボット制御装置1から出力された撮影指示に応じてカメラ部60によって取得された撮影画像を受け付けてもよい。受け付けられた撮影画像は、例えば、記憶部14に蓄積されてもよい。受付部11は、受け付けを行うためのデバイス(例えば、通信デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部11は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0019】
第1の特定部12は、受付部11によって受け付けられた撮影画像を用いて、模擬搬送対象61が有する基準マーカ61aに応じた位置である第1の位置を特定する。第1の位置の特定は、ハンド部50で保持されている模擬搬送対象61を含む撮影画像を用いて行われるものとする。
【0020】
模擬搬送対象61は、例えば、搬送対象と同様の形状、及び大きさを有していることが好適である。ここでは、図3Aで示されるように、模擬搬送対象61が円盤形状である場合について主に説明する。模擬搬送対象61は、例えば、搬送対象と同程度の重量であってもよい。模擬搬送対象61の材料は特に限定されないが、例えば、アルミニウムなどの金属であってもよく、樹脂であってもよい。模擬搬送対象61は、基準マーカ61aを有している。基準マーカ61aは、模擬搬送対象61の撮影画像において位置を特定可能なものであれば特に限定されず、例えば、模擬搬送対象61に貼付や印刷、描画された図形(例えば、点状の図形など)であってもよく、模擬搬送対象61に設けられた孔や窪みであってもよく、模擬搬送対象61に固定された物(例えば、ボルトなど)であってもよい。なお、基準マーカ61aは、ピンポイントの位置を特定できる形状であることが好適である。そのため、基準マーカ61aは、例えば、点形状のものであってもよく、×印などのように複数の線分の交点によってピンポイントの位置を示すものであってもよく、ピンポイントの位置を特定可能な他の形状のものであってもよい。本実施の形態では、基準マーカ61aが、模擬搬送対象61の円盤の中心に配置されている場合について主に説明するが、それ以外の位置に基準マーカが配置されていてもよい。また、模擬搬送対象61は、例えば、実際の搬送対象(例えば、実際に搬送される半導体基板やウェハなど)に基準マーカを付加した教示用の搬送対象であってもよい。
【0021】
第1の特定部12は、例えば、撮影画像に含まれる基準マーカ61aを特定し、その特定した基準マーカ61aの位置を特定してもよい。基準マーカ61aの特定は、例えば、基準マーカ61aの特徴を用いて行われてもよい。例えば、基準マーカ61aが所定の色の図形である場合には、撮影画像において、その所定の色の領域を探索することによって基準マーカ61aが特定されてもよい。また、基準マーカ61aが円盤状の模擬搬送対象61の中心に配置されている場合には、まず、円盤形状の物体がパターンマッチングなどによって特定され、その後に、その円盤形状の物体の中心付近の図形が特定されることによって基準マーカ61aが特定されてもよい。なお、あらかじめ決められた形状や色などの特徴を有する箇所を撮影画像において特定する方法はすでに公知であり、その詳細な説明を省略する。
【0022】
第1の特定部12が特定する第1の位置は、例えば、カメラ部60の座標系(以下、「カメラ座標系」とする。)、または、カメラ座標系と一対一の関係にあるローカル座標系(例えば、ハンド部50の座標系など)における位置であってもよい。また、第1の位置は、例えば、撮影画像における位置であってもよい。本実施の形態では、第1の位置、及び後述する第2の位置が、3次元のカメラ座標系における位置、すなわち3次元空間における位置である場合について主に説明する。なお、ステレオカメラによって撮影されたステレオ画像を用いて、撮影画像内に含まれる所定のオブジェクトの3次元の座標系における座標値を取得する処理は公知であり、その詳細な説明を省略する。また、基準マーカ61aに応じた位置とは、例えば、基準マーカ61aの位置そのものであってもよく、または、基準マーカ61aの位置と所定の関係にある位置であってもよい。本実施の形態では、前者の場合、すなわち、第1の位置が、ハンド部50で保持されている模擬搬送対象61が有する基準マーカ61aの位置である場合について主に説明し、後者の場合については後述する。なお、第1の位置、及び後述する第2の位置の特定は、例えば、特定対象の位置を示す座標の情報を記録媒体に蓄積することによって行われてもよい。本実施の形態では、特定された第1及び第2の位置が、記憶部14に蓄積されるものとする。
【0023】
第2の特定部13は、受付部11によって受け付けられた撮影画像を用いて、模擬搬送対象61が有する基準マーカ61aに応じた位置である第2の位置を特定する。第2の位置の特定は、目標位置に配置された模擬搬送対象61を含む撮影画像を用いて行われるものとする。この第2の位置の特定を行う撮影画像では、ハンド部50において模擬搬送対象61が保持されていないことが好適であるが、そうでなくてもよい。また、第2の位置の特定に用いられる模擬搬送対象61は、例えば、第1の位置の特定に用いられた模擬搬送対象61と同じものであってもよく、または、第1の位置の特定に用いられた模擬搬送対象61と同形状の他の模擬搬送対象61であってもよい。後者の場合には、撮影画像において、第1の位置の特定用の第1の模擬搬送対象と、第2の位置の特定用の第2の模擬搬送対象とを区別できるようになっていてもよい。より具体的には、第1及び第2の模擬搬送対象は、色や模様、表示されている図形などによって視覚的に区別可能になっていてもよい。そして、第1及び第2の特定部12,13は、受付部11で受け付けられた撮影画像に含まれる模擬搬送対象が第1及び第2の模擬搬送対象のどちらであるのかを判断し、その判断結果に応じて、第1及び第2の特定部12,13の一方が位置を特定する処理を行ってもよい。具体的には、第1の模擬搬送対象であると判断された場合には、第1の特定部12によって処理が行われ、第2の模擬搬送対象であると判断された場合には、第2の特定部13によって処理が行われてもよい。第2の位置の特定も、第1の位置の特定と同様に、カメラ部60やハンド部50などのローカル座標系における位置の特定であってもよい。第2の位置の特定は、特定対象の基準マーカ61aを有する模擬搬送対象61の配置位置が異なる以外は、第1の位置の特定と同様であり、その詳細な説明を省略する。
【0024】
通常、第1の位置を特定するための撮影画像と、第2の位置を特定するための撮影画像とは異なっているが、そうでなくてもよい。ハンド部50で保持された模擬搬送対象61の基準マーカ61aと、目標位置に配置された模擬搬送対象61の基準マーカ61aとの両方を一括して撮影できる場合には、1個の撮影画像を用いて第1及び第2の位置が特定されてもよい。
【0025】
記憶部14では、特定された第1及び第2の位置が記憶される。また、記憶部14では、例えば、受け付けられた撮影画像も記憶されてもよい。この場合には、第1及び第2の特定部12,13は、記憶部14から撮影画像を読み出して位置の特定を行ってもよい。また、後述するように、記憶部14では、教示データも記憶されてもよい。記憶部14は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスクなどであってもよい。
【0026】
制御部15は、第1の位置が第2の位置に重なるように、ハンド部50が搬送対象を保持していない状態の搬送ロボット2を制御する。この制御は、カメラ部60やハンド部50などのローカル座標系において、第1の位置が第2の位置に重なるようにするための制御であってもよい。この制御によって、ハンド部50は、例えば、目標位置に配置されている搬送対象を取り上げる位置、または、目標位置に搬送対象を置くための位置に移動することになる。搬送ロボット2の制御は、厳密には、搬送ロボット2のアーム部40、特に水平アーム部42の制御である。この制御は、例えば、目標位置に模擬搬送対象61が配置された状態で行われてもよい。この制御において、例えば、第1の位置が第2の位置に重なるまでに、第2の特定部13による第2の位置の特定が1回のみ行われてもよい。この場合には、撮影画像を用いた第2の位置の特定と、第1の位置が第2の位置に重なるようにするための搬送ロボット2の制御とがそれぞれ1回だけ行われることになる。すなわち、ハンド部50の目標位置に向かった移動制御が、1回の制御で行われることになる。この場合には、第1の位置から第2の位置にハンド部50が移動するように制御が行われてもよい。より具体的には、制御部15は第1及び第2の位置を用いることによって、第1の位置が第2の位置に重なるまでのハンド部50の経路を取得することができる。その経路は、例えば、ローカル座標系における直線の経路や、曲線の経路などであってもよい。そして、制御部15はその経路に沿ってハンド部50が移動するようにアーム部40を制御してもよい。より具体的には、制御部15は、ローカル座標系における経路を、ロボット座標系における経路に変換し、その変換後の経路に沿ってハンド部50が移動するようにアーム部40を制御してもよい。一方、この制御において、例えば、第1の位置が第2の位置に重なるまでに、第2の特定部13による第2の位置の特定と、制御部15による第1の位置が第2の位置に近づくようにするためのアーム部40の制御とが繰り返されてもよい。この場合には、撮影画像を用いた第2の位置の特定と、第1の位置が第2の位置に近づくようにするための搬送ロボット2の制御とがそれぞれ2回以上行われることになる。すなわち、ハンド部50の目標位置に向かった移動制御が、何回かに分けて行われることになる。この場合には、第2の位置を特定するための撮影画像の取得も、2回以上行われることになる。なお、第1の位置が第2の位置に近づくようにするためのアーム部40の1回の制御における移動距離は、例えば、あらかじめ決まっていてもよく、または、移動の総距離や移動回数などのパラメータに応じて決定される可変量であってもよい。後者の場合には、例えば、移動の総距離を移動回数で除算した距離が、1回の制御における移動距離であってもよい。また、第1の位置が第2の位置に近づくようにするためのアーム部40の1回の制御における移動方向は、例えば、特定された第1及び第2の位置に応じた方向であってもよく、強化学習を前提にしたランダムな方向であってもよい。特定された第1及び第2の位置に応じた方向は、例えば、第2の位置を特定するための撮影画像が取得された際のローカル座標系における第1の位置と第2の位置とを結ぶ直線の方向であってもよく、第1の位置から第2の位置までの所定の経路(例えば、円弧状の経路など)に沿った方向であってもよい。
【0027】
教示部16は、第1の位置が第2の位置に重なった状態で教示を行う。すなわち、教示部16は、第1の位置が第2の位置に重なった状態で、アーム部40の各関節の角度を制御部15から取得して記憶部14に蓄積してもよい。その蓄積された各関節の角度を示す情報が、目標位置に搬送対象を搬送するための、または、目標位置に配置されている搬送対象を取得するための教示データとなる。なお、例えば、特定された第1及び第2の位置によって、第1及び第2の位置が重なっていることが確認された後に教示が行われてもよく、または、制御部15によって、第1及び第2の位置が重なるようにするためのハンド部50の移動制御が行われた後に、両位置が重なっていることを確認することなく教示が行われてもよい。
【0028】
次に、ロボット制御装置1の動作について図2のフローチャートを用いて説明する。
(ステップS101)第1の特定部12は、第1の位置を特定するかどうか判断する。そして、第1の位置を特定する場合には、ステップS102に進み、そうでない場合には、ステップS105に進む。なお、第1の特定部12は、例えば、第1の位置を特定する旨の指示がロボット制御装置1に入力された場合に、第1の位置を特定すると判断してもよい。
【0029】
(ステップS102)受付部11は、第1の位置を特定するための撮影画像、すなわちハンド部50が模擬搬送対象61を保持している状態の撮影画像を受け付ける。受付部11は、例えば、カメラ部60から連続的に出力されている複数の撮影画像のうち、その時点に出力された1つの撮影画像を受け付けてもよく、カメラ部60への撮影画像の取得指示の出力に応じて取得された撮影画像を受け付けてもよい。後者の場合には、例えば、第1の特定部12が、その指示をカメラ部60に渡してもよい。
【0030】
(ステップS103)第1の特定部12は、撮影画像において基準マーカ61aを特定する。
【0031】
(ステップS104)第1の特定部12は、ステップS103で特定した基準マーカ61aの位置である第1の位置を特定する。具体的には、第1の特定部12は、特定した第1の位置を示す情報を記憶部14に蓄積してもよい。そして、ステップS101に戻る。なお、ステップS101~S104の処理は、ハンド部50によって模擬搬送対象61が保持されている状態で行われることが好適である。
【0032】
(ステップS105)第2の特定部13は、第2の位置を特定するかどうか判断する。そして、第2の位置を特定する場合には、ステップS106に進み、そうでない場合には、ステップS101に戻る。なお、第2の特定部13は、例えば、第2の位置を特定する旨の指示がロボット制御装置1に入力された場合に、第2の位置を特定すると判断してもよい。
【0033】
(ステップS106)受付部11は、第2の位置を特定するための撮影画像、すなわち目標位置に配置された模擬搬送対象61を含む撮影画像を受け付ける。受付部11は、例えば、カメラ部60から連続的に出力されている複数の撮影画像のうち、その時点に出力された1つの撮影画像を受け付けてもよく、カメラ部60への撮影画像の取得指示の出力に応じて取得された撮影画像を受け付けてもよい。後者の場合には、例えば、第2の特定部13が、その指示をカメラ部60に渡してもよい。
【0034】
(ステップS107)第2の特定部13は、撮影画像において基準マーカ61aを特定する。
【0035】
(ステップS108)第2の特定部13は、ステップS107で特定した基準マーカ61aの位置である第2の位置を特定する。具体的には、第2の特定部13は、特定した第2の位置を示す情報を記憶部14に蓄積してもよい。
【0036】
(ステップS109)制御部15は、ステップS104で特定された第1の位置と、ステップS108で特定された第2の位置とが一致するかどうか判断する。なお、ステップS108における第2の位置の特定が複数回行われている場合には、最新の第2の位置と、第1の位置とが比較されるものとする。制御部15は、例えば、第1及び第2の位置が所定の誤差の範囲内で一致する場合には、両者が一致すると判断してもよい。そして、第1及び第2の位置が一致する場合には、ステップS111に進み、そうでない場合には、ステップS110に進む。
【0037】
(ステップS110)制御部15は、第1の位置が第2の位置に重なるための制御を行う。この制御は、上記したように、例えば、第1の位置が第2の位置に重なるようにするための1回の制御であってもよく、または、第1の位置が第2の位置に重なるようにするための複数回の制御における1回の制御、すなわち、第1の位置が第2の位置に近づくようにするための制御であってもよい。そして、ステップS106に戻る。
【0038】
(ステップS111)教示部16は、教示を行う。より具体的には、教示部16は、その時点のアーム部40の各関節の角度を教示データとして記憶部14に蓄積してもよい。そして、ステップS101に戻る。なお、ステップS105~S111の処理は、目標位置に模擬搬送対象61が配置されている状態で行われることが好適である。
【0039】
なお、図2のフローチャートでは、第1の位置が第2の位置に重なっていることを確認した上で教示を行う場合について示しているが、そうでなくてもよい。その確認を行うことなく教示を行ってもよい。この場合には、第1の位置が第2の位置に重なるようにするための1回の制御、または複数回の制御が行われた後に、教示の処理が行われてもよい。また、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0040】
次に、本実施の形態によるロボット制御システム100の動作について、具体例を用いて説明する。
まず、ユーザは、ハンド部50に模擬搬送対象61を保持させた後に、第1の位置の特定を行うようにロボット制御装置1に指示する。すると、その指示に応じて、第1の特定部12は、第1の位置を特定すると判断し、カメラ部60に撮影画像を取得するように指示する(ステップS101)。その指示を受け取ると、カメラ部60は、撮影画像を取得してロボット制御装置1に出力する。図5は、その撮影画像を示す図である。なお、実際の撮影画像はステレオ画像であるが、説明の便宜上、図5では、そのステレオ画像に相当する単眼のカメラの撮影画像を示している。図6も同様である。撮影画像は、ロボット制御装置1の受付部11で受け付けられ、第1の特定部12に渡される(ステップS102)。撮影画像を受け取ると、第1の特定部12は、基準マーカ61aを特定し、その基準マーカ61aの位置である第1の位置A1を特定して、制御部15に渡す(ステップS103、S104)。この第1の位置A1は、カメラ座標系における位置であり、(x1,y1,z1)であったとする。
【0041】
次に、ユーザは、ハンド部50から模擬搬送対象61を取り外して、教示を行う位置である目標位置に配置する。この目標位置は、上記したように、例えば、フープ110内の位置であってもよく、アライナ120の位置であってもよく、処理装置130の3個のピン131の上であってもよい。また、ハンド部50が、目標位置に配置された模擬搬送対象61に対して取得開始位置と異なる位置に存在する場合には、ユーザは、ハンド部50が取得開始位置となるように手動で搬送ロボット2を操作してもよい。この操作は、例えば、図示しないティーチングペンダント等を用いて行われてもよい。
【0042】
その後、ユーザは、第2の位置の特定を行うようにロボット制御装置1に指示する。すると、その指示に応じて、第2の特定部13は、第2の位置を特定すると判断し、カメラ部60に撮影画像を取得するように指示する(ステップS105)。その指示を受け取ると、カメラ部60は、図6で示される撮影画像を取得してロボット制御装置1に出力する。その撮影画像は、ロボット制御装置1の受付部11で受け付けられ、第2の特定部13に渡される(ステップS106)。撮影画像を受け取ると、第2の特定部13は、基準マーカ61aを特定し、その基準マーカ61aの位置である第2の位置Bを特定して、制御部15に渡す(ステップS107、S108)。この第2の位置Bは、カメラ座標系における位置であり、(x2,y2,z2)であったとする。なお、図6において、第1の位置A1を表示しているが、これは参考のためであり、撮影画像には含まれていない。
【0043】
制御部15は、第1及び第2の位置を比較して、両者が一致していないと判断する(ステップS109)。そして、制御部15は、点A1から点Bまでのベクトルを算出し、そのベクトルに所定の係数αを乗算する。その乗算後のベクトルは、例えば、次式のようになる。
α×(x2-x1,y2-y1,z2-z1)
【0044】
なお、αは、1以下の実数であり、本具体例では、第1及び第2の位置が一致していないと1回目に判断された際にはα=1/3に設定され、両者が一致していないと2回目に判断された際にはα=1/2に設定され、両者が一致していないと3回目に判断された際にはα=1に設定されるものとする。したがって、第1及び第2の位置が一致していないと1回目に判断された時点では、制御部15は、次式のベクトルを算出し、そのベクトルに応じてハンド部50が移動するようにアーム部40を制御する(ステップS110)。
1/3×(x2-x1,y2-y1,z2-z1)
【0045】
この制御により、図7Aで示されるように、ハンド部50は、第1の位置が点A1から点A2となるように移動することになる。そして、その位置において、再度、新たな撮影画像を用いた第2の位置の特定が行われる(ステップS106~S108)。新たに特定された第2の位置Bは、(x3,y3,z3)であったとする。この場合にも、制御部15は、第1及び第2の位置は一致しないと判断して、次式のベクトルを算出し、そのベクトルに応じてハンド部50が移動するようにアーム部40を制御する(ステップS109,S110)。
1/2×(x3-x1,y3-y1,z3-z1)
【0046】
この制御により、図7Aで示されるように、ハンド部50は、第1の位置が点A2から点A3となるように移動することになる。そして、その位置において、再度、新たな撮影画像を用いた第2の位置の特定が行われる(ステップS106~S108)。新たに特定された第2の位置Bは、(x4,y4,z4)であったとする。この場合にも、制御部15は、第1及び第2の位置は一致しないと判断して、次式のベクトルを算出し、そのベクトルに応じてハンド部50が移動するようにアーム部40を制御する(ステップS109,S110)。
(x4-x1,y4-y1,z4-z1)
【0047】
この制御により、図7Aで示されるように、ハンド部50は、第1の位置が点A3から点Bとなるように移動することになる。そして、その位置において、再度、新たな撮影画像を用いた第2の位置の特定が行われる(ステップS106~S108)。新たに特定された第2の位置Bは、(x5,y5,z5)であったとする。この場合には、第1及び第2の位置は誤差の範囲内で一致していると判断されたとする(ステップS109)。すると、制御部15は、アーム部40の各関節の角度と、教示の指示とを教示部16に渡す。教示の指示などを受け取ると、教示部16は、受け取った各関節の角度を含む教示データを記憶部14に蓄積する(ステップS111)。このようにして、フープ110等に配置された搬送対象を取得するための教示(または、フープ110等に搬送対象を配置するための教示)を自動的に行うことができる。
【0048】
なお、本具体例では、図7Aで示されるように、3回の制御によって第1の位置が第2の位置に重なるようにする場合であって、各制御におけるハンド部50の移動量が均等である場合について説明したが、そうでなくてもよい。例えば、N回(Nは2以上の整数)の制御によって第1の位置が第2の位置に重なるようにする場合において、M-1番目の制御におけるハンド部50の移動量より、M番目の制御におけるハンド部50の移動量の方が少なくなるように制御されてもよい。なお、Mは、2以上、N以下の任意の整数である。このようにすることで、より精度の高い位置決めを実現することができるようになる。
【0049】
また、本具体例では、複数回の移動によって、第1の位置が第2の位置に重なるようにする場合について説明したが、そうでなくてもよい。ステップS110における初回の制御時に、α=1に設定することによって、1回の移動で第1の位置が第2の位置に重なるようにしてもよい。この場合には、図7Bで示されるように、ハンド部50は、第1の位置が点A1から点Bとなるように一気に移動することになり、より短時間での教示を実現することができるようになる。
【0050】
また、本具体例では、第1の位置が第2の位置に重なるようにするため、ハンド部50を直線的に移動させる場合について説明したが、そうでなくてもよい。理想的には、第1の位置が第2の位置に重なるように、搬送対象を保持していないハンド部50を移動させる際に、目標位置に配置されている模擬搬送対象61にハンド部50が接触することはないと考えられる。一方、誤差等の原因によって、両者が接触する可能性もあり得るため、例えば、制御部15は、上記のように算出したベクトルに応じてハンド部50を移動させる場合に、移動開始時に所定の微小量(例えば、1cm、2cmなど)だけハンド部50を鉛直方向の下側に移動させ、その後に、算出したベクトルに応じてハンド部50を移動させ、その移動後に所定の微小量だけハンド部50を鉛直方向の上側に移動させるようにしてもよい。このようにすることで、第1の位置が第2の位置に重なるように制御する際に、ハンド部50が模擬搬送対象61に接触することを回避することができる。
【0051】
また、この具体例では、第1及び第2の位置が一致するかどうかを判断する場合について説明したが、そうでなくてもよい。その判断を行うことなく、ステップS110の処理を既定の回数だけ行うことによって、第1の位置が第2の位置に重なるようにしてもよい。
【0052】
以上のように、本実施の形態によるロボット制御装置1によれば、模擬搬送対象61の基準マーカ61aを用いて第1及び第2の位置を特定するため、上記特許文献1のように、楕円形状のパターンマッチングを行って距離を算出するよりも正確にハンド部50の移動先を特定することができ、より正確な教示を行うことができるようになる。また、ハンド部50が模擬搬送対象61を保持した状態の撮影画像を用いて第1の位置を特定するため、搬送対象を保持した際のハンド部50の傾きやたわみなども加味された第1の位置の特定が可能になる。そのため、上記特許文献1のように、模擬搬送対象61を用いないで仮想基板を用いて特定された位置を用いた教示と比較して、より精度の高い教示を実現することができる。また、カメラ部60がステレオカメラである場合には、3次元のローカル座標系において、第1及び第2の位置を特定することができ、第1の位置が第2の位置に重なるようにするための制御がより正確なものになる。また、ハンド部50が教示を行う位置に移動するまでに、第2の位置を特定するための撮影画像の取得と、第2の位置の特定と、特定された第2の位置を用いた、第1の位置が第2の位置に近づくための移動とが繰り返されることによって、より精度の高い移動を実現することができ、結果として、高精度な教示を行うことができるようになる。さらに、撮影画像を用いて第1及び第2の位置が重なったことを確認してから教示を行うことによって、教示の精度を向上させることができる。また、第1の位置が第2の位置に近づくための移動を繰り返すと共に、撮影画像を用いて第1及び第2の位置が重なったことを確認してから教示を行う場合には、第1の位置から第2の位置までの正確な距離が分からなくてもよいことになり、その正確な距離を算出するためのパラメータの調整などを行わなくてもよいことになる。
【0053】
なお、本実施の形態では、模擬搬送対象61が1個の基準マーカを有する場合について主に説明したが、そうでなくてもよい。例えば、図3Bで示されるように、模擬搬送対象61は、複数の基準マーカ61b~61dを有していてもよい。図3Bでは、模擬搬送対象61の円盤の中心が、3個の基準マーカ61b~61dが各頂点となる正三角形の重心と重なるように、3個の基準マーカ61b~61dが配置されていてもよい。そして、第1及び第2の特定部12,13は、撮影画像に含まれる3個の基準マーカ61b~61dを特定し、その3個の基準マーカ61b~61dの位置の重心を、第1及び第2の位置として特定してもよい。この場合には、第1及び第2の位置と、基準マーカの位置とは異なることになる。例えば、3個の基準マーカ61b~61dの位置関係は、処理装置130における3個のピン131の位置関係と同じであってもよい。この場合には、例えば、基準マーカ61b~61dがそれぞれ3個のピン131の位置となるように、模擬搬送対象61を3個のピン131上に配置することによって、模擬搬送対象61をより正確に目標位置に配置することができるようになる。
【0054】
また、本実施の形態では、カメラ部60がステレオカメラである場合について主に説明したが、そうでなくてもよい。カメラ部60がステレオカメラでない場合、すなわち単眼のカメラである場合には、第1及び第2の位置の3次元の座標系における位置を特定することはできないが、ハンド部50を基準として、第2の位置が存在する方向を知ることができる。そのため、制御部15は、その方向にハンド部50を移動させる制御を行うことによって、第1及び第2の位置が重なるようにしてもよい。この場合には、第1及び第2の位置の特定は、例えば、撮影画像中における第1及び第2の位置に相当する画素の特定であってもよい。すなわち、撮影画像における位置が特定されてもよい。また、この場合には、第2の位置の特定と、第1の位置を第2の位置に近づけるための制御とは、第1及び第2の位置が重なるまで繰り返して行われることが好適である。
【0055】
また、本実施の形態で説明した搬送ロボット2の構成は一例であり、ロボット制御装置1は、それ以外の構成を有する搬送ロボットを制御してもよい。例えば、搬送ロボット2が有する垂直アーム部41や水平アーム部42のリンク数や軸数は問わない。また、制御対象の搬送ロボットは、基端側の垂直アーム部と、その垂直アーム部の先端側に連結された水平アーム部とを有していてもよく、または、そうでなくてもよい。後者の場合には、搬送ロボットは、例えば、垂直アーム部の先端にハンド部が連結されたものであってもよく、水平アーム部のみを有していてもよい。
【0056】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0057】
また、上記実施の形態において、ロボット制御装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0058】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0059】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【0060】
1 ロボット制御装置、2 搬送ロボット、11 受付部、12 第1の特定部、13 第2の特定部、14 記憶部、15 制御部、16 教示部、40 アーム部、50 ハンド部、60 カメラ部、61 模擬搬送対象、61a~61d 基準マーカ、100 ロボット制御システム
【要約】
【課題】搬送ロボットの自動的な教示を、より精度高く行うことができるロボット制御装置を提供する。
【解決手段】ハンド部50の基端側に固定されたカメラ部60を有する搬送ロボット2を制御するロボット制御装置1は、カメラ部60が取得した撮影画像を受け付ける受付部11と、ハンド部50で保持されている模擬搬送対象を含む撮影画像を用いて、模擬搬送対象が有する基準マーカに応じた第1の位置を特定する第1の特定部12と、目標位置に配置された模擬搬送対象を含む撮影画像を用いて、模擬搬送対象が有する基準マーカに応じた第2の位置を特定する第2の特定部13と、第1及び第2の位置が重なるように搬送ロボット2を制御する制御部15と、第1及び第2の位置が重なった状態で教示を行う教示部16とを備える。このように、基準マーカを用いることによって、高精度な教示を自動的に行うことができる。
【選択図】図1
図1
図2
図3A
図3B
図4
図5
図6
図7A
図7B