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