Skip to content

Java/IoT3Mobility: add planar dimensions to SensorObject#558

Merged
mathieu1fb merged 5 commits into
Orange-OpenSource:masterfrom
mathieu1fb:add-sensorobject-planar-dimensions
Jul 9, 2026
Merged

Java/IoT3Mobility: add planar dimensions to SensorObject#558
mathieu1fb merged 5 commits into
Orange-OpenSource:masterfrom
mathieu1fb:add-sensorobject-planar-dimensions

Conversation

@mathieu1fb

Copy link
Copy Markdown
Collaborator

What's new

Planar dimensions (width and length + derived footprint) have been added to the SensorObject (abstraction of CPM's Perceived Object).

Close #554


What to do

After reviewing code changes:

  1. Clone the its-client project on your IDE.
  2. Ensure that you have Gradle to be able to build the java/iot3 modules (core, mobility and examples).
  3. Find the Iot3MobilityExample class in the examples module, and set appropriate values for the following fields:
private static final String EXAMPLE_UUID = "uuid";
private static final String EXAMPLE_CONTEXT = "context";
// MQTT parameters
private static final String EXAMPLE_MQTT_HOST = "mqtt_host";
private static final int EXAMPLE_MQTT_PORT = 1883;
private static final String EXAMPLE_MQTT_USERNAME = "mqtt_username";
private static final String EXAMPLE_MQTT_PASSWORD = "mqtt_password";
private static final boolean EXAMPLE_MQTT_USE_TLS = true; // set to true
  1. In the same class, remove the telemetry and LwM2M parameters from the IoT3Mobility builder as they won't be used:
.telemetryParams(EXAMPLE_OTL_SCHEME,
                        EXAMPLE_OTL_HOST,
                        EXAMPLE_OTL_PORT,
                        EXAMPLE_OTL_ENDPOINT,
                        EXAMPLE_OTL_USERNAME,
                        EXAMPLE_OTL_PASSWORD)
.lwm2mParams(
                        EXAMPLE_LWM2M_CONFIG,
                        EXAMPLE_LWM2M_DEVICE,
                        lwm2mConnectivityStatistics)
  1. Add the following logs to the sensorObjectUpdate(...) part of the roadSensorCallback(...):
System.out.println("Sensor Object dimensions:"
                        + "\nLength: " + sensorObject.getLength() + " | Width: " + sensorObject.getWidth()
                        + "\nFootprint: " + sensorObject.getFootprint());
  1. Only keep the following line in the startSendingMessages() method:
messageScheduler.scheduleWithFixedDelay(() -> sendTestCpm(CpmVersion.V1_2_1), 1, 1, TimeUnit.SECONDS);
  1. Run Iot3MobilityExample for a few seconds.
  2. Stop it.
  3. Update CPM version to v2.1.1:
messageScheduler.scheduleWithFixedDelay(() -> sendTestCpm(CpmVersion.V2_1_1), 1, 1, TimeUnit.SECONDS);
  1. Run Iot3MobilityExample for a few seconds.
  2. Stop it.

Expected results

  1. During the first run, you should see CPMs v1.2.1 being sent, received and processed (i.e. turned into a SensorObjects):
Sending CPM v1.2.1: CpmEnvelope121[type=cpm, origin=self, version=1.2.1, sourceUuid=ora_test_123, timestamp=1783588480840, message=CpmMessage121[protocolVersion=2, stationId=123456, generationDeltaTime=44872, managementContainer=ManagementContainer[stationType=15, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, altitude=0], confidence=ManagementConfidence[positionConfidenceEllipse=PositionConfidenceEllipse[semiMajorConfidence=4095, semiMinorConfidence=4095, semiMajorOrientation=3601], altitude=15]], stationDataContainer=StationDataContainer[originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[region=123, intersectionReferenceId=123, roadSegmentReferenceId=123]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, type=4, detectionArea=DetectionArea[vehicleSensor=null, stationarySensorRadial=null, stationarySensorPolygon=null, stationarySensorCircular=AreaCircular[nodeCenterPoint=Offset[x=0, y=0, z=0], radius=200], stationarySensorEllipse=null, stationarySensorRectangle=null]]]], perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[objectId=15, timeOfMeasurement=0, xDistance=-1809, yDistance=195, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=10, planarObjectDimension2=10, verticalObjectDimension=20, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=1, bicyclist=null, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null], PerceivedObject[objectId=34, timeOfMeasurement=0, xDistance=1501, yDistance=108, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=120, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=20, planarObjectDimension2=10, verticalObjectDimension=15, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=null, bicyclist=1, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null]]], freeSpaceAddendumContainer=null]]

Raw message received: {"type":"cpm","origin":"self","version":"1.2.1","source_uuid":"ora_test_123","timestamp":1783588480840,"message":{"protocol_version":2,"station_id":123456,"generation_delta_time":44872,"management_container":{"station_type":15,"reference_position":{"latitude":486251520,"longitude":22403490,"altitude":0},"confidence":{"position_confidence_ellipse":{"semi_major_confidence":4095,"semi_minor_confidence":4095,"semi_major_orientation":3601},"altitude":15}},"station_data_container":{"originating_rsu_container":{"region":123,"intersection_reference_id":123,"road_segment_reference_id":123}},"sensor_information_container":[{"sensor_id":123,"type":4,"detection_area":{"stationary_sensor_circular":{"node_center_point":{"x":0,"y":0,"z":0},"radius":200}}}],"perceived_object_container":[{"object_id":15,"time_of_measurement":0,"x_distance":-1809,"y_distance":195,"x_speed":0,"y_speed":0,"planar_object_dimension_1":10,"planar_object_dimension_2":10,"vertical_object_dimension":20,"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"single_vru":{"pedestrian":1}},"confidence":100}],"confidence":{"x_distance":4095,"y_distance":4095,"x_speed":0,"y_speed":0,"object":15}},{"object_id":34,"time_of_measurement":0,"x_distance":1501,"y_distance":108,"x_speed":0,"y_speed":0,"yaw_angle":120,"planar_object_dimension_1":20,"planar_object_dimension_2":10,"vertical_object_dimension":15,"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"single_vru":{"bicyclist":1}},"confidence":100}],"confidence":{"x_distance":4095,"y_distance":4095,"x_speed":0,"y_speed":0,"object":15}}]}}

Raw CPM v1.2.1: CpmEnvelope121[type=cpm, origin=self, version=1.2.1, sourceUuid=ora_test_123, timestamp=1783588480840, message=CpmMessage121[protocolVersion=2, stationId=123456, generationDeltaTime=44872, managementContainer=ManagementContainer[stationType=15, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, altitude=0], confidence=ManagementConfidence[positionConfidenceEllipse=PositionConfidenceEllipse[semiMajorConfidence=4095, semiMinorConfidence=4095, semiMajorOrientation=3601], altitude=15]], stationDataContainer=StationDataContainer[originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[region=123, intersectionReferenceId=123, roadSegmentReferenceId=123]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, type=4, detectionArea=DetectionArea[vehicleSensor=null, stationarySensorRadial=null, stationarySensorPolygon=null, stationarySensorCircular=AreaCircular[nodeCenterPoint=Offset[x=0, y=0, z=0], radius=200], stationarySensorEllipse=null, stationarySensorRectangle=null]]]], perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[objectId=15, timeOfMeasurement=0, xDistance=-1809, yDistance=195, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=10, planarObjectDimension2=10, verticalObjectDimension=20, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=1, bicyclist=null, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null], PerceivedObject[objectId=34, timeOfMeasurement=0, xDistance=1501, yDistance=108, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=120, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=20, planarObjectDimension2=10, verticalObjectDimension=15, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=null, bicyclist=1, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null]]], freeSpaceAddendumContainer=null]]

Sensor Object update: ora_test_123_123456_15
Sensor Object dimensions:
Length: 1.0 | Width: 1.0
Footprint: null

Sensor Object update: ora_test_123_123456_34
Sensor Object dimensions:
Length: 2.0 | Width: 1.0
Footprint: [lat/lng: (48.625171422438044,2.2405491750297735), lat/lng: (48.62516955472471,2.240562468730296), lat/lng: (48.62515198092395,2.2405568174024153), lat/lng: (48.625153848637275,2.240543523706522)]

Road Sensor update: ora_test_123_123456
  1. During the second run, you should see CPMs v2.1.1 being sent, received and processed (i.e. turned into a SensorObjects):
Sending CPM v2.1.1: CpmEnvelope211[messageType=cpm, sourceUuid=ora_test_123, timestamp=1783588572132, version=2.1.1, objectIdRotationCount=null, message=CpmMessage211[protocolVersion=2, stationId=123456, managementContainer=ManagementContainer[referenceTime=710673372132, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, positionConfidenceEllipse=PositionConfidenceEllipse[semiMajor=4095, semiMinor=4095, semiMajorOrientation=3601], altitude=Altitude[value=0, confidence=15]], segmentationInfo=null, messageRateRange=null], originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[mapReferences=[MapReference[roadSegment=RoadSegment[id=123, region=123], intersection=null]]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, sensorType=4, perceptionRegionShape=Shape[rectangular=null, circular=Circular[radius=200, shapeReferencePoint=CartesianPosition3d[xCoordinate=0, yCoordinate=0, zCoordinate=null], height=null], polygonal=null, elliptical=null, radial=null, radialShapes=null], perceptionRegionConfidence=100, shadowingApplies=true]]], perceptionRegionContainer=null, perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=-1805, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=207, confidence=100], zCoordinate=null], objectId=15, velocity=null, acceleration=null, angles=null, zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=20, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=10, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=1, bicyclistAndLightVruVehicle=null, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null], PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=1508, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=90, confidence=100], zCoordinate=null], objectId=34, velocity=null, acceleration=null, angles=EulerAngles[zAngle=Angle[value=120, confidence=1], yAngle=Angle[value=0, confidence=1], xAngle=Angle[value=0, confidence=1]], zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=15, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=20, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=null, bicyclistAndLightVruVehicle=1, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null]]]]]

Raw message received: {"message_type":"cpm","source_uuid":"ora_test_123","timestamp":1783588572132,"version":"2.1.1","message":{"protocol_version":2,"station_id":123456,"management_container":{"reference_time":710673372132,"reference_position":{"latitude":486251520,"longitude":22403490,"position_confidence_ellipse":{"semi_major":4095,"semi_minor":4095,"semi_major_orientation":3601},"altitude":{"value":0,"confidence":15}}},"originating_rsu_container":[{"road_segment":{"id":123,"region":123}}],"sensor_information_container":[{"sensor_id":123,"sensor_type":4,"perception_region_shape":{"circular":{"radius":200,"shape_reference_point":{"x_coordinate":0,"y_coordinate":0}}},"perception_region_confidence":100,"shadowing_applies":true}],"perceived_object_container":[{"measurement_delta_time":0,"position":{"x_coordinate":{"value":-1805,"confidence":100},"y_coordinate":{"value":207,"confidence":100}},"object_id":15,"object_dimension_z":{"value":20,"confidence":1},"object_dimension_y":{"value":10,"confidence":1},"object_dimension_x":{"value":10,"confidence":1},"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"vru":{"pedestrian":1}},"confidence":100}]},{"measurement_delta_time":0,"position":{"x_coordinate":{"value":1508,"confidence":100},"y_coordinate":{"value":90,"confidence":100}},"object_id":34,"angles":{"z_angle":{"value":120,"confidence":1},"y_angle":{"value":0,"confidence":1},"x_angle":{"value":0,"confidence":1}},"object_dimension_z":{"value":15,"confidence":1},"object_dimension_y":{"value":10,"confidence":1},"object_dimension_x":{"value":20,"confidence":1},"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"vru":{"bicyclist_and_light_vru_vehicle":1}},"confidence":100}]}]}}

Raw CPM v2.1.1: CpmEnvelope211[messageType=cpm, sourceUuid=ora_test_123, timestamp=1783588572132, version=2.1.1, objectIdRotationCount=null, message=CpmMessage211[protocolVersion=2, stationId=123456, managementContainer=ManagementContainer[referenceTime=710673372132, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, positionConfidenceEllipse=PositionConfidenceEllipse[semiMajor=4095, semiMinor=4095, semiMajorOrientation=3601], altitude=Altitude[value=0, confidence=15]], segmentationInfo=null, messageRateRange=null], originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[mapReferences=[MapReference[roadSegment=RoadSegment[id=123, region=123], intersection=null]]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, sensorType=4, perceptionRegionShape=Shape[rectangular=null, circular=Circular[radius=200, shapeReferencePoint=CartesianPosition3d[xCoordinate=0, yCoordinate=0, zCoordinate=null], height=null], polygonal=null, elliptical=null, radial=null, radialShapes=null], perceptionRegionConfidence=100, shadowingApplies=true]]], perceptionRegionContainer=null, perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=-1805, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=207, confidence=100], zCoordinate=null], objectId=15, velocity=null, acceleration=null, angles=null, zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=20, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=10, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=1, bicyclistAndLightVruVehicle=null, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null], PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=1508, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=90, confidence=100], zCoordinate=null], objectId=34, velocity=null, acceleration=null, angles=EulerAngles[zAngle=Angle[value=120, confidence=1], yAngle=Angle[value=0, confidence=1], xAngle=Angle[value=0, confidence=1]], zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=15, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=20, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=null, bicyclistAndLightVruVehicle=1, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null]]]]]

Sensor Object update: ora_test_123_123456_15
Sensor Object dimensions:
Length: 1.0 | Width: 1.0
Footprint: null

Sensor Object update: ora_test_123_123456_34
Sensor Object dimensions:
Length: 2.0 | Width: 1.0
Footprint: [lat/lng: (48.62516980545945,2.240550126371443), lat/lng: (48.62516793774612,2.240563420071539), lat/lng: (48.62515036394537,2.2405577687438405), lat/lng: (48.62515223165871,2.240544475048373)]

Road Sensor update: ora_test_123_123456

Note1: one sensor object has a NULL footprint in each test voluntarily, because no orientation has been provided.
Note2: it is normal if source_uuid, station_id and timestamps differ in your test.

…sorObject

Signed-off-by: Mathieu LEFEBVRE <mathieu1.lefebvre@orange.com>
- heading has been renamed into bearing to more accurately describe the speed vector direction.
- orientation has been added to represent the physical orientation of the object (equivalent to its heading). The footprint is now calculated based on this value.

Signed-off-by: Mathieu LEFEBVRE <mathieu1.lefebvre@orange.com>
Signed-off-by: Mathieu LEFEBVRE <mathieu1.lefebvre@orange.com>
… and v2.1.1

Note: orientation is voluntarily not set for the pedestrian object.
Signed-off-by: Mathieu LEFEBVRE <mathieu1.lefebvre@orange.com>
Signed-off-by: Mathieu LEFEBVRE <mathieu1.lefebvre@orange.com>
@mathieu1fb mathieu1fb added this to the Sprint 22 milestone Jul 9, 2026
@mathieu1fb mathieu1fb requested a review from fredOG-2A1 July 9, 2026 09:28
@mathieu1fb mathieu1fb self-assigned this Jul 9, 2026
@mathieu1fb mathieu1fb added the Java label Jul 9, 2026
@mathieu1fb mathieu1fb added this to Kanban Jul 9, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in Kanban Jul 9, 2026

@fredOG-2A1 fredOG-2A1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read. About to test.

@fredOG-2A1

Copy link
Copy Markdown
Member

Tests (Thanks for the help) seem OK:
`Sending CPM v1.2.1: CpmEnvelope121[type=cpm, origin=self, version=1.2.1, sourceUuid=uuid, timestamp=1783598293674, message=CpmMessage121[protocolVersion=2, stationId=123456, generationDeltaTime=27306, managementContainer=ManagementContainer[stationType=15, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, altitude=0], confidence=ManagementConfidence[positionConfidenceEllipse=PositionConfidenceEllipse[semiMajorConfidence=4095, semiMinorConfidence=4095, semiMajorOrientation=3601], altitude=15]], stationDataContainer=StationDataContainer[originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[region=123, intersectionReferenceId=123, roadSegmentReferenceId=123]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, type=4, detectionArea=DetectionArea[vehicleSensor=null, stationarySensorRadial=null, stationarySensorPolygon=null, stationarySensorCircular=AreaCircular[nodeCenterPoint=Offset[x=0, y=0, z=0], radius=200], stationarySensorEllipse=null, stationarySensorRectangle=null]]]], perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[objectId=15, timeOfMeasurement=0, xDistance=-1803, yDistance=198, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=10, planarObjectDimension2=10, verticalObjectDimension=20, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=1, bicyclist=null, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null], PerceivedObject[objectId=34, timeOfMeasurement=0, xDistance=1493, yDistance=91, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=120, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=20, planarObjectDimension2=10, verticalObjectDimension=15, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=null, bicyclist=1, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null]]], freeSpaceAddendumContainer=null]]
Raw message received: {"type":"cpm","origin":"self","version":"1.2.1","source_uuid":"uuid","timestamp":1783598293674,"message":{"protocol_version":2,"station_id":123456,"generation_delta_time":27306,"management_container":{"station_type":15,"reference_position":{"latitude":486251520,"longitude":22403490,"altitude":0},"confidence":{"position_confidence_ellipse":{"semi_major_confidence":4095,"semi_minor_confidence":4095,"semi_major_orientation":3601},"altitude":15}},"station_data_container":{"originating_rsu_container":{"region":123,"intersection_reference_id":123,"road_segment_reference_id":123}},"sensor_information_container":[{"sensor_id":123,"type":4,"detection_area":{"stationary_sensor_circular":{"node_center_point":{"x":0,"y":0,"z":0},"radius":200}}}],"perceived_object_container":[{"object_id":15,"time_of_measurement":0,"x_distance":-1803,"y_distance":198,"x_speed":0,"y_speed":0,"planar_object_dimension_1":10,"planar_object_dimension_2":10,"vertical_object_dimension":20,"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"single_vru":{"pedestrian":1}},"confidence":100}],"confidence":{"x_distance":4095,"y_distance":4095,"x_speed":0,"y_speed":0,"object":15}},{"object_id":34,"time_of_measurement":0,"x_distance":1493,"y_distance":91,"x_speed":0,"y_speed":0,"yaw_angle":120,"planar_object_dimension_1":20,"planar_object_dimension_2":10,"vertical_object_dimension":15,"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"single_vru":{"bicyclist":1}},"confidence":100}],"confidence":{"x_distance":4095,"y_distance":4095,"x_speed":0,"y_speed":0,"object":15}}]}}

Raw CPM v1.2.1: CpmEnvelope121[type=cpm, origin=self, version=1.2.1, sourceUuid=uuid, timestamp=1783598293674, message=CpmMessage121[protocolVersion=2, stationId=123456, generationDeltaTime=27306, managementContainer=ManagementContainer[stationType=15, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, altitude=0], confidence=ManagementConfidence[positionConfidenceEllipse=PositionConfidenceEllipse[semiMajorConfidence=4095, semiMinorConfidence=4095, semiMajorOrientation=3601], altitude=15]], stationDataContainer=StationDataContainer[originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[region=123, intersectionReferenceId=123, roadSegmentReferenceId=123]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, type=4, detectionArea=DetectionArea[vehicleSensor=null, stationarySensorRadial=null, stationarySensorPolygon=null, stationarySensorCircular=AreaCircular[nodeCenterPoint=Offset[x=0, y=0, z=0], radius=200], stationarySensorEllipse=null, stationarySensorRectangle=null]]]], perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[objectId=15, timeOfMeasurement=0, xDistance=-1803, yDistance=198, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=10, planarObjectDimension2=10, verticalObjectDimension=20, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=1, bicyclist=null, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null], PerceivedObject[objectId=34, timeOfMeasurement=0, xDistance=1493, yDistance=91, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=120, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=20, planarObjectDimension2=10, verticalObjectDimension=15, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=null, bicyclist=1, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null]]], freeSpaceAddendumContainer=null]]
Sensor Object update: uuid_123456_15
Sensor Object dimensions:
Length: 1.0 | Width: 1.0
Footprint: null
Sensor Object update: uuid_123456_34
Sensor Object dimensions:
Length: 2.0 | Width: 1.0
Footprint: [lat/lng: (48.62516989529511,2.2405480877687625), lat/lng: (48.62516802758178,2.2405613814688827), lat/lng: (48.625150453781025,2.240555730141173), lat/lng: (48.62515232149435,2.240542436445682)]
Road Sensor update: uuid_123456

Sending CPM v2.1.1: CpmEnvelope211[messageType=cpm, sourceUuid=uuid, timestamp=1783598364176, version=2.1.1, objectIdRotationCount=null, message=CpmMessage211[protocolVersion=2, stationId=123456, managementContainer=ManagementContainer[referenceTime=710683164176, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, positionConfidenceEllipse=PositionConfidenceEllipse[semiMajor=4095, semiMinor=4095, semiMajorOrientation=3601], altitude=Altitude[value=0, confidence=15]], segmentationInfo=null, messageRateRange=null], originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[mapReferences=[MapReference[roadSegment=RoadSegment[id=123, region=123], intersection=null]]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, sensorType=4, perceptionRegionShape=Shape[rectangular=null, circular=Circular[radius=200, shapeReferencePoint=CartesianPosition3d[xCoordinate=0, yCoordinate=0, zCoordinate=null], height=null], polygonal=null, elliptical=null, radial=null, radialShapes=null], perceptionRegionConfidence=100, shadowingApplies=true]]], perceptionRegionContainer=null, perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=-1798, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=203, confidence=100], zCoordinate=null], objectId=15, velocity=null, acceleration=null, angles=null, zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=20, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=10, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=1, bicyclistAndLightVruVehicle=null, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null], PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=1497, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=107, confidence=100], zCoordinate=null], objectId=34, velocity=null, acceleration=null, angles=EulerAngles[zAngle=Angle[value=120, confidence=1], yAngle=Angle[value=0, confidence=1], xAngle=Angle[value=0, confidence=1]], zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=15, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=20, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=null, bicyclistAndLightVruVehicle=1, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null]]]]]
Raw message received: {"message_type":"cpm","source_uuid":"uuid","timestamp":1783598364176,"version":"2.1.1","message":{"protocol_version":2,"station_id":123456,"management_container":{"reference_time":710683164176,"reference_position":{"latitude":486251520,"longitude":22403490,"position_confidence_ellipse":{"semi_major":4095,"semi_minor":4095,"semi_major_orientation":3601},"altitude":{"value":0,"confidence":15}}},"originating_rsu_container":[{"road_segment":{"id":123,"region":123}}],"sensor_information_container":[{"sensor_id":123,"sensor_type":4,"perception_region_shape":{"circular":{"radius":200,"shape_reference_point":{"x_coordinate":0,"y_coordinate":0}}},"perception_region_confidence":100,"shadowing_applies":true}],"perceived_object_container":[{"measurement_delta_time":0,"position":{"x_coordinate":{"value":-1798,"confidence":100},"y_coordinate":{"value":203,"confidence":100}},"object_id":15,"object_dimension_z":{"value":20,"confidence":1},"object_dimension_y":{"value":10,"confidence":1},"object_dimension_x":{"value":10,"confidence":1},"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"vru":{"pedestrian":1}},"confidence":100}]},{"measurement_delta_time":0,"position":{"x_coordinate":{"value":1497,"confidence":100},"y_coordinate":{"value":107,"confidence":100}},"object_id":34,"angles":{"z_angle":{"value":120,"confidence":1},"y_angle":{"value":0,"confidence":1},"x_angle":{"value":0,"confidence":1}},"object_dimension_z":{"value":15,"confidence":1},"object_dimension_y":{"value":10,"confidence":1},"object_dimension_x":{"value":20,"confidence":1},"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"vru":{"bicyclist_and_light_vru_vehicle":1}},"confidence":100}]}]}}

Raw CPM v2.1.1: CpmEnvelope211[messageType=cpm, sourceUuid=uuid, timestamp=1783598364176, version=2.1.1, objectIdRotationCount=null, message=CpmMessage211[protocolVersion=2, stationId=123456, managementContainer=ManagementContainer[referenceTime=710683164176, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, positionConfidenceEllipse=PositionConfidenceEllipse[semiMajor=4095, semiMinor=4095, semiMajorOrientation=3601], altitude=Altitude[value=0, confidence=15]], segmentationInfo=null, messageRateRange=null], originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[mapReferences=[MapReference[roadSegment=RoadSegment[id=123, region=123], intersection=null]]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, sensorType=4, perceptionRegionShape=Shape[rectangular=null, circular=Circular[radius=200, shapeReferencePoint=CartesianPosition3d[xCoordinate=0, yCoordinate=0, zCoordinate=null], height=null], polygonal=null, elliptical=null, radial=null, radialShapes=null], perceptionRegionConfidence=100, shadowingApplies=true]]], perceptionRegionContainer=null, perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=-1798, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=203, confidence=100], zCoordinate=null], objectId=15, velocity=null, acceleration=null, angles=null, zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=20, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=10, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=1, bicyclistAndLightVruVehicle=null, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null], PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=1497, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=107, confidence=100], zCoordinate=null], objectId=34, velocity=null, acceleration=null, angles=EulerAngles[zAngle=Angle[value=120, confidence=1], yAngle=Angle[value=0, confidence=1], xAngle=Angle[value=0, confidence=1]], zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=15, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=20, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=null, bicyclistAndLightVruVehicle=1, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null]]]]]
Sensor Object update: uuid_123456_15
Sensor Object dimensions:
Length: 1.0 | Width: 1.0
Footprint: null
Sensor Object update: uuid_123456_34
Sensor Object dimensions:
Length: 2.0 | Width: 1.0
Footprint: [lat/lng: (48.62517133260695,2.2405486314019245), lat/lng: (48.625169464893624,2.2405619251024236), lat/lng: (48.62515189109286,2.2405562737745535), lat/lng: (48.6251537588062,2.2405429800786836)]
Road Sensor update: uuid_123456`

@mathieu1fb

Copy link
Copy Markdown
Collaborator Author

Tests (Thanks for the help) seem OK: `Sending CPM v1.2.1: CpmEnvelope121[type=cpm, origin=self, version=1.2.1, sourceUuid=uuid, timestamp=1783598293674, message=CpmMessage121[protocolVersion=2, stationId=123456, generationDeltaTime=27306, managementContainer=ManagementContainer[stationType=15, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, altitude=0], confidence=ManagementConfidence[positionConfidenceEllipse=PositionConfidenceEllipse[semiMajorConfidence=4095, semiMinorConfidence=4095, semiMajorOrientation=3601], altitude=15]], stationDataContainer=StationDataContainer[originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[region=123, intersectionReferenceId=123, roadSegmentReferenceId=123]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, type=4, detectionArea=DetectionArea[vehicleSensor=null, stationarySensorRadial=null, stationarySensorPolygon=null, stationarySensorCircular=AreaCircular[nodeCenterPoint=Offset[x=0, y=0, z=0], radius=200], stationarySensorEllipse=null, stationarySensorRectangle=null]]]], perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[objectId=15, timeOfMeasurement=0, xDistance=-1803, yDistance=198, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=10, planarObjectDimension2=10, verticalObjectDimension=20, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=1, bicyclist=null, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null], PerceivedObject[objectId=34, timeOfMeasurement=0, xDistance=1493, yDistance=91, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=120, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=20, planarObjectDimension2=10, verticalObjectDimension=15, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=null, bicyclist=1, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null]]], freeSpaceAddendumContainer=null]] Raw message received: {"type":"cpm","origin":"self","version":"1.2.1","source_uuid":"uuid","timestamp":1783598293674,"message":{"protocol_version":2,"station_id":123456,"generation_delta_time":27306,"management_container":{"station_type":15,"reference_position":{"latitude":486251520,"longitude":22403490,"altitude":0},"confidence":{"position_confidence_ellipse":{"semi_major_confidence":4095,"semi_minor_confidence":4095,"semi_major_orientation":3601},"altitude":15}},"station_data_container":{"originating_rsu_container":{"region":123,"intersection_reference_id":123,"road_segment_reference_id":123}},"sensor_information_container":[{"sensor_id":123,"type":4,"detection_area":{"stationary_sensor_circular":{"node_center_point":{"x":0,"y":0,"z":0},"radius":200}}}],"perceived_object_container":[{"object_id":15,"time_of_measurement":0,"x_distance":-1803,"y_distance":198,"x_speed":0,"y_speed":0,"planar_object_dimension_1":10,"planar_object_dimension_2":10,"vertical_object_dimension":20,"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"single_vru":{"pedestrian":1}},"confidence":100}],"confidence":{"x_distance":4095,"y_distance":4095,"x_speed":0,"y_speed":0,"object":15}},{"object_id":34,"time_of_measurement":0,"x_distance":1493,"y_distance":91,"x_speed":0,"y_speed":0,"yaw_angle":120,"planar_object_dimension_1":20,"planar_object_dimension_2":10,"vertical_object_dimension":15,"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"single_vru":{"bicyclist":1}},"confidence":100}],"confidence":{"x_distance":4095,"y_distance":4095,"x_speed":0,"y_speed":0,"object":15}}]}}

Raw CPM v1.2.1: CpmEnvelope121[type=cpm, origin=self, version=1.2.1, sourceUuid=uuid, timestamp=1783598293674, message=CpmMessage121[protocolVersion=2, stationId=123456, generationDeltaTime=27306, managementContainer=ManagementContainer[stationType=15, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, altitude=0], confidence=ManagementConfidence[positionConfidenceEllipse=PositionConfidenceEllipse[semiMajorConfidence=4095, semiMinorConfidence=4095, semiMajorOrientation=3601], altitude=15]], stationDataContainer=StationDataContainer[originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[region=123, intersectionReferenceId=123, roadSegmentReferenceId=123]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, type=4, detectionArea=DetectionArea[vehicleSensor=null, stationarySensorRadial=null, stationarySensorPolygon=null, stationarySensorCircular=AreaCircular[nodeCenterPoint=Offset[x=0, y=0, z=0], radius=200], stationarySensorEllipse=null, stationarySensorRectangle=null]]]], perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[objectId=15, timeOfMeasurement=0, xDistance=-1803, yDistance=198, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=10, planarObjectDimension2=10, verticalObjectDimension=20, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=1, bicyclist=null, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null], PerceivedObject[objectId=34, timeOfMeasurement=0, xDistance=1493, yDistance=91, xSpeed=0, ySpeed=0, objectAge=1500, confidence=PerceivedObjectConfidence[xDistance=4095, yDistance=4095, xSpeed=0, ySpeed=0, object=15, zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=null, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, planarObjectDimension1=null, planarObjectDimension2=null, verticalObjectDimension=null, longitudinalLanePosition=null], zDistance=null, zSpeed=null, xAcceleration=null, yAcceleration=null, zAcceleration=null, rollAngle=null, pitchAngle=null, yawAngle=120, rollRate=null, pitchRate=null, yawRate=null, rollAcceleration=null, pitchAcceleration=null, yawAcceleration=null, lowerTriangularCorrelationMatrixColumns=null, planarObjectDimension1=20, planarObjectDimension2=10, verticalObjectDimension=15, objectRefPoint=null, sensorIdList=[123], dynamicStatus=null, classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, singleVru=ObjectClassVru[pedestrian=null, bicyclist=1, motorcylist=null, animal=null], vruGroup=null, other=null], confidence=100]], matchedPosition=null]]], freeSpaceAddendumContainer=null]] Sensor Object update: uuid_123456_15 Sensor Object dimensions: Length: 1.0 | Width: 1.0 Footprint: null Sensor Object update: uuid_123456_34 Sensor Object dimensions: Length: 2.0 | Width: 1.0 Footprint: [lat/lng: (48.62516989529511,2.2405480877687625), lat/lng: (48.62516802758178,2.2405613814688827), lat/lng: (48.625150453781025,2.240555730141173), lat/lng: (48.62515232149435,2.240542436445682)] Road Sensor update: uuid_123456

Sending CPM v2.1.1: CpmEnvelope211[messageType=cpm, sourceUuid=uuid, timestamp=1783598364176, version=2.1.1, objectIdRotationCount=null, message=CpmMessage211[protocolVersion=2, stationId=123456, managementContainer=ManagementContainer[referenceTime=710683164176, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, positionConfidenceEllipse=PositionConfidenceEllipse[semiMajor=4095, semiMinor=4095, semiMajorOrientation=3601], altitude=Altitude[value=0, confidence=15]], segmentationInfo=null, messageRateRange=null], originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[mapReferences=[MapReference[roadSegment=RoadSegment[id=123, region=123], intersection=null]]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, sensorType=4, perceptionRegionShape=Shape[rectangular=null, circular=Circular[radius=200, shapeReferencePoint=CartesianPosition3d[xCoordinate=0, yCoordinate=0, zCoordinate=null], height=null], polygonal=null, elliptical=null, radial=null, radialShapes=null], perceptionRegionConfidence=100, shadowingApplies=true]]], perceptionRegionContainer=null, perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=-1798, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=203, confidence=100], zCoordinate=null], objectId=15, velocity=null, acceleration=null, angles=null, zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=20, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=10, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=1, bicyclistAndLightVruVehicle=null, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null], PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=1497, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=107, confidence=100], zCoordinate=null], objectId=34, velocity=null, acceleration=null, angles=EulerAngles[zAngle=Angle[value=120, confidence=1], yAngle=Angle[value=0, confidence=1], xAngle=Angle[value=0, confidence=1]], zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=15, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=20, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=null, bicyclistAndLightVruVehicle=1, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null]]]]] Raw message received: {"message_type":"cpm","source_uuid":"uuid","timestamp":1783598364176,"version":"2.1.1","message":{"protocol_version":2,"station_id":123456,"management_container":{"reference_time":710683164176,"reference_position":{"latitude":486251520,"longitude":22403490,"position_confidence_ellipse":{"semi_major":4095,"semi_minor":4095,"semi_major_orientation":3601},"altitude":{"value":0,"confidence":15}}},"originating_rsu_container":[{"road_segment":{"id":123,"region":123}}],"sensor_information_container":[{"sensor_id":123,"sensor_type":4,"perception_region_shape":{"circular":{"radius":200,"shape_reference_point":{"x_coordinate":0,"y_coordinate":0}}},"perception_region_confidence":100,"shadowing_applies":true}],"perceived_object_container":[{"measurement_delta_time":0,"position":{"x_coordinate":{"value":-1798,"confidence":100},"y_coordinate":{"value":203,"confidence":100}},"object_id":15,"object_dimension_z":{"value":20,"confidence":1},"object_dimension_y":{"value":10,"confidence":1},"object_dimension_x":{"value":10,"confidence":1},"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"vru":{"pedestrian":1}},"confidence":100}]},{"measurement_delta_time":0,"position":{"x_coordinate":{"value":1497,"confidence":100},"y_coordinate":{"value":107,"confidence":100}},"object_id":34,"angles":{"z_angle":{"value":120,"confidence":1},"y_angle":{"value":0,"confidence":1},"x_angle":{"value":0,"confidence":1}},"object_dimension_z":{"value":15,"confidence":1},"object_dimension_y":{"value":10,"confidence":1},"object_dimension_x":{"value":20,"confidence":1},"object_age":1500,"sensor_id_list":[123],"classification":[{"object_class":{"vru":{"bicyclist_and_light_vru_vehicle":1}},"confidence":100}]}]}}

Raw CPM v2.1.1: CpmEnvelope211[messageType=cpm, sourceUuid=uuid, timestamp=1783598364176, version=2.1.1, objectIdRotationCount=null, message=CpmMessage211[protocolVersion=2, stationId=123456, managementContainer=ManagementContainer[referenceTime=710683164176, referencePosition=ReferencePosition[latitude=486251520, longitude=22403490, positionConfidenceEllipse=PositionConfidenceEllipse[semiMajor=4095, semiMinor=4095, semiMajorOrientation=3601], altitude=Altitude[value=0, confidence=15]], segmentationInfo=null, messageRateRange=null], originatingVehicleContainer=null, originatingRsuContainer=OriginatingRsuContainer[mapReferences=[MapReference[roadSegment=RoadSegment[id=123, region=123], intersection=null]]], sensorInformationContainer=SensorInformationContainer[sensorInformation=[SensorInformation[sensorId=123, sensorType=4, perceptionRegionShape=Shape[rectangular=null, circular=Circular[radius=200, shapeReferencePoint=CartesianPosition3d[xCoordinate=0, yCoordinate=0, zCoordinate=null], height=null], polygonal=null, elliptical=null, radial=null, radialShapes=null], perceptionRegionConfidence=100, shadowingApplies=true]]], perceptionRegionContainer=null, perceivedObjectContainer=PerceivedObjectContainer[perceivedObjects=[PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=-1798, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=203, confidence=100], zCoordinate=null], objectId=15, velocity=null, acceleration=null, angles=null, zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=20, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=10, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=1, bicyclistAndLightVruVehicle=null, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null], PerceivedObject[measurementDeltaTime=0, position=CartesianPosition3dWithConfidence[xCoordinate=CartesianCoordinateWithConfidence[value=1497, confidence=100], yCoordinate=CartesianCoordinateWithConfidence[value=107, confidence=100], zCoordinate=null], objectId=34, velocity=null, acceleration=null, angles=EulerAngles[zAngle=Angle[value=120, confidence=1], yAngle=Angle[value=0, confidence=1], xAngle=Angle[value=0, confidence=1]], zAngularVelocity=null, lowerTriangularCorrelationMatrices=null, objectDimensionZ=ObjectDimension[value=15, confidence=1], objectDimensionY=ObjectDimension[value=10, confidence=1], objectDimensionX=ObjectDimension[value=20, confidence=1], objectAge=1500, objectPerceptionQuality=null, sensorIdList=[123], classification=[ObjectClassification[objectClass=ObjectClass[vehicle=null, vru=ObjectClassVru[pedestrian=null, bicyclistAndLightVruVehicle=1, motorcylist=null, animal=null], group=null, other=null], confidence=100]], mapPosition=null]]]]] Sensor Object update: uuid_123456_15 Sensor Object dimensions: Length: 1.0 | Width: 1.0 Footprint: null Sensor Object update: uuid_123456_34 Sensor Object dimensions: Length: 2.0 | Width: 1.0 Footprint: [lat/lng: (48.62517133260695,2.2405486314019245), lat/lng: (48.625169464893624,2.2405619251024236), lat/lng: (48.62515189109286,2.2405562737745535), lat/lng: (48.6251537588062,2.2405429800786836)] Road Sensor update: uuid_123456`

All looking as expected!

@fredOG-2A1 fredOG-2A1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again.

@mathieu1fb

Copy link
Copy Markdown
Collaborator Author

Thanks again.

No, thanks to you ;)

@mathieu1fb mathieu1fb merged commit 7cbc5d1 into Orange-OpenSource:master Jul 9, 2026
120 of 121 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Kanban Jul 9, 2026
@mathieu1fb mathieu1fb deleted the add-sensorobject-planar-dimensions branch July 9, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Java/IoT3Mobility: add planar dimensions to SensorObject

2 participants