Robotic Sanding of Wooden Bowls with Hybrid Force/Position Impedance Control

This paper addresses the question as to whether a serial robot could be used to sand a wooden bowl, in order to free a human operator from what is considered a hazardous task. The process of sanding wood is similar to the polishing of metal, There are robot-based commercial systems available for the polishing of metal. However, unlike aluminum, wood is a non-homogeneous material. In the case of wooden bowls, each has a unique geometry, and to a degree, unique material properties. A hybrid force/position impedance controller was implemented and four different force control configurations were tested. The best performance was obtained with a FO filter for force control and PD action for position control.


I. INTRODUCTION
The sanding of wooden bowls by hand is a physically demanding process. Automation of this process helps to keep workers away from wood dust and fatigue. In the past years, there have been studies based on contour following and polishing of metal but not much on sanding wood especially with curved surfaces. Surface following control can be a basic strategy for robot-based sanding.
As background, one early study of robotic polishing with 6 DOF industrial robot was completed by Takeuchi et al [1] where an air-driven tool was used to a polish flat metal surfaces. More recently, a CAD/CAM-based robotic system was used for two applications: metal mold polishing [2] and wooden furniture sanding [3]. The position control loop fed into the force control loop for precise tool placement during the polishing/sanding process. Trajectory planning for a curved surface can be done with a symmetrical uniform offset line feed approach, as in [4] and [5], where the application was the polishing of metal. In [6], a model of the force distribution was used to generate continuous force setpoints for polishing along a machined surface. The most common approach to trajectory planning for a curved surface appears to be following a radial line from the edge to the center of the object to be polished, and then back as in [7] and [8].
The inverse kinematics of robot arm are required for end point control and identification of associated dynamic parameters [9], [10]. To sand a curved surface, such as that found in a bowl, the desired orientation of the sander is needed along with the desired trajectory of the sander, relative to the translational motion of the arm. A hybrid force/position controller can be used to enable trajectory tracking and to maintain uniform force while sanding [11]. Adding impedance to the controller allows one to change the weighting between the force and the position controller, in a hybrid controller. Impedance control is best employed in the cases where the environment is unknown and the work piece has non-uniform and deformable features [12].
There are a number of issues to be considered when implementing robot-based sanding of a wooden bowl, including: trajectory generation, nature of the fixture to hold the bowl in place, orientation of the sanding tool and contact force. These issues will be addressed in this paper.

A. Workspace Setup
A CRS A465 robotic arm with six degrees of freedom was used to mimic the sanding motion of a human operator. Fig. 1 gives the workspace setup. Fig. 2 illustrates the XYZ principal axes of the robot. A lightweight pneumatic orbital sander was used of the same type employed by the human operator. A 3axis force sensor mounted on the end effector measured the applied force on the bowl. The bowl was held firmly to the table using a vacuum chuck as shown in Fig. 1.

B. Software and Simulation Model
The controller is programmed in MATLAB Simulink. The Simulink block diagram is given as Fig. 3. The main Simulink blocks are seen to be stance, inverse kinematics, position controller, forward kinematics, force controller and impedance factor.

III. CONTROL SYSTEM DESIGN
The control system for this application has three components: a) trajectory generation, b) end point control and c) hybrid force/position impedance control algorithm.

A. Trajectory Generation
A rough trajectory can be determined based on the diameter and depth of the bowl, assuming a uniform profile. The bottom of the bowl has a small flat which must be taken into account. The sander travels at a fixed angle to the surface so that only one-third of the sander is in contact with the bowl during sanding as shown in Fig. 4. Force setpoints for the three axes are calculated from the adopted sander angle and the normal force setpoint. The force acts along the x and z axes as the sander follows the radial line. The force along the y axis is assumed to be zero. The XZ force setpoints are: where F N is the normal force and ∅ is the angle of the sander. There is a negative sign for S f z because, F N is in the direction of positive x but negative z. After observing the technique of an operator at a local manufacturer, the adopted values for F N and ∅ became 10 N and 30 deg, respectively.

B. End Point Control and Dynamics
The end point control of the arm can be obtained from the kinematic equations using the DH parameters of the robot [13]. Next, the differential kinematics are derived from the forward kinematics equations to give the relationship between the joint velocities and corresponding end-effector linear and angular velocity. In order to do that, the Jacobian is computed for all six joints. Finally, the dynamic equations are formulated using Lagrangian approach (2).
where D(q) is the manipulator mass matrix, I is the motor inertia matrix, C q, q is the Coriolis and centrifugal matrix, B is the viscous friction matrix, G(q) is the gravitational vector, F s q is the Coulomb friction matrix, r is the gear ratio, V = [V 1 V 2 V 3 ] T is the motor control signal vector, K is a scalar conversion from the motor voltage to the motor torque, q = [q 1 q 2 q 3 ] T is the manipulator joint position, is the total joint torque, and is the force applied by the end-effector (i.e. the sander).

C. Hybrid Force/Position Impedance Control
In hybrid force/position impedance control, the force controller adds to the trajectory setpoint of the position   controller via the impedance factor [15]. The block diagram for the controller is given as Fig. 5. The impedance factor determines the relative weight between the two controllers.
One approach to hybrid force/position impedance control is to use PI for the force controller and PD for the position controller [11]. In this study, four types of force controllers were tested: a) First Order (FO) filter, b) Butterworth (BW) filter, c) PI action and d) FO/PI. The adopted equations were: where S f is the force setpoint, f is the measured force, τ is the FO time constant, ω c is the cutoff frequency, and KP f and KI f are the proportional and integral gains. Recognize that these are implemented three times, one for each principal axis.
The PD position controller with the impedance factor is given by the following equations: where S p is the setpoint, p is the position, e p is the error, K t is the impedance factor, KP p and KD p are the proportional and derivative gains. Changing the impedance factor, changes the weighting between the force and position control. If K t is low, then force control is dominant. Whereas if K t is high, then position control is dominant. The desired position is transformed into the required joint angles with the inverse kinematics block and fed into the position controller which converts the angles into the required motor control signals.
The FO filter reduces the degree of jitter in the force controller [16]. When the BW filter was implemented, it did not improve performance over that of the FO filter. Initially, the cut-off frequency of these filters was set to the sample frequency of 500 Hz and then tuned to their optimal value of 0.4 Hz (FO) and 15 Hz (BW).

IV. EXPERIMENTAL RESULTS
A series of tests were conducted to determine the performance that could be achieved with a conventional hybrid controller with impedance. The Root Mean Squared Error (RMSE) was used as the main measure of performance, and is defined for the force as: where n is the number of points. A similar equation is used for determining the RMSE of the position.
The position controller was validated using a ball transfer unit, where the end effector was a spring-loaded ball that could roll freely on the surface of the bowl. Two types of trajectory paths were tested as illustrated in Fig. 6. In Trajectory 1, the arm comes to the bowl from outside and hits the rim exerting   Event markers as keyed to the bowl entry and return paths are given in Fig. 7. These event markers serve to identify the different phases of the sanding process, as illustrated by the position and force results given as Fig. 8 and Fig. 9, for the x and z axes. This particular set of results is representative of the best performance achieved with the adopted hybrid FOPD controller, with the adopted control gains given in Table I loses contact with the bowl. The results given in Fig. 8 and Fig. 9 were obtained with FO for the force controller and PD for the position controller and provide the best results. The FO time constant was tuned to 2.45 sec. The impedance factor determines the relative weight between the force and the position controllers. To illustrate the sander's negative impact of control performance, tests were conducted where the sander was replaced with a ball transfer unit. Fig. 10 gives the behavior with and without the bowl present was tested. The position error was reduced by 50% when the bowl wasn't present (and there was no "push-back" from the bowl).
The effect of replacing the FO filter with a Butterworth (BW) filter was examined. The best performance with the BW filter was obtained when the cutoff frequency was set to 15 Hz which gave a passband edge frequency of 12.6 Hz and a time constant of 0.06 sec. Recall that the time constant for the FO filter was 2.45 sec. Tests with the BW showed no significant improvement in performance relative to the FO filter.
The impact of integral action on performance was investigated. Ad hoc tuning was used to obtain a tuned integral gain, as illustrated by Fig. 11. The effect was as expected. As illustrated in Fig. 12, regulation of the force was significantly improved with FO/PI relative to FO. Table II shows a drop in the force RMSE by almost 50% with no loss in stability.     Fig. 13 summarizes the position and force RMSE's for the four configurations. The FO filter as the force controller gave the best result, with the lowest force RMSE for both the x-axis and the z-axis. The lowest position RMSE for both the x-axis and the z-axis was obtained with PI action as the force controller (not the FO filter). But the quality of the sanding process is determined by the force regulation and less so by the position regulation. Thus, the conclusion is still that a FO filter for the force controller and PD action for the position controller gives the best performance. It should be noted that this performance was obtained with only a rough trajectory estimation of the bowl geometry as based on the bowl's diameter and depth. A precise CAD/CAM model of the bowl was not employed.
Performance could be improved with a more advanced hybrid impedance controller. For example, one that uses fuzzy logic, to account for the variable nature of the friction forces [17]. Future work could also include the introduction of a friction model to enable a more sophisticated force setpoint. Operationally, a rotating chuck could incrementally rotate the bowl as the sander travels. This would enable the sanding of the entire inside surface. It would also be helpful if there was an objective measure of sanding quality. At the moment, sanding quality is measured subjectively by visual and tactile inspection by a human operator.