pitasc_library - skills/skill_force.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="skill_force" prototype="skill_single_robot">
 9            <meta>
10                <member id="description">Models a loop for force control</member>
11                <member id="categories">single_robot, force_controlled</member>
12                <member id="visibility">expert</member>
13            </meta>
14
15            <data>
16                <!-- Kinematics -->
17                <type id="force_frame" prototype="string_parameter">
18                    <meta>
19                        <member id="description">Frame describing the force coordinates</member>
20                        <member id="visibility">required</member>
21                    </meta>
22                </type>
23
24                <reference id="force_sensor" prototype="dictionary" reference_id="robot.components.force_sensor"/>
25                <member id="force_sensor.meta.description">Force sensor that provides the wrench measurement.</member>
26                <member id="force_sensor.meta.visibility">expert</member>
27
28                <!-- Implementation details below: -->
29
30                <member id="collections">
31                    <clone id="force_chain" prototype="force_relationship">
32                        <member id="chain_name">force_chain</member>
33                        <member id="wrench_driver" reference_id="force_sensor.wrench_driver"/>
34                        <member id="force_frame" reference_id="force_frame"/>
35                    </clone>
36                    <clone id="object_chains" prototype="collection">
37                        <member id="chains">
38                            <clone id="base_to_force_frame" prototype="observed_chain">
39                                <member id="chain_name">base_to_force_frame</member>
40                                <member id="control">False</member>
41                                <member id="from_frame" reference_id="robot.base_link"/>
42                                <member id="to_frame" reference_id="force_frame"/>
43                            </clone>
44                            <clone id="eef_to_force_frame" prototype="observed_chain">
45                                <member id="chain_name">eef_to_force_frame</member>
46                                <member id="control">False</member>
47                                <member id="from_frame" reference_id="robot.ee_link"/>
48                                <member id="to_frame" reference_id="force_frame"/>
49                            </clone>
50                        </member>
51                    </clone>
52                </member>
53                <member id="collections.meta.visibility">hidden</member>
54
55                <member id="loops">
56                    <clone prototype="kinematic_loop">
57                        <member id="loop_name">viaForce</member>
58                        <member id="robot_chains">
59                            <reference prototype="kinematic_chain_base" reference_id="robot.chains[0]"/>
60                            <reference prototype="kinematic_chain_base" reference_id="collections.object_chains.chains.eef_to_force_frame"/>
61                        </member>
62                        <member id="feature_chains">
63                            <reference prototype="kinematic_chain_base" reference_id="collections.object_chains.chains.base_to_force_frame"/>
64                            <reference prototype="kinematic_chain_base" reference_id="collections.force_chain.chains[0]"/>
65                        </member>
66                    </clone>
67                </member>
68                <member id="loops.meta.visibility">hidden</member>
69
70            </data>
71        </type>
72
73    </models>
74
75</pitasc>