[openrtm-users 00305] Re: TimedDoubleSeq型ポートで長さ1のときの不具合

Shinichiro NAKAOKA s.nakaoka @ aist.go.jp
2007年 12月 6日 (木) 23:03:47 JST


産総研の中岡です。

先週私が質問した件ですが、その後の返答が遅くなってしまいすみません。

佐々木さんより omniORB 4.0.6 の不具合の件が投稿されていましたが、私も
UbuntuでomniORB 4.0.6 でしたので、omniORBを 4.0.7 にあげたところ、不具合
が直りました。

というわけで今回の私が遭遇した不具合をまとめますと、
omniORB 4.0.6 で OpenRTM の TimedDoubleSeq ポートを使うと、シーケンスの
長さが 1 のときは値がおかしくなるが、2以上の時は大丈夫(実際には長さ2と
29で確認)、omniORB 4.0.7 では長さ1でも大丈夫、ということになります。

清水さん、安藤さん、ご対応ありがとうございました。
また、佐々木さんの情報で原因が分かりました。
ありがとうございました。


"Ando Noriaki" <n-ando @ aist.go.jp> wrote:
> 安藤です
> 
> 調査ありがとうございます>清水さん
> 
> >中岡様
> 
> シーケンス型にデータを入れるときに、あらかじめlengthを1にセットしてま
すか?
> 受け取ったデータのlength()はいくつになっていますでしょうか?
> そのあたりもおしえていただけませんか。
> 
> よろしくお願いいたします。
> 
> 
> 07/11/29 に Masayuki Shimizu<masayuki.shimizu @ aist.go.jp> さんは書きま
した:
> > 産総研 清水です。
> >
> > 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/
> >
> >
> 
> 
> -- 
> 安藤慶昭@独立行政法人産業技術総合研究所 研究員
>                    知能システム研究部門 タスクインテリジェンス研究グル
ープ
>                    〒305-8568 茨城県つくば市梅園1-1-1 中央第2
>                    TEL: 029-861-5981 FAX: 029-861-5971
>                    n-ando @ aist.go.jp, n-ando @ ieee.org


--
中岡 慎一郎 <s.nakaoka @ aist.go.jp>
産業技術総合研究所 知能システム研究部門
ヒューマノイド研究グループ
Phone: 029-861-5161  Fax: 029-861-5444




openrtm-users メーリングリストの案内