Skip to content

Commit 9b77cb2

Browse files
DBEpmai
authored andcommitted
update traffic command which was discussed in AP 2.1.5
Signed-off-by: Pierre R. Mai <pmai@pmsf.de>
1 parent b320c5d commit 9b77cb2

File tree

1 file changed

+134
-6
lines changed

1 file changed

+134
-6
lines changed

osi_trafficcommand.proto

Lines changed: 134 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,27 +43,155 @@ message TrafficCommand
4343
//
4444
// \note OSI uses singular instead of plural for repeated field names.
4545
//
46+
// \note The current SL425 discussion status: We assume all actions are
47+
// executed in parallel.
48+
//
4649
repeated TrafficAction action = 4;
4750

4851
}
4952

5053
//
5154
// \brief Atomic Traffic Actions to be performed
5255
//
56+
// \note This message allows "inheritance", as all TrafficActions can be treated
57+
// the same, even they have different implementation.
58+
//
5359
message TrafficAction
5460
{
55-
// Action to be taken
61+
oneof Action {
62+
63+
// A TrafficAction
64+
//
65+
TrajectoryAction trajectory_action = 1;
66+
67+
// A PathAction
68+
//
69+
PathAction path_action = 2;
70+
}
71+
}
72+
73+
74+
75+
//
76+
// \brief The StatePoint definition
77+
//
78+
// \note The StatePoint definition does not define mandatory fields.
79+
// The context defines how and what fields are used.
80+
// For example: Path only used xyz of the StatePoint, trajectory also timestamp...
81+
//
82+
// A StatePoint contains a BaseMoving (full state with xyz/rpy and the derivatives
83+
// linear /angular velocity and acceleration).
84+
// Furthermore it contains a time stamp.
85+
//
86+
message StatePoint
87+
{
88+
// The timestamp of a StatePoint
89+
//
90+
// \note Zero time point does not need to coincide with the UNIX epoch.
91+
//
92+
optional Timestamp time_stamp = 1;
93+
94+
95+
// BaseMoving to describe a state
96+
//
97+
// \note OSI uses singular instead of plural for repeated field names.
98+
//
99+
optional BaseMoving state = 2;
100+
}
101+
102+
//
103+
// \brief The ActionHeader
104+
//
105+
//
106+
message ActionHeader
107+
{
108+
// The unique id of the command
109+
//
110+
// \note This field is mandatory.
111+
//
112+
// \note SL425 discussion: In what context must the id be unique? Global, for
113+
// all TrafficCommands or only in TrafficCommand context?
114+
//
115+
optional Identifier action_id = 1;
116+
117+
// The start_time can be used to set a starttime of execution
118+
//
119+
// \note Is optional. If not set, execution must start directly.
120+
//
121+
// \note Zero time point does not need to coincide with the UNIX epoch.
122+
//
123+
optional Timestamp start_time = 2;
124+
125+
}
126+
127+
128+
129+
//
130+
// \brief The TrajectoryAction. It provides an interface to describe the motion
131+
// in space as a function of time.
132+
//
133+
// \note The StatePoint requires the timestamp to be set.
134+
//
135+
// \note The StatePoint requires the pose (xyz/rpy) to be set.
136+
//
137+
// \note The velocity and acceleration can be set. If not set, the model must
138+
// calculate it itself.
139+
//
140+
// \note SL425 discussion: We define it to be set in the world frame atm.
141+
//
142+
message TrajectoryAction
143+
{
144+
// The action_header
145+
//
146+
//
147+
optional ActionHeader action_header = 1;
148+
149+
// A list of TrajectoryPoints
150+
//
151+
// \note OSI uses singular instead of plural for repeated field names.
152+
//
153+
repeated StatePoint trajectory_point = 2;
154+
}
155+
156+
157+
//
158+
// \brief The PathAction. It provides an interface to describe a path.
159+
//
160+
// \note The StatePoint requires the position to be set. The orientation can be
161+
// set optional.
162+
//
163+
// \note All other StatePoint values are ignored.
164+
//
165+
// \note SL425 discussion: We define it to be set in the world frame atm.
166+
//
167+
message PathAction
168+
{
169+
// The action_header
170+
//
171+
//
172+
optional ActionHeader action_header = 1;
173+
174+
// A list of PathPoints
175+
//
176+
// \note OSI uses singular instead of plural for repeated field names.
56177
//
57-
// \note This could in the future be a oneof field, rather than multiple
58-
// optional fields, only one of which should be set at any time. From
59-
// an API point of view this is the same, but with better enforcement
60-
// on the wire.
61-
optional AcquireGlobalPositionAction acquire_global_position_action = 1;
178+
repeated StatePoint path_point = 2;
62179
}
63180

181+
182+
64183
//
65184
// \brief Acquire Global Position Action
66185
//
186+
// \note This is not discussed in SL425 UAP 2.1.5 and is not part of this
187+
// proposal. This is temporary for the MS1.
188+
//
189+
// \note Remark: The Position6d is a redefinition of a Position + Orientation.
190+
// Neither the redefinition nore the naming "position" for a pose makes sense.
191+
//
192+
// \note Remark: Maybe better to avoid an other redefinition and use a
193+
// TrajectoryAction with only trajectorypoint.
194+
//
67195
message AcquireGlobalPositionAction {
68196
// Position and orientation relative to the global coordinate system.
69197
//

0 commit comments

Comments
 (0)