修改了无人车配置文件和 API 文档

This commit is contained in:
Tian jianyong 2025-01-23 10:57:33 +08:00
parent 7c9b5cc06b
commit 48fbf28761
5 changed files with 110 additions and 7 deletions

View File

@ -145,9 +145,8 @@ message(STATUS "CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
#
configure_file(${CMAKE_SOURCE_DIR}/config/system_config.json ${CMAKE_BINARY_DIR}/config/system_config.json COPYONLY)
configure_file(${CMAKE_SOURCE_DIR}/config/intersections.json ${CMAKE_BINARY_DIR}/config/intersections.json COPYONLY)
configure_file(${CMAKE_SOURCE_DIR}/config/vehicle_control.json ${CMAKE_BINARY_DIR}/config/vehicle_control.json COPYONLY)
configure_file(${CMAKE_SOURCE_DIR}/config/airport_bounds.json ${CMAKE_BINARY_DIR}/config/airport_bounds.json COPYONLY)
configure_file(${CMAKE_SOURCE_DIR}/config/unmanned_vehicles.json ${CMAKE_BINARY_DIR}/config/unmanned_vehicles.json COPYONLY)
if(NOT APPLE)
target_link_libraries(collision_avoidance
PRIVATE

View File

@ -42,13 +42,14 @@
"unmanned_vehicle": {
"host": "localhost",
"port": 8081,
"status_path": "/openApi/getVehicleStatus",
"command_path": "/openApi/sendVehicleCommand",
"location_path": "/api/VehicleLocationInfo",
"status_path": "/api/VehicleStateInfo",
"command_path": "/api/VehicleCommandInfo",
"refresh_interval_ms": 1000,
"auth": {
"username": "dianxin",
"password": "dianxin@123",
"auth_path": "/login",
"auth_path": "/api/login",
"auth_required": false
},
"timeout_ms": 5000,
@ -62,7 +63,7 @@
"auth": {
"username": "dianxin",
"password": "dianxin@123",
"auth_path": "/login",
"auth_path": "/api/login",
"auth_required": false
},
"timeout_ms": 5000,

View File

@ -120,3 +120,106 @@ responseData:
"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
}
4. 返回值(以 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":[]
}
]

View File

@ -9,7 +9,7 @@ ControllableVehicles* ControllableVehicles::instance_ = nullptr;
ControllableVehicles& ControllableVehicles::getInstance() {
if (instance_ == nullptr) {
instance_ = new ControllableVehicles("config/vehicle_control.json");
instance_ = new ControllableVehicles("config/unmanned_vehicles.json");
}
return *instance_;
}