[openrtm-users 03224] Re: Waypoint2D型のデータタイプがおかしい

河内のぶ n.kawauchi @ aist.go.jp
2015年 10月 7日 (水) 13:21:50 JST


菅様

河内です。ご連絡、ありがとうございます。

下記ページからダウンロードする32/64bit版のmsiファイルを確認致したとこ
ろ、site-packages\OpenRTM_aist\RTM_IDL\InterfaceDataTypes.idl では
「Pose2D maxSpeed;」と定義されています。
http://openrtm.org/openrtm/ja/content/openrtm-aist-python-110-release

------
    /*!
     * @struct Waypoint2D
     * @brief A waypoint in 2D space, including constraints.
     */
    struct Waypoint2D
    {
        /// Location of the waypoint.
        Pose2D target;
        /// How far away from the waypoint is considered success (radius in metres).
        double distanceTolerance;
        /// How much off the target heading is considered success (in radians).
        double headingTolerance;
        /// Target time to arrive at the waypoint by.
        Time timeLimit;
        /// Maximum sped to travel at while heading to the waypoint.
        Pose2D maxSpeed; ←★
    };
------

これとは別の問題でしょうか。 理解不足でしたら申し訳ございません。
よろしくお願い致します。

On Wed, 7 Oct 2015 02:10:00 +0000
Yuki Suga <ysuga @ ysuga.net> wrote:

> ML各位:
> SSRの菅です.
> 
> 環境:Windows 7 x64 OpenRTM-aist Python版 1.1.0 RELEASE 32bit版
> Python2.7 32bit
> 
> 表題の通り,バイナリからインストールしたOpenRTM-aistに含まれる
> データ型がおかしいです.
> Waypoint2D型ですが,IDLでは
> 
> ########### ここから
>     /*!
>      * @struct Waypoint2D
>      * @brief A waypoint in 2D space, including constraints.
>      */
>     struct Waypoint2D
>     {
>         /// Location of the waypoint.
>         Pose2D target;
>         /// How far away from the waypoint is considered success (radius in
> metres).
>         double distanceTolerance;
>         /// How much off the target heading is considered success (in
> radians).
>         double headingTolerance;
>         /// Target time to arrive at the waypoint by.
>         Time timeLimit;
>         /// Maximum sped to travel at while heading to the waypoint.
>         Velocity2D maxSpeed;
>     };
> ########### ここまで
> 
> ですが,site-packages/OpenRTM_aist/RTM_IDL/InterfaceDataType_idl.pyでは
> 
> ########### ここから
> # struct Waypoint2D
> _0_RTC.Waypoint2D = omniORB.newEmptyClass()
> class Waypoint2D (omniORB.StructBase):
>     _NP_RepositoryId = "IDL:RTC/Waypoint2D:1.0"
> 
>     def __init__(self, target, distanceTolerance, headingTolerance,
> timeLimit, maxSpeed):
>         self.target = target
>         self.distanceTolerance = distanceTolerance
>         self.headingTolerance = headingTolerance
>         self.timeLimit = timeLimit
>         self.maxSpeed = maxSpeed
> 
> _0_RTC.Waypoint2D = Waypoint2D
> _0_RTC._d_Waypoint2D  = (omniORB.tcInternal.tv_struct, Waypoint2D,
> Waypoint2D._NP_RepositoryId, "Waypoint2D", "target",
> omniORB.typeMapping["IDL:RTC/Pose2D:1.0"], "distanceTolerance",
> omniORB.tcInternal.tv_double, "headingTolerance",
> omniORB.tcInternal.tv_double, "timeLimit",
> omniORB.typeMapping["IDL:RTC/Time:1.0"], "maxSpeed",
> omniORB.typeMapping["IDL:RTC/Pose2D:1.0"])
> _0_RTC._tc_Waypoint2D =
> omniORB.tcInternal.createTypeCode(_0_RTC._d_Waypoint2D)
> omniORB.registerType(Waypoint2D._NP_RepositoryId, _0_RTC._d_Waypoint2D,
> _0_RTC._tc_Waypoint2D)
> del Waypoint2D
> ########### ここまで
> 
> となっています.maxSpeedメンバのマッピングがPose2Dになっており,
> このためにうまく通信できません.
> バイナリに固めるときに使っているIDLが違うのでしょうか?
> 
> 確認をお願いします.
> 
> それでは

---------------------------------------------------
河内 のぶ  n.kawauchi @ aist.go.jp
産業技術総合研究所 ロボットイノベーション研究センター
ディペンダブルシステム研究チーム





More information about the openrtm-users mailing list