Verification of bee algorithm based path planning for ...

4 downloads 0 Views 1MB Size Report
Jun 3, 2013 - method ADAMS software was considered, which is a well-known ..... the neighborhood search, we investigate the performance of each patch.
995. Verification of bee algorithm based path planning for a 6DOF manipulator using ADAMS Pedram Masajedi, Kourosh Heidari Shirazi, Afshin Ghanbarzadeh 995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

Pedram Masajedi1, Kourosh Heidari Shirazi2, Afshin Ghanbarzadeh3 Shahid Chamran University of Ahvaz, Department of Mechanical Engineering, Ahvaz, Iran E-mail: [email protected], [email protected], [email protected] (Received 6 February 2013; accepted 3 June 2013)

Abstract. In this article the end effector displacement control for a manipulator robot with 6 rotational joints on a predetermined 3-dimensional trajectory is investigated. Since for any end effector position there are more than a single set of answers, regarding to robot parts orientation, finding a method which gives the designer all existing states will lead to more freedom of action. Hence two different methods were applied to solve robot inverse kinematic issue. In the first method ADAMS software was considered, which is a well-known software in the field of solving inverse kinematic problems, and after that BA algorithm is used as an intelligent method. This method is one of the fastest and most efficient methods among all existing ones for solving non-linear problems. Hence problem of inverse kinematic solution is transformed into an affair of optimization. Comparison of results obtained by both models indicates the reasonable performance of BA because of its capability in providing the answers from all existing states along with the privilege of no need to 3D modeling. Keywords: manipulator robots, intelligent optimization, inverse kinematic, ADAMS. 1. Introduction Conducted researches in the field of robotics include a wide range of theoretical and practical topics like motion planning [1], intelligent control [2, 3], and motion control on predetermined 3-dimensional trajectories [4]. Trajectory design for robot arms is usually performed in Cartesian space and determination of robot joint movements by having the location and orientation of end effector is called robot inverse kinematics. In robotics, end effector is a tool at the end of robot arm which is designed for interactions with external environment. Its exact nature is dependent on robot functions. In serial robots, end effector is defined as the robot ultimate link which has the duty of attaching robot to the target object. To give a more precise definition, end effector is a member of robot that interacts with environment. There are different methods for solving inverse kinematic problem including algebraic, geometrical, and trial and error methods, which are both time consuming and difficult to be solved numerically [5, 6]. In recent years there have been numerous efforts to use new methods in revers kinematics solutions. Koker et al [7] considered a multi-layer neural network design for a robot with 3 degrees of freedom in 2004. Durmus et al [8] solved inverse kinematic for a robot with 6 degrees of freedom using BA algorithm in 2011. The most important subject in using new problem solving methods is that given Denavit-Hartenberg parameters, without having 3D designs, it is possible to compute desired angles of joints, which makes design process much simpler. 2. Inverse kinematic Fig. 1 shows the KOKA KR16 robot which is studied in this article. For a robot with n degrees of freedom, relation between joints is given by (1): π‘₯(𝑑) = 𝑓(πœƒ(𝑑)),

(1)

where π‘₯(𝑑) is the position of end effector, πœƒ(𝑑) is the vector of robot joints angles, and 𝑓 is a  VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

805

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

nonlinear continuous function that relates joint variables to work environment coordination. This equation has only a unique answer solvable by analytical methods [9]. In the other hand, it is possible to solve the inverse kinematic problem by solution of the following equation: πœƒ(𝑑) = 𝑓 βˆ’1 (π‘₯(𝑑)).

(2)

Unlike direct kinematics, this equation does not have a unique answer. In order to solve inverse kinematic, Denavit-Hartenberg system needs to be defined on robot firstly.

Fig. 1. KR16 robot arms degrees of freedom

3. Denavit-Hartenberg system In order to express the relative motion of end effector from fixed joint, a matrix needs to be defined which includes relative rotation and replacement of determined coordinate system from earth coordinate system. For this purpose, Denavit-Hartenberg system is considered for each joint. Fig. 2 illustrates the orientation of different coordinate systems for each joint and also demonstrates how the values applied in kinematics table are determined.

Fig. 2. Definition of Denavit-Hartenberg parameters

According to definition, a rotational matrix that describes each joint relative to the previous joint is given by (3):

806

 VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

π‘›βˆ’1

cosπœƒπ‘› sinπœƒπ‘› 𝑇𝑛 = [ 0 0

βˆ’sinπœƒπ‘› cos𝛼𝑛 cosπœƒπ‘› cos𝛼𝑛 sin𝛼𝑛 0

sinπœƒπ‘› sin𝛼𝑛 βˆ’cosπœƒπ‘› sin𝛼𝑛 cos𝛼𝑛 0

π‘Žπ‘› cosπœƒπ‘› π‘Žπ‘› sinπœƒπ‘› ]. 𝑑𝑛 1

(3)

And finally, the matrix determining orientation and location of end effector is derived from calculated matrix of (3) for each joint: 6

0

1

2

3

4

𝑇0 = 𝑇1 𝑇2 𝑇3 𝑇4 𝑇5

5

𝑛π‘₯ 𝑛𝑦 𝑇6 = [ 𝑛𝑧 0

𝑠π‘₯ 𝑠𝑦 𝑠𝑧 0

π‘Žπ‘₯ π‘Žπ‘¦ π‘Žπ‘§ 0

𝑝π‘₯ 𝑝𝑦 ]. 𝑝𝑧 1

(4)

Fig. 3. illustrates motion restrictions for KOKA KR16 along with specifications.

Fig. 3. Geometric characteristics of KR16

4. Analytical solution According to definition, a robot arm will have redundancy if for an end effector state there is more than a set of answers for joint angles [10]. For a specific position of end effector, there are 8 possible states presented in Fig. 4.

Fig. 4. Possible solution for KR16 robot inverse kinematic problem

4.1. Joint 1 Joint number 1 is considered for analytical solution of robot inverse kinematic problem and all possible states will be calculated for it; this procedure will be continued through all joints to number 6. According to Fig. 5(a), the position vector 𝑝⃗04 will be: 𝑝⃗04 = 𝑝⃗ βˆ’ 𝑝⃗46 = 𝑝⃗ βˆ’ (𝑙5 + 𝑙𝐹 )𝑛⃗⃗.  VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

(5)

807

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

Fig. 5. Joints orientation

Thus πœƒ and πœƒ + πœ‹ are two possible solutions for joint number 1 angle that could be calculated from (6): {

πœƒ1,1 = πœƒ1,2 = πœƒ1,3 = πœƒ1,4 = arctan2(βˆ’π‘04,𝑧 , 𝑝04,π‘₯ ), πœƒ1,5 = πœƒ1,6 = πœƒ1,7 = πœƒ1,8 = arctan2(βˆ’π‘04,𝑧 , 𝑝04,π‘₯ ) + πœ‹.

(6)

4.2. Joint 3 Via the knowledge of 𝑝14 value, πœ™ would be determined which in turn leads to joint angle πœƒ3 . As shown in Fig. 5(c), the angular state of joint number 4 influences the orientation of frame 𝐾4 and has no effect on its location; hence we could calculate vector 𝑝14 from (7): 𝑝⃗14 = 𝑝⃗04 βˆ’ 𝑝⃗01 .

(7)

Now the angle of πœ™ could be calculated from (8): πœ™ = arccos (

𝑙22 + (𝑙3 + 𝑙4 )2 βˆ’ |𝑝14 |2 ). 2𝑙2 (𝑙3 + 𝑙4 )

(8)

Finally, knowledge of πœ™ offers eight possible solutions for πœƒ3 : πœƒ3,1 = πœƒ3,2 = πœ‹ βˆ’ πœ™, πœƒ3,3 = πœƒ3,4 = πœ‹ + πœ™, πœƒ3,5 = πœƒ3,6 = βˆ’(πœ‹ βˆ’ πœ™), πœƒ3,7 = πœƒ3,8 = βˆ’(πœ‹ + πœ™).

(9)

4.3. Joint 2 As shown in Fig. 5(d), angle πœƒ2 could be calculated by 𝛽1 , 𝛽2 . Since vector 𝑝14 has only two

808

 VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

components of π‘₯ and 𝑧, for a simpler calculation of 𝛽1 , vector 𝑝14 could be transferred from coordinate system 0 to 1 by (10): 0

𝑇1 = 0𝐷1 (𝛼0 , π‘Ž0 , 𝑑1 , πœƒ1 ) = (

0

𝑅1 ⃗⃗𝑇 0

𝑝⃗ 1

),

1

βˆ’1

𝑝⃗14 = ( 0𝑅1 ) 𝑝⃗14 .

(10)

Hence values of 𝛽1 and 𝛽2 could be calculated from (11): 𝛽1 = arctan( 1𝑝⃗14,π‘₯ , 1𝑝⃗14,𝑧 ), 𝛽2 = arccos (

𝑙22 + |𝑝14 | βˆ’ (𝑙3 + 𝑙4 )2 ). 2𝑙2 |𝑝14 |

(11)

And finally four πœƒ2 values will come from (12): πœƒ2,1 = πœƒ2,2 = βˆ’(𝛽1 + 𝛽2 ), πœƒ2,3 = πœƒ2,4 = βˆ’(𝛽1 βˆ’ 𝛽2 ), πœƒ2,5 = πœƒ2,6 = (𝛽1 + 𝛽2 ), πœƒ2,7 = πœƒ2,8 = (𝛽1 βˆ’ 𝛽2 ).

(12)

4.4. Joint 5 Angle of joint number 5 is derived from internal multiplication of vectors 𝑛 and 𝑧4 : (13)

𝑧4 βˆ™ 𝑛 = |𝑧4 | βˆ™ |𝑛| βˆ™ cos(πœƒ5 ) β‡’ πœƒ5 = arccos(𝑧4 , 𝑛).

Vector 𝑧4 orientation could be derived from 0𝑅4 rotation. Angle πœƒ4 has no effect on 𝑧4 location, so value of πœƒ4 is assumed zero. Using πœƒ1 , πœƒ2 and πœƒ3 from previous calculations, 0𝑇4 could be calculated: 0

𝑇4 = 0𝐷1 (𝛼0 , π‘Ž0 , πœƒ1 , 𝑑1 ) 1𝐷2 (𝛼1 , π‘Ž1 , πœƒ2 , 𝑑2 ) 2𝐷3 (𝛼2 , π‘Ž2 , πœƒ3 , 𝑑3 ) 3𝐷4 (𝛼3 , π‘Ž3 , πœƒ4 , 𝑑4 ).

(14)

Equation (15) for 0𝑇4 is obtained by expansion of (14): 0

0 𝑇4 = ( 𝑅4 0

𝑝⃗), 1

0

𝑅4 = (π‘₯4 , 𝑦4 , 𝑧4 ) = 0𝑅1 (πœƒ1 ) 1𝑅2 (πœƒ2 ) 2𝑅3 (πœƒ3 ) 3𝑅4 (πœƒ4 ).

(15)

Having vector 𝑧4 from matrix above, πœƒ5 could be calculated from (16): {

πœƒ5,1 = πœƒ5,2 = arccos(𝑧4𝐴 𝑛), πœƒ5,3 = πœƒ5,4 = βˆ’arccos(𝑧4𝐴 𝑛), πœƒ5,5 = πœƒ5,6 = arccos(𝑧4𝐡 𝑛), πœƒ5,7 = πœƒ5,8 = βˆ’arccos(𝑧4𝐡 𝑛).

(16)

4.5. Joints 4 and 6 Total rotation matrix could be obtained from equation (17): 0

βˆ’1

𝑅7 = 0𝑅4 4𝑅7 β†’ 4𝑅7 = ( 0𝑅4 ) ( 0𝑅7) = 0𝑅4 0𝑅7 β‡’ ( 0𝑅4 )𝑇 0𝑅4 = 𝐼 β†’ 0𝑅4 = ( 0𝑅4) βˆ’1 .

(17)

Rotation matrix 4𝑅7 could be obtained from 3 rotations below: 𝑇

𝑅7 = π‘…π‘œπ‘‘π‘§ (πœƒ4 )π‘…π‘œπ‘‘π‘¦ (πœƒ5 )π‘…π‘œπ‘‘π‘§ (πœƒ6 ) β‡’ 4𝑅7 = ( 0𝑅4) 0𝑅7 , π‘πœƒ4 π‘πœƒ5 π‘πœƒ6 βˆ’ π‘ πœƒ4 π‘ πœƒ6 βˆ’π‘πœƒ4 π‘πœƒ5 π‘ πœƒ6 βˆ’ π‘ πœƒ4 π‘πœƒ6 π‘πœƒ4 π‘ πœƒ5 4 𝑅7 = (π‘ πœƒ4 π‘πœƒ5 π‘πœƒ6 + π‘πœƒ4 π‘ πœƒ6 βˆ’π‘ πœƒ4 π‘πœƒ5 π‘ πœƒ6 βˆ’ π‘πœƒ4 π‘πœƒ6 π‘ πœƒ4 π‘ πœƒ5 ). βˆ’π‘ πœƒ5 π‘πœƒ6 π‘ πœƒ5 π‘ πœƒ6 π‘πœƒ5 4

 VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

(18)

809

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

In order to obtain all possible positions, two matrices below should be calculated: 4

𝑇 0

𝑅7,𝐴 = ( 0𝑅4,𝐴 )

𝑅7 ,

4

𝑇 0

𝑅7,𝐡 = ( 0𝑅4,𝐡 )

𝑅7 .

(19)

Considering tan(𝛼) = sin(𝛼)cos βˆ’1 (𝛼) , angle πœƒ4 could be calculated from π‘Ÿ23 , π‘Ÿ13 and rotation matrix 4𝑅7: πœƒ4 = atan2(Β±π‘Ÿ23 , Β±π‘Ÿ13 ).

(20)

So all possible states for πœƒ4 will be: {

πœƒ4,1 = πœƒ4,6 = atan2(π‘Ÿ23,𝐴 , π‘Ÿ13,𝐴 ), πœƒ4,2 = πœƒ4,5 = atan2(π‘Ÿ23,𝐴 , π‘Ÿ13,𝐴 ) + πœ‹, πœƒ4,3 = πœƒ4,8 = atan2(π‘Ÿ23,𝐡 , π‘Ÿ13,𝐡 ), πœƒ4,4 = πœƒ4,7 = atan2(π‘Ÿ23,𝐡 , π‘Ÿ13,𝐡 ) + πœ‹.

(21)

In a similar case, all possible values of πœƒ6 could be calculated from (22): {

πœƒ6,1 = πœƒ6,5 = atan2(βˆ’π‘Ÿ32,𝐴 , π‘Ÿ31,𝐴 ), πœƒ6,2 = πœƒ6,6 = atan2(βˆ’π‘Ÿ32,𝐴 , π‘Ÿ31,𝐴 ) + πœ‹, πœƒ6,3 = πœƒ6,7 = atan2(βˆ’π‘Ÿ32,𝐡 , π‘Ÿ31,𝐡 ), πœƒ6,4 = πœƒ6,8 = atan2(βˆ’π‘Ÿ32,𝐡 , π‘Ÿ31,𝐡 ) + πœ‹.

(22)

5. Model of position error It has been reported in the literature that the gear train errors, the errors due to structural deformations, and the errors due to the geometric parameters of the model can be represented by a cyclic function of the joint angles. Based on this, we assume that the positioning errors change with the joint positions, i.e., π›₯𝑝 = 𝑓(πœƒπ‘– ). Another assumption which is made is that the locus of positioning errors for selected identification configuration is a piecewise continuous random function. It follows that the loci of the Cartesian errors of robot manipulators while following a given trajectory are in the form of bounded and integral functions. If a given function of 𝑝(πœƒ) can be approximated with a polynomial 𝐹(πœƒ) within the defined interval such that: |𝑝(πœƒ) βˆ’ 𝐹(πœƒ)| ≀ πœ€,

(23)

𝐹(πœƒ) can be of any type of polynomials including Fourier polynomials, ordinary polynomials, and the other well-known polynomials of Jacobi, Laguerre and Hermite, and Bessel. In this study Fourier and ordinary polynomials are considered for position error approximation. It had been demonstrated a long time ago [9] that if 𝑝(πœƒ) has a discontinuity at πœƒ = πœƒ0 , the polynomial 𝐹(πœƒ) will converge at πœƒ = πœƒ0 to the arithmetic mean of the values 𝑝(πœƒ0 βˆ’) and 𝑝(πœƒ0 +) of the function 𝑝(πœƒ) obtained as πœƒ approaches πœƒ0 from the left and from the right, respectively. This means that the function 𝑝(πœƒ) is piece-wise continuous in the interval of (πœƒ0 βˆ’ π›Ώπœƒ0 , πœƒ0 + π›Ώπœƒ0 ), where π›Ώπœƒ0 is the infinitesimal amount by which it is approached to πœƒ0 from the left and from the right. Drawing the same analogy for an 𝑛-jointed manipulator, the error functions of 𝛿π‘₯, 𝛿𝑦, 𝛿𝑧 are piece continuous at the intervals of πœƒπ‘– βˆ’ π›Ώπœƒπ‘– ≀ πœƒπ‘– ≀ πœƒπ‘– + π›Ώπœƒπ‘– for 𝑖 = 1, …, 𝑛. This means that the polynomials converge to the expected error values for every identification configuration of the manipulator given in joint space. With this in mind, the position error in each Cartesian direction can be approximated with a trigonometric or Fourier polynomial of: π‘Ÿ

(𝛿π‘₯)𝑖 = 𝐾𝑖 + βˆ‘[π΄π‘ž cos(π‘žπœƒπ‘– ) + π΅π‘ž sin(π‘žπœƒπ‘– )], π‘ž=1

810

 VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

(24)

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

where (𝛿π‘₯)𝑖 is the positioning error in the x direction due to the movement of the 𝑖th joint only, and πœƒπ‘– is the angular position of the 𝑖th joint. For an 𝑛-jointed manipulator, Eq. (24) can be rewritten as: 𝑛

π‘Ÿ

𝑛

(𝛿π‘₯)𝑖 = βˆ‘ 𝐾𝑖 + βˆ‘ [βˆ‘ π΄π‘žπ‘– cos(π‘žπœƒπ‘– ) + π΅π‘žπ‘– sin(π‘žπœƒπ‘– )], 𝑖=1

(25)

π‘ž=1 𝑖=1

where π‘Ÿ is the number of harmonics. Similar expressions can be written for the position errors of 𝛿𝑦, 𝛿𝑧. Another alternative polynomial to approximate the error functions with this is to employ an ordinary polynomial of the π‘˜th degree, which can be expressed as: π‘˜

(𝛿π‘₯)𝑖 = 𝑄𝑖 + βˆ‘(𝐴𝑖 πœƒπ‘–π‘— ).

(26)

𝑗=1

For an 𝑛-jointed manipulator, Eq. (26) can be rewritten as: 𝑛

π‘˜

𝑛

(𝛿π‘₯)𝑖 = βˆ‘ 𝑄𝑖 + βˆ‘ [βˆ‘(𝐴𝑗𝑖 πœƒπ‘–π‘— )]. 𝑖=1

(27)

𝑗=1 𝑖=1

Again, similar expressions can be rewritten for 𝛿𝑦, 𝛿𝑧 in the same way as 𝛿π‘₯ [11]. 6. BA based optimization The bee algorithm is an optimization algorithm inspired from the natural foraging behavior of honey bees. BA was proposed by Pham et al [12]. The BA algorithm receives the following parameters as its inputs: number of bees (𝑛), number of sites selected out of n visited sites (π‘š), number of best sites out of π‘š selected sites (𝑒), number of bees recruited for each best 𝑒 sites (𝑛𝑒), number of bees recruited for the other (π‘š βˆ’ 𝑒) selected sites (𝑛𝑠), number of scout bees (𝑠). Under this configuration, we will have: 𝑛 = 𝑒 Γ— 𝑛𝑒 + (π‘š βˆ’ 𝑒) Γ— 𝑛𝑠 + 𝑠.

(28)

The BA algorithm has three phases: initialization, position updating, and termination. 6.1. Initialization The algorithm starts with the 𝑛 bees being placed randomly in the search space. Each bee is initialized as follows: assume that we have a project with 𝑛 activities. First, a set of 𝑛 random numbers are generated in the range of [0, 1] for the 𝑛 activities. Then these numbers and their corresponding activities are sorted in descending order. This project has 6 activities. Hence a 6-dimensional vector is created for a bee and a random number is associated to each dimension. Using this approach, the resultant initial schedule may be infeasible. After initialization, the fitnesses of the sites visited by the bees are evaluated. To evaluate the fitness of a food source we need to generate the schedule from the priority list. 6.2. Position updating At the start of each cycle of the algorithm a subset of bees that have the highest fitnesses are chosen as β€œselected bees” and sites visited by them are chosen for neighborhood search. A part of  VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

811

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

these selected bees (i.e. 𝑒 of π‘š) with better fitnesses and 𝑛𝑒 bees are recruited for each of these bees. The fitness values are used to determine the probability of the bees being selected. The bees can be chosen directly according to the fitnesses associated with the sites they are visiting. The probability 𝑝𝑗 is defined as a relative fitness of the selected bee 𝑗 in the set of best 𝑒 sites: 𝑝𝑗 =

𝑓𝑖𝑑(π‘₯⃗𝑗 ) 𝑒

βˆ‘π‘=1 𝑓𝑖𝑑(π‘₯⃗𝑐 )

,

(29)

where 𝑓𝑖𝑑(π‘₯⃗𝑗 ) is the fitness value of the site visited by bee 𝑗 which is computed as the way reported in the Section ''fitness evaluation''. Also other π‘š βˆ’ 𝑒 selected bees are selected based on (29) and 𝑛𝑠 bees are recruited around each of them. In BA more bees are assigned to search near to the best 𝑒 sites. Then, in the next step, the algorithm searches in the neighborhood of the selected sites. Searches in the neighborhood of the best 𝑒 sites (which represent more promising solutions than other selected bees) recruit more bees to follow them. Together with scouting, this differential recruitment is a key operation of the BA algorithm. The performance of BA method mainly depends on the neighborhood search performed by the recruited bees around the selected bees. After the neighborhood search, we investigate the performance of each patch. If the neighborhood search fails to bring any improvement of performance after a predetermined number of iterations (called 𝑛𝑖 ), then the corresponding site should be updated. The 𝑛𝑖 parameter is determined manually. In this work, the value of 𝑛𝑖 is set to 3. The abandoned site is replaced by the new one assuming that its position is selected using the following equation: π‘₯⃗𝑖,𝑛𝑒𝑀 = π‘₯⃗𝑖,π‘œπ‘™π‘‘ + πœ”π‘Ÿ(𝑒⃗𝑖 βˆ’ π‘₯⃗𝑖,π‘œπ‘™π‘‘ ),

(30)

where 𝑒⃗𝑖 is the position vector of the interesting elite bee which is selected randomly from the bees with the highest fitnesses, π‘₯⃗𝑖,π‘œπ‘™π‘‘ and π‘₯⃗𝑖,𝑛𝑒𝑀 respectively represent the position of the abandoned site and the new one which are selected by the bee 𝑖, π‘Ÿ is a random variable of uniform distribution in the range of [0, 1] and πœ” respectively control the importance of the new site which is proposed by the elite bee. This research aims to identify an inverse kinematics solution that minimizes the fitness function which is the position error expressed as a distance between the robot end effector and the target. The Cartesian coordinate information can be computed using the direct kinematics equations for any new offspring obtained [13, 14]. Next the position error can be easily obtained in metric form by using a three-dimensional (3-D) distance equation between two points in 3-D space. The Euclidean distance formula can be used in the distance computation, as stated in as follows: πΈπ‘Ÿπ‘Ÿπ‘œπ‘Ÿ = (π‘₯ βˆ’ π‘₯π‘‘π‘’π‘ π‘–π‘Ÿπ‘’π‘‘ )2 + (𝑦 βˆ’ π‘¦π‘‘π‘–π‘ π‘–π‘Ÿπ‘’π‘‘ )2 + (𝑧 βˆ’ π‘§π‘‘π‘–π‘ π‘–π‘Ÿπ‘’π‘‘ )2 .

(31)

The number of scout bees used in optimization with BA is 50, number of best selected patches is 3, number of elite selected patches is 1, number of recruited bees around best selected patches is 4, and patch radius for neighborhood search is selected 0.02. 7. Simulation results In this section results evaluated by ADAMS and BA will be illustrated. In order to obtain Adams results, the robot is simulated in ADAMS environment and then it has been constrained by the end effector to move on predetermined path. Subsequently corresponding joints variations are measured through the path [15]. To evaluate the BA results, 21 accuracy points are defined as a presumed trajectory to be

812

 VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

followed by the end effector and then a set of joint angles will be calculated from (31) according to BA process. By accounting motion limitation of each joint, 8 possible answers are accessible for a specific target [16, 17]. By using interpolation method between driven angles for each joint, related spline could be obtained. Then these splines are assumed as the motor input for each joint in ADAMS. Consequently, end effector movement according to joints input evaluated by BA is compared with predetermined trajectory in order to test its reliability. Fig. 6 shows 2 different sets of joint angles obtained by BA (blue dot) and ADAMS (red line) for the same end effector predetermined trajectory.

Fig. 6. Joints variation evaluated by ADAMS and BA

According to Figs. 6, the green curve exhibits calculated joint angles via BA which are connected to each other using 6th order interpolation and in order to move on desired trajectory. By inserting calculated values for each joint, based on selected accuracy points, and using equations (3) and (4), 𝑝π‘₯ , 𝑝𝑦 , 𝑝𝑧 will be evaluated [18, 19]. Fig. 7 shows these amounts (black dot) which are connected to each other using sixth-order interpolation. In order to study the calculated joint angles more precisely, estimated values through BA (Fig. 6) are imported as motor inputs in ADAMS. Fig. 8 shows that how robot moves in ADAMS environment regarding imported amounts for each joint. In Fig. 8 green curve shows the difference between traversed trajectory and desired one. As it is depicted in the figure, end effector follows the desired path while created error is close to zero. Undoubtedly, using more accuracy points will increase the precision of tracking [20]. According to Fig. 9, forces tolerated by joints in a situation in which values calculated by ADAMS are used have a more uniform trend, while the magnitudes of these forces are greater than values calculated by BA method.  VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

813

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

Fig. 7. The end effector trajectory for components 𝑋, π‘Œ and 𝑍

Fig. 8. End effector components variation comparison

Fig. 9. Comparison of force created in joints by ADAMS and BA

8. Conclusion In this article inverse kinematic problem is studied for a 6R manipulator robot using ADAMS and BA intelligent optimization method. For this purpose both linear and curved trajectories were considered to evaluate the reliability of mentioned methods. According to simulation results, ADAMS software exhibited very high precision in predicting joint angles to conduct a robot on a predetermined trajectory, but a precise 3D model will be

814

 VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

995. VERIFICATION OF BEE ALGORITHM BASED PATH PLANNING FOR A 6DOF MANIPULATOR USING ADAMS. PEDRAM MASAJEDI, KOUROSH HEIDARI SHIRAZI, AFSHIN GHANBARZADEH

required and there with, only one of 8 possible states are calculated. To point out some advantages of optimization methods, we could refer to its capability of calculating all possible states for joint angles without a need to 3D simulation of a robot, in a very short time and with a high level of precision. Hence the designer will have more freedom of action in dealing with physical obstacles for a given state by using other states. Also, in order to increase precision, number of accuracy points can be increased so that it satisfies the criteria. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]

Smith K. B., Zheng Y. Optimal path planning for helical gear profile inspection with point laser triangulation probes. Journal of Manufacturing Science and Engineering, Vol. 123, Issue 1, 2001, p. 90-98. Hu H., Ang M. H., Krishnan H. Neural network controller for constrained robot manipulators. Proceedings of the International Conference on Robotics and Automation, San Francisco, CA, Apr., 2000, p. 1906 1911. Jiang P., Li Z., Chen Y. Iterative learning neural network control for robot learning from demonstration. Journal of Control Theory and Applications, Vol. 21, Issue 3, 2001, p. 447-452. Ou Y., Xu Y., Krishnan H. Tracking control of a gyroscopically stabilized robot. International Journal of Robotics and Automation, Vol. 19, Issue 3, 2004, p. 125-133. Xu J., Wang W., Sun Y. Two optimization algorithms for solving robotics inverse kinematics with redundancy. Journal of Control Theory and Applications, Vol. 8, Issue 2, 2010, p. 166-175. Küçük S., BingΓΌl Z. The inverse kinematics solutions of fundamental robot manipulators with offset wrist. Proceedings of IEEE International Conference on Mechatronics, Taipei, Taiwan, Nov., 2005, p. 197-205. KΓΆker R., Γ–z C., Cakar T., Ekiz H. A study of neural network based inverse kinematics solution for a three joint robot. Journal of Robotics and Autonomous Systems, Vol. 49, Issue 3, 2004, p. 227-234. Durmus B., Temurtas H. An inverse kinematics solution using particle swarm optimization. International Advanced Technologies Symposium (IATS’11), Elazığ, Turkey, May, 2011, p. 194-197. Jang J. H., Kim S. H., Kwak Y. K. Calibration of geometric and non-geometric errors of an industrial robot. Robotica, Vol. 19, Issue 3, 2001, p. 311-321. Hashiguchi H., Arimoto S., Ozawa R. A sensory feedback method for control of a handwriting robot with D. O. F. redundancy. Proceedings on Intelligent Robots and Systems, Sendai, Japan, Sep., 2004, p. 3918-3923. Ahci G., Jagielski R., Sekercoglu Y. A., Shirinzadeh B. Prediction of geometric errors of robot manipulators with particle swarm optimisation method. Robotics and Autonomous Systems, Vol. 54, Issue 12, 2006, p. 956-966. Pham D., Ghanbarzadeh A. The Bees Algorithm. Technical note, Manufacturing Engineering Centre, Cardiff University, UK, 2005, p. 1-57. Wang Y. F. An incremental method for forward kinematics of parallel manipulators. Proceedings on Robotics, Automation and Mechatronics, Bangkok, Thailand, Jun., 2006, p. 5-10. Zheng C. H., Jiao L. C. Forward kinematic of a general stewart parallel manipulator using the genetic algorithm. Journal of Xidion University (Natural Science), Vol. 30, Issue 2, 2003, p. 406-418. Sariyildiz E. Solution of inverse kinematic problem for serial robot using quaternions. International Conference on Mechatronic and Automation, Changchun, China, Aug., 2009, p. 26-31. Kim J. H., Kumar V. R. Kinematics of robot manipulators via line transformations. J. Robot. Syst., Vol. 7, Issue 4, 1990, p. 649-674. Shimizu M. Analytical inverse kinematic computation for 7-DOF redundant manipulators with joint limits and its application to redundancy resolution. IEEE Transaction on Robotics, Vol. 24, Issue 5, 2008, p. 1131-1142. Guo J. A solution to the inverse kinematic problem in robotics using neural network processing. International Conference on Neural Networks, Washington, DC, USA, Jun., 1989, p. 299-304. Sciavicco L. A solution algorithm to the inverse kinematic problem for redundant manipulators. Journal of Robotics and Automation, Vol. 4, Issue 4, 1988, p. 403-410. Babayigit B., Ozdemir R. A modified artificial bee colony algorithm for numerical function optimization. Symposium on Computers and Communications, Cappadocia, Turkey, July, 2012, p. 245-249.  VIBROENGINEERING. JOURNAL OF VIBROENGINEERING. JUNE 2013. VOLUME 15, ISSUE 2. ISSN 1392-8716

815