Beiträge von Torsten

    Habe diesen Beitrag erst seeehr Spät entdeckt....aber im Prinzip, wenn man ein Roboterprogramm hat, dann kann man es mit "Datei -öffnen" importieren, falls ein Import verfügbar ist. Für ABB/KUKA/FANUC/b+m/Dürr/Motoman/Stäubli gibt es da Möglichkeiten.

    Oh du meine Güte,


    war mir nicht bekannt, dass die Kawasaki Steuerung eine Adept Steuerung ist und die Programmierung, fast 1:1, wie V+. Die Frage nach den Bases und Tools hat sich damit erledigt.


    Im Handbuch für Lackierroboter habe ich auch endlich etwas zu XYZ1 und XYZ2 gefunden. Nachdem ich die Handbücher der C, E, D Serie vergeblich durchforstet hatte.


    XYZ1 bedeutet, dass die letzten 3 Werte der Pose OAT Winkel sind. Also ein Frame (wie sich das gehört)

    XYZ2 bedeutet, dass die letzten 3 Werte der Pose Winkel der Handgelenksachsen sind. Zwischen denen wird dann Interpoliert.


    Die 4 Zahlen dahinter sind Konfigurationsdaten 0000-0007. Warum die da wohl vier Stellen brauchen?


    thx

    Torsten

    Hi,


    ich versuch mich in die Kawasaki Programmierung einzuarbeiten. Trotz Handbüchern, Beispielen uns Google (was sonst immer reicht) komme ich an zwei Stellen nicht weiter. Kawasaki reagiert irgendwie grad nicht auf Anfragen. Wäre toll, wenn mir jemand auf die Sprünge helfen könnte. Danke


    1.)

    Was bedeutet diese Angebe in Bewegungsanweisungen "XYZ1 0000" ? Es hat wohl etwas mit der Interpolation zu tun. Aber ich finde einfach keine Beschreibung zu diesen Parametern.


    CV_WAIT 1,12100mm
    SPRAY #1,ON
    LMOVE XYZ1 0000,-62.2,2231.1,425,51.8,130,-161.06,12244
    LMOVE XYZ1 0000,14.7,2451.1,425.2,51.81,130,-161.04,12244

    2.)

    Wo werden in den Programmen Bases und Tools referenziert und wo werden die deklariert? Ist das wie bei Fanuc, alles versteckt in einer Systemdatei?


    thx

    Torsten

    Hallo,


    wir sollen einen Motoman Roboter zum Schleifen von Sanitärarmaturen einsetzen. Wir machen das bisher mit ABB, Kuka und Fanuc. Bei ABB verwendet man ROBHOLD = FALSE für das Tool, um einzustellen, dass man ein externes Tool verwendet. Bei Kuka setzt man den $ipo_mode auf Tool, statt auf Base und bei Fanuc verwendet man das RTCP Flag.
    In allen Fällen erzeugt man dann Programme deren Koordinaten relativ zum Handflansch des Roboters definiert sind. Die Bahninterpolation findet also bezogen auf den Flansch statt und der Ort an dem das Programm abgefahren wird ist der externe TCP. z.B. ein Punkt auf einer Schleifscheibe.


    Wie geht das bei einem Motoman? :denk: Muss man das so machen, wie bei Stäubli? Ganz viele eng gesetzte Punkte?
    Steuerung ist eine DX200. Wir konnten keinerlei Hinweise darauf finden, daß der Roboter das überhaupt kann. Hat eventuell jemand Infos dazu oder sogar ein Beispiel?


    danke
    Torsten

    Hallo Bruster,
    bei Verwendung der RTCP - Option werden die Targetpositionen zwar bezüglich des Tools definiert, allerdings in einer anderen Darstellung gespeichert. Famos robotic speichert die Target Positionen jetzt im richtigen Format. :)
    ciao,
    Torsten

    Hi Bocmok,


    hab das mal getestet...also der Import der VelSet-Instruktionen mit der Option "Nur Positionen und Orientierungen aktualisieren" funktioniert einwandfrei, sofern keine Targets gelöscht wurden (Das soll man vor dem Syncen der Positionen aber auch nicht machen).


    Nach einem vollständige Import sind die Parameterwerte für VelSet tatsächlich anders zugeordnet und zwar immer dann wenn man den Override unmittelbar nach dem Bogen ändert. Das sollte zwar gehen, macht aber Probleme...ist ja auch eine ungewöhnlich intensive Nutzung des VelSet Befehls.


    ciao,
    Torsten


    PS: Schon mal beim Famps-Support angefragt? support@famos-robotic.de

    Hi,
    das würde ich machen..hab aber keins, hab mich schon wund gegoogelt. Programme kann ich mir leider erst in zwei Wochen selbst machen Aber heutzutage muss ja alles schnell gehen.
    Ein geteachtes Programm mit einer einzigen kartesischen Position würd mir schon reichen. TP ,PE Format wär egal.


    Danke,
    Torsten

    Hallo,


    kann mir jemand sagen wie die CONFIG in einem PE-File für einen LR Mate 200iB angegeben werden muss? Für gewöhnlich schreibt man für die 6 Achser die CONFIG nach diesem Schema.


    CONFIG : 'N U T, 0, 0, 0',


    Das meckert MakeTP aber mit einem "configuration error" an. Im Handbuch steht dazu


    Zitat

    · 114: Configuration error
    Solution: Check wrist configuration and turns so that they are compatible with the robot in the robot configuration file.


    Welche CONFIG-Werte braucht der LR Mate 200? Die eDocs von Fanuc habe ich schon durchwühlt...hab aber nichts finden können, ausser den allgemeinen Erläuterungen zu dem Thema.


    Ich habe leider keine Möglichkeit mir ein Programm selbts zu teachen...das geht erst in 1 oder 2 Wochen.


    danke für eure Hilfe,
    Torsten

    hab am HelpDesk von ABB einen extrem kompetenten Lackierer erwischt. Sieht so aus:


    Das BaseFrame wird für gewöhnlich so verschoben, dass RoboterWelt im Förderernullpunkt liegt. Das findet man in der MOC.CFG dann im Abschnitt Robot "als base_frame_pos_"


    ROBOT:


    -name "master" -use_robot_type "5402_3.0_15_HLW" -use_joint_0 "irb_1"\
    -use_joint_1 "irb_2" -use_joint_2 "irb_3" -use_joint_3 "irb_4"\
    -use_joint_4 "irb_5" -use_joint_5 "irb_6" -base_frame_pos_x 1.909\
    -base_frame_pos_y 2.2 -base_frame_pos_z -0.437\
    -base_frame_orient_u0 0.707107 -base_frame_orient_u3 -0.707107


    Diese Verschiebung wird gemacht um das Spiegeln an Welt zu vereinfachen.


    Dann kann man noch im Abschnitt Single suchen.


    SINGLE:


    -name "CNV1" -use_single_type "CNV1" -use_joint "CNV1"


    Wenn da nix steht, sind die Werte alle gleich Default = Null und die werden nicht in die CFG geschrieben.



    Letzte Möglichkeit wäre dann noch das WObjCNV_1, welches mit dem Fördere verbunden ist.


    ciao,
    Torsten

    hab am HelpDesk von ABB einen extrem kompetenten Lackierer erwischt. Sieht so aus:


    Das BaseFrame wird für gewöhnlich so verschoben, dass RoboterWelt im Förderernullpunkt liegt. Das findet man in der MOC.CFG dann im Abschnitt Robot "als base_frame_pos_"


    ROBOT:


    -name "master" -use_robot_type "5402_3.0_15_HLW" -use_joint_0 "irb_1"\
    -use_joint_1 "irb_2" -use_joint_2 "irb_3" -use_joint_3 "irb_4"\
    -use_joint_4 "irb_5" -use_joint_5 "irb_6" -base_frame_pos_x 1.909\
    -base_frame_pos_y 2.2 -base_frame_pos_z -0.437\
    -base_frame_orient_u0 0.707107 -base_frame_orient_u3 -0.707107


    Diese Verschiebung wird gemacht um das Spiegeln an Welt zu vereinfachen.


    Dann kann man noch im Abschnitt Single suchen.


    SINGLE:


    -name "CNV1" -use_single_type "CNV1" -use_joint "CNV1"


    Wenn da nix steht, sind die Werte alle gleich Default = Null und die werden nicht in die CFG geschrieben.



    Letzte Möglichkeit wäre dann noch das WObjCNV_1, welches mit dem Fördere verbunden ist.


    ciao,
    Torsten

    Hallo,


    ich habe von einem Kunden das Backup einer S4P bekommen, die mit einem Conveyor läuft. Jetzt versuche ich herauszufinden wo denn nun dieser Conveyor relativ zum Roboter steht. Abstand, Starttrigger etc.
    Hat jemand eine Ahnung (der Kunde leider nicht) wo diese Werte zu finden sind?


    Gefunden habe ich lediglich die Verschiebung des Roboterbasiskoordinatensystem gegenüber Welt in der MOC.CFG. Wenn alles nach Plan gegangen wäre hatte da dann auch der Conveyor stehen sollen....nur isser da nicht so ganz. Irgendwo muss noch ein Offset sein.


    Irgendeine Idee?


    Danke

    Hi Tino,


    falls es noch aktuell ist. Ich habe ein ARLA Programmierhandbuch für die S3 bei mir im Schrank stehen (Vom September 1988...mann, ist das wat her).
    Kann ich Dir ausleihen.


    ciao,
    Torsten

    Hi Robodoc,


    hast recht klappt nicht. Hatte gerade Gelegenheit es an einem freien Roboter zu testen. Er meldet "Initialwert nicht im Initialteil"


    Eigentlich ging es nur darum das Anzeigen der Istposition und das Teachen zu vereinfachen. Wir deklarieren unsere Tools und Bases immer als Frame in den Dat-Files, die zu unserem jeweiligen Projekt gehören. Wir verwenden auch nie Inline-Formulare (Einer hats mal gemacht und gleich ein paar Tausend Euro geschrottet) . Die Config.dat zu verwenden ist totaler Schrott, wenn man sehr oft neue Projekte in der gleichen Anlage macht. Der Vorteil von Tools aus der Config.dat ist jedoch, dass man die am Teachpanel einfach auswählen kann. Bei $tool = myTool muss man zuvor immer diese Zeile abarbeiten, bevor man sich die Istposition anschauen kann.
    Das ist bei ABB deutlich schicker gelöst. Aber egal...muss man sich halt die Tools selbst in die Tool_data Felder reinkopieren....wenn man die unbedingt nutzen will.


    danke,
    Torsten

    Hi,


    darf man eigentlich in einem X-beliebigen Dat-File Zuweisungen an Tool_Data[] machen? Und wenn ja, wann werden die wirksam? Wenn das dat-File geladen wird, oder erst wenn des zugehörige src-File ausgeführt wird?


    Das hier würde ich einfach in das Dat-File schreiben wollen:


    TOOL_DATA[2] = {X -0.24, Y 0.00, Z 211.65, A 0.00, B 45.00, C 0.00}


    thy,
    Torsten

    Hallo irb6400R,


    ich würde mir einen eigenen Move-Befehl schreiben, sowas wie MoveLPresse. Dem übergiebst Du zwei Targets (Eines geht auch, wenn Du die aktuelle Position abfragst) und machst dann in einer Schleife eine Geradeninterpolation zwischen den beiden Targets. Die Orientierung zu interpolieren könnte etwas kniffelig sein. Weiß im Moment nicht ob ABB da irgendwelche Funktionen für anbeitet. Wenn nicht einfach mal nach "QuatSlerp" suchen. Mit jedem Interpolationsschritt in der Schleife rufst Du einen "kleinen" MoveL auf. Vorher fragst Du das Signal von der Presse ab, z.B. über eine Variable, die von einem Interrupt gesetzt wird. So kannst dann die Geschwindigkeit für jedes Teilsegment anpassen, hast aber in Deinem eigentlichen Programm nur einen einfachen Befehl drin stehen.


    ciao,
    Torsten

    Hi Andi,


    dein Programm scheint den Bahnpunkt zu verschieben. Kennst Du zufällig auch eine Möglichkeit das Tool zu verschieben?


    Das hätte den Vorteil, dass bei übermässiger Verschiebung die Bahn nicht "umklappen" kann. Z.B. bei einer konvexen Ecke aus drei Punkten. Wenn man die Punkte zu sehr verschiebt, wird da irgendwann eine konkave Bahn draus...


    thx
    Torsten