Electro-mechanical systems typically used in robots have very low delays and are quite simple to build servo controllers for.

Hydraulic systems are much less common in robotics and have delay due to the length of the hydraulic lines. This delay may vary considerably depending on the system conditions.

What methods exist for dealing with this variable delay when designing a position or velocity servo controllers for hydraulic cylinders?

Update: I have spent some time checking academic literature and have found the following books:

  • Introduction to Time-Delay Systems - Fridman
  • Nonlinear Control Under Nonconstant Delays - Bekiaris-Liberis and Krstic

I have not had a chance to read these enough to have a clear answer to my problem yet. Hopefully this can provide others with a starting point at least. Both authors have many papers on topics regarding control with time delay systems that are nonlinear or varying.


You build the delay into your system. [This first requires your system to be repeatable. If your delay varies then this method won't work.]

You would collect lab data and map all of your actuators and their respective delays with the hydraulic line length, etc. Say you have 4 hydraulic actuators and the results show the following delays.

  • Act1: 30 ms
  • Act2: 50 ms
  • Act3: 200 ms
  • Act4: 1 ms

If you wanted Act3 and Act4 to run at the 'same time' you would artificially add a 199ms delay to Act4. The timing of the events would look like this:

  • <0ms: Determine what you want to do. Move Act3 and Act4 by a certain amount.
  • 0 ms: Send the Act3 signal.
  • 199 ms: Send the Act4 signal
  • 200 ms: Act3 and Act4 move at the same time.

It is similar to how moder compression ignition fuel injectors are calibrated. Each actuator has a slightly different delay based on multiple environmental factors. By mapping out the different delays you can repeatably inject fuel when required.

  • $\begingroup$ Thanks that is an interesting way to handle multiple actuators. To be more specific, the problem I was referring to is that the delay of each single actuator may vary considerably during the day. This might be from things like deadband in the valves due to friction, friction in cylinders, varying leaks, etc. All of these result in a potentially variable delay between a valve signal and actual movement of the cylinder. $\endgroup$ Feb 4 '15 at 0:36
  • 1
    $\begingroup$ From a control perspective known delays can be handled by techniques such as smith predictors. $\endgroup$
    – welf
    Feb 4 '15 at 23:26
  • $\begingroup$ You have to figure out what factors cause the change in delay and map them out. Instead of having a 1, 0, 199, 200 ms constant. Act1 has a 4-D map that comprises of temperature, pressure, time of day. Sensors will read all of those and the delay may vary from 0-1000 ms. So as all of those change the actuators all continue to work. $\endgroup$
    – JedF
    Feb 5 '15 at 3:25
  • $\begingroup$ Are there any adaptive methods for dealing with variable, unknown delay from a control perspective? Mapping delay in all possible conditions may not be feasible from a time/money perspective. Additionally, as the components wear the map may change and recalibrating a 4D map is going to be hard. $\endgroup$ Feb 5 '15 at 8:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.