Abstract
Industrial manipulators have multidisciplinary applications. The use of industrial manipulators has increased rapidly, and they are more refined in many applications due to advances such as fast response time, high precision, high speed motions and a high level of performance. Most industrial manipulators are position controlled; usually vision and force sensors are not integrated in most commercial industrial robots. Therefore in order to use industrial manipulators for delicate tasks, the addition of force and vision sensing mechanisms is required to successfully automate these tasks, and to enable robots to avoid high contact forces while working in applications that require contact with environments. In this paper, an optical tracking device and a force torque sensor were integrated into a position controlled industrial manipulator to operate in unknown inclined planes. In addition, two types of controllers are presented to control the interaction force. The control techniques are admittance control and fuzzy logic control. The results show the capability of the presented controllers to successfully monitor the interaction force while tracking the position of a passive marker moved by a human operator. The force error using the admittance controller is found to be in the range of ±0.75 N. The fuzzy logic controller on the other hand produces less overshoot relative to the admittance controller, but a higher error of ±1.5 N.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Industrial manipulators are commonly used in a variety of applications, most of which requiring contact between the manipulator and the environment. Such contact necessitates a robust control of the interaction force, in light of unknown geometry and characteristics of the environment. In order to control the contact force between the industrial manipulator and the environment, the industrial manipulator should be able to sense the contact force. Generally speaking, there are two kind of industrial manipulators; torque controlled and position controlled. The majority of the commercial industrial manipulators are programmed using a position control. In this control mode, the manipulator’s end-effector follows a prescribed path which is programmed before run time. However, in many applications such as chest surgery, the cutting path is undefined and it depends on many parameters such as the surgeon’s hand movement and the shape of the patient’s chest. In these cases, force and position control are required instead of controlling a predefined trajectory only. Moreover, in these applications the predefined trajectory which is dependent on the surgeon’s hand movement is always tangential to the chest while the force is perpendicular. Thus, force and position control should be applied in unison.
In the robotics field, solving real time force control problems is still a growing field. Many of the force control techniques are complex and robot dynamic should be fully modeled and understood to apply these advanced approaches. The environment characteristics also need to be understood to move a robot with a constant contact force. Robots force control has been studied for many years. Many schemes were introduced, but most of them are not applicable for position controlled industrial manipulators. Position controlled manipulators have closed controllers; therefore accessing joint variables is not possible. Due to limitations of position control, many of the advanced force control techniques (Hogan 1985; Raibert and Craig 1981; Khatib 1987; Whitcomb et al. 1996) are not applicable without any modification to the controller. Providing torque for position controlled manipulators is not applicable. Therefore, the outer force feedback loop is used to close the inner motion control loop and obtain the manipulator desired position that maintains the required contact force, which is known as position based force control (Volpe and Khosla 1993). Many control schemes were introduced to find the relation between the interaction force and the displacement. Bosheng et al. (2013) used Recursive Least Squares algorithm and fuzzy logic control to achieve the required position and contact force. Hogan (1985) modeled the environment as mechanical impedance that contains a virtual mass, spring and damper. The force feedback is used then with the impedance controller to adjust the robot end-effector position and contact force. Using this model, the end-effector position depends not only on a predefined input, but also on the dynamic characteristics of the contact force (Kang et al. 2009).
As mentioned before, the majority of the force control methods are difficult to apply to position controlled industrial manipulators due to three core reasons:
-
1.
In position controlled industrial manipulators, it is difficult to access the joint torques. Therefore, torque feedback is not applicable.
-
2.
The output parameter in the majority of the discussed force techniques is torque while the input to the position controlled industrial manipulator is a position.
-
3.
The majority of the discussed force techniques depend on robot dynamic model. Therefore, any inaccurate modeling might result in failure during the control process.
The integrated system, on the other hand, is composed of different components connected using different types of connectors. Hence, the controller should easily work in real-time in order to reduce latency. Based on these limitations, and to accomplish any given task correctly (without delay); a simple approach that lets the manipulator work in real-time is required. Therefore, two types of controllers (the admittance and the fuzzy logic controllers) are presented to control the interaction force.
2 Force control algorithms
2.1 Admittance controller
As found in robot force control literature, admittance and impedance control are usually used interchangeably. However, the aim of the controller in both cases is to regulate the dynamic behavior between robot manipulator motion and the force exerted on the environment (Hogan 1985; Kikuuwe 2014; Ugurlu et al. 2015). By knowing the position, speed and acceleration of all joints; the impedance controller aim is to calculate the corresponding force. The aim of the admittance control, on the other hand, is to find the position corresponding to the given contact force. In other words, the output of the impedance controller is force, while the output is position in the admittance control scheme. As a result, admittance control is more useful and widely used in industrial robots since most industrial robots have a position interface. The desired mechanical admittance for the manipulator end-effector is the relation between the velocity and resulting force. In the frequency domain, it is given by:
where Md, Kd and Dd represent the virtual mass, stiffness and damping coefficients respectively. Z represents the Cartesian position in the vertical z direction and F is the resultant normal force. Using the contact force reading at each sample time k, the increment displacement in the z direction is calculated in the discrete time domain as following:
where:
Fd and Fa represent the desired and actual force respectively, at time step k. Ts is the system sampling time.
The admittance controller is used to control the force and diminish the error to zero. However, since the working environment is unknown, a feed-forward control is required to compensate the error that comes from the tracking device and the unknown geometry of the environment. As a result, the total incremental input to the robot position controller is ∆Zt and given by Eq. (6) below:
∆Zf represents the increment from the feed-forward controller and ∆Zα the increment due to the admittance controller. The block diagram of the admittance controller is shown in Fig. 1. The stiffness gain was found using Hooke’s law. After contact, the robot was commanded a small increment, then a resultant force was calculated. Finally, by trial and error, the tuning of the mass and damping gains was achieved.
2.2 Fuzzy logic controller
Simplicity in controller design is always desired, especially in the systems that the accuracy and fast response time are required. Fuzzy logic control (FLC) is one of the best solutions to these cases due to its simplicity and easy implementation. FLC was first introduced and implemented in 1974, to design a controller for the complex and nonlinear systems where the relationship between the input and output parameters is difficult to model analytically (Mamdani 1974). FLC is widely used (Lian 2014; Castillo et al. 2012) and it solves real problems. FLC is implemented with the general form shown in Eq. (7).
where UPID is the output of the fuzzy logic controller and e(t) is the error signal at time t. kp, ki and kd represent proportional, integral and derivative gains respectively. It is difficult however to remove steady state error using proportional derivative (PD) FLC; in addition, it is sensitive to noise. Therefore, proportional integral (PI) FLC is more suitable for our application, and it is also simple to implement in real-time to obtain fast response. The general form for a conventional FLC-PI, follows the following form:
By differentiating Eq. (8) and rewriting it in the discrete time domain we obtain:
UPI is the output of the fuzzy logic controller which represents the input increment in the z direction for the position controlled manipulator. The input fuzzy variables are error e(k) and error variation de(k) at a sample interval of k. They are calculated using Eqs. (10) and (11) respectively.
Fd and Fa are the desired and actual forces respectively, at time step k. Finally, the output of the fuzzy logic controller was scaled by a constant control gain km. The block diagram of the controller is shown in Fig. 2 below:
The Matlab fuzzy logic toolbox was used to implement a Mamdani type fuzzy PI controller. The control variables have seven labels: positive large (PL), positive medium (PM), positive small (PS), Zero, negative large (NL), negative medium (NM), and negative small (NS). All of the control variables have the same range which is defined between −1 and +1. The membership function is shown in Fig. 3. The rule base approach that is shown in Table 1 was adopted in a similar way to (Li and Gatland 1995).
3 Experimental setup
3.1 System components
The main architecture of the system is shown in Fig. 4. The system consists of:
-
1.
Four degree of freedom (DOF) SCARA Epson manipulator equipped with an RC− 180 controller. The controller communicates with the Epson RC+ 5 software installed on the main workstation using a USB port. However, since the manipulator needs to follow an external position signal that is sent from the optical tracking device, there is a need to establish a TCP/IP connection to continuously feed the RC+ 5 software with the position of the tracking system.
-
2.
ATI Multi-Axis Gamma force-torque sensor is used to measure forces and corresponding torques. The sensor communicates with the workstation using RS232 port.
-
3.
A Polaris Vicra optical tracking device is used to measure the 2-D position of a rigid body consisting of four retro reactive passive markers. The Polaris Vicra communicates with the workstation PC using an RS232 port. The Polaris tracking device is mounted in an overhead position to ensure it maintains ideal conditions to keep the rigid body in its line of sight.
-
4.
Main workstation: by communicating with all systems, the workstation is used to control the whole process.
-
5.
A square piece of wood with different inclined angles is used as the working object, i.e. (environment).
MATLAB is installed on the main PC workstation to control the entire process. The main workstation connects with the different systems using a variety of connectors. After getting all of the required parameters from the different systems, the controller output is fed to the manipulator controller.
3.2 Task description
The actual manipulator was programmed to contact with the environment (a square piece of wood with different inclined angles) at the first step. After contacting the environment, MATLAB keeps reading the desired XY position from the position tracking device and then calculates the ∆Z increment based on the force sensor readings, and finally feeds it to the manipulator controller. The manipulator then moves to the desired position while keeping the required contact force with the environment. The manipulator position controller will allows the end-effector to move smoothly from the initial position (Xi, Yi) to the desired position (Xf, Yf) that is received from the tracking system. However, interrupting the motion or the manipulator is not possible while executing movement commands. Since the environment is unknown and the robot needs to be adjusted in the Z direction continuously, there is a need to change the final path in real-time based on the force reading and tracking device. To implement this successfully in real-time, the total distance was divided into sections with a length of ∆l = 10 mm. In both control techniques the X and Y trajectories in real-time should follow the modified programmed path (Lange et al. 2010) due to the unknown environment. The flowchart for the process is shown in Fig. 5.
The Nyquist sampling theorem states that the sampling frequency has to be at least twice that of the maximum frequency of the input signal (as known as the Nyquist Frequency). In our system, the manipulator is attempting to follow human hand motion, which operates at frequency less than 4.5 Hz (Xiong and Quek 2006). Based on the technical specifications for the Polaris tracking device, a sampling frequency of 20 Hz can be achieved. Thus the Nyquist criterion is met and the tracking system is capable of capturing hand motion.
4 Result and discussion
In the experimental part, the manipulator velocity in X and Y directions was set to 10 mm s−1. The desired force Fd in both control schemes was set to 10 N. The control parameters for both controllers are shown in Table 2.
As shown in Figs. 6 and 7, the admittance controller allows the robot to continue sliding along the inclined plane with an average normal contact force of 10 N. Using this control strategy, the error is mitigated to approximately ±0.75 N. The damping coefficient could be further tuned in order to reduce the overshoot, though at the cost of a slower overall system response. The amount of overshoot, however, is tolerable and having fast system response is more advantageous. The final destination (Xf, Yf) that was read from the Polaris Vicra optical tracking device was approximately (35, 0) mm. Referring to Fig. 6, which shows the end-effector position versus time, the final destination was reached while keeping the desired normal force.
Referring to Fig. 8, the fuzzy logic-PI controller produces less overshoot relative to the admittance controller, but a higher error (approximately ± 1.5 N). To compare the two controllers with respect to the input position, the final destination (Xf, Yf) that was read from the Polaris Vicra optical tracking device was set to approximately (35, 0) mm. Referring to Figs. 8 and 9, it is clear that the PI fuzzy logic control scheme was able to track the optical tracking device and control the force with an error falls between ±1.5 N. The system was tested again with different final destinations. Two final destinations were read from the Polaris Vicra optical tracking device, (90, 5) mm using the admittance controller and (68, 5) mm using fuzzy logic control scheme. The experimental results for the two controllers are presented in Figs. 10 and 11, respectively. It can be seen that, the robot end-effector is following the trajectory to the final destination in X–Y plane, and also moving in the z direction to maintain the contact force in the desired reference value.
5 Conclusion
In this paper, an optical tracking device and a force torque sensor were integrated into a position controlled industrial manipulator to facilitate operation in unknown inclined planes. Two force control algorithms (admittance and fuzzy-PI controllers) are presented to control the interaction force, and a number of experiments were conducted to evaluate the robustness of the presented controllers. The results show the ability of the presented control schemes to track the operator signal, while keeping the force within desired range.
References
Bosheng Y, Bao S, Zhengyi L, Shuo X, Xiaoqi T (2013). A study of force and position tracking control for robot contact with an arbitrarily inclined plane. Int J Adv Robotic Sy 10(69)
Castillo O, Mart´ınez-Marroqu´ın R, Melin P, Valdez F, Soria J (2012) Comparative study of bio-inspired algorithms applied to the optimization of type-1 and type-2 fuzzy controllers for an autonomous mobile robot. Inf Sci 192:19–38
Hogan N (1985) Impedance control: an approach to manipulation: Part i-iii. J Dyn Syst Meas Contr 10:1–24
Kang SH, Jin M, Chang PH (2009) A solution to the accuracy/robustness dilemma in impedance control. Mechatron IEEE/ASME Trans 14(3):282–294
Khatib O (1987) A unified approach for motion and force control of robot manipulators: the operational space formulation. Robot Autom IEEE J 3(1):43–53
Kikuuwe R (2014) A sliding-mode-like position controller for admittance control with bounded actuator force. Mechatron IEEE/ASME Trans 19(5):1489–1500
Lange F, Werner J, Scharrer J, Hirzinger G (2010) Assembling wheels to continuously conveyed car bodies using a standard industrial robot. In: IEEE Robotics and Automation (ICRA), 2010 IEEE International Conference on, pp 3863–3869
Li H-X, Gatland HB (1995) A new methodology for designing a fuzzy logic controller. Syst Man Cybern IEEE Trans 25(3):505–512
Lian R-J (2014) Adaptive self-organizing fuzzy sliding mode radial basis-function neural-network controller for robotic systems. Ind Electron IEEE Trans 61(3):1493–1503
Mamdani EH (1974) Application of fuzzy algorithms for control of simple dynamic plant. In: IET Proceedings of the Institution of Electrical Engineers, volume 121, pp 1585–1588
Raibert MH, Craig JJ (1981) Hybrid position/force control of manipulators. J Dyn Syst Meas Contr 103(2):126–133
Ugurlu B, Havoutis I, Semini C, Kayamori K, Caldwell DG, Narikiyo T (2015) Pattern generation and compliant feedback control for quadrupedal dynamic trot-walking locomotion: experiments on RoboCat-1 and HyQ. Auton Robots 38(4):415–437
Volpe R, Khosla P (1993) A theoretical and experimental investigation of explicit force control strategies for manipulators. Autom Control IEEE Trans 38(11):1634–1650
Whitcomb L, Arimoto S, Naniwa T, Ozaki F (1996) Experiments in adaptive model based force control. Control Syst IEEE 16(1):49–57
Xiong Y, Quek F (2006) Hand motion gesture frequency properties and multimodal discourse analysis. Int J Comput Vision 69(3):353–371
Acknowledgments
This work was supported by the Canada Foundation for Innovation (CFI).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Al Mashagbeh, M., Khamesee, M.B. Force control for position interface industrial manipulator working in unknown environment. Microsyst Technol 21, 2557–2563 (2015). https://doi.org/10.1007/s00542-015-2492-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00542-015-2492-9