CollisionAvoidanceSystem/doc/requirement/official_api.md
2025-04-29 14:30:24 +08:00

8.2 KiB
Raw Permalink Blame History

机场和无人车数据接口对接要求

第1章 位置数据接口

1.1 登录认证

  1. 登录接口http://IP:端口/login
  2. 请求方式post
  3. 参数username、password
  4. 示例:http://127.0.0.1:8080/login?username=XXXX&password=XXXX 5、返回值 data 为返回的鉴权token后续接口需要再header中携带data所有的数据是一个token不要截断 示例:{     "status": 200,     "msg": "登入成功",     "data": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3MzI3ODMwOTAsInVzZXJuYW1lIjoiYWRtaW4ifQ.y9feEL_9NT8UzED9NNkb0Ln6C-PBoufiSHWobWe5vWY" }

1.2 航空器位置数据接入

数据来源:接入并转发从空管接收到的融合数据

  1. 接口地址http://IP:端口/openApi/getCurrentFlightPositions

  2. 请求方式get需要在 Header 中携带认证信息,字段名为 Authorization值为认证接口返回的token

  3. 返回格式:以 JSON 格式返回数据一次请求返回List集合对象

  4. 数据结构:

序号 字段 描述 字段类型 是否必填
1 flightNo 航班号 String
2 longitude 经度 double
3 latitude 纬度 double
4 time 时间戳UTC 时间) long
5 altitude 海拔高度 double
6 trackNumber 航迹号 long

1.3 车辆位置数据接入

数据来源:仅传递目前机场已接入的车辆位置数据

  1. 接口地址http://IP:端口/openApi/getCurrentVehiclePositions

  2. 请求方式get需要在 Header 中携带认证信息,字段名为 Authorization值为认证接口返回的token

  3. 返回格式:以 JSON 格式返回数据一次请求返回List集合对象

  4. 数据结构:

序号 字段 描述 字段类型 是否必填
1 vehicleNo 车牌号 String
2 longitude 经度 double
3 latitude 纬度 double
4 time 时间戳 long
5 direction 方向 double
6 speed 速度 double

第2章 无人车控制接口

2.1 无人车控制指令

2.1.1 接口地址: http://127.0.0.1:31140/api/VehicleCommandInfo

2.1.2 请求方法POST

2.1.3 请求参数:

字段名称 类型 是否必填 说明
transId string 消息唯一 id消息的唯一标识符
timestamp long 时间戳
vehicleID string 车辆 ID
commandType string 指令类型ALERT告警指令SIGNAL信号灯指令WARNING预警指令RESUME恢复指令
commandReason string 指令原因TRAFFIC_LIGHT红绿灯控制AIRCRAFT_CROSSING航空器交叉SPECIAL_VEHICLE特勤车辆AIRCRAFT_PUSH航空器推出RESUME_TRAFFIC恢复通行
signalState string 信号灯状态(仅当 commandType 为 SIGNAL 时有效RED红灯GREEN绿灯YELLOW黄灯
intersectionId string 路口 ID仅当 commandType 为 SIGNAL 时有效)
latitude double 目标位置纬度(路口/航空器/特勤车)
longitude double 目标位置经度(路口/航空器/特勤车)
relativeSpeed double 相对速度(仅当 commandType 为 ALERT/WARNING 时有效)
relativeMotionX double 相对运动 X 分量(仅当 commandType 为 ALERT/WARNING 时有效)
relativeMotionY double 相对运动 Y 分量(仅当 commandType 为 ALERT/WARNING 时有效)
minDistance double 最小距离(仅当 commandType 为 ALERT/WARNING 时有效)

示例:

requestData: { "messageUniqueId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649", "timestamp": 1736175610000, "vehicleID": "A001", "commandType": "SIGNAL", "commandReason": "TRAFFIC_LIGHT", "signalState":"RED", "intersectionId":"002", "latitude": 343.23, "longitude": 343.23, "relativeSpeed": 3, "relativeMotionX": 2002.12, "relativeMotionY":100.12, "minDistance":10.5 }

返回值:

字段名 类型 是否必须 描述
transId string 消息唯一id消息的唯一标识符与请求id一致
timestamp long 时间戳
code int 接口返回的状态码200 请求成功400 请求失败并在msg内返回原因
msg string 接口成功/失败的原因或者附加提示信息

示例:

responseData: { "code": 200, "msg": "success", "transId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649", "timestamp": 1736175610 }

2.2 无人车位置上报

  1. 接口地址: http://127.0.0.1:31140/api/VehicleLocationInfo

  2. 请求方法GET

  3. 返回值(以 List 数据返回,一次请求返回集合对象):

字段名称 类型 是否必填 说明
transId string 消息唯一 id消息的唯一标识符
timestamp long 时间戳UTC 时间,单位:毫秒)
vehicleID string 车辆 ID
latitude double 纬度
longitude double 经度
speed double 速度单位m/s
direction double 车头航向角,正东为 0 度(弧度)

示例:

requestData: [ { "transId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649", "timestamp": 1736175610000, "vehicleID": "AT001", "latitude": 123.112, "longitude": 78.331, "speed": 3.2, "direction": 1.57 } ]

2.3 无人车状态上报

  1. 接口地址: http://127.0.0.1:31140/api/VehicleStateInfo

  2. 请求方法POST

  3. 请求参数:

字段名称 类型 是否必填 说明
transId string 消息唯一 id消息的唯一标识符
timestamp long 时间戳UTC 时间,单位:毫秒)
vehicleID string 车辆 ID
isSingle boolean True单个车辆False所有车辆

示例:

requestData:
{
"transId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649",
"timestamp": 1736175610000,
"vehicleID": "AT001",
"isSingle": true
}
  1. 返回值(以 List 数据返回,一次请求返回集合对象):
字段名称 类型 是否必填 说明
transId string 消息唯一 id消息的唯一标识符
timestamp long 时间戳UTC 时间,单位:毫秒)
vehicleID string 车辆 ID
loginState boolean 登录状态True登录False未登录
faultInfo list 故障信息,以列表返回,可能存在多个
activeSafety boolean 车辆最小风险策略触发主动安全True触发False未触发
RC boolean 被接管或干预相关信息是否被远控RemoteControlTrue车辆在遥控器远控模式False车辆处于自动驾驶模式
Command int 接收的远程指令信息0恢复1急停2缓停
airportInfo list 机场特殊要求的其他信息
vehicleMode int 无人设备控制模式底盘控制模式1:手动司机驾驶2:自动3:遥控器4:远程5故障等待
gearState int 车辆当前档位1:N2:D3:P4:R, 5: 未知
chassisReady boolean 底盘是否准备就绪True车辆发控制指令就可以走false: 其他
collisionStatus boolean 防撞梁是否触发true触发false未触发
clearance int 0关闭1开启示廓灯
turnSignalStstus int 转向灯状态0off , 1 : trun left , 2 : trun right, 3: 双闪
pointCloud list 点云数据字节流每个点的长度现在是12每个坐标为float长度4

示例:

responseData: [ { "transId": "68f79d1a-e27f-11ed-b28c-2cf05d9c2649", "timestamp": 1736175610000, "vehicleID": "AT001", "loginStatus":true, "faultInfo":[], "activeSafety":false, "RC":false, "Command":0, "airportInfo":[], "vehicleMode": 2, "gearState": 2, "chassisRaedy":true, "collisionStatus":false, "clearance":0, "turnSignalStstus":0, "pointCloud":[] } ]