pitasc_library - skills/skill_slide_relative.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_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>