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