pitasc_library - skills/skill_insert.xml
Model definitions
line 10: skill_insert
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 <include package="pitasc_library" file="skills/skill_cartesian_tracking.xml"/>
8 <include package="pitasc_library" file="skills/skill_apply_force.xml"/>
9
10 <type id="skill_insert" prototype="skill_concurrency">
11 <meta>
12 <member id="description">A skill that pushes and aligns the position</member>
13 <member id="categories">single_robot, force_controlled</member>
14 </meta>
15
16 <data>
17
18 <type id="tool_frame" prototype="frame">
19 <meta>
20 <member id="description">Name of the tool frame.</member>
21 <member id="visibility">required</member>
22 </meta>
23 </type>
24
25 <type id="target_frame" prototype="frame">
26 <meta>
27 <member id="description">Name of the target frame.</member>
28 <member id="visibility">required</member>
29 </meta>
30 </type>
31
32
33 <!-- Force parameters: -->
34 <type id="force_axes" prototype="string_csv">
35 <meta>
36 <member id="description">List of axes.</member>
37 <clone prototype="restrictions">
38 <clone prototype="enum">x, y, z, a, b, c</clone>
39 </clone>
40 <member id="visibility">required</member>
41 </meta>
42 </type>
43
44 <type id="target_forces" prototype="float_csv">
45 <meta>
46 <member id="description">Forces and torques to be applied. Must be the same number of values as for 'axes'.</member>
47 <clone prototype="restrictions">
48 <clone prototype="float_csv_min">-100.0, -100.0, -100.0, -10.0, -10.0, -10.0</clone>
49 <clone prototype="float_csv_max">100.0, 100.0, 100.0, 10.0, 10.0, 10.0</clone>
50 </clone>
51 <member id="visibility">required</member>
52 </meta>
53 </type>
54
55 <type id="compliance" prototype="float_parameter">
56 <meta>
57 <member id="description">Force controller gain</member>
58 <clone prototype="restrictions">
59 <clone prototype="float_min">0.00001</clone>
60 <clone prototype="float_max">0.1</clone>
61 </clone>
62 <member id="visibility">basic</member>
63 </meta>
64 <data>0.002</data>
65 </type>
66
67 <type id="corner_frequency" prototype="float_parameter">
68 <meta>
69 <member id="description">Force controller corner frequency</member>
70 <clone prototype="restrictions">
71 <clone prototype="float_min">1.0</clone>
72 <clone prototype="float_max">50.0</clone>
73 </clone>
74 <member id="visibility">basic</member>
75 </meta>
76 <data>5.0</data>
77 </type>
78
79
80 <!-- Track parameters: -->
81 <type id="track_axes" prototype="string_csv">
82 <meta>
83 <member id="description">List of axes to be aligned.</member>
84 <clone prototype="restrictions">
85 <clone prototype="enum">x, y, z, a, b, c</clone>
86 </clone>
87 <member id="visibility">basic</member>
88 </meta>
89 <data>x, y, z, a, b, c</data>
90 </type>
91
92 <type id="track_offsets" prototype="float_csv">
93 <meta>
94 <member id="description">Offsets of the axes to be aligned. Must be the same number of values as for 'axes'. If no value is provided, 0 is used for all axes.</member>
95 <clone prototype="restrictions">
96 <clone prototype="float_csv_min">-10.0, -10.0, -10.0, -3.14, -3.14, -3.14</clone>
97 <clone prototype="float_csv_max">10.0, 10.0, 10.0, 3.14, 3.14, 3.14</clone>
98 </clone>
99 <member id="visibility">basic</member>
100 </meta>
101 <data></data>
102 </type>
103
104 <!-- Implementation details below: -->
105
106 <!-- Subskills -->
107 <clone id="force" prototype="skill_apply_force">
108 <member id="force_frame" reference_id="target_frame"/>
109 <member id="axes" reference_id="force_axes"/>
110 <member id="target_forces" reference_id="target_forces"/>
111 <member id="compliance" reference_id="compliance"/>
112 <member id="corner_frequency" reference_id="corner_frequency"/>
113 </clone>
114 <member id="force.meta.visibility">expert</member>
115
116 <clone id="track" prototype="skill_cartesian_tracking">
117 <member id="tool_frame" reference_id="tool_frame"/>
118 <member id="target_frame" reference_id="target_frame"/>
119 <member id="axes" reference_id="track_axes"/>
120 <member id="target_offsets" reference_id="track_offsets"/>
121 </clone>
122 <member id="track.meta.visibility">expert</member>
123
124
125 <member id="skills">
126 <reference reference_id="force"/>
127 <reference reference_id="track"/>
128 </member>
129 <member id="skills.meta.visibility">expert</member>
130
131 <member id="collections.meta.visibility">hidden</member>
132 <member id="loops.meta.visibility">hidden</member>
133 <member id="tasks.meta.visibility">hidden</member>
134
135 </data>
136 </type>
137
138 </models>
139
140</pitasc>