Retrofit reference · tracked slope mower → UGV
Any existing mechanical device can be upgraded into an edge-AI-driven autonomous vehicle. With the industREAL precision servo actuator system, high-power drivetrain, field I/O and a Vehicle Control Unit built on NVIDIA AGX-class edge accelerators, the upgrade is plug-and-play.
Add deeply integrated, field-tested third-party hardware — semi-solid-state 3D lidar, GMSL2 cameras, Starlink and 5G modems — and combine it with industREAL's hardware-accelerated on-device neural networks and telemetry stack. The result: high-level autonomy or reliable remote operation.
Below: a worked placement on a 1.7 m tracked flail/rotary slope mower — the class of machine sold today as a line-of-sight radio-controlled unit. The host chassis, tracks, deck and engine are untouched. Everything drawn in orange is bolted on.
| Item | Part | Description | Qty | Interface | Source |
|---|
Ruggedized AGX-class controller: Orin GPU/DLA compute with an STM32H5 safety co-processor and TPM 2.0 root of trust. Runs perception, planning and the telemetry stack on-device.
Water-cooled induction motor per track. Skid-steer differential is closed in the VCU, so track speed and turn rate become software quantities.
Field-oriented control with an automotive-grade magnetic absolute encoder. Replaces every lever and cable on the host machine — deck lift, engine governor, blade engagement.
Fanless i.MX8 Plus node with NPU. Carries logging, the deck-implement application and the fallback teleop path if the Orin is being reflashed in the field.
Bridges the host machine's legacy CAN onto the vehicle Ethernet backbone, and gives service crews a WiFi access point onto both buses without opening the enclosure.
Same i.MX8 platform as the IPC behind a daylight-readable multitouch panel. Used here in the remote operator case; a second unit can be panel-mounted on the machine for service.
The kit ships with industREAL's ROS 2 autonomy stack, proven in the field on UGV "Viki" — a tracked platform carrying the same sensor set as this build: solid-state 3D lidars, AR0234 GMSL2 cameras, a CAN AHRS (IMU + GNSS) and Modbus servo actuation. It follows a person, avoids obstacles, executes GPS waypoint missions and predefined manoeuvres, and is commanded by hand gestures, a browser cockpit, or natural-language voice and chat. Every layer is an independent package set with frozen topic contracts between them.
The full runtime graph in any browser — live articulated 3-D robot from the served URDF, TF tree, planned paths, costmaps and obstacle clouds. Custom panels for mode control, calibration and per-track servo diagnostics. Nothing to install on the operator side.
"Go to this coordinate", "turn 45° left", "follow me", "stop" — free language becomes typed service calls with uniform ACKs and correlated completion feedback. Safety is structural, not prompt-based: motion only from IDLE_HOLD, stop overrides from any state.
23 gesture classes, dual-hand, decoded in the mission FSM with the same authority as the cockpit: ✌ follow · ✋ stop · 🤙 manoeuvre. M-of-N sliding-window vote (4-of-10) debounces misclassifications; a stray STOP is deliberately tolerated — worst case is a safe stop.
Two-class instance segmentation — person and hi-vis vest — with ByteTrack identities. The vest is the credential: only a person overlapping a confident vest detection can command the vehicle or be followed. A standard 80-class COCO engine drops in unchanged.
Slope-tolerant ground segmentation with an in-house foliage filter yields one obstacle cloud for the whole stack. Waypoint missions plan on a persistent map-frame costmap; FOLLOW runs its own rolling odom-frame costmap — smooth following with zero dependence on GPS convergence.
Lidar points on the person — vest-mask, person-mask, then bbox — feed a near-to-far histogram range estimator robust to clutter; lidar dropout degrades gracefully to monocular ranging. No qualifying operator ⇒ nothing published ⇒ staleness timeout stops the vehicle.
Record a route by walking it — median-of-N GNSS fixes per waypoint. Execution iterates the legs with a carrot goal held ≤ 20 m ahead, cruising through multi-hundred-metre legs with no stop-go. Mission start is gated on global-heading convergence.
Deterministic sequences — turn-in-place, drive-straight — closed-loop on odometry, no planner in the loop; the LLM's "rotate 45°" rides the identical executor. Every run records QoS-correct MCAP bags that replay in the same cockpit, feed regression analyzers, or re-drive the live stack offline.
Every motion source — Nav2, manoeuvre executor, teleop, LLM — converges into a single mode-selected
stream: decision_logic → velocity_smoother → drive. Deadman, staleness and zero-on-error are
applied in exactly one place. Modes: IDLE_HOLD · FOLLOW · MANEUVER · GPS_WAYPOINT · TELEOP · LLM · ERROR.
Position the lidars and cameras on your own vehicle geometry in the browser, check the coverage, and export the ROS 2 description this stack consumes.