decide op• 데이터 종류: table → table
• 호출: import fullseye as fs; fs.ledger.bus_departure_yield_check(trajectory, *, t_signal: 'float', bus_rear_x: 'float', merge_time: 'float' = 4.0, reaction: 'float' = 1.0, sudden_decel: 'float' = 3.0, standoff: 'float' = 2.0) -> 'Dict[str, object]'(구현을 직접 호출하려면 import drivedecide; drivedecide.bus_departure_yield_check(trajectory, *, t_signal: 'float', bus_rear_x: 'float', merge_time: 'float' = 4.0, reaction: 'float' = 1.0, sudden_decel: 'float' = 3.0, standoff: 'float' = 2.0) -> 'Dict[str, object]', 원장에서 가져오려면 opsdrive.get("bus_departure_yield_check"))
정류장에서 발진 신호를 한 버스의 진로 변경을 뒤쪽 자차가 방해했는지 채점합니다(도로교통법 제31조의2).
trajectory: {"t", "x", "v"}(자차 앞끝의 위치, 버스가 들어오는 차로). 버스의 뒤끝은 bus_rear_x (신호로부터 merge_time 초는 정지해 있는 / 천천히 출발하는 동안으로 간주한다).
• 양보 의무: 신호 시각 t_s 의 자차 (x_s, v_s) 로부터, 반응 ρ 후에 일정 감속으로 버스 뒤끝의 standoff 앞에정지하는 감속 a_req = v²/(2(D − vρ)), D = bus_rear_x − standoff − x_s(D ≤ vρ 이면 ∞). a_req ≤ sudden_decel 이면 급하게 속도를 바꾸지 않고 양보할 수 있다 → 양보 의무 있음(must_yield).
• 방해했다: [t_s, t_s + merge_time] 의 어딘가에서 자차의 앞끝이 버스의 뒤끝을 넘었다(옆으로 나란히 섰다 / 추월했다).
• 위반 = 양보 의무 있음 그리고 방해했다.
"급하게"의 임계값 3.0 m/s²·반응 1.0 s·여유 2 m·합류 시간 4 s 는 가정(법에 수치 없음).
반환값: a_required, must_yield, obstructed, violation, article, detail.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• poc_driving_decisions — py -3.11 examples/poc_driving_decisions.py
table 를 입력으로 받는 것)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
decide)mirror_reflection_matrix · mirror_virtual_camera · mirror_aim_normal · convex_mirror_fov · mirror_blind_zone · check_sequence_score · signal_phase_plan · signal_state
*Provenance: drivedecide.py — DRIVE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.