メインコンテンツへスキップ

AddOnについて

JAKA約3分

AddOnについて

このページは、AddOn 開発者に基本的な概念を説明することを目的としています。

ご注意:

  1. このチュートリアルで言及されている AddOn は、デフォルトで AddOn 3.0 を指します。
  2. JAKA コントローラ > 1.7.1.x の _X64 バージョンで AddOn 3.0 の開発および使用がサポートされています。
  3. AddOn1.0 および 2.0 はすでにメンテナンスおよび開発サポートを終了していますが、1.7.1.x バージョンでは引き続き実行可能です。

ヒント:

本ドキュメントの対象読者は、基本的なロボット操作トレーニングを受け、一定の基礎的な開発スキルを持ち、JAKA のスクリプト言語 JKS に精通していることを前提としています。

さらに、node-red、JavaScript、HTML5、CSS3 などのプログラミング言語の使用経験があれば、AddOn の開発および使用をより効果的に行うことができます。

AddOnとは何か


JAKA AddOn は JAKA が提供するプラグイン型ソフトウェア製品であり、ユーザーがカスタムのコマンドプラグイン、サービスプラグイン、ウェブプラグイン、またはそれらを組み合わせた複合プラグインを開発することを可能にします。

AddOn を使用することで、ユーザーはロボットオペレーティングシステムに新たな機能を拡張したり、既存の機能をカスタマイズしたりすることができます。

用語の区別:

  • JAKA AddOn パッケージキット弃用:AddOn の開発および実行時にインストールが必要なキットパッケージ、すなわち jaka_addon_kit.tar.gz を指します。
  • JAKA AddOnXXX パッケージ:開発が完了し、具体的な機能を持つ機能パッケージ。例:JAKA AddOn パレタイジングパッケージ、JAKA AddOn グリッパーパッケージ、JAKA AddOn ビジョンガイドパッケージ、JAKA AddOn センサー制御パッケージなど。

注意:

AddOn の命名規則は英字とアンダースコアの組み合わせであり、スペースや特殊文字の使用は禁止されています。

なぜ AddOn を使用するのか


通常、ロボットのエンドに新しいサードパーティツールを接続した場合、または特定の使用シーンで特定の作業(例:パレタイジング、溶接など)を行う場合、新たなコマンドをプログラミング画面で設定する必要があります。

これらのコマンドは複雑で長いコマンドブロックやパラメータを含み、理解しにくく、再利用もしづらいため、単純な動作やプログラムに余計な負担を与えることがよくあります。特定の作業工程に精通していても、ロボットプログラミングに詳しくないエンジニアにとっては、コマンド設定の手順が特に複雑で困難に感じられることがあります。

AddOn を使用することでコード化の手間を省き、コマンド設定プロセスを大幅に簡素化できます。プログラミングのこのステップにおける複雑な設定を省き、簡潔で分かりやすく、理解しやすい指令として直接カプセル化し、操作がより容易になり、既存の指令の再利用も促進され、効率と成果の向上に大きく貢献します。

一方、プロセスパッケージ型の AddOn は、ユーザーが指令の使い方ではなく、具体的なプロセスの実行に集中できるようにし、学習コストと使用の難易度を低減します。

まとめると、AddOn を使用することでアプリケーションのプログラミング効率を高め、ユーザーの学習コストを削減することができます。

AddOn の基本機能


前述のように、AddOn の基本機能は3つあります:カスタムサービスプラグイン、カスタム指令プラグイン、およびカスタムウェブプラグインです。

これらの機能を実装することで、既存システムに新たな力を与え、ユーザーが必要に応じて新機能をカスタマイズしたり、既存の機能を変更・アップグレードしたりできます。

JAKA アプリ開発チームは、AddOn フレームワークを通じて JAKA 公式アプリパッケージ、プロセスパッケージ、およびプロセスキットを開発し、ユーザーがダウンロードして使用できるようにします。さらに、JAKA の顧客がカスタム機能、サービス、インターフェースを開発するのを支援し、顧客のカスタマイズニーズを満たすことも可能です。

JAKA のパートナーは、AddOn フレームワークを通じてエコシステム標準プラグインを開発し、製品の適応性と使いやすさを強化できます。

JAKA ロボットのエンドユーザーは、AddOn フレームワークを通じてカスタム指令を開発し、よく使う指令をカプセル化して再利用できます。

AddOn の動作メカニズム


  • AddOn カスタムサービス

AddOn のカスタムサービスは node-red に基づいて開発され、コントローラ上で実行されます。AddOn が起動されると、コントローラはその AddOn の node-red プロセスを起動します。カスタムサービスは中間層として機能し、カスタム指令やカスタムウェブにサービスを提供します。node-red に用意されている関連ノードを介して、ロボット情報の照会、ロボットパラメータの設定、ロボットの動作制御が可能です。

  • AddOn カスタム指令

1つのカスタム指令ブロックは、属性、編集ページ、スクリプトの3つの部分で構成され、これらはすべて AddOn 開発ツール(node-red)で定義されます。

アプリが起動すると、AddOn パッケージからカスタム指令ブロックのデータを検索します。見つかった場合、その指令ブロックはプログラムの拡張欄に読み込まれます。

カスタム命令ブロックがプログラムに挿入され、保存または実行をクリックすると、App は AddOn サービスにリクエストを送信し、同時に命令ブロック上のパラメータも送信します。AddOn サービスはリクエストを受け取り、パラメータをカスタム命令のスクリプトに結合して App に返します。最後に、App は受け取ったスクリプトを挿入します。

  • AddOn カスタムウェブページ

カスタムウェブページは通常、JAKA コントローラ上にデプロイされ、Nginx によってプロキシされます。もちろん、個人のコンピュータや他のデバイスにデプロイすることも可能です。

カスタムウェブページは、AddOn カスタムサービスや他のデバイスのサービスにアクセスするだけでなく、JAKA App とも連携し、JAKA App によってウェブページに注入された JavaScript メソッドを介してこの機能を実現します。

AddOn ファイル構成


開発が完了した AddOnXXX パッケージにはさまざまなファイルが含まれる場合があります。以下は最も一般的なものです:

**データファイル ** AddOn パッケージには通常、flows.json ファイルが含まれています。このファイルには node-red 内で定義されたフローやノード情報、つまり AddOn のカスタム命令やカスタムサービスなどが含まれています。このファイル名は自由に設定できますが、構成ファイル内でこのファイルを指す必要があります。

**構成ファイル ** どのタイプの AddOn プラグインも xxx_config.ini ファイル、つまり AddOn 構成ファイルを含む必要があります👈。AddOn 構成ファイルを含んでいる場合にのみ、インストール、初期化、実行が可能です。

**フロントエンドプロジェクト ** カスタムページを含む AddOn ディレクトリには、通常フロントエンドプロジェクトのフォルダ(例:client、dist)が存在します。フロントエンドプロジェクトのフォルダ名は統一して client を使用することをお勧めします。

フィードバック


皆さまからのフィードバックを心よりお待ちしております!

もし文書に誤記や説明が不明瞭な箇所を見つけた場合は、私たちのドキュメントリポジトリで Issue open in new windowを投稿してください。

最終更新日: