<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 4.2 Srv ## 4.2.1 簡介 類似msg文件,srv文件是用來描述服務(service數據類型的,service通信的數據格式定義在*.srv中。它聲明了一個服務,包括請求(request)和響應(reply)兩部分。其格式聲明如下: **舉例:** msgs_demo/srv/DetectHuman.srv bool start_detect --- my_pkg/HumanPose[] pose_data msgs_demo/msg/HumanPose.msg std_msgs/Header header string uuid int32 number_of_joints my_pkg/JointPose[]joint_data msgs_demo/msg/JointPose.msg string joint_name geometry_msgs/Pose pose floar32 confidence 以`DetectHUman.srv`文件為例,該服務例子取自OpenNI的人體檢測ROS軟件包。它是用來查詢當前深度攝像頭中的人體姿態和關節數的。srv文件格式很固定,第一行是請求的格式,中間用**---**隔開,第三行是應答的格式。在本例中,請求為是否開始檢測,應答為一個數組,數組的每個元素為某個人的姿態(HumanPose)。而對于人的姿態,其實是一個msg,所以srv可以嵌套msg在其中,但它不能嵌套srv。 ## 4.2.2 操作命令 具體的操作指令如下表: | rossrv 命令 | 作用 | | :------: | :------: | | `rossrv show` | 顯示服務描述| | `rossrv list` | 列出所有服務 | | `rossrv md5` | 顯示服務md5sum | | `rossrv package ` | 列出包中的服務| |`rossrv packages` | 列出包含服務的包| ## 4.2.3 修改部分文件 定義完了msg、srv文件,還有重要的一個步驟就是修改package.xml和修改CMakeList.txt。這些文件需要添加一些必要的依賴等,例如: <build_depend>** message_generation **</build_depend> <run_depend>** message_runtime **</run_depend> 上述文本中“**”所引就是新添加的依賴。又例如: find_package(...roscpp rospy std_msgs ** message_generation **) catkin_package( ... CATJIN_DEPENDS ** message_runtime ** ... ...) add_message_file( FILES ** DetectHuman.srv ** ** HumanPose.msg ** ** JointPos.msg **) ** generate_messages(DEPENDENCIES std_msgs) ** 添加的這些內容指定了srv或者msg在編譯或者運行中需要的依賴。具體的作用我們初學者可不深究,我們需要了解的是,無論我們自定義了srv,還是msg,修改上述部分添加依賴都是必不可少的一步。
                  <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>

                              哎呀哎呀视频在线观看