skill_statechart.xml
This example application shows the usage of a group skill.
Runs a statemachine with: move0 -> move1 -> move3 -> move2
Models used
skill_lin: lines 57, 73, 89
skill_ptp: lines 42
skill_statechart: lines 31
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!-- This example application shows the usage of a group skill.
4
5Runs a statemachine with: move0 -> move1 -> move3 -> move2
6-->
7
8<pitasc>
9
10 <models>
11 <include package="pitasc_library" file="models/pitasc.xml"/>
12 <include package="pitasc_library" file="models/skills.xml"/>
13
14 <include package="pitasc_library" file="universal_robots/ur.xml"/>
15 </models>
16
17 <clone prototype="project">
18
19 <member id="configuration">
20 <clone id="configuration" prototype="default_configuration"/>
21 </member>
22
23 <member id="environment">
24 <clone prototype="robot_ur5">
25 <member id="robot_driver.max_velocity">2.0</member>
26 <member id="robot_driver.max_acceleration">3.0</member>
27 </clone>
28 </member>
29
30 <member id="applications">
31 <clone prototype="skill_statechart">
32
33 <member id="robot" reference_id="environment.robot_ur5"/>
34
35 <!-- Optionally: set the name of the first skill to execute (otherwise the first in the list will be taken) -->
36 <member id="initial_skill">move0</member>
37
38 <!-- Add skills -->
39 <member id="skills">
40
41 <!-- Move ptp -->
42 <clone prototype="skill_ptp">
43 <member id="skill_name">move0</member>
44
45 <member id="target_joint_state">0, -1.57, 1.57, 0, -1.57, -1.57</member>
46
47 <!-- Specify the next skill to execute -->
48 <member id="transitions">
49 <clone prototype="transition">
50 <member id="event">succeeded</member>
51 <member id="target">move1</member>
52 </clone>
53 </member>
54 </clone>
55
56 <!-- Move to target1 -->
57 <clone prototype="skill_lin">
58 <member id="skill_name">move1</member>
59
60 <member id="tool_frame">tool</member>
61 <member id="target_frame">target1</member>
62
63 <!-- Specify the next skill to execute -->
64 <member id="transitions">
65 <clone prototype="transition">
66 <member id="event">succeeded</member>
67 <member id="target">move3</member>
68 </clone>
69 </member>
70 </clone>
71
72 <!-- Move to target2 (will be run after move3) -->
73 <clone prototype="skill_lin">
74 <member id="skill_name">move2</member>
75
76 <member id="tool_frame">tool</member>
77 <member id="target_frame">target2</member>
78
79 <!-- Specify the next skill to execute -->
80 <member id="transitions">
81 <clone prototype="transition">
82 <member id="event">succeeded</member>
83 <member id="target">succeeded</member>
84 </clone>
85 </member>
86 </clone>
87
88 <!-- Move to target3 -->
89 <clone prototype="skill_lin">
90 <member id="skill_name">move3</member>
91
92 <member id="tool_frame">tool</member>
93 <member id="target_frame">target3</member>
94
95 <!-- Specify the next skill to execute -->
96 <member id="transitions">
97 <clone prototype="transition">
98 <member id="event">succeeded</member>
99 <member id="target">move2</member>
100 </clone>
101 </member>
102 </clone>
103
104 </member>
105
106 </clone>
107 </member>
108
109 </clone>
110
111</pitasc>