Next Article in Journal
Realization of the Neural Fuzzy Controller for the Sensorless PMSM Drive Control System
Next Article in Special Issue
Predictive Control Using Active Aerodynamic Surfaces to Improve Ride Quality of a Vehicle
Previous Article in Journal
A Linearity Improvement Front End with Subharmonic Current Commutating Passive Mixer for 2.4 GHz Direct Conversion Receiver in 0.13 μm CMOS Technology
Previous Article in Special Issue
Battery Energy Management of Autonomous Electric Vehicles Using Computationally Inexpensive Model Predictive Control
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:

Hydraulic Pressure-Flow Rate Control of a Pallet Handling Robot for an Autonomous Freight Delivery Vehicle

PMAR Robotics, DIME, University of Genova, 16145 Genova, Italy
Ecole Centrale de Nantes, 1 Rue de la Noë, 44300 Nantes, France
Author to whom correspondence should be addressed.
Electronics 2020, 9(9), 1370;
Submission received: 24 July 2020 / Revised: 12 August 2020 / Accepted: 20 August 2020 / Published: 24 August 2020
(This article belongs to the Special Issue Autonomous Vehicles Technology)


The current paper presents an upgrade of a pre-installed hydraulic system for the operation of a pallet handling robot for a freight delivery vehicle known as FURBOT (freight urban robotic vehicle). The automated forklift installed on FURBOT for loading/unloading of cargo is powered with the help of hydraulics. The previous hydraulic system worked via a classical approach with a fixed displacement pump and a bypass valve, making it work on full power when in use. An alternative design was proposed, simulated and installed on FURBOT; it uses a fixed displacement pump and changes the rotation speed in real time using a pressure sensor. Novelty was attained with the use of gear pumps for said scenario. A control algorithm is implemented in the processing unit for controlling the speed of the motor driving the pump. The main advantage of this approach is better use of energy for the vehicle’s battery. The aim of this research is to control both the speed and maximum force exerted by the actuators with the help of a single sensor and an inexpensive pump.

1. Introduction

The idea behind the FURBOT (freight urban robotic vehicle) project was to propose a light-duty, efficient, sustainable and fully electrical freight vehicle for urban environments. The truck features a pallet handling robot and active suspension for loading/unloading operations. The main purpose of this vehicle is to deliver cargo, for which loading/unloading of cargo is of prime importance. The pallet handling robot installed in the truck not only requires automation, but also it is desired that it should be energy efficient. Furthermore, it should be optimized for performance and be safe for use.
The upgradation of FURBOT is being carried out presently, as the vehicle is required to perform at the H2020 Research and Innovation Programme, SHOW (SHared automation Operating models for Worldwide adoption). The vehicle is set to be fully functional and optimal in time to qualify for its pre-demo in October 2021 for SHOW. Apart from the work which is being carried out for its automation [1,2], the hardware upgradation of the vehicle is also very critical for its performance, especially the safe operation of its robotic forklift. Thus the need for this work was generated.
The vehicle has a control mode for loading/unloading of pallets defined as “Forkmode”. The vehicle only handles the pallets when the vehicle is in this particular mode. The automated forklift of FURBOT operates with the help of hydraulics rather than electric drives. The selection of hydraulics over electric drives is due to two main reasons—one being that force density is required under limited space/mass, and secondly because other subsystems have similar requirements that hydraulics can serve. Additionally, hydraulics are economically more viable. Costs play a vital role in the design of FURBOT, as it is desired that the vehicle remains cost effective to keep it commercially attractive.
Another novelty in the work is the use of gear pumps instead of axial piston pumps. Gear pumps are always driven at constant nominal speed (at the speed of highest efficiency for the component; efficiency degrades at speed lower than nominal non-linearly, although not in a way compromising the use of the component), and it is a common practice to use axial piston pumps to generate variable flow rates. This issue is industry-driven, since diesel engines and electric motors usually operate at constant speed. However, an axial piston pump costs typically six to eight times what a gear pump does; it is also subject to more wear with standard filtered oil circuits, as one would expect to use in a small van like FURBOT (not sophisticated overall hydraulic components in the circuits); finally, gear pumps are on the market for use with water–glycol, but for the same fluid axial piston pumps are extremely expensive due to rare use. Hence the novelty and idea investigated was to mount a servomotor on the gear pump: the motor was designed to operate at variable speed and in dynamic conditions; and not be regulated the way it is done with an inverter on asynchronous motor, but controlled in time to promptly serve instantaneous fluid rate.
It was observed that very few publications are available on the optimization problem of the hydraulics of a forklift. Some researchers have focused their research on either vision of the forklift operator [3] or controller design for automated forklift operations [4,5,6]. The focus of optimizing the hydraulics of the system for a forklift is still unexplored. Most of the optimizations are either theoretical [7] or for dynamic modeling [8].
Displacement-controlled actuators and hydraulics are playing vital roles in the development of new and clean technologies for mobile robots [9]. Major challenges being faced in the development of hydraulic systems for such robots are efficiency improvements, noise reduction and advancements in pump technology [9]. The innovative techniques used in this article mainly comprise on/off valves and fixed displacement pumps. The advantages of using fixed displacement pumps over variable displacement pumps are that they are typically smaller, lighter and cheaper than their counterparts [10]. The efficacy of on/off valves is well established [11], and for this reason, such valves are used in our work for development of an energy efficient hydraulic system with a lower cost at the same performance level.
New approaches to solving the intricacies of valve operation and fixed displacement pumps are being studied continuously, and mathematically modeled in order to better simulate their results [12]. The biggest drawback of these displacement pumps is the energy loss which is associated with them. However, these losses can be significantly reduced in the presence of load/pressure sensors [13]. The application of hydraulic systems in itself is a very demanding task. Many researchers have published their results just on the application [14], as a simple condition such as cold weather has the potential to decrease the overall efficiency of the hydraulics system [15]. The discussed articles bring good validity in the proposed work.
Another recent work used the same approach for flow control [16] but they used it specifically for electric drives. Within [16], the process for simulating the controller was similar and MATLAB/Simulink was used for simulation purposes. Additionally, the technique for hardware validation was also similar to our work. Furthermore, in another study, direct driven hydraulics were used to reduce the power consumption of the system [17], which is especially useful for heavy vehicles. This is very helpful in our vehicle as reducing power consumption is one of the goals of our research. Upgrading the energy management for forklifts has also been studied and verified in experimental settings [18]. Our research also uses the same experimental validation technique for our forklift operations to verify our simulation results.
Pressure flow rate control is an essential and emerging necessity. New devices are constantly being patented to safeguard the intellectual property [19,20]. Further work is also being done to save energy by using mutual pressure and flow control [21] and optimization pressure control valve for automatic transmission [22]. In reference to our work, we also tried to optimize our hydraulic system by using an inexpensive displacement pump and pressure sensor. Using a variable displacement pump was never viable for our research as cost effectiveness plays a vital role in the overall design of our robotic forklift.
This study was unique because an already installed hydraulic system was upgraded for better performance through control modifications and new hardware installation. The work completed not only upgraded the hydraulic system of FURBOT, but also produced a safer environment for working. The whole problem was simulated in LMS and SimuLink before implementation. Additionally, the work produced has practical applications in forklift design and is considered vital in the performance of FURBOT. To summarize, the contributions of this research are given below.
  • It is not common practice to use hydraulics in robotic systems. We have taken a new approach by using hydraulics instead of electric drives for our robotic forklift.
  • Furthermore, the axes need force density and very modest precision: An electric motor and gears also give additional precision not needed for our tasks. Additionally, the electric motor and gear pump can have a rigid transmission, and this too is a feature not required for FURBOT application: for this reason, hydraulics are not used much in robots because robots are designed for tasks needing accuracy and made stiff to simplify the control (controlling flexible axes is more complex in trajectory and under variable loads).
  • Validation of our methodology was achieved by conducting separate tests for speed control, the pressure loop, the speed test and the bi-state regulator. Moreover, repetitive experiments were performed to increase the faith in the robustness of our system.
  • The classical approach to regulate speed/force is through pressure reducing valves while the pump turns at full speed; this means it is not possible to set both the maximum force that will be exerted and the speed during the motion. With the help of bi-state regulator, we are able to set both the maximum force exerted and speed during motion.
  • A lot of energy is wasted using pressure reducing valves. The technique proposed is not only safer, but also reduces the energy loss in the system.

1.1. Hydraulics on FURBOT

FURBOT is equipped with a complete hydraulic circuit for handling of freight through the forklift, for suspensions and for the hydraulic braking. The complete schematics of the installed hydraulics on FURBOT are shown in Figure 1. The architecture of the hydraulic supply of FURBOT is also given in Figure 2. For each forklift axis, a double acting cylinder is used and controlled by a 4/3 mono-stable distributor, as shown in Figure 3. The suspension uses the same structure, but also includes nitrogen tanks, which can be linked to the cylinder chamber when driving, as shown in Figure 4.
The tank supplies the circuit with fluid and allows heat dissipation. The hydraulic pump is a fixed displacement pump, making the flow rate responsible for regulating the speed of the motor driving it. The bypass valve enables the operator to temporary disable the feed circuit without stopping the pump. With the current design, the pump is running at full speed when the operator enters the “FORK mode” needed to enable the hydraulics to operate the forklifts. Without actuation and negligible oil compressibility, a sharp increase in pressure is observed. Without any kind of regulation, this phenomenon has the capacity to waste energy because the excess of fluid goes back to tank through the pressure relief valve. The pressure valve is required to bypass the circuit to the tank when the pressure exceeds 140 bars. Another pressure regulator generates a lower pressure stream of oil for the suspensions (30 bars).

1.2. Synoptic View of Control Architecture

A synchronous brush-less motor drives the pump. The motor is controlled by a servo-controller and makes the set controller + motor a servomotor, as shown in Figure 5. The controller generates the three-phase currents for the motor, and regulates the current (thus the torque) and the speed. This is a current servo-drive where the minor current loop is embedded into the speed loop.
The servo-controller is connected via a digital communication link to a custom controller board and implemented on a Linux computer featuring a PowerPC processor, RAM, an FPGA for GPIOS control, an Ethernet layer (MAC and PHY) and onboard CAN transceivers. The controller board, called the open motion controller, elaborates the control of all the low-level devices on the FURBOT via CAN buses and a CANOpen layer: these include hydraulic motor via a drive manufactured by SEVCON, the traction drives, the steering drive, the signaling of the vehicle and other devices via a CAN-to inputs outputs board (DIO).
The current design is sub-optimal from an energetic point of view and has safety issues, especially regarding the fork’s actuation, yet this is a classical architecture. Reasons for this design being sub-optimal are:
  • The pump is always running at full speed and the pressure regulators are used uneconomically. Given the oil compressibility, the rise in pressure is quasi-instantaneous; in other words the pump can start when actuation is needed without wasting energy for the majority of the operation time when in fork mode and waiting for actuation.
  • The forklift’s cylinders do not always need 120 bars of pressure to work properly; so the maximum flow rate is not always required.
  • There is no safety regarding the speed of the unloaded cylinders as it is not controlled while working at maximum capacity. However, when the pressure is regulated, lamination valves allow regulating the speed of actuation by limiting the flow rate. Additionally, if the cylinders are stuck, the hydraulic pressure rises to 120 bars of pressure. Thus, it is better to set a maximum pressure set point in order to set the maximum force exercised by the cylinders. The pressure set point will give the maximum force and the lamination valve the maximum speed in steady state.

2. Research Objectives

The objective was to regulate the pressure of the oil before the fork actuators. The pressure regulating valves are able to regulate the pressure of the oil; however, the problems are:
They are designed for a simple service and dissipate energy by bypassing a certain amount of oil into the main tank.
One can set the pressure manually but cannot control or regulate it over time.
Hence the idea of regulating the pressure by controlling the flow rate of the pump was formulated (the amount of oil fed into the system in a time period, while compensating for the leaks and changing the pressure according to compressibility formulas). Usually, a variable displacement pump is used for such an application. When it comes to “load sensing” in hydraulics, the flow rate of a variable displacement pump is modified (without changing the rotation speed). In load sensing with variable displacement axial piston pumps, the flow rate is adapted in the time to have no flow through the pressure relief valve, which is there just for safety. Additionally, the cost target of the vehicle does not let us use the normal variable displacement architecture because it is too expensive. Additionally their proneness to failure with fluids different from oil is also an issue, since we desire to shift to water additives with ethylene or propylene glycol in the future.
The idea was to use a constant displacement pump and to change the rotation speed in real time. The flow rate is actually proportional to the rotational velocity of the pump. This required measuring the pressure with a new dedicated sensor, implementing an algorithm in the processing unit (the OpenMCP) and controlling the speed of the motor driving the pump.

3. Hydraulic Equations and Control Strategy

We define the bulk modulus in hydraulics β [23] as
β = ρ d p d ρ
where p is the pressure in the line and ρ is the volumetric mass density of the fluid. Considering that rate of change of density is directly proportional to the rate of change of mass flow rate of the fluid (defined as q) we get (if Volume (V) = constant)
d p d t = β ρ V q
Since rate of change of volume is not constant, especially when the actuators are in motion, our equation becomes
1 β = 1 ρ 1 V d M d p M V 2 d V d p
q = d M d t a n d ρ = M V
where “M” and “t” define “mass” and “time” respectively, we get
d p = β ρ V q d t ρ d V
d p d t = β ρ V q β V d V d t
It is desired that we control the output pressure with the input q despite the unknown variations in V. Thus, the “expansion of the walls” then appears as a perturbation term. Curve fitting on volume around a value is non-realistic as V changes a lot in a non-deterministic way.
Let us assume that σ = p c o n s p . With the Lyapunov candidate function V = 1 / 2 σ 2 we want: V = σ ˙ σ < 0 to achieve control whatever the perturbation may be (change of V).
( p c o n s p ) p ˙ < 0
( p c o n s p ) β V ( t ) q ( t ) ρ V ˙ ( t ) > 0
Then we have
q > p d V d t i f p c o n s > p q < p d V d t i f p c o n s < p
It is possible to take the following first order sliding-mode control for q : q = ρ K s i g n ( p c o n s p ) ρ K σ | σ | + ϵ , where σ = p c o n s p and K is the upper bound for | d V d t | and achieve regulation. This is interesting conceptually but of little use for the real life system because such a command law is basically a high-gain, high-frequency control. Since flow rate is controlled by changing the speed of the volumetric pump, we have the following nested loops: current in the m o t o r s p e e d o f t h e s h a f t p r e s s u r e . Sliding mode is well suited for systems that have a low-pass behavior and can be driven at high frequency. Here, the bandwidth of the inner loops, the logic limitations in the electric controller and the delays with the communication link prevent us from having high frequency switching which will result in instabilities: the electric drive cannot cope with the speed changing too quickly. The current loops operating in FURBOT run at 16 kHz, the speed loop runs at 200 Hz and the minimum delay between two consecutive set-points for the speed is 20 ms (50 Hz). Thus the pressure loop can run at a frequency between 200/10 = 20 Hz and 200/5 = 40 Hz < 50. It is required that the outer loop control be as continuous and smooth as possible.
Note that the pressure control mode will be enabled when the actuator is not moving or there is a high load on it, which will result in slow motion under pressure limitation. For a non-time-varying volume, a proportional controller is enough. If an integral term is introduced, it can easily match a small enough V ˙ with a short amount of time, especially if a high integrator gain is used in conjunction with a good anti-windup (to avoid instabilities with steps in pressure).

4. Implementation of the Control Algorithm

4.1. The Control Strategy

The objective was to be able to set a maximum working force and a nominal speed for each hydraulic axis on the FURBOT. Since it is not possible to control the speed while limiting the force with a single volumetric pump at the same instance, a control mode strategy was devised which switches the control mode according to a defined logic. It works according to the following algorithm (Figure 6) where the controller is aware of
The speed of the pump: through intelligent servo-controller.
The hydraulic pressure: through the installed pressure sensor.
This is basically a bi-state machine ensuring smooth actuator operation while limiting the power of the cylinders and thus limiting the speed of the fork operation. Pmax is directly proportional to the maximum operating force and Qcons is in keeping with the nominal speed of the actuator (the factor is the cylinder area S).
The operation is the following: most of the time, the actuator is driven with constant flow. If for a reason something is preventing it from moving or the cylinder reaches an end-position, the pressure will raise. For safe operation and to avoid using the pressure limiting valve, the pressure is regulated to Pmax once it goes over Pmax. Once the load is removed or the actuation is done in reverse (pulling instead of pushing), the flow rises until it eventually goes over Qcons, which is the nominal flow rate. Then the controller switches to flow regulation again.

4.2. Algorithm

The whole build system of the OpenMCP, which involves the kernel and the filesystem, the cross-compiler, configuration bash scripts and makefiles was cloned using LINEAR mercurial repository. Within the folders and files, there is the furbot application folder with all the source files (.hpp and .cpp), object dictionary description files (.ods) and the latest binary executable. The architecture of the code is the following:
The libcanopen++ API is used to create new can buses handlers and CANOpen “master controllers” which can be linked to a bus. A “master controller” is a CANOpen master node with a specific master object dictionary and which can run several “application controllers” with the use of threads.
The software’s “application controllers” are linked to a specific hardware-device on the bus. They work with the use of threads and callbacks from the libcanopen++ stack and have an internal state machine to operate the vehicle safely.
A FURBOT class wraps all the buses and controllers. The latter also includes a network handler to broadcast information via UDP (User Datagram Protocol) to all hosts on the local network. All the objects are instantiated and the threads launch with the call to the Furbot() constructor inside the main function.
Changes to the existing architecture included:
Changing the object dictionary for one of the master nodes on the bus. New user entries were added for the pressure process-values coming from the pressure sensor and we did the right PDO (Process Data Object) mapping.
Writing a controller for the pressure sensor (two new files), to get the data and to send it to the local network inside UDP packets. A network subsystem for the pressure sensor was added using pre-existing functions.
Creating a class for the algorithm (two new files) to be able to get the behavior explained above. The pressure control mode is a PID control while the flow regulation just consists of setting the speed of the pump.
Changing some functions into the furbot class, especially the function starting the pump and running it at full speed by a new function according to the current requirements.

5. Preliminary Work

5.1. The Open Motion Controller and CAN

The vehicle uses several CAN buses to control the different modules and drives. The algorithm is implemented on the motion controller; the latter runs under a Linux operating system and the “furbot” application runs in the background.

5.1.1. The OpenMCP

It is the main motion controller of the vehicle. The hardware of the OpenMCP is shown in Figure 7. Ethernet links it to all the devices by CAN buses and to the human–machine interface on a local network. Physically, it is composed of two boards: a digital processing board stacked upon a digital interface and a signal handling board that includes network transceivers (CAN and Ethernet), protection components (opto-isolators, fuses and transient voltage suppressors) and an IO interface. On the computing board, there is a PowerPC processor, flash memory, RAM and an Altera FPGA for network layer implementations and some IO logic. Two automotive AMPSEAL connectors are used to physically wire the board inside the vehicle.
The “furbot” application is cross compiled and loaded as part of a Unix file system. A Linux kernel and the file system are loaded in the flash by a separate tool. When the device boots, it decompresses the kernel and the file system (SquashFS) on the RAM. The board allows for two kernels and two file systems being available on the flash memory. It automatically loads the latest ones but allows using the old revision if a problem is detected. Particularly if the boot fails with one kernel, it automatically tries the older one after a few attempts. An executable, added to the path, enables one to load a newer revision of the kernel or the file system via the network and the protocols SSH/SCP.

5.1.2. CAN

The CAN (controller area network) is an automotive fieldbus designed to be very reliable in harsh environments and is an asynchronous multi-master serial bus. The physical layer uses a differential signaling scheme on copper with a 120 Ohms termination resistor to avoid signal reflections at the end of the lines. In the most common implementation, all the nodes share the same link (bus). A complex arbitration process based on a message priority system and several kinds of frames allow only one node to talk at time. Acknowledgment of the messages enables it to detect errors and faults. There are four frame types:
The data frame transports the data.
The remote frame asks for the transmission of a data frame.
The error frame is broadcast by one node which detects an error.
The overload frame is broadcast by a node which detects an overload.
All the transceivers have their own clock, but these are re-synchronized on a frame reception using the signal logic transitions: for that purpose, the bit stuffing ensures that there are always enough transitions to synchronize the nodes.

5.2. CANOpen

Getting the CAN messages from the hardware to a computer requires an adapter (made in silicon with the OpenMCP) and a driver on the computer. An IXXAT “USB to CAN” adapter was used for the early experiments with Linux machine and the drivers from IXXAT. Hardware is shown in Figure 8.
On UNIX, several tools are useful for talking to the bus, such as the can-utils tools. Other than that, the SocketCAN stack enable the user to use a network interface to talk to the CAN bus. The tools involved are candump and cansend to filter/see the received messages or send a message on the bus. The application talks with the SocketCan stack via a library. CANFestival CANOpen library is used to interface an application code with the bus working with CANOpen. CANOpen master node was written, with its own object dictionary generated from a python utility given with the CANFestival library, and was able to control the motor in speed regulation and position regulation.

5.3. Preliminary Work on the Pressure Sensor

The pressure sensor operates from 1 to 160 bars in absolute pressure and operates according to the CANOpen ds404 profile. The pressure sensor was mounted on the hydraulic circuit of the FURBOT and was first directly wired to the personal computer using IXXAT. It was then configured using the cansend tool for Linux and the LSS protocol. CANOpenShell utility provided with the CANFestival libraries was used to take feedback from the sensor, set the state with NMT and get the data via SDO/PDO messages. All the electronic hardware was mounted on the back of the vehicle as shown in Figure 9. A python script was written to get the pressure plot in real time. This ensured that the pressure sensor was working properly.

6. Modeling and Results

6.1. Simulation Modeling

The model falls into three parts: the corrector, the electric drive and the hydraulic circuit. The whole SimuLink model is shown in Figure 10. One of the objectives was to check whether the PI controller proposed above could regulate the pressure with a certain class of system composed of an electric drive and a constant displacement hydraulic pump, without the need for a full mathematical model of the Furbot subsystems. The main output is the pressure of the pump, and the inputs are the set point for the pressure and a pulse generator to command the cylinder in the hydraulic circuit. From the pressure set point, the controller generates a speed set point for the pump that is reached by the drive. The final controller is a PID with anti-windup integrator clamping.

6.2. Simulation Results

The control scheme proved successful as long as the speed of the cylinder was limited with a flow limiter and there was enough oil behind the pump. Indeed, if there was no flow limiter, the piston moved too fast, and the circuit could not cope with the corresponding dV/dt. Theoretically, if there is not enough oil, instabilities (oscillations) may happen. A tank with a fixed volume of oil behind the pump can have a damping action. In the real system, we also want to get rid of the flow limiter, but most of the time it will be controlled in constant flow (constant actuator speed) mode, and if it switches to pressure limiting mode it means that a counter action is preventing the piston from moving too fast.
It was observed that there was drop in pressure when the motion of the actuator changed. Nevertheless, the integral term helped the controller to recover regulation around the set point, i.e., 30 bars. The following figure shows the details of the pressure rise at the beginning. A delay was observed between commanded and current speed for the pump. Modeling and the simulation proved that the controller could possibly work in theory. Figure 11 shows the simulation results, whereas a zoomed view of pressure rise is shown in Figure 12.

7. Prototype Testing and Results

7.1. Pressure Sensor Test and Results for the Pressure Loop

The pump was driven at constant speed to verify the results. The plots below are from the python script with which the data were superposed to see “moving curves” in real time. The time basis was 20 ms between samples, and there was a 255 sample-buffer. Figure 13 and Figure 14 are results of the pump driven at constant speed (rpm). The results obtained reveal the hardware’s performance at a constant speed, enabling one to judge the robustness of the controller.
Blue represents pressure.
Red represents set speed from the control loop.
Green represents actual speed.
Yellow represents torque from the motor, measured from the servomotor.
Furthermore, the hardware performance was also validated by running the pump at constant pressure (Figure 15). These three experiments (Figure 13, Figure 14 and Figure 15) were performed to validate the hardware and highlight any inherent delays in the pump before validating the controller. With the understanding of these results, we are able to validate better the robustness of bi-state controller.
The typical results collected from the pressure loop are presented in Figure 16 and Figure 17. To validate the pressure control loop, two separate experiments were performed at different pressure set points (100 bar and 120 bar). The satisfactory results obtained from Figure 16 and Figure 17 enhance the reliability of the PID pressure loop controller, thereby increasing its robustness.
While performing the speed test (Figure 18), a jitter was observed at low rpm. It appears that the jitter near the setpoint was due to bad encoder settings for the servomotor: the latter used the UVW phase signals for the synchronous motor instead of the signal from the encoder to get the positions. Thus, there were less coding points (ticks), which is detrimental to speed control for low speeds. Apart from the jitters at low speeds for the reason mentioned above, the controller performance in the speed test (Figure 18) was well within the acceptable range when keeping in mind the inherent lags of the system.
It was thus observed that at low speed, the pump was uncontrollable. This was because the efficiency of the pump was very low at low speeds. The gear pump had an interval of regulation and for lower speeds the internal leaks made it difficult to control, since flow sometimes leaked at low speed. This particular problem was not resolved even after installing a small tank of 0.35 L to damp the system and avoid oscillations. During the acquisition, the bypass valve was closed and then was opened; still, the pump was not able to cope with increasing pressure without creating huge torque, making the pump inefficient.

7.2. Final Algorithm Test

The results of pressure control were again collected with the inefficient pump at low pressure, as shown in Figure 19. From Figure 19, one can observe that the actual speed does not follow the set speed, hence the pressure ripple. For the results of the bi-state regulator (Figure 20), a horizontal piston of the forklift system was actuated (which was responsible for its horizontal movement), and we set the nominal speed to 300 rpm, and the maximal pressure to 25 bars. The flow limiter was completely open for that cylinder.
To validate the results of the bi-state regulator and to check its performance, another experiment was performed (Figure 21) with the same conditions. The results of both experiments (Figure 20 and Figure 21) show consistency in the performance enhancing robustness of our bi-state regulator. Furthermore, the results validate our bi-state controller and its performance; actual speed (green) followed the set speed (red) in both of the experiments.
In spite of the presence of ripples in the pressure control mode, it was observed that the piston moved slowly till it reached an end-position and became pressure controlled. An effort was made to block the piston and limit the pressure. The piston was blocked with a chain, which moved slowly with the load release. Additionally, the speed was limited without the flow limiter, which was wasting energy; and the hydraulic pressure regulator was not used. The motor with a properly functioning pump should be low in pressure regulation mode. It is nevertheless possible to activate the pump when an actuator needs to move and to stop it on another condition, i.e., low speed of the pump or timer (tri-state machine).

8. Conclusions

The overall hydraulic system of FURBOT was upgraded and optimized in terms of energy and safety. An innovative controller was implemented for pressure regulation and flow regulation which enhanced the overall performance of the installed forklift on FURBOT. The whole operation was conceived conceptually and simulated in Simulink before actual implementation. Perfect actuation of the forklift was not achieved due to hardware limitations, but the whole concept was electronically and physically implemented. Additional work is required to achieve better results and remove the remaining issues in the development of actuation system of the forklift. Nevertheless, the achieved results are very promising and of practical use. These results are very attractive in the automation process of project FURBOT.
Furthermore, we have shown that we were able to move the cylinder pump at constant speed through constant flow rate while controlling the maximum force exerted at all times. This was achieved with a single constant flow rate pump and a pressure sensor ending power wastage with pressure reducers. Additionally, at end positions, switching to pressure regulations eliminated the need for limit switches. The drawback of this scheme is that it is not easily scalable to multiple and simultaneous actuators control. This is because the flow of the constant flow pump will be divided through all actuators and the force exerted depends on the section of the cylinder pump; thus, a single pressure setpoint will not be enough.

Author Contributions

Conceptualization, X.D.; methodology, X.D.; software, X.D. and K.M.; validation, X.D. and M.Z.; formal analysis, X.D. and K.M.; investigation, X.D. and M.Z.; resources, X.D. and M.Z.; data curation, X.D. and K.M.; writing—original draft preparation, K.M.; writing—review and editing, K.M., X.D. and M.Z.; visualization, K.M., X.D. and M.Z.; supervision, R.M. and M.Z.; project administration, R.M. and M.Z.; funding acquisition, R.M. and M.Z. All authors have read and agreed to the published version of the manuscript.


This paper was supported by European Union’s Horizon 2020 research and innovation programme under grant agreement number 875530, project SHOW (SHared automation Operating models for Worldwide adoption).

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.


The following abbreviations are used in this manuscript:
FURBOTFreight Urban Robotic Vehicle
SHOWSHared automation Operating models for Worldwide adoption


  1. Masood, K.; Molfino, R.; Zoppi, M. Simulated Sensor Based Strategies for Obstacle Avoidance Using Velocity Profiling for Autonomous Vehicle FURBOT. Electronics 2020, 9, 883. [Google Scholar] [CrossRef]
  2. Masood, K.; Zoppi, M.; Molfino, R. Mathematical Modelling for Performance Evaluation using Velocity Control for Semi-Autonomous Vehicle. In Proceedings of the 15th International Conference on Soft Computing Models in Industrial and Environmental Applications, Burgos, Spain, 16–18 September 2020. [Google Scholar]
  3. Wang, J.Y.; Zhao, J.S.; Chu, F.L.; Feng, Z.J. Innovative design of the lifting mechanisms for forklift trucks. Mech. Mach. Theory 2010, 45, 1892–1896. [Google Scholar] [CrossRef]
  4. Minav, T.A.; Laurila, L.I.E.; Pyrhönen, J.J. Relative Position Control in an Electro-Hydraulic Forklift. Int. Rev. Autom. Control 2010, 6, 54–61. [Google Scholar]
  5. Minav, T.; Filatov, D.M.; Laurila, L.; Vtorov, V. Self-tuning-parameter fuzzy PID speed control in an electro-hydraulic forklift. Int. Rev. Autom. Control 2012, 5, 9–15. [Google Scholar]
  6. Minav, T.A.; Filatov, D.M.; Laurila, L.I.; Pyrhönen, J.J.; Vtorov, V.B. Modelling of an electro-hydraulic forklift in Matlab Simulink. Int. Rev. Model. Simul. 2011, 4, 640–647. [Google Scholar]
  7. Pan, L.; Du, Q.; He, C. Design Research on Hydraulic System of Working Device of a Forklift. In Proceedings of the 5th International Conference on Advanced Design and Manufacturing Engineering, Shenzhen, China, 9–20 September 2015; pp. 1813–1817. [Google Scholar]
  8. Reutov, A.A.; Kobishchanov, V.; Sakalo, V. Dynamic Modeling of Lift Hoisting Mechanism Block Pulley. Procedia Eng. 2016, 150, 1303–1310. [Google Scholar] [CrossRef] [Green Version]
  9. Ivantysynova, M. Innovations in pump design—What are future directions? In Proceedings of the 7th JFPS International Symposium on Fluid Power, Toyama, Japan, 15–18 September 2008; pp. 59–64. [Google Scholar]
  10. Batdorff, M.; Lumkes, J. Virtually Variable Displacement Hydraulic Pump Including Compressability and Switching Losses. In Proceedings of the ASME 2006 International Mechanical Engineering Congress and Exposition, Chicago, IL, USA, 5–10 November 2006. [Google Scholar]
  11. Tu, H.C.; Rannow, M.B.; Van de Ven, J.D.; Wang, M.; Li, P.Y.; Chase, T.R. High Speed Rotary Pulse Width Modulated On/Off Valve. In Proceedings of the ASME 2007 International Mechanical Engineering Congress and Exposition, Seattle, WA, USA, 11–15 November 2007. [Google Scholar]
  12. Manring, N.; Williamson, C. The Theoretical Volumetric Displacement of a Check-Valve Type, Digital Displacement Pump. J. Dyn. Syst. Meas. Control 2018, 141, 031014. [Google Scholar] [CrossRef]
  13. Drumea, P.; Dumitrescu, C.; Hristea, A.; Popescu, A. Energy Use in Hydraulic Drive Systems Equipped with Fixed Displacement Pumps. Hidraulica 2016, 48–57. [Google Scholar]
  14. Van de Ven, J.D.; Olson, M.W.; Li, P.Y. Development of a Hydro-Mechanical Hydraulic Hybrid Drive Train with Independent Wheel Torque Control for an Urban Passenger Vehicle. Int. Fluid Power Expos. 2008, 51, 503–514. [Google Scholar]
  15. Minav, T.; Heikkinen, J.; Schimmel, T.; Pietola, M. Direct Driven Hydraulic Drive: Effect of Oil on Efficiency in Sub-Zero Conditions. Energies 2019, 12, 219. [Google Scholar] [CrossRef] [Green Version]
  16. Roskam, R. Development of a Forklift for Research and Education in Mechatronics. In Proceedings of the 2018 2nd International Conference on Mechatronics Systems and Control Engineering, ICMSCE, Amsterdam, The Netherlands, 21–23 February 2018; pp. 17–21. [Google Scholar] [CrossRef]
  17. Minav, T.; Lehmuspelto, T.; Sainio, P.; Pietola, M. Series Hybrid Mining Loader with Zonal Hydraulics. Int. Fluid Power Conf. 2016, 3, 211–224. [Google Scholar]
  18. You, Z.; Wang, L.; Han, Y.; Zare, F. System Design and Energy Management for a Fuel Cell/Battery Hybrid Forklift. Energies 2018, 11, 3440. [Google Scholar] [CrossRef] [Green Version]
  19. Nagase, M.; Hirata, K.; Dohi, R.; Nishino, K.; Ikeda, N. Pressure-Type Flow Rate Control Device. U.S. Patent US10,261,522B2, 6 April 2019. [Google Scholar]
  20. Hirose, T.; Yoshida, T.; Matsumoto, A.; Hirata, K.; Ikeda, N.; Nishino, K.; Dohi, R.; Sugita, K. Pressure-Type Flow Rate Control Device. U.S. Patent US10372145B2, 6 August 2019. [Google Scholar]
  21. Serbin, A.; Petlenkov, E.; Vodovozov, V. Energy saving in centrifugal pumps using mutual pressure and flowrate control. In Proceedings of the 2017 IEEE 58th International Scientific Conference on Power and Electrical Engineering of Riga Technical University (RTUCON), Riga, Latvia, 12–13 October 2017. [Google Scholar] [CrossRef]
  22. Jian, H.; Wei, W.; Li, H.; Yan, Q. Optimization of a pressure control valve for high power automatic transmission considering stability. Mech. Syst. Signal Process. 2018, 101, 182–196. [Google Scholar] [CrossRef]
  23. Durfee, W.; Sun, Z.; de Ven, J.V. Fluid Power System Dynamics; Center for Compact and Efficient Fluid Power, Department of Mechanical Engineering, University of Minnesota: Minneapolis, MN, USA, 2015. [Google Scholar]
Figure 1. Overview of the hydraulic systems installed in FURBOT.
Figure 1. Overview of the hydraulic systems installed in FURBOT.
Electronics 09 01370 g001
Figure 2. Hydraulic supply of FURBOT.
Figure 2. Hydraulic supply of FURBOT.
Electronics 09 01370 g002
Figure 3. Hydraulic forks.
Figure 3. Hydraulic forks.
Electronics 09 01370 g003
Figure 4. Hydraulic suspensions.
Figure 4. Hydraulic suspensions.
Electronics 09 01370 g004
Figure 5. Typical servo controller.
Figure 5. Typical servo controller.
Electronics 09 01370 g005
Figure 6. Regulation algorithm.
Figure 6. Regulation algorithm.
Electronics 09 01370 g006
Figure 7. The OpenMCP.
Figure 7. The OpenMCP.
Electronics 09 01370 g007
Figure 8. (left) IXXAT USB to CAN, (right) open-source Serial to CAN.
Figure 8. (left) IXXAT USB to CAN, (right) open-source Serial to CAN.
Electronics 09 01370 g008
Figure 9. Back of FURBOT.
Figure 9. Back of FURBOT.
Electronics 09 01370 g009
Figure 10. Mathematical model schematics.
Figure 10. Mathematical model schematics.
Electronics 09 01370 g010
Figure 11. Simulation results.
Figure 11. Simulation results.
Electronics 09 01370 g011
Figure 12. Zoomed view of pressure rise.
Figure 12. Zoomed view of pressure rise.
Electronics 09 01370 g012
Figure 13. Pump running at 1400 rpm.
Figure 13. Pump running at 1400 rpm.
Electronics 09 01370 g013
Figure 14. Pump running at 1000 rpm.
Figure 14. Pump running at 1000 rpm.
Electronics 09 01370 g014
Figure 15. Pump running at constant pressure (130 bar).
Figure 15. Pump running at constant pressure (130 bar).
Electronics 09 01370 g015
Figure 16. Pressure loop at 100 bar.
Figure 16. Pressure loop at 100 bar.
Electronics 09 01370 g016
Figure 17. Pressure loop at 120 bar.
Figure 17. Pressure loop at 120 bar.
Electronics 09 01370 g017
Figure 18. Speed step test.
Figure 18. Speed step test.
Electronics 09 01370 g018
Figure 19. Pressure loop at 70 bar with an inefficient pump.
Figure 19. Pressure loop at 70 bar with an inefficient pump.
Electronics 09 01370 g019
Figure 20. Bi-state regulator results.
Figure 20. Bi-state regulator results.
Electronics 09 01370 g020
Figure 21. Second experiment of the bi-state regulator.
Figure 21. Second experiment of the bi-state regulator.
Electronics 09 01370 g021

Share and Cite

MDPI and ACS Style

Masood, K.; Dauptain, X.; Zoppi, M.; Molfino, R. Hydraulic Pressure-Flow Rate Control of a Pallet Handling Robot for an Autonomous Freight Delivery Vehicle. Electronics 2020, 9, 1370.

AMA Style

Masood K, Dauptain X, Zoppi M, Molfino R. Hydraulic Pressure-Flow Rate Control of a Pallet Handling Robot for an Autonomous Freight Delivery Vehicle. Electronics. 2020; 9(9):1370.

Chicago/Turabian Style

Masood, Khayyam, Xavier Dauptain, Matteo Zoppi, and Rezia Molfino. 2020. "Hydraulic Pressure-Flow Rate Control of a Pallet Handling Robot for an Autonomous Freight Delivery Vehicle" Electronics 9, no. 9: 1370.

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop