5 changed files with 317 additions and 0 deletions
-
69steps/Data_structs/JSON_Structure.json
-
67steps/Data_structs/JSON_Structure_trackHistory.json
-
89steps/Data_structs/JSON_Structure_v2.json
-
85steps/Data_structs/ROS2_Data_Structure.json
-
7steps/Data_structs/new.json
@ -0,0 +1,69 @@ |
|||||
|
{ |
||||
|
"radarFrames": [ |
||||
|
{ |
||||
|
"timestamp": "Number (Timestamp in seconds or ms)", |
||||
|
"frameIdx": "Number (Index of the frame)", |
||||
|
"motionState": "Number (Enum/State identifier)", |
||||
|
"egoVelocity": ["Number (Vx)", "Number (Vy)"], |
||||
|
"canVehSpeed_kmph": "Number", |
||||
|
"correctedEgoSpeed_mps": "Number", |
||||
|
"shaftTorque_Nm": "Number", |
||||
|
"engagedGear": "Number", |
||||
|
"estimatedAcceleration_mps2": "Number", |
||||
|
"iirFilteredVx_ransac": "Number", |
||||
|
"iirFilteredVy_ransac": "Number", |
||||
|
"filtered_barrier_x": ["Number (Left)", "Number (Right)"], |
||||
|
"clusters": [ |
||||
|
{ |
||||
|
"id": "Number (Original Cluster ID)", |
||||
|
"x": "Number", |
||||
|
"y": "Number", |
||||
|
"radialSpeed": "Number", |
||||
|
"vx": "Number", |
||||
|
"vy": "Number", |
||||
|
"azimuth": "Number", |
||||
|
"isOutlier": "Boolean", |
||||
|
"isStationaryInBox": "Boolean" |
||||
|
} |
||||
|
], |
||||
|
"pointCloud": [ |
||||
|
{ |
||||
|
"x": "Number", |
||||
|
"y": "Number", |
||||
|
"velocity": "Number", |
||||
|
"snr": "Number", |
||||
|
"clusterNumber": "Number", |
||||
|
"isOutlier": "Boolean" |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
], |
||||
|
"tracks": [ |
||||
|
{ |
||||
|
"id": "Number (Track ID)", |
||||
|
"isConfirmed": "Boolean", |
||||
|
"historyLog": [ |
||||
|
{ |
||||
|
"frameIdx": "Number", |
||||
|
"predictedPosition": ["Number (X)", "Number (Y)"], |
||||
|
"predictedVelocity": ["Number (Vx)", "Number (Vy)"], |
||||
|
"correctedPosition": ["Number (X)", "Number (Y)"], |
||||
|
"ttc": "Number (Time To Collision)", |
||||
|
"isStationary": "Boolean", |
||||
|
"covarianceP": [ |
||||
|
["Number", "Number"], |
||||
|
["Number", "Number"] |
||||
|
], |
||||
|
"ellipseRadii": ["Number (Major)", "Number (Minor)"], |
||||
|
"ellipseAngle": "Number (Orientation)" |
||||
|
} |
||||
|
], |
||||
|
"ttcCategoryTimeline": [ |
||||
|
{ |
||||
|
"frameIdx": "Number", |
||||
|
"ttcCategory": "String or Number (Category identifier)" |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,67 @@ |
|||||
|
{ |
||||
|
"radarFrames": [ |
||||
|
{ |
||||
|
"timestamp": "Number", |
||||
|
"frameIdx": "Number", |
||||
|
"motionState": "Number", |
||||
|
"egoVelocity": ["Number (Vx)","Number (Vy)"], |
||||
|
"canVehSpeed_kmph": "Number", |
||||
|
"correctedEgoSpeed_mps": "Number", |
||||
|
"shaftTorque_Nm": "Number", |
||||
|
"engagedGear": "Number", |
||||
|
"estimatedAcceleration_mps2": "Number", |
||||
|
"iirFilteredVx_ransac": "Number", |
||||
|
"iirFilteredVy_ransac": "Number", |
||||
|
"filtered_barrier_x": ["Number (min)","Number (max)"], |
||||
|
"clusters": [ |
||||
|
{ |
||||
|
"id": "Number", |
||||
|
"x": "Number", |
||||
|
"y": "Number", |
||||
|
"radialSpeed": "Number", |
||||
|
"vx": "Number", |
||||
|
"vy": "Number", |
||||
|
"azimuth": "Number", |
||||
|
"isOutlier": "Boolean", |
||||
|
"isStationaryInBox": "Boolean" |
||||
|
} |
||||
|
], |
||||
|
"pointCloud": [ |
||||
|
{ |
||||
|
"x": "Number", |
||||
|
"y": "Number", |
||||
|
"velocity": "Number", |
||||
|
"snr": "Number", |
||||
|
"clusterNumber": "Number", |
||||
|
"isOutlier": "Boolean" |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
], |
||||
|
"tracks": [ |
||||
|
{ |
||||
|
"id": "Number", |
||||
|
"historyLog": [ |
||||
|
{ |
||||
|
"frameIdx": "Number", |
||||
|
"state": "Number", |
||||
|
"predictedPosition": ["Number (x)", "Number (y)"], |
||||
|
"predictedVelocity": ["Number (vx)", "Number (vy)"], |
||||
|
"correctedPosition": ["Number (x)", "Number (y)"], |
||||
|
"ttc": "Number", |
||||
|
"risk": "Number", |
||||
|
"tti": "Number", |
||||
|
"accel": ["Number (ax)", "Number (ay)"], |
||||
|
"omega": "Number", |
||||
|
"modelProbabilities": ["Number", "Number", "Number"], |
||||
|
"isStationary": "Boolean", |
||||
|
"covarianceP": [["Number", "Number", "Number", "Number", "Number", "Number", "Number"]], |
||||
|
"ellipseRadii": ["Number", "Number"], |
||||
|
"ellipseAngle": "Number", |
||||
|
"objectExtentRadii": ["Number", "Number"], |
||||
|
"objectExtentAngle": "Number" |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,89 @@ |
|||||
|
{ |
||||
|
"metadata": { |
||||
|
"version": "2.0", |
||||
|
"description": "Radar visualization data structure", |
||||
|
"generatedAt": "ISO-8601 Timestamp" |
||||
|
}, |
||||
|
"radarFrames": [ |
||||
|
{ |
||||
|
"frameId": "Number (Unique Frame Index)", |
||||
|
"timestamp": "Number (Seconds/ms)", |
||||
|
"timestampIso": "String (ISO-8601 for human readability)", |
||||
|
"egoState": { |
||||
|
"velocity": { "x": "Number", "y": "Number" }, |
||||
|
"speedKmph": "Number", |
||||
|
"correctedSpeedMps": "Number", |
||||
|
"accelerationMps2": "Number", |
||||
|
"yawRate": "Number", |
||||
|
"motionState": "String (e.g., 'MOVING', 'STATIONARY')" |
||||
|
}, |
||||
|
"vehicleData": { |
||||
|
"shaftTorqueNm": "Number", |
||||
|
"engagedGear": "Number" |
||||
|
}, |
||||
|
"environment": { |
||||
|
"barrierLimitsX": { "min": "Number", "max": "Number" } |
||||
|
}, |
||||
|
"sensing": { |
||||
|
"iirFilteredVelocity": { "x": "Number", "y": "Number" } |
||||
|
}, |
||||
|
"activeTrackIds": ["Number (List of Track IDs visible in this frame)"], |
||||
|
"clusters": [ |
||||
|
{ |
||||
|
"id": "Number", |
||||
|
"position": { "x": "Number", "y": "Number" }, |
||||
|
"velocity": { "radial": "Number", "x": "Number", "y": "Number" }, |
||||
|
"azimuth": "Number", |
||||
|
"flags": { |
||||
|
"isOutlier": "Boolean", |
||||
|
"isStationaryInBox": "Boolean" |
||||
|
} |
||||
|
} |
||||
|
], |
||||
|
"pointCloud": [ |
||||
|
{ |
||||
|
"position": { "x": "Number", "y": "Number" }, |
||||
|
"velocity": "Number", |
||||
|
"signal": { "snr": "Number", "clusterId": "Number" }, |
||||
|
"flags": { "isOutlier": "Boolean" } |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
], |
||||
|
"tracks": [ |
||||
|
{ |
||||
|
"trackId": "Number", |
||||
|
"status": { |
||||
|
"isConfirmed": "Boolean", |
||||
|
"classification": "String (e.g., 'VEHICLE', 'PEDESTRIAN')" |
||||
|
}, |
||||
|
"historyLog": [ |
||||
|
{ |
||||
|
"frameId": "Number", |
||||
|
"state": { |
||||
|
"position": { "x": "Number", "y": "Number" }, |
||||
|
"velocity": { "x": "Number", "y": "Number" }, |
||||
|
"covariance": { "xx": "Number", "xy": "Number", "yx": "Number", "yy": "Number" }, |
||||
|
"isStationary": "Boolean" |
||||
|
}, |
||||
|
"prediction": { |
||||
|
"position": { "x": "Number", "y": "Number" }, |
||||
|
"velocity": { "x": "Number", "y": "Number" } |
||||
|
}, |
||||
|
"shape": { |
||||
|
"ellipse": { "major": "Number", "minor": "Number", "angle": "Number" } |
||||
|
}, |
||||
|
"safety": { |
||||
|
"ttc": "Number", |
||||
|
"ttcCategory": "String (e.g., 'CRITICAL', 'HIGH')" |
||||
|
} |
||||
|
} |
||||
|
], |
||||
|
"derivedData": { |
||||
|
"ttcCategoryTimeline": [ |
||||
|
{ "frameId": "Number", "category": "String" } |
||||
|
] |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,85 @@ |
|||||
|
{ |
||||
|
"metadata": { |
||||
|
"version": "2.0", |
||||
|
"source": "TI_AWRL1432", |
||||
|
"notes": "Full data retention, ROS-ready structure" |
||||
|
}, |
||||
|
"frames": [ |
||||
|
{ |
||||
|
"header": { |
||||
|
"seq": 101, // formerly frameIdx |
||||
|
"stamp": 123456789.0 // formerly timestamp |
||||
|
}, |
||||
|
"ego": { |
||||
|
"motionState": 1, // enum |
||||
|
"gear": 2, // formerly engagedGear |
||||
|
"torque": 150.5, // formerly shaftTorque_Nm |
||||
|
"velocity": { // Grouping vectors is cleaner |
||||
|
"x": 10.5, // egoVelocity[0] |
||||
|
"y": 0.1 // egoVelocity[1] |
||||
|
}, |
||||
|
"speed": { |
||||
|
"can_kmph": 38.0, // formerly canVehSpeed_kmph |
||||
|
"corrected_mps": 10.5 // formerly correctedEgoSpeed_mps |
||||
|
}, |
||||
|
"accel_mps2": 1.2, // formerly estimatedAcceleration_mps2 |
||||
|
"ransac": { // Grouped RANSAC fields |
||||
|
"vx": 10.4, // iirFilteredVx_ransac |
||||
|
"vy": 0.0 // iirFilteredVy_ransac |
||||
|
}, |
||||
|
"barriers": { // formerly filtered_barrier_x |
||||
|
"left": -2.5, |
||||
|
"right": 3.5 |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// OPTIMIZATION: Structure of Arrays (SoA) matches ROS PointCloud2 logic |
||||
|
"points": { |
||||
|
"x": [1.2, 3.4, ...], |
||||
|
"y": [-0.5, 2.1, ...], |
||||
|
"v": [10.0, 11.2, ...], // velocity |
||||
|
"snr": [100, 95, ...], |
||||
|
"clusterId": [1, 1, ...], // clusterNumber |
||||
|
"isOutlier": [0, 0, ...] // Boolean as 0/1 for efficiency |
||||
|
}, |
||||
|
|
||||
|
// Clusters as list of objects (Object Array is fine here, low count) |
||||
|
"clusters": [ |
||||
|
{ |
||||
|
"id": 5, |
||||
|
"pos": { "x": 10.0, "y": 2.0 }, |
||||
|
"vel": { "vx": 10.0, "vy": 0.5, "radial": 10.1 }, |
||||
|
"azimuth": 0.1, |
||||
|
"flags": { // Group booleans |
||||
|
"outlier": false, // isOutlier |
||||
|
"staticInBox": true // isStationaryInBox |
||||
|
} |
||||
|
} |
||||
|
], |
||||
|
|
||||
|
// Tracks: SNAPSHOT of the track at this specific frame |
||||
|
"tracks": [ |
||||
|
{ |
||||
|
"id": 10, |
||||
|
"confirmed": true, // isConfirmed |
||||
|
"isStationary": false, |
||||
|
"ttc": 4.5, |
||||
|
"ttcCategory": "warning", // from ttcCategoryTimeline |
||||
|
"pos": { // correctedPosition |
||||
|
"x": 12.0, |
||||
|
"y": 1.5 |
||||
|
}, |
||||
|
"vel": { // predictedVelocity (or corrected if preferred) |
||||
|
"vx": 12.0, |
||||
|
"vy": 0.0 |
||||
|
}, |
||||
|
"cov": [0.5, 0, 0, 0.5], // covarianceP (flattened 2x2 matrix) |
||||
|
"shape": { |
||||
|
"radii": [2.5, 1.2], // ellipseRadii |
||||
|
"angle": 0.1 // ellipseAngle |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,7 @@ |
|||||
|
{ |
||||
|
"$schema": "https://json.schemastore.org/prettierrc", |
||||
|
"trailingComma": "all", |
||||
|
"tabWidth": 2, |
||||
|
"semi": false, |
||||
|
"singleQuote": true |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue