pitasc_library - skills/skill_insert.xml

Model definitions

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>