Twin-parcel realism: dual hook time, pup handling, twin tare and route GVW caps - #254
Merged
Merged
Conversation
…ross cap A set of doubles now carries its own tare and legal gross. Twin 28-foot pups weigh two 6,185 lb trailers and a 2,740 lb single-axle converter dolly; turnpike doubles weigh 16,200 lb more than the single van they replace. Pups stay at the federal 80,000 lb. Turnpike doubles take the lowest recorded LCV cap among the route's states (OH/IN/MA 127,400 lb, NY 143,000 lb, KS 120,000 lb), falling back to 80,000 lb when a state has no recorded cap or there is no route. The job board sizes loads against that cap with the set's tare, the delivery drive hooks the set, the live overweight check and the axle split use it, the board's load weight line names the limit for doubles, and the CAT Scale ticket for doubles reads the gross against the route limit and says the axles are not broken out. Sources: FHWA 2014 CTSW Modal Shift Comparative Analysis, Table 4 (twin-28 30,350 lb, triple-28 39,275 lb); Silver Eagle VAST-20 converter dolly spec sheet (2,740 lb); FHWA 2000 CTSW Vol III, Table V-3 (five-axle semi 30,500 lb, turnpike double 46,700 lb).
Hooking a set of doubles is two hook-ups and a pre-trip covering both trailers and the converter dolly. The pickup plan adds 15 minutes for the second hook-up and 10 for the longer walk-around, on the game clock and on duty; detention still counts only the shipper's own time. The extra time is spoken at check-in and when loading starts, and a "Doubles:" line on the pickup screen shows it. At a stop with doubles hooked, the walk-around row shows its time, covers both trailers and the dolly, and takes 25 minutes instead of 15. Both minute figures are assumed; no public time study was found. They are listed as open questions for realism review.
The rear trailer of a set of doubles amplifies what the tractor does. Lane keeping now reports the lateral g of the truck's yaw and a low-passed steady part (3 s), so a held bend is told apart from a quick steer. The quick part, times the set's rearward amplification (STAA pups 1.7, turnpike doubles about 1.36), is the rear trailer's swing. At 40 mph and up, a swing past the roll model's warning share of the load's threshold shifts the rear trailer's freight at the bend rate on its half of the load, and speaks a warning at most every 20 seconds: "The rear trailer whipped on that steer. On doubles the back trailer swings harder than the tractor, so ease into lane changes." Crosswind on a set of doubles is scaled by the same amplification. Reverse is refused with doubles hooked, on the manual shift and on the automatic's held-brake direction change, with no grind or damage: "Reverse refused. A set of doubles cannot be backed up: the converter dolly folds and the rear trailer jackknifes. Pull forward and go around instead." Rearward amplification figures are from FHWA 2000 CTSW Vol III, Ch VIII (p. VIII-9 and Figure VIII-11). The 40 mph floor, the 3 s filter and using amplification for crosswind are assumed and listed as open questions. Integration tests cover the doubles pickup time, the refused reverse, the road walk-around time and the turnpike cap on a real drive.
The Track A doubles section records what the dual hook time, pup handling and twin tare and GVW changes do and where each figure comes from, and lists the assumed figures and the missing axle split on a doubles scale ticket as open debts. changelog: none
Dropping a set of doubles is dropping the rear pup, unhooking and parking the converter dolly, then dropping the lead trailer. The delivery plan adds 15 minutes for that to the game clock and on duty, whichever way the freight comes off. On arrival and when the drop or unload starts, the driver hears: "Breaking a set of doubles is dropping the rear trailer, unhooking and parking the converter dolly, then dropping the lead trailer: about 15 extra minutes on duty." The receiver's screen shows "Doubles: drop the rear trailer, park the converter dolly, drop the lead, 15 extra minutes on duty". The 15 minutes is the figure set in realism review; no public time study was found.
…or the whip threshold Rearward amplification is a property of the rear trailer, not of the crosswind. The tractor's lane drift now takes the weather's wind as it is, the same with doubles as with a single; the amplification applies only to the rear trailer's sway and the whip warning. Lane keeping reports the gust's sideways shove as an acceleration. On a set of doubles the rear trailer's swing is the quick-steer acceleration plus that shove, times the amplification, with the shove scaled by the set's legal gross over its actual gross (a = F/m), so a light set sways harder than a loaded one. The whip threshold was the warning share of the load's roll threshold, which made empty pups harder to whip than loaded ones. The threshold is now floored at the loaded trailer's, so a light load never raises it. Full lane keeping runs no drift model and its steering keys only ask for a timed, signalled lane change, so there is no abrupt steer to report under it; a test pins that its lane change never whips the set. Tests: an empty set whips at a steer no larger than a loaded set needs, and at a smaller one in a gust; a crosswind drifts the tractor the same with pups as with a single; full lane keeping changes lanes without a whip; breaking a set at the receiver adds its time and speaks it.
…axle line Two 48-foot trailers are not legal off the LCV turnpikes at any length or weight, so a turnpike_doubles route through a state with no recorded LCV cap is no longer held to 80,000 lb. The legal gross for turnpike doubles is the lowest recorded cap among the route's states, and nothing when any state has none: - the job board offers no such lane, and prices each load on the lanes the route menu will offer, taking the lowest cap among them; - the route menu drops a lane without a cap in every state, with the existing reroute note, or refuses the load when none is left; - a drive that somehow runs one (an old save) has a zero legal gross, so it red-lights as overweight, and its scale ticket says the set is not legal on this route at any weight. Parcel pups keep 80,000 lb. A test checks every lane offered for turnpike doubles touches only states with a recorded cap. The CAT Scale ticket for doubles no longer says axle groups are not broken out; real tickets print each platform. It reads the gross line and the legal or over line only. The missing platform split stays a ROADMAP debt.
The refusal now reads: "Reverse refused. You don't back a set of doubles: the converter dolly is a second pivot and the rear trailer jackknifes within a few feet. Pull forward and go around instead." The tests read the shared constant, so they follow the new text. changelog: none
FIX 3 to 5 now describe the delivery break time, amplification on the rear trailer only, the floored whip threshold and the refusal of uncapped turnpike-doubles routes. New debts: the deadhead to a doubles pickup should be bobtail or an empty set, the doubles scale ticket is gross only, and the whip floor, filter and gust calibration are assumed. changelog: none
…finish clean A trip dispatched under the old rules and already driving turnpike doubles on a lane through a state with no recorded LCV cap no longer gets a zero legal gross. It is grandfathered, the same way a double van lessee's trip under way finishes: its legal gross is the lowest recorded cap among the route's capped states, or 80,000 lb when none is capped. So it is not red-lighted as overweight, is not fined, and its CAT Scale ticket reads the normal legal line. The "not legal on this route at any weight" ticket line had no other use and is gone. The job board and the route menu still refuse new turnpike-doubles jobs on those lanes. Tests cover the legacy cap rule and a legacy Buffalo to Erie and Chicago to Milwaukee trip finishing clean: not overweight, no scale verdict against it, and a legal ticket line.
The gust's shove on the rear trailer still scales inversely with mass, but no longer against the route's legal gross, which made the same set with the same load sway differently on a NY lane (143,000 lb) than a KS lane (120,000 lb). Each program now has one fixed reference: 80,000 lb for parcel pups and 127,400 lb for turnpike doubles on every corridor. The reference-over-actual ratio is clamped to 1.0 through 2.0. An empty set comes out at 2.0 (unclamped it would be about 2.4 for pups and 2.6 for turnpike doubles). A set at or over its reference reads 1.0, as before: a heavy set is never made steadier than the reference. The push itself stays uncalibrated, as the ROADMAP records. Tests check the same load sways identically under NY and KS caps, in the sim and on a Buffalo to Rochester and Wichita to Emporia drive, and that an empty set's factor is above 1 and at most 2.
FIX 5 notes the grandfathered legacy trip on an uncapped lane, the review list gains the second rulings, and the gust debt now names the fixed reference masses and the 2x clamp, both still uncalibrated. changelog: none
Resolves the ROADMAP conflict in the turnpike doubles section: keeps the new map debts from the base and the landed FIX 3 to 5 entries from this branch in place of the base's not-started stubs. changelog: none
Before a route is picked, the job board's doubles weight line gives the lowest gross limit across the lanes dispatch will offer, not the limit of a chosen route. It now reads "The limit for this set of doubles on the lanes offered is N pounds, counting both trailers and the converter dolly."
… every whip A steering key is a switch: it puts the tractor at its 0.2 g lateral cap on the first frame. Read straight into rearward amplification, that step gave 0.197 g of transient times 1.7 = 0.334 g, over the 0.300 g whip threshold, so a 0.05 s tap or any keyboard lane change at 60 mph on loaded pups whipped the rear trailer and shifted freight, and a 1 s hold under partial lane keeping cost 1.25%. The rear trailer now feels the tractor's lateral acceleration rate-limited to 0.3 g/s (REAR_WHIP_STEER_SLEW_G_PER_S, assumed), and the steady-bend filter follows that reading. A tap of 0.05 to 0.2 s, or a Left 0.1 s then Right 0.1 s lane change, stays well under the threshold with lane keeping off or partial. A full-lock swerve one way then the other still whips, as does a sharp partial-assist snap-back (a 1 s hold now costs about 0.30%). Turnpike doubles do not whip on a keyboard lane change. Whip damage no longer lands silently between 20 s warnings. Every whip frame belongs to an episode that restarts on each whip frame and ends after 3 s without one; each episode is spoken and shown when it starts, so no freight shifts without its line. On a loaded set the line now says the rear trailer "shifted its freight"; an empty set keeps the line without that clause. Integration tests drive loaded pups at 60 mph through the real input path (ctx.input, a fake pacer clock and event lines): taps and tenth- second lane changes with lane keeping off and partial give no whip line and no damage; the evasive swerve whips with exactly one line, spoken and shown, and the empty-set line claims no freight; turnpike doubles stay quiet.
…ad's bend Loaded pups whipped on ordinary highway curves at or under advisory speed with no key pressed. The rear trailer's steer followed the tractor's whole lateral acceleration, which includes the bend's tracking steer from curve assistance; a baked curve starts in one frame, so the 0.3 g/s slew stretched that step over about a second and the 3 s steady filter could not keep up. On Chattanooga to Knoxville (883 ft radius at 65 mph) the transient reached 0.264 g and whipped for 1.6 s, and Denver to Salt Lake City took cargo damage to 100%. The slewed rear-trailer steer now follows only the driver's share of the lateral acceleration: the capped steer from the keys, the stick and the lane-keeping helper, held to the same road cap and grip, without the bend's tracking steer. The steady filter still follows that slewed reading. The partial-assist snap-back rides in the helper, so it still counts; a curve taken too fast stays the rollover and curve warnings' job. Tests: every mapped bend on Chattanooga to Knoxville (11), Denver to Salt Lake City (389) and Portland to Seattle (46) at advisory speed, loaded pups, no input, lane keeping off and partial with curve assist on: no whip line and zero cargo damage (before this change Chattanooga alone gave 16 whip lines). A sim test holds an 883 ft bend at 65 mph with no transient. The keyboard taps and short lane changes stay silent, the full-lock swerve still whips, and a new test checks a 1 s hold under partial lane keeping still whips on the snap back and says so.
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.
Adds the three remaining twin-parcel realism fixes on top of
feat/career-2.0at 9cdea51, after #252 merged: dual hook time (FIX 3), pup handling (FIX 4), and twin tare and GVW (FIX 5). No written spec was found beyond the ROADMAP Track A outline and #218's note that the caps were recorded, so this PR follows that outline. Where a figure had no public source, I picked the conservative option and listed it below.What each fix does
FIX 3: dual hook and walk-around time (
feat(pickup))parcel_doublesondouble_van,turnpike_doublesonturnpike_double) adds 15 minutes for the second hook-up and 10 minutes for a walk-around of both trailers and the converter dolly. That is 25 extra minutes on the game clock and in HOS on-duty time, for both live loads and drop-and-hook. Detention still counts only the shipper's own time.FIX 4: pup handling compared with a single (
feat(driving),fix(driving))ROLL_WARN_SHARE) of the roll threshold, floored at the loaded trailer's (0.35 g × share = 0.30 g), so a light load never raises it.FIX 5: twin tare, dolly and GVW (
fix(weights))parcel_doubles(STAA twin 28s): 80,000 lb.turnpike_doubles: the lowest recorded turnpike cap among the route's states (OH/IN/MA 127,400; NY 143,000; KS 120,000). A route through any state without a recorded cap is refused, never held to 80,000 lb: the board offers no such job (and prices each load on the lanes the route menu will offer, taking the lowest cap), the route menu drops such a lane, and a trip already under way on one from an older save is grandfathered: it takes the lowest recorded cap among its capped states, or 80,000 lb if none is capped, so it finishes clean with no overweight red light, no fine and a normal legal ticket line.Every number and its source
data::lcv_turnpikes::LCV_TURNPIKE_GVW_CAP_LB(#218)LEGAL_GVW_LB(federal Interstate cap)WALK_AROUND_MINTRAILER_TARE_KGROLL_WARN_SHARECARGO_CORNER_PCT_PER_G_STRUCK_ROLLOVER_GRealism review rulings (at 735811d)
Realism rulings H and I (at 07cb21a)
QA fix J: keyboard lane changes and silent whip damage
sim::lane::REAR_WHIP_STEER_SLEW_G_PER_S, ASSUMED), and the steady-bend filter follows that reading.QA fix K: no whip from the road's own bend
sim::lane): the slewed rear-trailer steer now follows only the driver's share of the lateral g:driver_yaw(keys/stick plus the lane-keeping helper, clamped to the driver cap), held to the same road cap and grip, without the tracking steer. The steady filter still follows the slewed reading. The partial-assist snap-back rides in the helper, so it still counts. Curves taken too fast stay the rollover and curve warnings' job.Remaining open questions
Tests
models::doubles: programs, hook and walk-around time, tare figures, RA ordering, route caps.sim::vehicle::doubles: gross includes both tares and the dolly, legal gross is the route cap, scale ticket, reverse refused, quick steer swings the pup harder, an empty set whips at a steer no larger than a loaded set needs (and at a smaller one in a gust), whip costs rear freight while a single costs nothing, crosswind sways the rear trailer and not the tractor.models::doubles: exact refused-reverse wording; uncapped turnpike routes return no legal gross; a legacy trip takes its lowest recorded cap or 80,000 lb.sim::vehicle::doubles(H/I): the same load sways identically under NY and KS caps; an empty set's factor is above 1 and at most 2, and a set over its reference reads 1.0.sim::lane: a held bend is steady and a quick steer is transient.trailer_yard: doubles add the second hook-up and walk-around, and 15 minutes to break the set at delivery.jobs: doubles loads stay under their route cap with both trailers and the dolly; every offered turnpike-doubles lane has a recorded cap in every state.tests/it/twin_parcel_doubles.rs):Local checks
cargo fmt --all --check: passcargo clippy --workspace --all-targets --locked -- -D warnings: passcargo test --workspace --locked --no-fail-fast: passpython3 tools/release_notes.py check --base origin/feat/career-2.0 --head HEAD: pass