io.xml
This example application shows the usage of rostopic monitors.
Models used
monitor_ros_bool_topic: lines 45
monitor_ros_fireevent_rostopic: lines 107
monitor_ros_int16_topic: lines 71
monitor_ros_int8_topic: lines 58
skill_idle: lines 105
skill_idle_duration: lines 42, 55, 68, 80, 92
skill_relative_ptp: lines 36
skill_sequence: lines 30
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!-- This example application shows the usage of rostopic monitors.
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
35 <!-- needed, because pitasc does not create the robot publisher otherwise -->
36 <clone prototype="skill_relative_ptp">
37 <member id="relative_joint_state">0, 0, 0, 0, 0, 0</member>
38 </clone>
39
40 <!-- To trigger the monitor, publish a std_msgs/Bool message with value False on the given topic: -->
41 <!-- rostopic pub /monitor_test_namespace/monitor_test_bool std_msgs/Bool "data: false" -->
42 <clone prototype="skill_idle_duration">
43 <member id="duration">20</member>
44 <member id="monitors">
45 <clone prototype="monitor_ros_bool_topic">
46 <member id="namespace">monitor_test_namespace</member>
47 <member id="topic">monitor_test_bool</member>
48 <member id="value">False</member>
49 </clone>
50 </member>
51 </clone>
52
53 <!-- To trigger the monitor, publish a std_msgs/Int8 message with value 20 on the given topic: -->
54 <!-- rostopic pub /monitor_test_namespace/monitor_test_int8 std_msgs/Int8 "data: 20" -->
55 <clone prototype="skill_idle_duration">
56 <member id="duration">20</member>
57 <member id="monitors">
58 <clone prototype="monitor_ros_int8_topic">
59 <member id="namespace">monitor_test_namespace</member>
60 <member id="topic">monitor_test_int8</member>
61 <member id="value">20</member>
62 </clone>
63 </member>
64 </clone>
65
66 <!-- To trigger the monitor, publish a std_msgs/Int16 message with a value less than 20 on the given topic: -->
67 <!-- rostopic pub /monitor_test_namespace/monitor_test_int16 std_msgs/Int8 "data: 19" -->
68 <clone prototype="skill_idle_duration">
69 <member id="duration">20</member>
70 <member id="monitors">
71 <clone prototype="monitor_ros_int16_topic">
72 <member id="namespace">monitor_test_namespace</member>
73 <member id="topic">monitor_test_int16</member>
74 <member id="value">20</member>
75 <member id="operator">less</member>
76 </clone>
77 </member>
78 </clone>
79
80 <clone prototype="skill_idle_duration">
81 <member id="duration">20</member>
82 <member id="monitors">
83 <clone prototype="monitor_ros_float32_topic">
84 <member id="namespace">monitor_test_namespace</member>
85 <member id="topic">monitor_test_float32</member>
86 <member id="value">20</member>
87 <member id="operator">less</member>
88 </clone>
89 </member>
90 </clone>
91
92 <clone prototype="skill_idle_duration">
93 <member id="duration">20</member>
94 <member id="monitors">
95 <clone prototype="monitor_ros_string_topic">
96 <member id="namespace">monitor_test_namespace</member>
97 <member id="topic">monitor_test_string</member>
98 <member id="value">narf</member>
99 <member id="operator">equal</member>
100 </clone>
101 </member>
102 </clone>
103
104 <!-- The input on the fireevent monitor decides which event is fired. On value 10, it succeeds, on 0 it preempts. -->
105 <clone prototype="skill_idle">
106 <member id="monitors">
107 <clone prototype="monitor_ros_fireevent_rostopic">
108 <member id="namespace">monitor_test_namespace</member>
109 <member id="topic">monitor_test_fireevent</member>
110 <member id="values">
111 <clone prototype="value_event_pair">
112 <member id="event">succeeded</member>
113 <member id="value">10</member>
114 </clone>
115 <clone prototype="value_event_pair">
116 <member id="event">preempted</member>
117 <member id="value">0</member>
118 </clone>
119 </member>
120 <member id="type">std_msgs/Int16</member>
121 </clone>
122 </member>
123 </clone>
124
125 </member>
126
127 </clone>
128 </member>
129
130 </clone>
131
132</pitasc>