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- 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
- getSettingsString()[Quelle]
Ruft den von AirSim verwendeten Einstellungs-Text ab
- Rückgabe
Einstellungen als JSON-Format-Text
- Rückgabetyp
- 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.
- isRecording()[Quelle]
Ob die Aufzeichnung läuft oder nicht
- Rückgabe
True, wenn die Aufzeichnung läuft, sonst False
- Rückgabetyp
- ping()[Quelle]
Wenn die Verbindung hergestellt ist, gibt dieser Aufruf true zurück, andernfalls wird er bis zum Timeout blockiert
- Rückgabetyp
- 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
- Rückgabe
Ob das Fahrzeug erstellt wurde
- Rückgabetyp
- 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
- 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
- Rückgabetyp
- simGetCollisionInfo(vehicle_name='')[Quelle]
- Parameter
vehicle_name (str, optional) – Name des Fahrzeugs, dessen Informationen abgerufen werden sollen
- Rückgabetyp
- 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
- Rückgabe
Liste der Verzerrungsparameterwerte, die K1, K2, K3, P1 bzw. P2 entsprechen.
- Rückgabetyp
List (float)
- 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
- 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
- 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
- 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
- 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
- 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
- simGetObjectPose(object_name)[Quelle]
Die Position im zurückgegebenen Pose ist im Weltkoordinatensystem
- 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
- 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
- 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
- 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
- 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
- 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.
- 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
- simSetCameraPose(camera_name, pose, vehicle_name='', external=False)[Quelle]
Steuert die Pose einer ausgewählten Kamera
- 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]
- 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
- 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
- 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
- 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
- simSetObjectScale(object_name, scale_vector)[Quelle]
Setzt die Skalierung eines Objekts in der Welt
- 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
- 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
- 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
- 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
- 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
- simTestLineOfSightBetweenPoints(point1, point2)[Quelle]
Gibt zurück, ob der Zielpunkt aus der Perspektive des Quellpunkts sichtbar ist
- 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
- 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
- goHomeAsync(timeout_sec=3e+38, vehicle_name='')[Quelle]
Fahrzeug kehrt zum Startpunkt (Home), d.h. zum Startort, zurück
- Parameter
- Rückgabe
Zukunft. Rufe .join() auf, um auf den Abschluss der Methode zu warten. Beispiel: client.METHOD().join()
- Rückgabetyp
msgpackrpc.future.Future
- landAsync(timeout_sec=60, vehicle_name='')[Quelle]
Das Fahrzeug landen lassen
- Parameter
- 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
- 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]
- 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
- 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
- getCarState(vehicle_name='')[source]
Die Position in dem zurückgegebenen CarState ist im Rahmen des Startpunkts des Fahrzeugs.
- 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
- 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
- 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
- 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.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.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.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.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.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.
- class airsim.types.Pose(positions_wert=None, orientierungs_wert=None)[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.
- class airsim.types.Quaternionr(x_val=0.0, y_val=0.0, z_val=0.0, w_val=1.0)[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.Vektor3r(x_wert=0.0, y_wert=0.0, z_wert=0.0)[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
- 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.warte_auf_taste(nachricht='')[source]
Wait for a key press on the console and return it.