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

2 個の投稿 / 0 new
最終投稿
urabe
オフライン
Last seen: 10年 9ヶ月 前
登録日: 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

未定義
Masayuki Shimizu
オフライン
Last seen: なし 前
登録日: 2011-10-28 12:20
[openrtm-users 02303] バッファの初期化方法

静岡大の清水です。

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

onActivated()やonDeactivated()内で、

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

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

以上、お役に立てれば。

清水

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

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

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

Choreonoid

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

OpenHRP3

動力学シミュレータ

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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