国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

這篇具有很好參考價(jià)值的文章主要介紹了ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前提:需要安裝navigation包,才可以運(yùn)行move_base。

move_base包默認(rèn)算法:

  1. 全局路徑規(guī)劃:Dijkstra;
  2. 局部路徑規(guī)劃:航跡推算;

一.move_base路徑規(guī)劃包內(nèi)容

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

?二.更換全局路徑規(guī)劃算法(A*、Dijkstra、DWA)

A*、Dijkstra屬于全局路徑規(guī)劃、DWA屬于局部路徑規(guī)劃。

1、move_base.launch

move_base.launch文件需要添加以下內(nèi)容

    <!--加載A star、Dijkstra算法-->
    <param name="base_global_planner" value="global_planner/GlobalPlanner"/>
    <param name="planner_frequency" value="1.0" />
    <param name="planner_patience" value="5.0" />
    <!--加載DWA算法-->
    <param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS" />

整體的move_base.launch文件內(nèi)容如下(其中turtlebot3_navigation內(nèi)容需要修改為對應(yīng)自己的包):

<launch>
  <!-- Arguments -->
  <arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/>
  <arg name="cmd_vel_topic" default="/cmd_vel" />
  <arg name="odom_topic" default="odom" />
  <arg name="move_forward_only" default="false"/>

  <!-- move_base -->
  <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
    <!--加載A star算法-->
    <param name="base_global_planner" value="global_planner/GlobalPlanner"/>
    <param name="planner_frequency" value="1.0" />
    <param name="planner_patience" value="5.0" />
    <!--加載DWA算法-->
    <param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS" />
    <!---->
    <rosparam file="$(find turtlebot3_navigation)/param/costmap_common_params_$(arg model).yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find turtlebot3_navigation)/param/costmap_common_params_$(arg model).yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find turtlebot3_navigation)/param/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find turtlebot3_navigation)/param/global_costmap_params.yaml" command="load" />
    <rosparam file="$(find turtlebot3_navigation)/param/move_base_params.yaml" command="load" />
    <rosparam file="$(find turtlebot3_navigation)/param/dwa_local_planner_params_$(arg model).yaml" command="load" />
    <remap from="cmd_vel" to="$(arg cmd_vel_topic)"/>
    <remap from="odom" to="$(arg odom_topic)"/>
    <param name="DWAPlannerROS/min_vel_x" value="0.0" if="$(arg move_forward_only)" />
  </node>
</launch>

2、修改planner_core.cpp文件

?planner_core.cpp文件是navigation包中的文件,其具體目錄如下(對應(yīng)自己的路徑):

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

?修改如下內(nèi)容:

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

private_nh.param("use_dijkstra", use_dijkstra, false);

此句true為使用dijkstra算法,false為使用A star算法。

ROS_INFO("use_dijkstra");
ROS_INFO("use_A_star");

此句可以在運(yùn)行路徑規(guī)劃時(shí),查看自己使用的是dijkstra還是A star。

注意:修改完代碼之后,需要刪除build和devel文件,重新catkin_make編譯

3、效果展示

默認(rèn)算法:

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

?dijkstra算法:

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

A star算法:

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

?驗(yàn)證算法:

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

4、展望(未來需要注意問題)

1、A*算法并不是最優(yōu)路徑(如上),也是會出現(xiàn)問題(如下),還是需要優(yōu)化。

ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)

?出現(xiàn)上述原因是因?yàn)榕蛎洶霃皆O(shè)置問題,需要自己設(shè)置,最簡單方法是將膨脹半徑設(shè)置為機(jī)器人外切圓。

2、使用的turtlebot3機(jī)器人在運(yùn)行時(shí)會出現(xiàn)倒著走的現(xiàn)象。

解決:將base_local_planner_params.yaml中holonomic_robot參數(shù)改為false;

holonomic_robot參數(shù)意義:代表是否是全向機(jī)器人。

3、未來添加新的路徑規(guī)劃算法也可以如此加入move_base中。

比如安裝TEB包:ROS-melodic:源碼安裝teb_local_planner算法、替換DWA算法_ros teb源碼編譯_Charlesffff的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-476438.html

到了這里,關(guān)于ROS:move_base路徑規(guī)劃介紹、更換全局路徑規(guī)劃算法(A star、Dijkstra、DWA,測試當(dāng)前是哪種算法,效果展示圖)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ros中實(shí)現(xiàn)全局/局部避障算法的添加與rviz中規(guī)劃路徑的顯示(上)

    ros中實(shí)現(xiàn)全局/局部避障算法的添加與rviz中規(guī)劃路徑的顯示(上)

    目錄 前言 一、命令行 二、所用到的launch文件、yaml文件等 1.map1_mrobot_laser_nav_gazebo.launch 2.gmapping_demo.launch 3.gmapping.launch 4.move_base.launch 5.nav03_map_server.launch 6.mrobot_teleop.launch 三、rviz中添加path插件 總結(jié) 最近在做ros相關(guān)的作業(yè),故寫下本文留做參考以便日后再次使用或理解,如有

    2024年02月01日
    瀏覽(21)
  • 基于STM32F103的樹莓派ROS小車——全局路徑規(guī)劃之Dijkstra算法

    基于STM32F103的樹莓派ROS小車——全局路徑規(guī)劃之Dijkstra算法

    Dijkstra Dijkstra算法概念: 基本思想:由近到遠(yuǎn)把所有點(diǎn)的最短路徑算出來。 算法解析:從起點(diǎn)向四周輻射,由近到遠(yuǎn)一層一層遍歷所有的點(diǎn),直到包含目標(biāo)點(diǎn)所在層級。然后將所有可行路徑進(jìn)行計(jì)算比較,篩選出絕對最佳路徑。 優(yōu)點(diǎn):最終得到的路徑一定是最佳路徑。 缺點(diǎn)

    2024年02月15日
    瀏覽(25)
  • 模擬退火-粒子群全局路徑規(guī)劃+DWA局部路徑規(guī)劃

    模擬退火-粒子群全局路徑規(guī)劃+DWA局部路徑規(guī)劃

    整理了一個(gè)路徑規(guī)劃demo,當(dāng)然圖是改進(jìn)的效果?demo分別有對應(yīng)的開源 可以在網(wǎng)上搜到,我覺得已經(jīng)介紹的很詳細(xì)了,所以不做過多的解釋,傳送門在下面 ( 寫的不好 輕噴 ) 粒子群本質(zhì)是參數(shù)尋優(yōu)問題,也就是說在運(yùn)用到路徑規(guī)劃這塊需要對規(guī)劃的路徑進(jìn)行模型建立,這塊

    2024年02月06日
    瀏覽(24)
  • 【路徑規(guī)劃】全局路徑規(guī)劃算法——蟻群算法(含python實(shí)現(xiàn))

    【路徑規(guī)劃】全局路徑規(guī)劃算法——蟻群算法(含python實(shí)現(xiàn))

    路徑規(guī)劃與軌跡跟蹤系列算法 蟻群算法原理及其實(shí)現(xiàn) 蟻群算法詳解(含例程) 圖說蟻群算法(ACO)附源碼 蟻群算法Python實(shí)現(xiàn) 蟻群算法(Ant Colony Algorithm, ACO) 于1991年首次提出,該算法模擬了自然界中螞蟻的覓食行為。螞蟻在尋找食物源時(shí), 會在其經(jīng)過的路徑上釋放一種信息

    2024年01月18日
    瀏覽(31)
  • 【路徑規(guī)劃】全局路徑規(guī)劃算法——Dijkstra算法(含python實(shí)現(xiàn) | c++實(shí)現(xiàn))

    【路徑規(guī)劃】全局路徑規(guī)劃算法——Dijkstra算法(含python實(shí)現(xiàn) | c++實(shí)現(xiàn))

    路徑規(guī)劃與軌跡跟蹤系列算法學(xué)習(xí) 最短路徑算法-迪杰斯特拉(Dijkstra)算法 迪杰斯特拉dijkstra算法的python實(shí)現(xiàn) Python實(shí)現(xiàn)迪杰斯特拉算法 迪杰斯特拉算法(Dijkstra)是由荷蘭計(jì)算機(jī)科學(xué)家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是從一個(gè)節(jié)點(diǎn)遍歷其余各節(jié)點(diǎn)的最短路

    2024年02月08日
    瀏覽(18)
  • ROS導(dǎo)航實(shí)現(xiàn)之路徑規(guī)劃

    ROS導(dǎo)航實(shí)現(xiàn)之路徑規(guī)劃

    ??move_base 功能包提供了基于動作(action)的路徑規(guī)劃實(shí)現(xiàn),move_base 可以根據(jù)給定的目標(biāo)點(diǎn),控制機(jī)器人底盤運(yùn)動至目標(biāo)位置,并且在運(yùn)動過程中會連續(xù)反饋機(jī)器人自身的姿態(tài)與目標(biāo)點(diǎn)的狀態(tài)信息,move_base主要由全局路徑規(guī)劃與本地路徑規(guī)劃組成。 ??move_base已經(jīng)被集成到了

    2024年02月08日
    瀏覽(54)
  • ROS中實(shí)現(xiàn)A*路徑規(guī)劃

    ROS中實(shí)現(xiàn)A*路徑規(guī)劃

    學(xué)習(xí)A*路徑規(guī)劃算法,優(yōu)化啟發(fā)函數(shù),并在ROS中進(jìn)行測試。 A star算法教程 源碼地址:https://gitcode.net/VOR234/aster 安裝Linux系統(tǒng),建議Ubuntu18.04; 安裝ROS環(huán)境并學(xué)習(xí)其基本操作; 查找A 路徑規(guī)劃資料,學(xué)習(xí)并熟知A 路徑規(guī)劃算法; 對比賽中所提供A*算法的啟發(fā)函數(shù)AstarPathFinder::ge

    2024年01月16日
    瀏覽(20)
  • 47.在ROS中實(shí)現(xiàn)global planner(3)- 使用A*實(shí)現(xiàn)全局規(guī)劃

    47.在ROS中實(shí)現(xiàn)global planner(3)- 使用A*實(shí)現(xiàn)全局規(guī)劃

    接著之前45.在ROS中實(shí)現(xiàn)global planner(1)和46.在ROS中實(shí)現(xiàn)global planner(2)的鋪墊,在ROS中實(shí)現(xiàn) AStar Global Planner 照著之前的模板,修改下名稱 再替換下所有的 sample_global_planner – astar_global_planner 基于這個(gè)我們新增之前的 astar 算法 拷貝astar_planner.h 和astar_planner.cpp 分別至 include 和

    2024年02月12日
    瀏覽(19)
  • 【ROS-Navigation】—— DWA路徑規(guī)劃算法解析

    【ROS-Navigation】—— DWA路徑規(guī)劃算法解析

    ????最近在學(xué)習(xí)ROS的navigation部分,寫些東西作為筆記,方便理解與日后查看。本文從Astar算法入手,對navigation源碼進(jìn)行解析。 PS:ros navigation源碼版本https://gitcode.net/mirrors/ros-planning/navigation/-/tree/noetic-devel DWA具體的算法原理在之前的博客(見自動駕駛路徑規(guī)劃——DWA(動態(tài)

    2023年04月16日
    瀏覽(31)
  • 【ROS-Navigation】—— Astar路徑規(guī)劃算法解析

    【ROS-Navigation】—— Astar路徑規(guī)劃算法解析

    ????最近在學(xué)習(xí)ROS的navigation部分,寫些東西作為筆記,方便理解與日后查看。本文從Astar算法入手,對navigation源碼進(jìn)行解析。 PS:ros navigation源碼版本https://gitcode.net/mirrors/ros-planning/navigation/-/tree/noetic-devel ????對于Astar算法,想必大家都非常熟悉了。具體算法原理就不

    2024年01月18日
    瀏覽(56)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包