<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 8.2 TF消息 ### 8.2.1 TransformStamped.msg ![](https://img.kancloud.cn/d5/e3/d5e343152cd965edd66ca66e876a66fd_1920x1080.png) 上一節在介紹ROS中的TF時候我們已經初步的認識了TF和TF樹,了解了在每個frame之間都會有broadcaster來發布消息維系坐標轉換.那么這個消息到底是什么樣子的呢?這個消息TransformStampde.msg,它就是處理兩個frame之間一小段tf的數據格式. ### 8.2.2 格式規范 TransformStamped.msg的格式規范如下: ``` std_mags/Header header uint32 seq time stamp string frame_id string child_frame_id geometry_msgs/Transform transform geometry_msgs/Vector3 translation float64 x float64 y float64 z geometry_msgs/Quaternion rotation float64 x float64 y flaot64 z float64 w ``` 觀察標準的格式規范,首先header定義了序號,時間以及frame的名稱.接著還寫了child\_frame,這兩個frame之間要做那種變換就是由geometry\_msgs/Transform來定義.Vector3三維向量表示平移,Quaternion四元數表示旋轉.像下圖TF樹中的兩個frame之間的消息,就是由這種格式來定義的.odom就是frame\_id,baselink\_footprint就是child\_frame\_id.我們知道,一個topic上面,可能會有很多個node向上面發送消息。如圖所示,不僅有我們看到的frame發送坐標變換個tf,還有別的frame也在同樣的向它發送消息。最終,許多的TransformStamped.msg發向tf,形成了TF樹。 ![](https://img.kancloud.cn/7d/21/7d21112aa0b530b172dc067235b50e9a_346x691.jpg) ### 8.2.3 TF樹的數據類型 上面我們講了,TF tree是由很多的frame之間TF拼接而成。那么TF tree是什么類型呢?如下: * tf/tfMessage.msg * tf2_msgs/TFMessage.msg 這里TF的數據類型有兩個,主要的原因是版本的迭代。自ROS Hydro以來,tf第一代已被“棄用”,轉而支持tf2。tf2相比tf更加簡單高效。此外也添加了一些新的功能。 由于tf2是一個重大的變化,tf API一直保持現有的形式。由于tf2具有tf特性的超集和一部分依賴關系,所以tf實現已經被移除,并被引用到tf2下。這意味著所有用戶都將與tf2兼容。官網建議新工作直接使用tf2,因為它有一個更清潔的界面,和更好的使用體驗。 如何查看自己使用的TF是哪一個版本,使用命令`rostopic info /tf`即可。 ### 8.2.4 格式定義 tf/tfMessage.msg或tf2_msgs/TFMessage標準格式規范如下: ``` geometry_msgs/TransformStamped[] transforms std_msgs/Header header uint32 seq time stamp string frame_id string child_frame_id geometry_msgs/Transform transform geometry_msgs/Vector3 translation float64 x float64 y float64 z geometry_msgs/Quaternion rotation float64 x float64 y flaot64 z float64 w ``` 如上,一個TransformStamped數組就是一個TF tree。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看