Willkommen zum zweiten Teil des Marleson-Balletts.
Teilzeit.
Im ersten haben wir darüber gesprochen, wie sich die Krankheit im Allgemeinen auf dem Territorium der Russischen Föderation trifft. Heute werden wir diskutieren, was passiert, wenn Sie sehr weit unter den Rock zu Robert klettern.
Ich werde in das Zitat einfügen, um hervorzuheben - meine tiefste Entschuldigung an die Chabravchanin, die unter meinem vorherigen Beitrag eine Nachricht über Kawasaki und Universalien in St. Petersburg geschrieben haben. Es tut mir wirklich leid, und meine Benutzerfreundlichkeit ist keine Entschuldigung dafür, die Schaltfläche "Beschweren" anstelle der Schaltfläche "Antworten" zu drücken. Dies ist ausschließlich meine Nachlässigkeit, und ich hatte nicht einmal Zeit, mich an Ihren Spitznamen zu erinnern, um mich zu entschuldigen. Wenn es Sie nicht stört, klopfen Sie an die PM, damit ich mich persönlich entschuldigen kann. Ich bin sicher, dass nur tugendhafte Bescheidenheit Sie daran gehindert hat, diesen Schritt zu tun, mit dem Kommentar „Was zur Hölle!“ Gestern.Nun, wir haben noch nicht angefangen - ich habe viele bunte Informationen gesammelt. Es wird einen Beitrag über den Berufseinstieg geben, es wird die Programmierung von Mikrocontrollern geben, es wird Wunder bei der Organisation und Verwaltung des Entwicklungsprozesses geben und so weiter. In diesem Zusammenhang schweben die Hubs, in denen das Material veröffentlicht wird, um die Themenbereiche nicht mit irrelevanten Informationen zu verstopfen.
Jetzt aber los! (c) Yuri Gagarin.
Was machen wir?
Wie wir im ersten Teil mit Ihnen besprochen haben, sind Roberts ideal in Situationen des "Grabens von hier bis zum Mittagessen", wenn die Operationen standardisiert sind und er dasselbe Programm in einer Schleife dreht.
Aber was ist, wenn es nicht ist? Was passiert, wenn wir eine kleine Charge von etwa 200 Stück herstellen müssen? Laden Sie den Komplex für eine Woche. Und nach einer Woche - setzen Sie ein anderes Produkt dort ein. Es gibt nur einen Ausweg - Programme mit Griffen über die Fernbedienung abzubilden. Ich habe im letzten Artikel die Unannehmlichkeiten dieses heiligen Ritus hervorgehoben.
Lassen Sie uns erschweren. Aber was wäre wenn - ein Produkt?
Nehmen Sie als Beispiel die freundlicherweise zur Verfügung gestelltenvakhramovBeispiel beim Fräsen des Bootsrumpfes. Nicht stark im Schiffbau (naja, außer beim Schweißen von Mikropaneelen, die im Schiffbau einen solchen Gulliver-Namen nur zum Spott tragen - das sind Dummköpfe für mehrere Meter und mit einem Gewicht von Hunderten von kg), aber ich kann die folgende TK annehmen:
- Wir haben einen Bootsrumpf in einem CAD-Modell.
- Wir haben einen Würfel in nicht figurativer Größe aus etwas, das gefräst wurde.
- Wir wollen auf den Knopf drücken und damit die Software Magie erzeugt und der Roboter selbst aus dem Würfel (oder Parallelepiped) etwas für uns gefräst und verifiziert hat.
Eigentlich ist das Problem für uns unkompliziert (dies wurde nicht speziell gelöst). Es gibt ein 3D-Modell, es gibt einen Rohling und einen Robert auf dem Bewegungssystem. Wir müssen ein Programm dafür in der Maschine erstellen, seine Implementierung in Echtzeit steuern, den Scanner ausführen und Erwartungen und Realität vergleichen und etwas polieren, na ja, voila.
Wir werden viel später über die Programmierung, die Nuancen des 3D-Parsens, das inverse Problem der Kinematik, die Bildung von Steuerprogrammen, über Scanner und Kameras sprechen. Es ist klar, dass diese Aufgabe nicht trivial ist, und wir, die Tränen des Glücks mit unserem Ärmel verschmiert, stürzen uns in den Prozess. Aber wie eine absurde junge Dame zieht Robert stolz seine Rüssel hoch und fragt:
- Warum die ganze Aufmerksamkeit auf diese Ihre Programme? Warum machst du dort nur etwas? Und ich? Was, haben sie mich vergebens gemacht?
Nun, es wirft eine Reihe von Funktionen aus. Worüber wir sprechen werden.
Singularität
Das erste, was uns auf dem Weg der Kommunikation mit Robert erwartet. Tatsache ist, dass ein Programm für ein Einhandprogramm in zwei Haupttypen von Koordinaten geschrieben werden kann: kartesisch und gemeinsam. Die erste ist die XYZ-Position und die Drehung um jede der Achsen. Die zweite ist eine Angabe der Einbauwinkel jeder der Achsen, bei denen die Bedingung für die Platzierung des Kofferraums im Raum erfüllt ist. Die ersten werden in die zweiten und wieder ganz korrekt im Controller selbst übersetzt. Es ist eine andere Sache, wenn Sie versehentlich entscheiden, dass dies definitiv die gleiche Geschichte ist, und sich dafür entscheiden, auf Kartesisch zu arbeiten. Hallo
Im Allgemeinen ist eine Singularität ein Geisteszustand eines eisernen Freundes, in dem die Drehzahl des Motors entlang einer der Achsen die konstruktive überschreitet. Es ist nicht ganz klar, ich werde versuchen zu erklären.
Wenn Robert seine Hand von Punkt A nach Punkt B bewegt, hat er zwei Möglichkeiten. Oder - stellen Sie die Drehzahl für alle Motoren gleichmäßig ein. In diesem Fall entspricht die Drehzahl jedes bestimmten Motors dem erforderlichen Drehwinkel einer bestimmten Achse, geteilt durch die Zeit, die zur Ausführung der Bewegung benötigt wird. Wenn dieser Modus ausgewählt ist, schreibt der Roboter, der sich zwischen den Punkten bewegt, schöne Bögen. Es ist schade, aber im Verlauf dieser Bewegung fährt er nicht in einer geraden Linie, sondern auf eine Weise, die zu ihm passt. Infolgedessen haben wir eine nicht illusorische Chance, mit einem Kofferraum zu einem Produkt / Wänden / anderen wie ihm zu kommen.
Die lineare Bewegung stellt sicher, dass es in einer geraden Linie fährt. Gleichzeitig müssen die Motoren in unterschiedlichen Zeitintervallen mit unterschiedlichen Drehzahlen arbeiten. Und wenn diese Geschwindigkeit die überschreitet, die die Motoren physisch aus ihrer gewundenen Seele herausdrücken können, schreibt der Roboter "Singularität". Und alle. Das Programm stoppt.
Die Situation ist etwas besser in Fällen, in denen Koordinaten in Gelenken anstelle von kartesischen angegeben werden. Ich verstehe nicht ganz, warum der Controller auf Punkte in Gelenken etwas anders reagiert als auf kartesische - möglicherweise liegt dies an der Logik, Koordinaten in Ecken umzuwandeln. Aber im Allgemeinen ist „vielleicht“ ein Zauberspruch in der Robotik, es hilft sehr bei der Arbeit und wird als universeller Wegerich verwendet.
Trotzdem ist selbst eine lineare Bewegung zwischen Punkten, die in Ecken anstelle von Koordinaten geschrieben sind, keine Garantie dafür, dass dies den Roboter dazu zwingt, ihnen zu folgen. Fanuk machte hierfür eine spezielle Anweisung, und Yaskawa gibt im Allgemeinen an, dass ihre Roboter nicht die Singularität spielen. Beide Ansätze funktionieren nicht. Mit Yaskava - wenn Sie über die Essenz dieses Phänomens nachdenken - scheint es ein Versuch zu sein, die Physik zu umgehen. Das Bedienfeld zeigt nicht wirklich die Aufschrift "Singularität" an, informiert aber gleichzeitig über das Überschreiten der Geschwindigkeit auf einer Achse. Wie unterscheidet sich das von einer Singularität? Nichts. Fanooks haben ein besonderes Team. WIRSJ, wenn mein Gedächtnis mir richtig dient (es ist lange her und hat nicht funktioniert, also haben sie es vergessen). Nun ja. Der Roboter fährt weiter. Nur während des Bewegungsprozesses "knetet es eine steife Bürste" und macht eine Bewegung mit den Endgelenken, die von Programmierern beim Tippen so geliebt werden - um das Handgelenk zu drehen.Die Folgen des Schwingens, wenn Robert einen Cutter oder einen Laserkopf in der Hand hat, sind sehr lustig, aber beängstigend. Daher muss der Singular berücksichtigt werden.
Ethernet
Nehmen wir an, wir haben diese Geschichte herausgefunden. Nehmen wir an, wir haben die Nuancen der Aufzeichnung des UP in den Gelenkecken im funuk und der modellabhängigen Impulse im Yaskawa herausgefunden. Und jetzt müssen wir das Programm in den Roboter schieben. Sie können natürlich ein Flash-Laufwerk und einen Arbeiter mitnehmen, der stolz damit zu Robert vorführt, aber sprechen wir über Automatisierung in ihrer reinsten Form? Deshalb müssen wir ein Programm an einen eisernen Freund senden. Direkter Speicherzugriff fehlt als Klasse, aber wir hatten unruhig so etwas wie FTP. Es scheint, dass alles cool ist, verbinden und gehen. Aber nein. Der Roboter kann nur ein Kunde sein.
Tatsächlich wird diese Funktion verwendet, um das UE aus dem Dateibehälter des Unternehmensnetzwerks aufzunehmen, in den Roboter zu laden und auszuführen. Ein Roboter ist eine sehr moderne Sache, da die darin enthaltene Speichermenge in Megabyte berechnet wird und die kubanischen Barone Tränen der Verzweiflung schlucken, die Kosten von 1 Byte zählen und den Sandkasten ihrer Kinder mit weißem Pulver betrachten. In diesem Zusammenhang - es wird nicht funktionieren, tausend UPs auf Robert zu speichern - wird der Speicher "oh alles" sagen. Und wenn wir viele Programme haben, seien Sie so freundlich, dass Sie mit der Fernbedienung in die Datei klettern und loslegen: Nur ein paar Minuten, und er, der das Programm auf DFÜ pumpt, wird über die Arbeitsbereitschaft berichten.
Nun, wenn das Chaos nicht besiegt werden kann, muss es geführt werden. Wir werden Robert verpflichten, die Datei per FTP hochzuladen. Warum sollte er den Namen der Datei angeben (naja, oder immer eine Datei mit dem gleichen Namen in den Ordner legen), business. Was wird dafür benötigt? Schreiben Sie ein Programm für Robert, das im Hintergrund auf einen Befehl zum Laden und Laden des Programms wartet. Und dann mach es. Zu diesem Zweck bietet Yaskawa uns an, eine Entwicklungsumgebung zu kaufen und uns mit der internen Sandbox zu befassen, die in C geschriebene Programme ausführt. In Bezug auf die Syntax ist dies natürlich C, aber bei den Konstruktionen ist nicht alles so offensichtlich und sehr schwach (weil neu, bis zu 2 Jahre) dokumentiert. Der technische Support ist in Deutschland und es gibt keine Eile, Hilfe zu leisten.
Fanuc ist hier nicht weit gegangen. Sie müssen auch eine Entwicklungsumgebung kaufen und gleichzeitig eine Option kaufen. In funook ist jedes Niesen eine Option. Die Liste dieser Freude ist wirklich beeindruckend, und die Kosten können Buchhaltungsallergien gegen Gelb verursachen. Aber - jeder verdient so gut er kann.
Schrieb, startete. Es funktioniert sogar. Mal 5. Und schwört dann auf den Mangel an Speicher, weil deine Programme lang sind - es ist verdammt. Drei Mal. Wir fluchen, wir werden die Löschung fertig schreiben. Debazhim. Und irgendwann reagiert Robert nicht mehr über das Netzwerk. Und alles warum? Und weil er die Verbindung beibehält und nicht weiß, wie er sich wieder verbinden soll. Hat sich der Server verlangsamt? Bitte starten Sie das Essen neu. Haltepunkt setzen? Dosviduli, Neustart des Essens. Im Laufe unserer Arbeit haben wir nie einen Weg gefunden, die Verbindung von Roberts Seite wieder herzustellen, und das klangvolle Klicken des Schalters war ein Nachruf für jede Debugging-Sitzung.
Debuggen, fertig und den Arbeitsschweiß wegwischen? Robert ist in Position, der Würfel ist bereit zum Feilen, der Cutter läuft und schärft die Zähne in Erwartung? Hurra? Sind sie sicher?
Richtigkeit
Punktkoordinaten werden mit einer Genauigkeit von 1 Tausendstel mm angegeben. Robert kann mit einer Genauigkeit von hundert Quadratmetern laufen. Hypothetisch. Plus minus. Aber immer noch beeindruckend! Aber was ist diese Genauigkeit?
Bei dieser Genauigkeit geht es um Wiederholbarkeit. Die Wiederholung von Roberts Ankunft an einem Punkt im Weltraum ist 100.000 Mal. Wenn Sie sich jedoch plötzlich dazu entschließen, Robert um 1000 mm zu bewegen, sind dies nicht 1000 mm. Nicht im Leben. Zumindest auf Roberts normalem und nicht auf Flügelflugzeugwert. Warum?
Tatsache ist, dass Robert ein virtuelles Modell in sich hat. Er weiß nicht, wie er wie ein Terminator seine Eingeweide auf dem Display im Schädel betrachten soll, aber er verwendet diese Zahlen, die die Größe jedes Gelenks charakterisieren, um von kartesisch in Gelenke umzuwandeln. Tatsächlich sind kartesische Koordinaten für Robert nur ein unbekanntes Spiel, dessen Name "reine Abstraktion" ist. Alles, was der Fahrer in der Steuerung tun kann, ist, jeden der 6 Motoren von Robert in einem bestimmten Winkel zu drehen. Und um von kartesisch in Gelenke umzuwandeln, werden genau die Konstanten verwendet, die die Größe der Gelenke bezeichnen. Und in der Fabrik, in der sie die Details der zukünftigen Unterdrücker der Menschheit gießen, schärfen und sehen, gibt es auch Toleranzen. Stellen Sie sich nun vor, welche Art von Fehler die Verschiebung der Größe einer der Verbindungen um beispielsweise 0,5 mm verursachen kann.
Es stellt sich also heraus, dass der Controller alles richtig berücksichtigt, aber auf ungenauen Daten basiert. Auf dem Freilauf eines Meters wollten wir eine Spreizung von 1,5 mm für einen völlig neuen, mit Wänden nie vertrauten Fanook. Es gibt sogar spezielle Leute, die kommen und durch komplexe Fahrten mit Messgeräten in der gesamten Zugänglichkeitszone entweder Korrekturtabellen erstellen oder diese Werte in Roberts Innereien korrigieren. Auch in der klassischen Anwendung ist dies nicht erforderlich - der Bediener brachte den Roboter an mehrere Punkte, überprüfte die Genauigkeit und bat ihn, dies für die nächsten 5 Jahre zu wiederholen. Fehler spielen hier keine Rolle - der Roboter verliert seine Wachstumsfähigkeit, egal wie viel Sie hineingießen, unmittelbar nach Verlassen des Werks. Und um die Geometrie eines Stücks Eisen zu biegen, muss es soooo geschüttelt werden ... Ich glaube nicht, dass es nach solchen Belastungen im Prinzip funktionieren kann. Aber wir brauchen esund dieses Problem muss gelöst werden.
Rückkopplung
... fehlt völlig. Wenn Sie Robert nach seinen aktuellen Koordinaten, der Position der Motoren oder der Zeile des ausführbaren Programms fragen möchten, kommt der Oblomingo-Vogel und deutet glücklich an, dass es schön wäre, weiterhin Handbücher zu rauchen und das Programmieren zu lernen. Es ist notwendig - schreiben.
Es macht mir nichts aus - aber ich möchte anscheinend keinen Pass und keine Wohnungsschlüssel von Robert erhalten. Es scheint eine Standardsache zu sein. Obwohl mir im Allgemeinen die Logik hinter diesen Einschränkungen, die Ethernet zu einer Einwegbrücke gemacht haben, möglicherweise nicht bekannt ist, ist es durchaus möglich, dass dies mit der Sicherheit zusammenhängt.
Ich habe es beschlossen
Ein weiteres
Darüber hinaus gibt es kein klares Muster - manchmal von -185 bis +180 fährt es richtig und manchmal von -165 bis +175 kann es in die falsche Richtung abheben. Warum diese verdammte Optimierung nicht klar ist, aber das Programm muss durch Einfügen eines Punktes geschrieben werden, an dem die Achse auf Null gesetzt ist. Und wenn Sie es laut Prozesstechnologie für ± 180 aufgedreht haben, addieren Sie ± 90, da es sonst auf dem kürzesten Weg wieder explodiert. Relevant für die 4. und 6. Achse.
Schamanismus
Haben Systemadministratoren ein Tamburin? Sie sind schwach! Der Roboterfahrer erscheint nicht vor dem Gesicht des Eisenstücks, ohne es mit Weihwasser zu besprühen, ohne sich an die Beine von Hühnern und Kaninchen zu hängen, ohne einen Büffelschädel auf den Kopf zu legen und ohne Yaki-Shuriken von einem Dutzend Hufeisen zu lösen.
Ich bin nicht mehr überrascht von der Regel "Sieben Probleme - ein Zurücksetzen". Dieser Schalter ist mir, einem Hund, schon sehr ans Herz gewachsen. Ich bin nicht überrascht über die Antworten „Warum“ und „Weil“. Aber einige Dinge liefern weiter. Zum Beispiel eine Kalibrierung mit einem Schweißverfolgungssystem, nach der Robert anfangen kann, zur Seite zu fahren. Oder Backups, die nicht erweitert werden. Oder die Kommentare "next% CrapName% ist geflogen." Oder absolut zufällig arbeitende native Pfadfilets. Dies ist zur Norm geworden.
Anstelle einer Schlussfolgerung
Ich rufe nicht an, um meine Worte als jammernd zu bewerten. Wie "Oh, wie schwierig ist es, mit ihnen zu leben." Trotz ihrer Macken machen diese sehr lustigen Tiere viel Spaß. Und das Durchbrechen der Dornen schlecht dokumentierter Funktionen und das Schnappen von Wundern über scheinbar übliche Dinge sagt nur eines aus: Bei der Entwicklung von Roberts wurden diese Themen nicht angemessen berücksichtigt. Und insgesamt funktioniert Ihr täglicher Gebrauch hervorragend.
Das Aufkommen neuer Technologien wird unweigerlich dazu führen, dass Roberts dem Entwickler gegenüber freundlicher wird und das derzeitige Tanzen mit einem Tamburin allmählich der Vergangenheit angehört. Sie ändern sich jedoch nicht so schnell, wie wir möchten. In Bezug auf den Konservatismus galoppieren sie der Entwicklung der Haie voraus, halten aber nicht mit der Geschwindigkeit der Reformen des britischen Parlaments Schritt. Sie müssen nur warten und heute lernen, diese nervigen Einschränkungen und niedlichen Kuriositäten zu umgehen.
Das nächste Mal werden wir über die Schwelle für den Berufseinstieg sprechen und dann die Merkmale der Implementierung des Importierens von Modellen aus CAD in .NET betrachten. Oder - die Nuancen des Oberflächen-Scannens. Alles - am Beispiel eines Bootes aus einem Würfel. Wir müssen es herausschneiden.