sync.xml
This example application shows the usage of user_confirm monitors. This monitor allows to wait for user input and to trigger events according to the input. Also see ‘skill_user_confirm’
Models used
monitor_duration: lines 47, 50, 54, 73, 76, 79
monitor_sync: lines 44, 71
skill_counter_condition: lines 62
skill_idle: lines 42, 69
skill_relative_ptp: lines 37
skill_sequence: lines 29
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!-- This example application shows the usage of user_confirm monitors. This monitor allows to wait for user input and to trigger events according to the input. Also see 'skill_user_confirm'
4-->
5
6<pitasc>
7
8 <models>
9 <include package="pitasc_library" file="models/pitasc.xml"/>
10 <include package="pitasc_library" file="models/skills.xml"/>
11
12 <include package="pitasc_library" file="universal_robots/ur.xml"/>
13 </models>
14
15 <clone prototype="project">
16
17 <member id="configuration">
18 <clone id="configuration" prototype="default_configuration"/>
19 </member>
20
21 <member id="environment">
22 <clone prototype="robot_ur5">
23 <member id="robot_driver.max_velocity">2.0</member>
24 <member id="robot_driver.max_acceleration">3.0</member>
25 </clone>
26 </member>
27
28 <member id="applications">
29 <clone prototype="skill_sequence">
30
31 <member id="robot" reference_id="environment.robot_ur5"/>
32
33 <!-- Skills -->
34 <member id="skills">
35
36 <!-- needed, because pitasc does not create the robot publisher otherwise -->
37 <clone prototype="skill_relative_ptp">
38 <member id="relative_joint_state">0, 0, 0, 0, 0, 0</member>
39 </clone>
40
41 <!-- monitor sync fires when all sub monitors fired the correct event-->
42 <clone id="idler" prototype="skill_idle">
43 <member id="monitors">
44 <clone prototype="monitor_sync">
45 <member id="events">succeeded, test, succeeded</member>
46 <member id="monitors">
47 <clone prototype="monitor_duration">
48 <member id="duration">1</member>
49 </clone>
50 <clone prototype="monitor_duration">
51 <member id="duration">3</member>
52 <member id="event">test</member>
53 </clone>
54 <clone prototype="monitor_duration">
55 <member id="duration">6</member>
56 </clone>
57 </member>
58 </clone>
59 </member>
60 </clone>
61
62 <clone prototype="skill_counter_condition">
63 <member id="repeat_target">idler</member>
64 <member id="condition_target">next_skill</member>
65 <member id="count">2</member>
66 </clone>
67
68 <!-- monitor sync fires when all sub monitors fired the correct event-->
69 <clone id="next_skill" prototype="skill_idle">
70 <member id="monitors">
71 <clone prototype="monitor_sync">
72 <member id="monitors">
73 <clone prototype="monitor_duration">
74 <member id="duration">1</member>
75 </clone>
76 <clone prototype="monitor_duration">
77 <member id="duration">2</member>
78 </clone>
79 <clone prototype="monitor_duration">
80 <member id="duration">3</member>
81 </clone>
82 </member>
83 </clone>
84 </member>
85
86 </clone>
87
88
89 </member>
90
91 </clone>
92 </member>
93
94 </clone>
95
96</pitasc>