# BOB’s Yard — model notes

A playable T66-inspired sandbox and Avatar input/feedback prototype. This is not yet a calibrated engineering digital twin or an operator-training certification tool.

## Reference machine

The visual model represents the original Bobcat T66 R-Series compact track loader, rather than T66-2. Reference dimensions from Bobcat's North American specifications: 67 in overall width, 80.5 in cab height, 107 in bare length, 120 in maximum bucket hinge height, 8,840 lb operating mass, 2,450 lb nominal rated operating capacity, 74 hp, and 7.2 mph low-range maximum travel speed. Configuration, attachments, undercarriage and region can change published values.

Primary source: https://www.bobcat.com/na/en/equipment/loaders/compact-track-loaders/non-current-models/t66

Supplemental vertical-lift geometry: https://www.bobcat.com/oc/en/equipment/loaders/compact-track-loaders/t66

## Implemented

- Turtle travel and 3× Rabbit travel (Z/X), with separate Shift precision. Rabbit only scales track travel, not lift/curl hydraulics.
- Fixed 60 Hz simulation loop with independently mixed tracks, acceleration and input smoothing; user sensitivity and precision mode.
- T66-inspired procedural 3D model: tracks and rollers, cab/cage, lift linkages, hydraulic cylinders, bucket and pallet forks.
- Kinematic vertical-lift approximation: hinge height 0.30–2.90 m. It is intentionally not an exact CAD/kinematic reconstruction of the nominal 3.048 m published maximum.
- Reduced shared-flow, load-dependent lift/curl response, hydraulic effort display, sound and optional gamepad vibration.
- Gravel volume transfer, visible bucket contents, animated dumping, persistent piles, and a 1,500 kg destination objective.
- Three pallets with 450/650/850 kg game payloads, two-tine footprint pickup from arbitrary angles, carrying, ground placement and a delivery objective.
- Approximate chassis collision with buildings, pallets, parked tools, solid material piles and yard bounds; a raised terrain pad produces pitch/roll feedback.
- Camera choices, minimap, keyboard and touch controls, session recording, external simulator command boundary, latched stops and fault injection.

## Explicit approximations

The bucket's 850 kg game capacity, gravel density/shape, pile pickup, pallet payloads/capture tolerances, hydraulic load meter, cycle timing, braking, friction, collision footprint, and controller/haptic mappings are gameplay parameters. The displayed hydraulic percentage is synthetic effort, not measured hydraulic pressure. The nominal capacity is a model reference, not a tested fork or attachment rating.

Soil uses a lumped stockpile and mass-carrying discharge-parcel model, not discrete-grain or deformable-terrain dynamics. Small rendered grains visualize the parcels without adding extra mass. Parcels fall under gravity and are credited only when they reach terrain or a mound surface; conservation includes both airborne mass and bucket contents. Nearby deposits merge within a mound radius plus 0.8 m, while more distant spill forms another persistent mound. Bay credit is tracked separately from the mound shape: only material landing inside the bay earns credit, and scooping removes that mound’s credited fraction proportionally. Supported pallets retain a kinematic attachment-relative pose. Released loads integrate gravity, angular motion and approximate ground impact; one-tine support tips, and dumped or hard-landed loads break into animated pieces. This is a purpose-built approximation rather than a full rigid-body contact solver. Geometry cannot be stacked arbitrarily.

Terrain support sets the chassis attitude, with additional front lift from a planted attachment. A simplified lateral balance check combines approximate machine/load mass and height, slope, turn acceleration and reduced track support. Sustained loss of balance starts a gravity-driven roll that settles on the ground or against concrete. This is not a full rigid-body or centre-of-gravity solver: there is no calibrated collision impulse, hydraulic fluid model, structural stress, track contact deformation, boom over-centre behavior, or physical safety validation. Warning colors are experimental cues, not safe operating limits. The original Bobcat ROC and tipping-load specifications do not establish a slope limit for this simulator or your machine.

Emergency stop/fault behavior intentionally freezes simulated travel and hydraulics. Falling soil, gravity discharge from an already open bucket, falling loads, existing unstable one-fork holds, truck tipping, an already falling Bob and animals continue independently. Hydraulic fault injection holds machine motion; it is not a claim about actual factory fault behavior. Reset yard preserves an explicit latched emergency stop; the dedicated tip-recovery reset clears the simulator’s own tip fault. No machine hardware, CAN interface, cameras, or remote-control system is connected.

## Development direction

1. Try comfortable controls and feedback mappings in this yard.
2. Add an M5Stack-to-simulator adapter with explicit source selection and fresh-input checks.
3. Log the real T66 passively, in listen-only mode, without assuming standard J1939 messages.
4. Calibrate geometry, input response and synthetic telemetry against real observations.
5. Evaluate any supported machine remote interface and independent physical stop architecture as a separate engineering project.

## Solid material, attachment bay and instruments

Material piles block a 1.28 m radius circular chassis footprint. The bucket and fork geometry is excluded so tools can enter the pile. Positive drive effort continues to collect material with a low, level bucket even when the chassis is blocked. Pile radius shrinks with the cube root of its remaining mass; collision and visible piles use the same radius. Reverse, tangential escape and in-place turns remain available. Material dumped beside Bob does not push the machine or prevent retreat. This is a solid-footprint approximation, not detailed soil mechanics or per-track contact.

The spare tool initially sits at the blue attachment bay. Tach-up unlocks and leaves the current empty, lowered tool at its actual location; Tach-down locks a nearby aligned plate. Coupling requires an armed, stationary machine, neutral controls, low arms and a level tool. Parked tools remain visible and collidable wherever left. Mechanical handle movement is visual; pin/plate compliance is not simulated.

A glacier-grey F250-inspired pickup sits by the Avatar container. Its synthetic 3,500 kg payload and lifting/tipping behavior are an intentionally exaggerated arcade bonus, not evidence that a T66 can perform those moves. The truck does not have calibrated suspension, inertia or collision forces.

Two dogs use deterministic wandering and proximity-triggered fleeing with obstacle/loader avoidance, animated gaits and synthesized bark effects. This adds situational-awareness cues, not a validated prediction of animal behavior.

The gauge display uses the supplied photo as a layout reference, restyled for After Hours with dark instrument faces, a large centre fuel gauge and a numeric tachometer. Gauge scales and values are synthetic. We explicitly label our own oil-pressure channel rather than claiming the photo identifies it conclusively. Bobcat's published 1,050/2,600 rpm idle endpoints and nominal 107.1 L fuel tank are reference values; the demand curve, consumption (3–15 L/h), oil pressure, voltage and temperature responses are not calibrated. Fuel is informational in this sandbox; starvation is not simulated. Stopping motion leaves the virtual engine idling. Finishing an approved autonomous pile separately shuts down the engine: zero RPM, no fuel consumption or engine-hour accumulation, and no engine/reverse recordings. Music and animals remain independent. Explicit neutral start/rearm restarts the engine. Resetting the yard resets these readings.

Machine display, Power Tach, job card, map, controls, controller lab and stop-status window can be minimized and restored. The stop remains latched while its status window is minimized. Panel-size preferences stay in the local browser.


## Autonomous target-selection experiment

Autonomous mode accepts a source pile and a delivery point selected directly in the yard. **Choose material** opens a whole-yard view for clicking a gravel pile; **Choose delivery area** opens the same view for clicking where the material should land. A ring previews the hovered target. Selection restores the previous camera; **Cancel** or **Escape** restores it without replacing that target. No scoop demonstration or exact parking position is required. Picking uses the known terrain and mound height fields, not rendered labels, shadows or individual stones. These are explicit targets in the known simulated scene; the system does not use vision, a neural imitation model or an external AI service. Manual-scoop inference remains an internal fallback by comparing actual pile mass loss with a bucket payload increase, and the internal no-argument delivery helper can still use the bucket discharge footprint.

Proceed completes one trial bucket and waits for explicit **Approve & finish pile**. Approval is invalidated by changing either target. The approved loop collects small final remainders, retreats after delivery, lowers/levels the bucket, emits one completion-chime event and shuts down the simulated engine. Each trip uses the existing normalized drive/steer/boom/tool commands and material-transfer physics. Material already carried is delivered first; empty buckets return to the selected source.

Bob considers 24 candidate headings around each source or destination and filters them for approach and retreat clearance. The source check also verifies the cutting corridor against other objects; destination clearance accounts for growing connected deposits. If an empty bucket starts within the source pile's planning envelope, Bob can first move straight away while both body and tool gain clearance; the whole corridor must clear every other mapped object, and dog checks remain active. A heading-aware forward/reverse search considers the remaining approaches together under one shared budget of up to 90,000 state expansions, yielding every 450 expansions for responsive controls. An obstructed heading does not exclude another clear approach or receive a separate full search budget. Routes use broad arcs, inflated object footprints and a straight final approach. The follower limits curvature and ramps steering with travel. It has no spin primitives. If no gentle route fits, the job pauses and offers an explicitly permitted tighter-turn alternative. Difficult or newly blocked routes may still require repositioning or another delivery target; arbitrary yard layouts and slopes are not guaranteed traversable.

Dogs are checked continuously against body, bucket and predicted travel, with a wider clear-space threshold before automatic resumption. This is conservative yielding in a simplified animal model, not proof of collision prevention. Manual commands, stop/fault state, focus loss or source takeover pause autonomy. Resume retains the interrupted phase and bucket accounting when Bob has not moved; manual repositioning triggers a new route. Repeated Proceed clicks during an active job are ignored. Entering target selection halts residual motion; neutral Proceed also settles residual motion rather than requiring an exact stopping instant. Target selection is unavailable while an external controller owns Bob, and attempting it does not discard that controller’s heartbeat. Rearming a stopped machine does not restart the job; Resume is required. No autonomous output is connected to a real Bobcat.

## Attachment contact and front lift

The aggregate enclosure’s three 1.05 m concrete walls share geometry with rendering and navigation. Swept oriented structural boxes and bucket outlines block driving, turning and hydraulic motion at concrete. Raised attachments may pass above the wall; lowering stops at its top. Fork blades remain separate solids. Rollover motion uses the same wall sweep.

Ground contact follows the same chassis/attachment rotations used by the model and carried pallets. Structural faces and edges, including ramp break lines, prevent a crest passing through the middle of a blade. A support constraint finds the front-up pitch needed to keep the attachment on the surface and the rear tracks supported. Retraction releases support and the front settles with gravity. A friction-limited planted edge can nudge the chassis; traction decreases as track contact is lost. These are approximate gameplay forces with no soil shear or measured hydraulic-force calibration. Normal full low dump on level ground causes modest front lift, not an automatic rollover. Lateral grip is capped to represent track scrubbing, so ordinary Rabbit turns and spins on level ground do not roll the machine. Synthetic lateral loss of balance on steep terrain can still roll Bob, spilling the bucket or releasing a held load. Reset yard restores the machine after a fall.

## Work estimates

The initial load estimate uses the known simulated source mass and the actual autonomous scoop target (250–650 kg). An already-carried load counts as its own load. Percent follows deposited material against the job-start mass and reaches 100% only after final retreat and shutdown. Productive phase timings from the trial inform the remaining-time estimate; a loaded trial uses distance-based estimates for missing pickup/travel instead of extrapolating its unusually short duration. Completed full cycles refine the estimate, with recent cycles weighted through a rolling average. Manual pauses and dog waits do not consume estimated working time. Estimates are approximate and may change as the route and delivery pile change.

## Work model assumptions and references

`work-physics.js` and `soil-flow.js` run at the same fixed 60 Hz as the rest of the simulation. No live AI, network or machine sensor participates in this loop.

- **Traction:** available longitudinal force is approximated by normal load × friction coefficient × track support. Dry loose gravel uses μ=0.50 and rolling resistance 0.055; firm yard uses μ=0.76 and 0.018. A bounded empirical force-to-slip curve reduces achieved speed as cutting/grade resistance rises. Loaded acceleration and sharp-turn scrubbing also change response. Belts retain commanded travel; each reported slip fraction compares actual track-line motion to belt speed with a 0.25 m/s denominator floor. This is a lumped approximation, not a multi-contact Bekker/Janosi soil solver, motor-torque model or calibrated traction curve.
- **Digging:** five cutting-edge samples estimate engaged width and cut depth, capped at 0.45 m. A cohesionless Reece-style term `width × density × g × depth² × 3.4` increases resistance with a deeper bite. Rake and fill add tuned resistance. Density is assumed 1,650 kg/m³. Soil collection depends on that engagement, forward effort and bounded yielding of the soil wedge, allowing a blocked low bucket to fill while the pile shrinks. Neutral input cannot mine. Curl/lift beyond the scoop posture ends cutting; this is not a general swept-volume excavation solver.
- **Hydraulics:** valve filtering uses 0.085 s and an RPM-dependent supply. Raise/lower and curl/dump reference rates use 3.8/2.2 and 1.6/2.3 seconds before supply, load and shared-flow losses. Payload, boom geometry and cutting resistance contribute to synthetic pressure demand. Lift and curl share a finite implement-flow budget; blocked axes build relief pressure and consume no delivered cylinder flow. The other axis can continue moving. Controls/actuator filters stop immediately at the simulator’s latched stop; fluid compressibility, leakage, hose dynamics and true linkage forces are not simulated.
- **Reference scales:** 4,010 kg operating mass, 66.6 L/min standard auxiliary flow and 24.1 MPa quick-coupler relief are derived from [Bobcat’s North American T66 specifications](https://www.bobcat.com/na/en/equipment/loaders/compact-track-loaders/non-current-models/t66). Auxiliary specifications are only benchmarks for this reduced implement model, not verified lift-circuit or hydrostatic drive-pump specifications. Cycle times are from the [European T66 specifications](https://www.bobcat.com/eu/en/equipment/loaders/compact-track-loaders/t66), a different regional configuration. Reported MPa and L/min are simulated estimates. The original T66’s real high range is approximately 4.56 m/s; the requested 3× Rabbit mode deliberately remains an arcade speed multiplier.
- **Soil flow:** world bucket angle and fill determine a smooth gravity-discharge rate. Three symmetric mass parcels span the bucket. The centre parcel seeds new mounds, avoiding an arbitrary side bias; gravity and forward discharge velocity determine landings. Mound tops match rendering. Stockpiles remain shaped proxies with assigned mass rather than a density-calibrated heightfield. There is no local rut depth, bulldozing, grain-to-grain collision, moisture model, angle-of-repose relaxation or arbitrary material stacking.
- **Tread history:** ordinary motion stamps a paired chevron pattern with black material opacity 0.02 per pass. Overlap accumulates; this is approximately a 2% visual darkening, affected by lighting/tone mapping. Printing is distance-based, so display frame rate and idle time do not darken ground. Stronger scuffs remain limited to actual tight turns. History retains the latest 70,000 individual tread stamps; Reset clears both layers. Tread appearance does not itself change friction.

The cutting model’s depth-squared dependence follows the cohesionless gravity component of the fundamental earthmoving equation described in [NASA’s excavation-force reference](https://ntrs.nasa.gov/api/citations/20240004498/downloads/ASCE%20Short%20Course%20Excavation%20STRIVES.pdf). The implement response uses quasi-static pressure/flow relationships rather than explicitly integrating the stiff compressible-fluid equations illustrated by [MathWorks’ hydraulic-cylinder model](https://www.mathworks.com/help/simulink/slref/single-hydraulic-cylinder-simulation.html). The numerical coefficients above are starting assumptions, not validated machine properties.

Autonomous delivery waits until bucket and airborne mass are below 0.1 kg. Nearby spill mounds are treated as one connected delivery group for approach planning, while chassis collisions still include every mound. The valid approaches from 24 candidate headings share a planner budget of up to 90,000 state expansions with the same broad turns and clearances, yielding every 450 expansions for responsive controls. It does not assume the initial deposit footprint will stay fixed.
