QDAirPortTestSystemBackend/docs/configuration_guide.md
sladro 0ff88b0ba2 feat(collision_detection): add diverging release distance parameter
- Introduced a new configuration parameter `diverging_release_distance` to the collision detection system, allowing for dynamic adjustment of the distance threshold at which conflicts are resolved when vehicles are diverging.
- Updated the system configuration files and documentation to reflect this new parameter.
- Implemented logic in the collision detection algorithm to utilize the diverging release distance for immediate conflict resolution when conditions are met.
- Added unit tests to verify the functionality of the diverging release distance in various scenarios, ensuring that conflicts are resolved correctly based on the new parameter.
2026-03-04 11:51:06 +08:00

10 KiB
Raw Permalink Blame History

机场无人车冲突预警系统配置指南

目录


一、机场基础信息配置

文件路径:config/system_config.json

{
  "airport": {
    "name": "青岛胶东国际机场",
    "iata": "TAO",
    "icao": "ZSQD",
    "reference_point": {
    "latitude": 36.35448347,
    "longitude": 120.08502054
    },
    "coordinate_points": [
      {"point": "T1", "longitude": 120.0868853, "latitude": 36.35496367},
      {"point": "T2", "longitude": 120.08502054, "latitude": 36.35448347}
    ]
  }
}

参数说明

  • name:机场名称
  • iata:机场三字代码
  • icao:机场四字代码
  • reference_point:参考点
    • latitude:参考点纬度
    • longitude:参考点经度
  • coordinate_points:坐标点
    • point:坐标点名称
    • longitude:坐标点经度
    • latitude:坐标点纬度

配置说明

  • 参考点设置:选择塔台或机场中心点作为坐标系原点
  • 坐标精度经纬度建议保留8位小数约1cm精度
  • 命名规范
    • IATA代码使用3位大写字母
    • 坐标点按T1-T13顺序编号

二、区域边界配置

文件路径:config/airport_bounds.json

区域参数规范表

区域类型 边界坐标x(米) 边界坐标y(米) 区域宽度 区域高度
测试区 -100 -200 800 400
  "test_zone": {
      "bounds": {
        "x": -100,
        "y": -200,
        "width": 800,
        "height": 400
      }

参数说明

  • bounds:区域边界
    • x区域左上角x坐标
    • y区域左上角y坐标
    • width:区域宽度
    • height:区域高度

三、交叉路口配置

文件路径:config/intersections.json

{
  "id": "T2路口",
  "name": "无人车与特勤车交叉路口",
  "trafficLightId": "TL001",
  "position": {
    "longitude": 120.08502054,
    "latitude": 36.35448347,
    "altitude": 9.543
  },
  "width": 20.0,
  "safetyZone": {
    "aircraftRadius": 50.0,
    "vehicleRadius": 50.0
  }
}

参数说明

  • id路口ID
  • name:路口名称
  • trafficLightId交通灯ID
  • position:路口位置
  • width:路口宽度
  • safetyZone:安全区
  • aircraftRadius:飞机安全区半径
  • vehicleRadius:车辆安全区半径

配置原则

  1. 路口ID按"T"+数字编号如T1-T13
  2. 安全区半径建议值:
    • 飞机翼展×1.5
    • 车辆车长×2.0

四、数据接口配置

文件路径:config/system_config.json

接口参数示例

"data_source": {
        "position": {
            "host": "localhost",
            "port": 8081,
            "aircraft_path": "/openApi/getCurrentFlightPositions",
            "vehicle_path": "/openApi/getCurrentVehiclePositions",
            "refresh_interval_ms": 1000,
            "auth": {
                "username": "dianxin",
                "password": "dianxin@123",
                "auth_path": "/login",
                "auth_required": true
            },
            "timeout_ms": 5000,
            "read_timeout_ms": 2000
        },
        "unmanned_vehicle": {
            "host": "localhost",
            "port": 8081,
            "location_path": "/api/VehicleLocationInfo",
            "status_path": "/api/VehicleStateInfo",
            "command_path": "/api/VehicleCommandInfo",
            "refresh_interval_ms": 1000,
            "auth": {
                "username": "dianxin",
                "password": "dianxin@123",
                "auth_path": "/api/login",
                "auth_required": false
            },
            "timeout_ms": 5000,
            "read_timeout_ms": 2000
        },
        "traffic_light": {
            "host": "localhost",
            "port": 8081,
            "signal_path": "/openApi/getTrafficLightSignals",
            "refresh_interval_ms": 1000,
            "auth": {
                "username": "dianxin",
                "password": "dianxin@123",
                "auth_path": "/api/login",
                "auth_required": false
            },
            "timeout_ms": 5000,
            "read_timeout_ms": 2000
        }
    }

参数说明

  • position:位置接口
    • host数据源IP地址
    • port:数据源端口号
    • aircraft_path:航空器数据接口路径
    • vehicle_path:车辆数据接口路径
    • refresh_interval_ms:数据刷新间隔时间(ms)
    • auth:认证信息
      • username:用户名
      • password:密码
      • auth_path:认证路径
      • auth_required:是否需要认证
    • timeout_ms:请求超时时间(ms)
    • read_timeout_ms:读取超时时间(ms)
  • unmanned_vehicle:无人车接口
    • host无人车IP地址
    • port:无人车端口号
    • location_path:无人车位置接口路径
    • status_path:无人车状态接口路径
    • command_path:无人车命令接口路径
    • refresh_interval_ms:数据刷新间隔时间(ms)
    • auth:认证信息
      • username:用户名
      • password:密码
      • auth_path:认证路径
      • auth_required:是否需要认证
    • timeout_ms:请求超时时间(ms)
    • read_timeout_ms:读取超时时间(ms)
  • traffic_light:交通灯接口
    • host交通灯IP地址
    • port:交通灯端口号
    • signal_path:交通灯信号接口路径
    • refresh_interval_ms:数据刷新间隔时间(ms)
    • auth:认证信息
      • username:用户名
      • password:密码
      • auth_path:认证路径
      • auth_required:是否需要认证
    • timeout_ms:请求超时时间(ms)
    • read_timeout_ms:读取超时时间(ms)

五、无人车配置

文件路径:config/unmanned_vehicles.json

"vehicles": [
        {
            "vehicleNo": "QN001",
            "type": "UNMANNED",
            "ip": "localhost",
            "port": 8081
        },
        {
            "vehicleNo": "QN002",
            "type": "UNMANNED",
            "ip": "localhost",
            "port": 8081
        }
    ]

参数说明

  • vehicleNo:无人车编号
  • type:无人车类型
  • ip无人车IP地址
  • port:无人车端口号

六、预警参数配置

###冲突预测和航空器和车辆尺寸:

文件路径:config/system_config.json

"collision_detection": {
        "update_interval_ms": 200,
        "diverging_release_distance": 50.0,
        "prediction": {
            "time_window": 20.0,
            "vehicle_size": 20.0,
            "aircraft_size": 60.0,
            "min_unmanned_speed": 1.0
        }
    }

参数说明

  • update_interval_ms:冲突检测更新间隔时间(ms)
  • diverging_release_distance:冲突解除距离阈值(m)。当航空器与车辆不再预测碰撞、且双方距离正在增大并且当前距离大于等于该值时,立即解除冲突。
  • prediction:冲突预测模型参数
    • time_window:预测时间窗口(s)
    • vehicle_size:车辆尺寸(m)
    • aircraft_size:航空器尺寸(m)
    • min_unmanned_speed:无人车最小速度(m/s)

运行中动态修改HTTP

  • POST /config/collision/diverging_release_distance
  • Body{"value": 50}

冲突预警和告警参数

文件路径:config/airport_bounds.json

"warning_zone_radius": {
          "aircraft": 70.0,
          "special": 30.0,
          "unmanned": 30.0
        },
"alert_zone_radius": {
          "aircraft": 35.0,
          "special": 15.0,
          "unmanned": 15.0
        }

参数说明

  • warning_zone_radius:预警区半径 = 预警距离阈值 + 飞机尺寸/2 + 车辆尺寸/2
  • alert_zone_radius:告警区半径 = 告警距离阈值 + 飞机尺寸/2 + 车辆尺寸/2

告警阈值

告警级别 飞机距离阈值(m) 车辆距离阈值(m)
预警 60 30
告警 30 15

七、调试与日志

文件路径:config/logging_config.json

"logging": {
        "level": "debug",
        "file": "logs/system.log",
        "max_size_mb": 10,
        "max_files": 5,
        "console_output": true
    }

参数说明

  • level:日志级别
  • file:日志文件路径
  • max_size_mb:日志文件最大大小(MB)
  • max_files:日志文件最大数量
  • console_output:是否输出到控制台

八、配置验证流程

  1. 基础配置检查
# 检查配置文件语法
python3 -m json.tool config/system_config.json
  1. 接口连通性测试
curl -X POST http://localhost:8081/openApi/getCurrentFlightPositions
  1. 实时监控
tail -f /opt/collision_avoidance/logs/system.log | grep "WARNING"

文档版本

  • 版本号1.0.0
  • 更新日期2025-02-06
  • 更新内容:初始版本