ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
rtc.confの記述方法に関して1つよく分からない事があります。
いやコンフィギュレーションパラメータのファイルとか他にも分かりづらい部分はあるのですが、それはおいておきます。
通常RTCを起動する際に、
実行ファイル名 -f 設定ファイル名
として起動すると思います。
ここで実行ファイル、設定ファイルは以下のパスにあるとします。
実行ファイル C:\RTCD\rtcd.exe
設定ファイル C:\Conf\rtc.conf
そしてrtc.conf内のmanager.modules.load_pathにはDLL等の存在するディレクトリのパスを指定すると思います。今回はDLLと言う名前のフォルダを指定しているとします。
ここでC:\RTCDで、
rtcd -f ../Conf/rtc.conf
と入力します。
この時どこのディレクトリからモジュールをロードするかと言うと、
C:\RTCD\DLL
になります。
色々ツールを作る中でC:\Conf\DLLのようにコンフィギュレーションファイルの存在するディレクトリからの相対パスで指定できないと不都合が多い事が分かってきました。
僕の認識としては、設定ファイル+コンフィギュレーションパラメータ設定ファイル+各モジュールがセットで、設定ファイルをrtcdで読み込むことでRTCを起動できると思っていたのですが少し違うのですかね?
例えば、Test1とTest2というフォルダがあるとします。
それぞれのフォルダには、
Test1
-rtc.conf
-bin
--test1_1.dll
--test1_2.dll
-conf
--test1_10.conf
--test1_11.conf
--test1_20.conf
Test2
-rtc.conf
-bin
--test2_1.dll
--test2_2.dll
-conf
--test2_10.conf
--test2_20.conf
のように設定ファイル、dll等が入っているとします。
この状態でrtc.confのmanager.modules.load_pathにrtcdからのconfフォルダへのパスを記述するのは直感的に分かりづらいです。
最大の問題はTest1、Test2のフォルダが別の場所に移動してしまった時で、非常に面倒くさいことになります。解決策としてはrtcd.exeの存在するフォルダにパスを通した後Test1、Test2のフォルダまで移動してrtcd -f rtc.confと入力すれば動作はできますが、それはそれでコマンドが増えるのであまり気が進みません。と言うかできれば今いるディレクトリからは移動せずにRTCを起動したいとは思うのですが、都合良くはできていないようです。
それはさておき、今回のツールはPythonと一部C++で実装します。Javaには対応しない予定です。.NETには対応するかもしれないです。
rtcdでRTCを起動するためにrtc.confの作成が必要ですが、言語ごとに作成する必要があるのが面倒です。
rtc.conf設定用GUIを流用するのでGUIの部分は楽ができそうです。
理想としてはEdisonやRaspberry Pi上で動作するRTCに関しても、GUIは別のPCで操作してシングルボードコンピュータ上にシェルスクリプト、設定ファイルを作成するようにしたいです。
まあEdisonでデスクトップをX Windowを動作させてVNC接続する事もできるとは思うので、そちらでGUIを操作しても良いのですがあまりデスクトップ表示させている人もいないしなあ。
多分、かなりイライラする程度の動作の重さにはなると思うのでやめておきます。
おまけですが、コンフィギュレーションパラメータ設定ファイル作成ツールを作りました。いや別にRTCビルダで作成すれば良いのですが、できればRTシステムエディタで起動したRTCのコンフィギュレーションパラメータを変更して、そのパラメータからファイルを作れたら便利だと思うので簡単に作ってみました。使うにはOpenRTM-aistのPython版、rtctreeが必要です。
使い方としては、
python RTCConfSet.py RTCのパス(例えば /localhost/ConfigSample0.rtc)
と言うようにコマンドを入力すれば自動作成してくれます。
あとはこのページのようにファイル作成後にrtc.confに、
カテゴリ名(例えばexample).ConfigSample0.config_file: ./ConfigSample0.conf
を追加すればRTC起動時にコンフィギュレーションパラメータが反映されるようになります。
それからrtc.conf設定用GUIの動的にRTCを起動する、コンフィギュレーションパラメータ設定ファイル自動作成機能を削って、単純にrtc.confを作成するだけのツールを作成しました。ここからダウンロードできます。PyQt4のインストールが必要です。上のツールと合わせて使えば便利かな?とは思います。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
いやコンフィギュレーションパラメータのファイルとか他にも分かりづらい部分はあるのですが、それはおいておきます。
通常RTCを起動する際に、
実行ファイル名 -f 設定ファイル名
として起動すると思います。
ここで実行ファイル、設定ファイルは以下のパスにあるとします。
実行ファイル C:\RTCD\rtcd.exe
設定ファイル C:\Conf\rtc.conf
そしてrtc.conf内のmanager.modules.load_pathにはDLL等の存在するディレクトリのパスを指定すると思います。今回はDLLと言う名前のフォルダを指定しているとします。
ここでC:\RTCDで、
rtcd -f ../Conf/rtc.conf
と入力します。
この時どこのディレクトリからモジュールをロードするかと言うと、
C:\RTCD\DLL
になります。
色々ツールを作る中でC:\Conf\DLLのようにコンフィギュレーションファイルの存在するディレクトリからの相対パスで指定できないと不都合が多い事が分かってきました。
僕の認識としては、設定ファイル+コンフィギュレーションパラメータ設定ファイル+各モジュールがセットで、設定ファイルをrtcdで読み込むことでRTCを起動できると思っていたのですが少し違うのですかね?
例えば、Test1とTest2というフォルダがあるとします。
それぞれのフォルダには、
Test1
-rtc.conf
-bin
--test1_1.dll
--test1_2.dll
-conf
--test1_10.conf
--test1_11.conf
--test1_20.conf
Test2
-rtc.conf
-bin
--test2_1.dll
--test2_2.dll
-conf
--test2_10.conf
--test2_20.conf
のように設定ファイル、dll等が入っているとします。
この状態でrtc.confのmanager.modules.load_pathにrtcdからのconfフォルダへのパスを記述するのは直感的に分かりづらいです。
最大の問題はTest1、Test2のフォルダが別の場所に移動してしまった時で、非常に面倒くさいことになります。解決策としてはrtcd.exeの存在するフォルダにパスを通した後Test1、Test2のフォルダまで移動してrtcd -f rtc.confと入力すれば動作はできますが、それはそれでコマンドが増えるのであまり気が進みません。と言うかできれば今いるディレクトリからは移動せずにRTCを起動したいとは思うのですが、都合良くはできていないようです。
それはさておき、今回のツールはPythonと一部C++で実装します。Javaには対応しない予定です。.NETには対応するかもしれないです。
rtcdでRTCを起動するためにrtc.confの作成が必要ですが、言語ごとに作成する必要があるのが面倒です。
rtc.conf設定用GUIを流用するのでGUIの部分は楽ができそうです。
理想としてはEdisonやRaspberry Pi上で動作するRTCに関しても、GUIは別のPCで操作してシングルボードコンピュータ上にシェルスクリプト、設定ファイルを作成するようにしたいです。
まあEdisonでデスクトップをX Windowを動作させてVNC接続する事もできるとは思うので、そちらでGUIを操作しても良いのですがあまりデスクトップ表示させている人もいないしなあ。
多分、かなりイライラする程度の動作の重さにはなると思うのでやめておきます。
おまけですが、コンフィギュレーションパラメータ設定ファイル作成ツールを作りました。いや別にRTCビルダで作成すれば良いのですが、できればRTシステムエディタで起動したRTCのコンフィギュレーションパラメータを変更して、そのパラメータからファイルを作れたら便利だと思うので簡単に作ってみました。使うにはOpenRTM-aistのPython版、rtctreeが必要です。
使い方としては、
python RTCConfSet.py RTCのパス(例えば /localhost/ConfigSample0.rtc)
と言うようにコマンドを入力すれば自動作成してくれます。
あとはこのページのようにファイル作成後にrtc.confに、
カテゴリ名(例えばexample).ConfigSample0.config_file: ./ConfigSample0.conf
を追加すればRTC起動時にコンフィギュレーションパラメータが反映されるようになります。
それからrtc.conf設定用GUIの動的にRTCを起動する、コンフィギュレーションパラメータ設定ファイル自動作成機能を削って、単純にrtc.confを作成するだけのツールを作成しました。ここからダウンロードできます。PyQt4のインストールが必要です。上のツールと合わせて使えば便利かな?とは思います。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
PR
この記事にコメントする