course_layout — DRIVE course op

• Datenarten: table × table → table

• Aufruf: import fullseye as fs; fs.ledger.course_layout(elements, placements) (die Implementierung direkt: import drivecourse; drivecourse.course_layout(elements, placements); aus dem Register: opsdrive.get("course_layout"))

Verwendung

Platziert mehrere Elemente durch Starrkörperbewegungen (x, y, yaw) und fasst sie zu 1 dict zusammen.

polygon / centerline / rails / stop_lines jedes Elements werden als Punkte, entry / exit / signal_poses als Posen (yaw wird mitgedreht) transformiert. profile ((s, z) einer Steigung) ist die lokale Bogenlänge des Elements und bleibt unverändert. Rückgabe ist {"kind": "layout", "elements": [変換済み要素(各々 "placement" を持つ)], "polygon": None, "bounds": (xmin, xmax, ymin, ymax), "placements": [...]}. Die Innen-/Außen-Prüfung ist die Vereinigung der Elemente (course_contains / course_occupancy). Überlappende Elemente werden als Vereinigung behandelt.

Raises ValueError: keine Elemente, Anzahl von Elementen und Platzierungen verschieden, Element ist kein dict, Platzierung hat nicht 3 endliche Elemente.

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)

• poc_driving_longitudinal — py -3.11 examples/poc_driving_longitudinal.py

• poc_driving_school — py -3.11 examples/poc_driving_school.py

• poc_driving_weather — py -3.11 examples/poc_driving_weather.py

• poc_ttc_rss — py -3.11 examples/poc_ttc_rss.py

• poc_world_terrain — py -3.11 examples/poc_world_terrain.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same · rss_longitudinal_opposite

Gleiche Kategorie (course)

course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road


*Provenance: drivecourse.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.