www.pudn.com > roboter.zip > roboter.m


function []=roboter

set(gcf,'DoubleBuffer','on')

%Darstellung der Startlage des Roboterarmes mit Standardarmlaengen
 l=[3; 2; 1];
 w=[pi/2; pi/2; pi/2];
 graph(w,l);

%Menueabfrage
 j=menu('Roboterprogramm','Armlaengen aendern','Zielpunkt anfahren',...
                          'Demoprogramm starten','Programm beenden');

%Aufruf der einzelnen Unterprogramme abhaenig von der Menueeingabe
 while j==1 | j==2 | j==3
%Armlaengen aendern
 if j==1
   l=laenge;        %Abfrage der neuen Armlaengen
   disp('!!! Der Roboter wird in die Startlage zurueckgesetzt !!!'); 
   w=[pi/2; pi/2; pi/2];    %Winkel auf Startlage setzen
   graph(w,l);              %Darst. der Startlage mit neuen Armlaengen
%Zielpunkt anfahren
  elseif j==2
    p=zielein(l);       %Abfrage des Zielpunktes
    w=zielanf(p,l,w);   %Berechnung u. Anfahren des Zielpunktes
                        %falls moeglich, sonst keine Aenderung
%Demoprogramm
  elseif j==3
  %Falls die Armlaengen des Roboters nicht mehr die Standardarmlaengen
  %sind, wird der Roboter mit denselben in die Startlage zurrueckgesetzt
    if l(1,1)~=3 | l(2,1)~=2 | l(3,1)~=1
      l=[3; 2; 1];
      disp('!!! Die Armlaengen der Roboterarme werden geaendert  !!!');
      w=[pi/2; pi/2; pi/2];
      disp('!!! Der Roboter wird in die Startlage zurueckgesetzt !!!');
      graph(w,l);
    end
    p=[2; 2; 45];           %Zuordnen der Zielpunktsdaten
    w=zielanf(p,l,w);  %Anfahren des Zielpunktes
  else                      %if-Struktur
 end                        %if-Struktur
%Erneute Menueabfrage
 j=menu('Roboterprogramm','Armlaengen aendern','Zielpunkt anfahren',...
                          'Demoprogramm starten','Programm beenden');
 end                        %while-Schleife
 
 clear all;
 close all;