Add few kinematic analysis

Estimation of the validity range of the Stewart platform
Estimation of the required actuator stroke from defined platform mobility
This commit is contained in:
2020-01-29 17:49:25 +01:00
parent 7ded5f768e
commit 29501b8a71
8 changed files with 1364 additions and 253 deletions

View File

@@ -5,19 +5,27 @@ function [stewart] = initializeJointDynamics(stewart, args)
%
% Inputs:
% - args - Structure with the following fields:
% - Kri [6x1] - Rotational Stiffness for each spherical joints [N/rad]
% - Cri [6x1] - Damping of each spherical joint [N/(rad/s)]
% - 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)]
%
% Outputs:
% - stewart - updated Stewart structure with the added fields:
% - Kri [6x1] - Rotational Stiffness for each spherical joints [N/rad]
% - Cri [6x1] - Damping of each spherical joint [N/(rad/s)]
% - 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)]
arguments
stewart
args.Kri (6,1) double {mustBeNumeric, mustBePositive} = zeros(6,1)
args.Cri (6,1) double {mustBeNumeric, mustBePositive} = zeros(6,1)
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)
end
stewart.Kri = args.Kri;
stewart.Cri = args.Cri;
stewart.Kti = args.Kti;
stewart.Cti = args.Cti;
stewart.Kbi = args.Kbi;
stewart.Cbi = args.Cbi;

View File

@@ -15,8 +15,8 @@ function [stewart] = initializeStrutDynamics(stewart, args)
arguments
stewart
args.Ki (6,1) double {mustBeNumeric, mustBePositive} = 1e6*ones(6,1)
args.Ci (6,1) double {mustBeNumeric, mustBePositive} = 1e1*ones(6,1)
args.Ki (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e6*ones(6,1)
args.Ci (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e1*ones(6,1)
end
stewart.Ki = args.Ki;