user_confirm.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

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        <!-- bool flag to disable user confirm monitors (see 'ignore' member)-->
29        <clone id="release_mode" prototype="bool_parameter">True</clone>
30
31        <member id="applications">
32            <clone prototype="skill_sequence">
33
34                <member id="robot" reference_id="environment.robot_ur5"/>
35
36                <!-- Skills -->
37                <member id="skills">
38
39                    <!-- First move to start position -->
40                    <clone prototype="skill_lin">
41                        <member id="tool_frame">tool</member>
42                        <member id="target_frame">start_position</member>
43                    </clone>
44
45                    <clone prototype="skill_user_confirm" />
46
47                    <clone prototype="skill_lin">
48                        <member id="tool_frame">tool</member>
49                        <member id="target_frame">target1</member>
50                    </clone>
51
52                    <clone prototype="skill_user_confirm">
53                        <member id="title">Caution!</member>
54                        <member id="text">Clicking no will trigger an exception! Continue?</member>
55                        <member id="reject_event">event123</member>                        <!-- clicking no will trigger an exception, since event "event123" does not exist -->
56                    </clone>
57
58                    <clone prototype="skill_cartesian_tracking">
59                        <member id="tool_frame">tool</member>
60                        <member id="target_frame">target2</member>
61                        <member id="monitors">
62                            <clone prototype="monitor_user_confirm">
63                                <member id="title">Cartesian Tracking</member>
64                                <member id="text">Do you want to succeed with next skill?</member>
65                            </clone>
66                        </member>
67                    </clone>
68
69                    <clone prototype="skill_lin">
70                        <member id="tool_frame">tool</member>
71                        <member id="target_frame">target1</member>
72                    </clone>
73
74                    <!-- will be ignored, since 'release_mode' is set to true -->
75                    <clone prototype="skill_user_confirm">
76                        <member id="ignore" reference_id="release_mode" />
77                    </clone>
78
79                    <clone prototype="skill_lin">
80                        <member id="tool_frame">tool</member>
81                        <member id="target_frame">target1</member>
82                    </clone>
83
84                </member>
85
86            </clone>
87        </member>
88
89    </clone>
90
91</pitasc>