Skip to main content

8 docs tagged with "real-time"

View all tags

1kHz Real-Time Robot Control System Monitoring Architecture

Design a monitoring architecture that safely collects, stores, and visualizes performance data from EtherCAT-based 1kHz real-time control loops. Maintain RT determinism while capturing debugging data using Lock-free SPSC Queues and ROS2 topic layering.

Time Is a Control Input: A Hard Real-Time Jetson Host Took a Humanoid Teleop Arm From 1.57 s Behind to On Time, Without Touching the Vendor Box

A robot arm that is fed position targets moves exactly as well as the host keeps time. We put our hard real-time layer on a Jetson AGX Orin in front of an unmodified UFACTORY xArm 7 used for humanoid teleoperation. Send jitter stayed within 5 µs, the box's 6.5 ms lag was cancelled, and the arm went from 1.57 s behind the plan to on time. Tool-tip error at the same instant fell from 165 mm to 0.3 mm, path error from 1.11 mm RMS to 0.008 mm, with zero box errors across 30 runs and a 1.57 kg load swinging from the gripper. This post is the whole stack, kernel to motor, with the measurements behind every layer.

Why Our EtherCAT Sync Fell Apart Every 110 Seconds: One Jetson Default, 328 µs to 3.5 µs

Running two servo drives at 1 kHz from a Jetson AGX Orin with the IgH EtherCAT master, the Distributed Clocks (DC) deviation between drives spiked to hundreds of microseconds roughly every 110 seconds. The cause was not the motors, the kernel, or our control code. It was the PTP-TSC hardware lock that NVIDIA's nvpps driver enables at boot. Disabling it with one device tree property cut the maximum DC deviation from 328 µs (300 s with the lock on) to 3.5 µs (20 minutes with it off).