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


function [p]= zieleingabe(l) 
 
%Definition einiger Abfragetexte 
 text1 =['Geben Sie die x-Koordinate des Zielpunktes ein:    ']; 
 text2 =['Geben Sie die y-Koordinate des Zielpunktes ein:    ']; 
 text3 =['Geben Sie den Neigungswinkel des 3.Armes zur       ']; 
 text3a=['Horizontalen im Bereich von -180 bis 180 Grad ein: ']; 
 text3b=['!!! Der Neigungswinkel muss zwischen '... 
         '-180 und 180 Grad liegen !!!']; 
 text3c=['neue Eingabe fuer den Neigungswinkel:              ']; 
 
%Im Folgenden werden x-Koordinate, die y-Koordinate und der 
%Neigungswinkel zur Horizontalen des Zielpunktes P abgefragt. 
%Dabei werden bereits einige grobe Bereichspruefungen der 
%Anfahrtsmoeglichkeit von P vorgenommen (Halbkreis um Ursprung 
%mit Radius der Summe der Armlaengen), und die Abfrage, 
%wenn noetig, wiederholt. 
 
%Berechnung des Radius 
 R=l(1,1)+l(2,1)+l(3,1); 
 
%Abfrage der x-Koordinate des Zielpunktes 
 x=input(text1); 
 xmin=-R; xmax=R; 
  while xxmax 
    xminstr=num2str(xmin); 
    xmaxstr=num2str(xmax); 
    text=['!!! Die x-Koordinate muss zwischen '... 
          ,xminstr,' und ',xmaxstr,' liegen !!!']; 
    disp(text); 
    x=input('neue Eingabe fuer die x-Koordinate: '); 
  end 
 
%Abfrage der y-Koordinate des Zielpunktes 
 y=input(text2); 
 ymin=0; ymax=sqrt(R^2-x^2); 
  while yymax 
    yminstr=num2str(ymin); 
    ymaxstr=num2str(ymax); 
    text=['!!! Die y-Koordinate muss zwischen '... 
          ,yminstr,' und ',ymaxstr,' liegen !!!']; 
    disp(text); 
    y=input('neue Eingabe fuer die y-Koordinate: '); 
  end 
 
%Abfrage des Neigungswinkels 
 disp(text3); 
 w=input(text3a); 
 while w<-180 | w>180 
   disp(text3b); 
   w=input(text3c); 
 end 
 
%Rueckgabe der Zielpunktsdaten im Vektor p 
 p=[x; y; w];