town_chain — DRIVE town op

• Data kinds: any → table

• Call: import fullseye as fs; fs.ledger.town_chain(elements, *, start=(0.0, 0.0, 0.0), overlap: 'float' = 0.05) -> 'dict' (to call the implementation directly, import drivetown; drivetown.town_chain(elements, *, start=(0.0, 0.0, 0.0), overlap: 'float' = 0.05) -> 'dict'; from the registry, opsdrive.get("town_chain"))

Usage

Places the elements by chaining them in order: solves in closed form the rigid placement that aligns the entry of element k+1 with the exit of element k (overlap before it) and passes it to drivecourse.course_layout.

Parameters

elements : sequence of drivecourse elements (dicts). Joined in order.

start : world pose (x, y, yaw) at which the entry of the first element is placed.

overlap : overlap at the joints [m] (≥ 0, so that no kerb stands at the joints when made 3-D). Must be shorter than the element centrelines.

Returns

dict : the course_layout dict with "chain" added. chain = {"overlap", "s_start" (n,) 各要素の entry の弧長, "lengths" (n,) 各要素の centerline_length, "polyline_lengths" (n,) 中心線の折線長, "total_length" (= Σ 折線長 − overlap × (n − 1)), "joints": [(exit_k, entry_k+1), ...] 世界姿勢}.

Raises ValueError: elements empty / nested layout / missing entry/exit/centerline, start/overlap non-finite, overlap negative, overlap longer than an element centreline.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_driving_town — py -3.11 examples/poc_driving_town.py

Ops the type connects to (they accept table as input)

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

Same category (town)

town_layout · town_world · town_centerline · town_stop_lines · town_rules · town_crossing_state · town_run · town_checks


*Provenance: drivetown.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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