1 Kommentare

 
GN⁺ 2024-10-27
Meinungen auf Hacker News
  • Ich habe früher schon andere Ansätze gesehen, bei denen einem Roboterarm eine IMU hinzugefügt wurde. Das Kombinieren zweier unterschiedlicher Sensortypen nennt man Sensor Fusion, und es ist üblich, IMU und GPS zusammen mit einem Kalman-Filter zu verwenden, um sehr genaue Positionswerte zu erhalten.
    Besonders cool an diesem Video ist, dass der neue Sensor im Motor selbst untergebracht wurde, wodurch das Ganze deutlich kleiner und steifer werden konnte.
    [1] https://en.wikipedia.org/wiki/Inertial_measurement_unit
    [2] https://en.wikipedia.org/wiki/Sensor_fusion
    [3] https://en.wikipedia.org/wiki/Kalman_filter

  • Wenn man so etwas bauen möchte: Der neue Raspberry Pi Pico 2 ist um Größenordnungen leistungsfähiger als der hier verwendete Chip und kostet etwa die Hälfte.
    Als Einstiegsgerät für 32-Bit-ARM/RISC-Embedded-Systeme wirkt er derzeit vom Preis-Leistungs-Verhältnis her unschlagbar.

    • Man sollte allerdings wissen, dass man laut Erratum 9 statt des internen Pull-downs einen externen Pull-down vorsehen muss.
    • Auch der inzwischen vergleichsweise ältere Teensy 4.1 liefert immer noch hervorragende Leistung. Er ist mit etwa 30 Dollar etwas teurer, läuft aber mit einem Cortex M7 bei 600 MHz und bietet reichlich I/O sowie Protokolle.
    • Klingt toll, aber was ist dann der Trade-off?
  • Es gibt auch große Industrieroboter, die für höhere „Out-of-the-box“-Genauigkeit bei anspruchsvolleren Aufgaben sekundäre Encoder verwenden.
    Dabei wird zusätzliches Gelenk-Feedback mit der Roboterstruktur und dem kinematischen Modell der Mechanik kombiniert, um genauer vorherzusagen, wo sich der tatsächliche Tool Center Point des Roboters befindet.
    https://electroimpact.com/Products/Robots/AchievingAccuracy

    • Wofür werden dann die primären Encoder verwendet?
  • Man kann Backlash nicht beurteilen, indem man nur beobachtet, wie ein Roboter immer wieder exakt dieselbe Bewegungssequenz wiederholt. Damit nimmt man die Hysterese definitionsgemäß aus dem Problem heraus.

    • Scheint nicht dieselbe Bewegung zu sein, oder? Die zweite Bewegung geht doch in die andere Richtung.
  • Nett, aber verrichtet dieser Roboter überhaupt echte Arbeit?
    Ich kann mir schwer vorstellen, zu welchen nützlichen Anwendungen es führt, die Positionsgenauigkeit eines Systems mit großem Backlash im Leerlauf zu erhöhen. Vielleicht fehlt mir nur die Fantasie.
    Heutzutage gibt es diesen Trend, dass Software es schon richten wird, wenn man schlechte Hardware baut oder kauft, aber ich habe selten gesehen, dass das wirklich funktioniert. Mir fallen Tesla mit Webcams fürs autonome Fahren oder Boeing ein, die ein Flugzeug entworfen und dann fehlerhafte Lagesensoren verwendet haben.
    Es wäre viel beeindruckender gewesen, wenn der Roboter etwas Nützliches getan hätte, und ich vermute, dass die praktische Anwendbarkeit ziemlich begrenzt ist.

    • Der Boeing-Fall wirkt mir zu stark vereinfacht. Das Ziel war, ein effizientes Flugzeug zu bauen, um mit Airbus zu konkurrieren, dabei aber die Kosten und Verzögerungen einer neuen Musterzulassung zu vermeiden.
      Dafür mussten größere Triebwerke an dieselbe Zelle, was dazu führte, dass die Triebwerke weiter vorn montiert werden mussten; dadurch änderten sich die Flugeigenschaften, und eine Umschulung wäre nötig geworden. Umschulung wäre für den Verkauf fatal gewesen, also setzte man ein Softwaresystem oben drauf, damit es so wirkte, als flöge die Maschine wie eine alte 737.
      So konnten Piloten mit einem iPad-Training upgraden. Dieses Korrektursystem sollte verhindern, dass Piloten merken, dass sie bei hohem Anstellwinkel in einen Strömungsabriss geraten, und deshalb nutzte MCAS anhand des gemessenen Anstellwinkels den AoA-Sensor, um die Nase nach unten zu drücken.
      Der AoA-Sensor war ursprünglich nicht dafür ausgelegt, als direkter, lebenswichtiger Kerneingang zu dienen, und er konnte gelegentlich klemmen oder ausfallen. MCAS nutzte nur einen davon als Eingang. Wenn MCAS fälschlich entschied, dass die Nase gesenkt werden müsse, und der Pilot entsprechend seiner 737-Ausbildung reagierte, war das der letzte Flug dieses Tages. Das Flugzeug stürzte ab.
      Letztlich hat Boeing in jeder Phase dieses schrecklichen Plans Menschen getötet, um mehr Geld zu verdienen. Ich stimme dem ursprünglichen Punkt zu, aber Boeing ist fast ein Beispiel für böswilliges Design im schlimmsten Sinne und sollte gesondert eingeordnet werden.
    • Eine Roboteranwendung, bei der ohne Last sehr präzise Bewegungen nötig sind, sind robotische Messsysteme wie Koordinatenmessgeräte: https://en.wikipedia.org/wiki/Coordinate-measuring_machine
    • In späteren Videos sieht man, wie der Servo am Ende eines langen Arms ein Gewicht anhebt.
  • Eine Frage an Leute, die solche analogen Messuhren benutzt haben: Bevor die Kamera heranzoomt, um den angezeigten Wert abzulesen, scheint der Zeiger eine ganze Umdrehung zu machen. Zeigt das Video die behauptete Genauigkeit tatsächlich?

    • Ich habe nicht das ganze Video gesehen, aber vermutlich wurde „x von 0,00 auf 10,00 bewegen“ ausgeführt, und die Messuhr zeigte, dass die endgültige Position tatsächlich 10,05 war.
      Angesichts dessen, wie weich diese Vorrichtung ist, ist das ziemlich beeindruckend.
      Allerdings muss man bei solchen Messuhren eine Vorspannung anlegen, um Bewegungen in negativer Richtung zu messen, also sie in den „positiven“ Bereich hineindrücken. Es sieht zwar so aus, als wäre das gemacht worden, aber ohne jetzt tiefer zu analysieren, bin ich mir nicht zu 100 % sicher.
      Außerdem liefert die Messuhr selbst eine gewisse Vorspannung und könnte dadurch einen beträchtlichen Teil des Spiels im System eliminieren, sodass die Genauigkeit besser aussieht, als sie wirklich ist.
    • Genau. Die Kugel am Ende hat einen festen Radius, und wenn diese Kugel um ihren Radius hineingedrückt wird, also der Kontaktpunkt genau auf der Mittellinie liegt, zeigt die Anzeige wieder 0 an.
      Wenn der Kontakt abgerissen ist, bedeutet das eher, dass man mindestens 1 mm von der eigentlich vorgesehenen Stelle abweicht.
      Normalerweise gibt es einen zweiten Zeiger, der anzeigt, in welcher dieser beiden Situationen man sich befindet, aber im Kontext der Nutzung eines solchen Geräts ist die Lage bei 1 mm Abweichung wohl so eindeutig, dass man ihn nicht für nötig hielt.
  • Wie schafft ein dreiachsiger Roboter für 100 Dollar, also ein 3D-Drucker, eine statische Genauigkeit von 0,05 mm?
    Das ist keine Frage der Regelungstheorie, sondern der mechanischen Konstruktion und der Schrittmotoren

    • Es ist ein Kompromiss zwischen Gantry-Konstruktion und Arm-Konstruktion
    • Stimmt, aber das ist kein Roboterarm und daher weniger interessant. Die Armlänge verstärkt Fehler; um also einen Arm auf Basis von „mechanischer Konstruktion und Steppern“ zu bauen, der dieselbe Positionsgenauigkeit wie ein Drucker erreicht, müssten die Motoren viel präziser sein, oder bei Untersetzung müsste das Spiel extrem gering sein, wie bei industriellen Roboterarmen
    • Ich frage mich, wie man ein x/y-System mit einer Genauigkeit von 0,05 mm oder besser, optional mit z, am besten nachbildet. Natürlich unter der Bedingung, dass die Geschwindigkeit nicht geopfert wird
  • Ich habe mich immer gefragt, warum man bei Robotern nicht häufiger Pantografen einsetzt, wenn Präzision gefragt ist
    Das ist eine Methode, die für präzises Holzschneiden oder das Gravieren von Holz und Metall verwendet wird
    https://en.wikipedia.org/wiki/Pantograph
    https://youtu.be/s56J_Rnh_Co
    Wenn man die „große“ Seite antreibt, um die „kleine“ Seite zu bewegen, kann man eine hohe Präzision erreichen

    • Feynman behandelt auf den Seiten 6–7 von https://calteches.library.caltech.edu/1976/1/1960Bottom.pdf Pantografen und Präzisionsfragen. Ich habe selbst nicht gründlich darüber nachgedacht
    • Pantografen sind im Allgemeinen in 2D nützlich; wenn ein Roboter nur 2D benötigt, sind Schienen einfach genauer
  • Das ist wirklich ein großartiger Encoder-Trick. Ich hätte nicht gedacht, dass er so gut ist, aber im Video sieht es definitiv gut aus

    • Was dieses Video zeigt, ist größtenteils Wiederholgenauigkeit bei Wiederholungen in dieselbe Richtung, nicht absolute statische Genauigkeit. Das Spiel einzelner Motoren kann man kompensieren, aber Lockerheit oder Durchbiegung der Glieder nicht
      Hier werden DC-Motoren verwendet. Mit modernen dreiphasigen Servomotoren wüsste man mehr darüber, was der Motor tatsächlich tut