pitasc_library - monitors/measurements.xml

Model definitions

File contents

  1<?xml version="1.0" encoding="UTF-8"?>
  2
  3<pitasc>
  4
  5    <models>
  6
  7        <type id="monitor_control_error" prototype="monitor">
  8            <meta>
  9                <member id="description">Checks control_errors (desired vs. measured values)</member>
 10                <member id="categories">measurements</member>
 11                <member id="implementation">
 12                    <clone prototype="orocos">
 13                        <member id="package">cppitasc_monitors</member>
 14                        <member id="component">ControlErrorMonitor</member>
 15                        <member id="arguments">scene, event, controllers, coordinates, prefix, thresholds, samples</member>
 16                    </clone>
 17                </member>
 18            </meta>
 19            <data>
 20                <type id="controllers" data_type="list:controller" prototype="base">
 21                    <meta>
 22                        <member id="description">Controllers for which to check the control errors.</member>
 23                        <member id="visibility">required</member>
 24                    </meta>
 25                </type>
 26                <type id="coordinates" prototype="string_csv">
 27                    <meta>
 28                        <member id="description">Coordinates to be monitored</member>
 29                        <member id="visibility">required</member>
 30                    </meta>
 31                </type>
 32                <type id="prefix" prototype="string_parameter">
 33                    <meta>
 34                        <member id="description">Prefix for the coordinates</member>
 35                        <member id="visibility">required</member>
 36                    </meta>
 37                    <data></data>
 38                </type>
 39                <type id="thresholds" prototype="float_csv">
 40                    <meta>
 41                        <member id="description">Thresholds for the control errors</member>
 42                        <member id="visibility">required</member>
 43                    </meta>
 44                </type>
 45                <type id="samples" prototype="int_parameter">
 46                    <meta>
 47                        <member id="description">Number of consecutive samples to be below the threshold before raising the event</member>
 48                        <member id="visibility">basic</member>
 49                    </meta>
 50                    <data>1</data>
 51                </type>
 52            </data>
 53        </type>
 54
 55
 56        <type id="monitor_threshold" prototype="monitor">
 57            <meta>
 58                <member id="description">Triggers when a measurement exceeds a certain threshold.</member>
 59                <member id="categories">measurements</member>
 60                <member id="implementation">
 61                    <clone prototype="orocos">
 62                        <member id="package">cppitasc_monitors</member>
 63                        <member id="component">ThresholdMonitor</member>
 64                        <member id="arguments">scene, event, provider, coordinates, prefix, operator, thresholds, multi_coordinates_handling, samples</member>
 65                    </clone>
 66                </member>
 67            </meta>
 68            <data>
 69                <type id="provider" data_type="parameter:data_source" prototype="base">
 70                    <meta>
 71                        <member id="description">Data source for which to check the outputs.</member>
 72                        <member id="visibility">required</member>
 73                    </meta>
 74                </type>
 75
 76                <type id="coordinates" prototype="string_csv">
 77                    <meta>
 78                        <member id="description">Coordinate of the value to be checked</member>
 79                        <member id="visibility">required</member>
 80                    </meta>
 81                </type>
 82
 83                <type id="prefix" prototype="string_parameter">
 84                    <meta>
 85                        <member id="description">Prefix for the coordinates</member>
 86                        <member id="visibility">required</member>
 87                    </meta>
 88                    <data></data>
 89                </type>
 90
 91                <type id="operator" prototype="operator">
 92                    <meta>
 93                        <member id="description">Defines if the measurements should be lower or greater than the thresholds.</member>
 94                        <member id="visibility">required</member>
 95                    </meta>
 96                </type>
 97
 98                <type id="thresholds" prototype="float_csv">
 99                    <meta>
100                        <member id="description">Threshold values</member>
101                        <member id="visibility">required</member>
102                    </meta>
103                </type>
104
105                <type id="multi_coordinates_handling" prototype="string_parameter">
106                    <meta>
107                        <member id="description">Behavior for applying the thresholds to multiple coordinates. </member>
108                        <member id="visibility">basic</member>
109                        <clone prototype="restrictions">
110                            <clone prototype="enum">single_element, vector_norm, all_elements</clone>
111                        </clone>
112                    </meta>
113                    <data>single_element</data>
114                </type>
115
116                <type id="samples" prototype="int_parameter">
117                    <meta>
118                        <member id="description">Number of consecutive samples that need to meet the threshold condition before the monitor fires</member>
119                        <member id="visibility">basic</member>
120                    </meta>
121                    <data>1</data>
122                </type>
123            </data>
124        </type>
125
126
127        <type id="monitor_wrench" prototype="monitor">
128            <meta>
129                <member id="description">Triggers when a wrench component exceeds a certain threshold.</member>
130                <member id="categories">measurements</member>
131                <member id="implementation">
132                </member>
133            </meta>
134            <data>
135                <reference prototype="kinematic_graph" reference_id="configuration.kinematic_graph"/>
136                <member id="kinematic_graph.meta.visibility">hidden</member>
137
138                <type id="coordinate" prototype="string_parameter">
139                    <meta>
140                        <member id="description">The component of the wrench that should be checked (x, y, z, a, b, c)</member>
141                        <member id="visibility">required</member>
142                    </meta>
143                </type>
144
145                <type id="operator" prototype="operator">
146                    <meta>
147                        <member id="description">Defines if the measurements should be lower or greater than the thresholds.</member>
148                        <member id="visibility">required</member>
149                    </meta>
150                </type>
151
152                <type id="threshold" prototype="float_parameter">
153                    <meta>
154                        <member id="description">The value of the threshold</member>
155                        <member id="visibility">required</member>
156                    </meta>
157                </type>
158
159                <type id="topic" prototype="string_parameter">  <!-- TODO: replace by force sensor -->
160                    <meta>
161                        <member id="description">The WrenchStamped topic to observe</member>
162                    </meta>
163                </type>
164
165                <type id="frame" prototype="string_parameter">
166                    <meta>
167                        <member id="description">The frame of reference in which the wrench should be analyzed</member>
168                        <member id="visibility">required</member>
169                    </meta>
170                </type>
171            </data>
172        </type>
173
174
175        <type id="monitor_topic_threshold" prototype="monitor">
176            <meta>
177                <member id="description">Triggers when a value in a topic exceeds a certain threshold.</member>
178                <member id="categories">measurements</member>
179                <member id="implementation">
180                </member>
181            </meta>
182            <data>
183                <type id="topic" prototype="string_parameter">
184                    <meta>
185                        <member id="description">The topic to listen on</member>
186                        <member id="visibility">required</member>
187                    </meta>
188                </type>
189
190                <type id="field" prototype="string_parameter">
191                    <meta>
192                        <member id="description">The value to listen on</member>
193                        <member id="visibility">required</member>
194                    </meta>
195                </type>
196
197                <type id="operator" prototype="operator">
198                    <meta>
199                        <member id="description">Defines if the measurements should be lower or greater than the thresholds.</member>
200                        <member id="visibility">required</member>
201                    </meta>
202                </type>
203
204                <type id="threshold" prototype="float_parameter">
205                    <meta>
206                        <member id="description">The value of the threshold</member>
207                        <member id="visibility">required</member>
208                    </meta>
209                </type>
210            </data>
211        </type>
212
213    </models>
214
215</pitasc>