pitasc_library - skills/loop_target.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="models/pitasc.xml"/>
 7
 8        <type id="loop_target" prototype="skill_single_robot">
 9            <meta>
10                <member id="description">Models a loop via tool frame and target frame</member>
11                <member id="categories">single_robot, position_controlled</member>
12                <member id="visibility">expert</member>
13            </meta>
14
15            <data>
16                <!-- Kinematics -->
17                <type id="tool_frame" prototype="frame">
18                    <meta>
19                        <member id="description">Name of the tool frame</member>
20                        <member id="visibility">required</member>
21                    </meta>
22                </type>
23
24                <type id="target_frame" prototype="frame">
25                    <meta>
26                        <member id="description">Name of the target frame</member>
27                        <member id="visibility">required</member>
28                    </meta>
29                </type>
30
31                <!-- Implementation details below: -->
32
33                <member id="collections">
34                    <clone prototype="collection">
35                        <member id="chains">
36                            <clone id="eef_to_tool" prototype="observed_chain">
37                                <member id="chain_name">eef_to_tool</member>
38                                <member id="control">False</member>
39                                <member id="from_frame" reference_id="robot.ee_link"/>
40                                <member id="to_frame" reference_id="tool_frame"/>
41                            </clone>
42                            <clone id="base_to_target" prototype="observed_chain">
43                                <member id="chain_name">base_to_target</member>
44                                <member id="control">False</member>
45                                <member id="from_frame" reference_id="robot.base_link"/>
46                                <member id="to_frame" reference_id="target_frame"/>
47                            </clone>
48                        </member>
49                    </clone>
50                </member>
51
52                <member id="loops">
53                    <clone prototype="kinematic_loop">
54                        <member id="loop_name">via_target</member>
55                        <member id="robot_chains">
56                            <reference prototype="kinematic_chain_base" reference_id="robot.chains[0]"/>
57                            <reference prototype="kinematic_chain_base" reference_id="collections.collection.chains.eef_to_tool"/>
58                        </member>
59                        <member id="feature_chains">
60                            <reference prototype="kinematic_chain_base" reference_id="collections.collection.chains.base_to_target"/>
61                            <reference prototype="kinematic_chain_base" reference_id="collections.target_to_tool.chains[0]"/>
62                        </member>
63                    </clone>
64                </member>
65                <member id="loops.meta.visibility">hidden</member>
66
67            </data>
68        </type>
69
70    </models>
71
72</pitasc>