pitasc_library - skills/skill_ptp_trajectory.xml
Model definitions
line 8: skill_ptp_trajectory
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>