![]() |
Smart Minotaur
|
Im folgenden soll die Anwendung pid_monitor näher beschrieben werden. Dabei wird auf ihren Nutzen und die Bedienung eingegangen.
Die Anwendung pid_monitor, die sich im gleichnamigen Package befindet, realisiert eine grafische Anwendung um den PID-Regler der RobotControl Node zu beobachten. Außerdem werden Hindernisse, die von den Ultraschallsensoren registriert werden, dargestellt. Die aktuellen Proportional-, Integral- und Differentialanteile des Roboters lassen sich genauso wie die Geschwindigkeit und Winkelgeschwindigkeit durch Schieberegler einstellen.
An den integrierten Graphen kann das Einschwingverhalten des PID-Regler beobachtet werden. Weiterhin können durch das Ziegler–Nichols Verfahren die optimalen PID-Parameter ermittelt werden.
Um den pid_monitor zu starten werden ein Beagle Bone Black und ein Computer benötigt. Beide müssen sich im gleichen Netzwerk befinden. Nun muss in das Wurzelverzeichnis des Repositorys gewechselt werden. Dort muss nun die Datei start mit einem beliebigen Editor geöffnet und die IP Variablen sowohl auf dem BBB als auch auf dem PC mit den entsprechenden IPs belegt werden. Zuerst muss die Anwendung auf dem PC mit folgendem Befehl gestartet werden:
./start pm_p
Auf dem BBB nun folgenden Befehl ausführen:
./start rc_b
Die Bedienung des Programms soll anhand des folgenden Screenshots erläutert werden.
Mit den Schiebereglern im rot umrahmten Bereich können die Parameter für den PID-Regler eingestellt werden. Kp repräsentiert hierbei den Proportional-, Ki den Integral- und Kd den Differentialanteil.
In dem hellblauen Bereich befinden sich die Schieberegler um die Geschwindigkeit und die Winkelgeschwindigkeit einzustellen. Mit v kann die Geschwindigkeit und mit w die Winkelgeschwindigkeit geregelt werden. Der Button brake stoppt die Motoren des Roboters.
Der gelbe Bereich kennzeichnet die Geschwindigkeitsanzeigen. Auch gilt für v und w das gleich wie im hellblauen Bereich. Unter der Überschrift Target Velocity befinden sich die eingestellten Sollgeschwindigkeiten. Bei Measured Velocity befinden sich die tatsächlich gemessenen Geschwindigkeiten, die über das ROS-Kommunikationssystem empfangen werden.
Im grünen Bereich befinden sich nun die Graphen, die die Geschwindigkeit und Winkelgeschwindigkeit über die Zeit auftragen. Die Y-Achse stellt die gemessene Geschwindigkeit in m/s dar (bei Winkelgeschwindigkeit Rad/s). Die X-Achse zeigt die Nummer der Messung an. 50 bedeutet hierbei die 50. Messung. Die Zeit zwischen zwei Messungen ist dabei vom eingestellten Abtastintervall abhängig.
Der dunkelblaue Bereich zeigt die Ultraschallsensormessungen. Der blaue Punkt stellt den Roboter dar und die roten Punkte zeigen Hindernisse, die von den Sensoren registriert werden.
Die Anwendung map_monitor dient der Beobachtung der Odometrie des Roboters und der Aufzeichnung der Umgebungskarte. Mithilfe der Odometrie und Sensordaten des Roboters werden seine Bewegungsroute und Hindernisse in der Umgebung in eine grafische Oberfläche eingezeichnet. Mithilfe dieser Anwendung konnte festgestellt werden, wie schlecht die Odometrie des Roboters tatsächlich ist.
Um den map_monitor zu starten werden ein Beagle Bone Black und ein Computer benötigt. Beide müssen sich im gleichen Netzwerk befinden. Nun muss in das Wurzelverzeichnis des Repositorys gewechselt werden. Dort muss nun die Datei start mit einem beliebigen Editor geöffnet und die IP Variablen sowohl auf dem BBB als auch auf dem PC mit den entsprechenden IPs belegt werden. Zuerst muss die Anwendung auf dem PC mit folgendem Befehl gestartet werden:
./start map_p
Auf dem BBB nun folgenden Befehl ausführen:
./start rc_b
Die Bedienung des Programms soll anhand des folgenden Screenshots erläutert werden.
Die Anwendung zeigt im Hauptfenster die aufgezeichnete Karte. Die roten Bereiche stellen hierbei die Hindernisse in der Umgebung dar. Schwarze Quadrate sind ehemalige Positionen des Roboters. Das blaue Quadrat ist die aktuelle Position des Roboters. Außerdem wird im Kopfbereich der Anwendung die aktuelle Position des Roboters in Zahlen dargestellt.
Um den Roboter zusätzlich bewegen zu können, kann die Applikation pid_monitor verwendet werden. Dazu muss auf dem PC folgender Befehl ausgeführt werden.
./start pm_p
Mehr Informationen zu pid_monitor finden sich im Abschnitt pid_monitor.