Matheprofis vor

    • hendr1k
      hendr1k
      Bronze
      Dabei seit: 15.01.2007 Beiträge: 6.169
      Ich bräuchte mal einen Tipp, wie ich auf die Winkel A und B komme.
      Der Roboterarm hat 2 gleichlange Arme und soll nach eine Positionseingabe (x|y) die entsprechenden Winkel A und B annehmen.

      Problem ist, dass das Programm nur die Innenwinkel A und B messen kann, nicht aber Alpha und Beta.

      Unschöne Lösung zur Zeit:

      A = 90° - arctan(x/y)+arccos(((x*x)+(y*y))/(2*L*(((x*x)+(y*y))^0.5))) (90°-Alpha = A)

      Analog dazu B

      B= 180° -arccos((2*(L*L)-((x*x)+(y*y)))/(2*(L*L)))

      (180°-Beta = B)

      L =Länge der Arme, wobei beide gleich lang sind.

      Ich suche nun eine Lösung, die allgemein gültig ist, und nicht nur im ersten Quadranten.
      Ich möchte keine komplette Lösung, jediglich suche ich nach Ideen, weil ich
      nicht die Brechstangen Methode machen möchte die für jeden Quadranten ein anderer Fall wäre.
      Ist das überhaupt machbar?

      Ich brauche Quadranten : x+,y+ ; x-,y+
      Rest ist egal

      Skizze:
  • 7 Antworten
    • HansiBasel
      HansiBasel
      Bronze
      Dabei seit: 24.10.2008 Beiträge: 484
      wird A im quadrant 1 als positiv und im quadrant 2 als negativ erachtet, oder beides als positiv?

      falls 1 = positiv und 2 = negativ:

      sin(alpha) = cos(A-90°)

      heisst: ist er im quadranten 1. ist der Sinus positiv, ist er im quadranten 2. ist der sinus negativ.

      also: alpha= arcsin (cos(A-90°)

      falls nur um 180° drehbar:

      beta = 180°- B


      ----------------

      gamma = alpha - (180° - beta) = arcsin(cos(A-90°)) - B/2

      Y = sin (gamma) = Sin ( arcsin(cos(A-90°)) - B/2)
      X = cos (gamma) = Cos ( arcsin(cos(A-90°) - B/2)


      bin mir zwar nicht 100° sicher ob du das wolltest :)
      aber sollte wohl das hauptproblem lösen, ist jetzt nur noch ein klein bisschen umformen.


      edith: X und Y must du natürlich noch durch L anpassen.
      edith2: hab gerade gesehen dass x und y vertauscht waren :rolleyes:
    • coolalzi
      coolalzi
      Bronze
      Dabei seit: 01.10.2006 Beiträge: 2.075
      hä?

      einfach:
      betta=180°-B

      alpha=90°-A
    • JackBlack18
      JackBlack18
      Bronze
      Dabei seit: 08.02.2006 Beiträge: 1.435
      Für die Winkel im 2. Quadranten würde ich einfach eine Fallunterscheidung machen, falls x negativ ist ->
      A = 180° - arctan(-x/y) ...

      ansonsten gibts für sowas ein extra unterforum, wo dir wahrscheinlich mehr geholfen werden kann.

      @HansiBasel:

      lol :D
      ich bin mir auch nie 100° sicher^^
    • hendr1k
      hendr1k
      Bronze
      Dabei seit: 15.01.2007 Beiträge: 6.169
      A und B sind beide Positiv.

      Ich suche nach einer Rechenforschrifft, bei der man nicht "fuscht" indem man einfach 180°bzw 90° - einen bestimmten Winkel rechnet um auf A bzw B zu kommen.

      Ich suche eine direkte Berechnung ohne diese Tricks, wenn das möglich ist.

      Sonst bitte mal ins Mathe Forum verschieben.
    • coolalzi
      coolalzi
      Bronze
      Dabei seit: 01.10.2006 Beiträge: 2.075
      Original von coolalzi
      hä?

      einfach:
      betta=180°-B

      alpha=90°-A

      ????????????????
    • HansiBasel
      HansiBasel
      Bronze
      Dabei seit: 24.10.2008 Beiträge: 484
      also es gibt keine unterscheidung ob: A links oder rechts von der abszise ist?

      beides würde jeweils als 30° bezeichnet?
      egal obs 30° nach links oder 30° nach rechts geht?

      dann musst du definitiv eine fallunterscheidung machen für die beiden quadranten.

      dann gibts aber noch das problem: spitze ist rechts und der knick ist links.

      ansonsten sind meine formeln korrekt, einfach nach gewünschten verhältnissen umformen und noch die länge vom ursprung bis zur spitze integrieren (über den innenwinkel und L kannst du die hypothenuse berechnen. hab die formeln seit jahren nicht mehr benutzt und die fosa bei meiner mutter zuhause).


      bissl turnübungen sind gesund ;)
    • Eugen1
      Eugen1
      Bronze
      Dabei seit: 21.01.2005 Beiträge: 596
      Ich habe letztes Semester Robotics gehört, da ging es unter anderem um solche Problemstellung. In unterem Link wird ein allgemeines Verfahren für solche Probleme hergeleitet. Ab Folie 20 geht es speziell um ein Problem, wo man Winkel für eine (x/y) Position finden muss.

      http://www.tu-harburg.de/mec/web212/script/Robotik/LectureNotes/Robotics_Lecture_06.pdf