Robotik ist eine einzigartige Mischung aus Wissenschaft und Technologie, die Maschinen hervorbringt, die die Handlungen von Menschen nachahmen.
In den frühen 2000er Jahren waren 90 % der Roboter in Automobilfabriken im Einsatz und ersetzten den Menschen bei sich wiederholenden Aufgaben. Jetzt können Roboter Häuser staubsaugen und sogar in Restaurants servieren.
Ein Roboter besteht normalerweise aus drei Arten von Komponenten; der mechanische Körper; das elektrische Skelett und schließlich ein mit Code erstelltes Gehirn.
Diese Komponenten ermöglichen es einem Roboter, Daten (häufig von Sensoren) zu sammeln, über programmierte Logik Entscheidungen zu treffen, um sein Verhalten anzupassen und Aufgaben zu erledigen.
Roboter können über drei Arten von Programmen verfügen; Fernbedienung (RC), Artificial Intelligence (KI) oder Hybrid.
RC-Programme erfordern das Eingreifen eines Menschen, der dem Roboter das Start- und/oder Stoppsignal für die Ausführung von Code geben kann. Programme bestehen aus verschiedenen Arten von Algorithmen mit jeweils unterschiedlichen Funktionen.
Was ist ein Algorithmus?
Ein Algorithmus ist eine Reihe von Codezeilen, mit denen ein Roboter bestimmte Anweisungen ausführen kann. Es übersetzt die Ideen des Entwicklers in eine Sprache, die von Robotern verstanden wird.
Algorithmen können in vielen Arten der Notation ausgedrückt werden, einschließlich Pseudocode, Flussdiagrammen, Programmiersprachenoder Steuertabellen.
In diesem Artikel besprechen wir einige gängige Arten von Algorithmen, die in diesen Programmen verwendet werden.
Arten von Algorithmen, die in der Robotik verwendet werden
1. Anytime A*-Algorithmus
Der A*-Algorithmus ist ein Pfadsuchalgorithmus, der verwendet wird, um den optimalsten Pfad zwischen zwei Punkten, also mit den geringsten Kosten, zu finden.
Der Anytime-A*-Algorithmus hat flexible Zeitkosten und kann den kürzesten Weg zurückgeben, selbst wenn er unterbrochen wird, da er zuerst eine nicht optimale Lösung generiert und diese dann optimiert.
Dies ermöglicht eine schnellere Entscheidungsfindung, da der Roboter auf früheren Berechnungen aufbauen kann, anstatt bei Null anzufangen.
Wie funktioniert es?
Dies geschieht durch die Bildung eines „Baums“, der sich vom Startknoten bis zum Auslösen der Beendigungskriterien erstreckt, was bedeutet, dass ein kostengünstigerer Pfad verfügbar ist.
Es wird ein 2D-Gitter mit Hindernissen erstellt und eine Startzelle und Zielzellen werden punktgenau festgelegt.
Der Algorithmus definiert den „Wert“ eines Knotens durch f, das die Summe der Parameter g (die Kosten für die Bewegung vom Startknoten zum betreffenden Knoten) und h (die Kosten für die Bewegung vom betreffenden Knoten zum Zielknoten) ist.
Anwendungen
Viele Spiele und webbasierte Karten nutzen diesen Algorithmus, um effizient den kürzesten Weg zu finden. Es kann auch für mobile Roboter verwendet werden.
Sie können auch komplexe Probleme wie das lösen Newton-Raphson Iteration zum Finden der Quadratwurzel einer Zahl.
Es wird auch bei Flugbahnproblemen verwendet, um die Bewegung und Kollision eines Objekts im Raum vorherzusagen.
2. D*-Algorithmus
D*, Focused D* und D* Lite sind inkrementelle Suchalgorithmen, um den kürzesten Weg zwischen zwei Punkten zu finden.
Sie sind jedoch eine Mischung aus A*-Algorithmen und neuen Entdeckungen, die es ihnen ermöglichen, Informationen für unbekannte Hindernisse zu ihren Karten hinzuzufügen.
Sie können dann basierend auf neuen Informationen eine Route neu berechnen, ähnlich wie der Mars Rover.
Wie funktioniert es?
Die Funktionsweise des D*-Algorithmus ähnelt der von A*, der Algorithmus definiert zunächst f, h und erstellt eine offene und geschlossene Liste.
Danach bestimmt der D*-Algorithmus den g-Wert des aktuellen Knotens anhand des g-Werts seiner Nachbarknoten.
Jeder Nachbarknoten schätzt den g-Wert des aktuellen Knotens und der kürzeste g-Wert wird als neuer g-Wert angepasst.
Anwendungen
D* und seine Varianten werden häufig für mobile Roboter und verwendet autonomes Fahrzeug Navigation.
Zu diesen Navigationssystemen gehören ein Prototypsystem, das auf den Marsrovern Opportunity und Spirit getestet wurde, und das Navigationssystem, das den Preis gewonnen hat DARPA Urban Challenge.
3. PRM-Algorithmus
Eine PRM oder probabilistische Roadmap ist ein Netzwerkdiagramm möglicher Pfade basierend auf freien und belegten Plätzen auf einer bestimmten Karte.
Sie werden in komplexen Planungssystemen und auch zum Finden kostengünstiger Wege um Hindernisse herum eingesetzt.
PRMs verwenden eine Zufallsstichprobe von Punkten auf ihrer Karte, an denen sich ein Robotergerät möglicherweise bewegen kann, und berechnen dann den kürzesten Weg.
Wie funktioniert es?
PRM besteht aus einer Konstruktions- und einer Abfragephase.
In der ersten Phase wird eine Roadmap grafisch dargestellt, die mögliche Bewegungen in einer Umgebung annähert. Anschließend wird eine zufällige Konfiguration erstellt und mit einigen Nachbarn verbunden.
Die Start- und Zielkonfigurationen werden in der Abfragephase mit dem Diagramm verbunden. Der Pfad wird dann durch a erhalten Dijkstras kürzester Weg Abfrage.
Anwendungen
PRM wird in lokalen Planern verwendet, bei denen der Algorithmus einen geraden Pfad zwischen zwei Punkten berechnet, nämlich dem Anfangs- und dem Zielpunkt.
Der Algorithmus kann auch zur Verbesserung von Anwendungen zur Pfadplanung und Kollisionserkennung verwendet werden.
4. Zero Moment Point (ZMP)-Algorithmus
Zero Moment Point (ZMP-Technik) ist ein Algorithmus, der von Robotern verwendet wird, um die Gesamtträgheit gegenüber der Reaktionskraft des Bodens aufrechtzuerhalten.
Dieser Algorithmus nutzt das Konzept der Berechnung des ZMP und wendet es an, um zweibeinige Roboter auszubalancieren. Die Verwendung dieses Algorithmus auf einer glatten Bodenoberfläche ermöglicht es dem Roboter scheinbar, so zu gehen, als ob es keinen Moment gäbe.
Herstellerunternehmen wie ASIMO (Honda) nutzen diese Technik.
Wie funktioniert es?
Die Bewegung eines Laufroboters wird mithilfe der Drehimpulsgleichung geplant. Es stellt sicher, dass die erzeugte Gelenkbewegung eine dynamische Haltungsstabilität des Roboters gewährleistet.
Diese Stabilität wird durch den Abstand des Nullmomentpunktes (berechnet durch den Algorithmus) innerhalb der Grenzen eines vordefinierten Stabilitätsbereichs quantifiziert.
Anwendungen
Nullmomentpunkte können als Metrik verwendet werden, um die Kippstabilität von Robotern wie dem iRobot PackBot beim Überwinden von Rampen und Hindernissen zu bewerten.
5. Proportional-Integral-Differential (PID)-Regelungsalgorithmus
Proportional-Integral-Differenzialregelung oder PID erstellt eine Sensor-Rückkopplungsschleife, um die Einstellungen für mechanische Komponenten durch Berechnung des Fehlerwerts anzupassen.
Diese Algorithmen kombinieren alle drei Grundkoeffizienten, also Proportion, Integral und Ableitung, so dass ein Steuersignal entsteht.
Es arbeitet in Echtzeit und nimmt bei Bedarf Korrekturen vor. Dies ist in zu sehen selbstfahrenden Autos.
Wie funktioniert es?
Der PID-Regler nutzt drei Regelterme: Proportionalität, Integral- und Differentialeinfluss auf seinen Ausgang, um eine genaue und optimale Regelung zu gewährleisten.
Dieser Regler berechnet kontinuierlich einen Fehlerwert als Differenz zwischen einem gewünschten Sollwert und einer gemessenen Prozessgröße.
Anschließend wird eine Korrektur vorgenommen, um den Fehler im Laufe der Zeit durch Anpassung der Steuervariablen zu minimieren.
Anwendungen
Dieser Controller kann jeden Prozess steuern, der über eine messbare Ausgabe, einen bekannten Idealwert für diese Ausgabe und eine Eingabe in den Prozess verfügt, die sich auf die messbare Ausgabe auswirkt.
In der Industrie werden Regler zur Regelung von Temperatur, Druck, Kraft, Gewicht, Position, Geschwindigkeit und allen anderen Variablen verwendet, für die eine Messung vorliegt.
Zusammenfassung
Dies waren also einige der am häufigsten in der Robotik verwendeten Algorithmen. Alle diese Algorithmen sind recht komplex und verwenden eine Mischung aus physikalischen Berechnungen, linearer Algebra und Statistik, um Aktionen und Bewegungen abzubilden.
Mit fortschreitender Technologie werden die Robotikalgorithmen jedoch immer komplexer. Die Roboter werden in der Lage sein, mehr Aufgaben zu erledigen und selbständiger zu denken.
Wenn Ihnen dieser Artikel gefallen hat, Abonnieren Sie HashDork's Weekly Updates per E-Mail, in denen wir die neuesten Nachrichten zu KI, ML, DL, Programmierung und Zukunftstechnologie teilen.
Hinterlassen Sie uns einen Kommentar