pitasc_library - skills/skill_guarded_lin.xml
Model definitions
line 9: skill_guarded_lin
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<pitasc>
4
5 <models>
6 <include package="pitasc_library" file="skills/skill_lin.xml"/>
7 <include package="pitasc_library" file="skills/skill_force.xml"/>
8
9 <type id="skill_guarded_lin" prototype="skill_concurrency">
10 <meta>
11 <member id="description">Causes a linear motion until a specified force value is reached</member>
12 <member id="categories">single_robot, force_controlled</member>
13 </meta>
14
15 <data>
16
17 <type id="tool_frame" prototype="frame">
18 <meta>
19 <member id="description">Name of the tool frame.</member>
20 <member id="visibility">required</member>
21 </meta>
22 </type>
23
24 <type id="target_frame" prototype="frame">
25 <meta>
26 <member id="description">Name of the target frame.</member>
27 <member id="visibility">required</member>
28 </meta>
29 </type>
30
31 <type id="axes" prototype="string_csv">
32 <meta>
33 <member id="description">List of axes to be aligned.</member>
34 <member id="visibility">basic</member>
35 <clone prototype="restrictions">
36 <clone prototype="enum">x, y, z, a, b, c</clone>
37 </clone>
38 </meta>
39 <data>x, y, z, a, b, c</data>
40 </type>
41
42 <type id="target_offsets" prototype="float_csv">
43 <meta>
44 <member id="description">Offsets of the axes to be aligned. Must be the same number of values as for 'axes'.</member>
45 <member id="visibility">basic</member>
46 <clone prototype="restrictions">
47 <clone prototype="float_csv_min">-10.0, -10.0, -10.0, -3.14, -3.14, -3.14</clone>
48 <clone prototype="float_csv_max">10.0, 10.0, 10.0, 3.14, 3.14, 3.14</clone>
49 </clone>
50 </meta>
51 <data>0, 0, 0, 0, 0, 0</data>
52 </type>
53
54 <type id="max_linear_velocity" prototype="float_parameter">
55 <meta>
56 <member id="description">
57 Max linear velocity.
58 </member>
59 <member id="visibility">basic</member>
60 </meta>
61 <data>1.0</data>
62 </type>
63
64 <type id="max_angular_velocity" prototype="float_parameter">
65 <meta>
66 <member id="description">
67 Max angular velocity.
68 </member>
69 <member id="visibility">basic</member>
70 </meta>
71 <data>1.5</data>
72 </type>
73
74 <type id="linear_controller_gain" prototype="float_parameter">
75 <meta>
76 <member id="description">
77 Specifies the approx. linear gain of the controller transfer function for Cartesian positions (i.e. x,y and z).
78 </member>
79 <member id="visibility">expert</member>
80 </meta>
81 <data>3</data>
82 </type>
83
84 <type id="angular_controller_gain" prototype="float_parameter">
85 <meta>
86 <member id="description">
87 Specifies the approx. linear gain of the controller transfer function for Cartesian angles (i.e. a,b and c).
88 </member>
89 <member id="visibility">expert</member>
90 </meta>
91 <data>3</data>
92 </type>
93
94 <type id="max_forces" prototype="float_csv">
95 <meta>
96 <member id="description">Forces in [N].</member>
97 <member id="visibility">basic</member>
98 </meta>
99 <data>10.0</data>
100 </type>
101
102 <type id="monitor_axes" prototype="string_csv">
103 <meta>
104 <member id="description">The directions that are monitored for occuring forces (can be multiple axes).</member>
105 <member id="visibility">basic</member>
106 <clone prototype="restrictions">
107 <clone prototype="enum">x, y, z</clone>
108 </clone>
109 </meta>
110 <data>x</data>
111 </type>
112
113 <!-- Implementation details below: -->
114
115 <clone id="move_skill" prototype="skill_lin">
116 <member id="tool_frame" reference_id="tool_frame"/>
117 <member id="target_frame" reference_id="target_frame"/>
118 <member id="axes" reference_id="axes"/>
119 <member id="target_offsets" reference_id="target_offsets"/>
120 <member id="max_linear_velocity" reference_id="max_linear_velocity"/>
121 <member id="max_angular_velocity" reference_id="max_angular_velocity"/>
122 <member id="linear_controller_gain" reference_id="linear_controller_gain"/>
123 <member id="angular_controller_gain" reference_id="angular_controller_gain"/>
124 </clone>
125 <member id="move_skill.meta.visibility">expert</member>
126
127 <clone id="force_skill" prototype="skill_force">
128 <member id="force_frame" reference_id="target_frame"/>
129 </clone>
130 <member id="force_skill.meta.visibility">expert</member>
131
132 <member id="monitors">
133 <clone id="force_threshold" prototype="monitor_threshold">
134 <member id="provider" reference_id="force_skill.collections.force_chain.chains[0]"/>
135 <member id="coordinates" reference_id="monitor_axes"/>
136 <member id="prefix" reference_id="force_skill.collections.force_chain.prefix"/>
137 <member id="operator">absolute_greater</member>
138 <member id="thresholds" reference_id="max_forces"/>
139 </clone>
140 </member>
141
142 <member id="skills">
143 <reference reference_id="move_skill"/>
144 <reference reference_id="force_skill"/>
145 </member>
146 <member id="skills.meta.visibility">expert</member>
147
148 </data>
149 </type>
150
151 </models>
152
153</pitasc>