小物部品自動組立システムの制御ソフトウェアの設計アーキテクチャの作成方法

技術紹介:

本特許は、小型部品の自動組立システムにおける手作業への依存度の高さと、制御ソフトウェアの開発・保守の難しさの問題を考慮し、インタラクション層、タスク層、ロジック層、ビヘイビア層の4層のアーキテクチャ設計を提案している。完全に自動化されたアセンブリプロセスは、階層的分離の助けを借りて実現されます。階層的分離では、タスク層がプロセスに従ってタスクを分解し、ロジック層が画像と座標の変換を処理し、動作層がハードウェアの実行を制御し、各層間のインターフェース通信により再利用性と保守性が向上し、手動介入が多く適応性が低い従来のアーキテクチャの欠点が解決されます。

キーワード: 自動組立システム、4層構造

本稿は、精密組立技術の分野に属する微小部品の自動組立システムの制御ソフトウェアの設計アーキテクチャについて説明します。

背景技術:

現在、マイクロエレクトロメカニカル製品は、生物医学、自動車産業、航空宇宙、環境モニタリングなどの分野で使用されているだけでなく、携帯電話、コンピューター、カメラなどの製品など、人々の生活のあらゆる場所に浸透しています。しかし、この国では、ほとんどのマイクロエレクトロメカニカル製品は依然として熟練労働者によって顕微鏡の助けを借りて組み立てられています。自動化されたマイクロ組立システムを構築すると、労働集約と人的要因の影響を効果的に軽減し、組立効率を向上させ、製品の安定性と組立精度を向上させることができます。アセンブリ システムの制御ソフトウェアを設計する人は、アセンブリ システムを徹底的かつ深く理解する必要があります。これは、プログラマーは特定のプログラミングの基礎を持っているだけでなく、アセンブリ システムに関係する複数の分野の知識も持っている必要があることを意味します。したがって、アセンブリシステム用の制御ソフトウェアの設計は設計者に高い要求を課し、開発は比較的困難です。マイクロアセンブリ装置の現在の制御ソフトウェアは、多くの場合、特定の部品専用に設計されています。部品が変更になると、通常、組立装置のハードウェアを変更する必要はありませんが、組立制御プログラムを書き換える必要があります。ただし、誰もが同じ方法でプログラムを作成できるわけではありません。プログラムはハードウェアに関連することが多く、コードを理解するのは簡単ではありません。これは、将来の組立システムの維持および改善に多大な困難を引き起こす。マイクロアセンブリシステム用の制御ソフトウェアの開発の困難を考慮して、国内の担当者が対応する研究を実施しました。

Xu Zheng、Wang Xiaodong らによる論文「Xu Zheng et al.、マシン ビジョンに基づくマイクロアセンブリ制御戦略と設計アーキテクチャ、Optical Precision Engineering、2009 年、(4): 820 – 823」を参照してください。彼らは、タスク層、戦略層、動作層をカバーするマイクロアセンブリシステムの 3 層設計アーキテクチャを提案しました。このうち、タスク層はオペレーターが発行したコマンドを受け入れて解析し、組み立てプロセスに従ってタスクを分解します。戦略層はタスク層から送信されたアクションシーケンス情報を受け取り、この情報を分解した後、行動層の対応するオブジェクトに送信します。そして動作層は、戦略層によって送信されたコマンドに基づいてハードウェアの動作を制御します。この設計アーキテクチャでは、各レベルの分業が極めて明確であり、結合度は低いです。これらの特性は、再利用性と堅牢性に貢献します。しかし、組立工程ごとに手作業の意思決定が必要であり、手作業への依存度が高いため、自動組立システムには適さない。

Huang Xiang、Huang Xinhan らによって提案されたもの [Huang Xiang et al.、「Control Software Design of Micro-assembly Robots」、『Computer and Digital Engineering』2011 (2)、64-67 ページ] は、マイクロアセンブリ ロボット制御ソフトウェアの設計に適した .net Framework に基づく 4 層アーキテクチャです。初期層、制御層、監視層、表示層に分かれています。初期層はハードウェアの初期化を完了し、制御層はハードウェアの動作の制御を担当し、監視層はシステムステータスを取得してビュー層に通知し、ビュー層はユーザー対話インターフェイスとデータ処理を提供します。このアーキテクチャ設計モデルは、人間とコンピュータの対話に基づいて半自動組立プロセスを制御できますが、自動組立プロセスを実現することはできません。

現段階の既存のマイクロアセンブリ システム設計アーキテクチャは、半自動アセンブリにのみ適しており、アセンブリ システムは手作業に大きく依存しています。このような問題に対応して、本発明は、小型部品の全自動組立システムの制御ソフトウェアに適した設計アーキテクチャを提案する。各組み立てステップの結果は、オペレーターに頼るのではなく、制御システムによって判断されます。

技術的な実装要素:

小型部品の全自動組立システムの制御ソフトウェアによって使用されるために、本発明によって提案される設計アーキテクチャがある。設計アーキテクチャは上から順にインタラクション層、タスク層、ロジック層、ビヘイビア層の4層に分かれています。各レベルで行うタスクは異なります。上位層はインターフェースに依存して下位層を制御し、下位層はインターフェースを使用して上位層に情報をフィードバックします。マイクロアセンブリシステムの完全自動組立プロセスを達成するために、同時に、小型部品の自動組立システムの制御ソフトウェアの開発と保守という困難な問題も解決されます。

本発明の技術的解決策:

小物部品自動組立システムの制御ソフトウェアの設計アーキテクチャであり、上からインタラクション層100、タスク層200、ロジック層300、ビヘイビア層400をカバーする。

ユーザ入力情報命令を受け入れるために使用されるインタラクション層100は、設計アーキテクチャとユーザとの間の直接インターフェースである。ユーザー入力情報の指示は主に、アセンブリの継続、前のアセンブリ手順の繰り返し、システムのリセットと終了をカバーします。インタラクション層100の上では、ユーザは、異なるニーズに従って異なるヒューマン・マシン・インターフェースを設計することができる。

1つの具体的な実装例では、インタラクション層100は、アラーム情報の表示および提示、組み立ての結果の表示および提示、収集された画像の表示および提示、さらにはシステムパラメータの調整などを行う機能も有する。

それがタスク層200と呼ばれるものである。組立作業が開始されると、組立工程に関わる工程に応じて組立タスクを分解し、アクションシーケンスを構築してロジック層300に送信する。同時に、ロジック層300からフィードバックされる情報も受け取り、既知の組立情報に基づいて最終的に判断することで、組立工程の自動化を実現する。

特定の実装例では、タスク層200は、アセンブリパラメータライブラリと、ロジック層300によってフィードバックされたリアルタイムアセンブリステータスとを統合して、各アセンブリステップが成功したかどうかを判定することができる。組み立てが成功すると、自動的に次の組み立てステップに進みます。エラーが発生した場合、それは対話層100にフィードバックされ、手動介入の要求が発行される。オペレータがインタラクション層100を介してシステムにコマンドを発行すると、タスク層200はインタラクション層100が発行したコマンドを受信して​​解析し、ロジック層300に送信する。

アクションシーケンス情報はタスク層200から送信され、ロジック層300で受信される。受信後、分解される。分解が完了すると、インターフェースを介して動作層400に伝達される。

具体的な実装例では、ロジック層300は、画像処理モジュール310と座標変換モジュール320を含む。画像処理モジュール310は、タスク層400のセンサによって収集された画像を処理し、その結果をタスク層200にフィードバックする。座標変換モジュール320は、各座標系間の関係を処理し、座標位置の変換を実現するために使用される。

ここで、動作層400は、ロジック層300から送信された命令を参照し、ハードウェアを制御し、対応する動作を実行させて、アセンブリ情報のロードおよび保存を実現する。

具体的な実装例では、動作層400は、情報ロードモジュール410、ハードウェア制御モジュール420、およびデータ保存モジュール430を含む。情報ロードモジュール410は、事前に調整された様々なパラメータをロードするために使用される。ハードウェア制御モジュール410は、ロジック層300から送信されたコマンドに基づいて、ステッピングモータ、産業用カメラ、デジタル出力ボードなどのハードウェアの特定の動作を制御する。同時に、収集した信号をロジック層300に送信する。データ保存モジュール430は、組立結果情報をメモリからハードディスクに保存する。

図面の説明

図 1 は、設計アーキテクチャの概略図です。

図 2 は、論理層構造の模式図です。

図 3 動作層構造の模式図。

詳細な実装

以下に、具体的な実装例と図面を組み合わせて、小型部品の自動組立システム用の制御ソフトウェアの設計アーキテクチャを詳細に説明します。

図 1 に示すように、具体的な実装例では、小型部品自動組立システムの制御ソフトウェアの設計アーキテクチャが示されています。この設計アーキテクチャは、表層から最下層まで、インタラクション層100、タスク層200、ロジック層300、ビヘイビア層400をカバーする。

1つはインタラクション層100であり、これはユーザによって入力された情報命令を受け入れるために使用され、命令情報はマウスやキーボードなどのデバイスを利用して入力することができる。情報手順では主に、アセンブリの続行、前のアセンブリ手順の繰り返し、システムのリセットと終了について説明します。組立プロセス中に問題が発生した場合、オペレータは、ユーザ層100によって与えられるエラープロンプトに基づいて適切な調整を行った後、対話型インターフェースで組立を続行するか、前の組立ステップを繰り返すか、またはシステムリセットを選択して組立を再開するかを選択することができる。インタラクション層100では、ユーザは、異なるニーズに応じて異なるヒューマン・コンピュータ・インターフェースを設計することができる。

特定の実装例では、インタラクション層100によって提供されるインターフェースは、組立プロセス中に遭遇した問題を表示し、手動介入を要求するために使用されるアラーム情報表示インターフェースを含む。組立情報表示インターフェースは、現在の組立ステップと関連するプロンプトを表示し、オペレータの実装を容易にします。組立システムの作業状況を常に把握できます。画像表示インターフェースもあり、ビジョンシステムによって収集された画像を表示するために使用でき、オペレーターが手動で組み立てステータスを確認しやすくなります。システムパラメータ調整インターフェイスもあり、組み立てエラーが発生した場合、オペレータは一部のシステムパラメータを調整して、組み立てプロセス中に発生した問題を解決できます。

タスク層200は、組立システムの制御中枢として、組立タスクを命令に分解し、その命令をインターフェースを介してロジック層300に送信する役割を担っており、ロジック層300からフィードバックされた情報に基づいて自ら組立結果を判断することもできる。

特定の実装例では、タスク層200は、まず、アセンブリタスクに従って必要なアセンブリパラメータをロードし、次にインターフェース機能の助けを借りて、対応する命令を論理層300に送信する。そして、組み立てプロセス中に、ロジック層300のインターフェースによってフィードバックされた部品の位置および方向などのプロセス情報が、事前に校正されたパラメータライブラリと比較され、各組み立てステップが正常に実行されたかどうかが判断される。組み立て中にエラーが発生した場合、エラー情報はインターフェースを通じてインタラクション層100にフィードバックされ、手動介入が要求され、インタラクション層100の手動介入命令がインターフェースを通じて解析される。組み立てが成功すると、次の組み立てステップが自動的に進みます。部品のセット全体が組み立てられたら、システムのリセット操作を実行し、ユーザーの指示を待って次の組み立てを続行するか、組み立てシステムを終了するかを選択します。

タスク層200が送信した指示情報はロジック層300で受信され、ロジック層300はそれを分解する動作を開始し、分解された内容をビヘイビア層400の対応するオブジェクトに送信する。

図3に示すように、ロジック層300がアクションシーケンスの分解と背景データ処理を担当し、画像処理モジュール310と座標変換モジュール320をカバーする具体的な実装例がある。 2.

タスク層400のセンサにより収集された画像は、画像処理モジュール310により処理される。処理された部品の状態や姿勢情報は、インターフェースを介してタスク層200にフィードバックされる。タスク層200は、フィードバックプロセス情報およびアセンブリパラメータライブラリに依存して、アセンブリステップの実行ステータスを判断することができる。

座標変換モジュール320は、座標系間の関係を処理して座標位置の変換を行うために使用される。この例では、座標系には画像座標系、視覚座標系、アセンブリ座標系、ワールド座標系などが含まれます。アセンブリパラメータライブラリに格納される位置情報は、通常、ワールド座標系の位置に基づいています。座標変換モジュール320のコードは、アセンブリシステムの構造にのみ関連する。アセンブリ タスクが変更を送信すると、アセンブリ プログラムも対応する変更を行う必要があります。アセンブリシステムの構造が変わらない限り、座標変換モジュール320のコードをそのまま使用することができる。この設計アーキテクチャ設計パターンは、後のアセンブリ システムの改善やアップグレードに便利です。

具体的な組み立て例では、ロジック層300が部品検出のために指定位置に移動するようにビジュアルシステムを制御する命令を受け取ると、ロジック層300は、まず、座標変換モジュール320を用いて、タスク層200の命令内の位置情報を世界座標系から視覚座標系に変換し、その後、インターフェース機能を介して、対応するドライバ命令をビヘイビア層400に発行する。ディスプレイスメント コマンドは、視覚システムを動かすために使用されます。収集された画像はビヘイビア層400からインターフェースを介して画像処理モジュール310に渡され、部品の姿勢情報が取得され、座標変換モジュール320を介して画像座標系から世界座標系に変換される。最後に、ロジック層300が部品の姿勢情報をタスク層200にフィードバックして指示を完了する。

ビヘイビア層400は、インターフェースを利用してロジック層300から送信されるコマンドを受信して​​ハードウェアに対応する動作を実現すると同時に、アセンブリパラメータのロードおよび保存を実行する。

特定の実装例では、図3に示すように、ビヘイビア層400は、情報ロードモジュール410、ハードウェア制御モジュール420、およびデータ保存モジュール430を含む。

このうち、情報ロードモジュール410は、制御呼び出しを容易にするために、アセンブリの開始時に、事前に調整されたさまざまなアセンブリパラメータをメモリにロードする役割を担う。

組み立てプロセス中に、ハードウェア制御モジュール420は、シリアル通信によってロジック層300によって発行された命令およびハードウェア製造業者によって提供されるSDK開発パッケージに従って、対応する動作を実行するようにハードウェアを制御する。同時に、収集された信号はインターフェースを介してロジック層300に送信される。この例では、制御されるハードウェアには、ステッピングモータ、産業用カメラ、光源コントローラ、トルクセンサなどが含まれる。ハードウェア制御モジュール420のコードは、組立システムのハードウェアモデルにのみ関連する。アセンブリシステムを改善する必要がある場合、アセンブリシステムのハードウェアモデルが変わらない限り、モジュールコードを変更する必要がないため、二次開発の難易度が軽減されます。

組立完了後、データ保存モジュール430は、後の問い合わせを容易にするために、組立結果情報および対応する部品シリアル番号をメモリからハードディスクに保存する。

小型部品の自動組立システムの制御ソフトウェアの設計アーキテクチャは、特定の責任を持つインタラクション層を含むトップレベルから始まり、次にさまざまなタスクを引き受けるタスク層、独自のタスクを実行するロジック層、最後に対応するアクションを実行する動作層と各レベルのタスクが続きます。タスクは異なります。これらはインターフェイスを介して通信し、上位レベルは次のレベルを制御できます。このようにして、小さな部品の完全自動組み立てを実現できます。アーキテクチャは明確で理解しやすく、一部のコードは再利用できます。これにより、組立システム制御の二次開発の困難さが軽減され、後のメンテナンスやアップグレードが容易になります。

© 著作権表示
終わり
気に入ったら応援してください。
クドス10 分かち合う
解説 ソファ購入

コメントを投稿するにはログインしてください

    コメントなし