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

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

▶ DMG森精機株式会社の特許一覧 ▶ スカイラ テクノロジーズの特許一覧

<>
  • 特許-ロボット搭載移動装置及びシステム 図1
  • 特許-ロボット搭載移動装置及びシステム 図2
  • 特許-ロボット搭載移動装置及びシステム 図3
  • 特許-ロボット搭載移動装置及びシステム 図4
  • 特許-ロボット搭載移動装置及びシステム 図5
  • 特許-ロボット搭載移動装置及びシステム 図6
  • 特許-ロボット搭載移動装置及びシステム 図7
  • 特許-ロボット搭載移動装置及びシステム 図8
  • 特許-ロボット搭載移動装置及びシステム 図9
  • 特許-ロボット搭載移動装置及びシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-02
(45)【発行日】2024-05-14
(54)【発明の名称】ロボット搭載移動装置及びシステム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20240507BHJP
【FI】
B25J13/08 A
【請求項の数】 10
(21)【出願番号】P 2021526426
(86)(22)【出願日】2020-09-10
(65)【公表番号】
(43)【公表日】2022-06-30
(86)【国際出願番号】 US2020050073
(87)【国際公開番号】W WO2021050646
(87)【国際公開日】2021-03-18
【審査請求日】2021-05-12
(31)【優先権主張番号】PCT/IB2019/001004
(32)【優先日】2019-09-11
(33)【優先権主張国・地域又は機関】IB
【早期審査対象出願】
(73)【特許権者】
【識別番号】000146847
【氏名又は名称】DMG森精機株式会社
(73)【特許権者】
【識別番号】521204828
【氏名又は名称】スカイラ テクノロジーズ
【氏名又は名称原語表記】SKYLLA TECHNOLOGIES
【住所又は居所原語表記】24 Hartwell Avenue Lexington, MA 02421 United States of America
(74)【代理人】
【識別番号】100104662
【弁理士】
【氏名又は名称】村上 智司
(72)【発明者】
【氏名】大場 勇太
(72)【発明者】
【氏名】櫻井 努
(72)【発明者】
【氏名】長末 秀樹
(72)【発明者】
【氏名】中川 昌昭
(72)【発明者】
【氏名】ウィーバー コータ
(72)【発明者】
【氏名】パルワル アーナンド
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2018-058142(JP,A)
【文献】特開平09-076185(JP,A)
【文献】特開平11-156764(JP,A)
【文献】特開2015-150666(JP,A)
【文献】特開2017-056546(JP,A)
【文献】特開2017-071033(JP,A)
【文献】特開2019-093533(JP,A)
【文献】特開2010-162635(JP,A)
【文献】特開2017-074631(JP,A)
【文献】国際公開第2018/092222(WO,A1)
【文献】中国特許出願公開第107689061(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 5/00-13/08
B23Q 41/08
G05D 3/12
(57)【特許請求の範囲】
【請求項1】
工作機械内から対象を取り出す動作、または、工作機械内に対象を設置する動作を行う際のロボット搭載移動装置の位置としての第1装置位置に関連する関連情報として、工作機械内に配された識別図形であって、複数の正方形をした画素が二次元に配列されたマトリクス構造を有する該識別図形と平行な平面内で設定される第1軸と第2軸とにおける前記第1装置位置における前記識別図形の位置を第1識別位置として記憶され、前記工作機械周辺を自律的に移動可能なロボット搭載移動装置であって、
(i)一つのカメラ、(ii)ワークまたは工具を把持するためのハンド部、(iii)前記ハンド部を可動可能に繋いでいる第2アーム部、及び(iv)第2アーム部を可動可能に繋いでいる第1アーム部を有するロボットと、
前記ロボットのハンド部の位置を制御する制御部と、
前記ロボットが搭載され、移動可能な移動部とを備え、
前記制御部は、前記第1装置位置と異なる第2装置位置において、前記カメラで前記識別図形が撮影された際の前記平面内での前記識別図形の位置である第2識別位置と、前記第1識別位置とに基づいて、前記第2装置位置における前記ロボットのハンド部の位置を、該識別図形と平行な前記平面内での(a)第1軸上の移動と、(b)第2軸上の移動と、(c)前記平面内での回転移動とで制御し、工作機械内から対象を前記ハンド部で把持して取り出す動作を制御する、ロボット搭載移動装置。
【請求項2】
ワークに対して所定の加工を行う工作機械と、
請求項1に記載したロボット搭載移動装置と、を備え、
前記移動部は、前記工作機械に対して設定された作業位置に移動可能に構成され、
前記制御部は、予め設定された動作指令を含む動作プログラムに従って、前記ロボットに、作業開始姿勢、前記工作機械に設けられた姿勢補正用の識別図形に対して前記カメラを対向させることにより、該カメラよって前記識別図形を撮像する撮像姿勢、前記ワークに対して前記ハンド部を作用させるための1以上の作業姿勢を順次取らせるように構成され、
前記作業開始姿勢、撮像姿勢及び作業姿勢は、前記ロボットをティーチング操作することによって予め設定されるシステムであって、
前記識別図形は、所定の平面上に形成されるとともに、前記工作機械の加工領域内に配置され、
前記制御は、前記ティーチング操作時に、前記ロボットを、前記第1装置位置としての撮像姿勢に移行させた状態で、前記カメラを動作させて前記識別図形の画像を基準画像として撮像し、前記動作プログラムに従って、前記ロボットを実動作させる際に、前記移動部が前記作業位置に移動した状態で、前記ロボットを、前記作業開始姿勢から前記第2装置位置としての前記撮像姿勢に移行させた後に前記カメラにより撮像される前記識別図形の画像、及び前記基準画像に基づいて、前記ロボットの現在の姿勢とティーチング操作時の姿勢との間における、前記第1識別位置と前記第2識別位置との差に対応する前記カメラの位置の誤差量であって、前記識別図形と平行な平面内で設定される相互に直交する第1軸及び第2軸方向における前記カメラの位置誤差量、及び前記第1軸及び第2軸と直交する第3軸回りの前記カメラの回転誤差量を推定し、推定された各誤差量に基づいて、前記作業姿勢における前記ハンド部に対する補正量を算出し、算出した補正量に基づいて、前記作業姿勢における前記ハンド部の位置を補正するように構成されたシステム。
【請求項3】
前記制御は、
前記第1軸及び第2軸を、前記ティーチング操作時におけるロボットの姿勢に対応した座標系であるx軸及びy軸として、該x軸-y軸座標系における前記カメラの位置誤差量Δx,Δy、及びx軸及びy軸に直交する第3軸としてのz軸回りの前記カメラの回転誤差量Δrzを推定し、
推定した位置誤差量Δx,Δy、及び回転誤差量Δrzに基づいて、前記x軸-y軸座標系における、ティーチング操作時と現在との間の前記ハンド部の並進誤差量t,tを下記の数式によって算出し、
算出された並進誤差量t,t、及び回転誤差量Δrzに基づいて、前記各作業姿勢における前記ハンド部の位置を補正するように構成された請求項2記載のシステム。
但し、この数式において、x,yは、x軸-y軸座標系におけるティーチング操作時の前記カメラの位置であり、x’,y’は、前記ロボットの現在の姿勢に対応した座標系であるx’軸-y’軸座標系における現在の前記カメラの位置である。
【請求項4】
前記移動部は、前記制御によって制御される無人搬送車であり、前記制御による制御の下、前記工作機械に対して設定された前記作業位置に経由するように構成されていることを特徴とする請求項2記載のシステム。
【請求項5】
前記制御部は、推定された前記第1軸及び第2軸方向における前記カメラの位置誤差量、及び前記第3軸回りの前記カメラの回転誤差量を算出した後、更に、算出した前記第1軸及び第2軸方向の位置誤差量及び前記第3軸回りの回転誤差量に基づいて前記ロボットの撮像姿勢を補正するとともに、補正した撮像姿勢を取るように前記ロボットを動作させた後、前記カメラを動作させて前記識別図形を撮像し、得られた前記識別図形の画像、及び前記基準画像に基づいて、前記ロボットの現在の姿勢とティーチング操作時の姿勢との間における前記カメラの位置の誤差量であって、前記第1及び第2軸方向と直交する第3軸方向における前記カメラの位置誤差量、前記第1軸回りの前記カメラの回転誤差量、及び前記第2軸回りの前記カメラの回転誤差量を推定し、推定された前記第1軸、第2軸及び第3軸方向の各位置誤差量、並びに前記第1軸、第2軸及び第3軸回りの各回転誤差量に基づいて、前記作業姿勢における前記ハンド部の位置を補正するように構成された請求項2記載のシステム。
【請求項6】
ワークに対して所定の加工を行う工作機械と、
請求項1に記載したロボット搭載移動装置と、を備え、
前記移動部は、前記工作機械に対して設定された作業位置に移動可能に構成され、
前記制御部は、予め設定された動作指令を含む動作プログラムに従って、前記ロボットに、作業開始姿勢、前記工作機械に設けられた姿勢補正用の識別図形をカメラよって撮像する撮像姿勢、前記ワークに対して前記ハンド部を作用させるための1以上の作業姿勢を順次取らせるように構成され、
前記作業開始姿勢、撮像姿勢及び作業姿勢は、前記ロボットをティーチング操作することによって予め設定されるシステムであって、
前記識別図形は、所定の平面上に形成されるとともに、前記工作機械の加工領域内に配置され、
前記制御は、前記ティーチング操作時に、前記ロボットを、前記第1装置位置としての撮像姿勢に移行させた状態で、前記カメラを動作させて前記識別図形の画像を基準画像として撮像し、前記動作プログラムに従って、前記ロボットを実動作させる際に、前記移動部が前記作業位置に移動した状態で、前記ロボットを、前記作業開始姿勢から前記第2装置位置としての前記撮像姿勢に移行させた後に前記カメラにより撮像される前記識別図形の画像、及び前記基準画像に基づいて、前記ロボットの現在の姿勢とティーチング操作時の姿勢との間における、前記第1識別位置と前記第2識別位置との差に対応する前記カメラの位置の誤差量であって、前記識別図形と平行な平面内で設定される相互に直交する第1軸及び第2軸方向、並びに前記第1軸及び第2軸と直交する第3軸方向における前記カメラの各位置誤差量と、前記第1軸、第2軸及び第3軸回りの前記カメラの各回転誤差量とを推定し、推定された各位置誤差量及び各回転後誤差量に基づいて、前記作業姿勢における前記ハンド部の位置を補正するように構成されたシステム。
【請求項7】
前記制御は、
前記基準画像に基づいて、前記ロボットに対応したロボット座標系であって、前記ティーチング操作時のロボット座標系における、該ティーチング操作による撮像時のカメラ位置
を算出する処理と、
前記実動作時に得られる前記識別図形の画像に基づいて、前記ティーチング操作時のロボット座標系における、該実動作による撮像時のカメラ位置
を算出する処理と、
前記ティーチング操作時のロボット座標系における前記カメラ位置
、及び前記カメラ位置
に基づいて、前記実動作時のロボット座標系における前記カメラの前記第1軸、第2軸及び第3軸方向の位置誤差量、並びに前記第1軸、第2軸及び第3軸回りの回転誤差量を推定する処理と、
推定された前記位置誤差量及び回転誤差量に基づいて、前記作業姿勢における前記ハンド部の位置を補正する処理とを実行するように構成された請求項6記載のシステム。
【請求項8】
前記制御は、
前記ティーチング操作時のロボット座標系における前記カメラ位置
、及び前記カメラ位置
を算出した後、
ティーチング操作時の座標系におけるティーチング操作時のカメラ角度


と、ティーチング操作時の座標系における現在のカメラ角度


とに基づいて、これらの差分を算出することによって、前記第1軸をx軸、第2軸をy軸、第3軸をz軸として、x軸、y軸及びz軸回りの各回転誤差量Δrx、Δry及びΔrzを算出し、算出した前記回転誤差量Δrx、Δry及びΔrzに基づいて、前記実動作時のロボット座標系における前記カメラの前記回転誤差量として、ティーチング操作時のロボット座標系と実動作時のロボット座標系との間の回転行列
を算出する処理と、
前記実動作時のロボット座標系における前記カメラの位置誤差量として、前記ティーチング操作時のロボット座標系から前記実動作時のロボット座標系への並進行列
を算出する処理と、
前記回転行列
及び並進行列
に基づいて、補正量
を算出する処理と、
前記補正量
に基づいて、前記作業姿勢における前記ハンド部の補正された位置
を算出する処理とを実行するように構成された請求項7記載のシステム。
【請求項9】
前記制御は、前記回転行列
、並進行列
、補正量
及び補正位置
を以下の算出式によって算出するように構成された請求項8記載のシステム。
但し、
は、ティーチング操作時のロボット座標系におけるティーチング操作時のハンド部の位置である。
【請求項10】
前記制御部は、前記カメラで前記識別図形を撮影する際に、前記カメラの撮像光軸が前記識別図形に対して斜めに傾斜するように制御する請求項1記載のロボット搭載移動装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、工作機械に対して作業を行うロボット、ロボットを搭載し、工作機械に対して設定された作業位置に移動可能な移動装置、これらから構成されるシステム等に関する。
【背景技術】
【0002】
従来、上述したシステムの一例として、特開2017-132002号公報(日本国特許出願公開公報、下記特許文献1)に開示されたシステムが知られている。このシステムでは、ロボットを搭載した無人搬送車が、工作機械に対して設定された作業位置に移動し、当該作業位置において、ロボットにより工作機械に対してワークの着脱等の作業が実行される。
【0003】
このようなシステムでは、無人搬送車によって移動する一台のロボットにより、複数の工作機械に対してワークの着脱等の作業を実施することができるので、工作機械に対してロボットを固定した状態で配設する場合に比べて、工作機械のレイアウトの自由度が増すため、工作機械のレイアウトをより生産効率を高めることが可能なレイアウトに設定することができる。また、ロボットを固定状態で配設した旧来のシステムに比べて、一台のロボットにより、より多くの工作機械に対して作業を行うことができるので、設備費用の低廉化を図ることができる。
【0004】
その一方、無人搬送車は車輪を用いて自走する構造であるが故に、前記作業位置に停止するその位置決め精度は必ずしも高いものとは言えない。このため、ロボットが工作機械に対して正確な作業を行うためには、無人搬送車を前記作業位置へ位置決めした際のロボットの姿勢と、制御上の基準となる所謂ティーチング時に設定されたロボットの基準姿勢とを比較して、その誤差量を検出し、当該誤差量に応じてロボットの作業姿勢を補正する必要がある。
【0005】
このようなロボットの姿勢を補正する技術として、従来、特開2016-221622号公報(日本国特許出願公開公報、下記特許文献2)に開示されるような位置補正手法が知られている。具体的には、この位置補正手法は、2つの較正用マーカからなる視覚ターゲットを工作機械の外表面に配設し、ロボットの可動部に設けられたカメラにより、前記視覚ターゲットを撮像し、得られた画像と、カメラの位置及び姿勢とを基に、ロボットと工作機械との相対的な位置関係を測定し、測定された位置関係に基づいて、ロボットの作業姿勢を補正するというものである。
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところが、上述した従来の位置補正手法では、例えば、ロボットのハンドなどを工作機械内に進入させ、当該ハンドを用いて工作機械のチャックなどに対してワークの着脱を行う際に、この着脱作業を行うロボットの姿勢を正確に補正することができなかった。
【0007】
即ち、前記無人搬送車は、比較的自由度の高い車輪の動作によって移動するように構成されているため、ロボットが搭載された載置面は床面に対して傾き易く、また、搭載するロボットの姿勢の変化に応じて、言い換えれば、ロボットの重心位置の変化に応じて、当該傾きが変動し易いという特性を有している。
【0008】
このため、上述したワークの着脱を行う際に、ロボットがそのハンドを工作機械内に進入させた姿勢を取るとき、言い換えれば、ロボットのアームが前記無人搬送車から大きくオーバハングした状態となるときの前記載置面の傾きは、ロボットのハンドが工作機械の機外に在り、アームが前記無人搬送車からオーバハングしていないか、或いはオーバハングしていたとしても少量である場合の傾きよりも大きなものとなる。
【0009】
したがって、上述した従来の位置補正手法のように、較正用マーカである視覚ターゲットを工作機械の外表面に配設し、ロボットが工作機械の機外に在る状態で、ロボットの位置補正量(姿勢補正量)を取得しても、得られた位置補正量を用いては、ロボットのハンドが工作機械内にあるときに実行されるワークの着脱動作については、当該ロボットの姿勢を正確には補正することができない。
【0010】
そして、ワークを着脱する際のロボットの姿勢を正確に補正することができなければ、チャックに対してロボットハンドを正確に位置決めすることができず、例えば、前記チャックがコレットチャックなど、把持部の動き代(ストローク)が極僅か、即ち、ワークとチャックとの間のクリアランスが極僅かであるチャックの場合には、当該チャックに対してワークを確実に把持させることができない可能性が生じる。
【0011】
そして、ワークの着脱を確実に実行することができなければ、当該システムの稼働率が低下することになる。当該システムにおいては、生産効率の良い無人化を実現することはできない。
【0012】
さらに、特許文献2に開示された位置補正手法では、2つの較正用マーカをそれぞれカメラによって撮像するようにしているので、較正用マーカを撮像するためのロボットの動作時間が長く、このため、当該システムにおける生産効率が低くなる。
【課題を解決するための手段】
【0013】
そこで、本開示は、請求の範囲に記載したシステム、及びロボット搭載移動装置を提供するものである。
【0014】
以上のように、本開示によれば、ロボットが実際に作業する工作機械内に配置された識別図形を用いて、ロボットの姿勢を補正するようにしているので、当該姿勢を正確に補正することができ、これにより、ロボットは、高い動作精度が求められる作業でも、当該作業を精度良く実行することができる。
【図面の簡単な説明】
【0015】
図1】本発明の一実施形態に係るシステムの概略構成を示した平面図である。
【0016】
図2】本実施形態に係るシステムの構成を示したブロック図である。
【0017】
図3】本実施形態に係る無人搬送車及びロボットを示した斜視図である。
【0018】
図4】本実施形態に係るロボットの撮像姿勢について説明するための説明図である。
【0019】
図5】本実施形態に係る識別図形を示した説明図である。
【0020】
図6】本実施形態における補正量算出手法を説明するための説明図である。
【0021】
図7】本実施形態における補正量算出手法を説明するための説明図である。
【0022】
図8】本実施形態における補正量算出手法を説明するための説明図である。
【0023】
図9】本実施形態における位置補正について説明するための説明図である。
【0024】
図10】識別図形を工作機械中に配置する変形例を示した説明図である。
【発明を実施するための形態】
【0025】
以下、具体的な実施の形態について、図面を参照しながら説明する。
【0026】
(第1の実施形態)
図1及び図2に示すように、第1の実施形態のシステム1は、工作機械10、周辺装置としての材料ストッカ20及び製品ストッカ21、無人搬送車35、この無人搬送車35に搭載されるロボット25、ロボット25に装着されるカメラ31、並びにロボット25及び無人搬送車35を制御する制御装置40などから構成される。
【0027】
第1の実施形態の工作機械は、工作機械内に識別図形を配置する構成である。特に、識別画像が加工領域内に配置されている形態が好ましい。
【0028】
第1の実施形態のロボット搭載移動装置は、カメラとハンド部と第1アーム部と第2アーム部とを有するロボットと、ロボットのハンド部の位置を制御する制御部と、ロボットが搭載された移動部と、を有する。移動部は工作機械の周辺などを移動可能な構成になっている。
【0029】
図4に示すように、前記工作機械10は、ワークW(W’)を把持するチャック12が装着される主軸11を備え、この主軸11が鉛直方向に沿って設けられた立形のNC(数値制御)旋盤であり、ワークW(W’)に対して旋削加工を行うことができるようになっている。また、主軸11の近傍には接触子14及びこれを支持する支持バー15を備えたツールプリセッタ13が設けられており、この支持バー15は、当該主軸11の軸線に沿って、加工領域に対して進退可能に設けられており、その加工領域側の端面にセラミック製の表示板16が設けられ、この表示板16に、図5に示した識別図形が描画されている。尚、表示板16は水平面上に位置するように設けられている。
【0030】
尚、図4では、支持バー15及び接触子14が加工領域内に進出した状態を図示しているが、支持バー15及び接触子14が後退して、接触子14及び表示板16が収納領域内に収納された状態で、シャッタ17が閉じることにより、接触子14及び表示板16は加工領域から隔離される。
【0031】
また、本例の識別図形は複数の正方形をした画素が二次元に配列されたマトリクス構造を有するものであり、各画素が白または黒で表示される。図5では、黒色の画素に斜線を付している。このような識別図形には、ARマーカやAprilTagと称されるものがある。また、識別図形が小さい場合には、当該識別図形上にレンズを設けるなどして、後述するカメラ31により拡大された画像が撮像されるようにしても良い。
【0032】
前記材料ストッカ20は、図1において工作機械10の左隣に配設され、当該工作機械10で加工される複数の材料(加工前ワークW)をストックする装置である。また、前記製品ストッカ21は、図1において工作機械10の右隣に配設され、当該工作機械10で加工された複数の製品、又は半製品(加工済ワークW’)をストックする装置である。
【0033】
図1に示すように、前記無人搬送車35には、その上面である載置面36に前記ロボット25が搭載され、また、オペレータが携帯可能な操作盤37が付設されている。尚、この操作盤37は、データの入出力を行う入出力部、当該無人搬送車35及びロボット25を手動操作する操作部、並びに画面表示可能なディスプレイなどを備えている。
【0034】
また、無人搬送車35は、工場内における自身の位置を認識可能なセンサ(例えば、レーザ光を用いた距離計測センサ)を備えており、前記制御装置40による制御の下で、前記工作機械10、材料ストッカ20及び製品ストッカ21が配設される領域を含む工場内を無軌道で走行するように構成され、本例では、前記工作機械10、材料ストッカ20及び製品ストッカ21のそれぞれに対して設定された各作業位置に経由する。
【0035】
図1及び図3に示すように、本実施形態のロボット25は、第1アーム26、第2アーム27及び第3アーム28の3つのアームを備えた多関節型のロボットであり、第3アーム28の先端部にはエンドエフェクタとしてのハンド29が装着され、また、支持バー30を介して1つのカメラ31が装着されている。
【0036】
ただし、この形態に限定されない。ロボットは、(i)カメラと、(ii)ワークまたは工具を把持するためのハンド部と、(iii)前記ハンド部を可動可能に繋いでいる第2アーム部と、(iv)第2アーム部と可動可能に繋いでいる第1アーム部と、を有していればよい。本実施形態のロボット25と対比すると、ハンド部はハンド29が相当し、第2アーム部は、第2アーム27と回転可能(可動可能)に結合するジョイント部とが相当し、第1アーム部は、第1アーム26と回転可能(可動可能)に結合するジョイント部とが相当する。なお、本実施形態のロボットの第3アーム28と回転可能や進退可能(可動可能)に結合するジョイント部とが第2アーム部に相当すると解してもよい。つまり、本実施形態では、アームが3つあるが、少なくとも2つのアームがあればよい。
【0037】
図2に示すように、本実施形態の制御装置40は、動作プログラム記憶部41、移動位置記憶部42、動作姿勢記憶部43、マップ情報記憶部44、基準画像記憶部45、手動運転制御部46、自動運転制御部47、マップ情報生成部48、位置認識部49、補正量算出部50及び入出力インターフェース51から構成される。そして、制御装置40は、この入出力インターフェース51を介して、前記工作機械10、材料ストッカ20、製品ストッカ21、ロボット25、カメラ31、無人搬送車35及び操作盤37に接続している。なお、制御装置40は、この形態に限定されるものではない。制御装置40は、少なくとも、ロボットのハンド部の位置を制御する制御部を有していればよく、他の記憶部等は別の装置が有していてもよい。
【0038】
尚、制御装置40は、CPU、RAM、ROMなどを含むコンピュータから構成され、前記手動運転制御部46、自動運転制御部47、マップ情報生成部48、位置認識部49、補正量算出部50及び入出力インターフェース51は、コンピュータプログラムによってその機能が実現され、後述する処理を実行する。また、動作プログラム記憶部41、移動位置記憶部42、動作姿勢記憶部43、マップ情報記憶部44及び基準画像記憶部45はRAMなどの適宜記憶媒体から構成される。本例では、制御装置40は無人搬送車35に付設され、適宜通信手段によって工作機械10、材料ストッカ20及び製品ストッカ21と接続されるとともに、ロボット25、カメラ31、無人搬送車35及び操作盤37とは有線又は無線によって接続されている。但し、このような態様に限られるものではなく、制御装置40は無人搬送車35以外の適宜位置に配設されていても良い。この場合、制御装置40は適宜通信手段によって各部と接続される。
【0039】
前記手動運転制御部46は、オペレータにより前記操作盤37から入力される操作信号に従って、前記無人搬送車35、ロボット25及びカメラ31を動作させる機能部である。即ち、オペレータは、この手動運転制御部46による制御の下で、操作盤37を用いた、前記無人搬送車35、ロボット25及びカメラ31の手動操作を実行することができる。
【0040】
前記動作プログラム記憶部41は、生産時に前記無人搬送車35及び前記ロボット25を自動運転するための自動運転用プログラム、並びに後述する工場内のマップ情報を生成する際に前記無人搬送車35を動作させるためのマップ生成用プログラムを記憶する機能部である。自動運転用プログラム及びマップ生成用プログラムは、例えば、前記操作盤37に設けられた入出力部から入力され、当該動作プログラム記憶部41に格納される。
【0041】
尚、この自動運転用プログラムには、無人搬送車35が移動する目標位置としての移動位置、移動速度及び無人搬送車35の向きに関する指令コードが含まれ、また、ロボット25が順次動作する当該動作に関する指令コード、及び前記カメラ31の操作に関する指令コードが含まれる。また、マップ生成用プログラムは、前記マップ情報生成部48においてマップ情報を生成できるように、無人搬送車35を無軌道で工場内を隈なく走行させるための指令コードが含まれる。
【0042】
前記マップ情報記憶部44は、無人搬送車35が走行する工場内に配置される機械、装置、機器など(装置等)の配置情報を含むマップ情報を記憶する機能部であり、このマップ情報は前記マップ情報生成部48によって生成される。
【0043】
前記マップ情報生成部48は、詳しくは後述する前記制御装置40の自動運転制御部47による制御の下で、前記動作プログラム記憶部41に格納されたマップ生成用プログラムに従って無人搬送車35を走行させた際に、前記センサによって検出される距離データから工場内の空間情報を取得するとともに、工場内に配設される装置等の平面形状を認識し、例えば、予め登録された装置等の平面形状を基に、工場内に配設された具体的な装置、本例では、工作機械10、材料ストッカ20及び製品ストッカ21の位置、平面形状等(配置情報)を認識する。そして、マップ情報生成部48は、得られた空間情報及び装置等の配置情報を工場内のマップ情報として前記マップ情報記憶部44に格納する。
【0044】
前記位置認識部49は、前記センサによって検出される距離データ、及び前記マップ情報記憶部44に格納された工場内のマップ情報を基に、工場内における無人搬送車35の位置を認識する機能部であり、この位置認識部49によって認識される無人搬送車35の位置に基づいて、当該無人搬送車35の動作が前記自動運転制御部47によって制御される。
【0045】
前記移動位置記憶部42は、前記無人搬送車35が移動する具体的な目標位置としての移動位置であって、前記動作プログラム中の指令コードに対応した具体的な移動位置を記憶する機能部であり、この移動位置には、上述した工作機械10、材料ストッカ20及び製品ストッカ21に対して設定される各作業位置が含まれる。尚、この移動位置は、例えば、前記手動運転制御部46による制御の下、前記操作盤37により前記無人搬送車35を手動運転して、目標とする各位置に移動させた後、前記位置認識部49によって認識される位置データを前記移動位置記憶部42に格納する操作によって設定される。この操作は所謂ティーチング操作と呼ばれる。
【0046】
前記動作姿勢記憶部43は、前記ロボット25が所定の順序で動作することによって順次変化するロボット25の姿勢(動作姿勢)であって、前記動作プログラム中の指令コードに対応した動作姿勢に係るデータを記憶する機能部である。この動作姿勢に係るデータは、前記手動運転制御部46による制御の下で、前記操作盤37を用いたティーチング操作により、当該ロボット25を手動運転して、目標とする各姿勢を取らせたときの、当該各姿勢におけるロボット25の各関節(モータ)の回転角度データであり、この回転角度データが動作姿勢に係るデータとして前記動作姿勢記憶部43に格納される。
【0047】
ロボット25の具体的な動作姿勢は、前記材料ストッカ20、工作機械10及び製品ストッカ21において、それぞれ設定される。例えば、材料ストッカ20では、当該材料ストッカ20において作業を開始するときの作業開始姿勢(取出開始姿勢)、当該材料ストッカ20に収納された加工前ワークWをハンド29により把持して、当該材料ストッカ20から取り出すための各作業姿勢(各取出姿勢)及び取出を完了したときの姿勢(取出完了姿勢であり、本例では、取出開始姿勢と同じ姿勢)が取出動作姿勢として設定される。
【0048】
また、工作機械10では、加工済のワークW’を工作機械10から取り出すワーク取出動作姿勢、及び加工前ワークWを工作機械10に取り付けるワーク取付動作姿勢が設定される。
【0049】
具体的には、ワーク取出動作姿勢では、例えば、工作機械10に進入する前の作業開始姿勢、ハンド29及びカメラ31を工作機械10の加工領域内に進入させて、支持バー15に設けられた識別図形にカメラ31を正対させ、当該カメラ31によって識別図形を撮像する姿勢(撮像姿勢)(図4参照)、工作機械10のチャック12に把持された加工済ワークW’に対してハンド29を対向させた姿勢(取出準備姿勢)、ハンド29をチャック12側に移動させて、当該チャック12に把持された加工済ワークW’をハンド29によって把持する姿勢(把持姿勢)、ハンド29をチャック12から離隔させて加工済ワークW’をチャック12から取り外した姿勢(取外姿勢)、ハンド29及びカメラ31を工作機械10から抜け出させた姿勢(作業完了姿勢)の各姿勢が設定される。尚、カメラ31を水平な識別図形に対して正対させたときのカメラ31の姿勢は、そのレンズと識別図形とが略平行になる姿勢である。
【0050】
また、ワーク取付動作姿勢では、例えば、工作機械10に進入する前の作業開始姿勢、ハンド29及びカメラ31を工作機械10の加工領域内に進入させて、支持バー15に設けられた識別図形にカメラ31を正対させ、当該カメラ31によって識別図形を撮像する姿勢(撮像姿勢)(図4参照)、工作機械10のチャック12に対してハンド29に把持された加工前ワークWを対向させた姿勢(取付準備姿勢)、ハンド29をチャック12側に移動させて、加工前ワークWを当該チャック12によって把持可能にした姿勢(取付姿勢)、ハンド29をチャック12から離隔させた姿勢(離隔姿勢)、ハンド29及びカメラ31を工作機械10から抜け出させた姿勢(作業完了姿勢)の各姿勢が設定される。
【0051】
前記製品ストッカ21では、当該製品ストッカ21において作業を開始するときの作業開始姿勢(収納開始姿勢)、ハンド29に把持した加工済ワークW’を製品ストッカ21内に収納するための各作業姿勢(収納姿勢)及び収納を完了したときの姿勢(収納完了姿勢であり、本例では、収納開始姿勢と同じ姿勢)が収納動作姿勢として設定される。
【0052】
前記自動運転制御部47は、前記動作プログラム記憶部41に格納された自動運転用プログラム及びマップ生成用プログラムの何れかを用い、当該プログラムに従って無人搬送車35、ロボット25及びカメラ31を動作させる機能部である。その際、前記移動位置記憶部42及び動作姿勢記憶部43に格納されたデータが必要に応じて使用される。
【0053】
前記基準画像記憶部45は、ティーチング操作時に、無人搬送車35が工作機械10に対して設定された作業位置に在り、ロボット25が前記撮像姿勢にあるときに、前記ツールプリセッタ13の支持バー15に設けられた識別図形を前記カメラ31により撮像して得られた画像を、基準画像として記憶する機能部である。
【0054】
前記補正量算出部50は、前記自動運転制御部47による制御の下で、前記動作プログラム記憶部41に格納された自動運転用プログラムに従って前記ロボット25が自動運転される際に、当該ロボット25が撮像姿勢に在り、カメラ31によって前記識別図形が撮像されると、当該自動運転時に得られた現在の識別図形の画像と、前記基準画像記憶部45に格納された基準画像(ティーチング操作時に撮像された画像)とに基づいて、ロボット25の現在の姿勢とティーチング操作時の姿勢との間におけるカメラ31の位置誤差量であって、識別図形と平行な平面内で設定される相互に直交する2軸方向におけるカメラ31の位置誤差量、及び該平面と直交する垂直軸回りのカメラ31の回転誤差量を推定し、推定された各誤差量に基づいて、前記作業姿勢における前記作用部に対する補正量を算出する。
【0055】
図6に、ティーチング操作時にカメラ31によって撮像された識別図形の画像、即ち、前記基準画像を示している。図中、実線で示した矩形線はカメラ31の視野、言い換えれば基準画像の輪郭である。また、図7に、自動運転時に得られた現在の識別図形の画像を実線で示している。尚、図7において、実線で示した矩形線は現在の画像の輪郭であり、一点鎖線で示した矩形線は、基準画像の輪郭である。この図7では、ロボット25のティーチング操作時における前記撮像姿勢と、現在の撮像姿勢にズレが生じたことによって、基準画像と現在の画像との間にズレが生じていることを表している。
【0056】
前記補正量算出部50は、まず、ティーチング操作時における図6に示した基準画像を解析することにより、例えば、この基準画像、言い換えれば、カメラ31のフレーム上における識別図形から設定される図形座標系(x軸-y軸座標系)に基づいて、予め設定された図形座標系(x軸-y軸座標系)とロボット座標系(x軸-y軸座標系)との間の変換式に従って、ロボット座標系(x軸-y軸座標系)におけるティーチング時のカメラ31の位置(xteach,yteach,rzteach)を算出する。尚、x軸及びy軸は、識別図形と平行な相互に直交する2軸であって、ティーチング操作時におけるロボット25の座標系であり、rzは、x軸及びy軸に直交するz軸回りのカメラ31の回転角度である。また、本例において、前記x軸,y軸、及びx軸,y軸は水平面内で設定される(後述のx’軸及びy’軸も同様)。
【0057】
次に、補正量算出部50は、同様にして、現在の画像を解析し、カメラ31のフレーム上における識別図形から設定される図形座標系(x軸-y軸座標系)に基づいて、前記変換式に従って、ティーチング操作時におけるロボット25の座標系(x軸-y軸座標系)における現在のカメラ31の位置(xcurr,ycurr,rzcurr)を算出する。
【0058】
そして、補正量算出部50は、x軸-y軸座標系におけるカメラ31のティーチング操作時の位置と、現在の位置との間の位置誤差量Δx,Δy及び回転誤差量Δrzを以下の数式1-数式3によって推定する。
(数式1)
(数式2)
(数式3)
【0059】
ここで、図7に示すように、現在のロボット25の座標系をx’軸-y’軸座標系とし、図8に示すように、ティーチング時のロボット25の座標系であるx軸-y軸座標系との間に、t,tの並進誤差が存在すると考えると、x’軸-y’軸座標系における現在のカメラ31の位置(x’,y’)は、以下の数式4によって算出される。尚、下式中のx,yはそれぞれx軸-y軸座標系におけるティーチング時のカメラ31の位置(xteach,yteach)であり、初期設定の値として既知である。
(数式4)
【0060】
そして、上記の数式4を変形した下記数式5によって上記並進誤差t,tを算出することができ、補正量算出部50は、この数式5に従って、並進誤差量t,tを算出して、この並進誤差量t,t及び前記回転誤差量Δrzを前記作業姿勢における補正量とする。
(数式5)
但し、x’軸-y’軸座標系における現在のカメラ31の位置(x’,y’)は、x軸-y軸座標系における現在のカメラ31の位置(x+Δx,y+Δy)と一致する。
【0061】
そして、前記自動運転制御部47は、ロボット25が工作機械10で作業する際の作業姿勢、例えば、前記ワーク取出動作姿勢における前記取出準備姿勢、把持姿勢及び取外姿勢、並びに前記ワーク取付動作姿勢における取付準備姿勢、取付姿勢及び離隔姿勢について、前記補正量算出部50において算出された補正量に基づいて、ロボット25のハンド29に位置を補正する。
【0062】
例えば、ロボット25のハンド29をチャック12に対して位置決めする際には、現在のロボット25の座標系であるx’軸-y’軸座標系におけるハンド29の位置決め位置が、ティーチング操作時に設定されたx軸-y軸座標系におけるハンド29の位置決め位置と一致するように、x’軸-y’軸座標系におけるハンド29の位置決め位置が補正される。
【0063】
この補正の態様を図9に示している。図9において、位置xp,yp、及び位置xp,ypはティーチング操作時のロボット座標系であるx軸-y軸座標系におけるハンド29の設定位置であり、ハンド29は撮像姿勢における位置xp,ypからチャック12に対して設定された位置xp,ypに位置決めされる設定となっている。前記作業位置に位置決めされた無人搬送車35及びロボット25に位置ズレが無ければ、ハンド29は位置xp,ypから位置xp,ypに移動する。
【0064】
図9において、位置xp’,yp’は、現在の動作時のロボット座標系であるx’軸-y’軸座標系における撮像姿勢時のハンド29の位置である。この位置xp’,yp’は、前記作業位置に位置決めされた無人搬送車35及びロボット25に位置ズレが生じているため、ティーチング操作時の位置xp,ypに対して、位置誤差Δx,Δy、及び回転誤差Δrzを生じており、x’軸-y’軸座標系において、前記xp,ypに対応する位置である。そして、このx’軸-y’軸座標系において、前記xp,ypに対応する位置はxp’,yp’であるが、この位置は、チャック12の真の位置からズレた位置となっている。そこで、自動運転制御部47は、このxp,ypを、前記補正量算出部50によって算出された並進誤差量t,tと、前記回転誤差量Δrzに基づき、下記数式6に従って補正したxph’,yph’を算出し、この補正された位置xph’,yph’にハンド29を移動させる。また、前記回転誤差量Δrzに基づいてZ軸回りのハンド29の回転姿勢を補正する。
(数式6)
【0065】
尚、この位置データxph’,yph’は、予め設定された変換式により、ロボット25の各関節の角度データに変換され、変換された角度データに従って、ロボット25は制御される。
【0066】
そして、ロボット25が工作機械10で作業する各作業姿勢としてティーチング操作時において設定されたハンド29の各位置xp,ypに対応する補正された位置xph’,yph’は、上記数式6を一般化した以下の数式7によって算出することができ、自動運転制御部47は、前記回転誤差量Δrzに基づいてZ軸回りのハンド29の回転姿勢を補正するとともに、このようにして算出される各補正位置xph’,yph’にハンド29を移動させる。但し、iは1以上の自然数である。
(数式7)
【0067】
以上の構成を備えた本例のシステム1によれば、以下のようにして、無人自動生産が実行される。
【0068】
即ち、前記制御装置40の自動運転制御部47による制御の下で、前記動作プログラム記憶部41に格納された自動運転用プログラムが実行され、この自動運転用プログラムに従って、例えば、無人搬送車35及びロボット25が以下のように動作する。
【0069】
まず、無人搬送車35は、工作機械10に対して設定された作業位置に移動するとともに、ロボット25は上述したワーク取出動作の作業開始姿勢を取る。尚、この時、工作機械10は所定の加工を完了して、ロボット25が加工領域内に侵入可能なようにドアカバーを開いており、また、自動運転制御部47からの指令を受信して、前記ツールプリセッタ13の支持バー15を加工領域内に進出させているものとする。
【0070】
ついで、ロボット25は前記撮像姿勢に移行し、前記支持バー15に設けられた識別図形をカメラ31によって撮像する。そして、このようにして、カメラ31によって識別図形が撮像されると、前記補正量算出部50において、当該識別図形の画像と、前記基準画像記憶部45に格納された基準画像とを基に、上記数式1-3に従ってロボット25のティーチング操作時における撮像姿勢と、現在の撮像姿勢との間の位置誤差量Δx,Δy及び回転誤差量Δrzが推定され、推定された各誤差量に基づき、上述した数式4-5に従って、ロボット25の以降のワーク取出動作姿勢に対する並進誤差の補正量t,t及び回転誤差の補正量Δrzが算出される。
【0071】
そして、自動運転制御部47は、補正量算出部50により算出された各補正量に基づいて、以降のワーク取出動作姿勢、即ち、上述した取出準備姿勢、把持姿勢、取外姿勢及び作業完了姿勢におけるハンド29の位置を数式7に従って補正するとともに、Z軸回りの回転位置を補正して、工作作機械10のチャック12に把持された加工済ワークW’をハンド29に把持して当該工作機械10から取り出す。尚、ロボット25に前記把持姿勢を取らせた後に、自動運転制御部47から工作機械10にチャック開指令を送信することで、当該チャック12が開かれる。
【0072】
次に、自動運転制御部47は、無人搬送車35を、製品ストッカ21に対して設定された作業位置に移動させるとともに、ロボット25に、当該製品ストッカ21において作業を開始するときの収納開始姿勢、ハンド29に把持した加工済ワークを製品ストッカ21内に収納するための各収納姿勢及び収納を完了したときの収納完了姿勢を順次取らせて、ハンド29に把持した加工済ワークを製品ストッカ21に収納する。
【0073】
ついで、自動運転制御部47は、無人搬送車35を、材料ストッカ20に対して設定された作業位置に移動させるとともに、ロボット25に、当該材料ストッカ20において作業を開始するときの取出開始姿勢、当該材料ストッカ20に収納された加工前ワークをハンド29によって把持して、当該材料ストッカ20から取り出すための各取出姿勢及び取出を完了したときの取出完了姿勢を順次取らせて、ハンド29に加工前ワークを把持させる。
【0074】
次に、自動運転制御部47は、再度、無人搬送車35を工作機械10に対して設定された作業位置に移動させるとともに、ロボット25に上述したワーク取付動作の作業開始姿勢を取らせる。ついで、ロボット25を前記撮像姿勢に移行させ、前記支持バー15に設けられた識別図形をカメラ31によって撮像させる。そして、このようにして、カメラ31によって識別図形が撮像されると、前記補正量算出部50において、当該識別図形の画像と、前記基準画像記憶部45に格納された基準画像とを基に、上記数式1-3に従ってロボット25のティーチング操作時における撮像姿勢と、現在の撮像姿勢との間の位置誤差量Δx,Δy及び回転誤差量Δrzが推定され、推定された各誤差量に基づき、上述した数式4-5に従って、ロボット25の以降のワーク取付動作姿勢に対する並進誤差の補正量t,t及び回転誤差の補正量Δrzが算出される。
【0075】
この後、自動運転制御部47は、補正量算出部50により算出された各補正量に基づいて、以降のロボット25のワーク取付動作姿勢、即ち、上述した取付準備姿勢、取付姿勢、離隔姿勢及び作業完了姿勢におけるハンド29の位置を数式7に従って補正するとともに、Z軸回りの回転位置を補正して、ロボット25に、ハンド29に把持された加工前ワークWを工作機械10のチャック12に取り付けた後、機外に退出する動作を行わせる。この後、自動運転制御部47は、工作機械10に加工開始指令を送信して、工作機械10に加工動作を行わせる。尚、ロボット25に前記取付姿勢を取らせた後に、自動運転制御部47から工作機械10にチャック閉指令を送信することで、当該チャック12が閉じられ、当該チャック12によって加工前ワークWが把持される。
【0076】
そして、以上を繰り返すことにより、本例のシステム1では、無人自動生産が連続して実行される。
【0077】
そして、本例のシステム1では、ロボット25が実際に作業する工作機械10の加工領域内に配置された識別図形を用いて、ロボット25の作業姿勢を補正するようにしているので、当該作業姿勢を正確に補正することができ、これにより、ロボット25は、高い動作精度が求められる作業でも、当該作業を精度良く実行することができる。
【0078】
また、このように、ロボット25が精度の良い作業を実行することで、当該システム1は不要な中断を招くことなく高い稼働率で稼働し、結果、当該システム1によれば、信頼性が高く、生産効率の高い無人化を図ることが可能となる。
【0079】
また、動作プログラムに従って動作するロボット25は、カメラ31によって識別図形を撮像する際に、一度の動作でこれを実行するように構成されているので、従来に比べて、短時間で精度の良い補正を行うことができる。
【0080】
また、本例では、工作機械10が加工を実行しているときには、加工領域外に格納されるツールプリセッタ13の支持バー15に識別図形を設けているので、当該識別図形が加工時に発生する切屑等によって汚損されるのを防止することができ、この結果、上記補正を精度良く行うことができる。
【0081】
また、本例では、前記識別図形を、複数の画素が二次元に配列されたマトリクス構造を有するものとしているので、前記位置誤差量Δx,Δy、及び回転誤差量Δrzを高精度に、しかも高い繰り返し精度で推定することができる。
【0082】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。本例のシステムの構成は、図2において、符号1’で示される。同図2に示すように、本例のシステム1’は、制御装置40’における補正量算出部50’が第1の実施形態に係るシステム1とは異なるもので、他の構成については、第1の実施形態に係るシステム1と同じである。したがって、以下では、補正量算出部50’以外の構成については、その説明を省略する。尚、本例では、前記ロボット25の撮像姿勢において、第1の実施形態と同様に、カメラ31を識別図形に対して正対させる方がより高精度な補正ができて好ましいが、正対させることなく、カメラ31の撮像光軸が識別図形に対して斜めに傾斜した姿勢としても、実用的な補正を行うことができる。
【0083】
本例の補正量算出部50’は、前記補正量算出部50における誤差量の算出手法を一般化した手法によって、前記ロボット25の現在の姿勢とティーチング操作時の姿勢との間における前記カメラ31の位置誤差量及び回転誤差量を算出するとともに、得られた位置誤差量及び回転誤差量に基づいて、ロボット25の各作業姿勢を補正する。
【0084】
具体的には、補正量算出部50’は、自動運転時に得られた現在の識別図形の画像と、前記基準画像記憶部45に格納された基準画像(ティーチング操作時に撮像された画像)等に基づいて、以下の処理を実行して、ロボット25の現在の姿勢とティーチング操作時の姿勢との間におけるカメラ31の位置誤差量であって、識別図形と平行な平面内で設定される相互に直交するx軸及びy軸、並びにこれらx軸及びy軸に直交するz軸方向におけるカメラ31の位置誤差量と、x軸、y軸及びz軸回りのカメラ31の回転誤差量とを推定するとともに、推定した位置誤差量及び回転誤差量に基づいて、ロボット25の各作業姿勢を補正する。
【0085】
(前処理)
前記補正量算出部50’は、まず、前処理として、前記ティーチング操作時に撮像された前記基準画像に基づいて、カメラ31に対応した座標系であるカメラ座標系から、前記識別図形に対した座標系である図形座標系に変換するための座標変換行列
を取得する。尚、この座標変換行列
は、カメラ31の内部パラメータ、識別図形から認識されるホモグラフィ行列、中心座標、コーナ座標及び識別図形の大きさなどから取得することができる。
【0086】
また、前記カメラ座標系は、カメラの平面状の撮像素子群について設定される3次元の座標系であり、例えば、撮像素子群の中心位置に原点が設定される。また、前記図形座標系は、識別図形について設定される3次元の座標系であり、例えば、識別図形の中心位置に原点が設定される。また、後述するロボット座標系は、制御装置40’がロボット25を制御するために設定された3次元の座標系であり、適宜位置に原点が設定されている。
【0087】
次に、補正量算出部50’は、取得された座標変換行列
と、前記カメラ座標系におけるカメラ位置であって、前記ティーチング操作における撮像時のカメラ位置
とに基づいて、前記図形座標系におけるティーチング操作時のカメラ位置
を以下の数式8によって算出する。
(数式8)
【0088】
(ティーチング操作時のカメラ位置算出処理)
次に、補正量算出部50’は、ティーチング操作時のロボット座標系におけるカメラ位置
を以下の数式9によって算出する。
(数式9)
続いて、補正量算出部50’は、ティーチング操作時のカメラ座標系からティーチング操作時のロボット座標系へ変換するための座標変換行列
を以下の数式10によって算出する。
(数式10)
ここで、
の回転行列成分
を基に、x軸、y軸及びz軸回りの各回転角度


を算出する。
尚、
は、図形座標系からティーチング操作時のロボット座標系へ変換するための座標変換行列である。例えば、図形座標系からティーチング操作時のカメラ座標系へ変換するための座標変換行列
と、前記カメラ座標系からティーチング操作時のロボット座標系へ変換するための座標変換行列
に基づいて、以下の数式11によって取得することができる。
(数式11)
【0089】
(自動運転時のカメラ位置算出処理)
次に、補正量算出部50’は、自動運転時(実動作時)に得られる現在の識別図形の画像に基づいて、上記と同様にして、カメラ座標系から図形座標系に変換するための座標変換行列
を取得した後、当該現在の画像に基づいて、図形座標系における現在のカメラ位置
を以下の数式12によって算出するとともに、前記ティーチング操作時のロボット座標系における現在のカメラ位置
を以下の数式13によって算出する。
(数式12)
(数式13)
続いて、補正量算出部50’は、現在のカメラ座標系からティーチング操作時のロボット座標系へ変換するための座標変換行列
を以下の数式14によって算出する。
(数式14)
ここで、
の回転行列成分
を基に、x軸、y軸及びz軸回りの各回転角度


を算出する。
【0090】
(誤差量算出処理)
次に、補正量算出部50’は、上記のようにして算出したティーチング操作時の座標系におけるティーチング操作時のカメラ角度


と、ティーチング操作時の座標系における現在のカメラ角度


とに基づいて、これらの差分を算出することによって、x軸、y軸及びz軸回りの各回転誤差Δrx、Δry及びΔrzを算出する。
但し、
【0091】
次に、補正量算出部50’は、上記のようにして算出した各回転誤差Δrx、Δry及びΔrzに基づいて、ティーチング操作時におけるロボット座標系と、現在のロボット座標系との間の回転行列
、即ち、回転誤差量を以下の数式15によって算出するとともに、ティーチング操作時のロボット座標系から現在のロボット座標系への並進行列
、即ち、位置誤差量を以下の数式16により算出する。
(数式15)
(数式16)
【0092】
(補正量算出処理)
次に、補正量算出部50’は、上記のようにして算出した誤差量に基づいて、この誤差量を補正するための補正量
を以下の数式17によって算出する。
(数式17)
【0093】
そして、前記自動運転制御部47は、補正量算出部50’により算出された補正量に基づいて、以降のロボット25の動作姿勢におけるハンド29の位置
を以下の数式18に従って補正する。
(数式18)
【0094】
(第3の実施形態)
本例のシステムの構成は、図2に示において、符号1”で示される。図2に示すように、本例のシステム1”は、制御装置40”を構成する補正量算出部50”及び動作プログラム記憶部41”が第1及び第2の実施形態に係るシステム1とは異なるもので、他の構成については、第1及び第2の実施形態に係るシステム1と同じである。したがって、以下では、補正量算出部50”及び動作プログラム記憶部41”以外の構成については、その説明を省略する。
【0095】
本例の動作プログラム記憶部41”には、第1及び第2の実施形態とは異なる自動運転用プログラムが格納されている。この自動運転用プログラムは、工作機械10に対して作業を行うロボット25の動作の内、前記識別図形を撮像する動作が2回連続して実行される点が、第1及び第2の実施形態とは異なる。即ち、本例の自動運転プログラムでは、前記x軸及びy軸方向の位置誤差量、及びz軸回りの回転誤差量を算出するための1回目の撮像動作と、算出された位置誤差量及び回転誤差量に基づいて、ロボット25の撮像姿勢を補正した状態で、前記z軸方向の位置誤差量、及びx軸及びy軸回りの各回転誤差量を算出するための2回目の撮像動作とを実行するように設定されている。
【0096】
前記補正量算出部50”は、前記第2の実施形態に係る補正量算出部50’における「前処理」及び「ティーチング操作時のカメラ位置算出処理」を実行するとともに、前記自動運転制御部47による制御の下で実行された1回目の撮像動作及び2回目の撮像動作によって得られる各画像に基づいて、それぞれ補正量を算出する処理を実行する。
【0097】
(1回目の補正量算出処理)
前記補正量算出部50”は、1回目の撮像画像に基づいて、前記補正量算出部50’における「前処理」、「ティーチング操作時のカメラ位置算出処理」、「自動運転時のカメラ位置算出処理」、「誤差量算出処理」及び「補正量算出処理」を実行して、前記x軸及びy軸方向の各位置誤差量、及びz軸回りの回転誤差量を算出するとともに、これらの誤差量を補正するための補正量を算出する。
【0098】
その際、前記図形座標系におけるカメラ位置、及び前記ロボット座標系の各カメラ位置は、それぞれ以下として、前記「前処理」、「ティーチング操作時のカメラ位置算出処理」、「自動運転時のカメラ位置算出処理」、「誤差量算出処理」及び「補正量算出処理」を実行する。
【0099】
以上の処理により、x軸方向の位置誤差量Δx、y軸方向の位置誤差量Δy、及びz軸回りの回転誤差量Δrzのみが得られ、これを補正するための補正量が上記の数式17によって算出される。そして、自動運転制御部47は、上記数式18に従って、ロボット25の2回目の撮像姿勢を補正する。
【0100】
(2回目の補正量算出処理)
次に、前記補正量算出部50”は、2回目の撮像画像に基づいて、前記「前処理」、「ティーチング操作時のカメラ位置算出処理」、「自動運転時のカメラ位置算出処理」、「誤差量算出処理」及び「補正量算出処理」を実行して、前記x軸、y軸及びz軸方向の各位置誤差量、及びx軸、y軸及びz軸回りの各回転誤差量を算出するとともに、これらの誤差量を補正するための補正量を算出する。
【0101】
その際、前記図形座標系におけるティーチング操作時のカメラ位置、及び前記ロボット座標系の各カメラ位置は、それぞれ以下として、前記「前処理」、「ティーチング操作時のカメラ位置算出処理」、「自動運転時のカメラ位置算出処理」、「誤差量算出処理」及び「補正量算出処理」を実行する。
【0102】
以上の処理により、x軸方向の位置誤差量Δx、y軸方向の位置誤差量Δy、z軸方向の位置誤差量Δz、x軸回りの回転誤差量Δrx、y軸回りの回転誤差量Δry、及びz軸回りの回転誤差量Δrzが得られ、これを補正するための補正量が上記の数式17によって算出される。そして、自動運転制御部47は、上記数式18に従って、ロボット25の姿勢を補正する。尚、x軸方向の位置誤差量Δx、y軸方向の位置誤差量Δy、及びz軸回りの回転誤差量Δrzについての補正量は、1回目に算出された値を維持しても良く、或いは、1回目に算出された値と2回目に算出された値を足し合わせた値で置き換えても良い。
【0103】
以上のように2段階で補正量を算出するのは、識別図形を撮像する際に、識別図形がカメラ31の視野内において、その中心位置から遠い位置にある場合には、図形座標系から得られるz軸方向の位置データのばらつき、x軸回りの回転データのばらつき、y軸回りの回転データのばらつきが大きくなる傾向にあるため、これに起因して、x軸及びy軸方向における位置精度が悪化する虞があるからである。
【0104】
そこで、上記のようにして、1回目の補正量算出処理では、x軸及びy軸方向における位置誤差量、並びにz軸回りの回転誤差量Δrzを補正するための補正量を算出するとともに、この補正量に基づいて、ロボット25の撮像姿勢を補正して、識別図形がカメラ31の視野の中心に位置する状態にする。そして、2回目の補正量算出処理では、このように識別図形がカメラ31の視野の中心に位置した画像に基づいて、残りのz軸方向における位置誤差量、並びにx軸及びy軸回りの回転誤差量Δrx,Δryに対する補正量を得るようにしている。以上により、正確なx軸、y軸及びz軸方向における位置誤差量、並びにx軸、y軸及びz軸回りの回転誤差量Δrx,Δry,Δrzを算出することができ、これらの誤差量に対する正確な補正量を算出することができる。そして、この結果、ロボット25の姿勢を高精度に制御することが可能となる。
【0105】
(第4の実施形態)
これまでの実施形態では、位置誤差量Δx,Δy、及び回転誤差量Δrzを算出して、ロボット搭載移動装置の姿勢を補正しているが、この形態に限定されない。基準になる識別図形の位置である第1識別位置と、作業を行う前に位置を確認するためにカメラで撮影した識別図形を含む画像から算出される識別図形の位置である第2識別位置と、に基づいて、ワークなどの対象の対象位置を取得し、ロボットのハンド部の位置を補正する形態でもよい。つまり、位置誤差量Δx,Δy、及回転誤差量Δrzを算出せず、直接、対象位置を取得する形態でもよい。
【0106】
また、これまでの実施形態では、ワークの着脱を例に主に説明したが、これに限定されない。対象は、ワークの他に、工具、ATCカメラ、計測器などがある。工作機械内に着脱して用いられるものを対象とする。これらの対象は、ロボット搭載移動装置で搬送することができるためである。
【0107】
そこで、まず、ロボット搭載移動装置は、工作機械内に配された識別図形と平行な平面内で設定される第1軸と第2軸とにおける識別図形の位置を第1識別位置(例えば、平面内の2軸を基準にした位置座標)をティーチングで記憶する。第1識別位置は、工作機械内からワーク、工具、ATCカメラ、計測器などの対象を取り出す動作、または、工作機械内にワーク、工具、ATCカメラ、計測器などの対象を設置する動作を行う際のロボット搭載移動装置の位置として第1装置位置と関連付けられた情報である。ここで、第1軸と第2軸とは交差していればよく、直交していなくてもよい。平面内で位置(座標)が判別できる情報を提供できる軸であればよい。もちろん、直交するx軸とy軸の関係が好ましい形態ではある。また、本実施形態のロボット搭載移動装置の第1装置位置は、回転などの位置変化も含めた位置情報である。
【0108】
第1識別位置は、対象の位置である対象位置と関連付けられている。対象位置は、工具の位置、ワークの位置などの対象自体の位置情報でも良いし、ワークを取り付けている主軸のワーク取付位置、工具を取り付けている主軸や刃物台の工具取付位置などの設置位置や取り外し位置などの位置情報でもよい。
【0109】
ロボット搭載移動装置は、例えば、他の第2工作機械の前から移動し、ワークを設置する第1工作機械の前に移動し、第1工作機械の前で停止する。ロボット搭載移動装置が停止した停止位置は、第2装置位置になる。この第2装置位置は、第1装置位置と同じであれば、補正を行うことなく、ワークを設置できる。本実施形態のロボット搭載移動装置は、移動し停止した際の停止位置が第1装置位置と異なる場合があるため、そのような場合、第2装置位置を基準にして見た場合のワーク設置位置も変わるため、ハンドの位置の補正を行う必要がある。
【0110】
そこで、ロボット搭載移動装置は、第2装置位置においてカメラで撮影を行う。ロボット搭載移動装置のカメラで撮影された画像の中に識別図形があれば、ロボット搭載移動装置は、第2装置位置における識別図形の第2識別位置を取得する。ロボット搭載移動装置は、記憶している第1識別位置とカメラ撮影で取得した第2識別位置とを用いて、第2装置位置における対象位置の情報を取得する。そして、ロボット搭載移動装置は、対象位置の情報に基づいてロボットのハンド部の位置を、識別図形を含む平面内での(a)第1軸上の移動と(b)第2軸上の移動と(c)前記平面内での回転移動とで補正し、ハンド部で把持していたワークを工作機械内の所定位置に設置する。
【0111】
ここで、第1識別位置は、例えば、第1装置位置を原点と考えた場合に第1軸をX1軸とし第2軸をY1軸とすると、(x1,y1,rz1)となる。第1識別位置は、対象の位置である対象位置(x11,y11,rz11)と関連付けられている。第2識別位置は、第2装置位置を原点と考えた場合に第1軸をX2軸とし第2軸をY2軸とすると(x2,y2,rz2)となる。第1装置位置と第2装置位置とが同じであれば、(x2,y2,rz2)と(x1,y1,rz1)とは同じ位置となる。そのため、第2装置位置を基準にして見た場合の対象位置も(x11,y11,rz11)位置情報と同じである。
【0112】
しかし、前述したようにロボット搭載移動装置は、工作機械間を移動するため、第1装置位置と第2装置位置が異なる場合がある。ここでは、第1識別位置が(x1,y1,0(rz1=0))で、対象位置が(x11,y11,rz11)の場合の説明を行う。この場合、第2識別位置は、第2装置位置を原点と考えた場合に第1軸をX2軸とし第2軸をY2軸とした場合で(x2,y2,0)ではなくなる。これは、第1識別位置と第2識別位置とは、実空間では同じ位置であるが、ロボット搭載移動装置(特に、ロボット搭載移動装置の移動部)の位置が異なるためである。特に、移動部の向きが異なっているためである。
【0113】
そこで、本実施形態では、(i)第1軸をX2軸とし第2軸をY2軸とした場合の(x2,y2,rz2)の第2識別位置と、(ii)第1識別位置(x1,Y1,0)との関係から、X2軸とY2軸とのX2-Y2座標系における対象の位置である対象位置の位置情報に変換する行列を用いて、対象位置(x22,y22,rz22)を取得する。変換行列は、予め作成し、ロボット搭載移動装置に記憶させておいたものである。取得したX2軸とY2軸とにおける対象位置である(x22,y22,rz22)の位置情報に基づいて、制御部は、ロボットのハンド部の位置を前記平面内での、(a)X2軸上の移動と、(b)Y2軸上の移動と、(c)識別図形を含む平面内での回転移動とで補正し、ハンド部でワークや工具の交換などを行うように制御している。
【0114】
本実施形態では、対象位置である(x22,y22,rz22)の位置情報に変換する行列をロボット搭載移動装置が予め記憶して、それを用いて対象位置を取得しているが、これに限定されない。例えば、カメラ撮影で取得した画像から得られる識別図形の位置である(x2,y2,rz2)の位置情報と、その位置情報(第2識別位置)に対応付けした対象位置である(x22,y22,rz22)の位置情報が記述されたテーブルを予めロボット搭載位置装置に記憶させておいてもよい。
【0115】
また、本実施形態では、位置誤差量Δx,Δy、及回転誤差量Δrzの3つを算出せず、ハンドの位置補正を行っているが、位置誤差量Δx,Δyを算出せず、回転誤差量Δrzを算出するような形態でもよい。例えば、第1識別位置と第2識別位置と変換行列とを用いて、第2装置位置におけるワークなどの対象のX座標(x22)とY座標(y22)、回転誤差量Δrzを算出する。そして、第1識別位置における対象位置の回転位置(rz11)に、回転誤差量Δrzを加えることで、対象位置(x22,y22,rz11+Δrz)を取得してもよい。
【0116】
本実施形態の位置情報は、x座標、y座標、回転座標(または回転量)の3つの情報である(x,y,rz)の位置情報を用いているがこれに限られない。例えば、座標(x,y,z)3つと、回転座標または回転量(rx,ry,rz)3つとの6つの情報(x,y,z,rx,ry,rz)を用いてもよい。情報の数は、必要に応じて、適宜選択・調整できる。例えば、対象位置として、(i)(x22,y22,z11,rx11,ry11,rz11+Δrz)の位置情報や、(ii)(x22,y22,z11,0,0,rz11+Δrz)の位置情報などを出力や取得する形態でもよい。(x22,y22,z11,0,0,rz11+Δrz)の位置情報の例では、z軸上での位置があるためz11を残してある。基準を0とすればrx11とry11とは0となり、平面内での移動では変化しないため0からの変更がない。このため、0と設定できる。このような位置情報を用いてもよいし、さらに、0の情報を削除し、4つ情報である(x22,y22,z11,rz11+Δrz)の位置情報を対象位置として出力や取得する形態でもよい。
【0117】
なお、いろいろな変形例を説明したが、各本実施形態でも説明したように、識別図形を含む平面内(x,y,rz)で、ハンド位置の補正を行うため、識別図形を含む平面内で高い精度でハンドの位置補正ができることが共通する効果である。
【0118】
以上、本発明の一実施の形態について説明したが、本発明が採り得る具体的な態様は、何らこれに限定されるものではない。
【0119】
例えば、上述した各実施形態では、前記識別図形として、複数の画素が二次元に配列されたマトリクス構造を備えたものを採用したが、これに限られるものではなく、撮像画像からロボット25の姿勢の補正量を算出することができるものであれば、様々な図形を採用することができる。
【0120】
また、第1の実施形態において、識別図形を含む平面内の第1軸と第2軸について、第1軸をx軸とし、第2軸をy軸として、各軸方向の位置誤差、及び平面内の回転軸をz軸としてその軸回り回転誤差を補正するようにしたが、これに限られるものではい。前記補正量算出部50は、識別図形の位置によっては、第1軸または第2軸をz軸にしてもよい。この場合は、z軸方向の位置誤差量を推定して、これに対応する補正量を算出するように構成し、また、前記自動運転制御部47は、算出されたz軸方向の補正量に基づいて、ロボット25の各作業姿勢におけるz軸方向の位置を補正するように構成されていても良い。尚、z軸方向の位置誤差量は、例えば、基本画像大きさと現在の画像大きさとの倍率から算出することもできる。
【0121】
また、上記の各実施形態では、無人搬送車35を用いた態様を例示したが、これに限定されるものではない。一般的な台車のように人が押して移動可能な搬送装置でもよい。この搬送装置上にロボット25を搭載し、人力により当該搬送装置を工作機械10の作業位置に搬送して、当該ロボット25により工作機械10に対してワークの着脱を実行させる態様としても良い。
【0122】
また、上記の各実施形態では、工作機械として立形の旋盤を例示したが、これに限られるものではなく、横形の旋盤、立形及び横形のマシニングセンタの他、工具主軸とワーク主軸を備えた複合加工型の加工機械など、従前公知のあらゆる工作機械を適用することができる。
【0123】
例えば、図10に示すような、工具を回転させる工具主軸105を備えた横形の旋盤100の場合、前記表示板16をホルダ106によって水平に支持するとともに、このホルダ106を工具主軸105に装着するようにした態様を採ることができる。この場合、旋盤100により加工を行うときには、ホルダ106を工具収容部である工具マガジンに格納しておき、前記ロボット25により作業を行うときに、ホルダ106を工具マガジンから取り出して工具主軸105に装着する。尚、図10において、符号101は第1主軸、符号103は第2主軸であり、これらは同軸且つ相互に対向するように配設される。また、符号102は第1主軸101に装着された第1チャック、符号104は第2主軸103に装着された第2チャックである。また、符号107は刃物台であり、符号108は刃物台107に設けられたタレット、符号109は、ワークW”を支持する支持治具であり、タレット108の外面に取り付けられている。
【0124】
また、上記の各実施形態では、ロボット座標系の内、x軸及びy軸(x’軸及びy’軸)を水平面内で設定し、z軸を垂直方向に設定したが、これに限られるものではなく、座標軸の方向は任意に設定することができる。識別図形の座標軸x軸,y軸についても同様である。
【0125】
繰り返しになるが、上述した実施形態の説明は、すべての点で例示であって、制限的なものではない。当業者にとって変形および変更が適宜可能である。本発明の範囲は、上述の実施形態ではなく、特許請求の範囲によって示される。さらに、本発明の範囲には、特許請求の範囲内と均等の範囲内での実施形態からの変更が含まれる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10