add_signal_jp — DRIVE roadjp op

• Datenarten: table → scalar

• Aufruf: import fullseye as fs; fs.ledger.add_signal_jp(world: 'dict', x: 'float', y: 'float', yaw: 'float', *, state: 'str' = 'red', arm: 'float' = 2.0, lamp_bottom: 'float' = 5.0, pole_radius: 'float' = 0.08, arm_side: 'str' = 'left', lens: 'float' = 0.3, hood: 'bool' = True) -> 'int' (die Implementierung direkt: import roadjp; roadjp.add_signal_jp(world: 'dict', x: 'float', y: 'float', yaw: 'float', *, state: 'str' = 'red', arm: 'float' = 2.0, lamp_bottom: 'float' = 5.0, pole_radius: 'float' = 0.08, arm_side: 'str' = 'left', lens: 'float' = 0.3, hood: 'bool' = True) -> 'int'; aus dem Register: opsdrive.get("add_signal_jp"))

Verwendung

Stellt eine japanische Ampel auf: Mast + horizontaler Ausleger + Signalgeber (horizontal, 3 Leuchten; die Anzeigefläche ist den in yaw-Richtung herannahenden Fahrzeugen zugewandt).

Anordnung (nach den Erläuterungen der Richtlinie zur Aufstellung von Lichtsignalanlagen: allgemeine Fahrzeugsignalgeber stehen auf der gegenüberliegenden Seite der Kreuzung = Ausfahrtseite): Der Mast steht bei (x, y) (Höhe lamp_bottom + 0.7), der Ausleger ragt aus Sicht des Fahrers des einfahrenden Fahrzeugs nach rechts (über die Fahrspur; bei yaw 0 in −y) horizontal um arm hinaus (Standard 2.0 m, über das Maximum von 3.5 m hinaus ValueError), und die Mitte des Signalgebers hängt an der Auslegerspitze (Unterkante des Signalgebers = lamp_bottom, Standard 5.0 m, unter 4.5 m ValueError — Bauvorschrift für Verkehrssignalanlagen (Japan); anhand der Primärquelle zu prüfen). Bei arm_side="right" steht der Mast rechts vom Fahrer, und der Ausleger ragt nach links. Normale der Anzeigefläche = (−cos yaw, −sin yaw); die Linsen sind aus Fahrersicht von links Grün, Gelb, Rot.

objects: Mast + Ausleger (Label 3, name "signal_pole") und Signalgeber (Label 3, name "traffic_light", extra = {"state", "lamp_faces"(世界の面索引), "arm", "lamp_bottom", "kind": "jp"}). Rückgabe = Index des Signalgebers (driveworld.set_signal_state wird darauf angewendet).

Leere Eingabe (world ist ein leeres dict) löst ValueError aus.

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• gallery_drive_japan_roads — py -3.11 examples/gallery_drive_japan_roads.py

Typkompatible Folge-Operatoren (nehmen scalar als Eingabe)

spin_from_marker_sequence · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain · osm_parse

Gleiche Kategorie (roadjp)

sign_params · sign_image · plate_mesh_from_image · sign_mesh · add_sign · signal_jp_mesh


*Provenance: roadjp.py — DRIVE Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.