Add stiffness to universal and spherical joints

This commit is contained in:
Thomas Dehaeze 2020-02-06 11:16:39 +01:00
parent 19eecaaba8
commit 053329875b
2 changed files with 35 additions and 16 deletions

View File

@ -849,17 +849,22 @@ This Matlab function is accessible [[file:src/initializeJointDynamics.m][here]].
%
% Inputs:
% - args - Structure with the following fields:
% - Kbi [6x1] - Rotational Stiffness for each top spherical joints [N/rad]
% - Cbi [6x1] - Damping of each top spherical joint [N/(rad/s)]
% - Kti [6x1] - Rotational Stiffness for each bottom universal joints [N/rad]
% - Cti [6x1] - Damping of each bottom universal joint [N/(rad/s)]
% - Ksbi [6x1] - Bending (Rx, Ry) Stiffness for each top Spherical joints [N/rad]
% - Csbi [6x1] - Bending (Rx, Ry) Damping of each top Spherical joint [N/(rad/s)]
% - Ksti [6x1] - Torsion (Rz) Stiffness for each top Spherical joints [N/rad]
% - Csti [6x1] - Torsion (Rz) Damping of each top Spherical joint [N/(rad/s)]
% - Kubi [6x1] - Bending (Rx, Ry) Stiffness for each bottom Universal joints [N/rad]
% - Cubi [6x1] - Bending (Rx, Ry) Damping of each bottom Universal joint [N/(rad/s)]
% - disable [true/false] - Sets all the stiffness/damping to zero
%
% Outputs:
% - stewart - updated Stewart structure with the added fields:
% - Kbi [6x1] - Rotational Stiffness for each top spherical joints [N/rad]
% - Cbi [6x1] - Damping of each top spherical joint [N/(rad/s)]
% - Kti [6x1] - Rotational Stiffness for each bottom universal joints [N/rad]
% - Cti [6x1] - Damping of each bottom universal joint [N/(rad/s)]
% - Ksbi [6x1] - Bending (Rx, Ry) Stiffness for each top Spherical joints [N/rad]
% - Csbi [6x1] - Bending (Rx, Ry) Damping of each top Spherical joint [N/(rad/s)]
% - Ksti [6x1] - Torsion (Rz) Stiffness for each top Spherical joints [N/rad]
% - Csti [6x1] - Torsion (Rz) Damping of each top Spherical joint [N/(rad/s)]
% - Kubi [6x1] - Bending (Rx, Ry) Stiffness for each bottom Universal joints [N/rad]
% - Cubi [6x1] - Bending (Rx, Ry) Damping of each bottom Universal joint [N/(rad/s)]
#+end_src
*** Optional Parameters
@ -869,10 +874,13 @@ This Matlab function is accessible [[file:src/initializeJointDynamics.m][here]].
#+begin_src matlab
arguments
stewart
args.Kti (6,1) double {mustBeNumeric, mustBeNonnegative} = zeros(6,1)
args.Cti (6,1) double {mustBeNumeric, mustBeNonnegative} = zeros(6,1)
args.Kbi (6,1) double {mustBeNumeric, mustBeNonnegative} = zeros(6,1)
args.Cbi (6,1) double {mustBeNumeric, mustBeNonnegative} = zeros(6,1)
args.Ksbi (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e-1*ones(6,1)
args.Csbi (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e-4*ones(6,1)
args.Ksti (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e-2*ones(6,1)
args.Csti (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e-4*ones(6,1)
args.Kubi (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e-1*ones(6,1)
args.Cubi (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e-4*ones(6,1)
args.disable logical {mustBeNumericOrLogical} = false
end
#+end_src
@ -881,10 +889,21 @@ This Matlab function is accessible [[file:src/initializeJointDynamics.m][here]].
:UNNUMBERED: t
:END:
#+begin_src matlab
stewart.Kti = args.Kti;
stewart.Cti = args.Cti;
stewart.Kbi = args.Kbi;
stewart.Cbi = args.Cbi;
if args.disable
stewart.Ksbi = 0;
stewart.Csbi = 0;
stewart.Ksti = 0;
stewart.Csti = 0;
stewart.Kubi = 0;
stewart.Cubi = 0;
else
stewart.Ksbi = args.Ksbi;
stewart.Csbi = args.Csbi;
stewart.Ksti = args.Ksti;
stewart.Csti = args.Csti;
stewart.Kubi = args.Kubi;
stewart.Cubi = args.Cubi;
end
#+end_src
* Bibliography :ignore: