JP2013193148A - 組立装置、位置推定装置、及び位置推定方法 - Google Patents
組立装置、位置推定装置、及び位置推定方法 Download PDFInfo
- Publication number
- JP2013193148A JP2013193148A JP2012060955A JP2012060955A JP2013193148A JP 2013193148 A JP2013193148 A JP 2013193148A JP 2012060955 A JP2012060955 A JP 2012060955A JP 2012060955 A JP2012060955 A JP 2012060955A JP 2013193148 A JP2013193148 A JP 2013193148A
- Authority
- JP
- Japan
- Prior art keywords
- component
- unit
- hole
- detection
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40032—Peg and hole insertion, mating and joining, remote center compliance
Landscapes
- Manipulator (AREA)
- Automatic Assembly (AREA)
Abstract
【課題】従来とは異なる方式で部品の位置を推定できる組立装置、位置推定装置、及び位置推定方法を提供することを課題とする。
【解決手段】本実施例の組立装置は、第1部品を開放可能に保持する保持部と、所定の位置に配置された第2部品の穴部に、前記保持部に保持された前記第1部品を配置できる位置まで前記保持部を移動させることができる駆動部と、前記第2部品に向けて送風可能であり前記駆動部に設けられた送風部と、前記第2部品で反射して吹きつけられた風の強さを検出可能であり前記保持部に設けられた検出部と、前記検出部の検出結果に基づいて前記第2部品の前記穴部に対する前記第1部品の位置を推定可能な制御部と、を備えている。
【選択図】図2
【解決手段】本実施例の組立装置は、第1部品を開放可能に保持する保持部と、所定の位置に配置された第2部品の穴部に、前記保持部に保持された前記第1部品を配置できる位置まで前記保持部を移動させることができる駆動部と、前記第2部品に向けて送風可能であり前記駆動部に設けられた送風部と、前記第2部品で反射して吹きつけられた風の強さを検出可能であり前記保持部に設けられた検出部と、前記検出部の検出結果に基づいて前記第2部品の前記穴部に対する前記第1部品の位置を推定可能な制御部と、を備えている。
【選択図】図2
Description
本発明は、組立装置、位置推定装置、及び位置推定方法に関する。
例えば、所定の機器を製造する場合には、第1部品を第2部品上に配置する装置が用いられる場合がある。例えばこのような装置は、カメラの撮影画像に基づいて、第2部品の位置を把握した上で第1部品を第2部品にまで移動させて配置する場合がある。特許文献1、2には、このような装置に関連する技術が開示されている。
このようなカメラは、第1部品とは異なる位置に設けられている。従って、第1部品から第2部品までの距離とカメラから第2部品までの距離は異なり、第1部品から第2部品への方向とカメラから第2部品への方向も異なっている。このため、撮影された画像の処理により得られたカメラから第2部品への距離、方向等を、予め設定された補正量に基づいて補正することにより、第1部品から第2部品までの距離や方向が推定される。この推定結果に基づいて第1部品を第2部品にまで移動させる。しかしながら、このような補正量は一律に定められているため、例えばカメラの設置位置のバラつきや、第1部品の位置又は姿勢のばらつきによっては、上記の推定結果にもバラつきが生じる場合がある。このような場合には、第1部品を第2部品の所望の位置に配置できないおそれがある。
また、例えば常時カメラにより両部品を撮影しながら、第2部品に形成された穴部に第1部品を挿入する場合がある。第1部品が穴部内に挿入されていくにつれて、カメラにより穴部の内側面を撮影することが困難になる。このため第1部品を穴部に挿入している途中で第1部品が穴部の内側面に接触するおそれもある。
以上のように、カメラによって撮影された画像に基づいて、第1部品の位置を把握することが適切ではない場合がある。
本発明は、従来とは異なる方式で部品の位置を推定できる組立装置、位置推定装置、及び位置推定方法を提供することを目的とする。
本明細書に開示の組立装置は、第1部品を開放可能に保持する保持部と、所定の位置に配置された第2部品の穴部に、前記保持部に保持された前記第1部品を配置できる位置まで前記保持部を移動させることができる駆動部と、前記第2部品に向けて送風可能であり前記駆動部に設けられた送風部と、前記第2部品で反射して吹きつけられた風の強さを検出可能であり前記保持部に設けられた検出部と、前記検出部の検出結果に基づいて前記第2部品の前記穴部に対する前記第1部品の位置を推定可能な制御部と、を備えている。
本明細書に開示の位置推定装置は、移動可能な可動部と、所定位置に配置された部品の穴部に向けて送風可能であり前記可動部に設けられた送風部と、前記部品で反射して吹きつけられた風の強さを検出可能であり前記可動部に設けられた検出部と、前記検出部の検出結果に応じて前記部品に対する前記可動部の位置を推定する制御部と、を備えている。
本明細書に開示の位置推定方法は、移動可能な可動部から所定位置に配置された部品の穴部に向けて送風し、前記部品から反射して前記可動部に吹きつけられる風の力を検出し、前記検出結果に応じて前記部品に対する前記可動部の位置を推定する。
従来とは異なる方式で部品の位置を推定できる組立装置、位置推定装置、及び位置推定方法を提供できる。
図1は、本実施例のロボットRの例示図である。ロボットRは、組立装置の一例である。ロボットRは、ロボットアーム(以下、アームと称する)RR、アームRRの先端に装着されたロボットハンド(以下、ハンドと称する)RHを含む。アームRRは、所定の位置に配置された第2部品の穴部に、前記保持部に保持された前記第1部品を配置できる位置まで前記保持部を移動させることができる駆動部の一例である。また、アームRRは移動可能な可動部の一例である。ロボットRは、詳しくは後述するが部品90の穴部BHに部品80を挿入する。部品90は、所定の台に配置されている。部品80は第1部品の一例であり、部品90は第2部品の一例である。
図2は、ロボットRの概略図である。ロボットRは、更に制御部C、モータ群MG、エアポンプAP、風力検出アンプWA、センサ群SGを含む。モータ群MGのそれぞれのモータは、アームRRやハンドRHに設けられている。エアポンプAPは、詳しくは後述するが、ハンドRHに設けられたノズル50から空気を排出するために用いられる。風力検出アンプWAは、詳しくは後述するが、ハンドRHに設けられたセンサ群SGからの各出力値を増幅する。制御部Cは、センサ群SGからの各出力値に基づいて、アームRR、ハンドRHを制御する。制御部Cは、CPU、ROM、RAMを含む。ROMには、アームRR、ハンドRHの駆動を制御するためのプログラムが記憶されている。CPUは、操作指令やセンサからの入力に応じてプログラムを読み出して所定の処理を実行する。
図3、4、5は、ハンドRHの説明図である。図3は、ハンドRHの正面を示し、図4は、ハンドRHの側面を示し、図5は、ハンドRHに保持された状態での部品80の上面を示している。図3〜5では、部品80を保持した状態のハンドRHを示している。ハンドRHは、基部10、爪部22a0、22a1、22b0、22b1、22c、22d、ノズル50を含む。
爪部22a0、22b0は、互いに接近、離間するように移動可能である。同様に、爪部22a1、22b1は、互いに接近、離間するように移動可能である。爪部22a0、22a1は、一体的に設けられ、同様に爪部22b0、22b1も一体的に設けられている。基部10内には、これら爪部22a0、22a1、22b0、22b1を駆動するための機構、モータ等が内蔵されている。爪部22c、22dは、基部10の外側面に固定されており、基部10に対して移動不能である。
部品80は、略直方状である。部品80は、互いに対向する上面81a、下面81b、互いに対向する側面82a、82b、互いに対向する側面82c、82d、を含む。側面82a、82bのそれぞれは、側面82c、82dのそれぞれよりも面積が大きい。また、側面82c、82dの各面積は、他の面の面積よりも小さい。従って、図5に示すように、上面81aから見た場合に部品80は略矩形状である。部品80の中心には、上面81a側から下面81b側に貫通した通過孔THが設けられている。部品80は、どのような材料により形成されていてもよく、例えば、合成樹脂材料、金属材料、弾性材料、又は発泡材料により形成されていてもよい。
爪部22a0、22a1は、部品80の側面82aを押え、爪部22b0、22b1は、部品80の側面82bを押える。このように、爪部22a0、22a1、22b0、22b1は、部品80を挟持する。また、爪部22c、22dは、それぞれ、部品80の側面82c、82dと対向しているが、部品80を保持してはいない。爪部22c、22d間の距離は、部品80の側面82c、82d間の距離よりも若干大きめにできている。部品80は、これら爪部22a0、22b0等に挟まれてハンドRHに保持されている。爪部22a0、22b0等が互いに離れるように駆動することにより、部品80は開放される。従って、22a0等は、部品80を開放可能に保持している保持部の一例である。
爪部22a0、22a1、22b0、22b1、22c、22dには、それぞれセンサSA0、SA1、SB0、SB1、SC、SDが設けられている。これらセンサSA0等はセンサ群SGに含まれる。センサSA0、SB0は、前記保持部に保持された前記第1部品を挟む位置に設けられた第1及び第2検出部の一例である。センサSC、SDは、前記保持部に保持された前記第1部品を挟む位置に設けられた前記第3及び第4検出部の一例である。センサSA0からセンサSB0への方向とセンサSCからセンサSDへの方向とは直交している。センサSA1、SB1は、前記保持部に保持された前記第1部品を挟む位置に設けられた前記第5及び第6検出部の一例である。センサSA1からセンサSB1への方向とセンサSA0からセンサSB0への方向とは平行である。
また、センサSA0、SA1は、部品80の側面82aに沿うように設けられ、センサSB0、SB1は、部品80の側面82bに沿うように設けられている。一方、センサSC,SDは、それぞれ側面82c、82dに沿うように設けられている。従って、図5に示すように、部品80をノズル50の軸心から見た場合、長辺に相当する側面82a側、側面82b側にそれぞれ2つのセンサが設けられている。
図6、7は、ハンドRHの詳細な外観図である。尚、図6、7には、爪部22c、22dを取外した状態のハンドRHを示している。アームRRの先端に基部10の側面が固定される。
図8Aは、センサSA0の拡大図である。センサSA0は、弾性片S10、弾性片S10上に配置されたひずみゲージsg、を含む。弾性片S10は、薄板状である。弾性片S10は、例えば金属材料により形成されているがこれに限定されない。例えば、弾性片S10は、合成樹脂製材料や、弾性材料であってもよい。弾性片S10は、爪部22a0の側面に固定された固定部S12、固定部S12から連続して折り曲げられえた非固定部S14、を含む。非固定部S14は、爪部22a0には固定されていない。即ち、非固定部S14の先端は自由端である。ひずみゲージsgは、この非固定部S14に固定されている。弾性片S10は、前記保持部に部分的に固定された弾性変形可能な弾性部の一例である。
弾性片S10が風に晒されと、非固定部S14が撓みひずみゲージsgも撓む。ひずみゲージsgの出力値は、撓み量に応じて変化する。ひずみゲージsgの撓み量が大きいほどひずみゲージsgの出力値も大きくなる。従って、センサSA0は、センサSA0に吹きつけられる風力を検出できる。具体的には、風力検出アンプWAによって増大されたひずみゲージsgの出力値に基づいて、制御部CはセンサSA0に吹きつけられる風力を把握できる。尚、その他のセンサSA1等も、センサSA0と同様の構造である。従って、弾性片S10は、風が吹きつけられている場合に撓み、風が吹きつけられていない場合に初期の状態に復帰する程度の弾性を有している。よって、弾性片S10は、このような弾性を有しているのであれば、どのような材料により形成されていてもよい。尚、便宜上、ひずみゲージsgの出力値をセンサの出力値として説明する。
図8Bは、ノズル50の拡大図である。ノズル50内には、空気が通過する通路が設けられている。ノズル50は、基部51、軸部53、フランジ部55、突部57を含む。基部51は、基部10に固定されている。軸部53は、基部51よりも細い。フランジ部55は、軸部53の先端部に形成され、略平板状である。突部57は、フランジ部55の下端面から突出し、空気を排出するための排出孔が設けられている。基部10には、ノズル50と連通した孔が設けられている。ホースを介して、エアポンプAPと基部10の孔とが接続されている。エアポンプAPを駆動すると、ホースを介してノズル50内に空気が送られて突部57の排出孔から空気が排出される。
図3、4に示すように、ノズル50の突部57は、ハンドRHに保持された部品80の通過孔TH内に挿入されている。ノズル50は、爪部22a0、22b0等に囲まれている。即ち、ノズル50は、センサSA0等に囲まれている。尚、図5に示すように、センサSA0、SB0、SA1、SB1のそれぞれからノズル50までの距離は等しい。即ち、図5に示すようにノズル50の軸心の方向からセンサSA0等を見た場合、センサSA0、SB0、SA1、SB1は、ノズル50の軸心に対して対称の位置に設けられている。また、センサSC、SDのそれぞれからノズル50までの距離も等しい。
図9は、ノズル50から部品90の穴部BHに向けて空気が吹きつけられた場合の説明図である。ノズル50から排出された空気は、部品80の通過孔THを通過して、部品90の穴部BHに吹きつけられる。部品90の穴部BH内では、空気が底面91に当接して、空気の一部は内側面92a等の側面側に流れる。この側面に沿って空気は上方側に流れて、その一部はセンサSA0等に吹きつけられる。従って、センサSA0等は、部品90に反射して吹きつけられる風の強さを検出することができる。ノズル50は、前記第2部品に向けて送風可能であり前記駆動部に設けられた送風部の一例である。センサSA0等は、前記第2部品で反射して吹きつけられた風の強さを検出可能であり前記保持部に設けられた検出部の一例である。
図10A〜10Dは、部品80、90の相対位置と、センサSB0の出力との関係の説明図である。ハンドRHに保持された部品80が、部品90の穴部BHの上部を通過する場合を例に説明する。尚、図10A〜10Cにおいては、理解を容易にするためにハンドRHの一部を省略してある。図10Dは、センサSB0のひずみゲージsgの出力の変化と部品80の位置とを示したグラフである。図10Dのグラフにおいて、部品80の略中心に形成された通過孔THの位置を部品80の位置として示している。
図10Aに示すように、部品80の下面81bが部品90の穴部BHから退避している場合、通過孔THを通過した空気は、下面81bと下面81bに対向する部品90の上面との間を通過して、部品90の上面上を略水平方向に流れる。水平方向に流れる空気は、センサSB0には吹きつけられないものと思われる。図10Bに示すように、部品80の通過孔THが部品90の穴部BHと対向すると、通過孔THを通過した空気は、部品90の底面91にぶつかる。そして、空気の一部は内側面92a側に流れ、その他の空気の一部は内側面92b側やその他の側面側に流れる。内側面92b側に流れた空気は、内側面92bに沿うようにして上方側に流れてセンサSB0に吹きつけられる。このため、センサSB0のひずみゲージsgの出力値が変化する。
図10Cに示すように、上面81aの一部が穴部BHから離れると、内側面92bに沿って上方に流れた空気の一部は、部品80の側面82bに沿って上方に流れてセンサSB0に吹きつけられる。しかしながらその他の空気の一部は、下面81bの一部と部品90の表面との間を通過して、部品90の上面上を略水平方向に流れる。これにより、図10Cの状態でのセンサSB0の出力値は、図10Bの状態でのセンサSB0の出力値よりも小さくなる。部品80が部品90の穴部BHから離れると、通過孔THから排出された空気は部品90の上面にぶつかり上面上を略水平方向に流れる。このため、センサSB0の出力値は再び初期値に戻る。
図10Dに示すように、部品80の通過孔THが部品90の穴部BHに対向している範囲の途中で、センサSB0の出力値はピーク値PLとなる。センサSB0の出力値は、ピーク値PLをセンサSB0が出力した地点から部品80が離れるほど、センサSB0の出力値は低下する。最終的にはセンサSB0の出力値は、最小値PZを出力する。このように、ピーク値PLと最小値PZとの間の領域ZでのセンサSB0の出力値の大きさと、部品90と部品80との相対位置とは、一定の相関関係を有している。この相関関係に基づいて、制御部Cは部品80、90の相対位置を推定できる。即ち、制御部Cは、部品90の穴部BHに対する部品80の位置を推定できる。
次に、本実施例で使用する部品80、90の寸法について説明する。図11Aは、部品80、90の外観図である。例えば、部品80のX方向の寸法、Y軸方向の寸法、Z軸方向の寸法を、4mm、25mm、5mmとする。部品90の矩形状である穴部BHのX軸方向の寸法、Y軸方向の寸法、Z軸方向の寸法を、4.2mm、25.3mm、8mmとする。尚、部品80、90の穴部BHの大きさはこれに限定されない。尚、図11Aでは、穴部BHの長手方向をY軸方向とし、穴部BHの短手方向をX軸方向とし、部品90の穴部BHが形成された面の法線方向をZ軸方向と規定している。
図11Bは、ハンドRHに保持された部品80が部品90の穴部BHからずれた状態を示した図である。尚、図11Bにおいては、理解を容易にするために爪部22a0等は省略している。部品80の側面82dと穴部BHの内側面92dとのずれ量が、側面82cと内側面92cとのずれ量よりも大きい場合を例に説明する。図11Bでは、部品80は部品90の穴部BHに対してX軸方向、Y軸方向、θ軸方向にずれている。従って、このままの状態で部品80を部品90に挿入することは困難である。
尚、部品80が穴部BHに対してずれていない場合には、センサSA0、SB0は、X軸方向に並び、センサSA1、SB1もX軸方向に並ぶ。また、センサSA0、SA1はY軸方向に並び、センサSB0、SB1はY軸方向に並び、センサSC、SDはY軸方向に並ぶ。また、図11Bにおいては、穴部BHは、底面91、長手方向に沿って互いに対向した内側面92a、92b、短手方向に沿って互いに対向した内側面92c、92d、を含む。尚、θ軸はZ軸と平行である。
図12A〜12Fは、各センサの出力値と、部品90の穴部BHに対する部品80の位置のずれ量との関係を示したグラフである。図12A〜12Fは、それぞれ、センサSA0、SA1、SB0、SB1、SC、SDに関する図である。図11Bに示したように、センサSA0は部品90の穴部BHの内側面92aに交差しているのに対して、センサSA1は、内側面92aよりも内側に位置している。このため、センサSA1には、内側面92aに沿って上方に流れた空気の多くが吹きつけられる。また、センサSA0には、内側面92aに沿って上方に流れた空気の一部は部品80の下面81bに当接してセンサSA0から離れる方向に流れて、残りの空気が吹きつけられる。このため、センサSA1に吹きつけられる風力は、センサSA0に吹きつけられる風力よりも大きい。従って、図12A、12Bに示すように、センサSA0よりもセンサSA1の方が出力値は大きくなる。
図11Bに示すように、センサSB0は穴部BHの内側面92bに交差しているのに対し、センサSB1は、穴部BHの内側面92bの外側に位置している。このため、センサSB1に吹きつけられる風力は弱い。従って、図12C、12Dに示すように、センサSB0よりもセンサSB1の方が出力値は小さくなる。同様に、センサSCは穴部BHの内側面92cの外側に位置しているのに対し、センサSDは内側面92dと交差している。このため、センサSCに吹きつけられる風力は、センサSDに吹きつけられる風力よりも弱い。従って、図12E,12Fに示すように、センサSDよりもセンサSCの方が出力値は小さくなる。
以上のように、制御部Cは、異なる位置に配置された複数のセンサの検出結果に基づいて、部品90の穴部BHに対する部品80の各部の位置を推定できる。更に、制御部Cは、推定された部品80の位置の情報に基づいて、アームRRを駆動して部品80と穴部BHとのずれを修正する。制御部Cは、前記検出部の検出結果に基づいて前記第2部品の前記穴部に対する前記第1部品の位置を推定可能な制御部の一例である。
図13〜16は、制御部Cが実行する制御の一例を示したフローチャートである。図17A〜17Dは、制御部Cが実行する制御において使用されるマップの一例である。図13に示すように、制御部Cは、まず、予めオペレータの目視や、予め入力されたデータ等に基づいて、ハンドRHに保持された部品80を部品90の穴部BHの上部のおよその位置まで移動させる(ステップS1)。その後、制御部CはセンサSA0等の出力値をリセットする(ステップS2)。次に、制御部Cは、エアポンプAPを駆動して部品90に空気を吹きつける(ステップS3)。次に、制御部Cは、θ軸方向のずれ、X軸方向のずれ、Y軸方向のずれ、を修正し(ステップS4〜6)、修正後の座標位置を登録する(ステップS7)。尚、ステップS7後に、制御部Cは、爪部22a0、22b0等を制御して部品80を開放して部品90の穴部BHに挿入してもよい。
図14は、制御部Cが実行するθ軸方向のずれを修正する制御の一例を示したフローチャートである。制御部Cは、全てのセンサから出力値を読み込み(ステップS41)、出力値VA0、VA1の合計値が出力値VB0、VB1の合計値よりも大きいか否かを判定する(ステップS42)。出力値VA0、VA1、VB0、VB1は、それぞれセンサSA0、SA1、SB0、SB1の出力値を示している。
例えば、出力値VA0、VA1の合計値が出力値VB0、VB1の合計値より大きい場合は、センサSA0、SA1は穴部BHの中心に近く、センサSB0、SB1は穴部BHの中心から離れていると推定される。例えば図11Bに示した場合では、上記のように推定される。従って、この場合は、穴部BHに対して部品80は+X方向側にずれていることが推定される。また、出力値VA0、VA1の合計値が出力値VB0、VB1の合計値よりも小さい場合は、穴部BHに対して部品80が−X方向側にずれていることが推定される。このように、X軸方向に沿うように設けられたセンサSA0、SB0、同様にX軸方向に沿うように設けられたセンサSA1、SB1の出力値を利用することにより、制御部Cは穴部BHに対して部品80がX軸方向のどちら側にずれているかを推定できる。
制御部Cは、ステップS42で肯定判定、否定判定の何れの場合も、比較結果をRAM等のメモリに記憶する(ステップS43a、43b)。
制御部Cは、例えばステップS42で肯定判定の場合には、出力値VA0が出力値VA1よりも大きいか否かを判定する(ステップS44a)。これにより、例えば出力値VA0が出力値VA1よりも大きい場合には、センサSA0が穴部BHの中心に近く、センサSA1が穴部BHの中心から離れていること推定される。従って、この場合では、部品80は部品90に対して−θ方向に角度がずれていると推定される。この場合、制御部Cは、部品80のずれを修正するための回転方向を+θ方向に決定する(ステップS45a)。
一方、ステップ44aで否定判定の場合、具体的には、出力値VA0が出力値VA1よりも小さい場合には、部品80は部品90に対して+θ方向に角度がずれていることが推定される。例えば、図11Bに示した場合では、ステップS44aでは否定判定がなされる。この場合、制御部Cは、部品80のずれを修正するための回転方向を−θ方向に決定する(ステップS45b)。
同様に、出力値VB0が出力値VB1よりも大きいか否かを判定する(ステップS44b)。これにより、部品80が穴部BHに対して−θ方向にずれているのか、+θ方向にずれているのが推定される。次に、制御部Cは、部品80の位置を修正するための回転方向を決定する(ステップS45a、45b)。
以上のように、センサSA0、SA1の出力値VA0、VA1の比較により、制御部Cは部品80が部品90の穴部BHに対してθ軸方向のどちらの方向にずれているのかを推定することができる。センサSA0、SAは、部品80の長辺に相当する側面82a側に設けられており、出力値VA0、VA1の大小関係により、穴部BHの内側面92aに対する部品80の側面82aの傾き方向を推定できるからである。同様に、センサSB0、SB1の出力値VB0、VB1の比較によっても、制御部Cは部品80が部品90の穴部BHに対してθ軸方向のどちらの方向にずれているのかを推定できる。
制御部Cは、修正に必要となる回転量を、予めメモリ等に記憶されたマップに基づいて決定する(ステップS46)。例えば、出力値VA0、VA1の合計値が出力値VB0、VB1の合計値よりも大きい場合には、図17Aに示したマップに基づいて回転量が決定される。出力値VA0、VA1の合計値が出力値VB0、VB1よりも小さい場合には、図17Bに示したマップに基づいて回転量が決定される。図17Aのマップは、出力値VA1、VA0の差と必要な回転量との関係を規定している。図17Bのマップは、出力値VB1、VB0との差と必要な回転量との関係を規定している。図17A、17Bに示すように、出力値VA0、VA1の差、出力値VB0、VB1の差が大きいほど、修正に必要となる回転量は大きくなるように設定されている。これらの差が大きいほど、穴部BHの内側面92aに対する修正前の側面82aの傾きが大きいものと推定されるからである。
制御部Cは、決定された回転量に基づいてハンドRHを回転させる(ステップS47)。具体的には、制御部Cは、モータ群MGを制御してアームRRに対するハンドRHの向きを変更する。これにより、部品80のθ軸方向のずれが修正される。
制御部Cは、出力値VA0、VA1が等しいか否か、又は出力値VB0、VB1が等しいか否かを判定する(ステップS48)。部品80のθ軸方向のずれが適切に修正された状態であれば、穴部BHの内側面92aと部品80の側面82aとが平行になるため、出力値VA0、VA1は等しくなるからである。この場合、出力値VB0、VB1も等しくなる。従って、出力値VA0、VA1が等しくなく、又は出力値VB0、VB1が等しくないのであれば、いまだに部品80はθ軸方向にずれているものと推定される。
次に、ステップS48で肯定判定の場合、制御部Cは修正後のハンドRHのθ軸の座標をメモリに記憶し(ステップS49)、X軸方向のずれの修正、Y軸方向のずれの修正を行う(ステップS5、S6)。
ステップS48で否定判定の場合には、制御部Cは現状のハンドRHの位置が、ハンドRHの回転の許容範囲内に含まれているか否かを判定する(ステップS491)。例えば、実際には既に部品80のθ軸のずれが修正されているがX軸又はY軸方向に大きくずれている場合、出力値VA0と出力値VA1とは等しくならならず出力値VB0と出力値VB1についても等しくならない場合がある。現状のハンドRHの位置が、許容範囲内の場合は、制御部Cは再度θ軸方向のずれの修正を行う(ステップS4)。現状のハンドRHの位置が許容範囲外の場合には、制御部CはX軸方向のずれの修正、Y軸方向のずれの修正し(ステップS5、S6)、その後に再度θ軸方向のずれの修正を行う(ステップS4)
図15は、制御部Cが実行するX軸方向のずれを修正する制御の一例を示したフローチャートである。制御部Cは、全てのセンサから出力値を読み込み(ステップS51)、出力値VA0、VA1の合計値が出力値VB0、VB1の合計値よりも大きいか否かを判定する(ステップS52)。肯定判定の場合には、制御部Cは、部品80は穴部BHに対して−X方向にずれていると推定し、否定判定の場合には、制御部Cは、部品80は穴部BHに対して+X方向にずれていると推定する。例えば、図11Bに示した場合では、肯定判定がなされる。
ステップS52で肯定判定の場合には、制御部Cは部品80の移動方向を−X方向に決定する(ステップS53a)。ステップS52で否定判定の場合には、制御部Cは部品80の移動方向を+X方向に決定する(ステップS53b)。
次に、制御部Cは、修正に必要となる移動量を、予めメモリ等に記憶されたマップに基づいて決定する(ステップS54)。具体的には、制御部Cは図17Cに示したマップに基づいてX軸方向の移動量を決定する。図17Cのマップは、出力値VA0、VA1の合計値と出力値VB0、VB1の合計値との差と、X軸方向の移動量との関係を規定している。図17Cに示すように、出力値VA0、VA1の合計値と出力値VB0、VB1の合計値との差が大きいほど、修正に必要となる移動量は大きくなるように設定されている。
次に、制御部Cは、決定されたX軸方向の移動量に基づいてハンドRHをX軸方向に移動させる(ステップS55)。その後、制御部Cは、出力値VA0、VA1の合計値と出力値VB0、VB1の合計値とが等しいか否かを判定する(ステップS56)。等しい場合には、制御部Cは、部品80のX軸方向のずれが修正されたものと推定して修正後でのハンドRHのX軸の座標をメモリに記憶し(ステップS57)、Y軸方向の修正を行う(ステップS6)。
尚、穴部BHに対して部品80がθ軸方向にずれており、X軸方向のずれは修正された状態の場合、部品80の対角線上に並んだセンサSA1、SB0の出力値VA1、VB0は等しいものと推定される。この場合、同様に対角線上に並ぶセンサSA0、SB1の出力値VA0、VB1も等しいものと推定される。従って、出力値VA0、VA1の合計値と、出力値VB0、VB1の合計値とは等しいものとなる。よって、例えば、ステップS4においてθ軸方向のずれが十分に修正されていない場合であっても、X軸方向のずれを修正できる。
ステップS56で否定判定の場合には、制御部Cは現状のハンドRHの位置がX軸方向の移動が許容される許容範囲内に含まれているか否かを判定する(ステップS58)。例えば、実際には既にX軸方向のずれが修正されていたとしても、θ軸方向に大きくずれているがために、出力値VA0と出力値VA1との合計値と出力値VB0と出力値VB1との合計値とは等しくならならない場合がある。現状のハンドRHの位置が、予め設定されたX軸方向の移動が許容される許容範囲内に含まれている場合は、制御部Cは再度X軸方向のずれの修正を行う(ステップS5)。現状のハンドRHの位置が許容範囲外である場合には、制御部CはY軸方向のずれ、θ軸方向のずれを修正して(ステップS6、S5)、再びX軸方向のずれの修正する(ステップS5)。
図16は、制御部Cが実行するY軸方向のずれを修正する制御の一例を示したフローチャートである。制御部Cは、全てのセンサからの出力値を読み込み(ステップS61)、出力値VCが出力値VDよりも大きいか否かを判定する(ステップS62)。出力値VC、VDは、それぞれセンサSC、SDの出力値である。例えば、センサSCが内側面92cよりも内側に位置し、センサSDが内側面92dの外側に位置しているような場合には、出力値VSは出力値VDよりも大きくなる。この場合、制御部Cは、穴部BHに対して部品80は+Y方向にずれていると推定する。否定判定の場合には、制御部Cは、穴部BHに対して部品80は−Y方向にずれていると推定する。例えば、図11Bに示した場合では、否定判定がなされる。
ステップS62で肯定判定の場合には、制御部Cは、部品80のずれを修正するために必要となる部品80の移動方向を−Y方向に決定する(ステップS63a)。ステップS62で否定判定の場合には、制御部Cは、部品80の移動方向を+Y方向に決定する(ステップS63b)。このように、Y軸方向に並んだセンサSC、SDの出力値VC、VDを利用することにより、穴部BHに対して部品80がY軸方向のいずれの方向にずれているかを推定することができる。
次に、制御部Cは、修正に必要となる移動量を予めメモリ等に記憶されたマップに基づいて決定する(ステップS64)。具体的には、制御部Cは図17Dに示したマップに基づいてY軸方向の移動量を決定する。図17Dは、出力値VD、VCの差と、Y軸方向の移動量との関係を規定している。図17Cに示すように、出力値VD、VCの差が大きいほど、修正に必要となる移動量は大きくなるように設定されている。
次に、制御部Cは、決定されたY軸方向の移動量に基づいてハンドRHをY軸方向に移動させる(ステップS65)。その後、制御部Cは、出力値VCと出力値VDが等しいか否かを判定する(ステップS66)。等しい場合には、制御部Cは、Y軸方向での部品80のずれが修正されたものと推定して修正後でのハンドRHのY軸の座標をメモリに記憶する(ステップS67)。次に、制御部Cは、修正後のハンドRHのX軸方向、Y軸方向、Z軸周りでの座標がメモリに記憶されているか否かを判定し(ステップS69)、肯定判定の場合には、この座標を登録する(ステップS7)。
尚、穴部BHに対して部品80がθ軸及びX軸方向にずれているがY軸方向のずれは修正された状態の場合、Y軸方向に並ぶセンサSC、SDの出力値VC、VDは等しいものと推定される。この場合には、穴部BHの内側面92cに対するセンサSCのずれ量と、穴部BHの内側面92dに対するセンサSDのずれ量は等しくなるものと思われるからである。よって、例えば、ステップS4、S5においてずれが十分に修正されていない場合であっても、Y軸方向のずれを修正することができる。
ステップS66で否定判定の場合には、制御部Cは、現状のハンドRHの位置が、予め設定されたハンドRHのY軸方向の移動が許容される許容範囲内に含まれているか否かを判定する(ステップS68)。例えば、実際には既にY軸方向のずれが修正されていたとしても、X軸又はθ軸方向に大きくずれているがために、出力値VCと出力値VDとが等しくならならない場合が考えられるからである。ステップS68で肯定判定の場合には、制御部Cは再度Y軸方向のずれを修正し、否定判定の場合には、制御部Cはθ軸及びX軸方向のずれを修正する(ステップS4、S5)。
以上のように、制御部Cは部品80を挟む位置に設けられたセンサSA0、SB0の出力値により、センサSA0、SB0が並んだ方向での部品90の穴部BHに対する部品80のずれを推定できる。同様に、制御部Cは、センサSC、SDが並んだ方向での部品90の穴部BHに対する部品80のずれを推定できる。ここで、センサSA0、SB0、SC、SDは、水平面内に位置するように設けられている。また、センサSA0からセンサSB0への方向とセンサSCからセンサSDへの方向とは、直交している。このため、制御部Cは、センサSA0、SB0、SC、SDにより、上述した水平面内で直交する2軸の方向での、部品90の穴部BHに対する部品80の位置を推定できる。尚、センサSA1からセンサSB1への方向とセンサSCからセンサSDへの方向とも直交しているので、センサSA1、SB1、SC、SDのみによっても直交する2軸の方向での穴部BHに対する部品80の位置を推定できる。
また、長辺に相当する部品80の側面82a側に設けられた2つのセンサSA0、SA1の出力差に基づいて、制御部Cは、穴部BHに対する部品80のθ軸方向のずれを推定できる。同様に、長辺に相当する部品80の側面82b側に設けられた2つのセンサSB0、SB1の出力差に基づいて、θ軸方向のずれを推定できる。以上のように、本実施例ではカメラ等を用いずに部品90に対して非接触で、部品90の穴部BHに対する部品80の位置を推定できる。
図18A、18Bは、本実施例とは異なる構造を有したハンドRHx、RHyの説明図である。図18Aに示すように、ハンドRHxには、部品80を保持するための爪部22ax、22bxの他にカメラCAが設けられている。カメラCAは、部品80とは異なる位置に設けられている。従って、部品80から部品90の穴部BHまでの距離とカメラCAから穴部BHまでの距離は異なり、部品80から穴部BHへの方向とカメラCAから穴部BHのへの方向も異なっている。このため、撮影された画像の処理により得られたカメラCAから穴部BHへの距離、方向等を、予め設定された補正量に基づいて補正することにより、部品80から穴部BHまでの距離や方向が推定される。ハンドRHxは、この推定結果に基づいて部品80を部品90の穴部BHにまで移動させる。しかしながら、このような補正量は予め一律に定められているため、例えばカメラCAの設置位置のバラつきや、ハンドRHxに保持された部品80の位置又姿勢のばらつきが生じる場合がある。このような場合には、部品80を部品90の穴部BHに挿入できないおそれがある。
図18Bに示すように、ハンドRHyには部品80を挟むように2つのカメラCA1、CA2が設けられている。カメラCA1、CA2が設けられた位置やその角度によっては、部品80を穴部BHに挿入している途中で、穴部BHの側面を撮影することができなくなり、部品80の先端が穴部BHの側面に当接する恐れがある。これにより、部品80を適切な姿勢で部品90に挿入できないおそれがある。
本実施例は、カメラを使用する従来の方式とは異なる方式で部品90の位置を推定するため、上記のような問題は生じない。
尚、上記実施例では、θ軸方向のずれも修正しているが、使用される部品の形状や大きさによっては、θ軸方向のずれを修正する必要がない場合も考えられる。このような場合には、2つのセンサSA0、SA1の代わりに単一のセンサを使用し、2つのセンサSB0、SB1の代わりに単一のセンサを使用してもよい。即ち、X軸方向のずれのみを修正するのであれば、X軸方向に部品80を挟むように一対のセンサが設けられていればよい。
上記実施例では、例えば、図17A等に示したように、2つのセンサの出力値の差に基づいて位置のずれを修正した。しかしながらこのような方法に限定はされない。例えば、X軸方向のずれを修正する場合には、センサSA0、SB0の出力値をモニターしながらハンドRHをX軸方向に往復動させて、各出力値が所定値以下になった位置を、部品80のずれが修正された位置と推定してもよい。
次に、センサの変形例について説明する。図19は、変形例のセンサSA0´の説明図である。センサSA0´の弾性片S10´は、固定部S12´、非固定部S14´、湾曲部S16´を含む。固定部S12´は、爪部に固定されている。非固定部S14´は、固定部S12´から連続して略直角に折り曲げられている。湾曲部S16´は、非固定部S14´に連続して下方側に凹状となるように湾曲している。ひずみゲージsg´は、非固定部S14´と湾曲部S16´との境界付近に設けられている。湾曲部S16´がこのように下方側に凹状となっていることにより、下方から上方に流れる風を湾曲部S16´で受けることができる。これにより、風力が弱い場合であっても、非固定部S14´と湾曲部S16´の境界付近が大きく撓み、精度よく風力を検出することができる。
次に、本実施例の変形例について説明する。尚、本実施例と類似部分については、類似の符号を付することにより重複する説明を省略する。図20、21A、21Bは、第1変形例のハンドRH´の説明図である。部品80´は円柱状であり、穴部BH´も円筒状である。爪部22a´〜22d´は、所定位置周りに等角度間隔で設けられており、部品80´の湾曲した外側面82´を押えて保持する。爪部22a´〜22d´は、所定位置に向けて接近、離間可能に基部10´に設けられている。爪部22a´〜22d´の外側面には、それぞれセンサSA´〜SD´が設けられている。センサSA´〜SD´のそれぞれからノズル50´までの距離は等しい。部品80´は円柱状であり上面81a´、下面81b´はそれぞれ円形であるため、θ軸方向のずれの修正は不要である。センサSA´、SB´の出力値に基づいてX軸方向のずれを修正し、センサSC´、SD´の出力値に基づいてY軸方向のずれを修正する。
図22、23A、23Bは、第2変形例のハンドRH´´の説明図である。部品80´´は、略直方体状である。上面81a´´、下面81b´´のそれぞれは正方形である。爪部22a´´〜22d´´は、互いに接近、離間可能に基部10´´に設けられている。また、爪部22a´´には、センサSA0´´、SA1´´が設けられており、爪部22b´´には、センサSB0´´、SB1´´が設けられている。爪部22c´´には、センサSC0´´、SC1´´が設けられ、爪部22d´´には、センサSD0´´、SD1´´が設けられている。単一の把持部に対して2つのセンサが設けられている。例えば、センサSA0´´、SA1´´の出力値に基づいてθ軸方向のずれを修正し、その後に、センサSD0´´、SD1´´の出力値に基づいて再度θ軸方向のずれを修正する。これによりθ軸方向でのずれを適切に修正することができる。尚、これらセンサのそれぞれからノズル50´´までの距離は等しい。
以上本発明の好ましい一実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
ハンドは、空気の吸引により部品を吸着保持するものであってもよいし、電磁石によって磁性部品を保持可能なものであってもよい。θ軸、X軸、及びY軸方向のずれの修正の順序は問わない。
上記実施例では、部品90の穴部BHは底面91を有しているが、このような穴に限定されない。例えば、底を有しない貫通孔が形成された部品であってもよい。この場合、部品を配置した台が、穴の底面の役割を果たす。また、穴は深さが浅い凹部であってもよい。
上記実施例では、部品90の穴部BHに実際に挿入される部品80に、ノズル50からの空気が通過する通過孔THが形成されているが、これに限定されない。例えば、部品90の穴部BHに挿入される部品とは別の教示用部品を用意して、この部品に通過孔THを形成して、この部品を用いて部品90の穴部BHに対するハンドRHの適切な位置での座標を記録、登録してもよい。座標を登録した後にこの座標に基づいて、実際に挿入される予定の部品を穴部BHに挿入することができるからである。
上記実施例では、ノズル50はハンドRHの基部10に設けられているがこれに限定されない。例えば、ノズル50は、ハンドRHには設けられておらずに、アームRRの先端に設けられていてもよい。
上記実施例では、部品90の穴部BHに対する、ハンドRHに保持された部品80の位置を推定する。しかしながら本発明はこのような構成に限定されない。例えば、ハンドRHの代わりに、溶液を供給するノズルや、吸引ノズル、溶接するための溶接ベッドがアームの先端に連結されているロボットに対しても本発明を適用できる。このような場合においても、カメラを用いずに。加工の対象となる部品に対するノズルの位置や溶接ヘッドの位置を推定できる。また、アームの先端に、ハンドRHやノズル、溶接ヘッド等を設けすに、ノズル50とセンサSA0等を設けることにより、他の部品に対するアームの先端の位置を推定することができる。
R ロボット
RR ロボットアーム(駆動部、可動部)
RH ロボットハンド(保持部)
10 基部
22a0、22a1、22b0、22b1、22c、22d 爪部
SA0、SA1、SB0、SB1、SC、SD センサ(検出部)
S10 弾性片
sg ひずみゲージ
80 部品(第1部品)
TH 通過孔
90 部品(第2部品)
BH 穴部
C 制御部
RR ロボットアーム(駆動部、可動部)
RH ロボットハンド(保持部)
10 基部
22a0、22a1、22b0、22b1、22c、22d 爪部
SA0、SA1、SB0、SB1、SC、SD センサ(検出部)
S10 弾性片
sg ひずみゲージ
80 部品(第1部品)
TH 通過孔
90 部品(第2部品)
BH 穴部
C 制御部
Claims (11)
- 第1部品を開放可能に保持する保持部と、
所定の位置に配置された第2部品の穴部に、前記保持部に保持された前記第1部品を配置できる位置まで前記保持部を移動させることができる駆動部と、
前記第2部品に向けて送風可能であり前記駆動部に設けられた送風部と、
前記第2部品で反射して吹きつけられた風の強さを検出可能であり前記保持部に設けられた検出部と、
前記検出部の検出結果に基づいて前記第2部品の前記穴部に対する前記第1部品の位置を推定可能な制御部と、を備えた組立装置。 - 前記検出部は、前記保持部に保持された前記第1部品を挟む位置に設けられた第1及び第2検出部を含む、請求項1の組立装置。
- 前記送風部から前記第1検出部までの距離と、前記送風部から前記第2検出部までの距離は等しい、請求項2の組立装置。
- 前記検出部は、前記保持部に保持された前記第1部品を挟む位置に設けられた前記第3及び第4検出部を含み、
前記第1検出部から前記第2検出部への方向と前記第3検出部から前記第4検出部への方向とは直交する、請求項2又は3の組立装置。 - 前記検出部は、前記保持部に保持された前記第1部品を挟む位置に設けられた前記第5及び第6検出部を含み、
前記第5検出部から前記第6検出部への方向と前記第1検出部から前記第2検出部への方向とは平行である、請求項4の組立装置。 - 前記検出部は、前記保持部に部分的に固定された弾性変形可能な弾性部、前記弾性部に設けられ前記弾性部のひずみを検出可能なひずみゲージ、を含む、請求項1乃至5の何れかの組立装置。
- 前記制御部は、前記検出結果に基づいて前記第1部品と前記第2部品の前記穴部が対向するように前記駆動部を制御する、請求項1の組立装置。
- 前記制御部は、前記第1及び第2検出部の検出結果の差が小さいほど前記第1部品は前記穴部に近いと推定する、請求項1乃至7の何れかの組立装置。
- 前記保持部に保持された前記第1部品は、前記送風部からの風が通過する通過孔が形成されている。請求項1乃至8の何れかの組立装置。
- 移動可能な可動部と、
所定位置に配置された部品の穴部に向けて送風可能であり前記可動部に設けられた送風部と、
前記部品で反射して吹きつけられた風の強さを検出可能であり前記可動部に設けられた検出部と、
前記検出部の検出結果に応じて前記部品に対する前記可動部の位置を推定する制御部と、を備えた位置推定装置。 - 移動可能な可動部から所定位置に配置された部品の穴部に向けて送風し、
前記部品から反射して前記可動部に吹きつけられる風の力を検出し、
前記検出結果に応じて前記部品に対する前記可動部の位置を推定する、位置推定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012060955A JP2013193148A (ja) | 2012-03-16 | 2012-03-16 | 組立装置、位置推定装置、及び位置推定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012060955A JP2013193148A (ja) | 2012-03-16 | 2012-03-16 | 組立装置、位置推定装置、及び位置推定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013193148A true JP2013193148A (ja) | 2013-09-30 |
Family
ID=49392723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012060955A Pending JP2013193148A (ja) | 2012-03-16 | 2012-03-16 | 組立装置、位置推定装置、及び位置推定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013193148A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015139848A (ja) * | 2014-01-29 | 2015-08-03 | ダイハツ工業株式会社 | 圧入装置 |
-
2012
- 2012-03-16 JP JP2012060955A patent/JP2013193148A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015139848A (ja) * | 2014-01-29 | 2015-08-03 | ダイハツ工業株式会社 | 圧入装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10350758B2 (en) | Robot control unit for assembly robot | |
US20210114221A1 (en) | Method of teaching robot and robot system | |
US9073210B2 (en) | Information processing method, apparatus, and computer readable medium | |
EP2993002B1 (en) | Robot apparatus and method for controlling robot apparatus | |
JP5927212B2 (ja) | 溶接トーチ検出装置および溶接ロボットシステム | |
EP3366433A1 (en) | Method of controlling robot, method of teaching robot, and robot system | |
US9126337B2 (en) | Robot system having a robot for conveying a workpiece | |
US8855824B2 (en) | Dual arm robot | |
US20150224649A1 (en) | Robot system using visual feedback | |
JP6429223B2 (ja) | 挿入ガイドおよび挿入ガイド装置 | |
JP2008307634A (ja) | 嵌合装置 | |
JP6841206B2 (ja) | ロボットシステム及びロボットの制御方法 | |
JP4287788B2 (ja) | 自走式ロボットハンド | |
JP2009050921A (ja) | ハンドリング装置 | |
JP6545936B2 (ja) | 部品搬送システム及び姿勢調整器具 | |
US20180123307A1 (en) | Electronic equipment assembly apparatus and electronic equipment assembly method | |
JP5891698B2 (ja) | ロボット | |
JP6217322B2 (ja) | ロボット制御装置、ロボット及びロボット制御方法 | |
JP4603574B2 (ja) | 嵌合用ロボットシステム | |
JP2013193148A (ja) | 組立装置、位置推定装置、及び位置推定方法 | |
JP2009125839A (ja) | 溶接教示位置補正システム | |
CN108145928B (zh) | 成型系统 | |
JP5324397B2 (ja) | 情報処理方法及び装置並びにプログラム | |
US11584011B2 (en) | Robot control system of fitting of a plurality of points | |
JP5098846B2 (ja) | ロボットシステム |