Konfiguration
Die Konfiguration des Roboters wird in einer Datei config.yaml gespeichert.
Diese Datei wird beim Starten des Roboters geladen und die Werte werden im Code verwendet.
Die folgenden Optionen können in der Konfigurationsdatei eingestellt werden:
tire_diameter: Der Durchmesser der Räder in Zentimeternloop_throttle: LEGACY, wird so gut wie nicht verwendet. Urspünglich: Verzögerung von Schleifen zum Verhindern von 100% CPU-Auslastunggyro_tolerance: Die Toleranz des Gyrosensors in Gradgyro_off: Die Abweichung des Gyrosensors nach einer Drehung um 360°. Dieser Wert wird verwendet, um den Fehler herauszurechnen. Siehe Ermittlung des Gyro-Offsetsgearbox:drive_shaft: Der Port des Motors, der die Ausgänge am Ende drehen lässtgear_selector: Der Port des Motors, der den Ausgang auswähltoffset: Die Position in Grad, auf der der erste Ausgang ausgewählt ist.
driving_motors:left: Der Port des linken Fahrmotorsright: Der Port des rechten Fahrmotors
sensors:left: Der Port des linken Sensorsright: Der Port des rechten Sensors
correctors:gyro_drive: Korrekturwertep,iunddfür das normale Fahrengyro_turn: Korrekturwertep,iunddfür das Drehen, sowiemin_speedundmax_speedum ein zu langesames Drehen (Roboter bleibt stehen) und zu schnelles Drehen (ungenau) zu verhindern
debugging:no_autoscroll: Deaktiviert das automatische weiterscrollen nach Abschluss eines Runsinitial_focus: Der wievielte Run beim Start ausgewählt sein soll. Zählt ab 0, dh. 0 -> erster Run, 1 -> zweiter Run, etc.require_full_battery: Aktiviert, dass der Hub den Akkustand überprüft und die Arbeit bei zu niedrigem verweigert.display_errors: Aktiviert, dass Fehlernachrichten auf dem Display des Hubs angezeigt werden. Bei bestehender Bluetooth-Verbindung unnötig.
competition: Wenn ja werden Einstellungen ausdebuggingignoriert und stattdessen für den Wettbewerb optimierte Einstellungen verwendet.
Hier ein Beispiel für eine Konfigurationsdatei:
tire_diameter: 6.24
loop_throttle: 0.025
landscape: yes
gyro_tolerance: 1
gyro_off: -4
gearbox:
drive_shaft: A
gear_selector: B
offset: -7
driving_motors:
left: D
right: C
sensors:
left: E
right: F
correctors:
gyro_turn:
p: 1.6
i: 0
d: -1
# In deg/s:
min_speed: 5
max_speed: 90
gyro_drive:
p: 1.3
i: 0.001
d: -1
competition: no
debugging:
no_autoscroll: yes
initial_focus: 0
require_battery_full: no
display_errors: no
Ermittlung des Gyro-Offsets
Richte den Roboter an einer Wand aus.
Starte bei laufender Bluetoothverbindung den Run
run_calib.py, erkennbar an dem kleinen Kreis / O.Drehe den Roboter im Uhrzeigersinn um 360°
Drücke noch einmal den mittleren Knopf
Jetzt kannst du in der Konsole den gemessenen Offset ablesen und kannst ihn in die Konfigurationsdatei eintragen.
Hinweis
Am besten wiederholst du den Prozess mehrmals und berechnest den ungefähren Mittelwert, um die Präzision zu maximieren.