You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/release_notes.rst
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,6 +52,7 @@ joint_trajectory_controller
52
52
allowed to move without restriction.
53
53
54
54
* Add the boolean parameter ``set_last_command_interface_value_as_state_on_activation``. When set to ``true``, the last command interface value is used as both the current state and the last commanded state upon activation. When set to ``false``, the current state is used for both (`#1231 <https://github.com/ros-controls/ros2_controllers/pull/1231>`_).
55
+
* Feed-forward effort trajectories are supported now (`#1200 <https://github.com/ros-controls/ros2_controllers/pull/1200>`_).
55
56
* Parameter ``open_loop_control`` is replaced by ``interpolate_from_desired_state`` and setting the feedback gains to zero (`#1525 <https://github.com/ros-controls/ros2_controllers/pull/1525>`_).
Copy file name to clipboardExpand all lines: joint_trajectory_controller/doc/trajectory.rst
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,6 +49,8 @@ The spline interpolator uses the following interpolation strategies depending on
49
49
50
50
Trajectories with velocity fields only, velocity and acceleration only, or acceleration fields only can be processed and are accepted, if ``allow_integration_in_goal_trajectories`` is true. Position (and velocity) is then integrated from velocity (or acceleration, respectively) by Heun's method.
51
51
52
+
Effort trajectories are allowed for controllers that claim the ``effort`` command interface and they are treated as feed-forward effort that is added to the position feedback. Effort is handled separately from position, velocity and acceleration. We use linear interpolation for effort when the ``spline`` interpolation method is selected.
53
+
52
54
Visualized Examples
53
55
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54
56
To visualize the difference of the different interpolation methods and their inputs, different trajectories defined at a 0.5s grid and are sampled at a rate of 10ms.
This means that the joints can have one or more command interfaces, where the following control laws are applied at the same time:
29
30
30
31
* For command interfaces ``position``, the desired positions are simply forwarded to the joints,
31
32
* For command interfaces ``acceleration``, desired accelerations are simply forwarded to the joints.
32
33
* For ``velocity`` (``effort``) command interfaces, the position+velocity trajectory following error is mapped to ``velocity`` (``effort``) commands through a PID loop if it is configured (:ref:`parameters`).
34
+
* For ``effort`` command interface (without ``position`` command interface), if the trajectory contains effort, this will be added to the PID commands as a feed forward effort.
35
+
* For ``position, effort`` command interface, if the trajectory contains effort, this will be passed directly to the ``effort`` interface (PID won't be used) while the positions will be passed to the ``position`` interface.
33
36
34
37
This leads to the following allowed combinations of command and state interfaces:
35
38
@@ -38,7 +41,7 @@ This leads to the following allowed combinations of command and state interfaces
38
41
39
42
* if command interface ``velocity`` is the only one, state interfaces must include ``position, velocity`` .
40
43
41
-
* With command interface ``effort``, state interfaces must include ``position, velocity``.
44
+
* With command interface ``effort`` or ``position, effort``, state interfaces must include ``position, velocity``.
42
45
43
46
* With command interface ``acceleration``, state interfaces must include ``position, velocity``.
0 commit comments