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