@@ -46,6 +46,7 @@ class StartMissionInspectionDefinition(BaseModel):
46
46
47
47
48
48
class StartMissionTaskDefinition (BaseModel ):
49
+ id : Optional [str ] = None
49
50
type : TaskType = Field (default = TaskType .Inspection )
50
51
pose : InputPose
51
52
inspection : Optional [StartMissionInspectionDefinition ] = None
@@ -115,48 +116,101 @@ def to_inspection_task(task_definition: StartMissionTaskDefinition) -> TASKS:
115
116
inspection_definition = task_definition .inspection
116
117
117
118
if inspection_definition .type == InspectionTypes .image :
118
- return TakeImage (
119
- robot_pose = task_definition .pose .to_alitra_pose (),
120
- tag_id = task_definition .tag ,
121
- target = task_definition .inspection .inspection_target .to_alitra_position (),
122
- metadata = task_definition .inspection .metadata ,
123
- zoom = task_definition .zoom ,
124
- )
119
+ if task_definition .id :
120
+ return TakeImage (
121
+ id = task_definition .id ,
122
+ robot_pose = task_definition .pose .to_alitra_pose (),
123
+ tag_id = task_definition .tag ,
124
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
125
+ metadata = task_definition .inspection .metadata ,
126
+ zoom = task_definition .zoom ,
127
+ )
128
+ else :
129
+ return TakeImage (
130
+ robot_pose = task_definition .pose .to_alitra_pose (),
131
+ tag_id = task_definition .tag ,
132
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
133
+ metadata = task_definition .inspection .metadata ,
134
+ zoom = task_definition .zoom ,
135
+ )
125
136
elif inspection_definition .type == InspectionTypes .video :
126
- return TakeVideo (
127
- robot_pose = task_definition .pose .to_alitra_pose (),
128
- tag_id = task_definition .tag ,
129
- target = task_definition .inspection .inspection_target .to_alitra_position (),
130
- duration = inspection_definition .duration ,
131
- metadata = task_definition .inspection .metadata ,
132
- zoom = task_definition .zoom ,
133
- )
137
+ if task_definition .id :
138
+ return TakeVideo (
139
+ id = task_definition .id ,
140
+ robot_pose = task_definition .pose .to_alitra_pose (),
141
+ tag_id = task_definition .tag ,
142
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
143
+ duration = inspection_definition .duration ,
144
+ metadata = task_definition .inspection .metadata ,
145
+ zoom = task_definition .zoom ,
146
+ )
147
+ else :
148
+ return TakeVideo (
149
+ robot_pose = task_definition .pose .to_alitra_pose (),
150
+ tag_id = task_definition .tag ,
151
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
152
+ duration = inspection_definition .duration ,
153
+ metadata = task_definition .inspection .metadata ,
154
+ zoom = task_definition .zoom ,
155
+ )
134
156
elif inspection_definition .type == InspectionTypes .thermal_image :
135
- return TakeThermalImage (
136
- robot_pose = task_definition .pose .to_alitra_pose (),
137
- tag_id = task_definition .tag ,
138
- target = task_definition .inspection .inspection_target .to_alitra_position (),
139
- metadata = task_definition .inspection .metadata ,
140
- zoom = task_definition .zoom ,
141
- )
157
+ if task_definition .id :
158
+ return TakeThermalImage (
159
+ id = task_definition .id ,
160
+ robot_pose = task_definition .pose .to_alitra_pose (),
161
+ tag_id = task_definition .tag ,
162
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
163
+ metadata = task_definition .inspection .metadata ,
164
+ zoom = task_definition .zoom ,
165
+ )
166
+ else :
167
+ return TakeThermalImage (
168
+ robot_pose = task_definition .pose .to_alitra_pose (),
169
+ tag_id = task_definition .tag ,
170
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
171
+ metadata = task_definition .inspection .metadata ,
172
+ zoom = task_definition .zoom ,
173
+ )
142
174
elif inspection_definition .type == InspectionTypes .thermal_video :
143
- return TakeThermalVideo (
144
- robot_pose = task_definition .pose .to_alitra_pose (),
145
- tag_id = task_definition .tag ,
146
- target = task_definition .inspection .inspection_target .to_alitra_position (),
147
- duration = inspection_definition .duration ,
148
- metadata = task_definition .inspection .metadata ,
149
- zoom = task_definition .zoom ,
150
- )
175
+ if task_definition .id :
176
+ return TakeThermalVideo (
177
+ id = task_definition .id ,
178
+ robot_pose = task_definition .pose .to_alitra_pose (),
179
+ tag_id = task_definition .tag ,
180
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
181
+ duration = inspection_definition .duration ,
182
+ metadata = task_definition .inspection .metadata ,
183
+ zoom = task_definition .zoom ,
184
+ )
185
+ else :
186
+ return TakeThermalVideo (
187
+ robot_pose = task_definition .pose .to_alitra_pose (),
188
+ tag_id = task_definition .tag ,
189
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
190
+ duration = inspection_definition .duration ,
191
+ metadata = task_definition .inspection .metadata ,
192
+ zoom = task_definition .zoom ,
193
+ )
151
194
elif inspection_definition .type == InspectionTypes .audio :
152
- return RecordAudio (
153
- robot_pose = task_definition .pose .to_alitra_pose (),
154
- tag_id = task_definition .tag ,
155
- target = task_definition .inspection .inspection_target .to_alitra_position (),
156
- duration = inspection_definition .duration ,
157
- metadata = task_definition .inspection .metadata ,
158
- zoom = task_definition .zoom ,
159
- )
195
+ if task_definition .id :
196
+ return RecordAudio (
197
+ id = task_definition .id ,
198
+ robot_pose = task_definition .pose .to_alitra_pose (),
199
+ tag_id = task_definition .tag ,
200
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
201
+ duration = inspection_definition .duration ,
202
+ metadata = task_definition .inspection .metadata ,
203
+ zoom = task_definition .zoom ,
204
+ )
205
+ else :
206
+ return RecordAudio (
207
+ robot_pose = task_definition .pose .to_alitra_pose (),
208
+ tag_id = task_definition .tag ,
209
+ target = task_definition .inspection .inspection_target .to_alitra_position (),
210
+ duration = inspection_definition .duration ,
211
+ metadata = task_definition .inspection .metadata ,
212
+ zoom = task_definition .zoom ,
213
+ )
160
214
else :
161
215
raise ValueError (
162
216
f"Inspection type '{ inspection_definition .type } ' not supported"
0 commit comments