pitasc_library - scripts/geometry.xml
Model definitions
line 67: script_temp_frame
line 120: script_set_frame
line 165: script_set_frames_from_yaml
line 194: script_set_frame_rotvec
line 204: script_temp_frame_from_force
line 245: script_sinus_frame
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<pitasc>
4
5 <models>
6
7 <!-- Kinematic Graph -->
8
9 <type id="script_kinematic_graph" prototype="script">
10 <meta>
11 <member id="description">Prototype for kinematic graph scripts</member>
12 <member id="categories">internal</member>
13 </meta>
14 <data>
15 <type id="on_start" prototype="bool_parameter">
16 <meta>
17 <member id="description">Execute the script before or after the skill.</member>
18 <member id="visibility">basic</member>
19 </meta>
20 <data>True</data>
21 </type>
22
23 <type id="tf_broadcast" prototype="bool_parameter">
24 <meta>
25 <member id="description">Broadcast the frame to TF?</member>
26 <member id="visibility">basic</member>
27 </meta>
28 <data>False</data>
29 </type>
30
31 <reference prototype="kinematic_graph" reference_id="configuration.kinematic_graph" />
32 <member id="kinematic_graph.meta.visibility">hidden</member>
33 </data>
34 </type>
35
36 <type id="script_copy_frame" prototype="script_kinematic_graph">
37 <meta>
38 <member id="description">Copies a frame.</member>
39 <member id="categories">frames</member>
40 <member id="implementation">
41 </member>
42 </meta>
43 <data>
44 <type id="frame" prototype="string_parameter">
45 <meta>
46 <member id="description">Name of the frame to be created</member>
47 <member id="visibility">required</member>
48 </meta>
49 </type>
50
51 <type id="source" prototype="string_parameter">
52 <meta>
53 <member id="description">Name of the frame to be copied</member>
54 <member id="visibility">required</member>
55 </meta>
56 </type>
57
58 <type id="parent" prototype="string_parameter">
59 <meta>
60 <member id="description">Name of the parent frame to of 'frame'</member>
61 <member id="visibility">required</member>
62 </meta>
63 </type>
64 </data>
65 </type>
66
67 <type id="script_temp_frame" prototype="script_kinematic_graph">
68 <meta>
69 <member id="description">Creates a temporary frame that lives as long as the parent
70 skill is active.</member>
71 <member id="categories">frames</member>
72 <member id="implementation">
73 <clone prototype="orocos">
74 <member id="package">cppitasc_kinematics</member>
75 <member id="component">ScriptTempFrame</member>
76 </clone>
77 </member>
78 </meta>
79 <data>
80 <type id="frame" prototype="string_parameter">
81 <meta>
82 <member id="description">Name of the frame to be created</member>
83 <member id="visibility">required</member>
84 </meta>
85 </type>
86
87 <type id="source" prototype="string_parameter">
88 <meta>
89 <member id="description">Name of the frame to be copied</member>
90 <member id="visibility">required</member>
91 </meta>
92 </type>
93
94 <type id="parent" prototype="string_parameter">
95 <meta>
96 <member id="description">Name of the parent frame to of 'frame'</member>
97 <member id="visibility">required</member>
98 </meta>
99 </type>
100 </data>
101 </type>
102
103 <type id="script_remove_frame" prototype="script_kinematic_graph">
104 <meta>
105 <member id="description">Removes a frame.</member>
106 <member id="categories">frames</member>
107 <member id="implementation">
108 </member>
109 </meta>
110 <data>
111 <type id="frame" prototype="string_parameter">
112 <meta>
113 <member id="description">Name of the frame to be removed.</member>
114 <member id="visibility">required</member>
115 </meta>
116 </type>
117 </data>
118 </type>
119
120 <type id="script_set_frame" prototype="script_kinematic_graph">
121 <meta>
122 <member id="description">Sets a new frame.</member>
123 <member id="categories">frames</member>
124 <member id="implementation">
125 <clone prototype="orocos">
126 <member id="package">cppitasc_kinematics</member>
127 <member id="component">ScriptSetFrame</member>
128 </clone>
129 </member>
130 </meta>
131 <data>
132 <type id="frame" prototype="string_parameter">
133 <meta>
134 <member id="description">Name of the frame to be set or created</member>
135 <member id="visibility">required</member>
136 </meta>
137 </type>
138
139 <type id="parent" prototype="string_parameter">
140 <meta>
141 <member id="description">Name of the parent frame to of 'frame'</member>
142 <member id="visibility">required</member>
143 </meta>
144 </type>
145
146 <type id="pose" prototype="float_csv">
147 <meta>
148 <member id="description">Pose of the new frame relative to 'parent'</member>
149 <member id="visibility">required</member>
150 </meta>
151 </type>
152 <type id="pose_type" prototype="string_parameter">
153 <meta>
154 <member id="description">Specifies how the rotation part of pose is given.</member>
155 <clone prototype="restrictions">
156 <clone prototype="enum">rpy, rot_vec</clone>
157 </clone>
158 </meta>
159 <data>rpy</data>
160 </type>
161 </data>
162 </type>
163
164
165 <type id="script_set_frames_from_yaml" prototype="script_kinematic_graph">
166 <meta>
167 <member id="description">Sets a new frame.</member>
168 <member id="categories">frames</member>
169 <member id="implementation">
170 <clone prototype="orocos">
171 <member id="package">cppitasc_kinematics</member>
172 <member id="component">ScriptSetFrameFromYaml</member>
173 </clone>
174 </member>
175 </meta>
176 <data>
177 <type id="path_to_yaml" prototype="string_parameter">
178 <meta>
179 <member id="description">Path to yaml file which holds frame information</member>
180 <member id="visibility">required</member>
181 </meta>
182 </type>
183 <type id="package" prototype="string_parameter">
184 <meta>
185 <member id="description">package name to yaml file</member>
186 <member id="visibility">required</member>
187 </meta>
188 <data> </data>
189 </type>
190
191 </data>
192 </type>
193
194 <type id="script_set_frame_rotvec" prototype="script_set_frame">
195 <meta>
196 <member id="description">Sets a new frame (pose with rotation vector).</member>
197 </meta>
198 <data>
199 <member id="pose_type">rot_vec</member>
200 </data>
201 </type>
202
203
204 <type id="script_temp_frame_from_force" prototype="script_temp_frame">
205 <meta>
206 <member id="description">Creates a temporary frame from the current force
207 measurements.
208
209 The z axis points in the opposite direction of the measured force vector (the
210 usual definition for force control with pitasc).
211 The frame's position and direction will be updated as long as the script is
212 active.
213
214 Includes possibility to filter the input with a first order low pass.
215 </member>
216 <member id="categories">frames</member>
217 <member id="implementation">
218 <clone prototype="orocos">
219 <member id="package">cppitasc_kinematics</member>
220 <member id="component">ScriptTempFrameFromForce</member>
221 </clone>
222 </member>
223 </meta>
224 <data>
225 <reference id="wrench_driver" prototype="data_source"
226 reference_id="robot.components.force_sensor.wrench_driver" />
227 <member id="wrench_driver.meta.visibility">expert</member>
228
229 <member id="parent" reference_id="robot.base_link" />
230 <member id="parent.meta.visibility">expert</member>
231
232 <type id="low_pass_filter_gain" prototype="float_parameter">
233 <meta>
234 <member id="description">First order low pass filter gain (exponential
235 filter). Must be in interval [0:1]. 0 means taking only the previous
236 value, 1 means taking only the new value.</member>
237 <member id="visibility">basic</member>
238 </meta>
239 <data>1</data>
240 </type>
241
242 </data>
243 </type>
244
245 <type id="script_sinus_frame" prototype="script_temp_frame">
246 <meta>
247 <member id="description">Creates a temporary frame that lives as long as the parent
248 skill is active. The frame moves in the given coordinate with a sinus</member>
249 <member id="categories">frames</member>
250 <member id="implementation">
251 <clone prototype="orocos">
252 <member id="package">cppitasc_kinematics</member>
253 <member id="component">ScriptSinusFrame</member>
254 </clone>
255 </member>
256 </meta>
257 <data>
258 <type id="coordinate" prototype="string_parameter">
259 <meta>
260 <member id="description">Coordinate that will be updated by a sine.</member>
261 <member id="visibility">required</member>
262 </meta>
263 </type>
264 <type id="amplitude" prototype="float_parameter">
265 <meta>
266 <member id="description">Amplitude of the sine.</member>
267 <member id="visibility">required</member>
268 </meta>
269 </type>
270 <type id="period" prototype="float_parameter">
271 <meta>
272 <member id="description">Period of the sine in [s].</member>
273 <member id="visibility">required</member>
274 </meta>
275 </type>
276 </data>
277 </type>
278
279 </models>
280</pitasc>