Roboterprofis für Ihren Erfolg
Roboterprogrammierer auf Stundenbasis engagieren
jetzt Preise und verfügbare Roboterprogrammierer anfragen

Autor Thema: [offen] Xmm auf der Bahn zurück fahren  (Gelesen 3355 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline ManipulatorManipulierer

  • mj|Solutions
  • Forum Mitglied LV 2
  • *
  • Beiträge: 34
  • ...making machines smarter
    • mj|Solutions
  • Bewertet: +6
[offen] Xmm auf der Bahn zurück fahren
« am: 27. April 2018, 12:56:12 »
Hallo Leute,

ich stehe gerade etwas auf dem Schlauch: es gibt 2 Positionen p10 und p20, die irgendwo im Arbeitsbereich des Roboters geteacht sind. Der Roboter bewegt sich Linear von p10 nach p20. Wenn er p20 erreicht hat, soll er um einen bestimmten Weg in Richtung p10 zurück fahren.
wie bekomme ich das hin?!

Viele Grüße
Michael
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Programmierung
Schulung
Wartung

Offline padostms

  • Forum Mitglied LV 8
  • *
  • Beiträge: 78
  • Bewertet: +5
Re: Xmm auf der Bahn zurück fahren
« am: 27. April 2018, 12:57:27 »
Hallo!

Mit offset würde es gehen.
Satz nach p20 einfügen.
MoveL Offs(p10,10, 0,0), v100, z0, toxxxxx\WObj:=woxxxxx;

Wobei du schauen musst X,Y oder in Z richtung fahren musst.

MFG

Tamas
« Letzte Änderung: 27. April 2018, 13:00:29 von padostms »
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline ManipulatorManipulierer

  • mj|Solutions
  • Forum Mitglied LV 2
  • *
  • Beiträge: 34
  • ...making machines smarter
    • mj|Solutions
  • Bewertet: +6
Re: Xmm auf der Bahn zurück fahren
« am: 27. April 2018, 13:37:57 »
:-) Ganz so einfach ist das nicht
Die X,Y oder Z-Richtung ist ja das Problem: in welche Richtung liegt denn P10?! Es wird irgendeine Mischung aus X,Y und Z sein, aber wie komme ich auf die Mischung?!

Gruß Michael
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Programmierung
Schulung
Wartung

Offline padostms

  • Forum Mitglied LV 8
  • *
  • Beiträge: 78
  • Bewertet: +5
Re: Xmm auf der Bahn zurück fahren
« am: 27. April 2018, 14:25:10 »
Hallo!

Oja ist es einfach !Probieren im editor modus dann wieder auf die zeile springen.Habe auch so gemacht bei mir aber normaler weise laut koordinatensystem soll passen.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Robo_michl

  • Stammgast LV 1
  • *
  • Beiträge: 13
  • Bewertet: 0
Re: Xmm auf der Bahn zurück fahren
« am: 27. April 2018, 14:56:18 »
Hallo!
ggf. mit Triggerbefehlen ...
hier lassen sich mm-Angaben machen!

VAR triggdata gunon;

...

TriggEquip gunon, 10, 0.1 \DOp:=gun, 1;

TriggL p1, v500, gunon, z50, gun1;
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline padostms

  • Forum Mitglied LV 8
  • *
  • Beiträge: 78
  • Bewertet: +5
Re: Xmm auf der Bahn zurück fahren
« am: 27. April 2018, 15:08:18 »
Hallo!
Offset ist auch im mm.Wo deine Punkt befindet das kannst du schauen wenn du roboter händisch bewegst zum punk p20 oder dort hin wo du diese punkt haben willst, die diferenz zwischen p20 und neue punkt ist dein offset.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline ManipulatorManipulierer

  • mj|Solutions
  • Forum Mitglied LV 2
  • *
  • Beiträge: 34
  • ...making machines smarter
    • mj|Solutions
  • Bewertet: +6
Re: Xmm auf der Bahn zurück fahren
« am: 27. April 2018, 15:15:13 »
@Tamas: sorry, habe mich das wohn nicht deutlich genug ausgedrückt - ich möchte das nicht fix teachen. p10 und p20 heißen in Wirklichkeit pStart und pEnde und sind Übergabeparameter an eine Prozedur - heißt ich weiß aktuell noch nicht wo die später mal liegen. Daher brauch ich die Möglichkeit von pEnde 5mm zurück in Richtung pStart zu rechnen.
Das geht auch ganz sicher irgenwie mit den Vector-Berechnungen, aber ich bekomme es nicht auf die Reihe.

@Robi_michl: ja an so etwas in der Art habe ich auch schon gedacht (5mm vor erreichen der Zielposition einen Interrupt triggern und in der Traproutine die aktuelle Roboterposition auslesen, speichern und nach erreichen der Zielposition wieder zurück auf die gespeicherte Position fahren) - aber ganz Ehrlich: das muss auch rechnerisch gehen :-)

Viele Grüße
Michael
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Programmierung
Schulung
Wartung

Offline Hermann

  • Forum Legende LV 2
  • *
  • Beiträge: 1367
  • Bewertet: +53
Re: Xmm auf der Bahn zurück fahren
« am: 27. April 2018, 21:52:41 »
Alte Vektormathematik rauskramen: auf die Schnelle hinskizziert:
P10 invertieren (pose_inv, oder so ähnlich) und mit P20 multiplizieren (pose_mult, o.ä.) ergibt den Weg von P20 zu P10, dieses Ergebnis auf die 10mm normieren (also Wurzel aus x hoch 2 plus y hoch 2 plus z hoch 2 ist die Länge, dann X,Y und Z mit dem Verhältnis zu 10mm multiplizieren). Beim ersten Rechenschritt kann es auch sein, dass P10 und P20 getauscht sein müssen.
Klingt vielleicht etwas wirr, aber so ungefähr sollte es funktionieren.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Z750

  • Forum Mitglied LV 8
  • *
  • Beiträge: 73
  • Bewertet: 0
Re: Xmm auf der Bahn zurück fahren
« am: 30. April 2018, 10:23:06 »

Hi,
sollte so funktionieren ist aber natürlich ungetestet.
Bin mir aber nicht sicher bei der Deklaration von "TriggInt" die Variable zulässig ist. Wenns aber immer 5mm sein sollen dann kann man den Parameter für die Distanz auch weg lassen.

VAR intnum irStop;
VAR triggdata trigg1;

PROC myProcedure(VAR robtarget pStart,VAR robtarget pEnde,VAR NUM nDist)
    CONNECT irStop WITH trpStop;
    TriggInt trigg1,nDist \Start, irStop;

    MoveL pStart,v100,fine,tGripper;
    MoveL pEnde,v100,fine,tGripper;
    !X mm zurüch und Interrupt auslösen
    TriggL pStart,v100,trigg1,fine,tGripper;

    IDelete irStop;
ENDPROC

TRAP trpStop
    Stopmove;
ENDTRAP

Gruß Z
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline ManipulatorManipulierer

  • mj|Solutions
  • Forum Mitglied LV 2
  • *
  • Beiträge: 34
  • ...making machines smarter
    • mj|Solutions
  • Bewertet: +6
Re: Xmm auf der Bahn zurück fahren
« am: 13. Mai 2018, 20:20:05 »
Hi Leute,
sorry, habe jetzt erst bemerkt, dass meine letzte Antwort anscheinen nicht gespeichert wurde.
Für die mathematische Lösung bin ich anscheinen zu doof :-) egal wie ich die Rechnung umgestellt habe. Die berechnete Position lag nicht ansatzweise zwischen der Start- und Endposition :-/
Eine andere Lösung (Trigger, Interrupt, Suchfahrt und dergleichen) kommt für mich nicht un Frage - (würde ja nur zeigen, dass ich für die mathematische Lösung zu doof bin :-) )

Trotzdem Danke!
Gruß Michael
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Programmierung
Schulung
Wartung

Offline Konstantin

  • Forum Mitglied LV 8
  • *
  • Beiträge: 79
  • Bewertet: +11
Re: Xmm auf der Bahn zurück fahren
« am: 14. Mai 2018, 15:45:32 »
Hallo Michael
Vielleicht geht Hermann vom gleichen Werkobjekt aus,
Gruß,
Konstantin
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Hermann

  • Forum Legende LV 2
  • *
  • Beiträge: 1367
  • Bewertet: +53
Re: Xmm auf der Bahn zurück fahren
« am: 14. Mai 2018, 22:15:52 »
Wen juckt's,  wenn's funktioniert?
Mir wäre das schon lieber als gar keine Lösung.
Im Prinzip heisst das, Du hast hier eine Frage gestellt, für die Du gar keine Antwort benötigst. So kann man seine Mitmenschen auch beschäftigen.
  • finde ich gut x 1    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert (Details | 1 Schreiben Alle)

Offline ManipulatorManipulierer

  • mj|Solutions
  • Forum Mitglied LV 2
  • *
  • Beiträge: 34
  • ...making machines smarter
    • mj|Solutions
  • Bewertet: +6
Re: Xmm auf der Bahn zurück fahren
« am: 15. Mai 2018, 07:24:59 »
Moin,
@Konstantin: die Positionen befinden sich im gleichen Werkobjekt
@Hermann: klar, richtig ist was am Ende geht und die Aufgabe erfüllt - ich würde aber schon gerne wissen wie ich es mathematisch lösen kann. Ob die Lösung letzten Endes wirklich zum Einsatz kommt sei mal dahingestellt, aktuell geht es darum für diesen Prozess verschiedene Szenarien am Ende der Bewegungsbahn auszuprobieren. Eines davon war eben das zurück Fahren um X-mm. Aktuell im Versuchs-Stadium habe ich das sogar mittels Trigger gelöst, sollte sich das als "die Lösung" herausstellen möchte ich das jedoch schon gerne berechnen.
Gruß Michael
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Programmierung
Schulung
Wartung

Offline Micky

  • Forum Elite LV 4
  • *
  • Beiträge: 290
  • Bewertet: +58
Re: Xmm auf der Bahn zurück fahren
« am: 16. Mai 2018, 13:38:21 »
Hallo,
ich habe mich einmal in der Berechnung der Position versucht und dabei folgenden Annahmen getroffen:
  • Alle Punkte liegen im gleichen Werkobjekt 
  • Alle Punkte werden mit dem gleichen Tool angefahren
  • Die Orientierung der beiden Punkte sind identisch bzw. muss nicht berücksichtigt werden

Die neue Position wird durche Verschiebung entlang des Richtungsvektors bezogen auf den Endpunkt berechnet.
Durch Verwendung einer positiven Distanz liegt der neue Punkt hinter dem Endpunkt und durch Verwendung einer negativen Distanz liegt der neue Punkt vor dem EndPunkt.

    Aufruf der Funktion:
    MoveL RelRtgVekt(p10,p20,-100),v1000,fine,tool0;
   
    FUNC robtarget RelRtgVekt(robtarget FromPoint, robtarget ToPoint, num Dist)
      VAR pos psDirection;
      VAR pos psDelta;
      VAR robtarget pNew;
      VAR num nLamda;      
      !Berechnung:  p3 = p2 - lamda * (p2-p1) 
      !mit Lamda = Dist/Länge des Richtungsvektors  
      !Richtungsvektor berechnen
      psDirection:= ToPoint.trans-FromPoint.trans;      
      !Skalierfaktor Lamda berechnen
      nLamda:=Dist/VectMagn(psDirection);      
      !Verschiebungskoordinaten berechnen
      psDelta:=nLamda*psDirection;
      !Neue Position berechnen
      pNew:=ToPoint;
      pNew.trans:=ToPoint.Trans+psDelta;

      RETURN pNew;
    ENDFUNC
Mfg
Micky
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline ManipulatorManipulierer

  • mj|Solutions
  • Forum Mitglied LV 2
  • *
  • Beiträge: 34
  • ...making machines smarter
    • mj|Solutions
  • Bewertet: +6
Re: Xmm auf der Bahn zurück fahren
« am: 18. Mai 2018, 13:27:18 »
Hi Micky,
Du bis mein Held! :-)
Wenn man´s so sieht schaut es eigentlich ganz einfach aus - hatte mich da wohl an einer falschen Denkweise festgebissen...
Vielen Dank nochmals - so kann ich das bedenkenlos veröffentlichen :-)

Viele Grüße und ein schönes Pfingst-Wochenende
Michael
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Programmierung
Schulung
Wartung


xx
Roboter stoppen und zurück fahren in AUTO

Begonnen von Asmodeus

2 Antworten
2339 Aufrufe
Letzter Beitrag 21. Juni 2007, 13:43:24
von Asmodeus
xx
Roboter weicht von programmierter Bahn ab. S4C

Begonnen von harzi

19 Antworten
4143 Aufrufe
Letzter Beitrag 07. Oktober 2009, 21:53:38
von harzi
xx
Roboter bewegen bis Kraft erreicht, dann in die entgegengesetzte Richtung fahren

Begonnen von abb2400

3 Antworten
1623 Aufrufe
Letzter Beitrag 23. November 2010, 00:39:21
von Micky
xx
Irb 2400 Auto Stop offen

Begonnen von Jeff

2 Antworten
2028 Aufrufe
Letzter Beitrag 16. Oktober 2008, 23:19:53
von Jeff
xx
Fehlermeldung Endlagenschalter DRV1 offen meldung 20214

Begonnen von roboprog

1 Antworten
1896 Aufrufe
Letzter Beitrag 09. Mai 2012, 10:42:46
von Robiman
 

über das Roboterforum

Nutzungsbedingungen Impressum
Sitemap