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