pitasc_library - skills/skill_ptp_trajectory.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_ptp_trajectory" 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="waypoints" data_type="list:ptp_trajectory_waypoint" prototype="base">
 25                    <meta>
 26                        <member id="description">List of joint_trajectory_waypoint to move through with blending</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="max_angular_acceleration" prototype="float_parameter">
 40                    <meta>
 41                        <member id="description">Max angular velocity.</member>
 42                        <member id="visibility">basic</member>
 43                    </meta>
 44                    <data>1.0</data>
 45                </type>
 46                <type id="angular_controller_gain" prototype="float_parameter">
 47                    <meta>
 48                        <member id="description">
 49                            Specifies the approx. linear gain of the controller transfer function for the joint angles.
 50                        </member>
 51                        <member id="visibility">expert</member>
 52                    </meta>
 53                    <data>3.0</data>
 54                </type>
 55                <type id="angular_ff_controller_gain" prototype="float_parameter">
 56                    <meta>
 57                        <member id="description">Specifies the velocity feed-forward gain of the controller</member>
 58                    </meta>
 59                    <data>0.8</data>
 60                </type>
 61
 62                <type id="thresholds" prototype="float_csv">
 63                    <meta>
 64                        <member id="description">Joint value thresholds. One entry for all or one entry for each joint.</member>
 65                        <member id="visibility">basic</member>
 66                    </meta>
 67                    <data>0.005</data>
 68                </type>
 69
 70                <!-- Implementation details below: -->
 71
 72                <type id="positioning_monitor" prototype="monitor_ptp_distance">
 73                    <meta>
 74                        <member id="description">Checks whether the target joint state has been reached</member>
 75                        <member id="visibility">expert</member>
 76                    </meta>
 77                    <data>
 78                        <member id="robot_driver" reference_id="robot.robot_driver"/>
 79                        <member id="coordinates" reference_id="tasks.tracking.coordinates"/>
 80                        <member id="distances" reference_id="thresholds"/>
 81                        <member id="target_joint_states" reference_id="waypoints[-1].target_joint_state" />
 82                        <member id="operator">absolute_less_equal</member>
 83                    </data>
 84                </type>
 85
 86                <member id="monitors">
 87                    <reference reference_id="positioning_monitor"/>
 88                </member>
 89
 90                <member id="tasks">
 91                    <clone id="tracking" prototype="task">
 92                        <member id="coordinates" reference_id="joint_names"/>
 93                        <!-- already prefixed -->
 94
 95                        <member id="setpoint_generators">
 96                            <clone id="setpoint" prototype="ptp_blending_setpoint">
 97                                <member id="data_source">
 98                                    <reference prototype="robot_driver" reference_id="robot.robot_driver"/>
 99                                </member>
100                                <member id="coordinates" reference_id="coordinates"/>
101
102                                <member id="max_joint_vel" reference_id="max_angular_velocity"/>
103                                <member id="max_joint_acc" reference_id="max_angular_acceleration"/>
104
105                                <member id="waypoints" reference_id="waypoints"/>
106
107                            </clone>
108                        </member>
109
110                        <member id="controllers">
111                            <clone prototype="trajectory_p_controller">
112                                <!-- <member id="max_output" reference_id="max_linear_velocity"/>-->
113                                <member id="gain" reference_id="angular_controller_gain"/>
114                                <member id="limit" reference_id="robot.robot_driver.max_velocity" />
115                                <member id="ff_gain" reference_id="angular_ff_controller_gain"/>
116                                <member id="data_source">
117                                    <reference prototype="robot_driver" reference_id="robot.robot_driver"/>
118                                </member>
119                                <member id="setpoint_generator">
120                                    <reference reference_id="setpoint_generators.setpoint"/>
121                                </member>
122                                <member id="coordinates" reference_id="coordinates"/>
123                            </clone>
124                        </member>
125                    </clone>
126                </member>
127                <member id="tasks.meta.visibility">hidden</member>
128
129            </data>
130        </type>
131
132    </models>
133
134</pitasc>