Browse Source

New data structures added for reference.

refactor/sync-centralize
RUSHIL AMBARISH KADU 4 months ago
parent
commit
bc239a552e
  1. 69
      steps/Data_structs/JSON_Structure.json
  2. 67
      steps/Data_structs/JSON_Structure_trackHistory.json
  3. 89
      steps/Data_structs/JSON_Structure_v2.json
  4. 85
      steps/Data_structs/ROS2_Data_Structure.json
  5. 7
      steps/Data_structs/new.json

69
steps/Data_structs/JSON_Structure.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)"
}
]
}
]
}

67
steps/Data_structs/JSON_Structure_trackHistory.json

@ -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"
}
]
}
]
}

89
steps/Data_structs/JSON_Structure_v2.json

@ -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" }
]
}
}
]
}

85
steps/Data_structs/ROS2_Data_Structure.json

@ -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
}
}
]
}
]
}

7
steps/Data_structs/new.json

@ -0,0 +1,7 @@
{
"$schema": "https://json.schemastore.org/prettierrc",
"trailingComma": "all",
"tabWidth": 2,
"semi": false,
"singleQuote": true
}
Loading…
Cancel
Save