geometry.xml
This example application shows the usage of monitors.
Models used
monitor_distance: lines 52
monitor_frame_in_box: lines 86
monitor_relative_distance: lines 69
skill_cartesian_tracking: lines 46, 63, 80
skill_lin: lines 41
skill_sequence: lines 30
skill_wait_for_transform: lines 36
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!-- This example application shows the usage of 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.2</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
32 <member id="robot" reference_id="environment.robot_ur5"/>
33
34 <member id="skills">
35
36 <clone prototype="skill_wait_for_transform">
37 <member id="parent_frame">target2</member>
38 <member id="frame">tool</member>
39 </clone>
40
41 <clone prototype="skill_lin">
42 <member id="tool_frame">tool</member>
43 <member id="target_frame">target1</member>
44 </clone>
45
46 <clone prototype="skill_cartesian_tracking">
47 <member id="tool_frame">tool</member>
48 <member id="target_frame">target2</member>
49
50 <!-- Quit after 3 cm -->
51 <member id="monitors">
52 <clone prototype="monitor_distance">
53 <member id="reference_frame">target1</member>
54 <member id="frame">tool</member>
55 <member id="coordinates">y</member>
56 <member id="distances">0.03</member>
57 <member id="operator">absolute_greater</member>
58 </clone>
59 </member>
60
61 </clone>
62
63 <clone prototype="skill_cartesian_tracking">
64 <member id="tool_frame">tool</member>
65 <member id="target_frame">target1</member>
66
67 <!-- Quit after 1 cm -->
68 <member id="monitors">
69 <clone prototype="monitor_relative_distance">
70 <member id="reference_frame">target1</member>
71 <member id="frame">tool</member>
72 <member id="coordinates">y</member>
73 <member id="distances">0.01</member>
74 <member id="operator">absolute_greater</member>
75 </clone>
76 </member>
77
78 </clone>
79
80 <clone prototype="skill_cartesian_tracking">
81 <member id="tool_frame">tool</member>
82 <member id="target_frame">target2</member>
83
84 <!-- Quit when tool left the box around target1 -->
85 <member id="monitors">
86 <clone prototype="monitor_frame_in_box">
87 <member id="box_center_frame">target1</member>
88 <member id="frame">tool</member>
89 <member id="edge_length_xyz">0.05, 0.05, 0.05</member>
90 </clone>
91 </member>
92
93 </clone>
94
95 </member>
96
97 </clone>
98 </member>
99
100 </clone>
101
102</pitasc>