zeitlich bedingte bewegung

  • einen wunderschönen guten Tag.
    Ich habe folgendes Problem und wäre für Hinweise sehr dankbar. Bei jedem Touchpanel kann man den Roboter (KRC1) in eine Richtung ( x,y,z,a,b,c) fahren. Das funktioniert ja über die tasten rechts am panel. nun wollt ich aber über eine variable das gleiche ausprobieren. Also ich starte ein Programm->roboter bewegt sich in y-richtung solange bis der Roboter die erlaubnis nicht mehr hat.
    Ist sowas in einem programm möglich? finde keine passende Bewegungsart im programmierhandbuch. Habs im moment auf folgende weise gelöst:


    pos1 = $act_pos;
    repeat
    pos1.y = pos1.y + 10;
    lin pos1;
    until variable_end;


    aber da stockt der roboter immer fürchterlich ab. eine unschöne lösung. Schöner wäre es, wenn der roboter flüssig fahren würde, bis er den stop-befehl erhält. Einer eine ahnung wie ich das problem lösen kann? oder welcher Befehl das Panel an den Roboter sendet....dann könnt ich das ja auch iwie damit machen. :danke:

  • Schritt für Schritt zum Roboterprofi!
  • ei, prbier mal n paar continue übers progrämmle zu streuen....

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • nochmal- da ist was schief gegangen beim senden...



    für LIN-LIN- bewegung:
    $apo.cdis = 20 ;Translatorische distanzkriterium in [mm]; Wenn also der tcp 20mm vor pos1 ist, wird überschliffen und der nächste punkt angefahren
    lin pos1 c_dis


    für PTP-PTP- bewegung:
    $apo.cptp = 50 ; Prozentsatz, wenn die führende achse den überschleif- winkel unterschreitet (standard = 90°, also ab 45° rest wird überschliffen)
    ptp pos1 c_ptp


    Es gibt noch weitere überschleifkriterien für lin-lin...



    Beachte aber, dass auch die letzte position überschliffen wird. also nach abbruchbedingung (hier variable_end) ist der letzte punkt nicht genau angefahren worden.


    lg
    Stups

  • Repeat


    Andere Möglichkeit:
    pos1.y = pos1.y + 1000 und dann abmarsch bis die Freigabe wegfällt.
    Stopreaktion kannst du dann über einen Interrupt behandeln. Stichwort wäre hier "BRAKE"


    Anderere Weg, gleiches Ziel. Vielleicht höherer Aufwand, kommt drauf an ob das mit dem Überschleifen dir zusagt.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Hallo,
    zeitlich begrenzte Bewegung -> Welches Ereignis bestimmt denn diese Zeitspanne, bzw. deren Ende? Woher kommt Deine Abbruchvariable?


    Grüße

    never touch a running system

  • hab folgendes deklariert:
    signal abbruchbedingung $in[..] to ...
    signal startbedingung $in[..] to ...
    ....
    also sind signale die vom externen computer kommen

  • Ich hab's mal so gelöst:


    Code
    REPEAT ;Wiederholen bis variable_end;
    CONTINUE 
    LIN_REL {y 0.1} C_DIS
    CONTINUE
    UNTIL variable_end ;Bedingung erfüllt, Schleife verlassen


    Allerdings habe ich auch noch in der Schleife ständig die Geschwindigkeit angepasst. War so eine Art Conveyor-Tech für Arme.


    Warum machst du nicht einfach so:


    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

    Einmal editiert, zuletzt von IrrerPolterer ()

  • hey :)
    einen riesen dank! ich hab die methode mit linearer relativbewegung und interrupt ( dein 2. beispiel) jetzt mal ausprobiert und es funktioniert fantastisch :supi:
    ich danke allen die mitgeholfen haben :danke:


    jetzt kann ich mein roboter endlich mit smartphone steuern :beerchug: :ylsuper:

    Einmal editiert, zuletzt von ostmob ()


  • jetzt kann ich mein roboter endlich mit smartphone steuern :beerchug: :ylsuper:


    ... und jeder andere der ein Handy und deine Nummer hat somit auch... :lol: (Scherzle)


    nein im Ernst, klingt interessant... :grinser043:

    Kleinere Wunder werden sofort erledigt... größere nach der Mittagspause...

    Einmal editiert, zuletzt von Twister ()

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden