(57)【要約】【課題】仕切り板の配置にずれがあるパレットについても、手先との干渉を極力回避しながら作業を継続できるロボット制御装置を提供する。【解決手段】ロボットの手先がパレットのマスの内部に挿入されると距離センサで検出される距離から周辺を囲む仕切り板の正規位置からのズレ量を検出し（Ｓ８）、パレットの外枠部分は予めフラグ「ＯＫ」を設定し（Ｓ１）、ズレ量が「ゼロ」，「マイナス」なら（Ｓ９：ＹＥＳ）当該仕切り板に隣接するマス側にフラグ「ＯＫ」を（Ｓ１０）、ズレ量が「プラス」なら（Ｓ９：ＮＯ）当該仕切り板に隣接するマス側にフラグ「ＮＧ」を設定する（Ｓ１１）。各マスのうちフラグ「ＮＧ」の設定がないものにつきフラグ「ＯＫ」の数を計算し（Ｓ２）、フラグ「ＯＫ」の数が「２」以上で最大のマスからワーク３の取出しを行ない（Ｓ６）、「２」以上のマスが存在しなければ（Ｓ４：ＮＯ）ワーク３の取出しを中止する。【選択図】図１
2012045630.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームの手先位置を制御することで、内部が複数の仕切り板により格子状に区切られているパレットの各マスに配置されている複数のワークの順次取り出し、又は前記パレットの各マスに対するワークの順次配置を行う手先位置制御手段と、
前記手先に配置され、前記手先の中心から周辺に位置する前記仕切り板までの距離をそれぞれ検出する４つの非接触式距離センサと、
前記手先が前記マスの内部に挿入されると、前記４つの非接触式距離センサによって検出される距離から、周辺を囲む前記仕切り板の正規位置からのズレ量を検出するズレ量検出手段と、
前記ズレ量が記憶されるズレ量記憶手段と、
前記非接触式距離センサによって検出される距離が、前記正規位置までの距離よりも長くなるように前記ズレ量が存在する場合を「プラス」，前記正規位置までの距離よりも短くなるように前記ズレ量が存在する場合を「マイナス」と定義すると、
前記パレットの外枠をなす部分については予めフラグ「ＯＫ」を設定し、前記手先が前記マスの内部に挿入された場合に、前記ズレ量が「ゼロ」，若しくは「マイナス」であれば当該仕切り板に隣接するマス側にフラグ「ＯＫ」を設定し、前記ズレ量が「プラス」であれば当該仕切り板に隣接するマス側にフラグ「ＮＧ」を設定するフラグ設定手段と、
前記フラグの設定が記憶されるフラグ設定記憶手段と、
各マスのうちフラグ「ＮＧ」の設定がないものについて、前記フラグ「ＯＫ」の数を計算するＯＫフラグ数計算手段とを備え、
前記手先位置制御手段は、前記フラグ「ＯＫ」の数が「２」以上でかつ最大のマスからワークの取り出し又は配置を行ない、前記フラグ「ＯＫ」の数が「２」以上のマスが存在しなければワークの取り出し又は配置を中止することを特徴とするロボット制御装置。
【請求項２】
前記ズレ量検出手段は、前記手先が同一の行又は同一の列に属する２つ目のマスに挿入されると、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記フラグ設定手段は、前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「ＯＫ」又は「ＮＧ」を設定することを特徴とする請求項１記載のロボット制御装置。
【請求項３】
前記フラグ設定手段は、前記手先が未挿入のマスについて、対向する１組の仕切り板の双方について前記フラグが設定済みであり、それらの少なくとも一方が「ＮＧ」であればそれらのズレ量の和を求め、その和が前記手先を挿入するための許容値を満たしている場合は、それらの仕切り板について設定されているフラグを「ＯＫ」に変更することを特徴とする請求項１又は２記載のロボット制御装置。
【請求項４】
前記フラグ設定手段によって前記フラグが「ＯＫ」に変更された仕切り板が対向する１組の一方であれば、「ＯＫ」に変更された仕切り板を元「ＮＧ」側とし、フラグが当初から「ＯＫ」であった仕切り板を「ＯＫ」側とすると、双方の仕切り板についてのズレ量を比較し、元「ＮＧ」側のズレ量が「ＯＫ」側のズレ量以下であれば、当該マスの中心座標値を「ＯＫ」側方向に元「ＮＧ」側のズレ量分だけ補正し、元「ＮＧ」側のズレ量が「ＯＫ」側のズレ量を超えていれば、当該マスの中心座標値を「ＯＫ」側方向に、双方のズレ量の差の１／２だけ補正し、
前記フラグ設定手段によって前記フラグが「ＯＫ」に変更された仕切り板が対向する１組の双方であれば、前記１組の仕切り板について前記パレットの座標原点に近い側のズレ量から前記座標原点に遠い側のズレ量を減じた差の１／２だけ、当該マスの中心座標値を前記座標原点から遠ざかる方向に補正する座標補正手段を備えたことを特徴とする請求項３記載のロボット制御装置。
【請求項５】
前記ズレ量検出手段は、前記手先が同一の行又は同一の列に属する２つ目のマスに挿入された場合に、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記フラグ設定手段は、前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「ＯＫ」又は「ＮＧ」を設定し、
前記計算されたズレ量に基づくフラグ設定と、前記非接触式距離センサによって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小，大とする仕切り板情報が記憶される仕切り板情報記憶手段を備え、
前記手先位置制御手段は、前記フラグ「ＯＫ」の重みが「２」以上でかつ最大のマスが２つ以上存在する場合は、各マスの仕切り板について前記仕切り板情報の重みづけの数値の和を求め、その和の値が大きい方を選択して前記ワークの取り出し又は配置を行なうことを特徴とする請求項１ないし４の何れかに記載のロボット制御装置。
【請求項６】
複数のパレットについて連続して処理を行う場合、
以前に処理したパレットの各マスについて、前記手先の挿入が行なわれたか否かの情報が記憶される挿入成否情報記憶手段を備え、
前記手先位置制御手段は、前記重みが「２」以上でかつ最大のマスが２つ以上存在する場合は、前記挿入成否情報記憶手段に記憶されている処理済みのパレットの情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択して、前記ワークの取り出し又は配置を行なうことを特徴とする請求項１ないし５の何れかに記載のロボット制御装置。
【請求項７】
ロボットアームの手先位置を制御することで、内部が複数の仕切り板により格子状に区切られているパレットの各マスに配置されている、複数のワークの順次取り出し又は順次配置を行うロボットの制御方法において、
前記手先が前記マスの内部に挿入されると、前記手先の中心から周辺に位置する前記仕切り板までの距離をそれぞれ検出する４つの非接触式距離センサによって検出される各距離から、周辺を囲む前記仕切り板の正規位置からのズレ量を検出して記憶し、
前記非接触式距離センサによって検出される距離が、前記正規位置までの距離よりも長くなるように前記ズレ量が存在する場合を「プラス」，前記正規位置までの距離よりも短くなるように前記ズレ量が存在する場合を「マイナス」と定義すると、
前記パレットの外枠をなす部分については予めフラグ「ＯＫ」を設定し、前記手先が前記マスの内部に挿入された場合に、前記ズレ量が「ゼロ」，若しくは「マイナス」であれば当該仕切り板に隣接するマス側にフラグ「ＯＫ」を設定し、前記ズレ量が「プラス」であれば当該仕切り板に隣接するマス側にフラグ「ＮＧ」を設定して記憶し、
各マスのうちフラグ「ＮＧ」の設定がないものについて、前記フラグ「ＯＫ」の数を計算し、
前記フラグ「ＯＫ」の数が「２」以上でかつ最大のマスからワークの取り出し又は配置を行ない、前記フラグ「ＯＫ」の数が「２」以上のマスが存在しなければワークの取り出し又は配置を中止することを特徴とするロボットの制御方法。
【請求項８】
前記手先が同一の行又は同一の列に属する２つ目のマスに挿入されると、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「ＯＫ」又は「ＮＧ」を設定することを特徴とする請求項７記載のロボットの制御方法。
【請求項９】
前記手先が未挿入のマスについて、対向する１組の仕切り板の双方について前記フラグが設定済みであり、それらの少なくとも一方が「ＮＧ」であればそれらのズレ量の和を求め、その和が前記手先を挿入するための許容値を満たしている場合は、それらの仕切り板について設定されているフラグを「ＯＫ」に変更することを特徴とする請求項７又は８記載のロボットの制御方法。
【請求項１０】
前記フラグが「ＯＫ」に変更された仕切り板が対向する１組の一方である場合は、「ＯＫ」に変更された仕切り板を元「ＮＧ」側とし、フラグが当初から「ＯＫ」であった仕切り板を「ＯＫ」側とすると、双方の仕切り板についてのズレ量を比較し、元「ＮＧ」側のズレ量が「ＯＫ」側のズレ量以下であれば、当該マスの中心座標値を「ＯＫ」側方向に元「ＮＧ」側のズレ量分だけ補正し、元「ＮＧ」側のズレ量が「ＯＫ」側のズレ量を超えていれば、当該マスの中心座標値を「ＯＫ」側方向に、双方のズレ量の差の１／２だけ補正し、
前記フラグが「ＯＫ」に変更された仕切り板が対向する１組の双方である場合は、前記１組の仕切り板について前記パレットの座標原点に近い側のズレ量から前記座標原点に遠い側のズレ量を減じた差の１／２だけ、当該マスの中心座標値を前記座標原点から遠ざかる方向に補正することを特徴とする請求項９記載のロボットの制御方法。
【請求項１１】
前記手先が同一の行又は同一の列に属する２つ目のマスに挿入された場合に、前記双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ前記手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行ない、
前記計算されたズレ量に基づき、前記仕切り板について前記フラグ「ＯＫ」又は「ＮＧ」を設定し、
前記計算されたズレ量に基づくフラグ設定と、前記非接触式距離センサによって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小，大とする仕切り板情報を記憶し、
前記過去に手先の挿入が行われた回数が多いものが複数存在する場合は、各マスの仕切り板について前記仕切り板情報の重みづけの数値の和を求め、その和の値が大きい方を選択して前記ワークの取り出し又は配置を行なうことを特徴とする請求項７ないし１０の何れかに記載のロボットの制御方法。
【請求項１２】
複数のパレットについて連続して処理を行う場合、以前に処理したパレットの各マスについて、前記手先の挿入が行なわれたか否かの情報を記憶しておき、
前記フラグ「ＯＫ」の重みが「２」以上でかつ最大のマスが２つ以上存在する場合には、記憶している処理済みのパレットの情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択して、前記ワークの取り出し又は配置を行なうことを特徴とする請求項７ないし１１の何れかに記載のロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームの手先位置を制御することで、パレットに配置されている複数のワークの順次取り出し，又はパレットに対する複数のワークの順次配置を行うロボット制御装置及びロボットの制御方法に関する。
【背景技術】
【０００２】
生産現場においては、複数のワークが配置されたパレットをコンベア等により搬送することで工場内の生産ラインに流通させ、ロボットがアームの手先（ハンド）によりパレット内のワークを把持して取り出し、組み付けなどを行うようになっている。また、逆にロボットがパレットに対してワークを順次配置する作業も行われている。例えば図２５に示すように、上記のように使用されるパレット２１には、上面が開口した箱状の本体２２に、複数の仕切り板２３を縦横に並べて組み合わせて、ワークを配置するためのマスを格子状に構成するものがある。このようなタイプのパレット２１では、ワークの形状や１つのパレット２１に収容するワークの数，すなわち必要なマスの数に応じて、仕切り板２３を用いた仕切り方が変更される。
【０００３】
仕切り板２３には、互いを組み合わせるため複数個所に凹部４が形成されているが、この凹部４の隙間寸法は、組み合わされる仕切り板２３の幅寸法に対して若干余裕を持たせているため、仕切り板２３を組み合わせた場合に、一部の仕切り板２３が本体２２の外枠に対して平行又は垂直にならず、傾くことがある（図２６参照）。このように組み合わせの際に生じるズレは、ズレの状態が大きいものは作業者が目視で気付くため修正されるが、作業者が修正すべきか否か判断に迷うような微妙にズレているパレット２１については、修正されず生産ラインに投入される場合がある。
【０００４】
ロボットについては、パレットの各マスが正確な格子状に配置されていることを前提として、各ワークの配置座標につき事前にティーチングが行われ、精密に位置制御されるようになっている。そのため、上記のように仕切り板２３の配置がズレたパレット２１が生産ラインに投入されると、ロボットがティーチング通りの正常な動作でワークを掴みに行こうとする際に、パレット２１の仕切り板２３の位置が、ティーチング時に使用したパレットとは異なる位置になっている場合があり、アームの手先が仕切り板２３に接触して動作が停止してしまうことがある。
【０００５】
例えば、特許文献１には、商品を搬送するための通い箱について使用回数を情報として持たせ、その使用回数を劣化の進行度とみなし、所定の使用回数に達したものは画一的に廃棄するようにした技術が開示されている。
また、特許文献２には、ロボットのハンドとアームとの間に自由度（柔軟性）を持たせる機構（フローティング状態，非フローティング状態が切り替え可能）を採用し、ハンドが把持しているワークをパレットに積載する際には、ハンドをフローティング状態にして、パレットの変形に起因するワークとの干渉を回避する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２４０９５４号公報
【特許文献２】特開２００８−２１４０５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の技術をパレット及びロボットに適用することを想定すると、同様に所定の使用回数に達したパレットを廃棄したり、或いは前記使用回数からパレットの変形度合いを予測して、ワークの取得位置を補正することが考えられる。しかしながら、上記のようなパレット２１は、経時変化による変形ではないので、特許文献１のように廃棄することは想定外である。
また、特許文献２のように、ハンドとアームとの間に自由度を持たせる機構を採用しても、その自由度が有効となるのは手先がパレットに接触した後の段階であり、接触した後のリカバリーに寄与するものである。したがって、接触が発生した時点の状況によっては、リカバリーができない場合がある。
【０００８】
本発明は上記事情に鑑みてなされたものであり、その目的は、仕切り板の配置にずれがあるパレットについても、手先との干渉を極力回避しながら作業を継続できるロボット制御装置及びロボットの制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１記載のロボット制御装置によれば、ズレ量検出手段は、ロボットアームの手先がパレットのマスの内部に挿入されると、４つの非接触式距離センサによって検出される距離から、周辺を囲む仕切り板の正規位置からのズレ量を検出し、フラグ設定手段は、パレットの外枠をなす部分については予めフラグ「ＯＫ」を設定し、手先がマスの内部に挿入された場合に、ズレ量が「ゼロ」，若しくは「マイナス」であれば当該仕切り板に隣接するマス側にフラグ「ＯＫ」を設定し、ズレ量が「プラス」であれば当該仕切り板に隣接するマス側にフラグ「ＮＧ」を設定する。そして、ＯＫフラグ数計算手段が、各マスのうちフラグ「ＮＧ」の設定がないものについてフラグ「ＯＫ」の数を計算すると、手先位置制御手段は、フラグ「ＯＫ」の数が「２」以上でかつ最大のマスからワークの取り出し又は配置を行ない、フラグ「ＯＫ」の数が「２」以上のマスが存在しなければワークの取り出し又は配置を中止する。
【００１０】
すなわち、複数の仕切り板を組み合わせてマスを格子状に形成するパレットにおいては、一部の仕切り板が正規位置に対して傾いた状態で配置されると、その仕切り板の両側に沿って並ぶマスの開口寸法に長短が、すなわち正規の寸法からのズレが生じる。ズレ量が「プラス」の場合は、その仕切り板に隣接するマス側では寸法が短縮されるためフラグ「ＮＧ」を設定し、ズレ量が「マイナス」の場合は、その仕切り板に隣接するマス側では寸法が延長されるためフラグ「ＯＫ」を設定する。
【００１１】
そして、パレットの外枠を成す部分については構造上寸法が殆ど変化しないため、デフォルトでフラグ「ＯＫ」を設定すると、４隅に位置するマスは重みが「２」になる。したがって、最初は４隅に位置するマスの何れかよりワークの取り出し又は配置を開始すれば、その作業が成功する確率が高いと言える。そして、マスに手先を挿入すれば、非接触式距離センサにより各距離の情報が得られるので、その情報に基づき、前記マスを構成する２つの仕切り板についてフラグ「ＯＫ」，「ＮＧ」を設定することができる。
【００１２】
上記４隅に位置するマスを除く、パレットの外枠を一部とするマスについては、デフォルトでフラグ「ＯＫ」の数が１であるから、上記のようにフラグが設定されることで、フラグ「ＯＫ」の数が「２」以上となるマスを得ることができる。したがって、このように各マスについて評価を行いながら作業を進めれば、その作業を成功させつつ先に進めて行ける可能性を向上させることができる。
【００１３】
請求項２記載のロボット制御装置によれば、ズレ量検出手段は、手先が同一の行又は同一列の列に属する２つ目のマスに挿入されると、双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板についてズレ量を推測する計算を行なう。すなわち、各仕切り板は略直線であると見做すことができるので、同一の行又列に属するマスの２か所について非接触式距離センサにより距離の情報を得れば、直線式の傾きを求めることで未挿入のマスについてもズレ量を計算して推測することができる。そして、フラグ設定手段は、計算されたズレ量に基づき、前記仕切り板についてフラグ「ＯＫ」又は「ＮＧ」を設定するので、重みが「２」以上となるマスをより早く判別することができる。
【００１４】
請求項３記載のロボット制御装置によれば、フラグ設定手段は、手先が未挿入のマスについて、対向する１組の仕切り板の双方のフラグが設定済みであり、それらの少なくとも一方が「ＮＧ」であればそれらのズレ量の和を求め、その和が手先を挿入するための許容値を満たしている場合は、それらの仕切り板について設定されているフラグを「ＯＫ」に変更する。すなわち、当初のフラグ「ＮＧ」は、ズレ量が「プラス」であるという理由のみで設定されるため、対向する１組の仕切り板について実際のズレ量の和を得れば、その結果から当該マスに手先が挿入可能であるか否かを正確に判定できる。したがって、そのようなケースについてはフラグ「ＮＧ」を「ＯＫ」に変更することで、手先が挿入可能なマスを増加させることができる。
【００１５】
請求項４記載のロボット制御装置によれば、フラグが「ＯＫ」に変更された仕切り板が対向する１組の一方であれば、補正手段は双方の仕切り板についてのズレ量を比較し、元「ＮＧ」側のズレ量が「ＯＫ」側のズレ量以下であれば（ケース１）、当該マスの中心座標値を「ＯＫ」側方向に元「ＮＧ」側のズレ量分だけ補正する。すなわち、この場合は、マスの中心座標値に対するズレ量の影響が、実質的に元「ＮＧ」側のズレ量だけになると想定されるので、その分だけを補正すれば当該マスに対する挿入をより確実に行うことができる。一方、元「ＮＧ」側のズレ量が「ＯＫ」側のズレ量を超えていれば（ケース２）、当該マスの中心座標値を「ＯＫ」側方向に、双方のズレ量の和の１／２だけ補正する。この場合は、マスの中心座標値に対するズレ量の影響が上記のケース１よりも大きいと想定されるので、「ＯＫ」側のズレ量も考慮して補正を行うようにする。
【００１６】
また、フラグが「ＯＫ」に変更された仕切り板が対向する１組の双方であれば（ケース３）、パレットの座標原点に近い側のズレ量から座標原点に遠い側のズレ量を減じた差の１／２だけ、当該マスの中心座標値を座標原点から遠ざかる方向に補正する。この場合は、マスの中心座標値に対するズレ量の影響が上記のケース２よりも更に大きいと想定されるので、双方のズレ量を考慮し、ズレ量の差の符号に従うことで中心座標値を適切に補正する。
【００１７】
請求項５記載のロボット制御装置によれば、ズレ量検出手段は、請求項２と同様にズレ量を推測する計算を行ない、フラグ設定手段は、計算されたズレ量に基づきフラグ「ＯＫ」又は「ＮＧ」を設定する。そして、仕切り板情報記憶手段には、計算されたズレ量に基づくフラグ設定と、非接触式距離センサによって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小，大とする仕切り板情報が記憶される。すなわち、この仕切り板情報は、フラグ「ＯＫ」が設定された仕切り板について、その情報の確度を相対評価したものであり、非接触式距離センサによって直接検出される距離から得られたズレ量に基づくフラグ設定の確度は相対的に高く、推測されたズレ量に基づくフラグ設定の確度は相対的に低いと考えることができる。
【００１８】
そして、手先位置制御手段は、フラグ「ＯＫ」の重みが「２」以上でかつ最大のマスが２つ以上存在する場合は、各マスの仕切り板について仕切り板情報の重みづけの数値の和を求め、その和の値が大きい方を選択してワークの取り出し又は配置を行なうので、フラグの設定状況に応じて付与された確度の重み付けにより、手先の挿入が成功する確率がより高い方を選択できる。
【００１９】
請求項６記載のロボット制御装置によれば、複数のパレットについて連続して処理を行う場合、挿入成否情報記憶手段に、以前に処理したパレットの各マスについて、手先の挿入が行なわれたか否かの情報を記憶する。そして、手先位置制御手段は、前記重みが「２」以上でかつ最大のマスが２つ以上存在する場合には、挿入成否情報記憶手段に記憶されている処理済みのパレットの情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択してワークの取り出し又は配置を行なう。すなわち、本発明が前提とするパレットは、仕切り板が手作業によって組み付けられることが多いので、複数のパレットが連続して処理されると、複数の仕切り板の組み合わせによって生じるズレにはある程度の傾向が出現することが想定される。
【００２０】
そこで、挿入成否情報記憶手段に、以前に処理したパレットの各マスについて手先の挿入が行なわれたか否かの情報を記憶しておき、次にロボットの手先を挿入する候補となるマスが複数存在する場合に前記情報を利用して候補を決定すれば、挿入が成功する蓋然性を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】一実施例であり、制御内容を示すフローチャート
【図２】マスの中心座標の補正処理を示すフローチャート
【図３】ロボット本体がパレットに配置されているワークをピックアップしてベルトコンベア装置に配置する状態を示す斜視図
【図４】ハンドに距離センサが取り付けられている状態を拡大して示す分解斜視図
【図５】ロボットの制御系を示す機能ブロック図
【図６】距離センサによって各仕切り板までの距離を測定する状態を示す図
【図７】仕切り板の配置に全くズレがないパレットについて、ワークの取り出しを行う場合の処理手順を示す図（その１）
【図８】図７相当図（その２）
【図９】図７相当図（その３）
【図１０】図７相当図（その４）
【図１１】図７相当図（その５）
【図１２】図７相当図（その６）
【図１３】図７相当図（その７）
【図１４】仕切り板の配置にズレがあるパレットについての図７相当図（その１）
【図１５】図１４相当図（その２）
【図１６】図１４相当図（その３）
【図１７】図１４相当図（その４）
【図１８】図１４相当図（その５）
【図１９】マスの中心座標を補正する処理を説明する図
【図２０】図１４相当図（その６）
【図２１】図１４相当図（その７）
【図２２】図１４相当図（その８）
【図２３】図１４相当図（その９）
【図２４】図１４相当図（その１０）
【図２５】従来技術を説明する、パレットの構成を示す斜視図
【図２６】パレットの平面図
【発明を実施するための形態】
【００２２】
以下、一実施例について図１ないし図２４を参照して説明する。図３は、ロボット本体１が、パレット２１に配置されているワーク３をピックアップして、ベルトコンベア装置４に配置する状態を示す斜視図である。４軸のアームを有するロボット本体１は、ハンド５をパレット２１に降下させると、ハンド５でワーク３を把持して引き上げる。そして、アームを旋回させて先端をベルトコンベア装置４の上方に位置させた後下降させると、ハンド５からワーク３を離してベルトコンベア装置４上の搬送用パレット６に配置する。
【００２３】
また、ロボット本体１のアーム先端には、光学式（非接触式）の距離センサ７が配置されている。図４は、ハンド５に距離センサ７が取り付けられている状態を拡大して示す分解斜視図である。ハンド５とアーム先端との間には、４つの距離センサ７Ａ〜７Ｄを取り付けるため、十字状をなし、各先端部が下方に折り曲げられた形状の取付部材８が配置される。取付部材８の先端部が下方に折り曲げられて垂直となる四方の各側面には、４つの距離センサ７Ａ〜７Ｄが外側に向けて配置されている。
取付部材８の十字が交差する部分には、ねじ止め用の穴８ａが形成されており、上方から固定部材９を介してねじ止めにより固定される。そして、ハンド５は、固定部材９を介してアームの先端に取り付けられる。距離センサ７Ａ〜７Ｄは、ハンド５側から周辺側に光信号を照射し、その反射光を受光するまでの到達時間によって距離を検出する。
【００２４】
図５は、ロボットの制御系を示す機能ブロック図である。ロボット１０は、ロボット本体１と、そのロボット本体１の各軸に配置されている図示しないサーボモータを駆動制御するコントローラ（手先位置制御手段，ズレ量検出手段，ズレ量記憶手段，フラグ設定手段，フラグ設定記憶手段，ＯＫフラグ数計算手段，仕切り板情報記憶手段，挿入成否情報記憶手段，座標補正手段）１１とを中心として、その他の周辺機器とで構成されている。ロータリエンコーダ１２は、ロボット本体１の上記各軸モータに配置され、それらのモータの回転位置を検出してコントローラ１１に出力する。また、上述した距離センサ７Ａ〜７Ｄの検出信号が、コントローラ１１に出力されている。コントローラ１１は、予めティーチングされた動作目標位置に従い、ロータリエンコーダ１２並びに距離センサ７Ａ〜７Ｄの検出信号を参照して、ロボット本体１の手先位置（ハンド５の位置）を制御する。
【００２５】
本実施例では、例えば図２６等に示すように、一部の仕切り板が若干傾いているためにパレット２１の全てのマスにハンド５を挿入できない可能性があるものについて、各マスに配置されているワーク３を順次取り出すため、距離センサ７により検出された距離に基づいてロボット本体１の動作目標位置の補正を行う。図６は、ハンド５をマスに挿入した場合に、距離センサ７Ａ〜７Ｄにより各仕切り板までの距離を測定する状態を示している。そして、距離の測定結果に応じて、各マスを構成している仕切り板に、後述のようにフラグ「ＯＫ」，「ＮＧ」を設定する。
【００２６】
次に、本実施例の作用について図１及び図２，図７ないし図２４を参照して説明する。図１は、コントローラ１１の制御内容を示すフローチャートである。コントローラ１１は、先ず、パレット２１の外枠を構成する部分については、構造的に堅牢であるため歪みが生じないという前提でフラグ「ＯＫ」を設定する（ステップＳ１）。尚、フラグ「ＯＫ」，「ＮＧ」が設定されていないものは未設定「？」として、図７以降の図面で図示している。次に、未取得で且つフラグ「ＮＧ」の設定がないマスについて、フラグ「ＯＫ」の数を計算する（ステップＳ２）。
【００２７】
続いて、フラグ「ＯＫ」を設定したものについて、その設定を行った条件に従い、情報の確度を示す「信頼性重み（仕切り板情報）」を、ステップＳ２でフラグ「ＯＫ」の数を計算したマスについて計算する（ステップＳ３）。ここで、信頼性重みは、パレットの外枠であり「ＯＫ」となったものは評価対象外で重み値「０」，距離センサ７により距離が測定された結果「ＯＫ」となったものは重み値「１」，後述するように計算で推定された結果「ＯＫ」となったものは重み値「０．５」とする。それから、フラグ「ＯＫ」の数が「２」以上のマスがあるか否かを判断し（ステップＳ４）、ある場合は（ＹＥＳ）フラグ「ＯＫ」の数が最大のマスが、１つか否かを判断する（ステップＳ５）。最大のマスが１つであれば（ＹＥＳ）そのマスからワーク３を取得し（ステップＳ６）、最大のマスが２つ以上ある場合は（ＮＯ）それらのマスのうち、信頼性重みが最大のものを選択してワーク３を取得する（ステップＳ７）。尚、複数のマスの信頼性重みが何れも同じである場合は、例えばマスに付した番号の小さい方を選択する。
【００２８】
ステップＳ６又はＳ７で、マスにロボットの手先を挿入すると、距離センサ７によって四方の距離を測定する（ステップＳ８）。そして、四方のそれぞれについて、仕切り板のズレが正規の位置に対して「プラス」側にずれているか否かを判断する（ステップＳ９）。ここで、「プラス」とは、マスの中心座標から仕切り板までの距離が延長される方向にずれている場合を「プラス」とする。ズレが「プラス」側であれば（ＹＥＳ）、対応する仕切り板について、現在手先が挿入されているマスに隣接するマス側のフラグを「ＮＧ」に設定する（ステップＳ１０）。一方、ズレ量がゼロ，若しくはズレが「マイナス」側であれば（ＮＯ）、上記マス側のフラグを「ＯＫ」に設定する（ステップＳ１１）。尚、ズレ量が「ゼロ」とは、必ずしもズレが全く無い状態に限るものではなく、手先をマスに挿入する観点から、仕切り板２３が実質的に正規位置にあると言えるような状態を言う。
【００２９】
次に、パレット２１の同じ行又は同じ列に属する２つ目のマスについて手先を挿入したか否かを判断し（ステップＳ１２）、２つ目のマスであれば（ＹＥＳ）、それら２か所について取得された仕切り板２３のズレ量から当該仕切り板２３の傾きを計算することができ、その傾きから、同じ行又は同じ列に属する未取得のマスについても上記仕切り板２３のズレ量を計算で求めることができる。したがって、求めたズレ量からフラグ「ＯＫ」，「ＮＧ」を設定する（ステップＳ１３）。尚、ステップＳ１２において２つ目のマスでない場合は（ＮＯ）ステップＳ１３をスキップしてステップＳ１４に移行する。
【００３０】
ステップＳ１４では、未取得のマスで、対向する１組の仕切り板２３のフラグ設定が「ＯＫ」：「ＮＧ」又は「ＮＧ」：「ＮＧ」になっているものがあるか否かを判断する。該当するマスがあり（ＹＥＳ）、そのマスの１組の仕切り板２３のズレ量が何れも距離センサ７により実測されていれば、それらのズレ量から、ロボットの手先が挿入可能か否かが改めて判定できる（ステップＳ１５）。例えば双方のズレ量の和によって、マスの開口寸法が５ｍｍ（許容値）以上に短縮された場合は挿入不可で、開口寸法の短縮値が５ｍｍ未満であれば挿入可能であるとする。
【００３１】
したがって、ステップＳ１５においてズレ量の和が許容値未満であれば（ＹＥＳ）、対応する仕切り板２３のフラグを「ＯＫ」に設定し直し（ステップＳ１６）当該マスの中心座標値を後述するように補正する（ステップＳ１７）。それから、ステップＳ２に戻る。以上の処理を繰り返し実行した結果、ステップＳ４でフラグ「ＯＫ」の数が「２」以上のマスが無くなり（ＮＯ）、その時点で未取得のマスが存在しているとすれば（ステップＳ１８：ＹＥＳ）エラーメッセージを出力して（ステップＳ１９）処理を終了する。未取得のマスが存在しなければ（ＹＥＳ）正常終了となる。
【００３２】
ここで、図７ないし図１３は、仕切り板２３の配置に全くズレがないパレット２１について、ワーク３の取り出しを行う場合の処理手順を示す。尚、パレット２１の内部は、３＋３の計６枚の仕切り板２３で区切られており、計１６個のマスがある。これらの各マスをＭとし、それぞれの配置番号を付してＭ（１）〜Ｍ（１６）で示し、図中に示す丸数字は、ワーク３を取得した順序を示す。図７に示すように、最初は４隅に位置するＭ（１），Ｍ（４），Ｍ（１３），Ｍ（１６）の重みが「２」であり（ステップＳ２）、これらの４つを選択候補Ａ〜Ｄとして示している。そして、これらの中から、番号が最小であるＡ；Ｍ（１）を選択し（第１番）、ワーク３を取得する（ステップＳ４〜Ｓ７）。
【００３３】
すると、距離センサ７により各仕切り板２３（１），２３（４）までの距離が測定され（ステップＳ８）、Ｍ（１）に隣接するＭ（２），Ｍ（５）の仕切り板２３（４），（１）について、実測結果によりフラグ「ＯＫ」が設定される（実ＯＫ，図８参照，ステップＳ９，Ｓ１０）。次にＭ（２），Ｍ（５）を選択候補Ａ，Ｃとして、Ｍ（１３），Ｍ（１６）を選択候補Ｄ，Ｅとすると、選択候補Ａ〜Ｅは何れもフラグの重みが「２」である。しかし、信頼性重みについては、選択候補Ａ，Ｃが実測結果に基づきＯＫとなったフラグが１つあるので「１」，その他の選択候補は外枠に基づくＯＫフラグが２つで「０」となる。したがって、番号が最小の選択候補Ａ：Ｍ（２）を選択する（第２番，ステップＳ５，Ｓ７）。
【００３４】
すると、Ｍ（２）について距離センサ７により各仕切り板２３までの距離が測定され、Ｍ（２）に隣接するＭ（３），Ｍ（６）の仕切り板２３（５），２３（１）について、実測結果によりフラグ「ＯＫ」が設定される（実ＯＫ，図９参照）。それと同時に、Ｍ（１），Ｍ（２）の２つについて実測が行われた結果、仕切り板２３（１）については、２か所で得られた距離から、計算により傾き状態を推測できる。そして、仕切り板２３にはズレがないので、Ｍ（３），Ｍ（４），Ｍ（７），Ｍ（８）のフラグは「推ＯＫ」となる（ステップＳ１２，Ｓ１３）。
【００３５】
これにより、Ｍ（３），Ｍ（４）のフラグ「ＯＫ」の数は「３」となり、これらを選択候補Ａ，Ｂとすると、選択候補Ａ，Ｂの信頼性の重みはそれぞれ「１．５」，「０．５」であるから選択候補Ａ；Ｍ（３）が選択される（第３番）。Ｍ（３）について距離計測が行われればＭ（４）のフラグ「ＯＫ」の数は「４」となるから、次はＭ（４）が選択される（第４番）。そして、Ｍ（３），Ｍ（４）が選択されると、距離センサ７による計測の結果、Ｍ（７），Ｍ（８）における仕切り板２３（１）のフラグは「推ＯＫ」→「実ＯＫ」に変更される。
【００３６】
Ｍ（４）までワーク３の取得が完了した段階で、Ｍ（５），Ｍ（８），Ｍ（１３），Ｍ（１６）が何れも重み「２」であるから、これらが選択候補Ａ〜Ｄとなる。そして、信頼性の重みは選択候補Ａ，Ｂが何れも「１」であるから、番号が小さい選択候補Ａ；Ｍ（５）を選択する（第５番）。これにより、Ｍ（５）について距離センサ７により距離が測定され、Ｍ（５）に隣接するＭ（６），Ｍ（９）の仕切り板２３（４），２３（２）について、実測結果によりフラグ「ＯＫ」が設定される（実ＯＫ，図１０参照）。
【００３７】
それと同時に、Ｍ（１），Ｍ（５）の２つについて実測が行われた結果、仕切り板２３（４）については、２か所で得られた距離から計算により傾き状態を推測できる。そして、仕切り板２３（４）にはズレがないので、Ｍ（９），Ｍ（１３）のフラグは「推ＯＫ」となる。これにより、Ｍ（６），Ｍ（９），Ｍ（１３），Ｍ（１４）を選択候補Ａ，Ｃ，Ｄ，Ｅとすると、選択候補Ｃ，Ｄのフラグ「ＯＫ」の数は「３」となる。選択候補Ｃ，Ｄの信頼性の重みはそれぞれ「１．５」，「０．５」であるから選択候補Ｃ；Ｍ（９）が選択され（第６番）、Ｍ（９）について距離計測が行われればＭ（１３）のフラグ「ＯＫ」の数は「４」となるから、次はＭ（１３）が選択される（第７番）。そして、Ｍ（９），Ｍ（１３）が選択されると、距離センサ７による計測の結果、Ｍ（１０），Ｍ（１４）における仕切り板２３（４）のフラグは「推ＯＫ」→「実ＯＫ」に変更される。
【００３８】
Ｍ（１３）までワーク３の取得が完了した段階で、Ｍ（６），Ｍ（８），Ｍ（１４），Ｍ（１６）が何れもフラグ「ＯＫ」の数が「２」であるから、これらが選択候補Ａ〜Ｄとなる。そして、信頼性の重みは、選択候補Ａ〜Ｄがそれぞれ「２」，「１」，「１」，「０」であるから選択候補Ａ；Ｍ（６）を選択する（第８番，図１１参照）。これにより、Ｍ（６）について距離センサ７により距離が測定され、Ｍ（６）に隣接するＭ（７），Ｍ（１０）の仕切り板２３（５），２３（２）について、実測結果によりフラグ「ＯＫ」が設定される（実ＯＫ）。
【００３９】
そして、Ｍ（５），Ｍ（６）の２つ，Ｍ（２），Ｍ（６）の２つについて実測が行われた結果、仕切り板２３（２），２３（５）については、２か所で得られた距離から計算により傾き状態を推測できるので、Ｍ（７），Ｍ（８），Ｍ（１０）〜Ｍ（１２），Ｍ（１４），Ｍ（１５）のフラグは推ＯＫとなる。Ｍ（７），Ｍ（８），Ｍ（１０），Ｍ（１４）のフラグ「ＯＫ」の数は「３」となり、その他残り全てのマスであるＭ（７），Ｍ（８），Ｍ（１０）〜Ｍ（１２），Ｍ（１４）〜Ｍ（１６）も加えて選択候補Ａ〜Ｈとなる。
【００４０】
フラグ「ＯＫ」の数が「３」である選択候補Ａ，Ｂ，Ｃ，Ｆについては、選択候補Ａ，Ｃの信頼性重みが「２．５」であり、選択候補Ｂ，Ｆの信頼性重みが「１．５」であるから、選択候補Ａ；Ｍ（７）が選択される（第９番）。Ｍ（７）について距離計測が行われればＭ（８）のフラグ「ＯＫ」の数は「４」となるから、次はＭ（８）が選択される（第１０番）。そして、Ｍ（７），Ｍ（８）が選択されると、距離センサ７による計測の結果、Ｍ（１１），Ｍ（１２）における仕切り板２３（２）のフラグは「推ＯＫ」→「実ＯＫ」に変更される。
【００４１】
Ｍ（８）が選択された時点で、残り全てのマスであるＭ（１０）〜Ｍ（１２），Ｍ（１４）〜Ｍ（１６）が何れも重み「３」で選択候補Ａ〜Ｆとなり、信頼性の重みは選択候補Ａだけが「２．５」で最大となるので、次は選択候補Ａ；Ｍ（１０）が選択される（第１１番，図１２参照）。以降は同様にしてＭ（１１），Ｍ（１２），Ｍ（１４）〜Ｍ（１６）が順次選択され、未取得のマスは存在しないから「正常終了」となる（ステップＳ１８：ＮＯ，図１３参照）。
【００４２】
次に、図１４ないし図２４は、仕切り板２３の配置にズレがあるパレット２１について、ワーク３の取り出しを行う場合の処理手順を示す。図中に示す波線は、仕切り板２３の正規の配置を示す。尚、ズレの許容値は例えば±５ｍｍ未満とするが、図示の都合上、以下に記載するズレの具体数値と、図中に示されている寸法の比率とは厳密には一致しない。また、複数のパレット２１を連続して処理する結果、コントローラ１１に内蔵されているメモリには、その処理結果が記憶されることでデータベースが形成されており、選択候補となったマスのフラグ「ＯＫ」の数が同じである場合は、信頼性の重みを参照する以前に上記データベースより過去の情報を取得し、過去に配置が成功した確率が高いものを優先して選択する。
【００４３】
図１４に示すように、最初は４隅に位置するＭ（１），Ｍ（４），Ｍ（１３），Ｍ（１６）の重みが「２」で、これらの４つを選択候補Ａ〜Ｄとするのは図７に示すケースと同様である。そして、過去の情報を参照した結果、例えば選択候補Ｂ，Ｄはワーク３が取得できなかった場合があるが、選択候補Ａ，Ｃはワーク３が毎回取得できていたとする。この場合、選択候補Ａ，Ｃのうち番号が小さい選択候補Ａ；Ｍ（１）を取得する（第１番，図１５参照）。すると、距離センサ７により各仕切り板２３（１），２３（４）までの距離が測定され、Ｍ（１）に隣接するＭ（５），Ｍ（２）について、実測結果によりフラグ「ＮＧ」，「ＯＫ」がそれぞれ設定される。
【００４４】
すなわち、仕切り板２３（１）は、距離測定の基準位置，若しくはマスの中心座標から正規位置までの距離を延長する方向（プラス）にずれが生じており、仕切り板２３（４）は、距離測定の基準位置，若しくはマスの中心座標から正規位置までの距離を短縮する方向（マイナス）にずれが生じているからである。したがって、Ｍ（５）はこの時点で選択対象外となる。
【００４５】
取得したＭ（１）に替わり、Ｍ（２）のフラグ「ＯＫ」の数が「２」となって選択候補Ａとなるが、信頼性の重みは選択候補Ａが実測結果に基づきＯＫとなったフラグが１つあるので「１」，その他の選択候補Ｂ〜Ｄは外枠に基づくＯＫフラグが２つで「０」となる。したがって、番号が最小の選択候補Ａ：Ｍ（２）を選択する（第２番）。すると、Ｍ（２）について距離センサ７により距離が測定され、Ｍ（２）に隣接するＭ（３），Ｍ（６）の仕切り板２３（５），２３（１）について、実測結果によりフラグ「ＯＫ」，「ＮＧ」がそれぞれ設定される（図１６参照）。
【００４６】
それと同時に、Ｍ（１），Ｍ（２）の２つについて実測が行われた結果、仕切り板２３（１）については、２か所で得られた距離から計算により傾き状態を推測できる。そして、仕切り板２３（１）は、その配置方向に沿って均一な幅のズレが生じている（すなわち、直線の傾きがゼロ）ので、Ｍ（３），Ｍ（４）のフラグは「推ＯＫ」，Ｍ（７），Ｍ（８）のフラグは「推ＮＧ」となる。これにより、Ｍ（３），Ｍ（４）のフラグ「ＯＫ」の数は「３」となり、これらが選択候補Ａ，Ｂとなる。
【００４７】
ここで、過去の情報を参照した結果、Ｍ（３）の方がワーク３を取得できた確率が高い場合には、選択候補Ａ；Ｍ（３）を選択する（第３番，図１７参照）。Ｍ（３），Ｍ（４）の取得できた確率が等しい場合は、信頼性の重みを参照すれば選択候補Ａ，Ｂの信頼性の重みはそれぞれ「１．５」，「０．５」であるからやはりＭ（３）が選択される。Ｍ（３）について距離計測が行われた結果、隣接するＭ（４）側の仕切り板２３（６）についてはズレが＋５ｍｍであったとすると、フラグ「ＮＧ」が設定される。したがって、この時点でＭ（４）は選択対象外となる。また、Ｍ（７）の仕切り板２３（１）のフラグは「推ＯＫ」→「実ＯＫ」に変更される。
【００４８】
すると、次はＭ（１３），Ｍ（１６）が選択候補Ａ，Ｂとなり、過去の情報から選択候補Ａ；Ｍ（１３）が選択される（第４番）。Ｍ（１３）について距離センサ７により距離が測定され、Ｍ（１３）に隣接するＭ（９），Ｍ（１４）の仕切り板２３（３），２３（４）について、実測結果によりフラグ「ＮＧ」，「ＯＫ」がそれぞれ設定される（実ＯＫ，図１８参照）。したがって、Ｍ（９）は選択対象外となる。
【００４９】
それと同時に、Ｍ（１），Ｍ（１３）の２つについて実測が行われた結果、仕切り板２３（４）については、２か所で得られた距離から、計算により傾き状態を推測できる。この場合、ズレが何れも−４ｍｍであったとすると、Ｍ（５），Ｍ（６），Ｍ（９），Ｍ（１０）については何れも「推ＯＫ」となる。但し、Ｍ（５），Ｍ（９）が選択対象外である状態は変化しない。またこの時、Ｍ（５），Ｍ（９）のＸ方向については、マスの中心座標を補正する。以下、この補正処理（ステップＳ１７）について、図２及び図１９を参照して説明する。
【００５０】
図２において、先ず、フラグ「推ＮＧ」が「推ＯＫ」に変更された当該マスについて、元のフラグが対向する１組の仕切り板２３について双方とも「推ＮＧ」であったか否かを判断する（ステップＳ２１）。何れか一方のみが「推ＮＧ」であった場合は（ＮＯ）、元「ＮＧ」側の仕切り板２３のズレ量と「ＯＫ」側の仕切り板２３のズレ量とを比較し（ステップＳ２２）後者が前者以上であれば（ＹＥＳ）、元「ＮＧ」側のズレ量分だけズレの方向に中心座標を補正する（ステップＳ２３）。
これは図１９（ｂ）のケースであり、Ｙ方向の原点近傍側のズレ量が−２ｍｍ（ここでの符号は、マスの開口寸法を短縮する方向という意味で負である）であり、Ｙ方向の原点遠方側のズレ量が＋５ｍｍであれば、前者のズレ量だけを考慮すれば良く、中心座標をＹ方向に２ｍｍ補正する。
【００５１】
一方、ステップＳ２２において、元「ＮＧ」側の仕切り板２３のズレ量が「ＯＫ」側の仕切り板２３のズレ量を超えている場合は（ＮＯ）、元「ＮＧ」側のズレ量から「ＯＫ」側のズレ量を減じた結果を１／２にしたものを補正量とする（ステップＳ２４）。そして、元「ＮＧ」側のズレ方向に、上記補正量の分だけ補正する（ステップＳ２５）。これは図１９（ｃ）のケースであり、Ｙ方向の原点近傍側のズレ量が−５ｍｍであり、Ｙ方向の原点遠方側のズレ量が＋２ｍｍであれば、｛５−（−２）｝／２＝３．５［ｍｍ］だけ中心座標をＹ方向に補正する。
【００５２】
また、ステップＳ２１において、元のフラグが双方とも「推ＮＧ」であった場合は（ＹＥＳ）、パレット上のＸＹ座標の原点に近い方の仕切り板のズレ量から、前記原点に遠い方の仕切り板のズレ量を減じた差に１／２を乗じたものを補正量として（ステップＳ２６）、ズレ方向の座標値に補正量を加える（ステップＳ２７）。これは図１９（ａ）のケースであり、Ｙ方向の原点近傍側のズレ量が−２ｍｍであり、Ｙ方向の原点遠方側のズレ量が−３ｍｍであれば、（２−３）／２＝−０．５［ｍｍ］だけ中心座標をＹ方向に補正する。
すなわち、図１８に示すケースでは、Ｍ（５），Ｍ（９）のＸ方向のズレ量は、原点近傍側である外枠側はゼロであり、原点から遠方側である仕切り板２３（４）は４ｍｍであるから、（０−４）／２＝−２［ｍｍ］だけ中心座標をＸ方向に補正する。
【００５３】
次は、Ｍ（１４），Ｍ（１６）が選択候補Ａ，Ｂとなるが、過去の情報から選択候補Ａ；Ｍ（１４）を選択し（第５番，図２０参照）、仕切り板２３（３），２３（５）について距離が計測される。すると、これらの何れも２か所で計測が行われたので、Ｍ（１１），Ｍ（１２），Ｍ（１５），Ｍ（１６）並びにＭ（６），Ｍ（７），Ｍ（１０），Ｍ（１１）について計算による推定が行われる。例えば仕切り板２３（３）についての推定の結果が、
Ｍ（１５）→−５ｍｍ，推定ＮＧ  ／  Ｍ（１１）→＋５ｍｍ，推定ＯＫ
Ｍ（１６）→−８ｍｍ，推定ＮＧ  ／  Ｍ（１２）→＋８ｍｍ，推定ＯＫ
になったとする。この場合、Ｍ（１５），Ｍ（１６）は選択対象外となる。また、仕切り板２３（５）についてはズレがないので、上記のＭ（６）〜Ｍ（１１）の何れも推定ＯＫとなる。
【００５４】
すると次は、Ｍ（１１），Ｍ（１２）が選択候補Ａ，Ｂとなる。これらに関する過去の情報については差がなく、信頼性の重みはそれぞれ「１」，「０．５」であるから、選択候補Ａ；Ｍ（１１）を選択する（第６番，図２１参照）。Ｍ（１１）について、仕切り板２３（２），２３（３），２３（５），２３（６）について距離が計測され、隣接するＭ（７），Ｍ（１０），Ｍ（１２），Ｍ（１５）のフラグが設定される。すなわち、Ｍ（７）側の仕切り板２３（２）並びにＭ（１５）側の仕切り板２３（３）については「実ＮＧ」，Ｍ（１０）側の仕切り板２３（５）並びにＭ（１２）側の仕切り板２３（６）については「実ＯＫ」となる。また、Ｍ（７）のＹ方向ずれは（５＋２）＝７［ｍｍ］であるから、フラグの更新はない。
【００５５】
また、仕切り板２３（６）について２か所で計測が行われ、Ｍ（７），Ｍ（８），Ｍ（１５），Ｍ（１６）について計算による推定が行われる。例えば推定の結果が、Ｍ（７）が「推ＯＫ」，Ｍ（８）が「推ＮＧ」，Ｍ（１５）が「推ＮＧ」，Ｍ（１６）が「推ＯＫ」であったとする。すると、Ｍ（８）のＸ方向ズレ量は（２＋０）＝２［ｍｍ］に確定するので、仕切り板２３（６）のフラグを「推ＯＫ」に更新すると共に、中心座標を（２−０）／２＝１［ｍｍ］だけＸ方向に補正する。また、Ｍ（１５）側の仕切り板２３（６）のズレ量が５ｍｍに推定されるとＸ方向ズレ量は（０＋５）＝５［ｍｍ］に確定するので、フラグの更新はない。この時点で、フラグ「ＯＫ」の数が「２」以上となるのはＭ（１２）だけであるから（「３」）、次はＭ（１２）を選択する（第７番）。
【００５６】
すると、図２２に示すように、隣接するＭ（８）の仕切り板２３（２），Ｍ（１６）の仕切り板２３（３）について、フラグが「実ＮＧ」に設定される。また、仕切り板２３（２）については２箇所で計測が行われたので、Ｍ（９），Ｍ（１０）について推定が行われる。Ｍ（９）のＹ方向ズレ量が−５ｍｍ，−８ｍｍであるとすると、それらの和は１３ｍｍであるからＭ（９）についてフラグの更新はない。また、Ｍ（５）のＹ方向ズレ量は−５ｍｍ，＋５ｍｍとなるから、それらの和は０ｍｍとなり、Ｍ（５）の仕切り板２３（１）のフラグは「実ＯＫ」に更新する。
【００５７】
更に、Ｍ（１０）のＹ方向ズレ量が−２ｍｍ，−５ｍｍであるとすると、それらの和は７ｍｍであるから、Ｍ（１０）についてフラグの更新はない。また、Ｍ（６）のＹ方向ズレ量が−５ｍｍ，＋２ｍｍとなるから、それらの和は３ｍｍとなり、Ｍ（６）の仕切り板２３（１）のフラグを「実ＯＫ」に更新する。そして、Ｍ（５）の中心座標をＹ方向に５ｍｍ補正し、Ｍ（６）の中心座標をＹ方向に｛５−（−２）｝／２＝３．５［ｍｍ］補正する。この時点で、フラグ「ＯＫ」の数が「２」以上となるのはＭ（５），Ｍ（６）であり（「４」）、過去の情報では判断できず、信頼性重みはそれぞれ「２」，「２．５」であるから、次はＭ（６）を選択する（第８番）。
【００５８】
すると、図２３に示す状態となる。この時フラグは、Ｍ（１０）側の仕切り板２３（２）が「実ＮＧ」，Ｍ（７）側の仕切り板２３（５）が「実ＯＫ」に更新される。そしてフラグ「ＯＫ」の数が「２」以上となるのはＭ（５）であるから（「４」）次はＭ（５）を選択する（図２４参照，第９番目）。この時フラグは、Ｍ（９）側の仕切り板２３（２）が「実ＮＧ」に更新される。そして、この時点でフラグ「ＯＫ」の数が「２」以上となるマスは存在せず（ステップＳ４：ＮＯ）、未取得のマスが存在するので（ステップＳ１８：ＹＥＳ）、エラーを出力して（ステップＳ１９）処理を終了する。
尚、以上はパレット２１の各マスよりワーク３を取り出す場合について説明したが、パレット２１の各マスにワーク３を配置する場合でも、全く同様の制御が適用可能であることは言うまでもない。
【００５９】
以上のように本実施例によれば、コントローラ１１は、ロボットアームの手先がパレット２１のマスの内部に挿入されると、距離センサ７Ａ〜７Ｄにより検出される距離から、周辺を囲む仕切り板２３の正規位置からのズレ量を検出し、パレット２１の外枠をなす部分については予めフラグ「ＯＫ」を設定し、手先がマスの内部に挿入された場合に、ズレ量が「ゼロ」，若しくは「マイナス」であれば当該仕切り板２３に隣接するマス側にフラグ「ＯＫ」を設定し、ズレ量が「プラス」であれば当該仕切り板２３に隣接するマス側にフラグ「ＮＧ」を設定する。そして、各マスのうちフラグ「ＮＧ」の設定がないものについてフラグ「ＯＫ」の数を計算すると、フラグ「ＯＫ」の数が「２」以上でかつ最大のマスからワーク３の取り出し又は配置を行ない、フラグ「ＯＫ」の数が「２」以上のマスが存在しなければワーク３の取り出し又は配置を中止するようにした。
【００６０】
すなわち、最初は作業が成功する確率が高いパレット２１の４隅に位置するマスの何れかよりワーク３の取り出し又は配置を開始し、マスに手先を挿入すれば、距離センサ７により各距離の情報が得られるので、その情報に基づきマスを構成する仕切り板２３についてフラグ「ＯＫ」，「ＮＧ」を設定することができる。したがって、このように各マスについて評価を行いながら作業を進めれば、その作業を成功させつつ先に進めて行ける可能性を向上させることができる。
【００６１】
また、コントローラ１１は、手先が同一の行又は同一列の列に属する２つ目のマスに挿入されると、双方のマスについて検出されたズレ量から、これらと同じ方向に並ぶ手先が未挿入のマスについて、これらに並ぶ方向に沿って配置される仕切り板２３についてズレ量を推測する計算を行なうので、未挿入のマスについてもズレ量を計算して推測することができる。そして、計算されたズレ量に基づき、仕切り板２３についてフラグ「ＯＫ」又は「ＮＧ」を設定するので、フラグ「ＯＫ」の数が「２」以上となるマスをより早く判別することができる。
【００６２】
更に、コントローラ１１は、手先が未挿入のマスについて、対向する１組の仕切り板２３の双方についてフラグが設定済みであり、それらの少なくとも一方が「ＮＧ」で、それらのズレ量の和が手先を挿入するための許容値を満たしていれば、それらの仕切り板２３について設定されているフラグを「ＯＫ」に変更する。したがって、手先が挿入可能なマスを増加させることができる。
【００６３】
また、フラグが「ＯＫ」に変更された仕切り板２３が対向する１組の一方であれば、元「ＮＧ」側のズレ量が「ＯＫ」側のズレ量以下の場合は、当該マスの中心座標値を「ＯＫ」側方向に元「ＮＧ」側のズレ量分だけ補正し、元「ＮＧ」側のズレ量が「ＯＫ」側のズレ量を超えている場合は当該マスの中心座標値を「ＯＫ」側方向に、双方のズレ量の和の１／２だけ補正し、フラグが「ＯＫ」に変更された仕切り板２３が対向する１組の双方である場合は、パレット２１の座標原点に近い側のズレ量から座標原点に遠い側のズレ量を減じた差の１／２だけ、当該マスの中心座標値を座標原点から遠ざかる方向に補正する。したがって、双方のズレ量の発生状態に応じて、マスの中心座標値を適切に補正することができる。
【００６４】
また、コントローラ１１は、計算されたズレ量に基づくフラグ設定と、距離センサ７によって検出される距離から得られたズレ量に基づくフラグ設定とについて、それぞれの重みづけの数値を小，大として設定し、フラグ「ＯＫ」の数が「２」以上でかつ最大のマスが２つ以上存在する場合は、各マスの仕切り板２３について信頼性重みの和を求め、その和の値が大きい方を選択してワーク３の取り出し又は配置を行なうので、フラグの設定状況に応じて付与された情報確度の重み付けにより、手先の挿入が成功する確率がより高い方を選択できる。
【００６５】
加えて、コントローラ１１は、複数のパレット２１について連続して処理を行う場合、以前に処理したパレット２１の各マスについて、手先の挿入が行なわれたか否かの情報を記憶し、フラグ「ＯＫ」の数が「２」以上でかつ最大のマスが２つ以上存在する場合には、処理済みのパレット２１の情報から、前記マスについて、過去に手先の挿入が行われた回数が多いものを選択してワーク３の取り出し又は配置を行なうようにした。したがって、過去に処理を行った場合の情報に基づいて、挿入を成功する蓋然性を向上させることができる。
【００６６】
尚、本実施例のように処理を進めていけば、図１４〜図２４に示したように、状況としてどうしても手先を挿入できないマスがある場合は、そこで作業が停止してしまうことは避けられない。しかし、そもそも人が正常か異常か区別のつかないような仕切り板２３のズレを持つパレット２１であることを考えれば、確率的には上記のようにどうしても停止せざるを得ないケースは少ない。
むしろ、挿入可能なマスから順に手を入れると同時に、隣接するマスのズレの状態を評価しながら作業を進めることで、最初は補正の必要の無いマスで仕切り板２３の状況を評価・収集しながら処理を進め、その後、補正が必要なマスにそれぞれ適合した補正を行うことで手先が挿入可能となる。すなわち、人が正常か異常か区別のつかないような仕切り板２３のズレを持つパレット２１であることを考えれば、多くの場合は、最後まで全てのマスに手先を挿入できる可能性が高まる。故に、結果としてロボットの停止回数が抑制され、作業効率が向上する。
【００６７】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
１つのパレットに配置するマスの数は、１６個に限ることなく適宜変更して良い。
過去の情報に基づく成功率や信頼性の重みが同じである場合に選択するマスについては、マスに付与した番号が大きいものから優先して選択しても良い。
信頼性重み付けについて付与する数値は、重みの大小関係を維持する範囲で適宜変更して良い。また、過去の情報に基づく成功率や信頼性重みについては必要に応じて利用すれば良く、例えばマスに付与した番号の大小のみで選択対象を決定しても良い。
【００６８】
フラグ「ＯＫ」，「ＮＧ」を判定するためのズレ量の具体数値についても、個別のケースに応じて適宜変更すれば良い。
パレットは設備内を巡回するものであることから、パレットの外枠は一定以上の硬度を有しており容易には変形しにくいこと、また外枠が「実ＮＧ」と同じように変形した場合は、その他の変形していないパレットと形状が比較し易く容易にその事実が把握でき排除できるので、そのようなパレットは設備内には流れないとも言える。したがって、パレットの外枠に付与する信頼性重みについては、例えば「推ＯＫ」と同じ数値に設定したり、「推ＯＫ」と「実ＯＫ」との間の数値に設定しても良い。
【符号の説明】
【００６９】
図面中、１はロボット本体、３はワーク、２１はパレット、７は距離センサ（非接触式距離センサ）、１１はコントローラ（手先位置制御手段，ズレ量検出手段，ズレ量記憶手段，フラグ設定手段，フラグ設定記憶手段，ＯＫフラグ数計算手段，仕切り板情報記憶手段，挿入成否情報記憶手段，座標補正手段）を示す。
【図１】
2012045630.tif 000003
【図２】
2012045630.tif 000004
【図３】
2012045630.tif 000005
【図４】
2012045630.tif 000006
【図５】
2012045630.tif 000007
【図６】
2012045630.tif 000008
【図７】
2012045630.tif 000009
【図８】
2012045630.tif 000010
【図９】
2012045630.tif 000011
【図１０】
2012045630.tif 000012
【図１１】
2012045630.tif 000013
【図１２】
2012045630.tif 000014
【図１３】
2012045630.tif 000015
【図１４】
2012045630.tif 000016
【図１５】
2012045630.tif 000017
【図１６】
2012045630.tif 000018
【図１７】
2012045630.tif 000019
【図１８】
2012045630.tif 000020
【図１９】
2012045630.tif 000021
【図２０】
2012045630.tif 000022
【図２１】
2012045630.tif 000023
【図２２】
2012045630.tif 000024
【図２３】
2012045630.tif 000025
【図２４】
2012045630.tif 000026
【図２５】
2012045630.tif 000027
【図２６】
2012045630.tif 000028