io.xml
This example application shows the usage of scripts.
Models used
monitor_ros_empty_service: lines 59
monitor_ros_setbool_service: lines 114
monitor_ros_trigger_service: lines 86
script_call_empty_srvs: lines 46
script_call_setbool_srvs: lines 100
script_call_trigger_srvs: lines 73
skill_idle: lines 54, 81, 109
skill_idle_duration: lines 42, 69, 96
skill_relative_ptp: lines 38
skill_sequence: lines 30, 34, 67, 94
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!-- This example application shows the usage of scripts.
4
5-->
6
7<pitasc>
8
9 <models>
10 <include package="pitasc_library" file="models/pitasc.xml"/>
11 <include package="pitasc_library" file="models/skills.xml"/>
12
13 <include package="pitasc_library" file="universal_robots/ur.xml"/>
14 </models>
15
16 <clone prototype="project">
17
18 <member id="configuration">
19 <clone id="configuration" prototype="default_configuration"/>
20 </member>
21
22 <member id="environment">
23 <clone prototype="robot_ur5">
24 <member id="robot_driver.max_velocity">0.5</member>
25 <member id="robot_driver.max_acceleration">2.0</member>
26 </clone>
27 </member>
28
29 <member id="applications">
30 <clone prototype="skill_sequence">
31 <member id="robot" reference_id="environment.robot_ur5"/>
32 <member id="skills">
33
34 <clone prototype="skill_sequence">
35 <member id="skills">
36
37 <!-- needed, because pitasc does not create the robot publisher otherwise -->
38 <clone prototype="skill_relative_ptp">
39 <member id="relative_joint_state">0, 0, 0, 0, 0, 0</member>
40 </clone>
41
42 <clone prototype="skill_idle_duration">
43 <member id="duration">0.5</member>
44 <member id="scripts">
45 <!-- Call Empty service -->
46 <clone prototype="script_call_empty_srvs">
47 <member id="namespace">monitor_test_namespace</member>
48 <member id="service_name">/monitor_test_empty</member>
49 <member id="wait_for_service">True</member>
50 <member id="on_start">False</member>
51 </clone>
52 </member>
53 </clone>
54 <clone prototype="skill_idle"/>
55 </member>
56
57 <member id="monitors">
58 <!-- Wait for Empty service -->
59 <clone prototype="monitor_ros_empty_service">
60 <member id="namespace">monitor_test_namespace</member>
61 <member id="service_name">/monitor_test_empty</member>
62 </clone>
63 </member>
64 </clone>
65
66
67 <clone prototype="skill_sequence">
68 <member id="skills">
69 <clone prototype="skill_idle_duration">
70 <member id="duration">0.5</member>
71 <member id="scripts">
72 <!-- Call Trigger service -->
73 <clone prototype="script_call_trigger_srvs">
74 <member id="namespace">monitor_test_namespace</member>
75 <member id="service_name">/monitor_test_trigger</member>
76 <member id="wait_for_service">True</member>
77 <member id="on_start">False</member>
78 </clone>
79 </member>
80 </clone>
81 <clone prototype="skill_idle"/>
82 </member>
83
84 <member id="monitors">
85 <!-- Wait for Trigger service -->
86 <clone prototype="monitor_ros_trigger_service">
87 <member id="namespace">monitor_test_namespace</member>
88 <member id="service_name">/monitor_test_trigger</member>
89 </clone>
90 </member>
91 </clone>
92
93
94 <clone prototype="skill_sequence">
95 <member id="skills">
96 <clone prototype="skill_idle_duration">
97 <member id="duration">0.5</member>
98 <member id="scripts">
99 <!-- Call SetBool service -->
100 <clone prototype="script_call_setbool_srvs">
101 <member id="namespace">monitor_test_namespace</member>
102 <member id="service_name">/monitor_test_setbool</member>
103 <member id="wait_for_service">True</member>
104 <member id="on_start">False</member>
105 <member id="value">True</member>
106 </clone>
107 </member>
108 </clone>
109 <clone prototype="skill_idle"/>
110 </member>
111
112 <member id="monitors">
113 <!-- Wait for SetBool service -->
114 <clone prototype="monitor_ros_setbool_service">
115 <member id="namespace">monitor_test_namespace</member>
116 <member id="service_name">/monitor_test_setbool</member>
117 </clone>
118 </member>
119 </clone>
120
121 </member>
122
123 </clone>
124 </member>
125
126 </clone>
127
128</pitasc>