spherical_velocity.xml
This example application shows the usage of spherical skills
Models used
monitor_threshold: lines 58
skill_concurrency: lines 50
skill_sequence: lines 34
skill_spherical_positioning: lines 43
skill_spherical_tracking: lines 67
skill_spherical_velocity: lines 52
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>