SDAV — SmartData for Autonomous Vehicles | Management | GitLab | SeaFile | Manager |
SDAV: OpenCOOD SmartData Model
Dataset
OpenCOOD is an Open COOperative Detection framework for autonomous driving. More details on the dataset can be found at OpenCOOD Github .
Dataset at LISHA's IoT
-
domain
: opencood -
username
: opencood -
password
: A7B64D415BD3E9AA -
version
: 1.2 (Mobile)
Simulations
There are two simulations available with multiple vehicles. Each vehicle operates as EGO and collects frontal camera and lidar samples as described further below. Each vehicle is accompanied by a collection of vehicle ground truths. The vehicles are selected at each timestamp whenever they are hit by more than 3 lidar rays. This means that the time series of each ground truth has a different size. If a vehicle does not have a sample at a specific timestamp it could not be identified through perception.
- Simulation 1:
- Vehicles:
-
signature
: 641 , t0: 1629145617450000 , tf: 1629145659250000 , length= 4.901683330535889 , width= 2.128324270248413 , height= 1.5107464790344238- Ground Truth of Perception: Signatures: 650, 659, 669, 673, 677, 682, 684, 685, 689, 690, 691, 692, 693, 695, 696, 698, 706, 708, 710, 712, 714, 720, 727, 728, 729, 730, 732, 740, 744, 746, 747, 748, 751, 688, 679, 750, 671, 737
-
signature
: 650 , t0: 1629145617450000 , tf: 1629145659250000 , length= 4.901683330535889 , width= 2.128324270248413 , height= 1.5107464790344238- Ground Truth of Perception: Signatures: 641, 659, 671, 677, 682, 684, 685, 687, 688, 689, 691, 692, 693, 698, 705, 708, 710, 712, 714, 720, 727, 728, 730, 732, 737, 740, 744, 746, 747, 748, 750, 751, 695, 669, 676, 738, 755, 706
-
signature
: 659 , t0: 1629145617450000 , tf: 1629145659250000 , length= 4.901683330535889 , width= 2.128324270248413 , height= 1.5107464790344238- Ground Truth of Perception: Signatures: 641, 650, 671, 677, 685, 687, 689, 691, 692, 693, 695, 698, 705, 706, 708, 712, 714, 727, 730, 732, 737, 738, 740, 746, 747, 748, 750, 751, 755, 688, 676, 669, 733, 739, 743, 718, 682, 717, 736, 713, 683, 742, 710
-
- Vehicles:
- Simulation 2:
- Vehicles:
-
signature
: 1188 , t0: 1629306665500000 , tf: 1629306677600000 , len= 4.901683330535889 , width= 2.128324270248413 , height= 1.5107464790344238- Ground Truth of Perception: Signatures: 1197, 1206, 1225, 1227, 1228, 1229, 1231, 1226, 1232, 1230, 1215, 1233
-
signature
: 1197 , t0: 1629306665500000 , tf: 1629306677600000 , len= 4.901683330535889 , width= 2.128324270248413 , height= 1.5107464790344238- Ground Truth of Perception: Signatures: 1188, 1206, 1225, 1229, 1231, 1227, 1228, 1226
-
signature
: 1206 , t0: 1629306665500000 , tf: 1629306677600000 , len= 4.901683330535889 , width= 2.128324270248413 , height= 1.5107464790344238- Ground Truth of Perception: Signatures: 1188, 1197, 1215, 1225, 1227, 1228, 1229, 1231, 1226, 1232, 1230, 1233
-
signature
: 1215 , t0: 1629306665500000 , tf: 1629306677600000 , len= 4.901683330535889 , width= 2.128324270248413 , height= 1.5107464790344238- Ground Truth of Perception: Signatures: 1206, 1226, 1227, 1228, 1230, 1232, 1233, 1224, 1188
-
- Vehicles:
Vehicle Classes
Vehicle Motion Vectors are stored with a unit containing the class of the vehicle (ETSI). The class represents is related to the dimensions of the vehicle:
Class | SmartData Unit | Dimensions (Length, Width, Height in meters) |
---|---|---|
Unknown | 0x40000001 | N.A. |
Moped | 0x40010001 | 2.35 x 0.88 x 1.50 |
Motorcycle | 0x40020001 | 2.30 x 0.90 x 0.60 |
Passenger Car | 0x40030001 | 4.42 x 1.98 x 1.55 |
Bus | 0x40040001 | 10.20 x 2.46 x 3.23 |
Light Truck | 0x40050001 | 6.90 x 2.90 x 3.40 |
Heavy Truck | 0x40060001 | 15.00 x 2.45 x 4.00 |
Trailer | 0x40070001 | 12.00 x 2.50 x 4.30 |
Special Vehicle | 0x40080001 | N.A. |
Tram | 0x40090001 | 16.00 x 3.00 x 4.00 |
Emergency Vehicle | 0x400a0001 | 5.20 x 2.30 x 2.74 |
Agricultural | 0x400b0001 | 4.36 x 2.01 x 2.49 |
The ground truth motion vectors have all been stored as Passenger Cars.
IMU Data
- Period: 100ms
Name | Original Quantity | SmartData Unit | SmartData Quantity | Conversion | Semantics |
---|---|---|---|---|---|
IMU Acceleration | m/s² | 0xC4962924 (F32) | m/s² | Accelerometers' readings of the AV, longitudinal (dev=0), lateral (dev=1), vertical (dev=2). | |
IMU Rotation | Degree | 0xC4B24924 (F32) | rad | value * PI/180 | Roll, Yaw, Pitch angle in radians (dev=0, 1, 2). |
IMU Angular Velocity | rad/s | 0xC4B23924 (F32) | rad/s | Gyroscopes Roll, Yaw, Pitch rate in rad/s (dev=0, 1, 2). | |
Compass (Heading) | rad | 0xC4B24924 (F32) | rad | The heading of the speed vector of the object in relation to the true north (WGS84) in radians (dev=3) |
Control Data
- Period: 100ms
Name | Original Quantity | SmartData Unit | SmartData Quantity | Conversion | Semantics |
---|---|---|---|---|---|
Steering | Degree | 0xC4B24924 (F32) | rad | value * PI/180 | The angle of the steering wheel (dev=4) |
LIDAR Data
- Period: 100ms
Description | Unit | Desc | Semantics |
---|---|---|---|
Point Cloud LIDAR | 0x03020001 | type=3, subtype=2 (xyz,intensity), l=length of configuration (1) | Central 360 degrees lidar (dev=0) |
- Original format: ".pcd" with x, y, z, and color as columns (values in F32)
- Convert blob returned query back to PCD: base64_decode twice.
Camera Data
- Period: 100ms
Description | Unit | Desc | Semantics |
---|---|---|---|
Image | 0x02240003 | type=2, subtype=PNG (36), l=config 3, between 4MB and 20MB | front center (dev=0) |
- Original format PNG 4096x4096 pixels
- Conversion: None, image is read as binary and sent to platform as a blob
- Convert blob returned query back to PNG: base64_decode twice.
Getters
A set of getter examples in multiple different languages is available in the IoT Platform documentation - Example Scripts.
Important Note: On the retrieval of large data (digital data with size > 8 bytes e.g., camera, lidar or MV Global), a single base64 decodes is required to recover the original sample.
Note that a mobile series is represented with at least:
"series" : Object { "unit" : unsigned long "t0" : unsigned long long "tf" : unsigned long long "signature" : unsigned int }
Note that the Global Motion Vectors from the ground truth can be read with the following Python code:
speed, heading, yawrate, acceleration= struct.unpack("ffff",value)