[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 メーリングリストの案内