Abstract
Keywords
1. Introduction
When the home-service robot executes its task of object grasping at home, apart from the problems of hardware design, the main problem is still the end-effector issue, which means getting the arm to accurately reach the target location and grasp an object using an appropriate posture. For decades, the problem of object grasping using the robotic arm has been solved by calculating arm kinematics [1, 2]. Reference [3] proposed a kinematic roadmap concept to resolve the point-to-point inverse kinematics problem for redundant manipulators. Siciliano and Villani [4] utilized the inverse kinematic algorithm to deal with the question of a two-stage interaction control scheme for a flexible arm. A parameterized self-organizing maps approach [5] was applied to study the inverse kinematics of the robot manipulator by virtual decomposition. Eduardo and Julio [6] introduced the utilization of conformal geometric algebra for solving the differential and inverse kinematics problem. A circle point analysis method [7] was proposed to evaluate the calibration uncertainty problem of a robot arm.
The recent literature has proposed different intelligent schemes to resolve the robot-related issue. Nearchou [8] proposed a modified genetic algorithm to overcome the inverse kinematics problem of redundant robot manipulators. An artificial neural network method [9] was introduced to establish an adaptive learning strategy to deal with the inverse kinematics problem of the 6-DOF manipulator robot. A biomimetic approach [10] was applied to figure out inverse kinematics such that the end effector of an anthropomorphic robot arm can be correctly located. An improved chaotic particle swarm optimization (ICPSO) method [11] could provide a satisfactory path for the free-floating space robot.
Over the last decade, many studies have proposed different types of PSO algorithms [12–22] to overcome various engineering problems, such as the PSO-based mimetic algorithm [12], robotic system application [13,14], trajectory planning [15] and other PSOs [16–18] that deal with global optimization problems. A new PSO algorithm [19] was introduced to resolve the goal of reaching without having an obstacle avoidance problem for a 6-DOF manipulator of the home-service robot. This paper presents a novel PSO method that is applied to resolve the grasp posture control problems of a 6-DOF robotic arm for the home-service robot in a home environment.
The PSO algorithm is a method of collective intelligence proposed by Eberhard and Kennedy [20, 21] in 1995. Observing the social behaviour of birds when foraging, the authors applied it to conquering optimization problems. Similar to flying birds, each bird is considered a “particle” in the PSO algorithm and represents a solution for the objective function. These moving particles are also determined by a velocity, which determines the direction and distance of their movement.
Two factors can affect the flight of the particles: one is the best individual value memory (pbest), and the other is the best global value memory (gbest) [22]. The former is the cognitive model of the particles and will modify the searching direction in accordance with the pbest memory in each independent search; the latter is the social model of the particles and will simultaneously amend the searching speed of the particles in accordance with the gbest memory. With the iterative method, the PSO algorithm will calculate the best answer [23] according to the best fitness of the particles. The velocity- and position-updating rules of each particle are described in [20] and rewritten as following equations
where
The major contributions of this paper are as follows: 1) a new artificial algorithm is presented that applies to the grasping posture control of the home-service robot with a 6-DOF manipulator; 2) the novel adaptive acceleration coefficients concept is used to increase the control system's convergence velocity; 3) the scout bee concept of the ABC algorithm is combined with the adaptive PSO algorithm to avoid falling into local minimum probability during the evolution period and 4) the practical effectiveness of the grasping posture control scheme is demonstrated by experiments for the home-service robot.
The rest of this paper is organized as follows. Section 2 introduces the position and orientation analysis of the 6-DOF robotic arm. Section 3 examines ABC and GABC, and presents a novel PSO algorithm: the AIWCPSO-S. In Section 4, computer simulations and real-time experiments are utilized to demonstrate the performance of the proposed AIWCPSO and AIWCPSO-S in comparison with ABC, GABC and AIWPSO. Finally, Section 5 draws the conclusions.
2. Position and Orientation of a 6-DOF Robotic Arm
The home-service robot is designed and implemented in our laboratory, and is shown in Figure 1. When the robotic arm is performing its task of grasping a target object, there are two primary considerations: one being the position of the end effector, for which the arm has to reach the coordinates of the object, and the other is the orientation angle of the end effector, for which the orientation angle has to be at the right angle to grasp the object. As shown in Figure 2, an unsuitable grasp orientation angle cannot successfully grasp the object. This section will give the robot's hardware specification for forward kinematic analysis, and define the position and orientation of the 6-DOF robotic arm.

The appearance of the home-service robot. (a) Simulated robot by SolidWork. (b) Photo of the actual robot.

Grasp orientation description. (a) Suitable grasp orientation. (b) Unsuitable grasp orientation.
2.1. Forward kinematic analysis
The coordinate system of the 6-DOF robotic arm can be divided into four parts: shoulder, elbow, wrist and hand, as shown in Figure 3. After defining the coordinate systems, according to the Denavit–Hartenberg (DH) method [24], the D-H homogeneous transformation matrices are described as follows.

The coordinate system and the motor range of the 6-DOF robotic arm. (a) Coordinate system of robotic arm. (b) The lateral view of the robotic arm and the motor range.
where
The specification of D-H parameters
According to Eq. (4), the coordinate transformation matrices for each link are obtained as follows.
The position of the end effector
where the transformation matrices
2.2. Grasp orientation analysis
Figure 4 depicts the coordinate transformation from the end effector to the base. Position p is the position of the object that the end effector must reach. In order to get the orientation matrix [n o a], the coordinate transformation from the end effector to the base is an overall rotational matrix as determined by
where

The coordinate transform from end effector to base

Picture of the robotic arm with different matrices [
3. Artificial Bee Colony and Proposed PSO Algorithm
During the past few years, swarm intelligences, for example, an artificial bee colony (ABC) and PSO, have been utilized to overcome the optimization issues. This paper submits a novel intelligent swarm algorithm called AIWCPOS-S, which was inspired by the behaviour of bird intelligence in a collective search from the PSO algorithm, with the bee's intelligence of the scout bee from the ABC algorithm.
3.1. ABC and GABC
In 2005, Karaboga [25] proposed the concept of honeybee swarming and applied it to numerical optimization problems. Reference [26] clearly defines the basic structure of the standard ABC algorithm in which an artificial bee colony is formed by three groups of bees: employed bees, onlooker bees and scout bees. Each employed bee is distributed to a secure food source. Each of the food source positions represents a feasible solution for optimization problems. The number of employed bees is equal to the number of food sources. The amount of nectar in the food source is decided by the corresponding fitness value. After initialization, the employed bees create a new position according to the local information in their memories and examine the amount of nectar in the new position. If the amount of nectar is greater in the new position compared to the previous one, then the employed bees will update their memories and remember the new position.
After the employed bees complete the search process, they share the position information of the sources with the onlookers in the dance area by dancing the round dance (the waggle dance). According to the amount of nectar in the food source found by the employed bees, each onlooker follows the food source probability determined by the employed bees, re-searches another new food source in the surrounding neighbourhood and examines the amount of nectar in the new position. If the amount of nectar in the new position is better than the amount in all of the previous positions, then the onlooker bee will remember and update the position of the onlooker bee as the new food source position.
The onlooker bee relies on the probability value of the related food source calculated by
where
where
Supposing that the update of the food source position does not acquire any effect, then the trial function will be introduced,
where
where

Flowchart of the ABC algorithm [25]
In the original ABC algorithm [25, 26], the nectar of each food source is not compared with the others for updating the position of each food source. In other words, the bees do not know how much nectar is in each food source. In 2010, Zhu and Kwong [27] thought that the original ABC was insufficient to figure out the best food source position among the bees. With the PSO algorithm as a reference, a global artificial bee colony (GABC) was inspired and proposed to modify Eq. (10) as
where
3.2. AIWPSO, AIWCPSO and AIWCPSO-S
In 1998, Shi and Eberhart [28] proposed adding the concept of inertia weight (w) to the original PSO algorithm. The velocity of the particle swarm can be adjusted through modification of the parameter w, after which a better convergence effect [29] can be achieved.
where
Recently, several scholars have tried to improve the function by adding inertia weight. They obtained the optimum exploitation and exploration ratio through the inertia weight in the evolutionary process of particle swarms. In 2011, Nickabadi et al. [30] affirmed the positive effect of the adaptive inertia weight approach (AIWPSO) as the solution to the optimization problem. The concept of AIWPSO consists of the adjustment of particle velocity through the use of adaptive inertia weight. A successful revolution means that the obtained best fitness value in the present generation is better than that of the last generation on comparison.
A proportion of the successful revolution is adopted to determine the inertia weight value of the next generation. The success of particle
where the condition
The success percentage of the swarm is calculated as
where
where the range of the inertia weight
The concept of adaptive inertia weight mentioned above is achieved through an adjustment of the overall velocity of the particle swarm by the successfully evolved ratio of the particle swarm to accelerate the convergence. Moreover, there are some other important adjustable parameters in the PSO algorithm – the acceleration coefficients. Tuning the acceleration coefficients means adjusting
During the initial configuration of the particle swarm, the initial positions of each of the particles are randomly given. Thus, in the early evolution of the particle swarm, a better fitness value can easily be obtained by updating its new position after taking the pbest value and the gbest value as its reference. At this time, the particle swarm is in an exploration state and tries to increase the diversity of the solutions. However, as the evolutions reach a certain level, the number of successful revolutions of particle swarm would decrease because the main part of the particle swarm will converge to the optimum position. Subsequently, the particle swarm will proceed into an exploitation state for the optimal solution. Therefore, through the above concepts, it is possible to consider
where α and β are positive values, which are pre-chosen values depending on the associated applications. The concept of adaptive acceleration coefficients is shown in Figure 7. Thus, the developed AIWCPSO algorithm is realized by
which is a combination of Eq. (19) and Eq. (20).

The concept of adaptive acceleration coefficients
The grasping posture control of the robotic arm is a highly complex problem. The solution set obtained by the traditional PSO algorithm might be easily caught into the local minimum or local maximum. In 2013, an ABC-based PSO algorithm [31] was presented to design a multi-rate filter bank, where the concept of a scout bee from ABC was merged with the PSO algorithm.
Taking the scout bee Eq. (11) as a reference, the combination of the scout bee concept with the PSO algorithm can be formulated as
where the fitness value of particle

Flowchart of AIWCPSO-S

The pseudo code of the AIWCPSO-S algorithm
One can see from reference [30] that AIWPSO gives a much better performance in comparison with linear time-varying PSO [28], random PSO [32], rank-based PSO [33], Sugeno-type PSO [34] and increasing PSO [35]. This paper offers a validity comparison of AIWPSO, AIWCPSO and AIWCPSO-S through using the same six benchmark functions in [30] listed in Table 2, where functions
Benchmark functions used in this study. Search range, dimension and global optimum are listed in the table.
The mean, standard deviation and average process time of results of AIWPSO, AIWCPSO and AIWCPSO-S for 30-Dim problems
3.3. Fitness function for grasping control
The fitness function plays a very important role in realizing an intelligent control scheme. In order to control the grasping posture to reach the target object, one must obtain the correct rotation angles for each joint in the robotic arm through the calculation of various intelligent algorithms. Thus, the most important part of the grasping posture control problem of this paper is calculating the rotation angle of each joint. The rotation angles of the six link joints,
According to the problem formulation addressed in Section 2, the posture control of the robotic arm can be divided into two parts for grasping the target object: one is the verification of the position error between the coordinates of the end effector and the object as zero, and the other is the orientation angle of the end effector to comply with the pre-set values.
The end effector's position coordinate can determined by Eq. (7) showing that
The fitness function with respect to the position error can then be defined by
The intelligent algorithms addressed in the previous subsections can be used to determine the rotation angle of each joint such that the manipulator reaches the object position. However, one can see in Figure 2 that the position error becomes zero, which does not imply a successful grasping. The orientation angle of the end effector is the other important issue.
Assuming the orientation angles of target
By substituting the rotation angles of the six link joints obtained from intelligent algorithms into Eq. (7), a pursued orientation matrix,
From Eq. (25) and Eq. (26), the obtained orientation angle error is defined by
Considering the position error of Eq. (23) and the orientation error of Eq. (27), the posture fitness function used in this paper is given by
This definition of fitness function means that a maximizing optimization problem is now examined. One can see from Eq. (24) and Eq. (28) that the ideal fitness function for both cases is 1, i.e.,
4. Experimental Results
In this section, we will utilize intelligent algorithms to realize the grasping control of the robotic manipulator. The experiment will show two kinds of results. The first experiment takes only the position error into consideration, while the other one takes both the position error and the orientation error into consideration in order to prove the effect of posture control. In this paper, we focus on posture control analysis, in which the parameters of the correct object coordinate and the appropriate orientation angles are provided in advance so that the robotic arm can grasp the object without considering the robot vision problem.
4.1. Experimental set-up
Both the simulation and real-time experiments are presented through a real model of the home-service robot. In order to proceed to posture control, the appropriate orientation angle for grasping and the coordinates of the object with respect to the robotic arm should be defined beforehand. A scenario is set up in which we want the robot to pick up a potato chip for us, and this is shown in Figure 10. The target was placed on the table in front of the robot. The coordinate of the end effector is
In evaluating the manipulator's performance, the proposed AIWCPSO and AIWCPSO-S algorithms are used to compare it with several algorithms. Besides the AIWPSO, ABC and GABC algorithms introduced in Section 3, two new PSO methods that focus on the improvement of inertia weight and/or acceleration coefficients’ parameters are adopted in order to make comparisons with our algorithm. One is the low-discrepancy sequence initialized PSO algorithm with high-order nonlinear time-varying inertia weight (LHNPSO) [36] and the other is the oscillating triangular inertia weight PSO (OTIWPSO) [37]. We apply these methods to the grasping posture control problem and compare the convergence performance and convergence time with the proposed AIWCPSO and AIWCPSO-S algorithms. The objective of these seven algorithms is to determine six link joint angles such that Eq. (29) is satisfied.

Experiment scenes and posture setting description
For the computer simulations, all the settings of the five different algorithms are the same; that is, the number of particles in the swarm is 30 in the PSOs and the colony size is 30 in the ABCs. The maximum allowed number of function iterations is 1,000, and there is a total of 20 independent runs. The parameters for these PSOs and ABCs are provided in Table 4. Simulations are carried out via programming in Visual C++ 2010 on a personal computer with a 3.1 GHz
ABCs and PSOs algorithms for comparison
4.2. Simulation results
The target coordinate relative to the original coordinate is defined as
First, only the position error is considered. Table 5 illustrates the means and standard deviations of the successful convergence iteration and fitness value, where neither ABC nor GABC can successfully make the fitness value converge to 1. Both AIWCPSO and AIWCPSO-S have significant convergence results. From the average value point of view, it takes only 70.35 times of the function evaluations for AIWCPSO-S to achieve fitness 1.0, the standard deviation is 11.8678 and the convergence time is only 0.0548 sec., which is the least among all PSOs. Figure 11 shows the configuration of the simulation result of the manipulator by AIWCPSO-S in the environment without grasping posture control. In this case, though the end effector has successfully achieved the object position, a collision with the target might take place.
The mean number, standard deviation and convergence time of simulations for each algorithm without posture control

Configuration of the simulation result of the manipulator in an environment without grasping posture control
Second, both the position error and the orientation error are considered. Table 6 illustrates the means and standard deviations of the successful convergence iteration and fitness value, where both ABC and GABC cannot converge into the successful fitness condition of 0.75. This means that a pure ABC algorithm is not good enough for the grasping posture control of a robotic arm. Compared to other algorithms, AIWCPSO-S has the fastest convergence rate. Due to the scout bee effect, there are more particle diversities, the fitness result is not easily trapped into a local maximum situation and an optimal fitness value can be obtained without difficulty. Figure 12 depicts the configuration of the simulation result of the manipulator in an environment by using AIWCPSO-S with grasping posture control. Together with the orientation angles of the end effector, the robotic arm can successfully reach the object position and adopt an appropriate grasping posture without any collisions.
The mean number, standard deviation and convergence time of simulations for each algorithm with posture control

Configuration of the simulation result of the manipulator in an environment with grasping posture control
4.3. Real-time experiments
Corresponding with the authentic scene described in Figure 10, we build a real set-up as shown in Figure 13. The object is placed on a table in front of the robot. In accordance with the coordinate transformation relation, the spatial coordinates of the object will be given beforehand. Similar to the simulation set-up, the target position is

Scene of the grasp posture experiment.(a) Top view. (b) Front view. (c) Side view.

(a)-(j) Sequential motion pictures in the grasping experiment without posture control

(a)-(j) Sequential motion pictures in the grasping experiment with posture control
Second, the target oriented angles are considered and set in advance with
5. Conclusions
This paper has proposed a new model for the PSO algorithm, called AIWCPSO-S, a concept which combines the adaptive acceleration coefficient and the adaptive inertia weight with the scout bee from the ABC algorithm. This algorithm can solve the problem of grasping posture control for the 6-DOF robotic arm. Through these comparisons of simulation results among ABC, GABC, LHNPSO, OTIWPSO, AIWPSO, AIWCPSO and AIWCPSO-S algorithms, AIWCPSO-S provides not only a significant effect of convergence but also less convergence time. Lastly, through real-time experiments on the 6-DOF robotic arm of the home-service robot, the mission of grasping posture control can be successfully accomplished by utilizing the position and posture information of the target.
In future work, we will discuss the probability of combining intelligent grasping posture control with a vision system to the home-service robot automatic grasp object mission. The home-service robot should obtain the coordinates of the objects through the vision system and change the parameters of different appropriate orientation angles of the end effector for grasping, according to the position and shape of the object. Through these data, the intelligent algorithms can calculate the accurate orientation angles for each motor on the robot arm to grasp the object.
