ROS导航调参经验总结(Teb算法)

打完智能车,调了很久teb,总结了一些经验,下面一些我觉得比较实用的调参方法和重要参数,可能会有些遗漏或问题,欢迎大家指出

先放感觉比较好的参考资料:

teb_local_planner wiki官方API文档

网上收集关于Teb Local Planner的调试使用_猪猪的博客-CSDN博客

浅谈Time Elastic Band – 知乎
TEB轨迹优化算法-代码解析与参数建议_zz123456zzss的博客-CSDN博客_teb算法

一,动态调参工具

可以动态调参,不用每次改yaml文件那么麻烦,但要记住改了什么,它没有保存键

rosrun rqt_reconfigure rqt_reconfigure

ROS导航调参经验总结(Teb算法)

二,全局路径

要有一个好的导航效果,首先要调出一个比较好的全局路径

小技巧:将速度话题重命名为其它,即让小车不动,先调好全局路径,在launch文件中加入如下语句(后面记得删掉)

<remap from="/cmd_vel" to="/cmd_vel_111"></remap>

重要参数

costmap_common_params.yaml 文件

costmap_common_params.yaml
  robot_radius: 0.15    #&#x673A;&#x5668;&#x4EBA;&#x534A;&#x5F84;
  cost_scaling_factor:  15.0  #&#x969C;&#x788D;&#x7269;&#x81A8;&#x80C0;&#x6BD4;&#x4F8B;&#x7CFB;&#x6570;&#xFF0C;&#x5168;&#x5C40;&#x8DEF;&#x5F84;&#x5448;&#x952F;&#x9F7F;&#x72B6;&#x65F6;&#x8C03;&#x5927;
  inflation_radius:     0.2      #&#x81A8;&#x80C0;&#x534A;&#x5F84;&#xFF0C;&#x5168;&#x5C40;&#x8DEF;&#x5F84;&#x79BB;&#x969C;&#x788D;&#x592A;&#x8FD1;&#x65F6;&#x8C03;&#x5927;&#xFF0C;&#x4F46;&#x4E0D;&#x80FD;&#x8986;&#x76D6;&#x6574;&#x4E2A;&#x9053;&#x8DEF;

建议:

1.cost_scaling_factor调大,可以使得全局路径较平滑,这时 inflation_radius也要调大

ROS导航调参经验总结(Teb算法)

三,局部路径规划 teb

重要参数:

teb_local_planner_params.yaml 文件

teb_local_planner_params.yaml
    #&#x4E0E;&#x969C;&#x788D;&#x7269;&#x76F8;&#x5173;
    min_obstacle_dist: 0.3   #&#x4E0E;&#x969C;&#x788D;&#x7684;&#x6700;&#x5C0F;&#x671F;&#x671B;&#x8DDD;&#x79BB;
    inflation_dist: 0.5 # &#x969C;&#x788D;&#x7269;&#x5468;&#x56F4;&#x7F13;&#x51B2;&#x533A;
    dynamic_obstacle_inflation_dist: 0.6  #&#x4E0E;&#x52A8;&#x6001;&#x969C;&#x788D;&#x7269;&#x7F13;&#x51B2;&#x533A;
&#xA0;
    max_global_plan_lookahead_dist: 1.0 #&#x5411;&#x524D;&#x89C4;&#x5212;&#x6700;&#x957F;&#x8DDD;&#x79BB; #&#x592A;&#x5927;&#x8DEF;&#x5F84;&#x4E0D;&#x5E73;&#x6ED1;&#xFF0C;&#x592A;&#x5C0F;&#x907F;&#x969C;&#x548C;&#x8F6C;&#x5F2F;&#x65F6;&#x6548;&#x679C;&#x4E0D;&#x597D;&#xFF0C;&#x592A;&#x5C0F;&#x8FD8;&#x4F1A;&#x5BFC;&#x81F4;&#x5C0F;&#x8F66;&#x4E0D;&#x6562;&#x8D70;
&#xA0;
    weight_optimaltime: 3 # &#x6839;&#x636E;&#x8F6C;&#x6362;/&#x6267;&#x884C;&#x65F6;&#x95F4;&#x5BF9;&#x8F68;&#x8FF9;&#x8FDB;&#x884C;&#x6536;&#x7F29;&#x7684;&#x4F18;&#x5316;&#x6743;&#x91CD;  #&#x5F88;&#x91CD;&#x8981;&#x7684;&#x4E00;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x503C;&#x8D8A;&#x5927;&#x5C0F;&#x8F66;&#x8D8A;&#x5927;&#x80C6;&#xFF0C;&#x8F6C;&#x5F2F;&#x5207;&#x5185;&#x9053;&#xFF0C;&#x8D8A;&#x5BB9;&#x6613;&#x62C9;&#x5230;&#x6700;&#x5927;&#x901F;&#x5EA6;&#xFF0C;&#x4E5F;&#x649E;&#x6B7B;&#x5F97;&#x8D8A;&#x5FEB;

还有速度加速度角速度等参数也很重要就不列了

建议:

1.刚开始调,可以速度调慢点,max_global_plan_lookahead_dist(向前规划距离)调小,可以使得局部路径较贴近全局路径并完成跑图,再慢慢调大找最佳值

2.当小车在某些位置卡住不敢走(还没撞)时,考虑膨胀半径是否应该调小,和weight_optimaltime是否应该调大

总结:

1.调参时可以控制变量,先把一个参数拉到很大或很小,观察它对效果的影响,再去改;

  1. 除了上面的参数,还有其它参数也很重要,也可以尝试下;
  2. 要多百度看一下别人的方法或参数,有时会有很大的帮助;
  3. 不能盲试,原理是很重要的,要去看这个算法的原理,以及不同参数的意义

Original: https://blog.csdn.net/pricem/article/details/122891310
Author: Gh_luck
Title: ROS导航调参经验总结(Teb算法)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/649619/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球