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

3 posts / 0 new
Last post
root
Offline
Last seen: 4 days 15 hours ago
Joined: 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) 相手のコンポーネントを得る方法は他にありますでしょうか?

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

Undefined
root
Offline
Last seen: 4 days 15 hours ago
Joined: 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
Offline
Last seen: 4 days 15 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 00412] PortProfileのownerメンバ

産総研 栗原様

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

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

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

Log in or register to post comments

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK