pitasc_library - skills/spherical/skill_conical_helix.xml
Model definitions
line 11: skill_conical_helix
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<pitasc>
4
5 <models>
6 <include package="pitasc_library" file="models/pitasc.xml"/>
7
8 <include package="pitasc_library" file="skills/spherical/skill_spherical_velocity.xml"/>
9 <include package="pitasc_library" file="skills/spherical/skill_spherical_tracking.xml"/>
10
11 <type id="skill_conical_helix" prototype="skill_sequence">
12 <meta>
13 <member id="description">A skill that performs a conical helix around z axis of the specified pivot_frame</member>
14 <member id="categories">single_robot, velocity_controlled</member>
15 </meta>
16
17 <data>
18 <!-- Public -->
19 <type id="tool_frame" prototype="string_parameter">
20 <meta>
21 <member id="description">
22 The used tool frame.
23 </member>
24 <member id="visibility">basic</member>
25 </meta>
26 <data>tool</data>
27 </type>
28
29 <!-- Public -->
30 <type id="pivot_frame" prototype="string_parameter">
31 <meta>
32 <member id="description">
33 The pivot point (i.e. tip of the cone).
34 </member>
35 <member id="visibility">basic</member>
36 </meta>
37 <data>pivot_point</data>
38 </type>
39
40 <type id="start_radius" prototype="float_parameter">
41 <meta>
42 <member id="description">
43 Distance from the desired start point to the origin of pivot_frame [m].
44 </member>
45 <member id="visibility">basic</member>
46 </meta>
47 <data>0.001</data>
48 </type>
49
50 <type id="end_radius" prototype="float_csv">
51 <meta>
52 <member id="description">
53 Distance from the desired end point to the origin of pivot_frame [m]. Max. one value allowed.
54 </member>
55 <member id="visibility">basic</member>
56 </meta>
57 <data>0.1</data>
58 </type>
59
60 <type id="start_phi" prototype="float_parameter">
61 <meta>
62 <member id="description">
63 Initial value of angle phi (in x-y-plane of pivot_frame) [rad].
64 </member>
65 <member id="visibility">basic</member>
66 </meta>
67 <data>0</data>
68 </type>
69
70 <type id="half_opening_angle" prototype="float_parameter">
71 <meta>
72 <member id="description">
73 Half of the opening angle of the cone [rad].
74 </member>
75 <member id="visibility">basic</member>
76 </meta>
77 <data>0.4</data>
78 </type>
79
80 <type id="tool_direction" data_type="list:float_parameter" prototype="base">
81 <meta>
82 <member id="description">
83 The rpy tool orientation (a,b,c) in [rad]. Default pointing towards the origin of pivot_frame.
84 </member>
85 <member id="visibility">basic</member>
86 </meta>
87 <data>
88 <clone id="a" prototype="float_parameter">3.1415</clone>
89 <clone id="b" prototype="float_parameter">0</clone>
90 <clone id="c" prototype="float_parameter">0</clone>
91 </data>
92 </type>
93
94 <type id="helix_linear_velocity" prototype="float_parameter">
95 <meta>
96 <member id="description">
97 The speed of the motion in radial direction
98 </member>
99 <member id="visibility">basic</member>
100 </meta>
101 <data>0.005</data>
102 </type>
103
104 <type id="helix_angular_velocity" prototype="float_parameter">
105 <meta>
106 <member id="description">
107 The speed of the rotation movement.
108 </member>
109 <member id="visibility">basic</member>
110 </meta>
111 <data>0.5</data>
112 </type>
113
114 <!-- Implementation details below: -->
115
116 <type id="des_velocities" data_type="list:float_parameter" prototype="base">
117 <meta>
118 <member id="description">Defines the helix velocities</member>
119 <member id="visibility">hidden</member>
120 </meta>
121 <data>
122 <reference reference_id="helix_angular_velocity" />
123 <reference reference_id="helix_linear_velocity" />
124 </data>
125 </type>
126
127 <type id="start_offsets" data_type="list:float_parameter" prototype="base">
128 <meta>
129 <member id="description">Defines the helix - phi, theta, r, a, b, c</member>
130 <member id="visibility">hidden</member>
131 </meta>
132 <data>
133 <reference reference_id="start_phi" />
134 <reference reference_id="half_opening_angle" />
135 <reference reference_id="start_radius" />
136 <reference reference_id="tool_direction.a" />
137 <reference reference_id="tool_direction.b" />
138 <reference reference_id="tool_direction.c" />
139 </data>
140 </type>
141
142 <type id="constant_offsets" data_type="list:float_parameter" prototype="base">
143 <meta>
144 <member id="description">Defines the helix - constant offsets (theta, a, b, c)</member>
145 <member id="visibility">hidden</member>
146 </meta>
147 <data>
148 <reference reference_id="half_opening_angle" />
149 <reference reference_id="tool_direction.a" />
150 <reference reference_id="tool_direction.b" />
151 <reference reference_id="tool_direction.c" />
152 </data>
153 </type>
154
155 <!-- Add skills -->
156 <member id="skills">
157
158 <!-- move to start position -->
159 <clone prototype="skill_spherical_positioning">
160 <member id="tool_frame" reference_id="tool_frame" />
161 <member id="target_frame" reference_id="pivot_frame" />
162 <member id="target_offsets" reference_id="start_offsets" />
163 </clone>
164
165 <clone prototype="skill_concurrency">
166 <member id="skills">
167 <clone prototype="skill_spherical_velocity">
168 <member id="tool_frame" reference_id="tool_frame" />"
169 <member id="target_frame" reference_id="pivot_frame" />
170 <member id="axes">phi, r</member>
171 <member id="velocities" reference_id="des_velocities" />
172 <member id="monitors">
173 <clone prototype="monitor_threshold">
174 <member id="provider" reference_id="collections.target_to_tool.chains[0]"/>
175 <member id="coordinates">r</member>
176 <member id="prefix" reference_id="collections.target_to_tool.prefix"/>
177 <member id="operator">absolute_greater</member>
178 <member id="thresholds" reference_id="end_radius"/>
179 </clone>
180 </member>
181 </clone>
182 <clone id="hold" prototype="skill_spherical_tracking">
183 <member id="tool_frame" reference_id="tool_frame" />
184 <member id="target_frame" reference_id="pivot_frame" />
185 <member id="axes">theta, a, b, c</member>
186 <member id="target_offsets" reference_id="constant_offsets" />
187 </clone>
188 </member>
189 </clone>
190
191 </member>
192 <member id="skills.meta.visibility">expert</member>
193
194 </data>
195 </type>
196 </models>
197</pitasc>