[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