pitasc_library - skills/skill_joint_space_tracking.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_joint_space.xml"/>
 7
 8        <type id="skill_joint_space_tracking" prototype="skill_joint_space">
 9            <meta>
10                <member id="description">Keeps on tracking a joint configuration</member>
11            </meta>
12
13            <data>
14
15                <!-- Task description -->
16                <type id="joint_names" prototype="string_csv">
17                    <meta>
18                        <member id="description">Joint names of the target pose.</member>
19                        <member id="visibility">basic</member>
20                    </meta>
21                </type>
22                <member id="joint_names" reference_id="robot.joint_names"/>
23
24                <type id="target_joint_state" prototype="float_csv">
25                    <meta>
26                        <member id="description">Joint values of the target pose.</member>
27                        <member id="visibility">required</member>
28                    </meta>
29                </type>
30
31                <!-- Control -->
32                <type id="max_angular_velocity" prototype="float_parameter">
33                    <meta>
34                        <member id="description">Max angular velocity.</member>
35                        <member id="visibility">basic</member>
36                    </meta>
37                    <data>1.0</data>
38                </type>
39                <type id="angular_controller_gain" prototype="float_parameter">
40                    <meta>
41                        <member id="description">
42                            Specifies the approx. linear gain of the controller transfer function for the joint angles.
43                        </member>
44                        <member id="visibility">expert</member>
45                    </meta>
46                    <data>3.0</data>
47                </type>
48
49                <!-- Implementation details below: -->
50
51                <member id="tasks">
52                    <clone id="tracking" prototype="task">
53                        <member id="coordinates" reference_id="joint_names"/><!-- already prefixed -->
54
55                        <member id="setpoint_generators">
56                            <clone id="setpoint" prototype="constant_setpoint">
57                                <member id="desired" reference_id="target_joint_state"/>
58                                <member id="coordinates" reference_id="coordinates"/>
59                            </clone>
60                        </member>
61
62                        <member id="controllers">
63                            <clone prototype="p_controller">
64                                <member id="limit" reference_id="max_angular_velocity"/>
65                                <member id="gain" reference_id="angular_controller_gain"/>
66                                <member id="data_source">
67                                    <reference prototype="robot_driver" reference_id="robot.robot_driver"/>
68                                </member>
69                                <member id="setpoint_generator">
70                                    <reference reference_id="setpoint_generators.setpoint"/>
71                                </member>
72                                <member id="coordinates" reference_id="coordinates"/>
73                            </clone>
74                        </member>
75                    </clone>
76                </member>
77                <member id="tasks.meta.visibility">hidden</member>
78
79            </data>
80        </type>
81
82    </models>
83
84</pitasc>