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

Rust97.6%Shell2.4%
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

🚧 Phase 0 — Repo Foundation & Tooling in progress. The workspace skeleton (Cargo workspace, license policy, CI/lint pipelines, deny.toml MIT-chain audit) is in place and tpt-t-agri-core is scaffolded. Later phases (bridge, nav, ISOBUS, env, crop, safety, edge, swarm, logistics, teleop, sim) follow the checklist in todo.md. See docs/quickstart.md for the developer quick start.

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.