## 3 Inner/Outer Control Loops  
Among the main benefits of the force control with inner/outer loops are that the dynamics and kinematics of the robot are included through the inner loop. In addition, this control is easy to implement because only the outer control loop must be regulated. Also, sometimes, this control strategy is the only possible way to perform a custom force control. On the other hand, the inner/outer loop has some disadvantages. There are limitations in the robot command set--for example, some robots do not have velocity commands. There is a lack of information about the inner loop, control type, and control parameters. There is no possibility to access the input of the torques directly, which makes it impossible to implement a force control in a robot that applies inverse dynamic methods [6; 9; 31]. The stiffness of the environment is a very important factor in the performance of the interaction tasks. Therefore, it is necessary to know this parameter to have better force control. The sampling period of the inner loop, established initially for position control, could be too slow for force control. Some functions necessary for control (e.g., the Jacobian matrix) cannot be implemented using the set of commands. Due to the sampling period, if the external loop is implemented through an external computer, there will be communication delays. The general block schemes of the typical configurations of inner/outer loops, with an inner position loop and an inner velocity loop, are shown in Figure 1. The force of environment \(f_{e}\) measured with the force sensor is compared with the desired force \(f_{d}\). After that comparison, force error \(e_{f}\) is generated. This error is used by the force controller to produce the reference of absolute position \(x_{f}\) (Figure 1a), incremental position \(\Delta x_{f}\) (Figure 1b), or velocity \(\dot{x}_{f}\) (Figure 1c). In the three schemes, it has been assumed that the internal controller compensates nonlinearities of the process. In the diagrams, the only difference between position and velocity lies in the integrator, which is not included in the inner loop for the velocity controller. However, there are crucial differences not reflected in the graphs. The parameters of the controllers can differ for position and velocity control. Thus, it could be necessary to implement different external loops depending on the inner controller. Also, the stiffness matrix is not the same in the three cases. The external force loops are not limited by the set of motion commands of the robot. In recent decades, many authors proposed several types of general algorithms for outer loops. Table 1 shows some of the most relevant, where \(u\) is the control action applied over the inner loop, \(f_{d}\) and \(f\) are the reference and measured force, respectively. \(\dot{f}_{d}\) and \(\dot{f}\) are the reference and measured derivative force, respectively. \(K_{pf}\), \(K_{df}\), and \(K_{df}\) are the gain matrices of the proportional, derivative, and integral control,  
Figure 1: Force control with inner motion loops (**a**) with inner absolute position loop, (**b**) with inner incremental position loop, and (**c**) with inner velocity loop. in this order. \(K_{\text{\emph{ref}}}\) is the gain matrix of the velocity feedback damping, \(\dot{\mathbf{x}}\) is the cartesian velocity, and \(\mathbf{F}\) is the feedforward action. As can be read in [PERSON] and [PERSON] [21], PD and PID controls are usually replaced by a PV or PIV controls due to the high noise produced by the force sensor, which makes the use of a derivative control impracticable. As it is known from control theory, the integral control action guarantees zero error if the system is stable. However, it brings some problems like potential stability loss, wind-up, and slow convergence. Additionally, in force control, if the sampling period is slow, the integrator does not eliminate the error, as it will be demonstrated in the experimental part of this paper.