pitasc_library - skills/skill_approach.xml
Model definitions
line 9: skill_approach
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_lin.xml"/>
8
9 <type id="skill_approach" prototype="skill_sequence">
10 <meta>
11 <member id="description">A skill approaching a target frame in two steps</member>
12 <member id="categories">single_robot, position_controlled</member>
13 </meta>
14 <data>
15
16 <type id="tool_frame" prototype="frame">
17 <meta>
18 <member id="description">Name of the tool frame.</member>
19 <member id="visibility">required</member>
20 </meta>
21 </type>
22
23 <type id="target_frame" prototype="frame">
24 <meta>
25 <member id="description">Name of the target frame.</member>
26 <member id="visibility">required</member>
27 </meta>
28 </type>
29
30
31 <type id="axes" prototype="string_csv">
32 <meta>
33 <member id="description">List of axes to be aligned.</member>
34 <clone prototype="restrictions">
35 <clone prototype="enum">x, y, z, a, b, c</clone>
36 </clone>
37 <member id="visibility">basic</member>
38 </meta>
39 <data>x, y, z, a, b, c</data>
40 </type>
41
42 <type id="approach_offsets" prototype="float_csv">
43 <meta>
44 <member id="description">Offsets of the axes during the approach. Must be the same number of values as for 'axes'. If no value is provided, 0 is used for all axes.</member>
45 <clone prototype="restrictions">
46 <clone prototype="float_csv_min">-10.0, -10.0, -10.0, -3.14, -3.14, -3.14</clone>
47 <clone prototype="float_csv_max">10.0, 10.0, 10.0, 3.14, 3.14, 3.14</clone>
48 </clone>
49 <member id="visibility">required</member>
50 </meta>
51 <data>0, 0, 0, 0, 0, 0</data>
52 </type>
53
54 <type id="target_offsets" prototype="float_csv">
55 <meta>
56 <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>
57 <clone prototype="restrictions">
58 <clone prototype="float_csv_min">-10.0, -10.0, -10.0, -3.14, -3.14, -3.14</clone>
59 <clone prototype="float_csv_max">10.0, 10.0, 10.0, 3.14, 3.14, 3.14</clone>
60 </clone>
61 <member id="visibility">basic</member>
62 </meta>
63 <data>0, 0, 0, 0, 0, 0</data>
64 </type>
65
66
67 <type id="max_linear_velocity" prototype="float_parameter">
68 <meta>
69 <member id="description">Max linear velocity.</member>
70 <member id="visibility">basic</member>
71 </meta>
72 <data>1.0</data>
73 </type>
74 <type id="max_angular_velocity" prototype="float_parameter">
75 <meta>
76 <member id="description">Max angular velocity.</member>
77 <member id="visibility">basic</member>
78 </meta>
79 <data>1.5</data>
80 </type>
81 <type id="linear_controller_gain" prototype="float_parameter">
82 <meta>
83 <member id="description">Equivalent proportional controller in linear region.</member>
84 <member id="visibility">expert</member>
85 </meta>
86 <data>3</data>
87 </type>
88 <type id="angular_controller_gain" prototype="float_parameter">
89 <meta>
90 <member id="description">Equivalent proportional controller in linear region.</member>
91 <member id="visibility">expert</member>
92 </meta>
93 <data>3</data>
94 </type>
95
96 <!-- Implementation details below: -->
97
98 <clone id="approach" prototype="skill_lin">
99 <member id="skill_name">approach</member>
100 <member id="tool_frame" reference_id="tool_frame"/>
101 <member id="target_frame" reference_id="target_frame"/>
102 <member id="linear_controller_gain" reference_id="linear_controller_gain"/>
103 <member id="angular_controller_gain" reference_id="angular_controller_gain"/>
104 <member id="max_linear_velocity" reference_id="max_linear_velocity"/>
105 <member id="max_angular_velocity" reference_id="max_angular_velocity"/>
106 <member id="axes" reference_id="axes"/>
107 <member id="target_offsets" reference_id="approach_offsets"/>
108 <member id="positioning_monitor.distances">0.01, 0.01, 0.01, 0.05, 0.05, 0.05</member>
109 </clone>
110 <member id="approach.meta.visibility">expert</member>
111
112 <clone id="target" prototype="skill_lin">
113 <member id="skill_name">target</member>
114 <member id="tool_frame" reference_id="tool_frame"/>
115 <member id="target_frame" reference_id="target_frame"/>
116 <member id="linear_controller_gain" reference_id="linear_controller_gain"/>
117 <member id="angular_controller_gain" reference_id="angular_controller_gain"/>
118 <member id="max_linear_velocity" reference_id="max_linear_velocity"/>
119 <member id="max_angular_velocity" reference_id="max_angular_velocity"/>
120 <member id="axes" reference_id="axes"/>
121 <member id="target_offsets" reference_id="target_offsets"/>
122 </clone>
123 <member id="target.meta.visibility">expert</member>
124
125 <member id="skills">
126 <reference reference_id="approach"/>
127 <reference reference_id="target"/>
128 </member>
129 <member id="skills.meta.visibility">expert</member>
130
131 </data>
132 </type>
133
134 </models>
135
136</pitasc>