Abstract
This paper presents an artificial bee colony algorithm for solving the inverse kinematics of 7-degree-of-freedom robotic arm which has been newly designed and not used in the literature. The kinematics analysis of this manipulator which has an excessive number of joints, is quite complex. In this study, artificial bee colony, which is one of the swarm-based heuristic algorithms, has been used for inverse kinematics solution and its results have been analyzed in terms of position error and calculation time. In order to ensure the accuracy of the algorithm, calculations have been also carried out in 100 different points selected from the workspace of the robot manipulator. The results have been compared with particle swarm optimization, which is another swarm algorithm in terms of position error and computation time. The results obtained by computer simulation clearly show that the artificial bee colony algorithm produces effective results compared with the literature.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
Although robot technologies that greatly simplify our lives is a very important technology, it is known inverse kinematics solution of robots is one of the difficult and very time-consuming problems and has a non-linear characteristic [1,2,3]. Therefore, it is of great importance to overcome these problems which have a very widespread research, such as reducing the computation time, getting the right solution, to achieve the shortest path planning [4]. Recently, 7-DOF robot manipulators, which have come to the forefront with their skill in avoiding obstacles, have become the focus of the research world. However, control of this robot so difficult and complicated owing to the large number of joint [5]. The basis of robot control is the kinematic calculations which are divided into two as forward and inverse kinematics. These calculations, which express robot movements, are a very common field of study. Forward kinematics that is used to obtain the position of the end effector in cartesian space from the joint angles is relatively easy [6]. On the other hand, inverse kinematics that is conversion of the position and orientation of the robot manipulator end-effector from Cartesian space to joint space is a more complex, non-linear equations and impossible to solution by conventional methods such as geometric, iterative and algebraic [7, 8]. Moreover, it has a large number of solutions. Hence, inverse kinematics problem is suitable for the heuristic methods such as particle swarm optimization, artificial bee colony, firefly algorithm and artificial neural network [9,10,11]. Because artificial intelligence techniques are indispensable methods for solving difficult, complex and long-time problems, it is actively used at every stage of robot technology [12, 13].
Momani et al. have implemented an inverse kinematics solution of an articulated robot manipulator using traditional and improved genetic algorithm methods [14]. Tejomurtula and Kak perform the inverse kinematic solution of 3-jointed robot arm using artificial neural networks that eliminates some of the disadvantages of this method BP algorithm, such as training time and accuracy [15]. Dash et al. [16] perform solution a new method based on artificial neural network and simulated this solution via six-jointed robot arm. Huang et al. [17] carry out inverse kinematics solution of seven-joined robot manipulator quickly and accurately using particle swarm optimization. Ayyıldız and Çetinkaya [18] have designed a 4-DOF robot manipulator and inverse kinematics solutions of its have achieved the four different (PSO, QPSO, GSA and GA) optimization algorithm and they demonstrated comparatively results obtained. Rokbani and Alimi studied the contribution to the solution of inverse kinematics using variants of PSO, such as inertia weight, constriction factor and linear decreasing weight. In addition, they have used a two-jointed robotic arm for simulation test [19]. Rokbani et al. prefer to use the firefly intelligent method which is a new heuristic algorithm based on swarm, in their work and tested the proposed method in a three-jointed robot arm [20]. Koker has proposed a hybrid method which was used with the neural network and genetic algorithm to solve the inverse kinematics solution of a six-joint robotic manipulator to minimize the error of the end effector [21]. Similarly, Pam et al. use together bee algorithm and artificial neural network of the inverse kinematics of an articulated robotic manipulator which has a three-joint. The bee algorithm was used to train the neural network which has a multilayer perceptron structure [22].
In general, the calculation steps used for heuristic methods have been also preferred in this study. The robot manipulator is manually directed to a predetermined position. The artificial bee colony algorithm and particle swarm optimization are used to obtain the optimal joint angles that reach the nearest point to this position of the end effector. The main focus of the study is to perform the inverse kinematics calculation with ABC technique and to compare the results with PSO which is another widely used technique in the literature. Therefore, the following parts of the study are organized in this framework. In Chapter 2, the newly designed robot manipulator used in this study is introduced and kinematics equations of this robotic arm are created. In the following, the artificial bee colony algorithm and particle swarm optimization is briefly summarized and the fitness function that finds the distance between the desired position and the actual position, to be used in this algorithm is introduced. In Chapter 3, simulation results are obtained and presented. In the last section, the results have been analyzed and compared with previous studies.
2 Materials and methods
2.1 Kinematics analysis of a 7-DOF redundant robot manipulator
Robotic manipulators which are available in two forms: prismatic and rotational, consist of links sequentially connected to each other with joints which perform a movement mechanism taking certain angles or by a certain percentage of elongation and shortening by actuators [23]. Designed robot manipulator for this study has seven rotational joints and is shown in Fig. 1. A 7-DOF robotic manipulator not only performs the movement from one position to another position in a comfortably but also has infinite inverse kinematics solutions. Of course, objective is to provide the end effector to be positioned correctly.
Today, kinematics calculations are done by homogeneous transformation matrices which are created with the help of four parameters that is called Denavit–Hartenberg parameters.
In Table 1, i shows the joint sequence. The lengths are given in meters and the angles are given in degree. The homogeneous transformation matrix can be used to obtain the forward kinematics of the robot manipulator, using the DH parameters in Eq. (1) [24, 25].
where iTi+1 is the transfer matrix of link i. 0T7 matrix produces a Cartesian coordinate for any seven joint angles. Because the fitness function of the proposed approach is the Euclidian distance in Cartesian space between the obtained and the target points. 0T7 can be used to calculate the Cartesian coordinate of the obtained point in the cost function.
In Eq. (2), px, py, and pz denotes the elements of the position vector whereas nx, ny, nz, sx, sy, sz, ax, ay, az denote the rotational elements of the transformation matrix. In this study, only the position vector will be used to calculate the position error. The position vector equation is as follows (where s and c denote the sine and cosine functions):
2.2 Artificial bee colony (ABC) algorithm
Heuristic algorithms such as artificial neural network, simulated annealing, genetic algorithm, particle swarm optimization and firefly algorithm have the ability to easily solve NP problems which are very complex, non-linear and time-consuming problem to be solved by normal methods [26]. Recently, Artificial Bee Colony (ABC) based on search of food by honey bees, is a very popular heuristic method and was presented by Karaboğa in 2005 [27, 28].
According to ABC, this algorithm is consist of from three kinds of bees that their names are employed, onlooker and scout bee. Steps of ABC Algorithm are as follows [29, 30]:
-
The initial food sources are generated randomly.
-
Employed bees select a food source and return to the hive by storing nectar.
-
After onlooker bees watch the waggle dance of the employed bees that came to the hive, they chose the food source with a certain probability.
-
Onlooker bees that turned to the selected food sources begin to nectar storage like employed bees.
-
Onlooker bees continue to nectar storage, until the limit value takes the maximum value.
-
Employed bees convert into scout bees, as soon as the limit value reaches the maximum value.
-
Scout bees search the new food source randomly and continue to nectar storage.
-
All these steps constitute one cycle algorithm and these steps continue by the time the termination criterion is achieved.
When the basic steps of the ABC algorithm is examined in Fig. 2, in the first step, the random food sources are constructed as follows:
where i = 1…N, j = 1…D, N is the number of nectar sources, D is the number of optimization parameters, \(x_{min}^{j}\) and \(x_{max}^{j}\) are the maximum and minimum of parameter j. Initially, the value of limit parameters are reset.
Employed bees find neighbors solution in search of new sources of food and make comparisons between existing solutions for new solutions. If the new solution is kept in memory it is better than the old solution and the other is abandoned. If the new solution is not a good solution the counter of existing solutions is incremented.
where xi indicates that the current solution which is selected by the employed bees. vi is a new solution in neighborhood of xi. k ∈ (1, N) is a randomly chosen and must be different than i, j is a random integer in the range [1, D]. φi,j coefficients are randomly chosen value in the range [− 1.1].
Meanwhile, if the new neighborhood values exceed limit values, it is prevented by Eq. (9).
After employed bees complete their research, probability values are calculated as in Eq. (10) so as to selection food sources of scout bees.
where \(fit_{i}\) is normalized fitness function value. After probability values for each solution is calculated, employed bees compare with random-determined value and the probability value of the solution. If the selected probability value of the solution is greater than this value, scout bee tends to the food supply and search for new solution [31].
After all employed and scout bees complete their search, the abandonment counter of each solution is controlled. If the counter value of the solution has reached the limit value which is an important control parameter of the ABC algorithm, the employed bee that uses that resource, convert into scout bee. It is directed to a new point in the solution space using Eq. (7) than continues to search from here. All operations will continue until it reaches the maximum number of cycles [32].
2.3 Particle swarm optimization
It is a heuristic algorithm first used by Kennedy, inspired by the co-movement of birds and fishes [33]. Like other heuristic algorithms, it works by searching in a certain solution space within the frame of certain movements and stands out with its good values despite the small number of parameters [34].
As shown in Fig. 3, the PSO algorithm process depends on only two parameters, speed (Eq. 11) and position (Eq. 12) of particles. Because all the particles move to a defined position, depending on their own velocities. Therefore, each movement results in a new position [35].
2.4 Method
Here, the optimization problem is to find the optimum angle value for each joint with the given initial Cartesian coordinate and the target coordinate, so the end-effector of robot arm is transferred to desired location by joint angles. Obviously, the accurate calculations of joint angles values are very important. For this purpose the following scenario is followed. Firstly, the optimal values of the 7-joint angles of the robot manipulator are found by the ABC algorithm. Then, the distance between the position of the end effector obtained by these optimal angles and the predetermined position is calculated.
The main goal of this study is to solve this optimization problem by implementing the ABC. For this purpose, we designed a fitness function that is based on Euclidian distance given Eq. (13) between the desired location (x2, y2, z2) and the current location (x1, y1, z1) described. This cost can be used to calculate fitness function (Fig. 4).
3 Simulation results
The purpose of this study is to demonstrate the effectiveness and performance of the artificial bee colony algorithm to solve the inverse kinematics solution of the 7-DOF robot arm. The initial and final positions of the end effector are seen Fig. 5a, b. However, the final position and angles appears in Fig. 5b is a position created by manual. Because the designed 7-DOF robotic arm has a redundant structure, it can be formed in the same position at different angles.
The desired position of the end effector for the robot arm is illustrated in Fig. 5b. The joint angles for the robot manipulator orientation shown in this figure are 45°, 0°, 45°, 0°, 45°, 0°, 0° from θ1 to θ7, respectively. However, the values obtained by the algorithm have resulted in different orientations. Because the robot manipulator used in this study has an unlimited number of solutions. The subject of this study is to position the robot arm to the destination with the minimum error using artificial bee colony algorithm and compare the result with the PSO (Table 2).
The proposed approach has been simulated in MATLAB IDE software. Figure 6 presents the performance fitness function (position error) of the ABC algorithm to solve the redundant problem of the 7-DOF robotic manipulator. As can been seen in Fig. 6, the ABC algorithm successfully search for the optimal configurations of the robotic manipulator.
According to Fig. 7, the evolved optimal solution is (θ1f, θ2f, θ3f, θ4f, θ5f, θ6f, θ7f) = (101.190080691136°, − 9.51890813773679°, − 14.3155800174267°, − 4.35578591323361°, 39.6787526304158°, 35.9420677837833°, 72.6774064516414°).
In this study, in order to reveal the performance of ABC algorithm, it has compared with PSO that is a swarm algorithm. As shown in Fig. 8, the ABC algorithm yielded a better result than the PSO algorithm in terms of position error.
Figure 9 shows the computation times of both the ABC and the PSO algorithm 500 iterations. Graphs clearly show that the computation times of both algorithms are very close to each other.
Figure 10 shows the orientations of joint angles resulting from position error calculated by ABC and PSO algorithms. Here, the final positions of the manipulator have been revealed in the RoboAnalyzer [36] interface through the joint angles obtained with each algorithm. That is, the expression of accuracy which redundant robot has numerous solutions for inverse kinematics problem is shown.
A more detailed comparison of the values obtained by ABC and PSO algorithms appears in Table 3. The ABC algorithm uses 100 population while the PSO is 300. In these algorithms, the number of population affects the quality of the solution positively while extending the solution time. Although the time for computation of the algorithm was similar to each other, the ABC solution reached a much shorter time.
In order to ensure the accuracy of the ABC algorithm, the calculation of 100 different points selected from the workspace of the robot manipulator is also performed in this article. Figure 11 shows a comparison of the position error of both algorithms for 100 different points, and Fig. 12 shows the solution time comparison.
It is clear that the ABC algorithm produces much better results than the PSO algorithm, except for the two of the results, which produce different results in both algorithms as position errors. When the calculation period is considered, the results are close to each other. However, the ABC algorithm has also shown slightly better results than the PSO algorithm.
Intelligent optimization techniques have emerged as a result of the complexity of the problems encountered today and have provided effective solutions. For this reason, these techniques have left their mark on the last 20 years, have settled in the focus of the research world and many engineering problems that take long time to solve by classical methods have been solved in a short time (Table 4).
4 Conclusion
In this paper, Artificial Bee Colony algorithm has been proposed for the inverse kinematics problem of the robot arms, and it has been simulated on 7-DOF redundant robot manipulator. The most important innovation in this study is the use of a newly designed 7-jointed robot arm in the test process. In this study, artificial bee colony algorithm is used to approximate the robot manipulator to a predetermined position in the workspace with minimum error. The obtained position error and calculation times have been compared with particle swarm optimization which is another heuristic algorithm technique. In order to determine the accuracy of the algorithm used, a second scenario has been applied in 100 different tests. The simulations show the proposed ABC algorithm successfully search for the optimal joint angles of the robotic manipulator. So the ABC algorithm is a candidate method to solve inverse kinematics problem of robot arms with the high numbers of joint just like other heuristic methods. Despite all its performance, the long process stages of the algorithm and the excess of the parameters are seen as disadvantages of the artificial bee colony. If these disadvantages are eliminated or the algorithm is improved, this technique will be used more widely in the coming period. Especially after this study, it can be used to control complex robots.
References
Dereli S, Köker R (2016) In a research on how to use inverse kinematics solution of actual intelligent optimization method. In: Proceeding of the international symposium on innovative technologies in engineering and science (2016)
Kucuk S, Bingul Z (2014) Inverse kinematics solutions for industrial robot manipulators with offset wrists. Appl Math Model 38:1983–1999
Kalra P, Mahapatra PB, Aggarwal DK (2006) An evolutionary approach for solving the multimodal inverse kinematics problem of industrial robots. Mech Mach Theory 41:1213–1229
Gao W, Liu S (2011) Improved artificial bee colony algorithm for global optimization. Inf Process Lett 111:871–882
Almusawi AR, Dülger CL, Kapucu S (2016) A new artificial neural network approach in solving inverse kinematics of robotic arm (denso VP6242). Comput Intel Neurosci 2016:1–10
Dereli S, Köker R (2017) Design and analysis of multi-layer artificial neural network used for training in inverse kinematic solution of 7-DOF serial robot. Gaziosmanpasa J Sci Res 6:60–71
Köker R, Çakar T, Sarı Y (2014) A neural-network committee machine approach to the inverse kinematics problem solution of robotic manipulators. Eng Comput 30:641–649
Fu Z, Yang W, Yang Z (2013) Solution of ınverse kinematics for 6R robot manipulators with offset wrist based on geometric algebra. J Mech Robot 5:81–87
Dereli S, Köker R, Öylek İ, Ay M (2019) A comprehensive research on the use of swarm algorithms in the inverse kinematics solution. J Polytech 22:75–79
Martin JAH, Lope J, Santos M (2009) A method to learn the inverse kinematics of multi-link robots by evolving neuro-controllers. Neurocomputing 72:2806–2814
Zhang D, Lei J (2011) Kinematic analysis of a novel 3-DOF actuation parallel manipulator using artificial intelligence approach. Robot Comput Integr Manuf 27:157–163
Dereli S, Köker R (2018) IW-PSO approach to the inverse kinematics problem solution of a 7-DOF serial robot manipulator. Sigma J Eng Nat Sci 36:77–85
Russell S, Dewey D, Tegmark M (2015) Research priorities for robust and beneficial artificial intelligence. AI Mag 36:105–114
Renzi C, Leali F, Cavazzuti M, Andrisano AO (2014) A review on artificial intelligence applications to the optimal design of dedicated and reconfigurable manufacturing systems. Int J Adv Manuf Technol 72:403–418
Momani S, Abo-Hammour ZS, Alsmadi OMK (2016) Solution of inverse kinematics problem using genetic algorithms. Appl Math Inf Sci 10:225–233
Dash KK, Choudhury BB, Khuntia AK, Biswal BB (2011) A neural network based inverse kinematic problem. In: IEEE 2011 recent advances in intelligent computational systems (RAICS), 22–24 September; Trivandrum, India. IEEE, pp 471–476
Huang H, Chen C, Wang P (2012) Particle swarm optimization for solving the inverse kinematics of 7-DOF robotic manipulators. In: IEEE 2012 international conference on systems, man, and cybernetics, 14–17 October, Seoul, Korea. IEEE, pp 3105–3110
Ayyıldız M, Çetinkaya K (2016) Comparison of four different heuristic optimization algorithms for the inverse kinematics solution of a real 4-DOF serial robot manipulator. Neural Comput Appl 27:825–836
Rokbani N, Alimi AM (2013) Inverse kinematics using particle swarm optimization, a statistical analysis. Int Conf Des Manuf 64:1602–1611
Rokbani N, Casals A, Alimi AM (2014) IK-FA, a new heuristic inverse kinematics solver using firefly algorithm. Stud Comput Intel 575:369–395
Köker R (2013) A genetic algorithm approach to a neural-network-based inverse kinematics solution of robotic manipulators based on error minimization. Inf Sci 222:528–543
Pham DT, Castellani M, Fahmy AA (2008) Learning the inverse kinematics of a robot manipulator using the bees algorithm. In: The IEEE 2008 International conference on industrial informatics, 13–16 July, Daejeon, Korea. IEEE, pp 493–498
Köker R, Çakar T (2016) A neuro-genetic-simulated annealing approach to the inverse kinematics solution of robots: a simulation based study. Eng Comput 32:1–13
Craig JJ (2005) Introduction to robotics mechanics and control, 2nd edn. Pearson/Prentice Hall, New York
Yang G, Mustafa SK, Yeo SH, Lin W, Lim WB (2011) Kinematic design of an anthropomimetic 7-DOF cable-driven robotic arm. Front Mech Eng 6:660–669
Çavdar T, Mohammad M, Milani RA (2012) A new heuristic approach for inverse kinematics of robot arms. Am Sci Publ 19:329–333
Karaboğa D (2005) An idea based on honey bee swarm for numerical optimization. Kayseri: Erciyes University, Technical report
Savsani V, Rao R, Vakharia DP (2010) Multi objective optimization of mechanical elements using artificial bee colony optimization technique. In: ASME 2010 Early career technical conference, 1–2 October, Atlanta, Georgia, USA. ASME, pp 146–155
Savsani PV, Jhala RL (2012) Optimal motion planning for a robot arm by using artificial bee colony (ABC) algorithm. Int J Mod Eng Res (IJMER) 2:2249–6645
Karaboga D, Gorkemli B, Ozturk C, Karaboga N (2014) A comprehensive survey: artificial bee colony (ABC) algorithm and applications. Artif Intel Rev 42:21–57
Wei G, Guang TZ, Qiu YW, Chun YY (2014) Improved artificial bee colony algorithm based gravity matching navigation method. MDPI Sens 14:12968–12989
Akay B, Karaboğa D (2012) A modified artificial bee colony algorithm for real-parameter optimization. Inf Sci 192:120–142
Uguz S, Sahin U, Sahin F (2015) Edge detection with fuzzy cellular automata transition function optimized by PSO. Comput Electr Eng 43:180–192
Kucuk S (2016) Maximal dexterous trajectory generation and cubic spline optimization for fully planar parallel manipulators. Comput Electr Eng 56:634–647
Dereli S, Köker R (2019) A meta-heuristic proposal for inverse kinematics solution of 7-DOF serial robotic manipulator: quantum behaved particle swarm algorithm. Artif Intel Rev. https://doi.org/10.1007/s10462-019-09683-x
Gupta V, Chittawadigi RG, Saha SK (2017) RoboAnalyzer: robot visualization software for robot technicians. In: Proceedings of the advances in robotics. ACM, p 26
Kucuk S, Bingul Z (2004) The inverse kinematics solutions of industrial robot manipulators. In: Proceedings of the IEEE international conference on mechatronics, 2004, ICM’04. IEEE, pp 274–279
Kucuk S, Bingul Z (2005) The inverse kinematics solutions of fundamental robot manipulators with offset wrist. In: IEEE international conference on mechatronics, ICM’05. IEEE, pp 197–202
El-Sherbiny A, Elhosseini MA, Haikal AY (2017) A comparative study of soft computing methods to solve inverse kinematics problem. Ain Shams Eng J 9:2535–2548
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Dereli, S., Köker, R. Simulation based calculation of the inverse kinematics solution of 7-DOF robot manipulator using artificial bee colony algorithm. SN Appl. Sci. 2, 27 (2020). https://doi.org/10.1007/s42452-019-1791-7
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s42452-019-1791-7