目次
I.はじめに
現在, Python は人工知能に最適な言語であることは間違いありません. 多くの有名な人工知能フレームワークは Python 言語をサポートできます. 同時に, Python は「接着剤」言語として, c などの他の言語からの呼び出しをサポートできますハイブリッド プログラミング。この事実に基づいて、私たちの技術チームが最初にプログラミング言語を選択したとき、最終的にロボットのプログラミング言語として Python を選択しました。汎用コンピュータのハードウェア技術の発展により、マルチコア処理やGPU並列コンピューティングは日々変化し、大規模な画像処理アルゴリズムをローカルで実装することが容易になり、クラウド+エッジコンピューティングというコンピューティングパラダイムが到来します。また、マシンインテリジェント制御システムの主流のソリューションにもなります。従来のプログラマブル コントローラーは、コンピューティング能力が低く、単純な論理演算をインテリジェントに処理するため、ビデオ ストリーム処理、最適化の繰り返し、ニューラル ネットワークのオンライン学習およびコンピューティング シナリオには対応していませんが、従来のプログラマブル コントローラーには視覚的な構成があり、利点があります。使いやすさとエンジニアリング効率の高さは依然として明らかですが、従来のプログラマブル コントローラーのエンジニアリング上の利点を維持しながら、コントローラーの計算能力を向上させるプログラマブル Python 操作コントローラーを提供することは可能でしょうか?処理能力をロボット制御システムに適用します。このようなコントローラーを人工知能仮想コントローラーと呼びます。
2. フレームワーク構造
この人工知能コントローラーの一般的なフレームワーク構造を次の図に示します。
第 1 世代のコントローラー プラットフォームは、主に Python 構文チェック ツール、C 言語コンパイル ツール、フローチャート計算スケジューラー、ビジュアル アルゴリズム モジュール管理、ビジュアル構成ツール、プロジェクト ファイル管理ツール、その他のコンポーネントで構成されています。
その主な機能は次のとおりです。
2.1 Python構文チェックツール
このモジュールは主にカスタム モジュールの Python スクリプト プログラムの構文をチェックします。チェックを通過すると、他のプロジェクトから呼び出せるアルゴリズム ブロックになったり、C 言語コンパイル ツールに送信してアクセラレーション モジュールを形成したりできます。を呼び出すフローチャートの場合。
2.2 C言語コンパイルツール
Python モジュールを C 言語ダイナミック ライブラリにコンパイルすることで、モジュールのカプセル化を実現し、同時に実行速度を向上させ、時間のかかる計算モジュールのパフォーマンスを向上させることができます。
2.3 フローチャート計算スケジューラ
スケジューラはプラットフォーム全体の中核となるメインモジュールであり、ニューラルネットワーク計算グラフの設計思想を利用し、グラフ理論の原理を使用して各アルゴリズムブロックの組み合わせを処理し、シーケンスとフィードバック信号フロー制御を実現します。同時に、グラフの構造に応じて、コルーチン レベル、スレッド レベル、プロセス レベルでコンピューティング リソースの割り当てと連携を提供し、現在のプロジェクトの動作パフォーマンスを最適化します。
2.4 ビジュアルアルゴリズムモジュール管理
このモジュールは、バージョン、分類、ヘルプドキュメントなどのさまざまな側面で検査に合格したモジュールを管理でき、ユーザーに WYSIWYG 環境を提供します。
2.5 ビジュアル設定ツール
このモジュールは、特定のタスクに応じたエンジニアリング フローチャート計算の視覚的なドラッグ アンド ドロップと接続構成を実現し、エンジニアの参入障壁を軽減する、PLC ファンクション ブロック プログラミングと同様の使いやすい環境 (非現実的なブループリント環境) を提供します。 、迅速な知識の回復を実現し、生産性を向上させるために使用します。
2.6 プロジェクトファイル管理ツール
ロボットエンジニアリングファイルを管理できるツールです。バックアップ、中間状態変数の保存、プロジェクトの変更、復元などが含まれます。
3. フォローアップ作業
チームが立ち上げようとしているPythonロボットプログラミングプラットフォームは上記で提案したもので、比較的充実したサポートツール環境を提供することをベースに、以前チームが開発したロボット動作モジュール、マシンビジョン処理モジュール、認識モジュールなどを変換したものです。プラットフォーム プリセット アルゴリズム ブロックに組み込まれるため、ユーザーは目的のロボット制御システムを迅速に開発し、プロジェクト サイクルを短縮し、節約された時間をシステムの反復にすぐに使用できます。