pitasc_library - skills/skill_partial_velocity.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
 10        <type id="skill_partial_velocity" prototype="skill_concurrency">
 11            <meta>
 12                <member id="description">A skill that moves along fixed frame axes and holds the other axes in place</member>
 13                <member id="categories">single_robot, velocity_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="velocity_frame" prototype="frame">
 26                    <meta>
 27                        <member id="description">Defines the axes along which this skill can move.</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">The directions of motion.</member>
 35                        <member id="visibility">basic</member>
 36                        <clone prototype="restrictions">
 37                            <clone prototype="enum">x, y, z</clone>
 38                        </clone>
 39                    </meta>
 40                    <data>x</data>
 41                </type>
 42
 43                <type id="velocities" prototype="float_csv">
 44                    <meta>
 45                        <member id="description">Velocities in [m/s].</member>
 46                        <member id="visibility">basic</member>
 47                    </meta>
 48                    <data>0.01</data>
 49                </type>
 50
 51                <clone id="move_skill" prototype="skill_cartesian_velocity">
 52                    <member id="velocity_frame" reference_id="velocity_frame"/>
 53                    <member id="tool_frame" reference_id="tool_frame"/>
 54                    <member id="axes" reference_id="axes"/>
 55                    <member id="velocities" reference_id="velocities"/>
 56                </clone>
 57                <member id="move_skill.meta.visibility">expert</member>
 58
 59                <clone id="hold_skill" prototype="skill_hold_pose">
 60                    <member id="tool_frame" reference_id="tool_frame"/>
 61                </clone>
 62                <member id="hold_skill.meta.visibility">expert</member>
 63
 64                <member id="skills">
 65                    <reference reference_id="move_skill"/>
 66                    <reference reference_id="hold_skill"/>
 67                </member>
 68                <member id="skills.meta.visibility">expert</member>
 69
 70            </data>
 71        </type>
 72
 73        <type id="skill_partial_velocity_duration" prototype="skill_partial_velocity">
 74            <data>
 75                <type id="duration" prototype="float_parameter">
 76                    <meta>
 77                        <member id="description">Skill duration in [s].</member>
 78                        <member id="visibility">basic</member>
 79                    </meta>
 80                    <data>1.0</data>
 81                </type>
 82
 83                <member id="monitors">
 84                    <clone prototype="monitor_duration">
 85                        <member id="event">succeeded</member>
 86                        <member id="duration" reference_id="duration"/>
 87                    </clone>
 88                </member>
 89            </data>
 90        </type>
 91
 92        <type id="skill_partial_velocity_relative_distance" prototype="skill_partial_velocity">
 93            <data>
 94                <type id="distances" prototype="float_csv">
 95                    <meta>
 96                        <member id="description">Travel distance after that the skill stops, in [m].</member>
 97                        <member id="visibility">basic</member>
 98                    </meta>
 99                    <data>0.01</data>
100                </type>
101
102                <member id="monitors">
103                    <clone prototype="monitor_relative_distance">
104                        <member id="reference_frame">world</member>
105                        <member id="frame" reference_id="velocity_frame"/>
106                        <member id="coordinates" reference_id="axes"/>
107                        <member id="distances" reference_id="distances"/>
108                        <member id="operator">absolute_greater</member>
109                    </clone>
110                </member>
111            </data>
112        </type>
113
114    </models>
115
116</pitasc>