transitions.xml

This example application shows the usage of a skill sequence. ptp -> lin -> idle -> approach

Models used

File contents

  1<?xml version="1.0" encoding="UTF-8"?>
  2
  3<!-- This example application shows the usage of a skill sequence.
  4ptp -> lin -> idle -> approach
  5-->
  6
  7<pitasc>
  8
  9    <models>
 10        <include package="pitasc_library" file="models/pitasc.xml"/>
 11        <include package="pitasc_library" file="models/skills.xml"/>
 12
 13        <include package="pitasc_library" file="universal_robots/ur.xml"/>
 14    </models>
 15
 16    <clone prototype="project">
 17
 18        <member id="configuration">
 19            <clone id="configuration" prototype="default_configuration"/>
 20        </member>
 21
 22        <member id="environment">
 23            <clone prototype="robot_ur5">
 24                <member id="robot_driver.max_velocity">2.0</member>
 25                <member id="robot_driver.max_acceleration">3.0</member>
 26            </clone>
 27        </member>
 28
 29        <member id="applications">
 30            <clone prototype="skill_sequence">
 31
 32                <!-- Use this robot for this skill and all its subskills -->
 33                <member id="robot" reference_id="environment.robot_ur5"/>
 34
 35                <!-- Add skills -->
 36                <member id="skills">
 37
 38                    <clone prototype="skill_lin">
 39                        <member id="tool_frame">tool</member>
 40                        <member id="target_frame">target1</member>
 41                    </clone>
 42
 43                    <clone prototype="skill_sequence">
 44                        <member id="skills">
 45                            <clone prototype="skill_sequence">
 46                                <member id="skills">
 47                                    <clone prototype="skill_lin">
 48                                        <member id="tool_frame">tool</member>
 49                                        <member id="target_frame">target2</member>
 50                                        <member id="positioning_monitor.event">custom_event</member>
 51                                    </clone>
 52
 53                                    <clone id="should_not_be_executed" prototype="skill_lin">
 54                                        <member id="tool_frame">tool</member>
 55                                        <member id="target_frame">target3</member>
 56                                    </clone>
 57                                </member>
 58                            </clone>
 59
 60                            <clone id="should_not_be_executed" prototype="skill_lin">
 61                                <member id="tool_frame">tool</member>
 62                                <member id="target_frame">target3</member>
 63                            </clone>
 64                        </member>
 65                        <member id="transitions">
 66                            <clone prototype="transition">
 67                                <member id="event">custom_event</member>
 68                                <member id="target">should_be_executed</member>
 69                            </clone>
 70                        </member>
 71                    </clone>
 72
 73                    <clone id="should_be_executed" prototype="skill_lin">
 74                        <member id="tool_frame">tool</member>
 75                        <member id="target_frame">target1</member>
 76                    </clone>
 77
 78                    <clone prototype="skill_sequence">
 79                        <member id="skills">
 80                            <clone prototype="skill_sequence">
 81                                <member id="skills">
 82                                    <clone prototype="skill_lin">
 83                                        <member id="tool_frame">tool</member>
 84                                        <member id="target_frame">target2</member>
 85                                        <member id="transitions">
 86                                            <clone prototype="transition">
 87                                                <member id="event">succeeded</member>
 88                                                <member id="target">succeeded</member>
 89                                            </clone>
 90                                        </member>
 91                                    </clone>
 92
 93                                    <clone id="should_not_be_executed" prototype="skill_lin">
 94                                        <member id="tool_frame">tool</member>
 95                                        <member id="target_frame">target3</member>
 96                                    </clone>
 97                                </member>
 98                            </clone>
 99
100                            <clone id="should_be_executed" prototype="skill_lin">
101                                <member id="tool_frame">tool</member>
102                                <member id="target_frame">target1</member>
103                            </clone>
104                        </member>
105                    </clone>
106
107                    <!-- Idle for 1 second -->
108                    <clone prototype="skill_idle_duration">
109                        <member id="duration">1.0</member>
110                    </clone>
111
112                </member>
113
114            </clone>
115        </member>
116
117    </clone>
118
119</pitasc>