spherical_velocity.xml

This example application shows the usage of spherical skills

Models used

File contents

 1<?xml version="1.0" encoding="UTF-8"?>
 2
 3<!-- This example application shows the usage of spherical skills
 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.max_velocity">2.0</member>
24                <member id="robot_driver.max_acceleration">3.0</member>
25                <member id="components">
26                    <clone prototype="force_sensor">
27                        <member id="wrench_topic">wrench</member>
28                    </clone>
29                </member>
30            </clone>
31      </member>
32
33        <member id="applications">
34            <clone prototype="skill_sequence">
35
36                <!-- Use this robot for this skill and all its subskills -->
37                <member id="robot" reference_id="environment.robot_ur5"/>
38
39                <!-- Add skills -->
40                <member id="skills">
41
42                  <!-- move to start position -->
43                  <clone prototype="skill_spherical_positioning">
44                      <member id="tool_frame">tool</member>
45                      <member id="target_frame">start_position</member>
46                      <member id="target_offsets">0, 2.7, 0.1, -3.14, 0, 0</member>
47                      <!-- phi, theta, r, a, b, c -->
48                  </clone>
49
50                    <clone prototype="skill_concurrency">
51                        <member id="skills">
52                            <clone prototype="skill_spherical_velocity">
53                                <member id="target_frame">start_position</member>
54                                <member id="tool_frame">tool</member>
55                                <member id="axes">phi</member>
56                                <member id="velocities">0.5</member>
57                                <member id="monitors">
58                                    <clone id="phi_threshold" prototype="monitor_threshold">
59                                        <member id="provider" reference_id="hold.collections.target_to_tool.chains[0]"/>
60                                        <member id="coordinates">phi</member>
61                                        <member id="prefix" reference_id="hold.collections.target_to_tool.prefix"/>
62                                        <member id="operator">absolute_greater</member>
63                                        <member id="thresholds">3.0</member>  <!-- phi is periodic and jumps from pi to -pi (in some cases it might jump from +3.13 to -3.13) -->
64                                    </clone>
65                                </member>
66                            </clone>
67                            <clone id="hold" prototype="skill_spherical_tracking">
68                                <member id="tool_frame">tool</member>
69                                <member id="target_frame">start_position</member>
70                                <member id="axes">theta, r, a, b, c</member>
71                                <member id="target_offsets">2.7, 0.1, -3.14, 0, 0</member>
72                            </clone>
73                        </member>
74                    </clone>
75
76                </member>
77
78            </clone>
79        </member>
80
81    </clone>
82
83</pitasc>