Path Tracking Controller of Quadruped Robot for Obstacle Avoidance Using Potential Functions Method

— This paper proposes a tracking controller for obstacle avoidance of a quadruped robot using potential functions method. The followings are done for this task. At first, a ceiling-mounted camera system is installed for image processing. The goal point and obstacles are separated and recognized by a color recognition method. Second, a path planning algorithm using potential functions method is proposed to generate the path to avoid obstacles and to plan a path for the quadruped robot to reach from start point to goal point. Third, a quadruped robot is chosen as the mobile platform for this study and the kinematic model for the robot is presented. Fourth, a tracking controller is designed for the quadruped robot to track the trajectory based on the backstepping method using Lyapunov function. Finally, the simulation results are presented to show the effectiveness of the proposed trajectory planning algorithm and the tracking controller.


I. INTRODUCTION
During the last decade, research on walking robots has been focused mainly on gait generation.Many gaits have been studied and implemented in walking machines.Although gait generation has been a very important subject for researching, lack of attention has been paid to path tracking with walking robot.Zhang et al. formulated the wave-crab gait and the circular wave gait in [1].In [2], a four-legged walking robot called PVII was built by Hirose and Umetani.The PVII can maintain a horizontal body orientation and has contact sensor on each foot to detect contact with the ground.In [3], Ma et al. proposed a gait transition method for a quadruped robot to achieve omni-directional static walking.These papers proposed only walking gaits and stability of the walking robot.In [4], Santos et al. introduced path tracking methods using discontinuous gaits.But they used an open loop control algorithm.Therefore, a closed-loop control with camera feedbacks is needed.
This paper addressed a trajectory tracking problem: control a quadruped robot to track a path generated by a path planning algorithm for obstacles avoidance.The control technology for our system is presented in following sequence.First, the server computer receives image from the camera.The obstacles and goal point are marked.Second, the proposed potential functions method is applied and a trajectory from a start point to a goal point is generated.Third, the kinematic model for the quadruped robot is presented.From the modelling, a backstepping controller is designed for the robot to track the planned trajectory generated by the potential functions method.The simulation results are presented to show the effectiveness of the proposed trajectory planning algorithm and tracking controller of the robot for obstacle avoidance.

A. System description
In this section, the ceiling-mounted camera system configuration is introduced.The system includes a ceilingmounted camera, server computer, the quadruped robot and obstacles in random positions in Fig. 1.The camera is connected to the server computer by USB interface.The server computer receives image from the camera to perform image processing, generates the path and then sends commands to the robot.

B. Potential function
This section describes the use of potential functions in path planning [5].A potential function ( ) U p can be viewed as energy.Hence the gradient ( ) U Ñ p of the potential function can be viewed as force as follows: [ ] / ( ), / ( ) where p = [x y] T is a position vector of the robot in the map.
The potential function approach directs the robot as if it is a particle moving in a gradient vector field.Gradients can be intuitively viewed as forces acting on a positively charged particle robot which attached to the negatively charged goal.Obstacles also have a positive charge which forms a repulsive force directing the robot away from obstacles.The combination of repulsive and attractive forces directs the robot from the start point to the goal point while avoiding obstacles.Potential function can be constructed as the sum of attractive and repulsive potentials as follows: where ( ) U p is the attractive potential function and ( ) U p is the repulsive potential function.
The attractive potential represents that the robot attract to the goal.The repulsive potential represents that the robot repels from obstacles.The repulsive potential function in terms of individual obstacles can be commonly used the following form.
where ( ) i d p is the distance from the robot to obstacle i, * i Q is the threshold distance to allow the robot to ignore obstacles and h is the repulsive gain.
Then the repulsive gradient is: The total repulsive function and gradient can be calculated as follows: The attractive potential can be chosen as follows: And the attractive gradient is:

C. Gradient descent
The robot moves from a "high value" state to a "low value" state of the potential function.The vector of the gradient points the direction that the potential function will increase.Therefore, the robot follows a path "downhill" by following the negated gradient of the potential function.Following such a path is called gradient descent.The robot terminates motion when and p* is called a critical point.The point p* is maximum, minimum or saddle point.We use the second derivative (Hessian matrix) to determine the type of critical point.
The gradient descent algorithm can be defined as: where the notation i p is used to denote the value of p at the i th iteration and the final path consist of the sequence of iterates

A. Design of quadruped robot
The quadruped robot in this paper consists of one body and four legs.Each leg has three joints.Fig. 2 shows the simplified model of the robot.

B. Three joint leg configuration
A three-joint leg can be considered as a three-link revolute joint manipulator, which is attached to robot body.Therefore, the kinematic modelling is performed by the conventional  x y z = p , can be calculated as follows [6]: x a a a y a a a z a a q q q q q q q q q q q = + + + where is joint angles vector.
The translational velocity vector of the end-effector, e v , can be expressed as the time derivative of the end-effector position vector.
where / P e = ¶ ¶ J p q is the analytical Jacobian [6], 1 2 3 is joint angular velocity vector and 0 z , 1 z , 2 z are unit vectors as shown in Fig. 3.

A. Path discretization
The path generated by the potential functions method is discretized into appropriate steps.As a simple example, in order for the robot move for a distance of 10.0cm, the motion planner decides to take ten 1.0cm steps.In the execution, the legs start from a specified home position.The desired values are supplied to the robot.The new joint angles are computed by the tracking controller on the robot

B. Tracking controller design
At first, the gait of the robot chosen in this study is the crab gait.The crab gait consists in moving the center of gravity of the body along a trajectory while maintaining the body's orientation constant.The advantages of the crab gait are high stability margin that allows the robot to move in larger direction angle and computation of the joint angles is similar for all legs.A desired tracking controller is designed to track the path obtained from path planning algorithm.
The robot walks in direction with the angle β by moving the end-effector of every leg with the same angle β to a desired point as shown in Fig. 4. The desired point position is calculated as follow:  The operational space error vector between the desired and the actual end-effector is defined as follows: Then the time derivative of the error vector is: ( ) In this paper, a controller backstepping method [8] is proposed.The candidate Lyapunov function (clf) is chosen as follows: where K is a symmetric positive definite matrix.
Using Eq. ( 13), the derivative of Eq. ( 14) wrt to time is derived as follows: Control input chosen are joint velocity vector, q & .On the assumption that matrix J P (q) is square and nonsingular, the control input is chosen as follows: 1 ( )( ) From Eqs. (15) and ( 16), we have: The joint velocity vector is designed to make the error converge to zero when t ® ¥ .In the case of singular ( ) P J q .The solution of Eq. ( 16) can be generalized into IJSE Journal 4 ( )( ) + -= J q J q J q J q is a pseudo inverse matrix of ( ) P J q .With the control input of Eq. ( 18), the operational space error e converges to 0 when t ® ¥ [6].

A. The potential function results
In the following simulations, the workspace is within a 10m x 10m and there are some circular obstacles placed in it.The starting position of the robot at point (0, 0) and the goal position at point (8,8).For the potential functions method, the parameters are chosen as shows in table 1.

Parameters
Description Unit Fig. 5 shows the trajectory generated by path planning algorithm using potential functions method.The path avoids two obstacles at point (1,3) and another one at point (5,7) and reaches goal position at point (8,8).Fig. 6 shows the potential function in the workspace.There are three maxima at three obstacles and one minimum at the goal point.The robot follows the path to move from a "high value" state to a "low value" state of the potential function.

B. The tracking simulation results
1) One path discretization Fig. 7 shows the path generated by the path planning algorithm.The path is discretized into appropriate steps.In this case, a step is the distance of one robot step, r = 2cm.The direction of robot motion of each step, β, is calculated from the path.Then the distance of one step and the direction of each robot step are sent to robot to follow.

2) One leg simulation results
For one leg simulation results, the one leg simulation parameters are shown in Table II .The initial values are chosen as shows in Table III.Fig. 8 shows a step of one leg from initial point to desired point.VI.CONCLUSION This paper proposed to design a tracking controller for obstacle avoidance of quadruped robot from start point to goal point using a ceiling-mounted camera system method.Ceiling-Mounted Camera system is used for image processing.By the system, the robot and obstacles are recognized by the color recognition method.The kinematic the robot is presented.Potential functions method is proposed as the path planning method to generate the path.Based on the kinematic modelling, the path tracking controller using the backstepping technique is presented to track the path generated by the path planning method.The simulation results of the controller verified the effectiveness of the proposed path planning algorithm using potential functions method and the proposed tracking controller.

Fig. 1
Fig. 1 Configuration of Ceiling-mounted Camera System is the distance from the robot position to the goal position, * goal d is a threshold distance from the robot position to the goal position where the attractive potential function switch and z is the repulsive gain.
the path for trajectory tracking controller.The value of the scalar a determines the step size of the iteration.

Fig. 2
Fig. 2 Simplified model of the robot The kinematic model is derived according to the Denavit-Hartenberg (DH) convention[6].In Fig.3, a representation of a three joint leg is shown with the reference frames and corresponding joint variables.

Fig. 3
Fig. 3 Three-joint leg The end-effector position vector of one leg, [ ] T e e e e end-effector and b is then angle of moving and r is the distance of one robot step.

Fig. 4
Fig. 4 Crab gait motion for one leg

Fig. 7
Fig. 7 Path from potential functions method

Fig. 8 A
Fig. 8 A step of one leg

Fig. 9
Fig. 9 Joint angles in one step

Fig. 10
Fig.10shows the operational space error when the robot steps.After 2 seconds, the error converges to zero.The endeffector reaches the desired point Pd.

Fig. 10
Fig. 10 The operational space error e )

TABLE II ONE
LEG SIMULATION PARAMETERS