Trägheit#

Einführung#

Das Gehirn verfügt über einen eingebauten Trägheitssensor. Dieser Sensor kann messen, wie sich das Gehirn bewegt oder dreht.

Der Inertialsensor nutzt dafür zwei Komponenten. Das Gyroskop misst Drehungen, beispielsweise in welche Richtung das Gehirn zeigt und wie weit es sich gedreht hat. Der Beschleunigungsmesser misst Bewegungsänderungen wie Beschleunigen, Abbremsen oder plötzliches Anhalten bei einem Unfall.

Mit den Trägheitsmethoden lassen sich Kurven verfolgen, Kurs- oder Rotationswerte zurücksetzen, Rollen, Nicken und Gieren messen sowie Beschleunigungen melden.

Es gibt viele Möglichkeiten, den Inertialsensor zu codieren. Nachfolgend finden Sie eine Liste aller Inertialmethoden:

Orientierung – Stellen Sie wieder ein, wie das Gehirn ausgerichtet, gedreht oder geneigt ist.

  • get_heading — Gibt die Richtung zurück, in die das Gehirn zeigt, von 0 bis 359 Grad.

  • get_rotation — Gibt zurück, wie weit sich das Gehirn gedreht hat.

  • get_yaw — Gibt zurück, um wie viel sich das Gehirn von seiner Ausgangsposition nach links oder rechts gedreht hat.

  • get_roll — Gibt zurück, wie stark das Gehirn nach links oder rechts geneigt ist.

  • get_pitch — Gibt zurück, wie stark das Gehirn nach vorne oder hinten geneigt ist.

  • calibrate — Kalibriert den Inertialsensor des Gehirns.

  • reset_heading — Setzt die aktuelle Ausrichtung des Gehirns auf 0 Grad zurück.

  • reset_rotation — Setzt die aktuelle Rotation des Gehirns auf 0 Grad zurück.

  • set_heading — Setzt die aktuelle Überschrift des Gehirns auf einen neuen Überschriftenwert.

  • set_rotation — Setzt die aktuelle Rotation des Gehirns auf einen neuen Rotationswert.

Bewegung – Geben Sie wieder, wie sich das Gehirn bewegt.

  • get_acceleration — Gibt zurück, wie schnell das Gehirn auf der ausgewählten Achse beschleunigt oder abbremst.

Orientierung#

get_heading#

Die Richtung, in die das Gehirn zeigt, wird in Grad von 0 bis 359 gemessen. get_heading gibt die aktuelle Richtung des Gehirns zurück.

Die Ausgangsrichtung beträgt 0 Grad. Wenn das Gehirn über 359 Grad hinaus dreht, springt die Richtung wieder auf 0 Grad zurück.

Usage:
inertial.get_heading()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

get_rotation#

Die Rotation gibt an, um welchen Grad sich das Gehirn gedreht hat, gemessen in Grad. Im Gegensatz zur Ausrichtung kann die Rotation über 359 Grad hinausgehen oder unter 0 Grad fallen. Zu Beginn eines Projekts ist der Rotationswert auf 0 Grad gesetzt. Der Befehl get_rotation gibt die aktuelle Rotation des Gehirns zurück.

Eine Rechtsdrehung erhöht die Rotation, eine Linksdrehung verringert sie. Beispielsweise ergibt eine zweifache Rechtsdrehung eine Rotation von 720 Grad. Eine volle Linksdrehung von 0 Grad aus ergibt eine Rotation von -360 Grad.

Usage:
inertial.get_rotation()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

get_yaw#

Der Gierwinkel (Yaw) gibt an, um wie viel sich das Gehirn von seiner Ausgangsposition nach links oder rechts gedreht hat, gemessen in Grad. get_yaw gibt den aktuellen Gierwinkel des Gehirns zurück get_yaw.

Eine Rechtskurve erhöht den Gierwert, eine Linkskurve verringert ihn. Der Gierwert ist nützlich, um Links- und Rechtskurven zu überprüfen, ohne den umgebrochenen Kurswert zu verwenden.

Usage:
inertial.get_yaw()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

get_roll#

Roll beschreibt die Neigung des Gehirns nach links oder rechts, gemessen in Grad. get_roll gibt den aktuellen Rollwert des Gehirns zurück get_roll.

Wenn das Gehirn nach vorne gerichtet ist, erhöht eine Neigung nach links den Rollwert, und eine Neigung nach rechts verringert den Rollwert.

Usage:
inertial.get_roll()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

get_pitch#

Pitch beschreibt, wie stark sich das Gehirn nach vorne oder hinten neigt, gemessen in Grad. get_pitch gibt den aktuellen Pitch-Wert des Gehirns zurück get_pitch.

Bei nach vorne gerichtetem Gehirn erhöht eine Neigung nach vorne den Tonhöhenwert, eine Neigung nach hinten verringert ihn.

Usage:
inertial.get_pitch()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

calibrate#

calibrate kalibriert den Inertialsensor des Gehirns.

Die Kalibrierung hilft dem Inertialsensor, Drehungen korrekt zu messen. Halten Sie das Gerät während der Kalibrierung etwa 2 Sekunden lang ruhig. Bewegt sich das Gerät während der Kalibrierung, werden die Werte für Kurs, Rotation, Gierwinkel, Rollwinkel und Nickwinkel möglicherweise nicht korrekt gemessen.

Das Projekt wartet, bis die Kalibrierung abgeschlossen ist, bevor die nächste Codezeile ausgeführt wird.

Usage:
inertial.calibrate()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

reset_heading#

Die Ausrichtung des Gehirns wird in Grad gemessen. reset_heading setzt die aktuelle Ausrichtung des Gehirns auf 0 Grad zurück.

Nach Anwendung dieser Methode entspricht die aktuelle Richtung des Gehirns der neuen 0-Grad-Richtung.

Usage:
inertial.reset_heading()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

reset_rotation#

Die Rotation gibt an, um welchen Grad sich das Gehirn gedreht hat. reset_rotation setzt die aktuelle Rotation des Gehirns auf 0 Grad zurück.

Nach Anwendung dieser Methode verfolgt das Gehirn zukünftige Drehungen ausgehend vom neuen Rotationswert von 0 Grad.

Usage:
inertial.reset_rotation()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

set_heading#

Die Richtung, in die das Gehirn zeigt, wird in Grad von 0 bis 359 gemessen. set_heading wird die aktuelle Richtung des Gehirns auf einen neuen Richtungswert geändert.

Wenn sich das Gehirn beispielsweise nach rechts gedreht hat, wird durch die Einstellung der Ausrichtung auf 0 Grad diese nach rechts gerichtete Position zum neuen 0-Grad-Wert. Anschließend kann das Gehirn andere Ausrichtungen basierend auf dieser neuen Richtung verfolgen.

Usage:
inertial.set_heading(heading)

Parameter

Beschreibung

heading

Der für das Gehirn einzustellende Neigungswert in Grad. Dies kann eine ganze Zahl zwischen 0 und 359 sein.

set_rotation#

Die Rotation gibt an, um welchen Grad sich das Gehirn gedreht hat, gemessen in Grad. Im Gegensatz zur Ausrichtung kann die Rotation über 359 Grad hinausgehen oder unter 0 Grad fallen. Zu Beginn eines Projekts ist der Rotationswert auf 0 Grad gesetzt. Der Befehl set_rotation ändert die aktuelle Rotation des Gehirns auf einen neuen Wert.

Hat das Gehirn beispielsweise zwei volle Umdrehungen nach rechts ausgeführt, beträgt sein Rotationswert 720 Grad. Durch Setzen der Rotation auf 0 Grad wird dieser Wert von 720 auf 0 Grad zurückgesetzt. Anschließend kann das Gehirn Rotationen basierend auf diesem neuen Wert erfassen.

Usage:
inertial.set_rotation(rotation)

Parameter

Beschreibung

rotation

Der für das Gehirn einzustellende Rotationswert in Grad. Dies kann eine ganze Zahl sein.

Bewegung#

get_acceleration#

Die Beschleunigung gibt an, wie schnell das Gehirn beschleunigt oder abbremst. Der Wert von get_acceleration get_acceleration gibt die Beschleunigung des Gehirns auf der ausgewählten Achse zurück, von -4,0 G bis 4,0 G.

G die man im Ruhezustand durch die Schwerkraft spürt.

Der Wert kann positiv oder negativ sein, abhängig von der Richtung der Beschleunigung auf der ausgewählten Achse. Die Achsenoptionen sind X, Yund Z.

Usage:
inertial.get_acceleration(axis)

Parameter

Beschreibung

axis

Die Achse, auf der die Beschleunigung gemessen wird: X, Y, oder Z.

# Build Used: Super Code Base 2.0
def main():
    # Display the acceleration after moving.
    drivetrain.set_drive_velocity(100)
    console.print("Resting: ")
    console.print(inertial.get_acceleration(X), precision=2)
    console.new_line()
    wait(1, SECONDS)
    drivetrain.drive_for(FORWARD, 500, MM, wait=False)
    wait(0.20, SECONDS)
    console.print("Startup: ")
    console.print(inertial.get_acceleration(X), precision=2)

# Start threads — Do not delete
start_thread(main)