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.
Improving Robot Position Tracking Accuracy: Acceleration Feedforward Optimization Journey
We share the process of optimizing acceleration feedforward control for a 6-axis robot arm. By using planner acceleration + LPF instead of numerical differentiation, we achieved 21.2% improvement in position RMSE and torque stability simultaneously.
Is PREEMPT_RT Enough? Validating Real-Time Performance on Jetson Orin
We validate with measured data whether PREEMPT_RT kernel and CPU isolation alone can enable 1kHz EtherCAT control on NVIDIA Jetson Orin. Under GPU, Storage, and EtherCAT load conditions, we achieved max latency below 20us.
Lock-free vs Mutex: Robot Control System IPC Performance Benchmark
The factor determining IPC performance in robot control systems is the synchronization mechanism, not process boundaries. We share a case study achieving 100x improvement from 78-103us with Mutex to 0.74-0.82us with Lock-free.
RL-Based Low-Level Motor Control: Beyond PID/ADRC
In the domain of 1kHz real-time motor control that LLMs cannot replace, we introduce WIM's approach to replacing traditional PID/ADRC manual tuning with reinforcement learning (RL).
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.
What is the Real Cost of std::memory_order on ARM64? - Jetson Orin Benchmark
We measured whether atomic memory ordering could be a performance bottleneck in a 1kHz RT loop on Jetson Orin (Cortex-A78AE). On AArch64, the cost of seq_cst is virtually identical to release/acquire, and the total cost of 25 atomic operations is less than 0.01% of the 1ms budget.
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).