MakarovSuites
English
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Contact & licences

Engineering

Autonomous shuttle

Ride a driverless electric shuttle round a university campus at night after rain. It steers by pure pursuit - aiming at a point ahead on the path with the curvature 2 sin(alpha)/L_d, exactly 1/R on a circle - slows to sqrt(a_lat/kappa) for every curve, stops on the mark at two stations within the comfort limits of deceleration and jerk, and watches the road with a fan of lidar rays. A pedestrian waits at the zebra: the shuttle sees her and yields. Switch the yield rule off and she steps out 14 m ahead - the emergency stop takes the closed-form distance v tau + v^2/2a + v a/2j; give the perception 1.2 s of latency and it reaches her; park a van before the zebra and she stays hidden until she is in the lane. Try dry asphalt and wet leaves, and follow every joule from the battery into motors, air, tyres and brakes and back through regeneration.

Autonomous shuttle — Actual application image
Actual application image

What happens

A 3000 kg shuttle (2400 kg and 8 passengers) drives a 116.8 m campus loop, 76 + 13π m, with corners of 5 and 8 m. Kinematic bicycle about the rear axle, wheelbase 3 m: θ’ = v·tan δ/L. Pure pursuit aims at the path point L_d = 2 m + 0.6 s·v ahead and commands κ = 2 sin α/l_d, exactly 1/R on a circle; the steering servo turns at most 0.7 rad/s up to 35°. The planner holds the cruise speed, the curve limit √(a_lat/κ) with a_lat = 1.2 m/s² (never above μg/2) from where the lookahead point enters a curve, and 2 m/s at the zebra while someone waits beside it; for the curves, the next station and an obstacle it brakes once a comfortable slowdown - jerk 1.5 m/s³ down to 0.96 m/s², then constant - needs all the distance left, and then follows v²/2d onto the limit, within 1.2 m/s² and the jerk limit. A 2D lidar on the bumper casts 121 rays over 120° at 10 Hz, range 30 m, noise 2 cm from a fixed seed, against walls, posts, trees, the van and the pedestrian; hits within 1.5 m of the path ahead are obstacles. The planner sees each scan after the latency (0.3 s); if the time to collision is shorter than a comfortable stop needs, it brakes open-loop with jerk 20 m/s³ to min(6, 0.9μg) m/s² and stops in v·τ + v²/2a + v·a/2j − a³/24j² from the scan (μ = 0.85, 0.55, 0.3). Motion is exact piece by piece: constant jerk over at most 10 ms with the steering held is a circular arc of the travelled length; the stop, the end of the brake ramp and the latency instants are found inside the step. Wheel work by four-point Gauss: battery = traction/0.9 + 2 kW auxiliaries − 0.7 × regenerated braking (at most 40 kW), the rest of the braking heats the friction brakes; the ledger closes to round-off.

Try this

Watch a lap: the curve speeds, the station stops on the mark and the shuttle yielding at the zebra; switch the yield rule off and compare the stop with the closed-form distance; raise the latency until the shuttle reaches the pedestrian; choose the van; try wet leaves; shorten the lookahead time and watch the steering.

The model and its limits

A kinematic bicycle: no tyre slip or lateral dynamics, the friction only caps the emergency braking and the curve limit; a teaching planner, not a certified autopilot or a neural network. The lidar scans one plane against circles and segments, without rain clutter, clustering or tracking; the pedestrian follows a script and is never predicted beyond the zebra rule; a contact is flagged, not simulated. The motor or regenerative branch is chosen per 10 ms piece on the net wheel work; the battery is an energy store at constant efficiencies. One campus loop at full scale, no other traffic.

Equations used in the module
Equations
θ’ = v·tan δ/L,  κ_cmd = 2·sin α/l_d,  L_d = L0 + k·v,  on a circle α = L_d/2R, so κ = 1/R
v_curve = √(a_lat/κ),  brake when d ≤ D(v, a, v_c);  then a = −(v² − v_c²)/2d,  |a| ≤ a_c,  |da/dt| ≤ j
TTC = d/v;  emergency if d − 1 m < D_comfort;  s_stop = v·τ + v²/2a_e + v·a_e/2j_e − a_e³/24j_e²,  a_e = min(6, 0.9·μ·g)
E_batt = W_trac/η_m + E_aux − η_r·W_regen,  W_trac − W_brake = ΔE_k + F_r·s + ∫c·v³ dt

Related experiments

Back to catalogue
Sailing across the wind — Actual application image

Engineering

Sailing across the wind

Adjust the sheet and rudder while apparent wind, sail pressure and the keel combine to move a sailboat.

Hovercraft — Actual application image

Engineering

Hovercraft

Start the lift fan and watch the craft rise off its skirt until the cushion carries its weight and the air escapes through a gap of a few centimetres, exactly where the fan’s curve meets the leakage. Open the throttle over the sea: the craft’s own waves drag hardest at the hump near sqrt(gL/pi), where the wake is one craft length long - a weak propeller stays stuck below it at the closed-form speed, a strong one breaks through and runs to its top speed. Try the beach, where there are no waves; slow the fan until the cushion can no longer lift the craft off its skirt.

Underwater glider — Actual application image

Engineering

Underwater glider

Send a yellow underwater glider from a research ship across three kilometres of open ocean with no propeller at all: an oil bladder in its nose swells and shrinks by a quarter of a litre, the battery slides a centimetre forward or aft, and the swept wings turn the slight sinking or rising into a long glide. It flies a saw-tooth down through the sunlit water and the thermocline into the dark, where plankton flash in its wake, and every steady dive and climb matches its closed form - tan γ = CD/CL, the speed from the net buoyancy, the pitch from the balance of moments. Pumping the oil out at 150 m costs 2ΔV·p; compare shallow and deep cycles, trim the battery, give it too small a bladder and watch the dive stall at the neutral depth in the thermocline, soften the hull, or fly against a current; the range on one battery is estimated from every cycle and each joule is followed into the water.