ROS导航调参经验总结(Teb算法) 您所在的位置:网站首页 转弯半径多少合适 ROS导航调参经验总结(Teb算法)

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

2024-07-11 02:46| 来源: 网络整理| 查看: 265

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

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

teb_local_planner wiki  官方API文档

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

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

一,动态调参工具

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

rosrun rqt_reconfigure rqt_reconfigure

二,全局路径

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

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

重要参数

costmap_common_params.yaml 文件

costmap_common_params.yaml robot_radius: 0.15 #机器人半径 cost_scaling_factor: 15.0 #障碍物膨胀比例系数,全局路径呈锯齿状时调大 inflation_radius: 0.2 #膨胀半径,全局路径离障碍太近时调大,但不能覆盖整个道路

建议:

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

2.好的膨胀在rviz中一般颜色靠墙的较深,离墙远的较浅,呈渐变色(不完全正确,和rviz中颜色设置有关系)

三,局部路径规划teb

重要参数:

teb_local_planner_params.yaml 文件

teb_local_planner_params.yaml #与障碍物相关 min_obstacle_dist: 0.3 #与障碍的最小期望距离 inflation_dist: 0.5 # 障碍物周围缓冲区 dynamic_obstacle_inflation_dist: 0.6 #与动态障碍物缓冲区   max_global_plan_lookahead_dist: 1.0 #向前规划最长距离 #太大路径不平滑,太小避障和转弯时效果不好,太小还会导致小车不敢走   weight_optimaltime: 3 # 根据转换/执行时间对轨迹进行收缩的优化权重 #很重要的一个参数,值越大小车越大胆,转弯切内道,越容易拉到最大速度,也撞死得越快

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

建议:

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

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

总结:

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

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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有