dual_robot_forces.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="urdf_prefix">ur5_</member>
 32                <member id="components">
 33                    <clone prototype="force_sensor">
 34                        <member id="namespace">ur5</member>
 35                        <member id="wrench_topic">wrench</member>
 36                    </clone>
 37                </member>
 38            </clone>
 39            <clone id="ur3" prototype="robot_ur3">
 40                <member id="namespace">ur3</member>
 41                <member id="robot_driver.max_velocity">1.0</member>
 42                <member id="robot_driver.max_acceleration">2.0</member>
 43                <member id="urdf_prefix">ur3_</member>
 44                <member id="components">
 45                    <clone prototype="force_sensor">
 46                        <member id="namespace">ur3</member>
 47                        <member id="wrench_topic">wrench</member>
 48                    </clone>
 49                </member>
 50            </clone>
 51        </member>
 52
 53
 54        <member id="applications">
 55            <clone prototype="skill_sequence">
 56                <member id="robot" reference_id="environment.ur3"/>
 57
 58                <member id="skills">
 59                    <!-- move both robots sequentially -->
 60                    <clone prototype="skill_parallel">
 61                        <member id="robot" reference_id="environment.ur3"/>
 62                        <member id="skills">
 63                            <!-- Move ur3 to target 1 -->
 64                            <clone prototype="skill_lin">
 65                                <member id="tool_frame">ur3_tool0</member>
 66                                <member id="target_frame">world</member>
 67                                <member id="target_offsets">0,0,0.02,3.14,0,0</member>
 68                            </clone>
 69
 70                            <!-- Move ur5 to target 1 -->
 71                            <clone prototype="skill_lin">
 72                                <member id="robot" reference_id="environment.ur5"/>
 73                                <member id="tool_frame">ur5_tool0</member>
 74                                <member id="target_frame">world</member>
 75                                <member id="target_offsets">-0.1,0,0.02,3.14,0,0</member>
 76                            </clone>
 77
 78                        </member>
 79                    </clone>
 80
 81                    <clone prototype="skill_parallel">
 82                        <member id="robot" reference_id="environment.ur3"/>
 83                        <member id="skills">
 84                            <!-- Moves ur3 along z until it hits something-->
 85                            <clone prototype="skill_guarded_approach">
 86                                <member id="control_frame">ur3_tool0</member>
 87                                <member id="tool_frame">ur3_tool0</member>
 88                                <member id="axes">z</member>
 89                                <member id="velocities">0.01</member>
 90                                <member id="max_forces">10.0</member>
 91                            </clone>
 92
 93                            <!-- Moves ur5 along z until it hits something-->
 94                            <clone prototype="skill_guarded_approach">
 95                                <member id="robot" reference_id="environment.ur5"/>
 96                                <member id="control_frame">world</member>
 97                                <member id="tool_frame">ur5_tool0</member>
 98                                <member id="axes">z</member>
 99                                <member id="velocities">-0.01</member>
100                                <member id="max_forces">10.0</member>
101                            </clone>
102
103                        </member>
104                    </clone>
105
106                </member>
107
108            </clone>
109        </member>
110
111    </clone>
112
113</pitasc>