Loading...
 
SDAV ­— SmartData for Autonomous VehiclesManagementGitLabSeaFileManager

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

  • 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

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:

Copy to clipboard
"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:

Copy to clipboard
speed, heading, yawrate, acceleration= struct.unpack("ffff",value)