ruckig_guarded_lin.xml

This example application shows the usage of a guarded_lin skill with ruckig and force sensor supervision.

Models used

File contents

 1<?xml version="1.0" encoding="UTF-8"?>
 2
 3<!-- This example application shows the usage of a guarded_lin skill with ruckig and force sensor
 4supervision.
 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                <member id="components">
27                    <clone prototype="force_sensor">
28                        <member id="wrench_topic">wrench</member>
29                    </clone>
30                </member>
31            </clone>
32        </member>
33
34        <member id="applications">
35            <clone id="simple_forces" prototype="skill_sequence">
36
37                <member id="robot" reference_id="environment.robot_ur5" />
38
39                <!-- Skills -->
40                <member id="skills">
41
42                    <!-- First move to start position -->
43                    <clone prototype="skill_relative_ptp">
44                        <member id="relative_joint_state">0, 0, 0, -0.01, 0, 0</member>
45                    </clone>
46
47                    <clone prototype="skill_lin_time_optimal_ruckig">
48                        <member id="tool_frame">tool</member>
49                        <member id="target_frame">start_position</member>
50                    </clone>
51
52                    <!-- Guarded lin with ruckig -->
53                    <clone prototype="skill_guarded_lin_ruckig">
54                        <member id="tool_frame">tool</member>
55                        <member id="target_frame">start_position</member>
56                        <member id="target_offsets">0, 0, 0.1, 0, 0, 0</member>
57                        <member id="max_forces">5.0</member>
58                        <member id="monitor_axes">z</member>
59                        <member id="max_linear_velocity">0.02</member>
60                        <member id="event">exception</member>
61
62                        <!-- Raises an even "exception" when a force occurs, which then transfers
63                        the state-machine to the skill "back" -->
64                        <member id="transitions">
65                            <clone prototype="transition">
66                                <member id="event">exception</member>
67                                <member id="target">back</member>
68                            </clone>
69                        </member>
70                    </clone>
71
72                    <clone prototype="skill_lin_time_optimal_ruckig">
73                        <member id="tool_frame">tool</member>
74                        <member id="target_frame">start_position</member>
75                        <member id="target_offsets">0, 0, -0.1, 0, 0, 0</member>
76                    </clone>
77
78                    <clone id="back" prototype="skill_lin_time_optimal_ruckig">
79                        <member id="tool_frame">tool</member>
80                        <member id="target_frame">start_position</member>
81                    </clone>
82
83
84                </member>
85
86            </clone>
87
88        </member>
89
90    </clone>
91
92</pitasc>