pitasc_library - skills/skill_idle_duration.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="skills/skill_idle.xml"/>
  7
  8        <type id="skill_idle_duration" prototype="skill_idle">
  9            <meta>
 10                <member id="description">A skill that keeps the robot position for a given duration</member>
 11            </meta>
 12
 13            <data>
 14
 15                <type id="duration" prototype="float_parameter">
 16                    <meta>
 17                        <member id="description">Skill duration in [s].</member>
 18                        <member id="visibility">basic</member>
 19                    </meta>
 20                    <data>1.0</data>
 21                </type>
 22
 23                <member id="monitors">
 24                    <clone prototype="monitor_duration">
 25                        <member id="event">succeeded</member>
 26                        <member id="duration" reference_id="duration"/>
 27                    </clone>
 28                </member>
 29
 30            </data>
 31        </type>
 32
 33        <type id="skill_idle_once" prototype="skill_idle_duration">
 34            <meta>
 35                <member id="description">Idles for one cycle, e.g. to execute a script</member>
 36            </meta>
 37            <data>
 38                <member id="duration">0.001</member>
 39            </data>
 40        </type>
 41
 42        <type id="skill_counter_condition" prototype="skill_idle">
 43            <meta>
 44                <member id="description">Branches after a certain number of iterations</member>
 45            </meta>
 46            <data>
 47                <type id="repeat_target" prototype="string_parameter">
 48                    <meta>
 49                        <member id="description">Name of Target skill when condition is NOT reached</member>
 50                        <member id="visibility">basic</member>
 51                    </meta>
 52                    <data></data>
 53                </type>
 54
 55                <type id="condition_target" prototype="string_parameter">
 56                    <meta>
 57                        <member id="description">Name of Target skill when condition is reached</member>
 58                        <member id="visibility">basic</member>
 59                    </meta>
 60                    <data>succeeded</data>
 61                </type>
 62
 63                <type id="count" prototype="int_parameter">
 64                    <meta>
 65                        <member id="description">Number of executions before triggering</member>
 66                        <member id="visibility">required</member>
 67                        <clone prototype="restrictions">
 68                            <clone prototype="int_min">1</clone>
 69                        </clone>
 70                    </meta>
 71                </type>
 72
 73                <member id="monitors">
 74                    <clone prototype="monitor_execution_counter">
 75                        <member id="event">yay</member>
 76                        <member id="reject_event">nope</member>
 77                        <member id="fire_on_reject">True</member>
 78                        <member id="count" reference_id="count" />
 79                    </clone>
 80                </member>
 81                <member id="transitions">
 82                    <clone prototype="transition">
 83                        <member id="event">nope</member>
 84                        <member id="target" reference_id="repeat_target" />
 85                    </clone>
 86                    <clone prototype="transition">
 87                        <member id="event">yay</member>
 88                        <member id="target" reference_id="condition_target" />
 89                    </clone>
 90                </member>
 91
 92
 93            </data>
 94        </type>
 95
 96
 97        <type id="skill_preempt" prototype="skill_idle_once">
 98            <meta>
 99                <member id="description">Triggers a preempt event</member>
100            </meta>
101            <data>
102                <member id="monitors.monitor_duration.event">preempted</member>
103            </data>
104        </type>
105
106    </models>
107
108</pitasc>