Next Article in Journal
A Microscopic Traffic Model Considering Time Headway and Distance Headway
Next Article in Special Issue
Data-Based Modelling of Chemical Oxygen Demand for Industrial Wastewater Treatment
Previous Article in Journal
Delaying the Occurrence of Bar Buckling in RC Columns Confined with SRG Jacketing
Previous Article in Special Issue
Digital Twin of Food Supply Chain for Cyber Exercises
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Analysis and Design of Direct Force Control for Robots in Contact with Uneven Surfaces

VTT Technical Research Centre of Finland Ltd., P.O. Box 1100, FI-90571 Oulu, Finland
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(12), 7233; https://doi.org/10.3390/app13127233
Submission received: 12 May 2023 / Revised: 12 June 2023 / Accepted: 15 June 2023 / Published: 16 June 2023
(This article belongs to the Special Issue Disruptive Trends in Automation Technology)

Abstract

:
Robots executing contact tasks are essential in a wide range of industrial processes such as polishing, welding, debugging, drilling, etc. Force control is indispensable in these type of tasks since it is required to keep the interaction force (between the robot and the environment/surface) within acceptable values. In this paper, we present a methodology to analyze and to design the force control system needed to regulate the force as close as possible to the desired value. The proposed methods are presented using a widely used generic contact task consisting of exerting a desired force on the normal direction to the surface while a desired velocity/position is tracked on the tangent direction to the surface. The analysis considers environments/surfaces with certain uneven characteristics, i.e., not perfectly flat. The uneven characteristic is studied using ramp or sinusoidal signals disturbing the position on the normal direction to the surface, and we present how the velocity on the tangent direction is related with the slope of the ramp or the frequency of the sinusoidal disturbance. Then, we provide a method to design the force controller that keeps the force error within desired limits and preserves stability, despite the uneven surface. Furthermore, considering the relation between the disturbance (ramp or sinusoidal) and the tangent velocity, we present a method to compute the maximum velocity for which the task can be executed. Simulations exemplifying and verifying the proposed methods are presented.

1. Introduction

Robots executing contact tasks are essential to automate plenty of manufacturing processes. Regulating the force produced during the interaction between the robot and the environment is critical. There are principally two approaches to regulate the force; one is called indirect force control, since the force is regulated through motion control, i.e., changes in the position error at the end-effector, and the second one is called direct force control, since force feedback is directly compared with a desired force to calculate the robot’s control input [1].
Direct force control is preferred when the application requires a precise regulation of the force. Additionally, direct force control is capable of accomplishing the contact task without damaging the environment and the robot itself [2]. However, the advantages of direct force control come at a price, since preserving stability is challenging, mainly because of the presence of unavoidable dynamics such as sensor dynamics, filters, and delays [3].
On the other hand, when direct force control techniques are implemented in industrial robots, one should design controllers that generate velocity or position inputs, since these are the standard inputs of industrial robots [4,5]. Admittance controllers are the ones having velocity/position as an output and force as an input [6]. Despite the fact that the implementation of admittance-type controllers has shown efficiency and efficacy [7], there exists a compromise between performance and stability during its design [8,9].
Recent research on force control has been focused in the design of Proportional-Integral-Derivative (PID) controllers that reach quickly the desired force with limited overshoot. For example, the authors in [10] present a force control system based on PID that ensures asymptotic convergence of the force error to zero with small overshoot and short settling time. In [11], a force control system is presented based on PID that keeps the force within the desired value despite uncertainty in the surface’s model. In [12], the authors analyze the effect of the surface’s stiffness in the force control, and they present a PID controller that reaches the desired force without overshoot. Furthermore, advanced control techniques have been recently applied to regulate force. An application to medical robotics in [13] presents a force controller based on sliding mode control that ensures convergence of the force error to zero in finite time. Data-driven control is used in [14] to present a data-driven force control that ensures global convergence of the error to a steady state. Notwithstanding the prominent results presented in the mentioned references, the velocity of the robot in the tangent direction (along the surface) has not been studied, although this velocity is important since it is related to the velocity at which the task can be executed. Furthermore, a quantitative approach to design the control gains that produces a specified tolerance error is hardly discussed. The mentioned methods (estimation of the velocity of the task and a quantitative design) are relevant to practical applications required to execute the task as fast as possible and to keep the force error within acceptable limits.
In this paper, we propose a methodology to analyze and to design the force control of a robot in contact with an uneven surface. The proposed methods are presented considering the general contact task of maintaining a desired velocity along the surface (in the tangent direction to the surface) while a desired force is applied on the normal direction to the surface. This contact task properly describes applications when the priority is to regulate the force in one direction, such as polishing and assembly tasks, as well as medical applications (see [15]).
We study admittance direct force controllers with Proportional-Integral-Derivative (PID) structure to have methods suitable for industrial robots allowing velocity/position inputs and to fit our methods with the industrially accepted PID controller.
Ramp and sinusoidal signals are used to model the uneven characteristics of the surface, and the relation between the disturbances and the velocity along the surface is presented. Since we are considering only the regulation of the force in the normal direction, the magnitude of the slope (values of frequency) is bounded to avoid steep slopes producing force in a different direction than the normal one.
Then, we propose a method to compute the controller considering the performance in terms of force error and attenuation of disturbances in the normal direction. Additionally, we include the gain margin analysis to estimate how much the control gain/magnitude can be modified without creating instability. In addition, the gain margin is used to predict how much uncertainty in the stiffness the system can tolerate. Furthermore, considering the proportional relation between the velocity along the surface, and the ramp magnitude (or frequency of the sinusoidal), we provide a method to estimate the maximum velocity at which the task can be executed. The proposed methods are validated via simulations. (Preliminary results linked with this paper were presented in [16]).
The structure of the paper is the following. Section 2 presents the problem statement. The methods of analysis and design are presented in Section 3. Section 4 contains the simulations, and the conclusions are presented in Section 5.

2. Problem Statement

Figure 1 presents the robot in contact with the uneven surface. The robot has to execute the following task: to exert a desired force f d in the normal direction (x direction) to the surface while a desired velocity v d is maintained along the surface (y direction).
During the execution of the task (see Figure 1), the following assumptions are considered. First, the end-effector of the robot is always in contact with the surface; the methods provided in this paper are not valid when the robot loses contact with the surface. Second, it is assumed that no forces are produced along the z-axis since the end-effector is moving along the y-axis. Third, the end-effector is in compliance with the surface in the x-direction. The compliance in the x-direction helps to direct most of the force produced by the curved surface to the x-direction; hence, the force along the y-axis is minimum and one can consider that the normal force is mainly defined by the force in the x-direction. Then, the interaction force is studied using the one-degree-of-freedom (1DOF) model presented in Figure 2, considering only the movement in the x direction [6].
The force exerted by the robot on the surface is described by the following elastic model:
f = K ( x x e )
where K > 0 is the accumulative stiffness of the tool plus the environment, x is the end-effector position, and the location of the surface in x e . The control objective is to design the robot’s input v that ensures the desired force f d is applied on the surface.
Considering the models in Figure 2 and Equation (1), the force control system presented in Figure 3 is used to study and to design the control v. The force control system is composed of the following blocks: G c ( s ) is the controller, G L P ( s ) describes the dynamics of a filter used to attenuate noise from force sensor measurements, and G T ( s ) corresponds to the delay produced by sensor–hardware communication. The block K corresponds to the stiffness. The block named R o b o t is the single-input single-output model of the robot, and the time-constant τ defines how fast the robot’s position x responds to the control input v. The signals f d , f, e = f d f , v, and x d represent the desired force, the measured force, the force error, the control signal, and a disturbance emerging in the position x, respectively.
The transfer functions of the force control system in Figure 3 are as follows.
G c ( s ) = K p + K d s + K i s
G L P ( s ) = 1 τ L P s + 1
G T ( s ) = e T s
where s is the Laplace variable, K p , K d , K i > 0 are control gains, τ L P is the time constant of the filter, and T is the time-delay value. The transfer functions and its parameters were already identified and presented in [17] by our research group. Note that the controller G c ( s ) is a direct force control, and it is similar to an admittance control since its input is a force and its output is a velocity.
Direct force control and admittance control have been studied and tested in industrial robots; however, during the adjustment of the gains, there exists an unavoidable compromise between performance and stability [8,9]. Furthermore, when delays and filters are included in the force control system (see Figure 3), these additional dynamics deteriorate the stability of the force control system [3]. Additionally, when disturbances emerge, the design of the gains should consider disturbance rejection as well as the stability of the system.
In this paper, we propose a method for the analysis and design of force control systems, such as the one in Figure 3, considering performance, stability margins, and robustness against disturbances. For the stability analysis, our method estimates how much the control magnitude should be modified before losing stability. Furthermore, using stability margins, we can estimate how much stiffness uncertainty the force control can handle. For the robustness analysis, we considered a disturbance ( x d ) on the robot’s position, i.e., the x direction. These disturbances represent the uneven nature of the surface, and then the performance of the disturbed system is studied in terms of the force error e, and a method is proposed to compute the control gains that keep the error within given limits and ensure acceptable stability margins.
Ramp and sinusoidal signals are used to disturb the system. The ramp value and the frequency of the sinusoidal signal are used to define the velocity at which the task is executed. Then, from the proposed design method, the maximum velocity at which the task can be executed is estimated.

3. Analysis and Design of the Force Control System

In this section, we present the analysis of the force control system in Figure 3, the design method to keep the force error within acceptable limits, and how to estimate the maximum velocity at which the task can be executed.

3.1. Disturbance Rejection

Consider the uneven characteristics of the surface, a trapezoid with slopes of magnitude M (see Figure 4a). Then, the disturbance x d is modeled using a ramp signal X d ( s ) = M s 2 with magnitude M, and s is the Laplace variable. Note that the ramp magnitude M is proportional to the velocity v y at which the task is executed. For example, when the robot executes a linear movement from point A to point B, the bigger the velocity v y , the bigger the magnitude M of the ramp in the x direction.
The performance of the force control system in Figure 3 is analyzed using the steady-state error e s s = lim s 0 s E ( s ) , where E ( s ) is the force error e in the Laplace domain; then
e s s = lim s 0 s K G ( s ) 1 + G c ( s ) K G ( s ) G L P ( s ) G T ( s ) X d ( s )
where G c = K p + K d s + K i s is the controller, G ( s ) = 1 s ( τ s + 1 ) is the transfer function of the robot, G L P ( s ) is the filter, G T is the transport delay, X D ( s ) is the external disturbance, and K is the stiffness.
Considering the ramp disturbance X d ( s ) = M s 2 , the control G c ( s ) = K p + K d s + K i s ensures zero steady-state error e s s [18]. However, the integral term K i s has a drawback since it produces a sluggish and oscillatory response.
On the other hand, when the controller is G c ( s ) = K p + K d s , the steady-state error is e s s = M K p , but it can be reduced by incrementing the control gain K p (or the control magnitude | G c ( s ) | ). In Figure 5, the curves for different values of e s s are presented. These curves are obtained from e s s = M K p using different ramp values and gains K p .
The curves in Figure 5 represent a design tool considering the disturbance ramp magnitude M (proportional to the velocity v y at which the task is executed) and force error via steady-state error. If the magnitude M is known/estimated, one can obtain the control gain K p that produces the steady-state error e s s presented in the curves, and vice versa, if a certain steady-state error e s s is desired, one can choose the gain K p producing this error.
Note than the stiffness value K does not appear in disturbance analysis presented in this section. However, the value of K matters when it is big since the stability of the force control system may be compromised. Furthermore, one should be careful when the gain K p is selected, since a big K p value may affect the stability too.

Time-Varying Disturbances

Another way to study the uneven characteristics of the surface is using sinusoidal disturbances x d ( t ) = sin ( ω t ) (see Figure 4b). In this case, the velocity v y at which the task is executed is proportional to the frequency ω of the disturbance in the x direction. For example, the faster the end-effector is moving on the surface from point A to point B, the higher the frequency ω of the sinusoidal disturbance. The proportionality relation depends on the wavelength λ of the sinusoidal, i.e., v y = λ ( ω / 2 π ) .
When a sinusoidal disturbance appears, the steady-state error e s s cannot be used to analyze the force error, and the analysis presented in Section 3.1 is not valid. However, one can find a relation between the magnitude of the time-varying disturbance and the control gain/magnitude.
Consider the following transfer function,
F ( s ) X d ( s ) = K G L P ( s ) G T ( s ) 1 + G c ( s ) G ( s ) K G L P ( s ) G T ( s ) ,
from the disturbance x d to f ( f d = 0 ). From [18], this transfer function can be approximated by F ( s ) X d ( s ) 1 G c ( s ) G ( s ) . Then, the disturbance X d ( s ) can be attenuated by increasing the magnitude of G c ( s ) , since the goal is to have a magnitude,
| F ( s ) | s = j ω = | X d ( s ) | s = j ω | G c ( s ) | s = j ω | G ( s ) | s = j ω ,
as close as possible to zero. Again, one should be aware of stability when the magnitude of the controller increases.
Note that the computation of the magnitude | F ( j ω ) | depends on the parameters of the controller G s , the dynamics of the robot G, and the frequency ω . Whenever the mentioned parameters are available, one can obtain curves similar to those presented in Figure 5; an example of the curves is presented in Section 4.

3.2. Stability Analysis

In this section, the relative stability analysis of the force control system in Figure 3 is performed. Then, we find how much the control gain/magnitude K p (also stiffness K) can be incremented without damaging stability.

3.2.1. Stability in Terms of K

The gain margin is computed using the open-loop transfer function L ( s ) . For the force control system in Figure 3, the transfer function L ( s ) is as follows (see [18]):
L ( s ) = K G c ( s ) G ( s ) G f ( s ) G d ( s ) .
Considering s = j ω , the gain margin is obtained using the magnitude of L ( j ω ) ,
| L ( j ω ) | = K | G c ( j ω ) | | G ( j ω ) | | G f ( j ω ) | | G d ( j ω ) | ,
where ω is the frequency associated with the frequency response of L ( s ) . Note that the magnitude | L ( j ω ) | is directly proportional to the gain K independent of the frequency ω .
From the definition of the gain margin [18], the gain margin is the biggest increment of magnitude | L ( j ω ) | that conserves stability. The condition for stability is | L ( j ω ) | < 1 , and this condition can be tested in the following way. First, a multiplicative gain K G M is added to | L ( j ω ) | , and second, K G M is increased until the stability condition is violated, i.e., K G M | L ( j ω ) | 1 [19]. The magnitude | L ( j ω ) | t e s t ,
| L ( j ω ) | t e s t = K G M K | G c ( j ω ) | | G ( j ω ) | | G f ( j ω ) | | G d ( j ω ) | ,
is used to check the gain margin, and the stability is ensured if | L ( j ω ) | t e s t < 1 . Note that the stability condition will be violated for certain K G M = K G M m a x producing | L ( j ω ) | t e s t = 1 , and the value of the gain margin will be K G M m a x .
One can observe that the term K G M K affects the whole magnitude | L ( j ω ) | t e s t . Therefore, when the gain margin K G M m a x is known, one can use K G M m a x to estimate the maximum increment/change in stiffness K that maintains the stability.

3.2.2. Stability in Terms of K p

For the computation of the gain margin in terms of K p , the stiffness K is considered constant and the frequency response G c ( j ω ) is divided in real and imaginary parts, G c ( j ω ) = K p + K d ω 2 K i ω j . Adding the multiplicative gain K G M to G c ( j ω ) , the magnitude | G c ( j ω ) | K G M is defined as
| G c ( j ω ) | K G M = K G M | G c ( j ω ) | = K G M K p + K G M K d ω 2 K G M K i ω j , = K G M K p + K d ω 2 K i ω j .
Note that the gain K G M is directly proportional to the control magnitude | G c ( j ω ) | K G M or directly proportional to each control gain K p , K d , and K i .
Using | G c ( j ω ) | K G M , the transfer function to test and compute the gain margin is
| L ( j ω ) | t e s t = K G M | G c ( j ω ) | K | G ( j ω ) | | G f ( j ω ) | | G d ( j ω ) | ,
where K G M represents an increment/change in the magnitude | G c ( j ω ) | . Since the stability condition is | L ( j ω ) | t e s t < 1 , the gain margin is the gain K G M = K G M m a x that produces | L ( j ω ) | t e s t = 1 . Therefore, the gain margin computation gives an estimate of how much one can modify the control gain/magnitude without producing instability.

3.3. Design Method

Considering the stability analysis presented in the preceding section and the design curve in Figure 5, one can observe a compromise between stability and error attenuation. Selecting a big value of control magnitude | G c ( j ω ) | might result in an acceptable force error but this magnitude may deteriorate the stability.
The proposed design method for the controller G c = K p + K d s is obtained, when one includes in the curves of Figure 5 the maximum value of magnitude/gain K G M m a x that preserves stability (see Figure 6). The set of gains K p presented in Figure 6 is selective since it considers only the gains K p that guarantee stability. The values of e s s corresponding to the gain K G M m a x K p are the minimum values one can have in the force error considering the disturbance magnitude M and the stability margin. Therefore, the curves in Figure 6 provide a better design method for the controller G c ( s ) compared with the curves in Figure 5.

Selecting Gains of G c Considering Stiffness K

From Equation (7), one can observe how the product of K and | G c ( j ω ) | affects the gain margin. Therefore, when the control gains in Equation (2) are selected/adjusted, one should consider the value of stiffness K in order to preserve the relative stability of the system.
Assume the stiffness K can be modified/adjusted (adding elasticity to the end-effector using a spring). Then, from Equation (7), the magnitude | L ( j ω ) | contains two adjustable terms (its parameters are at hand); the first one is the controller G c and the second one is the stiffness K.
If the goal is to preserve a desired gain margin, one should keep the magnitude | L ( j ω ) | as close as possible to its value associated with the desired gain margin. Therefore, when the control gains are adjusted (or the stiffness is adjusted), one should keep a balance between the magnitude of the controller G c and the value of stiffness K. For example, if the magnitude of G c increases, one should balance/compensate this change with a decrease in K to preserve the desired magnitude | L ( j ω ) | associated with the desired gain margin.
Therefore, in order to preserve a stable contact force, the following relations between the stiffness and the controller exist:
  • For a rigid surface/environment, a compliant controller is needed, i.e., K > > | G c | .
  • For a compliant surface/environment, a rigid controller is needed, i.e., K < < | G c | .

3.4. Estimation of the Maximum Velocity at Which the Task Is Executed

Assume e m a x is the maximum tolerable force error in the force control system in Figure 3. Then, all the errors e s s < e m a x are acceptable.
On the other hand, when one selects the maximum gain K G M m a x K p from Figure 6, this gain is the critical gain since it corresponds to the case | L ( j ω ) | t e s t = 1 . In practice, one should avoid having a critical gain, since the system may have an oscillatory response, and a small disturbance may cause instability. Therefore, the selection of the controller gain should be K p < K G M m a x K p .
Considering the maximum error e m a x and the recommended selection of the gain K p < K G M m a x K p , it is possible to obtain a more selective set of gains K p from Figure 6. In Figure 7, certain values for e m a x and K p < K G M m a x K p are presented. One can observe a selective set of gains K p defined by the limits e m a x and K p < K G M m a x K p . The mentioned region contains the set of gains that ensure an acceptable force error and a safer response, since K p is far from the critical gain. Additionally, there are curves corresponding to different values of M, and a maximum value M m a x can be obtained from the region. In Figure 7, M m a x = 1.5 M . Since M is proportional to the velocity at which the task is executed (see Section 3.1), the maximum velocity can be estimated from M m a x .

4. Simulations

Firstly, using the pidTuner of Matlab, we tuned three controllers G c ( s ) , a Proportional (P), Proportional-Derivative (PD), and Proportional-Integral-Derivative (PID) to havethe same settling time t s 0.8 seconds and overshoot of 15 % . The gains of the mentioned controllers are presented in Table 1.
For the simulation, the force control system in Figure 3 is built in Simulink, and the simulation is executed using the solver ode1(euler) with a fixed sampling time of 1 millisecond. The parameters of the force control system used in the simulation are τ = 0.05 , T = 0.008 , K = 3000 , and τ L P = 0.05 . We test a step input of 50 N at 30 s. Figure 8 shows the time response; one can see that the settling time and overshoot are similar but the PD controller is faster than P and PID.

4.1. Disturbance Rejection

Consider the controller G c = K p + K d s with the parameters of Table 1, and a ramp disturbance of magnitude M = 3.14 × 10 3 emerging at t = 20 s. Then, the simulation is performed, and Figure 9 presents the disturbance x d ( t ) and the force error e from the simulation. Note that the disturbance x d ( t ) produces a force error of e s s 0.74 [N]. This error corresponds with that estimated theoretically using M = 0.00314 and K p = 0.004211 , i.e., e s s 0.00314 0.004211 0.74 .
Considering the design curves of Figure 6, if we want to reduce the error e s s , we need to increment the gain K p . Then, increasing the gain K p to K p a = K p + 0.002 and K p b = K p + 0.004 , the simulation of the force control system using these gains is performed, and the resulting error is shown in Figure 9. One can observe that e s s is reduced when the value of K p is increased.

Time-Varying Disturbances

Considering a sinusoidal disturbance x d ( t ) = 0.01 sin ( 0.628 t ) emerging at t = 20 s, and the controller G c = K p + K d s + K i s with the gains in Table 1, the simulation of the force control system is performed. The resulting force error e is presented in Figure 10 for different values of control magnitude. One can observe that the error decreases when the gains of magnitude of G c ( s ) increase, as expected from Equation (6).

4.2. Stability

In this subsection, we compute the gain margin of the force control system in Figure 3. Figure 11 presents the Bode plot of the system with controller G c = K p + K d s and G c = K p + K d s + K i s . The gain margin is computed in the crossing of the magnitude Bode plot with zero decibels (see [18]); this intersection is indicated with an arrow in Figure 11. For the PD controller, the gain margin is equal to 11.1 dB, which is equivalent to 3.6 ( 10 ( 11.1 / 20 ) ) in magnitude. For the PID controller, the gain margin is equal to 16 dB, which is equivalent to 6.3 ( 10 ( 16 / 20 ) ) in magnitude. This gain margin represents the maximum value of the control gain (magnitude) that one can use without compromising the stability of the system. From the analysis presented in Section 3.3, the gain for the system with the PD controller is K G M m a x = 3.6 , and for PID, the magnitude is K G M m a x = 6.3 . From the design curves in Figure 5, the control gain K p can be increased until 3.6 times without losing stability when the PD controller is used.
Now, the simulation is executed with G c = K p + K d s , and two values of K p , i.e., K p 1 = 3 K p and K p 2 = 3.45 K p . The resulting force error e = f d f is presented in Figure 12a,b. One can observe that the higher the gain, the more oscillations in the force error e. Furthermore, a gain of K p 3 = 3.6 K p was tested, but these results are not presented in Figure 12, since this gain produces instability. Note that the simulation results correspond with the gain margin presented in Figure 11, since oscillations appear when the control gains are closer to the gain margin.
In accordance with Section 3.3, one can relate the gain margin shown in Figure 11 with the maximum value of stiffness that preserves stability. This value is K m a x K G M m a x K 3.6 K . Figure 12c,d present the simulation of the force control system with two different values of stiffness, K a = 3.2 K and K b = 3.45 K , where K = 3000 . The resulting force error e presents oscillations when K increases. For stiffness values higher than 3.5 K , the system lost stability. This unstable case is not presented in Figure 12 for visibility purposes. The simulation matches with the estimated gain margin, since oscillations/instability appear when the value of stiffness K approaches/reaches the gain margin.

4.3. Design Method

In Section 4.2, a gain margin of 3.6 was obtained. Considering a constant stiffness K, the maximum gain K p m a x that preserves stability is K p m a x 3.6 K p . Then, adding this maximum gain K p m a x 3.6 K p into the design curves in Figure 6, one can obtain the gain that keeps the error within desired values while preserving stability. Figure 13 shows the design curves, including the stability margin bound K p m a x 3.6 ( 0.004211 ) 0.0152 . The curves are obtained considering a value of M = 0.00314 .
The curves in Figure 13 can be used to find the control gain K p that gives a desired force error. Assume the magnitude of the disturbance is provided, for example, 4 M . Then, if one selects a control gain of K p = 0.013 , the expected steady-state error is e s s 0.96 N (see the curve 4 M in Figure 13).
Considering the disturbance of magnitude 4 M and the controller G c = K p + K d s with K p = 0.013 , the force control system is simulated. Figure 14 presents the disturbance and the resulting force error e. Note that the force error e in Figure 14, when K p = 0.013 , corresponds to the value of e 1 in the curves of Figure 13.
Since K p = 0.013 is close to K p m a x , a small increase in K p can cause oscillations and instability in the system. The presented technique can be combined with root-locus analysis to make an adjustment of K p to have a desired damping. Figure 15 presents the root-locus of the force control system, computed from the open-loop transfer function L ( s ) in Equation (7) with G c = K p + K d s and using a second-order Padé approximation of G T ( s ) , i.e., G T ( s ) = N r ( s L ) D r ( s L ) , where N r ( s L ) = k = 0 r ( 2 r K ) ! k ! ( r k ) ! ( s T ) k , D r ( s L ) = k = 0 r ( 2 r K ) ! k ! ( r k ) ! ( s T ) k , T is the value of the delay, and r is the order of the approximation (see [18]). Figure 15 contains three markers showing the critical gain value 6.3 (similar to the gain margin), the gain 3.08 corresponding to K p = 0.013 , and the gain value 0.231 corresponding to a damping factor of 0.7 .
Figure 14 presents the simulation when K p is adjusted by the gain value 0.231 , i.e., K p = 0.231 × 0.004422 = 9.9 × 10 4 . One can see that the force error e has a damped response when K p = 9.9 × 10 4 but the value of e is bigger than the case when K P is close to the gain margin value. Therefore, one can observe the compromise between force regulation and stability.

Time-Varying Disturbances

The design curves, such as those in Figure 5, for the case of time-varying disturbance are computed as follows. Considering the disturbance x d ( t ) = 0.01 sin ( 0.628 t ) and the controller G c = K p + K d s + K i s with the gains presented in Table 1, Equation (6) can be used to obtained the curves presented in Figure 16. These curves are computed for a fixed frequency of 0.628 and different sinusoidal amplitudes (from 0.005 to 0.08). The horizontal axis represents the controller magnitude, and the vertical axis represents the deviation of the force from its desired value.
The simulation of the force control system with disturbance x d ( t ) = sin ( 0.628 t ) for different amplitudes (0.01, 0.02, 0.04, and 0.08) is performed, and the results are presented in Figure 17. Note that the deviation of the force f with respect to the reference f d = 50 N corresponds with the deviation predicted by the curves in Figure 16 for the case K G M = 1 , since the control magnitude was not changed. Specifically, Figure 16 predicts an approximated deviation of 0.25, 0.5, 1, and 2, when a sinusoidal disturbance with magnitude 0.01, 0.02, 0.04, and 0.08, respectively, appears in the system. This prediction matched with the simulation results presented in Figure 17; see the zoom-in of the figure.
When the amplitude of the sinusoidal disturbance is fixed, one can obtain curves similar to those presented in Figure 16 for several frequency values. Figure 18 presents the mentioned curves, when the sinusoidal disturbance has an amplitude of 0.01 and different frequency values. Then, whenever the amplitude and frequency are known, the curves in Figure 18 can be used to tune the control magnitude in accordance with the desired force error.
Figure 19 presents the results of the simulation of the force control system with the sinusoidal disturbance of amplitude of 0.01 and different values of frequency. One can see that the simulation results matched with the predicted force error of the design curves in Figure 18. For a control magnitude of one, i.e., K G M = 1 , the predicted force errors are 0.5, 1, 3.5, and 10 [N], when a disturbance with frequency 0.628, 1.25, 2.5, and 5 rad/s, respectively, emerges. These force errors are similar to the ones obtained in the simulation presented in Figure 19; see the zoom-in. Note that the gain margin of 6.3 (see Figure 11) must be considered during the selection of the control magnitude K G M in the curves presented in Figure 16 and Figure 18.

4.4. Maximum Speed along the Surface

The maximum speed at which the task can be executed is computed as follows. Consider that the maximum force error tolerated by the system is e m a x = 3 N, and controller gain K p = 0.005 (close to the one in Table 1). Then, locating these values in the design curves of Figure 13, one obtains a region containing the possible values of disturbance magnitude M that can be compensated (see Figure 20). The maximum value of M is the one located in the upper right corner of the rectangular region delimited by e m a x = 3 N and K p = 0.005 . Note that the maximum value is 4 M . Then, the maximum speed at which the task can be executed is computed as 4 M = 4 × 0.00314 = 0.0126 m/s.
For the case of time-varying disturbances, the maximum speed at which the task can be executed is computed using the curves presented in Figure 18. Considering a maximum error of e m a x = 3 N and a selection of control magnitude K G M = 1.5 , the maximum velocity can be estimated with the frequency value associated with the closest curve to the upper right corner of the rectangular region delimited by e m a x = 3 N and K G M = 1.5 . In Figure 21, this frequency value is 2.5 rad/s. Then, assuming a wavelength λ = 0.1 m and considering the maximum frequency of 2.5 rad/s, the maximum velocity is 0.1 × ( 2.5 / 2 π ) = 0.0199 m/s.

5. Conclusions

The methods of analysis and design presented in this paper are useful to keep the force error within desired limits while guaranteeing stability. Furthermore, the presented design curves can be used to estimate the maximum velocity at which the task can be executed. Since this method is model-based, its application requires certain knowledge about the disturbances acting on the system, such as maximum magnitude and frequency. However, these parameters might be available in practical applications or not difficult to estimate. The simulations presented in the paper verify the effectiveness of the proposed methods.

Author Contributions

A.R. and T.H. contributed equally to this paper. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Business Finland and VTT Technical Research Centre of Finland Ltd.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

No new data were created or analyzed in this study. Data sharing is not applicable to this article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics: Modelling, Planning and Control; Springer: London, UK, 2009. [Google Scholar]
  2. Suomalainen, M.; Karayiannidis, Y.; Kyrki, V. A survey of robot manipulation in contact. Robot. Auton. Syst. 2022, 156, 104224. [Google Scholar] [CrossRef]
  3. Balachandran, R.; Jorda, M.; Artigas, J.; Ryu, J.H.; Khatib, O. Passivity-based stability in explicit force control of robots. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 386–393. [Google Scholar] [CrossRef] [Green Version]
  4. Mariotti, E.; Magrini, E.; Luca, A.D. Admittance Control for Human-Robot Interaction Using an Industrial Robot Equipped with a F/T Sensor. In Proceedings of the 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2019; pp. 6130–6136. [Google Scholar] [CrossRef]
  5. Gutierrez-Giles, A.; Evangelista-Hernandez, L.U.; Arteaga, M.A.; Cruz-Villar, C.A.; Rodriguez–Angeles, A. A Force/Motion Control Approach Based on Trajectory Planning for Industrial Robots With Closed Control Architecture. IEEE Access 2021, 9, 80728–80740. [Google Scholar] [CrossRef]
  6. Keemink, A.Q.; van der Kooij, H.; Stienen, A.H. Admittance control for physical human–robot interaction. Int. J. Robot. Res. 2018, 37, 1421–1444. [Google Scholar] [CrossRef] [Green Version]
  7. Park, J.H. Compliance/Impedance Control Strategy for Humanoids. In Humanoid Robotics: A Reference; Goswami, A., Vadakkepat, P., Eds.; Springer: Dordrecht, The Netherlands, 2016; pp. 1–20. [Google Scholar] [CrossRef]
  8. Zou, W.; Chen, X.; Li, S.; Duan, P.; Yu, N.; Shi, L. Robust Admittance Control for Human Arm Strength Augmentation with Guaranteed Passivity: A Complementary Design. IEEE/ASME Trans. Mechatron. 2022, 27, 5936–5947. [Google Scholar] [CrossRef]
  9. Griffiths, P.G.; Gillespie, R.B.; Freudenberg, J.S. A Fundamental Linear Systems Conflict Between Performance and Passivity in Haptic Rendering. IEEE Trans. Robot. 2011, 27, 75–88. [Google Scholar] [CrossRef]
  10. Li, J.; Guan, Y.; Chen, H.; Wang, B.; Zhang, T.; Liu, X.; Hong, J.; Wang, D.; Zhang, H. A High-Bandwidth End-Effector with Active Force Control for Robotic Polishing. IEEE Access 2020, 8, 169122–169135. [Google Scholar] [CrossRef]
  11. Li, J.; Guan, Y.; Chen, H.; Wang, B.; Zhang, T. Robotic Polishing of Unknown-Model Workpieces With Constant Normal Contact Force Control. IEEE/ASME Trans. Mechatron. 2023, 28, 1093–1103. [Google Scholar] [CrossRef]
  12. Pérez-Ubeda, R.; Zotovic-Stanisic, R.; Gutiérrez, S.C. Force Control Improvement in Collaborative Robots through Theory Analysis and Experimental Endorsement. Appl. Sci. 2020, 10, 4329. [Google Scholar] [CrossRef]
  13. Feng, Z.; Liang, W.; Ling, J.; Xiao, X.; Tan, K.K.; Lee, T.H. Precision Force Tracking Control of a Surgical Device Interacting with a Deformable Membrane. IEEE/ASME Trans. Mechatron. 2022, 27, 5327–5338. [Google Scholar] [CrossRef]
  14. Fan, J.; Jin, L.; Xie, Z.; Li, S.; Zheng, Y. Data-Driven Motion-Force Control Scheme for Redundant Manipulators: A Kinematic Perspective. IEEE Trans. Ind. Inform. 2022, 18, 5338–5347. [Google Scholar] [CrossRef]
  15. Li, H.; Nie, X.; Duan, D.; Li, Y.; Zhang, J.; Zhou, M.; Magid, E. An admittance-controlled amplified force tracking scheme for collaborative lumbar puncture surgical robot system. Int. J. Med. Robot. Comput. Assist. Surg. 2022, 18, e2428. [Google Scholar] [CrossRef] [PubMed]
  16. Rosales, A.; Heikkilä, T. On Force Control for Robot Manipulators in Contact with Uneven Planar Surfaces. In Proceedings of the 2022 18th IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications (MESA), Taipei, Taiwan, 28–30 November 2022; pp. 1–6. [Google Scholar] [CrossRef]
  17. Ahola, J.M.; Koskinen, J.; Seppälä, T.; Heikkilä, T. Development of Impedance Control for Human/Robot Interactive Handling of Heavy Parts and Loads. In Proceedings of the 2015 ASME/IEEE International Conference on Mechatronic and Embedded Systems and Applications, Boston, MA, USA, 2–5 August 2015. [Google Scholar] [CrossRef]
  18. Dorf, R.; Bishop, R. Modern Control Systems, 12th ed.; Prentice Hall: Hoboken, NJ, USA, 2011. [Google Scholar]
  19. Rosales, J.A.; Shtessel, Y.; Fridman, L. Phase and Gain Margins in Systems with SMC/HOSM. In Proceedings of the American Control Conference 2012, Montreal, QC, Canada, 27–29 June 2012. [Google Scholar]
Figure 1. The contact task. v is the velocity in the normal direction, and v y is the velocity along the surface.
Figure 1. The contact task. v is the velocity in the normal direction, and v y is the velocity along the surface.
Applsci 13 07233 g001
Figure 2. The one-degree-of-freedom interaction force model.
Figure 2. The one-degree-of-freedom interaction force model.
Applsci 13 07233 g002
Figure 3. Block diagram of the force control system.
Figure 3. Block diagram of the force control system.
Applsci 13 07233 g003
Figure 4. The uneven characteristics of the surface. (a) Ramp shape and (b) sinusoidal shape.
Figure 4. The uneven characteristics of the surface. (a) Ramp shape and (b) sinusoidal shape.
Applsci 13 07233 g004
Figure 5. Curves of steady-state error e s s in terms of control gain K p and ramp value M.
Figure 5. Curves of steady-state error e s s in terms of control gain K p and ramp value M.
Applsci 13 07233 g005
Figure 6. Design method: steady-state error e s s in terms of control gain K p and ramp value M  K p considering gain margin.
Figure 6. Design method: steady-state error e s s in terms of control gain K p and ramp value M  K p considering gain margin.
Applsci 13 07233 g006
Figure 7. Curves including maximum tolerable error e m a x and recommended K p < K G M m a x K p .
Figure 7. Curves including maximum tolerable error e m a x and recommended K p < K G M m a x K p .
Applsci 13 07233 g007
Figure 8. Simulation results: force f with P, PD, and PID.
Figure 8. Simulation results: force f with P, PD, and PID.
Applsci 13 07233 g008
Figure 9. Force error e s s in presence of ramp disturbance and disturbance x d ( t ) .
Figure 9. Force error e s s in presence of ramp disturbance and disturbance x d ( t ) .
Applsci 13 07233 g009
Figure 10. Force error e s s in presence of sinusoidal disturbance x d ( t ) = 0.01 sin ( 0.628 t ) and disturbance x d ( t ) .
Figure 10. Force error e s s in presence of sinusoidal disturbance x d ( t ) = 0.01 sin ( 0.628 t ) and disturbance x d ( t ) .
Applsci 13 07233 g010
Figure 11. Bode plot and stability margins.
Figure 11. Bode plot and stability margins.
Applsci 13 07233 g011
Figure 12. Force error e = f d f with PD controller. (a,b) The control gain K p increases. (c,d) The stiffness K increases.
Figure 12. Force error e = f d f with PD controller. (a,b) The control gain K p increases. (c,d) The stiffness K increases.
Applsci 13 07233 g012
Figure 13. Design method: steady-state error e s s in terms of control gain K p and ramp value M, considering gain margin.
Figure 13. Design method: steady-state error e s s in terms of control gain K p and ramp value M, considering gain margin.
Applsci 13 07233 g013
Figure 14. Force error e s s in presence of ramp disturbance and disturbance x d ( t ) .
Figure 14. Force error e s s in presence of ramp disturbance and disturbance x d ( t ) .
Applsci 13 07233 g014
Figure 15. Root-locus analysis computed with L ( s ) in Equation (7). Bottom part: zoom-in around the origin.
Figure 15. Root-locus analysis computed with L ( s ) in Equation (7). Bottom part: zoom-in around the origin.
Applsci 13 07233 g015
Figure 16. Curves of steady-state error e s s in terms of control gain K p and sinusoidal amplitude.
Figure 16. Curves of steady-state error e s s in terms of control gain K p and sinusoidal amplitude.
Applsci 13 07233 g016
Figure 17. Simulation of the force control system: sinusoidal disturbance with variable amplitude.
Figure 17. Simulation of the force control system: sinusoidal disturbance with variable amplitude.
Applsci 13 07233 g017
Figure 18. Curves of steady-state error e s s in terms of control magnitude K G M and sinusoidal frequency.
Figure 18. Curves of steady-state error e s s in terms of control magnitude K G M and sinusoidal frequency.
Applsci 13 07233 g018
Figure 19. Simulation of the force control system: sinusoidal disturbance with variable frequency.
Figure 19. Simulation of the force control system: sinusoidal disturbance with variable frequency.
Applsci 13 07233 g019
Figure 20. Computing the maximum speed using the curves of steady-state error e s s in terms of control gain K p and ramp value M.
Figure 20. Computing the maximum speed using the curves of steady-state error e s s in terms of control gain K p and ramp value M.
Applsci 13 07233 g020
Figure 21. Computing the maximum speed using the curves of steady-state error e s s in terms of control magnitude K G M and disturbance frequency.
Figure 21. Computing the maximum speed using the curves of steady-state error e s s in terms of control magnitude K G M and disturbance frequency.
Applsci 13 07233 g021
Table 1. Control gains.
Table 1. Control gains.
K p K d K i t s Overshoot
P0.002229000.88 s14.8% (7.4 N)
PD0.0042110.00111100.71 s14.4% (7.2 N)
PID0.00539470.00051540.014110.88 s15.4% (7.7 N)
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Rosales, A.; Heikkilä, T. Analysis and Design of Direct Force Control for Robots in Contact with Uneven Surfaces. Appl. Sci. 2023, 13, 7233. https://doi.org/10.3390/app13127233

AMA Style

Rosales A, Heikkilä T. Analysis and Design of Direct Force Control for Robots in Contact with Uneven Surfaces. Applied Sciences. 2023; 13(12):7233. https://doi.org/10.3390/app13127233

Chicago/Turabian Style

Rosales, Antonio, and Tapio Heikkilä. 2023. "Analysis and Design of Direct Force Control for Robots in Contact with Uneven Surfaces" Applied Sciences 13, no. 12: 7233. https://doi.org/10.3390/app13127233

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