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


    网上收集关于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

  • 相关阅读:
    2022 百度之星程序设计大赛复赛 D.子序列2(动态dp/线段树维护矩阵)
    讲一讲VS Code配置GoLang语言开发环境
    王道机试C++第 4 章 字符串:字符串内容详解及三个小程序 Day29
    Linux XWindow的安装和配置
    【论文笔记】A Review of Motion Planning for Highway Autonomous Driving
    用调试来帮你分析并拿捏折半插入排序算法的流程
    论文阅读--异常检测中实时大数据处理的研究挑战
    vite+vue+cesium搭建工程:有社区插件方便
    【boot loader】Aurix TC3xx用户手册解读--CAN Bootstrap loader
    Apache Doris以Routine Load方式流式的导入Kafka数据
  • 原文地址:https://blog.csdn.net/chilian12321/article/details/125908875