CDG / ENGINEERINGContactSign in ↗

Edge Computing

Apex-Kinetic

Modeled edge safety gates and telemetry control boundaries, without physical actuation.

Prototype / modeled hardwareoriginal systemsource only

ORIGINAL CONTRIBUTIONS

What I built.

  • Implemented modeled edge safety boundaries, controller generation fencing, watchdog behavior and command ordering.
  • Developed Rust data/vision components and Python asyncio telemetry orchestration.
  • Separated hardware execution from control intent; built a pure model replay for safe demonstration.

Apex-Kinetic / SYSTEM MAP

How this system connects.

Modeled telemetryloop1Kafka publisheradapter2RTSP visionbridge3mTLS mediareceiver4Motor authoritymodel5
  1. 01 / Modeled telemetry loop: Exercise asynchronous sensor event publication.
  2. 02 / Kafka publisher adapter: Await broker acknowledgment for telemetry messages.
  3. 03 / RTSP vision bridge: Forward validated camera media to a downstream TLS receiver.
  4. 04 / mTLS media receiver: Accept framed media from authenticated clients.
  5. 05 / Motor authority model: Compute stop-or-drive decisions with explicit authority.
Directed connections
  • 1 → 2: modeled imu.telemetry / proximity.telemetry (implemented)
  • 3 → 4: framed media + acknowledgment over mTLS (implemented)

SYSTEMS DESIGN & OWNERSHIP

Engineering below the surface.

Authority, ordering and freshness are different constraints

The Rust SafetyController models who can command motion, the order of commands within an authority generation and whether the watchdog is fresh. A valid controller identity alone does not make an old motion command safe to execute.

Stop remains authoritative under reordered delivery

Monotonic command ordering prevents delayed motion from overwriting a newer stop. Equal-timestamp retries are accepted only when the facts are identical; contradictory payloads fail. A new authority generation explicitly resets the ordering boundary.

Control-plane and device responsibilities stay separate

Rust data and vision components, Python asyncio orchestration and streaming/infrastructure code define different execution roles. The public simulation tests the pure safety gate without opening device handles; deployed Kafka, Kubernetes and physical actuation are separate verification work.

EXPLORE THE ARCHITECTURE

Components. Contracts. Consequences.

Independent telemetry and video paths. Python emits modeled sensor samples; it is not connected to Rust hardware drivers. Motor authority is a software model, not verified physical actuation.

01 / Modeled telemetry loop

Exercise asynchronous sensor event publication.

Implementation

Python generates fixed IMU and proximity samples once per second and selects separate Kafka topics.

Security & failure behavior

Synthetic values are identified as modeled; the application does not establish a hardware control channel. Producer start/publish exceptions propagate; finally closes the publisher after loop failures.

Tradeoff

Deterministic samples support local experiments but do not demonstrate real sensor acquisition.

02 / Kafka publisher adapter

Await broker acknowledgment for telemetry messages.

Implementation

AIOKafkaProducer.start and send_and_wait publish UTF-8 payloads.

Security & failure behavior

This adapter only supplies bootstrap_servers; TLS/SASL settings are not configured in this source. Broker errors propagate to the event loop; no durable local outbox appears here.

Tradeoff

Small adapter; deployment manifests alone do not prove end-to-end communication security.

03 / RTSP vision bridge

Forward validated camera media to a downstream TLS receiver.

Implementation

RTSP session parsing feeds forward_one_with_ack over a rustls client-authenticated connection; health events record stage outcomes.

Security & failure behavior

Certificate roots, client credentials and target hostname validate the downstream connection. Connection/handshake timeouts and bounded camera retry failures stop the run; downstream failures are surfaced.

Tradeoff

Real bridge code exists; camera/NVR interoperability still needs target-specific verification.

04 / mTLS media receiver

Accept framed media from authenticated clients.

Implementation

Receiver mode loads server credentials/client CA and persists accepted media to configured output.

Security & failure behavior

Client certificate authentication protects the receiver; filesystem permissions remain deployment responsibilities. Invalid TLS, framing or output writes return errors.

Tradeoff

A custom receiver is not evidence that a commercial NVR accepts this protocol.

05 / Motor authority model

Compute stop-or-drive decisions with explicit authority.

Implementation

Generation, command age, controller connection, voltage and distance determine MotorDecision.

Security & failure behavior

Missing authority or sensor input yields zero speed. The modeled main runtime has no connected controller/voltage adapter. Lost control, stale commands, low power or obstacles return named stop reasons.

Tradeoff

Software decision logic requires a future physical adapter and hardware safety validation.

Open full 2D architecture →

TECHNICAL CASE STUDY

Decisions behind the system.

Engineering problem

Coordinate modeled edge motion and telemetry while preventing stale control messages from reviving superseded motion.

Requirements & constraints

Authority generations, watchdog expiry, obstacle interlocks, bounded command validation, and safe test execution without hardware adapters.

Architecture & technologies

Rust data plane and vision node, Python asyncio control plane, Kafka integration code and infrastructure manifests. Physical hardware and deployed Kafka/Kubernetes are not established by this demonstration.

Security & trust boundaries

The pure safety gate separates controller authority from execution. A controller generation is distinct from command ordering within that generation. The demo creates no network or device handles.

Original engineering

Reviewed history contains 18 charlesderek and 3 CharlesDerek commits. Custom safety and control implementations are the original scope; external device libraries and platform components retain their authorship.

Working implementation

The tested SafetyController models command authority, watchdog freshness, voltage/proximity conditions and stop decisions. Five fixture steps expose actual model outputs.

Experiments & missing capabilities

Hardware abstraction is modeled. Physical board behavior, real robotic actuation, deployed infrastructure and production streaming performance are unverified.

Failure modes & concurrency

Older timestamps and changed commands at equal timestamps are rejected. Identical retries remain valid. A new authority generation resets ordering. Obstacle and expired watchdog inputs yield stop outputs.

Testing & evidence

12 scoped data-plane tests passed; fmt, strict Clippy and build passed. Two added tests failed at baseline because a delayed command overwrote a newer stop.

Observable improvement

Before: reordered motion could replace a newer stop within one authority generation. After: monotonic command ordering and equal-timestamp collision fencing preserve stop. Local commit 7fe29f0.

Deployment model

Independent control/data/vision components with infrastructure manifests. This portfolio uses the pure model replay, never the hardware runtime.

Decisions & alternatives

Accept identical retries for idempotency; reject contradictory facts at the same timestamp. Authority generation changes explicitly reset ordering instead of accepting stale control implicitly.

Demonstration & limitations

The Edge safety replay exports actual decisions for authorization, delayed motion, obstacle interlock, watchdog expiry and old authority rejection. No real actuation or hardware integration is tested.

ENGINEERING SCOPE

Clear boundaries.

Original Rust/Python implementation scope reviewed in local history; physical hardware and vendor primitives excluded.

  • Hardware is modeled in the public demonstration; no real robotic actuation is performed.
  • Deployed Kafka/Kubernetes operation and physical-board compatibility are not claimed.