-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* add basic CI tests (#26) * add example configs * test load * rename test src files * refractor existing tests * fix jazzy-specific problem when instanciating th ctrl manager * add ft_sensor in URDF * fix ft_sensor frame * update mandatory parameters list * make vic plugin desc. param mandatory * fix tests (basic tests only...) * linting * fix "ft_sensor:is_enabled" param issues * source in CI before test * add dynamics_interface_kdl to pkg XML (cherry picked from commit f8fccc4) * Update test_load_controller.cpp for humble compatibility * Update test_cartesian_vic_controller.hpp for humble compatibility --------- Co-authored-by: Thibault Poignonec <[email protected]>
- Loading branch information
1 parent
397ea45
commit 04dd1d4
Showing
10 changed files
with
336 additions
and
173 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
116 changes: 116 additions & 0 deletions
116
cartesian_vic_controller/config/example_impedance_controller_config.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
cartesian_impedance_controller: | ||
ros__parameters: | ||
command_interfaces: | ||
- force | ||
state_interfaces: | ||
- position | ||
- velocity | ||
joints: | ||
- joint_a1 | ||
- joint_a2 | ||
- joint_a3 | ||
- joint_a4 | ||
- joint_a5 | ||
- joint_a6 | ||
- joint_a7 | ||
|
||
# Parameters for the controller | ||
# Note: having ".0" at the end of float is a MUST, otherwise there is a loading error | ||
|
||
filters: | ||
state_position_filter_cuttoff_freq: -1.0 | ||
state_velocity_filter_cuttoff_freq: 100.0 | ||
command_filter_cuttoff_freq: -1.0 | ||
ft_sensor_filter_cuttoff_freq: 30.0 | ||
|
||
dynamics: | ||
plugin_name: dynamics_interface_kdl/DynamicsInterfaceKDL | ||
plugin_package: dynamics_interface | ||
base: iiwa_base # Assumed to be stationary | ||
tip: interaction_point | ||
alpha: 0.0005 | ||
gravity: [0.0, 0.0, -9.81] | ||
|
||
ft_sensor: | ||
name: ft_sensor | ||
frame: | ||
id: ft_sensor # Wrench measurements are in this frame | ||
external: false # force torque frame exists within URDF kinematic chain | ||
|
||
external_torque_sensor: | ||
is_enabled: false | ||
name: "" | ||
|
||
control: | ||
frame: | ||
id: interaction_point # Admittance calcs (displacement etc) are done in this frame. Usually the tool or end-effector | ||
external: false # control frame exists within URDF kinematic chain | ||
|
||
fixed_world_frame: # Gravity points down (neg. Z) in this frame (Usually: world or base_link) | ||
frame: | ||
id: iiwa_base | ||
external: false | ||
|
||
gravity_compensation: | ||
frame: | ||
id: ft_sensor | ||
external: false | ||
|
||
CoG: | ||
pos: | ||
- 0.01 | ||
- 0.01 | ||
- 0.01 | ||
force: 0.0 # mass * 9.81 | ||
|
||
vic: | ||
frame: | ||
id: interaction_point # Admittance calcs (displacement etc) are done in this frame. Usually the tool or end-effector | ||
external: false # control frame exists within URDF kinematic chain | ||
# VIC rule | ||
plugin_package: cartesian_vic_controller | ||
plugin_name: cartesian_vic_controller/VanillaCartesianImpedanceRule # As nominal controller | ||
|
||
# Misc. control parameters | ||
activate_nullspace_control: true | ||
activate_gravity_compensation: true | ||
|
||
selected_axes: | ||
- true # x | ||
- true # y | ||
- true # z | ||
- true # rx | ||
- true # ry | ||
- true # rz | ||
|
||
inertia: | ||
- 5.0 | ||
- 5.0 | ||
- 5.0 | ||
- 0.1 | ||
- 0.1 | ||
- 0.1 | ||
|
||
damping_ratio: # damping can be used instead: zeta = D / (2 * sqrt( M * S )) | ||
- 0.9 # x | ||
- 0.9 # y | ||
- 0.9 # z | ||
- 0.99 # rx | ||
- 0.99 # ry | ||
- 0.99 # rz | ||
|
||
stiffness: | ||
- 200.0 | ||
- 200.0 | ||
- 200.0 | ||
- 2.0 | ||
- 2.0 | ||
- 2.0 | ||
|
||
nullspace_control: | ||
# desired_joint_positions: [...] # if empty, defaults to initial joint positions | ||
# desired_joint_positions: [0.0, -0.7854, 0.0, 1.3962, 0.0, 0.6109, 0.0] | ||
joint_inertia: [25.0] | ||
joint_stiffness: [100.0] | ||
joint_damping: [90.0] # e.g., 2 * 0.9 * sqrt (m * k) | ||
# Example values for {M, K, D} : {25, 10, 28}, {25, 100, 90}, {25, 200, 128} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.