Handling high hardware/communication latency (~360ms)

Hello,

I am developing an industrial Autonomous Mobile Robot (AMR) using ROS 2 Humble and a B&R PLC (communicating via OPC UA PubSub/UDP). I have measured a significant round-trip latency between ROS 2 cmd_vel and the actual wheel odometry feedback.

Hardware Setup:

Processor: Intel i5-14500 (PC-side)

PLC: B&R (Automation Studio)

Communication: OPC UA (UDP)

Sensors: SICK Safety Lidars (connected directly to ROS 2)

The Problem

Using a custom latency logger, I’ve measured a ~364ms delay from the moment cmd_vel is published until the PLC-based odometry reflects the physical movement. This includes:

Network serialization (OPC UA/UDP)


Mechanical inertia and electromagnetic brake release.

When using CLOSED_LOOP feedback in the velocity_smoother, the robot exhibits significant jitter and oscillations because the smoother reacts to “old” odometry data.
Current Workaround

Questions

Is a ~360ms round-trip latency considered "within acceptable limits" for heavy industrial AMRs in the Nav2 ecosystem?

Is the "negative timestamping" approach (now - delay) considered a safe practice for temporal synchronization between high-speed Lidars and high-latency PLC Odometry?