Three-Dimensional Contour Tracking Control of a

0 downloads 0 Views 1MB Size Report
(3-D) contour controller is proposed. This design relies on dynam- ics projection to the moving Frenet-Serret frame defined for each point on reference trajectory.
Three-Dimensional Contour Tracking Control of a Parallel Manipulator: Comparison of Two Control Techniques Tarik Uzunovic

Eray A. Baran

Edin Golubovic

Asif Sabanovic

Sabanci University Istanbul / TURKEY [email protected]

Sabanci University Istanbul / TURKEY [email protected]

Sabanci University Istanbul / TURKEY [email protected]

Sabanci University Istanbul / TURKEY [email protected]

Abstract—In this paper a novel design for three-dimensional (3-D) contour controller is proposed. This design relies on dynamics projection to the moving Frenet-Serret frame defined for each point on reference trajectory. Contour controller consists of independent joint controller and additional sliding mode controller, added as corrective term. Control task is defined as contour tracking with constant tangential velocity. Contour controller was compared with independent joint controller designed as acceleration controller with first order disturbance observer. Reference trajectory is generated using time based spline approximation to provide smooth reference trajectory. Experimental results showed significant improvement that contour controller provides over independent joint control with relatively high velocity references.

I.

I NTRODUCTION

Contour tracking is one of the key issues in motion control applications. In contour tracking, the goal is to follow particular curve in two- or three-dimensional space. That appears as very important task in robotics, CNC machining, scanning and in many other industrial applications. In manufacturing applications proper contour tracking control ensures satisfactory quality of the final products. Therefore contour tracking control has been intensively investigated in the past. A detailed overview of contour control methodologies has been given in [1] and reader is suggested to consider this paper as a reference. Literature survey given here will include some papers mentioned there, and some additional ones. Contour error is usually defined as the shortest distance between current position and desired path. It can be explicitly calculated for linear or circular two-dimensional contours. For complex trajectories in space, contour error calculation can be very complex. Hence, free form contours can be approximated by linear segments as presented in [2] and [3]. Another approach assumes that contour is approximated by circular segments in two-dimensional plane [4], [5], or threedimensional space [6]. In [7], it was shown how contour error can be precisely calculated if analytical description of two dimensional reference trajectory is known. Interesting concept of equivalent errors is presented in [8] for contour error expression, but a drawback is that again analytical description of the reference trajectory is needed. Different contouring control techniques have been presented in the literature. In [1], they are classified in eight categories. Some of these methods will be addressed here.

In conventional control systems, contour error is minimized by improving tracking accuracy of each individual axis of multi-axis system. Different control approaches can be found in [9], [10], [11], [12]. It is known that small contour error can be achieved even when significant tracking error exists. Therefore this approach is usually used in applications where high tracking speed is not required. One of the first control strategies oriented toward reduction of contouring error was cross-coupled controller (CCC), introduced more than three decades ago in [13]. Many different versions of this controller appeared later. They included variable gain CCC [14], [2], [15], CCC combined with neural networks [16], self-tuning [17] and optimal control methods [18], [2]. Cross-coupled control was further modified for repetitive motion control applications, where controller learns from previous iterations in order to improve its performance [19], [20]. Another improvement of CCC was obtained by introducing adaptive feed rate in control systems [21], [22]. One more approach in contour tracking is adopted via making use of direct contour error. In this approach authors use contour error directly to design control algorithm [8]. They do not use linear or circular segments for contour error approximation. For this paper particularly interesting are control methods based on coordinate transformation. In this group there exists several approaches. First one is proposed in [23], where tracking error is decomposed into normal and tangential components. Separate control actions are then applied to dynamically decoupled system for independent tracking and feed rate control. In [24], contour tracking problem is formulated in a task coordinate frame attached to desired contour. In order to apply this coordinate transformation it is required to know feed rate, velocity direction and instantaneous curvature of the desired contour. System dynamics is transformed to this new coordinate frame and control system assigns different dynamics to normal and tangential directions relative to the desired contour. Similarly, polar coordinate transformation is proposed in [25] where contour error is approximated with radial error. Using this simple model, contour error is taken as a state variable and contouring controller is designed by stabilizing contour error dynamics. Recently in [26] an orthogonal global task coordinate frame was presented for contouring control in two degrees of freedom systems. Task space is defined through set of curvilinear coordinates and systematic way for their design is given for two-dimensional case. This approach was

used in [27] for two-loop control of biaxial servo systems. In this paper, an approach with coordinate transformation was used with transformation matrix same as moving coordinate frame in [24]. Using this transformation, system dynamics is projected to the moving Frenet-Serret (tangential-normalbinormal/TNB) frame. Sliding mode controller (SMC) is then used to provide stable operation and asymptotic convergence of positioning errors in the TNB frame. It is assumed that SMC control algorithm operates in parallel with independent joint control. Used transformation requires reference velocity and acceleration, while explicit analytical description of the curve is not necessary. Proposed contour controller is used for contour tracking control of a parallel delta robot. Contributions of this paper can be listed as: insertion of constant velocity constraint off-line with exactly achieved desired tangential velocity profile, application of double coordinate transformation (from the joint space to the task space, and from the task space to the moving Frenet-Serret frame), and experimental validation of the proposed algorithm for the delta robot in 3-D contour tracking. Reference trajectory for the robot is generated using time based spline approximation to achieve desired tangential velocity profile. II.

P ROBLEM F ORMULATION

Contour tracking in 3-D space can be formulated as a task whose goal is to track regular contour given in parameterized form as [ re f ]T f re f re f ˜ re X (1) xyz (s) = x˜ (s) y˜ (s) z˜ (s) , s ∈ [α , β ]. In (1) s is parameter without real physical meaning. If specific tangential velocity profile is demanded then given curve can be parameterized with respect to time. This parametrization will include same points in 3-D space as in (1), but dependency of their coordinates with respect to time will determine tangential velocity magnitude along the curve. Usual constraint in industrial applications is to have constant tangential velocity of a tool that is required to track given reference. Let us discuss tracking of a regular 3-D reference curve parameterized with respect to time as [ re f ]T f re f re f Xre (2) xyz (t) = x (t) y (t) z (t) . Curve (2) is given in the fixed xyz coordinate frame (xyz space). It will be further assumed that the following condition holds f f ¨ re ˙ re X xyz ̸= 0 at every instant of time. Then, in every point xyz × X of the curve the Frenet-Serret (TNB) frame consisting of three unit vectors (tangent, normal and binormal) can be calculated as f f f ˙ re ˙ re ¨ re X X xyz xyz × X xyz T= , B = , N = B×T (3) f f f ˙ re ˙ re ¨ re ∥X ∥X xyz ∥ xyz × X xyz ∥ where T is unit tangent vector, B is unit binormal vector, while N denotes unit normal vector, Fig. 1. At a given point of the reference curve, reference velocity f ˙ re vector X xyz is collinear with T, and orthogonal to B and N at that point. Every vector Xxyz = [xxyz yxyz zxyz ]T given in the xyz space can be projected to the space defined by the moving TNB frame, and that space will be called TNB space. If projection in the TNB space is denoted as XT NB , with components xT NB ,

Fig. 1: The Frenet-Serret frame at one point of a reference curve

yT NB and zT NB then it can be written [ ] [ ] xT NB xxyz XT NB = yT NB = J yxyz . zT NB zxyz In (4) J is transformation matrix defined as ]T [ J = TT NT BT .

(4)

(5)

Transformation matrix is calculated on basis of reference velocity and reference acceleration. It is important to note that transformation matrix is time dependant, since moving frame moves along reference curve. III.

C ONTROL S YSTEM D ESIGN

A. Independent Joint Control In this subsection it will be assumed that reference trajectory that a parallel delta robot has to track is transformed in reference joint trajectories on the rotor [ ] side given as timeT

re f re f re f f . This transformation dependent vector qre r = qr1 qr2 qr3 is done using robot’s inverse kinematics model [28] and known gear ratio for each joint. In order to design control algorithm for three dimensional trajectory tracking of a parallel delta robot, it is first necessary to consider model of the system to be controlled. Dynamical model of the delta robot can be described as Mq¨ r = Kt iq − Tl (qr , q˙ r ,t). (6)

In (6), M is positive definite inertia matrix of the system. Vector of control currents applied to motor drivers is iq and Kt is diagonal matrix containing positive torque constants of the delta robot’s motors, meaning that their product actually represents control torques. Vector Tl includes all noncontrol torques acting on the joints, like nonlinear gravitational torques, Coriolis torques, frictional torques and external torques that appear due to outer influences on the system. With qr , vector of joint angles on rotor side is denoted. Dynamics (6) can be represented as Mn q¨ r = Ktn iq − Tdis = Ktn iq − Ktn · idis

(7)

where Mn is diagonal nominal inertia matrix with positive diagonal entries, Ktn is diagonal nominal torque constant matrix with positive diagonal entries, and Tdis is total disturbance torque that includes Tl , torques induced in one joint by accelerations in other two joints, and also torques that are introduced by variations of the system parameters. In (7), dynamics of complete system is decoupled in three second order systems which are for mth joint (m = 1, 2, 3) described by Mnm q¨rm = Ktnm iqm − Tdism = Ktnm iqm − Ktnm idism . (8)

For the dynamics (8) acceleration control with asymptotic convergence [29] can be applied as control strategy, similarly to the control presented in [30]. Disturbance acting on each joint can be estimated by disturbance observer [31] using first order low pass filter and estimated velocity and reference current information. Estimated disturbance can be expressed as ( ) −1 ˆidis = g iq − Ktn (9) Mn sq˙ ar s+g

Its dynamics can be described by [ ( re f ) ] ¨ xyz − J˙ δ q˙ r − 2J˙ ˙ e pxyz − Je ¨ pxyz , AT NB e¨ pT NB = iT NB −AT NB J X ( ) T −1 AT NB = JA−1 . xyz J (17)

where g is cut-off frequency of the first order filter, iq is reference current vector supplied to the motors’ drivers, and q˙ ar is vector of estimated joint velocities obtained from velocity observer (VOB) presented in [32].

˜ T NB is diagonal matrix with positive diagonal entries where A and iT NBdis is total disturbance that includes terms from right hand side of (17) and non diagonal terms of AT NB multiplied with e¨ pT NB .

If reference current vector iq is expressed as sum of estimated disturbance and control current ic , iq = ic + ˆidis , then dynamics of the plant with compensated disturbance can be written as q¨ r = K p ic , K p = M−1 (10) n · Ktn .

When error dynamics is expressed in the TNB space, controller can be designed in sliding mode framework. Sliding mode manifold s = [sT sN sB ]T is selected as

re f [ If discussed ]T robot is required to track reference qr = f re f re f qre , desired acceleration that will enforce asympr1 qr2 qr3 totic convergence can be defined as ) ( a ( ) f re f f ¨ re q¨ des − Kv q˙ ar − q˙ re . (11) r =q r − K p qr − qr r

In (11), qar are measured joint angles, K p and Kv are diagonal matrices with positive diagonal entries. When desired acceleration is known, control current for independent joint controller can be calculated as −1 ic = Ktn Mn q¨ des r

(12)

meaning that reference current vector is given with −1 ˆ iq = Ktn Mn q¨ des r + idis .

(13)

B. Contour Control In design of contour control it will be assumed that joint disturbances are compensated and plant description is given in (10). Contour controller is designed to assign desired dynamics to contour tracking error projections to the moving TNB frame. f Reference trajectory Xre xyz is a regular curve in the xyz space; it is parameterized with respect to time. Position error is then calculated as f e pxyz = Xxyz − Xre (14) xyz . Error dynamics in the xyz space can be obtained, using delta robot Jacobian matrix Jδ , and relationship between control signals in the joint space ic and control in the xyz space ixyz . Delta robot Jacobian was derived using approach described in [33]. It can be shown [29] that error dynamics is governed by ( re f ) ( ) ¨ xyz − J˙ δ q˙ r , Axyz = Jδ K p JT −1 . Axyz e¨ pxyz = ixyz − Axyz X δ (15) f ˙ re It is assumed that the reference curve satisfies X xyz × re f ¨ xyz ̸= 0 at every instant of time. Then, dynamics (15) can be X transformed to the TNB space using (4) and relation between control in the xyz space and control in the TNB space iT NB . Error in the TNB space is defined as

e pT NB = Je pxyz .

(16)

Dynamics (17) can be written in the form ˜ T NB e¨ p A T NB = iT NB − iT NBdis

s = e˙ pT NB + Ce pT NB

(18)

(19)

where C is diagonal matrix with positive diagonal entries denoted as cT , cN , cB . Lyapunov function candidate is ( ) V = sT s /2. (20) Time derivative of the Lyapunov function candidate is [ −1 ( −1 )] ˜ ˜ V˙ = sT s˙ = sT A e pT NB . T NB iT NB − AT NB iT NBdis − C˙ {z } |

(21)



If iT NB components are big enough, their signs define signs of s˙ components. Let us assume that magnitudes of such iT NB components are positive constants kT , kN and kB . Then for control ] [ −kT · sign(sT ) (22) iT NB = −kN · sign(sN ) , −kB · sign(sB ) it is achieved V˙ < 0 and Lyapunov stability criteria is satisfied. Contouring control combines independent joint control (12) with control (22) transformed to the joint space of the delta robot, so total contour controller reference current vector supplied to motors’ drivers is −1 ˆ iq = JTδ JT iT NB + Ktn Mn q¨ des r + idis .

IV.

(23)

T RAJECTORY G ENERATION

In the context of this paper, it is assumed that the reference trajectory for contouring is obtained as a set of data points in space. The points can be directly given from a CAD program, given in closed form representation [34] or can be obtained using some other techniques like acquiring via computer vision [35]. The discussion over the acquisition of trajectory is beyond the scope of this paper. On the other hand, once the reference trajectory is given in terms of data points, generating contouring reference for constant velocity tracking in 3-D comes into picture. In order to obtain contouring reference trajectory, first the total number of points in the originally given data is increased to have a fine resolution trajectory. Then, the fine resolution trajectory is modified in such a way that the distance between the samples is equal to the desired distance for constant velocity tracking.

A. Data Resolution Enhancement The original data, either being acquired from a 3-D image (i.e. MRI) or being taken from a CAD program, usually do not contain enough number of data points to provide a smooth reference trajectory for the contour tracking algorithm. Hence, having obtained the original data, an intermediate operation would be needed to increase the total number of ordered data points and come up with a fine resolution trajectory. In order to preserve the shape of the given spatial curvature, a polynomial interpolation based methodology is adopted in the context of this paper. Given a set of N ordered data points in space (Pi = [xi , yi , zi ], i = 1, 2, ..., N), the data enhancement algorithm first distributes the set into arrays of points for three independent axes. Then, for all of the three axes, starting from the first point the algorithm takes every 3 consecutive points in a window and applies quadratic polynomial interpolation within the window. At every incremental motion of the window, an intermediate point is placed between the first two points based on the corresponding function. The interpolation window travels until the last data point is included. In the last position of the interpolation window, two intermediate points are inserted. First intermediate point is inserted between the first and second, and second intermediate point between the second and third essential points of the window. This process is handled in an iterative loop with iteration number k being set apriori. Mathematically speaking, after one passing through the initial data set with the interpolation window, a total of N − 1 data points are added over the existing N data points. This means that after k iterations, the total number of data points in the system is increased to #DataPoints = 2k (N − 1) + 1.

(24)

For the sake of completeness, results obtained from resolution enhancement procedure are given in Fig. 2 (B) for the original data set shown in Fig. 2 (A) . B. Constant Velocity Constraint

(25)

0.03

0.03

0.02

0.02

z (m)

z(m)

R = VT Ts

0 0.01 0 −0.01 y (m)

0 −0.01 x (m)

(A)

0.01

Process of segmentation into equal distances while preserving the initial shape of the trajectory is not an easy problem due to the mapping between trajectory and the constituent axes. Due to the finite number of data samples, by making use of the distances between points on the reference trajectory, one can only acquire segments with certain error bounds that are determined by the resolution of enhanced data. The results obtained using such an approach have been shown to perform successful in construction of the constant velocity trajectory profile [35]. However, further improvement of precision is possible if equation (26) can be implicitly solved and incorporated with an interpolation scheme within the constant length segmentation algorithm. Below the details related to this approach are presented. The algorithm adopted in this paper works in an iterative loop going over the entire enhanced data set of the reference trajectory. Starting from the first two points, the distance between the given points is calculated based on the formula given in equation (26). If the calculated distance is smaller than the reference distance R, the second point is incremented by one to calculate the new distance. This procedure is executed until the calculated distance becomes greater than the reference distance R. Once the first point that results with bigger distance (i.e. Pk ) is acquired, then a linear interpolation is made between the last two points Pk and Pk−1 over which at least one exact solution of equation (26) exists for distance R. The intermediate point P∗ with exact solution is recorded as the second reference position point in the constant velocity reference trajectory. The algorithm continues until the last point in the trajectory is obtained. V.

Having acquired a fine resolution trajectory of the given reference curve, one can insert constant velocity constraint over the controlled system. Constant velocity tracking requires the same distance to be traveled at each sampling interval. This distance, represented by R, can be calculated as

0.01

where VT and Ts , respectively, stand for tangential reference constant velocity and sampling period of the real time algorithm. Furthermore, the distance between any two points Pi = [xi , yi , zi ] and Pj = [x j , y j , z j ] over the reference trajectory is given by √ Di j = (x j − xi )2 + (y j − yi )2 + (z j − zi )2 . (26)

0.01 0 0.01 0 −0.01 y (m)

0 −0.01 x (m)

0.01

(B)

Fig. 2: Resolution enhancement: (A) original spatial trajectory, (B) enhanced spatial trajectory

E XPERIMENTAL S YSTEM D ESCRIPTION

Delta robot was first introduced in the early 1980’s by Reymond Clavel [28]. This parallel manipulator was invented to manipulate light and small objects on very high speeds. Main limitation of delta robot was small workspace and disability to operate with heavy objects. These disadvantages actually disappear in micromanufacturing applications. Therefore parallel delta robot was chosen as the manipulation mechanism for the microfactory application [36]. Delta robot used in this work is shown in Fig. 3. It is presented in [37] in detail. Delta robot manipulator consists of fixed base, travelling plate and three kinematic chains used to connect fixed base and travelling plate that actually represents robot’s end effector. Each kinematic chain is composed of upper arm actuated by revolute brushless DC servomotor, and lower arm. Lower arms form a parallelogram, using links and spherical joints. The arms transmit motion from actuated upper links to the moving plate. Parallelism between fixed base and travelling plate is ensured by this formation, and that enforces necessary mechanical constraints to confine the motion into three-dimensional space.

Direct and inverse kinematics of the delta robot are derived according to [28]. Designed delta robot was initially optimized for workspace of 40 (mm) cube, but in the current application 20 (mm) cube is of the interest. Faulhaber 1628024B brushless DC servomotors are actuating manipulator’s joints. These motors are driven by the Faulhaber MCBL 3006S drivers. VI.

E XPERIMENTAL VALIDATION

In this section results of two experiments will be shown. Experiments were undertaken on parallel delta robot described in previous section. Control algorithms were executed on dSPACE1005 control platform, with sampling frequency of 20 kHz. All measurements were undertaken in the joint space. Used encoders are providing 0.01 degrees resolution on the shaft side. These measurements are then mapped to the fixed xyz frame using direct kinematics [28].

designed contour controller that consists of two controllers working in parallel. First one is actually independent joint controller, while second one is a corrective sliding mode controller. Latter controller design is based on transformation of system dynamics from fixed xyz frame to the moving FrenetSerret frame defined for every point on reference trajectory. This controller imposes desired dynamics of tangential, normal and binormal position error, in order to decrease contour error. Experimental results showed significantly superior performance of contour controller in comparison with independent joint control. In our future work we will try to investigate new coordinate transformation for more precise approximation of contour error in 3-D space. We also plan to explore possibility of disturbance compensation in the TNB space, so that acceleration control can be applied.

Independent joint controller (IJC) parameters had these values; K p and Kv are diagonal matrices with diagonal entries equal to 1000 and 100, respectively; disturbance observer filter cut-off frequency was set to g = 1200. Contour controller (CC) had cT = cN = cB = 350 and kT = kN = kB = 3.

−0.055 A

−0.06 −0.065 −0.07 −0.075 0.02

0.02 0 −0.02 −0.02

x (m)

Fig. 4: Contour tracking response

Reference

IJC

CC

−0.061 −0.0615 −0.062 −6 −7

−3

−8

C ONCLUSION AND F UTURE W ORK

y (m)

7

6

5

x (m)

8 −3 x 10

(A) z (m)

In this paper contour tracking control for a parallel delta robot was discussed. Two control techniques were presented and experimentally compared. First technique, independent joint control, is analogous to individual axis tracking control, already discussed a lot in literature. Second method is newly

0

y (m)

x 10

VII.

CC B

z (m)

For both controllers contour errors were calculated as the shortest distance between current position and reference contour. These errors are shown in Fig. 6 after responses for both controllers converge to their reference. It is clear that CC has significantly smaller contour error. Its mean contour error in shown range is 17.39 (µ m), while for IJC it is 62.67 µ m. Maximum contour error for CC is 29.4 µ m and for IJC it is 73.54 µ m. This all proves significant tracking performance improvement when CC is applied.

IJC

−0.05

z (m)

In experimental validation, reference was spiral trajectory, positioned inside 20 mm cube. Feed rate was set to 8 cm/s. IJC and CC were applied in two consecutive experiments, and responses are shown in Fig. 4. Parts of the responses are magnified and shown in Fig. 5. CC provides better tracking performance and faster convergence to reference trajectory. IJC converges to reference trajectory in approximately 0.6 s, and for CC it was 0.2 s. Due to discontinuous sliding mode control, response for CC oscillates in the vicinity of the reference trajectory. Of course, amplitude of these oscillations depends on sampling frequency.

Reference

−0.051 −0.0515 −0.052 −6 x 10

−3

−7 y (m)

−8

6

7

8 −3 x 10

x (m)

(B)

Fig. 3: Delta robot structure

Fig. 5: Contour tracking response: (A) detail A - maximum contour error for CC in this part of response is 26.63 µ m, for IJC it is 66.35 µ m; mean error for CC is 18.48 µ m, for IJC it is 64.28 µ m and (B) detail B - maximum contour error for CC in this part of response is 23.05 µ m, for IJC it is 67.44 µ m; mean error for CC is 14.17 µ m, for IJC it is 65.39 µ m

Contour error (m)

8

x 10

−5

6 IJC CC

4 2 0 0.6

0.8

1

1.2 Time (s)

1.4

1.6

Fig. 6: Contour tracking error

ACKNOWLEDGMENT The authors would gratefully acknowledge Yousef ¨ ˙ITAK Projects 111M359 and Jameel Scholarship Fund, TUB ¨ ˙ITAK B˙IDEB and TUB ¨ ˙ITAK B˙IDEB 2215 for 110M425, TUB ˇ partial financial support, and KONCAR - Electrical Engineering Institute Inc. for providing technical support. R EFERENCES [1] L. Tang and R.G Landers, ”Multiaxis Contour Controlthe State of the Art,” IEEE Trans. on Cont. Syst. Tech., vol. 21, no. 6, pp. 1997–2010, Nov. 2013. [2] K. Srinivasan and P. K. Kilkarni, ”Cross-coupled control of biaxial feed drive servomechanisms,” ASME J. Dynamic Syst., Meas. Cont., vol. 112, no. 2, pp. 225–232, 1990. [3] S. Yeh, and P. Hsu, ”Estimation of the contouring error vector for the cross-coupled control design,” IEEE/ASME Trans. Mech. , vol.7, no.1, pp. 44–51, Mar. 2002. [4] R. G. Landers, ”Error space motion control methodology for complex contours,” Asian J. Cont., vol. 7, no. 1, pp. 20–28, 2005. [5] L. Wang, F. Jin, and Y. Sun, ”Contour control for direct drive XY table,” in Proc. IEEE Int. Conf. Mech. Autom., Changchun, China, Aug. 2009, pp. 4919–4923. [6] A. El Khalick and N. Uchiyama, ”Contouring controller design based on iterative contour error estimation for three-dimensional machining,” Robot. Comput.-Integr. Manuf., vol. 27, no. 4, pp. 802–807, 2011. [7] J. Conway, C. Ernesto, R. Farouki, and M. Zhang, ”Performance analysis of cross-coupled controllers for CNC machines based upon precise realtime contour error measurement,” Int. J. Mach. Tools Manuf., vol. 52, no. 1, pp. 30–39, 2012. [8] S. Chen and K. Wu, ”Contouring control of smooth paths for multiaxis motion systems based on equivalent errors,” IEEE Trans. Cont. Syst. Technol., vol. 15, no. 6, pp. 1151–1158, Nov. 2007. [9] M. Tomizuka, ”Zero phase error tracking algorithm for digital control,” ASME J. Dynamic Syst., Meas. Cont., vol. 109, no. 1, pp. 65–68, 1987. [10] H. Zhang and R. G. Landers, ”Precision motion control methodology for complex contours,” ASME J. Manuf. Sci. Eng., vol. 129, no. 6, pp. 1060–1068, 2007. [11] A. Visioli, G. Ziliani, and G. Legnani, ”Friction compensation in hybrid force/velocity control for contour tracking tasks,” in Industrial Robotics: Theory, Modeling and Control, S. Cubero (Ed.), Rijeka, Croatia: InTech Publication, 2006. [12] X. Wang, N. Liu, and M. Wang, ”Research and implementation of highprecision biaxial tracking control system based on NURBS interpolator,” Int. J. Adv. Manuf. Technol., vol. 52, no. 1–4, pp. 255–262, 2011. [13] Y. Koren, ”Cross-coupled biaxial computer control for manufacturing systems,” ASME J. Dynamic Syst., Meas., Cont., vol. 102, no. 4, pp. 265–272, 1980. [14] Y. Koren and C. C. Lo, ”Advanced controllers for feed drives,” Ann. CIRP, vol. 41, no. 2, pp. 689–698, 1992. [15] F. Huo and A. Poo, ”Improving contouring accuracy by using generalized cross-coupled control,” Int. J. Mach. Tools Manuf., vol. 63, pp. 49–57, Dec. 2012.

[16] G. Wang and T. Lee, ”Neural-network cross-coupled control system with application on circular tracking of linear motor X-Y table,” in Proc. Int. Joint Conf. Neural Netw., vol. 3. Washington, DC, Jul. 1999, pp. 2194–2199. [17] M. Yan, M. Lee, and P. Yen, ”Theory and application of a combined self-tuning adaptive control and crosscoupling control in a retrofit milling machine,” Mechatronics, vol. 15, no. 2, pp. 193–211, 2005. [18] P. Kulkarni and K. Srinivasan, ”Optimal contouring control of multiaxial feed drive servomechanisms,” ASME J. Eng. Ind., vol. 111, no. 2, pp. 140–148, 1989. [19] K. Barton, J. van de Wijdeven, A. Alleyne, O. Bosgra, and M. Steinbuch, ”Norm optimal cross-coupled iterative learning control,” in Proc. IEEE Conf. Dec. Cont., Cancun, Mexico, Dec. 2008, pp. 3020–3025. [20] Y. Wu, J. Shi, C. Su, and Q. Zou, ”A control approach to crosscoupling compensation of piezotube scanners in tapping-mode atomic force microscope imaging, Rev. Sci. Instrum., vol. 80, no. 4, pp. 043709-1–104370910, 2009. [21] J. Chin, Y. Cheng, and J. Lin, ”Improving contour accuracy by fuzzy-logic enhanced cross-coupled precompensation method,” Robot. Comput.-Integr. Manuf., vol. 20, no. 1, pp. 65–76, 2004. [22] L. Tang and R. G. Landers, ”Predictive contour control with adaptive feedrate,” IEEE/ASME Trans. Mech., vol. 17, no. 4, pp. 669–679, Aug. 2012. [23] J. Yen, H. Ho, and S. Lu, ”A decoupled pathfollowing control algorithm based upon the decomposed trajectory error,” in Proceedings IEEE Conf. Dec. Cont., Tampa, Florida, Dec. 1998, vol. 3, pp. 3189–3194. [24] G. T. Chiu and M. Tomizuka, ”Contouring control of machine tool feed drive systems: A task coordinate frame approach,” IEEE Trans. Cont. Syst. Technol., vol. 9, no. 1, pp. 130–139, Jan. 2001. [25] S. Chen, H. Liu, and S. Ting, ”Contouring control of biaxial systems based on polar coordinates,” IEEE/ASME Trans. Mech., vol. 7, no. 3, pp. 329–345, Sep. 2002. [26] B. Yao, C. Hu, and Q. Wang, ”An orthogonal global task coordinate frame for contouring control of biaxial systems,” IEEE/ASME Trans. Mech., vol. 17, no. 4, pp. 622–634, 2012. [27] L. Lu, B. Yao, and W. Lin, ”A two-loop contour tracking control for biaxial servo systems with constraints and uncertainties,” in Proc. Amer. Cont. Conf., Washington, DC, Jun. 2013, pp. 6468–6473. [28] R. Clavel, ”Une nouvelle structure de manipulateur parallle pour la robotique lgre,” APII 23, pp. 501–519, 1989. [29] A. Sabanovic and K. Ohnishi, Motion control systems, 1st ed., Singapore: John Wiley & Sons (Asia), 2011. [30] T. Uzunovic, E. Golubovic, E. A. Baran, and A. Sabanovic, ”Configuration Space Control of a Parallel Delta Robot with a Neural Network Based Inverse Kinematics,” in Proc. Int. Conf. Electric. and Electron. Eng., Bursa, Turkey, Nov. 2013, pp. 497–501. [31] T. Murakami and K. Ohnishi, ”Observer-based motion control applications to robust control and parameter identification,” in Asia-Pacific Workshop on Adv. in Mot. Cont., 1993, pp. 1–6. [32] E. A. Baran, E. Golubovic, and A. Sabanovic, ”Functional observers for motion control systems,” Automatika, vol. 54, no. 2, pp. 231–241, 2013. [33] Y. Yun, L. Wang, and L. Guan, ”Dimensional synthesis of a 3DOF parallel manipulator,” in Proc. IEEE Int. Conf. Systems, Man and Cybernetics, Oct. 2004, pp.5317–5323 vol. 6. [34] E. Golubovic, E. A. Baran, and A. Sabanovic, ”Contouring Controller for Precise Motion Control Systems,” Automatika, vol. 54, no. 1, pp. 19–27, 2013 [35] E. A. Baran, E. Golubovic, T. E. Kurt, and A. Sabanovic, ”Constant Velocity Control of a Miniature Pantograph with Image Based Trajectory Generation,” in Proc. Asian Cont. Conf., Istanbul, Turkey, Jun. 2013, [36] E.D. Kunt, ”Microfactory concept with bilevel modularity,” PhD dissertation, Sabanci University, Istanbul, Turkey, 2012. [37] E. D. Kunt, A. T. Naskali, and A. Sabanovic, ”Miniaturized modular manipulator design for high precision assembly and manipulation tasks”, in Proc. IEEE Int. Workshop Adv. Mot. Cont., Sarajevo, Bosnia and Herzegovina, Mar. 2012.