simple_dual_robot.xml

This example application shows the usage of 2 robots in the same app (both sequentially and concurrently).

Models used

File contents

  1<?xml version="1.0" encoding="UTF-8"?>
  2
  3<!-- This example application shows the usage of 2 robots in the same app
  4(both sequentially and concurrently).
  5-->
  6
  7
  8<pitasc>
  9
 10    <models>
 11
 12        <include package="pitasc_library" file="models/pitasc.xml"/>
 13        <include package="pitasc_library" file="models/skills.xml"/>
 14
 15        <include package="pitasc_library" file="universal_robots/ur.xml"/>
 16    </models>
 17
 18
 19    <!-- Create an application -->
 20    <clone prototype="project">
 21
 22        <member id="configuration">
 23            <clone id="configuration" prototype="default_configuration"/>
 24        </member>
 25
 26        <member id="environment">
 27            <clone id="ur5" prototype="robot_ur5">
 28                <member id="namespace">ur5</member>
 29                <member id="robot_driver.max_velocity">1.0</member>
 30                <member id="robot_driver.max_acceleration">2.0</member>
 31                <member id="robot_driver.send_velocities_if_inactive">True</member>  <!-- set to true to keep sending zero velocities if the robot is not used in a skill -->
 32                <member id="urdf_prefix">ur5_</member>
 33            </clone>
 34            <clone id="ur3" prototype="robot_ur3">
 35                <member id="namespace">ur3</member>
 36                <member id="robot_driver">
 37                    <member id="max_velocity">1.0</member>
 38                    <member id="max_acceleration">2.0</member>
 39                    <member id="send_velocities_if_inactive">True</member>  <!-- set to true to keep sending zero velocities if the robot is not used in a skill -->
 40                </member>
 41                <member id="urdf_prefix">ur3_</member>
 42            </clone>
 43        </member>
 44
 45
 46        <member id="applications">
 47            <clone prototype="skill_sequence">
 48                <member id="robot" reference_id="environment.ur3"/>
 49
 50                <member id="skills">
 51                <!-- move both robots sequentially -->
 52                    <clone prototype="skill_sequence">
 53                        <member id="robot" reference_id="environment.ur3"/>
 54                        <member id="skills">
 55                            <!-- Move ur3 to target 1 -->
 56                            <clone prototype="skill_lin">
 57                                <member id="tool_frame">ur3_tool0</member>
 58                                <member id="target_frame">target1</member>
 59                                <member id="target_offsets">0.1,0,0,0,0,0</member>
 60                            </clone>
 61
 62                            <!-- Move ur5 to target 1 -->
 63                            <clone prototype="skill_lin">
 64                                <member id="robot" reference_id="environment.ur5"/>
 65                                <member id="tool_frame">ur5_tool</member>
 66                                <member id="target_frame">target1</member>
 67                                <member id="target_offsets">-0.1,0,0,0,0,0</member>
 68                            </clone>
 69
 70                            <!-- Move ur3 to target 2 -->
 71                            <clone prototype="skill_lin">
 72                                <member id="tool_frame">ur3_tool0</member>
 73                                <member id="target_frame">target2</member>
 74                                <member id="target_offsets">0.1,0,0,0,0,0</member>
 75                            </clone>
 76
 77                            <!-- Move ur5 to target 2 -->
 78                            <clone prototype="skill_lin">
 79                                <member id="robot" reference_id="environment.ur5"/>
 80                                <member id="tool_frame">ur5_tool</member>
 81                                <member id="target_frame">target2</member>
 82                                <member id="target_offsets">-0.1,0,0,0,0,0</member>
 83                            </clone>
 84                        </member>
 85                    </clone>
 86
 87                    <!-- move both robots concurrently -->
 88                    <clone prototype="skill_concurrency">
 89                        <member id="robot" reference_id="environment.ur3"/>
 90                        <member id="skills">
 91                            <!-- Move ur3 to target 1 -->
 92                            <clone prototype="skill_sequence">
 93                                <member id="skills">
 94                                    <clone prototype="skill_lin">
 95                                        <member id="tool_frame">ur3_tool0</member>
 96                                        <member id="target_frame">target1</member>
 97                                        <member id="target_offsets">0.1,0,0,0,0,0</member>
 98                                    </clone>
 99                                </member>
100                            </clone>
101
102                            <!-- Move ur5 to target 1 -->
103                            <clone prototype="skill_sequence">
104                                <member id="skills">
105                                    <clone prototype="skill_lin">
106                                        <member id="robot" reference_id="environment.ur5"/>
107                                        <member id="tool_frame">ur5_tool</member>
108                                        <member id="target_frame">target1</member>
109                                        <member id="target_offsets">-0.1,0,0,0,0,0</member>
110                                    </clone>
111                                </member>
112                            </clone>
113
114                        </member>
115                    </clone>
116
117                </member>
118
119            </clone>
120        </member>
121
122    </clone>
123
124</pitasc>