tpt-teleop-agri

Rust

Zero-bloat Rust middleware for autonomous farming machinery — RTK/IMU nav, ISOBUS, teleop handover, and lock-free real-time control for tractors, combines, and sprayers.

0 stars0 forks0 watchersApache License 2.0

Languages

Rust99.4%Shell0.6%
README

tpt-teleop-agri

Tele-Presence Teleoperation — Precision Agriculture & Autonomous Farming — a hyper-optimized, zero-bloat Rust middleware workspace for autonomous farming machinery (tractors, combines, grain carts, sprayers).

Sister repo to tpt-teleop (video/control transport) and tpt-teleop-fleet (indoor warehouse precision).

Built for the same microsecond-level determinism as tpt-teleop: no async runtime, no serde, no channels-with-mutexes. Lock-free SPSC rings, zero-copy rkyv serialization, thread-per-core pinning, and raw OS interfaces all the way down.

Status

✅ v1.0.0 — "v1 Monolithic Release" (spec v1.0.0, August 2026). All 14 phases implemented: the tpt-t-domain-bridge DTI, RTK/IMU navigation with LiDAR SLAM, the zero-alloc ISOBUS stack, micro-climate regulation, SIMD NDVI/VRA processing, the safety reflex arc, the no_std path executor, harvest-swarm coordination, grain logistics, the teleop domain adapter, the headless simulator + egui visualizer, and system integration (O_DIRECT NVMe logging, WiFi-boundary sync). Every spec performance target has a benchmark or gate in-repo — see todo.md for the phase-by-phase record and docs/quickstart.md to build it.

CILintDeps
buildlintdeny

Workspace Crates

CratePurpose
tpt-t-agri-coreField state machine, lock-free message bus, central event loop, rkyv wire prelude
tpt-t-agri-navRTCM3/RTK parsing, IMU fusion, AB-line/curve guidance, headland turns
tpt-t-agri-isobusZero-alloc J1939/ISOBUS parser, VT/TC, section control, XML export
tpt-t-agri-envWind/soil/rain micro-climate sensing and adaptive machinery control
tpt-t-agri-cropSIMD Bayer→NDVI pipeline (nightly), VRA controller (nightly crate)
tpt-t-agri-safetyROPS/PTO interlocks, human-in-zone detection, reflex-arc latency budget
tpt-t-agri-edgeno_std path executor, hydraulic valve translation, PWM/DAC access
tpt-t-agri-swarmtpt-t-link-backed kinematic sync, mass-flow, predictive cart routing
tpt-t-agri-logisticsGrain bin/silo management, cart routing to dump hoppers
tpt-t-agri-teleopDomainTeleopInterface adapter, autonomy↔teleop handover
tpt-t-agri-simHeadless 50-vehicle harvest simulator + egui visualizer

The Zero-Copy Data Path

Sensor ──Ingest──▶ Fuse/Route ──▶ Field state (in-place)
                                          │
                                 Serialize ──▶ ISOBUS/wire
Total allocations (steady state): 0        Total mutex locks: 0

The forward data plane is built on lock-free SPSC rings (tpt-t-agri-core) and proven zero-alloc on the hot path; see tools/lock-audit.sh (Phase 2) and the zero_alloc tests added per crate.

Developer Experience

Path deps during co-development: tpt-t-agri-* crates depend on tpt-t-agri-core and, where relevant, on tpt-teleop's tpt-t-domain-bridge (via path dep) and tpt-t-link (swarm transport). See docs/quickstart.md.

Licensing

Dual-licensed under either of:

Copyright © 2026 TPT Solutions.

Dependency policy ("the MIT chain"): dependencies are restricted to MIT, BSD-2/3-Clause, ISC, Zlib, and MPL-2.0. Dual MIT/Apache crates are resolved strictly under MIT; strictly Apache-2.0-only crates are banned. Enforced by deny.toml in CI.