[openrtm-users 01043] OutPortを持つJava版RTCの生成について

3 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 10時間 8分 前
登録日: 2009-06-23 14:31
[openrtm-users 01043] OutPortを持つJava版RTCの生成について

OpenRTM MLの皆様

お世話になっております。
アイ・テー・シーの村上と申します。

未定義
root
オフライン
Last seen: 10時間 8分 前
登録日: 2009-06-23 14:31
[openrtm-users 01044] OutPortを持つJava版RTCの生成について

*途中で送信してしまった為、再送させていただきます。

OpenRTM MLの皆様

お世話になっております。
アイ・テー・シーの村上と申します。

RTC BuilderでOutPortを持つコンポーネントを生成し、
他コンポーネントを繋げるとErrorになってしまいました。

調査の結果、生成された状態では以下のように初期化
されていないためと判明しました。

生成された状態
 m_out_val = new TimedDouble();

正しくは
m_out_val = new TimedDouble(new RTC.Time(0,0),0);

取り敢えず報告まで。

また、C++のサンプルコンポーネントについてですが、
現在exeファイルのみの配布となっていますが、ソース
もあわせて配布していただけると私のような初心者には
良いかと思います。

以上、宜しくお願いいたします。

root
オフライン
Last seen: 10時間 8分 前
登録日: 2009-06-23 14:31
[openrtm-users 01045] OutPortを持つJava版RTCの生成について

アイ・テー・シー 村上様

お世話になっております。
産総研 片見です

ご報告ありがとうございます。

> RTC BuilderでOutPortを持つコンポーネントを生成し、
> 他コンポーネントを繋げるとErrorになってしまいました。
Errorは、コンポーネント接続して、write() をコールした場合に
発生している思います。

原因としましては、
初期化されていない TimedDouble を write() した場合、
TimedDouble のメンバーに null が含まれているため
マーシャル時にエラーが発生します。
これは、TimedDouble に限らず、
オブジェクトに初期化されていないメンバーある場合には、
マーシャル時にエラーが発生します。

> 生成された状態
>  m_out_val = new TimedDouble();
>
> 正しくは
> m_out_val = new TimedDouble(new RTC.Time(0,0),0);
RTC Builder により生成されるコードですが、
RTC Builder では、
コンポーネントで使用するクラスを
どのような値での初期化するかを
判定することはできないため、
初期化処理はユーザに委ねています。

大変、お手数なのですが、
RTC Builder が生成したコードに
初期化処理を追加するようにお願いいたします。

> また、C++のサンプルコンポーネントについてですが、
> 現在exeファイルのみの配布となっていますが、ソース
> もあわせて配布していただけると私のような初心者には
> 良いかと思います。
ご指摘ありがとうございます。
ご指摘のとおり、
Windowsインストーラではソースコードは配布されません。
しかしながら、
以下 url の「ソースコード・パッチ等」から
ソースコードが入手できますので、
お手数ですが、
そちらからダウンロードして頂きますようお願いいたします。

よろしくお願いいたします。

On Tue, 22 Dec 2009 17:27:27 +0900
Tetsutaro Murakami wrote:

> *途中で送信してしまった為、再送させていただきます。
>
> OpenRTM MLの皆様
>
> お世話になっております。
> アイ・テー・シーの村上と申します。
>
> RTC BuilderでOutPortを持つコンポーネントを生成し、
> 他コンポーネントを繋げるとErrorになってしまいました。
>
> 調査の結果、生成された状態では以下のように初期化
> されていないためと判明しました。
>
> 生成された状態
>  m_out_val = new TimedDouble();
>
> 正しくは
> m_out_val = new TimedDouble(new RTC.Time(0,0),0);
>
> 取り敢えず報告まで。
>
> また、C++のサンプルコンポーネントについてですが、
> 現在exeファイルのみの配布となっていますが、ソース
> もあわせて配布していただけると私のような初心者には
> 良いかと思います。
>
> 以上、宜しくお願いいたします。
>
>

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2209
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク