RTC Builder: チケット
https://www.openrtm.org/redmine/
https://www.openrtm.org/redmine/redmine/favicon.ico
2012-01-23T01:08:09Z
Redmine for OpenRTM-aist
Redmine
バグ #2330 (終了): 自動ビルドツールのJenkinsへの対応(RTCB)
https://www.openrtm.org/redmine/issues/2330
2012-01-23T01:08:09Z
kurihara
shinji0608@gmail.com
<p>Jenkinsからビルド、パッケージングまで行えるようにする。</p>
バグ #1562 (終了): サービスポートのサーバントクラスのメソッドの宣言に関する問題
https://www.openrtm.org/redmine/issues/1562
2010-06-03T09:43:34Z
kurihara
shinji0608@gmail.com
<p>IDLファイルにてstructを扱うオペレーションを定義した場合、RTCBにて生成されるコードに不具合があり、コンパイルエラーとなる。</p>
<p>以下は、メーリングリスト[openrtm-users 01258]にて報告された内容を引用。<br /><pre>
たとえば,以下のidlファイルに対して,
--------------------------------
struct Frame {
double mat[3][3];
double pos[3];
};
interface ComFk {
void set_tool(in Frame frm);
};
---------------------------------
RTCBuilderでは,スケルトンのテンプレート xxxx_impl.h で
void set_tool(Frame frm);
のようなコードが生成されます.本来これは
void set_tool(const Frame& frm);
となるべきだと思います.
</pre></p>
<p>なお、この件については、戻り値とoutパラメータがstructの場合にも不具合がある。<br />(戻り値とoutパラメータは、structが固定長構造体かそうでないかによっても変わるため注意が必要。)</p>
バグ #1528 (終了): コンフィギュレーションタブのデータ型でリストアップされる型をプリミティブ型(+string)だけにする。
https://www.openrtm.org/redmine/issues/1528
2010-05-25T05:58:03Z
kurihara
shinji0608@gmail.com
<p>現在、コンフィギュレーションタブのデータ型では、RTMのIDLで定義されているデータ型がプルダウンメニューにリストアップされるが、これらのIDLで定義された型は表示せずに、プリミティブ型(bool,char,byte,short,int,long,float,double)+stringだけをリストアップするようにする。<br />また、いままで同様、型を直接入力できる機能は残しておく。</p>
機能 #1525 (終了): [Python] IDLコンパイルが必要なRTCの場合、IDLコンパイルを行うためのbat、およびシェルスクリプトを生成するようにする。
https://www.openrtm.org/redmine/issues/1525
2010-05-24T08:36:44Z
kurihara
shinji0608@gmail.com
<p>#1499に関連して、スタブ・スケルトンを生成しない代わりに、サービスポートを持つRTCなどのように、IDLコンパイルが必要なRTCの場合、IDLコンパイルを行うための以下のようなbat、およびシェルスクリプトを生成するようにする。</p>
<a name="IDLファイルの名前がMyServiceidl-YourServiceidlの場合"></a>
<h3 >IDLファイルの名前が、MyService.idl, YourService.idlの場合<a href="#IDLファイルの名前がMyServiceidl-YourServiceidlの場合" class="wiki-anchor">¶</a></h3>
<ul>
<li>idlcompile.bat</li>
</ul>
<pre>
omniidl.exe -bpython MyService.idl YourService.idl
</pre>
<ul>
<li>idlcompile.sh</li>
</ul>
<pre>
#!/bin/sh
omniidl -bpython MyService.idl YourService.idl
</pre>
バグ #1523 (終了): [Python] サービスプロバイダーポートを持つRTCでのサーバントのインスタンス化処理の問題
https://www.openrtm.org/redmine/issues/1523
2010-05-24T06:22:09Z
kurihara
shinji0608@gmail.com
<p>サービスプロバイダーポートを持つRTCのサーバントのインスタンス化処理で、<module>名.<Interface名>_i() のようにIDLで定義されたモジュール名付きでインスタンス化されているため、RTCの生成に失敗する。 (使用したRTCBのリビジョン: <a class="changeset" title="RTCB updates. - idl module. - delete 0.4.1 code." href="https://www.openrtm.org/redmine/projects/rtcbuilder/repository/revisions/120">r120</a> )</p>
<p>以下のようなIDLファイルの場合、<br /><pre>
module SimpleService {
typedef sequence<string> EchoList;
typedef sequence<float> ValueList;
interface MyService
{
string echo(in string msg);
EchoList get_echo_history();
void set_value(in float value);
float get_value();
ValueList get_value_history();
};
};
</pre></p>
<p>コンストラクタでのサービスポートのサーバントのインスタンス化処理で、下記のようなコードとなっている。<br /><pre>
self._prov_val = SimpleService.MyService_i()
</pre></p>
<p>MyService_iクラスは、SimpleService.MyService(IDLで定義したインターフェース)の実装クラスであるため、<br />SimpleServiceは必要なく、下記のようにしてインスタンス化を行う。</p>
<pre>
from MyService_idl_example import *
self._prov_val = MyService_i()
</pre>
バグ #1522 (終了): [Python] 生成されるコードで、デフォルトコンフィギュレーションのリストの名前を小文字にする
https://www.openrtm.org/redmine/issues/1522
2010-05-24T05:19:14Z
kurihara
shinji0608@gmail.com
<p>生成されるコードのデフォルトコンフィギュレーションのリストの名前を小文字にする。</p>
<p>SampleというRTCを生成した場合、デフォルトコンフィギュレーションのリスト名が以下のようにモジュール名と同じになっているが、このリスト名を全て小文字とする。</p>
<pre>
Sample_spec = ["implementation_id", "Sample",
"type_name", "Sample",
"description", "This is sample component.",
"version", "0",
"vendor", "AIST RTM",
"category", "examples",
"activity_type", "STATIC",
"max_instance", "100",
"language", "Python",
"lang_type", "SCRIPT",
"conf.default.int_0", "3",
"conf.default.int_1", "5",
"conf.default.float_0", "1.0",
"conf.__widget__.int_0", "slider.1",
"conf.__widget__.int_1", "slider.0.1",
"conf.__widget__.float_0", "slider.0.01",
"conf.__constraints__.int_0", "0<x<100",
"conf.__constraints__.int_1", "0<x<10",
"conf.__constraints__.float_0", "-0.123<x<123.45",
""]
</pre>
<p>以下のように、リスト名を小文字にする。<br /><pre>
sample_spec = ["implementation_id", "Sample",
"type_name", "Sample",
"description", "This is sample component.",
"version", "0",
"vendor", "AIST RTM",
"category", "examples",
"activity_type", "STATIC",
"max_instance", "100",
"language", "Python",
"lang_type", "SCRIPT",
"conf.default.int_0", "3",
"conf.default.int_1", "5",
"conf.default.float_0", "1.0",
"conf.__widget__.int_0", "slider.1",
"conf.__widget__.int_1", "slider.0.1",
"conf.__widget__.float_0", "slider.0.01",
"conf.__constraints__.int_0", "0<x<100",
"conf.__constraints__.int_1", "0<x<10",
"conf.__constraints__.float_0", "-0.123<x<123.45",
""]
</pre></p>
<p>このリスト名は、<RTC名>Init()関数内で使用しているため、<RTC名>Init()内の”defaults_str=Sample_spec”の箇所も小文字にする必要がある。</p>
機能 #1518 (終了): Python用の生成されるコードで、MyModuleInit()を<RTC名>Init()とMyModuleInit()に分ける。
https://www.openrtm.org/redmine/issues/1518
2010-05-21T09:57:54Z
kurihara
shinji0608@gmail.com
<p>Python用の生成されるコードで、MyModuleInit()を<RTC名>Init()とMyModuleInit()に分ける。</p>
<p>現在のバージョン<br /><pre>
def MyModuleInit(manager):
profile = OpenRTM_aist.Properties(defaults_str=foo_spec)
manager.registerFactory(profile,
foo,
OpenRTM_aist.Delete)
# Create a component
comp = manager.createComponent("foo")
</pre></p>
<p>変更後<br /><pre>
def fooInit(manager):
profile = OpenRTM_aist.Properties(defaults_str=foo_spec)
manager.registerFactory(profile,
foo,
OpenRTM_aist.Delete)
def MyModuleInit(manager):
fooInit(manager)
# Create a component
comp = manager.createComponent("foo")
</pre></p>
バグ #1516 (終了): 生成したjava言語コードでIDLコンパイル時にコンパイルエラーがでる
https://www.openrtm.org/redmine/issues/1516
2010-05-21T02:51:58Z
kurihara
shinji0608@gmail.com
<p>サービスポートを持つRTCを作成する場合、サービスポートタブにて"IDLパス"にて空白を含むパスを指定した場合、RTCのビルド時にidlcompileでエラーでる。</p>
<p>build_Sample.xmlのidlcompileのタグ内の"<arg line="-i <パス> -fall MyService.idl"/>"の箇所にて、パスをシングルクォートで囲む事でエラーはでなくなる事を確認。</p>
<ul>
<li>モジュール名:Sample</li>
</ul>
<ul>
<li>IDLファイル:MyService.idl</li>
</ul>
<ul>
<li>インターフェース型: SimpleService::MyService</li>
</ul>
<ul>
<li>ビルド方法: Eclipseの パッケージ・エクスプローラーからbuild_Sample.xmlを右クリックし、"Ant ビルド"を実行</li>
</ul>
<ul>
<li>エラー内容</li>
</ul>
<pre>
idlcompile:
[exec] com.sun.tools.corba.se.idl.InvalidArgument: 不正な引数: and
[exec] コンパイラの使い方:
[exec] java com.sun.tools.corba.se.idl.toJavaPortable.Compile [options] <idl file>
[exec] <idl file> は IDL 定義が格納されたファイルの名前です。
[exec] [options] は以下に示すオプションの組み合わせです。
[exec] これらのオプションは省略可能で、任意の順序で使用できます。
[exec] ただし <idl file> は必須で、最後に指定する必要があります
(略)
</pre>
<pre>
[環境]
OS: WindowsXP
Eclipse: 3.4.2
Java: 1.6.0_17
RTSE,RTCB: dailybuild r114
</pre>
調査 #1504 (終了): 生成されたRTCをビルドするためのbuild.xml内でのidljのパスの問題
https://www.openrtm.org/redmine/issues/1504
2010-05-19T00:56:42Z
kurihara
shinji0608@gmail.com
<p>生成されたRTCのbuild_<RTC名>.xml内にてidljのパスが下記のようになっているため、RTCのビルド時にエラーとなる。</p>
<pre>
<target name="idlcompile" depends="mkdir">
<exec executable="${java.home}\..\bin\idlj">
</pre>
<p>${java.home}\..\bin\にはidljは存在しない。<br />idljは${java.home}\binに存在する。</p>
<pre>
[環境]
OS: WindowsXP
Eclipse: 3.4.2
Java: 1.6.0_17
RTSE,RTCB: dailybuild r114
</pre>
バグ #1499 (終了): Python用のコード生成で使用されるomniORBpyのバージョン
https://www.openrtm.org/redmine/issues/1499
2010-05-18T05:53:37Z
kurihara
shinji0608@gmail.com
<p>サービスポートを持つRTCのPython用のコード生成を行う場合、_GlobalIDL/__init__.py、_GlobalIDL__POA/__init__.pyの記述内容がomniORBpy-2系用になっている。</p>
<p>以下は、_GlobalIDL/__init__.pyの内容</p>
<pre>
# DO NOT EDIT THIS FILE!
#
# Python module _GlobalIDL generated by omniidl
# ** 1. Stub files contributing to this module
import MyService_idl
# ** 2. Sub-modules
# ** 3. End
</pre>
<p>自分の環境(omniORBpy-3.4)にて再度同じIDLファイルをomniidlにてIDLコンパイルした場合は、__init__.pyは下記のようになる。<br /><pre>
# DO NOT EDIT THIS FILE!
#
# Python module _GlobalIDL__POA generated by omniidl
import omniORB
omniORB.updateModule("_GlobalIDL__POA")
# ** 1. Stub files contributing to this module
import MyService_idl
# ** 2. Sub-modules
# ** 3. End
</pre></p>
<p>(RTCBにて生成時に、omniORBpy-2.7のidlコンパイラが使用されている???)</p>
<p>omniORBpy-2系の__init__.pyでは、"MyService_idl"だけをimportするのに対し、omniORBpy-3系の__init__.pyでは、"omniORB.updateModule("_GlobalIDL__POA")というのが追加されているため、omniORBpy-3系がインストールされている環境では、RTCBで生成されたコードを実行するとエラーとなる。</p>
<pre>
[環境]
OS: WindowsXP
Eclipse: 3.4.2
Java: 1.6.0_17
RTSE,RTCB: dailybuild r114
</pre>
バグ #1497 (終了): 複数のサービスポートを持たせる場合、そのRTC内で同じインターフェース名を付ける事ができない。
https://www.openrtm.org/redmine/issues/1497
2010-05-17T10:24:25Z
kurihara
shinji0608@gmail.com
<p>サービスポートを2つ持つRTCを作成する場合、それぞれのポートにおいて、例えば、"myservice"などのような同じインターフェース名をつけることができない。</p>
<p>同じ名前をつけようとした場合、コード生成時に"ProviderもしくはConsumerに同じ名前が存在します。:Sample2"のようなエラーダイアログがでる。</p>
<p>変数名は、重複していてもエラーにはならない。</p>
<p>(インターフェース名は重複していてもいいが、変数名は重複を許してほしくない。)</p>
バグ #1489 (終了): RTCのソースコード内のModule specificationにexec_cxt.periodic.rateが書かれている。
https://www.openrtm.org/redmine/issues/1489
2010-05-14T09:54:38Z
kurihara
shinji0608@gmail.com
<p>「基本」タブの"実行周期"で周期を指定した場合、<コンポーネント名>.confではなく、生成されたソースコードのデフォルトコンフィギュレーションに"exec_cxt.periodic.rate"が挿入されている。</p>
<p>また、「コンフィギュレーション」タブの"RT-Component Configuration Parameter"で記述した内容もソースコードのデフォルトコンフィギュレーションに追記されている。</p>
<pre>
[環境]
OS: WindowsXP
Eclipse: 3.4.2
Java: 1.6.0_17
RTSE,RTCB: dailybuild r114
</pre>
バグ #1488 (終了): READMEの内容に関する問題
https://www.openrtm.org/redmine/issues/1488
2010-05-14T09:05:27Z
kurihara
shinji0608@gmail.com
<p>READMEの内容に下記にあげる不具合がある。(”C++”用のコードを生成)</p>
<pre>
[環境]
OS: WindowsXP
Eclipse: 3.4.2
Java: 1.6.0_17
RTSE,RTCB: dailybuild r114
</pre>
<ol>
<li>Basic Informationの箇所で、Lang Typeが空となっている。</li>
<li>Portに関する箇所で、PortType,MaxOut,Name(Data Elements), RangeLow, RangeHigh, DefaultValue,が空となっている。(RTCBで指定していないから当然?)</li>
<li>Configuration definitionの箇所で、Name, DefaultValue, が重複している。(Detailで記述した値とDocumentationで記述した値)</li>
</ol>
バグ #1487 (終了): 基本タブの"パッケージ化"ボタンでパッケージングされるファイル
https://www.openrtm.org/redmine/issues/1487
2010-05-14T08:29:41Z
kurihara
shinji0608@gmail.com
<p>基本タブの"パッケージ化"ボタンでパッケージングされるファイルに下記のファイルが含まれない。<br />(パッケージ化のダイアログでは、"アーカイブ方式":ソース, "オプション":ZIPフォーマットで保管,選択したディレクトリのみ作成,ファイルの内容を圧縮, を選択。)</p>
<ol>
<li>copyprops.bat</li>
<li>Makefile</li>
<li>IDLファイル</li>
<li>README</li>
<li>user_config.vsprops</li>
</ol>
<p>また、"パッケージ化"ボタンで表示されるダイアログに"RTコンポーネント エクスポート"と表示されていたのも気になった。</p>
<pre>
[環境]
OS: WindowsXP
Eclipse: 3.4.2
Java: 1.6.0_17
RTSE,RTCB: dailybuild r114
</pre>
機能 #1485 (終了): コンフィギュレーションタブのヒント
https://www.openrtm.org/redmine/issues/1485
2010-05-14T08:18:33Z
kurihara
shinji0608@gmail.com
<ul>
<li>コンフィギュレーションタブの入力欄の項目とヒントがマッチしていないものがある。</li>
<li>"RT-Component Configuration Parameter"に関するヒントがない。</li>
</ul>
<pre>
[環境]
OS: WindowsXP
Eclipse: 3.4.2
Java: 1.6.0_17
RTSE,RTCB: dailybuild r114
</pre>