»プラグインシステムプラグインシステム¶プラグインとはプラグインの例プラグイン間の依存関係プラグインファイルプラグインのビルドプラグインの開発プラグインとは¶Choreonoidでは追加プログラムモジュールを導入することで新しい機能を追加できるようになっており、これを「プラグイン」と呼んでいます。実際のところは、Choreonoidが標準で備えている機能の多くもプラグインとして実装されています。プラグインが追加する機能にはいろいろな形態が考えられますが、一般的には新しい種類のアイテムやビュー、ツールバーといったものを追加して、それらを用いて新しいデータを扱えるようにしたり、新しい操作・編集インタフェースを使えるようにしたりするものだと思ってもらえればよいかと思います。以下にChoreonoidが標準で提供しているプラグインのいくつかを紹介します。このように、基本的な機能から特殊な機能まで、多様な機能がプラグインとして提供されています。プラグイン概要Bodyプラグインロボットや物体のモデルを扱うための基本的な機能を提供するプラグイン。ロボットモデルの表示、位置や姿勢の編集、動力学シミュレーション等に関わるアイテムクラスやビューを定義しています。PoseSeqプラグインキーフレームによるロボットの動作振り付けを行う機能をまとめたプラグイン。BalancerプラグインPoseSeqプラグインによる動作振り付けに、二足歩行ロボットのためのバランス自動補正機能を追加するプラグイン。PythonプラグインChoreonoid上でPythonスクリプトを実行するためのプラグイン。Pythonスクリプトにより、Choreonoidの操作を自動化したりすることができます。PythonSimScriptプラグインPythonスクリプトをシミュレーションの実行と連動させるためのプラグイン。MediaプラグインChoreonoid上で音声や動画のファイルを再生するためのプラグイン。プラグイン間の依存関係¶プラグインの中には、他のプラグインの機能を必要とするものもあります。この場合、プラグインの間に依存関係が生じます。上記のプラグインについて依存関係を図示すると以下のようになります。ここでは矢印の向かう方向に依存があることを示しています。PoseSeqプラグインはBodyプラグインに依存しており、利用の際にはBodyプラグインも読みこまれていなければなりません。BalancerプラグインはPoseSeqプラグインに依存しているので、利用の際にはPoseSeqプラグインとBodyプラグインが必要になることになります。PythonSimScriptプラグインについては、BodyプラグインとPythonプラグインに並列に依存しています。一方で、Bodyプラグイン、Pythonプラグイン、Mediaプラグインについてはそれら自体は他のプラグインを必要とせずに読み込むことが可能です。プラグインの依存関係については、通常プラグインをビルドする際に依存しているプラグインもビルドされますので、ユーザが特別気にする必要はありません。プラグインがうまく読み込めないといった時には、依存しているプラグインがうまくインストールされていないということも有り得ますので、このような依存関係も知っておくとよいかと思います。注釈そのためには、利用可能なプラグインの一覧やプラグイン間の依存関係を表示する機能がChoreonoidにあるとよいのですが、まだそのような機能はありませんので、今のところはそのような情報はマニュアルを通して知る必要があります。プラグイン情報を表示する機能については、今後実現したいと考えています。プラグインの依存関係からも分かるように、Choreonoidではプラグインが他のプラグインの機能を利用しながら、追加の機能を提供できるようになっています。このようにすることで、新たな機能を効率的に開発することができますし、開発した機能がユーザにとって既存の機能と同様に操作できるようになることも期待できます。プラグインファイル¶プラグインは「共有ライブラリ」もしくは「ダイナミックリンクライブラリ」という形式のバイナリファイルとなっており、通常Choreonoidのプラグインディレクトリに格納されています。いうディレクトリになります。ところにはChoreonoidのバージョン番号が入ります。つくファイル名となります。いうファイル名になります。いうファイル名になります。プラグインディレクトリに格納されているプラグインファイルは、Choreonoid起動時に自動で読みこまれて利用可能になります。所定のプラグインがうまく読みこまれない場合は、そのプラグインファイル(依存プラグインがあればそれも含めて)がプラグインディレクトリに正しく配置されているかを確認してください。注釈Choreonoidをソースからビルドして利用している場合、ソースを更新して再ビルド、インストールをする際には注意が必要です。以前ビルドしたプラグインが全て更新・インストールされるのならば問題ありません。場合によってはプラグインが廃止になったり、名前が変わっていたりする場合もあり得ます。CMakeのビルド設定でビルドするプラグインの構成を変えることもあるかと思います。そのような場合に、ビルドしなくなったプラグインのファイルも、ビルドディレクトリやインストール先のディレクトリに残ってしまい、Choreonoid起動時に読みこまれてしまうことになります。その内容は古くなっているため、Choreonoidのクラッシュを引き起こす等の問題を起こすことがあります。従って、ソースの更新後にビルドするプラグインの構成が変わる場合、特にChoreonoidの挙動がおかしくなった場合は、一度プラグインディレクトリ内のプラグインファイルを全て削除してからインストールをし直すことが推奨されます。プラグインのビルド¶Choreonoidではいくつかのプラグインが標準でビルド・インストールされますが、他にオプションで用意されているプラグインもあります。Choreonoid本体とは別に配布されているプラグインを利用したい場合もあるでしょう。そのような場合には、利用したいプラグインのビルド・インストールを行っておく必要があります。説明がありますので、そちらを参照の上ビルドを行なってください。いうオプション(XXXはプラグイン名)をオンにしてビルドすればOKです。本体とは別に配布されているプラグインについては、そちらの説明に従ってビルドとインストールを行なってください。プラグインの開発¶プラグインを開発することで、新たな機能をChoreonoidに追加することも可能です。実際にユーザが新たにプラグインを開発することで、今まで以下のような機能の実現や応用に利用されてきた実績があります。»プラグインシステム。