[openrtm-users 00285] Re: TimedDoubleSeq型ポートで長さ1のときの不具合
Masayuki Shimizu
masayuki.shimizu @ aist.go.jp
2007年 11月 29日 (木) 16:55:57 JST
産総研 清水です。
SimpleIOのデータ型をTimedDoubleSeqにして、
length(1)のデータの送受信をしてみましたが、
こちらでは問題ありませんでした。
ミドルウェアのバグかどうか切り分けのために、
お手数ですが、SimpleIOを以下のように改造して、
試してみて頂けないでしょうか?
もし、これで同様の症状が出るようであれば、
具体的な使用方法等を御報告ください。
[テストコード]
- ConsoleIn:
RTC::ReturnCode_t ConsoleIn::onExecute(RTC::UniqueId ec_id){
m_out.data.length(1);
m_out.data[0] = ((double)dummy)/1000.0;
m_outOut.write(m_out);
dummy++;
return RTC::RTC_OK;
}
- ConsoleOut:
RTC::ReturnCode_t ConsoleOut::onExecute(RTC::UniqueId ec_id){
m_inIn.read();
if(m_in.data.length() != 1) return RTC::RTC_ERROR;
std::cout << "Received: " << m_in.data[0] << std::endl;
return RTC::RTC_OK;
}
On Wed, 28 Nov 2007 23:31:17 +0900
Shinichiro NAKAOKA <s.nakaoka @ aist.go.jp> wrote:
>
> 産総研の中岡です。
>
> OpenHRPのコントローラブリッジで、センサ値や指令値のやりとりに
> TimedDoubleSeq型のポートを使っているのですが、この配列の長さがちょうど1
> のときに、ポート間で正しくデータがやりとりされません。(ゴミのような値に
> なってしまいます。)
>
> 同じプログラムで長さが2以上の場合、正常に動作します。
>
> OpenRTMのバグかもしれないので、症状をご確認いただければ幸いです。
> よろしくお願いします。
>
>
> --
> 中岡 慎一郎 <s.nakaoka @ aist.go.jp>
> 産業技術総合研究所 知能システム研究部門
> ヒューマノイド研究グループ
> Phone: 029-861-5161 Fax: 029-861-5444
>
>
--------------------
Masayuki Shimizu
Postdoctoral Fellow
Task Intelligence Research Group
Intelligent Systems Research Institute
National Institute of
Advanced Industrial Science and Technology (AIST)
Central 2, 1-1-1, Umezono, Tsukuba, Ibaraki 305-8568, JAPAN
Tel: +81-29-861-5952
Fax: +81-29-861-5971
Email: masayuki.shimizu @ aist.go.jp
chaser @ ieee.org
URL: http://unit.aist.go.jp/is/taskint/
openrtm-users メーリングリストの案内