ロボット制御装置及びロボットの制御方法
【課題】仕切り板の配置にずれがあるパレットについても、手先との干渉を極力回避しながら作業を継続できるロボット制御装置を提供する。
【解決手段】ロボットの手先がパレットのマスの内部に挿入されると距離センサで検出される距離から周辺を囲む仕切り板の正規位置からのズレ量を検出し(S8)、パレットの外枠部分は予めフラグ「OK」を設定し(S1)、ズレ量が「ゼロ」,「マイナス」なら(S9:YES)当該仕切り板に隣接するマス側にフラグ「OK」を(S10)、ズレ量が「プラス」なら(S9:NO)当該仕切り板に隣接するマス側にフラグ「NG」を設定する(S11)。各マスのうちフラグ「NG」の設定がないものにつきフラグ「OK」の数を計算し(S2)、フラグ「OK」の数が「2」以上で最大のマスからワーク3の取出しを行ない(S6)、「2」以上のマスが存在しなければ(S4:NO)ワーク3の取出しを中止する。
【解決手段】ロボットの手先がパレットのマスの内部に挿入されると距離センサで検出される距離から周辺を囲む仕切り板の正規位置からのズレ量を検出し(S8)、パレットの外枠部分は予めフラグ「OK」を設定し(S1)、ズレ量が「ゼロ」,「マイナス」なら(S9:YES)当該仕切り板に隣接するマス側にフラグ「OK」を(S10)、ズレ量が「プラス」なら(S9:NO)当該仕切り板に隣接するマス側にフラグ「NG」を設定する(S11)。各マスのうちフラグ「NG」の設定がないものにつきフラグ「OK」の数を計算し(S2)、フラグ「OK」の数が「2」以上で最大のマスからワーク3の取出しを行ない(S6)、「2」以上のマスが存在しなければ(S4:NO)ワーク3の取出しを中止する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットアームの手先位置を制御することで、パレットに配置されている複数のワークの順次取り出し,又はパレットに対する複数のワークの順次配置を行うロボット制御装置及びロボットの制御方法に関する。
【背景技術】
【0002】
生産現場においては、複数のワークが配置されたパレットをコンベア等により搬送することで工場内の生産ラインに流通させ、ロボットがアームの手先(ハンド)によりパレット内のワークを把持して取り出し、組み付けなどを行うようになっている。また、逆にロボットがパレットに対してワークを順次配置する作業も行われている。例えば図25に示すように、上記のように使用されるパレット21には、上面が開口した箱状の本体22に、複数の仕切り板23を縦横に並べて組み合わせて、ワークを配置するためのマスを格子状に構成するものがある。このようなタイプのパレット21では、ワークの形状や1つのパレット21に収容するワークの数,すなわち必要なマスの数に応じて、仕切り板23を用いた仕切り方が変更される。
【0003】
仕切り板23には、互いを組み合わせるため複数個所に凹部4が形成されているが、この凹部4の隙間寸法は、組み合わされる仕切り板23の幅寸法に対して若干余裕を持たせているため、仕切り板23を組み合わせた場合に、一部の仕切り板23が本体22の外枠に対して平行又は垂直にならず、傾くことがある(図26参照)。このように組み合わせの際に生じるズレは、ズレの状態が大きいものは作業者が目視で気付くため修正されるが、作業者が修正すべきか否か判断に迷うような微妙にズレているパレット21については、修正されず生産ラインに投入される場合がある。
【0004】
ロボットについては、パレットの各マスが正確な格子状に配置されていることを前提として、各ワークの配置座標につき事前にティーチングが行われ、精密に位置制御されるようになっている。そのため、上記のように仕切り板23の配置がズレたパレット21が生産ラインに投入されると、ロボットがティーチング通りの正常な動作でワークを掴みに行こうとする際に、パレット21の仕切り板23の位置が、ティーチング時に使用したパレットとは異なる位置になっている場合があり、アームの手先が仕切り板23に接触して動作が停止してしまうことがある。
【0005】
例えば、特許文献1には、商品を搬送するための通い箱について使用回数を情報として持たせ、その使用回数を劣化の進行度とみなし、所定の使用回数に達したものは画一的に廃棄するようにした技術が開示されている。
また、特許文献2には、ロボットのハンドとアームとの間に自由度(柔軟性)を持たせる機構(フローティング状態,非フローティング状態が切り替え可能)を採用し、ハンドが把持しているワークをパレットに積載する際には、ハンドをフローティング状態にして、パレットの変形に起因するワークとの干渉を回避する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−240954号公報
【特許文献2】特開2008−214054号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1の技術をパレット及びロボットに適用することを想定すると、同様に所定の使用回数に達したパレットを廃棄したり、或いは前記使用回数からパレットの変形度合いを予測して、ワークの取得位置を補正することが考えられる。しかしながら、上記のようなパレット21は、経時変化による変形ではないので、特許文献1のように廃棄することは想定外である。
また、特許文献2のように、ハンドとアームとの間に自由度を持たせる機構を採用しても、その自由度が有効となるのは手先がパレットに接触した後の段階であり、接触した後のリカバリーに寄与するものである。したがって、接触が発生した時点の状況によっては、リカバリーができない場合がある。
【0008】
本発明は上記事情に鑑みてなされたものであり、その目的は、仕切り板の配置にずれがあるパレットについても、手先との干渉を極力回避しながら作業を継続できるロボット制御装置及びロボットの制御方法を提供することにある。
【課題を解決するための手段】
【0009】
請求項1記載のロボット制御装置によれば、ズレ量検出手段は、ロボットアームの手先がパレットのマスの内部に挿入されると、4つの非接触式距離センサによって検出される距離から、周辺を囲む仕切り板の正規位置からのズレ量を検出し、フラグ設定手段は、パレットの外枠をなす部分については予めフラグ「OK」を設定し、手先がマスの内部に挿入された場合に、ズレ量が「ゼロ」,若しくは「マイナス」であれば当該仕切り板に隣接するマス側にフラグ「OK」を設定し、ズレ量が「プラス」であれば当該仕切り板に隣接するマス側にフラグ「NG」を設定する。そして、OKフラグ数計算手段が、各マスのうちフラグ「NG」の設定がないものについてフラグ「OK」の数を計算すると、手先位置制御手段は、フラグ「OK」の数が「2」以上でかつ最大のマスからワークの取り出し又は配置を行ない、フラグ「OK」の数が「2」以上のマスが存在しなければワークの取り出し又は配置を中止する。
【0010】
すなわち、複数の仕切り板を組み合わせてマスを格子状に形成するパレットにおいては、一部の仕切り板が正規位置に対して傾いた状態で配置されると、その仕切り板の両側に沿って並ぶマスの開口寸法に長短が、すなわち正規の寸法からのズレが生じる。ズレ量が「プラス」の場合は、その仕切り板に隣接するマス側では寸法が短縮されるためフラグ「NG」を設定し、ズレ量が「マイナス」の場合は、その仕切り板に隣接するマス側では寸法が延長されるためフラグ「OK」を設定する。
【0011】
そして、パレットの外枠を成す部分については構造上寸法が殆ど変化しないため、デフォルトでフラグ「OK」を設定すると、4隅に位置するマスは重みが「2」になる。したがって、最初は4隅に位置するマスの何れかよりワークの取り出し又は配置を開始すれば、その作業が成功する確率が高いと言える。そして、マスに手先を挿入すれば、非接触式距離センサにより各距離の情報が得られるので、その情報に基づき、前記マスを構成する2つの仕切り板についてフラグ「OK」,「NG」を設定することができる。
【0012】
上記4隅に位置するマスを除く、パレットの外枠を一部とするマスについては、デフォルトでフラグ「OK」の数が1であるから、上記のようにフラグが設定されることで、フラグ「OK」の数が「2」以上となるマスを得ることができる。したがって、このように各マスについて評価を行いながら作業を進めれば、その作業を成功させつつ先に進めて行ける可能性を向上させることができる。
【0013】
請求項2記載のロボット制御装置によれば、ズレ量検出手段は、手先が同一の行又は同一列の列に属する2つ目のマスに挿入されると、双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行なう。すなわち、各仕切り板は略直線であると見做すことができるので、同一の行又列に属するマスの2か所について非接触式距離センサにより距離の情報を得れば、直線式の傾きを求めることで未挿入のマスについてもズレ量を計算して推測することができる。そして、フラグ設定手段は、計算されたズレ量に基づき、前記仕切り板についてフラグ「OK」又は「NG」を設定するので、重みが「2」以上となるマスをより早く判別することができる。
【0014】
請求項3記載のロボット制御装置によれば、フラグ設定手段は、手先が未挿入のマスについて、対向する1組の仕切り板の双方のフラグが設定済みであり、それらの少なくとも一方が「NG」であればそれらのズレ量の和を求め、その和が手先を挿入するための許容値を満たしている場合は、それらの仕切り板について設定されているフラグを「OK」に変更する。すなわち、当初のフラグ「NG」は、ズレ量が「プラス」であるという理由のみで設定されるため、対向する1組の仕切り板について実際のズレ量の和を得れば、その結果から当該マスに手先が挿入可能であるか否かを正確に判定できる。したがって、そのようなケースについてはフラグ「NG」を「OK」に変更することで、手先が挿入可能なマスを増加させることができる。
【0015】
請求項4記載のロボット制御装置によれば、フラグが「OK」に変更された仕切り板が対向する1組の一方であれば、補正手段は双方の仕切り板についてのズレ量を比較し、元「NG」側のズレ量が「OK」側のズレ量以下であれば(ケース1)、当該マスの中心座標値を「OK」側方向に元「NG」側のズレ量分だけ補正する。すなわち、この場合は、マスの中心座標値に対するズレ量の影響が、実質的に元「NG」側のズレ量だけになると想定されるので、その分だけを補正すれば当該マスに対する挿入をより確実に行うことができる。一方、元「NG」側のズレ量が「OK」側のズレ量を超えていれば(ケース2)、当該マスの中心座標値を「OK」側方向に、双方のズレ量の和の1/2だけ補正する。この場合は、マスの中心座標値に対するズレ量の影響が上記のケース1よりも大きいと想定されるので、「OK」側のズレ量も考慮して補正を行うようにする。
【0016】
また、フラグが「OK」に変更された仕切り板が対向する1組の双方であれば(ケース3)、パレットの座標原点に近い側のズレ量から座標原点に遠い側のズレ量を減じた差の1/2だけ、当該マスの中心座標値を座標原点から遠ざかる方向に補正する。この場合は、マスの中心座標値に対するズレ量の影響が上記のケース2よりも更に大きいと想定されるので、双方のズレ量を考慮し、ズレ量の差の符号に従うことで中心座標値を適切に補正する。
【0017】
請求項5記載のロボット制御装置によれば、ズレ量検出手段は、請求項2と同様にズレ量を推測する計算を行ない、フラグ設定手段は、計算されたズレ量に基づきフラグ「OK」又は「NG」を設定する。そして、仕切り板情報記憶手段には、計算されたズレ量に基づくフラグ設定と、非接触式距離センサによって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小,大とする仕切り板情報が記憶される。すなわち、この仕切り板情報は、フラグ「OK」が設定された仕切り板について、その情報の確度を相対評価したものであり、非接触式距離センサによって直接検出される距離から得られたズレ量に基づくフラグ設定の確度は相対的に高く、推測されたズレ量に基づくフラグ設定の確度は相対的に低いと考えることができる。
【0018】
そして、手先位置制御手段は、フラグ「OK」の重みが「2」以上でかつ最大のマスが2つ以上存在する場合は、各マスの仕切り板について仕切り板情報の重みづけの数値の和を求め、その和の値が大きい方を選択してワークの取り出し又は配置を行なうので、フラグの設定状況に応じて付与された確度の重み付けにより、手先の挿入が成功する確率がより高い方を選択できる。
【0019】
請求項6記載のロボット制御装置によれば、複数のパレットについて連続して処理を行う場合、挿入成否情報記憶手段に、以前に処理したパレットの各マスについて、手先の挿入が行なわれたか否かの情報を記憶する。そして、手先位置制御手段は、前記重みが「2」以上でかつ最大のマスが2つ以上存在する場合には、挿入成否情報記憶手段に記憶されている処理済みのパレットの情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択してワークの取り出し又は配置を行なう。すなわち、本発明が前提とするパレットは、仕切り板が手作業によって組み付けられることが多いので、複数のパレットが連続して処理されると、複数の仕切り板の組み合わせによって生じるズレにはある程度の傾向が出現することが想定される。
【0020】
そこで、挿入成否情報記憶手段に、以前に処理したパレットの各マスについて手先の挿入が行なわれたか否かの情報を記憶しておき、次にロボットの手先を挿入する候補となるマスが複数存在する場合に前記情報を利用して候補を決定すれば、挿入が成功する蓋然性を向上させることができる。
【図面の簡単な説明】
【0021】
【図1】一実施例であり、制御内容を示すフローチャート
【図2】マスの中心座標の補正処理を示すフローチャート
【図3】ロボット本体がパレットに配置されているワークをピックアップしてベルトコンベア装置に配置する状態を示す斜視図
【図4】ハンドに距離センサが取り付けられている状態を拡大して示す分解斜視図
【図5】ロボットの制御系を示す機能ブロック図
【図6】距離センサによって各仕切り板までの距離を測定する状態を示す図
【図7】仕切り板の配置に全くズレがないパレットについて、ワークの取り出しを行う場合の処理手順を示す図(その1)
【図8】図7相当図(その2)
【図9】図7相当図(その3)
【図10】図7相当図(その4)
【図11】図7相当図(その5)
【図12】図7相当図(その6)
【図13】図7相当図(その7)
【図14】仕切り板の配置にズレがあるパレットについての図7相当図(その1)
【図15】図14相当図(その2)
【図16】図14相当図(その3)
【図17】図14相当図(その4)
【図18】図14相当図(その5)
【図19】マスの中心座標を補正する処理を説明する図
【図20】図14相当図(その6)
【図21】図14相当図(その7)
【図22】図14相当図(その8)
【図23】図14相当図(その9)
【図24】図14相当図(その10)
【図25】従来技術を説明する、パレットの構成を示す斜視図
【図26】パレットの平面図
【発明を実施するための形態】
【0022】
以下、一実施例について図1ないし図24を参照して説明する。図3は、ロボット本体1が、パレット21に配置されているワーク3をピックアップして、ベルトコンベア装置4に配置する状態を示す斜視図である。4軸のアームを有するロボット本体1は、ハンド5をパレット21に降下させると、ハンド5でワーク3を把持して引き上げる。そして、アームを旋回させて先端をベルトコンベア装置4の上方に位置させた後下降させると、ハンド5からワーク3を離してベルトコンベア装置4上の搬送用パレット6に配置する。
【0023】
また、ロボット本体1のアーム先端には、光学式(非接触式)の距離センサ7が配置されている。図4は、ハンド5に距離センサ7が取り付けられている状態を拡大して示す分解斜視図である。ハンド5とアーム先端との間には、4つの距離センサ7A〜7Dを取り付けるため、十字状をなし、各先端部が下方に折り曲げられた形状の取付部材8が配置される。取付部材8の先端部が下方に折り曲げられて垂直となる四方の各側面には、4つの距離センサ7A〜7Dが外側に向けて配置されている。
取付部材8の十字が交差する部分には、ねじ止め用の穴8aが形成されており、上方から固定部材9を介してねじ止めにより固定される。そして、ハンド5は、固定部材9を介してアームの先端に取り付けられる。距離センサ7A〜7Dは、ハンド5側から周辺側に光信号を照射し、その反射光を受光するまでの到達時間によって距離を検出する。
【0024】
図5は、ロボットの制御系を示す機能ブロック図である。ロボット10は、ロボット本体1と、そのロボット本体1の各軸に配置されている図示しないサーボモータを駆動制御するコントローラ(手先位置制御手段,ズレ量検出手段,ズレ量記憶手段,フラグ設定手段,フラグ設定記憶手段,OKフラグ数計算手段,仕切り板情報記憶手段,挿入成否情報記憶手段,座標補正手段)11とを中心として、その他の周辺機器とで構成されている。ロータリエンコーダ12は、ロボット本体1の上記各軸モータに配置され、それらのモータの回転位置を検出してコントローラ11に出力する。また、上述した距離センサ7A〜7Dの検出信号が、コントローラ11に出力されている。コントローラ11は、予めティーチングされた動作目標位置に従い、ロータリエンコーダ12並びに距離センサ7A〜7Dの検出信号を参照して、ロボット本体1の手先位置(ハンド5の位置)を制御する。
【0025】
本実施例では、例えば図26等に示すように、一部の仕切り板が若干傾いているためにパレット21の全てのマスにハンド5を挿入できない可能性があるものについて、各マスに配置されているワーク3を順次取り出すため、距離センサ7により検出された距離に基づいてロボット本体1の動作目標位置の補正を行う。図6は、ハンド5をマスに挿入した場合に、距離センサ7A〜7Dにより各仕切り板までの距離を測定する状態を示している。そして、距離の測定結果に応じて、各マスを構成している仕切り板に、後述のようにフラグ「OK」,「NG」を設定する。
【0026】
次に、本実施例の作用について図1及び図2,図7ないし図24を参照して説明する。図1は、コントローラ11の制御内容を示すフローチャートである。コントローラ11は、先ず、パレット21の外枠を構成する部分については、構造的に堅牢であるため歪みが生じないという前提でフラグ「OK」を設定する(ステップS1)。尚、フラグ「OK」,「NG」が設定されていないものは未設定「?」として、図7以降の図面で図示している。次に、未取得で且つフラグ「NG」の設定がないマスについて、フラグ「OK」の数を計算する(ステップS2)。
【0027】
続いて、フラグ「OK」を設定したものについて、その設定を行った条件に従い、情報の確度を示す「信頼性重み(仕切り板情報)」を、ステップS2でフラグ「OK」の数を計算したマスについて計算する(ステップS3)。ここで、信頼性重みは、パレットの外枠であり「OK」となったものは評価対象外で重み値「0」,距離センサ7により距離が測定された結果「OK」となったものは重み値「1」,後述するように計算で推定された結果「OK」となったものは重み値「0.5」とする。それから、フラグ「OK」の数が「2」以上のマスがあるか否かを判断し(ステップS4)、ある場合は(YES)フラグ「OK」の数が最大のマスが、1つか否かを判断する(ステップS5)。最大のマスが1つであれば(YES)そのマスからワーク3を取得し(ステップS6)、最大のマスが2つ以上ある場合は(NO)それらのマスのうち、信頼性重みが最大のものを選択してワーク3を取得する(ステップS7)。尚、複数のマスの信頼性重みが何れも同じである場合は、例えばマスに付した番号の小さい方を選択する。
【0028】
ステップS6又はS7で、マスにロボットの手先を挿入すると、距離センサ7によって四方の距離を測定する(ステップS8)。そして、四方のそれぞれについて、仕切り板のズレが正規の位置に対して「プラス」側にずれているか否かを判断する(ステップS9)。ここで、「プラス」とは、マスの中心座標から仕切り板までの距離が延長される方向にずれている場合を「プラス」とする。ズレが「プラス」側であれば(YES)、対応する仕切り板について、現在手先が挿入されているマスに隣接するマス側のフラグを「NG」に設定する(ステップS10)。一方、ズレ量がゼロ,若しくはズレが「マイナス」側であれば(NO)、上記マス側のフラグを「OK」に設定する(ステップS11)。尚、ズレ量が「ゼロ」とは、必ずしもズレが全く無い状態に限るものではなく、手先をマスに挿入する観点から、仕切り板23が実質的に正規位置にあると言えるような状態を言う。
【0029】
次に、パレット21の同じ行又は同じ列に属する2つ目のマスについて手先を挿入したか否かを判断し(ステップS12)、2つ目のマスであれば(YES)、それら2か所について取得された仕切り板23のズレ量から当該仕切り板23の傾きを計算することができ、その傾きから、同じ行又は同じ列に属する未取得のマスについても上記仕切り板23のズレ量を計算で求めることができる。したがって、求めたズレ量からフラグ「OK」,「NG」を設定する(ステップS13)。尚、ステップS12において2つ目のマスでない場合は(NO)ステップS13をスキップしてステップS14に移行する。
【0030】
ステップS14では、未取得のマスで、対向する1組の仕切り板23のフラグ設定が「OK」:「NG」又は「NG」:「NG」になっているものがあるか否かを判断する。該当するマスがあり(YES)、そのマスの1組の仕切り板23のズレ量が何れも距離センサ7により実測されていれば、それらのズレ量から、ロボットの手先が挿入可能か否かが改めて判定できる(ステップS15)。例えば双方のズレ量の和によって、マスの開口寸法が5mm(許容値)以上に短縮された場合は挿入不可で、開口寸法の短縮値が5mm未満であれば挿入可能であるとする。
【0031】
したがって、ステップS15においてズレ量の和が許容値未満であれば(YES)、対応する仕切り板23のフラグを「OK」に設定し直し(ステップS16)当該マスの中心座標値を後述するように補正する(ステップS17)。それから、ステップS2に戻る。以上の処理を繰り返し実行した結果、ステップS4でフラグ「OK」の数が「2」以上のマスが無くなり(NO)、その時点で未取得のマスが存在しているとすれば(ステップS18:YES)エラーメッセージを出力して(ステップS19)処理を終了する。未取得のマスが存在しなければ(YES)正常終了となる。
【0032】
ここで、図7ないし図13は、仕切り板23の配置に全くズレがないパレット21について、ワーク3の取り出しを行う場合の処理手順を示す。尚、パレット21の内部は、3+3の計6枚の仕切り板23で区切られており、計16個のマスがある。これらの各マスをMとし、それぞれの配置番号を付してM(1)〜M(16)で示し、図中に示す丸数字は、ワーク3を取得した順序を示す。図7に示すように、最初は4隅に位置するM(1),M(4),M(13),M(16)の重みが「2」であり(ステップS2)、これらの4つを選択候補A〜Dとして示している。そして、これらの中から、番号が最小であるA;M(1)を選択し(第1番)、ワーク3を取得する(ステップS4〜S7)。
【0033】
すると、距離センサ7により各仕切り板23(1),23(4)までの距離が測定され(ステップS8)、M(1)に隣接するM(2),M(5)の仕切り板23(4),(1)について、実測結果によりフラグ「OK」が設定される(実OK,図8参照,ステップS9,S10)。次にM(2),M(5)を選択候補A,Cとして、M(13),M(16)を選択候補D,Eとすると、選択候補A〜Eは何れもフラグの重みが「2」である。しかし、信頼性重みについては、選択候補A,Cが実測結果に基づきOKとなったフラグが1つあるので「1」,その他の選択候補は外枠に基づくOKフラグが2つで「0」となる。したがって、番号が最小の選択候補A:M(2)を選択する(第2番,ステップS5,S7)。
【0034】
すると、M(2)について距離センサ7により各仕切り板23までの距離が測定され、M(2)に隣接するM(3),M(6)の仕切り板23(5),23(1)について、実測結果によりフラグ「OK」が設定される(実OK,図9参照)。それと同時に、M(1),M(2)の2つについて実測が行われた結果、仕切り板23(1)については、2か所で得られた距離から、計算により傾き状態を推測できる。そして、仕切り板23にはズレがないので、M(3),M(4),M(7),M(8)のフラグは「推OK」となる(ステップS12,S13)。
【0035】
これにより、M(3),M(4)のフラグ「OK」の数は「3」となり、これらを選択候補A,Bとすると、選択候補A,Bの信頼性の重みはそれぞれ「1.5」,「0.5」であるから選択候補A;M(3)が選択される(第3番)。M(3)について距離計測が行われればM(4)のフラグ「OK」の数は「4」となるから、次はM(4)が選択される(第4番)。そして、M(3),M(4)が選択されると、距離センサ7による計測の結果、M(7),M(8)における仕切り板23(1)のフラグは「推OK」→「実OK」に変更される。
【0036】
M(4)までワーク3の取得が完了した段階で、M(5),M(8),M(13),M(16)が何れも重み「2」であるから、これらが選択候補A〜Dとなる。そして、信頼性の重みは選択候補A,Bが何れも「1」であるから、番号が小さい選択候補A;M(5)を選択する(第5番)。これにより、M(5)について距離センサ7により距離が測定され、M(5)に隣接するM(6),M(9)の仕切り板23(4),23(2)について、実測結果によりフラグ「OK」が設定される(実OK,図10参照)。
【0037】
それと同時に、M(1),M(5)の2つについて実測が行われた結果、仕切り板23(4)については、2か所で得られた距離から計算により傾き状態を推測できる。そして、仕切り板23(4)にはズレがないので、M(9),M(13)のフラグは「推OK」となる。これにより、M(6),M(9),M(13),M(14)を選択候補A,C,D,Eとすると、選択候補C,Dのフラグ「OK」の数は「3」となる。選択候補C,Dの信頼性の重みはそれぞれ「1.5」,「0.5」であるから選択候補C;M(9)が選択され(第6番)、M(9)について距離計測が行われればM(13)のフラグ「OK」の数は「4」となるから、次はM(13)が選択される(第7番)。そして、M(9),M(13)が選択されると、距離センサ7による計測の結果、M(10),M(14)における仕切り板23(4)のフラグは「推OK」→「実OK」に変更される。
【0038】
M(13)までワーク3の取得が完了した段階で、M(6),M(8),M(14),M(16)が何れもフラグ「OK」の数が「2」であるから、これらが選択候補A〜Dとなる。そして、信頼性の重みは、選択候補A〜Dがそれぞれ「2」,「1」,「1」,「0」であるから選択候補A;M(6)を選択する(第8番,図11参照)。これにより、M(6)について距離センサ7により距離が測定され、M(6)に隣接するM(7),M(10)の仕切り板23(5),23(2)について、実測結果によりフラグ「OK」が設定される(実OK)。
【0039】
そして、M(5),M(6)の2つ,M(2),M(6)の2つについて実測が行われた結果、仕切り板23(2),23(5)については、2か所で得られた距離から計算により傾き状態を推測できるので、M(7),M(8),M(10)〜M(12),M(14),M(15)のフラグは推OKとなる。M(7),M(8),M(10),M(14)のフラグ「OK」の数は「3」となり、その他残り全てのマスであるM(7),M(8),M(10)〜M(12),M(14)〜M(16)も加えて選択候補A〜Hとなる。
【0040】
フラグ「OK」の数が「3」である選択候補A,B,C,Fについては、選択候補A,Cの信頼性重みが「2.5」であり、選択候補B,Fの信頼性重みが「1.5」であるから、選択候補A;M(7)が選択される(第9番)。M(7)について距離計測が行われればM(8)のフラグ「OK」の数は「4」となるから、次はM(8)が選択される(第10番)。そして、M(7),M(8)が選択されると、距離センサ7による計測の結果、M(11),M(12)における仕切り板23(2)のフラグは「推OK」→「実OK」に変更される。
【0041】
M(8)が選択された時点で、残り全てのマスであるM(10)〜M(12),M(14)〜M(16)が何れも重み「3」で選択候補A〜Fとなり、信頼性の重みは選択候補Aだけが「2.5」で最大となるので、次は選択候補A;M(10)が選択される(第11番,図12参照)。以降は同様にしてM(11),M(12),M(14)〜M(16)が順次選択され、未取得のマスは存在しないから「正常終了」となる(ステップS18:NO,図13参照)。
【0042】
次に、図14ないし図24は、仕切り板23の配置にズレがあるパレット21について、ワーク3の取り出しを行う場合の処理手順を示す。図中に示す波線は、仕切り板23の正規の配置を示す。尚、ズレの許容値は例えば±5mm未満とするが、図示の都合上、以下に記載するズレの具体数値と、図中に示されている寸法の比率とは厳密には一致しない。また、複数のパレット21を連続して処理する結果、コントローラ11に内蔵されているメモリには、その処理結果が記憶されることでデータベースが形成されており、選択候補となったマスのフラグ「OK」の数が同じである場合は、信頼性の重みを参照する以前に上記データベースより過去の情報を取得し、過去に配置が成功した確率が高いものを優先して選択する。
【0043】
図14に示すように、最初は4隅に位置するM(1),M(4),M(13),M(16)の重みが「2」で、これらの4つを選択候補A〜Dとするのは図7に示すケースと同様である。そして、過去の情報を参照した結果、例えば選択候補B,Dはワーク3が取得できなかった場合があるが、選択候補A,Cはワーク3が毎回取得できていたとする。この場合、選択候補A,Cのうち番号が小さい選択候補A;M(1)を取得する(第1番,図15参照)。すると、距離センサ7により各仕切り板23(1),23(4)までの距離が測定され、M(1)に隣接するM(5),M(2)について、実測結果によりフラグ「NG」,「OK」がそれぞれ設定される。
【0044】
すなわち、仕切り板23(1)は、距離測定の基準位置,若しくはマスの中心座標から正規位置までの距離を延長する方向(プラス)にずれが生じており、仕切り板23(4)は、距離測定の基準位置,若しくはマスの中心座標から正規位置までの距離を短縮する方向(マイナス)にずれが生じているからである。したがって、M(5)はこの時点で選択対象外となる。
【0045】
取得したM(1)に替わり、M(2)のフラグ「OK」の数が「2」となって選択候補Aとなるが、信頼性の重みは選択候補Aが実測結果に基づきOKとなったフラグが1つあるので「1」,その他の選択候補B〜Dは外枠に基づくOKフラグが2つで「0」となる。したがって、番号が最小の選択候補A:M(2)を選択する(第2番)。すると、M(2)について距離センサ7により距離が測定され、M(2)に隣接するM(3),M(6)の仕切り板23(5),23(1)について、実測結果によりフラグ「OK」,「NG」がそれぞれ設定される(図16参照)。
【0046】
それと同時に、M(1),M(2)の2つについて実測が行われた結果、仕切り板23(1)については、2か所で得られた距離から計算により傾き状態を推測できる。そして、仕切り板23(1)は、その配置方向に沿って均一な幅のズレが生じている(すなわち、直線の傾きがゼロ)ので、M(3),M(4)のフラグは「推OK」,M(7),M(8)のフラグは「推NG」となる。これにより、M(3),M(4)のフラグ「OK」の数は「3」となり、これらが選択候補A,Bとなる。
【0047】
ここで、過去の情報を参照した結果、M(3)の方がワーク3を取得できた確率が高い場合には、選択候補A;M(3)を選択する(第3番,図17参照)。M(3),M(4)の取得できた確率が等しい場合は、信頼性の重みを参照すれば選択候補A,Bの信頼性の重みはそれぞれ「1.5」,「0.5」であるからやはりM(3)が選択される。M(3)について距離計測が行われた結果、隣接するM(4)側の仕切り板23(6)についてはズレが+5mmであったとすると、フラグ「NG」が設定される。したがって、この時点でM(4)は選択対象外となる。また、M(7)の仕切り板23(1)のフラグは「推OK」→「実OK」に変更される。
【0048】
すると、次はM(13),M(16)が選択候補A,Bとなり、過去の情報から選択候補A;M(13)が選択される(第4番)。M(13)について距離センサ7により距離が測定され、M(13)に隣接するM(9),M(14)の仕切り板23(3),23(4)について、実測結果によりフラグ「NG」,「OK」がそれぞれ設定される(実OK,図18参照)。したがって、M(9)は選択対象外となる。
【0049】
それと同時に、M(1),M(13)の2つについて実測が行われた結果、仕切り板23(4)については、2か所で得られた距離から、計算により傾き状態を推測できる。この場合、ズレが何れも−4mmであったとすると、M(5),M(6),M(9),M(10)については何れも「推OK」となる。但し、M(5),M(9)が選択対象外である状態は変化しない。またこの時、M(5),M(9)のX方向については、マスの中心座標を補正する。以下、この補正処理(ステップS17)について、図2及び図19を参照して説明する。
【0050】
図2において、先ず、フラグ「推NG」が「推OK」に変更された当該マスについて、元のフラグが対向する1組の仕切り板23について双方とも「推NG」であったか否かを判断する(ステップS21)。何れか一方のみが「推NG」であった場合は(NO)、元「NG」側の仕切り板23のズレ量と「OK」側の仕切り板23のズレ量とを比較し(ステップS22)後者が前者以上であれば(YES)、元「NG」側のズレ量分だけズレの方向に中心座標を補正する(ステップS23)。
これは図19(b)のケースであり、Y方向の原点近傍側のズレ量が−2mm(ここでの符号は、マスの開口寸法を短縮する方向という意味で負である)であり、Y方向の原点遠方側のズレ量が+5mmであれば、前者のズレ量だけを考慮すれば良く、中心座標をY方向に2mm補正する。
【0051】
一方、ステップS22において、元「NG」側の仕切り板23のズレ量が「OK」側の仕切り板23のズレ量を超えている場合は(NO)、元「NG」側のズレ量から「OK」側のズレ量を減じた結果を1/2にしたものを補正量とする(ステップS24)。そして、元「NG」側のズレ方向に、上記補正量の分だけ補正する(ステップS25)。これは図19(c)のケースであり、Y方向の原点近傍側のズレ量が−5mmであり、Y方向の原点遠方側のズレ量が+2mmであれば、{5−(−2)}/2=3.5[mm]だけ中心座標をY方向に補正する。
【0052】
また、ステップS21において、元のフラグが双方とも「推NG」であった場合は(YES)、パレット上のXY座標の原点に近い方の仕切り板のズレ量から、前記原点に遠い方の仕切り板のズレ量を減じた差に1/2を乗じたものを補正量として(ステップS26)、ズレ方向の座標値に補正量を加える(ステップS27)。これは図19(a)のケースであり、Y方向の原点近傍側のズレ量が−2mmであり、Y方向の原点遠方側のズレ量が−3mmであれば、(2−3)/2=−0.5[mm]だけ中心座標をY方向に補正する。
すなわち、図18に示すケースでは、M(5),M(9)のX方向のズレ量は、原点近傍側である外枠側はゼロであり、原点から遠方側である仕切り板23(4)は4mmであるから、(0−4)/2=−2[mm]だけ中心座標をX方向に補正する。
【0053】
次は、M(14),M(16)が選択候補A,Bとなるが、過去の情報から選択候補A;M(14)を選択し(第5番,図20参照)、仕切り板23(3),23(5)について距離が計測される。すると、これらの何れも2か所で計測が行われたので、M(11),M(12),M(15),M(16)並びにM(6),M(7),M(10),M(11)について計算による推定が行われる。例えば仕切り板23(3)についての推定の結果が、
M(15)→−5mm,推定NG / M(11)→+5mm,推定OK
M(16)→−8mm,推定NG / M(12)→+8mm,推定OK
になったとする。この場合、M(15),M(16)は選択対象外となる。また、仕切り板23(5)についてはズレがないので、上記のM(6)〜M(11)の何れも推定OKとなる。
【0054】
すると次は、M(11),M(12)が選択候補A,Bとなる。これらに関する過去の情報については差がなく、信頼性の重みはそれぞれ「1」,「0.5」であるから、選択候補A;M(11)を選択する(第6番,図21参照)。M(11)について、仕切り板23(2),23(3),23(5),23(6)について距離が計測され、隣接するM(7),M(10),M(12),M(15)のフラグが設定される。すなわち、M(7)側の仕切り板23(2)並びにM(15)側の仕切り板23(3)については「実NG」,M(10)側の仕切り板23(5)並びにM(12)側の仕切り板23(6)については「実OK」となる。また、M(7)のY方向ずれは(5+2)=7[mm]であるから、フラグの更新はない。
【0055】
また、仕切り板23(6)について2か所で計測が行われ、M(7),M(8),M(15),M(16)について計算による推定が行われる。例えば推定の結果が、M(7)が「推OK」,M(8)が「推NG」,M(15)が「推NG」,M(16)が「推OK」であったとする。すると、M(8)のX方向ズレ量は(2+0)=2[mm]に確定するので、仕切り板23(6)のフラグを「推OK」に更新すると共に、中心座標を(2−0)/2=1[mm]だけX方向に補正する。また、M(15)側の仕切り板23(6)のズレ量が5mmに推定されるとX方向ズレ量は(0+5)=5[mm]に確定するので、フラグの更新はない。この時点で、フラグ「OK」の数が「2」以上となるのはM(12)だけであるから(「3」)、次はM(12)を選択する(第7番)。
【0056】
すると、図22に示すように、隣接するM(8)の仕切り板23(2),M(16)の仕切り板23(3)について、フラグが「実NG」に設定される。また、仕切り板23(2)については2箇所で計測が行われたので、M(9),M(10)について推定が行われる。M(9)のY方向ズレ量が−5mm,−8mmであるとすると、それらの和は13mmであるからM(9)についてフラグの更新はない。また、M(5)のY方向ズレ量は−5mm,+5mmとなるから、それらの和は0mmとなり、M(5)の仕切り板23(1)のフラグは「実OK」に更新する。
【0057】
更に、M(10)のY方向ズレ量が−2mm,−5mmであるとすると、それらの和は7mmであるから、M(10)についてフラグの更新はない。また、M(6)のY方向ズレ量が−5mm,+2mmとなるから、それらの和は3mmとなり、M(6)の仕切り板23(1)のフラグを「実OK」に更新する。そして、M(5)の中心座標をY方向に5mm補正し、M(6)の中心座標をY方向に{5−(−2)}/2=3.5[mm]補正する。この時点で、フラグ「OK」の数が「2」以上となるのはM(5),M(6)であり(「4」)、過去の情報では判断できず、信頼性重みはそれぞれ「2」,「2.5」であるから、次はM(6)を選択する(第8番)。
【0058】
すると、図23に示す状態となる。この時フラグは、M(10)側の仕切り板23(2)が「実NG」,M(7)側の仕切り板23(5)が「実OK」に更新される。そしてフラグ「OK」の数が「2」以上となるのはM(5)であるから(「4」)次はM(5)を選択する(図24参照,第9番目)。この時フラグは、M(9)側の仕切り板23(2)が「実NG」に更新される。そして、この時点でフラグ「OK」の数が「2」以上となるマスは存在せず(ステップS4:NO)、未取得のマスが存在するので(ステップS18:YES)、エラーを出力して(ステップS19)処理を終了する。
尚、以上はパレット21の各マスよりワーク3を取り出す場合について説明したが、パレット21の各マスにワーク3を配置する場合でも、全く同様の制御が適用可能であることは言うまでもない。
【0059】
以上のように本実施例によれば、コントローラ11は、ロボットアームの手先がパレット21のマスの内部に挿入されると、距離センサ7A〜7Dにより検出される距離から、周辺を囲む仕切り板23の正規位置からのズレ量を検出し、パレット21の外枠をなす部分については予めフラグ「OK」を設定し、手先がマスの内部に挿入された場合に、ズレ量が「ゼロ」,若しくは「マイナス」であれば当該仕切り板23に隣接するマス側にフラグ「OK」を設定し、ズレ量が「プラス」であれば当該仕切り板23に隣接するマス側にフラグ「NG」を設定する。そして、各マスのうちフラグ「NG」の設定がないものについてフラグ「OK」の数を計算すると、フラグ「OK」の数が「2」以上でかつ最大のマスからワーク3の取り出し又は配置を行ない、フラグ「OK」の数が「2」以上のマスが存在しなければワーク3の取り出し又は配置を中止するようにした。
【0060】
すなわち、最初は作業が成功する確率が高いパレット21の4隅に位置するマスの何れかよりワーク3の取り出し又は配置を開始し、マスに手先を挿入すれば、距離センサ7により各距離の情報が得られるので、その情報に基づきマスを構成する仕切り板23についてフラグ「OK」,「NG」を設定することができる。したがって、このように各マスについて評価を行いながら作業を進めれば、その作業を成功させつつ先に進めて行ける可能性を向上させることができる。
【0061】
また、コントローラ11は、手先が同一の行又は同一列の列に属する2つ目のマスに挿入されると、双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板23についてズレ量を推測する計算を行なうので、未挿入のマスについてもズレ量を計算して推測することができる。そして、計算されたズレ量に基づき、仕切り板23についてフラグ「OK」又は「NG」を設定するので、フラグ「OK」の数が「2」以上となるマスをより早く判別することができる。
【0062】
更に、コントローラ11は、手先が未挿入のマスについて、対向する1組の仕切り板23の双方についてフラグが設定済みであり、それらの少なくとも一方が「NG」で、それらのズレ量の和が手先を挿入するための許容値を満たしていれば、それらの仕切り板23について設定されているフラグを「OK」に変更する。したがって、手先が挿入可能なマスを増加させることができる。
【0063】
また、フラグが「OK」に変更された仕切り板23が対向する1組の一方であれば、元「NG」側のズレ量が「OK」側のズレ量以下の場合は、当該マスの中心座標値を「OK」側方向に元「NG」側のズレ量分だけ補正し、元「NG」側のズレ量が「OK」側のズレ量を超えている場合は当該マスの中心座標値を「OK」側方向に、双方のズレ量の和の1/2だけ補正し、フラグが「OK」に変更された仕切り板23が対向する1組の双方である場合は、パレット21の座標原点に近い側のズレ量から座標原点に遠い側のズレ量を減じた差の1/2だけ、当該マスの中心座標値を座標原点から遠ざかる方向に補正する。したがって、双方のズレ量の発生状態に応じて、マスの中心座標値を適切に補正することができる。
【0064】
また、コントローラ11は、計算されたズレ量に基づくフラグ設定と、距離センサ7によって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小,大として設定し、フラグ「OK」の数が「2」以上でかつ最大のマスが2つ以上存在する場合は、各マスの仕切り板23について信頼性重みの和を求め、その和の値が大きい方を選択してワーク3の取り出し又は配置を行なうので、フラグの設定状況に応じて付与された情報確度の重み付けにより、手先の挿入が成功する確率がより高い方を選択できる。
【0065】
加えて、コントローラ11は、複数のパレット21について連続して処理を行う場合、以前に処理したパレット21の各マスについて、手先の挿入が行なわれたか否かの情報を記憶し、フラグ「OK」の数が「2」以上でかつ最大のマスが2つ以上存在する場合には、処理済みのパレット21の情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択してワーク3の取り出し又は配置を行なうようにした。したがって、過去に処理を行った場合の情報に基づいて、挿入を成功する蓋然性を向上させることができる。
【0066】
尚、本実施例のように処理を進めていけば、図14〜図24に示したように、状況としてどうしても手先を挿入できないマスがある場合は、そこで作業が停止してしまうことは避けられない。しかし、そもそも人が正常か異常か区別のつかないような仕切り板23のズレを持つパレット21であることを考えれば、確率的には上記のようにどうしても停止せざるを得ないケースは少ない。
むしろ、挿入可能なマスから順に手を入れると同時に、隣接するマスのズレの状態を評価しながら作業を進めることで、最初は補正の必要の無いマスで仕切り板23の状況を評価・収集しながら処理を進め、その後、補正が必要なマスにそれぞれ適合した補正を行うことで手先が挿入可能となる。すなわち、人が正常か異常か区別のつかないような仕切り板23のズレを持つパレット21であることを考えれば、多くの場合は、最後まで全てのマスに手先を挿入できる可能性が高まる。故に、結果としてロボットの停止回数が抑制され、作業効率が向上する。
【0067】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
1つのパレットに配置するマスの数は、16個に限ることなく適宜変更して良い。
過去の情報に基づく成功率や信頼性の重みが同じである場合に選択するマスについては、マスに付与した番号が大きいものから優先して選択しても良い。
信頼性重み付けについて付与する数値は、重みの大小関係を維持する範囲で適宜変更して良い。また、過去の情報に基づく成功率や信頼性重みについては必要に応じて利用すれば良く、例えばマスに付与した番号の大小のみで選択対象を決定しても良い。
【0068】
フラグ「OK」,「NG」を判定するためのズレ量の具体数値についても、個別のケースに応じて適宜変更すれば良い。
パレットは設備内を巡回するものであることから、パレットの外枠は一定以上の硬度を有しており容易には変形しにくいこと、また外枠が「実NG」と同じように変形した場合は、その他の変形していないパレットと形状が比較し易く容易にその事実が把握でき排除できるので、そのようなパレットは設備内には流れないとも言える。したがって、パレットの外枠に付与する信頼性重みについては、例えば「推OK」と同じ数値に設定したり、「推OK」と「実OK」との間の数値に設定しても良い。
【符号の説明】
【0069】
図面中、1はロボット本体、3はワーク、21はパレット、7は距離センサ(非接触式距離センサ)、11はコントローラ(手先位置制御手段,ズレ量検出手段,ズレ量記憶手段,フラグ設定手段,フラグ設定記憶手段,OKフラグ数計算手段,仕切り板情報記憶手段,挿入成否情報記憶手段,座標補正手段)を示す。
【技術分野】
【0001】
本発明は、ロボットアームの手先位置を制御することで、パレットに配置されている複数のワークの順次取り出し,又はパレットに対する複数のワークの順次配置を行うロボット制御装置及びロボットの制御方法に関する。
【背景技術】
【0002】
生産現場においては、複数のワークが配置されたパレットをコンベア等により搬送することで工場内の生産ラインに流通させ、ロボットがアームの手先(ハンド)によりパレット内のワークを把持して取り出し、組み付けなどを行うようになっている。また、逆にロボットがパレットに対してワークを順次配置する作業も行われている。例えば図25に示すように、上記のように使用されるパレット21には、上面が開口した箱状の本体22に、複数の仕切り板23を縦横に並べて組み合わせて、ワークを配置するためのマスを格子状に構成するものがある。このようなタイプのパレット21では、ワークの形状や1つのパレット21に収容するワークの数,すなわち必要なマスの数に応じて、仕切り板23を用いた仕切り方が変更される。
【0003】
仕切り板23には、互いを組み合わせるため複数個所に凹部4が形成されているが、この凹部4の隙間寸法は、組み合わされる仕切り板23の幅寸法に対して若干余裕を持たせているため、仕切り板23を組み合わせた場合に、一部の仕切り板23が本体22の外枠に対して平行又は垂直にならず、傾くことがある(図26参照)。このように組み合わせの際に生じるズレは、ズレの状態が大きいものは作業者が目視で気付くため修正されるが、作業者が修正すべきか否か判断に迷うような微妙にズレているパレット21については、修正されず生産ラインに投入される場合がある。
【0004】
ロボットについては、パレットの各マスが正確な格子状に配置されていることを前提として、各ワークの配置座標につき事前にティーチングが行われ、精密に位置制御されるようになっている。そのため、上記のように仕切り板23の配置がズレたパレット21が生産ラインに投入されると、ロボットがティーチング通りの正常な動作でワークを掴みに行こうとする際に、パレット21の仕切り板23の位置が、ティーチング時に使用したパレットとは異なる位置になっている場合があり、アームの手先が仕切り板23に接触して動作が停止してしまうことがある。
【0005】
例えば、特許文献1には、商品を搬送するための通い箱について使用回数を情報として持たせ、その使用回数を劣化の進行度とみなし、所定の使用回数に達したものは画一的に廃棄するようにした技術が開示されている。
また、特許文献2には、ロボットのハンドとアームとの間に自由度(柔軟性)を持たせる機構(フローティング状態,非フローティング状態が切り替え可能)を採用し、ハンドが把持しているワークをパレットに積載する際には、ハンドをフローティング状態にして、パレットの変形に起因するワークとの干渉を回避する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−240954号公報
【特許文献2】特開2008−214054号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1の技術をパレット及びロボットに適用することを想定すると、同様に所定の使用回数に達したパレットを廃棄したり、或いは前記使用回数からパレットの変形度合いを予測して、ワークの取得位置を補正することが考えられる。しかしながら、上記のようなパレット21は、経時変化による変形ではないので、特許文献1のように廃棄することは想定外である。
また、特許文献2のように、ハンドとアームとの間に自由度を持たせる機構を採用しても、その自由度が有効となるのは手先がパレットに接触した後の段階であり、接触した後のリカバリーに寄与するものである。したがって、接触が発生した時点の状況によっては、リカバリーができない場合がある。
【0008】
本発明は上記事情に鑑みてなされたものであり、その目的は、仕切り板の配置にずれがあるパレットについても、手先との干渉を極力回避しながら作業を継続できるロボット制御装置及びロボットの制御方法を提供することにある。
【課題を解決するための手段】
【0009】
請求項1記載のロボット制御装置によれば、ズレ量検出手段は、ロボットアームの手先がパレットのマスの内部に挿入されると、4つの非接触式距離センサによって検出される距離から、周辺を囲む仕切り板の正規位置からのズレ量を検出し、フラグ設定手段は、パレットの外枠をなす部分については予めフラグ「OK」を設定し、手先がマスの内部に挿入された場合に、ズレ量が「ゼロ」,若しくは「マイナス」であれば当該仕切り板に隣接するマス側にフラグ「OK」を設定し、ズレ量が「プラス」であれば当該仕切り板に隣接するマス側にフラグ「NG」を設定する。そして、OKフラグ数計算手段が、各マスのうちフラグ「NG」の設定がないものについてフラグ「OK」の数を計算すると、手先位置制御手段は、フラグ「OK」の数が「2」以上でかつ最大のマスからワークの取り出し又は配置を行ない、フラグ「OK」の数が「2」以上のマスが存在しなければワークの取り出し又は配置を中止する。
【0010】
すなわち、複数の仕切り板を組み合わせてマスを格子状に形成するパレットにおいては、一部の仕切り板が正規位置に対して傾いた状態で配置されると、その仕切り板の両側に沿って並ぶマスの開口寸法に長短が、すなわち正規の寸法からのズレが生じる。ズレ量が「プラス」の場合は、その仕切り板に隣接するマス側では寸法が短縮されるためフラグ「NG」を設定し、ズレ量が「マイナス」の場合は、その仕切り板に隣接するマス側では寸法が延長されるためフラグ「OK」を設定する。
【0011】
そして、パレットの外枠を成す部分については構造上寸法が殆ど変化しないため、デフォルトでフラグ「OK」を設定すると、4隅に位置するマスは重みが「2」になる。したがって、最初は4隅に位置するマスの何れかよりワークの取り出し又は配置を開始すれば、その作業が成功する確率が高いと言える。そして、マスに手先を挿入すれば、非接触式距離センサにより各距離の情報が得られるので、その情報に基づき、前記マスを構成する2つの仕切り板についてフラグ「OK」,「NG」を設定することができる。
【0012】
上記4隅に位置するマスを除く、パレットの外枠を一部とするマスについては、デフォルトでフラグ「OK」の数が1であるから、上記のようにフラグが設定されることで、フラグ「OK」の数が「2」以上となるマスを得ることができる。したがって、このように各マスについて評価を行いながら作業を進めれば、その作業を成功させつつ先に進めて行ける可能性を向上させることができる。
【0013】
請求項2記載のロボット制御装置によれば、ズレ量検出手段は、手先が同一の行又は同一列の列に属する2つ目のマスに挿入されると、双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行なう。すなわち、各仕切り板は略直線であると見做すことができるので、同一の行又列に属するマスの2か所について非接触式距離センサにより距離の情報を得れば、直線式の傾きを求めることで未挿入のマスについてもズレ量を計算して推測することができる。そして、フラグ設定手段は、計算されたズレ量に基づき、前記仕切り板についてフラグ「OK」又は「NG」を設定するので、重みが「2」以上となるマスをより早く判別することができる。
【0014】
請求項3記載のロボット制御装置によれば、フラグ設定手段は、手先が未挿入のマスについて、対向する1組の仕切り板の双方のフラグが設定済みであり、それらの少なくとも一方が「NG」であればそれらのズレ量の和を求め、その和が手先を挿入するための許容値を満たしている場合は、それらの仕切り板について設定されているフラグを「OK」に変更する。すなわち、当初のフラグ「NG」は、ズレ量が「プラス」であるという理由のみで設定されるため、対向する1組の仕切り板について実際のズレ量の和を得れば、その結果から当該マスに手先が挿入可能であるか否かを正確に判定できる。したがって、そのようなケースについてはフラグ「NG」を「OK」に変更することで、手先が挿入可能なマスを増加させることができる。
【0015】
請求項4記載のロボット制御装置によれば、フラグが「OK」に変更された仕切り板が対向する1組の一方であれば、補正手段は双方の仕切り板についてのズレ量を比較し、元「NG」側のズレ量が「OK」側のズレ量以下であれば(ケース1)、当該マスの中心座標値を「OK」側方向に元「NG」側のズレ量分だけ補正する。すなわち、この場合は、マスの中心座標値に対するズレ量の影響が、実質的に元「NG」側のズレ量だけになると想定されるので、その分だけを補正すれば当該マスに対する挿入をより確実に行うことができる。一方、元「NG」側のズレ量が「OK」側のズレ量を超えていれば(ケース2)、当該マスの中心座標値を「OK」側方向に、双方のズレ量の和の1/2だけ補正する。この場合は、マスの中心座標値に対するズレ量の影響が上記のケース1よりも大きいと想定されるので、「OK」側のズレ量も考慮して補正を行うようにする。
【0016】
また、フラグが「OK」に変更された仕切り板が対向する1組の双方であれば(ケース3)、パレットの座標原点に近い側のズレ量から座標原点に遠い側のズレ量を減じた差の1/2だけ、当該マスの中心座標値を座標原点から遠ざかる方向に補正する。この場合は、マスの中心座標値に対するズレ量の影響が上記のケース2よりも更に大きいと想定されるので、双方のズレ量を考慮し、ズレ量の差の符号に従うことで中心座標値を適切に補正する。
【0017】
請求項5記載のロボット制御装置によれば、ズレ量検出手段は、請求項2と同様にズレ量を推測する計算を行ない、フラグ設定手段は、計算されたズレ量に基づきフラグ「OK」又は「NG」を設定する。そして、仕切り板情報記憶手段には、計算されたズレ量に基づくフラグ設定と、非接触式距離センサによって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小,大とする仕切り板情報が記憶される。すなわち、この仕切り板情報は、フラグ「OK」が設定された仕切り板について、その情報の確度を相対評価したものであり、非接触式距離センサによって直接検出される距離から得られたズレ量に基づくフラグ設定の確度は相対的に高く、推測されたズレ量に基づくフラグ設定の確度は相対的に低いと考えることができる。
【0018】
そして、手先位置制御手段は、フラグ「OK」の重みが「2」以上でかつ最大のマスが2つ以上存在する場合は、各マスの仕切り板について仕切り板情報の重みづけの数値の和を求め、その和の値が大きい方を選択してワークの取り出し又は配置を行なうので、フラグの設定状況に応じて付与された確度の重み付けにより、手先の挿入が成功する確率がより高い方を選択できる。
【0019】
請求項6記載のロボット制御装置によれば、複数のパレットについて連続して処理を行う場合、挿入成否情報記憶手段に、以前に処理したパレットの各マスについて、手先の挿入が行なわれたか否かの情報を記憶する。そして、手先位置制御手段は、前記重みが「2」以上でかつ最大のマスが2つ以上存在する場合には、挿入成否情報記憶手段に記憶されている処理済みのパレットの情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択してワークの取り出し又は配置を行なう。すなわち、本発明が前提とするパレットは、仕切り板が手作業によって組み付けられることが多いので、複数のパレットが連続して処理されると、複数の仕切り板の組み合わせによって生じるズレにはある程度の傾向が出現することが想定される。
【0020】
そこで、挿入成否情報記憶手段に、以前に処理したパレットの各マスについて手先の挿入が行なわれたか否かの情報を記憶しておき、次にロボットの手先を挿入する候補となるマスが複数存在する場合に前記情報を利用して候補を決定すれば、挿入が成功する蓋然性を向上させることができる。
【図面の簡単な説明】
【0021】
【図1】一実施例であり、制御内容を示すフローチャート
【図2】マスの中心座標の補正処理を示すフローチャート
【図3】ロボット本体がパレットに配置されているワークをピックアップしてベルトコンベア装置に配置する状態を示す斜視図
【図4】ハンドに距離センサが取り付けられている状態を拡大して示す分解斜視図
【図5】ロボットの制御系を示す機能ブロック図
【図6】距離センサによって各仕切り板までの距離を測定する状態を示す図
【図7】仕切り板の配置に全くズレがないパレットについて、ワークの取り出しを行う場合の処理手順を示す図(その1)
【図8】図7相当図(その2)
【図9】図7相当図(その3)
【図10】図7相当図(その4)
【図11】図7相当図(その5)
【図12】図7相当図(その6)
【図13】図7相当図(その7)
【図14】仕切り板の配置にズレがあるパレットについての図7相当図(その1)
【図15】図14相当図(その2)
【図16】図14相当図(その3)
【図17】図14相当図(その4)
【図18】図14相当図(その5)
【図19】マスの中心座標を補正する処理を説明する図
【図20】図14相当図(その6)
【図21】図14相当図(その7)
【図22】図14相当図(その8)
【図23】図14相当図(その9)
【図24】図14相当図(その10)
【図25】従来技術を説明する、パレットの構成を示す斜視図
【図26】パレットの平面図
【発明を実施するための形態】
【0022】
以下、一実施例について図1ないし図24を参照して説明する。図3は、ロボット本体1が、パレット21に配置されているワーク3をピックアップして、ベルトコンベア装置4に配置する状態を示す斜視図である。4軸のアームを有するロボット本体1は、ハンド5をパレット21に降下させると、ハンド5でワーク3を把持して引き上げる。そして、アームを旋回させて先端をベルトコンベア装置4の上方に位置させた後下降させると、ハンド5からワーク3を離してベルトコンベア装置4上の搬送用パレット6に配置する。
【0023】
また、ロボット本体1のアーム先端には、光学式(非接触式)の距離センサ7が配置されている。図4は、ハンド5に距離センサ7が取り付けられている状態を拡大して示す分解斜視図である。ハンド5とアーム先端との間には、4つの距離センサ7A〜7Dを取り付けるため、十字状をなし、各先端部が下方に折り曲げられた形状の取付部材8が配置される。取付部材8の先端部が下方に折り曲げられて垂直となる四方の各側面には、4つの距離センサ7A〜7Dが外側に向けて配置されている。
取付部材8の十字が交差する部分には、ねじ止め用の穴8aが形成されており、上方から固定部材9を介してねじ止めにより固定される。そして、ハンド5は、固定部材9を介してアームの先端に取り付けられる。距離センサ7A〜7Dは、ハンド5側から周辺側に光信号を照射し、その反射光を受光するまでの到達時間によって距離を検出する。
【0024】
図5は、ロボットの制御系を示す機能ブロック図である。ロボット10は、ロボット本体1と、そのロボット本体1の各軸に配置されている図示しないサーボモータを駆動制御するコントローラ(手先位置制御手段,ズレ量検出手段,ズレ量記憶手段,フラグ設定手段,フラグ設定記憶手段,OKフラグ数計算手段,仕切り板情報記憶手段,挿入成否情報記憶手段,座標補正手段)11とを中心として、その他の周辺機器とで構成されている。ロータリエンコーダ12は、ロボット本体1の上記各軸モータに配置され、それらのモータの回転位置を検出してコントローラ11に出力する。また、上述した距離センサ7A〜7Dの検出信号が、コントローラ11に出力されている。コントローラ11は、予めティーチングされた動作目標位置に従い、ロータリエンコーダ12並びに距離センサ7A〜7Dの検出信号を参照して、ロボット本体1の手先位置(ハンド5の位置)を制御する。
【0025】
本実施例では、例えば図26等に示すように、一部の仕切り板が若干傾いているためにパレット21の全てのマスにハンド5を挿入できない可能性があるものについて、各マスに配置されているワーク3を順次取り出すため、距離センサ7により検出された距離に基づいてロボット本体1の動作目標位置の補正を行う。図6は、ハンド5をマスに挿入した場合に、距離センサ7A〜7Dにより各仕切り板までの距離を測定する状態を示している。そして、距離の測定結果に応じて、各マスを構成している仕切り板に、後述のようにフラグ「OK」,「NG」を設定する。
【0026】
次に、本実施例の作用について図1及び図2,図7ないし図24を参照して説明する。図1は、コントローラ11の制御内容を示すフローチャートである。コントローラ11は、先ず、パレット21の外枠を構成する部分については、構造的に堅牢であるため歪みが生じないという前提でフラグ「OK」を設定する(ステップS1)。尚、フラグ「OK」,「NG」が設定されていないものは未設定「?」として、図7以降の図面で図示している。次に、未取得で且つフラグ「NG」の設定がないマスについて、フラグ「OK」の数を計算する(ステップS2)。
【0027】
続いて、フラグ「OK」を設定したものについて、その設定を行った条件に従い、情報の確度を示す「信頼性重み(仕切り板情報)」を、ステップS2でフラグ「OK」の数を計算したマスについて計算する(ステップS3)。ここで、信頼性重みは、パレットの外枠であり「OK」となったものは評価対象外で重み値「0」,距離センサ7により距離が測定された結果「OK」となったものは重み値「1」,後述するように計算で推定された結果「OK」となったものは重み値「0.5」とする。それから、フラグ「OK」の数が「2」以上のマスがあるか否かを判断し(ステップS4)、ある場合は(YES)フラグ「OK」の数が最大のマスが、1つか否かを判断する(ステップS5)。最大のマスが1つであれば(YES)そのマスからワーク3を取得し(ステップS6)、最大のマスが2つ以上ある場合は(NO)それらのマスのうち、信頼性重みが最大のものを選択してワーク3を取得する(ステップS7)。尚、複数のマスの信頼性重みが何れも同じである場合は、例えばマスに付した番号の小さい方を選択する。
【0028】
ステップS6又はS7で、マスにロボットの手先を挿入すると、距離センサ7によって四方の距離を測定する(ステップS8)。そして、四方のそれぞれについて、仕切り板のズレが正規の位置に対して「プラス」側にずれているか否かを判断する(ステップS9)。ここで、「プラス」とは、マスの中心座標から仕切り板までの距離が延長される方向にずれている場合を「プラス」とする。ズレが「プラス」側であれば(YES)、対応する仕切り板について、現在手先が挿入されているマスに隣接するマス側のフラグを「NG」に設定する(ステップS10)。一方、ズレ量がゼロ,若しくはズレが「マイナス」側であれば(NO)、上記マス側のフラグを「OK」に設定する(ステップS11)。尚、ズレ量が「ゼロ」とは、必ずしもズレが全く無い状態に限るものではなく、手先をマスに挿入する観点から、仕切り板23が実質的に正規位置にあると言えるような状態を言う。
【0029】
次に、パレット21の同じ行又は同じ列に属する2つ目のマスについて手先を挿入したか否かを判断し(ステップS12)、2つ目のマスであれば(YES)、それら2か所について取得された仕切り板23のズレ量から当該仕切り板23の傾きを計算することができ、その傾きから、同じ行又は同じ列に属する未取得のマスについても上記仕切り板23のズレ量を計算で求めることができる。したがって、求めたズレ量からフラグ「OK」,「NG」を設定する(ステップS13)。尚、ステップS12において2つ目のマスでない場合は(NO)ステップS13をスキップしてステップS14に移行する。
【0030】
ステップS14では、未取得のマスで、対向する1組の仕切り板23のフラグ設定が「OK」:「NG」又は「NG」:「NG」になっているものがあるか否かを判断する。該当するマスがあり(YES)、そのマスの1組の仕切り板23のズレ量が何れも距離センサ7により実測されていれば、それらのズレ量から、ロボットの手先が挿入可能か否かが改めて判定できる(ステップS15)。例えば双方のズレ量の和によって、マスの開口寸法が5mm(許容値)以上に短縮された場合は挿入不可で、開口寸法の短縮値が5mm未満であれば挿入可能であるとする。
【0031】
したがって、ステップS15においてズレ量の和が許容値未満であれば(YES)、対応する仕切り板23のフラグを「OK」に設定し直し(ステップS16)当該マスの中心座標値を後述するように補正する(ステップS17)。それから、ステップS2に戻る。以上の処理を繰り返し実行した結果、ステップS4でフラグ「OK」の数が「2」以上のマスが無くなり(NO)、その時点で未取得のマスが存在しているとすれば(ステップS18:YES)エラーメッセージを出力して(ステップS19)処理を終了する。未取得のマスが存在しなければ(YES)正常終了となる。
【0032】
ここで、図7ないし図13は、仕切り板23の配置に全くズレがないパレット21について、ワーク3の取り出しを行う場合の処理手順を示す。尚、パレット21の内部は、3+3の計6枚の仕切り板23で区切られており、計16個のマスがある。これらの各マスをMとし、それぞれの配置番号を付してM(1)〜M(16)で示し、図中に示す丸数字は、ワーク3を取得した順序を示す。図7に示すように、最初は4隅に位置するM(1),M(4),M(13),M(16)の重みが「2」であり(ステップS2)、これらの4つを選択候補A〜Dとして示している。そして、これらの中から、番号が最小であるA;M(1)を選択し(第1番)、ワーク3を取得する(ステップS4〜S7)。
【0033】
すると、距離センサ7により各仕切り板23(1),23(4)までの距離が測定され(ステップS8)、M(1)に隣接するM(2),M(5)の仕切り板23(4),(1)について、実測結果によりフラグ「OK」が設定される(実OK,図8参照,ステップS9,S10)。次にM(2),M(5)を選択候補A,Cとして、M(13),M(16)を選択候補D,Eとすると、選択候補A〜Eは何れもフラグの重みが「2」である。しかし、信頼性重みについては、選択候補A,Cが実測結果に基づきOKとなったフラグが1つあるので「1」,その他の選択候補は外枠に基づくOKフラグが2つで「0」となる。したがって、番号が最小の選択候補A:M(2)を選択する(第2番,ステップS5,S7)。
【0034】
すると、M(2)について距離センサ7により各仕切り板23までの距離が測定され、M(2)に隣接するM(3),M(6)の仕切り板23(5),23(1)について、実測結果によりフラグ「OK」が設定される(実OK,図9参照)。それと同時に、M(1),M(2)の2つについて実測が行われた結果、仕切り板23(1)については、2か所で得られた距離から、計算により傾き状態を推測できる。そして、仕切り板23にはズレがないので、M(3),M(4),M(7),M(8)のフラグは「推OK」となる(ステップS12,S13)。
【0035】
これにより、M(3),M(4)のフラグ「OK」の数は「3」となり、これらを選択候補A,Bとすると、選択候補A,Bの信頼性の重みはそれぞれ「1.5」,「0.5」であるから選択候補A;M(3)が選択される(第3番)。M(3)について距離計測が行われればM(4)のフラグ「OK」の数は「4」となるから、次はM(4)が選択される(第4番)。そして、M(3),M(4)が選択されると、距離センサ7による計測の結果、M(7),M(8)における仕切り板23(1)のフラグは「推OK」→「実OK」に変更される。
【0036】
M(4)までワーク3の取得が完了した段階で、M(5),M(8),M(13),M(16)が何れも重み「2」であるから、これらが選択候補A〜Dとなる。そして、信頼性の重みは選択候補A,Bが何れも「1」であるから、番号が小さい選択候補A;M(5)を選択する(第5番)。これにより、M(5)について距離センサ7により距離が測定され、M(5)に隣接するM(6),M(9)の仕切り板23(4),23(2)について、実測結果によりフラグ「OK」が設定される(実OK,図10参照)。
【0037】
それと同時に、M(1),M(5)の2つについて実測が行われた結果、仕切り板23(4)については、2か所で得られた距離から計算により傾き状態を推測できる。そして、仕切り板23(4)にはズレがないので、M(9),M(13)のフラグは「推OK」となる。これにより、M(6),M(9),M(13),M(14)を選択候補A,C,D,Eとすると、選択候補C,Dのフラグ「OK」の数は「3」となる。選択候補C,Dの信頼性の重みはそれぞれ「1.5」,「0.5」であるから選択候補C;M(9)が選択され(第6番)、M(9)について距離計測が行われればM(13)のフラグ「OK」の数は「4」となるから、次はM(13)が選択される(第7番)。そして、M(9),M(13)が選択されると、距離センサ7による計測の結果、M(10),M(14)における仕切り板23(4)のフラグは「推OK」→「実OK」に変更される。
【0038】
M(13)までワーク3の取得が完了した段階で、M(6),M(8),M(14),M(16)が何れもフラグ「OK」の数が「2」であるから、これらが選択候補A〜Dとなる。そして、信頼性の重みは、選択候補A〜Dがそれぞれ「2」,「1」,「1」,「0」であるから選択候補A;M(6)を選択する(第8番,図11参照)。これにより、M(6)について距離センサ7により距離が測定され、M(6)に隣接するM(7),M(10)の仕切り板23(5),23(2)について、実測結果によりフラグ「OK」が設定される(実OK)。
【0039】
そして、M(5),M(6)の2つ,M(2),M(6)の2つについて実測が行われた結果、仕切り板23(2),23(5)については、2か所で得られた距離から計算により傾き状態を推測できるので、M(7),M(8),M(10)〜M(12),M(14),M(15)のフラグは推OKとなる。M(7),M(8),M(10),M(14)のフラグ「OK」の数は「3」となり、その他残り全てのマスであるM(7),M(8),M(10)〜M(12),M(14)〜M(16)も加えて選択候補A〜Hとなる。
【0040】
フラグ「OK」の数が「3」である選択候補A,B,C,Fについては、選択候補A,Cの信頼性重みが「2.5」であり、選択候補B,Fの信頼性重みが「1.5」であるから、選択候補A;M(7)が選択される(第9番)。M(7)について距離計測が行われればM(8)のフラグ「OK」の数は「4」となるから、次はM(8)が選択される(第10番)。そして、M(7),M(8)が選択されると、距離センサ7による計測の結果、M(11),M(12)における仕切り板23(2)のフラグは「推OK」→「実OK」に変更される。
【0041】
M(8)が選択された時点で、残り全てのマスであるM(10)〜M(12),M(14)〜M(16)が何れも重み「3」で選択候補A〜Fとなり、信頼性の重みは選択候補Aだけが「2.5」で最大となるので、次は選択候補A;M(10)が選択される(第11番,図12参照)。以降は同様にしてM(11),M(12),M(14)〜M(16)が順次選択され、未取得のマスは存在しないから「正常終了」となる(ステップS18:NO,図13参照)。
【0042】
次に、図14ないし図24は、仕切り板23の配置にズレがあるパレット21について、ワーク3の取り出しを行う場合の処理手順を示す。図中に示す波線は、仕切り板23の正規の配置を示す。尚、ズレの許容値は例えば±5mm未満とするが、図示の都合上、以下に記載するズレの具体数値と、図中に示されている寸法の比率とは厳密には一致しない。また、複数のパレット21を連続して処理する結果、コントローラ11に内蔵されているメモリには、その処理結果が記憶されることでデータベースが形成されており、選択候補となったマスのフラグ「OK」の数が同じである場合は、信頼性の重みを参照する以前に上記データベースより過去の情報を取得し、過去に配置が成功した確率が高いものを優先して選択する。
【0043】
図14に示すように、最初は4隅に位置するM(1),M(4),M(13),M(16)の重みが「2」で、これらの4つを選択候補A〜Dとするのは図7に示すケースと同様である。そして、過去の情報を参照した結果、例えば選択候補B,Dはワーク3が取得できなかった場合があるが、選択候補A,Cはワーク3が毎回取得できていたとする。この場合、選択候補A,Cのうち番号が小さい選択候補A;M(1)を取得する(第1番,図15参照)。すると、距離センサ7により各仕切り板23(1),23(4)までの距離が測定され、M(1)に隣接するM(5),M(2)について、実測結果によりフラグ「NG」,「OK」がそれぞれ設定される。
【0044】
すなわち、仕切り板23(1)は、距離測定の基準位置,若しくはマスの中心座標から正規位置までの距離を延長する方向(プラス)にずれが生じており、仕切り板23(4)は、距離測定の基準位置,若しくはマスの中心座標から正規位置までの距離を短縮する方向(マイナス)にずれが生じているからである。したがって、M(5)はこの時点で選択対象外となる。
【0045】
取得したM(1)に替わり、M(2)のフラグ「OK」の数が「2」となって選択候補Aとなるが、信頼性の重みは選択候補Aが実測結果に基づきOKとなったフラグが1つあるので「1」,その他の選択候補B〜Dは外枠に基づくOKフラグが2つで「0」となる。したがって、番号が最小の選択候補A:M(2)を選択する(第2番)。すると、M(2)について距離センサ7により距離が測定され、M(2)に隣接するM(3),M(6)の仕切り板23(5),23(1)について、実測結果によりフラグ「OK」,「NG」がそれぞれ設定される(図16参照)。
【0046】
それと同時に、M(1),M(2)の2つについて実測が行われた結果、仕切り板23(1)については、2か所で得られた距離から計算により傾き状態を推測できる。そして、仕切り板23(1)は、その配置方向に沿って均一な幅のズレが生じている(すなわち、直線の傾きがゼロ)ので、M(3),M(4)のフラグは「推OK」,M(7),M(8)のフラグは「推NG」となる。これにより、M(3),M(4)のフラグ「OK」の数は「3」となり、これらが選択候補A,Bとなる。
【0047】
ここで、過去の情報を参照した結果、M(3)の方がワーク3を取得できた確率が高い場合には、選択候補A;M(3)を選択する(第3番,図17参照)。M(3),M(4)の取得できた確率が等しい場合は、信頼性の重みを参照すれば選択候補A,Bの信頼性の重みはそれぞれ「1.5」,「0.5」であるからやはりM(3)が選択される。M(3)について距離計測が行われた結果、隣接するM(4)側の仕切り板23(6)についてはズレが+5mmであったとすると、フラグ「NG」が設定される。したがって、この時点でM(4)は選択対象外となる。また、M(7)の仕切り板23(1)のフラグは「推OK」→「実OK」に変更される。
【0048】
すると、次はM(13),M(16)が選択候補A,Bとなり、過去の情報から選択候補A;M(13)が選択される(第4番)。M(13)について距離センサ7により距離が測定され、M(13)に隣接するM(9),M(14)の仕切り板23(3),23(4)について、実測結果によりフラグ「NG」,「OK」がそれぞれ設定される(実OK,図18参照)。したがって、M(9)は選択対象外となる。
【0049】
それと同時に、M(1),M(13)の2つについて実測が行われた結果、仕切り板23(4)については、2か所で得られた距離から、計算により傾き状態を推測できる。この場合、ズレが何れも−4mmであったとすると、M(5),M(6),M(9),M(10)については何れも「推OK」となる。但し、M(5),M(9)が選択対象外である状態は変化しない。またこの時、M(5),M(9)のX方向については、マスの中心座標を補正する。以下、この補正処理(ステップS17)について、図2及び図19を参照して説明する。
【0050】
図2において、先ず、フラグ「推NG」が「推OK」に変更された当該マスについて、元のフラグが対向する1組の仕切り板23について双方とも「推NG」であったか否かを判断する(ステップS21)。何れか一方のみが「推NG」であった場合は(NO)、元「NG」側の仕切り板23のズレ量と「OK」側の仕切り板23のズレ量とを比較し(ステップS22)後者が前者以上であれば(YES)、元「NG」側のズレ量分だけズレの方向に中心座標を補正する(ステップS23)。
これは図19(b)のケースであり、Y方向の原点近傍側のズレ量が−2mm(ここでの符号は、マスの開口寸法を短縮する方向という意味で負である)であり、Y方向の原点遠方側のズレ量が+5mmであれば、前者のズレ量だけを考慮すれば良く、中心座標をY方向に2mm補正する。
【0051】
一方、ステップS22において、元「NG」側の仕切り板23のズレ量が「OK」側の仕切り板23のズレ量を超えている場合は(NO)、元「NG」側のズレ量から「OK」側のズレ量を減じた結果を1/2にしたものを補正量とする(ステップS24)。そして、元「NG」側のズレ方向に、上記補正量の分だけ補正する(ステップS25)。これは図19(c)のケースであり、Y方向の原点近傍側のズレ量が−5mmであり、Y方向の原点遠方側のズレ量が+2mmであれば、{5−(−2)}/2=3.5[mm]だけ中心座標をY方向に補正する。
【0052】
また、ステップS21において、元のフラグが双方とも「推NG」であった場合は(YES)、パレット上のXY座標の原点に近い方の仕切り板のズレ量から、前記原点に遠い方の仕切り板のズレ量を減じた差に1/2を乗じたものを補正量として(ステップS26)、ズレ方向の座標値に補正量を加える(ステップS27)。これは図19(a)のケースであり、Y方向の原点近傍側のズレ量が−2mmであり、Y方向の原点遠方側のズレ量が−3mmであれば、(2−3)/2=−0.5[mm]だけ中心座標をY方向に補正する。
すなわち、図18に示すケースでは、M(5),M(9)のX方向のズレ量は、原点近傍側である外枠側はゼロであり、原点から遠方側である仕切り板23(4)は4mmであるから、(0−4)/2=−2[mm]だけ中心座標をX方向に補正する。
【0053】
次は、M(14),M(16)が選択候補A,Bとなるが、過去の情報から選択候補A;M(14)を選択し(第5番,図20参照)、仕切り板23(3),23(5)について距離が計測される。すると、これらの何れも2か所で計測が行われたので、M(11),M(12),M(15),M(16)並びにM(6),M(7),M(10),M(11)について計算による推定が行われる。例えば仕切り板23(3)についての推定の結果が、
M(15)→−5mm,推定NG / M(11)→+5mm,推定OK
M(16)→−8mm,推定NG / M(12)→+8mm,推定OK
になったとする。この場合、M(15),M(16)は選択対象外となる。また、仕切り板23(5)についてはズレがないので、上記のM(6)〜M(11)の何れも推定OKとなる。
【0054】
すると次は、M(11),M(12)が選択候補A,Bとなる。これらに関する過去の情報については差がなく、信頼性の重みはそれぞれ「1」,「0.5」であるから、選択候補A;M(11)を選択する(第6番,図21参照)。M(11)について、仕切り板23(2),23(3),23(5),23(6)について距離が計測され、隣接するM(7),M(10),M(12),M(15)のフラグが設定される。すなわち、M(7)側の仕切り板23(2)並びにM(15)側の仕切り板23(3)については「実NG」,M(10)側の仕切り板23(5)並びにM(12)側の仕切り板23(6)については「実OK」となる。また、M(7)のY方向ずれは(5+2)=7[mm]であるから、フラグの更新はない。
【0055】
また、仕切り板23(6)について2か所で計測が行われ、M(7),M(8),M(15),M(16)について計算による推定が行われる。例えば推定の結果が、M(7)が「推OK」,M(8)が「推NG」,M(15)が「推NG」,M(16)が「推OK」であったとする。すると、M(8)のX方向ズレ量は(2+0)=2[mm]に確定するので、仕切り板23(6)のフラグを「推OK」に更新すると共に、中心座標を(2−0)/2=1[mm]だけX方向に補正する。また、M(15)側の仕切り板23(6)のズレ量が5mmに推定されるとX方向ズレ量は(0+5)=5[mm]に確定するので、フラグの更新はない。この時点で、フラグ「OK」の数が「2」以上となるのはM(12)だけであるから(「3」)、次はM(12)を選択する(第7番)。
【0056】
すると、図22に示すように、隣接するM(8)の仕切り板23(2),M(16)の仕切り板23(3)について、フラグが「実NG」に設定される。また、仕切り板23(2)については2箇所で計測が行われたので、M(9),M(10)について推定が行われる。M(9)のY方向ズレ量が−5mm,−8mmであるとすると、それらの和は13mmであるからM(9)についてフラグの更新はない。また、M(5)のY方向ズレ量は−5mm,+5mmとなるから、それらの和は0mmとなり、M(5)の仕切り板23(1)のフラグは「実OK」に更新する。
【0057】
更に、M(10)のY方向ズレ量が−2mm,−5mmであるとすると、それらの和は7mmであるから、M(10)についてフラグの更新はない。また、M(6)のY方向ズレ量が−5mm,+2mmとなるから、それらの和は3mmとなり、M(6)の仕切り板23(1)のフラグを「実OK」に更新する。そして、M(5)の中心座標をY方向に5mm補正し、M(6)の中心座標をY方向に{5−(−2)}/2=3.5[mm]補正する。この時点で、フラグ「OK」の数が「2」以上となるのはM(5),M(6)であり(「4」)、過去の情報では判断できず、信頼性重みはそれぞれ「2」,「2.5」であるから、次はM(6)を選択する(第8番)。
【0058】
すると、図23に示す状態となる。この時フラグは、M(10)側の仕切り板23(2)が「実NG」,M(7)側の仕切り板23(5)が「実OK」に更新される。そしてフラグ「OK」の数が「2」以上となるのはM(5)であるから(「4」)次はM(5)を選択する(図24参照,第9番目)。この時フラグは、M(9)側の仕切り板23(2)が「実NG」に更新される。そして、この時点でフラグ「OK」の数が「2」以上となるマスは存在せず(ステップS4:NO)、未取得のマスが存在するので(ステップS18:YES)、エラーを出力して(ステップS19)処理を終了する。
尚、以上はパレット21の各マスよりワーク3を取り出す場合について説明したが、パレット21の各マスにワーク3を配置する場合でも、全く同様の制御が適用可能であることは言うまでもない。
【0059】
以上のように本実施例によれば、コントローラ11は、ロボットアームの手先がパレット21のマスの内部に挿入されると、距離センサ7A〜7Dにより検出される距離から、周辺を囲む仕切り板23の正規位置からのズレ量を検出し、パレット21の外枠をなす部分については予めフラグ「OK」を設定し、手先がマスの内部に挿入された場合に、ズレ量が「ゼロ」,若しくは「マイナス」であれば当該仕切り板23に隣接するマス側にフラグ「OK」を設定し、ズレ量が「プラス」であれば当該仕切り板23に隣接するマス側にフラグ「NG」を設定する。そして、各マスのうちフラグ「NG」の設定がないものについてフラグ「OK」の数を計算すると、フラグ「OK」の数が「2」以上でかつ最大のマスからワーク3の取り出し又は配置を行ない、フラグ「OK」の数が「2」以上のマスが存在しなければワーク3の取り出し又は配置を中止するようにした。
【0060】
すなわち、最初は作業が成功する確率が高いパレット21の4隅に位置するマスの何れかよりワーク3の取り出し又は配置を開始し、マスに手先を挿入すれば、距離センサ7により各距離の情報が得られるので、その情報に基づきマスを構成する仕切り板23についてフラグ「OK」,「NG」を設定することができる。したがって、このように各マスについて評価を行いながら作業を進めれば、その作業を成功させつつ先に進めて行ける可能性を向上させることができる。
【0061】
また、コントローラ11は、手先が同一の行又は同一列の列に属する2つ目のマスに挿入されると、双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板23についてズレ量を推測する計算を行なうので、未挿入のマスについてもズレ量を計算して推測することができる。そして、計算されたズレ量に基づき、仕切り板23についてフラグ「OK」又は「NG」を設定するので、フラグ「OK」の数が「2」以上となるマスをより早く判別することができる。
【0062】
更に、コントローラ11は、手先が未挿入のマスについて、対向する1組の仕切り板23の双方についてフラグが設定済みであり、それらの少なくとも一方が「NG」で、それらのズレ量の和が手先を挿入するための許容値を満たしていれば、それらの仕切り板23について設定されているフラグを「OK」に変更する。したがって、手先が挿入可能なマスを増加させることができる。
【0063】
また、フラグが「OK」に変更された仕切り板23が対向する1組の一方であれば、元「NG」側のズレ量が「OK」側のズレ量以下の場合は、当該マスの中心座標値を「OK」側方向に元「NG」側のズレ量分だけ補正し、元「NG」側のズレ量が「OK」側のズレ量を超えている場合は当該マスの中心座標値を「OK」側方向に、双方のズレ量の和の1/2だけ補正し、フラグが「OK」に変更された仕切り板23が対向する1組の双方である場合は、パレット21の座標原点に近い側のズレ量から座標原点に遠い側のズレ量を減じた差の1/2だけ、当該マスの中心座標値を座標原点から遠ざかる方向に補正する。したがって、双方のズレ量の発生状態に応じて、マスの中心座標値を適切に補正することができる。
【0064】
また、コントローラ11は、計算されたズレ量に基づくフラグ設定と、距離センサ7によって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小,大として設定し、フラグ「OK」の数が「2」以上でかつ最大のマスが2つ以上存在する場合は、各マスの仕切り板23について信頼性重みの和を求め、その和の値が大きい方を選択してワーク3の取り出し又は配置を行なうので、フラグの設定状況に応じて付与された情報確度の重み付けにより、手先の挿入が成功する確率がより高い方を選択できる。
【0065】
加えて、コントローラ11は、複数のパレット21について連続して処理を行う場合、以前に処理したパレット21の各マスについて、手先の挿入が行なわれたか否かの情報を記憶し、フラグ「OK」の数が「2」以上でかつ最大のマスが2つ以上存在する場合には、処理済みのパレット21の情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択してワーク3の取り出し又は配置を行なうようにした。したがって、過去に処理を行った場合の情報に基づいて、挿入を成功する蓋然性を向上させることができる。
【0066】
尚、本実施例のように処理を進めていけば、図14〜図24に示したように、状況としてどうしても手先を挿入できないマスがある場合は、そこで作業が停止してしまうことは避けられない。しかし、そもそも人が正常か異常か区別のつかないような仕切り板23のズレを持つパレット21であることを考えれば、確率的には上記のようにどうしても停止せざるを得ないケースは少ない。
むしろ、挿入可能なマスから順に手を入れると同時に、隣接するマスのズレの状態を評価しながら作業を進めることで、最初は補正の必要の無いマスで仕切り板23の状況を評価・収集しながら処理を進め、その後、補正が必要なマスにそれぞれ適合した補正を行うことで手先が挿入可能となる。すなわち、人が正常か異常か区別のつかないような仕切り板23のズレを持つパレット21であることを考えれば、多くの場合は、最後まで全てのマスに手先を挿入できる可能性が高まる。故に、結果としてロボットの停止回数が抑制され、作業効率が向上する。
【0067】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
1つのパレットに配置するマスの数は、16個に限ることなく適宜変更して良い。
過去の情報に基づく成功率や信頼性の重みが同じである場合に選択するマスについては、マスに付与した番号が大きいものから優先して選択しても良い。
信頼性重み付けについて付与する数値は、重みの大小関係を維持する範囲で適宜変更して良い。また、過去の情報に基づく成功率や信頼性重みについては必要に応じて利用すれば良く、例えばマスに付与した番号の大小のみで選択対象を決定しても良い。
【0068】
フラグ「OK」,「NG」を判定するためのズレ量の具体数値についても、個別のケースに応じて適宜変更すれば良い。
パレットは設備内を巡回するものであることから、パレットの外枠は一定以上の硬度を有しており容易には変形しにくいこと、また外枠が「実NG」と同じように変形した場合は、その他の変形していないパレットと形状が比較し易く容易にその事実が把握でき排除できるので、そのようなパレットは設備内には流れないとも言える。したがって、パレットの外枠に付与する信頼性重みについては、例えば「推OK」と同じ数値に設定したり、「推OK」と「実OK」との間の数値に設定しても良い。
【符号の説明】
【0069】
図面中、1はロボット本体、3はワーク、21はパレット、7は距離センサ(非接触式距離センサ)、11はコントローラ(手先位置制御手段,ズレ量検出手段,ズレ量記憶手段,フラグ設定手段,フラグ設定記憶手段,OKフラグ数計算手段,仕切り板情報記憶手段,挿入成否情報記憶手段,座標補正手段)を示す。
【特許請求の範囲】
【請求項1】
ロボットアームの手先位置を制御することで、内部が複数の仕切り板により格子状に区切られているパレットの各マスに配置されている複数のワークの順次取り出し、又は前記パレットの各マスに対するワークの順次配置を行う手先位置制御手段と、
前記手先に配置され、前記手先の中心から周辺に位置する前記仕切り板までの距離をそれぞれ検出する4つの非接触式距離センサと、
前記手先が前記マスの内部に挿入されると、前記4つの非接触式距離センサによって検出される距離から、周辺を囲む前記仕切り板の正規位置からのズレ量を検出するズレ量検出手段と、
前記ズレ量が記憶されるズレ量記憶手段と、
前記非接触式距離センサによって検出される距離が、前記正規位置までの距離よりも長くなるように前記ズレ量が存在する場合を「プラス」,前記正規位置までの距離よりも短くなるように前記ズレ量が存在する場合を「マイナス」と定義すると、
前記パレットの外枠をなす部分については予めフラグ「OK」を設定し、前記手先が前記マスの内部に挿入された場合に、前記ズレ量が「ゼロ」,若しくは「マイナス」であれば当該仕切り板に隣接するマス側にフラグ「OK」を設定し、前記ズレ量が「プラス」であれば当該仕切り板に隣接するマス側にフラグ「NG」を設定するフラグ設定手段と、
前記フラグの設定が記憶されるフラグ設定記憶手段と、
各マスのうちフラグ「NG」の設定がないものについて、前記フラグ「OK」の数を計算するOKフラグ数計算手段とを備え、
前記手先位置制御手段は、前記フラグ「OK」の数が「2」以上でかつ最大のマスからワークの取り出し又は配置を行ない、前記フラグ「OK」の数が「2」以上のマスが存在しなければワークの取り出し又は配置を中止することを特徴とするロボット制御装置。
【請求項2】
前記ズレ量検出手段は、前記手先が同一の行又は同一の列に属する2つ目のマスに挿入されると、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記フラグ設定手段は、前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「OK」又は「NG」を設定することを特徴とする請求項1記載のロボット制御装置。
【請求項3】
前記フラグ設定手段は、前記手先が未挿入のマスについて、対向する1組の仕切り板の双方について前記フラグが設定済みであり、それらの少なくとも一方が「NG」であればそれらのズレ量の和を求め、その和が前記手先を挿入するための許容値を満たしている場合は、それらの仕切り板について設定されているフラグを「OK」に変更することを特徴とする請求項1又は2記載のロボット制御装置。
【請求項4】
前記フラグ設定手段によって前記フラグが「OK」に変更された仕切り板が対向する1組の一方であれば、「OK」に変更された仕切り板を元「NG」側とし、フラグが当初から「OK」であった仕切り板を「OK」側とすると、双方の仕切り板についてのズレ量を比較し、元「NG」側のズレ量が「OK」側のズレ量以下であれば、当該マスの中心座標値を「OK」側方向に元「NG」側のズレ量分だけ補正し、元「NG」側のズレ量が「OK」側のズレ量を超えていれば、当該マスの中心座標値を「OK」側方向に、双方のズレ量の差の1/2だけ補正し、
前記フラグ設定手段によって前記フラグが「OK」に変更された仕切り板が対向する1組の双方であれば、前記1組の仕切り板について前記パレットの座標原点に近い側のズレ量から前記座標原点に遠い側のズレ量を減じた差の1/2だけ、当該マスの中心座標値を前記座標原点から遠ざかる方向に補正する座標補正手段を備えたことを特徴とする請求項3記載のロボット制御装置。
【請求項5】
前記ズレ量検出手段は、前記手先が同一の行又は同一の列に属する2つ目のマスに挿入された場合に、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記フラグ設定手段は、前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「OK」又は「NG」を設定し、
前記計算されたズレ量に基づくフラグ設定と、前記非接触式距離センサによって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小,大とする仕切り板情報が記憶される仕切り板情報記憶手段を備え、
前記手先位置制御手段は、前記フラグ「OK」の重みが「2」以上でかつ最大のマスが2つ以上存在する場合は、各マスの仕切り板について前記仕切り板情報の重みづけの数値の和を求め、その和の値が大きい方を選択して前記ワークの取り出し又は配置を行なうことを特徴とする請求項1ないし4の何れかに記載のロボット制御装置。
【請求項6】
複数のパレットについて連続して処理を行う場合、
以前に処理したパレットの各マスについて、前記手先の挿入が行なわれたか否かの情報が記憶される挿入成否情報記憶手段を備え、
前記手先位置制御手段は、前記重みが「2」以上でかつ最大のマスが2つ以上存在する場合は、前記挿入成否情報記憶手段に記憶されている処理済みのパレットの情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択して、前記ワークの取り出し又は配置を行なうことを特徴とする請求項1ないし5の何れかに記載のロボット制御装置。
【請求項7】
ロボットアームの手先位置を制御することで、内部が複数の仕切り板により格子状に区切られているパレットの各マスに配置されている、複数のワークの順次取り出し又は順次配置を行うロボットの制御方法において、
前記手先が前記マスの内部に挿入されると、前記手先の中心から周辺に位置する前記仕切り板までの距離をそれぞれ検出する4つの非接触式距離センサによって検出される各距離から、周辺を囲む前記仕切り板の正規位置からのズレ量を検出して記憶し、
前記非接触式距離センサによって検出される距離が、前記正規位置までの距離よりも長くなるように前記ズレ量が存在する場合を「プラス」,前記正規位置までの距離よりも短くなるように前記ズレ量が存在する場合を「マイナス」と定義すると、
前記パレットの外枠をなす部分については予めフラグ「OK」を設定し、前記手先が前記マスの内部に挿入された場合に、前記ズレ量が「ゼロ」,若しくは「マイナス」であれば当該仕切り板に隣接するマス側にフラグ「OK」を設定し、前記ズレ量が「プラス」であれば当該仕切り板に隣接するマス側にフラグ「NG」を設定して記憶し、
各マスのうちフラグ「NG」の設定がないものについて、前記フラグ「OK」の数を計算し、
前記フラグ「OK」の数が「2」以上でかつ最大のマスからワークの取り出し又は配置を行ない、前記フラグ「OK」の数が「2」以上のマスが存在しなければワークの取り出し又は配置を中止することを特徴とするロボットの制御方法。
【請求項8】
前記手先が同一の行又は同一の列に属する2つ目のマスに挿入されると、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「OK」又は「NG」を設定することを特徴とする請求項7記載のロボットの制御方法。
【請求項9】
前記手先が未挿入のマスについて、対向する1組の仕切り板の双方について前記フラグが設定済みであり、それらの少なくとも一方が「NG」であればそれらのズレ量の和を求め、その和が前記手先を挿入するための許容値を満たしている場合は、それらの仕切り板について設定されているフラグを「OK」に変更することを特徴とする請求項7又は8記載のロボットの制御方法。
【請求項10】
前記フラグが「OK」に変更された仕切り板が対向する1組の一方である場合は、「OK」に変更された仕切り板を元「NG」側とし、フラグが当初から「OK」であった仕切り板を「OK」側とすると、双方の仕切り板についてのズレ量を比較し、元「NG」側のズレ量が「OK」側のズレ量以下であれば、当該マスの中心座標値を「OK」側方向に元「NG」側のズレ量分だけ補正し、元「NG」側のズレ量が「OK」側のズレ量を超えていれば、当該マスの中心座標値を「OK」側方向に、双方のズレ量の差の1/2だけ補正し、
前記フラグが「OK」に変更された仕切り板が対向する1組の双方である場合は、前記1組の仕切り板について前記パレットの座標原点に近い側のズレ量から前記座標原点に遠い側のズレ量を減じた差の1/2だけ、当該マスの中心座標値を前記座標原点から遠ざかる方向に補正することを特徴とする請求項9記載のロボットの制御方法。
【請求項11】
前記手先が同一の行又は同一の列に属する2つ目のマスに挿入された場合に、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「OK」又は「NG」を設定し、
前記計算されたズレ量に基づくフラグ設定と、前記非接触式距離センサによって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小,大とする仕切り板情報を記憶し、
前記過去に手先の挿入が行われた回数が多いものが複数存在する場合は、各マスの仕切り板について前記仕切り板情報の重みづけの数値の和を求め、その和の値が大きい方を選択して前記ワークの取り出し又は配置を行なうことを特徴とする請求項7ないし10の何れかに記載のロボットの制御方法。
【請求項12】
複数のパレットについて連続して処理を行う場合、以前に処理したパレットの各マスについて、前記手先の挿入が行なわれたか否かの情報を記憶しておき、
前記フラグ「OK」の重みが「2」以上でかつ最大のマスが2つ以上存在する場合には、記憶している処理済みのパレットの情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択して、前記ワークの取り出し又は配置を行なうことを特徴とする請求項7ないし11の何れかに記載のロボットの制御方法。
【請求項1】
ロボットアームの手先位置を制御することで、内部が複数の仕切り板により格子状に区切られているパレットの各マスに配置されている複数のワークの順次取り出し、又は前記パレットの各マスに対するワークの順次配置を行う手先位置制御手段と、
前記手先に配置され、前記手先の中心から周辺に位置する前記仕切り板までの距離をそれぞれ検出する4つの非接触式距離センサと、
前記手先が前記マスの内部に挿入されると、前記4つの非接触式距離センサによって検出される距離から、周辺を囲む前記仕切り板の正規位置からのズレ量を検出するズレ量検出手段と、
前記ズレ量が記憶されるズレ量記憶手段と、
前記非接触式距離センサによって検出される距離が、前記正規位置までの距離よりも長くなるように前記ズレ量が存在する場合を「プラス」,前記正規位置までの距離よりも短くなるように前記ズレ量が存在する場合を「マイナス」と定義すると、
前記パレットの外枠をなす部分については予めフラグ「OK」を設定し、前記手先が前記マスの内部に挿入された場合に、前記ズレ量が「ゼロ」,若しくは「マイナス」であれば当該仕切り板に隣接するマス側にフラグ「OK」を設定し、前記ズレ量が「プラス」であれば当該仕切り板に隣接するマス側にフラグ「NG」を設定するフラグ設定手段と、
前記フラグの設定が記憶されるフラグ設定記憶手段と、
各マスのうちフラグ「NG」の設定がないものについて、前記フラグ「OK」の数を計算するOKフラグ数計算手段とを備え、
前記手先位置制御手段は、前記フラグ「OK」の数が「2」以上でかつ最大のマスからワークの取り出し又は配置を行ない、前記フラグ「OK」の数が「2」以上のマスが存在しなければワークの取り出し又は配置を中止することを特徴とするロボット制御装置。
【請求項2】
前記ズレ量検出手段は、前記手先が同一の行又は同一の列に属する2つ目のマスに挿入されると、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記フラグ設定手段は、前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「OK」又は「NG」を設定することを特徴とする請求項1記載のロボット制御装置。
【請求項3】
前記フラグ設定手段は、前記手先が未挿入のマスについて、対向する1組の仕切り板の双方について前記フラグが設定済みであり、それらの少なくとも一方が「NG」であればそれらのズレ量の和を求め、その和が前記手先を挿入するための許容値を満たしている場合は、それらの仕切り板について設定されているフラグを「OK」に変更することを特徴とする請求項1又は2記載のロボット制御装置。
【請求項4】
前記フラグ設定手段によって前記フラグが「OK」に変更された仕切り板が対向する1組の一方であれば、「OK」に変更された仕切り板を元「NG」側とし、フラグが当初から「OK」であった仕切り板を「OK」側とすると、双方の仕切り板についてのズレ量を比較し、元「NG」側のズレ量が「OK」側のズレ量以下であれば、当該マスの中心座標値を「OK」側方向に元「NG」側のズレ量分だけ補正し、元「NG」側のズレ量が「OK」側のズレ量を超えていれば、当該マスの中心座標値を「OK」側方向に、双方のズレ量の差の1/2だけ補正し、
前記フラグ設定手段によって前記フラグが「OK」に変更された仕切り板が対向する1組の双方であれば、前記1組の仕切り板について前記パレットの座標原点に近い側のズレ量から前記座標原点に遠い側のズレ量を減じた差の1/2だけ、当該マスの中心座標値を前記座標原点から遠ざかる方向に補正する座標補正手段を備えたことを特徴とする請求項3記載のロボット制御装置。
【請求項5】
前記ズレ量検出手段は、前記手先が同一の行又は同一の列に属する2つ目のマスに挿入された場合に、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記フラグ設定手段は、前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「OK」又は「NG」を設定し、
前記計算されたズレ量に基づくフラグ設定と、前記非接触式距離センサによって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小,大とする仕切り板情報が記憶される仕切り板情報記憶手段を備え、
前記手先位置制御手段は、前記フラグ「OK」の重みが「2」以上でかつ最大のマスが2つ以上存在する場合は、各マスの仕切り板について前記仕切り板情報の重みづけの数値の和を求め、その和の値が大きい方を選択して前記ワークの取り出し又は配置を行なうことを特徴とする請求項1ないし4の何れかに記載のロボット制御装置。
【請求項6】
複数のパレットについて連続して処理を行う場合、
以前に処理したパレットの各マスについて、前記手先の挿入が行なわれたか否かの情報が記憶される挿入成否情報記憶手段を備え、
前記手先位置制御手段は、前記重みが「2」以上でかつ最大のマスが2つ以上存在する場合は、前記挿入成否情報記憶手段に記憶されている処理済みのパレットの情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択して、前記ワークの取り出し又は配置を行なうことを特徴とする請求項1ないし5の何れかに記載のロボット制御装置。
【請求項7】
ロボットアームの手先位置を制御することで、内部が複数の仕切り板により格子状に区切られているパレットの各マスに配置されている、複数のワークの順次取り出し又は順次配置を行うロボットの制御方法において、
前記手先が前記マスの内部に挿入されると、前記手先の中心から周辺に位置する前記仕切り板までの距離をそれぞれ検出する4つの非接触式距離センサによって検出される各距離から、周辺を囲む前記仕切り板の正規位置からのズレ量を検出して記憶し、
前記非接触式距離センサによって検出される距離が、前記正規位置までの距離よりも長くなるように前記ズレ量が存在する場合を「プラス」,前記正規位置までの距離よりも短くなるように前記ズレ量が存在する場合を「マイナス」と定義すると、
前記パレットの外枠をなす部分については予めフラグ「OK」を設定し、前記手先が前記マスの内部に挿入された場合に、前記ズレ量が「ゼロ」,若しくは「マイナス」であれば当該仕切り板に隣接するマス側にフラグ「OK」を設定し、前記ズレ量が「プラス」であれば当該仕切り板に隣接するマス側にフラグ「NG」を設定して記憶し、
各マスのうちフラグ「NG」の設定がないものについて、前記フラグ「OK」の数を計算し、
前記フラグ「OK」の数が「2」以上でかつ最大のマスからワークの取り出し又は配置を行ない、前記フラグ「OK」の数が「2」以上のマスが存在しなければワークの取り出し又は配置を中止することを特徴とするロボットの制御方法。
【請求項8】
前記手先が同一の行又は同一の列に属する2つ目のマスに挿入されると、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「OK」又は「NG」を設定することを特徴とする請求項7記載のロボットの制御方法。
【請求項9】
前記手先が未挿入のマスについて、対向する1組の仕切り板の双方について前記フラグが設定済みであり、それらの少なくとも一方が「NG」であればそれらのズレ量の和を求め、その和が前記手先を挿入するための許容値を満たしている場合は、それらの仕切り板について設定されているフラグを「OK」に変更することを特徴とする請求項7又は8記載のロボットの制御方法。
【請求項10】
前記フラグが「OK」に変更された仕切り板が対向する1組の一方である場合は、「OK」に変更された仕切り板を元「NG」側とし、フラグが当初から「OK」であった仕切り板を「OK」側とすると、双方の仕切り板についてのズレ量を比較し、元「NG」側のズレ量が「OK」側のズレ量以下であれば、当該マスの中心座標値を「OK」側方向に元「NG」側のズレ量分だけ補正し、元「NG」側のズレ量が「OK」側のズレ量を超えていれば、当該マスの中心座標値を「OK」側方向に、双方のズレ量の差の1/2だけ補正し、
前記フラグが「OK」に変更された仕切り板が対向する1組の双方である場合は、前記1組の仕切り板について前記パレットの座標原点に近い側のズレ量から前記座標原点に遠い側のズレ量を減じた差の1/2だけ、当該マスの中心座標値を前記座標原点から遠ざかる方向に補正することを特徴とする請求項9記載のロボットの制御方法。
【請求項11】
前記手先が同一の行又は同一の列に属する2つ目のマスに挿入された場合に、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「OK」又は「NG」を設定し、
前記計算されたズレ量に基づくフラグ設定と、前記非接触式距離センサによって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小,大とする仕切り板情報を記憶し、
前記過去に手先の挿入が行われた回数が多いものが複数存在する場合は、各マスの仕切り板について前記仕切り板情報の重みづけの数値の和を求め、その和の値が大きい方を選択して前記ワークの取り出し又は配置を行なうことを特徴とする請求項7ないし10の何れかに記載のロボットの制御方法。
【請求項12】
複数のパレットについて連続して処理を行う場合、以前に処理したパレットの各マスについて、前記手先の挿入が行なわれたか否かの情報を記憶しておき、
前記フラグ「OK」の重みが「2」以上でかつ最大のマスが2つ以上存在する場合には、記憶している処理済みのパレットの情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択して、前記ワークの取り出し又は配置を行なうことを特徴とする請求項7ないし11の何れかに記載のロボットの制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2012−45630(P2012−45630A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−187089(P2010−187089)
【出願日】平成22年8月24日(2010.8.24)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願日】平成22年8月24日(2010.8.24)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
[ Back to top ]