Ich kann Ihnen sagen, wie sie es auf Flugsimulatoren machen
Erstens erhalten Sie nur die Hälfte der Antwort, wenn Sie diese Frage nur Programmierern stellen. Sie sollten sie daher wahrscheinlich auf http://electronics.stackexchange.com kreuzen, während Sie gerade dabei sind.
Ich habe noch keine Arbeit mit Robotern gemacht, aber ich habe 5 Jahre damit verbracht, Hardware für Flugsimulatoren zu entwickeln, damit ich Ihnen sagen kann, wie ihre Architektur funktioniert.
Die Hardware-Schicht ist dumm
Es enthält eine grundlegende Schnittstelle, über die Sie einfache Ein- / Ausgabewerte anpassen und Interpolations-Haltepunkte für analoge Signale festlegen können. Wenn Sie mit "frischer" Hardware arbeiten, funktioniert alles wie erwartet mit wenig oder keiner Kalibrierung, aber im Laufe der Zeit unterliegen die Teile einem mechanischen Verschleiß und müssen angepasst werden.
Die Kalibrierung ist eine einfache Tabelle, die aufgeteilte Werte zwischen den min / max-Werten enthält. Um die Eingabe an diesen zu messen, wird normalerweise ein Servo verwendet (z. B. ein lineares Potentiometer, ein Wandler, Beschleunigungsmesser usw.). Oder bei Instrumenten beurteilen Sie die Genauigkeit einfach visuell und stellen sie ein, bis sie kalibriert sind.
Die Softwareschicht ist das Gegenteil
Alles ist komplex und miteinander verbunden, daher ist es wichtig, einige Variablen zu isolieren, um die Funktionalität zu testen. Sie müssen sich keine Gedanken über Szenarien machen, da es viel einfacher ist, einige realistische Szenarien auszuführen, in denen Sie Daten sammeln können. Wenn Sie die Tests ausführen, messen Sie im Grunde genommen die gespeicherten Daten anhand der aktuellen Ausgabe.
In einem Flugsimulator wird dies als QTG (Qualification Test Guide) bezeichnet. Im Kern werden die Daten in einem 2D-Raster aufgezeichnet, wobei eine Dimension die Zeit und die andere die Ausgabe ist.
Ob Sie es glauben oder nicht, das ist das Wesentliche bei der Entwicklung der Modelle. Ein echtes Flugzeug ist mit einer Tonne Sensoren ausgestattet und wird in kontrollierten Szenarien herumgeflogen. Da alle Steuerungen ohne menschliche Interaktion gesteuert werden können, werden die Tests vom Computer ausgeführt (dh die Sim fliegt selbst) und die Daten werden verglichen.
Auch wenn die Robotik in einem ganz anderen Maßstab erstellt wird, sind die Prinzipien dieselben. Der traditionelle Ansatz besteht darin, die Hardware- und Softwareschichten vollständig zu trennen, damit beide einzeln getestet werden können. Hardware-Input wird über Servos gesammelt und über eine unabhängige Schnittstelle eingestellt. Der Software-Eingang kann eingestellt / gelesen werden, indem die Signalisierung, die sonst an die Hardware gesendet würde, unabhängig gemessen und verglichen und mit den bekannten "guten" Daten verglichen wird.
Die Tests selbst müssen nicht unbedingt komplex sein, solange die Ergebnisse vorhersehbar, messbar und reproduzierbar sind.