Field-tested notes on robotics safety, ROS 2, embedded AI, AI agents, SaaS architecture and the practical systems that connect software to real-world outcomes.

A practical reading path

Jetson & ROS 2 Engineering

A practical Jetson and ROS 2 reading path covering local AI, microcontrollers, GPIO, timing, containers, power integrity and repeatable diagnostics.

Getting a model to run on a Jetson is one integration step. Keeping a robot useful also depends on device access, clocks, power, middleware behavior and the way compute reaches real-time controllers. Diagnose those dependencies explicitly instead of treating every symptom as an inference problem.

Use this guide to build a local robot stack in stages or to find the next diagnostic step when an existing deployment misbehaves. Check board, carrier, JetPack and package versions against the official documentation before applying version-sensitive instructions.

Map the system before installing components

Start with building a local robot brain on Jetson Orin Nano Super for the overall path from speech to a proposed task. Then read what belongs on the Jetson and what should stay off to place inference, communications and control work deliberately.

Microcontroller vs Jetson addresses the control boundary. Keep the deployment diagram concrete: identify the process or device that owns each loop, its inputs, and the behavior expected when another component restarts.

Build a ROS 2 graph you can operate

ROS 2 Architecture Patterns That Scale is the starting point for topics, services, actions, frames and lifecycle behavior. For a microcontroller bridge, continue with connecting a real-time controller through micro-ROS.

When cameras enter the graph, use camera calibration, TF2 and optical frames alongside ROS 2 clock domains. A message can arrive promptly and still represent an old observation or the wrong coordinate frame.

Debug the failing assumption

Symptom or design taskRead nextCapture before changing the stack
GPIO output does not behave as expectedJetson GPIO output pinsBoard/carrier identifiers, pin numbering, JetPack version and pinmux state.
A controller link needs a defined protocolUART on JetsonVoltage levels, framing, message integrity rules and reconnect behavior.
Sensors look stale or driftClock domains and sensor fusion driftAcquisition timestamps, clock mapping and frame transforms.
Bench success disappears when motors startJetson brownouts and motor transientsDevice-side rail voltage alongside load, current and reset events.
A container works only on one developer’s machineEdge AI container reliability checklistImage digest, host/driver compatibility and declared device access.
A fault cannot be reproduced from logsROS 2 logs and rosbags for debuggingConfiguration, clock context, state transitions and the relevant recorded streams.

For interface selection, the communication bus decision worksheet helps turn a wiring choice into an explicit design record with outstanding verification work.

For timing, the ROS 2 latency budget calculator separates sampling wait, sequential stages, clock uncertainty and reserve in an exportable budget.

Add local voice and AI without losing the boundary

For a voice path, read Whisper with CUDA on Jetson, voice activity detection and wake words, then Piper TTS in ROS 2. Measure the stages separately before optimizing end-to-end response time.

Use evaluating a local LLM for robotics tool use to test the proposed task interface. The model’s output still needs an independent command authority boundary; continue with Robotics Architecture & Safety for that design.

If the local agent also retrieves organizational knowledge or invokes business tools, Enterprise AI Architecture & Governance covers those access and ownership decisions.