Neural Process Lett DOI 10.1007/s11063-008-9079-8

Visual Motor Control of a 7 DOF Robot Manipulator Using Function Decomposition and Sub-Clustering in Configuration Space Swagat Kumar · Naman Patel · Laxmidhar Behera

© Springer Science+Business Media, LLC. 2008

Abstract This paper deals with real-time implementation of visual-motor control of a 7 degree of freedom (DOF) robot manipulator using self-organized map (SOM) based learning approach. The robot manipulator considered here is a 7 DOF PowerCube manipulator from Amtec Robotics. The primary objective is to reach a target point in the task space using only a single step movement from any arbitrary initial configuration of the robot manipulator. A new clustering algorithm using Kohonen SOM lattice has been proposed that maintains the fidelity of training data. Two different approaches have been proposed to find an inverse kinematic solution without using any orientation feedback. In the first approach, the inverse Jacobian matrices are learnt from the training data using function decomposition. It is shown that function decomposition leads to significant improvement in accuracy of inverse kinematic solution. In the second approach, a concept called sub-clustering in configuration space is suggested to provide multiple solutions for the inverse kinematic problem. Redundancy is resolved at position level using several criteria. A redundant manipulator is dexterous owing to the availability of multiple configurations for a given end-effector position. However, existing visual motor coordination schemes provide only one inverse kinematic solution for every target position even when the manipulator is kinematically redundant. Thus, the second approach provides a learning architecture that can capture redundancy from the training data. The training data are generated using explicit kinematic model of the combined robot manipulator and camera configuration. The training is carried out off-line and the trained

S. Kumar · N. Patel · L. Behera (B) Department of Electrical Engineering, Indian Institute of Technology Kanpur, Kanpur 208 016, Uttar Pradesh, India e-mail: [email protected] Present Address: L. Behera School of Computing and Intelligent Systems, University of Ulster, Magee Campus, Ulster, UK S. Kumar e-mail: [email protected] N. Patel e-mail: [email protected]

123

S. Kumar et al.

network is used on-line to compute the joint angle vector to reach a target position in a single step only. The accuracy attained is better than the current state of art. Keywords VMC · Visual motor coordination · 7 DOF robot manipulators · PowerCube · Function decomposition · Sub-clustering · Redundancy resolution · KSOM · Inverse kinematics

1 Introduction Visual motor coordination or control is the task of guiding a robot manipulator to reach a target point in its workspace using visual feedback. This involves primarily two tasks namely, extracting the coordinate information of robot end-effector and target point from camera images and, then finding out necessary joint angle movement to reach the target point. The first task involves camera calibration to find out an approximate model of the camera so that a mapping from pixel coordinates to real world coordinates is obtained. Tsai’s algorithm [1] is one of the most widely used method for this purpose. The second task is more commonly known as solving inverse kinematic problem. Robots with seven or more degrees of freedom (DOF) are kinematically redundant, since six joints are sufficient for arbitrary end-effector placement (including position and orientation). Although the availability of ‘extra’ joints can provide dexterous motion of the arm, proper utilization of this redundancy poses a challenging and difficult problem [2]. The extra degrees of freedom may be used to meet the joint angle limits, avoid obstacles as well as kinematic singularity or optimize additional constraints like manipulability or force constraints. A number of techniques have been proposed in literature to resolve redundancy [2–5]. However, most of these techniques resolve redundancy at velocity or acceleration level. Several neural network based learning models have been proposed during last two decades to solve the inverse kinematic problem in visual motor control paradigm. Kohonen’s self organizing map [6] (KSOM) based neural architectures have been found to be useful for solving inverse kinematic problems for 3 DOF manipulators [7–10]. Parametrized self organizing maps (PSOM) [11] have been used by many researchers for solving inverse kinematic problem of manipulators with higher degrees of freedom [12,13]. However, all these existing learning architectures do not preserve redundancy and provide unique inverse kinematic solution even for a redundant manipulator. Moreover, these learning architectures require multiple steps to reach a target where the error correction between the target and the end-effector is obtained through visual feedback. This paper is concerned with finding a feasible inverse kinematic solution of a 7 DOF robot manipulator for pick and place applications. The task is to compute the joint angle vector for a given end-effector position without using any orientation information. The main objective is to enable the robot manipulator to reach a target instantly (single step) using the visual feedback of the target only. The learning architecture consists of a 3-dimensional KSOM lattice which discretizes the input and output spaces into a cluster of disjoint cells. Within each pair of input–output cells, a local linear map is learnt to capture the inverse kinematic relationship between them. Unlike existing KSOM based clustering scheme, an algorithm that can preserve the fidelity of input data has been proposed. This new clustering algorithm allows an actual input data vector to become a cluster centre. The advantage of this approach is that only Jacobian Matrices have to be learnt, not the output joint angle vector for each discrete cell. This approach also prohibits an unreachable point to become a cluster centre.

123

Visual Motor Control of a 7 DOF Manipulator

The inverse kinematic map is linearized around each cluster centre and this linear map necessitates the knowledge of an inverse Jacobian matrix which is unknown. Since only the position information is used, the Jacobian matrix turns out to be rectangular. The inverse Jacobian matrices associated with cluster centres are estimated using linear least square methods. Note that this approach is different from the earlier methods [7,8] where the Jacobian using a supervised gradient-descent based incremental learning scheme. All standard single-step approaches using multi-layered networks or SOM based architecture yield very good positioning accuracy in case of 3DOF manipulators. However, the positioning accuracy deteriorates rapidly as the number of degrees of freedom increases. Performance further degrades when the manipulator is redundant. Thus a function decomposition technique has been proposed where the actual joint angle vector is divided into two vectors of lesser dimension and the effect of one vector is decoupled from the other. This in turn necessitates estimating Jacobian matrices of smaller dimensions for the same set of data. It is shown that the function decomposition approach leads to significant improvement in the positioning accuracy. In case of redundant manipulators, the number of available configurations for a given target point may be infinite. It is thus pertinent to reduce the number of such available solutions to a countable finite number so that the selection of a desired configuration that best suits the given task becomes easy. With this objective, a learning architecture based on the concept of sub-clustering has been proposed in this paper where each KSOM lattice node is associated with several sub-clusters in the joint angle space. Note that the current KSOM architectures do not preserve redundancy available in the training data and provide only one solution for any target point in its workspace. The proposed methods have been implemented in real-time on a 7DOF PowerCube™ manipulator from Amtec Robotics [14]. Following section describes the system model for visual motor coordination. KSOM based inverse kinematic solution is explained in Sect. 3. The proposed clustering algorithm is discussed in Sect. 3.2. The function decomposition based scheme to learn the inverse Jacobian matrices is described in Sect. 4. Redundancy resolution using sub-clustering in joint angle space is considered in Sect. 5.1. The simulation and experimental results are provided in Sect. 6 followed by conclusion in Sect. 7.

2 System Model 2.1 Experimental Setup The schematic of visual-motor control setup is shown in Fig. 1. It consists of a stereo-camera system, a robot manipulator and a processing unit for running algorithm. Image processing part is used to extract 4 dimensional image coordinate vectors for current robot position (Pr ) and target point (Pt ) to be reached in the workspace. The Neural network module implements KSOM algorithm to find the necessary joint angle vector θ , which in turn drives the robot manipulator through a joint-servo module. 2.2 The Manipulator Model We use a 7 degree of freedom (DOF) PowerCube™ robot manipulator for experimentation. The model of the manipulator is derived from its link geometry. The forward kinematic equations for the manipulator end-effector position are given by

123

S. Kumar et al.

Fig. 1 Schematic of visual motor coordination

x = (−(((c1 c2 c3 − s1 s3 )c4 − c1 s2 s4 )c5 + (−c1 c2 s3 − s1 c3 )s5 )s6 + (−(c1 c2 c3 − s1 s3 )s4 − c1 s2 c4 )c6 )d7 + (−(c1 c2 c3 − s1 s3 )s4 − c1 s2 c4 )d5 − c1 s2 d3 y = (−(((s1 c2 c3 + c1 s3 )c4 − s1 s2 s4 )c5 + (−s1 c2 s3 + c1 c3 )s5 )s6 + (−(s1 c2 c3 + c1 s3 )s4 − s1 s2 c4 )c6 )d7 + (−(s1 c2 c3 + c1 s3 )s4 − s1 s2 c4 )d5 − s1 s2 d3 z = (−((s2 c3 c4 + c2 s4 )c5 − s2 s3 s5 )s6 + (−s2 c3 s4 + c2 c4 )c6 )d7 + (−s2 c3 s4 + c2 c4 )d5 + c2 d3 + d1

(1)

where various parameters are: d1 = 0.390 m, d3 = 0.370 m, d5 = 0.310 m, d7 = 0.2656 m, ci = cos θi , si = sin θi , i = 1, 2, . . . 6. Note that the end-effector position [x y z]T does not depend on the seventh joint angle. However, the techniques provided in this paper are applicable to any number of joints. 2.3 The Camera Model The tip of the robot end-effector is viewed through a pair of cameras. In order to derive the forward kinematic model between the joint angle vector and the image coordinates of the end-effector, we need to convert the Cartesian coordinate of the end-effector into its corresponding pixel coordinates in the image plane. This necessitates a camera model. Camera calibration consists of estimating model parameters for an un-calibrated camera. Tsai’s algorithm [1] is used to estimate 11 camera parameters. Six of them are called extrinsic parameters (Rx , Ry , Rz , Tx , Ty , Tz ) and remaining five of them are called intrinsic (f, κ, Cx , Cy , sx ) parameters.

123

Visual Motor Control of a 7 DOF Manipulator

The relationship between the position of a point P in the world coordinates (xw , yw , zw ) and its pixel coordinate in the image plane of camera’s frame buffer (xf , yf ) is defined by a sequence of coordinate transformations. The image coordinate of point P is given by sx xd xf = + Cx dx yd yf = + Cy (2) dy where sx is the scaling factor, (dx , dy ) are the dimensions of camera’s sensor element along x and y directions, (Cx , Cy ) is the pixel coordinate of the centre of image plane and (xd , yd ) is the true position on image plane considering radial distortions. The detailed description about model parameters and transformation equations have been omitted here for the sake of brevity. Interested readers may refer to [1] and [9] for further details. 2.4 The Problem Definition The forward map between the 7-dimensional joint angle space and the 4-dimensional image coordinate space is obtained by using manipulator forward kinematic model (1) and camera model (2). This forward mapping may be represented as u = f(θ )

(3)

where u = [u1 u2 u3 u4 is the 4-dimensional image coordinate vector obtained from two cameras using equations (2) and θ = [θ1 θ2 θ3 θ4 θ5 θ6 θ7 ]T is the 7-dimensional joint angle vector. In this paper, we are interested in finding a feasible joint angle vector θ for a given target end-effector position. This may be represented as ]T

θ = f −1 (ut ) = r(ut )

(4)

where ut is the target position in 4-dimensional image coordinate space to be reached by the robot end-effector and θ is the 7-dimensional joint angle vector to be computed. Since the dimension of configuration space is more than the dimension of task space, the inverse kinematic relationship (4) is ill-posed and has many or infinite number of solutions. The inverse kinematic solution using SOM approach proposed in this paper has following new features: – A Kohonen self organized map (KSOM) based learning architecture using a new clustering algorithm is proposed to reach a target point in a single step only. – A function decomposition in joint space is proposed to estimate inverse Jacobian matrices. – A learning architecture based on a concept called sub-clustering in configuration space is suggested to provide multiple solutions for the inverse kinematic problem. This is the first learning architecture that preserves redundancy.

3 Inverse Kinematic Solution of a 7 DOF Manipulator Using KSOM As mentioned above, the inverse kinematic relationship (4) is a one-to-many mapping and hence difficult to learn. The inverse kinematic map using 3-dimensional KSOM lattice is shown in Fig. 2. In this approach, the input space is discretized into P disjoint cells where γ is the index for each cell in the lattice. A linear map of this inverse kinematic relation (4) within γ th cell using first order Taylor’s series expansion is derived as

123

S. Kumar et al.

KSOM lattice

γ 1

2 7

6

6

3

Aγ 5

2

1

θγ



5

4

3

7 4

Output (configuration) space Input (Image Coordinate) space

Fig. 2 Discretization of input and output spaces using KSOM

θ − θγ = Aγ (x − wγ ); Aγ =

∂r ∂x

(5)

where wγ and θγ are parameters associated with the centre of γ th cell. The matrix Aγ is the inverse Jacobian matrix. The proposed clustering algorithm in this paper learns both wγ and θγ for each cell. Thus the only unknown parameter Aγ in Eq. 5 can be easily estimated from the training data. For a 7 DOF manipulator, the last joint angle does not contribute towards the end-effector position. Thus the weight vector wγ is of dimension 4 × 1, the joint angle vector θγ is of dimension 6 × 1 and the inverse Jacobian matrix Aγ is of dimension 6 × 4. Since for every wγ , only one joint angle vector θγ is associated with it within each cell, this method gives a unique inverse kinematic solution for every target point, even for a redundant manipulator. 3.1 Computation of Inverse Jacobian Matrix The inverse Jacobian matrix Aγ for each cell is estimated using training data set (xi , θi ), i = 1, 2, . . . , N . Whenever the cell γ is a winner as per Euclidean distance measure, the corresponding linear map (5) unknown in Aγ can be expressed as: (xi − wγ )T ATγ = (θi − θγ )T ; i = 1, 2, . . . , N

(6)

Thus a set of linear equations is derived as Xγ ATγ = γ

(7)

where Xγ ∈ R N×4 and γ ∈ R N×6 are the collected data sets and ATγ ∈ R 4×6 is the matrix of parameters to be estimated. This set of linear equations is solved for Aγ by using standard linear least square method. A gradient-descent based incremental learning may also be used to estimate the inverse Jacobian matrix Aγ . After training, the joint angle vector corresponding to a target location obtained from a camera pair is derived for the winning γ cluster as per Eq. 5. Hence the required joint angle vector for a given target point is computed using above equation in just one step. Moreover this approach gives a unique solution for the inverse kinematic problem.

123

Visual Motor Control of a 7 DOF Manipulator

3.2 KSOM based New Clustering Algorithm The proposed single-step inverse kinematic solution using Eq. 5 is possible if the clustering algorithm can provide the exact joint angle vector θγ corresponding to the input vector wγ . Since the training data contains such information, a new KSOM clustering algorithm is proposed in this paper. In the current KSOM based learning architectures, the lattice nodes capture the topology only in input space. Since the distribution of data points in 6-dimensional joint angle space is highly non-uniform, the standard KSOM clustering algorithm may give rise to cluster centres which do not represent the training data. These cluster centres are called outliers. In the context of robot manipulators, such outliers may represent unreachable [15] or singular points [16]. In the proposed clustering algorithm, the training data contains both (x, θ ) which are generated using forward kinematic model (1) and camera model (2). The cluster centres are obtained using following two steps: 1. The standard KSOM clustering [6] is carried out only in 4-dimensional input (image coordinate) space. Since the data points are uniformly generated in the manipulator workspace, the weight vectors wγ spread out to capture the topology of the input space after clustering as shown in Fig. 3(a,b). 2. Each cluster centre obtained in step 1 is replaced by an actual training data vector as follows: (a) For each cluster centre γ , all training data vectors (x, θ ) are collected for which this cluster centre is a winner. Let us assume that there are Mγ number of such data vectors for this cluster centre γ . (b) In this collected set, mth data point for which m = arg min xi − wγ , i = 1, 2, . . . , Mγ i

is selected as the new cluster centre. That is, wγ = xm ; θγ = θm It should be noted that the joint angle vector associated with each cluster centre is obtained without clustering the joint angle space. The distribution of cluster centres in the joint angle space using the proposed scheme is shown in Fig. 3(c,d). It is observed from this figure that the cluster centres capture the topology in the input as well as output spaces. The squares represent the cluster centres and the ‘+’ marks represent input training data. It is seen that the outliers are not present, as all the cluster centres are surrounded by the data points. Reaching a target using standard KSOM based VMC architectures [7,8] in a single step is not possible. Thus proposed clustering scheme is necessary and innovative to make a robot manipulator reach any arbitrary target using a single step movement with reasonable accuracy.

4 Inverse Kinematic Solution Using Function Decomposition Even though the scheme described in Sect. 3 can provide good accuracy for 3DOF non-redundant manipulators, the accuracy deteriorates rapidly as the number of degrees of freedom increases. In case of redundant robot, the accuracy further degrades since many sets of joint angle vectors (θi ) are associated with same input vector (xi ) in the training data. In order to improve positioning accuracy, a novel function decomposition scheme is proposed here. Instead of representing the linear map with each cell using Eq. 5, the linear map

123

S. Kumar et al. 1

1 Input Data Lattice neuron vector (wγ)

Input Data Lattice neuron vector (wγ)

0.5

Y - Pixel

Y - Pixel

0.5

0

0

-0.5

-0.5

-1

-1 -1

0

-0.5

(a)

1

0.5

-1

-0.5

X - Pixel

(b) Input data Lattice neuron vector (θγ )

θ3 1

1 0.8

0.6

0.6

0.4

0.4

1

0.5

Input data Lattice neuron vector (θγ )

θ6

0.8

0.2

0

X - Pixel

0.2

0

0

-0.2

-0.2

-0.4

-0.4

-0.6

-0.6

-0.8

-0.8

-1 -1 -0.8 -0.6 -0.4 -0.2

θ1

-1 1 0

0.2

0.4

0.6

0.8

1 -1

-0.4 -0.2 -0.8 -0.6

0

0.6 0.8 0.2 0.4

1

0.8

0.6

θ5

0.4

0.2

0

θ2

(c)

-0.2 -0.4 -0.6 -0.8

-0.2 -0.6 -0.4 -1 -1 -0.8

0

0.6 0.8 0.2 0.4

1

θ4

(d)

Fig. 3 Clustering in output space. KSOM lattice nodes capture the topology in output space. Moreover, the clustering is devoid of outliers

is established in a reduced dimension by decomposing the 6-dimensional joint angle vector into two 3-dimensional vectors. In other words, the joint angle vector can now be represented as θ = [φ ψ]T . φ refers to the joint angle vector of first three links while ψ refers to the joint angle vector of next three links. The inverse kinematic relationship (4) may now be decomposed into following two reduced order equations: φ = g(x, ψγ )

(8)

ψ = h(x, φγ )

(9)

In other words, first 3 joint angles are computed as a function of end-effector position x when last 3 joint angles are held constant at ψγ . Similarly, last 3 joint angles are computed as a function of end-effector position when first 3 joint angles are held constant at φγ . Using first order Taylor’s series expansion, the inverse kinematic relationship for every cell γ is expressed as: ∂g |ψ ∂x γ ∂h |φ = ∂x γ

φ − φγ = Aψγ (x − wγ ); Aψγ =

(10)

ψ − ψγ = Aφγ (x − wγ ); Aφγ

(11)

Each cluster centre of KSOM lattice wγ , θγ = (φγ , ψγ )T is learned using the algorithm proposed in Sect. 3.2. The training of inverse Jacobian matrices Aφγ and Aψγ of dimension 3 × 4 associated with this cluster centre is not as straight-forward as described in Sect. 3.1.

123

Visual Motor Control of a 7 DOF Manipulator

4.1 Computation of Jacobian Matrices The inverse Jacobian matrices are learnt using following steps: 1. For a given data point (x, [φ, ψ]), winners are selected among wγ , φγ and ψγ respectively. The index of winner cluster in these three spaces µ, α and λ respectively are computed as follows: µ = arg min x − wγ 

(12)

α = arg min φ − φγ 

(13)

λ = arg min ψ − ψγ 

(14)

γ γ γ

2. Following the principle of linearization, following linearized equations unknown in inverse Jacobian matrices are formulated: φ − φα = Aψλ (x − wµ )

(15)

ψ − ψλ = Aφα (x − wµ )

(16)

3. Such linear equations as given in part (2) for each λ and α clusters are generated. Then the matrices Aψλ and Aφα are obtained by using least square technique. After training, the joint angle vector is computed as per Eqs. 10–11.

5 Preserving Redundancy Using Sub-Clustering in Configuration Space The learning architecture using function decomposition as discussed in the previous section gives us a unique inverse kinematic solution for any point in the workspace. In fact all existing learning architectures provide a unique inverse kinematic relation even for a redundant manipulator. In this section, we propose a change in KSOM based learning architecture using the concept of sub-clustering to preserve redundancy available in the training data. The concept of sub-clustering is illustrated pictorially in Fig. 4. The basic idea is to associate multiple joint angle vectors with every weight vector. The steps involved in this scheme are enumerated as follows: 1. KSOM clustering is carried out in the input (image coordinate) space such that the weight vector wγ discretizes the 4-dimensional input space effectively. 2. For each node γ , all data points (xi , θi ), i = 1, 2, . . . , M are collected for which wγ is the winner and the nearest data point xm in this set is chosen as the new value for wγ . In other words we have wγnew = xm ; where m = arg min xi − wγ  i

3. Since each lattice node γ is also associated with M sets of 6-dimensional joint angle vectors θi , i = 1, 2, . . . , M, a fixed number of clusters (say, Nc ) are formed among these data points using K-mean clustering. Hence each lattice node γ is associated with one weight vector wγ and Nc number of joint angle vectors represented by θγr , r = 1, 2, . . . , Nc . To avoid data corruption, the joint angle sub-clusters are replaced with the corresponding nearest data points. 4. Now the Jacobian matrix Arγ associated with each joint angle sub-cluster θγr is computed using least-square method as explained in Sect. 3.1. In this case, all the data points (x, θ ) are collected for which the indices (γ , r) are winners.

123

S. Kumar et al. Fig. 4 Sub-clustering in joint angle space: Each node γ is associated with one weight vector wγ and several θ vectors

A1γ A2γ



A3γ

θ1γ θ2γ θ3γ

γ

3-dimensional KSOM lattice

5.1 Redundancy Resolution in Case of Redundant Manipulators For a given target point xt , a winner neuron wµ is selected based on minimum Euclidean distance as shown below: µ = arg min x − wγ  γ

(17)

Because of sub-clustering, this winner neuron is associated with Nc number of joint angle vectors given by θµr , r = 1, 2, . . . , Nc vectors. Hence we can say that Nc number of inverse kinematic solutions are available for each target point xt . Among the available configurations, a particular configuration can be chosen based on several criteria. Following three criteria are used to compute the the index of the winning sub-cluster: 1. Minimum end-effector positioning error: the angle vector which gives minimum endeffector positioning error is selected. This necessitates a priori knowledge of manipulator forward kinematics. α = arg min X(θµr ) − xt  r

(18)

where X(θµr ) is the end-effector position obtained using joint angle vector θµr . 2. Minimum angle norm: The angle vector which is not only closest to the target point but also has a minimum norm is selected. The index of winning sub-cluster in this case is given by α = arg min θµr  r

(19)

3. Lazy arm movement: The angle vector which is not only closest to the target point but also leads to minimum joint angle movement. The index of winning sub-cluster is given by α = arg min θc − θµr  r

where θc is the current robot configuration.

123

(20)

Visual Motor Control of a 7 DOF Manipulator

Once the winner index pair (µ, α) is known, the final joint angle vector necessary for reaching the target point xt is given by θ = θµα + Aαµ (xt − wµ )

(21)

In case of lazy arm or minimum angle norm criterion, one needs to search for those configurations which not only minimize the end-effector positioning error but also accomplish the additional task of minimizing angular displacement or angle norm respectively. The search is repeated over the remaining sub-clusters to find the next winning sub-cluster which satisfying both the criteria. Usually 3 to 4 iterations are sufficient for finding the desired configuration for a target point.

6 Simulation and Experimental Results A 3-dimensional neural lattice with 10 × 10 × 10 nodes is selected for the task. Training data is generated using forward kinematic model (1) and camera model (2). Joint angle values are generated randomly within their physical limits and only those end-effector positions are retained which are visible by both cameras simultaneously. Since end-effector position and joint angles have different range of values, all data points are normalized within ±1. For providing a comparison between the current schemes and the new schemes proposed in this paper, we term the current VMC schemes as the standard KSOM based schemes or simply standard KSOM. On the other hand, the least square based method described in Sect. 3.2 is termed as LS and its function decomposition variant is termed as LS with FD. 6.1 Case I: Solving Inverse Kinematics Using Function Decomposition The training is carried out as explained in Sects. 3 and 4. 200,000 random data points are used for training the KSOM network. Training involves clustering in input and output spaces and computing inverse Jacobian matrices using least square technique. During testing phase, 100,000 points are picked up randomly from the workspace and the necessary joint angle movements computed in a single step using the methods described in Sects. 3 and 4. The performance of the proposed scheme is compared with the existing KSOM based learning schemes [7–9] and the quantitative comparison is provided in Table 1. The performance is specified in terms of average positioning error defined as the distance between the actual end-effector position and the desired position. It can also be termed as the mean absolute deviation error between desired and actual values. It is observed that the current VMC (standard KSOM based) schemes give a positioning accuracy of about 8 cm in a single step. The joint angles are found to exceed the physical

Table 1 Effect of function decomposition on positioning error as measured on test set Type

No. of training data

Average positioning error in image plane (in pixels) 26.2412

Standard KSOM

200000

LS with FD

200000

LS

200000

9.07985 94.9381

Average positioning error in Cartesian plane (m) 0.080758 0.0298744 0.284592

123

S. Kumar et al.

limits of the manipulator and hence cannot be applied to real systems. This is attributed to the fact that the lattice nodes in current schemes do not capture the topology of input and output spaces simultaneously. Moreover the performance of the algorithm is sensitive to initial values of weights and hence the results are obtained by averaging them over 10 runs where each run starts with a random initialization of parameters. The performance does not improve on increasing the number of training points. The least square based scheme with 6 × 4 dimensional Jacobian matrices (refer to Sect. 3) gives a positioning accuracy of 28 cm. This is worse than what we obtained in the above paragraph. However, it is to be noted that for a 3DOF non-redundant manipulator this approach gives an accuracy of about 3 mm in a single step movement which is attained by the current schemes in several iterative steps. The performance of the least square based approach deteriorates as the number of degrees of freedom increases. It is seen that the function decomposition (FD) based scheme significantly improves the performance of the least square approach and gives an accuracy of about 2 cm in just one step. Since the topology is captured both in input and output spaces, the joint angles are found to lie within the physical joint limits and hence can be implemented on real systems. The performance of FD based schemes can be improved by increasing the number of training data points. 6.2 Case II: Redundancy Resolution Using Sub-Clustering Since the number of parameters in sub-clustering method are more than the previous methods, nearly 500,000 randomly generated data points are needed for training the KSOM network. As usual, the performance is tested on 100,000 data points selected randomly from the manipulator workspace. Sub-clusters in joint angle space are created using K-mean clustering (KMC) technique. The maximum number of sub-clusters chosen for any node is Nc = 35. Within a certain accuracy limit, the sub-clustering approach gives rise to multiple solutions for a given target position and hence one needs to resolve redundancy. The available multiple solutions that lead to positioning error less than 5 cm is shown in Fig. 5a. Figure 5b shows manipulator end-effector positions attained by all available configurations. The redundancy is resolved using three criteria namely, minimum positioning error movement, lazy arm and minimum angle norm. The comparative performance analysis is provided in Table 2. It is observed that all three criteria give rise to similar average positioning error of 1 cm as the robot manipulator reaches the target point from any initial configuration in a single step. The redundancy resolution for a given target point using three different criteria is shown in Fig. 6. An iterative search scheme is employed in finding the configurations that progressively minimize the positioning error apart from satisfying the additional constraint. In this figure it is seen that the search algorithm takes only two iterations in case of lazy-arm movement and 3 iterations in case of minimum angle norm movement to reach the target point. The trained network is used on-line to compute the joint angle vector in just one step. Reaching any arbitrary target point in a single step with an average positioning error of ∼ 1 cm is the best possible result one can obtain using any existing neural network based schemes. In contrast, the approach in [13] achieves an average positioning error of ∼ 1 cm in approximately 50–100 incremental steps. Moreover, this later approach uses orientation feedback as well and the robot manipulator has only 6 degrees of freedom. 6.3 Real-Time Experiment The actual setup used for experiment is shown in Fig. 7. The Cartesian workspace visible by both cameras has a dimension of 600 mm × 600 mm × 500 mm. The image frame has

123

Visual Motor Control of a 7 DOF Manipulator Final Config

(a)

Target

Z (m) 0.8 0.7 0.6 0.5 0.4 0.3 0.2

Robot Base

0.1 0 -0.2

-0.1

0

0.1

0.2

Y (m)

0.3

0.4

0.5

-0.3 -0.2 -0.1 0 X 0.1 0.2 0.3 0.4

(m)

distance error < 5 cm distance error < 10 cm distance error < 20 cm Target

(b) Z (m)

0.44 0.42 0.4 0.38 0.36 0.34 0.32 0.3 0.3 0.28 0.08 0.1 0.26 0.12 0.14 0.16 0.18 0.24 0.2 0.22 0.22 0.24 0.26 0.28 X (m)

0.36 0.34 0.32

Y (m)

Fig. 5 The available inverse kinematic solutions for a given target point arising out of sub-clustering in configuration space. (a) Available configuration for a given target point. Only those configurations are shown which give less than 5 cm end-effector positioning error. (b) Manipulator end-effector positions attained by all available configurations. The sphere has a radius of 5 cm Table 2 Positioning accuracy obtained in sub-clustering based scheme Redundancy resolution criteria

Average positioning error in image coordinate space (pixels)

Average positioning error in Cartesian space (m)

Minimum positioning error

4.05462

0.0123858

Lazy arm movement

4.05873

0.0124

Minimum angle norm

4.05072

0.0123593

a dimension of 320 × 240 pixels. An yellow ball is taken as a target and the robot tip is identified using pink colour. The initial location of robot end-effector and target in image plane is shown in Fig. 8a. The regions of interest are extracted using thresholding and filtering operations. The centroid of the region is used by the VMC algorithm to compute necessary joint angles. These joint angles are applied to the robot and it moves to a position as shown in Fig. 8b. This figure shows the final state of manipulator obtained after robot movement.

123

S. Kumar et al. Previous robot configuration Min theta norm - step 1 Min theta norm - step 2 Min theta norm - step 3

Z (m)

Lazy arm - step 1 Lazy arm - step 2

0.7

Min positioning error 0.6

Target Point

0.5 0.4 0.3 Robot Base 0.2 0.1 0

0

0.1

0.2

0.3

0.4

Y (m)

0.5

0.6

0.7

-0.1 -0.05 0 0.05 0.1 X (m) 0.15 0.2 0.25 0.3

Fig. 6 Resolving redundancy using three criteria. The search scheme employed in case of Lazy arm and minimum angle criteria is shown in iterations the figure. The search algorithm takes 3 iterations in case of minimum angle norm movement and 2 steps in lazy arm movement to find the desired solution

Fig. 7 Experimental setup for VMC experiment

The error is computed after making corrections for the pixel width of the robot end-effector as well as the target object. The extraction of target and robot end-effector position in image plane is shown in Fig. 8. All image processing tasks were carried out using OpenCV library [17]. The algorithm was implemented using Visual C on a computer with Intel Pentium 4 1.8 GHz processor. The cameras are calibrated using Reg Wilson’s C implementation of Tsai algorithm [18]. The average error between the actual pixel position on image plane and the one obtained from model is about 4 pixels.

123

Visual Motor Control of a 7 DOF Manipulator

Fig. 8 Extraction of pixel coordinates for robot end-effector and target. Initial state is the state before robot movement. The final state refers to the state obtained after robot movement

As mentioned earlier, we use the hybrid approach proposed by Behera and Kirubanandan [9] where the KSOM network is trained off-line by generating data from the model rather than from the actual system. It is not convenient to generate huge amount of training data on-line. The off-line training with 500000 data points takes around 20 min on a SGI workstation. The trained network was used on-line to compute joint angle vectors for 20 random locations in the manipulator workspace. Since it was not possible to accurately measure the manipulator tip positions in world coordinate, we measured the average distance error directly in pixel coordinates. The average pixel distance error in function decomposition method was computed to be around 14 pixels and it reduced to 8 pixel errors when sub-clustering method was used. In other words, actual distance errors (Cartesian coordinate) obtained in real-time experiment was 1 cm more than those obtained in simulation. This error is attributed to the error in camera model that was used for training the KSOM network. Since the computation of joint angle vector for a given target point takes only one step, it was easily implementable in real time. The total loop time for a single target point is 100 milli-seconds. This includes time for grabbing and processing the image frames, computing the required joint angle vector and driving the robot manipulator with the given joint angles. With this loop time, it is possible to use a camera with nearly 10 frames per second (FPS) video capture rate.

7 Conclusion Novel visual motor coordination schemes using KSOM lattice for a 7 DOF robot manipulator have been proposed in this paper. The proposed schemes enables a robot manipulator to reach a target in one step. A new clustering algorithm has been proposed where one of the training data vector that is closest to the usual Kohonen cluster is selected as the cluster point. This approach helps us to preserve actual joint angle vector associated with the input data and we just have to learn only inverse Jacobian matrices. We also showed that the proposed clustering scheme can avoid outliers. Two different approaches have been proposed to provide a feasible inverse kinematic solution without using orientation feedback. A function decomposition based strategy is suggested to improve the accuracy of inversekinematic solution, where the effect of first 3 joint angles and last 3 joint angles on end-effector position is decoupled. Two inverse Jacobian matrices are learnt, one for each 3-dimensional

123

S. Kumar et al.

joint angle vector. However, this method returns a unique solution for the inverse kinematic problem. A new KSOM based learning architecture using the concept of sub-clustering has been proposed to preserve redundancy. In this scheme, each lattice node is associated with multiple joint angle vectors. Hence it is possible to select one among the available configurations using different criteria. Redundancy has been resolved at position level using three criteria and performance comparison is provided. It has been shown that an accuracy of approximately one cm can be achieved using proposed methods in a single step. These results are very exciting since such an accuracy could be achieved using more than 50 incremental steps for a 6 DOF manipulator using orientation feedback [13]. Although existing neural network based visual motor coordination algorithm can achieve average positioning error of 2 mm for a 3 DOF robot manipulator, the performance very much degrades as the degrees of freedom increases. As shown in this paper, for a redundant manipulator of 7DOF the average positioning error can be as high as 26 cm. Thus proposed schemes in this paper have the credibility that the average positioning error can be as low as 1 cm. Proposed schemes are implemented in real time on a 7DOF PowerCube [14] manipulator and the experimental results are found to concur with simulation results. Although neural network has been trained off-line using training data generated using explicit kinematic model of the experimental setup, inverse Jacobian matrices can be learned on-line which will be time consuming. Also it is fascinating to see that off-line trained network based on explicit kinematic model of the experimental set up works very well in experiment. As mentioned earlier, an off-line approach as taken in this paper does not allow for improvement in the positioning accuracy during online operation. We are currently developing an on-line version of the schemes proposed in this paper, where the network parameters are updated incrementally rather than solving the set of linear equations once. The incremental learning is to be carried out even during the testing phase. This would reduce the number of examples needed for off-line training without loss of accuracy during on-line operation. Acknowledgements This work was supported by Department of Science and Technology (DST), Govt. of India under the project titled “Intelligent control schemes and application to dynamics and visual control of redundant manipulator systems”. The project number is DST/EE/20050331.

References 1. Tsai RY (1987) A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses. IEEE J Rob Autom RA-3(4):323–344 2. Seraji H, Long MK, Lee TS (1993) Motion control of 7-DOF arms: the configuration control approach. IEEE Trans Robot Autom 9(2):125–139 3. Dubey RV, Euler JA, Babcock SM (1991) Real-time implementation of an optimization scheme for 7DOF redundant manipulators. IEEE Trans Robot Autom 7(5):579–588 4. Tevatia G, Schaal S (2000) Inverse kinematics of humanoid robots. In: Proceedings of IEEE International Conference on robotics and automation. San Francisco, CA, pp 294–299 5. Patel RV, Shadpey F (2005) Control of redundant manipulators. Springer 6. Kohonen T (1984) Self organization and associative memory. Springer-Verlag 7. Martinetz TM, Ritter HJ, Schulten KJ (1990) Three-dimensional neural net for learning visual motor coordination of a robot arm. IEEE Trans Neural Netw 1(1):131–136 8. Walter JA, Schulten KJ (1993) Implementation of self-organizing neural networks for visual-motor control of an industrial robot. IEEE Trans Neural Netw 4(1):86–95

123

Visual Motor Control of a 7 DOF Manipulator 9. Behera L, Kirubanandan N (1999) A hybrid neural control scheme for visual-motor coordination. IEEE Control Syst Mag 19(4):34–41 10. Kumar N, Behera L (2004) Visual motor coordination using a quantum clustering based neural control scheme. Neural Proces Lett 20:11–22 11. Walter JA (1998) PSOM network: learning with few examples. In: International Conference on robotics and automation. Leuven, Belgium, pp 2054–2059 12. Walter J, Nolker C, Ritter H (2000) The PSOM algorithm and applications. In: Proceeding of International ICSC symposium on neural computation, pp 758–764 13. Angulo VR, Torras C (2005) Speeding up the learning of robot kinematics through function decomposition. IEEE Trans Neural Netw 16(6):1504–1512 14. PowerCube Manipulators, Amtec Robotics. http://www.amtec-robotics.com/. Accessed 06 June 2008 15. Spong MW, Vidyasagar M (1989) Robot dynamics and control. John Wiley & Sons 16. Craig JJ (1989) Introduction to robotics. Pearson Education, Inc. 17. Open Source Computer Vision Library. http://www.intel.com/technology/computing/opencv/ Accessed 06 June 2008 18. Wilson R Tsai camera calibration software. http://www.cs.cmu.edu/~rgw/TsaiCode.html Accessed 06 June 2008

123

Visual Motor Control of a 7 DOF Robot Manipulator ...

Visual Motor Control of a 7 DOF Manipulator. 4.1 Computation of Jacobian Matrices. The inverse Jacobian matrices are learnt using following steps: 1. For a given data point (x, [φ, ψ]), winners are selected among wγ , φγ and ψγ respec- tively. The index of winner cluster in these three spaces µ, α and λ respectively are.

671KB Sizes 1 Downloads 132 Views

Recommend Documents

Visual PID Control of a redundant Parallel Robot
Abstract ––In this paper, we study an image-based PID control of a redundant planar parallel robot using a fixed camera configuration. The control objective is to ...

Program control system for manipulator
Mar 3, 1978 - semby, and the digital signals are stored in a storage device. In the repeat mode one set of the specified posi tion information or coordinates of ...

Kinematic control of a redundant manipulator using ...
with a large network size and a large training data set. ... of training data to reduce the forward approxima- ... effector position attained by the manipulator when.

Kinematic control of a redundant manipulator using ...
guished into three different classes: direct inver- ..... An online inverse-forward adaptive scheme is used to solve the inverse ... San Francisco, CA, April 2000.

Stable Visual PID Control of a planar parallel robot
IEEE. Int. Conf. on Robotics and Automation,3601-3606 (1998). [9]. Kelly, R., “Robust Asymptotically Stable Visual Servoing of Planar Robots” IEEE Trans. on Robotics and. Automation, 12(5),759-766 (1996). [10]. Soria, A., Garrido, R., Vásquez, I

Control of a humanoid robot by a noninvasive brain-computer ...
May 15, 2008 - Department of Computer Science and Engineering, University of Washington, Seattle, WA 98195, USA ... M This article features online multimedia enhancements ... humanoid robot which only requires high-level commands.

Stable Visual PID Control of a planar parallel robot
The platform employs two personal computers integrated under ... IEEE Int. Conf. on Robotics and Automation Leuven, Belgium, 2295-2300. (1998). [2]. Cheng ...

Robot and control system
Dec 8, 1981 - illustrative of problems faced by the prior art in provid ... such conventions for the purpose of illustration, and despite the fact that the motor ...

numerical implementation of the kinematics for a 3-dof parallel robot ...
The six degree of freedom (DOF) Stewart platform was originally designed ... pure translational motion and may be more useful in the fields of automated ...

Implementation of a neural network based visual motor ...
a robot manipulator to reach a target point in its workspace using visual feedback. This involves primarily two tasks namely, extracting the coordinate information ...

Adaptive Control of the Hexaglide, a 6 dof Parallel ... - Semantic Scholar
It is similar to a Stewart platform but instead of variable length bars, it has constant length bars (2) linking the platform (1) to 6 linear motors (3) distributed on 3 linear rails (4). The advantages of parallel manipulators over serial ones are w

Integrating human / robot interaction into robot control ...
10, Place Georges Clemenceau, BP 19, 92211 Saint-Cloud Cedex, France. bDGA / Centre .... and scalable man / machine collaboration appears as a necessity. 2.2. ..... between the robot onboard computer and the operator control unit. 4.3.

Integrating human / robot interaction into robot control architectures for ...
architectures for defense applications. Delphine Dufourda and ..... focusses upon platform development, teleoperation and mission modules. Part of this program ...

Distributed Visual Attention on a Humanoid Robot
to define a system that will allow us to transfer information from the source to a ... An attention system based on saliency maps decomposes the visual input into ...

Development of a light-weight Forceps Manipulator ...
robot system have been developed. For this ... results verify high precision in position tracking and an ... systems, force measurement and haptic feedback to the.

A Unified Architecture for Cognition and Motor Control ...
Overview: A Brain-Emulating Cognition and Control. Architecture (BECCA) is presented. It is consistent with the hypothesized functions of pervasive intra-cortical and cortico-subcortical neural circuits. It is able to reproduce many salient aspects o

robot modeling and control pdf
Page 1 of 1. File: Robot modeling and control pdf. Download now. Click here if your download doesn't start automatically. Page 1 of 1. robot modeling and ...

A Pilot Study on the Feasibility of Robot-Aided Leg Motor ... - CiteSeerX
Oct 11, 2013 - Krebs HI, Hogan N (2012) Robotic therapy: the tipping point. Am J Phys Med. Rehabil 91: S290–297. 3. Sanguineti V, Casadio M, Vergaro E, Squeri V, Giannoni P, et al. (2009) Robot therapy for stroke survivors: proprioceptive training