当前位置: 首页 > article >正文

【比较乱,如果遇到相同问题可以看】Autoware.universe的绕障线路的参数修改

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、tier4_planning_component.launch.xml
  • 二、planning.launch.xml
  • 三、参数文件
    • 1.behavior_path_planner.param.yaml
    • 2.side_shift.param.yaml
    • 3.static_obstacle_avoidance.param.yaml
    • 4.avoidance_by_lane_change.param.yaml
    • 5.dynamic_obstacle_avoidance.param.yaml
    • 6.lane_change.param.yaml
    • 7.side_shift.param.yaml
    • 2.读入数据
  • 总结


前言

control那里还没学完,但是目前来了个比较着急的任务,需要解决一个问题:
绕障碍物时,路径太远了。
看了一下仿真里面的效果一样,如图:
在这里插入图片描述

哪怕速度很慢,也是距离障碍物10m就开始拐了,横向距离大约2.3m。
如果是在低速的园区中的话,这样也太占路了,并且激光雷达的精度还是比较准的,所以需要尽量把这部分给缩小,尽量能贴着绕开。
于是,便开始了研究planning这部分的工作。

我还是从tier4_planning_component.launch.xml开始出发,主要为了找到可以修改这部分的参数。

注意:直接说结论:
直接看官方文档:https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/autoware_behavior_path_static_obstacle_avoidance_module/#relationship-between-envelope-polygon-and-avoidance-path

横向绕障距离用static_obstacle_avoidance.param.yaml文件中的

            soft_margin: 0.7
            hard_margin: 0.5
            hard_margin_for_parked_vehicle: 0.5

计算公式为:soft_margin+ hard_margin/ hard_margin_for_parked_vehicle

把前两项都改成0.1后:
在这里插入图片描述

纵向绕障距离纵向位置取决于包络多边形、自我车辆规格和以下参数。

在官方文档的基础上再做一部分补充:

以下是针对这段描述的详细解释,说明了纵向位置如何依赖于包络多边形、自车规格以及相关参数:

---

### **纵向位置的确定**
纵向位置的计算依赖于以下因素:
1. **包络多边形(Envelope Polygon)**:障碍物的边界多边形,用于表示障碍物的几何形状。
2. **自车规格(Ego Vehicle Specification)**:包括自车的前悬(`front_overhang`)和后悬(`rear_overhang`),这些参数通常在 `vehicle_info.param.yaml` 中定义。
3. **纵向裕度(Longitudinal Margin)**:用户定义的额外安全距离,用于确保避障时的安全性。

---

### **纵向距离的计算**
纵向距离的计算分为两个部分:
1. **避障段结束点与包络多边形之间的距离(前向纵向缓冲)**:
   - 如果参数 `consider_front_overhang` 为 `true`,则前向纵向缓冲距离为:
     \[
     \text{前向纵向缓冲} = \text{front\_overhang} + \text{longitudinal\_margin}
     \]
   - 如果 `consider_front_overhang` 为 `false`,则仅考虑纵向裕度:
     \[
     \text{前向纵向缓冲} = \text{longitudinal\_margin}
     \]

2. **返回段起始点与包络多边形之间的距离(后向纵向缓冲)**:
   - 后向纵向缓冲距离为:
     \[
     \text{后向纵向缓冲} = \text{rear\_overhang} + \text{longitudinal\_margin}
     \]

---

### **参数说明**
- **`front_overhang`**:自车前悬距离,表示自车前端到前轴的距离。
- **`rear_overhang`**:自车后悬距离,表示自车后端到后轴的距离。
- **`longitudinal_margin`**:用户定义的纵向安全裕度,用于增加避障时的安全性。
- **`consider_front_overhang`**:布尔参数,决定是否在计算前向纵向缓冲时考虑自车的前悬。

---

### **示例**
假设:
- `front_overhang = 1.0` 米
- `rear_overhang = 1.5` 米
- `longitudinal_margin = 0.5` 米
- `consider_front_overhang = true`

则:
1. **前向纵向缓冲**:
   \[
   \text{前向纵向缓冲} = 1.0 + 0.5 = 1.5 \text{米}
   \]

2. **后向纵向缓冲**:
   \[
   \text{后向纵向缓冲} = 1.5 + 0.5 = 2.0 \text{米}
   \]

---

### **总结**
- 纵向位置的计算结合了自车规格(前悬和后悬)和用户定义的纵向裕度。
- 通过参数 `consider_front_overhang` 可以灵活控制是否在计算中考虑自车的前悬。
- 这种设计确保了避障时的安全性,同时允许用户根据具体需求调整纵向裕度。

所以我们只需要改static_obstacle_avoidance.param.yaml中的longitudinal_margin和vehicle_info.param.yaml中的front_overhang和rear_overhang就可以。

对了,最大速度和planning有关,其中的common.param里面第一个就是最大速度。


一、tier4_planning_component.launch.xml

这部分主要就是调用planning.launch.xml,并传入各个参数。
为了解决上面提到的问题,我们目光集中在可能的几个参数文件:

behavior_path_planner.param.yaml:通用参数文件路径
/side_shift/side_shift.param.yaml:侧向移动模块参数文件,定义了车辆在车道内进行侧向移动(如避让障碍物)的行为参数
autoware_behavior_path_static_obstacle_avoidance_module/static_obstacle_avoidance.param.yaml:静态障碍物避让模块参数文件,车辆避让静态障碍物(如停放的车辆)的行为参数
/avoidance_by_lane_change/avoidance_by_lane_change.param.yaml:通过车道变换避让模块参数文件
autoware_behavior_path_dynamic_obstacle_avoidance_module/dynamic_obstacle_avoidance.param.yaml:动态障碍物避让模块参数文件
/lane_change/lane_change.param.yaml:车道变换模块参数文件

代码如下:

<?xml version="1.0"?>
<launch>
  <!-- 
    NOTE: 以下是可选参数的定义,可以在启动时传入。
    - module_preset: 指定使用的预设配置,默认值为 "default"。
    - enable_all_modules_auto_mode: 是否启用所有模块的自动模式,默认值为 false。
    - is_simulation: 是否运行在仿真模式下,默认值为 false。
  -->
  <arg name="module_preset" default="default"/>
  <arg name="enable_all_modules_auto_mode" default="false"/>
  <arg name="is_simulation" default="false"/>

  <!-- 
    根据 module_preset 参数加载对应的预设配置文件。
    例如,如果 module_preset 是 "default",则加载 default_preset.yaml。
  -->
  <include file="$(find-pkg-share autoware_launch)/config/planning/preset/$(var module_preset)_preset.yaml"/>

  <!-- 
    引入 tier4_planning_launch 包中的 planning.launch.xml 文件,
    这是规划模块的主启动文件。
  -->
  <include file="$(find-pkg-share tier4_planning_launch)/launch/planning.launch.xml">
    <!-- 
      车辆参数文件路径,根据 vehicle_model 参数动态生成。
      例如,如果 vehicle_model 是 "my_vehicle",则加载 my_vehicle_description 包中的 vehicle_info.param.yaml。
    -->
    <arg name="vehicle_param_file" value="$(find-pkg-share $(var vehicle_model)_description)/config/vehicle_info.param.yaml"/>

    <!-- 
      点云容器的名称,用于指定点云数据的来源。
    -->
    <arg name="pointcloud_container_name" value="$(var pointcloud_container_name)"/>

    <!-- 
      是否启用所有模块的自动模式,由 enable_all_modules_auto_mode 参数决定。
    -->
    <arg name="enable_all_modules_auto_mode" value="$(var enable_all_modules_auto_mode)"/>

    <!-- 
      是否运行在仿真模式下,由 is_simulation 参数决定。
    -->
    <arg name="is_simulation" value="$(var is_simulation)"/>

    <!-- 
      通用配置路径,用于加载规划模块的通用参数。
    -->
    <arg name="common_config_path" value="$(find-pkg-share autoware_launch)/config/planning/scenario_planning/common"/>
    <arg name="common_param_path" value="$(var common_config_path)/common.param.yaml"/>
    <arg name="nearest_search_param_path" value="$(var common_config_path)/nearest_search.param.yaml"/>
    <arg name="costmap_generator_param_path" value="$(var common_config_path)/costmap_generator.param.yaml"/>

    <!-- 
      任务规划器参数路径,用于加载任务规划模块的配置。
    -->
    <arg name="mission_planner_param_path" value="$(find-pkg-share autoware_launch)/config/planning/mission_planning/mission_planner/mission_planner.param.yaml"/>

    <!-- 
      行为路径规划器参数路径,用于加载行为路径规划模块的配置。
      包括通用参数、场景模块管理器参数、车道变换参数、障碍物避让参数等。
    -->
<!-- 
  行为路径规划器的配置文件路径。
  该路径指向行为路径规划模块的配置文件目录。
-->
<arg name="behavior_path_config_path" value="$(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner"/>

<!-- 
  行为路径规划器的通用参数文件路径。
  该文件包含行为路径规划模块的通用配置参数。
-->
<arg name="behavior_path_planner_common_param_path" value="$(var behavior_path_config_path)/behavior_path_planner.param.yaml"/>

<!-- 
  行为路径规划器的场景模块管理器参数文件路径。
  该文件定义了场景模块管理器的配置,用于管理不同的行为场景。
-->
<arg name="behavior_path_planner_scene_module_manager_param_path" value="$(var behavior_path_config_path)/scene_module_manager.param.yaml"/>

<!-- 
  行为路径规划器的侧向移动模块参数文件路径。
  该文件定义了车辆在车道内进行侧向移动(如避让障碍物)的行为参数。
-->
<arg name="behavior_path_planner_side_shift_module_param_path" value="$(var behavior_path_config_path)/side_shift/side_shift.param.yaml"/>

<!-- 
  行为路径规划器的静态障碍物避让模块参数文件路径。
  该文件定义了车辆避让静态障碍物(如停放的车辆)的行为参数。
-->
<arg name="behavior_path_planner_static_obstacle_avoidance_module_param_path" value="$(var behavior_path_config_path)/autoware_behavior_path_static_obstacle_avoidance_module/static_obstacle_avoidance.param.yaml"/>

<!-- 
  行为路径规划器的通过车道变换避让模块参数文件路径。
  该文件定义了车辆通过变换车道来避让障碍物的行为参数。
-->
<arg name="behavior_path_planner_avoidance_by_lc_module_param_path" value="$(var behavior_path_config_path)/avoidance_by_lane_change/avoidance_by_lane_change.param.yaml"/>

<!-- 
  行为路径规划器的采样规划模块参数文件路径。
  该文件定义了基于采样的路径规划算法的参数。
-->
<arg name="behavior_path_planner_sampling_planner_module_param_path" value="$(var behavior_path_config_path)/sampling_planner/sampling_planner.param.yaml"/>

<!-- 
  行为路径规划器的动态障碍物避让模块参数文件路径。
  该文件定义了车辆避让动态障碍物(如行人或其他车辆)的行为参数。
-->
<arg name="behavior_path_planner_dynamic_obstacle_avoidance_module_param_path" value="$(var behavior_path_config_path)/autoware

    <!-- 
      行为速度规划器参数路径,用于加载行为速度规划模块的配置。
      包括通用参数、盲区检测参数、人行横道参数、交通灯参数等。
    -->
    <arg name="behavior_velocity_config_path" value="$(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner"/>
    <arg name="behavior_velocity_smoother_type_param_path" value="$(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/autoware_velocity_smoother/Analytical.param.yaml"/>
    <arg name="behavior_velocity_planner_common_param_path" value="$(var behavior_velocity_config_path)/behavior_velocity_planner.param.yaml"/>
    <arg name="behavior_velocity_planner_blind_spot_module_param_path" value="$(var behavior_velocity_config_path)/blind_spot.param.yaml"/>
    <arg name="behavior_velocity_planner_crosswalk_module_param_path" value="$(var behavior_velocity_config_path)/crosswalk.param.yaml"/>
    <arg name="behavior_velocity_planner_walkway_module_param_path" value="$(var behavior_velocity_config_path)/walkway.param.yaml"/>
    <arg name="behavior_velocity_planner_detection_area_module_param_path" value="$(var behavior_velocity_config_path)/detection_area.param.yaml"/>
    <arg name="behavior_velocity_planner_intersection_module_param_path" value="$(var behavior_velocity_config_path)/intersection.param.yaml"/>
    <arg name="behavior_velocity_planner_stop_line_module_param_path" value="$(var behavior_velocity_config_path)/stop_line.param.yaml"/>
    <arg name="behavior_velocity_planner_traffic_light_module_param_path" value="$(var behavior_velocity_config_path)/traffic_light.param.yaml"/>
    <arg name="behavior_velocity_planner_virtual_traffic_light_module_param_path" value="$(var behavior_velocity_config_path)/virtual_traffic_light.param.yaml"/>
    <arg name="behavior_velocity_planner_occlusion_spot_module_param_path" value="$(var behavior_velocity_config_path)/occlusion_spot.param.yaml"/>
    <arg name="behavior_velocity_planner_no_stopping_area_module_param_path" value="$(var behavior_velocity_config_path)/no_stopping_area.param.yaml"/>
    <arg name="behavior_velocity_planner_run_out_module_param_path" value="$(var behavior_velocity_config_path)/run_out.param.yaml"/>
    <arg name="behavior_velocity_planner_speed_bump_module_param_path" value="$(var behavior_velocity_config_path)/speed_bump.param.yaml"/>
    <arg name="behavior_velocity_planner_no_drivable_lane_module_param_path" value="$(var behavior_velocity_config_path)/no_drivable_lane.param.yaml"/>
    <arg name="compare_map_filter_param_path" value="$(find-pkg-share autoware_launch)/config/perception/object_recognition/detection/pointcloud_filter/pointcloud_map_filter.param.yaml"/>

    <!-- 
      停车规划参数路径,用于加载自由空间规划模块的配置。
    -->
    <arg name="freespace_planner_param_path" value="$(find-pkg-share autoware_launch)/config/planning/scenario_planning/parking/freespace_planner/freespace_planner.param.yaml"/>

    <!-- 
      运动规划参数路径,用于加载运动规划模块的配置。
      包括路径平滑器参数、路径优化器参数、障碍物检测参数等。
    -->
<!-- 
  行为速度规划器的配置文件路径。
  该路径指向行为速度规划模块的配置文件目录。
-->
<arg name="behavior_velocity_config_path" value="$(find-pkg-share autoware_launch)/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner"/>

<!-- 
  行为速度平滑器类型参数文件路径。
  该文件定义了速度平滑器的类型及其参数,当前使用的是 Analytical 类型的平滑器。
-->
<arg name="behavior_velocity_smoother_type_param_path" value="$(find-pkg-share autoware_launch)/config/planning/scenario_planning/common/autoware_velocity_smoother/Analytical.param.yaml"/>

<!-- 
  行为速度规划器的通用参数文件路径。
  该文件包含行为速度规划模块的通用配置参数。
-->
<arg name="behavior_velocity_planner_common_param_path" value="$(var behavior_velocity_config_path)/behavior_velocity_planner.param.yaml"/>

<!-- 
  行为速度规划器的盲区检测模块参数文件路径。
  该文件定义了车辆在盲区检测时的行为参数,用于检测盲区内的障碍物。
-->
<arg name="behavior_velocity_planner_blind_spot_module_param_path" value="$(var behavior_velocity_config_path)/blind_spot.param.yaml"/>

<!-- 
  行为速度规划器的人行横道模块参数文件路径。
  该文件定义了车辆在接近人行横道时的行为参数,如减速或停车。
-->
<arg name="behavior_velocity_planner_crosswalk_module_param_path" value="$(var behavior_velocity_config_path)/crosswalk.param.yaml"/>

<!-- 
  行为速度规划器的人行道模块参数文件路径。
  该文件定义了车辆在接近人行道时的行为参数。
-->
<arg name="behavior_velocity_planner_walkway_module_param_path" value="$(var behavior_velocity_config_path)/walkway.param.yaml"/>

<!-- 
  行为速度规划器的检测区域模块参数文件路径。
  该文件定义了车辆在检测区域内的行为参数,如减速或停车。
-->
<arg name="behavior_velocity_planner_detection_area_module_param_path" value="$(var behavior_velocity_config_path)/detection_area.param.yaml"/>

<!-- 
  行为速度规划器的交叉路口模块参数文件路径。
  该文件定义了车辆在交叉路口的行为参数,如优先权判断和避让。
-->
<arg name="behavior_velocity_planner_intersection_module_param_path" value="$(var behavior_velocity_config_path)/intersection.param.yaml"/>

<!-- 
  行为速度规划器的停止线模块参数文件路径。
  该文件定义了车辆在停止线前的行为参数,如减速和停车。
-->
<arg name="behavior_velocity_planner_stop_line_module_param_path" value="$(var behavior_velocity_config_path)/stop_line.param.yaml"/>

<!-- 
  行为速度规划器的交通灯模块参数文件路径。
  该文件定义了车辆在交通灯前的行为参数,如根据信号灯状态停车或通行。
-->
<arg name="behavior_velocity_planner_traffic_light_module_param_path" value="$(var behavior_velocity_config_path)/traffic_light.param.yaml"/>

<!-- 
  行为速度规划器的虚拟交通灯模块参数文件路径。
  该文件定义了车辆在虚拟交通灯前的行为参数,通常用于仿真或特定场景。
-->
<arg name="behavior_velocity_planner_virtual_traffic_light_module_param_path" value="$(var behavior_velocity_config_path)/virtual_traffic_light.param.yaml"/>

<!-- 
  行为速度规划器的遮挡区域检测模块参数文件路径。
  该文件定义了车辆在遮挡区域(如建筑物遮挡)的行为参数,用于检测潜在障碍物。
-->
<arg name="behavior_velocity_planner_occlusion_spot_module_param_path" value="$(var behavior_velocity_config_path)/occlusion_spot.param.yaml"/>

<!-- 
  行为速度规划器的禁止停车区域模块参数文件路径。
  该文件定义了车辆在禁止停车区域内的行为参数,如禁止停车或减速。
-->
<arg name="behavior_velocity_planner_no_stopping_area_module_param_path" value="$(var behavior_velocity_config_path)/no_stopping_area.param.yaml"/>

<!-- 
  行为速度规划器的冲出检测模块参数文件路径。
  该文件定义了车辆在检测到可能冲出道路时的行为参数,如紧急制动。
-->
<arg name="behavior_velocity_planner_run_out_module_param_path" value="$(var behavior_velocity_config_path)/run_out.param.yaml"/>

<!-- 
  行为速度规划器的减速带模块参数文件路径。
  该文件定义了车辆在接近减速带时的行为参数,如减速通过。
-->
<arg name="behavior_velocity_planner_speed_bump_module_param_path" value="$(var behavior_velocity_config_path)/speed_bump.param.yaml"/>

<!-- 
  行为速度规划器的不可行驶车道模块参数文件路径。
  该文件定义了车辆在不可行驶车道上的行为参数,如避让或停车。
-->
<arg name="behavior_velocity_planner_no_drivable_lane_module_param_path" value="$(var behavior_velocity_config_path)/no_drivable_lane.param.yaml"/>

<!-- 
  点云地图过滤器参数文件路径。
  该文件定义了点云地图过滤器的参数,用于处理感知模块的点云数据。
-->
<arg name="compare_map_filter_param_path" value="$(find-pkg-share autoware_launch)/config/perception/object_recognition/detection/pointcloud_filter/pointcloud_map_filter.param.yaml"/>

    <!-- 
      速度平滑器参数路径,用于加载速度平滑模块的配置。
    -->
    <arg name="velocity_smoother_param_path" value="$(var common_config_path)/autoware_velocity_smoother/velocity_smoother.param.yaml"/>
    <arg name="velocity_smoother_type_param_path" value="$(var common_config_path)/autoware_velocity_smoother/$(var velocity_smoother_type).param.yaml"/>

    <!-- 
      规划验证器参数路径,用于加载规划验证模块的配置。
    -->
    <arg name="planning_validator_param_path" value="$(var common_config_path)/planning_validator/planning_validator.param.yaml"/>
  </include>
</launch>

二、planning.launch.xml

在看参数文件之前,先看一下这个launch文件。
这个里面内容较简单,不再多解释什么。
负责启动以下模块:

任务规划模块:处理全局路径规划和任务分配。

场景规划模块:处理具体的驾驶场景(如车道驾驶、停车等)。

规划验证器模块:验证生成的轨迹是否有效。

规划评估器模块:评估规划结果的质量。

剩余距离和时间计算器模块:计算任务剩余的行驶距离和时间。
<launch>
  <!-- 
    规划模块的启动文件。
    该文件负责启动与规划相关的各个模块,包括任务规划、场景规划、规划验证器等。
  -->

  <!-- 
    任务规划器的参数文件路径。
    该参数需要在启动时传入,用于配置任务规划模块。
  -->
  <arg name="mission_planner_param_path"/>

  <!-- 
    停车规划器的参数文件路径。
    该参数需要在启动时传入,用于配置自由空间规划模块。
  -->
  <arg name="freespace_planner_param_path"/>

  <!-- 
    规划验证器的参数文件路径。
    该参数需要在启动时传入,用于配置规划验证模块。
  -->
  <arg name="planning_validator_param_path"/>

  <!-- 
    自动模式设置。
    - enable_all_modules_auto_mode: 是否启用所有模块的自动模式。
    - is_simulation: 是否运行在仿真模式下。
  -->
  <arg name="enable_all_modules_auto_mode"/>
  <arg name="is_simulation"/>

  <!-- 
    规划模块的命名空间组。
    所有规划相关的节点和话题都将放在 "planning" 命名空间下。
  -->
  <group>
    <push-ros-namespace namespace="planning"/>

    <!-- 
      任务规划模块。
      该模块负责处理全局路径规划和任务分配。
    -->
    <group>
      <push-ros-namespace namespace="mission_planning"/>
      <!-- 
        引入任务规划模块的启动文件。
        该文件负责启动任务规划器,并传入相应的参数。
      -->
      <include file="$(find-pkg-share tier4_planning_launch)/launch/mission_planning/mission_planning.launch.xml">
        <arg name="mission_planner_param_path" value="$(var mission_planner_param_path)"/>
      </include>
    </group>

    <!-- 
      场景规划模块。
      该模块负责处理具体的驾驶场景(如车道驾驶、停车等)。
    -->
    <group>
      <push-ros-namespace namespace="scenario_planning"/>
      <!-- 
        引入场景规划模块的启动文件。
        该文件负责启动场景规划器,并传入自动模式和仿真模式的参数。
      -->
      <include file="$(find-pkg-share tier4_planning_launch)/launch/scenario_planning/scenario_planning.launch.xml">
        <arg name="enable_all_modules_auto_mode" value="$(var enable_all_modules_auto_mode)"/>
        <arg name="is_simulation" value="$(var is_simulation)"/>
      </include>
    </group>

    <!-- 
      规划验证器模块。
      该模块负责验证生成的轨迹是否有效。
    -->
    <group>
      <!-- 
        引入规划验证器的启动文件。
        该文件负责启动规划验证器,并传入输入轨迹、输出轨迹和参数文件路径。
      -->
      <include file="$(find-pkg-share autoware_planning_validator)/launch/planning_validator.launch.xml">
        <arg name="input_trajectory" value="/planning/scenario_planning/velocity_smoother/trajectory"/>
        <arg name="output_trajectory" value="/planning/scenario_planning/trajectory"/>
        <arg name="planning_validator_param_path" value="$(var planning_validator_param_path)"/>
      </include>
    </group>

    <!-- 
      规划评估器模块。
      该模块负责评估规划结果的质量。
    -->
    <group>
      <!-- 
        引入规划评估器的启动文件。
        该文件负责启动规划评估器。
      -->
      <include file="$(find-pkg-share autoware_planning_evaluator)/launch/planning_evaluator.launch.xml"/>
    </group>

    <!-- 
      任务剩余距离和时间计算器模块。
      该模块负责计算任务剩余的行驶距离和时间。
    -->
    <group>
      <!-- 
        引入剩余距离和时间计算器的启动文件。
        该文件负责启动计算器。
      -->
      <include file="$(find-pkg-share autoware_remaining_distance_time_calculator)/launch/remaining_distance_time_calculator.launch.xml"/>
    </group>
  </group>
</launch>

三、参数文件

behavior_path_planner.param.yaml:通用参数文件路径
/side_shift/side_shift.param.yaml:侧向移动模块参数文件,定义了车辆在车道内进行侧向移动(如避让障碍物)的行为参数
autoware_behavior_path_static_obstacle_avoidance_module/static_obstacle_avoidance.param.yaml:静态障碍物避让模块参数文件,车辆避让静态障碍物(如停放的车辆)的行为参数
/avoidance_by_lane_change/avoidance_by_lane_change.param.yaml:通过车道变换避让模块参数文件
autoware_behavior_path_dynamic_obstacle_avoidance_module/dynamic_obstacle_avoidance.param.yaml:动态障碍物避让模块参数文件
/lane_change/lane_change.param.yaml:车道变换模块参数文件

文件都在config/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner路径下

改了之后为了保险,编译一下:colcon build --packages-select autoware_launch

从头到尾依次看吧,希望能找到:

1.behavior_path_planner.param.yaml

这个里面没有能改的有用的。
代码如下:

/**:
  ros__parameters:
    # 交通灯信号超时时间(单位:秒)。
    # 如果超过此时间未收到交通灯信号,则认为信号无效。
    traffic_light_signal_timeout: 1.0

    # 规划模块的运行频率(单位:Hz)。
    # 表示规划模块每秒运行的次数。
    planning_hz: 10.0

    # 向后路径长度(单位:米)。
    # 规划路径时,向后扩展的路径长度。
    backward_path_length: 5.0

    # 向前路径长度(单位:米)。
    # 规划路径时,向前扩展的路径长度。
    forward_path_length: 300.0

    # 拉倒结束时的向后缓冲长度(单位:米)。
    # 在拉倒操作结束时,向后扩展的缓冲路径长度。
    backward_length_buffer_for_end_of_pull_over: 5.0

    # 拉出结束时的向后缓冲长度(单位:米)。
    # 在拉出操作结束时,向后扩展的缓冲路径长度。
    backward_length_buffer_for_end_of_pull_out: 5.0

    # 最小拉倒长度(单位:米)。
    # 拉倒操作所需的最小路径长度。
    minimum_pull_over_length: 16.0

    # 目标点精炼搜索半径范围(单位:米)。
    # 在精炼目标点时,搜索目标点的半径范围。
    refine_goal_search_radius_range: 7.5

    # 转向灯决策器参数
    # 转向灯决策器用于决定何时开启转向灯。

    # 转向灯决策器在交叉路口的搜索距离(单位:米)。
    # 在交叉路口前多少米开始搜索是否需要开启转向灯。
    turn_signal_intersection_search_distance: 30.0

    # 转向灯决策器在交叉路口的角度阈值(单位:度)。
    # 如果车辆转向角度超过此阈值,则开启转向灯。
    turn_signal_intersection_angle_threshold_deg: 15.0

    # 转向灯决策器的最小搜索距离(单位:米)。
    # 在开启转向灯前,至少需要搜索的距离。
    turn_signal_minimum_search_distance: 10.0

    # 转向灯决策器的搜索时间(单位:秒)。
    # 在开启转向灯前,搜索转向条件的时间。
    turn_signal_search_time: 3.0

    # 转向灯决策器的横向偏移长度阈值(单位:米)。
    # 如果车辆横向偏移超过此阈值,则开启转向灯。
    turn_signal_shift_length_threshold: 0.3

    # 转向灯决策器的剩余横向偏移长度阈值(单位:米)。
    # 如果车辆剩余横向偏移超过此阈值,则保持转向灯开启。
    turn_signal_remaining_shift_length_threshold: 0.1

    # 是否在车辆摆动时开启转向灯。
    # 如果为 true,则在车辆摆动时开启转向灯。
    turn_signal_on_swerving: true

    # 是否优先使用 Akima 样条曲线。
    # 如果为 true,则优先使用 Akima 样条曲线进行路径插值。
    enable_akima_spline_first: false

    # 是否将车辆重心(Center of Gravity, CoG)放在中心线上。
    # 如果为 true,则将车辆重心放在路径中心线上。
    enable_cog_on_centerline: false

    # 输入路径的采样间隔(单位:米)。
    # 输入路径的采样点之间的间隔距离。
    input_path_interval: 2.0

    # 输出路径的采样间隔(单位:米)。
    # 输出路径的采样点之间的间隔距离。
    output_path_interval: 2.0

    # 是否启用静态障碍物避让。
    # 如果为 true,则启用静态障碍物避让功能。
    enable_static_obstacle_avoidance: true

    # 是否启用动态障碍物避让。
    # 如果为 true,则启用动态障碍物避让功能。
    enable_dynamic_obstacle_avoidance: true

    # 启用的场景模块列表。
    # 列出当前启用的场景模块,包括静态障碍物避让、动态障碍物避让和通过车道变换避让。
    scenario_modules: [
      "static_obstacle_avoidance",
      "dynamic_obstacle_avoidance",
      "avoidance_by_lane_change"
    ]

    # 是否启用模块的自动模式。
    # 如果为 true,则启用模块的自动模式,模块会根据环境自动调整行为。
    enable_module_auto_mode: true

2.side_shift.param.yaml

这个和避障还是没啥关系:

/**:
  ros__parameters:
    # 侧向移动(Side Shift)模块的参数配置。
    # 该模块用于控制车辆在车道内进行侧向移动(如避让障碍物或调整车道位置)。

    side_shift:
      # 开始侧向移动的最小距离(单位:米)。
      # 当车辆距离目标侧向移动位置小于此值时,开始执行侧向移动。
      min_distance_to_start_shifting: 5.0

      # 开始侧向移动的时间(单位:秒)。
      # 在开始侧向移动前,需要等待的时间。
      time_to_start_shifting: 1.0

      # 侧向移动的横向加加速度(单位:米/秒³)。
      # 控制侧向移动的平滑性,值越小,移动越平滑。
      shifting_lateral_jerk: 0.2

      # 最小侧向移动距离(单位:米)。
      # 如果目标侧向移动距离小于此值,则不执行侧向移动。
      min_shifting_distance: 5.0

      # 最小侧向移动速度(单位:米/秒)。
      # 车辆速度低于此值时,不执行侧向移动。
      min_shifting_speed: 5.56

      # 侧向移动请求的时间限制(单位:秒)。
      # 如果侧向移动请求超过此时间未完成,则取消该请求。
      shift_request_time_limit: 1.0

      # 是否发布调试标记(debug marker)。
      # 如果为 true,则在 RViz 中发布侧向移动的调试标记,用于可视化调试。
      publish_debug_marker: false

3.static_obstacle_avoidance.param.yaml

这部分就有关系了.
里面有对各种避障目标的避障参数。
改了半天也没看到什么变化,先继续往下看看。

/**:
  ros__parameters:
    # 避障模块的参数配置。
    # 该模块用于控制车辆在行驶过程中避让静态和动态障碍物。

    avoidance:
      # 路径重采样间隔(单位:米)。
      # 用于规划路径时的重采样间隔。
      resample_interval_for_planning: 0.3               # [m] FOR DEVELOPER
      # 输出路径的重采样间隔(单位:米)。
      # 用于输出路径时的重采样间隔。
      resample_interval_for_output: 4.0                 # [m] FOR DEVELOPER

      # 可行驶车道设置。
      # 该模块不仅可以使用当前车道,还可以使用左右车道(如果当前车道与左右车道在 HDMap 中共享边界)。
      # 可选值:
      # - "current_lane"           : 仅使用当前车道,不使用相邻车道避让障碍物。
      # - "same_direction_lane"    : 使用同方向车道避让障碍物(如果需要)。
      # - "opposite_direction_lane": 使用同方向和反方向车道避让障碍物。
      use_lane_type: "opposite_direction_lane"

      # 可行驶区域设置。
      # 是否使用交叉口区域、斑马线区域和自由空间区域。
      use_intersection_areas: true
      use_hatched_road_markings: true
      use_freespace_areas: true

      # 避障目标对象配置。
      # 针对不同类型的障碍物设置避障参数。
target_object:
  # 针对不同类型障碍物的避障参数配置。
  # 每种类型障碍物都有独立的参数,用于定义避障行为。

  # 汽车(car)的避障参数。
  car:
    th_moving_speed: 1.0                          # [m/s] 移动速度阈值,超过此速度的汽车被视为动态障碍物。
    th_moving_time: 2.0                           # [s] 移动时间阈值,超过此时间的汽车被视为动态障碍物。
    longitudinal_margin: 0.0                      # [m] 纵向避让距离,车辆与汽车之间的最小纵向距离。
    lateral_margin:
      soft_margin: 0.7                            # [m] 软横向避让距离,用于避让动态障碍物。
      hard_margin: 0.2                            # [m] 硬横向避让距离,用于避让静态障碍物。
      hard_margin_for_parked_vehicle: 0.7         # [m] 针对停放车辆的硬横向避让距离。
    max_expand_ratio: 0.0                         # [-] 最大扩展比例(开发者参数),用于调整障碍物边界。
    envelope_buffer_margin: 0.1                   # [m] 包络缓冲区距离(开发者参数),用于扩展障碍物边界。
    th_error_eclipse_long_radius : 0.6            # [m] 椭圆长轴误差阈值,用于障碍物形状的误差容忍。

  # 卡车(truck)的避障参数,与汽车类似。
  truck:
    th_moving_speed: 1.0
    th_moving_time: 2.0
    longitudinal_margin: 0.0
    lateral_margin:
      soft_margin: 0.7
      hard_margin: 0.2
      hard_margin_for_parked_vehicle: 0.7
    max_expand_ratio: 0.0
    envelope_buffer_margin: 0.1
    th_error_eclipse_long_radius : 0.6

  # 公交车(bus)的避障参数,与汽车类似。
  bus:
    th_moving_speed: 1.0
    th_moving_time: 2.0
    longitudinal_margin: 0.0
    lateral_margin:
      soft_margin: 0.7
      hard_margin: 0.2
      hard_margin_for_parked_vehicle: 0.7
    max_expand_ratio: 0.0
    envelope_buffer_margin: 0.1
    th_error_eclipse_long_radius : 0.6

  # 拖车(trailer)的避障参数,与汽车类似。
  trailer:
    th_moving_speed: 1.0
    th_moving_time: 2.0
    longitudinal_margin: 0.0
    lateral_margin:
      soft_margin: 0.7
      hard_margin: 0.2
      hard_margin_for_parked_vehicle: 0.7
    max_expand_ratio: 0.0
    envelope_buffer_margin: 0.1
    th_error_eclipse_long_radius : 0.6

  # 未知类型障碍物(unknown)的避障参数。
  unknown:
    th_moving_speed: 0.28                         # [m/s] 移动速度阈值,较低以应对不确定性。
    th_moving_time: 1.0                           # [s] 移动时间阈值,较短以应对不确定性。
    longitudinal_margin: 0.0                      # [m] 纵向避让距离。
    lateral_margin:
      soft_margin: 0.7                            # [m] 软横向避让距离。
      hard_margin: -0.2                           # [m] 硬横向避让距离,负值表示允许部分重叠。
      hard_margin_for_parked_vehicle: -0.2        # [m] 针对停放车辆的硬横向避让距离。
    max_expand_ratio: 0.0                         # [-] 最大扩展比例(开发者参数)。
    envelope_buffer_margin: 0.1                   # [m] 包络缓冲区距离(开发者参数)。
    th_error_eclipse_long_radius : 0.6            # [m] 椭圆长轴误差阈值。

  # 自行车(bicycle)的避障参数。
  bicycle:
    th_moving_speed: 0.28                         # [m/s] 移动速度阈值,较低以应对自行车较慢的速度。
    th_moving_time: 1.0                           # [s] 移动时间阈值。
    longitudinal_margin: 1.0                      # [m] 纵向避让距离,较大以确保安全。
    lateral_margin:
      soft_margin: 0.7                            # [m] 软横向避让距离。
      hard_margin: 0.5                            # [m] 硬横向避让距离。
      hard_margin_for_parked_vehicle: 0.5         # [m] 针对停放车辆的硬横向避让距离。
    max_expand_ratio: 0.0                         # [-] 最大扩展比例(开发者参数)。
    envelope_buffer_margin: 0.5                   # [m] 包络缓冲区距离(开发者参数)。
    th_error_eclipse_long_radius : 0.6            # [m] 椭圆长轴误差阈值。

  # 摩托车(motorcycle)的避障参数。
  motorcycle:
    th_moving_speed: 1.0                          # [m/s] 移动速度阈值。
    th_moving_time: 1.0                           # [s] 移动时间阈值。
    longitudinal_margin: 1.0                      # [m] 纵向避让距离。
    lateral_margin:
      soft_margin: 0.7                            # [m] 软横向避让距离。
      hard_margin: 0.3                            # [m] 硬横向避让距离。
      hard_margin_for_parked_vehicle: 0.3         # [m] 针对停放车辆的硬横向避让距离。
    max_expand_ratio: 0.0                         # [-] 最大扩展比例(开发者参数)。
    envelope_buffer_margin: 0.5                   # [m] 包络缓冲区距离(开发者参数)。
    th_error_eclipse_long_radius : 0.6            # [m] 椭圆长轴误差阈值。

  # 行人(pedestrian)的避障参数。
  pedestrian:
    th_moving_speed: 0.28                         # [m/s] 移动速度阈值,较低以应对行人较慢的速度。
    th_moving_time: 1.0                           # [s] 移动时间阈值。
    longitudinal_margin: 1.0                      # [m] 纵向避让距离,较大以确保安全。
    lateral_margin:
      soft_margin: 0.7                            # [m] 软横向避让距离。
      hard_margin: 0.5                            # [m] 硬横向避让距离。
      hard_margin_for_parked_vehicle: 0.5         # [m] 针对停放车辆的硬横向避让距离。
    max_expand_ratio: 0.0                         # [-] 最大扩展比例(开发者参数)。
    envelope_buffer_margin: 0.5                   # [m] 包络缓冲区距离(开发者参数)。
    th_error_eclipse_long_radius : 0.6            # [m] 椭圆长轴误差阈值。

  # 多边形扩展距离范围(开发者参数)。
  lower_distance_for_polygon_expansion: 30.0      # [m] 多边形扩展的最小距离。
  upper_distance_for_polygon_expansion: 100.0     # [m] 多边形扩展的最大距离。
      # 目标对象过滤配置。
      target_filtering:
        # 避障目标类型。
        target_type:
          car: true                                     # [-] 是否避让汽车
          truck: true                                   # [-] 是否避让卡车
          bus: true                                     # [-] 是否避让公交车
          trailer: true                                 # [-] 是否避让拖车
          unknown: true                                 # [-] 是否避让未知类型障碍物
          bicycle: true                                 # [-] 是否避让自行车
          motorcycle: true                              # [-] 是否避让摩托车
          pedestrian: true                              # [-] 是否避让行人
        # 检测范围。
        object_check_goal_distance: 20.0                # [m] 目标检测距离
        object_check_return_pose_distance: 20.0         # [m] 返回位置检测距离
        # 丢失对象补偿。
        max_compensation_time: 2.0                      # [s] 最大补偿时间

        # 检测区域生成参数。
        detection_area:
          static: false                                 # [-] 是否生成静态检测区域
          min_forward_distance: 50.0                    # [m] 最小前向检测距离
          max_forward_distance: 150.0                   # [m] 最大前向检测距离
          backward_distance: 10.0                       # [m] 后向检测距离

        # 过滤停放车辆。
        parked_vehicle:
          th_offset_from_centerline: 1.0                # [m] 中心线偏移阈值
          th_shiftable_ratio: 0.8                       # [-] 可移动比例阈值
          min_road_shoulder_width: 0.5                  # [m] 最小路肩宽度(开发者参数)

        # 针对合并/偏离车辆的过滤。
        merging_vehicle:
          th_overhang_distance: 0.0                     # [m] 悬垂距离阈值

        # 针对模糊停放车辆的避障策略。
        avoidance_for_ambiguous_vehicle:
          policy: "manual"                              # [-] 策略("auto":自动避让,"manual":手动确认,"ignore":忽略)
          condition:
            th_stopped_time: 3.0                        # [s] 停止时间阈值
            th_moving_distance: 1.0                     # [m] 移动距离阈值
          ignore_area:
            traffic_light:
              front_distance: 20.0                      # [m] 交通灯前忽略距离
            crosswalk:
              front_distance: 20.0                      # [m] 人行横道前忽略距离
              behind_distance: 0.0                      # [m] 人行横道后忽略距离
          wait_and_see:
            target_behaviors: ["MERGING", "DEVIATING"]  # [-] 等待观察的目标行为
            th_closest_distance: 10.0                   # [m] 最近距离阈值

        # 针对交叉口内对象的过滤。
        intersection:
          yaw_deviation: 0.349                          # [rad] 偏航角偏差阈值(默认 20.0 度)

        # 自由空间条件。
        freespace:
          condition:
            th_stopped_time: 5.0                        # [s] 停止时间阈值

      # 安全检查配置。
      safety_check:
        # 安全检查目标类型。
        target_type:
          car: true                                     # [-] 是否检查汽车
          truck: true                                   # [-] 是否检查卡车
          bus: true                                     # [-] 是否检查公交车
          trailer: true                                 # [-] 是否检查拖车
          unknown: false                                # [-] 是否检查未知类型障碍物
          bicycle: true                                 # [-] 是否检查自行车
          motorcycle: true                              # [-] 是否检查摩托车
          pedestrian: true                              # [-] 是否检查行人
        # 安全检查配置。
        enable: true                                    # [-] 是否启用安全检查
        check_current_lane: false                       # [-] 是否检查当前车道
        check_shift_side_lane: true                     # [-] 是否检查侧向移动车道
        check_other_side_lane: false                    # [-] 是否检查另一侧车道
        check_unavoidable_object: false                 # [-] 是否检查无法避让的对象
        check_other_object: true                        # [-] 是否检查其他对象
        # 碰撞检查参数。
        check_all_predicted_path: false                 # [-] 是否检查所有预测路径
        safety_check_backward_distance: 100.0           # [m] 安全检查后向距离
        hysteresis_factor_expand_rate: 1.5              # [-] 滞后因子扩展率
        hysteresis_factor_safe_count: 3                 # [-] 滞后因子安全计数
        collision_check_yaw_diff_threshold: 3.1416      # [rad] 碰撞检查偏航角差异阈值
        # 预测路径参数。
        min_velocity: 1.38                              # [m/s] 最小速度
        max_velocity: 50.0                              # [m/s] 最大速度
        time_resolution: 0.5                            # [s] 时间分辨率
        time_horizon_for_front_object: 3.0              # [s] 前向对象时间范围
        time_horizon_for_rear_object: 10.0              # [s] 后向对象时间范围
        delay_until_departure: 0.0                      # [s] 出发延迟
        # RSS 参数。
        extended_polygon_policy: "along_path"           # [-] 扩展多边形策略("rectangle" 或 "along_path")
        expected_front_deceleration: -1.0               # [m/ss] 预期前向减速度
        expected_rear_deceleration: -1.0                # [m/ss] 预期后向减速度
        rear_vehicle_reaction_time: 2.0                 # [s] 后车反应时间
        rear_vehicle_safety_time_margin: 1.0            # [s] 后车安全时间裕度
        lateral_distance_max_threshold: 2.0             # [m] 横向距离最大阈值
        longitudinal_distance_min_threshold: 3.0        # [m] 纵向距离最小阈值
        longitudinal_velocity_delta_time: 0.0           # [s] 纵向速度变化时间

      # 避障操作配置。
      avoidance:
        # 横向避障参数。
        lateral:
          th_avoid_execution: 0.09                      # [m] 避障执行阈值(开发者参数)
          th_small_shift_length: 0.101                  # [m] 小幅度横向移动阈值(开发者参数)
          soft_drivable_bound_margin: 0.3               # [m] 软可行驶边界裕度
          hard_drivable_bound_margin: 0.3               # [m] 硬可行驶边界裕度
          max_right_shift_length: 5.0                   # [m] 最大右移距离(开发者参数)
          max_left_shift_length: 5.0                    # [m] 最大左移距离(开发者参数)
          max_deviation_from_lane: 0.2                  # [m] 最大车道偏离距离
          ratio_for_return_shift_approval: 0.5          # [-] 返回移动批准的比例
        # 纵向避障参数。
        longitudinal:
          min_prepare_time: 1.0                         # [s] 最小准备时间
          max_prepare_time: 3.0                         # [s] 最大准备时间
          min_prepare_distance: 1.0                     # [m] 最小准备距离
          min_slow_down_speed: 1.38                     # [m/s] 最小减速速度
          buf_slow_down_speed: 0.56                     # [m/s] 减速速度缓冲(开发者参数)
          nominal_avoidance_speed: 8.33                 # [m/s] 标称避障速度(开发者参数)
          consider_front_overhang: true                 # [-] 是否考虑前悬
          consider_rear_overhang: true                  # [-] 是否考虑后悬
        # 返回截止线配置。
        return_dead_line:
          goal:
            enable: true                                # [-] 是否启用目标截止线
            buffer: 3.0                                 # [m] 缓冲区距离
          traffic_light:
            enable: true                                # [-] 是否启用交通灯截止线
            buffer: 3.0                                 # [m] 缓冲区距离

      # 取消操作配置。
      cancel:
        enable: true                                    # [-] 是否启用取消操作
        force:
          duration_time: 2.0                            # [s] 强制取消持续时间

      # 让行操作配置。
      yield:
        enable: true                                    # [-] 是否启用让行操作
        enable_during_shifting: false                   # [-] 是否在横向移动时启用让行

      # 停止操作配置。
      stop:
        max_distance: 20.0                              # [m] 最大停止距离
        stop_buffer: 1.0                                # [m] 停止缓冲区距离(开发者参数)

      # 策略配置。
      policy:
        make_approval_request: "per_shift_line"         # [-] RTC 请求策略("per_shift_line" 或 "per_avoidance_maneuver")
        deceleration: "best_effort"                     # [-] 减速策略("best_effort" 或 "reliable")
        lateral_margin: "best_effort"                   # [-] 横向避让裕度策略("best_effort" 或 "reliable")
        use_shorten_margin_immediately: true            # [-] 是否立即使用缩短裕度

      # 开发者参数(约束条件)。
      constraints:
        lateral:
          velocity: [1.39, 4.17, 11.1]                  # [m/s] 横向速度约束
          max_accel_values: [0.5, 0.5, 0.5]             # [m/ss] 最大横向加速度
          min_jerk_values: [0.2, 0.2, 0.2]              # [m/sss] 最小横向加加速度
          max_jerk_values: [1.0, 1.0, 1.0]              # [m/sss] 最大横向加加速度
        longitudinal:
          nominal_deceleration: -1.0                    # [m/ss] 标称纵向减速度
          nominal_jerk: 0.5                             # [m/sss] 标称纵向加加速度
          max_deceleration: -1.5                        # [m/ss] 最大纵向减速度
          max_jerk: 1.0                                 # [m/sss] 最大纵向加加速度
          max_acceleration: 0.5                         # [m/ss] 最大纵向加速度
          min_velocity_to_limit_max_acceleration: 2.78  # [m/s] 限制最大加速度的最小速度

      # 路径生成方法。
      path_generation_method: "shift_line_base"         # [-] 路径生成方法("shift_line_base"、"optimization_base" 或 "both")

      # 横向移动路径处理配置。
      shift_line_pipeline:
        trim:
          quantize_size: 0.1                            # [m] 量化大小
          th_similar_grad_1: 0.1                        # [-] 相似梯度阈值 1
          th_similar_grad_2: 0.2                        # [-] 相似梯度阈值 2
          th_similar_grad_3: 0.5                        # [-] 相似梯度阈值 3

      # 调试配置。
      debug:
        enable_other_objects_marker: true               # [-] 是否启用其他对象标记
        enable_other_objects_info: true                 # [-] 是否启用其他对象信息
        enable_detection_area_marker: false             # [-] 是否启用检测区域标记
        enable_drivable_bound_marker: false             # [-] 是否启用可行驶边界标记
        enable_safety_check_marker: false               # [-] 是否启用安全检查标记
        enable_shift_line_marker: false                 # [-] 是否启用横向移动路径标记
        enable_lane_marker: false                       # [-] 是否启用车道标记
        enable_misc_marker: false                       # [-] 是否启用其他标记

4.avoidance_by_lane_change.param.yaml

这部分也看着有些关系:
最后写的不用这个策略避让行人,我改一下试试,至少得确认用的是这里的参数。
卧槽,改了也看不出效果来阿。

/**:
  ros__parameters:
    # 通过车道变换避障(Avoidance by Lane Change)模块的参数配置。
    # 该模块用于通过车道变换来避让障碍物。

    avoidance_by_lane_change:
      # 执行车道变换避障的纵向距离阈值(单位:米)。
      # 当车辆与障碍物的纵向距离小于此值时,执行车道变换避障。
      execute_object_longitudinal_margin: 80.0

      # 是否仅在车道变换完成后才执行避障。
      # 如果为 true,则确保车道变换完成后再避障;否则,允许在车道变换过程中避障。
      execute_only_when_lane_change_finish_before_object: false

      # 避障目标对象配置。
      # 针对不同类型的障碍物设置避障参数。
      target_object:
        # 汽车(car)的避障参数。
        car:
          th_moving_speed: 1.0                         # [m/s] 移动速度阈值,超过此速度的汽车被视为动态障碍物。
          th_moving_time: 1.0                          # [s] 移动时间阈值,超过此时间的汽车被视为动态障碍物。
          max_expand_ratio: 0.0                        # [-] 最大扩展比例(开发者参数),用于调整障碍物边界。
          envelope_buffer_margin: 0.3                  # [m] 包络缓冲区距离(开发者参数),用于扩展障碍物边界。
          lateral_margin:
            soft_margin: 0.0                           # [m] 软横向避让距离,用于避让动态障碍物。
            hard_margin: 0.0                           # [m] 硬横向避让距离,用于避让静态障碍物。
            hard_margin_for_parked_vehicle: 0.0        # [m] 针对停放车辆的硬横向避让距离。

        # 卡车(truck)的避障参数,与汽车类似。
        truck:
          th_moving_speed: 1.0                         # [m/s] 移动速度阈值。
          th_moving_time: 1.0                          # [s] 移动时间阈值。
          max_expand_ratio: 0.0                        # [-] 最大扩展比例(开发者参数)。
          envelope_buffer_margin: 0.3                  # [m] 包络缓冲区距离(开发者参数)。
          lateral_margin:
            soft_margin: 0.0                           # [m] 软横向避让距离。
            hard_margin: 0.0                           # [m] 硬横向避让距离。
            hard_margin_for_parked_vehicle: 0.0        # [m] 针对停放车辆的硬横向避让距离。

        # 公交车(bus)的避障参数,与汽车类似。
        bus:
          th_moving_speed: 1.0                         # [m/s] 移动速度阈值。
          th_moving_time: 1.0                          # [s] 移动时间阈值。
          max_expand_ratio: 0.0                        # [-] 最大扩展比例(开发者参数)。
          envelope_buffer_margin: 0.3                  # [m] 包络缓冲区距离(开发者参数)。
          lateral_margin:
            soft_margin: 0.0                           # [m] 软横向避让距离。
            hard_margin: 0.0                           # [m] 硬横向避让距离。
            hard_margin_for_parked_vehicle: 0.0        # [m] 针对停放车辆的硬横向避让距离。

        # 拖车(trailer)的避障参数,与汽车类似。
        trailer:
          th_moving_speed: 1.0                         # [m/s] 移动速度阈值。
          th_moving_time: 1.0                          # [s] 移动时间阈值。
          max_expand_ratio: 0.0                        # [-] 最大扩展比例(开发者参数)。
          envelope_buffer_margin: 0.3                  # [m] 包络缓冲区距离(开发者参数)。
          lateral_margin:
            soft_margin: 0.0                           # [m] 软横向避让距离。
            hard_margin: 0.0                           # [m] 硬横向避让距离。
            hard_margin_for_parked_vehicle: 0.0        # [m] 针对停放车辆的硬横向避让距离。

        # 未知类型障碍物(unknown)的避障参数。
        unknown:
          th_moving_speed: 0.28                        # [m/s] 移动速度阈值,较低以应对不确定性。
          th_moving_time: 1.0                          # [s] 移动时间阈值。
          max_expand_ratio: 0.0                        # [-] 最大扩展比例(开发者参数)。
          envelope_buffer_margin: 0.3                  # [m] 包络缓冲区距离(开发者参数)。
          lateral_margin:
            soft_margin: 0.0                           # [m] 软横向避让距离。
            hard_margin: 0.0                           # [m] 硬横向避让距离。
            hard_margin_for_parked_vehicle: 0.0        # [m] 针对停放车辆的硬横向避让距离。

        # 自行车(bicycle)的避障参数。
        bicycle:
          th_moving_speed: 0.28                        # [m/s] 移动速度阈值,较低以应对自行车较慢的速度。
          th_moving_time: 1.0                          # [s] 移动时间阈值。
          max_expand_ratio: 0.0                        # [-] 最大扩展比例(开发者参数)。
          envelope_buffer_margin: 0.8                  # [m] 包络缓冲区距离(开发者参数)。
          lateral_margin:
            soft_margin: 0.0                           # [m] 软横向避让距离。
            hard_margin: 1.0                           # [m] 硬横向避让距离。
            hard_margin_for_parked_vehicle: 1.0        # [m] 针对停放车辆的硬横向避让距离。

        # 摩托车(motorcycle)的避障参数。
        motorcycle:
          th_moving_speed: 1.0                         # [m/s] 移动速度阈值。
          th_moving_time: 1.0                          # [s] 移动时间阈值。
          max_expand_ratio: 0.0                        # [-] 最大扩展比例(开发者参数)。
          envelope_buffer_margin: 0.8                  # [m] 包络缓冲区距离(开发者参数)。
          lateral_margin:
            soft_margin: 0.0                           # [m] 软横向避让距离。
            hard_margin: 1.0                           # [m] 硬横向避让距离。
            hard_margin_for_parked_vehicle: 1.0        # [m] 针对停放车辆的硬横向避让距离。

        # 行人(pedestrian)的避障参数。
        pedestrian:
          th_moving_speed: 0.28                        # [m/s] 移动速度阈值,较低以应对行人较慢的速度。
          th_moving_time: 1.0                          # [s] 移动时间阈值。
          max_expand_ratio: 0.0                        # [-] 最大扩展比例(开发者参数)。
          envelope_buffer_margin: 0.8                  # [m] 包络缓冲区距离(开发者参数)。
          lateral_margin:
            soft_margin: 0.0                           # [m] 软横向避让距离。
            hard_margin: 1.0                           # [m] 硬横向避让距离。
            hard_margin_for_parked_vehicle: 1.0        # [m] 针对停放车辆的硬横向避让距离。

        # 多边形扩展距离范围(开发者参数)。
        lower_distance_for_polygon_expansion: 0.0      # [m] 多边形扩展的最小距离。
        upper_distance_for_polygon_expansion: 1.0      # [m] 多边形扩展的最大距离。

      # 目标对象过滤配置。
      target_filtering:
        # 避障目标类型。
        target_type:
          car: true                                    # [-] 是否避让汽车。
          truck: true                                  # [-] 是否避让卡车。
          bus: true                                    # [-] 是否避让公交车。
          trailer: true                                # [-] 是否避让拖车。
          unknown: true                                # [-] 是否避让未知类型障碍物。
          bicycle: false                               # [-] 是否避让自行车。
          motorcycle: false                            # [-] 是否避让摩托车。
          pedestrian: false                            # [-] 是否避让行人。


5.dynamic_obstacle_avoidance.param.yaml

看着没啥用


/**:
  ros__parameters:
    # 动态避障(Dynamic Avoidance)模块的参数配置。
    # 该模块用于避让动态障碍物(如移动的车辆、行人等)。

    dynamic_avoidance:
      # 通用配置。
      common:
        enable_debug_info: false                        # [-] 是否启用调试信息。
        use_hatched_road_markings: true                 # [-] 是否使用斑马线区域。

      # 避障目标对象配置。
      # 针对不同类型的障碍物设置是否进行避障。
      target_object:
        car: true                                       # [-] 是否避让汽车。
        truck: true                                     # [-] 是否避让卡车。
        bus: true                                       # [-] 是否避让公交车。
        trailer: true                                   # [-] 是否避让拖车。
        unknown: false                                  # [-] 是否避让未知类型障碍物。
        bicycle: true                                   # [-] 是否避让自行车。
        motorcycle: true                                # [-] 是否避让摩托车。
        pedestrian: true                                # [-] 是否避让行人。

        # 障碍物速度范围(单位:米/秒)。
        max_obstacle_vel: 100.0                         # [m/s] 障碍物最大速度。
        min_obstacle_vel: 0.0                           # [m/s] 障碍物最小速度。

        # 进入和退出动态避障条件的连续帧数。
        successive_num_to_entry_dynamic_avoidance_condition: 5  # [-] 进入动态避障条件的连续帧数。
        successive_num_to_exit_dynamic_avoidance_condition: 1   # [-] 退出动态避障条件的连续帧数。

        # 障碍物相对于自车路径的横向偏移范围(单位:米)。
        min_obj_lat_offset_to_ego_path: 0.0             # [m] 障碍物相对于自车路径的最小横向偏移。
        max_obj_lat_offset_to_ego_path: 1.0             # [m] 障碍物相对于自车路径的最大横向偏移。

        # 切入对象(Cut-in Object)的避障参数。
        cut_in_object:
          min_time_to_start_cut_in: 1.0                 # [s] 开始切入的最小时间。
          min_lon_offset_ego_to_object: 0.0             # [m] 自车与切入对象的最小纵向偏移。
          min_object_vel: 0.5                           # [m/s] 切入对象的最小速度。

        # 切出对象(Cut-out Object)的避障参数。
        cut_out_object:
          max_time_from_outside_ego_path: 2.0           # [s] 从自车路径外切出的最大时间。
          min_object_lat_vel: 0.3                       # [m/s] 切出对象的最小横向速度。
          min_object_vel: 0.5                           # [m/s] 切出对象的最小速度。

        # 横穿对象(Crossing Object)的避障参数。
        crossing_object:
          min_overtaking_object_vel: 1.0                # [m/s] 超车对象的最小速度。
          max_overtaking_object_angle: 1.05             # [rad] 超车对象的最大角度。
          min_oncoming_object_vel: 1.0                  # [m/s] 对向对象的最小速度。
          max_oncoming_object_angle: 0.523              # [rad] 对向对象的最大角度。
          max_pedestrian_crossing_vel: 0.8              # [m/s] 行人横穿的最大速度。

        # 前方对象(Front Object)的避障参数。
        front_object:
          max_object_angle: 0.785                       # [rad] 前方对象的最大角度。
          min_object_vel: -0.5                          # [m/s] 前方对象的最小速度(负值考虑静止车辆的噪声速度)。
          max_ego_path_lat_cover_ratio: 0.3             # [-] 自车路径横向覆盖比例的最大值,超过此值则忽略对象。

        # 静止对象(Stopped Object)的避障参数。
        stopped_object:
          max_object_vel: 0.5                           # [m/s] 静止对象的最大速度,低于此值则判定为静止。

      # 可行驶区域生成配置。
      drivable_area_generation:
        expand_drivable_area: false                     # [-] 是否扩展可行驶区域。
        polygon_generation_method: "ego_path_base"      # [-] 多边形生成方法("ego_path_base" 或 "object_path_base")。
        object_path_base:
          min_longitudinal_polygon_margin: 3.0          # [m] 基于对象路径生成多边形时的最小纵向裕度。

        lat_offset_from_obstacle: 1.0                   # [m] 障碍物的横向偏移距离。
        margin_distance_around_pedestrian: 2.0          # [m] 行人周围的裕度距离。
        predicted_path:
          end_time_to_consider: 2.0                     # [s] 预测路径的结束时间。
          threshold_confidence: 0.0                     # [-] 预测路径的置信度阈值(非概率值)。
        max_lat_offset_to_avoid: 0.5                    # [m] 避障的最大横向偏移距离。
        max_time_for_object_lat_shift: 0.0              # [s] 对象横向移动的最大时间。
        lpf_gain_for_lat_avoid_to_offset: 0.9           # [-] 横向避障偏移的低通滤波器增益。

        max_ego_lat_acc: 0.3                            # [m/ss] 自车的最大横向加速度。
        max_ego_lat_jerk: 0.3                           # [m/sss] 自车的最大横向加加速度。
        delay_time_ego_shift: 1.0                       # [s] 自车横向移动的延迟时间。

        # 同向对象(Overtaking Object)的避障参数。
        overtaking_object:
          max_time_to_collision: 40.0                   # [s] 最大碰撞时间。
          start_duration_to_avoid: 1.0                  # [s] 开始避障的持续时间。
          end_duration_to_avoid: 1.0                    # [s] 结束避障的持续时间。
          duration_to_hold_avoidance: 3.0               # [s] 保持避障的持续时间。

        # 对向对象(Oncoming Object)的避障参数。
        oncoming_object:
          max_time_to_collision: 40.0                   # [s] 最大碰撞时间(应与同向对象的值相同,以避免对静止车辆的抖动)。
          start_duration_to_avoid: 1.0                  # [s] 开始避障的持续时间。
          end_duration_to_avoid: 0.0                    # [s] 结束避障的持续时间。



6.lane_change.param.yaml

感觉也和避障关系不大。

/**:
  ros__parameters:
    # 车道变换(Lane Change)模块的参数配置。
    # 该模块用于控制车辆在行驶过程中进行车道变换。

    lane_change:
      # 车道变换的后向车道长度(单位:米)。
      backward_lane_length: 200.0                     # [m] 车道变换时考虑的后向车道长度。

      # 车道变换的准备时间(单位:秒)。
      prepare_duration: 4.0                           # [s] 车道变换前的准备时间。

      # 车道结束时的后向缓冲距离(单位:米)。
      backward_length_buffer_for_end_of_lane: 3.0     # [m] 车道结束时的后向缓冲距离。

      # 阻塞对象的后向缓冲距离(单位:米)。
      backward_length_buffer_for_blocking_object: 3.0 # [m] 阻塞对象的后向缓冲距离。

      # 交叉口后向缓冲距离(单位:米)。
      backward_length_from_intersection: 5.0          # [m] 交叉口后向缓冲距离。

      # 车道变换时的横向加加速度(单位:米/秒³)。
      lane_changing_lateral_jerk: 0.5                 # [m/s³] 车道变换时的横向加加速度。

      # 最小车道变换速度(单位:米/秒)。
      minimum_lane_changing_velocity: 2.78            # [m/s] 最小车道变换速度。

      # 预测时间分辨率(单位:秒)。
      prediction_time_resolution: 0.5                 # [s] 预测时间分辨率。

      # 纵向加速度采样数量。
      longitudinal_acceleration_sampling_num: 5       # [-] 纵向加速度采样数量。

      # 横向加速度采样数量。
      lateral_acceleration_sampling_num: 3            # [-] 横向加速度采样数量。

      # 人行道停放车辆的参数。
      object_check_min_road_shoulder_width: 0.5       # [m] 人行道停放车辆的最小路肩宽度。
      object_shiftable_ratio_threshold: 0.6           # [-] 人行道停放车辆的可移动比例阈值。

      # 转向灯激活的最小距离(单位:米)。
      min_length_for_turn_signal_activation: 10.0     # [m] 转向灯激活的最小距离。

      # 转向灯关闭的距离比例(相对于目标位置)。
      length_ratio_for_turn_signal_deactivation: 0.8  # [-] 转向灯关闭的距离比例。

      # 纵向加速度范围(单位:米/秒²)。
      min_longitudinal_acc: -1.0                      # [m/s²] 最小纵向加速度。
      max_longitudinal_acc: 1.0                       # [m/s²] 最大纵向加速度。

      # 跳过处理的条件。
      skip_process:
        longitudinal_distance_diff_threshold:
          prepare: 1.0                                # [m] 准备阶段的纵向距离差异阈值。
          lane_changing: 1.0                          # [m] 车道变换阶段的纵向距离差异阈值。

      # 安全检查配置。
      safety_check:
        allow_loose_check_for_cancel: true            # [-] 是否允许在取消时进行宽松检查。
        enable_target_lane_bound_check: true          # [-] 是否启用目标车道边界检查。
        collision_check_yaw_diff_threshold: 3.1416    # [rad] 碰撞检查的偏航角差异阈值。

        # 执行阶段的安全检查参数。
        execution:
          expected_front_deceleration: -1.0           # [m/s²] 预期前向减速度。
          expected_rear_deceleration: -1.0            # [m/s²] 预期后向减速度。
          rear_vehicle_reaction_time: 2.0             # [s] 后车反应时间。
          rear_vehicle_safety_time_margin: 1.0        # [s] 后车安全时间裕度。
          lateral_distance_max_threshold: 2.0         # [m] 横向距离最大阈值。
          longitudinal_distance_min_threshold: 3.0    # [m] 纵向距离最小阈值。
          longitudinal_velocity_delta_time: 0.0       # [s] 纵向速度变化时间。

        # 停放车辆的安全检查参数。
        parked:
          expected_front_deceleration: -1.0           # [m/s²] 预期前向减速度。
          expected_rear_deceleration: -2.0            # [m/s²] 预期后向减速度。
          rear_vehicle_reaction_time: 1.0             # [s] 后车反应时间。
          rear_vehicle_safety_time_margin: 0.8        # [s] 后车安全时间裕度。
          lateral_distance_max_threshold: 1.0         # [m] 横向距离最大阈值。
          longitudinal_distance_min_threshold: 3.0    # [m] 纵向距离最小阈值。
          longitudinal_velocity_delta_time: 0.0       # [s] 纵向速度变化时间。

        # 取消车道变换的安全检查参数。
        cancel:
          expected_front_deceleration: -1.0           # [m/s²] 预期前向减速度。
          expected_rear_deceleration: -2.0            # [m/s²] 预期后向减速度。
          rear_vehicle_reaction_time: 1.5             # [s] 后车反应时间。
          rear_vehicle_safety_time_margin: 0.8        # [s] 后车安全时间裕度。
          lateral_distance_max_threshold: 1.0         # [m] 横向距离最大阈值。
          longitudinal_distance_min_threshold: 2.5    # [m] 纵向距离最小阈值。
          longitudinal_velocity_delta_time: 0.0       # [s] 纵向速度变化时间。

        # 车辆卡住时的安全检查参数。
        stuck:
          expected_front_deceleration: -1.0           # [m/s²] 预期前向减速度。
          expected_rear_deceleration: -1.0            # [m/s²] 预期后向减速度。
          rear_vehicle_reaction_time: 2.0             # [s] 后车反应时间。
          rear_vehicle_safety_time_margin: 1.0        # [s] 后车安全时间裕度。
          lateral_distance_max_threshold: 2.0         # [m] 横向距离最大阈值。
          longitudinal_distance_min_threshold: 3.0    # [m] 纵向距离最小阈值。
          longitudinal_velocity_delta_time: 0.0       # [s] 纵向速度变化时间。

        # 车道扩展参数,用于对象过滤。
        lane_expansion:
          left_offset: 1.0                            # [m] 左侧扩展距离。
          right_offset: 1.0                           # [m] 右侧扩展距离。

      # 横向加速度映射。
      lateral_acceleration:
        velocity: [0.0, 4.0, 10.0]                    # [m/s] 速度范围。
        min_values: [0.4, 0.4, 0.4]                   # [m/s²] 最小横向加速度。
        max_values: [0.65, 0.65, 0.65]                # [m/s²] 最大横向加速度。

      # 目标对象配置。
      target_object:
        car: true                                     # [-] 是否避让汽车。
        truck: true                                   # [-] 是否避让卡车。
        bus: true                                     # [-] 是否避让公交车。
        trailer: true                                 # [-] 是否避让拖车。
        unknown: false                                # [-] 是否避让未知类型障碍物。
        bicycle: true                                 # [-] 是否避让自行车。
        motorcycle: true                              # [-] 是否避让摩托车。
        pedestrian: true                              # [-] 是否避让行人。

      # 碰撞检查配置。
      enable_collision_check_for_prepare_phase:
        general_lanes: false                          # [-] 是否在普通车道的准备阶段启用碰撞检查。
        intersection: true                            # [-] 是否在交叉口的准备阶段启用碰撞检查。
        turns: true                                   # [-] 是否在转弯的准备阶段启用碰撞检查。
      stopped_object_velocity_threshold: 1.0          # [m/s] 静止对象的速度阈值。
      check_objects_on_current_lanes: false           # [-] 是否检查当前车道上的对象。
      check_objects_on_other_lanes: false             # [-] 是否检查其他车道上的对象。
      use_all_predicted_path: false                   # [-] 是否使用所有预测路径。

      # 车道变换规则。
      regulation:
        crosswalk: true                               # [-] 是否在人行横道处遵守规则。
        intersection: true                            # [-] 是否在交叉口处遵守规则。
        traffic_light: true                           # [-] 是否在交通灯处遵守规则。

      # 自车卡住检测。
      stuck_detection:
        velocity: 0.5                                 # [m/s] 卡住检测的速度阈值。
        stop_time: 3.0                                # [s] 卡住检测的停止时间。

      # 车道变换取消配置。
      cancel:
        enable_on_prepare_phase: true                 # [-] 是否在准备阶段启用取消。
        enable_on_lane_changing_phase: true           # [-] 是否在车道变换阶段启用取消。
        delta_time: 1.0                               # [s] 取消的时间间隔。
        duration: 5.0                                 # [s] 取消的持续时间。
        max_lateral_jerk: 100.0                       # [m/s³] 取消时的最大横向加加速度。
        overhang_tolerance: 0.0                       # [m] 取消时的悬垂容忍距离。
        unsafe_hysteresis_threshold: 5                # [-] 不安全状态的滞后阈值。
        deceleration_sampling_num: 5                  # [-] 减速度采样数量。

      # 车道变换完成判断的缓冲距离(单位:米)。
      lane_change_finish_judge_buffer: 2.0            # [m] 车道变换完成判断的缓冲距离。

      # 车道变换完成判断的横向距离阈值(单位:米)。
      finish_judge_lateral_threshold: 0.1             # [m] 车道变换完成判断的横向距离阈值。

      # 车道变换完成判断的横向角度偏差(单位:度)。
      finish_judge_lateral_angle_deviation: 1.0       # [deg] 车道变换完成判断的横向角度偏差。

      # 调试配置。
      publish_debug_marker: true                      # [-] 是否发布调试标记。


7.side_shift.param.yaml

看着也没啥用。

/**:
  ros__parameters:
    # 侧向移动(Side Shift)模块的参数配置。
    # 该模块用于控制车辆在车道内进行侧向移动(如避让障碍物或调整车道位置)。

    side_shift:
      # 开始侧向移动的最小距离(单位:米)。
      # 当车辆距离目标侧向移动位置小于此值时,开始执行侧向移动。
      min_distance_to_start_shifting: 5.0              # [m]

      # 开始侧向移动的时间(单位:秒)。
      # 在开始侧向移动前,需要等待的时间。
      time_to_start_shifting: 1.0                     # [s]

      # 侧向移动的横向加加速度(单位:米/秒³)。
      # 控制侧向移动的平滑性,值越小,移动越平滑。
      shifting_lateral_jerk: 0.2                      # [m/s³]

      # 最小侧向移动距离(单位:米)。
      # 如果目标侧向移动距离小于此值,则不执行侧向移动。
      min_shifting_distance: 5.0                      # [m]

      # 最小侧向移动速度(单位:米/秒)。
      # 车辆速度低于此值时,不执行侧向移动。
      min_shifting_speed: 5.56                        # [m/s]

      # 侧向移动请求的时间限制(单位:秒)。
      # 如果侧向移动请求超过此时间未完成,则取消该请求。
      shift_request_time_limit: 1.0                   # [s]

      # 是否发布调试标记(debug marker)。
      # 如果为 true,则在 RViz 中发布侧向移动的调试标记,用于可视化调试。
      publish_debug_marker: false                     # [-]

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。


http://www.kler.cn/a/488412.html

相关文章:

  • dbeaver创建create临时表之后查询不到问题排查
  • Java Spring Boot实现基于URL + IP访问频率限制
  • 基类指针指向派生类对象,基类指针的首地址永远指向子类从基类继承的基类首地址
  • WebSocket 测试入门篇
  • 代码随想录算法训练营day27
  • YARN WebUI 服务
  • CSS——39. 文本修饰(文本属性)
  • 用 Python 绘制可爱的招财猫
  • 新车月交付突破2万辆!小鹏汽车“激活”智驾之困待解
  • Uniapp仿ChatGPT Stream流式输出(非Websocket)
  • UML(统一建模语言)
  • VUE3 VITE项目在 npm 中,关于 Vue 的常用命令有一些基础命令
  • clickhouse 离线包安装(ubuntu)
  • SOLIDWORKS 或 AutoCAD:选择CAD 解决方案时应考虑哪些问题?
  • TR-069协议学习--Soap报文、事件、RPC方法
  • ubuntu报错:没有在该文件夹中粘贴文件的权限
  • 【Unity功能集】TextureShop纹理工坊(十二)画笔工具、橡皮擦工具
  • 初学stm32 --- DAC输出
  • 谷歌浏览器的文件管理与上传功能
  • 【C++】22.AVL树实现
  • Excel中SUM求和为0?难道是Excel有Bug!
  • 爬虫数据抓取中的维度
  • micro-app【微前端系列教程】生命周期
  • JVM远程调试原理剖析
  • Apache XMLBeans 一个强大的 XML 数据处理框架
  • 【LLM文本分类微调】骚扰邮件分类