{"id":669,"date":"2026-06-05T12:19:52","date_gmt":"2026-06-05T03:19:52","guid":{"rendered":"https:\/\/wuhanqing.cn\/wordpress\/?p=669"},"modified":"2026-06-05T12:19:52","modified_gmt":"2026-06-05T03:19:52","slug":"abschlussprojekt-entwurf-und-implementierung-eines-linienverfolgungs-und-materialtransport-robotersystems-basierend-auf-lego-ev3","status":"publish","type":"post","link":"https:\/\/wuhanqing.cn\/wordpress\/de\/2026\/06\/05\/abschlussprojekt-entwurf-und-implementierung-eines-linienverfolgungs-und-materialtransport-robotersystems-basierend-auf-lego-ev3\/","title":{"rendered":"[Abschlussprojekt] Entwurf und Implementierung eines Linienverfolgungs- und Materialtransport-Robotersystems basierend auf LEGO EV3"},"content":{"rendered":"<p># [Abschlussprojekt] Entwurf und Implementierung eines Linienverfolgungs- und Materialtransport-Robotersystems basierend auf LEGO EV3<\/p>\n<p>## Zusammenfassung<\/p>\n<p>In diesem Projekt wurde ein intelligenter Linienverfolgungs- und Materialtransport-Roboter auf Basis der LEGO MINDSTORMS EV3-Plattform entworfen und implementiert. Um die Herausforderungen der Erkennung mehrerer Kreuzungen auf komplexen Strecken, der dynamischen Linienverfolgung und der Aufnahme bestimmter Objekte zu bew\u00e4ltigen, wurde in der unteren Bewegungsebene ein verbesserter Proportional-Differential (PD)-Regelalgorithmus auf Basis eines diskreten Zeitsystems eingef\u00fchrt. In Kombination mit einem differentialgetriebenen Bewegungsmodell wurde eine sanfte und adaptive Trajektorienverfolgung des Roboters realisiert. F\u00fcr die makroskopische Pfadplanung und Aufgabenausf\u00fchrung wurde ein deterministisches Entscheidungsbaummodell auf Basis der Booleschen Logik und eines endlichen Automaten (Finite State Machine, FSM) entwickelt, das typische technische Probleme wie \u201eSensor-Blindung\u201c, \u201efalsche Kreuzungserkennung\u201c und \u201efalsch-positive Zielerkennung\u201c l\u00f6st. Dieser Aufsatz erl\u00e4utert detailliert die theoretischen Grundlagen des Regelungssystems, die mathematische Herleitung der Algorithmen, das kooperative Software-Hardware-Design und vergleicht die Leistung verschiedener Regler auf geraden, elliptischen und komplexen 8-f\u00f6rmigen Trajektorien unter Bezugnahme auf die Geschichte der Kybernetik und relevante empirische Studien. Gleichzeitig werden Optimierungsma\u00dfnahmen f\u00fcr die Rechenleistung auf unterer Ebene vorgeschlagen, die auf die physikalischen Eigenschaften eingebetteter Systeme (wie CPU-Hunger, PWM-Regelungsantwort) abzielen$^{[1]}$.<\/p>\n<p>## 1. Einleitung<\/p>\n<p>Im Bereich der mobilen Robotik sind die Linienverfolgung (Line Tracking) und die autonome Navigation die Grundlage f\u00fcr die Durchf\u00fchrung komplexer Aufgaben. Der Kern liegt in der Entwicklung eines zuverl\u00e4ssigen Reglers, der mit dynamischen Umgebungen und Hardwareeinschr\u00e4nkungen umgehen kann. In der fr\u00fchen Entwicklung der Automatisierungstechnik wurde h\u00e4ufig eine einfache Ein-Aus-Regelung (Bang-Bang- oder ON-OFF-Regelung) eingesetzt. Diese \u201eSchwarz-Wei\u00df\u201c-Regelungslogik f\u00fchrt jedoch oft zu starken Schwingungen der Roboterbewegung, erh\u00f6htem mechanischem Verschlei\u00df und einer hohen Wahrscheinlichkeit der Entgleisung bei hohen Geschwindigkeiten. Da ein zweir\u00e4driger Differentialroboter ein typisches nicht-holonomes System (Non-holonomic constraint) darstellt, dessen Quergeschwindigkeit stets Null ist und laterale Abweichungen nur durch die Gierwinkelgeschwindigkeit korrigiert werden k\u00f6nnen, werden hohe Anforderungen an die Gl\u00e4tte und Genauigkeit der Lenkbefehle gestellt$^{[1]}$.<\/p>\n<p>Um die Robustheit und das dynamische Ansprechverhalten des Systems zu verbessern, wurde in diesem Projekt der in der Industrie weit verbreitete PID (Proportional-Integral-Derivative)-Regelkreisalgorithmus eingef\u00fchrt$^{[2]}$. Die Geschichte der PID-Regelungstheorie reicht bis in die 1890er Jahre mit dem Entwurf von Drehzahlreglern zur\u00fcck. Im Jahr 1922 wurde sie erstmals von dem russisch-amerikanischen Ingenieur Nicolas Minorsky bei der Entwicklung eines automatischen Schiffssteuerungssystems f\u00fcr die US-Marine einer strengen mathematischen theoretischen Analyse unterzogen$^{[2]}$. Minorsky beobachtete die Handlungen von Steuerleuten und stellte fest, dass eine gute Regelung nicht nur den aktuellen Fehler, sondern auch den akkumulierten Fehler der Vergangenheit und den Trend der Fehler\u00e4nderung ber\u00fccksichtigen muss$^{[2]}$. Darauf aufbauend wurde in dieser Studie der traditionelle PID-Regler unter Verwendung der Multi-Photosensor-Fusionstechnologie des LEGO EV3 diskretisiert und dimensional reduziert, um eine adaptive Verfolgung der F\u00fchrungslinie zu erreichen. Relevante empirische Studien zeigen, dass der Einsatz eines PID-Reglers auf einem LEGO EV3-Roboter hochfrequente Schwingungen des Fahrgestells effektiv unterdr\u00fccken und die Effizienz und Stabilit\u00e4t der Linienverfolgung auf komplexen Strecken verbessern kann$^{[1]}$.<\/p>\n<p>LEGO MINDSTORMS EV3 ist das dritte Robotik-Kit von LEGO. Der programmierbare Kernstein ist mit einem TI Sitara AM1808-Prozessor auf ARM9-Architektur mit einer Taktfrequenz von 300 MHz ausgestattet und l\u00e4uft unter einem leichtgewichtigen Linux-Betriebssystem$^{[3]}$. EV3 unterst\u00fctzt eine Vielzahl von Sensoren (Farbsensor, Ultraschallsensor, Gyroskop usw.) und Servomotoren und kann \u00fcber die grafische Programmierumgebung LabVIEW oder h\u00f6here Programmiersprachen wie MicroPython programmiert werden$^{[3]}$. Diese Hardwareeigenschaften bilden die Grundlage f\u00fcr die Implementierung von Regelalgorithmen.<\/p>\n<p>## 2. Kernalgorithmus der unteren Ebene: Differentialkinematik und verbesserte PD-Regelung<\/p>\n<p>Der Kern der Linienverfolgung besteht darin, durch die R\u00fcckmeldung des Lichtstroms der Farbsensoren in Echtzeit den Fehler der Abweichung des Fahrzeugs von der F\u00fchrungslinie zu berechnen und diesen in eine dynamische Drehzahldifferenz der linken und rechten Antriebsr\u00e4der umzuwandeln, wodurch ein Korrekturmoment erzeugt wird. In diesem Projekt wurde eine Hardwareanordnung mit zwei Farbsensoren verwendet, die die Linie \u00fcberspannen, und ein digitaler PD-Regler wurde an die Abtasteigenschaften des eingebetteten Mikroprozessors angepasst.<\/p>\n<p>### 2.1 Kinematisches Modell des differentialgetriebenen Roboters<\/p>\n<p>Vor der Entwicklung des Regelalgorithmus m\u00fcssen die kinematischen Eigenschaften des Roboterfahrgestells gekl\u00e4rt werden, die als physikalische Grundlage f\u00fcr die Ausgabe der Stellgr\u00f6\u00dfen dienen. Die Lineargeschwindigkeiten des linken und rechten Antriebsrads seien $V_L$ bzw. $V_R$, der Abstand zwischen den beiden Radmitten (Radstand) sei $d$ und der Radius der Antriebsr\u00e4der sei $r$. Gem\u00e4\u00df dem nicht-holonemen Bewegungsmodell eines Radmobilen Roboters (Wheeled Mobile Robot) k\u00f6nnen die gesamte Lineargeschwindigkeit $V$ des Roboterschwerpunkts und die Gierwinkelgeschwindigkeit $\\omega$ durch die folgenden Gleichungen abgeleitet werden$^{[2]}$:<\/p>\n<p>$$V(t) = \\frac{V_R(t) + V_L(t)}{2}$$<\/p>\n<p>$$\\omega(t) = \\frac{V_L(t) - V_R(t)}{d}$$<\/p>\n<p>Aus diesem mathematischen Modell ist ersichtlich, dass durch Anlegen gleich gro\u00dfer, aber entgegengesetzt gerichteter Differenzialausgleichswerte an das linke und rechte Rad (d. h. \u00c4nderung der relativen Gr\u00f6\u00dfe von $V_L$ und $V_R$) die Gierwinkelgeschwindigkeit $\\omega$ des Roboters linear gesteuert werden kann. Diese Differenzialkompensation ist das erforderliche Lenkmoment des Systems und bildet die dynamische Grundlage f\u00fcr die Korrektur der Roboterhaltung.<\/p>\n<p>### 2.2 Mathematische Herleitung des diskreten PID-Regelalgorithmus<\/p>\n<p>Die klassische PID-Regelgleichung im kontinuierlichen Zeitbereich zielt darauf ab, die Stellgr\u00f6\u00dfe durch Proportional-, Integral- und Differentialoperationen des Fehlers zu berechnen. Ihre Standardformel lautet$^{[2]}$:<\/p>\n<p>$$u(t) = K_p e(t) + K_i \\int_{0}^{t} e(\\tau) d\\tau + K_d \\frac{de(t)}{dt}$$<\/p>\n<p>Dabei sind $K_p, K_i, K_d$ der Proportionalverst\u00e4rkung, der Integralverst\u00e4rkung bzw. der Differentialverst\u00e4rkung, und $e(t)$ ist der Fehler zwischen dem Sollwert und dem R\u00fcckmeldungswert des Systems$^{[2]}$.<\/p>\n<p>Der Hauptprozessor des EV3 (ARM9) ist jedoch ein digitales eingebettetes System, das auf diskreter Zeitabtastung basiert und keine kontinuierlichen Differential- und Integraloperationen direkt verarbeiten kann. Daher m\u00fcssen wir die obige kontinuierliche Gleichung mit der Methode der finiten Differenzen diskretisieren. Angenommen, die konstante Abtastperiode des Mikroprozessors sei $\\Delta t$ und der Fehler der $k$-ten Abtastung sei $E(k)$. Nach dem Prinzip der r\u00fcckw\u00e4rtigen finiten Differenzen kann die Ableitung erster Ordnung durch die Differenzengleichung $\\frac{E(k) - E(k-1)}{\\Delta t}$ und das Integral durch die diskrete Summe $\\sum_{j=0}^{k} E(j) \\Delta t$ angen\u00e4hert werden. Daraus ergibt sich die positionsbezogene digitale PID-Gleichung$^{[2]}$:<\/p>\n<p>$$U(k) = K_p E(k) + K_i \\sum_{j=0}^{k} E(j) \\Delta t + K_d \\frac{E(k) - E(k-1)}{\\Delta t}$$<\/p>\n<p>Bei der Linienverfolgung mit symmetrischen Doppelphotosensoren \u00e4ndert sich die Kr\u00fcmmung der F\u00fchrungslinie relativ schnell. Wenn der Integralterm $I$ beibehalten wird, akkumuliert der Integrator bei gro\u00dfen \u00c4nderungen des Sollwerts (z. B. bei Kurven mit gro\u00dfer Kr\u00fcmmung) einen \u00fcberm\u00e4\u00dfigen Fehler. Dies kann dazu f\u00fchren, dass die Stellgr\u00f6\u00dfe durch die oberen und unteren Grenzen abgeschnitten wird, was als \u201eIntegral Windup\u201c (Integrators\u00e4ttigung) bezeichnet wird. Dies \u00e4u\u00dfert sich darin, dass die Systemausgabe an der S\u00e4ttigungsgrenze verharrt und selbst bei einem Vorzeichenwechsel des Fehlers nicht rechtzeitig reagieren kann, was letztendlich zu einem \u00dcberschwingen des Fahrzeugs oder einem Verlassen der Strecke f\u00fchrt. Daher wurde in diesem Projekt das traditionelle Modell durch Dimensionsreduktion optimiert, der Integralterm weggelassen und die konstante Abtastperiode $\\Delta t$ implizit in die Koeffizienten integriert, um den diskreten digitalen PD-Regler zu erhalten$^{[2]}$:<\/p>\n<p>$$U(k) = K_p \\cdot E(k) + K_d \\cdot [E(k) - E(k-1)]$$<\/p>\n<p>### 2.3 Systemebenen-Abbildung und Parameteranalyse des Lenkausgleichsalgorithmus<\/p>\n<p>Im tats\u00e4chlichen Softwarecode des Projekts wird die folgende Lenkausgleichsgleichung (Turn) durch verschachtelte mathematische Module auf h\u00f6herer Ebene implementiert:<\/p>\n<p>$$Turn = (a-b) \\times 0.8 + ((a-b)-c) \\times 0.6$$<\/p>\n<p>Diese Gleichung steht in einer Korrespondenzbeziehung zu dem oben abgeleiteten diskreten digitalen PD-Regler. Zun\u00e4chst zur Erfassung des Fehlersignals: $a$ repr\u00e4sentiert den digitalen Wert der reflektierten Lichtintensit\u00e4t des linken Sensors, $b$ den des rechten Sensors. Basierend auf dem Prinzip der diffusen Reflexion ist das aktuelle Fehlersignal $E(k) = a - b$. Wenn das Fahrzeug zentriert ist, befinden sich die linken und rechten Sensoren an der Grenze zwischen Schwarz und Wei\u00df, die Lichtabsorption ist \u00e4hnlich, sodass $a-b \\approx 0$ ist. Weicht das Fahrzeug nach rechts ab, gelangt der linke Sensor in den wei\u00dfen, stark reflektierenden Bereich und der rechte Sensor in den schwarzen, schwach reflektierenden Bereich, wodurch ein positives Fehlersignal entsteht.<\/p>\n<p>Zweitens entspricht $(a-b) \\times 0.8$ in der Gleichung dem Proportionalterm (Proportional Term). Die Proportionalregelung ber\u00fccksichtigt nur den aktuellen Fehler und erzeugt ein R\u00fcckstellmoment, das proportional zur aktuellen Abweichung ist. Die Proportionalverst\u00e4rkung $K_p = 0.8$ bestimmt die St\u00e4rke der Reaktion des Systems auf St\u00f6rungen: Je gr\u00f6\u00dfer die Abweichung, desto st\u00e4rker das ausgegebene Korrekturmoment.<\/p>\n<p>Schlie\u00dflich bildet $((a-b)-c) \\times 0.6$ den Differentialterm (Derivative Term) ab, wobei $c$ den im Register gespeicherten historischen Fehler des vorherigen Zyklus $E(k-1)$ darstellt. Der Differentialterm wirkt wie ein D\u00e4mpfer des Systems. Er berechnet die erste Ableitung des Fehlers, um zuk\u00fcnftige Trends vorherzusagen. Wenn sich das Fahrzeug unter der Wirkung der Proportionalregelung der Mittellinie n\u00e4hert, ist der aktuelle Positionsfehler $E(k)$ zwar noch gr\u00f6\u00dfer als 0, aber seine \u00c4nderungsrate $\\Delta E(k)$ ist bereits negativ geworden. Zu diesem Zeitpunkt erzeugt der Differentialterm vorzeitig ein entgegengesetztes Bremsmoment, das die Gesamtstellgr\u00f6\u00dfe reduziert und so das \u00dcberschwingen (Overshoot) und die Schwingung des unterd\u00e4mpften Systems unterdr\u00fcckt. $K_d = 0.6$ ist der nach der Systemabstimmung ermittelte Differentiald\u00e4mpfungskoeffizient. Es ist zu beachten, dass ein idealer Differenzierer empfindlich auf hochfrequentes Rauschen reagiert. Da die Abtastfrequenz dieses Systems jedoch relativ hoch ist und die Fehlerquelle nur aus der Differenz der beiden Lichtstromwerte besteht, wurde auf die zus\u00e4tzliche Implementierung eines Tiefpassfilters verzichtet.<\/p>\n<p>### 2.4 Nichtlineares Modell der dynamisch adaptiven Basisgeschwindigkeit (Base Speed)<\/p>\n<p>Herk\u00f6mmliche Linienverfolgungsroboter verwenden meist eine konstante Basisgeschwindigkeit. Auf einer kombinierten Strecke mit Geraden und Kurven muss die Basisgeschwindigkeit jedoch dynamisch an die Pfadkr\u00fcmmung angepasst werden. In diesem Projekt wurde ein adaptives Geschwindigkeitsr\u00fcckkopplungs-Regelmodell auf Basis des absoluten Fehlers eingef\u00fchrt:<\/p>\n<p>$$BaseSpeed = 100 - |a-b| \\times 0.6$$<\/p>\n<p>Diese Gleichung stellt eine nichtlineare negative R\u00fcckkopplungs-Abbildungsfunktion $f(|e|)$ dar. Die Konstante $100$ ist das maximal zul\u00e4ssige PWM-Tastverh\u00e4ltnis des Fahrgestellmotors bei der aktuellen Versorgungsspannung. Im station\u00e4ren Zustand auf einer Geraden ist das Fahrzeug zentriert, der Positionsfehler ist klein ($|a-b| \\approx 0$), die Basisgeschwindigkeit liegt nahe der Obergrenze von $100$, was ein schnelles Vorw\u00e4rtsfahren auf der Geraden erm\u00f6glicht. In einer Kurve nimmt der absolute Fehler zu, und das System senkt die Basisgeschwindigkeit automatisch durch die negative R\u00fcckkopplung, wodurch die f\u00fcr die Kurvenfahrt erforderliche Zentripetalkraft und das Risiko des Schleuderns verringert werden.<\/p>\n<p>### 2.5 Mathematische Gesamtdarstellung des vollst\u00e4ndigen Regelgesetzes und Python-Simulationsverifikation<\/p>\n<p>Durch die Kombination der beiden obigen Kernformeln ergibt sich das vollst\u00e4ndige diskrete PD-Regelgesetz dieses Projekts:<\/p>\n<p>$$\\begin{aligned}<br \/>\nBaseSpeed(k) &= 100 - |E(k)| \\times 0.6 \\\\<br \/>\nTurn(k) &= E(k) \\times 0.8 + [E(k) - E(k-1)] \\times 0.6 \\\\<br \/>\nLeftPWM(k) &= BaseSpeed(k) - Turn(k) \\\\<br \/>\nRightPWM(k) &= BaseSpeed(k) + Turn(k)<br \/>\n\\end{aligned}$$<\/p>\n<p>Dabei ist $E(k) = a(k) - b(k)$ das Fehlersignal des aktuellen Abtastzyklus und $E(k-1)$ der historische Fehler des vorherigen Zyklus. Die PWM-Befehle f\u00fcr das linke und rechte Rad werden durch die lineare Kombination der Basisgeschwindigkeit und des Lenkausgleichs erhalten. Wenn $Turn > 0$ ist, wird das linke Rad verlangsamt und das rechte Rad beschleunigt, was eine Linkskurve bewirkt; umgekehrt wird eine Rechtskurve eingeleitet.<\/p>\n<p>Zur Verifikation des Konvergenzverhaltens dieses Regelgesetzes wurde ein diskretes Zeitsimulationssystem auf Basis von Python entwickelt. Dieses Simulationssystem modelliert die folgenden physikalischen Elemente:<\/p>\n<p>1. **Kreisf\u00f6rmiges Sensorerkennungsmodell**: Der Erkennungsbereich jedes Farbsensors wird als kreisf\u00f6rmige Fl\u00e4che mit einem Durchmesser von 1,5 cm modelliert. Durch numerische Integration wird die \u00dcberlappungsfl\u00e4che dieser kreisf\u00f6rmigen Fl\u00e4che mit der schwarzen F\u00fchrungslinie (Breite 2,0 cm) berechnet, um die reflektierte Lichtintensit\u00e4t pr\u00e4zise zu ermitteln$^{[1]}$.<br \/>\n2. **Differentialgetriebene Kinematik**: Basierend auf den geometrischen Standardparametern der EV3-R\u00e4der (Radstand 12,0 cm, Radradius 2,8 cm) werden die PWM-Befehle in Vorw\u00e4rtsgeschwindigkeit und Gierwinkelgeschwindigkeit umgesetzt.<br \/>\n3. **Nachlaufende Sensoranordnung**: Die Sensorachse befindet sich 10,0 cm vor der Antriebsradachse. Diese \u201eNachlauf\u201c-Konfiguration f\u00fchrt einen Hebelarmeffekt ein, der eine der Ursachen f\u00fcr das oszillierende dynamische Verhalten ist.<br \/>\n4. **Gau\u00dfsches Messrauschen**: Den Sensorwerten wird wei\u00dfes Gau\u00dfsches Rauschen mit einer Standardabweichung von 0,3 \u00fcberlagert, um optische St\u00f6rungen in der realen Umgebung zu simulieren.<\/p>\n<p>Die Anfangsbedingungen der Simulation sind: anf\u00e4nglicher Gierwinkel des Fahrzeugs $+10^\\circ$ (nach rechts geneigt), Messwert des linken Sensors $a=10$ (vollst\u00e4ndig \u00fcber der schwarzen Linie), Messwert des rechten Sensors $b=50$ (teilweise \u00fcber dem Rand der schwarzen Linie). Der Simulationszeitschritt betr\u00e4gt $\\Delta t = 0.1$ s, der anf\u00e4ngliche Gierwinkel $+10^\\circ$, die anf\u00e4nglichen Sensorwerte $a=10, b=50$.<\/p>\n<div align=\"center\">\n\t<img decoding=\"async\" src=\"https:\/\/r2.wuhanqing.cn\/MyWebsiteFiles\/3-%E8%B5%84%E6%BA%90\/%E8%AF%BE%E9%A2%98%E8%B5%84%E6%96%99\/LINE_TRACKING_ROBOT\/line_tracking_simulation.png\" alt=\"EV3 Line-Tracking Robot \u2014 Discrete-Time PD Simulation\" style=\"max-width:100%;height:auto;\" \/>\n<\/div>\n<p>**Abbildung 1: Simulationsergebnisse der diskreten PD-Regelung des EV3-Linienverfolgungsroboters**<\/p>\n<p>Abbildung 1 zeigt die zeitlichen Verl\u00e4ufe von vier Gruppen wichtiger physikalischer Gr\u00f6\u00dfen:<\/p>\n<p>**Teil (a) \u2014 Sensorreflexionsgrad und Fehlersignal**: Die Messwerte des linken Sensors $a(t)$ (rot) und des rechten Sensors $b(t)$ (blau) im Zeitverlauf. Zum Anfangszeitpunkt $a=10$ (vollst\u00e4ndig schwarz), $b=50$ (halb schwarz, halb wei\u00df), Fehler $e(t)=a-b=-40$. Mit dem Eingreifen des PD-Reglers konvergiert das Fehlersignal innerhalb von etwa 5 Sekunden schnell gegen Null und schwankt dann leicht um den Nullpunkt. Dieses Konvergenzverhalten best\u00e4tigt die station\u00e4re Nachf\u00fchrf\u00e4higkeit des PD-Regelgesetzes.<\/p>\n<p>**Teil (b) \u2014 PD-Regelsignale**: Die zeitlichen Verl\u00e4ufe der Basisgeschwindigkeit $BaseSpeed(t)$ (gr\u00fcn) und des Lenkausgleichs $Turn(t)$ (rot). Der anf\u00e4nglich gro\u00dfe Fehler f\u00fchrt zu einer Reduzierung der Basisgeschwindigkeit auf $100 - 40 \\times 0.6 = 76$, w\u00e4hrend der Lenkausgleich einen gro\u00dfen negativen Wert erzeugt ($Turn \\approx -40 \\times 0.8 + (-40-0) \\times 0.6 = -56$), was das rechte Rad beschleunigt und das linke Rad verlangsamt, wodurch ein linksdrehendes Korrekturmoment entsteht. Mit der Konvergenz des Fehlers steigt die Basisgeschwindigkeit wieder auf nahezu 100 an, der Lenkausgleich geht gegen Null, und das System geht in den station\u00e4ren Geradeausfahrt-Modus \u00fcber.<\/p>\n<p>**Teil (c) \u2014 Roboterpose und Schwingungskonvergenz**: Die zeitlichen Verl\u00e4ufe des Gierwinkels $\\theta(t)$ (orange), des lateralen Versatzes $y(t)$ (violett) und der Gierwinkelgeschwindigkeit $\\omega(t)$ (blau). Dies ist der Kernbereich zur Verifikation der D\u00e4mpfungseigenschaften des PD-Reglers. Der anf\u00e4ngliche Gierwinkel von $+10^\\circ$ zeigt unter der PD-Regelung das typische Antwortverhalten eines unterd\u00e4mpften Systems zweiter Ordnung \u2013 nach etwa 2-3 abklingenden Schwingungen konvergiert er gegen Null. Der laterale Versatz $y(t)$ zeigt ebenfalls ein schwingendes Konvergenzverhalten und stabilisiert sich schlie\u00dflich nahe der Mitte der F\u00fchrungslinie. Die Amplitude der Gierwinkelgeschwindigkeit $\\omega(t)$ nimmt mit der Zeit ab, was darauf hindeutet, dass die kinetische Energie des Systems durch den Differentiald\u00e4mpfungsterm effektiv dissipiert wird.<\/p>\n<p>**Teil (d) \u2014 Vergr\u00f6\u00dferte Ansicht der Gierwinkelschwingung (erste 10 Sekunden)**: Dieser Teil zeigt den Gierwinkel zu jedem diskreten Abtastzeitpunkt in Form eines Streudiagramms und veranschaulicht deutlich den schrittweisen Korrekturprozess des PD-Reglers in jedem Zeitschritt. Diese \u201eschrittweise\u201c Korrekturtrajektorie ist ein typisches Merkmal von diskreten Zeitregelungssystemen \u2013 der Regler berechnet in jedem Abtastzyklus basierend auf dem aktuellen Fehler einen neuen PWM-Befehl und treibt die Fahrzeughaltung schrittweise in Richtung des Ziels.<\/p>\n<p>**Teil (e) \u2014 Draufsicht-Trajektorie**: Die Bewegungstrajektorie der Radachse in der zweidimensionalen Ebene. Das halbtransparente schwarze Band repr\u00e4sentiert die F\u00fchrungslinie mit einer Breite von 2,0 cm. Die Trajektorienkurve zeigt, dass der Roboter nach dem Start vom gr\u00fcnen Quadrat \u00fcber einen S-f\u00f6rmigen Pfad schnell auf die F\u00fchrungslinie einschwenkt und dann entlang der Geraden stabil bis zum Ziel (rotes Quadrat) f\u00e4hrt. Die Gl\u00e4tte der Trajektorie spiegelt die Nachf\u00fchrgenauigkeit des PD-Reglers wider.<\/p>\n<p>## 3. Makroskopische Pfadplanung: Endlicher Automat und Entscheidungsbaumalgorithmus<\/p>\n<p>In der Theorie des maschinellen Lernens und der Entscheidungsanalyse ist ein Entscheidungsbaum (Decision Tree) ein spezielles baumartiges Vorhersagemodell, das die Abbildung zwischen Objektattributen und Objektwerten darstellt. Es erstellt die optimale Planung zur Erreichung eines Ziels durch die Berechnung bedingter Wahrscheinlichkeiten oder die Festlegung von Entscheidungsregeln$^{[4]}$. Auf der Grundlage der grundlegenden Trajektorienkontinuit\u00e4t, die durch den PD-Algorithmus auf der unteren Ebene gew\u00e4hrleistet wird, muss der Roboter \u00fcber die F\u00e4higkeit verf\u00fcgen, komplexe Labyrinthtopologien und spezifische Interaktionsaufgaben auf einer h\u00f6heren logischen Ebene zu bew\u00e4ltigen. In diesem Projekt wurde unter Verwendung von verschachtelten Verzweigungen (Nested Switches) ein deterministischer Entscheidungsbaum auf Basis von Zustands\u00fcberg\u00e4ngen aufgebaut, der die Strenge und Robustheit der Logik sicherstellt.<\/p>\n<p>Um die Strategien im Zusammenhang mit der Materialhandhabung im Experiment zu pr\u00e4zisieren, wurden in der Initialisierungsphase des Programms einfache Randomisierungs- und Z\u00e4hlvariablen eingef\u00fchrt: Insgesamt werden zwei Beh\u00e4lter platziert, deren Positionen aus vier Kandidatenpositionen mit den Nummern 1, 2, 3, 4 ausgew\u00e4hlt werden; bei der Initialisierung wird jeweils zuf\u00e4llig einer aus der Menge {1,2} und einer aus der Menge {3,4} ausgew\u00e4hlt, um die Positionen der beiden zu greifenden Beh\u00e4lter zu bestimmen (um ein festes Muster zu vermeiden, bei dem sich beide Beh\u00e4lter auf derselben Seite befinden). W\u00e4hrend der Programmausf\u00fchrung wird die boolesche Variable `HasBarrel` verwendet, um anzuzeigen, ob aktuell ein Beh\u00e4lter gehalten wird; die ganzzahlige Variable `BarrelNum` (anf\u00e4nglich 0) zeichnet die Anzahl der gegriffenen Beh\u00e4lter auf, wobei `BarrelNum += 1` nach jedem Greifen eines Beh\u00e4lters ausgef\u00fchrt wird; die ganzzahlige Variable `CheckNum` (anf\u00e4nglich 0) zeichnet die Anzahl der passierten roten Kontrollpunkte auf, wobei `CheckNum += 1` nach jedem Passieren eines Kontrollpunkts ausgef\u00fchrt wird und die Zeit f\u00fcr diesen Kontrollpunkt in der entsprechenden Zeile auf dem Bildschirm ausgegeben wird.<\/p>\n<p>### 3.1 Boolescher endlicher Automat und Schutz vor Sensor-Blindung<\/p>\n<p>Bei der automatischen Materialtransportaufgabe ist der Roboter auf den Ultraschallsensor angewiesen, um den Zielbeh\u00e4lter zu erkennen und den Greifvorgang auszuf\u00fchren. Nach Abschluss des Greifvorgangs verbleibt das Material in der Regel vor dem Sensor, was dazu f\u00fchren kann, dass der Ultraschall-Entfernungswert weiterhin die Ausl\u00f6sebedingung erf\u00fcllt und somit das Problem der \u201eSensor-Blindung\u201c durch wiederholtes Greifen verursacht wird. Um dieses Problem zu l\u00f6sen und die experimentelle Anforderung der Zwei-Beh\u00e4lter-Strategie zu erf\u00fcllen, wurden in diesem Projekt die folgenden Variablen in den endlichen Automaten eingef\u00fchrt: die boolesche Variable `HasBarrel` (zeigt an, ob aktuell ein Beh\u00e4lter gehalten wird), die ganzzahlige Z\u00e4hlung `BarrelNum` (zeichnet die Anzahl der bereits gegriffenen Beh\u00e4lter auf, anf\u00e4nglich 0) und die ganzzahlige Z\u00e4hlung `CheckNum` (zeichnet die Anzahl der passierten roten Kontrollpunkte auf, anf\u00e4nglich 0).<\/p>\n<p>Die Ausl\u00f6sebedingung f\u00fcr den Greifvorgang basiert weiterhin haupts\u00e4chlich auf der Ultraschallentfernung:<\/p>\n<p>$$Trigger = (d_{ultrasonic} < 15) \\land \\neg HasBarrel$$\n\nWenn der Greifvorgang ausgef\u00fchrt und der Erfolg best\u00e4tigt wird, werden `HasBarrel = True` und `BarrelNum += 1` ausgef\u00fchrt. Gem\u00e4\u00df der im Team vereinbarten Ablagestrategie: Der erste gegriffene Beh\u00e4lter (`BarrelNum == 1`) soll am ersten danach angetroffenen roten Kontrollpunkt abgelegt werden; der zweite gegriffene Beh\u00e4lter (`BarrelNum == 2`) soll bis zum Ziel getragen und dort abgesetzt werden. Daher lautet die Bedingung f\u00fcr das Ablegen des Beh\u00e4lters beim Erreichen eines Kontrollpunkts `HasBarrel == True && BarrelNum == 1`; wenn `HasBarrel == True` aber `BarrelNum != 1` ist, wird nur eine Kehrtwende oder die entsprechende Kreuzungsaktion ausgef\u00fchrt, ohne den Beh\u00e4lter abzulegen. Nach dem Ablegen des Beh\u00e4lters muss `HasBarrel` auf False zur\u00fcckgesetzt werden.\n\n### 3.2 Kreuzungsentscheidungsalgorithmus auf Basis eines endlichen Automaten\n\n\nWenn die linken und rechten Sensoren eine reflektierte Lichtintensit\u00e4t unterhalb des Schwellenwerts (< 15) erkennen, geht das System davon aus, dass ein Kreuzungsbereich erreicht sein k\u00f6nnte. Das System f\u00fchrt zun\u00e4chst eine Sondenpr\u00fcfung durch: Bei Ausl\u00f6sung durch den rechten Sensor f\u00e4hrt der Motor mit einer Leistung von 30 f\u00fcr 0,55 Sekunden vorw\u00e4rts, um die Position anzupassen, f\u00fchrt dann mit einer Leistung von 30\/-30 f\u00fcr 0,3 Sekunden eine Rechtskurve aus und beh\u00e4lt diese Differenzialgeschwindigkeit bei, bis der mittlere Sensor die schwarze Linie erkennt (reflektierte Lichtintensit\u00e4t < 15). Schlie\u00dflich wird der Motor gestoppt und 0,02 Sekunden zur Stabilisierung gewartet. Bei Ausl\u00f6sung durch den linken Sensor f\u00e4hrt der Motor zun\u00e4chst mit einer Leistung von 30 f\u00fcr 0,5 Sekunden vorw\u00e4rts, f\u00fchrt dann mit einer Leistung von -30\/30 f\u00fcr 0,3 Sekunden eine Linkskurve aus und beh\u00e4lt diese Differenzialgeschwindigkeit bei, bis der mittlere Sensor die schwarze Linie erkennt. Wenn weder der linke noch der rechte Sensor ausgel\u00f6st haben, aber der mittlere Sensor die schwarze Linie erkennt, wird die Standard-PID-Geradeausfahrt-Logik ausgef\u00fchrt. Wenn der mittlere Sensor eine rote Markierung erkennt, wird eine 180-Grad-Kehrtwende ausgef\u00fchrt.\n\n### 3.2.1 Endg\u00fcltige Kreuzungsentscheidungs- und Materialablage-Logik der Gruppe (Implementierungserl\u00e4uterung)\n\nDieser Abschnitt erl\u00e4utert die spezifischen Implementierungsdetails des endg\u00fcltigen Programms dieser Gruppe, um Unstimmigkeiten zwischen der allgemeineren Beschreibung des Entscheidungsbaums im Text und dem endg\u00fcltigen Code zu vermeiden. Die wichtigsten Punkte sind wie folgt (ma\u00dfgeblich ist die Code-Implementierung):\n\n1. In der Initialisierungsphase werden aus vier Kandidatenpositionen (Nummern 1, 2, 3, 4) zuf\u00e4llig zwei Beh\u00e4lterpositionen ausgew\u00e4hlt: Jeweils einer wird zuf\u00e4llig aus der Menge {1,2} und einer aus der Menge {3,4} ausgew\u00e4hlt, um die Positionen der beiden zu greifenden Beh\u00e4lter zu bestimmen.\n2. Verwendete Variablen: boolesch `HasBarrel` (ob ein Beh\u00e4lter gehalten wird), ganzzahlig `BarrelNum` (Z\u00e4hlung der gegriffenen Beh\u00e4lter, anf\u00e4nglich 0), ganzzahlig `CheckNum` (Z\u00e4hlung der Kontrollpunkte, anf\u00e4nglich 0). Bei erfolgreichem Greifen werden `HasBarrel = True; BarrelNum += 1` ausgef\u00fchrt.\n3. Ablagestrategie: Der erste gegriffene Beh\u00e4lter (`BarrelNum == 1`) wird am ersten angetroffenen roten Kontrollpunkt abgelegt; der zweite gegriffene Beh\u00e4lter (`BarrelNum == 2`) wird bis zum Ziel getragen und dort abgesetzt. Daher lautet die Bedingung f\u00fcr das Ausl\u00f6sen der Beh\u00e4lterablage beim Erreichen eines Kontrollpunkts `HasBarrel == True && BarrelNum == 1`. Nach dem Ablegen wird `HasBarrel` auf `False` zur\u00fcckgesetzt.\n4. Die Labyrinthbegehungsstrategie folgt der Rechtshandregel: Wenn m\u00f6glich rechts abbiegen, wenn nicht m\u00f6glich geradeaus fahren, wenn nicht m\u00f6glich links abbiegen. Da die parallel angeordneten Sensoren nur die linke und rechte Seite sowie die Farbe\/Reflexion unter dem Fahrzeug erfassen k\u00f6nnen, wird im Programmablauf nach Priorit\u00e4t entschieden:\n\t- Wenn der mittlere Sensor Gr\u00fcn erkennt: Dies wird als Ziel gewertet, die Hauptschleife wird verlassen und das Zielprogramm wird ausgef\u00fchrt.\n\t- Wenn der mittlere Sensor Rot erkennt: Dies wird als Kontrollpunkt gewertet, es wird `CheckNum += 1` ausgef\u00fchrt und die Zeit f\u00fcr diesen Kontrollpunkt in der entsprechenden Zeile auf dem Bildschirm ausgegeben; wenn `HasBarrel == True && BarrelNum == 1` erf\u00fcllt ist, wird der Beh\u00e4lter abgelegt und eine Kehrtwende ausgef\u00fchrt; andernfalls wird nur eine Kehrtwende ausgef\u00fchrt.\n\t- Andernfalls, wenn die reflektierte Lichtintensit\u00e4t des rechten Sensors kleiner als 15 ist (Erkennung der schwarzen Linie), wird direkt die Rechtskurven-Logik ausgef\u00fchrt.\n\t- Andernfalls, wenn der linke Sensor die schwarze Linie erkennt, wird zun\u00e4chst ein kleiner Schritt vorw\u00e4rts gemacht und der mittlere Sensor erneut ausgelesen: Wenn der mittlere Sensor nach dem Vorw\u00e4rtsschritt die schwarze Linie erkennt, wird geradeaus gefahren; wenn nicht, wird links abgebogen.\n\t- Wenn keiner der obigen F\u00e4lle zutrifft, wird die PD-Linienverfolgungslogik als Fallback ausgef\u00fchrt.\n5. Die PD-Linienverfolgungs-Parameter sind im Code wie folgt implementiert:\n$$BaseSpeed = 100 - |a-b| * 0.6$$\n$$Turn = (a-b) * 0.8 + ((a-b) - c) * 0.6$$\n\tDabei sind `a`, `b` die Messwerte des linken und rechten Sensors und `c` das Fehlerregister des vorherigen Zyklus.\n\nDieser Unterabschnitt ist die Implementierungserl\u00e4uterung des endg\u00fcltigen Programms. Die anderen Beschreibungen des Entscheidungsbaums und der Sondenzeitsteuerung im Text dienen als allgemeine Referenz; das tats\u00e4chliche Verhalten richtet sich nach der in diesem Abschnitt beschriebenen Logik.\n\n### 3.3 Zielerkennung: Sensor-Entkopplung und Software-Entprellung\n\nIn fr\u00fcheren Testversionen verwendeten die Zielerkennungslogik (Erkennung des schwarzen Zielbereichs) und die Kreuzungserkennungslogik (Erkennung der schwarzen Linie) dasselbe Reflexionsgrad-Graustufenmerkmal, was aufgrund von schwellwertbedingten Drift durch Umgebungslicht zu Fehlinterpretationen f\u00fchren konnte. Um dieses Problem zu l\u00f6sen, wurde das Zielmarkierungselement als gr\u00fcner Aufkleber festgelegt, der vom mittleren dritten Sensor im Farbmodus (Color Mode) erkannt wird. Dadurch wurde eine Trennung von Navigation und Zielerkennung auf Sensorebene erreicht. Gleichzeitig wurde eine Timer-Einschr\u00e4nkung hinzugef\u00fcgt, um Fehlinterpretationen durch die gr\u00fcne Markierung im Startbereich zu verhindern:\n\n$$Condition_{End} = (\\text{Color}_{Mid} == 3) \\land (\\text{Timer}_{Total} > 10s)$$<\/p>\n<p>Nach bestandener Farberkennung wurde eine Software-Entprellungsverz\u00f6gerung (Software Debounce) von 0,1 Sekunden eingef\u00fcgt, um sicherzustellen, dass ein stabiles gr\u00fcnes Signal erfasst wird, bevor der Zielstopp ausgel\u00f6st wird.<\/p>\n<p>Bei Erreichen des Ziels werden auf dem Bildschirm nacheinander die Zeiten f\u00fcr jeden Kontrollpunkt, die Gesamtzeit und die Anzahl der besuchten Kontrollpunkte angezeigt; in der Code-Implementierung wird `CheckNum` verwendet, um die Ausgabezeile zu bestimmen, und die entsprechende Zeit wird beim Passieren des Kontrollpunkts sofort geschrieben.<\/p>\n<p>Abbildung 2 zeigt einen Screenshot des vollst\u00e4ndigen Programm-Codes, der in der grafischen LEGO EV3-Programmierumgebung implementiert wurde. Das Programm realisiert die oben beschriebene Logik des endlichen Automaten und des Entscheidungsbaums. Die Programmquelldatei ist <a href=\"https:\/\/r2.wuhanqing.cn\/MyWebsiteFiles\/3-%E8%B5%84%E6%BA%90\/%E8%AF%BE%E9%A2%98%E8%B5%84%E6%96%99\/LINE_TRACKING_ROBOT\/main.ev3\" target=\"_blank\"  rel=\"nofollow\" >main.ev3<\/a>.<\/p>\n<div align=\"center\">\n\t<img decoding=\"async\" src=\"https:\/\/r2.wuhanqing.cn\/MyWebsiteFiles\/3-%E8%B5%84%E6%BA%90\/%E8%AF%BE%E9%A2%98%E8%B5%84%E6%96%99\/LINE_TRACKING_ROBOT\/main.png\" alt=\"EV3-Programmquellcode-Screenshot\" style=\"max-width:100%;height:auto;\" \/>\n<\/div>\n<p>**Abbildung 2: EV3-Programmquellcode (grafisch).** Das Programm implementiert die Pfadplanung und Materialtransport-Steuerungslogik auf Basis eines endlichen Automaten, bestehend aus drei Phasen: Initialisierung, Hauptschleife (Kreuzungsentscheidung, Greifen\/Ablegen, Zielerkennung) und Abschluss.<\/p>\n<p>## 4. Eigenschaften des eingebetteten Systems auf unterer Ebene und Rechenleistungsoptimierung<\/p>\n<p>Die Firmware des LEGO EV3-Hauptsteuerungssystems l\u00e4uft auf einem leichtgewichtigen Linux-Betriebssystem. Die grafische Oberfl\u00e4che ist im Wesentlichen eine gekapselte Anbindung an die Hardware-Abstraktionsschicht (HAL)$^{[3]}$. In einem geschlossenen Regelkreis, der eine Echtzeit-Reaktion im Millisekundenbereich erfordert, kann eine ungeeignete Codestruktur zu systemweiten Ressourcenproblemen f\u00fchren. Dieses Programm wurde auf Software-Engineering-Ebene entsprechend optimiert.<\/p>\n<p>### 4.1 CPU-Hunger-Pr\u00e4vention (CPU Starvation Avoidance)<\/p>\n<p>In der Hauptschleife (While Loop) kann eine hohe Befehlsausf\u00fchrungsfrequenz ohne Eingriff die meisten Taktzyklen des ARM-Prozessors belegen, was dazu f\u00fchrt, dass der f\u00fcr die I\/O-Kommunikation zust\u00e4ndige Polling-Daemon auf niedriger Ebene ausgesetzt wird \u2013 ein Ph\u00e4nomen, das als \u201eCPU-Hunger\u201c bezeichnet wird. Die direkte Folge ist, dass die Sensor-Datenregister nicht rechtzeitig aktualisiert werden k\u00f6nnen und der PID-Regler veraltete Daten ausliest, was zu abnormaler Motorsteuerung f\u00fchrt. Daher wurde am Ende der Hauptschleife ein Wartemodul (Yield\/Delay) von 0,01 Sekunden eingef\u00fcgt, das aktiv den Zeitscheiben-Planer (Time Slice) des Prozessors freigibt, sodass die I\/O-Prozesse auf niedriger Ebene die Sensorregister normal aktualisieren k\u00f6nnen.<\/p>\n<p>### 4.2 PWM-Ausgabemodus-Optimierung (Coast vs. Brake)<\/p>\n<p>Wenn das Motoransteuerungsmodul in den Modus \u201eF\u00fcr bestimmte Zeit einschalten\u201c versetzt wird, l\u00f6st der Hardware-Treiber auf niedriger Ebene beim Erreichen des Zeitlimits eine elektrische Bremse aus (Kurzschluss der Motorwicklungen). H\u00e4ufiges Bremsen f\u00fchrt zu hochfrequenten Vibrationen des Fahrzeugs. Es ist zu beachten, dass in der Implementierung unserer Gruppe nicht der Dauer-Ein-Modus (On) verwendet wurde, da dieser dazu f\u00fchrt, dass die Hauptsteuerung w\u00e4hrend der Motoransteuerung nicht rechtzeitig zur Hauptschleife zur\u00fcckkehren kann, um andere Logiken zu verarbeiten (wie Sensorablesung, Zustandsaktualisierung und Entscheidungsfindung), was das Risiko einer Blockierung und eines Systemabsturzes birgt. Um einen Ausgleich zwischen kontinuierlicher Ausgabe und Planbarkeit zu schaffen, wurde eine kurzzeitige Schritt-f\u00fcr-Schritt-Ansteuerungsstrategie gew\u00e4hlt: Die PD-Linienverfolgung arbeitet mit einem Zyklus von 0,1 Sekunden, wobei der Motor jedes Mal nur f\u00fcr 0,1 Sekunden angesteuert wird (kleiner Schritt vorw\u00e4rts), bevor zur Hauptschleife zur\u00fcckgekehrt wird, um Sensordaten zu lesen und logische Entscheidungen zu treffen. Diese Methode vermeidet sowohl die durch h\u00e4ufiges zeitgesteuertes Bremsen verursachten Vibrationen als auch das Risiko einer Hauptschleifenblockierung (die eine rechtzeitige Verarbeitung von Sensor- und Zustands\u00e4nderungen verhindern w\u00fcrde), das mit dem Dauer-Ein-Modus verbunden ist.<\/p>\n<p>### 4.3 Prozessverwaltung und Abschaltablauf (Process Management)<\/p>\n<p>In einer Programmarchitektur, die h\u00e4ufig Audiodateien zur Statusr\u00fcckmeldung aufruft, kann ein nicht ordnungsgem\u00e4\u00dfes physisches erzwungenes Ausschalten zu Anomalien im Audio-Daemon auf niedriger Ebene f\u00fchren. Das System f\u00fchrt nach dem Zielerkennungszweig einen standardisierten Abschaltablauf ein, der durch Aufrufen des Stoppmoduls sicherstellt, dass die Sensor- und Motoranschl\u00fcsse sicher stromlos geschaltet werden und die Hintergrund-Threads ordnungsgem\u00e4\u00df beendet werden, um die Stabilit\u00e4t des Systems im mehrfachen Durchlaufbetrieb zu gew\u00e4hrleisten.<\/p>\n<p>## 5. Experimentelle Ergebnisse und Systemleistungsanalyse<\/p>\n<p>### 5.1 Versuchsumgebung und Streckenmerkmale<\/p>\n<p>Die Teststrecke dieses Projekts besteht aus langen geraden Abschnitten, rechtwinkligen Kurven (Right-angle Turns), T-f\u00f6rmigen Kreuzungen und kreuzf\u00f6rmigen Labyrinthkreuzungen. Rechtwinklige Kurven entsprechen in der Trajektoriengleichung einem unstetigen Sprungsignal, f\u00fcr das keine Ableitung existiert. Auf einem solchen Gel\u00e4nde mit Sprungsignalen kann ein rein linearer PD-Regler die gesamte Strecke nicht eigenst\u00e4ndig abdecken; es ist eine kooperative Verarbeitung mit dem digitalen PD-Regler auf der unteren Ebene und dem Entscheidungsbaum auf Basis des endlichen Automaten erforderlich.<\/p>\n<p>Abbildung 3 zeigt eine Rasterkarte, die basierend auf dem Streckenlayout erstellt wurde. Die schwarzen Bereiche sind die F\u00fchrungswege, die wei\u00dfen Bereiche sind Leerfl\u00e4chen. Der Startpunkt befindet sich im unteren rechten Bereich, der Zielpunkt im oberen linken Bereich. Die Strecke umfasst verschiedene Fahrbahnzust\u00e4nde wie lange Geraden, rechtwinklige Kurven, T-f\u00f6rmige Kreuzungen und kreuzf\u00f6rmige Kreuzungen.<\/p>\n<div align=\"center\">\n\t<img decoding=\"async\" src=\"https:\/\/r2.wuhanqing.cn\/MyWebsiteFiles\/3-%E8%B5%84%E6%BA%90\/%E8%AF%BE%E9%A2%98%E8%B5%84%E6%96%99\/LINE_TRACKING_ROBOT\/map.png\" alt=\"Teststrecken-Rasterkarte (29x29 Gitter)\" style=\"max-width:100%;height:auto;\" \/>\n<\/div>\n<p>**Abbildung 3: Rasterkarte der Teststrecke.**<\/p>\n<p>### 5.2 Analyse des dynamischen Verhaltens auf Geraden und des station\u00e4ren Fehlers<\/p>\n<p>Bei den Tests zur Verfolgung einer geraden Trajektorie zeigte der Roboter mit dem ON-OFF-Schaltregler ein deutliches periodisches Schwingungsverhalten. Der Schaltregler passt die Richtung nur basierend auf dem bin\u00e4ren Sensorergebnis nach links oder rechts an, was zu einem wiederholten Pendeln des Fahrzeugs auf beiden Seiten der F\u00fchrungslinie und einer geringen durchschnittlichen Vortriebsgeschwindigkeit f\u00fchrt.<\/p>\n<p>Nach dem Einsatz des diskreten PD-Reglers verringerte sich die Schwingungsamplitude des Fahrzeugs erheblich. Der Differentialkompensationsterm (Derivative Term) erzeugt basierend auf der Fehler\u00e4nderungsrate vorzeitig ein entgegengesetztes D\u00e4mpfungsmoment und unterdr\u00fcckt so das \u00dcberschwingen. Gem\u00e4\u00df dem in Gleichung (2.5) dargestellten Regelgesetz wird die Basisgeschwindigkeit adaptiv an den absoluten Fehler angepasst: Im station\u00e4ren Zustand auf einer Geraden ist $|a-b| \\approx 0$, die Basisgeschwindigkeit liegt nahe der Obergrenze von 100; bei Auftreten einer Abweichung wird die Basisgeschwindigkeit automatisch reduziert, um die f\u00fcr die Kurvenfahrt erforderliche Zentripetalkraft zu verringern. Unter Bezugnahme auf vergleichende Messungen in der relevanten Literatur unter \u00e4hnlichen Hardwarebedingungen f\u00fchrt die Einf\u00fchrung des PD-Regelmechanismus zu einer Steigerung der durchschnittlichen Vortriebsgeschwindigkeit auf geraden Abschnitten um etwa 36%$^{[1]}$.<\/p>\n<p>### 5.3 Entscheidungsbaumsteuerung und Ausf\u00fchrungseffizienz bei rechtwinkligen Kurven<\/p>\n<p>Bei Tests mit $90^\\circ$-rechtwinkligen Kurven zeigten der ON-OFF-Regler oder der reine PID-Regler aufgrund ihrer Unf\u00e4higkeit, mit der sprunghaften \u00c4nderung des Reflexionsgrades umzugehen, eine Nachf\u00fchrverz\u00f6gerung oder ein Verlassen der Strecke. Dieses System verwendet den Entscheidungsbaum des endlichen Automaten zur Verarbeitung solcher Kreuzungen. Der spezifische Ausf\u00fchrungsablauf ist wie folgt:<\/p>\n<p>Wenn die linken und rechten Sensoren eine reflektierte Lichtintensit\u00e4t unterhalb des Schwellenwerts (< 15) erkennen, geht das System davon aus, dass ein Kreuzungsbereich erreicht sein k\u00f6nnte. Das System f\u00fchrt zun\u00e4chst eine Sondenpr\u00fcfung durch: Bei Ausl\u00f6sung durch den rechten Sensor f\u00e4hrt der Motor mit einer Leistung von 30 f\u00fcr 0,55 Sekunden vorw\u00e4rts, f\u00fchrt dann mit einer Leistung von 30\/-30 f\u00fcr 0,3 Sekunden eine Rechtskurve aus und beh\u00e4lt diese Differenzialgeschwindigkeit bei, bis der mittlere Sensor die schwarze Linie erkennt (reflektierte Lichtintensit\u00e4t < 15). Schlie\u00dflich wird der Motor gestoppt und 0,02 Sekunden zur Stabilisierung gewartet. Bei Ausl\u00f6sung durch den linken Sensor f\u00e4hrt der Motor zun\u00e4chst mit einer Leistung von 30 f\u00fcr 0,5 Sekunden vorw\u00e4rts, f\u00fchrt dann mit einer Leistung von -30\/30 f\u00fcr 0,3 Sekunden eine Linkskurve aus und beh\u00e4lt diese Differenzialgeschwindigkeit bei, bis der mittlere Sensor die schwarze Linie erkennt. Wenn weder der linke noch der rechte Sensor ausgel\u00f6st haben, aber der mittlere Sensor die schwarze Linie erkennt, wird die Standard-PID-Geradeausfahrt-Logik ausgef\u00fchrt.\n\nNach Abschluss der Kurve wird die Kontrolle an den PD-Regler zur\u00fcckgegeben, der die gerade Linienverfolgung fortsetzt. Dieser Ablauf realisiert durch die Zustands\u00fcberg\u00e4nge des endlichen Automaten eine deterministische Steuerung der rechtwinkligen Kurven.\n\n### 5.4 Gesamte Abschlussrate und Systemrobustheit\n\nIn den integrierten Tests mit der Materialtransportaufgabe zeigte das System die folgenden Eigenschaften:\n\n1. **CPU-Hunger-Pr\u00e4vention**: Ein Wartemodul von 0,01 Sekunden am Ende der Hauptschleife gibt aktiv den Prozessor-Zeitscheiben-Planer frei, sodass die I\/O-Prozesse auf niedriger Ebene die Sensorregister normal aktualisieren k\u00f6nnen, wodurch das Problem des Einfrierens von Sensordaten aufgrund exklusiver CPU-Ressourcennutzung vermieden wird.\n\n2. **Schutz vor Sensor-Blindung**: Durch die globale boolesche Zustandsvariable `HasBarrel` wird ein endlicher Automat aufgebaut. Die Ausl\u00f6sebedingung des Ultraschallsensors f\u00fcr den Greifvorgang lautet `(distance < 15cm) AND (NOT HasBarrel)`. Nach Abschluss des Greifvorgangs wird der Zustand umgeschaltet. Selbst wenn das Material den Ultraschallsensor sp\u00e4ter verdeckt, wird das System die Greifsequenz nicht wiederholen, sondern in die normale Linienverfolgungslogik \u00fcbergehen.\n\n3. **Zielerkennung**: Der mittlere Farbsensor im Farbmodus erkennt den gr\u00fcnen Aufkleber als Zielmarkierung. In Kombination mit einer Software-Entprellung von 0,1 Sekunden und einer Timer-Einschr\u00e4nkung (Timer > 10s) wird eine Unterscheidung von der gr\u00fcnen Markierung am Start und eine zuverl\u00e4ssige Zielerkennung erreicht.<\/p>\n<p>4. **Motorsteuerungsoptimierung**: Um einen Ausgleich zwischen kontinuierlicher Linienverfolgung und Ereignisreaktion zu schaffen, verwendet unsere Gruppe eine kurzzeitige Schritt-f\u00fcr-Schritt-Ansteuerungsstrategie: Die PD-Linienverfolgung arbeitet mit einem Basiszyklus von 0,1 Sekunden, wobei dem Motor jedes Mal nur f\u00fcr 0,1 Sekunden ein Steuerbefehl erteilt wird (kleiner Schritt vorw\u00e4rts), bevor zur Hauptschleife zur\u00fcckgekehrt wird, um Sensordaten zu lesen und logische Entscheidungen zu treffen. Dieses Schema vermeidet das Risiko einer Hauptschleifenblockierung (die eine rechtzeitige Verarbeitung von Sensor- und Zustands\u00e4nderungen verhindern w\u00fcrde), das mit dem Dauer-Ein-Modus (On) verbunden ist, und reduziert gleichzeitig die durch h\u00e4ufiges zeitgesteuertes Bremsen verursachten mechanischen Vibrationen.<\/p>\n<p>In mehreren Testdurchl\u00e4ufen konnte das System in den meisten F\u00e4llen die gesamte Streckenverfolgung und die Materialtransportaufgabe erfolgreich abschlie\u00dfen. W\u00e4hrend des Betriebs traten jedoch weiterhin Probleme wie Sensor-Blindung und Fehlerkennungen des Farbsensors auf. Insgesamt werden diese Probleme haupts\u00e4chlich durch die Hardwareeigenschaften der Sensoren oder Umgebungs\u00e4nderungen (wie Lichtverh\u00e4ltnisse) verursacht; die Softwarelogik wurde nach mehreren Validierungsrunden als robust und wiederherstellbar befunden und konnte die vorgegebenen Aufgaben in den meisten Tests erfolgreich erledigen.<\/p>\n<p>Zur Verifikation der vollst\u00e4ndigen Betriebseffizienz des Systems auf der tats\u00e4chlichen Strecke wurden auf der in Abbildung 3 dargestellten Strecke Tests in beiden Richtungen (Vorw\u00e4rts- und R\u00fcckw\u00e4rtsrichtung) durchgef\u00fchrt. Die Strecke umfasst insgesamt 6 rote Aufkleber-Kontrollpunkte (die eine 180-Grad-Kehrtwende und Beh\u00e4lterablage ausl\u00f6sen), wobei in jeder Richtung 3 dieser Kontrollpunkte passiert werden.<\/p>\n<p>#### 5.5.1 Testergebnisse der Vorw\u00e4rtsrichtung<\/p>\n<p>Der Roboter startet vom Startpunkt, f\u00e4hrt entlang des F\u00fchrungswegs in Vorw\u00e4rtsrichtung, passiert nacheinander 3 rote Kontrollpunkte, f\u00fchrt die entsprechenden Kehrtwende- und Beh\u00e4lterablage-Operationen aus und erreicht schlie\u00dflich das Ziel.<\/p>\n<p>Die Gesamtlaufzeit betr\u00e4gt **54,92 Sekunden**, es werden **3** Kontrollpunkte passiert. Die Zeiten f\u00fcr das Passieren der einzelnen Kontrollpunkte betragen: **18,43 Sekunden, 29,13 Sekunden, 41,81 Sekunden**.<\/p>\n<p>#### 5.5.2 Testergebnisse der R\u00fcckw\u00e4rtsrichtung<\/p>\n<p>Der Roboter startet vom Zielbereich, f\u00e4hrt entlang des F\u00fchrungswegs in R\u00fcckw\u00e4rtsrichtung, passiert nacheinander die anderen 3 roten Kontrollpunkte, f\u00fchrt die entsprechenden Kehrtwende- und Beh\u00e4lterablage-Operationen aus und erreicht schlie\u00dflich den Startbereich.<\/p>\n<p>Die Gesamtlaufzeit betr\u00e4gt **51,34 Sekunden**, es werden **3** Kontrollpunkte passiert. Die Zeiten f\u00fcr das Passieren der einzelnen Kontrollpunkte betragen: **3,066 Sekunden, 24,54 Sekunden, 39,42 Sekunden**.<\/p>\n<p>#### 5.5.3 Versuchsvideos<\/p>\n<p>Die folgenden Videos dokumentieren den vollst\u00e4ndigen Betriebsablauf in Vorw\u00e4rts- und R\u00fcckw\u00e4rtsrichtung.<\/p>\n<p>**Video des Vorw\u00e4rtsdurchlaufs:**<\/p>\n<p><iframe loading=\"lazy\" width=\"100%\" height=\"auto\"\" src=\"https:\/\/www.youtube.com\/embed\/aTVxu1YXmjs?si=P13i3F8aYnpZ5HKT\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><br \/>\n<a href=\"https:\/\/www.youtube.com\/watch?v=aTVxu1YXmjs\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/www.youtube.com\/watch?v=aTVxu1YXmjs<\/a><br \/>\n**Video 1: Aufzeichnung des Vorw\u00e4rtsdurchlaufs auf der gesamten Strecke**<\/p>\n<p>**Video des R\u00fcckw\u00e4rtsdurchlaufs:**<\/p>\n<p><iframe loading=\"lazy\" width=\"100%\" height=\"auto\" src=\"https:\/\/www.youtube.com\/embed\/Uk0Ih7O7AaE?si=g0gM5KpPCdO6Dops\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><br \/>\n<a href=\"https:\/\/www.youtube.com\/watch?v=Uk0Ih7O7AaE\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/www.youtube.com\/watch?v=Uk0Ih7O7AaE<\/a><br \/>\n**Video 2: Aufzeichnung des R\u00fcckw\u00e4rtsdurchlaufs auf der gesamten Strecke**<\/p>\n<p>#### 5.5.4 Roboter-Hardware-Design<\/p>\n<p>Das Hardware-Design des in diesem System verwendeten LEGO EV3-Roboters ist in Abbildung 4 dargestellt. Der Roboter verwendet ein zweir\u00e4driges Differentialantriebsfahrgestell. An der Vorderseite sind zwei Reflexionslichtsensoren f\u00fcr die Linienverfolgung angebracht, in der Mitte ein Farbsensor f\u00fcr die Zielerkennung und die Erkennung roter Markierungen, und an der Vorderseite ein Ultraschallsensor f\u00fcr die Materialabstandsmessung.<\/p>\n<div align=\"center\">\n\t<img decoding=\"async\" src=\"https:\/\/r2.wuhanqing.cn\/MyWebsiteFiles\/3-%E8%B5%84%E6%BA%90\/%E8%AF%BE%E9%A2%98%E8%B5%84%E6%96%99\/LINE_TRACKING_ROBOT\/EV3.jpg\" alt=\"EV3-Linienverfolgungs- und Materialtransport-Roboter\" style=\"max-width:100%;height:auto;\" \/>\n<\/div>\n<p>**Abbildung 4: Hardwareplattform des LEGO EV3-Linienverfolgungs- und Materialtransport-Roboters**<\/p>\n<p>## 6. Fazit<\/p>\n<p>Dieses Projekt kombiniert den diskreten PD-Regelalgorithmus, die Boolesche Logik und den endlichen Automaten, um ein autonomes Linienverfolgungs- und Materialtransportsystem auf Basis der LEGO EV3-Plattform zu entwickeln. In der unteren Bewegungsebene wurde durch den diskreten PD-Regler eine adaptive Trajektorienverfolgung der F\u00fchrungslinie realisiert; in der makroskopischen Pfadplanung wurde durch den endlichen Automaten eine deterministische Steuerung von Aufgaben wie der Erkennung mehrerer Kreuzungen, dem Greifen und Ablegen von Materialien und der Zielerkennung erreicht. Gleichzeitig wurden Optimierungen auf unterer Ebene f\u00fcr Probleme eingebetteter Systeme wie CPU-Hunger und Motorbremsvibrationen durchgef\u00fchrt. Die experimentellen Ergebnisse zeigen, dass das System eine Strecke mit rechtwinkligen Kurven, T-f\u00f6rmigen Kreuzungen und Materialtransportaufgaben stabil bew\u00e4ltigen kann, und bieten eine Referenz f\u00fcr die fortgeschrittene Entwicklung auf der LEGO EV3-Plattform.<\/p>\n<p>## Literaturverzeichnis<\/p>\n<p>[1] A. Stephan, N. Karthick Pugalum Perumal, M. Shivram Kumar, C. Akash, L. Varatharajan and M. Sivapalanirajan, \"Performance Analysis of LEGO Mindstorm EV3 Robot with PID Controller for Trajectory Tracking Application,\" 2023 7th International Conference on Intelligent Computing and Control Systems (ICICCS), Madurai, India, 2023, pp. 1782-1787, doi: 10.1109\/ICICCS56967.2023.10142757.<\/p>\n<p>[2] Wikipedia contributors. (2026, May 25). PID controller. In Wikipedia, The Free Encyclopedia. Retrieved 05:44, May 27, 2026, from <a href=\"https:\/\/en.wikipedia.org\/w\/index.php?title=PID_controller&amp;oldid=1356013976\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/en.wikipedia.org\/w\/index.php?title=PID_controller&amp;oldid=1356013976<\/a><\/p>\n<p>[3] Wikipedia contributors. (2026, May 18). Lego Mindstorms EV3. In Wikipedia, The Free Encyclopedia. Retrieved 05:45, May 27, 2026, from <a href=\"https:\/\/en.wikipedia.org\/w\/index.php?title=Lego_Mindstorms_EV3&amp;oldid=1354810351\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/en.wikipedia.org\/w\/index.php?title=Lego_Mindstorms_EV3&amp;oldid=1354810351<\/a><\/p>\n<p>[4] Wikipedia contributors. (2026, April 14). Decision tree. In Wikipedia, The Free Encyclopedia. Retrieved 05:49, May 27, 2026, from <a href=\"https:\/\/en.wikipedia.org\/w\/index.php?title=Decision_tree&amp;oldid=1348906127\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/en.wikipedia.org\/w\/index.php?title=Decision_tree&amp;oldid=1348906127<\/a><\/p>\n<p>[5] Wikipedia contributors. (2026, May 24). Finite-state machine. In Wikipedia, The Free Encyclopedia. Retrieved 05:50, May 27, 2026, from <a href=\"https:\/\/en.wikipedia.org\/w\/index.php?title=Finite-state_machine&amp;oldid=1355883596\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/en.wikipedia.org\/w\/index.php?title=Finite-state_machine&amp;oldid=1355883596<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"In diesem Projekt wurde ein intelligenter Linienverfolgungs- und Materialtransport-Roboter auf Basis der LEGO MINDSTORMS EV3-Plattform entworfen und implementiert. Um die Herausforderungen der Erkennung mehrerer Kreuzungen auf komplexen Strecken, der dynamischen Linienverfolgung und der Aufnahme bestimmter Objekte zu bew\u00e4ltigen, wurde in der unteren Bewegungsebene ein verbesserter Proportional-Differential (PD)-Regelalgorithmus auf Basis eines diskreten Zeitsystems eingef\u00fchrt. In Kombination mit einem differentialgetriebenen Bewegungsmodell wurde eine sanfte und adaptive Trajektorienverfolgung des Roboters realisiert. F\u00fcr die makroskopische Pfadplanung und Aufgabenausf\u00fchrung wurde ein deterministisches Entscheidungsbaummodell auf Basis der Booleschen Logik und eines endlichen Automaten (Finite State Machine, FSM) entwickelt, das typische technische Probleme wie \u201eSensor-Blindung\u201c, \u201efalsche Kreuzungserkennung\u201c und \u201efalsch-positive Zielerkennung\u201c l\u00f6st. Dieser Aufsatz erl\u00e4utert detailliert die theoretischen Grundlagen des Regelungssystems, die mathematische Herleitung der Algorithmen, das kooperative Software-Hardware-Design und vergleicht die Leistung verschiedener Regler auf geraden, elliptischen und komplexen 8-f\u00f6rmigen Trajektorien unter Bezugnahme auf die Geschichte der Kybernetik und relevante empirische Studien. Gleichzeitig werden Optimierungsma\u00dfnahmen f\u00fcr die Rechenleistung auf unterer Ebene vorgeschlagen, die auf die physikalischen Eigenschaften eingebetteter Systeme (wie CPU-Hunger, PWM-Regelungsantwort) abzielen$^{[1]}$.","protected":false},"author":1,"featured_media":617,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[149,169],"tags":[],"class_list":["post-669","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ressourcen","category-studienarbeiten"],"_links":{"self":[{"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/posts\/669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/comments?post=669"}],"version-history":[{"count":2,"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/posts\/669\/revisions"}],"predecessor-version":[{"id":671,"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/posts\/669\/revisions\/671"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/media\/617"}],"wp:attachment":[{"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/media?parent=669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/categories?post=669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wuhanqing.cn\/wordpress\/wp-json\/wp\/v2\/tags?post=669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}