diff --git a/MaxLocalisation.asv b/MaxLocalisation.asv new file mode 100644 index 0000000..6be4ddc --- /dev/null +++ b/MaxLocalisation.asv @@ -0,0 +1,67 @@ +run study_architecture.m +format short +%% tx +tx=[leg_radius', max_disp(:, 1)]'; +tx1=find(tx(2,:)==max(tx(2,:))); +tx2=max(tx(2,:)); +ltx=[tx1,tx2] + +%% ty +ty=[leg_radius', max_disp(:, 2)]'; +ty1=find(ty(2,:)==max(ty(2,:))); +ty2=max(ty(2,:)); +lty=[ty1,ty2] + +%% tz +tz=[leg_radius', max_disp(:,3)]'; +tz1=find(tz(2,:)==max(tz(2,:))); +tz2=max(tz(2,:)); +ltz=[tz1,tz2] + +%% rx +rx=[leg_radius', max_disp(:,4)]'; +rx1=find(rx(2,:)==max(rx(2,:))); +rx2=max(rx(2,:)); +lrx=[rx1,rx2] + +%% rx +ry=[leg_radius', max_disp(:,5)]'; +ry1=find(ry(2,:)==max(ry(2,:))); +ry2=max(ry(2,:)); +lry=[ry1,ry2] + +%% rx +rz=[leg_radius', max_disp(:,6)]'; +rz1=find(rz(2,:)==max(rz(2,:))); +rz2=max(rz(2,:)); +lrz=[rz1,rz2] + +%% kx +kx=[leg_radius', stiffness(:, 1, 1)]'; +kx1=find(kx(2,:)==max(kx(2,:))); +kx2=max(kx(2,:)); +lkx=[kx1,kx2] + +%% ky +ky=[leg_radius', stiffness(:, 2, 2)]'; +ky1=find(ky(2,:)==max(ky(2,:))); +ky2=max(ky(2,:)); +lky=[ky1,ky2] + +%% kz +kz=[leg_radius', stiffness(:, 3, 3)]'; +kz1=find(kz(2,:)==max(kz(2,:))); +kz2=max(kz(2,:)); +lkz=[kz1,kz2] + +%% mx +mx=[leg_radius', stiffness(:, 4, 4)]'; +mx1=find(mx(2,:)==max(mx(2,:))); +mx2=max(mx(2,:)); +lkm=[mx1,mx2] + +%% my +my=[leg_radius', stiffness(:, 5, 5)]'; +my1=find(my(2,:)==max(my(2,:))); +my2=max(my(2,:)); +lkm=[mx1,my2] \ No newline at end of file diff --git a/MaxLocalisation.m b/MaxLocalisation.m new file mode 100644 index 0000000..c8e3e08 --- /dev/null +++ b/MaxLocalisation.m @@ -0,0 +1,73 @@ +run study_architecture.m +format short +%% tx +tx=[leg_radius', max_disp(:, 1)]'; +tx1=find(tx(2,:)==max(tx(2,:))); +tx2=max(tx(2,:)); +ltx=[tx1,tx2] + +%% ty +ty=[leg_radius', max_disp(:, 2)]'; +ty1=find(ty(2,:)==max(ty(2,:))); +ty2=max(ty(2,:)); +lty=[ty1,ty2] + +%% tz +tz=[leg_radius', max_disp(:,3)]'; +tz1=find(tz(2,:)==max(tz(2,:))); +tz2=max(tz(2,:)); +ltz=[tz1,tz2] + +%% rx +rx=[leg_radius', max_disp(:,4)]'; +rx1=find(rx(2,:)==max(rx(2,:))); +rx2=max(rx(2,:)); +lrx=[rx1,rx2] + +%% rx +ry=[leg_radius', max_disp(:,5)]'; +ry1=find(ry(2,:)==max(ry(2,:))); +ry2=max(ry(2,:)); +lry=[ry1,ry2] + +%% rx +rz=[leg_radius', max_disp(:,6)]'; +rz1=find(rz(2,:)==max(rz(2,:))); +rz2=max(rz(2,:)); +lrz=[rz1,rz2] + +%% kx +kx=[leg_radius', stiffness(:, 1, 1)]'; +kx1=find(kx(2,:)==max(kx(2,:))); +kx2=max(kx(2,:)); +lkx=[kx1,kx2] + +%% ky +ky=[leg_radius', stiffness(:, 2, 2)]'; +ky1=find(ky(2,:)==max(ky(2,:))); +ky2=max(ky(2,:)); +lky=[ky1,ky2] + +%% kz +kz=[leg_radius', stiffness(:, 3, 3)]'; +kz1=find(kz(2,:)==max(kz(2,:))); +kz2=max(kz(2,:)); +lkz=[kz1,kz2] + +%% mx +mx=[leg_radius', stiffness(:, 4, 4)]'; +mx1=find(mx(2,:)==max(mx(2,:))); +mx2=max(mx(2,:)); +lmx=[mx1,mx2] + +%% my +my=[leg_radius', stiffness(:, 5, 5)]'; +my1=find(my(2,:)==max(my(2,:))); +my2=max(my(2,:)); +lmy=[my1,my2] + +%% my +mz=[leg_radius', stiffness(:, 6, 6)]'; +mz1=find(mz(2,:)==max(mz(2,:))); +mz2=max(mz(2,:)); +lmz=[mz1,mz2] \ No newline at end of file diff --git a/plot_max_positions.m b/plot_max_positions.m index 6bf82a5..0393901 100644 --- a/plot_max_positions.m +++ b/plot_max_positions.m @@ -8,5 +8,6 @@ run stewart_init.m figure; hold on; mesh(X, Y, Z); +grid on; colorbar; hold off; diff --git a/stewart_parameters.m b/stewart_parameters.m index 1dedaa9..f583ec2 100644 --- a/stewart_parameters.m +++ b/stewart_parameters.m @@ -5,10 +5,10 @@ stewart.jacobian = 174.5; %mm %% Bottom Plate BP = struct(); -BP.rad.int = 105; %mm -BP.rad.ext = 152.5; %mm -BP.thickness = 8; % mm -BP.leg.rad = 142; %mm +BP.rad.int = 0; %mm +BP.rad.ext = 150; %mm +BP.thickness = 10; % mm +BP.leg.rad = 140; %mm BP.leg.ang = 5; %deg BP.density = 8000; %kg/m^3 BP.color = [0.5 0.5 0.5]; %rgb @@ -16,9 +16,9 @@ BP.color = [0.5 0.5 0.5]; %rgb %% TOP Plate TP = struct(); TP.rad.int = 0;%mm -TP.rad.ext = 120; %mm -TP.thickness = 8; % mm -TP.leg.rad = 100; %mm +TP.rad.ext = 150; %mm +TP.thickness = 10; % mm +TP.leg.rad = 120; %mm TP.leg.ang = 5; %deg TP.density = 8000; %kg/m^3 TP.color = [0.5 0.5 0.5]; %rgb diff --git a/study_architecture.m b/study_architecture.m index 41a5062..bc2e66d 100644 --- a/study_architecture.m +++ b/study_architecture.m @@ -1,9 +1,9 @@ %% run stewart_parameters.m -format shortE +format short %% Study the effect of the radius of the top platform position of the legs -leg_radius = 50:1:120; +leg_radius = 50:1:150; max_disp = zeros(length(leg_radius), 6); stiffness = zeros(length(leg_radius), 6, 6); @@ -15,38 +15,39 @@ for i_leg = 1:length(leg_radius) end %% Plot everything -figure; -hold on; -plot(leg_radius, max_disp(:, 1)) -plot(leg_radius, max_disp(:, 2)) -plot(leg_radius, max_disp(:, 3)) -hold off; -legend({'tx', 'ty', 'tz'}) -xlabel('Leg Radius at the platform'); ylabel('Maximum translation (m)'); +% figure; +% hold on; +% plot(leg_radius, max_disp(:, 1)) +% plot(leg_radius, max_disp(:, 2)) +% plot(leg_radius, max_disp(:, 3)) +% hold off; +% legend({'tx', 'ty', 'tz'}) +% xlabel('Leg Radius at the platform'); ylabel('Maximum translation (m)'); +% +% figure; +% hold on; +% plot(leg_radius, max_disp(:, 4)) +% plot(leg_radius, max_disp(:, 5)) +% plot(leg_radius, max_disp(:, 6)) +% hold off; +% legend({'rx', 'ry', 'rz'}) +% xlabel('Leg Radius at the platform'); ylabel('Maximum rotations (rad)'); +% +% figure; +% hold on; +% plot(leg_radius, stiffness(:, 1, 1)) +% plot(leg_radius, stiffness(:, 2, 2)) +% plot(leg_radius, stiffness(:, 3, 3)) +% hold off; +% legend({'kx', 'ky', 'kz'}) +% xlabel('Leg Radius at the platform'); ylabel('Stiffness in translation (N/m)'); +% +% figure; +% hold on; +% plot(leg_radius, stiffness(:, 4, 4)) +% plot(leg_radius, stiffness(:, 5, 5)) +% plot(leg_radius, stiffness(:, 6, 6)) +% hold off; +% legend({'mx', 'my', 'mz'}) +% xlabel('Leg Radius at the platform'); ylabel('Stiffness in rotations (N/(m/rad))'); -figure; -hold on; -plot(leg_radius, max_disp(:, 4)) -plot(leg_radius, max_disp(:, 5)) -plot(leg_radius, max_disp(:, 6)) -hold off; -legend({'rx', 'ry', 'rz'}) -xlabel('Leg Radius at the platform'); ylabel('Maximum rotations (rad)'); - -figure; -hold on; -plot(leg_radius, stiffness(:, 1, 1)) -plot(leg_radius, stiffness(:, 2, 2)) -plot(leg_radius, stiffness(:, 3, 3)) -hold off; -legend({'kx', 'ky', 'kz'}) -xlabel('Leg Radius at the platform'); ylabel('Stiffness in translation (N/m)'); - -figure; -hold on; -plot(leg_radius, stiffness(:, 4, 4)) -plot(leg_radius, stiffness(:, 5, 5)) -plot(leg_radius, stiffness(:, 6, 6)) -hold off; -legend({'mx', 'my', 'mz'}) -xlabel('Leg Radius at the platform'); ylabel('Stiffness in rotations (N/(m/rad))'); \ No newline at end of file