forces_feedforward.xml

This example application shows the usage of a force skill with a feed-forward velocity. The robot moves in z direction with a fixed velocity and controls the reaction force in the same direction additionally,

Models used

File contents

 1<?xml version="1.0" encoding="UTF-8"?>
 2
 3<!-- This example application shows the usage of a force skill with a feed-forward velocity.
 4The robot moves in z direction with a fixed velocity and controls the reaction force in the same direction additionally,
 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 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">
48                        <member id="tool_frame">tool</member>
49                        <member id="target_frame">start_position</member>
50                    </clone>
51
52                    <!-- Moves along z with velocity 0.01 and controls the residual force-->
53                    <clone prototype="skill_concurrency">
54                        <member id="skills">
55                            <clone prototype="skill_apply_force">
56                                <member id="force_frame">start_position</member>
57                                <member id="axes">z</member>
58                                <member id="target_forces">10.0</member>
59                                <member id="ff_velocities">0.02</member>
60                                <member id="compliance">0.001</member>
61                            </clone>
62                            <clone id="hold" prototype="skill_hold_pose">
63                                <member id="tool_frame">tool</member>
64                            </clone>
65                        </member>
66                        <member id="monitors">
67                            <clone prototype="monitor_duration">
68                                <member id="duration">5.0</member>
69                            </clone>
70                        </member>
71                    </clone>
72
73                </member>
74
75            </clone>
76        </member>
77
78    </clone>
79
80</pitasc>