Abstract

Formation control of multirobot systems has drawn significant attention in the recent years. This paper presents a potential field control algorithm, navigating a swarm of robots into a predefined 2D shape while avoiding intermember collisions. The algorithm applies in both stationary and moving targets formation. We define the bounded artificial forces in the form of exponential functions, so that the behavior of the swarm drove by the forces can be adjusted via selecting proper control parameters. The theoretical analysis of the swarm behavior proves the stability and convergence properties of the algorithm. We further make certain modifications upon the forces to improve the robustness of the swarm behavior in the presence of realistic implementation considerations. The considerations include obstacle avoidance, local minima, and deformation of the shape. Finally, detailed simulation results validate the efficiency of the proposed algorithm, and the direction of possible futrue work is discussed in the conclusions.

1. Introduction

In the past decades, multirobot systems have attracted lots of attention among researchers. With advances in communication, networking, and computing, robotic swarms are becoming more affordable in many given tasks that are too complex to be achieved by a single robot working alone. So far the possible applications range from coordinated control of UAVs [14] to spacecraft [58] and automatic vehicles [9, 10], and so forth.

The ability to achieve, maintain, and change formation is one of the fundamental prerequisites for building an effective multirobot system. Various approaches of formation control are investigated, which can be divided into three categories: the behavior-based approach, the virtual structure approach, and the potential field approach. In the behavior-based approach, a set of behaviors are assigned to each single robot and the performance of the whole group is determined by comparing the relative importance between the behaviors [1113]. The virtual structure approach considers the entire formation as a rigid entity. Thereby the desired motion is assigned to the rigid structure and the constraint functions which relate the positions and orientations of the member robots can be defined [14, 15]. The potential field approach presents artificial forces between neighboring robots, stabilizing the system to the equilibrium manifold [16, 17]. In addition to the above classification standard, existing approaches also vary from leaderless to leader-follower and centralized to decentralized. In the leader-follower control, a real or a virtual leader is defined and its motion follows a desired trajectory. The follower robots take the leader as a reference and adjust their motion to maintain the overall formation [18, 19]. The goal of the decentralized approach is to achieve a formation while using only local information concerning positions and velocities, which is different from centralized approach relying on global information [20, 21].

Due to the physical comparability, the potential field approach which follows the law of gravitation is easier to understand. By correctly shaping potential fields, a desired behavior to a robotic swarm could be imposed [22]. Moreover, the potential field approach is generally more adaptable for building decentralized formation control algorithm [23]. Because of the intrinsic reliability of decentralized methods [22], the potential field approach is widely used in the field of swarm behavior modeling. Thus in this paper we focus on the formation control based on artificial potential forces.

Some researches focused on swarm behavior modeling [24]. Ekanayake and Pathirana [16, 2527] proposed a scalable decentralized control algorithm to navigate a robotic swarm into a stationary shape. Their algorithm possesses remarkable robustness under external disturbances and works well in real world scenarios such as localization errors, communication range limitations, and boundedness of forces. Hengster-Movrić et al. [17] studied multiagent formation control based on bell-shaped potential function. The special feature of their potential function is its dependence on a control parameter that widens or, conversely, concentrates the effective range of interactions. This dependence is used to eliminate some potentially unwanted equilibrium states (e.g., local minima) through bifurcations [28, 29]. They also proved that the proposed controller applies in moving targets formation as well.

With a strong practicability, the above algorithms have overcame several issues which must be concerned in practical applications. However, when we attempted to apply them, we still found some unresolved problems. First, the original forces in the work of Ekanayake et al are defined in the form of upper unbounded functions. As a result, if additional rules of actuator limitations are absent, the forces will numerically overflow in certain cases. For example, when the distance between two robots is shortened significantly or one robot reaches the edge of an obstacle, the repulsion force will turn extremely large. Second, local minima of the compositive potential field still appear nearby the boundary of large obstacles. Such local minima are not taken into account by their algorithms, so the robots moving in the obstacle environment usually linger at unwanted equilibriums. Third, the formation shape itself, which is different from the robots, is considered as insensitive to the artificial forces. Thereby the shape is predefined and incapable of deforming continuously to suit the potential change.

To resolve these problems, we first define the artificial forces in the form of exponential functions which possess two types of control parameters: magnitude factors to determine the force magnitude and response factors to tune the reacting sensitivity. By carefully selecting the control parameters of these functions, the distribution of the forces can be effectively adjusted, bounding them within rational range. We further present modifications upon the control algorithm to suit realistic implementation considerations. Among these modifications we specially define the repulsion force from an obstacle which is formed by two components: one avoids the robot from collision, while the other pulls the robot to escape from the local minima nearby large obstacles. In order to make a moving shape sensitive to potential change, we build a controller upon the shape contour which provides elastic forces to compress or stretch the shape, making it autodeformable to avoid collisions. The detailed simulation results show that our control architecture can successfully resolve aforementioned problems and improve the robustness of swam behavior. However, as discussed in the conclusions, the fundamental reason which produces the local minima remained unresolved, so we highlight it as our future work and state potential solution in the end.

The outline of the paper is as follows. Section 2 presents the swarm model and analyzes the behavior of the swarm with certain assumptions. Section 3 discusses implementation considerations which are needed in real world scenarios. Section 4 devises a controller acting on the shape contour so as to make the shape autodeformable, protecting it from collision with obstacles. With the simulation case studies presented in Section 5, we verify the assertions proposed in Section 2 and demonstrate the behavior of the swarm with constraints and modifications discussed in Sections 3 and 4. Finally in Section 6 we give some concluding remarks and state directions to possible future work in this area.

2. Swarm Model and Its Behavior Analysis

In Section 2.1 we introduce the dynamics of a swarm. In order to reduce the system complexity and highlight the basic control algorithm in the analysis phase, certain simplifications are to be considered. With the simplifications we define a series of basic artificial forces in Section 2.2 to navigate the robots. The behavior of the swarm drove by these forces is analyzed in Sections 2.3 and 2.4. The stability and convergence properties of the control algorithm are also demonstrated in the analysis.

2.1. The Swarm Model

We assume that (1) the robots are point masses which have no physical dimensions and follow point mass dynamics; (2) all the individuals in the same swarm should be identical in physical properties such as mass and mobility (3) all the robots are capable of instant and error free localization; and (4) within the communication network of the robots, there is no delay in any info transmission.

The state vector of a swarm of robots is shown as where denotes the Kronecker product. The entries of represent the position-like and velocity-like state variables. Thereby, the state vector of the whole swarm can be denoted as and it is determined by where with

In (4), is the friction coefficient which can ensure the swarm a complete stop when the forces are balanced. is the mass of a robot.

2.2. Force Definition

The control input in (2) consists of where arbitrary entry in the vector is described as follows:

In our work all the components of are built in form of exponential functions which can be generally represented as follows: where are constants. Our proposed forces defined in such a form of function can be restricted in a rational range and the behavior of the swarm can be easily adjusted via selecting the parameters.

The basic artificial forces are defined as follows.

is an attraction force on the th robot from the shape which is denoted as is the repulsion force on the th robot from the shape denoted by In (8) and (9), denotes a point on the shape contour. We define that when is inside the shape, and when it is outside. The mutual exclusion ensures that will vanish only if the robot is inside , and will vanish only if the robot is outside .

in (10) refers to the resultant repulsion force acting on the th robot from the remaining swarm robots. That is, From (8) to (10), , and adjust reacting sensitivity, , and determine the magnitude of the force, are unit vectors determining the force directions.

Generally speaking, and are the forces navigating the robots towards the desired shape and evenly spreading them inside the shape. avoids the intermember collisions.

2.3. Analysis of the Swarm Behavior

As and are mutually exclusive and do not work simultaneously, the swarm behavior and the stability of the controller can be analyzed in each instance separately. Definitions defined in (11) will be employed by the analysis.

Consider , and represent the center of mass of the swarm, the center of mass of the shape contour, and length of the shape contour.

2.3.1. Motion of the Swarm and Its Members outside the Formation Shape

When all the robots are operating outside the target shape, the swarm can be viewed as one object affected by resultant force described as follows: is the resultant intermember force and equals to zero; that is, is the attraction force from the target shape With definitions in (11), we can infer from (14) that:

From (4), we know that the friction force acting on the th robot is , so the total friction force acting on the swarm can be calculated as follows: We define with and . According to (12), the dynamics of the swarm possess a property as follows: With (17) we can conclude Theorem 1 as follows.

Theorem 1. Consider the swarm model whose dynamics of motion has property described as (17), the motion of the center of mass of the swarm () is toward the center of mass of the shape contour ().

Proof. Taken Lyapunov function , its differential coefficient on time . That is, can be deducted as follows: So , for any , the only invariant point is (), by using Lyapunov’s method extended by Lãsalle and Lefschetz [30], the Theorem 1 is proved to be true.

Intuitively, Theorem 1 argues that when all the robots are outside the shape, the center of mass of the swarm will move towards the center of mass of the target shape.

The characteristic polynomial of system (17) is and it is clear that, in order to archive damped motion which ensures the swarm is a smooth movement, the conditions , and must be satisfied.

Theorem 1 only states the dynamics of the swarm as one object, while the behavior of every single robot remains uncertain. Next the behavior of an individual robot will be investigated.

For the th robot, its dynamics of motion can be described as follows: To the defined in (8), where , we have

For we define , with (11) and the friction force definition, the dynamics of motion of th robot is described as With definition , (22) can be rewritten as By definition of , we have where

Given the definition of and ,

So from (24) we state that In order to form the member robots into a coherent swarm, the artificial forces in right hand side of (20) must drive each robot toward the center of mass of the swarm, and this is just what Theorem 2 concludes as follows.

Theorem 2. Consider a robot staying outside the shape, if is satisfied, then its motion is toward the center of the swarm .

Proof. Choosing a Lyapunov function as through taking derivatives, is bounded by and it is clear that with (27), the second item of the right hand side of (29) is negative, so we have which proves the theorem.

Here with Theorems 1 and 2 we argue that with the artificial forces defined in Section 2.2, the swarm staying outside the contour can move toward the target shape and at the same time cohere the robots within certain interdistance.

2.3.2. Motion of the Swarm and Its Members inside the Formation Shape

In this section we proof that when a robot is inside a shape contour which is symmetrical over two or more straight lines and if it is controlled by defined in (9), then the intersection point of those lines will be the equilibrium point where the robot will stay still after a certain time span.

The lemma we used is given without proof. Readers who are interested in this can find more detail in [16]. Lemma 3 use odd and even function properties to derive a property of a complex function which is symmetrical over real axis of the complex plane, as described below.

Lemma 3. For a closed contour and functions , for , with the following properties:

We define the imaginary component of a complex number; then the following statement holds:

As shown in (9), consists of two major components, defines the direction of the force, and determines the magnitude of the force. The expression for is the contour integral of for

We define . Using polar coordinate representation for complex plane, and can be rewritten as

If the contour with is symmetrical over the real axis and the th robot is staying along on the real axis (i.e., and ); then we have Thus using Lemma 3, is proved, which is used to prove Theorem 4 as described below.

Theorem 4. Given a robot inside a shape contour with the following properties:(1),(2).Then .

The above assertion can also be extended to determine the behavior of the whole swarm when all the robots are inside the shape, through viewing the swarm as one object, the center of mass of the swarm will finally move to the equilibrium point, and the whole swarm will evenly be distributed inside the contour, as described in Theorem 5.

Theorem 5. Given a shape contour with two or more symmetric axes. Then for a robot i or the center of mass of a swarm located at the intersection of those axes,.

Proof. Consider has symmetric axes forming angles to the real axis, from Theorem 4 we state that when a member or the center of mass of a swarm is located on the intersection of those axes, the repulsion force is in the form of where , because ; this implies , which means that .

2.4. Discussion on Transitional State

In this section we focus on the transitional state in which a part of the swarm is inside the contour, while the rest of them stay outside. From Theorem 2, when increase,the condition will be satisfied and the attraction force acting on members who stay outside the contour will be dominating. Thus, the remaining part can still move toward the target shape. However, when a robot is staying closer but outside the contour and the contour is not large enough to accommodate all the robots; then turns larger than , which will lead the robot in an unwanted equilibrium state. This problem can be eliminated by carefully tuning and to suit the swarm size or, as described in the next section, to modify to get uniform distribute of the forces near by the contour.

3. Implementation Considerations

When implementing the proposed control algorithm in a real world scenario, the simplifications assumed in Section 2 will no longer hold. So in Section 3.1 we discuss certain modifications upon the proposed basic forces, which ensure the robustness of the swarm behavior in the presence of realistic implementation considerations. In Section 3.2 we investigate the rules of selecting proper control parameters so as to suit certain applications. Moreover, we show in Section 3.3 that by certain coordinate transformations the controller can be applied to moving targets formation as well.

3.1. Controller Modification for Practical Implementation
3.1.1. Physical Dimensions of Robots

Here the robots are no longer considered as point masses. For general case, a robot with physical dimensions possesses length () and width (), where (see Figure 1).

The operational diameter of the robot is then defined as , where . is the safe factor for collision avoidance. By selecting the distribution of the repulsion force can be adjusted to suit the maximum speed of the motion. Thereby the modified intermember repulsion force can be stated as follows:

The comparison between and is shown in Figure 2(a). Additionally we give and defined in [24] as counterpart in Figure 2(b). It is shown that the magnitude of and defined in our work is bounded, which can avoid numerical overflow by selecting proper control parameters.

3.1.2. Obstacle Avoidance

Obstacle avoidance is one of the most important aspects in practical implementation of the algorithm [3137]. In general the repulsion forces from obstacles only effect within a finite distance; that is, the sensing radius of a member and its magnitude should be limited too. So repulsion force acting on th member from obstacle is presented as follows: where denotes the weight determining the magnitude of the force. is the obstacle’s simply-closed contour and is an arbitrary point on that contour.

However, only using (40) to determine the repulsion force may lead to local minima near by the boundary of an obstacle, because and may get balanced. Figure 3(a) shows that three robots lingered near by the obstacle boundary. The reason is that, as Figure 3(b) shows, when the robots move to the edge of the obstacle, (represented by red line) together with (represented by blue dot line) drive the robot into an unwanted impasse, where was counteracted by , so there will be no actuator to navigate the robot heading for the destination.

To resolve this problem we decompose into two components, pointing at directions and , respectively, so is rewritten as follows (where denotes identity matrix): The part multiplied by in (41) generates a force pulling robot to move along the boundary and escape them from the impasse. Figures 3(c) and 3(d) are counterparts of the same scene but using (41) to calculate . These two figures show that the whole swarm can successfully escape the local minima and get into the shape contour.

3.1.3. Actuator Limitations

A robot has its limitation on acceleration and velocity, so the force definitions must be modified to eliminate unrealistic accelerations. Considering the mass of the th member is , and its upper threshold of acceleration is ; then the controller is shown as where We use velocity limiting function introduced in [24] as, the term represents maximum velocity that the th member can achieve. is the desired speed.

3.1.4. Chattering Effect

A drawback of the basic controller is the discontinuous nature of the basic artificial forces (i.e., and defined in Section 2). As shown in Figure 4(a), the forces have a significant variation at the boundary. If the shape area is relatively small, the repulsion force from other robots which are already inside the contour will prevent the others from passing through the edge. To tackle this problem, the force defined in (8) is modified to add a term which can compensate when the robot is getting closer to the shape contour. The modified is as follows:

In (45), determine the magnitude of the additional force. By tuning parameter , the operating range of this term can be limited in a short distance from the contour. Figure 4 shows that compared with original (Figure 4(a)), modified (Figure 4(b)) has preferable uniformity in either side of the shape contour. For the sake of simplicity, the values of the parameters are set as , and .

3.2. Adaptation of Control Parameters

The behavior of the forces defined in this paper is mainly determined by the value of the control parameters which can be classified into two types: magnitude factors (, , , , and ) and response factors (, , , , and ). The basic rules of determining values of these parameters are summarized in this subsection.

3.2.1. Magnitude Factors

For the determination on magnitude factors , , , and , an uniform representation is defined as follows: where is the total force that a shape or obstacle can generate. From the definitions of , , and it is obvious that , where the symbol can be replaced by , , and .

For we state that where is the unit repulsion force and is the count of member in the swarm.

With (46) and (47), the proposed forces can be limited by certain upper bound.

3.2.2. Response Factors

The definitions of the artificial forces show that the response factors can adjust the force’s reacting sensitivity. To set the value we have where the symbol can be replaced by , ,, , and to represent the constant of the robot’s sensing radius.

3.3. Moving Targets Formation

When a target shape is executing maneuver, there is a frame of reference tightly connecting with it. The direction of the swarm’s velocity coincides with the -axis and points on the shape contour are therefore fixed in such a frame. At time , the position-like state vector of the th member under the stationary (global) frame of reference is , by adopting displacement and rotation transformation as shown in (49), under can be calculated by where denotes the angle of rotation of on and is the displacement vector pointing from origin to .

Consider that the mode of a 2D vector is invariant under coordinate transformations, and under frame can be calculated via replacing , in (8) and (9) with .

Proof. Since So the scalar quantity of and is invariant under coordinates transformation defined by (49).
Here the forces generated from a moving formation was denoted as and are rewritten as By replacing original force definitions presented in (8) and (9) with (51) and (52) respectively, we can analogously analyze the swarm behavior and prove that the relative assertions proposed in Section 2 also hold for and .

4. Analysis of the Controller Acting on the Shape Contour

Most of the formation control strategies that are based on artificial potential field only control the overall geometry, while recently some novel strategies have been put forward to control the exact shape of the formation [3840].

When a moving target shape is about to pass through a narrow channel or collide with an obstacle, it is expected that the shape can be autodeformable to suit potential field change and therefore prevent the robots within it from collisions with obstacles. Moreover, in order to accommodate enough space to the whole swarm, it must be ensured that the area of the shape will not change during the deformation phase.

To achieve this purpose, in this section we present a controller on the shape contour which is sensitive to the potential change. The controller generates two forces acting on the shape contour: the pressure from obstacles and the tension generated by the contour itself. We analyze the behavior of this controller via a case in which a robotic swarm is passing through a narrow channel, as shown in Figure 5.

We define as radius of the smallest enclosing circle of the shape. When the circle is compressed into an ellipse; that is, where we have the area of the resulting ellipse is . It is clear that if , the area of the circle will be invariant under the compression. Theorem 6 states that the shape within the circle also keeps its area invariant during the compression.

Theorem 6. Given a shape presented as a convex polygon with vertex, if a compression satisfies condition on its smallest enclosing circle, then the area of is invariant.

Proof. can be divided into -2 triangles, for each one of them (denotes as ) with vertexes , where and are the area after and before compression, respectively. If , then . So which supports the assertion.

During the compression phase, the smallest enclosing circle itself will generate a tensile force which tends to pull the shape contour back to its original state, which is represented as where denotes the compression ratio, and the range.

We define the width of the channel is , the diameter of the smallest enclosing circle is ; then the compression force can be calculated by (58) as Consider state vector then the dynamics of motion of will be where is the friction factor.

From (58) and (60), we can get the transfer function of a second-order system as follows: its damping ratio is , so it is an over damping system with adjusting time , and the compression matrix is So an arbitrary point on the shape contour will be deformed into a new position as and the attraction and repulsion forces generated by the shape can be recomputed and updated to drive the robots.

5. Simulation Results and Discussion

In this section we first test the proposed control algorithm and the swarm behavior by three basic cases: formation convergence (in Section 5.1), formation transition (in Section 5.2), and obstacle avoidance (in Section 5.3). Within these cases the basic swarm model proposed in Section 2 and the modified one investigated in Section 3 are both taken into account, which by contrast highlights the improvement of the latter when it is working under certain restrictions in the real world scenario.

In Section 5.4 we apply the control algorithm to navigate a swarm to trace and finally form certain moving target shapes, which demonstrate the assertion studied in Section 3.3. Additionally, we put a narrow channel between the swarm and the destination. When the swarm is passing through the channel, the shape controller devised in Section 4 can deform the shape to suit the channel and therefore take robots out of the channel.

5.1. Formation Convergence

Figure 6 shows the motion of a swarm with 30 robots when they are trying to converge into four types of static shape. For this case, we select the parameters as magnitude factors , , , , , and ; maximal acceleration and velocity of the robot are 7 m/s2 and 4 m/s; reacting range control parameters , , , and .

Figures 6(a) and 6(b) use the basic attraction force definition as described in (8). It is clear that the robots are lingering back and forth near by the contour. This phenomenon illustrates that with the basic definition of and relatively small shape area, some robots usually failed to step into the shape. This is because decreases then the resultant repulsion force that generated from the robots in the contour repel them.

Figures 6(c) and 6(d) use the modified defined in (45). The whole swarm can avoid chatter effect and converge into the predefined formation shape. The reason is that the modified can keep the uniformity of the force distribution on both side of the boundary, so the attraction force will hold on till the robots get through into the shape; thereafter, continuingly navigates them to stay within the shape.

5.2. Formation Transition

In real world implementations, formation transitions are very usual. Figure 7 shows the simulation results about the behavior of a swarm with robots. The swarm is subjected to a sudden formation transition. The parameters used here are the same as the ones used in Section 5.1.

We test formation transitions in both stationary and moving target shape scenarios. As is seen in Figures 7(a) and 7(b) the formation type transits in interval of 20 seconds from triangle via pentagon to square.

Figure 7(b) demonstrates that the control algorithm for stationary shape is also adaptable in moving formation control. By using theoretical assertions proposed in Section 3.3, the shape can follow arbitrary trajectory and the forces from the shape are calculated by (51) and (52), which is subjected to a relative reference framework moving with the shape.

5.3. Obstacle Avoidance

In this section, the velocity and actuator limitations are taken into account. As shown in Figure 8(a), there is a swarm of 15 robots in a line formation (represented as red dots) and the target shape (a triangle formation) is located far away from the line. There are several obstacles between the start line and the target shape. The blue dots denotes the paths of the robots and the black crosses are their final positions. The velocity and accelerate are limited to 4 m/s and 7 m/s2 respectively. is set as 100, , and = 10 m.

Figure 8(a) shows that all the robots that successfully escape avoid these obstacles and form the desired formation within 30s. By using the modified defined in (39) together with (41), the robot getting closer to the obstacle boundary is dragged by a force parallel the boundary, so it can pass by the obstacles and avoid local minima during the whole process.

Figure 8(b) shows the change of (the red curve) and (the green curve) acting on robot ID = 1 when it gets through the formation contour boundary. We can figure out that with the modified defined in (45), the force uniformity between and at time = 20.9 s is ensured.

5.4. Shape Contour Controller

In this part the validity of the contour controller is demonstrated via the case of passing narrow channels. In order to make the swarm a damping system that can make the formation contour deform smoothly, the value of the parameters should be , and .

Figure 9(a) shows the motion of a swarm of 10 robots moving in a triangle formation. When there is no channel to get through, the controller keeps compression force and therefore the shape contour is invariant.

In Figures 9(b) and 9(c), a swarm of 15 robots follows a square and a triangle formation respectively. When the swarm reaches the entrance of the channel, the formation, contour begins to suffer pressure whose value is determined by (58), which deforms the contour into a compact one and navigates the whole swarm through the channel. After getting out of the channel, the tensile force defined in (57) stretches the contour back to its original state.

Figure 9(d) shows the change of the compression ratios defined in (62). It is clear that the value of (represented as blue stars) always equal 1, which means that the area of the formation shape is invariant. When the swarm is passing the channel, the behavior of the compression matrix which is described in (62) will follow the dynamic model defined in (60).

6. Conclusions

This paper presented a potential field-based approach for formation control of robotic swarms. We defined artificial forces in the form of exponential functions; therefore, the magnitude of the resultant force is constrained within reasonable range. The behavior of the swarm along with single robot was both analyzed. Realistic implementation considerations and adaptation of the control parameters have been investigated to enhance the robustness of the control algorithm. We additionally built a controller acting on the shape contour, making it autodeformable to prevent the member robots from collisions. Simulation results validate the efficiency of the proposed algorithm.

In this paper the potential field is generated by several wavefront expansion procedures starting at the contour of the formation shape or edges of obstacles. By following the flow of the negated gradient from the target shape, a trajectory is obtained to navigate each member of the swarm. Using such kind of resultant potential field is the fundamental reason that produces local minima near by the obstacle boundary [41]. To reduce the risk of such an impasse and to enlarge the maneuvering space of the robot, we highlight our future research on finding novel algorithms to generate potential field that is more flexible and less likely to produce local minima. One of the most promising trends is to make use of topological properties of the underlying environments. For instance, we are now working on the construction of sparse but adequate roadmaps such as Generalized Voronoi Diagrams (GVDs) and Equidistance Maps (EM). These spatial representation can be adopted to generate potential fields avoiding most local minima and providing reduced search space for navigation tasks.

Acknowledgments

The authors appreciate fruitful discussion with the Sim812 group: Xiaocheng Liu, Shiguang Yue, Lin Sun, Qi Zhang, and Liang Zhu. The authors also thank Professor Li Yao and Dr. Shan Mei for their proof reading and constructive comments. The authors appreciate feedback from our reviewers.