Summary
Portfolio / exploratory demonstration: an edge-to-cloud tracer for industrial-shaped cell telemetry. A C++ / ROS 2 edge publishes simulated cell metrics; a bridge batches them over authenticated HTTPS; a thin AWS floor persists samples and evaluates in-batch health rules. v1 is frozen — a deliberate first step into industrial edge → cloud using known AWS patterns, with clear limits and a runway for deeper robotics and later MLOps work.
Problem
Manufacturing and automated cells generate continuous state — temperature, vibration, cycle time, fault flags. Operators need durable series and early health signals without a full digital twin or ML model on day one. Constrained edge nodes make a bridge pattern (batch → authenticated HTTPS) a practical first hop.
This work demonstrates that data path and the engineering hygiene around it — contracts, ADRs, layered verification, and an explicit shipped-vs-deferred freeze — not a production cell controller or predictive-maintenance product.
Approach
cell_sim publishes CellTelemetry on the ROS graph; cell_bridge batches by size or time and POSTs JSON to ingest. A local stub covers early milestones. The AWS path uses API Gateway, a Python Lambda, DynamoDB sample history, in-memory batch rules after persist, and structured CloudWatch log events (CELL_ALERT / INGEST_OK) as the dual sink.
- Three edge packages (
cell_msgs,cell_sim,cell_bridge) in C++20 / ROS 2 Jazzy, Dockerized for macOS → Linux - HTTPS JSON bridge with API key auth
- Deployable
devcloud floor (API Gateway, Python Lambda, DynamoDB) - Post-deploy smoke asserting HTTP → DynamoDB → CloudWatch logs
- Docs: charter, architecture, SHIPPED vs deferred, contracts, ADRs
- Milestones M0–M5 complete; v1 frozen
Key decisions: C++20 / rclcpp for long-term robotics signal; HTTPS JSON batches (MQTT deferred); thin AWS floor; rules on the in-memory batch after persist; CELL_ALERT log events as the sole notification channel. Verification spans edge image tests, cloud unit tests, and post-deploy smoke on the live path.
Running against live AWS, the bridge batches samples and accepts them over authenticated HTTPS:
Results & limits
End-to-end path is demoable three ways: cloud smoke alone, local edge with stub, and edge → live AWS. Contracts, ADRs, and an explicit SHIPPED list make the boundary legible. DynamoDB series is durable history and a runway for a later model or deeper robotics slice.
CELL_ALERT event with cell, cycle, fault reason, and sample values.No real sensors, actuators, control loops, or robot models. No ML. Alerting is a structured log event, not a notification platform.
Links
Reach out via Contact to discuss this project or schedule a walkthrough.