Skip to content

Commit 5c4b575

Browse files
Krishna626pmai
authored andcommitted
Adjust MotionRequest to match OSI guidelines
Signed-off-by: Radhakrishna Kothamasu <radhakrishna.kothamasu@astech-auto.de>
1 parent e13dfd5 commit 5c4b575

File tree

1 file changed

+79
-78
lines changed

1 file changed

+79
-78
lines changed

osi_motionrequest.proto

Lines changed: 79 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -9,97 +9,98 @@ package osi3;
99

1010
//
1111
// \brief This message is intended as an interface between a HAD (highly automated driving) function and the actuator management.
12+
//
1213
// The HAD function can send either a desired future trajectory ore a desired future state.
1314
// The message can be defined by a additional variable.
1415
//
16+
// \note The coordinate system is defined as right-handed.
1517
// All coordinates and orientations are relative to the global coordinate system.
1618
// The reference point of the vehicle is the center of the 3D bounding box of the vehicle.
19+
// Units are m for positions, m/s for velocities, and m/s^2 for accelerations.
1720
//
1821
message MotionRequest
1922
{
2023
// The interface version used by the sender (simulation environment).
2124
//
2225
optional InterfaceVersion version = 1;
2326

24-
// The data timestamp of the simulation environment. Zero time is arbitrary
25-
// but must be identical for all messages. Zero time does not need to
26-
// coincide with the UNIX epoch. Recommended is the starting time point of
27-
// the simulation.
28-
//
29-
// \note For sensor view data this timestamp coincides both with the
30-
// notional simulation time the data applies to and the time it was sent
31-
// (there is no inherent latency for sensor view data, as opposed to
32-
// sensor data).
27+
// The data timestamp of the simulation environment. A reference to \c Timestamp message.
3328
//
3429
optional Timestamp timestamp = 2;
3530

36-
//
37-
// Define the option that is used to specify the motion request.
38-
// This must be set. Additionally, the field corresponding to the specified option must be set.
39-
//
40-
optional OutputOptions output_option = 3;
41-
42-
//
43-
// Defines a desired state.
44-
// If the output option is set to DESIRED_STATE, this must be provided.
45-
//
46-
optional DesiredState desired_state = 4;
47-
48-
//
49-
// Defines a desired trajectory.
50-
// If the output option is set to DESIRED_TRAJECTORY, this must be set.
51-
//
52-
optional Trajectory desired_trajectory = 5;
53-
54-
//
55-
// Define different options for HAD function ouput.
56-
// Each option is corresponds to a field in the message.
57-
//
58-
enum OutputOptions
59-
{
60-
DESIRED_STATE = 0;
61-
TRAJECTORY = 1;
62-
}
63-
64-
//
65-
// \brief The desired state is calculated by the HAD function as a result of the motion planning stack.
66-
// The actuator management is supposed to reach the desired state at the specified time.
67-
//
68-
message DesiredState
69-
{
70-
//
71-
// The timestamp indicates the point in time the state needs to be reached,
72-
// given in global simulation time.
73-
//
74-
optional Timestamp timestamp = 1;
75-
76-
// intended position to be reached in x, y, and z direction.
77-
//
78-
optional Vector3d position = 2;
79-
80-
// intended orientation to be reached containing yaw, pitch and roll angle
81-
//
82-
optional Orientation3d orientation = 3;
83-
84-
// intended velocity to be reached in x, y, and z direction
85-
//
86-
optional Vector3d velocity = 4;
87-
88-
// intended acceleration to be reached in x, y, and z direction
89-
//
90-
optional Vector3d acceleration = 5;
91-
}
92-
93-
//
94-
// \brief Defined trajectory desired by the HAD function. This trajectory is the result of the trajectory planning step
95-
// in the HAD function. The task of the acutator management is to follow this trajectory as closely as possible.
96-
// The timestamps inside the trajecotry must be defined in global simulation time.
97-
// \note Trajectory is kept as a separate message for future extensions
98-
//
99-
message Trajectory
100-
{
101-
// consists of intended position (x, y, and z) and orientation (yaw, pitch and roll) of intended state to be reached
102-
//
103-
repeated StatePoint trajectory_point = 1;
104-
}
31+
// Define the option that is used to specify the motion request.
32+
// This must be set. Additionally, the field corresponding to the specified option must be set.
33+
//
34+
optional OutputOptions output_option = 3;
35+
36+
// Defines a desired state.
37+
// If the output option is set to DESIRED_STATE, this field must be set.
38+
//
39+
optional DesiredState desired_state = 4;
40+
41+
// Defines a desired trajectory.
42+
// If the output option is set to DESIRED_TRAJECTORY, this field must be set.
43+
//
44+
optional Trajectory desired_trajectory = 5;
45+
46+
// Define different options for HAD function ouput.
47+
// Each option is corresponds to a field in the message.
48+
//
49+
enum OutputOptions
50+
{
51+
// Desired state calculated by the HAD function.
52+
//
53+
OUTPUT_OPTIONS_DESIRED_STATE = 0;
54+
55+
// Desired trajectory calculated by the HAD function.
56+
//
57+
OUTPUT_OPTIONS_TRAJECTORY = 1;
58+
}
59+
60+
// \brief The desired state is calculated by the HAD function as a result of the motion planning stack.
61+
//
62+
// The actuator management is supposed to reach the desired state at the specified time.
63+
//
64+
message DesiredState
65+
{
66+
// A reference to \c Timestamp message.
67+
//
68+
optional Timestamp timestamp = 1;
69+
70+
// intended position to be reached in x, y, and z direction.
71+
//
72+
optional Vector3d position = 2;
73+
74+
// intended orientation to be reached containing yaw, pitch and roll angle.
75+
//
76+
optional Orientation3d orientation = 3;
77+
78+
// intended velocity to be reached in x, y, and z direction.
79+
//
80+
// Unit: m/s
81+
//
82+
optional Vector3d velocity = 4;
83+
84+
// intended acceleration to be reached in x, y, and z direction.
85+
//
86+
// Unit: m/s^2
87+
//
88+
optional Vector3d acceleration = 5;
89+
}
90+
91+
// \brief Defined trajectory desired by the HAD function.
92+
//
93+
// This trajectory is the result of the trajectory planning step in the HAD function.
94+
// The task of the acutator management is to follow this trajectory as closely as possible.
95+
// The timestamps inside the trajecotry must be defined in global simulation time.
96+
//
97+
// \note Trajectory is kept as a separate message for future extensions.
98+
//
99+
message Trajectory
100+
{
101+
// consists of intended position (x, y, and z) and orientation (yaw, pitch and roll) of intended state to be reached.
102+
// A reference to \c StatePoint message.
103+
//
104+
repeated StatePoint trajectory_point = 1;
105+
}
105106
}

0 commit comments

Comments
 (0)