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

二,全局路径

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

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

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

重要参数

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.调参时可以控制变量,先把一个参数拉到很大或很小,观察它对效果的影响,再去改;

  1. 除了上面的参数,还有其它参数也很重要,也可以尝试下;
  2. 要多百度看一下别人的方法或参数,有时会有很大的帮助;
  3. 不能盲试,原理是很重要的,要去看这个算法的原理,以及不同参数的意义
  • 62
    点赞
  • 551
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
### 回答1: 调参一段时间后,TEB减速可能是由于几个原因引起的。首先,可能是由于模型训练数据的质量问题导致的。如果模型训练数据不足够丰富或者存在噪声,就可能导致模型的泛化能力不够强,从而导致TEB减速的情况发生。其次,可能是由于模型参数的选择不合适,导致模型在训练过程中出现了过拟合现象。此时需要通过调整模型的超参数或者使用正则化方法来解决。最后,也可能是由于计算资源不足,导致模型无法充分训练。这种情况下可以考虑增加计算资源或者使用更高效的训练算法来提高模型的训练效率。 ### 回答2: 调参是指对一个系统的参数进行调整以达到期望效果的过程。 TEB(Time-Elastic-Band)减速是ROS中一个用于规划路径的包,它采用时间弹性带概念来进行路径规划。 在调参过程中,一开始可能会非常仔细地调整各个参数,以得到理想的路径规划效果。经过一段时间的使用和测试,可能会发现TEB减速性能出现了下降。这可能是因为调参的参数设置不合理或与环境变化不匹配所致。 出现TEB减速性能下降的情况,应该采取以下步骤进行排查和解决: 1. 检查调参参数:确认之前所设定的参数是否仍然适用于当前环境和任务需求。比如,考虑是否需要重新调整机器人的最大速度、加速度等参数。 2. 分析环境变化:TEB减速的性能下降可能是因为环境条件发生了变化,比如地面摩擦力增加、障碍物位置变动等。需对环境进行重新评估,并根据实际情况进行参数调整。 3. 增加适应性:提高TEB减速系统的适应性,使其能够动态地适应环境变化。可以考虑使用自适应控制策略,或增加传感器信息的利用,以更好地规划路径。 4. 数据采集和分析:收集和记录机器人在不同环境下的运动数据,并进行分析。通过对数据的比对和分析,可以找出导致TEB减速性能下降的原因,有针对性地进行调整和优化。 综上所述,当TEB减速在一段时间后出现性能下降时,需要重新检查调参参数、分析环境变化、增加适应性,并进行数据采集和分析,以寻找并解决问题。通过不断优化和调整,可以使TEB减速系统恢复正常工作,并保持良好的路径规划能力。 ### 回答3: 调参是指对机器学习模型中的参数进行调整,以提高模型的性能。TEB(Timing-Error-Based)是一种常用的调度器算法,用于进行实时系统的任务调度。然而,经过一段时间的调参后,可能会出现TEB减速的问题。 当TEB减速时,意味着调度器的性能有所下降,可能导致任务执行时间的延迟。这种情况可能是由于以下原因造成的: 首先,调参中过度依赖历史数据的问题可能导致TEB减速。在调参过程中,我们会根据以往的性能数据和任务信息进行调整,但如果历史数据不足或者不准确,就可能会导致调度器性能的下降。 其次,调参过程中的参数选择不合适可能会引起TEB减速。调度器算法的性能通常依赖于各种参数的设定,当参数的选择不合理时,就会导致调度器性能下降。这可能是因为模型的假设与实际情况不符,或者优化目标设置错误导致的。 此外,调参过程中的过拟合问题也可能导致TEB减速。如果在调参中过度优化模型,在训练数据上取得很好的性能但在实际任务中表现较差,就可能会导致TEB的减速。这是因为过拟合的模型在新数据上的泛化能力差,不能适应真实场景的需求。 针对TEB减速的问题,我们可以采取以下策略来解决: 1.检查历史数据的准确性和充分性,确保调参过程中的数据可靠且具有代表性。 2.重新评估和调整调度器算法的参数,尝试不同的参数设定来提升TEB的性能。 3.防止过拟合的发生,合理控制模型的复杂度,保持模型在新数据上的泛化能力。 综上所述,TEB减速问题的出现可能是由于调参过程中历史数据问题、不合适的参数选择或过拟合引起的。通过检查数据质量、调整参数设定和防止过拟合,我们可以提高TEB的性能,进一步优化实时系统的任务调度。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值