(57)【要約】【課題】  可動部を撮影した画像を用いて制御を行う設備又は装置の設計及び設置調整支援に有用なシミュレーション装置を提供する。【解決手段】  可動部を撮影可能な撮像部と、撮像部で撮影した画像データに基づいて、可動部の位置情報を取得し、且つ当該位置情報が所定の条件を満たしているか否かを判定し、当該条件を満たしていると判定した場合、可動部を起動させるための制御信号を出力する制御部とを有する可動部を備えた設備又は装置のシミュレーション装置であって、  可動部のモデルを含むシミュレーション用の画像データに基づいて、可動部のモデルがシミュレーション用画像内に占める位置情報を取得する画像処理部１２０と、  画像処理部が取得したモデルの位置情報を表示する表示部１４０を有するように構成した。【選択図】      図１
2006235699.tif 000002
【特許請求の範囲】
【請求項１】
可動部を撮影可能な撮像部と、前記撮像部で撮影した画像データに基づいて、前記可動部の位置情報を取得し、且つ当該位置情報が所定の条件を満たしているか否かを判定し、当該条件を満たしていると判定した場合、前記可動部を起動させるための制御信号を出力する制御部とを有する可動部を備えた設備又は装置のシミュレーション装置であって、
前記可動部のモデルを含むシミュレーション用の画像データに基づいて、前記可動部のモデルが前記シミュレーション用画像内に占める位置情報を取得する画像処理部と、
前記画像処理部が取得した前記モデルの位置情報を表示する表示部と、
を有することを特徴とするシミュレーション装置。
【請求項２】
さらに、前記モデルが前記シミュレーション用画像内に占める位置情報の取得に使用する条件を調整する画像処理調整部を有する請求項１に記載のシミュレーション装置。
【請求項３】
さらに、前記シミュレーション用画像を修正するための画像修正部を有する請求項１又は２に記載のシミュレーション装置。
【請求項４】
前記表示部は、前記画像処理部が取得した前記モデルの位置情報とともに、前記可動部のモデルの真の位置を表示する請求項１〜３の何れか一項に記載のシミュレーション装置。
【請求項５】
前記可動部は、前記の可動部の位置情報を特定するための少なくとも１つの検出マークを有し、
且つ前記可動部のモデルは、前記検出マークのモデルを有し、
前記画像処理部は、前記検出マークのモデルに基づいて前記可動部のモデルの位置情報を取得する、請求項１〜４の何れか一項に記載のシミュレーション装置。
【請求項６】
前記可動部の位置情報は、前記可動部の動作終了後の位置情報である請求項１〜５の何れか一項に記載のシミュレーション装置。
【請求項７】
前記可動部の位置情報は、前記可動部の動作開始前の位置情報である請求項１〜５の何れか一項に記載のシミュレーション装置。
【請求項８】
前記画像処理部は、前記シミュレーション用画像データの一部に関心領域を設定し、当該関心領域に含まれる画像データのみに基づいて前記モデルの位置情報を取得する請求項１〜７の何れか一項に記載のシミュレーション装置。
【請求項９】
可動部を撮影した画像データに基づいて、当該可動部の制御を行う設備又は装置のシミュレーション方法であって、
前記可動部のモデルを含むシミュレーション用の画像データに基づいて、前記可動部のモデルが前記シミュレーション用画像内に占める位置情報を取得するステップと、
前記位置情報が所定の条件を満たしているか否かを判定するステップと、
前記条件を満たしていると判定した場合、前記可動部を起動させるための制御信号を模擬的に生成するステップと、
を有することを特徴とするシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可動部を撮影した画像を用いて可動部を制御する設備又は装置のシミュレーション装置に関するものであり、より詳しくは、可動部のモデルを含む画像を用いてシミュレーションを行うシミュレーション装置、及びシミュレーション方法に関する。
【背景技術】
【０００２】
近年、様々な機械、装置の製造工程や検査工程において、自動化が益々進展し、様々な自動組み立て装置や自動検査装置といった設備が使用されるに至っている。例えば自動組み立て装置では、搬送されてくる部品を捕捉し、捕捉した部品を所定の組み立て位置へ搬送し、そして組み立て位置へ搬送された部品に、別の部品を組み込み、出来上がったものを排出するといった動作を行う。このようなそれぞれの動作を行うために、搬送ユニット、組み立てユニットといった複数の可動部が存在し、それらが所定の位置へ向けて、所定のタイミングで正確に動作することが求められる。
【０００３】
このような設備、又は装置の設計や設置の段階において、可動部を撮影した画像や可動部をモデル化した画像を用いて可動部の位置決め等の調整を行うことが出来れば、視覚的に捉えられるため、容易に正確な調整を行い得る。特に、対象物を撮影した画像から、その対象物に関する情報を取得し、その情報に基づいて制御を行う装置（特許文献１参照）において、対象物を撮影した画像、若しくは対象物のモデル画像を用いることができれば、画像から取得する情報の精度の確認も可能であり、非常に有用である。
【０００４】
一方、ロボットアームといった可動部を撮影した画像を用いて、ロボットの動作をシミュレートし、そのシミュレーションで行った操作指示と同じ指示をロボットに与えて動作させる技術が知られている（特許文献２参照）。また、ＣＡＤ上でロボットのモデルを作成し、そのモデルを実機同様に動かして調整を行う技術が知られている（特許文献３参照）。
【０００５】
しかしながら、画像から可動部の位置情報を取得して、その情報を制御に利用して一連の動作を行う装置の設計支援に適用可能なシミュレーション装置は開示されておらず、そのようなシミュレーション装置やシミュレーション方法の開発が望まれている。
【０００６】
【特許文献１】特開２００１−１９７４８３号公報
【特許文献２】特開平２−１１６４９４号公報
【特許文献３】特開平５−２８９７３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記の問題点に鑑み、本発明は、可動部を有し、その可動部を撮影した画像データに基づいて可動部に対する制御信号を出力する設備または装置に適したシミュレーション装置、又はシミュレーション方法を提供することを目的とする。
【０００８】
また本発明の別の目的として、実機を用いることなく、制御部の調整が可能なシミュレーション装置、又はシミュレーション方法を提供することを目的とする。
【０００９】
また本発明のさらに別の目的として、可動部を撮影した画像データに基づいて、可動部の位置情報取得の精度向上に有用なシミュレーション装置、又はシミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明に係るシミュレーション装置は、可動部を撮影可能な撮像部と、撮像部で撮影した画像データに基づいて、可動部の位置情報を取得し、且つ位置情報が所定の条件を満たしているか否かを判定し、その条件を満たしていると判定した場合、可動部を起動させるための制御信号を出力する制御部とを有する可動部を備えた設備又は装置をシミュレーションするものであり、可動部のモデルを含むシミュレーション用の画像データに基づいて、可動部のモデルがシミュレーション用画像内に占める位置情報を取得する画像処理部と、画像処理部が取得した上記位置情報を表示する表示部と、を有することを特徴とする。なお、可動部は複数存在してもよい。
【００１１】
さらに、上記のモデルがシミュレーション用画像内に占める位置情報の取得に使用する条件を調整する画像処理調整部を有することが好ましく、又、シミュレーション用画像を修正するための画像修正部を有することが好ましい。
【００１２】
実機を用いることなく、設置環境等の外乱要因を考慮した制御部の調整が可能なためである。
【００１３】
また、表示部は、画像処理部が取得した位置情報とともに、可動部のモデルの真の位置を表示することが好ましい。可動部の位置についての認識結果の精度評価を容易にするためである。
【００１４】
また、可動部は、位置情報を特定するための少なくとも１つの検出マークを有し、且つ可動部のモデルは、検出マークのモデルを有し、画像処理部は、検出マークのモデルに基づいて可動部のモデルの位置情報を取得することが好ましい。可動部の位置をより正確に捉えることが可能となり、シミュレーションの精度も向上するためである。
【００１５】
なお、可動部の位置情報とは、可動部の動作終了後の位置情報、又は可動部の動作開始前の位置情報であることが好ましい。可動部が静止状態にあるため、正確な位置評価が可能なためである。
【００１６】
さらに、画像処理部は、シミュレーション用画像データの一部に関心領域を設定し、その関心領域に含まれる画像データのみに基づいてモデルの位置情報を取得することが好ましい。不必要なデータ処理を避け、高速に処理を行うことを可能とするためである。
【００１７】
また、本発明に係る、可動部を撮影した画像データに基づいて、当該可動部の制御を行う設備又は装置のシミュレーション方法は、可動部のモデルを含むシミュレーション用の画像データに基づいて、可動部のモデルがシミュレーション用画像内に占める位置情報を取得するステップと、位置情報が所定の条件を満たしているか否かを判定するステップと、条件を満たしていると判定した場合、可動部を起動させるための制御信号を模擬的に生成するステップと、を有することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、可動部を有し、その可動部を撮影した画像データに基づいて可動部に対する制御信号を出力する設備または装置に好適なシミュレーション装置、又はシミュレーション方法を提供することが可能となる。
【００１９】
また、実機を用いることなく、制御部の調整が可能なシミュレーション装置、又はシミュレーション方法を提供することが可能となる。
【００２０】
さらに、可動部を撮影した画像データに基づいて、可動部の位置情報取得の精度向上に有用なシミュレーション装置、又はシミュレーション方法を提供することが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照しつつ本発明に係るシミュレーション装置について詳細に説明する。
【００２２】
図１に、本発明に係るシミュレーション装置１００の構成ブロック図を示す。
【００２３】
本発明に係るシミュレーション装置１００は、画像入力装置１１０、コントローラ１２０、メモリ１３０、及びモニタ１４０を備える。
【００２４】
画像入力装置１１０は、シミュレーション用の画像データをシミュレーション装置に入力する入力部として機能し、例えばシミュレーション対象となる設備又は装置を撮影するカメラや、ネットワーク入出力デバイス、ＣＤ−Ｒ／ＲＷ／ＲＯＭやＤＶＤ／ＤＶＤ＋／−ＲＷ等の大容量メディアドライブといった機器で構成する。
【００２５】
なお、シミュレーション用の画像データとして、例えば設置調整中の設備又は装置をカメラで撮影して得られた画像や、そのような画像に変更を加えた画像が用いられる。また、上記の設備又は装置が設計途中の段階においては、実際の設備又は装置の画像データを取得することが不可能なため、コンピュータグラフィックス（ＣＧ）により作成した画像データを使用してもよい。いずれの画像データにおいても、位置情報を取得する対象となる可動部のモデルを含んでいる必要がある。また、ここでいう可動部のモデルとは、画像上での可動部に相当する像のことであり、ＣＧで作成した可動部の像だけでなく、実際の設備又は装置を撮影して得た画像上に写っている可動部の像や、可動部の像に修正や変更を加えたものも含む。
【００２６】
コントローラ１２０は、画像処理部として機能し、画像入力装置１１０から取得した画像データ、若しくはメモリ１３０に保存されている画像データに対して、その画像データに含まれている、着目する可動部に相当する可動部のモデルの画像上の位置を認識し、その認識結果に基づいて、着目する可動部が仕様に定められた所定の位置にいるか否かといった判定を行う。そして、認識した可動部のモデルの画像上の位置、及び可動部が所定の位置にいるか否かの判定結果を、画像データとともにメモリ１３０に保存し、若しくはモニタ１４０に出力する。また、コントローラ１２０に、シミュレーション対象となる装置又は設備（実機）に対して制御信号を出力するシーケンサやモータドライバを接続してもよい。この場合、実機の制御部が可動部の動作を制御するために出力する制御信号を、コントローラ１２０が模擬的に生成し、出力するように構成する。そして、上記可動部のモデルの位置認識結果に基づいて出力される制御信号を上記シーケンサ又はモータドライバに送信し、それらからのコールバック信号をモニタするように構成してもよい。
【００２７】
なお、着目する可動部のモデルの位置認識、及びその可動部が所定の位置にいるか否かの判定は、シミュレーション対象となる装置又は設備（実機）の制御部において使用される方法と同じであることが好ましく、以下に説明する方法で行うことができる。
【００２８】
まず、解析対象の画像データから、着目する可動部中の特徴ある部分について、２値化処理でその特徴ある部分に相当する画素だけを抽出する。そして、抽出された画素の重心を求める。この重心位置と可動部の位置との関係は固定であるため、求めた重心位置で可動部の位置を特定できる。また、２値化処理の代わりに、エッジ検出処理を行って、上記部分の境界に相当するエッジ画素を抽出し、エッジ画素の重心等を求めてもよい。ここで特徴ある部分とは、位置認識用として、可動部に設けた検出マークや、その可動部自体が持つ特有の形状で、実際にカメラで撮影した画像上で、他の部分と明確に区別できる程、周辺と濃度差があるような部分をいう。このような特徴ある部分を画像上で認識することにより、正確な位置検出が可能となる。さらに、上記の２値化処理やエッジ検出処理を、着目する可動部が写っている部分を含む、一部の領域（関心領域）に限定して行ってもよい。このように関心領域に限定して処理を行えば、処理に使用するデータ量を減ずることができるため、高速な処理が可能となる。
【００２９】
次に、可動部が所定の位置にいるか否かの判定方法を説明する。
【００３０】
まず、設計仕様通りに可動部が配置されている、実機の理想状態を撮影した画像データ、若しくはその理想状態をＣＧにより作成した画像データに基づいて、目視測定等により、その特徴ある部分の真の位置である基準位置を決定する。そして、認識した特徴ある部分の画像データ上の位置と、基準位置との距離を求める。その距離が予め定められた許容範囲内に収まる場合、着目する可動部は所定の位置にいると判定する。なお、許容範囲は、実機の製造、設置等における許容公差に基づいて決定される。
【００３１】
上述した判定方法の代わりとして、理想状態にある装置又は設備を撮影した画像データと、解析対象となっている画像データとのマッチング処理を行い、マッチングの結果を表す相関度が所定の閾値以上の場合、着目する可動部が所定の位置にいると判定する判定方法を用いてもよい。この判定方法を用いる場合においても、上述した関心領域に限定して処理を行うことが好ましい。
【００３２】
メモリ１３０は、データ記録部として機能し、コントローラ１２０により保存する指示を受けた画像データを保存する。また、画像データと関連付けて、着目する可動部の位置検出結果等についても保存する。
【００３３】
なお、コントローラ１２０及びメモリ１３０は、市販のパーソナルコンピュータ及び内蔵プログラムとして構成することができる。また、専用のハードウェアやファームウェアとして構成してもよい。
【００３４】
モニタ１４０は、コントローラ１２０が認識した可動部のモデルの位置（すなわち、可動部の位置情報）を画像データとともに表示する。また、上述した可動部の位置判定方法の調整を行うためのユーザインターフェースとしても機能する。さらに、シミュレーション対象となる設備又は装置の設置環境等の外乱要因を評価できるようにするため、画像データ自体に、明暗やコントラストの変更、画像の一部置き換え、及びシャープネスの調整といった画像修正用のユーザインターフェースを備えても良い。このユーザインターフェースを通じて入力された修正データは、コントローラ１２０に送られ、コントローラ１２０は対象となる画像データに修正を加える。
【００３５】
以下に、本発明をより詳しく説明するため、本発明に係るシミュレーション装置を組み立て装置のシミュレーションに使用した場合について説明する。
【００３６】
図２に、本発明に係るシミュレーション装置のシミュレーション対象となる組み立て装置２００の構成ブロック図を示す。また図３に、組み立て装置２００の概略上面図を示す。
【００３７】
組み立て装置２００は、一例として、直径５０ｍｍ、高さ５０ｍｍの円筒形をした基幹部品（ワーク）の中心に、直径２０ｍｍ、高さ１０ｍｍの円筒形の部品を上方から嵌め込んで完成品を製造するものである。また、本実施形態に係るシミュレーション装置１００は、組み立て装置２００の制御部としてそのまま動作させることも可能である。
【００３８】
組み立て装置２００は、搬送ユニット２１０、上下ユニット２２０、ワーク搬入部２３０、部品投入部２４０、組み立て部２５０及びワーク排出部２６０を備え、ＣＣＤカメラ１１０、コントローラ１２０、メモリ１３０及びモニタ１４０とで、本発明に係るシミュレーション装置としても機能する、制御部１００を構成する。
【００３９】
組み立て装置２００では、図３及び図４に示すように、ワーク２０２は、ワーク搬送路２０１に沿ってワーク搬入部２３０から搬入され、ワーク排出部２６０により排出される。一方、部品２０３は、部品投入部２４０により、ワーク搬入部２３０と略直交する方向から投入され、ワーク搬入部２３０とワーク排出部２６０の中間にある組み立て部２５０で、ワーク２０２に組み付けられる。
【００４０】
ワーク搬入部２３０は、前工程から送られてきたワークを連続的に組み立て装置２００に搬入可能なように、ワークを載せて運ぶベルトコンベアで構成する。部品投入部２４０は、部品投入側から組み立て部２５０側へ緩やかな下降傾斜路であって、振動により、投入された部品２０３が徐々に組み立て部２５０側へ搬送される。ワーク排出部２６０は、ワーク搬入部２３０同様、ベルトコンベアで構成する。そして、搬送ユニット２１０が部品組み付け済みのワーク（完成品）２０４を組み立て部２５０側に最も近いワーク排出部２６０の出口２６１に排出すると、その完成品を載せて次工程へ搬送する。
【００４１】
搬送ユニット２１０は、ワーク搬送路２０１と略平行に取り付けられ、ワーク搬入部２３０の終端付近の入口２３１にあるワーク２０２を捕捉し、ワーク排出部２６０の方へ平行移動して組み立て部２５０へ搬送する。さらに部品組み付け済みのワーク（完成品）２０４をワーク排出部２６０に存在する出口２６１へと搬送する。組み立て部２５０に配置した上下ユニット２２０は、上部ユニット２２１が部品２０３を捕捉して上下運動し、下部ユニット２２２がワーク２０２を固定することにより、ワーク２０２に部品２０３を組み付けて完成品２０４を製造する。
【００４２】
搬送ユニット２１０は、ワーク搬送方向と略並行方法の長さ１５０ｍｍ、略垂直方向の幅５０ｍｍからなる部材２１１と、部材２１１の下部に取り付けられたグリッパ２１２及び駆動用のサーボモータを備える。グリッパ２１２は、ワーク搬送方向にワークの幅とほぼ等しい間隔で配置した２本の爪で構成し、同時に２つのワークを保持可能なように、ワーク搬送路２０１に沿って２セット配置する。
【００４３】
また搬送ユニット２１０は、ワーク搬送路２０１の存在する平面内で、ワーク搬送路２０１と直交する方向、及びワーク搬送路２０１と平行方向に移動可能である。また搬送ユニット２１０の原点位置を、搬送ユニット２１０がワーク搬送路２０１上にあるワーク２０２と接触しないよう、ワーク搬送路２０１から約３０ｍｍ後方に離れた位置に設定する。そして、原点位置にある搬送ユニット２１０に送り動作を指示すると、ワーク搬送路２０１に沿って、ワーク排出方向へ向けて約７０ｍｍ移動する（この移動先を便宜上送り位置と呼ぶ）。さらに、送り位置にある搬送ユニット２１０に、戻り動作が指示されると、原点位置へ戻るように、ワーク搬送路２０１に沿って、ワーク搬入方向に約７０ｍｍ移動する。一方、原点位置若しくは送り位置にある搬送ユニット２１０に前進動作が指示されると、搬送ユニット２１０は、ワーク搬送路２０１上にあるワーク２０２又は完成品２０４を捕捉するため、若しくは保持しているワーク２０２又は完成品２０４をワーク搬送路２０１上にリリースするため、ワーク搬送路２０１に近づく方向に約３０ｍｍ移動する。逆に、ワーク搬送路２０１に近接した位置にある搬送ユニット２１０に対し、後退動作が指示されると、搬送ユニット２１０はワーク搬送路２０１から離れる方向に約３０ｍｍ移動する。
【００４４】
上下ユニット２２０は、上部ユニット２２１、及び下部ユニット２２２で構成される。下部ユニット２２２は組み立て部２５０へ搬送されてきたワーク２０２を固定する。一方、上部ユニット２２１は、開閉可能な爪からなるワークチャック２２３、及びワークチャック２２３が取り付けられるチャックシリンダ２２４、及びこれらを駆動するサーボモータを備えている。
【００４５】
上部ユニット２２１は、初期状態では、組み立て部２５０に搬送されてくるワーク２０２、部品２０３と衝突しないように、組み立て部２５０の上方に退避しておく。組み立て部２５０に部品２０３が来ると、上部ユニット２２１を下降させ、ワークチャック２２３を閉じて部品２０３を保持する。部品２０３を保持すると、上部ユニット２２１は上方に移動する。その後ワーク２０２が組み立て部２５０へ搬送されてくると、再び上部ユニット２２１は下降し、ワーク２０２に部品２０３を挿入し、組み付ける。部品の組み付けが終わると、ワークチャック２２３は開いて部品をリリースし、再び上部ユニット２２１は上方に移動する。この上下方向の移動距離は、組み立て部２５０にワーク２０２が存在する場合、約１０ｍｍであり、ワーク２０２が存在しない場合約６０ｍｍである。
【００４６】
本実施形態によると、可動部に検出マークが形成される。すなわち、搬送ユニット２１０の部材２１１の搬入部２３０側端部の上面に検出マーク２１３を、及び排出部２６０側端部の上面に検出マーク２１４を取り付ける。検出マーク２１３及び２１４は、直径５ｍｍの赤い円形シールであり、ＣＣＤカメラ１１０で撮影する画像において、搬送ユニット２１０がどの位置にあっても、どちらかの検出マークが写り込むようになっている。なお、検出マーク２１３及び２１４は上記のものに限られるわけではなく、画像上で明確に判別可能なものであればよく、部材２１１自体の特有の形状等で代用することも可能である。
【００４７】
また、上下ユニット２２０の上部ユニット２２１においても、チャックシリンダ２２４の上面に検出マーク２２５、及びワークチャック２２３の上面に検出マーク２２６が取り付けられている。検出マーク２２５、２２６は、搬送ユニットに取り付けた検出マーク同様、直径５ｍｍの赤い円形シールである。さらに、ＣＣＤカメラ１１０で撮影する画像において、上部ユニット２２１が如何なる位置にあっても、またチャックの開閉によらず、検出マーク２２５、２２６が写り込むよう構成されている。なお、検出マーク２２５、２２６は、検出マーク２１３、２１４と同じマークである必要は無く、画像上で明確に判別可能なものであればよい。
【００４８】
また、制御部（又はシミュレーション装置）１００の構成要素であるＣＣＤカメラ１１０は、上述した組み立て部２５０の斜め上方、部品投入部側に約３０°の方向に配置する。そして、搬送ユニット２１０、上下ユニット２２０、ワーク搬入部２３０、部品投入部２４０、ワーク排出部２６０を全て１枚の画像に収めるとともに、搬送ユニット２１０、上下ユニット２２０の各部の動作範囲も全て収めることができる。コントローラ１２０は、ＣＣＤカメラ１１０からの画像信号を受信して、所定の条件を満たす画像データをメモリ１３０に保存する。また、コントローラ１２０は、組み立て装置２００の駆動制御も行うため、搬送ユニット２１０、上下ユニット２２０それぞれのサーボモータへ制御信号を送信する。
【００４９】
コントローラ１２０及びメモリ１３０は、本実施形態においては、パーソナルコンピュータ（ＰＣ）に内蔵のプログラム、メモリ、ＲＳ２３２Ｃといった外部出力ポート等によって構成する。また、本実施形態においては、コントローラ１２０は組み立て装置２００の駆動制御用に、組み立て装置２００の可動部（搬送ユニット２１０、上下ユニット２２０）のサーボモータを制御するモータドライバを内蔵する。なお、コントローラ１２０及びメモリ１３０はこれに限られるものではなく、専用のハードウェア、ファームウェア等で構成してもよい。また、コントローラ１２０及びメモリ１３０と、モータドライバを、別個のハードウェアとして構成し、互いに通信可能な構成としてもよい。例えば、コントローラ１２０及びメモリ１３０をＰＣ及び内蔵プログラムで構成し、モータドライバをプログラマブルロジックコントローラ（ＰＬＣ）で構成してもよい。
【００５０】
ＣＣＤカメラ１１０は、組み立て装置２００の作動中、搬送ユニット２１０、上下ユニット２２０、及び搬送されてくるワークや部品、排出される組み立て済みワークを全て１枚の画像に収めた静止画を、ビデオレート（３０Ｈｚ）で連続して取得し、コントローラ１２０へ送信する。この目的のため、ＣＣＤカメラ１１０として、１／４インチ４１万画素ＣＣＤ、焦点距離４．３ｍｍ（画角６９．８°）、２４ビット（ＲＧＢ各８ビット）出力のものを用いる。しかし、ＣＣＤカメラ１１０としては、これに限られるものではなく、組み立て装置２００の各部を１枚の画像に収めることが可能で、且つ検出マーク等の判別ができるものであればよい。
【００５１】
またコントローラ１２０は、ＣＣＤカメラ１１０から画像データを受信すると、検出マークの動きによる位置の変化を示す変化後の画像データを解析し、搬送ユニット２１０や上下ユニット２２０等の位置を認識し、認識結果に応じて内蔵のモータドライバを経て、搬送ユニット２１０又は上下ユニット２２０に内蔵されたサーボモータに対して制御信号を送信する。このようにして、本実施形態によれば、検出マークの位置の変化により、組み立て装置２００をシーケンス動作させることができる。
【００５２】
さらに、搬送ユニット２１０や上下ユニット２２０の各動作ステップ終了時の位置を検出マークの位置により認識し、その動作ステップ終了時に相当する画像データをメモリ１３０に保存する。
【００５３】
次に、組み立て装置２００の動作フローの概略を以下に示す。
【００５４】
組み立て装置２００では、可動部の少なくとも一つが移動する各動作ステップと、その動作ステップにおいて移動した可動部が所定の位置で停止したか否かを確認する動作終了判定ステップを交互に実行する。
【００５５】
そして、動作終了判定ステップでは、直前の動作ステップで移動した可動部が所定の位置で停止したか否かについて、ＣＣＤカメラ１１０で撮影した画像を用いてコントローラ１２０が判定する。その可動部が所定の位置に停止しており、動作が終了したと判定されれば、コントローラ１２０より組み立て装置２００の可動部へ制御信号が送信され、次の動作ステップが実行される。逆に動作終了と認められない限り、次の動作ステップは実行されない。
【００５６】
一例として、搬送ユニット２１０が、入口２３１にあるワーク２０２を捕捉するために、前進動作を行った後の動作終了判定を以下に説明する。
【００５７】
係る判定は、搬送ユニット２１０に付された検出マーク２１３の重心位置及び面積が所定の条件を満たすか否かを判定することによって行う。
【００５８】
事前準備として、搬送ユニット２１０の前進動作終了時点に相当する参照画像データを取得する。図４に示すように、取得した参照画像データから、搬送ユニット２１０の前進動作終了時点における検出マーク２１３の存在すべき位置を含む関心領域１０１を設定し、メモリ１３０にその位置・範囲を記憶させておく。ここで関心領域１０１は、検出マーク２１３の位置検出に使用する領域であるため、正確な位置認識を行うために検出マーク２１３を完全に収めることができる大きさであることが好ましい。一方、位置認識の処理に必要な計算時間を減らすため、関心領域１０１は狭い方が好ましい。具体的には、関心領域１０１は、検出マーク２１３の画像上における面積の５倍〜１００倍程度の大きさに設定することが好ましい。さらに参照画像データに基づいて、搬送ユニット２１０の前進動作終了時点における検出マーク２１３を示す画素の重心位置、画像中の面積をそれぞれ基準重心Ｇorg、基準面積Ｄorgとして算出する。そして基準重心Ｇorg、基準面積Ｄorgを予めメモリ１３０に記憶させておく。
【００５９】
図５に、ステップＳ０２の動作手順のフローチャートを示す。
【００６０】
組み立て装置２００の稼動時においては、コントローラ１２０がＣＣＤカメラ１１０から受信した画像について、関心領域１０１のみに限定して検出マーク２１３の重心位置Ｇ・面積Ｄを調べ、基準重心、基準面積との比較で動作が完了したか否かを判定する。まず、関心領域の位置、範囲、及び基準重心Ｇorg、基準面積Ｄorgをメモリ１３０から取得する（ステップＳ２０１）。次に、判定を行う画像データを取得する（ステップＳ２０２）。その後、関心領域１０１内の画像データを、検出マークとそれ以外に分離可能なように２値化する（ステップＳ２０３）。２値化の閾値は組み立て装置２００の設置環境等を勘案して経験的に設定する。
【００６１】
本実施形態では、１画素あたりのデータが赤（Ｒ）、緑（Ｇ）、青（Ｂ）各８ビットで表される。そこで関心領域１０１中の任意の画素の値Ｐ（＝（Ｒ, Ｇ, Ｂ））とし、対応する２値化画像の任意の画素値をＰbinとすると、検出マーク２１３は赤色であることから、例えば
Ｐbin  ＝  １  （Ｒ≧Thdr、Ｇ＜Thdg、Ｂ＜Thdb）                  （１）
Ｐbin  ＝  ０  （上記以外のとき）
とすることができる。ただし、Thdr、Thdg、Thdbはそれぞれ、Ｒ、Ｇ、Ｂに対する閾値であり、例えばThdr ＝ 128、Thdg ＝ 32、Thdb ＝ 32である。また、Ｐbin＝１となる画素は、検出マーク２１３に相当し、Ｐbin＝０の画素は、それ以外の画素であることを示す。
【００６２】
２値化が終了すると、検出マーク２１３に相当する（Ｐbin＝１）画素の重心Ｇ、画素数の合計（面積）Ｄを算出する（ステップＳ２０４）。次に、重心Ｇと、メモリ１３０に記憶された基準重心Ｇorgとの距離ΔＧ（＝((Ｇx−Ｇorgx)2+(Ｇy−Ｇorgy)2)1/2）を求める（ただし、Ｇx、Ｇyはそれぞれ重心Ｇの水平座標、垂直座標であり、一方Ｇorgx、Ｇorgyはそれぞれ基準重心Ｇorgの水平座標、垂直座標である）。同様に、面積Ｄと、基準面積Ｄorgとの面積の差の絶対値ΔＤ（＝｜Ｄ−Ｄorg｜）を求める（ステップＳ２０５）。ΔＧ、ΔＤそれぞれについて許容誤差範囲（例えば１画素以内）か否か判定する（ステップＳ２０６）。共に許容誤差範囲内であれば、搬送ユニット２１０は正常に前進動作（Ｓ０１）を終了したと判定する。この場合、コントローラ１２０は、モータドライバを通じて、次の動作を実行させるための制御信号となる、同期信号を出力する（ステップＳ２０７）。
【００６３】
また、搬送ユニット１０の前進動作が終了したと判定された画像データをメモリ１３０に保存する（ステップＳ２０８）。
【００６４】
一方、ΔＧ、ΔＤのどちらか一方でも、許容誤差範囲を超えた場合、搬送ユニット２１０の前進動作は完了していないと判断し、判定に使用した画像データを廃棄するとともに、次にＣＣＤカメラ１１０から送られてくる画像に対して同様の判定手順を繰り返す。
【００６５】
上述した動作終了判定方法は、他の各動作終了判定ステップにおいても同様に使用する。ただし、着目する検出マーク、設定する関心領域、及び基準となる重心位置Ｇorg、面積Ｄorgは、各動作終了判定ステップについて最適化する。この最適化についても、上述した事前準備と同様の方法で、動作終了判定を行う可動部の動作終了時を示す参照画像データを予め取得しておき、その参照画像データから着目する検出マークの重心、面積を調べておけばよい。
【００６６】
また、同時に搬送ユニット２１０と上下ユニット２２０が動作するステップに対する動作終了判定ステップであっても、上述した方法で同様に動作終了判定を行うことができる。この場合、各ユニットに付された検出マークが写る領域近傍にそれぞれ関心領域を設定し、上述した方法によってそれぞれの検出マークの重心・面積を求めて判定を行う。
【００６７】
本発明に係るシミュレーション装置１００は、上述した動作終了判定ステップの最適化に使用する。特に、組み立て装置２００の設置状態や周辺環境の差違によらず、検出マークを正確に抽出できるように、上述した２値化の閾値の最適化を達成できることが重要である。
【００６８】
次に、本発明に係るシミュレーション装置１００により、組み立て装置２００の動作シミュレーションを行う場合の動作について説明する。
【００６９】
図６に、モニタ１４０の画面の概略構成図を示す。
【００７０】
画像表示部１４１は、画像入力装置から取得された、若しくはメモリ１３０から呼び出した画像データを表示する。データ表示部１４２は、画像表示部１４１に表示された画像に関連する情報（例えば、動作終了判定の対象となる可動部についての位置認識結果、モータドライバからのコールバック信号等）を表示する。また、操作部１４３は、動作終了判定方法のアルゴリズムで使用する閾値の調整、動作終了判定の模擬的な実行等の機能をユーザに提供する。さらに、画像コントラストやブライトネスの調整、意識的なピンボケ状態の創出といった、画像を変更する機能をユーザに提供する。
【００７１】
なお、モニタ１４０は、タッチパネルといったポインティングデバイスを備え、画面上に表示された操作ボタンに触れると、その操作ボタンに関連付けられた機能が作動するように構成されている。また、タッチパネルの代わりに、マウス等の公知のポインティングデバイスを使用してもよい。
【００７２】
ユーザは、組み立て装置２００の設計段階においては、３次元ＣＡＤデータ等に基づいて作成したコンピュータグラフィック（ＣＧ）画像データを本発明に係るシミュレーション装置の入力画像として用いることができる。この場合、組み立て装置２００の全てを詳細に表現する必要はなく、着目する可動部（搬送ユニット２１０、チャック部２２３、チャックシリンダ２２４の何れか）に相当する部分だけが表現されていればよい。また、組み立て装置２００の設置調整段階においては、実際に組み立て装置２００を設置し、ＣＣＤカメラ１１０で撮影した画像を入力画像として用いることができる。
【００７３】
シミュレーション装置１００は、上記画像を取得すると、画像表示部１４１にその画像を表示する。次に、ユーザが実行ボタン１４４にタッチすると、上述した動作終了判定方法と同じ方法を実現するアルゴリズムが機能し、画像上に表現された可動部に付された検出マークに基づいて、可動部の位置を検出する。検出された可動部の位置は、検出マークの重心１４７で示し、表示された画像と重ねて表示される。また、データ表示部１４２に、検出マークの重心座標１４８が示される。さらに、検出マークの真の重心を別途測定等により予め算出し、その位置を当該画像データに関連付けてメモリ１３０に保存しておき、当該画像データの表示の際に表示するようにしてもよい。さらに、関心領域１４９を画像データと重ねて表示してもよい。また、対象となる可動部が複数ある場合は、それぞれの可動部に付された検出マークの重心を表示する。
【００７４】
ユーザは、それら表示結果を参考にして、操作部１４３内の閾値調整ボタン１４５を操作して、（１）式に示した２値化閾値を変更すること等により、動作終了判定アルゴリズムの調整を行うことが可能である。例えば、図６において、２値化の閾値は赤（Ｒ）、緑（Ｇ）、青（Ｂ）に対応した、上述のThdr、Thdg、Thdb毎に調整することが可能である。具体的には、左端部にＲと示された部分の左側矢印部にタッチすると、赤に対する閾値Thdrは低く（数値が小さく）なる。逆に、左端部にＲと示された部分の右側矢印部にタッチすると、赤に対する閾値Thdrは高く（数値が大きく）なる。同様に、左端部にＧと表示された長方形領域内の矢印部にタッチすることで、緑に対する閾値Thdgを調整可能であり、左端部にＢと表示された長方形領域内の矢印部にタッチすることで、青に対する閾値Thdbを調整可能である。さらに、「inverse」と表記された部分の下部にある円形のチェックにタッチすることで、閾値の上側を選択するか、下側を選択するかを切り替えることが可能である。
【００７５】
なお、閾値調整による結果を把握し易くするために、検出マークとして抽出した２値化画像の画素値Ｐbin＝１となる画素を、画像データと重ねて表示するようにしてもよい。
【００７６】
また、操作部１４３に含まれる画像調整機能１４６により、画像データのブライトネスやコントラスト等変更し、その上で再度動作終了判定の模擬的実行を行い、さらに２値化閾値を調整する、といった手順を繰り返すことにより、動作終了判定方法の最適化が達成される。
【００７７】
上述した手順を、仕様が固まった動作終了判定ステップから順に行うことができる。また上述したように、各動作終了判定ステップの調整を行う際、実機を用いる必要なく、各可動部の動作が正常に行われるか否か、またその判定について調整することが可能であり、設備又は装置の設計時、及び設置時における調整等の時間を大幅に短縮することができる。
【００７８】
なお、上述してきた実施形態は、本発明を説明するためのものであり、本発明は、これらの実施形態に限定されるものではない。
【図面の簡単な説明】
【００７９】
【図１】本発明に係るシミュレーション装置の構成ブロック図である。
【図２】本発明に係るシミュレーション装置のシミュレーション対象となる組み立て装置の構成ブロック図である。
【図３】本発明に係るシミュレーション装置のシミュレーション対象となる組み立て装置の概略上面図である。
【図４】関心領域の設定範囲、及び検出マークの重心の概要を示す図である。
【図５】組み立て装置の各可動部の動作終了判定方法のフローチャートである。
【図６】本発明の実施形態に係るシミュレーション装置のモニタ画面の概略構成図である。
【符号の説明】
【００８０】
１００    シミュレーション装置
１１０    カメラ
１２０    コントローラ
１３０    メモリ
１４０    モニタ
１４１    画像表示部
１４２    データ表示部
１４３    操作部
２００    組み立て装置
２１０    搬送ユニット
２２０    上下ユニット
２１３、２１４、２２５、２２６    検出マーク
１０１    関心領域
【図１】
2006235699.tif 000003
【図２】
2006235699.tif 000004
【図３】
2006235699.tif 000005
【図４】
2006235699.tif 000006
【図５】
2006235699.tif 000007
【図６】
2006235699.tif 000008