frames_from_yaml_rosless.xml

This example application shows how to load frames from a yaml file to use with pitasc

Models used

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>