Repository navigation
Bring the cooperative-crossing docs and comments in line with the code - #14
Merged
Merged
Conversation
Several descriptions of the cooperative crossing said things the code doesn't do. The README, the design notes, docs/insights.md, the app's text and two module comments now say: - In each lane the manager considers only the first vehicle without a trajectory, and right turns never ask; first come, first served takes whichever of those could cross the stop line soonest. - The nominal gap is the two message latencies and the actuation delay (0.5 s), not latency alone. The app's label for it changes to match, and docs/architecture.md quotes the new label. - A switch between conflicting paths costs about 2.1 s, since the reservation zones are about 3.2 m at a right angle. - The batch join window comes on top of the vehicle's own headway. - The fail-safe gap adds v / 2b, not the time to brake from v. - Pedestrian counts reach the SensorView from ground truth, not from the camera. The emergency preemption receivers are exact and always fitted, and only the simulation's own preemption reads them. In the design notes the P2 gap at 40 km/h is 1.43 s throughout, the median is 4 m and the slip lane leaves about 25 m before the stop line. Appendix A drops a P1 term nothing uses and lists where the code's parameters differ from the estimates'. The notes now say which parts of the reference design aren't built (the approach zones and authority point, the elevated ring and the roadside equipment), and the plan view carries a title saying it shows the reference design. ACCESSIBILITY.md lists the real pointer-only tasks and says it was reviewed for 0.5.1. Signed-off-by: Jim Schreckengast <schreck@gmail.com>
The README and the sensors.rs module doc named only pedestrians as reaching the SensorView from ground truth, and sensors.rs listed the preemption receivers as an exact sensor, while docs/architecture.md named pedestrians and emergency vehicles. All three now say the same: both reach the SensorView straight from ground truth, whichever sensors are fitted. Controllers use the pedestrian figures, and only Sim's preemption reads the emergency vehicles, so controllers see those only through their sensors. Signed-off-by: Jim Schreckengast <schreck@gmail.com>
The manager's description and the note under the sensor settings changed, so every screenshot that shows either was retaken with the app's scripted-screenshot settings: - coop-manager.png and sensors.png are the same crops of new captures; coop-manager.png is 50 px taller for the longer description. - coop.png and overview.png keep their hand-drawn callouts. Only the changed part of the left panel comes from a new capture, and the first callout on coop.png is extended to frame the taller section. - coop-compare.png and the README's arterial.png, compare.png, corridor.png and cooperative.png are new captures with the same settings and framing. Appendix A of docs/architecture.md now lists the README images' settings. docs/roundabout.png, which nothing references, still shows the old note. Signed-off-by: Jim Schreckengast <schreck@gmail.com>
Brings in the 0.5.1 fixes, including the signal timing chart that now shows each stage's yellow and all-red, so the screenshots can be retaken on top of them. Signed-off-by: Jim Schreckengast <schreck@gmail.com>
The Signal timing chart now draws each stage's yellow and all-red after its green. Six full-window screenshots of signalized layouts still showed the old chart, so they were retaken on top of that change: overview.png, compare.png and corridor.png in docs/images/architecture, and the README's arterial.png, compare.png and corridor.png. overview.png keeps its hand-drawn callouts: only the inside of callout 5, the bottom panel, comes from the new capture. That panel matches timeline.png pixel for pixel, since both show the same moment. The others are full captures with the same settings and framing. Signed-off-by: Jim Schreckengast <schreck@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Several descriptions of the cooperative crossing, and two module comments, said things the 0.5.1 code doesn't do. Each change below was checked against the code first.
README, docs/insights.md and the app's text
SensorViewstraight from ground truth, whichever sensors are fitted. The README,sensors.rsand docs/architecture.md now all say so, and that controllers use the pedestrian figures (not camera counts) while onlySim's preemption reads the emergency vehicles.docs/cooperative-intersections.md
cim_numbers.pynotes why it prints 1.42 s at 11.1 m/s.network.rs.plan-view.svgis titled "Reference design (section 6)", and the plan's caption says how the app's crossing differs.ACCESSIBILITY.md
Comments
coop.rs: the module doc describes the lane-head queue; the gap doc says v / 2b, the time to cover the braking distance at entry speed, which is what the code computes.sensors.rs: the module doc no longer credits the camera with pedestrian counts or lists the preemption receivers as a sensor; it gives the same ground-truth exceptions as the README and docs/architecture.md.Screenshots
Every image that showed the old manager description or sensor note, or the Signal timing chart from before PR 15, was retaken from this branch on top of PR 15 with the scripted-screenshot settings in Appendix A of docs/architecture.md. They were found by OCR over
docs/*.pnganddocs/images/architecture/*.png.coop-manager.pngandsensors.png: the same crops of new captures.coop-manager.pngis 50 px taller for the longer description.coop.pngandoverview.png: only the changed parts come from new captures (the manager section oncoop.png; the sensor note and the bottom panel onoverview.png), so the hand-drawn callouts stay. Callout 1 oncoop.pngis extended to frame the taller section. The new bottom panel matchestimeline.pngpixel for pixel, since both show the same moment.coop-compare.png,compare.pngandcorridor.png, and the README'sarterial.png,compare.png,corridor.pngandcooperative.png: new captures with the same settings and framing. The README images came from an older UI, so they also pick up the current layout and spelling. Appendix A now lists their settings.timeline.pngis unchanged; PR 15 retook it.Not in this PR
docs/roundabout.pngisn't referenced anywhere and is left in place for now. It still shows the old sensor note.Testing
cargo test --locked --releasecargo clippy --locked --release --all-targets -- -D warningsand the wasm32 clippy runpython3 docs/cooperative-scripts/make_figures.py <dir>reproduces both committed SVGs byte for bytedocs/roundabout.png