[openrtm-users 01188] Re: ExtendedDataTypes.idl

Geoffrey Biggs geoffrey.biggs @ aist.go.jp
2010年 4月 14日 (水) 07:17:39 JST


清水様

産総研のジェフです。

もう一つの点ですが、今年の3月、ヨーロッパのOrocosの開発者と相談して、
OrocosもCommon data typesに興味があります。Orocosの開発者とROSの開発者と
この話題について相談しました。まだ決定はありませんが、全部のフレームワー
クは同じデータ型を使うようにしたがります。そのために、一つのフレームワー
クに含めなくて、違うところから取るデータ型を作るに考えています。でも、皆
の賛成をいただくことは難しいからそこまでできるかどうかまだ分かりません。


On 14/04/10 06:57, Geoffrey Biggs wrote:
> 清水様
> 
> 産総研のジェフです。
> 
> ExtendedDataTypes.idlとInterfaceDataTypes.idl は標準というわけではありま
> せんがOpenRTMのユーザ間で議論できるようにたたき台として作成しました。こ
> こで定義されているデータ型、インターフェース定義は、移動ロボットの代表的
> ミドルウエアであるPlayerや、ORCA2や、Willow Garage の ROSで使われている
> ものを参考にして作成しました。
> 
> このデータ型、インターフェース型の定義は未完成で、いろいろ間違っていると
> ころがあると思いますが、移動ロボットや、マニピュレータなどそれぞれの専門
> の人たちからコメントをもらって、徐々に修正していけばいいのではと考えてい
> ます。今回、清水様からこのように右手系、左手系についてコメントをいたい
> て、さらに詳しく、メーリングリストで議論できれば幸いです。
> 
> もちろん、多くの人がこれらのデータ型やインターフェース型を使い始めたら変
> 更するのは難しくなりますが、バージョンが変わればAPIの変更が行われる事は
> ソフトウエア開発では普通のことだと思いますし、いまはまだあまり使っている
> 人がいないので、議論するにはいい時期だと思います。
> 
> bの場合は二つのデータ型があったらどうでしょうか。Pose2DLHとPose2DRHとか
> のようにしたら、開発者は両方から選べるし、もし使えたいコンポーネントは
> Pose2DLHで出力して、Pose2DRHのInPortに接続したかったら、データ型を変身す
> るコンポーネントは簡単に書けるし、こうしたら皆にいい方法でしょうか。
> 
> 後、角度のことですが、たぶん皆が0〜2πを使ったら一番簡単と思います。
> 
> 
> ところで、使い方のもっと詳しくのは以下のページにあります。まだほとんど英
> 語ですみません。
> 
> http://www.openrtm.org/OpenRTM-aist/html/E382B3E383B3E3839DE383BCE3838DE383B3E38388.html
> 
> 
> よろしくお願いいたします。
> 
> 
> On 13/04/10 19:22, Masaharu Shimizu wrote:
>> RTM開発者の皆様
>>
>> 未来ロボット技術研究センターの清水です。
>>
>> RTM1.0になりExtendedDataTypes.idlなるIDL定義が追加されています。
>> このIDLには、添付ファイルを見ていただければわかりますが、位置や速度といっ
>> た物理量についての定義も含まれています。
>> (また、InterfaceDataTypes.idlというGPS、サーボモータ、グリッパなどのIFを
>> 定義したIDLも追加されています。これらを使っている方は一度チェックしてみて
>> はいかがでしょう)
>>
>> すでにRTMに標準で組み込まれていると言うことでNEDO知能化PJ内の我々のグルー
>> プでもなるべくExtendedDataTypes.idlに記載されているデータ型を取り込む形で
>> 共通定義をまとめております。
>> (現状、RTC::TimedPose2Dなどそのまま利用するのではなくRTC::Pose2D型にtm,ID
>> やエラーを追加した最終的には独自型になっていますが。)
>>
>> この共通定義をまとめている議論で、
>>
>> a)そもそもExtendedDataTypes.idlはどういった経緯でRTM1.0に標準で組み込まれ
>> ることになったのか
>>
>> b)コメントに書いてある単位(メートルやラジアン)以外に少なくとも座標系が右
>> 手系なのか左手系なのかぐらい記述がないと標準で組み込まれているだけに、それ
>> ぞれが同じデータ型を使っているのにもかからず上記の違いで混乱することが予想
>> される。
>>
>> といった論点が出てきました。
>>
>> a)については、標準で組み込まれていることで積極的に採用させていただこうと考
>> えています。が、我々の活動と同じような活動が産総研さん内で行われているので
>> あれば、経緯など教えていただけると、車輪の再発明ではないですが同じ議論をせ
>> ずにすむなーといったところです。
>> また、たたき台というか標準で組み込まれているということで、この型をもとに議
>> 論できたので非常に進めやすかったですし、今回我々の議論では、
>> ExtendedDataTypes.idlに独自に追加する部分は有りましたが、基本は変更無しで
>> 進められましたので問題有りませんでした。
>> しかし、場合によっては違う表現定義の適切ではないかと言う時に、標準組み込ま
>> れているIDLは、すでにそれを利用して開発している場合もありなかなか変更する
>> ことが難しいのではないかと印象を持ちました。
>> 上記の懸念はありますが、充分練って作成しておられるかと思うので実際に問題に
>> ならないかもしれませんね。
>>
>> b)ですが、余談でOpenGLとDirectXで右手系、左手系が違うのは有名ですが、
>> ExtendedDataTypes.idlなるIDL定義を標準で組み込むからには、OpenRTM-aistで採
>> 用する座標系を明示した方が良さそうですがいかがでしょう?
>> ちなみに我々の知能化PJでは右手系でロボット中心座標系に関しては、添付ファイ
>> ルのような定義をしています。
>>
>> また、これは細かい点ですが、ExtendedDataTypes.idlにも定義されているロボッ
>> ト位置姿勢を示すPoseの方位角で
>> ・0〜2π
>> ・-π〜π
>> などいろいろな表現があってこれらもあってないとIFを接続するときに混乱の基に
>> なります。ただ、このレベルまでRTMで定義するのかといった点は、議論する必要
>> 有るかと思います。
>> (ちなみに、我々の活動では、姿勢表現なので0〜2πの多回転無しとしました)
>>
>> 以上ですが、何かコメントいただけると幸いです。
>>
>> 宜しく御願い致します。
> 



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