pitasc_library - monitors/io.xml

Model definitions

File contents

  1<?xml version="1.0" encoding="UTF-8"?>
  2
  3<pitasc>
  4
  5    <models>
  6
  7        <type id="monitor_ros_service" prototype="monitor">
  8            <meta>
  9                <member id="description">Prototype for ROS service monitors</member>
 10                <member id="categories">internal</member>
 11            </meta>
 12            <data>
 13                <type id="namespace" prototype="string_parameter">
 14                    <meta>
 15                        <member id="description">Namespace of the service to be provided</member>
 16                        <member id="visibility">basic</member>
 17                    </meta>
 18                </type>
 19                <type id="service_name" prototype="string_parameter">
 20                    <meta>
 21                        <member id="description">Name of the service to be provided</member>
 22                        <member id="visibility">required</member>
 23                    </meta>
 24                </type>
 25            </data>
 26        </type>
 27
 28        <type id="monitor_action_caller" prototype="monitor">
 29            <meta>
 30                <member id="description">A prototype for ROS action caller monitors</member>
 31                <member id="categories">internal</member>
 32            </meta>
 33            <data>
 34                <type id="namespace" prototype="string_parameter">
 35                    <meta>
 36                        <member id="description">Namespace of the action to be called</member>
 37                        <member id="visibility">basic</member>
 38                    </meta>
 39                    <data></data>
 40                </type>
 41                <type id="action_name" prototype="string_parameter">
 42                    <meta>
 43                        <member id="description">Name of the action to be called</member>
 44                        <member id="visibility">required</member>
 45                    </meta>
 46                </type>
 47                <type id="failure_event" prototype="string_parameter">
 48                    <meta>
 49                        <member id="description">Event that is triggered when the ROS action fails (i.e. the state of the action is not SUCCEEDED)</member>
 50                        <member id="visibility">basic</member>
 51                    </meta>
 52                    <data>preempted</data>
 53                </type>
 54                <type id="wait_for_action" prototype="bool_parameter">
 55                    <meta>
 56                        <member id="description">Wait until the action becomes available</member>
 57                        <member id="visibility">basic</member>
 58                    </meta>
 59                    <data>True</data>
 60                </type>
 61            </data>
 62        </type>
 63
 64        <type id="monitor_ros_empty_service" prototype="monitor_ros_service">
 65            <meta>
 66                <member id="description">Triggers when a ROS Empty service is called</member>
 67                <member id="categories">io</member>
 68                <member id="implementation">
 69                    <clone prototype="orocos">
 70                        <member id="package">cppitasc_ros_components</member>
 71                        <member id="component">RosServiceMonitorEmpty</member>
 72                    </clone>
 73                </member>
 74            </meta>
 75        </type>
 76
 77        <type id="monitor_ros_trigger_service" prototype="monitor_ros_service">
 78            <meta>
 79                <member id="description">Triggers when a ROS Trigger service is called</member>
 80                <member id="categories">io</member>
 81                <member id="implementation">
 82                    <clone prototype="orocos">
 83                        <member id="package">cppitasc_ros_components</member>
 84                        <member id="component">RosServiceMonitorTrigger</member>
 85                    </clone>
 86                </member>
 87            </meta>
 88        </type>
 89
 90        <type id="monitor_ros_setbool_service" prototype="monitor_ros_service">
 91            <meta>
 92                <member id="description">Triggers when a ROS SetBool service is called</member>
 93                <member id="categories">io</member>
 94                <member id="implementation">
 95                    <clone prototype="orocos">
 96                        <member id="package">cppitasc_ros_components</member>
 97                        <member id="component">RosServiceMonitorSetBool</member>
 98                    </clone>
 99                </member>
100            </meta>
101        </type>
102
103        <type id="monitor_ros_fireevent_service" prototype="monitor_ros_service">
104            <meta>
105                <member id="description">Fires an event with eventname given by service call</member>
106                <member id="categories">io</member>
107                <member id="implementation">
108                    <clone prototype="orocos">
109                        <member id="package">cppitasc_ros_components</member>
110                        <member id="component">RosServiceMonitorFireEvent</member>
111                    </clone>
112                </member>
113            </meta>
114            <data>
115                <member id="event.meta.description">Unused, the event name comes from the service call</member>
116                <member id="event.meta.visibility">hidden</member>
117                <member id="event"></member>
118            </data>
119        </type>
120
121        <type id="value_event_pair" prototype="dictionary">
122            <meta>
123                <member id="description">Value-Event pair for usage within monitor_ros_fireevent_rostopic</member>
124            </meta>
125            <data>
126                <type id="value" prototype="string_parameter">
127                    <meta>
128                        <member id="description">The value of the input</member>
129                    </meta>
130                </type>
131                <type id="event" prototype="string_parameter">
132                    <meta>
133                        <member id="description">Tthe event which is fired</member>
134                    </meta>
135                </type>
136            </data>
137        </type>
138
139        <type id="monitor_ros_fireevent_rostopic" prototype="monitor">
140            <meta>
141                <member id="description">Monitor which fires events according to the values on rostopic input.</member>
142                <member id="categories">io</member>
143                <member id="implementation">
144                    <clone prototype="orocos">
145                        <member id="package">cppitasc_ros_components</member>
146                        <member id="component">RosTopicMonitorFireEvent</member>
147                    </clone>
148                </member>
149            </meta>
150            <data>
151                <type id="namespace" prototype="string_parameter">
152                    <meta>
153                        <member id="description">Namespace of the topic to subscribe</member>
154                        <member id="visibility">basic</member>
155                    </meta>
156                </type>
157                <type id="topic" prototype="string_parameter">
158                    <meta>
159                        <member id="description">Name of the topic to subscribe</member>
160                        <member id="visibility">required</member>
161                    </meta>
162                </type>
163                <type id="values" data_type="list:value_event_pair" prototype="base">
164                    <meta>
165                        <member id="description">The desired values and corresponding events. Use the value_event_pair type.</member>
166                        <member id="visibility">required</member>
167                    </meta>
168                </type>
169                <type id="type" prototype="string_parameter">
170                    <meta>
171                        <member id="description">The desired type</member>
172                        <member id="visibility">required</member>
173                        <clone prototype="restrictions">
174                            <clone prototype="enum">std_msgs/Bool, std_msgs/Int8, std_msgs/Int16, std_msgs/Int32, std_msgs/Int64, std_msgs/UInt8, std_msgs/UInt16, std_msgs/UInt32, std_msgs/UInt64, std_msgs/String</clone>
175                        </clone>
176                    </meta>
177                </type>
178                <member id="event.meta.description">Unused, since 'values' contains the event names</member>
179                <member id="event.meta.visibility">hidden</member>
180                <member id="event"></member>
181            </data>
182        </type>
183
184        <type id="monitor_ros_topic" prototype="monitor">
185            <meta>
186                <member id="description">Prototype for ROS topic monitors</member>
187                <member id="categories">internal</member>
188            </meta>
189            <data>
190                <type id="namespace" prototype="string_parameter">
191                    <meta>
192                        <member id="description">Namespace of the topic to subscribe</member>
193                        <member id="visibility">basic</member>
194                    </meta>
195                </type>
196                <type id="topic" prototype="string_parameter">
197                    <meta>
198                        <member id="description">Name of the topic to subscribe</member>
199                        <member id="visibility">required</member>
200                    </meta>
201                </type>
202            </data>
203        </type>
204
205        <type id="monitor_ros_topic_with_operator" prototype="monitor_ros_topic">
206            <meta>
207                <member id="description">Prototype for ROS topic monitors with operator</member>
208                <member id="categories">internal</member>
209            </meta>
210            <data>
211                <type id="operator" prototype="operator">
212                    <meta>
213                        <member id="visibility">basic</member>
214                    </meta>
215                    <data>equal</data>
216                </type>
217            </data>
218        </type>
219
220        <type id="monitor_ros_bool_topic" prototype="monitor_ros_topic_with_operator">
221            <meta>
222                <member id="description">Triggers when a ROS bool topic has a desired value</member>
223                <member id="categories">io</member>
224                <member id="implementation">
225                    <clone prototype="orocos">
226                        <member id="package">cppitasc_ros_components</member>
227                        <member id="component">RosTopicMonitorBool</member>
228                    </clone>
229                </member>
230            </meta>
231            <data>
232                <type id="value" prototype="bool_parameter">
233                    <meta>
234                        <member id="description">The desired value</member>
235                        <member id="visibility">basic</member>
236                    </meta>
237                    <data>True</data>
238                </type>
239                <member id="operator.meta.restrictions">
240                    <clone prototype="enum">equal, not_equal</clone>
241                </member>
242            </data>
243        </type>
244
245        <type id="monitor_ros_int8_topic" prototype="monitor_ros_topic_with_operator">
246            <meta>
247                <member id="description">Triggers when a ROS int8 topic has a desired value.</member>
248                <member id="categories">io</member>
249                <member id="implementation">
250                    <clone prototype="orocos">
251                        <member id="package">cppitasc_ros_components</member>
252                        <member id="component">RosTopicMonitorInt8</member>
253                    </clone>
254                </member>
255            </meta>
256            <data>
257                <type id="value" prototype="int_parameter">
258                    <meta>
259                        <member id="description">The desired value</member>
260                        <member id="visibility">required</member>
261                    </meta>
262                </type>
263            </data>
264        </type>
265
266        <type id="monitor_ros_int16_topic" prototype="monitor_ros_int8_topic">
267            <meta>
268                <member id="description">Triggers when a ROS int16 topic has a desired value.</member>
269                <member id="implementation">
270                    <clone prototype="orocos">
271                        <member id="package">cppitasc_ros_components</member>
272                        <member id="component">RosTopicMonitorInt16</member>
273                    </clone>
274                </member>
275            </meta>
276        </type>
277
278        <type id="monitor_ros_int32_topic" prototype="monitor_ros_int8_topic">
279            <meta>
280                <member id="description">Triggers when a ROS int32 topic has a desired value.</member>
281                <member id="implementation">
282                    <clone prototype="orocos">
283                        <member id="package">cppitasc_ros_components</member>
284                        <member id="component">RosTopicMonitorInt32</member>
285                    </clone>
286                </member>
287            </meta>
288        </type>
289
290        <type id="monitor_ros_int64_topic" prototype="monitor_ros_int8_topic">
291            <meta>
292                <member id="description">Triggers when a ROS int64 topic has a desired value.</member>
293                <member id="implementation">
294                    <clone prototype="orocos">
295                        <member id="package">cppitasc_ros_components</member>
296                        <member id="component">RosTopicMonitorInt64</member>
297                    </clone>
298                </member>
299            </meta>
300        </type>
301
302        <type id="monitor_ros_uint8_topic" prototype="monitor_ros_int8_topic">
303            <meta>
304                <member id="description">Triggers when a ROS uint8 topic has a desired value.</member>
305                <member id="implementation">
306                    <clone prototype="orocos">
307                        <member id="package">cppitasc_ros_components</member>
308                        <member id="component">RosTopicMonitorUInt8</member>
309                    </clone>
310                </member>
311            </meta>
312        </type>
313
314        <type id="monitor_ros_uint16_topic" prototype="monitor_ros_int8_topic">
315            <meta>
316                <member id="description">Triggers when a ROS uint16 topic has a desired value.</member>
317                <member id="implementation">
318                    <clone prototype="orocos">
319                        <member id="package">cppitasc_ros_components</member>
320                        <member id="component">RosTopicMonitorUInt16</member>
321                    </clone>
322                </member>
323            </meta>
324        </type>
325
326        <type id="monitor_ros_uint32_topic" prototype="monitor_ros_int8_topic">
327            <meta>
328                <member id="description">Triggers when a ROS uint32 topic has a desired value.</member>
329                <member id="implementation">
330                    <clone prototype="orocos">
331                        <member id="package">cppitasc_ros_components</member>
332                        <member id="component">RosTopicMonitorUInt32</member>
333                    </clone>
334                </member>
335            </meta>
336        </type>
337
338        <type id="monitor_ros_uint64_topic" prototype="monitor_ros_int8_topic">
339            <meta>
340                <member id="description">Triggers when a ROS uint64 topic has a desired value.</member>
341                <member id="implementation">
342                    <clone prototype="orocos">
343                        <member id="package">cppitasc_ros_components</member>
344                        <member id="component">RosTopicMonitorUInt64</member>
345                    </clone>
346                </member>
347            </meta>
348        </type>
349
350        <type id="monitor_ros_float32_topic" prototype="monitor_ros_topic_with_operator">
351            <meta>
352                <member id="description">Triggers when a ROS float32 topic exceeds a desired value (depending on operator).</member>
353                <member id="implementation">
354                    <clone prototype="orocos">
355                        <member id="package">cppitasc_ros_components</member>
356                        <member id="component">RosTopicMonitorFloat32</member>
357                    </clone>
358                </member>
359            </meta>
360            <data>
361                <type id="value" prototype="float_parameter">
362                    <meta>
363                        <member id="description">The desired value</member>
364                        <member id="visibility">required</member>
365                    </meta>
366                </type>
367                <member id="operator">greater_equal</member>
368            </data>
369        </type>
370
371        <type id="monitor_ros_float64_topic" prototype="monitor_ros_float32_topic">
372            <meta>
373                <member id="description">Triggers when a ROS float64 topic has a desired value.</member>
374                <member id="implementation">
375                    <clone prototype="orocos">
376                        <member id="package">cppitasc_ros_components</member>
377                        <member id="component">RosTopicMonitorFloat64</member>
378                    </clone>
379                </member>
380            </meta>
381        </type>
382
383        <type id="monitor_ros_string_topic" prototype="monitor_ros_topic_with_operator">
384            <meta>
385                <member id="description">Triggers when a ROS string topic has a desired value (depending on operator)</member>
386                <member id="implementation">
387                    <clone prototype="orocos">
388                        <member id="package">cppitasc_ros_components</member>
389                        <member id="component">RosTopicMonitorString</member>
390                    </clone>
391                </member>
392            </meta>
393            <data>
394                <type id="value" prototype="string_parameter">
395                    <meta>
396                        <member id="description">The desired value</member>
397                        <member id="visibility">required</member>
398                    </meta>
399                </type>
400                <member id="operator.meta.restrictions">
401                    <clone prototype="enum">equal, not_equal</clone>
402                </member>
403            </data>
404        </type>
405
406        <type id="monitor_user_confirm" prototype="monitor">
407            <meta>
408                <member id="description">Opens a dialog window to receive confirmation from the user.</member>
409                <member id="categories">io</member>
410                <member id="implementation">
411                    <clone prototype="orocos">
412                        <member id="package">cppitasc_monitors</member>
413                        <member id="component">UserConfirmMonitor</member>
414                    </clone>
415                </member>
416            </meta>
417            <data>
418                <type id="title" prototype="string_parameter">
419                    <meta>
420                        <member id="description">Title of the dialog window</member>
421                        <member id="visibility">basic</member>
422                    </meta>
423                    <data>Confirmation required</data>
424                </type>
425
426                <type id="text" prototype="string_parameter">
427                    <meta>
428                        <member id="description">Text of the dialog window (Question)</member>
429                        <member id="visibility">basic</member>
430                    </meta>
431                    <data>Proceed with application?</data>
432                </type>
433
434                <type id="ignore" prototype="bool_parameter">
435                    <meta>
436                        <member id="description">Parameter to skip the user confirm dialog and fire the (success) event immediately.</member>
437                        <member id="visibility">basic</member>
438                    </meta>
439                    <data>False</data>
440                </type>
441
442                <type id="reject_event" prototype="string_parameter">
443                    <meta>
444                        <member id="description">The event to be triggered on failure.</member>
445                        <member id="visibility">basic</member>
446                    </meta>
447                    <data>preempted</data>
448                </type>
449            </data>
450        </type>
451
452        <type id="monitor_rosparam" prototype="monitor">
453            <meta>
454                <member id="description">Reads a rosparam and fires if the rosparam exists and matches given value</member>
455                <member id="implementation">
456                </member>
457            </meta>
458            <data>
459                <type id="rosparam_name" prototype="string_parameter">
460                    <meta>
461                        <member id="description">The rosparam to look up.</member>
462                        <member id="visibility">required</member>
463                    </meta>
464                </type>
465
466                <type id="rosparam_value" prototype="string_parameter">
467                    <meta>
468                        <member id="description">The value to compare the rosparam to. Empty checks for existence.</member>
469                        <member id="visibility">basic</member>
470                    </meta>
471                    <data></data>
472                </type>
473
474                <type id="undefined_event" prototype="string_parameter">
475                    <meta>
476                        <member id="description">The event to be fired if the parameter is not found.</member>
477                        <member id="visibility">basic</member>
478                    </meta>
479                    <data>rosparam_undefined</data>
480                </type>
481            </data>
482        </type>
483
484    </models>
485
486</pitasc>