(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下に、本発明にかかる検査装置および検査方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0017】
実施の形態1.
図1は、本発明の実施の形態1の検査装置の構成を示す図である。検査装置100は、ロボット2、力取得部3、位置取得部5、取得条件指定部6、検査部番号選択部7、検査パラメータ指定部9、検査範囲指定部10、切り出し部11、検査部8、検査出力部12、および表示部13を備える。
【0018】
ロボット2、力取得部3および位置取得部5は、協働して、力波形検出系として機能する。力波形検出系は、弾性部品が組み付けられた組立体に対して弾性部品の作用方向に負荷を与え、負荷と変位量との対の集合(以降、力波形)を取得することができる。
【0019】
図2は、ロボット2の構成を説明する図である。ロボット2は、複数の関節にモータ2aを有する垂直多関節ロボットである。ロボット2は先端近辺(先端部)に力センサ3aを介してハンド4を備える。力センサ3aは、ロボット2の手先を原点とした複数の軸の夫々に作用する力および夫々の軸の周りのモーメントを測定することができる。即ち、力センサ3aは、ハンド4に作用する力およびモーメントを測定することができる。なお、ハンド4は、ロボット2の先端に常時備え付けられていてもよい。また、ロボット2がハンド4よりもロボット2の本体側に開閉ハンドもしくはツールチェンジャーを備え、検査動作を行う場合のみ、ハンド4を開閉ハンドで把持もしくはハンド4をツールチェンジャーに取り付けるようにロボット2を構成してもよい。また、ロボット2は検査作業のみ行うものであってもよいし、搬送や組み付けなどの他の作業を行う最中に検査作業を行うものであってもよい。また、ロボット2は、垂直多関節ロボットではなく、スカラロボット、または、全て直動軸(直線上を動作する軸)で構成される直交ロボットであってもよい。
【0020】
検査装置100は、ロボット2を駆動して、弾性部品が組み付けられた組立体に前記弾性部品の変形方向にハンド4を押圧して負荷を与えて、負荷と変位量とを対にして測定し、力波形のうちの、前記弾性部品の変形開始地点および変形終了地点におけるデータを特定することができる。
【0021】
力取得部3は、ハンド4に作用する力を力センサ3aから取得する。力取得部3は、取得した力を力検出値として、ロボット2および切り出し部11を経由して検査部8および表示部13に供給する。力センサ3aが6軸の力センサである場合、力検出値は、3軸方向の力と各軸周りのモーメントとを含む。また、力センサ3aが5軸以下の力センサである場合、力検出値は、3軸方向の力と各軸周りのモーメントのうち、計測できるモーメントを含む。力取得部3において力センサ3aは例えば軸毎およびモーメント毎に設けられ、各力センサ3aは、それぞれ力検出値を検査部8および表示部13に供給する。
【0022】
位置取得部5は、ハンド4の先端の位置を取得する。具体的には、位置取得部5は、モータ2aの位置を測定する位置センサ5aを含んで構成される。位置センサ5aは、例えばエンコーダまたはレゾルバが該当する。位置取得部5は、位置センサ5aを用いてモータ2aの位置を検出するとともに検出したモータ2aの位置に対して座標変換を行うことで、ロボット2の先端の位置(ハンド4の先端の位置)を取得する。位置取得部5は、取得された位置を位置検出値として、ロボット2および切り出し部11を経由して検査部8および表示部13へ供給する。
【0023】
取得条件指定部6は、力取得部3および位置取得部5による力または位置のサンプリング周期、検出開始地点、および検出終了地点を指定する。取得条件指定部6は、例えば、ロボット2の動作を記述するロボットプログラムが含む命令に基づいて指定を実行する。例えば、取得条件指定部6は、次のような命令に基づいて指定を実行する。
FsTCond On,1
ここで、「FsTCond On」は検出開始地点を指定するためのロボット言語(命令)で、「1」はサンプリング周期を指定する番号である。例えば、番号が「1」の場合、サンプリング周期は1.0ミリ秒である。
【0024】
また、取得条件指定部6は、次のような命令に基づいて指定を実行する。
FsTest On,30
ここで、「FsTest On」はハンド4の動作開始地点から動作終了地点までの移動距離に対する割合を用いて検出開始地点を指定するためのロボット言語(命令)で、「30」は組み付け動作開始地点から30%の地点を検出開始地点に指定することを意味する。
【0025】
また、取得条件指定部6は、次のような命令に基づいて指定を実行する。
FsTest Off,50
ここで、「FsTest Off」はハンド4の動作開始地点から動作終了地点までの移動距離に対する割合を用いて検出終了地点を指定するためのロボット言語(命令)で、「50」は組み付け動作開始地点から50%の地点を検出終了地点に指定することを意味する。
【0026】
なお、この実施の形態では動作開始地点からの移動距離の割合を用いて検出開始地点および検出終了地点が指定されるものとするが、指定手法はこれに限定されない。例えば、動作終了地点までの移動距離の割合、動作開始地点からの移動距離、動作終了地点までの移動距離、または動作開始からの経過時間が指定手法として採用可能である。
【0027】
検査部番号選択部7は、検査の対象となる軸を指定するとともに、ロボット2に行わせる作業の種類に応じて検査部番号を選択する。検査部番号は、検査部8に実行させる検査動作を指定する番号を含む。また、検査部番号選択部7は、検査の対象となる軸の情報をその指定した検査部8へ供給するとともに、検査部番号を検査パラメータ指定部9へ供給する。検査部番号選択部7は、ロボットプログラムまたはオペレータからの入力に基づいて、検査の対象となる軸の指定および検査部番号の選択を行う。
【0028】
例えば、ロボット2に行わせる作業が電磁開閉器嵌め込みの場合、検査部番号選択部7は、検査部番号として「51」を選択する。また、ロボット2に行わせる作業が電磁開閉器のバネのバネ定数を測定する検査動作の場合、検査部番号選択部7は、検査部番号として「52」を選択する。
【0029】
また、例えば、ロボット2に行わせる作業がバネのバネ定数を測定する検査動作の場合、検査部番号選択部7は、ロボットプログラム内の下記の命令を実行することによって検査部番号の選択および軸の指定を行う。
FsTAlgo,52,3
ここで、「FsTAlgo」は検査部番号および軸の指定を行うためのロボット言語(命令)であり、「52」は検査部番号であり、「3」は検査対象となる軸としてZ軸を指定することを意味する。
【0030】
検査パラメータ指定部(受け付け部)9は、検査部番号を検査部番号選択部7から受ける。記憶部1は、検査パラメータの組合せを検査部番号毎に予め記憶している。検査パラメータの値は、例えばオペレータなどにより予め設定される。検査パラメータ指定部9は、記憶部1を参照することによって、検査部番号選択部7から受け取った検査部番号に対応した検査パラメータの組合せを取得する。検査パラメータ指定部9は、取得した検査パラメータの組合せを検査部8に供給(設定)する。検査パラメータの詳細は後ほど明らかになる。
【0031】
なお、この実施の形態においては、検査パラメータ指定部9は検査部番号に対応する検査パラメータを取得し、設定するものとしているが、検査パラメータの組合せがロボットプログラムに直接記載されて設定されるようにしてもよい。
【0032】
検査範囲指定部10は、検出開始地点から検出終了地点までの区間について得られた力/位置検出値の対のうちから、検査部8に供給すべき範囲を指定する。即ち、検査範囲指定部10は、力波形における物理特性変化点(変化点)を特定するための検査範囲を指定する。ここで、物理特性変化点とは、力波形において傾きが変化する箇所をいう。変形開始地点および変形終了地点は、ともに物理特性変化点に該当する。例えば検査部8が弾性部品の弾性係数または弾性部品が組み付けられた状態において発生する力を測定する場合には、弾性部品の変形開始地点および変形終了地点が特定される必要がある。その場合には、弾性部品の変形開始地点から変形終了地点までの区間を全部含み、変形開始地点および変形終了地点を特定するための十分な範囲の区間が検査範囲指定部10によって指定される。なお、検査範囲指定部10によって指定される範囲の始めの地点を検査処理開始地点、終わりの地点を検査処理終了地点ということとする。検査処理開始地点および検査処理終了地点は、切り出し部11に供給される。
【0033】
検査処理開始地点および検査処理終了地点の指定は、ロボット2の直交座標位置で指定されることが可能である。本実施の形態では、検査動作を反復する場合に対応するために、検出された力波形の先頭(検出開始地点)から最後(検出終了地点)までの総移動量(指定した軸の位置データ間の移動量絶対値を累積したもの)を100%として、検査処理開始地点および検査処理終了地点の指定は、総移動量に対する割合で指定されるものとする。検査の対象となる軸の位置データの先頭が0%となり、最後が100%となる。例えば、検査処理開始地点および検査処理終了地点の指定は、ロボットプログラムに記述された下記のような命令に基づいて検査処理開始地点および検査処理終了地点を指定することができる。
FsTBat,70,100
ここで、「FsTBat」は検査処理開始地点および検査処理終了地点を総移動量に対する割合で指定するためのロボット言語(命令)であって、「70,100」は位置取得部5により検出された位置検出値の総移動量の70%の位置を検査処理開始地点、100%の位置を検査処理終了地点に指定する意味を有する。
【0034】
切り出し部11は、力取得部3および位置取得部5により検出された力波形から、検査範囲指定部10により指定された範囲の波形を切り出して、切り出した波形を検査部8に供給する。検出された力波形から特性の測定には不必要な情報を切り出し部11が除外するので、検査処理にかかる時間を短縮することができる。
【0035】
検査部8は、切り出し部11によって切り出された力波形と、検査パラメータ指定部9によって指定された検査パラメータとに基づいて、弾性部品の特性を測定する。検査部8が検査対象とする軸は、検査部番号選択部7により指定される。また、検査部8が実行する検査動作は検査部番号毎に異なっている。例えば、特性として弾性係数(弾性部品がバネである場合にはバネ定数)を算出するための検査動作を後述する。
【0036】
検査部8は、基準特性算出部81と、特性変化点認識部82と、特性算出部83とを有する。基準特性算出部81は、切り出された力波形から基準特性(後述する)を算出する。特性変化点認識部82は、算出された基準特性に基づいて物理特性変化点を特定し、2つの物理特性変化点の間の区間を特定する。なお、以降、2つの物理特性変化点の間の区間を特性区間ということもある。特性算出部83は、特性区間の力波形に基づいて特性を算出する。特性算出部83は、算出した特性を検査出力部12および表示部13に供給する。特性算出部83は、特性とともに、特性区間または物理特性変化点を検査出力部12および表示部13に供給してもよい。
【0037】
検査出力部12は、検査部8から供給された情報をI/Oなどを通じて外部の制御装置に通知することができる。外部の制御装置は、通知された情報を用いて、生産管理を行うことができる。具体的には、外部の制御装置が、弾性部品の弾性定数が定格範囲に入っているかを確認して、弾性定数が定格範囲に入っていない場合には不良品であると判定することができる。また、例えば、ワークの組み付け作業の直後に検査作業が実施される場合には、外部の制御装置は、特性区間の起点および終点の力検出値、位置検出値またはその両方を、組み付け作業が正常に完了した場合の起点および終点の力検出値、位置検出値またはその両方と比較することにより、組み付け作業が成功したか否かを確認することが出来る。
【0038】
表示部13は、例えばLCDなどのディスプレイである。また、表示部13は、入力された情報を所定のプログラムに従って加工して表示する、プログラマブル表示器であってもよい。表示部13は、力取得部3および位置取得部5が検出した力波形をグラフ表示したり、検査部8から入力された情報を表示したりする。
【0039】
なお、記憶部1、検査部番号選択部7、検査パラメータ指定部9、検査範囲指定部10、切り出し部11、検査部8、検査出力部12、および表示部13のうちの一部または全部は、記憶装置、演算装置、入力装置および表示装置を有するコンピュータにより実現されるようにしてもよい。例えば、記憶装置は、ROM、RAMまたはその組み合わせにより構成され、検査プログラムを予め記憶する。また、記憶装置は、記憶部1として機能する。演算装置は、記憶装置が記憶する検査プログラムを実行することによって記憶部1、検査部番号選択部7、検査パラメータ指定部9、検査範囲指定部10、切り出し部11、検査部8および検査出力部12のうちの一部または全部として機能する。入力装置は、例えばマウスやキーボードであって、オペレータからの入力情報を演算装置に送る。表示装置は、例えばLCDなどのディスプレイであって、表示部13として機能する。なお、このコンピュータは、ロボット2を制御するロボットコントローラに内蔵されてもよい。
【0040】
次に、本発明の実施の形態の検査装置100の検査対象を説明する。
図3は、検査対象の一例として電磁接触器の構造を説明する図である。
【0041】
電磁接触器200は、ハウジング上部14、可動接点15、固定接点16、可動鉄心17、板18、励磁コイル19、固定鉄心20、ハウジング下部21、押すバー22、接触バネ23、可動接触子24、および引外しバネ25を備えている。可動鉄心17は、可動鉄心中部17aを備えている。また、押すバー22は窓22aを備えている。なお、
図3は、励磁コイル19が励磁されていない状態の電磁接触器200の構造を示している。
【0042】
ハウジング上部14とハウジング下部21とは固定部品(例えばネジ)で固定されている。ハウジング下部21の内側には、励磁コイル19が配置されている。励磁コイル19は固定鉄心20の内部に保持されている。励磁コイル19の上部には板18が取り付けられている。可動鉄心17は、固定鉄心20との間に所定間隔をあけて、固定鉄心20に対向するように配置されている。固定鉄心20と可動鉄心17との間には、引外しバネ25が設けられている。引外しバネ25は、可動鉄心中部17aに巻き付くように配置されている。引外しバネ25は、板18と可動鉄心17との間に挟み込まれている。引外しバネ25は、伸びる向きに力を発生し続けるように常時圧縮された状態となっている。また、可動鉄心17の上部には、押すバー22が設けられている。押すバー22と可動鉄心17とは固定されている。押すバー22および可動鉄心17は、一体として上下方向に摺動可能なように、ハウジング上部14およびハウジング下部21によって、ガイドされる。なお、ハウジング上部14は、穴があけられており、ハンド4は穴から挿入されることで押すバー22を下方(即ち引外しバネ25をさらに圧縮する向き)に変位せしめることができる。
【0043】
押すバー22の中ほどには、窓22aが設けてある。窓22aには、可動接触子24が保持されている。可動接触子24は、圧縮コイルバネからなる接触バネ23によって下方に付勢されており、窓22aに沿って摺動可能である。可動接触子24の両端には、可動接点15が取り付けてある。また、可動接点15は、所定間隔をあけて固定接点16に対向するように、配置されている。固定接点16は、ハウジング上部14の一部に取り付けてある。
【0044】
図4および
図5は、励磁コイル19に電圧が印加されたときの電磁接触器200の構造を説明する図である。励磁コイル19に電圧が印加されると、励磁コイル19に電流が流れ、励磁コイル19は磁束を発生する。固定鉄心20と可動鉄心17との間には励磁コイル19が発生した磁束に応じた吸引力が生じる。この吸引力が引外しバネ25による付勢力を超えると、可動鉄心17および押すバー22が下方に移動し、引外しバネ25が圧縮される。可動鉄心17は押すバー22に取り付けてあることから、押すバー22の移動に起因して、可動接点15と固定接点16とが接触する。
図4は、可動接点15と固定接点16とが接触した瞬間の状態の電磁接触器200の構造を示している。
【0045】
図5は、可動接点15と固定接点16とが接触した状態でさらに強い電圧が印加された状態の電磁接触器200の構造を示している。可動鉄心17と固定鉄心20との間隔は、可動接点15と固定接点16との間隔よりも大きく設定されている。そのため、可動接点15と固定接点16とが接触した状態で更に強い電圧が印加されると、押すバー22は、可動接点15と固定接点16とが接触した状態で更に下方に移動する。これにより、接触バネ23の圧縮が開始されるとともに、引外しバネ25が更に圧縮される。接触バネ23による可動接触子24への付勢力は、可動接点15と固定接点16との接触圧力となる。
【0046】
可動接点15と固定接点16とが接触することによって、電磁接触器200の閉動作が完了する。即ち、外部の電気回路が接続される。励磁コイル19に対する電圧の印加が停止すると、可動鉄心17と固定鉄心20の間の吸引力は消滅する。このため、引外しバネ25の付勢力により可動鉄心17および押すバー22は図中上方に移動し、可動接点15と固定接点16とが離れる。これにより、開動作が完了する。即ち、外部の電気回路が切断される。
【0047】
ここで、可動接点15と固定接点16との接触圧力を適正に保つ必要がある。可動接点15と固定接点16とが接触する際に、接触力が不足する場合には、可動接点15と固定接点16との間の接触状態が不安定となる。接触状態の不安定化は、接触不良の原因となる。逆に可動接点15と固定接点16とが接触する際に、接触力が高すぎる場合には、可動接点15または固定接点16が圧力によって変形を起し、可動接点15または固定接点16の寿命が短くなる。可動接点15と固定接点16との間に適切な接触力を加えるためには、励磁コイル19に印加した電圧による可動鉄心17と固定鉄心20の間の吸引力と、引外しバネ25のバネ力との管理が必要である。
【0048】
次に、本発明の実施の形態1の検査装置100の動作を説明する。
【0049】
図6〜
図10は、ロボット2の動作を説明する図である。ロボット2は、ロボットプログラムによる制御に基づいて駆動せしめられる。ロボット2は、検査動作においては、ハンド4の手先を用いて電磁接触器200の押すバー22を押し下げる。即ち、ロボット2は、引外しバネ25の作用方向のうちの引外しバネ25が圧縮する向きに押すバー22を押す。
【0050】
ロボット2がハンド4を矢印の方向に移動開始してから移動終了するまでのハンド4と電磁接触器200との位置関係は、
図7〜
図10に示される。
図7は、検査動作の直前の状態(状態1)のハンド4と電磁接触器200との位置関係を示す図である。
図8は、ハンド4と押すバー22とが接触する瞬間の状態(状態2)のハンド4と電磁接触器200との位置関係を示す図である。
図9は、可動接点15と固定接点16とが接触する瞬間の状態(状態3)のハンド4と電磁接触器200との位置関係を示す図である。
図10は、検査動作が終了する状態(状態4)のハンド4と電磁接触器200との位置関係を示す図である。
【0051】
図11は、ハンド4と電磁接触器200との位置関係が
図7〜
図10の状態に順次至る動作が実行される際に力取得部3および位置取得部5により取得される力波形の一例を示す図である。力波形の縦軸は、力検出値F(単位はN)、横軸は、位置検出値S(単位はmm)を夫々示している。
【0052】
図11において、A点からB点までの区間は、ハンド4と押すバー22と接触する前の状態(即ち状態1)に対応する。B点は、状態2に対応する。C点からD点までの区間は、可動接点15と固定接点16とが接触する前の状態であって、かつ、引外しバネ25が圧縮される状態に対応する。D点は、状態3に対応する。E点からF点までの区間は、可動接点15と固定接点16とが接触した後の状態であって、かつ、接触バネ23と引外しバネ25とが同時に圧縮される状態に対応する。F点は、状態4に対応する。
【0053】
また、B点における力検出値とC点における力検出値との差FCBは、励磁コイル19に電圧が印加されていない場合における引外しバネ25が発生する力(引外しバネ25の付勢力)に相当する。D点における力検出値とE点における力検出値との差FEDは、励磁コイル19に電圧を印加していない場合における接触バネ23が発生する力(接触バネ23の付勢力)に相当する。
【0054】
図11に示すように、引外しバネ25のバネ定数を得るためには、C点とD点とを特定することが必要となる。また、引外しバネ25の付勢力を得るためには、B点とC点とを特定することが必要となる。なお、力取得部3および位置取得部5の検出値には夫々測定ノイズ成分が加わるため、力波形は鋸の歯状に波打ったものとなる。
【0055】
次に、検査装置100が特性を算出する動作を説明する。ここでは、電磁接触器200が具備する引外しバネ25のバネ力を検出対象の特性とした場合の動作を説明する。
【0056】
ロボットプログラムに基づいてロボット2が状態1から状態4に至る動作が実行される。その際、検査装置100は、取得条件指定部6に設定された検出開始地点から検出終了地点までの力波形を取得する。切り出し部11は、取得した力波形から検査範囲指定部10に指定された範囲の力波形(以降、部分波形)を切り出して、切り出した部分波形を検査部8に供給する。
【0057】
図12は、部分波形を説明する図である。
図12のグラフの縦軸は力検出値F、横軸は、検出開始地点から検出終了地点までの総移動量を100%とした場合の移動量の割合(以降、移動量割合という)を夫々示している。
【0058】
力取得部3および位置取得部5により検出された力検出値Fと位置検出値Sとの対は、設定されたサンプリング周期で収集される離散データである。データ数をnとすると、第i番目のデータにかかる移動量割合は下記の数式1により算出される。
Per(i)={S(i)/S(n)}*100 (i=1,2,…,n) ・・・(1)
【0059】
図12の例においては、Per1からPer2までの範囲の力波形が部分波形(部分波形26)として切り出されている。
【0060】
次に、検査部番号選択部7は、ロボットプログラムに基づき、バネ力を算出する検査動作を示す検査部番号「53」を選択する。検査部8は、検査部番号「53」に対応する検査動作を実行する。
【0061】
図13は、検査部8による検査動作の概略を説明するフローチャートであり、
図14は、検査部8による検査動作に関わる各種の値を説明する図である。
【0062】
図14において、縦軸は力検出値Fを示し、横軸は移動量割合を示す。L点からR点までの区間は引外しバネ25の特性区間(特性区間LR)である。L点は特性区間LRの起点の物理特性変化点であり、R点は特性区間LRの終点の物理特性変化点である。なお、L点は、引外しバネ25の変形開始地点(即ち可動鉄心17がハウジング上部14から離れる瞬間の地点)、R点は、状態3に至った地点(引外しバネ25の単独変形終了地点、即ち接触バネ23と同時に圧縮される前の地点)に夫々該当する。PM点は、特性区間LRの中間点であり、検査部番号「53」が選択されたときに設定可能となる検査パラメータである。言い換えると、PM点は、力波形のうちの弾性部品の変形過程中の任意の指定点である。PM点としては、例えば、力検出値が、検査対象の弾性部品である引外しバネ25が変形開始してから変形終了するまでの力検出値の中間となる大体の位置が移動量割合を用いて設定されることが可能である。SL点はL点の近傍点であり、SR点はR点の近傍点である。SL点はL点よりも移動量が小さい地点であり、SR点はR点よりも移動量が大きい地点である。
【0063】
図13に示すように、まず、基準特性算出部81は、部分波形26を構成する検査範囲内の力検出値Fと位置検出値Sとの対を、データ番号と対応付けて取得する(ステップS10)。そして、基準特性算出部81は、PM点における傾きkmを算出する(ステップS11)。基準特性算出部81は、算出した傾きkmを基準特性(以降、基準傾きともいう)として特性変化点認識部82に供給する。
【0064】
続いて、特性変化点認識部82は、粗変化点としてのSL点を特定し(ステップS12)、特定したSL点に基づいてL点を特定する(ステップS13)。そして、特性変化点認識部82は、粗変化点としてのSR点を特定し(ステップS14)、特定したSR点に基づいてR点を特定する(ステップS15)。特性変化点認識部82は、L点のデータ番号およびR点のデータ番号を特性算出部83に供給する。
【0065】
続いて、特性算出部83は、部分波形のうちの特性区間LRのデータに基づいて特性を算出する(ステップS16)。ここでは、特性算出部83は、例えば、特定区間LRのバネ力の平均値を算出する。特性算出部83は、算出した特性を検査出力部12及び表示部13に供給する。ステップS16の処理の後、検査部8の動作が終了する。
【0066】
なお、バネ力は、例えば次のようにして求めることができる。まず、上記の動作により
図11におけるC点およびD点が特定される。また、A点からB点の区間の任意の1点が指定されることにより、上記と同様の動作によりB点が特定される。A点からB点の区間は、弾性係数が0の変形過程と見なすことができ、B点はその変形過程の変形終了地点と見なすことができるからである。B点とC点とが特定されることにより、引外しバネ25の付勢力FCBが求まる。また、C点およびD点が特定されることにより、引外しバネ25の弾性係数としてのバネ定数が求まる。C点、付勢力FCB、および引外しバネ25のバネ定数により、C点からD点までの任意のバネ力が求まる。
【0067】
次に、ステップS11〜ステップS13の各処理をさらに詳細に説明する。
【0068】
なお、検査パラメータ指定部9により指定される検査パラメータは、PM点の指定の他に、左側傾き倍率SlpL、右側傾き倍率SlpR、および近似窓距離dを含むものとする。ここでは、左側傾き倍率SlpL(第1パラメータ)および右側傾き倍率SlpR(第1パラメータ)は、ともに1よりも大きい。
【0069】
まず、ステップS11においては、基準特性算出部81は、移動量割合がPM点に一番近いデータを探索する。移動量割合がPM点に一番近いデータのデータ番号をMnとする。
【0070】
図15は、ステップS11の処理を説明するための図である。データ番号Mnのデータは次のようにして探索される。即ち、基準特性算出部81は、最初に、PM点より移動量割合が小さく、かつデータ番号が最大のデータ(このデータのデータ番号をN1とする)を求める。基準特性算出部81は、下記の数式(2)〜(3)を用いることによってデータ番号N1を算出する。なお、PM点の移動割合を「PM」と表記する。
Per(i)≦PM (i=1,2,…,n) ・・・(2)
N1=max(i) ・・・(3)
ただし、Per(1)=0%、Per(n)=100%の関係が存在する。
【0071】
次に、基準特性算出部81は、PM点より移動量割合が大きく、かつデータ番号が最小のデータ(このデータのデータ番号をN2とする)を求める。基準特性算出部81は、下記の数式(4)を用いることによってデータ番号N2を算出する。
N2=N1+1 ・・・(4)
【0072】
そして、基準特性算出部81は、下記の数式(5)が成立する場合には、Mn=N1とし、下記の数式(5)が成立しない場合には、Mn=N2とする。
Per(N2)-PM>PM-Per(N1) ・・・(5)
【0073】
データ番号Mnのデータを特定した後、基準特性算出部81は、データ番号Mnのデータを中心とし、かつ、移動量割合の範囲の大きさが近似窓距離dに相当する窓27に含まれるデータのうち、最小のデータ番号MLおよび最大のデータ番号MRを探索する。具体的には、基準特性算出部81は、下記の数式(6)〜(7)を用いることによってデータ番号MLを求める。
S(Mn)−S(i)≧d/2(i=Mn-1,Mn-2,…,1) ・・・(6)
ML=min(i) ・・・(7)
【0074】
また、基準特性算出部81は、下記の数式(8)〜(9)を用いることによってデータ番号MRを求める。
S(i)−S(Mn)≧d/2(i=Mn+1,Mn+2,…,n)・・・(8)
MR=max(i) ・・・(9)
【0075】
続いて、基準特性算出部81は、窓27に含まれる全てのデータの近似線の傾きを算出し、算出した傾きを基準傾きkmとする。なお、基準特性算出部81は、窓27に含まれる全てのデータについて最小2乗法を適用して基準傾きkmを算出してもよい。
【0076】
図16は、ステップS12の処理を説明するための図であり、
図17は、ステップS12の処理のさらに詳しい動作を説明するフローチャートである。ステップS12の処理においては、特性変化点認識部82は、負の方向(正確には、PM点を起点として負の方向)にSL点の探索を実行する。
【0077】
特性変化点認識部82は、まず、部分波形26を構成する検査範囲内の力検出値Fと位置検出値Sとの対を、データ番号と対応付けて取得する(ステップS20)。そして、特性変化点認識部82は、変数iをMnで初期化し(ステップS21)、変数kを0で初期化する(ステップS22)。
【0078】
続いて、特性変化点認識部82は、変数iを1だけデクリメントし(ステップS23)、変数kを1だけインクリメントする(ステップS24)。そして、特性変化点認識部82は、下記の数式(10)が満たされる否かを判定する(ステップS25)。
S(i)−S(i−k)≧d・・・(10)
【0079】
数式(10)が満たされない場合には(ステップS25、No)、特性変化点認識部82は、ステップS24の処理を再び実行する。数式(10)が満たされる場合には(ステップS25、Yes)、特性変化点認識部82は、データ番号がi-kからデータ番号がiまでのデータの近似線の傾きを算出する(ステップS26)。特性変化点認識部82は、算出した傾きを局所傾きkiとする。特性変化点認識部82は、データ番号がi-kからiまでのデータについて最小2乗法を用いて局所傾きkiを算出するようにしてもよい。
【0080】
続いて、特性変化点認識部82は、基準傾きkm、左側傾き倍率SlpL、および算出した局所傾きkiを用いて、下記の数式(11)が満たされるか否かを判定する(ステップS27)。
ki≧SlpL*km・・・(11)
【0081】
数式(11)が満たされない場合には(ステップS27、No)、特性変化点認識部82は、ステップS22の処理を再び実行する。数式(11)が満たされる場合には(ステップS27、Yes)、特性変化点認識部82は、SLをi-kとし(ステップS28)、ステップS12の処理にかかる動作を終了する。
【0082】
図18は、ステップS13の処理を説明するための図であり、
図19は、ステップS13の処理のさらに詳しい動作を説明するフローチャートである。ステップS13の処理においては、特性変化点認識部82は、SL点を起点として正の方向にL点の探索を実行する。
【0083】
特性変化点認識部82は、まず、部分波形26を構成する検査範囲内の力検出値Fと位置検出値Sとの対を、データ番号と対応付けて取得する(ステップS30)。そして、特性変化点認識部82は、変数iをSLで初期化し(ステップS31)、変数kを0で初期化する(ステップS32)。
【0084】
続いて、特性変化点認識部82は、変数iを1だけインクリメントし(ステップS33)、変数kを1だけインクリメントする(ステップS34)。そして、特性変化点認識部82は、下記の数式(12)が満たされるか否かを判定する(ステップS35)。
S(i+k)−S(i)≧d・・・(12)
【0085】
数式(12)が満たされない場合には(ステップS35、No)、特性変化点認識部82は、ステップS34の処理を再び実行する。数式(12)が満たされる場合には(ステップS35、Yes)、特性変化点認識部82は、データ番号がiからデータ番号がi+kまでのデータの近似線の傾きを算出する(ステップS36)。特性変化点認識部82は、算出した傾きを局所傾きkiとする。特性変化点認識部82は、データ番号がiからi+kまでのデータについて最小2乗法を用いて局所傾きkiを算出するようにしてもよい。
【0086】
続いて、特性変化点認識部82は、基準傾きkmおよび算出した局所傾きkiを用いて、下記の数式(13)が満たされるか否かを判定する(ステップS37)。
ki≦km・・・(13)
【0087】
数式(13)が満たされない場合には(ステップS37、No)、特性変化点認識部82は、ステップS32の処理を再び実行する。数式(13)が満たされる場合には(ステップS37、Yes)、特性変化点認識部82は、Lをiとし(ステップS38)、ステップS13の処理にかかる動作を終了する。
【0088】
このように、特性変化点認識部82は、PM点とは異なる着目点における局所傾きkiを算出し、着目点における局所傾きkiとPM点における局所傾きkmとの比較に基づいて着目点が物理特性変化点であるか否かを判定している。
【0089】
より詳しくは、特性変化点認識部82は、着目点をPM点から変形開始地点の向きに移動させながら着目点における局所傾きkiと基準傾きkmに左側傾き倍率SlpLを乗じた値とを比較して、局所傾きkiが基準傾きkmに左側傾き倍率SlpLを乗じた値を最初に達する着目点をSL点とする。そして、特性変化点認識部82は、SL点から着目点をPM点の向きに移動させながら着目点における局所傾きkiと基準傾きkmとを比較して、局所傾きkiが最初に基準傾きkm以下となる着目点を変形開始地点として特定する。
【0090】
言い換えると、特性変化点認識部82は、着目点をPM点から変形開始地点の向きに移動させながらPM点における局所傾きである基準傾きkmおよび第1パラメータである左側傾き倍率SlpLに基づく第1のしきい値であるSlpL*kmに局所傾きkiが達するという条件(第1条件)を最初に満たす着目点を探索し、探索された着目点をSL点に特定する。そして、特性変化点認識部82は、SL点を起点として着目点をPM点に近づく向きに移動させながら、PM点における局所傾きkmに着目点における局所傾きkiが達するという条件(第2条件)を最初に満たす着目点を探索し、探索された着目点を変形開始地点であるL点に特定する。
【0091】
なお、特性変化点認識部82は、着目点をPM点から変形終了地点の向きに移動させながら着目点における局所傾きkiと基準傾きkmに右側傾き倍率SlpRを乗じた値とを比較して、局所傾きkiが基準傾きkmに右側傾き倍率SlpRを乗じた値を最初に達する着目点をSR点とする。そして、特性変化点認識部82は、SR点から着目点をPM点の向きに移動させながら着目点における局所傾きkiと基準傾きkmとを比較して、局所傾きkiが最初に基準傾きkm以下となる着目点を変形終了地点として特定する。
【0092】
即ち、SR点の探索方向はSL点の探索方向と逆である点と、左側傾き倍率SlpLのかわりに右側傾き倍率SlpRが使用される点とを除いて、ステップS14の処理およびステップS15の処理は、ステップS12の処理およびステップS13の処理と夫々同等であるので、詳細な動作の説明を省略する。
【0093】
以上述べたように、本発明の実施の形態1によれば、検査装置100は、弾性部品が組み付けられたワークに対して弾性部品の作用方向に負荷を与えるとともに前記負荷と変位量との関係を記述した力波形を取得する力波形検出系(ロボット2、力取得部3および位置取得部5)と、力波形検出系が取得した力波形のうちの、弾性部品の変形過程中の任意の指定点(PM点)の入力を受け付ける受け付け部としての検査パラメータ指定部9と、指定点における力波形の局所傾きを算出し、算出した指定点における局所傾きに基づいて力波形における前記弾性部品の変形開始地点または変形終了地点を含む物理特性変化点を特定する検査部8と、を備える。検査装置100は、PM点が指定されるだけで物理特性変化点を特定することができるので、物理特性変化点にかかる比較基準の設定を不要とする。即ち、検査装置100は、弾性部品の変形開始地点または変形終了地点を可及的に簡単に特定することができるようになる。また、弾性部品の変形過程中の1点がPM点として指定されればよいので、各種誤差(組立体の位置決め誤差、または弾性部品の周囲の部品の寸法誤差を含む)に起因して変形開始地点または変形終了地点が組立体毎に変動する場合であっても検査装置100は変形開始地点または変形終了地点を特定することができる。したがって、検査動作を自動化することができるので、オペレータは、組立体毎に各種設定を行う負担から解放される。
【0094】
なお、検査部番号選択部7は、検査部番号の選択を促す画面を表示部13に表示してオペレータに検査部番号を選択する入力を行わせしめるようにしてもよい。また、検査パラメータ指定部9は、検査パラメータの入力を促す画面を表示部13に表示してオペレータに検査パラメータの入力を行わせしめるようにしてもよい。また、取得条件指定部6は、サンプリング周期、検出開始地点または検出終了地点の入力を促す画面を表示部13に表示してオペレータにサンプリング周期、検出開始地点または検出終了地点の入力を行わせしめるようにしてもよい。
【0095】
また、同一のワークが複数存在し、複数のワークに対して検査動作を行う際に、検査装置100は、サンプルとして一つのワークを取り上げて、サンプルにかかる、検出開始地点から検出終了地点までの力波形を求め、求めた力波形を表示部13に表示するとともに検査部番号および検査パラメータの入力を促す画面を表示するようにしてもよい。これにより、オペレータは、サンプルの力波形に基づいて複数のワークの特徴に適合する条件を決定し、入力することができるようになる。
【0096】
実施の形態2.
実施の形態2の検査装置の構成は、実施の形態1と同等であるので、実施の形態1と同様の構成要素および符号を用いて実施の形態2を説明する。
【0097】
実施の形態2においては、検査パラメータとして力ノイズ判定値FNoise(第3パラメータ)が用意されている。検査パラメータ指定部9は、力ノイズ判定値FNoiseの値を記憶部1から読み出して検査部8に供給する。
【0098】
特性変化点認識部82は、着目点をPM点から変形開始地点の向きに移動させながら近似窓距離dの両端のデータにかかる負荷の差分と力ノイズ判定値FNoiseの値とを比較するとともに着目点における局所傾きkiと基準傾きkmに左側傾き倍率SlpLを乗じた値とを比較する。そして、特性変化点認識部82は、前記差分が力ノイズ判定値FNoiseの値以上となり、かつ、局所傾きkiが基準傾きkmに左側傾き倍率SlpLを乗じた値を最初に達する着目点をSL点とする。
【0099】
また、特性変化点認識部82は、着目点をPM点から変形終了地点の向きに移動させながら近似窓距離dの両端のデータにかかる負荷の差分と力ノイズ判定値FNoiseの値とを比較するとともに着目点における局所傾きkiと基準傾きkmに右側傾き倍率SlpRを乗じた値とを比較する。そして、特性変化点認識部82は、前記差分が力ノイズ判定値FNoiseの値以上となり、かつ、局所傾きkiが基準傾きkmに右側傾き倍率SlpRを乗じた値を最初に達する着目点をSR点とする。
【0100】
図20は、実施の形態2の検査装置100におけるステップS12の処理を説明するための図であり、
図21は、実施の形態2の検査装置100におけるステップS12の処理のさらに詳しい動作を説明するフローチャートである。
【0101】
ステップS40〜ステップS45の処理は、ステップS20〜ステップS25の処理と夫々等しいので、ここでは説明を省略する。ステップS45の判定処理において、数式(10)が満たされない場合には(ステップS45、No)、特性変化点認識部82は、ステップS44の処理を再び実行する。数式(10)が満たされる場合には(ステップS45、Yes)、特性変化点認識部82は、局所傾きkiを算出するとともに、データ番号がiのデータを構成する力検出値F(i)からデータ番号がi-kのデータを構成する力検出値F(i-k)を減算して差分FsDiffを算出する(ステップS46)。
【0102】
続いて、特性変化点認識部82は、基準傾きkm、左側傾き倍率SlpL、力ノイズ判定値FNoise、ならびに算出した局所傾きkiおよび差分FsDiffを用いて、下記の数式(14)〜(15)がともに満たされるか否かを判定する(ステップS47)。
Ki≧SlpL*Km・・・(14)
FsDiff≧FNoise・・・(15)
【0103】
数式(14)〜(15)のうちの少なくともひとつが満たされない場合には(ステップS47、No)、特性変化点認識部82は、ステップS42の処理を再び実行する。数式(14)〜(15)がともに満たされる場合には(ステップS47、Yes)、特性変化点認識部82は、SLをi-kとし(ステップS48)、ステップS12の処理にかかる動作を終了する。
【0104】
このように、実施の形態2によれば、検査装置100は、力ノイズ判定値FNoiseが指定され、近似窓距離dだけ離れた点の力の変化量が力ノイズ判定値FNoiseよりも小さい場合には、SL点を特定しない。即ち、第2条件は、着目点を含む近似窓距離dの範囲の力波形のうちの両端のデータにおける負荷の差分FsDiffが第3パラメータである力ノイズ判定値FNoiseを越える、という条件をさらに含む。検査装置100は、ノイズの影響で力の変化量が小さくなった場合、SL点を特定しないこととなるので、変化点を検出する際にノイズの影響を除外することができる。
【0105】
実施の形態3.
傾き倍率(左側傾き倍率SlpL、右側傾き倍率SlpR)の値を1より大きい値とすべきか、1より小さい値とすべきかは、探索方向と特性変化点の前後の傾きの大小に応じて決められる。PM点を起点として探索を開始して特性変化点の前の傾きより後の傾きのほうが大きい場合に、傾き倍率として1より大きい値が設定されたとき、その特性変化点は特定される。また、特性変化点の前の傾きより後の傾きのほうが小さい場合に、傾き倍率として1より小さい値が設定されたとき、その特性変化点は特定される。
【0106】
実施の形態3においては、
図22に示すように、PM点から探索開始して特性変化点の前より特性変化点の後のほうが力波形の傾きが小さいために左側傾き倍率SlpLおよび右側傾き倍率SlpRに夫々1より小さい値が設定される場合について言及する。実施の形態3の検査装置の構成は、実施の形態1と同等であるので、実施の形態1と同様の構成要素および符号を用いて実施の形態3を説明する。
【0107】
検査パラメータ指定部9により指定される検査パラメータは、実施の形態1と同様にPM点の指定の他に、左側傾き倍率SlpL、右側傾き倍率SlpR、および近似窓距離dを含む。左側傾き倍率SlpL(第1パラメータ)および右側傾き倍率SlpR(第1パラメータ)は、ともに1よりも小さい。
【0108】
実施の形態3では、特性変化点認識部82は、粗変化点としてのSL点を特定する処理(
図17に示す処理)に含まれるステップS27の処理において、数式(11)に替えて下記の数式(16)が満たされるか否かを判定する。
ki≦SlpL*km・・・(16)
【0109】
数式(16)が満たされない場合には、特性変化点認識部82は、ステップS22の処理を再び実行する。数式(16)が満たされる場合には、特性変化点認識部82は、SLをi-kとし(ステップS28)、ステップS12の処理にかかる動作を終了する。
【0110】
また、特性変化点認識部82は、SL点に基づいて特性変化点としてのL点を特定する処理(
図19に示す処理)に含まれるステップS37の処理において、数式(13)に替えて下記の数式(17)が満たされるか否かを判定する。
ki≧km・・・(17)
【0111】
数式(17)が満たされない場合には、特性変化点認識部82は、ステップS32の処理を再び実行する。数式(17)が満たされる場合には、特性変化点認識部82は、Lをiとし(ステップS38)、ステップS13の処理にかかる動作を終了する。
【0112】
このように、実施の形態3では、左側傾き倍率SlpLおよび右側傾き倍率SlpRの値に1より小さい値が設定されることにより、PM点を起点として探索を開始して特性変化点の前の傾きより後の傾きのほうが小さい、例えば
図22に示すような力波形から、特性変化点を抽出することができる。これにより、弾性部品の変形開始地点または変形終了地点を可及的に簡単に特定することが可能となる。
【0113】
なお、PM点を起点として探索を開始して特性変化点の前の傾きより後の傾きのほうが大きい場合に、傾き倍率として1より大きい値が設定されたとき、その特性変化点は特定され、傾き倍率として1より小さい値が設定されたとき、その特性変化点は特定されない。また、特性変化点の前の傾きより後の傾きのほうが小さい場合に、傾き倍率として1より小さい値が設定されたとき、その特性変化点は特定され、傾き倍率として1より大きい値が設定されたとき、その特性変化点は特定されない。ユーザは、特定したい特性変化点に応じて傾き倍率を1より大きい値に設定するか1より小さい値に設定するかを決めることができる。
【0114】
また、傾き倍率は、左側と右側とで独立に設定されてよい。即ち、左側傾き倍率SlpLおよび右側傾き倍率SlpRのうちの一方に1より大きく、他方に1より小さい値が設定されてもよい。
【0115】
また、特性変化点認識部82は、傾き倍率に設定された値が1より大きいか否かを判定して、判定結果に応じて実施の形態1で説明した動作を実行するか実施の形態3で説明した動作を実行するかを切り替えてもよい。
【0116】
また、検査パラメータ指定部9は、同一の傾き倍率として1より大きい値と1より小さい値との2通りの値を指定することが可能に構成されてもよい。特性変化点認識部82は、一方の傾き倍率を用いて特性変化点の特定を行い、その後、他方の傾き倍率を用いて特性変化点の特定を行うことで、特性変化点の前後の傾きの大小にかかわらず特性変化点を特定することが可能となる。
【0117】
実施の形態4.
実施の形態4の検査装置の構成は、実施の形態1と同等であるので、実施の形態1と同様の構成要素および符号を用いて実施の形態4を説明する。
【0118】
実施の形態4では、検査パラメータ指定部9により指定される検査パラメータは、PM点の指定、左側傾き倍率SlpL、右側傾き倍率SlpR、近似窓距離d、および調整係数clを含む。そして、特性変化点認識部82は、SL点に基づいて特性変化点としてのL点を特定する処理(
図19に示す処理)に含まれるステップS35の処理において、数式(12)に替えて下記の数式(18)が満たされるか否かを判定する。
S(i+k)−S(i)≧d’・・・(18)
【0119】
なお、d’は、近似窓距離dとは異なる値であって、正の実数である。d’は、下記の数式(19)によって定義される。以降、d’を探索窓長という。
d'=c1*d・・・(19)
【0120】
数式(18)が満たされない場合には、特性変化点認識部82は、ステップS34の処理を実行する。数式(18)が満たされる場合には、特性変化点認識部82は、データ番号がiからデータ番号がi+kまでのデータの近似線の傾きを算出する(ステップS36)。
【0121】
ここで、c1が1より大きい場合(例えば2)、計算される傾きkiについて、ノイズなどによる影響による終了条件(即ちステップS37、Yesと判定されること)の誤検出を低減する効果が得られる。c1は大きいほどノイズに強くなるが、ステップS13における探索精度特性変化点間のデータ数が小さい場合は1より大きい値で、調整される必要がある。
【0122】
一方、c1が1より小さい場合(例えば0.5)、ノイズを受けにくい状況下にあるときに特性変化点を精度良く抽出する効果が得られる。
【0123】
このように、実施の形態4によれば、探索窓長d'を可変とすることで、ノイズが多い場合は誤検出を低減させ、ノイズが小さい場合は変化点検出精度を向上させることが可能となる。また、検査装置が抽出する物理特性(傾き)の精度を向上させることができる。
【0124】
実施の形態5.
実施の形態5の検査装置の構成は、実施の形態1と同等であるので、実施の形態1と同様の構成要素および符号を用いて実施の形態5を説明する。
【0125】
実施の形態5では、検査パラメータ指定部9により指定される検査パラメータは、調整係数SlpL2(第2パラメータ)をさらに含んでいる。そして、特性変化点認識部82は、SL点に基づいて特性変化点としてのL点を特定する処理(
図19に示す処理)に含まれるステップS37の処理において、数式(13)に替えて下記の数式(20)および数式(21)がともに満たされるか否かを判定する。
ki≦(1+SlpL2)*km・・・(20)
(1-SlpL2)*km≦ki・・・(21)
【0126】
数式(20)または数式(21)が満たされない場合には、特性変化点認識部82は、ステップS32の処理を再び実行する。数式(20)または数式(21)がともに満たされる場合には、特性変化点認識部82は、Lをiとし(ステップS38)、ステップS13の処理にかかる動作を終了する。
【0127】
調整係数SlpL2は、局所傾きの判定精度が決まっている場合に0から1の間の実数が設定される。これにより、最終的なL点の判定感度を調整することが出来るようになる。ステップS15でも同様の処理を実施しR点の判定感度を調整することが出来る。
【0128】
最終的なL点を決定する際に、厳密に一致する精度を必要としていない場合は、基準傾きkmおよび第2パラメータである調整係数SlpL2に基づく傾きの範囲内に着目点における局所傾きkiが達するという条件を最初に満たす着目点をL点に特定する、という以上に説明した手法を用いることで、探索の検出感度を上げることができるようにしても良い。
【0129】
なお、実施の形態1〜5の説明において「変形過程」とは、単体あるいは複数物体から構成される物体が、ある負荷に対して示す変形状態の時間経過を力波形を利用して示すものである。複数物体の場合、物理的な剛性、または、変形状態によって生じる反力は複雑なものになる。これを識別するための区切り目として特性変化点がある。特性変化点は例えば物理的接触状態によって定義され、剛性が同一であるとみなせる場合は同一の状態として取り扱い、状態と状態の区切り目を特性変化点と呼ぶことが出来る。