Gyro#
Einführung#
Der Gyrosensor ist ein Bewegungssensor, der Drehungen um eine einzelne Achse erfasst. Er misst den Drehwinkel des Roboters und ermöglicht so die Bestimmung von Ausrichtung und Fahrtrichtung.
Diese Seite verwendet drivetrain_gyro als Beispielnamen für den Gyrosensor. Ersetzen Sie diesen bei Bedarf durch Ihren eigenen Namen.
Nachfolgend finden Sie eine Liste aller verfügbaren Methoden:
Aktionen – Kalibrieren oder justieren Sie die Ausrichtung und Drehung des Gyrosensors.
calibrate— Kalibriert den Gyrosensor für eine stabile Kursverfolgung.set_heading— Setzt die Richtung des Gyrosensors auf einen bestimmten Wert.set_rotation— Legt den Rotationswert des Gyrosensors fest.reset_heading— Setzt die Ausrichtung des Gyrosensors auf 0.reset_rotation— Setzt die Rotation des Gyrosensors auf 0.
Getter – Lesen Sie die Richtung, Drehung und den Status des Gyrosensors ab.
heading— Gibt die aktuelle Überschrift zurück.rotation— Gibt die kumulative Rotation zurück.rate— Gibt die Winkelgeschwindigkeit um die x-, y- oder z-Achse zurück.is_calibrating— Gibt zurück, ob der Gyrosensor kalibriert wird oder nicht.installed— Gibt zurück, ob ein Gyrosensor mit dem Gehirn verbunden ist oder nicht.
Callback – Führe den Code aus, wenn der Gyrosensor eine Bewegung oder Veränderung erkennt.
changed— Registriert eine Funktion, die aufgerufen wird, wenn der Gyrosensor eine Änderung erkennt.
Konstruktoren – Manuelle Initialisierung und Konfiguration eines Gyrosensors.
Gyro— Erzeugt einen Gyrosensor.
Aktionen#
calibrate#
calibrate den Gyrosensor. Alle nachfolgenden Zeilen warten auf den Abschluss der Kalibrierung, bevor sie ausgeführt werden. Die Kalibrierung ist ein interner Vorgang, der Sensorauschen und -drift über einen festgelegten Zeitraum misst und kompensiert. Während dieser Zeit muss der Gyrosensor absolut ruhig stehen (d. h. auf einer stabilen Oberfläche ohne jegliche äußere Bewegung). Bewegungen während der Kalibrierung führen zu ungenauen Ergebnissen.
Usage:
calibrate()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Start Gyro Sensor calibration
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
set_heading#
set_heading setzt die Ausrichtung des Gyrosensors auf einen bestimmten Wert.
Usage:
set_heading(value, units)
Parameter |
Beschreibung |
|---|---|
Wert |
Der festzulegende Wert für die Überschrift. |
Einheiten |
Optional. Die Einheit zur Darstellung des neuen Kurses:
|
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)
set_rotation#
set_rotation stellt die Rotation des Gyrosensors auf einen bestimmten Wert ein.
Usage:
set_rotation(value, units)
Parameter |
Beschreibung |
|---|---|
|
Der festzulegende Wert für die Überschrift. |
|
Optional. Die Einheit zur Darstellung des neuen Rotationswerts:
|
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)
reset_heading#
reset_heading setzt die Ausrichtung des Gyrosensors auf 0 zurück.
Usage:
reset_heading()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)
reset_rotation#
reset_rotation setzt die Rotation des Gyrosensors auf 0 zurück.
Usage:
reset_rotation()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)
Getter#
heading#
heading gibt die aktuelle Richtung des Kreiselsensors zurück.
Usage:
heading(units)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die Einheit zur Darstellung der Richtung:
|
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())
rotation#
rotation gibt die aktuelle Rotation des Gyrosensors zurück.
Usage:
rotation(units)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die Einheit zur Darstellung der Drehung:
|
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())
rate#
rate gibt die aktuelle Änderungsrate der Rotation des Gyrosensors in den angegebenen Einheiten zurück.
Usage:
rate(units)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die Einheit zur Darstellung der Kreiselrate:
|
# Display the rate of change of
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()
is_calibrating#
is_calibrating prüft, ob der Gyrosensor gerade kalibriert wird.
True— Der Gyrosensor wird kalibriert.False— Der Gyrosensor kalibriert nicht.
Usage:
is_calibrating()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
installed#
installed gibt einen booleschen Wert zurück, der angibt, ob der Gyrosensor mit dem Gehirn verbunden ist.
True— Der Gyrosensor ist mit dem Gehirn verbunden.False— Der Gyrosensor ist nicht mit dem Gehirn verbunden.
Usage:
installed()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
brain.screen.print("Installed!")
Rückruf#
changed#
changed registriert eine Rückruffunktion, die ausgelöst wird, wenn sich die Ausrichtung des Gyrosensors ändert.
Usage:
changed(callback, arg)
Parameter |
Beschreibung |
|---|---|
|
Die Callback-Funktion, die aufgerufen wird, wenn sich die Ausrichtung des Gyrosensors ändert. |
|
Optional. Ein Tupel von Argumenten, die an die Callback-Funktion übergeben werden sollen. |
def gyro_changed():
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain_gyro.heading())
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)
Konstruktoren#
Konstruktoren werden verwendet, um manuell Gyro Objekte zu erstellen, die für die Konfiguration eines Gyro-Sensors außerhalb von VEXcode erforderlich sind.
Gyro#
Gyro erzeugt einen Gyrosensor.
Usage:
Gyro(smartport)
Parameter |
Beschreibung |
|---|---|
|
Der Smart Port, an den der Gyrosensor angeschlossen ist, wird als PORTx bezeichnet, wobei x die Nummer des Ports ist. |
# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)