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