skill_statechart.xml

This example application shows the usage of a group skill.

Runs a statemachine with: move0 -> move1 -> move3 -> move2

Models used

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>