dual_robot_forces.xml
This example application shows the usage of 2 robots in the same app (both sequentially and concurrently).
Models used
skill_guarded_approach: lines 85, 94
skill_lin: lines 64, 71
skill_parallel: lines 60, 81
skill_sequence: lines 55
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>