Commit e11c82a9 authored by urhahne's avatar urhahne
Browse files

refinded changes from session #7

parent 126cd0b6
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -74,9 +74,7 @@ SafetyViolationsEnum ::= ENUMERATED {
  monitoring(12)
}

SessionMissionID ::= IA5String (SIZE(32))  -- Session ID response, also suitable to carry VIN for special use cases!
                                              -- The data size and the datatype should be reviewed.
                                              -- Waiting for contribution.
SessionMissionID ::= IA5String (SIZE(17..32)) -- Session ID response, also suitable to carry VIN for special use cases!

ParkingControlE2EProtection ::= SEQUENCE { -- AUTOSAR Profile 4 e2e protection
  length UInt16,
+8 −6
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ DEFINITIONS AUTOMATIC TAGS ::= BEGIN -- Park Control Infrastucture Message

IMPORTS

RollingCounter, CentimetrePerSecond, HighResCurvature, GearEnum, WaypointIndex, Pose, ParkingControlE2EProtection, OEMSpecificData
RollingCounter, CentimetrePerSecond, HighResCurvature, GearEnum, WaypointIndex, Pose, ParkingControlE2EProtection, OEMSpecificData, SessionMissionID, UInt8, UInt16, UInt32
FROM AVP-Commons-PDU-Descriptions {
  itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103882) avpCommons (5) major-version-1 (1) minor-version-1(1)
}
@@ -25,12 +25,13 @@ PCIM ::= SEQUENCE {
}

Pcim ::= SEQUENCE {
  vehicles SEQUENCE (SIZE(1..32)) OF VehicleContainer  -- Max. 32 vehicles at a time based on size of VehicleContainerSeq options.
  vehicles SEQUENCE (SIZE(1..32)) OF VehicleContainer,  -- Max. 32 vehicles at a time based on size of VehicleContainerSeq options.
  ...                                                   -- extension marker
}

VehicleContainer ::= SEQUENCE {
  currentSessionID SessionMissionID,
  currentMissionID SessionMissionID,                 	-- 6 character ID
  currentSessionID SessionMissionID,					-- up to 32 character ID
  currentMissionID SessionMissionID OPTIONAL,           -- optional missionID 32 character ID
														-- Option: smaller data size might be sufficient
  rollingCounterFromPcvm RollingCounter,             	-- PCVM Rolling counter signal paired with serverTimeAtPcvm
  vehicleIdentification VidRequest OPTIONAL,         	-- for generating a blinking pattern for the direction indicator lights
@@ -39,7 +40,8 @@ VehicleContainer ::= SEQUENCE {
  driveCommand DriveCommand,                         	-- Contains commands for the automated drive.
  detectedVehiclePose DetectedVehiclePose OPTIONAL,  	-- Contains the most recent pose of the vehicle in the fixed infrastructure coordinate system.
  controlInterface ControlInterface,                 	-- Specifies which interface is used to control the vehicle.
  oemSpecific OEMSpecificData OPTIONAL                -- OEM specific 16 bit container for special purposes.
  oemSpecific OEMSpecificData OPTIONAL,                 -- OEM specific 16 bit container for special purposes.
  ...
}

VidRequest ::= CHOICE {     -- We proposed a change here: now we are flexible with identification technologies
@@ -75,7 +77,7 @@ DriveCommand ::= SEQUENCE {
  terminateReason TerminateReasonEnum,         		-- If action equals terminate, indicates whether a terminate is requested because the vehicle reached the destination or because of an error.
													-- Option: terminateReason is mandatory. It only encodes terminate if the drive command is terminate
													-- Possible resolution: rename to health status, or use CHOICE in driveCommand and use this as a property of terminate drive command
  selectGear GearEnum,                         		-- Requested gear (in line with the driving direction request), incl. request for neutral gear.
  selectGear GearEnum OPTIONAL,                     -- Requested gear (in line with the driving direction request), incl. request for neutral gear.
  directionIndicator VehicleDirIndicatorEnum,  		-- The currently requested direction indicator.
													-- Option: Using CDD's ExteriorLights can be considered as well. It would support multiple light request commands.
  emergencyStopRequest EmergencyStopEnum OPTIONAL	-- Signal for triggering an emergency stop or brake prefill.
+19 −15
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ FROM ETSI-ITS-CDD {
  itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)
}

RollingCounter, OEMSpecificData, GearEnum, CentimetrePerSecond, HighResCurvature, WaypointIndex, Pose, SessionMissionID, ParkingControlE2EProtection
RollingCounter, OEMSpecificData, GearEnum, CentimetrePerSecond, HighResCurvature, WaypointIndex, Pose, SessionMissionID, ParkingControlE2EProtection, VehicleOperationModeEnum, VidVehicleStateEnum , UInt8, UInt16, UInt32, Millisecond16, SafetyViolationsEnum 
FROM AVP-Commons-PDU-Descriptions {
  itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103882) avpCommons (5) major-version-1 (1) minor-version-1(1)
}
@@ -25,14 +25,16 @@ PCVM ::= SEQUENCE {
}

Pcvm ::= SEQUENCE {
  sessionID SessionMissionID,
  sessionID SessionMissionID,										-- 32 character ID
  rollingCounterFromPcim RollingCounter,     						-- Rolling counter of last received PCIM
  vehicleState VehicleState,                 						-- Relevant vehicle information.
  safetyTimeSyncResponse SafetyTimeSyncResponse OPTIONAL,			-- Functional Safety related container
  safeVehicleTypeConfirmation SafeVehicleTypeConfirmation OPTIONAL,	-- Functional Safety related container
  vehicleError VehicleError OPTIONAL,        						-- Optional error information. Depending on the given error, the infrastructure either tries to resolve the issue or aborts the mission.
  vehicleDebug VehicleDebug OPTIONAL,        						-- Optional debug information.
  oemSpecific OEMSpecificData OPTIONAL 						-- OEM specific 16 bit container for special purposes.
  vehicleSafetyFeedback VehicleSafetyFeedback OPTIONAL, 			-- Relevant safety information from vehicle
  oemSpecific OEMSpecificData OPTIONAL, 							-- OEM specific 16 bit container for special purposes.
  ...                                                               -- extension marker
}

VehicleState ::= SEQUENCE {
@@ -44,10 +46,6 @@ VehicleState ::= SEQUENCE {
  secureStandstill BOOLEAN,                           -- True if the vehicle is currently in secure standstill (i.e. standstill and secured against rolling, even when vehicle is powered down and even on ramps).
  idxLastWayPoint WaypointIndex OPTIONAL,             -- Index of last WayPoint that has been received from infrastucture. 0 if not applicable.
  localizedPose Pose OPTIONAL                         -- The current vehicle pose estimated by the vehicle. (Usually close to the pose estimated by the GMS, prediction by the vehicle) 
                                                      -- Option: Discussion point: 
                                                      --     Pose interpretation should be clarified.
                                                      --     It could include a timestamp. 
                                                      --     Relative or absolute position: should be decided (both could be an option).
}

VehicleError ::= SEQUENCE {
@@ -61,19 +59,25 @@ VehCodeEnum ::= ENUMERATED {
  path-not-driveable(1)  -- The vehicle can’t follow the given waypoints, based on the given DetectedVehiclePose. Infrastructure tries to plan a different path or aborts the mission otherwise.
}

VehicleDebug ::= SEQUENCE (SIZE(1..5)) OF DebugContainer   -- up to 5 debug containers for 20 ms debugging
VehicleDebug ::= SEQUENCE {               -- Optional information from the vehicle that might help debugging and analysis
  requestedVelocity CentimetrePerSecond,  -- The currently requested velocity sent to the vehicle. Negative when driving backwards.
  requestedCurvature HighResCurvature,    -- The currently requested curvature sent to the vehicle.
  powertrainActive BOOLEAN                -- True if the power train is active, e.g. the engine is running/e-motor ready.
}


DebugContainer ::= SEQUENCE {             -- Option: this container is a matter of discussion. If it is never used, we could remove it. Waiting for contribution.
VehicleSafetyFeedback ::= SEQUENCE (SIZE(1..5)) OF VehicleSafetyFeedbackContainer   -- up to 5 VehicleSafetyFeedback containers for 20 ms monitoring, logging and debugging

VehicleSafetyFeedbackContainer ::= SEQUENCE {
  remainingTimeToDrive Millisecond16,         -- The time which the vehicle is allowed to keep driving until brakes must be engaged. Signed value.
                                              -- Option: CPM's relative time unit could be used if -1500..1500 is enough
  drivingAllowed BOOLEAN,                     -- True if the vehicle is currently allowed to drive, false if a safety stop happened.
  safetyViolations SafetyViolationsEnum,  -- List of violations which currently lead to stopping the vehicle.
                                          -- Option: Currently this is an enum, only 1 error is reported at a time
  requestedVelocity CentimetrePerSecond,  -- The currently requested velocity sent to the vehicle. Negative when driving backwards.
  requestedCurvature HighResCurvature,    -- The currently requested curvature sent to the vehicle.
  powertrainActive BOOLEAN                -- True if the power train is active, e.g. the engine is running/e-motor ready.
  safetyViolations SafetyViolationsContainer, -- List of violations which currently lead to stopping the vehicle.
  currentVehicleSafetyClockTime TimestampIts  -- Time when safety component created this container
}

SafetyViolationsContainer ::= SEQUENCE (SIZE(0..5)) OF SafetyViolationsEnum -- up to 5 safety violations can be reported per cycle

SafetyTimeSyncResponse ::= SEQUENCE {
  challenge UInt16,                           -- Challenge received in the SafetyTimeSyncRequest message
  currentVehicleSafetyClockTime TimestampIts, -- Time of the Vehicle Safety Clock when SafetyTimeSyncRequest was received
+1 −1
Original line number Diff line number Diff line
@@ -48,4 +48,4 @@
      <item instance-name="" message="PCVM"/>
    </capl_message_map>
  </properties>
<protocol name="PCIM"><encoding entry-point="PCIM" method="per"/><lower-layer name="btp" value2="2018"/><source path="ASNV_Module_PCIM.xml"/></protocol><protocol name="PCVM"><encoding entry-point="PCVM" method="per"/><lower-layer name="btp" value2="2019"/><source path="ASNV_Module_PCVM.xml"/></protocol></asnv>
 No newline at end of file
<protocol name="PCVM"><encoding entry-point="PCVM" method="per"/><lower-layer name="btp" value2="2019"/><source path="ASNV_Module_PCVM.xml"/></protocol><protocol name="PCIM"><encoding entry-point="PCIM" method="per"/><lower-layer name="btp" value2="2018"/><source path="ASNV_Module_PCIM.xml"/></protocol></asnv>
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><module asnv-version="1" entry-point="PCIM" name="PCIM" tags="automatic"><sequence name="PCIM"><field name="header" type="ItsPduHeader"/><field name="e2eProtection" type="ParkingControlE2EProtection"/><field name="pcim" type="Pcim"/></sequence><sequence name="ItsPduHeader"><field name="protocolVersion" type="OrdinalNumber1B"/><field name="messageId" type="MessageId"/><field name="stationId" type="StationId"/></sequence><integer max="255" min="0" name="OrdinalNumber1B"/><integer max="255" min="0" name="MessageId"><value name="denm" value="1"/><value name="cam" value="2"/><value name="poi" value="3"/><value name="spatem" value="4"/><value name="mapem" value="5"/><value name="ivim" value="6"/><value name="ev_rsr" value="7"/><value name="tistpgtransaction" value="8"/><value name="srem" value="9"/><value name="ssem" value="10"/><value name="evcsn" value="11"/><value name="saem" value="12"/><value name="rtcmem" value="13"/><value name="cpm" value="14"/><value name="imzm" value="15"/><value name="vam" value="16"/><value name="dsm" value="17"/><value name="pcim" value="18"/><value name="pcvm" value="19"/><value name="mcm" value="20"/><value name="pam" value="21"/></integer><integer max="4294967295" min="0" name="StationId"/><sequence name="ParkingControlE2EProtection"><field name="length" type="UInt16"/><field name="rollingCounter" type="UInt16"/><field name="dataID" type="UInt32"/><field name="crc32" type="UInt32"/></sequence><integer max="65535" min="0" name="UInt16"/><integer max="4294967295" min="0" name="UInt32"/><sequence name="Pcim"><field name="vehicles" type="Pcim$vehicles"/></sequence><sequence-of max="32" min="1" name="Pcim$vehicles"><field type="VehicleContainer"/></sequence-of><sequence name="VehicleContainer"><field name="currentSessionID" type="SessionMissionID"/><field name="currentMissionID" type="SessionMissionID"/><field name="rollingCounterFromPcvm" type="UInt16"/><field name="vehicleIdentification" optional="true" type="VidRequest"/><field name="drivingPermission" optional="true" type="DrivingPermission"/><field name="safetyTimeSyncRequest" optional="true" type="SafetyTimeSyncRequest"/><field name="driveCommand" type="DriveCommand"/><field name="detectedVehiclePose" optional="true" type="DetectedVehiclePose"/><field name="controlInterface" type="ControlInterface"/><field name="oemSpecific" optional="true" type="UInt16"/></sequence><ia5-string max="32" min="32" name="SessionMissionID"/><choice name="VidRequest"><field name="blinking" type="Blinking"/><extension/></choice><sequence name="Blinking"><field name="seed" type="BlinkingSeed"/><field name="codeLength" type="UInt8"/><field name="currentState" type="VidRequestStateEnum"/></sequence><integer max="18446744073709551615" min="0" name="BlinkingSeed"/><integer max="255" min="0" name="UInt8"/><enumerated name="VidRequestStateEnum"><value name="undefined" value="0"/><value name="flashing" value="1"/><value name="successful" value="2"/><value name="new_code" value="3"/></enumerated><sequence name="DrivingPermission"><field name="expirationTime" type="TimestampIts"/><field name="velocityMax" type="Int16"/><field name="curvatureMin" type="Int16"/><field name="curvatureMax" type="Int16"/><field name="checksum" type="UInt32"/></sequence><integer max="4398046511103" min="0" name="TimestampIts"/><integer max="32767" min="-32768" name="Int16"/><sequence name="SafetyTimeSyncRequest"><field name="challenge" type="UInt16"/><field name="checksum" type="UInt32"/></sequence><sequence name="DriveCommand"><field name="driveCommandAction" type="DriveCommandActionEnum"/><field name="terminateReason" type="TerminateReasonEnum"/><field name="selectGear" type="GearEnum"/><field name="directionIndicator" type="VehicleDirIndicatorEnum"/><field name="emergencyStopRequest" optional="true" type="EmergencyStopEnum"/></sequence><enumerated name="DriveCommandActionEnum"><value name="unknown" value="0"/><value name="initialize" value="1"/><value name="drive" value="2"/><value name="terminate" value="3"/></enumerated><enumerated name="TerminateReasonEnum"><value name="proceed" value="0"/><value name="destination_reached" value="1"/><value name="infrastructure_error" value="2"/><value name="vehicle_error" value="3"/><value name="backend" value="4"/></enumerated><enumerated name="GearEnum"><value name="neutral" value="0"/><value name="forwards" value="1"/><value name="backwards" value="2"/><value name="park" value="3"/></enumerated><enumerated name="VehicleDirIndicatorEnum"><value name="dir_indicator_off" value="0"/><value name="dir_indicator_right" value="1"/><value name="dir_indicator_left" value="2"/><value name="dir_indicator_both" value="3"/><value name="dir_indicator_unknown" value="4"/></enumerated><enumerated name="EmergencyStopEnum"><value name="inactive" value="0"/><value name="precharge" value="1"/><value name="active" value="2"/></enumerated><sequence name="DetectedVehiclePose"><field name="detectedPose" type="Pose"/><field name="poseMeasurementTime" type="TimestampIts"/></sequence><sequence name="Pose"><field name="x" type="Int20"/><field name="y" type="Int20"/><field name="psi" type="Psi"/></sequence><integer max="524287" min="-524288" name="Int20"/><integer max="62831" min="0" name="Psi"><value name="xDirection" value="0"/></integer><choice name="ControlInterface"><field name="pathSnippet" type="PathSnippet"/><field name="directControl" type="DirectControl"/><field name="trajectoryControl" type="TrajectoryControl"/></choice><sequence-of max="5" min="0" name="PathSnippet"><field type="WayPoint"/></sequence-of><sequence name="WayPoint"><field name="index" type="UInt16"/><field name="wayPointPose" type="Pose"/><field name="velocity" type="Int16"/><field name="curvature" type="Int16"/></sequence><sequence name="DirectControl"><field name="velocityReq" type="Int16"/><field name="curvatureReq" type="Int16"/></sequence><sequence name="TrajectoryControl"><field name="timeReference" type="TimestampIts"/><field name="controlTrajectory" type="ControlTrajectory"/><field name="stateTrajectory" optional="true" type="StateTrajectory"/></sequence><sequence-of max="50" min="0" name="ControlTrajectory"><field type="ControlPoint"/></sequence-of><sequence name="ControlPoint"><field name="curvature" type="Int16"/><field name="acceleration" type="LongitudinalAccelerationValue"/></sequence><integer max="161" min="-160" name="LongitudinalAccelerationValue"><value name="negativeOutOfRange" value="-160"/><value name="positiveOutOfRange" value="160"/><value name="unavailable" value="161"/></integer><sequence-of max="50" min="0" name="StateTrajectory"><field type="StatePoint"/></sequence-of><sequence name="StatePoint"><field name="statePose" type="Pose"/><field name="velocity" type="Int16"/></sequence></module>
 No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><module asnv-version="1" entry-point="PCIM" name="PCIM" tags="automatic"><sequence name="PCIM"><field name="header" type="ItsPduHeader"/><field name="e2eProtection" type="ParkingControlE2EProtection"/><field name="pcim" type="Pcim"/></sequence><sequence name="ItsPduHeader"><field name="protocolVersion" type="OrdinalNumber1B"/><field name="messageId" type="MessageId"/><field name="stationId" type="StationId"/></sequence><integer max="255" min="0" name="OrdinalNumber1B"/><integer max="255" min="0" name="MessageId"><value name="denm" value="1"/><value name="cam" value="2"/><value name="poi" value="3"/><value name="spatem" value="4"/><value name="mapem" value="5"/><value name="ivim" value="6"/><value name="ev_rsr" value="7"/><value name="tistpgtransaction" value="8"/><value name="srem" value="9"/><value name="ssem" value="10"/><value name="evcsn" value="11"/><value name="saem" value="12"/><value name="rtcmem" value="13"/><value name="cpm" value="14"/><value name="imzm" value="15"/><value name="vam" value="16"/><value name="dsm" value="17"/><value name="pcim" value="18"/><value name="pcvm" value="19"/><value name="mcm" value="20"/><value name="pam" value="21"/></integer><integer max="4294967295" min="0" name="StationId"/><sequence name="ParkingControlE2EProtection"><field name="length" type="UInt16"/><field name="rollingCounter" type="UInt16"/><field name="dataID" type="UInt32"/><field name="crc32" type="UInt32"/></sequence><integer max="65535" min="0" name="UInt16"/><integer max="4294967295" min="0" name="UInt32"/><sequence name="Pcim"><field name="vehicles" type="Pcim$vehicles"/><extension/></sequence><sequence-of max="32" min="1" name="Pcim$vehicles"><field type="VehicleContainer"/></sequence-of><sequence name="VehicleContainer"><field name="currentSessionID" type="SessionMissionID"/><field name="currentMissionID" optional="true" type="SessionMissionID"/><field name="rollingCounterFromPcvm" type="UInt16"/><field name="vehicleIdentification" optional="true" type="VidRequest"/><field name="drivingPermission" optional="true" type="DrivingPermission"/><field name="safetyTimeSyncRequest" optional="true" type="SafetyTimeSyncRequest"/><field name="driveCommand" type="DriveCommand"/><field name="detectedVehiclePose" optional="true" type="DetectedVehiclePose"/><field name="controlInterface" type="ControlInterface"/><field name="oemSpecific" optional="true" type="UInt16"/><extension/></sequence><ia5-string max="32" min="17" name="SessionMissionID"/><choice name="VidRequest"><field name="blinking" type="Blinking"/><extension/></choice><sequence name="Blinking"><field name="seed" type="BlinkingSeed"/><field name="codeLength" type="UInt8"/><field name="currentState" type="VidRequestStateEnum"/></sequence><integer max="1844674407370955161" min="0" name="BlinkingSeed"/><integer max="255" min="0" name="UInt8"/><enumerated name="VidRequestStateEnum"><value name="undefined" value="0"/><value name="flashing" value="1"/><value name="successful" value="2"/><value name="new_code" value="3"/></enumerated><sequence name="DrivingPermission"><field name="expirationTime" type="TimestampIts"/><field name="velocityMax" type="Int16"/><field name="curvatureMin" type="Int16"/><field name="curvatureMax" type="Int16"/><field name="checksum" type="UInt32"/></sequence><integer max="4398046511103" min="0" name="TimestampIts"/><integer max="32767" min="-32768" name="Int16"/><sequence name="SafetyTimeSyncRequest"><field name="challenge" type="UInt16"/><field name="checksum" type="UInt32"/></sequence><sequence name="DriveCommand"><field name="driveCommandAction" type="DriveCommandActionEnum"/><field name="terminateReason" type="TerminateReasonEnum"/><field name="selectGear" optional="true" type="GearEnum"/><field name="directionIndicator" type="VehicleDirIndicatorEnum"/><field name="emergencyStopRequest" optional="true" type="EmergencyStopEnum"/></sequence><enumerated name="DriveCommandActionEnum"><value name="unknown" value="0"/><value name="initialize" value="1"/><value name="drive" value="2"/><value name="terminate" value="3"/></enumerated><enumerated name="TerminateReasonEnum"><value name="proceed" value="0"/><value name="destination_reached" value="1"/><value name="infrastructure_error" value="2"/><value name="vehicle_error" value="3"/><value name="backend" value="4"/></enumerated><enumerated name="GearEnum"><value name="neutral" value="0"/><value name="forwards" value="1"/><value name="backwards" value="2"/><value name="park" value="3"/></enumerated><enumerated name="VehicleDirIndicatorEnum"><value name="dir_indicator_off" value="0"/><value name="dir_indicator_right" value="1"/><value name="dir_indicator_left" value="2"/><value name="dir_indicator_both" value="3"/><value name="dir_indicator_unknown" value="4"/></enumerated><enumerated name="EmergencyStopEnum"><value name="inactive" value="0"/><value name="precharge" value="1"/><value name="active" value="2"/></enumerated><sequence name="DetectedVehiclePose"><field name="detectedPose" type="Pose"/><field name="poseMeasurementTime" type="TimestampIts"/></sequence><sequence name="Pose"><field name="x" type="Int20"/><field name="y" type="Int20"/><field name="psi" type="Psi"/></sequence><integer max="524287" min="-524288" name="Int20"/><integer max="62831" min="0" name="Psi"><value name="xDirection" value="0"/></integer><choice name="ControlInterface"><field name="pathSnippet" type="PathSnippet"/><field name="directControl" type="DirectControl"/><field name="trajectoryControl" type="TrajectoryControl"/></choice><sequence-of max="5" min="0" name="PathSnippet"><field type="WayPoint"/></sequence-of><sequence name="WayPoint"><field name="index" type="UInt16"/><field name="wayPointPose" type="Pose"/><field name="velocity" type="Int16"/><field name="curvature" type="Int16"/></sequence><sequence name="DirectControl"><field name="velocityReq" type="Int16"/><field name="curvatureReq" type="Int16"/></sequence><sequence name="TrajectoryControl"><field name="timeReference" type="TimestampIts"/><field name="controlTrajectory" type="ControlTrajectory"/><field name="stateTrajectory" optional="true" type="StateTrajectory"/></sequence><sequence-of max="50" min="0" name="ControlTrajectory"><field type="ControlPoint"/></sequence-of><sequence name="ControlPoint"><field name="curvature" type="Int16"/><field name="acceleration" type="LongitudinalAccelerationValue"/></sequence><integer max="161" min="-160" name="LongitudinalAccelerationValue"><value name="negativeOutOfRange" value="-160"/><value name="positiveOutOfRange" value="160"/><value name="unavailable" value="161"/></integer><sequence-of max="50" min="0" name="StateTrajectory"><field type="StatePoint"/></sequence-of><sequence name="StatePoint"><field name="statePose" type="Pose"/><field name="velocity" type="Int16"/></sequence></module>
 No newline at end of file
Loading