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