teb_local_planner安裝及使用


teb_local_planner的詳盡資料(包括安裝及導航,參數調節等)請參考其ros官方文檔:http://wiki.ros.org/teb_local_planner和http://wiki.ros.org/teb_local_planner/Tutorials。

teb_local_planner的github源碼:https://github.com/rst-tu-dortmund/teb_local_planner。

一、作用機制

        teb_local_planner將navigation里的base_local_planner替換,故其作用機制和base_local_planner一樣為ros的plugin機制。plugin的使用可以參考:http://www.cnblogs.com/W-chocolate/p/4328725.html。

        

二、teb_local_planner的安裝步驟如下(注意ros為kenetic版):

        1、安裝依賴:

              rosdep install teb_local_planner


         2、從github上下載源碼:https://github.com/rst-tu-dortmund/teb_local_planner

         3、放入工作空間的/src文件夾中

        4、catkin_make -DCATKIN_WHITELIST_PACKAGES=“源碼存放的文件夾名字”(單獨編譯teb_local_planner)

         5、查看teb_local_planner的plugin是否安裝完成

              rospack plugins --attrib=plugin nav_core

              如果能查詢到teb_local_planner,則表明以及准備就緒。

       值得一提的是,teb_local_planner源碼中關於plugin的配置文件均已寫好,直接編譯源碼就能完成plugin的注冊及插入,非常方便。
三、使用

         1、新建teb_local_planner配置文件teb_local_planner_params.yaml

              在此我偷了個懶,直接從tutorials中下載:

              git clone https://github.com/rst-tu-dortmund/teb_local_planner_tutorials.git

              在/cfg中找到所需的teb_local_planner_params.yaml。由於使用機器人odom為差動模式的,故選取diff_drive中的。

        2、將teb_local_planner_params.yaml和navigation中其他的配置文件(如costmap_common_params.yaml等)放在一起,方便查閱調用。個人習慣如此,也可以不放在一起。

         3、在啟動navigation的launch文件中load上述配置文件

      <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
         ...
        <rosparam file="$(find my_robot_name_2dnav)/base_local_planner_params.yaml" command="load" />
         ...
      </node>

         4、在啟動navigation的launch文件中聲明base_local_planner采用先前注冊的plugin

      <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
        ...
        <param name="base_local_planner" value="teb_local_planner/TebLocalPlannerROS" />
        ...
      </node>

                當然也可以選擇在move_base_params.yaml中聲明。

          5、啟動navigation,在rviz中將三條path調出來,即可觀察機器人導航過程中規划路徑的變化。

       此外,可以通過rosrun rqt_reconfigure rqt_reconfigure動態調節參數使機器人導航性能達到最佳。關於參數調節的方法請參考其ros官方文檔。實際使用的經歷來看,采用從teb_local_planner_tutorials下載下來的默認參數達到的性能已經遠優於原始navigation中的路徑規划算法的性能。我認為teb_local_planner的應用價值非常大。
 
四、異常處理

 

原因是相關庫沒有安裝好,根據提示把庫安裝好就可以使用了。
解決辦法,比較懶,沒有一個個試試,所以直接都安裝了,有興趣的小伙伴可以嘗試分部分,O(∩_∩)O哈哈~

sudo apt install ros-kinetic-mbf-costmap-core ros-kinetic-mbf-costmap-nav ros-kinetic-move-base-flex ros-kinetic-move-base-to-manip ros-kinetic-moveit-kinematics ros-kinetic-moveit-ros-manipulation ros-kinetic-moveit-ros-move-group ros-kinetic-moveit-ros-perception ros-kinetic-moveit-ros-planning ros-kinetic-moveit-ros-planning-interface ros-kinetic-moveit-ros-warehouse ros-kinetic-assisted-teleop ros-kinetic-carrot-planner ros-kinetic-dwa-local-planner ros-kinetic-global-planner ros-kinetic-goal-passer ros-kinetic-move-slow-and-clear ros-kinetic-navigation ros-kinetic-navigation-experimental ros-kinetic-navigation-layers ros-kinetic-navigation-stage ros-kinetic-navigation-tutorials ros-kinetic-pose-follower ros-kinetic-range-sensor-layer ros-kinetic-roomba-stage ros-kinetic-sbpl-lattice-planner ros-kinetic-sbpl-recovery ros-kinetic-social-navigation-layers ros-kinetic-twist-recovery ros-kinetic-assisted-teleop ros-kinetic-carrot-planner ros-kinetic-dwa-local-planner ros-kinetic-global-planner ros-kinetic-goal-passer ros-kinetic-move-slow-and-clear ros-kinetic-navigation ros-kinetic-navigation-experimental ros-kinetic-navigation-layers ros-kinetic-navigation-stage ros-kinetic-navigation-tutorials ros-kinetic-pose-follower ros-kinetic-range-sensor-layer ros-kinetic-roomba-stage ros-kinetic-sbpl-lattice-planner ros-kinetic-sbpl-recovery ros-kinetic-social-navigation-layers ros-kinetic-twist-recovery ros-kinetic-assisted-teleop ros-kinetic-carrot-planner ros-kinetic-dwa-local-planner ros-kinetic-global-planner ros-kinetic-goal-passer ros-kinetic-move-slow-and-clear ros-kinetic-navigation ros-kinetic-navigation-experimental ros-kinetic-navigation-layers ros-kinetic-navigation-stage ros-kinetic-navigation-tutorials ros-kinetic-pose-follower ros-kinetic-range-sensor-layer ros-kinetic-roomba-stage ros-kinetic-sbpl-lattice-planner ros-kinetic-sbpl-recovery ros-kinetic-social-navigation-layers ros-kinetic-twist-recovery ros-kinetic-cost-map ros-kinetic-cost-map-demos ros-kinetic-cost-map-ros ros-kinetic-cost-map-visualisations ros-kinetic-costmap-prohibition-layer ros-kinetic-grid-map-costmap-2d ros-kinetic-grid-map-cv ros-kinetic-grid-map-ros ros-kinetic-grid-map-visualization

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM