AN APPROACH TO COMPLIANT MOTION OF AN INDUSTRIAL MANIPULATOR Alexander Winkler ∗ Jozef Such´ y∗
∗
Chemnitz University of Technology, Department of Robotic Systems, 09107 Chemnitz, Germany
Abstract: This article presents an approach to robot force control for a compliant motion task with a commercial robot system. It consists of two parts: First is the algorithm for fast and sure environment contact detection. Second is the hybrid position/force control algorithm for contour following of an unknown surface. It contains the estimation of gradient of environment surface at contact point and the adaptation of working velocity. The approach is implemented in the robot controller and its functionality is shown on the drawing example task. The results of new algorithm are compared with results of the standard force control functions. c 2006 IFAC Copyright Keywords: Robot control, Force control, Industrial robot, Adaptation.
1. INTRODUCTION Force control of articulated robots is a research field quite often investigated during the last thirty years. Therefore, a lot of algorithms have been published. They can be classified, e.g., by their structure. Primary types of force control structures are hybrid position/force control (Raibert and Craig (1981)), (Mason (1981)), impedance control (Hogan (1985)) and parallel position/force control (Chiaverini and Sciavicco (1988)). Using force control in industrial robot manufacturing tasks, like polishing, grinding, and deburring, may improve its quality and efficiency. However, most of robots work only position controlled. Force controlled robots stay prevailing in research laboratories. One reason of this fact is the cost of a force/torque sensor which is necessary in robot force control. The cost of a six component wrist force sensor for measuring forces and torques in every Cartesian degree of freedom may go up to 5000 Euro at present time. This means, with low payload 6-DOF robot as much as 20% of total cost may be accounted for the F/T sensor alone.
Second reason of hesitating application of force controlled robots is frequently inadequate integration between F/T sensor and robot controller, e.g., low speed of data transmission from sensor to controller is unfavorable in robot force control. Another disadvantage of some commercial robot controllers is motion generation. It is not possible to have access to lower level of robot motion control, e.g. to motor currents or joint velocities, however, this access is assumed by few published approaches to robot force control (Zeng and Hemami (1997)). The only possibility is to set the desired position. However, the desired joint angles are not generated directly by joint angle controllers, they are connected with the trajectory generator to get a smooth motion. This is the cause of a large time delay between the desired and real joint angles, which is unfavorable in robot force control, too. In this work an algorithm for a compliant motion task of a commercial 6-DOF robot is developed and tested. In the next section the robot system used is described with respect to its features important in force control. For the development
of the force controller and its parameterization the dynamic model of the particular robot used is necessary. It is also described in section 2. In section 3 the improved approaches to environment impact and contour following are presented. These approaches are tested and compared with standard force control algorithms in section 4. Finally, in the last section a short conclusion is given.
2. COMMERCIAL ROBOT SYSTEM FOR COMPLIANT MOTION TASKS 2.1 System description The development of an improved approach to compliant motion is performed with a robot system based on the industrial robot Kuka KR6/2. It is a 6-DOF articulated robot with payload of 6 kg. Additional load of 10 kg can be fastened at robot’s forearm. The manipulator is controlled by Kuka Robot Controller KRC2. Its main component is an industrial PC which controls the joint power amplifiers. At PC the operating systems VxWorks and Windows 95 run together. VxWorks is used for real time tasks and Windows for program design and visualization. The robot controller KRC2 is programmed in KRL (Kuka Robot Language) which has all features of common robot programming languages. A six component F/T sensor mounted in the robot’s wrist measures the contact forces and torques. In contrast to common F/T sensors with high stiffness based on strain gauge measurement, this sensor includes a compliance. The deformations caused by forces/torques are measured by PSD diods. The F/T sensor is connected with the robot controller via DeviceNet interface. The system described above has the following special feature: It is possible to integrate the data transmitted by F/T sensor in the real time part of the robot operating system. This means that contact forces/torques may influence robot’s motion in real time on the level of position controllers. The direct access to the position control loops is not a common feature with commercial robots, (D´egoulange and Dauchez (1994)), (De Schutter and Brussel (1988)). It improves the possibilities of robot force control with an industrial manipulator. This functionality is not restricted just to robot force control it may be used to several kinds of sensor based robot motions, e.g. to visual servoing. The implementation of real time robot control can’t be performed with KRL programming directly. An additional module called Robot Sensor Interface (RSI) realizes the real time access. It provides special KRL expressions to generate RSI objects which are defined in the object library.
KRL • User programs • Motion commands
Non real time Real time
RSI Sensor drivers
Object library
Force/Torque, Vision, …
Signal processing, Motion control
Position controller
Fig. 1. Functional scheme of RSI. There are three kinds of them. Objects with outputs only, provide measured values or signals, e.g., forces/torques from F/T sensor, current joint angles or end-effector position, digital/analogue input signals. Objects with inputs only, receive values to take influence on robot’s motion or to write on the output periphery of robot controller. Objects with inputs and outputs are signal processing objects, like proportional controller, integrator, summation. Connections between RSI objects can be generated by using special KRL expressions. In this way it is possible to create complex controller structures. After creating the whole RSI structure, it runs in real time with the interpolation cycle. This means it is executed periodically every 12ms in parallel with the standard KRL program. Changes in RSI program structure are possible during program execution. The philosophy of programming sensor guided motions using RSI is shown in Fig. 1. Another way to realize force/torque control with the described robot system is the Force Torque Control Technology Package (FTCtrl). With this package a very easy implementation of F/T control application using a Windows dialog is possible. The disadvantage is that FTCtrl gives rather small possibilities in program design. The advanced algorithms of robot force control presented later are compared with algorithm using FTCtrl.
2.2 System identification In the compliant motion task presented later the contact force between end-effector and environment has to be controlled in one degree of freedom only. For force controller design the dynamic model of end-effector motion in this particular direction is necessary. Using RSI it is possible to take influence on the current end-effector position by adding an correction offset. This offset acts directly on the desired value of position closed loop controller. For identification of the relationship between the desired ∆zD and the current ∆z position offset has to be determined. It is given by the following transfer function: Gz (s) =
∆z(s) ∆zD (s)
(1)
F
∆z D
e −2 sTc
1 1 + sT far
k far far
+ −
1 s
k free FD + +
near
∆z
1 s
+
−
∆F
Free space Environment contact High Error
k near
Low
Fig. 2. Dynamic model of robot for one Cartesian direction.
kI 1 + +
1 s
+ + +−
∆z D
kI 2
kP
Sprung_alt.tif (3550x2507x256 tiff)
kback
Fig. 4. Force controller used for envionment contact detection. The environment contact is modeled by stiffness kenv only, 0 for (z − zenv ) < 0 F = , (2) kenv (z − zenv ) for (z − zenv ) ≥ 0 where z is the current end-effector position and zenv represents the position of environment in the particular Cartesian direction. Fig. 3. Verification of robot’s model. The analytical development of a model consisting of all robot components (mechanics, controllers, ...) is quite difficult. Therefore the model is determined by experiments, e.g., performing step or frequency responses. Regarding position step responses, it can be found that system behavior depends on the amplitude of the commanded position change. For very low position offsets it can be approximated by a first order linear system. Otherwise, system behavior is the behavior of a second order system. Parameters of the transfer functions were determined from frequency responses. Of course in both cases static gain is 1. Switching between second and first order system is performed at remaining distance of end-effector to commanded target position of approximately 0.1mm. Additional time delay of two interpolation cycles Tc (2 × 12ms) is integrated into the dynamic model. Fig. 2 shows its complete signal flow diagram. The behavior of the model in comparison with the behavior of the robot shows Fig. 3. In this experiment the desired position is set to 1mm and the step responses were recorded. It can be seen that the values of the current end-effector position matched quite well to the simulated values. The values of the dynamic robot model for one Cartesian direction used in simulation are summarized in Tab. 1. Table 1. Parameters of robot’s dynamical model. kf ar 18.6s−1
knear 3.1s−1
Tf ar 30ms
Tc 12ms
3. CONTROLLER DESIGN FOR COMPLIANT MOTION The controller design of our compliant motion task will be divided into two parts, namely for environment impact and for contour following. 3.1 Impact control First, the end-effector has to get into contact with the environment. The exact position of the environment is unknown. Requirements for this task are the fast and safe impact. When the endeffector comes into contact with the environment the whole system should stay stable. Therefore, a quite complex controller structure has been developed, which consists, however, of simple elements, see Fig 4. The environment contact detection process was verified using a Z-Axis Compliance wrist mounted at surface. The compliance of this environment can be regulated by compressed air. The stiffness of the whole system including also compliances of robot load limiter and F/T sensor is approximately kenv = 100N mm−1 . At the beginning robot’s end-effector is located in free space without environment contact. In this case the control error ∆F is summed using parameter kf ree and the integrator in this loop. It results in the desired end-effector position offset ∆zD . Controller gain kf ree can be computed according to (3) if contact force overshoot is undesirable. kf ree = (Treact kenv )−1
(3)
When the contact force F exceeds certain force threshold it is assumed that the end-effector is in contact with the environment. As there are disturbances of contact force signal caused by acceleration forces, switching threshold have been set to a value different from zero. The controller structure changes from integral controller to proportional plus integral controller. The controller gain of proportional branch kP is kept constant, however, the parameter of the integral part is scheduled between kI1 and kI2 . The switching point depends on the level of control error ∆F . For high values of ∆F branch kI1 is activated and for low control error the integral gain is set to the value of kI2 . This feature is necessary for the fast transient and stable static environment contact. Controller gain kP was set to its ideal value. −1 kP = kenv
(4)
The above choice means that any force control error is theoretically compensated during the next interpolation cycle. This adjustment works quite well with high or medium stiffness, however, working with a soft environment the value of kP has to be reduced, taking restrictions of position controllers into consideration. The rule for choice of parameter kI1 is given by kI1 = 0.5kf ree ,
(5)
which lets expect convenient regulation behavior. The controller gain kI2 which is enabled during low values of force control error is computed taking the closed loop transfer function for this case into account. It is assumed that the endeffector is located near to the desired position. In this case the robot has the behavior of a first order system with additional time delay: Gnear (s) =
1 −1 knear s
+1
e−pTc s
(6)
Because the value of response time is much higher than delay time 2Tc , the robot behavior is simplified to the behavior of a first order system. Combining it with the environment and kI2 -portion of the controller the following closed loop transfer function can be found: GI2 (s) =
(kI2 kenv )−1 −1 (kI2 kenv )−1 + s + knear s2
(7)
Measurement Simulation
Contact force [N]
The parameter Treact in (3) represents the reaction time of manipulator’s motion in the particular direction. It consists of 2Tc and the time delay caused by robots dynamics, see Fig. 2. For later experiments we assumed the reaction time of 6 interpolation cycles, which means a value of Treact = 72ms.
Time [s]
Fig. 5. Contact forces during impact. It has the structure of a second order system. Its desired damping is set to 1. Hence, the value of kI2 can be calculated: −1 kI2 = 0.25knear kenv
(8)
In the case of environment contact additional offset is subtracted from controller output ∆zD . It depends on the desired value of contact force FD and controller gain kback . The loop is used to prevent or reduce overshoot of force during first contact caused by manipulator’s dynamics and the following fact: It was already described that switching threshold between non-contact and contact differs from zero. Besides, the contact force at switching point can not be determined exactly, which is caused by discrete time property of the robot controller. With this feature it is possible to increase the velocity of the end-effector approach to environment determined by factor kf ree . The controller parameters for contact detection with the environment (kenv = 100N mm−1 ) are summarized in Tab. 2. To prevent oscillations Table 2. Parameters of controller for environment contact detection. kf ree 0.14mms−1 N −1 kP 0.01mmN −1
kI1 0.07mms−1 N −1 kback 0.06mmN −1
kI2 0.01mms−1 N −1
by transition from the controller structures for free space and environment contact an additional hysteresis has to be implemented. Fig. 5 show the simulated and measured contact forces during the environment contact detection experiment. For this purpose the end-effector is located at a distance of approximately 5mm from the environment surface and a desired contact force of FD = 30N is commanded.
3.2 Contour following After the impact process described in the previous paragraph is finished, the whole controller structure has been changed to perform the contour following task. The signal flow diagram of
F kI 3 FD
+
−
∆F
1 s
k II 3
+
1 s
+
+
∆z D +
kP3
ABS
1 1+ s
Velocity override
Fig. 6. Force controller for contour following. the force controller used to keep stable contact during movement of the end-effector along the environment surface is shown in Fig. 6. It is based on a simple proportional plus integral controller parameterized with kI3 and kP 3 . Additional integral part is inserted in the control loop. It results in the I 2 -behavior. With this functionality it is possible to adjust the controller to the particular environment. The adaptation may be seen as the estimation of environment orientation. In the case of complete adaptation the output value of the additional integrator represents the end-effector velocity and the angle of inclination between environment and ground along current end-effector motion. It is strictly required to prohibit the I 2 behavior of controller if the end-effector is located in free space. During the end-effector motion its velocity changes, which is caused by acceleration and deceleration. The environment may change its inclination, too. Therefore, adaptation has been performed continuously and it will not come to a static value. For that reason high values of control error may arise. In the worst case the contact between endeffector and environment may go lost or the tool or the environment may be damaged. Therefore the controller structure is improved by another feature also shown in Fig. 6. The velocity of the commanded end-effector motion in direction parallel with ground is controlled by its override. The value of velocity override is modulated between 20% and 100% in dependence on the force control error. If control error goes to zero, end-effector velocity is set to maximum value, however, high value of ∆F results in low velocity. The override signal is filtered using a first order transfer function before being output. This is necessary to prevent velocity jerks which may be unfavorable for compliant motions tasks.
4. EXAMPLE TASK AND RESULTS 4.1 Experimental setup The following task was chosen for experiments, see also Fig. 7: The robot is equipped with a gripper
Fig. 7. Experimental setup: Manipulator draws on inclined blackboard. built to hold a piece of chalk. Some end-effector positions were taught located parallel to ground. The task of the robot is to draw on the blackboard with its end-effector using the taught positions. The blackboard surface is inclined with respect to the ground and the angles of inclination are not known in advance. At the beginning, robot’s tool (chalk) has to get in contact with the environment (blackboard surface). Then, the robot is commanded to move its end-effector in parallel with ground for drawing. Because of the inclination of the environment, end-effector position in z-direction has to be adjusted to avoid the loss of contact or high values of contact force. Reaching taught supporting locations while drawing, orientation of end-effector has to be changed for symmetrical wear of chalk. The orientation change is performed in free space with followed by new contact detection. The drawing task has some relations with some industrial manufacturing tasks like polishing, grinding, or deburring.
4.2 Results After implementation of the whole control algorithm described in section 3 and teaching the supporting locations, the experimentation with the drawing example task was started. First, the contact between end-effector and environment was performed successfully, see Fig. 8 at time point of 3s. The desired contact force was set to 5N . After this, end-effector motion is commanded to reach supporting point No. 1. It can be seen that the contact was kept stable during robot’s motion in spite of unknown inclination between blackboard and ground. Values of current contact force are in a certain narrow range around its desired value. There are no losses of contact and no dangerous high values of contact force F which might result in the damage of the chalk. After reaching supporting location No. 1 at the time point of approximately 10s, the robot was commanded to move its end-effector away from the blackboard to change its orientation. During this operation robot position stays constant. Now, environment
nikolaus_alt.tif (3612x5315x256 tiff)
tem. The force controller was developed for two different tasks, environment impact and contour following on an unknown surface. The force controller for impact is variable structure controller. When the end-effector is located in free space a simple integral controller works. During the environment contact the PI-controller is activated. It is enhanced by gain scheduling dependent on force control error. The structure of the force controller for contour following is PI-I 2 . The I 2 double integrator helps to estimate the current surface gradient at point of contact. Additionally, the working velocity of the end-effector parallel to the ground is controlled by force control error.
Fig. 8. Contact forces during drawing task contact has been found again to draw the next line. At the time point of 80s the drawing has been finished. Taking into account the time curves in Fig. 8 an average drawing velocity of more than 6cm/s can be found out. The same compliant motion task was programmed using Kuka’s Force Torque Control Technology Package (FTCtrl). It is also based on RSI programming. However, RSI is hidden in a comfortable Windows dialog and its functionality is restricted. For impact and contour following the same force controller was used, because it was not possible to change it during the environment contact. The parameterization was chosen to guarantee the stability during the environment contact detection and contour following. The performance of the impact using FTCtrl was somewhat little bit faster then our RSI controller presented here. However, the quality of the closed loop control was bad, near to becoming unstable. In comparison to the improved approach to force control of an industrial robot presented in this paper, usage of FTCtrl standard algorithms results in a much lower value of end-effector velocity while drawing. The value of average drawing velocity was approximately 3cm/s. The whole compliant motion task using FTCtrl was finished after 150ms.
5. CONCLUSION In this work an improved algorithm of impact and force control of an industrial manipulator was presented. For this a commercial robot system was used without any changes in its control sys-
With the presented approach it was possible to improve the control performance distinctly. This was demonstrated by the drawing task which is an example of a compliant motion task. In this task, the robot equipped with a piece of chalk in its gripper drew on the blackboard. The angle of inclination between blackboard surface and ground was unknown. While drawing, the tool had to be in stable contact with the environment and the given limits of contact force had not to be exceeded to prevent damage of the blackboard chalk. The obtained drawing velocity was compared with the obtained results by the standard force control technology package. It was shown that it is possible to increase the average endeffector velocity parallel to ground from 3cm/s to over 6cm/s.
REFERENCES S. Chiaverini and L. Sciavicco. Force/position control of manipulators in task space with dominance in force. Proc. 2nd IFAC Symp. on Robot Control, pages 137–143, 1988. J. De Schutter and H. Van Brussel. Compliant robot motion ii: A control approach based on external control loops. The International Journal of Robotics Research, 7:18–33, 1988. E. D´egoulange and P. Dauchez. External force control of an industrial puma 560 robot. Journal of Robotic Systems, 11:523–540, 1994. N. Hogan. Impedance control, an approach to manipulation: Part i, ii, iii. Transactions of ASME Journal of Dynamic Systems, Measurement and Control, 107:1–24, 1985. M.T. Mason. Compliance and force control for computer controlled manipulators. IEEE Transaction on Systems, Man. and Cybernetics, 11:418–432, 1981. M.H. Raibert and J.J. Craig. Hybrid position/force control of manipulators. Transactions of ASME Journal of Dynamic Systems, Measurement and Control, 102:126–133, 1981. G. Zeng and A. Hemami. An overview of robot force control. Robotica, 15:473–482, 1997.