Protobuf Definition¶
Protocol Documentation
Table of Contents
- drltt_proto/environment/trajectory_tracking.proto
- drltt_proto/environment/environment.proto
- drltt_proto/sdk/exported_policy_test_case.proto
- drltt_proto/trajectory/trajectory.proto
- drltt_proto/dynamics_model/observation.proto
- drltt_proto/dynamics_model/basics.proto
- drltt_proto/dynamics_model/hyper_parameter.proto
- drltt_proto/dynamics_model/action.proto
- drltt_proto/dynamics_model/state.proto
- Scalar Value Types
drltt_proto/environment/trajectory_tracking.proto
TopDynamicsModelData
| Field | Type | Label | Description |
| type | string | optional | Dynamic model's class name |
| hyper_parameter | HyperParameter | optional | Hyper-parameter. |
| states | State | repeated | Sequence of states. |
| actions | Action | repeated | Sequence of actions. |
| observations | Observation | repeated | Sequence of observations. |
| debug_infos | DebugInfo | repeated | Debug information. |
TrajectoryTrackingEnvironment
Trajectory tracking environment.
| Field | Type | Label | Description |
| hyper_parameter | TrajectoryTrackingHyperParameter | optional | Hyper-parameter of the environment. |
| episode | TrajectoryTrackingEpisode | optional | Episode data. |
| episodes | TrajectoryTrackingEpisode | repeated |
|
TrajectoryTrackingEpisode
Data recorded from an episode, i.e. a trajectory.
| Field | Type | Label | Description |
| step_index | int32 | optional | Last step index. |
| hyper_parameter | TrajectoryTrackingHyperParameter | optional | Environment's hyper-parameter. |
| reference_line | ReferenceLine | optional | Reference line. |
| tracking_length | int32 | optional | Real tracking length. |
| dynamics_model | DynamicsModelData | Dynamics model's data, including hyper-parameter and trajectory, i.e. sequence of state-observation-action triplet. |
|
| selected_dynamics_model_index | int32 | optional | Index of selected dynamics model. |
| rewards | float | repeated | Sequence of rewards. |
TrajectoryTrackingHyperParameter
| Field | Type | Label | Description |
| step_interval | float | optional | Interval between each time step in [s] |
| init_state_lb | float | repeated | Initial state space's lower bound. |
| init_state_ub | float | repeated | Initial state space's upper bound. |
| n_observation_steps | int32 | optional | Number of observable forward waypoints on the reference line. |
| dynamics_models_hyper_parameters | HyperParameter | repeated | Collectino of hyper-parameters of dynamics models. |
| tracking_length_lb | int32 | optional | Tracking lenght' lower bound. |
| tracking_length_ub | int32 | optional | Tracking lenght' upper bound. |
| reference_line_pad_mode | string | optional | Reference line pad mode. |
| max_n_episodes | int32 | optional | TODO: consider a better place to store this hparam |
drltt_proto/environment/environment.proto
TopEnvironment
Environment
| Field | Type | Label | Description |
| trajectory_tracking | TrajectoryTrackingEnvironment | optional | Trajectory tracking. |
drltt_proto/sdk/exported_policy_test_case.proto
TopExportedPolicyTestCases
| Field | Type | Label | Description |
| observations | TensorFP | optional | Observation tensor, shape=(sample_number, observation_dim) |
| actions | TensorFP | optional | Action tensor, shape=(sample_number, action_dim) |
TensorFP
Float-point tensor.
| Field | Type | Label | Description |
| shape | int32 | repeated | Tensor's shape. |
| data | float | repeated | Tensor's underlying data. |
drltt_proto/trajectory/trajectory.proto
TopReferenceLine
Reference line
| Field | Type | Label | Description |
| waypoints | ReferenceLineWaypoint | repeated | Sequence of waypoints. |
ReferenceLineWaypoint
Reference line's waypoint.
TODO: move to body state
| Field | Type | Label | Description |
| x | float | optional | X-coordinate in [m] |
| y | float | optional | Y-coordinate in [m] |
Trajectory
Trajectory
| Field | Type | Label | Description |
| waypoints | TrajectoryWaypoint | repeated | Sequence of waypoint |
TrajectoryWaypoint
Trajectory's waypoint.
| Field | Type | Label | Description |
| state | State | optional | Sequence of states. |
| action | Action | optional | Sequence of actions. |
drltt_proto/dynamics_model/observation.proto
TopBicycleModelObservation
| Field | Type | Label | Description |
| feature | float | repeated | Vectorized feature. |
Observation
| Field | Type | Label | Description |
| bicycle_model | BicycleModelObservation | optional | Obervation of bicycle model. |
drltt_proto/dynamics_model/basics.proto
TopBodyState
State coordinates in fixed space frame.
| Field | Type | Label | Description |
| x | float | optional | X-coordinate in [m]. |
| y | float | optional | Y-coordinate in [m]. |
| r | float | optional | Orientation/heading in [rad]. |
DebugInfo
TODO: move to higher level
| Field | Type | Label | Description |
| data | float | repeated |
|
drltt_proto/dynamics_model/hyper_parameter.proto
TopBicycleModelHyperParameter
| Field | Type | Label | Description |
| length | float | optional | Vehicle length in [m]. |
| front_overhang | float | optional | Distance in [m] between vehicle front and fron axle. |
| rear_overhang | float | optional | Distance in [m] between vehicle rear and rear axle. |
| wheelbase | float | optional | Distance in [m] between front axle and rear axle. |
| width | float | optional | Vehicle width in [m]. |
| frontwheel_to_cog | float | optional | Distance in [m] between front axle and center-of-gravity (CoG). |
| rearwheel_to_cog | float | optional | Distance in [m] between rear axle and center-of-gravity (CoG). |
| action_space_lb | float | repeated | Action space's lower bound. |
| action_space_ub | float | repeated | Action space's upper bound. |
| max_lat_acc | float | optional | Maximum lateral acceleration. |
HyperParameter
TODO: add name field: LongVehicle/Truck/LongVehicle
| Field | Type | Label | Description |
| type | string | optional | The class name of the dynamics model. |
| name | string | optional | The name of dynamics model. E.g. short vehicle, long vehicle, etc. |
| bicycle_model | BicycleModelHyperParameter | optional | Bicycle model's hyper paramter. |
drltt_proto/dynamics_model/action.proto
TopAction
| Field | Type | Label | Description |
| bicycle_model | BicycleModelAction | optional |
|
BicycleModelAction
| Field | Type | Label | Description |
| a | float | optional | Acceleration in [m/s/s]. |
| s | float | optional | Steering angle in [rad]. |
drltt_proto/dynamics_model/state.proto
TopBicycleModelState
| Field | Type | Label | Description |
| body_state | BodyState | Sody state. |
|
| v | float | optional | Velocity in [m/s]. |
State
| Field | Type | Label | Description |
| bicycle_model | BicycleModelState | optional | State of bicycle model. |
Scalar Value Types
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| double | double | double | float | float64 | double | float | Float | |
| float | float | float | float | float32 | float | float | Float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |