[openrtm-users 02302] バッファの初期化方法

2 posts / 0 new
Last post
urabe
Offline
Last seen: 10 years 8 months ago
Joined: 2011-07-07 14:20
[openrtm-users 02302] バッファの初期化方法

電気通信大学大学院の占部と申します.

C++のプログラム上で,コンポーネントのバッファの値を初期化したいのです
が,方法はあるのでしょうか?

複数のコンポーネントを結合し実行させるたびに,異なる結果が出力されてしま
います.同じコンポーネントを使用しているので,同じ結果になるはずです.
前回実行させた際のデータがバッファに残っていることが原因だと思います.
そこで,コンポーネントがDeactivate状態になったときに,バッファの中身を空
にするように記述することができれば問題が解決されると考えました.

ご存知の方いらっしゃいましたら,よろしくお願いします.
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users

Undefined
Masayuki Shimizu
Offline
Last seen: Never ago
Joined: 2011-10-28 12:20
[openrtm-users 02303] バッファの初期化方法

静岡大の清水です。

InPortの場合ですが、私は以下のようにしてます。

onActivated()やonDeactivated()内で、

while(m_DataIn.isNew()) m_DataIn.read();

を実行して、バッファに溜まっている全データを読み出す。
最後に読み出したデータは、ポートにバインドされている変数に格納されているので、最新データが必要な場合は、その変数の値を見る。

以上、お役に立てれば。

清水

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