TEB调参记录

发布于 18 天前  17 次阅读


先说之前想要写周报的校内赛,由于那几天调的太狠了,导致没有什么时间,后面用了自己焊的电源模块解决了电源问题,然后最后拿到了大一的唯一一个一等奖。


下面来说teb调参,这个是我们将要应用于某个比赛的算法,而学长还要忙另外一个比赛,所以调参的任务就交给了我。这里就简单说一下我认为调了有效果的各个参数吧。

max_vel_theta: 1.0
max_vel_x: 0.7
max_vel_x_backwards: 0.25

第一个最大角速度,个人调的时候没有发现有很大区别,第二个最大x方向速度,效果很明显,作为竞速比赛,这个参数有很大的使用价值。第三个最大后退速度,实际上后退的情况比较少,而且加速度也不够在短时间里面达到很大的速度,同时倒车撞障碍物的情况也是时有发生,所以这个速度我设置的比较小。

min_turning_radius: 0.9
wheelbase: 0.31

第一个最小转弯半径,把这个值稍微调大一点,可以防止车采用过分的差速转向策略,而导致速度非常缓慢。第二个前后轮距,个人感觉调这个没有什么明显差别,按照实际的填应该就好。

xy_goal_tolerance: 0.15
yaw_goal_tolerance: 0.34

和目标距离的偏差值,这个可以较为精确,不会带来什么奇特的现象,而第二个和目标方向的偏差值,我这里设置了大约20°左右的允许误差,防止小车在到达目的地后多次进行倒车前进的方向修正(问就是保护电机)

min_obstacle_dist: 0.4
inflation_dist: 0.6
dynamic_obstacle_inflation_dist: 0.6
costmap_obstacles_behind_robot_dist: 1.2

第一个最小许可障碍物距离,这个距离的影响在于是否会在距离张安武很近的时候才考虑转向,如果转向过晚,很可能就导致卡死的情况,而后面两个障碍物碰撞距离,我个人认为好像影响不是特别大。最后一个车尾考虑障碍物距离,这个我设了较大的数值才能保证小车不会倒车撞墙,相应的,更加容易出现卡死无法自救的情况。

weight_dynamic_obstacle: 10.0
weight_dynamic_obstacle_inflation: 0.2
weight_inflation: 0.2
weight_kinematics_forward_drive: 0.0
weight_kinematics_turning_radius: 2.5
weight_obstacle: 250.0
weight_shortest_path: 0.0

weight_kinematics_forward_drive倒车惩罚设为0,倒车速度比差速快多了,weight_obstacle障碍物对车的影响,调大点可以提前转向,避免卡死,weight_kinematics_turning_radius,少用最小转弯半径,避免差速过慢


「雪霁融雾月,冰消凝夜雨」