pitasc_library - skills/skill_idle_duration.xml
Model definitions
line 8: skill_idle_duration
line 33: skill_idle_once
line 42: skill_counter_condition
line 97: skill_preempt
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>