pitasc_library - skills/skill_cartesian_velocity.xml

Model definitions

File contents

 1<?xml version="1.0" encoding="UTF-8"?>
 2
 3<pitasc>
 4
 5    <models>
 6        <include package="pitasc_library" file="skills/skill_cartesian.xml"/>
 7
 8        <type id="skill_cartesian_velocity" prototype="skill_cartesian">
 9            <meta>
10                <member id="description">Track a desired velocity of tool_frame w.r.t. target_frame.
11
12                For Translation, target_frame specifies the translation axes. For Rotation, tool_frame specifies the pivot point. Specifying the rotation axes with target_frame does not fully work (see #356)
13                </member>
14                <member id="categories">single_robot, velocity_controlled</member>
15            </meta>
16
17            <data>
18                <!-- Task description -->
19                <type id="axes" prototype="string_csv">
20                    <meta>
21                        <member id="description">List of axes to apply velocities.</member>
22                        <member id="visibility">required</member>
23                        <clone prototype="restrictions">
24                            <clone prototype="enum">x, y, z, a, b, c</clone>
25                        </clone>
26                    </meta>
27                    <data>x, y, z, a, b, c</data>
28                </type>
29
30                <type id="velocities" prototype="float_csv">
31                    <meta>
32                        <member id="description">Velocities in [m/s] or [rad/s].</member>
33                        <member id="visibility">required</member>
34                    </meta>
35                    <data>0, 0, 0, 0, 0, 0</data>
36                </type>
37
38                <type id="velocity_frame" prototype="frame">
39                    <meta>
40                        <member id="description">Defines in which direction the robot will move.</member>
41                        <member id="visibility">required</member>
42                    </meta>
43                </type>
44
45                <!-- Implementation details below: -->
46
47                <member id="target_frame" reference_id="velocity_frame" />
48                <member id="target_frame.meta.visibility">hidden</member>
49
50
51                <member id="tasks">
52                    <clone id="velocity_feedforward" prototype="task">
53                        <member id="coordinates" reference_id="axes"/>
54                        <member id="prefix" reference_id="collections.target_to_tool.prefix"/>
55
56                        <member id="setpoint_generators">
57                            <clone id="setpoint" prototype="constant_setpoint">
58                                <member id="desired" reference_id="velocities"/>
59                                <member id="coordinates" reference_id="coordinates"/>
60                                <member id="prefix" reference_id="prefix"/>
61                            </clone>
62                        </member>
63
64                        <member id="controllers">
65                            <clone prototype="velocity_controller">
66                                <member id="data_source">
67                                    <reference reference_id="collections.target_to_tool.chains[0]"/>
68                                </member>
69                                <member id="setpoint_generator">
70                                    <reference id="generator" reference_id="setpoint_generators.setpoint"/>
71                                </member>
72                                <member id="coordinates" reference_id="axes"/>
73                                <member id="prefix" reference_id="prefix"/>
74                            </clone>
75                        </member>
76                    </clone>
77                </member>
78                <member id="tasks.meta.visibility">hidden</member>
79
80            </data>
81        </type>
82
83    </models>
84
85</pitasc>