frames_from_yaml_rosless.xml
This example application shows how to load frames from a yaml file to use with pitasc
Models used
monitor_duration: lines 101, 151, 198
script_set_frames_from_yaml: lines 48, 66
skill_guarded_approach: lines 81
skill_guarded_lin: lines 166
skill_guarded_slide: lines 135
skill_idle_duration: lines 63
skill_insert: lines 184
skill_lin: lines 74, 159, 214
skill_push: lines 91
skill_push_duration: lines 108
skill_push_settle: lines 120
skill_relative_ptp: lines 59
skill_sequence: lines 44
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!-- This example application shows how to load frames from a yaml file to use with pitasc
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">
24 <clone prototype="simple_robot_driver">
25 <member id="joint_names" reference_id="joint_names" />
26 <member id="urdf_package">pitasc_common</member>
27 <member id="urdf_file">urdf/ur5e.urdf</member>
28 <!-- <member id="urdf_file">urdf/ur5_rosless.urdf</member> -->
29 <member id="max_velocity">2.0</member>
30 <member id="max_acceleration">3.0</member>
31 </clone>
32 </member>
33 <member id="components">
34 <clone id="force_sensor" prototype="force_sensor_base">
35 <clone id="wrench_driver" prototype="simple_wrench_driver">
36 <member id="sensor_frame">tool0</member>
37 </clone>
38 </clone>
39 </member>
40 </clone>
41 </member>
42
43 <member id="applications">
44 <clone prototype="skill_sequence">
45
46 <member id="robot" reference_id="environment.robot" />
47 <!-- <member id="scripts">
48 <clone prototype="script_set_frames_from_yaml">
49 <member id="package">pitasc_common</member>
50 <member id="path_to_yaml">etc/frames.yaml</member>
51 <member id="tf_broadcast">false</member>
52 </clone>
53 </member> -->
54
55 <!-- Skills -->
56 <member id="skills">
57
58 <!-- First move to start position -->
59 <clone prototype="skill_relative_ptp">
60 <member id="relative_joint_state">0, 0, 0, -0.01, 0, 0</member>
61 </clone>
62
63 <clone prototype="skill_idle_duration">
64 <member id="duration">2.0</member>
65 <member id="scripts">
66 <clone prototype="script_set_frames_from_yaml">
67 <member id="package">pitasc_common</member>
68 <member id="path_to_yaml">etc/frames.yaml</member>
69 <member id="tf_broadcast">false</member>
70 </clone>
71 </member>
72 </clone>
73
74 <clone prototype="skill_lin">
75 <member id="tool_frame">tool0</member>
76 <member id="target_frame">start_position</member>
77 </clone>
78
79 <!-- Moves along z until it hits something-->
80 <clone
81 prototype="skill_guarded_approach">
82 <member id="control_frame">start_position</member>
83 <member id="tool_frame">tool0</member>
84 <member id="axes">z</member>
85 <member id="velocities">0.02</member>
86 <member id="max_forces">10.0</member>
87 </clone>
88
89 <!-- Pushes in z direction -->
90 <clone
91 prototype="skill_push">
92 <member id="tool_frame">tool0</member>
93 <member id="force_frame">start_position</member>
94 <member id="axes">z</member>
95 <member id="target_forces">7</member>
96 <member id="compliance">0.0005</member>
97 <member id="corner_frequency">7</member>
98
99 <!-- transition -->
100 <member id="monitors">
101 <clone prototype="monitor_duration">
102 <member id="duration">1.0</member>
103 </clone>
104 </member>
105 </clone>
106
107 <clone
108 prototype="skill_push_duration">
109 <member id="tool_frame">tool0</member>
110 <member id="force_frame">start_position</member>
111 <member id="axes">z</member>
112 <member id="target_forces">30</member>
113 <member id="compliance">0.0005</member>
114 <member id="corner_frequency">7</member>
115
116 <member id="duration">1</member>
117 </clone>
118
119 <clone
120 prototype="skill_push_settle">
121 <member id="tool_frame">tool0</member>
122 <member id="force_frame">start_position</member>
123 <member id="axes">z</member>
124 <member id="target_forces">5</member>
125 <member id="compliance">0.0005</member>
126 <member id="corner_frequency">7</member>
127
128 <member id="thresholds">1.0</member>
129 <member id="samples">25</member>
130 </clone>
131
132 <!-- Position, velocity AND force control! -->
133 <!-- Move in y, push in z and keep the rest -->
134 <clone
135 prototype="skill_guarded_slide">
136 <member id="tool_frame">tool0</member>
137 <member id="control_frame">start_position</member>
138
139 <!-- moving -->
140 <member id="move_axes">y</member>
141 <member id="velocities">0.02</member>
142
143 <!-- pushing -->
144 <member id="force_axes">z</member>
145 <member id="target_forces">5.0</member>
146
147 <member id="max_forces">10</member>
148
149 <!-- transition -->
150 <member id="monitors">
151 <clone prototype="monitor_duration">
152 <member id="duration">3.0</member>
153 </clone>
154 </member>
155 </clone>
156
157 <!-- Back to start position -->
158 <clone
159 prototype="skill_lin">
160 <member id="tool_frame">tool0</member>
161 <member id="target_frame">start_position</member>
162 </clone>
163
164 <!-- Guarded lin -->
165 <clone
166 prototype="skill_guarded_lin">
167 <member id="tool_frame">tool0</member>
168 <member id="target_frame">start_position</member>
169 <member id="target_offsets">0, 0, 0.1, 0, 0, 0</member>
170 <member id="max_forces">5.0</member>
171 <member id="monitor_axes">z</member>
172 <member id="max_linear_velocity">0.02</member>
173
174 <!-- Raises an exception when a force occurs -->
175 <member id="transitions">
176 <clone prototype="transition">
177 <member id="event">exception</member>
178 <member id="target">back</member>
179 </clone>
180 </member>
181 </clone>
182
183 <clone
184 prototype="skill_insert">
185 <member id="tool_frame">tool0</member>
186 <member id="target_frame">marker</member>
187
188 <member id="force_axes">x, y, z</member>
189
190 <member id="track_axes">a,b,c</member>
191 <member id="track_offsets">0,0,0</member>
192
193 <member id="target_forces">0, 0, 18</member>
194 <member id="compliance">0.001</member>
195 <member id="corner_frequency">7</member>
196
197 <member id="monitors">
198 <clone prototype="monitor_duration">
199 <member id="duration">1.0</member>
200 <!-- <member id="event">succeded</member> -->
201 </clone>
202 <!-- <clone prototype="monitor_distance">
203 <member id="reference_frame">start_position</member>
204 <member id="frame">tool0</member>
205 <member id="coordinates">x</member>
206 <member id="distances">0.01</member>
207 <member id="operator">greater</member>
208 </clone> -->
209 </member>
210 </clone>
211
212 <!-- Back to start position -->
213 <clone
214 id="back" prototype="skill_lin">
215 <member id="tool_frame">tool0</member>
216 <member id="target_frame">start_position</member>
217 </clone>
218
219 </member>
220
221 </clone>
222 </member>
223
224 </clone>
225
226</pitasc>