[openrtm-users 00408] PortProfileのownerメンバ

3 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 3日 50分 前
登録日: 2009-06-23 14:31
[openrtm-users 00408] PortProfileのownerメンバ

安藤様

たびたび申し訳ありません。
エスキューブドの佐藤です。

PortProfileのownerメンバについて質問があります。

現在、コンポーネントのポートから相手のポートのPortProfile#ownerにアクセ
スすることで相手のコンポーネントを取得するというコードを書いています。し
かしながら、ownerメンバは常にnilとなっています。

また、PortBase#setOwnerメソッドでownerをセットするように見えますが、
OpenRTM 0.4.1のコード中ではこのメソッドを使用していません。

つきましては以下の2つの質問にお答えいただけないでしょうか?

1) ownerメンバを得る方法はこれで問題ありませんでしょうか?

2) 相手のコンポーネントを得る方法は他にありますでしょうか?

お教えいただければ幸いです。

未定義
root
オフライン
Last seen: 3日 50分 前
登録日: 2009-06-23 14:31
[openrtm-users 00409] PortProfileのownerメンバ

スキューブド 佐藤様

お世話になっております。
産総研 栗原です。

PortProfileのownerがnilになっている件ですが、ご指摘の通りOpenRTM-aist-0.4.1
リリース版の実装ではownerのセットが行われておりません。

お手数ですが、RTObject.cppのregisterPort(PortBase& port)メソッドを下記のよう
に変更後、make -> make install にて対処していただけますでしょうか?

// file: RTObject.cpp line: 1053
void RTObject_impl::registerPort(PortBase& port)
{
m_portAdmin.registerPort(port);
port.setOwner(this->getObjRef()); // <--- この一行を追加
return;
}

> 1) ownerメンバを得る方法はこれで問題ありませんでしょうか?
こちらでも、上記修正を行い、同様の方法にて相手のコンポーネントを取得して
おります。
手順としましては、
1. ConnectorProfileより、相手ポートオブジェクトを取得。
2. 1.で取得したオブジェクトのget_port_profile()にて相手のPortProfileを取得。
(PortProfileに相手ポートのオブジェクトが格納されている。)
です。

# このバグに関しましては、後程、OpenRTMオフィシャルサイトのToDo > バグにア
# ップさせて頂きます。

以上、お手数お掛け致しますが、宣しくお願い致します。

> 安藤様
>
> たびたび申し訳ありません。
> エスキューブドの佐藤です。
>
> PortProfileのownerメンバについて質問があります。
>
> 現在、コンポーネントのポートから相手のポートのPortProfile#ownerにアクセ
> スすることで相手のコンポーネントを取得するというコードを書いています。し
> かしながら、ownerメンバは常にnilとなっています。
>
> また、PortBase#setOwnerメソッドでownerをセットするように見えますが、
> OpenRTM 0.4.1のコード中ではこのメソッドを使用していません。
>
> つきましては以下の2つの質問にお答えいただけないでしょうか?
>
> 1) ownerメンバを得る方法はこれで問題ありませんでしょうか?
>
> 2) 相手のコンポーネントを得る方法は他にありますでしょうか?
>
> お教えいただければ幸いです。
>

root
オフライン
Last seen: 3日 50分 前
登録日: 2009-06-23 14:31
[openrtm-users 00412] PortProfileのownerメンバ

産総研 栗原様

お世話になっております。
エスキューブドの佐藤です。

> お手数ですが、RTObject.cppのregisterPort(PortBase& port)メソッドを下記のよう
> に変更後、make -> make install にて対処していただけますでしょうか?
お教えいただいた変更を加えたOpenRTM-aistを使用して、ownerメンバがセット
されることが確認できました。

ありがとうございました。

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

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

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

Choreonoid

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

OpenHRP3

動力学シミュレータ

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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