## 1 Introduction  
In the next few years, a significant increase in the number of industrial robots is expected. The prediction of the International Federation of Robotics (IFR) [1] is that between 2020 and 2022, nearly two million new industrial robots will be installed in factories around the world. However, despite this high demand, the robots are not useful for many manufacturing tasks today--in particular, those found in small and medium enterprises. A goal for the next generation of smart factory floors is to bring humans and robots closer together, working efficiently and collaborating safely [2]. Commonly, industrial robots are used in applications of low contact forces, such as material handling, welding, assembly, and painting. Nevertheless, in the last few years, industrial robots have been used in many applications of high interaction, such as milling, drilling, threading, and cutting. Also, they have been used to perform surface finish tasks such as grinding, brushing, polishing, and deburring [3]. On the other hand, the use of collaborative robots (cobots) has increased in recent years. The high productivity, flexibility, and quality of cobots, together with their low cost and high levels of safety, making them a perfect alternative in interaction tasks. However, the disadvantages of these robots are their lower stiffness compared with traditional ones. Their stiffness is lower because their joints usually contain harmonic drives. These have a safe and reliable power transmission with high reduction and low weight. However, they add more elasticity to the joints of the robot. The high force produced in the contact, combined with the low stiffness, generates deflections in the end effector, causing position errors and vibrations [4; 5]. In the last few decades, many studies have been carried out in the area of force control using robots with elastic joints. One of the first relevant works [6] uses a corrective control for the singular perturbation model and the integral manifold technique to develop an inner/outer control. Where the inner loop is linearizing feedback control, and the outer loop can be implemented with the typical rigid robot force controls, as impedance control or hybrid position/force control. In the articles of [PERSON] et al. [7] and [PERSON] et al. [8], the authors use the joint elastic torques to decouple the joint actuators and perform an impedance force control. The works in [PERSON] et al. [9], [PERSON] [10] and [PERSON] et al. [11] use a torque-controlled system to make a hybrid position/force control. Finally, a sliding mode control, adaptive control, and robust control have also been used as a solution to force control [12; 13; 14; 15]. These techniques, in general, assume that the dynamic models of elastic joint robots are precisely known. Also, they assume the user can access the torques of the motors, which is not usually the case in commercial robots. Besides, the desired trajectory must be derivable at least four times, and the acceleration of the robot must be measured. However, in many commercial robots, the acceleration and the dynamic parameters cannot be obtained. Other researchers have developed force controllers without knowledge of dynamics, such as the works found in [PERSON], [PERSON] et al. [16] and [PERSON], [PERSON] et al. [17]. Nevertheless, the robot control with elastic joints requires measurements of the whole state of the system as the motor side angles, the link side angles, and the torque of the joints. These measures are difficult to get them in a commercial robot. Commonly, commercial manipulators do not allow direct access to the actuator torques; therefore, a torque-based control cannot be used. However, most commercial manipulators have built-in position controllers. Some also have the possibility of velocity regulation. In these cases, it is possible to achieve a force control by using inner/outer controllers that consists of an inner position/velocity loop plus an outer force control loop.