roundabout_entry_check — DRIVE pass op

• Data kinds: table → table

• Call: import fullseye as fs; fs.ledger.roundabout_entry_check(entry_theta: 'float', ring_radius: 'float', circulating: 'Sequence[dict]', *, t_clear: 'float', entry_speed: 'float', crawl: 'float' = 2.7777777777777777, sudden: 'float' = 2.0, side_friction: 'Optional[float]' = None) -> 'Dict[str, object]' (to call the implementation directly, import drivepass; drivepass.roundabout_entry_check(entry_theta: 'float', ring_radius: 'float', circulating: 'Sequence[dict]', *, t_clear: 'float', entry_speed: 'float', crawl: 'float' = 2.7777777777777777, sudden: 'float' = 2.0, side_friction: 'Optional[float]' = None) -> 'Dict[str, object]'; from the registry, opsdrive.get("roundabout_entry_check"))

Usage

Whether entering the roundabout is permitted (Art. 37-2(1)-(2), Art. 35-2). Scenario S102.

For a car circulating[i] = {"theta", "speed"} travelling clockwise on the ring road (centre = origin, radius ring_radius), the arc to the entry angle entry_theta (the conflict point) = R·((θ − θ_e) mod 2π), arrival time = arc / speed. When the entering car needs t_clear seconds to clear the conflict point, if the deceleration required for the ring car not to enter the point before t_clear (drivecrossing.obstruction_decel) exceeds sudden (assumption), it is obstruction of passage → must_yield (Article 37-2, paragraph 1, Road Traffic Act (Japan)). entry_speed > crawl (assumption 10 km/h) gives not_crawling (paragraph 2 of the same article; slow driving under Article 35-2). Passing side_friction also returns the curve speed limit of the ring road (drivelateral.curve_speed_limit). Returns: ok, reasons, cars = [{"arc", "t_arrive", "decel", "obstructs"}], ring_speed_limit.

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_pass — py -3.11 examples/poc_driving_pass.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 (pass)

overtake_requirement · overtake_return_gap · no_overtaking_zones · overtake_permitted · overtaken_conduct_check · lane_change_follower_decel · lane_change_permitted · roundabout_signal_point


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