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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 2.6 Metapackage # 2.6.1 Metapackage介紹 在一些ROS的教學資料和博客里,你可能還會看到一個Stack(功能包集)的概念,它指的是將多個功能接近、甚至相互依賴的軟件包的放到一個集合中去。但Stack這個概念在Hydro之后就取消了,取而代之的就是Metapackage。盡管換了個馬甲,但它的作用沒變,都是把一些相近的功能模塊、軟件包放到一起。 ROS里常見的Metapacakge有: | Metapacakge名稱 | 描述 | 鏈接 | | :------: | :------: | :------: | | navigation | 導航相關的功能包集 | https://github.com/ros-planning/navigation | | moveit | 運動規劃相關的(主要是機械臂)功能包集 | https://github.com/ros-planning/moveit | | image_pipeline | 圖像獲取、處理相關的功能包集 | https://github.com/ros-perception/image_common | | vision_opencv | ROS與OpenCV交互的功能包集| https://github.com/ros-perception/vision_opencv | | turtlebot | Turtlebot機器人相關的功能包集 | https://github.com/turtlebot/turtlebot | | pr2_robot | pr2機器人驅動功能包集 | https://github.com/PR2/pr2_robot | | ... | ...|...| 以上列舉了一些常見的功能包集,例如navigation、turtlebot,他們都是用于某一方面的功能,以navigation metapackage(官方介紹里仍然沿用stack的叫法)為例,它包括了以下軟件包: | 包名 | 功能 | | :------: | :------: | | navigation | Metapacakge,依賴以下所有pacakge | | amcl | 定位 | | fake_localization | 定位 | | map_server | 提供地圖 | | move_base | 路徑規劃節點 | | nav_core | 路徑規劃的接口類| | base_local_planner | 局部規劃 | | dwa_local_planner| 局部規劃| | ... | ... | ... | 具體功能介紹,我們留到第九章,這里只看一個軟件包navigation。這個navigation就是一個簡單的pacakge,里面只有幾個文件,但由于它依賴了其他所有的軟件包。Catkin編譯系統會明白,這些軟件包都屬于navigation metapacakge。 這個道理并不難理解,比如我們在安裝ROS時,用到了`sudo apt-get install ros-kinetic-desktop-full`命令,由于它依賴了ROS所有的核心組件,我們在安裝時也就能夠安裝整個ROS。 ## 2.6.2 Metapackage寫法 我們以ROS-Academy-for-beginners為例介紹meteapckage的寫法,在教學包內,有一個`ros-academy-for-beginners`軟件包,該包即為一個metapacakge,其中有且僅有兩個文件:`CMakeLists.txt`和`pacakge.xml`。 `CMakeLists.txt`寫法如下: ```cmake cmake_minimum_required(VERSION 2.8.3) project(ros_academy_for_beginners) find_package(catkin REQUIRED) catkin_metapackage() #聲明本軟件包是一個metapacakge ``` `pacakge.xml`寫法如下: ```xml <package> <name>ros_academy_for_beginners</name> <version>17.12.4</version> <description> -------------------------------------------------------------------------- A ROS tutorial for beginner level learners. This metapacakge includes some demos of topic, service, parameter server, tf, urdf, navigation, SLAM... It tries to explain the basic concepts and usages of ROS. -------------------------------------------------------------------------- </description> <maintainer email="chaichangkun@163.com">Chai Changkun</maintainer> <author>Chai Changkun</author> <license>BSD</license> <url>http://http://www.droid.ac.cn</url> <buildtool_depend>catkin</buildtool_depend> <run_depend>navigation_sim_demo</run_depend> <!--注意這里的run_depend標簽,將其他軟件包都設為依賴項--> <run_depend>param_demo</run_depend> <run_depend>robot_sim_demo</run_depend> <run_depend>service_demo</run_depend> <run_depend>slam_sim_demo</run_depend> <run_depend>tf_demo</run_depend> <run_depend>topic_demo</run_depend> <export> <!--這里需要有export和metapacakge標簽,注意這種固定寫法--> <metapackage/> </export> </package> ``` metapacakge中的以上兩個文件和普通pacakge不同點是: * `CMakeLists.txt`:加入了catkin_metapackage()宏,指定本軟件包為一個metapacakge。 * `package.xml`:<run_depend>標簽將所有軟件包列為依賴項,<export>標簽中添加<metapackage>標簽聲明。 metapacakge在我們實際開發一個大工程時可能有用
                  <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>

                              哎呀哎呀视频在线观看