airsim

Diese Seite dokumentiert airsim, das Python-Paket für Microsoft AirSim.

class airsim.client.VehicleClient(ip='', port=41451, timeout_value=3600)[Quelle]

Bases: object

armDisarm(arm, vehicle_name='')[Quelle]

Fahrzeug bewaffnen oder entwaffnen

Parameter
  • arm (bool) – True zum Bewaffnen, False zum Entwaffnen des Fahrzeugs

  • vehicle_name (str, optional) – Name des Fahrzeugs, an das dieser Befehl gesendet werden soll

Rückgabe

Erfolg

Rückgabetyp

bool

cancelLastTask(vehicle_name='')[Quelle]

Vorherige asynchrone Aufgabe abbrechen

Parameter

vehicle_name (str, optional) – Name des Fahrzeugs

confirmConnection()[Quelle]

Überprüft den Verbindungsstatus jede Sekunde und meldet ihn in der Konsole, damit der Benutzer den Fortschritt der Verbindung sehen kann.

enableApiControl(is_enabled, vehicle_name='')[Quelle]

Aktiviert oder deaktiviert die API-Steuerung für das Fahrzeug, das `vehicle_name` entspricht

Parameter
  • is_enabled (bool) – True zum Aktivieren, False zum Deaktivieren der API-Steuerung

  • vehicle_name (str, optional) – Name des Fahrzeugs, an das dieser Befehl gesendet werden soll

getBarometerData(barometer_name='', vehicle_name='')[Quelle]
Parameter
  • barometer_name (str, optional) – Name des Barometers, von dem Daten abgerufen werden sollen, angegeben in settings.json

  • vehicle_name (str, optional) – Name des Fahrzeugs, zu dem der Sensor gehört

Rückgabetyp

BarometerData

getClientVersion()[Quelle]
getDistanceSensorData(distance_sensor_name='', vehicle_name='')[Quelle]
Parameter
  • distance_sensor_name (str, optional) – Name des Abstandssensors, von dem Daten abgerufen werden sollen, angegeben in settings.json

  • vehicle_name (str, optional) – Name des Fahrzeugs, zu dem der Sensor gehört

Rückgabetyp

DistanceSensorData

getGpsData(gps_name='', vehicle_name='')[Quelle]
Parameter
  • gps_name (str, optional) – Name des GPS-Geräts, von dem Daten abgerufen werden sollen, angegeben in settings.json

  • vehicle_name (str, optional) – Name des Fahrzeugs, zu dem der Sensor gehört

Rückgabetyp

GpsData

getHomeGeoPoint(vehicle_name='')[Quelle]

Holt den Heimatstandort des Fahrzeugs

Parameter

vehicle_name (str, optional) – Name des Fahrzeugs, dessen Heimatstandort abgerufen werden soll

Rückgabe

Heimatstandort des Fahrzeugs

Rückgabetyp

GeoPoint

getImuData(imu_name='', vehicle_name='')[Quelle]
Parameter
  • imu_name (str, optional) – Name des IMU, von dem Daten abgerufen werden sollen, angegeben in settings.json

  • vehicle_name (str, optional) – Name des Fahrzeugs, zu dem der Sensor gehört

Rückgabetyp

ImuData

getLidarData(lidar_name='', vehicle_name='')[Quelle]
Parameter
  • lidar_name (str, optional) – Name des Lidar, von dem Daten abgerufen werden sollen, angegeben in settings.json

  • vehicle_name (str, optional) – Name des Fahrzeugs, zu dem der Sensor gehört

Rückgabetyp

LidarData

getMagnetometerData(magnetometer_name='', vehicle_name='')[Quelle]
Parameter
  • magnetometer_name (str, optional) – Name des Magnetometers, von dem Daten abgerufen werden sollen, angegeben in settings.json

  • vehicle_name (str, optional) – Name des Fahrzeugs, zu dem der Sensor gehört

Rückgabetyp

MagnetometerData

getMinRequiredClientVersion()[Quelle]
getMinRequiredServerVersion()[Quelle]
getServerVersion()[Quelle]
getSettingsString()[Quelle]

Ruft den von AirSim verwendeten Einstellungs-Text ab

Rückgabe

Einstellungen als JSON-Format-Text

Rückgabetyp

str

isApiControlEnabled(vehicle_name='')[Quelle]

Gibt true zurück, wenn die API-Steuerung hergestellt ist.

Wenn false (Standard), werden API-Aufrufe ignoriert. Nach einem erfolgreichen Aufruf von enableApiControl sollte isApiControlEnabled true zurückgeben.

Parameter

vehicle_name (str, optional) – Name des Fahrzeugs

Rückgabe

Wenn die API-Steuerung aktiviert ist

Rückgabetyp

bool

isRecording()[Quelle]

Ob die Aufzeichnung läuft oder nicht

Rückgabe

True, wenn die Aufzeichnung läuft, sonst False

Rückgabetyp

bool

listVehicles()[Quelle]

Listet die Namen der aktuellen Fahrzeuge auf

Rückgabe

Liste, die Namen aller Fahrzeuge enthält

Rückgabetyp

list[str]

ping()[Quelle]

Wenn die Verbindung hergestellt ist, gibt dieser Aufruf true zurück, andernfalls wird er bis zum Timeout blockiert

Rückgabetyp

bool

reset()[Quelle]

Setzt das Fahrzeug auf seinen ursprünglichen Startzustand zurück

Beachten Sie, dass Sie nach dem Aufruf von reset erneut enableApiControl und armDisarm aufrufen müssen

simAddDetectionFilterMeshName(camera_name, image_type, mesh_name, vehicle_name='', external=False)[Quelle]

Fügt einen Mesh-Namen zur Erkennung im Wildcard-Format hinzu

Zum Beispiel: simAddDetectionFilterMeshName("Car_*") erkennt alle Instanzen mit dem Namen "Car_*"

Parameter
  • camera_name (str) – Name der Kamera, zur Rückwärtskompatibilität können auch ID-Nummern wie 0,1 usw. verwendet werden

  • image_type (ImageType) – Art des benötigten Bildes

  • mesh_name (str) – Mesh-Name im Wildcard-Format

  • vehicle_name (str, optional) – Fahrzeug, mit dem die Kamera assoziiert ist

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

simAddVehicle(vehicle_name, vehicle_type, pose, pawn_path='')[Quelle]

Fahrzeug zur Laufzeit erstellen

Parameter
  • vehicle_name (str) – Name des zu erstellenden Fahrzeugs

  • vehicle_type (str) – Fahrzeugtyp, z. B. "simpleflight"

  • pose (Pose) – Anfangspose des Fahrzeugs

  • pawn_path (str, optional) – Pfad zur Fahrzeug-Blueprint, leer standardmäßig, was die Standard-Blueprint für den Fahrzeugtyp verwendet

Rückgabe

Ob das Fahrzeug erstellt wurde

Rückgabetyp

bool

simClearDetectionMeshNames(camera_name, image_type, vehicle_name='', external=False)[Quelle]

Löscht alle Mesh-Namen aus dem Erkennungsfilter

Parameter
  • camera_name (str) – Name der Kamera, zur Rückwärtskompatibilität können auch ID-Nummern wie 0,1 usw. verwendet werden

  • image_type (ImageType) – Art des benötigten Bildes

  • vehicle_name (str, optional) – Fahrzeug, mit dem die Kamera assoziiert ist

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

simContinueForFrames(frames)[Quelle]

Setzt die Simulation für die angegebene Anzahl von Frames fort (oder setzt sie fort, wenn sie pausiert ist), danach wird die Simulation pausiert.

Parameter

frames (int) – Anzahl der Frames, für die die Simulation ausgeführt werden soll

simContinueForTime(seconds)[Quelle]

Setzt die Simulation für die angegebene Anzahl von Sekunden fort

Parameter

seconds (float) – Zeit, für die die Simulation ausgeführt werden soll

simCreateVoxelGrid(position, x, y, z, res, of)[Quelle]

Erstellt und speichert ein Voxelgitter der Umgebung im binvox-Format

Parameter
  • position (Vector3r) – Position, um die das Voxelgitter zentriert ist, in m

  • x (int) – Größe jeder Voxelgitter-Dimension in m

  • y (int) – Größe jeder Voxelgitter-Dimension in m

  • z (int) – Größe jeder Voxelgitter-Dimension in m

  • res (float) – Auflösung des Voxelgitters in m

  • of (str) – Name der Ausgabedatei, in der das Voxelgitter gespeichert werden soll

Rückgabe

True, wenn die Ausgabe erfolgreich in die Datei geschrieben wurde, sonst False

Rückgabetyp

bool

simDestroyObject(object_name)[Quelle]

Entfernt das ausgewählte Objekt aus der Welt

Parameter

object_name (str) – Name des zu entfernenden Objekts

Rückgabe

True, wenn das Objekt zum Entfernen vorgemerkt ist

Rückgabetyp

bool

simEnableFocusPlane(enable, camera_name, vehicle_name='', external=False)[Quelle]
simEnableManualFocus(enable, camera_name, vehicle_name='', external=False)[Quelle]
simEnableWeather(enable)[Quelle]

Aktiviert Wettereffekte. Muss aufgerufen werden, bevor die simSetWeatherParameter-API verwendet wird.

Parameter

enable (bool) – True zum Aktivieren, False zum Deaktivieren

simFlushPersistentMarkers()[Quelle]

Löscht alle persistenten Marker – diejenigen, die mit `is_persistent=True` in den folgenden APIs gezeichnet wurden

simGetCameraInfo(camera_name, vehicle_name='', external=False)[Quelle]

Details zur Kamera abrufen

Parameter
  • camera_name (str) – Name der Kamera, zur Rückwärtskompatibilität können auch ID-Nummern wie 0,1 usw. verwendet werden

  • vehicle_name (str, optional) – Fahrzeug, mit dem die Kamera assoziiert ist

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

Rückgabetyp

CameraInfo

simGetCollisionInfo(vehicle_name='')[Quelle]
Parameter

vehicle_name (str, optional) – Name des Fahrzeugs, dessen Informationen abgerufen werden sollen

Rückgabetyp

CollisionInfo

simGetCurrentFieldOfView(camera_name, vehicle_name='', external=False)[Quelle]
simGetDetections(camera_name, image_type, vehicle_name='', external=False)[Quelle]

Aktuelle Erkennungen abrufen

Parameter
  • camera_name (str) – Name der Kamera, zur Rückwärtskompatibilität können auch ID-Nummern wie 0,1 usw. verwendet werden

  • image_type (ImageType) – Art des benötigten Bildes

  • vehicle_name (str, optional) – Fahrzeug, mit dem die Kamera assoziiert ist

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

Rückgabe

DetectionInfo-Array

simGetDistortionParams(camera_name, vehicle_name='', external=False)[Quelle]

Kameradistorsionsparameter abrufen

Parameter
  • camera_name (str) – Name der Kamera, zur Rückwärtskompatibilität können auch ID-Nummern wie 0,1 usw. verwendet werden

  • vehicle_name (str, optional) – Fahrzeug, mit dem die Kamera assoziiert ist

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

Rückgabe

Liste der Verzerrungsparameterwerte, die K1, K2, K3, P1 bzw. P2 entsprechen.

Rückgabetyp

List (float)

simGetFilmbackSettings(camera_name, vehicle_name='', external=False)[Quelle]
simGetFocalLength(camera_name, vehicle_name='', external=False)[Quelle]
simGetFocusAperture(camera_name, vehicle_name='', external=False)[Quelle]
simGetFocusDistance(camera_name, vehicle_name='', external=False)[Quelle]
simGetGroundTruthEnvironment(vehicle_name='') EnvironmentState[Quelle]

Umgebungszustand der Grundwahrheit abrufen

Die Position innerhalb des zurückgegebenen `EnvironmentState` befindet sich im Koordinatensystem des Startpunkts des Fahrzeugs.

Parameter

vehicle_name (str, optional) – Name des Fahrzeugs

Rückgabe

Umgebungszustand der Grundwahrheit

Rückgabetyp

EnvironmentState

simGetGroundTruthKinematics(vehicle_name='') KinematicsState[Quelle]

Holt die Kinematik der Grundwahrheit des Fahrzeugs

Die Position innerhalb des zurückgegebenen `KinematicsState` befindet sich im Koordinatensystem des Startpunkts des Fahrzeugs.

Parameter

vehicle_name (str, optional) – Name des Fahrzeugs

Rückgabe

Grundwahrheit des Fahrzeugs

Rückgabetyp

KinematicsState

simGetImage(camera_name, image_type, vehicle_name='', external=False)[Quelle]

Ein einzelnes Bild abrufen

Gibt Bytes eines PNG-formatierten Bildes zurück, die in eine Binärdatei geschrieben und zur Erstellung eines .png-Bildes verwendet werden können. string_to_uint8_array() kann zur Konvertierung in ein Numpy-Array vom Typ unit8 verwendet werden. Einzelheiten finden Sie unter https://msdocs.de/AirSim/image_apis/.

Parameter
  • camera_name (str) – Name der Kamera, zur Rückwärtskompatibilität können auch ID-Nummern wie 0,1 usw. verwendet werden

  • image_type (ImageType) – Art des benötigten Bildes

  • vehicle_name (str, optional) – Name des Fahrzeugs mit der Kamera

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

Rückgabe

Binäre String-Literal des komprimierten PNG-Bildes

simGetImages(requests, vehicle_name='', external=False)[Quelle]

Mehrere Bilder abrufen

Details und Beispiele finden Sie unter https://msdocs.de/AirSim/image_apis/.

Parameter
  • requests (list[ImageRequest]) – Benötigte Bilder

  • vehicle_name (str, optional) – Name des Fahrzeugs, das mit der Kamera verbunden ist

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

Rückgabetyp

list[ImageResponse]

simGetLensSettings(camera_name, vehicle_name='', external=False)[Quelle]
simGetLidarSegmentation(lidar_name='', vehicle_name='')[Quelle]

HINWEIS: Veraltete API, verwenden Sie die API getLidarData() stattdessen Gibt die Segmentierungs-ID jedes Punktes des kollidierten Objekts im letzten Lidar-Update zurück

Parameter
  • lidar_name (str, optional) – Name des Lidar-Sensors

  • vehicle_name (str, optional) – Name des Fahrzeugs mit dem Sensor

Rückgabe

Segmentierungs-IDs der Objekte

Rückgabetyp

list[int]

simGetMeshPositionVertexBuffers()[Quelle]

Gibt die statischen Meshes zurück, die die Szene bilden

Weitere Informationen und wie Sie dies verwenden können, finden Sie unter https://msdocs.de/AirSim/meshes/

Rückgabetyp

list[MeshPositionVertexBuffersResponse]

simGetObjectPose(object_name)[Quelle]

Die Position im zurückgegebenen Pose ist im Weltkoordinatensystem

Parameter

object_name (str) – Objekt, dessen Pose abgerufen werden soll

Rückgabetyp

Pose

simGetObjectScale(object_name)[Quelle]

Ruft die Skalierung eines Objekts in der Welt ab

Parameter

object_name (str) – Objekt, dessen Skalierung abgerufen werden soll

Rückgabe

Skalierung

Rückgabetyp

airsim.Vector3r

simGetPresetFilmbackSettings(camera_name, vehicle_name='', external=False)[Quelle]
simGetPresetLensSettings(camera_name, vehicle_name='', external=False)[Quelle]
simGetSegmentationObjectID(mesh_name)[Quelle]

Gibt die Objekt-ID für den angegebenen Mesh-Namen zurück

Die Zuordnung von Objekt-IDs zu RGB-Werten finden Sie unter https://msdocs.de/AirSim/seg_rgbs.txt

Parameter

mesh_name (str) – Name des Meshes, dessen ID abgerufen werden soll

simGetVehiclePose(vehicle_name='')[Quelle]

Die Position im zurückgegebenen Pose ist im Rahmen des Startpunkts des Fahrzeugs

Parameter

vehicle_name (str, optional) – Name des Fahrzeugs, dessen Pose abgerufen werden soll

Rückgabetyp

Pose

simGetWorldExtents()[Quelle]

Gibt eine Liste von GeoPoints zurück, die die minimalen und maximalen Ausdehnungen der Welt darstellen

Rückgabe

list[GeoPoint]

simIsPause()[Quelle]

Gibt true zurück, wenn die Simulation pausiert ist

Rückgabe

Ob die Simulation pausiert ist

Rückgabetyp

bool

simListAssets()[Quelle]

Listet alle Assets im Asset-Registry auf

Rückgabe

Namen aller Assets

Rückgabetyp

list[str]

simListSceneObjects(name_regex='.*')[Quelle]

Listet die Objekte auf, die in der Umgebung vorhanden sind

Das Standardverhalten ist, alle Objekte aufzulisten. Ein Regex kann verwendet werden, um eine kleinere Liste passender Objekte oder Akteure zurückzugeben

Parameter

name_regex (str, optional) – String zum Abgleich von Aktornamen, z. B. „Cylinder.*“

Rückgabe

Liste, die alle Namen enthält

Rückgabetyp

list[str]

simLoadLevel(level_name)[Quelle]

Lädt eine Ebene, die durch ihren Namen angegeben ist

Parameter

level_name (str) – Name der zu ladenden Ebene

Rückgabe

True, wenn die Ebene erfolgreich geladen wurde

Rückgabetyp

bool

simPause(is_paused)[Quelle]

Pausiert die Simulation

Parameter

is_paused (bool) – True zum Pausieren der Simulation, False zum Fortsetzen

simPlotArrows(points_start, points_end, color_rgba=[1.0, 0.0, 0.0, 1.0], thickness=5.0, arrow_size=2.0, duration=-1.0, is_persistent=False)[Quelle]

Zeichnet eine Liste von Pfeilen im Welt-NED-Koordinatensystem, definiert von points_start[0] nach points_end[0], points_start[1] nach points_end[1], ..., points_start[n-1] nach points_end[n-1]

Parameter
  • points_start (list[Vector3r]) – Liste der 3D-Startpositionen von Pfeilanfangspositionen, angegeben als Vector3r-Objekte

  • points_end (list[Vector3r]) – Liste der 3D-Endpositionen von Pfeilanfangspositionen, angegeben als Vector3r-Objekte

  • color_rgba (list, optional) – gewünschte RGBA-Werte von 0,0 bis 1,0

  • thickness (float, optional) – Dicke der Linie

  • arrow_size (float, optional) – Größe der Pfeilspitze

  • duration (float, optional) – Dauer (Sekunden) zum Zeichnen

  • is_persistent (bool, optional) – Wenn True gesetzt, wird das gewünschte Objekt unendlich lange gezeichnet.

simPlotLineList(points, color_rgba=[1.0, 0.0, 0.0, 1.0], thickness=5.0, duration=-1.0, is_persistent=False)[Quelle]

Zeichnet eine Linienliste im Welt-NED-Koordinatensystem, definiert von points[0] nach points[1], points[2] nach points[3], ..., points[n-2] nach points[n-1]

Parameter
  • points (list[Vector3r]) – Liste der 3D-Positionen von Linienanfang und -ende, angegeben als Vector3r-Objekte. Muss gerade sein

  • color_rgba (list, optional) – gewünschte RGBA-Werte von 0,0 bis 1,0

  • thickness (float, optional) – Dicke der Linie

  • duration (float, optional) – Dauer (Sekunden) zum Zeichnen

  • is_persistent (bool, optional) – Wenn True gesetzt, wird das gewünschte Objekt unendlich lange gezeichnet.

simPlotLineStrip(points, color_rgba=[1.0, 0.0, 0.0, 1.0], thickness=5.0, duration=-1.0, is_persistent=False)[Quelle]

Zeichnet einen Linienzug im Welt-NED-Koordinatensystem, definiert von points[0] nach points[1], points[1] nach points[2], ..., points[n-2] nach points[n-1]

Parameter
  • points (list[Vector3r]) – Liste der 3D-Positionen von Linienanfang und -ende, angegeben als Vector3r-Objekte

  • color_rgba (list, optional) – gewünschte RGBA-Werte von 0,0 bis 1,0

  • thickness (float, optional) – Dicke der Linie

  • duration (float, optional) – Dauer (Sekunden) zum Zeichnen

  • is_persistent (bool, optional) – Wenn True gesetzt, wird das gewünschte Objekt unendlich lange gezeichnet.

simPlotPoints(points, color_rgba=[1.0, 0.0, 0.0, 1.0], size=10.0, duration=-1.0, is_persistent=False)[Quelle]

Zeichnet eine Liste von 3D-Punkten im Welt-NED-Koordinatensystem

Parameter
  • points (list[Vector3r]) – Liste von Vector3r-Objekten

  • color_rgba (list, optional) – gewünschte RGBA-Werte von 0,0 bis 1,0

  • size (float, optional) – Größe des gezeichneten Punktes

  • duration (float, optional) – Dauer (Sekunden) zum Zeichnen

  • is_persistent (bool, optional) – Wenn True gesetzt, wird das gewünschte Objekt unendlich lange gezeichnet.

simPlotStrings(strings, positions, scale=5, color_rgba=[1.0, 0.0, 0.0, 1.0], duration=-1.0)[Quelle]

Zeichnet eine Liste von Zeichenketten an gewünschten Positionen im Welt-NED-Koordinatensystem.

Parameter
  • strings (list[String], optional) – Liste der zu zeichnenden Zeichenketten

  • positions (list[Vector3r]) – Liste der Positionen, an denen die Zeichenketten gezeichnet werden sollen. Sollte eins-zu-eins mit der Zeichenkettenliste korrespondieren

  • scale (float, optional) – Skalierung der Schriftart des Transformationsnamens

  • color_rgba (list, optional) – gewünschte RGBA-Werte von 0,0 bis 1,0

  • duration (float, optional) – Dauer (Sekunden) zum Zeichnen

simPlotTransforms(poses, scale=5.0, thickness=5.0, duration=-1.0, is_persistent=False)[Quelle]

Zeichnet eine Liste von Transformationen im Welt-NED-Koordinatensystem.

Parameter
  • poses (list[Pose]) – Liste von Pose-Objekten, die die zu zeichnenden Transformationen darstellen

  • scale (float, optional) – Länge der Achsen der Transformationen

  • thickness (float, optional) – Dicke der Achsen der Transformationen

  • duration (float, optional) – Dauer (Sekunden) zum Zeichnen

  • is_persistent (bool, optional) – Wenn True gesetzt, wird das gewünschte Objekt unendlich lange gezeichnet.

simPlotTransformsWithNames(poses, names, tf_scale=5.0, tf_thickness=5.0, text_scale=10.0, text_color_rgba=[1.0, 0.0, 0.0, 1.0], duration=-1.0)[Quelle]

Zeichnet eine Liste von Transformationen mit ihren Namen im Welt-NED-Koordinatensystem.

Parameter
  • poses (list[Pose]) – Liste von Pose-Objekten, die die zu zeichnenden Transformationen darstellen

  • names (list[string]) – Liste von Zeichenketten mit eins-zu-eins-Korrespondenz zur Liste der Posen

  • tf_scale (float, optional) – Länge der Achsen der Transformationen

  • tf_thickness (float, optional) – Dicke der Achsen der Transformationen

  • text_scale (float, optional) – Skalierung der Schriftart des Transformationsnamens

  • text_color_rgba (list, optional) – gewünschte RGBA-Werte von 0,0 bis 1,0 für den Transformationsnamen

  • duration (float, optional) – Dauer (Sekunden) zum Zeichnen

simPrintLogMessage(message, message_param='', severity=0)[Quelle]

Gibt die angegebene Nachricht im Fenster des Simulators aus.

Wenn message_param angegeben ist, wird es neben der Nachricht ausgegeben und in diesem Fall wird, wenn diese API mit demselben message-Wert, aber einem anderen message_param erneut aufgerufen wird, die vorherige Zeile mit einer neuen Zeile überschrieben (anstatt dass die API eine neue Zeile auf dem Display erstellt).

Zum Beispiel behält simPrintLogMessage(“Iteration: “, to_string(i)) dieselbe Zeile auf dem Display bei, wenn die API mit verschiedenen Werten von i aufgerufen wird. Die gültigen Werte des severity-Parameters reichen von 0 bis 3 einschließlich und entsprechen verschiedenen Farben.

Parameter
  • message (str) – Zu druckende Nachricht

  • message_param (str, optional) – Parameter, der neben der Nachricht ausgegeben werden soll

  • severity (int, optional) – Bereich 0-3, einschließlich, entsprechend der Schwere der Nachricht

simRunConsoleCommand(command)[Quelle]

Ermöglicht dem Client, einen Befehl in der nativen Konsole von Unreal über eine API auszuführen. Bietet Zugriff auf unzählige integrierte Befehle wie „stat unit“, „stat fps“, „open [map]“, Anpassung beliebiger Konfigurationseinstellungen usw. usw. Ermöglicht dem Benutzer die einfache Erstellung von benutzerdefinierten APIs, indem ein benutzerdefiniertes Ereignis zur Level-Blueprint hinzugefügt und dann der Konsolenbefehl „ce MyEventName [args]“ aufgerufen wird. Keine Neukompilierung von AirSim erforderlich!

Parameter

command ([string]) – Gewünschter Unreal Engine Konsolenbefehl, der ausgeführt werden soll

Rückgabe

Erfolg

Rückgabetyp

[bool]

simSetCameraFov(camera_name, fov_degrees, vehicle_name='', external=False)[Quelle]
  • Steuert das Sichtfeld einer ausgewählten Kamera

Parameter
  • camera_name (str) – Name der zu steuernden Kamera

  • fov_degrees (float) – Wert des Sichtfeldes in Grad

  • vehicle_name (str, optional) – Name des Fahrzeugs, zu dem die Kamera gehört

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

simSetCameraPose(camera_name, pose, vehicle_name='', external=False)[Quelle]
  • Steuert die Pose einer ausgewählten Kamera

Parameter
  • camera_name (str) – Name der zu steuernden Kamera

  • pose (Pose) – Pose, die die gewünschte Position und Ausrichtung der Kamera darstellt

  • vehicle_name (str, optional) – Name des Fahrzeugs, zu dem die Kamera gehört

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

simSetDetectionFilterRadius(camera_name, image_type, radius_cm, vehicle_name='', external=False)[Quelle]

Setzt den Erfassungsradius für alle Kameras

Parameter
  • camera_name (str) – Name der Kamera, zur Rückwärtskompatibilität können auch ID-Nummern wie 0,1 usw. verwendet werden

  • image_type (ImageType) – Art des benötigten Bildes

  • radius_cm (int) – Radius in [cm]

  • vehicle_name (str, optional) – Fahrzeug, mit dem die Kamera assoziiert ist

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

simSetDistortionParam(camera_name, param_name, value, vehicle_name='', external=False)[Quelle]

Setzt einen einzelnen Kameradistorsionsparameter

Parameter
  • camera_name (str) – Name der Kamera, zur Rückwärtskompatibilität können auch ID-Nummern wie 0,1 usw. verwendet werden

  • param_name (str) – Name des Distorsionsparameters

  • value (float) – Wert des Distorsionsparameters

  • vehicle_name (str, optional) – Fahrzeug, mit dem die Kamera assoziiert ist

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

simSetDistortionParams(camera_name, distortion_params, vehicle_name='', external=False)[Quelle]

Setzt Kameradistorsionsparameter

Parameter
  • camera_name (str) – Name der Kamera, zur Rückwärtskompatibilität können auch ID-Nummern wie 0,1 usw. verwendet werden

  • distortion_params (dict) – Dictionary mit Namen von Distorsionsparametern und entsprechenden Werten {„K1“: 0,0, „K2“: 0,0, „K3“: 0,0, „P1“: 0,0, „P2“: 0,0}

  • vehicle_name (str, optional) – Fahrzeug, mit dem die Kamera assoziiert ist

  • external (bool, optional) – Ob die Kamera eine externe Kamera ist

simSetFilmbackSettings(sensor_width, sensor_height, camera_name, vehicle_name='', external=False)[Quelle]
simSetFocalLength(focal_length, camera_name, vehicle_name='', external=False)[Quelle]
simSetFocusAperture(focus_aperture, camera_name, vehicle_name='', external=False)[Quelle]
simSetFocusDistance(focus_distance, camera_name, vehicle_name='', external=False)[Quelle]
simSetKinematics(state, ignore_collision, vehicle_name='')[Quelle]

Setzt den kinematischen Zustand des Fahrzeugs

Wenn Sie die Position (oder Ausrichtung) nicht ändern möchten, setzen Sie einfach Komponenten der Position (oder Ausrichtung) auf Fließkomma-NaN-Werte

Parameter
  • state (KinematicsState) – Gewünschte Pose des Fahrzeugs

  • ignore_collision (bool) – Ob eine Kollision ignoriert werden soll oder nicht

  • vehicle_name (str, optional) – Name des zu bewegenden Fahrzeugs

simSetLightIntensity(light_name, intensity)[Quelle]

Ändert die Intensität einer benannten Lichtquelle

Parameter
  • light_name (str) – Name der zu ändernden Lichtquelle

  • intensity (float) – Neuer Intensitätswert

Rückgabe

True, wenn erfolgreich, sonst False

Rückgabetyp

bool

simSetObjectMaterial(object_name, material_name, component_id=0)[Quelle]

Laufzeit-Textur-Austausch-API siehe https://msdocs.de/AirSim/retexturing/ für Details :param object_name: Name des Objekts, für das das Material gesetzt werden soll :type object_name: str :param material_name: Name des Materials, das für das Objekt gesetzt werden soll :type material_name: str :param component_id: Index der Materialelemente :type component_id: int, optional

Rückgabe

True, wenn das Material gesetzt wurde

Rückgabetyp

bool

simSetObjectMaterialFromTexture(object_name, texture_path, component_id=0)[Quelle]

Laufzeit-Textur-Austausch-API siehe https://msdocs.de/AirSim/retexturing/ für Details :param object_name: Name des Objekts, für das das Material gesetzt werden soll :type object_name: str :param texture_path: Pfad zur Textur, die für das Objekt gesetzt werden soll :type texture_path: str :param component_id: Index der Materialelemente :type component_id: int, optional

Rückgabe

True, wenn das Material gesetzt wurde

Rückgabetyp

bool

simSetObjectPose(object_name, pose, teleport=True)[Quelle]

Setzt die Pose des Objekts (Akteurs) in der Umgebung

Der angegebene Akteur muss die Mobilität auf "beweglich" gesetzt haben, andernfalls kommt es zu undefiniertem Verhalten. Siehe https://www.unrealengine.com/en-US/blog/moving-physical-objects für Details zur Einstellung der Mobilität und den Auswirkungen des Teleport-Parameters

Parameter
  • object_name (str) – Name des zu bewegenden Objekts (Akteurs)

  • pose (Pose) – Gewünschte Pose des Objekts

  • teleport (bool, optional) – Ob das Objekt sofort bewegt werden soll, ohne seine Geschwindigkeit zu beeinflussen

Rückgabe

Wenn die Bewegung erfolgreich war

Rückgabetyp

bool

simSetObjectScale(object_name, scale_vector)[Quelle]

Setzt die Skalierung eines Objekts in der Welt

Parameter
  • object_name (str) – Objekt, dessen Skalierung gesetzt werden soll

  • scale_vector (airsim.Vector3r) – Gewünschte Skalierung des Objekts

Rückgabe

True, wenn die Skalierungsänderung erfolgreich war

Rückgabetyp

bool

simSetPresetFilmbackSettings(preset_filmback_settings, camera_name, vehicle_name='', external=False)[Quelle]
simSetPresetLensSettings(preset_lens_settings, camera_name, vehicle_name='', external=False)[Quelle]
simSetSegmentationObjectID(mesh_name, object_id, is_name_regex=False)[Quelle]

Setzt die Segmentierungs-ID für bestimmte Objekte

Details finden Sie unter https://msdocs.de/AirSim/image_apis/#segmentation

Parameter
  • mesh_name (str) – Name des Meshes, dessen ID gesetzt werden soll (unterstützt Regex)

  • object_id (int) –

    Zu setzende Objekt-ID, Bereich 0-255

    Die RGB-Werte für IDs können unter https://msdocs.de/AirSim/seg_rgbs.txt eingesehen werden

  • is_name_regex (bool, optional) – Ob der Mesh-Name ein Regex ist

Rückgabe

Wenn das Mesh gefunden wurde

Rückgabetyp

bool

simSetTimeOfDay(is_enabled, start_datetime='', is_start_datetime_dst=False, celestial_clock_speed=1, update_interval_secs=60, move_sun=True)[Quelle]

Steuert die Position der Sonne in der Umgebung

Die Sonnenposition wird anhand der in OriginGeopoint in den Einstellungen für das angegebene Datum und die angegebene Uhrzeit berechnet, andernfalls wird die aktuelle Zeit und das aktuelle Datum verwendet, wenn der String leer ist.

Parameter
  • is_enabled (bool) – True, um den Tageszeiteffekt zu aktivieren, False, um die Position auf die ursprüngliche zurückzusetzen

  • start_datetime (str, optional) – Datum & Uhrzeit im Format %Y-%m-%d %H:%M:%S, z. B. 2018-02-12 15:20:00

  • is_start_datetime_dst (bool, optional) – True, um die Sommerzeit zu berücksichtigen

  • celestial_clock_speed (float, optional) – Lässt die Himmelsuhr schneller oder langsamer als die Simulationsuhr laufen. Z. B. bedeutet ein Wert von 100, dass für jede Sekunde Simulationsuhrzeit die Sonnenposition um 100 Sekunden vorgerückt wird, sodass sich die Sonne viel schneller am Himmel bewegt.

  • update_interval_secs (float, optional) – Intervall zur Aktualisierung der Sonnenposition

  • move_sun (bool, optional) – Ob die Sonne bewegt werden soll oder nicht

simSetTraceLine(color_rgba, thickness=1.0, vehicle_name='')[Quelle]

Ändert die Farbe und Dicke der Linie, wenn das Nachzeichnen aktiviert ist

Das Nachzeichnen kann durch Drücken von T im Editor oder durch Setzen von EnableTrace auf True in den Fahrzeugeinstellungen aktiviert werden

Parameter
  • color_rgba (list) – Gewünschte RGBA-Werte von 0,0 bis 1,0

  • thickness (float, optional) – Dicke der Linie

  • vehicle_name (string, optional) – Name des Fahrzeugs, für das die Nachzeichnungs-Linienwerte gesetzt werden sollen

simSetVehiclePose(pose, ignore_collision, vehicle_name='')[Quelle]

Setzt die Pose des Fahrzeugs

Wenn Sie die Position (oder Ausrichtung) nicht ändern möchten, setzen Sie einfach Komponenten der Position (oder Ausrichtung) auf Fließkomma-NaN-Werte

Parameter
  • pose (Pose) – Gewünschte Pose des Fahrzeugs

  • ignore_collision (bool) – Ob eine Kollision ignoriert werden soll oder nicht

  • vehicle_name (str, optional) – Name des zu bewegenden Fahrzeugs

simSetWeatherParameter(param, val)[Quelle]

Aktiviert verschiedene Wettereffekte

Parameter
  • param (WeatherParameter) – Zu aktivierender Wettereffekt

  • val (float) – Intensität des Effekts, Bereich 0-1

simSetWind(wind)[Quelle]

Setzt simulierten Wind im Weltrahmen, NED-Richtung, m/s

Parameter

wind (Vector3r) – Wind, im Weltrahmen, NED-Richtung, in m/s

simSpawnObject(object_name, asset_name, pose, scale, physics_enabled=False, is_blueprint=False)[Quelle]

Erzeugt ein ausgewähltes Objekt in der Welt

Parameter
  • object_name (str) – Gewünschter Name des neuen Objekts

  • asset_name (str) – Name des Assets (Meshes) in der Projektdatenbank

  • pose (airsim.Pose) – Gewünschte Pose des Objekts

  • scale (airsim.Vector3r) – Gewünschte Skalierung des Objekts

  • physics_enabled (bool, optional) – Ob Physik für das Objekt aktiviert werden soll

  • is_blueprint (bool, optional) – Ob ein Blueprint oder ein Actor erzeugt werden soll

Rückgabe

Name des erzeugten Objekts, falls es modifiziert werden musste

Rückgabetyp

str

simSwapTextures(tags, tex_id=0, component_id=0, material_id=0)[Quelle]

Laufzeit-Textur-Austausch-API

Details finden Sie unter https://msdocs.de/AirSim/retexturing/

Parameter
  • tags (str) – String von mit "," oder ", " getrennten Tags, um zu identifizieren, auf welchen Akteuren der Austausch durchgeführt werden soll

  • tex_id (int, optional) –

    Indiziert das Array von Texturen, die jedem an einem Austausch beteiligten Akteur zugewiesen sind

    Wenn der Index für den Textursatz eines Objekts außerhalb des gültigen Bereichs liegt, wird er modulo der Anzahl der verfügbaren Texturen genommen.

  • component_id (int, optional) –

  • material_id (int, optional) –

Rückgabe

Liste der Objekte, die den angegebenen Tags entsprachen und bei denen der Texturaustausch durchgeführt wurde

Rückgabetyp

list[str]

simTestLineOfSightBetweenPoints(point1, point2)[Quelle]

Gibt zurück, ob der Zielpunkt aus der Perspektive des Quellpunkts sichtbar ist

Parameter
Rückgabe

Erfolg

Rückgabetyp

[bool]

simTestLineOfSightToPoint(point, vehicle_name='')[Quelle]

Gibt zurück, ob der Zielpunkt aus der Perspektive des eingegebenen Fahrzeugs sichtbar ist

Parameter
  • point (GeoPoint) – Zielpunkt

  • vehicle_name (str, optional) – Name des Fahrzeugs

Rückgabe

Erfolg

Rückgabetyp

[bool]

startRecording()[Quelle]

Aufnahme starten

Die Aufnahme erfolgt gemäß den Einstellungen

stopRecording()[Quelle]

Aufnahme stoppen

class airsim.client.MultirotorClient(ip='', port=41451, timeout_value=3600)[Quelle]

Bases: VehicleClient, object

getMultirotorState(vehicle_name='') MultirotorState[Quelle]

Die in der zurückgegebenen MultirotorState enthaltene Position befindet sich im Rahmen des Startpunkts des Fahrzeugs

Parameter

vehicle_name (str, optional) – Fahrzeug, dessen Zustand abgerufen werden soll

Rückgabetyp

MultirotorState

getRotorStates(vehicle_name='') RotorStates[Quelle]

Wird verwendet, um den aktuellen Zustand aller Rotoren eines Multirotors abzurufen. Der Zustand umfasst die Geschwindigkeiten, Schubkräfte und Drehmomente aller Rotoren.

Parameter

vehicle_name (str, optional) – Fahrzeug, dessen Rotorzustand abgerufen werden soll

Rückgabe

Enthält einen Zeitstempel und die Geschwindigkeit, den Schub und das Drehmoment aller Rotoren.

Rückgabetyp

RotorStates

goHomeAsync(timeout_sec=3e+38, vehicle_name='')[Quelle]

Fahrzeug kehrt zum Startpunkt (Home), d.h. zum Startort, zurück

Parameter
  • timeout_sec (int, optional) – Timeout für das Erreichen der gewünschten Höhe durch das Fahrzeug

  • vehicle_name (str, optional) – Name des Fahrzeugs, an das dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

hoverAsync(vehicle_name='')[Quelle]
landAsync(timeout_sec=60, vehicle_name='')[Quelle]

Das Fahrzeug landen lassen

Parameter
  • timeout_sec (int, optional) – Timeout für das Landen des Fahrzeugs

  • vehicle_name (str, optional) – Name des Fahrzeugs, an das dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByAngleRatesThrottleAsync(roll_rate, pitch_rate, yaw_rate, throttle, duration, vehicle_name='')[Quelle]
  • Der gewünschte Schub liegt zwischen 0,0 und 1,0

  • Roll-, Nick- und Gierraten-Sollwerte werden im **Bodenrahmen** in **Radiant** angegeben.

  • Der Bodenrahmen folgt der Front Left Up (FLU)-Konvention und der Rechtshändigkeit.

  • Rahmenkonvention
    • Die X-Achse verläuft entlang der **Front**-Richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Roll**winkel.
    Daher entspricht ein Rollen mit positivem Winkel einer Translation in **rechts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Y-Achse verläuft entlang der **Links**richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Nick**winkel.
    Daher entspricht ein Nicken mit positivem Winkel einer Translation in **vorwärts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Z-Achse verläuft entlang der **Aufwärts**richtung.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Gier**winkel.
    Daher entspricht ein Gieren mit positivem Winkel einer Drehung nach **links** relativ zu unserem FLU-Bodenrahmen. Oder in einer gegen den Uhrzeigersinn gerichteten Weise in der XY-/FL-Ebene des Bodens.
Parameter
  • roll_rate (float) – Gewünschte Rollrate in Radiant/Sekunde

  • pitch_rate (float) – Gewünschte Nickrate in Radiant/Sekunde

  • yaw_rate (float) – Gewünschte Gierrate in Radiant/Sekunde

  • throttle (float) – Gewünschter Schub (zwischen 0,0 und 1,0)

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByAngleRatesZAsync(roll_rate, pitch_rate, yaw_rate, z, duration, vehicle_name='')[Quelle]
  • z wird im lokalen NED-Rahmen des Fahrzeugs angegeben.

  • Roll-, Nick- und Gierraten-Sollwerte werden im **Bodenrahmen** in **Radiant** angegeben.

  • Der Bodenrahmen folgt der Front Left Up (FLU)-Konvention und der Rechtshändigkeit.

  • Rahmenkonvention
    • Die X-Achse verläuft entlang der **Front**-Richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Roll**winkel.
    Daher entspricht ein Rollen mit positivem Winkel einer Translation in **rechts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Y-Achse verläuft entlang der **Links**richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Nick**winkel.
    Daher entspricht ein Nicken mit positivem Winkel einer Translation in **vorwärts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Z-Achse verläuft entlang der **Aufwärts**richtung.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Gier**winkel.
    Daher entspricht ein Gieren mit positivem Winkel einer Drehung nach **links** relativ zu unserem FLU-Bodenrahmen. Oder in einer gegen den Uhrzeigersinn gerichteten Weise in der XY-/FL-Ebene des Bodens.
Parameter
  • roll_rate (float) – Gewünschte Rollrate in Radiant/Sekunde

  • pitch_rate (float) – Gewünschte Nickrate in Radiant/Sekunde

  • yaw_rate (float) – Gewünschte Gierrate in Radiant/Sekunde

  • z (float) – Gewünschter Z-Wert (im lokalen NED-Rahmen des Fahrzeugs)

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByAngleThrottleAsync(pitch, roll, throttle, yaw_rate, duration, vehicle_name='')[Quelle]
moveByAngleZAsync(pitch, roll, z, yaw, duration, vehicle_name='')[Quelle]
moveByManualAsync(vx_max, vy_max, z_min, duration, drivetrain=0, yaw_mode=<YawMode> {   'is_rate': True, 'yaw_or_rate': 0.0}, vehicle_name='')[Quelle]
  • Liest den aktuellen RC-Zustand und verwendet ihn zur Steuerung der Fahrzeuge.

Die Parameter legen die Grenzen für Geschwindigkeit und Mindesthöhe während des Fluges fest. Wenn der RC-Zustand diese Grenzen verletzt, wird dieser RC-Zustand ignoriert.

Parameter
  • vx_max (float) – Maximale Geschwindigkeit in x-Richtung

  • vy_max (float) – maximale erlaubte Geschwindigkeit in y-Richtung

  • vz_max (float) – maximale erlaubte Geschwindigkeit in z-Richtung

  • z_min (float) – minimal zulässige z-Position für das Fahrzeug

  • duration (float) – nach dieser Dauer wechselt das Fahrzeug zurück in den Nicht-Manuellen Modus

  • drivetrain (DrivetrainType) – bei ForwardOnly dreht sich das Fahrzeug selbst, sodass seine Vorderseite immer in Fahrtrichtung zeigt. Wenn MaxDegreeOfFreedom dann tut es das nicht (crab-ähnliche Bewegung)

  • yaw_mode (YawMode) – Gibt an, ob das Fahrzeug auf einen bestimmten Winkel ausgerichtet sein soll (is_rate=False) oder ob es sich mit einer bestimmten Rate um seine Achse drehen soll (is_rate=True)

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByMotorPWMsAsync(front_right_pwm, rear_left_pwm, front_left_pwm, rear_right_pwm, duration, vehicle_name='')[source]
  • Direkte Steuerung der Motoren über PWM-Werte

Parameter
  • front_right_pwm (float) – PWM-Wert für den vorderen rechten Motor (zwischen 0,0 und 1,0)

  • rear_left_pwm (float) – PWM-Wert für den hinteren linken Motor (zwischen 0,0 und 1,0)

  • front_left_pwm (float) – PWM-Wert für den vorderen linken Motor (zwischen 0,0 und 1,0)

  • rear_right_pwm (float) – PWM-Wert für den hinteren rechten Motor (zwischen 0,0 und 1,0)

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByRC(rcdata=<RCData> {   'is_initialized': False, 'is_valid': False, 'pitch': 0.0, 'roll': 0.0, 'switch1': 0, 'switch2': 0, 'switch3': 0, 'switch4': 0, 'switch5': 0, 'switch6': 0, 'switch7': 0, 'switch8': 0, 'throttle': 0.0, 'timestamp': 0, 'yaw': 0.0}, vehicle_name='')[source]
moveByRollPitchYawThrottleAsync(roll, pitch, yaw, throttle, duration, vehicle_name='')[source]
  • Der gewünschte Schub liegt zwischen 0,0 und 1,0

  • Rollwinkel, Nickwinkel und Gierwinkel werden bei Verwendung von PX4 in **Grad** und bei Verwendung von SimpleFlight in **Radiant** im Körperkoordinatensystem angegeben.

  • Der Bodenrahmen folgt der Front Left Up (FLU)-Konvention und der Rechtshändigkeit.

  • Rahmenkonvention
    • Die X-Achse verläuft entlang der **Front**-Richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Roll**winkel.
    Daher entspricht ein Rollen mit positivem Winkel einer Translation in **rechts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Y-Achse verläuft entlang der **Links**richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Nick**winkel.
    Daher entspricht ein Nicken mit positivem Winkel einer Translation in **vorwärts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Z-Achse verläuft entlang der **Aufwärts**richtung.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Gier**winkel.
    Daher entspricht ein Gieren mit positivem Winkel einer Drehung nach **links** relativ zu unserem FLU-Bodenrahmen. Oder in einer gegen den Uhrzeigersinn gerichteten Weise in der XY-/FL-Ebene des Bodens.
Parameter
  • roll (float) – Gewünschter Rollwinkel.

  • pitch (float) – Gewünschter Nickwinkel.

  • yaw (float) – Gewünschter Gierwinkel.

  • throttle (float) – Gewünschter Schub (zwischen 0,0 und 1,0)

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByRollPitchYawZAsync(roll, pitch, yaw, z, duration, vehicle_name='')[source]
  • z wird im lokalen NED-Rahmen des Fahrzeugs angegeben.

  • Rollwinkel, Nickwinkel und Gierwinkel-Sollwerte werden in **Radiant** im Körperkoordinatensystem angegeben.

  • Der Bodenrahmen folgt der Front Left Up (FLU)-Konvention und der Rechtshändigkeit.

  • Rahmenkonvention
    • Die X-Achse verläuft entlang der **Front**-Richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Roll**winkel.
    Daher entspricht ein Rollen mit positivem Winkel einer Translation in **rechts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Y-Achse verläuft entlang der **Links**richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Nick**winkel.
    Daher entspricht ein Nicken mit positivem Winkel einer Translation in **vorwärts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Z-Achse verläuft entlang der **Aufwärts**richtung.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Gier**winkel.
    Daher entspricht ein Gieren mit positivem Winkel einer Drehung nach **links** relativ zu unserem FLU-Bodenrahmen. Oder in einer gegen den Uhrzeigersinn gerichteten Weise in der XY-/FL-Ebene des Bodens.
Parameter
  • roll (float) – Gewünschter Rollwinkel, in Radiant.

  • pitch (float) – Gewünschter Nickwinkel, in Radiant.

  • yaw (float) – Gewünschter Gierwinkel, in Radiant.

  • z (float) – Gewünschter Z-Wert (im lokalen NED-Rahmen des Fahrzeugs)

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByRollPitchYawrateThrottleAsync(roll, pitch, yaw_rate, throttle, duration, vehicle_name='')[source]
  • Der gewünschte Schub liegt zwischen 0,0 und 1,0

  • Rollwinkel, Nickwinkel und Gierratensollwerte werden in **Radiant** im Körperkoordinatensystem angegeben.

  • Der Bodenrahmen folgt der Front Left Up (FLU)-Konvention und der Rechtshändigkeit.

  • Rahmenkonvention
    • Die X-Achse verläuft entlang der **Front**-Richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Roll**winkel.
    Daher entspricht ein Rollen mit positivem Winkel einer Translation in **rechts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Y-Achse verläuft entlang der **Links**richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Nick**winkel.
    Daher entspricht ein Nicken mit positivem Winkel einer Translation in **vorwärts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Z-Achse verläuft entlang der **Aufwärts**richtung.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Gier**winkel.
    Daher entspricht ein Gieren mit positivem Winkel einer Drehung nach **links** relativ zu unserem FLU-Bodenrahmen. Oder in einer gegen den Uhrzeigersinn gerichteten Weise in der XY-/FL-Ebene des Bodens.
Parameter
  • roll (float) – Gewünschter Rollwinkel, in Radiant.

  • pitch (float) – Gewünschter Nickwinkel, in Radiant.

  • yaw_rate (float) – Gewünschte Gierrate, in Radiant pro Sekunde.

  • throttle (float) – Gewünschter Schub (zwischen 0,0 und 1,0)

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByRollPitchYawrateZAsync(roll, pitch, yaw_rate, z, duration, vehicle_name='')[source]
  • z wird im lokalen NED-Rahmen des Fahrzeugs angegeben.

  • Rollwinkel, Nickwinkel und Gierratensollwerte werden in **Radiant** im Körperkoordinatensystem angegeben.

  • Der Bodenrahmen folgt der Front Left Up (FLU)-Konvention und der Rechtshändigkeit.

  • Rahmenkonvention
    • Die X-Achse verläuft entlang der **Front**-Richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Roll**winkel.
    Daher entspricht ein Rollen mit positivem Winkel einer Translation in **rechts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Y-Achse verläuft entlang der **Links**richtung des Quadrokopters.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Nick**winkel.
    Daher entspricht ein Nicken mit positivem Winkel einer Translation in **vorwärts**er Richtung, relativ zu unserem FLU-Bodenrahmen.
    • Die Z-Achse verläuft entlang der **Aufwärts**richtung.

    Die Drehung im Uhrzeigersinn um diese Achse definiert einen positiven **Gier**winkel.
    Daher entspricht ein Gieren mit positivem Winkel einer Drehung nach **links** relativ zu unserem FLU-Bodenrahmen. Oder in einer gegen den Uhrzeigersinn gerichteten Weise in der XY-/FL-Ebene des Bodens.
Parameter
  • roll (float) – Gewünschter Rollwinkel, in Radiant.

  • pitch (float) – Gewünschter Nickwinkel, in Radiant.

  • yaw_rate (float) – Gewünschte Gierrate, in Radiant pro Sekunde.

  • z (float) – Gewünschter Z-Wert (im lokalen NED-Rahmen des Fahrzeugs)

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByVelocityAsync(vx, vy, vz, duration, drivetrain=0, yaw_mode=<YawMode> {   'is_rate': True, 'yaw_or_rate': 0.0}, vehicle_name='')[source]
Parameter
  • vx (float) – gewünschte Geschwindigkeit auf der Weltachse X (NED)

  • vy (float) – gewünschte Geschwindigkeit auf der Weltachse Y (NED)

  • vz (float) – gewünschte Geschwindigkeit auf der Weltachse Z (NED)

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • drivetrain (DrivetrainType, optional) –

  • yaw_mode (YawMode, optional) –

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByVelocityBodyFrameAsync(vx, vy, vz, duration, drivetrain=0, yaw_mode=<YawMode> {   'is_rate': True, 'yaw_or_rate': 0.0}, vehicle_name='')[source]
Parameter
  • vx (float) – gewünschte Geschwindigkeit auf der X-Achse des lokalen NED-Frames des Fahrzeugs.

  • vy (float) – gewünschte Geschwindigkeit auf der Y-Achse des lokalen NED-Frames des Fahrzeugs.

  • vz (float) – gewünschte Geschwindigkeit auf der Z-Achse des lokalen NED-Frames des Fahrzeugs.

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • drivetrain (DrivetrainType, optional) –

  • yaw_mode (YawMode, optional) –

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveByVelocityZAsync(vx, vy, z, duration, drivetrain=0, yaw_mode=<YawMode> {   'is_rate': True, 'yaw_or_rate': 0.0}, vehicle_name='')[source]
moveByVelocityZBodyFrameAsync(vx, vy, z, duration, drivetrain=0, yaw_mode=<YawMode> {   'is_rate': True, 'yaw_or_rate': 0.0}, vehicle_name='')[source]
Parameter
  • vx (float) – gewünschte Geschwindigkeit auf der X-Achse des lokalen NED-Frames des Fahrzeugs

  • vy (float) – gewünschte Geschwindigkeit auf der Y-Achse des lokalen NED-Frames des Fahrzeugs

  • z (float) – gewünschter Z-Wert (im lokalen NED-Rahmen des Fahrzeugs)

  • duration (float) – Gewünschte Dauer (Sekunden), für die dieser Befehl gesendet werden soll

  • drivetrain (DrivetrainType, optional) –

  • yaw_mode (YawMode, optional) –

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

moveOnPathAsync(path, velocity, timeout_sec=3e+38, drivetrain=0, yaw_mode=<YawMode> {   'is_rate': True, 'yaw_or_rate': 0.0}, lookahead=-1, adaptive_lookahead=1, vehicle_name='')[source]
moveToGPSAsync(latitude, longitude, altitude, velocity, timeout_sec=3e+38, drivetrain=0, yaw_mode=<YawMode> {   'is_rate': True, 'yaw_or_rate': 0.0}, lookahead=-1, adaptive_lookahead=1, vehicle_name='')[source]
moveToPositionAsync(x, y, z, velocity, timeout_sec=3e+38, drivetrain=0, yaw_mode=<YawMode> {   'is_rate': True, 'yaw_or_rate': 0.0}, lookahead=-1, adaptive_lookahead=1, vehicle_name='')[source]
moveToZAsync(z, velocity, timeout_sec=3e+38, yaw_mode=<YawMode> {   'is_rate': True, 'yaw_or_rate': 0.0}, lookahead=-1, adaptive_lookahead=1, vehicle_name='')[source]
rotateByYawRateAsync(yaw_rate, duration, vehicle_name='')[source]
rotateToYawAsync(yaw, timeout_sec=3e+38, margin=5, vehicle_name='')[source]
setAngleLevelControllerGains(angle_level_gains=<airsim.types.AngleLevelControllerGains object>, vehicle_name='')[source]
  • Setzt die Stellgrößen für den Winkel-Level-Regler (wird von jeder API verwendet, die Winkel-Sollwerte vorgibt - z.B. moveByRollPitchYawZAsync(), moveByRollPitchYawThrottleAsync(), etc.)

  • Das Ändern dieser Stellgrößen beeinflusst auch das Verhalten der moveByVelocityAsync()-API.

    Dies liegt daran, dass der AirSim Flugregler Geschwindigkeitssollwerte verfolgt, indem er sie in Winkelsollwerte umwandelt.

  • Diese Funktion sollte nur aufgerufen werden, wenn die Standard-PID-Regelgrößen des Winkel-Level-Reglers geändert werden müssen.

  • Das Übergeben von AngleLevelControllerGains() setzt die Regelgrößen auf die AirSim-Standardwerte.

Parameter
  • angle_level_gains (AngleLevelControllerGains) –

    • Entsprechen den Roll-, Nick- und Gierachsen, definiert im Körperkoordinatensystem.

    • Übergeben Sie AngleLevelControllerGains(), um die Regelgrößen auf die empfohlenen Standardwerte zurückzusetzen.

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

setAngleRateControllerGains(angle_rate_gains=<airsim.types.AngleRateControllerGains object>, vehicle_name='')[source]
  • Das Ändern dieser Regelgrößen beeinflusst *ALLE* move*-APIs.

    Dies liegt daran, dass jeder Geschwindigkeitssollwert in einen Winkelsollwert umgewandelt wird, der mit Winkelreglern verfolgt wird. Dieser Winkelsollwert wird selbst mit einem Winkelrateregler verfolgt.

  • Diese Funktion sollte nur aufgerufen werden, wenn die Standard-PID-Regelgrößen des Winkelratereglers geändert werden müssen.

Parameter
  • angle_rate_gains (AngleRateControllerGains) –

    • Entsprechen den Roll-, Nick- und Gierachsen, definiert im Körperkoordinatensystem.

    • Übergeben Sie AngleRateControllerGains(), um die Regelgrößen auf die empfohlenen Standardwerte zurückzusetzen.

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

setPositionControllerGains(position_gains=<airsim.types.PositionControllerGains object>, vehicle_name='')[source]

Setzt die Stellgrößen des Positionsreglers für moveByPositionAsync. Diese Funktion sollte nur aufgerufen werden, wenn die Standard-PID-Regelgrößen der Positionsregelung geändert werden müssen.

Parameter
  • position_gains (PositionControllerGains) –

    • Entsprechen den X-, Y- und Z-Achsen.

    • Übergeben Sie PositionControllerGains(), um die Regelgrößen auf die empfohlenen Standardwerte zurückzusetzen.

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

setVelocityControllerGains(velocity_gains=<airsim.types.VelocityControllerGains object>, vehicle_name='')[source]
  • Setzt die Stellgrößen des Geschwindigkeitsreglers für moveByVelocityAsync().

  • Diese Funktion sollte nur aufgerufen werden, wenn die Standard-PID-Regelgrößen der Geschwindigkeitsregelung geändert werden müssen.

  • Das Übergeben von VelocityControllerGains() setzt die Regelgrößen auf die AirSim-Standardwerte.

Parameter
  • velocity_gains (VelocityControllerGains) –

    • Entsprechen den Weltachsen X, Y, Z.

    • Übergeben Sie VelocityControllerGains(), um die Regelgrößen auf die empfohlenen Standardwerte zurückzusetzen.

    • Das Ändern der Geschwindigkeitsregler-Stellgrößen beeinflusst das Verhalten von moveOnSplineAsync() und moveOnSplineVelConstraintsAsync(), da beide die Geschwindigkeitsregelung zur Verfolgung der Trajektorie verwenden.

  • vehicle_name (str, optional) – Name des Multirotors, an den dieser Befehl gesendet werden soll

takeoffAsync(timeout_sec=20, vehicle_name='')[source]

Starten Sie das Fahrzeug 3m über dem Boden. Das Fahrzeug sollte sich nicht bewegen, wenn diese API verwendet wird

Parameter
  • timeout_sec (int, optional) – Timeout für das Erreichen der gewünschten Höhe durch das Fahrzeug

  • vehicle_name (str, optional) – Name des Fahrzeugs, an das dieser Befehl gesendet werden soll

Rückgabe

Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()

Rückgabetyp

msgpackrpc.future.Future

class airsim.client.CarClient(ip='', port=41451, timeout_value=3600)[source]

Bases: VehicleClient, object

getCarControls(vehicle_name='')[source]
Parameter

vehicle_name (str, optional) – Name des Fahrzeugs

Rückgabetyp

CarControls

getCarState(vehicle_name='')[source]

Die Position in dem zurückgegebenen CarState ist im Rahmen des Startpunkts des Fahrzeugs.

Parameter

vehicle_name (str, optional) – Name des Fahrzeugs

Rückgabetyp

CarState

setCarControls(controls, vehicle_name='')[source]

Steuern Sie das Auto mit Gas, Lenkung, Bremse usw.

Parameter
  • controls (CarControls) – Struktur mit Steuerwerten

  • vehicle_name (str, optional) – Name des zu steuernden Fahrzeugs

class airsim.types.AngleLevelControllerGains(roll_gains=<airsim.types.PIDGains object>, pitch_gains=<airsim.types.PIDGains object>, yaw_gains=<airsim.types.PIDGains object>)[source]

Struktur zur Aufnahme von Regelgrößen, die vom Winkelrateregler verwendet werden

roll_gains

kP, kI, kD für die Rollachse

Typ

PIDGains

pitch_gains

kP, kI, kD für die Nickachse

Typ

PIDGains

yaw_gains

kP, kI, kD für die Gierachse

Typ

PIDGains

to_lists()[source]
class airsim.types.AngleRateControllerGains(roll_gains=<airsim.types.PIDGains object>, pitch_gains=<airsim.types.PIDGains object>, yaw_gains=<airsim.types.PIDGains object>)[source]

Struktur zur Aufnahme von Steuerverstärkungen, die vom PID-Regler für die Winkelstellung verwendet werden

roll_gains

kP, kI, kD für die Rollachse

Typ

PIDGains

pitch_gains

kP, kI, kD für die Nickachse

Typ

PIDGains

yaw_gains

kP, kI, kD für die Gierachse

Typ

PIDGains

to_lists()[source]
class airsim.types.BarometerData[source]
altitude = <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
pressure = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
qnh = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
time_stamp = 0
class airsim.types.Box2D[source]
max = <Vector2r> {   'x_val': 0.0,     'y_val': 0.0}
min = <Vector2r> {   'x_val': 0.0,     'y_val': 0.0}
class airsim.types.Box3D[source]
max = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
min = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
class airsim.types.CameraInfo[source]
fov = -1
pose = <Pose> {   'orientation': <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0},     'position': <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}}
proj_mat = <ProjectionMatrix> {   }
class airsim.types.CarControls(throttle=0, steering=0, brake=0, handbrake=False, is_manual_gear=False, manual_gear=0, gear_immediate=True)[source]
brake = 0.0
gear_immediate = True
handbrake = False
is_manual_gear = False
manual_gear = 0
set_throttle(throttle_val, forward)[source]
steering = 0.0
throttle = 0.0
class airsim.types.CarState[source]
collision = <CollisionInfo> {   }
gear = 0
handbrake = False
kinematics_estimated = <KinematicsState> {   }
maxrpm = 0.0
rpm = 0.0
speed = 0.0
timestamp = 0
class airsim.types.CollisionInfo[source]
has_collided = False
impact_point = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
normal = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
object_id = -1
object_name = ''
penetration_depth = 0.0
position = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
time_stamp = 0.0
class airsim.types.DetectionInfo[source]
box2D = <Box2D> {   }
box3D = <Box3D> {   }
geo_point = <GeoPoint> {   }
name = ''
relative_pose = <Pose> {   'orientation': <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0},     'position': <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}}
class airsim.types.DistanceSensorData[source]
distance = 0.0
max_distance = 0.0
min_distance = 0.0
relative_pose = <Pose> {   'orientation': <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0},     'position': <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}}
time_stamp = 0
class airsim.types.DrivetrainType[source]
ForwardOnly = 1
MaxDegreeOfFreedom = 0
class airsim.types.EnvironmentState[source]
air_density = 0.0
air_pressure = 0.0
geo_point = <GeoPoint> {   }
gravity = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
position = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
temperature = 0.0
class airsim.types.GeoPoint[source]
altitude = 0.0
latitude = 0.0
longitude = 0.0
class airsim.types.GnssFixType[source]
GNSS_FIX_2D_FIX = 2
GNSS_FIX_3D_FIX = 3
GNSS_FIX_NO_FIX = 0
GNSS_FIX_TIME_ONLY = 1
class airsim.types.GnssReport[source]
eph = 0.0
epv = 0.0
fix_type = <GnssFixType> {   }
geo_point = <GeoPoint> {   }
time_utc = 0
velocity = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
class airsim.types.GpsData[source]
gnss = <GnssReport> {   }
is_valid = False
time_stamp = 0
class airsim.types.ImageRequest(camera_name, image_type, pixels_as_float=False, compress=True)[source]
camera_name = '0'
compress = False
image_type = 0
pixels_as_float = False
class airsim.types.ImageResponse[source]
camera_orientation = <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
camera_position = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
compress = True
höhe = 0
bild_daten_float = 0.0
bild_daten_uint8 = 0
bild_typ = 0
nachricht = ''
pixel_als_float = 0.0
zeitstempel = 0
breite = 0
class airsim.types.BildTyp[source]
TiefePerspektivisch = 2
TiefePlanar = 1
TiefeSichtbar = 3
DisparitätNormalisiert = 4
Infrarot = 7
OptischerFluss = 8
OptischerFlussSichtbar = 9
Szene = 0
Segmentierung = 5
OberflächenNormalen = 6
class airsim.types.ImuDaten[source]
winkelgeschwindigkeit = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
lineare_beschleunigung = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
orientierung = <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
zeitstempel = 0
class airsim.types.KinematikZustand[source]
winkelbeschleunigung = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
winkelgeschwindigkeit = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
lineare_beschleunigung = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
lineare_geschwindigkeit = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
orientierung = <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
position = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
class airsim.types.LandeZustand[source]
Fliegend = 1
Gelandet = 0
class airsim.types.LidarDaten[source]
punktwolke = 0.0
pose = <Pose> {   'orientation': <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0},     'position': <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}}
segmentierung = 0
zeitstempel = 0
class airsim.types.MagnetometerDaten[source]
magnetfeld_körper = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
magnetfeld_kovarianz = 0.0
zeitstempel = 0
class airsim.types.MeshPositionVertexBuffersAntwort[source]
indizes = 0.0
name = ''
orientierung = <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
position = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
vertices = 0.0
class airsim.types.MsgpackMixin[source]
classmethod von_msgpack(kodiert)[source]
zu_msgpack(*args, **kwargs)[source]
class airsim.types.MultirotorZustand[source]
kann_bewaffnen = False
kollision = <CollisionInfo> {   }
gps_standort = <GeoPoint> {   }
kinematik_geschätzt = <KinematicsState> {   }
landezustand = 0
rc_daten = <RCData> {   'is_initialized': False,     'is_valid': False,     'pitch': 0.0,     'roll': 0.0,     'switch1': 0,     'switch2': 0,     'switch3': 0,     'switch4': 0,     'switch5': 0,     'switch6': 0,     'switch7': 0,     'switch8': 0,     'throttle': 0.0,     'timestamp': 0,     'yaw': 0.0}
bereit = False
bereitschaftsnachricht = ''
zeitstempel = 0
class airsim.types.PIDReglerGains(kp, ki, kd)[source]

Struktur zur Speicherung von PID-Regler-Werten. Wird verwendet, um Regler-Gain-Werte beim Instanziieren von AngleLevel/AngleRate/Velocity/PositionControllerGains-Objekten zu übertragen.

kP

Proportionalverstärkung

Typ

float

kI

Integratorverstärkung

Typ

float

kD

Ableitungs-Verstärkung

Typ

float

zu_liste()[source]
class airsim.types.Pose(positions_wert=None, orientierungs_wert=None)[source]
enthältNan()[source]
static nanPose()[source]
orientierung = <Quaternionr> {   'w_val': 1.0,     'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
position = <Vector3r> {   'x_val': 0.0,     'y_val': 0.0,     'z_val': 0.0}
class airsim.types.PositionsReglerGains(x_gains=<airsim.types.PIDGains object>, y_gains=<airsim.types.PIDGains object>, z_gains=<airsim.types.PIDGains object>)[source]

Struktur zur Aufnahme von Regler-Gains, die vom Positions-PID-Regler verwendet werden.

x_gains

kP, kI, kD für die X-Achse

Typ

PIDGains

y_gains

kP, kI, kD für die Y-Achse

Typ

PIDGains

z_gains

kP, kI, kD für die Z-Achse

Typ

PIDGains

zu_listen()[source]
class airsim.types.ProjektionsMatrix[source]
matrix = []
class airsim.types.Quaternionr(x_val=0.0, y_val=0.0, z_val=0.0, w_val=1.0)[source]
konjugiert()[source]
enthältNan()[source]
kreuz(anderes)[source]
skalarprodukt(anderes)[source]
länge_erhalten()[source]
invers()[source]
static nanQuaternionr()[source]
äußeres_produkt(anderes)[source]
drehen(other)[source]
sgn()[source]
stern()[source]
zu_numpy_array()[source]
w_wert = 0.0
x_wert = 0.0
y_wert = 0.0
z_wert = 0.0
class airsim.types.RCDaten(zeitstempel=0, neigung=0.0, querlage=0.0, gashebel=0.0, gier=0.0, schalter1=0, schalter2=0, schalter3=0, schalter4=0, schalter5=0, schalter6=0, schalter7=0, schalter8=0, ist_initialisiert=False, ist_gueltig=False)[source]
ist_initialisiert = False
ist_gueltig = False
neigung = 0.0
querlage = 0.0
schalter1 = 0
schalter2 = 0
schalter3 = 0
schalter4 = 0
schalter5 = 0
schalter6 = 0
schalter7 = 0
schalter8 = 0
gashebel = 0.0
zeitstempel = 0
gier = 0.0
class airsim.types.RotorZustaende[source]
rotoren = []
zeitstempel = 0
class airsim.types.Vektor2r(x_wert=0.0, y_wert=0.0)[source]
x_wert = 0.0
y_wert = 0.0
class airsim.types.Vektor3r(x_wert=0.0, y_wert=0.0, z_wert=0.0)[source]
enthaelt_nan()[source]
kreuzprodukt(other)[source]
abstand_zu(other)[source]
skalarprodukt(other)[source]
get_laenge()[source]
static nanVektor3r()[source]
zu_Quaternionr()[source]
zu_numpy_array()[source]
x_wert = 0.0
y_wert = 0.0
z_wert = 0.0
class airsim.types.GeschwindigkeitsReglerGains(x_gains=<airsim.types.PIDGains object>, y_gains=<airsim.types.PIDGains object>, z_gains=<airsim.types.PIDGains object>)[source]

Struct to contain controller gains used by velocity PID controller

x_gains

kP, kI, kD für die X-Achse

Typ

PIDGains

y_gains

kP, kI, kD für die Y-Achse

Typ

PIDGains

z_gains

kP, kI, kD für die Z-Achse

Typ

PIDGains

zu_listen()[source]
class airsim.types.WetterParameter[source]
Staub = 6
Aktiviert = 8
Nebel = 7
Ahornblatt = 4
Regen = 0
Strassenblatt = 5
Strassenschnee = 3
Strassenfeuchtigkeit = 1
Schnee = 2
class airsim.types.GierModus(ist_rate=True, gier_oder_rate=0.0)[source]
ist_rate = True
gier_oder_rate = 0.0
airsim.utils.hole_pfm_array(response)[source]
airsim.utils.hole_oeffentliche_felder(obj)[source]
airsim.utils.liste_zu_2d_float_array(flst, breite, hoehe)[source]
airsim.utils.lese_pfm(datei)[source]

Read a pfm file

airsim.utils.string_zu_float_array(bstr)[source]
airsim.utils.string_zu_uint8_array(bstr)[source]
airsim.utils.zu_dict(obj)[source]
airsim.utils.zu_eulersche_winkel(q)[source]
airsim.utils.zu_quaternion(neigung, querlage, gier)[source]
airsim.utils.zu_str(obj)[source]
airsim.utils.warte_auf_taste(nachricht='')[source]

Wait for a key press on the console and return it.

airsim.utils.schreibe_datei(dateiname, bstr)[source]

Write binary data to file. Used for writing compressed PNG images

airsim.utils.schreibe_pfm(datei, bild, skalierung=1)[source]

Write a pfm file

airsim.utils.schreibe_png(dateiname, bild)[source]

image must be numpy array H X W X channels