Skip to content

Commit 8a26391

Browse files
committed
Added the motion request message as a interface between the had function and the acturator management.
Signed-off-by: Markus Lemmer <[email protected]>
1 parent d45a5bf commit 8a26391

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

osi_motionrequest.proto

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
syntax = "proto2";
2+
3+
option optimize_for = SPEED;
4+
5+
import "osi_common.proto";
6+
import "osi_version.proto";
7+
8+
package osi3;
9+
10+
//
11+
// \brief This message is intended as an interface between a HAD (highly automated dricing) function and the actuator management.
12+
// The HAD function can send either an a desired future trajectory ore a desired future state.
13+
// The message to be used can be defined by a additional variable.
14+
//
15+
// All coordinates and orientations are relative to the global coordinate system.
16+
//
17+
message MotionRequest
18+
{
19+
20+
//
21+
// Define different options for had function ouput.
22+
// Each option is corresponds to a field in the message.
23+
//
24+
enum OutputOptions {
25+
DESIRED_STATE = 0;
26+
TRAJECTORY = 1;
27+
28+
}
29+
30+
//
31+
// Define the option that is used to specify the motion request.
32+
// This must be set. Additionaly the field corresponding to the specified option must be set.
33+
//
34+
optional OutputOptions output_option = 1;
35+
36+
//
37+
// Defines a desired state.
38+
// If the output option is set to DESIRED_STATE this must be provided.
39+
//
40+
optional DesiredState desired_state = 2;
41+
42+
//
43+
// Defines a desired trajectory.
44+
// If the output option is set to DESIRED_TRAJECTORY this must be set.
45+
//
46+
optional Trajectory desired_trajectory = 3;
47+
}
48+
49+
//
50+
// \brief Defined the trajectory desired by the had function. This trajectory is the result of the trajctory planning step
51+
// in the HAD function. The task of the acutator management is to follow the trajectory as close as possible.
52+
// The timestamps inside the trajecotry must be defined in global simulation time.
53+
//
54+
message Trajectory {
55+
repeated StatePoint trajectory_point = 1;
56+
}
57+
58+
//
59+
// \brief The desired state calculated by the had function as a result of the motion planning stack.
60+
// The actuator management is supposed
61+
//
62+
message DesiredState
63+
{
64+
65+
//
66+
// The timestamp indicates at which point in time the state needs to be reached,
67+
// given in global simulation time.
68+
//
69+
optional Timestamp timestamp = 1;
70+
71+
// intended position to be reached in x and y direction.
72+
//
73+
optional Vector2d desired_pos = 2;
74+
75+
// intended heading to be reached.
76+
//
77+
optional double desired_heading = 3;
78+
79+
// intended velocity to be reached in x and y direction
80+
//
81+
optional Vector2d desired_velocity = 4;
82+
83+
// intended acceleration to be reached in x and y direction
84+
//
85+
optional Vector2d desired_acceleration = 5;
86+
87+
}
88+
89+

0 commit comments

Comments
 (0)