teb局部路径规划参数调节--差速小车

本文详细解读了TebLocalPlannerROS的调试设置,包括odom_topic、map_frame、轨迹优化参数、机器人特性、障碍物处理和路径规划选项,帮助用户解决实际应用中的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上收集关于Teb Local Planner的调试使用 - 古月居

TebLocalPlannerROS:

 odom_topic: /odom

 map_frame: map #odom_combined

 #Trajectory

 teb_autosize: True #优化期间允许改变轨迹的时域长度

 dt_ref: 0.45 #局部路径规划的解析度--相邻点时间间隔# minimum 0.01

 dt_hysteresis: 0.1 #允许改变的时域解析度的浮动范围, 一般为 dt_ref 的 10% 左右minimum0.002

 global_plan_overwrite_orientation: True  #覆盖全局路径中局部路径点的朝向 

 max_global_plan_lookahead_dist: 0.5 #考虑优化的全局计划子集的最大长度--向前规划最长距离

 feasibility_check_no_poses: 5 #检测位姿可到达的时间间隔 minimum 0

 # Robot

 max_vel_x: 0.2 #最大x前向速度 0.5

 max_vel_y: 0.0 #最大y前向速度,非全向移动小车需要设置为0 0.3

 max_vel_x_backwards: 0.06 #最大后退速度 设置为0或者负数将导致错误 且不小于 penalty_epsilon

 max_vel_theta: 0.3  #最大转向角速度

 acc_lim_x: 0.2  #最大x向加速度

 acc_lim_y: 0  #最大y向加速度,非全向移动小车需要设置为0

 acc_lim_theta: 0.3  #最大角加速度

 min_turning_radius: 0.0   #for mini_diff #阿克曼小车参数,非阿克曼小车设置为0

 #min_turning_radius: 0.426 #for mini_akm    # Min turning radius of the carlike robot (compute value using a model or adjust with rqt_reconfigure manually)

 #min_turning_radius: 0.773 #for senior_akm

 #min_turning_radius: 0.871 #for top_akm_bs

 #min_turning_radius: 1.318 #for top_akm_dl

 wheelbase: 0.0   #for not_akm

 #wheelbase: 0.143 #for mini_akm

 #wheelbase: 0.320 #for senior_akm

 #wheelbase: 0.503 #for top_akm_bs

 #wheelbase: 0.549 #for top_akm_dl

 cmd_angle_instead_rotvel: False #无论是不是阿克曼小车都设置为false,因为阿克曼小车启用了阿克曼速度转换包

                                 #true则cmd_vel/angular/z内的数据是舵机角度

 footprint_model: # types: "point", "circular", "two_circles", "line", "polygon" 默认“point”类型

  # type: "polygon"   #多边形类型for akm/mec,默认”point”。

  type: "circular" #多边形类型for omni

  #line_start: [0.00, 0.0] # for type "line" senior_akm

  #line_end: [0.7, 0.0] # for type "line" top_akm_bs

  #radius: 0.3 # for type "circular"

  #front_offset: 0.2       #for type "two_circles"

  #front_rasius: 0.2       #for type "two_circles"

  #rear_offset : 0.2       #for type "two_circles"

  #rear_rasius : 0.2       #for type "two_circles"

  #阿克曼系列

  #vertices: [[-0.031, -0.093], [-0.031, 0.093],[0.209,0.093],[0.209, -0.093]] #机器人形状 for mini_akm

  #vertices: [[-0.09, -0.185], [-0.09, 0.185], [0.4,0.185],  [0.4, -0.185]]   #机器人形状 for senior_akm

  #vertices: [[-0.13, -0.27],  [-0.13, 0.27],  [0.7,0.27],   [0.7, -0.27]]    #机器人形状 for top_akm_bs backAxleCenter

  #vertices: [[-0.15, -0.38],  [-0.15, 0.38],  [0.67,0.38],  [0.67, -0.38]]   #机器人形状 for top_akm_dl backAxleCenter

  #麦轮系列

  #vertices: [[-0.133, -0.125], [-0.133, 0.125],[0.133,0.125],[0.133, -0.125]] #多边形端点坐标 for mini_mec

  # vertices: [[-0.195, -0.21],  [-0.195, 0.21], [0.195,0.21], [0.195, -0.21]]  #多边形端点坐标 for senior_mec_no

  #vertices: [[-0.29, -0.27],   [-0.29, 0.27],  [0.29,0.27],  [0.29, -0.27]]   #多边形端点坐标 for senior_mec_dl

  #vertices: [[-0.380, -0.330], [-0.380, 0.330],[0.380,0.208],[0.380, -0.330]] #多边形端点坐标 for top_mec_bs

  #vertices: [[-0.280, -0.313], [-0.280, 0.313],[0.280,0.313],[0.280, -0.313]] #多边形端点坐标 for top_mec_dl

  #全向轮系列

  radius: 0.19 #for mini_diff  半径

  #radius: 0.21 #for senior_omni

  # radius: 0.31 #for top_omni

  #差速系列

  #vertices: [[-0.1350, -0.1110], [-0.1350, 0.1110], [0.1350, 0.1110], [0.1350, -0.1110]] #多边形端点坐标 for mini_4wd

  # vertices: [[-0.1200, -0.0900], [-0.1200, 0.0900], [0.1200, 0.0900], [0.1200, -0.0900]] #多边形端点坐标 for mini_diff

  #vertices: [[-0.1350, -0.1350], [-0.1350, 0.1350], [0.1350, 0.1350], [0.1350, -0.1350]] #多边形端点坐标 for mini_tank

  #vertices: [[-0.1975, -0.1849], [-0.1975, 0.1849], [0.1975, 0.1849], [0.1975, -0.1849]] #多边形端点坐标 for top_diff

  #vertices: [[-0.2970, -0.3150], [-0.2970, 0.3150], [0.2970, 0.3150], [0.2970, -0.3150]] #多边形端点坐标 for four_wheel_diff_bs

  #vertices: [[-0.3350, -0.3280], [-0.3350, 0.3280], [0.3350, 0.3280], [0.3350, -0.3280]] #多边形端点坐标 for four_wheel_diff_dl

  #vertices:  [[-0.2800, -0.1600], [-0.2800, 0.1600], [0.1200, 0.1600], [0.1200, -0.1600]] #多边形端点坐标 for brushless_senior_diff

 xy_goal_tolerance: 0.03   #目标 xy 偏移容忍度  minimum 0.001 maximum 0.2

 yaw_goal_tolerance: 0.03 #目标 角度 偏移容忍度 minimum 0.001 maximum 0.1

 free_goal_vel: False  #允许机器人以最大速度驶向目的地

 complete_global_plan: True

 # Obstacles

 min_obstacle_dist: 0.1 #和障碍物最小距离

 include_costmap_obstacles: True  #是否将动态障碍物预测为速度模型,

 costmap_obstacles_behind_robot_dist: 0.5  #限制机器人后方规划时考虑的局部成本地图障碍物

 obstacle_poses_affected: 15   #障碍物姿态受影响0~30

 costmap_converter_plugin: ""

 costmap_converter_spin_thread: True

 costmap_converter_rate: 5

 include_dynamic_obstacles: True

 dynamic_obstacle_inflation_dist: 0.2

 # Optimization  

 no_inner_iterations: 5  #被外循环调用后内循环执行优化次数

 no_outer_iterations: 4 #执行的外循环的优化次数

 optimization_activate: True  #激活优化

 optimization_verbose: False #打印优化过程详情

 penalty_epsilon: 0.05 #为速度等约束提供类似膨胀层的缓冲效果

 obstacle_cost_exponent: 4

 weight_max_vel_x: 2

 weight_max_vel_theta: 1

 weight_acc_lim_x: 1

 weight_acc_lim_theta: 1

 weight_kinematics_nh: 1000 #满足非完整运动学的最优权重

 weight_kinematics_forward_drive: 200  #优化过程中,迫使机器人只选择前进方向,差速轮适用

 weight_kinematics_turning_radius: 1 #优化过程中,车型机器人的最小转弯半径的权重

 weight_optimaltime: 1.5  # must be > 0 最优时间权重

 weight_shortest_path: 0

 weight_obstacle: 100 #优化过程中,和障碍物最小距离的权重

 weight_inflation: 0.2

 weight_dynamic_obstacle: 10 # not in use yet  优化过程中,和动态障碍物最小距离的权重

 weight_dynamic_obstacle_inflation: 0.2

 weight_viapoint: 1

 weight_adapt_factor: 2

 # Homotopy Class Planner

 enable_homotopy_class_planning: False

 enable_multithreading: True #允许多线程并行处理

 max_number_classes: 4 #允许的线程数

 selection_cost_hysteresis: 1.0

 selection_prefer_initial_plan: 0.95

 selection_obst_cost_scale: 1.0

 selection_alternative_time_cost: False

 roadmap_graph_no_samples: 15

 roadmap_graph_area_width: 5

 roadmap_graph_area_length_scale: 1.0

 h_signature_prescaler: 0.5

 h_signature_threshold: 0.1

 obstacle_heading_threshold: 0.45

 switching_blocking_period: 0.0

 viapoints_all_candidates: True

 delete_detours_backwards: True

 max_ratio_detours_duration_best_duration: 3.0

 visualize_hc_graph: False

 visualize_with_time_as_z_axis_scale: False

 # Recovery

 shrink_horizon_backup: True

 shrink_horizon_min_duration: 10

 oscillation_recovery: False  #尝试检测和解决振荡

 oscillation_v_eps: 0.1

 oscillation_omega_eps: 0.1

 oscillation_recovery_min_duration: 10

 oscillation_filter_duration: 10

<think>好的,我现在需要帮助用户了解如何通过指令设置TEB局部路径规划器的参数。首先,我需要回忆一下TEB在ROS中的使用情况,以及相关的配置方法。用户提到了安装和参数说明,可能他们刚接触TEB,需要基础指导。 首先,TEB参数配置通常有两种方式:静态配置文件修改和动态调节工具。静态配置是在YAML文件中设置参数,这些参数在启动节点时加载。动态调节则使用rqt_reconfigure工具,允许实时调整参数并观察效果。用户提到的引用中提到了rqt_reconfigure,所以需要强调这个工具的使用。 接下来,我应该分步骤说明这两种方法。对于静态配置,用户需要找到TEB的配置文件,一般在ROS包的config目录下,比如teb_local_planner_params.yaml。要列出常见的参数类别,比如机器人运动学、目标容忍、障碍物、优化参数等,并举例说明参数格式,例如max_vel_x: 0.4。同时,需要提醒用户在修改后重新启动节点或使用launch文件加载新参数。 然后是动态调节,用户可能更关心如何实时调整参数。需要详细说明运行rqt_reconfigure的步骤,比如使用rosrun命令,并选择teb_local_planner节点。要提到动态调节的优势,比如即时反馈,但也要指出某些参数可能需要重启才能生效。 另外,用户提供的引用[3]提到了障碍物参数,需要特别指出如何配置自定义障碍物,可能涉及的话题或参数名称,比如~/obstacles。这部分可能需要结合ROS消息类型,比如teb_local_planner/ObstacleMsg,但用户可能不需要深入细节,只需知道如何设置即可。 安装部分,用户可能已经安装了TEB,但如果有疑问,需要简要说明安装方法,比如通过apt-get或源码编译,但根据引用内容,可能用户更关注参数配置,所以安装部分可以简短带过,提供参考命令。 最后,生成相关问题时要覆盖用户可能进一步的问题,比如参数优化策略、常见错误、动态调节的保存方法,以及与其他规划器的对比。这样可以帮助用户扩展知识,解决后续可能遇到的问题。 需要确保回答结构清晰,步骤明确,使用中文,并正确引用提供的参考资料。同时,检查LaTeX格式是否符合要求,比如行内公式使用$...$,独立公式用$$...$$,但在这个问题中可能公式较少,主要注意代码块和参数格式的正确性。</think>### Teb局部路径规划参数配置教程 Teb(Timed Elastic Band)参数配置分为静态配置和动态调节两种方式,以下是具体操作步骤: 一、**静态配置文件设置** 1. 配置文件通常位于`/config/teb_local_planner_params.yaml` 2. 主要参数类别: - 机器人运动学参数:`max_vel_x`(最大线速度)、`max_vel_theta`(最大角速度) - 目标点容忍度:`xy_goal_tolerance`(位置误差阈值)、`yaw_goal_tolerance`(角度误差阈值) - 障碍物参数:`inflation_dist`(障碍物膨胀距离)、`weight_obstacle`(障碍物代价权重) - 优化参数:`no_inner_iterations`(内部优化迭代次数) ```yaml TebLocalPlannerROS: max_vel_x: 0.4 xy_goal_tolerance: 0.1 inflation_dist: 0.35 footprint_model: # 机器人轮廓模型 type: "point" # 或"polygon" ``` 二、**动态参数调节** 1. 启动动态调试工具: ```bash rosrun rqt_reconfigure rqt_reconfigure ``` 2. 选择`teb_local_planner`节点实时调节参数[^2] 三、**特殊参数配置** 障碍物处理可通过`~/obstacles`话题接收自定义障碍物信息[^3],支持点/线/多边形等格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chilian12321

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值