pitasc_library - skills/skill_partial_lin.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_lin.xml"/>
  8        <include package="pitasc_library" file="skills/skill_hold_pose.xml"/>
  9
 10        <type id="skill_partial_lin" prototype="skill_concurrency">
 11            <meta>
 12                <member id="description">A skill that moves to a target frame only in specified axes and holds the other axes in place</member>
 13                <member id="categories">single_robot, position_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                <type id="axes" prototype="string_csv">
 33                    <meta>
 34                        <member id="description">List of axes to be aligned.</member>
 35                        <member id="visibility">basic</member>
 36                        <clone prototype="restrictions">
 37                            <clone prototype="enum">x, y, z, a, b, c</clone>
 38                        </clone>
 39                    </meta>
 40                    <data>x, y, z, a, b, c</data>
 41                </type>
 42
 43                <type id="target_offsets" prototype="float_csv">
 44                    <meta>
 45                        <member id="description">Offsets of the axes to be aligned. Must be the same number of values as for 'axes'.</member>
 46                        <member id="visibility">basic</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                    </meta>
 52                    <data>0, 0, 0, 0, 0, 0</data>
 53                </type>
 54
 55                <type id="thresholds" prototype="float_csv">
 56                    <meta>
 57                        <member id="description">Offsets of the axes to be aligned. Must be the same number of values as for 'axes'.</member>
 58                        <member id="visibility">expert</member>
 59                    </meta>
 60                    <data>0.001, 0.001, 0.001, 0.005, 0.005, 0.005</data>
 61                </type>
 62
 63                <type id="max_linear_velocity" prototype="float_parameter">
 64                    <meta>
 65                        <member id="description">
 66                            Max linear velocity.
 67                        </member>
 68                        <member id="visibility">basic</member>
 69                    </meta>
 70                    <data>1.0</data>
 71                </type>
 72
 73                <type id="max_angular_velocity" prototype="float_parameter">
 74                    <meta>
 75                        <member id="description">
 76                            Max angular velocity.
 77                        </member>
 78                        <member id="visibility">basic</member>
 79                    </meta>
 80                    <data>1.5</data>
 81                </type>
 82
 83                <type id="linear_controller_gain" prototype="float_parameter">
 84                    <meta>
 85                        <member id="description">
 86                            Equivalent proportional controller in linear region.
 87                        </member>
 88                        <member id="visibility">expert</member>
 89                    </meta>
 90                    <data>3</data>
 91                </type>
 92
 93                <type id="angular_controller_gain" prototype="float_parameter">
 94                    <meta>
 95                        <member id="description">
 96                            Equivalent proportional controller in angular region.
 97                        </member>
 98                        <member id="visibility">expert</member>
 99                    </meta>
100                    <data>3</data>
101                </type>
102
103                <!-- Implementation details below: -->
104
105                <clone id="lin_skill" prototype="skill_lin">
106                    <member id="tool_frame" reference_id="tool_frame"/>
107                    <member id="target_frame" reference_id="target_frame"/>
108                    <member id="target_offsets" reference_id="target_offsets"/>
109                    <member id="max_linear_velocity" reference_id="max_linear_velocity"/>
110                    <member id="max_angular_velocity" reference_id="max_angular_velocity"/>
111                    <member id="linear_controller_gain" reference_id="linear_controller_gain"/>
112                    <member id="angular_controller_gain" reference_id="angular_controller_gain"/>
113                    <member id="positioning_monitor.distances" reference_id="thresholds"/>
114                    <member id="axes" reference_id="axes"/>
115                </clone>
116                <member id="lin_skill.meta.visibility">expert</member>
117
118                <clone id="hold_skill" prototype="skill_hold_pose">
119                    <member id="tool_frame" reference_id="tool_frame"/>
120                </clone>
121                <member id="hold_skill.meta.visibility">expert</member>
122
123                <member id="skills">
124                    <reference reference_id="lin_skill"/>
125                    <reference reference_id="hold_skill"/>
126                </member>
127                <member id="skills.meta.visibility">expert</member>
128
129            </data>
130        </type>
131
132    </models>
133
134</pitasc>