# Path Planning for Excavator Arm: Fuzzy Logic Control Approach

Authors: Nga Thi-Thuy Vu; Nam Phuong Tran
Journal: Journal of Robotics
 (2020)

---

## Abstract

This paper proposes an algorithm to design the path for automated excavator arm. The path designing is divided into two phases. Firstly, the fuzzy logic technique is used to determine the change of the path to adapt with the variation of the material after each digging period. Secondly, the B-spline algorithm is used to build the optimal trajectory. By this, the excavator can maximize the dug weight although the shape of the material is variation. The effectiveness of the algorithm is verified through computer simulation and real-time experiment. The simulation and experimental results show that the generated optimal path keeps the dug weight around the expected value regardless of the change of the environment.


---

## Body

## 1. Introduction

Excavator is one of the popular machines in the field of construction and transportation. The working environment of excavator is usually dirty and dangerous; so, automating the operation of the excavator is the trend recently. In the automation working mode of each machine, the reference trajectory is one of the important factors which guarantee the efficiency of the system. For this reason, the trajectory of the unmanual system should be predesigned to satisfy some specific requirements.For the problems of optimal trajectory, the B-spline technique is widely used in many works. In [1, 2], the B-spline is used to build the smooth, minimum-time, and jerk trajectories for manipulator robots. The parameters of the B-spline curves are obtained from solving the cost function with the mechanical constraints. The effectiveness of the method is verified through computer simulation and practical robots. In [3], the cubic B-spline is combined with the particle swarm optimization algorithm to generate the smooth optimal trajectory for the serial and parallel manipulators. The cubic spline interpolation is changed in the first and last knots of the optimized trajectory for having zero jerk at the beginning and end points of the trajectory. In [4], the strategy which combines the multidegree splines in the Cartesian space and multidegree B-spline in the joint space is designed for manipulator robot. The generated trajectory guarantees the controllability, bound, and continuity of the velocity and the acceleration at the initial and ending moments for the end effector.Unlike the spline methods which are very helpful in solving optimal problems, artificial intelligent including fuzzy logic and neural network is known as a powerful tool to solve the obstacle avoidance problem. In [5–7], a fuzzy-based path planning technique is introduced for multimobile robot with unknown dynamic environment and obstacles. There are two fuzzy logic systems are used in these works, one is used for obstacle avoidance, and the other for target reaching [5, 6] or planning speed of robots [7]. The unknown environment is detected by sensors which are located on the robots [5]. Meanwhile, the optimal motion path of the robot arm is implemented in [8] based on the fuzzy logic technique. The algorithm can shorten the time of motion and make the robots reach the target smoothly. Moreover, the robots in this work can avoid safety accidents, reduce casualties, and improve industrial productivity. The problem of the collision avoidance for 2 manipulators sharing a workspace is presented in [9]. In this context, one manipulator is considered as moving obstacle with the other; then, based on the output of the artificial potential field and the error between current position of the end effector and the goal, the fuzzy system infers the correction in displacement for each joint of each individual robot’s arm. Some other applications of fuzzy logic and neural network in path planning are studied in [10, 11].For the excavator robots, recently there are some research studies which focus on this topic. In [12], the optimal trajectory for the excavator arm is built based on the velocity and acceleration of the bucket; however, measuring velocity and acceleration is difficult in practical cases. Likewise, designing the working time and torque optimal trajectory for the excavator with limitation in the actuator’s force is shown in [13]. Otherwise, to create a suitable working path with surrounding environment, in [14], the laser scanner is used to obtain the information of the pile, and then the pile model is analysed and dived into a specific layer. Based on this information, the local path and then the global path are designed. While in [15], the neural network is employed in order to identify the soil model. Based on the interacting force between the bucket and pile, the optimal trajectory is designed by combing this result with reaction exerted force of the bucket. In [16], the adaptive neuron-fuzzy inference system (ANFIS) is combined with B-spline technique to generate the optimal time and jerk for the excavator arm. The scheme gives the good results with a smooth and optimal generated trajectory; however, the working condition in this case is in the static environment.In this paper, an algorithm based on the B-spline and fuzzy logic techniques is proposed to design the path for the automated excavator arm. The optimal time and jerk for each digging period is supported by the B-spline algorithm while the fuzzy logic scheme is used to determine the change of the path after each digging period. By this way, the reference path for the excavator is adjusted after each digging period, so it can maximize the dug weight despite the variation in the shape of the material. The effectiveness of the scheme is verified through the computer simulation and experimentation. The simulation and experimental results show that the built reference path keeps the dug weight around the expected value regardless of the change of the environment. Also, the time and jerk in each digging period is minimum.


## 2. Path Planning for Excavator Arm

### 2.1. Problem Description

Let us consider the excavator arm with a block diagram as shown in Figure1. The excavator arm includes three parts: the boom, the stick, and the bucket.Figure 1
Block diagram of the excavator [16].One of the requirements for excavator during working process is that the weight of material after each excavating period should be within acceptable range to optimize the efficiency. In practical cases, however, working environment is dynamic and always changes through excavating process. Hence, if the trajectory of the excavator is fixed, it cannot ensure that dug weight is maintained during working process. In the manual excavator, the operator must observe constantly the working environment and digging process of the excavator in order to adjust the excavator trajectory suitably. To automate the excavating operation, a trajectory planning module is designed to substitute the role of the operator.In this paper, the trajectory for the arm is designed to satisfy two requirements:(i)
Optimize the time and jerk in each digging period(ii)
Change the trajectory after some periods to keep the dug weight in the acceptable range as the working environment changedBefore going into the detail work, the following assumptions are used:(i)
The material lies under the ground(ii)
The material is considered as uniform densityIt is noted that these assumptions are only used to support for simulation. In the simulation, the change of the material and the dug weight after each digging period are unknown. In order to get the feedback information of the dug weight, the virtual environment is built in Matlab/SIMULINK with using these assumptions to calculate the weight and to express the change of the material. In the real world, this problem is solved easily by using a load cell, so the assumptions are not necessary.In each period, the trajectory of the arm is divided into four stages as follows:(i)
Stage 1: firstly, the bucket’s angle should be opened largely to create a suitable angle with material’s surface. Simultaneously, the boom’s angle and the stick’s angle change to move the end effect to the desired spot.(ii)
Stage 2: the bucket’s angle is kept constant and the bucket is forced inside the material by moving the other angles.(iii)
Stage 3: the bucket angle is closed to get material inside the bucket. In this time, the boom’s angle and the stick’s angle are kept unchanged.(iv)
Stage 4: in the last stage, by remaining the bucket’s angle nearly zero, the material is kept inside the bucket. The boom’s angle and the stick’s angle change to bring the material out of the ground.Figure2 shows the four stages of the trajectory in the joint coordinate, and Figure 3 shows the shape of the trajectory in the working coordinate. It is noted that the point D in Figure 3 is the deepest spot that the excavator’s bucket reaches in one digging period, which is corresponding to the end of the second stage.Figure 2
The stages of the joint angle.Figure 3
The shape of the trajectory in the working coordinate.From the predesigned trajectory as shown in Figure3, five via-points are obtained corresponding with the beginning and the end of all stages. Based on these via-points, a smooth and differentiable trajectory is designed to optimize the time and jerk in each period of the working. In the next section, a time and jerk optimization algorithm based on the fifth order B-spline curve is employed to improve the smoothness and time-saving properties of the trajectory.


### 2.2. Time and Jerk Optimization Trajectory Based on 5th Order B-Spline

The problem of time and jerk optimization is formulated as follows [17]:(1)findminkTN∑i=1vp−1hi+kJ∑j=1N∫0tfq¨t2dt,Subject to:q˙jt≤VCj,j=1,…,N,q¨jt≤ACj,j=1,…,N,q¨jt≤JCj,j=1,…,N.In which,kT and kJ are scalars; vp is the number of via-points; hi is time interval that the trajectory moves from ih point to (i + 1)th point; q˙t,q¨t,andtq¨t are the velocity, acceleration, and jerk of the jth joint, respectively; VCj, ACj, and JCj are the bound of velocity, acceleration, and jerk for the jth joint, respectively; and N is the number of joints.In each period of working time, the trajectory of the arm is desired to have the form as shown in Figure4. From this desired shape, some via-points are defined; then, the optimization problem is solved by using sequential quadratic programming. After solving this problem, the B-spline technique is used to build the smooth curve for each joint in one period of digging by using the following equation:(2)Bpt=∑i=1nQi⋅Ni,pt,where n is the number of control points, Qi is the control point of the B-spline, and Ni,p(t) is the basic function of degree p. The basic function is given in the form of regression as follows:(3)Ni,pt=t−titi+p−ti⋅Ni,p−1t+ti+p+1−tti+p+1−ti+1⋅Ni+1,p−1t,Ni,0=1,forti≤t<ti+1,0,elsewhere.Figure 4
Whole system’s structure.In (3), the values of ti, ti+1, ti+p+1 are determined from solving optimal problem (1). Finally, the trajectory for the arm has the following form:(4)qt=∑i=1nQi.Ni,pt,where the values of Qi are calculated from the condition that the trajectory goes through the via-points which are predesigned.


### 2.3. Automatically Adjusting Trajectory’s Parameter to Adapt with the Variation of the Working Environment

During the operation of the excavator, the shape of material changes after each digging period. Therefore, adjusting appropriately parameters of the trajectory is necessary to guarantee work efficiency. According to the shape of the trajectory that is described in Section2.1, one should analyse several potential changes in the trajectory’s parameters that can affect the amount of the excavated material in each period. Particularly, it can be seen easily that by shifting the deepest point of the trajectory, DyD,zD in Figure 4, the dug weight can be changed.The structure of the whole system is demonstrated in Figure4. The fuzzy blocks in Figure 4 are used to estimate the change in amount of yD and zD according to the error between the dug weight in the previous period and the desired value. Once the values of yD and zD are calculated, the complete trajectory is formulated based on the optimization algorithm which is developed in Section 2.2. The algorithm for trajectory inference is shown in Figure 5.Figure 5
Algorithm of trajectory generation.In Figure5, ΔzD0 is the first chosen value as default decrease amount for zD. Since after each period, the material is taken, so zD must be declined in order that the excavator can move more deeply in the next period. In detail, if the value of ΔzD0 does not help excavating enough material as expectation, one should increase ΔzD0 by adding a small number ΔzD and vice versa. This process can be formulated as follows:(5)ΔzDk+1=ΔzDk+εΔmk,zDk+1=zDk−ΔzDk+1,where the initial values are set as zD0=zD0, ΔzD0=ΔzD0, and Δmk=m∗−mk, with m∗ is the desired amount of the dug weight and mk is the dug weight in the kth period. The first equation of (5) implies that after each period, the displacement of zD, denoted by ΔzD, should be adjusted based on the weight error Δmk. For instance, if Δmk is positive, it means that the amount of displacement in the previous period is not large enough; hence, ΔzD in the next step should be increased. Generally, the change in the displacement rate ΔzD depends on the function of Δmk that is denoted by εΔmk as in the first equation of (5). The second equation of (5) describes the shifting of zD based on the position displacement in the first equation. Note that the initial state zD0 and ΔzD0 are considered as default value of position and shifted position, and zD and ΔzD are reset to the default value if the certain criteria are met.From (5), it is obviously that the probable adjustment in ΔzD calculated by εΔmk determines the work efficiency. Therefore, the heart of the trajectory inference algorithm is the function εΔmk. In this work, the εΔmk is constructed by utilizing fuzzy logic. Structure of the fuzzy logic system representing for εΔmk is illustrated in Figure 6.Figure 6
Sugeno fuzzy logic inference system.The input and output of the system are dug weight error Δm and adjusting amount εΔmk, respectively. Membership function of input is the triangular function:(6)μx=0,ifx≤a,x−ab−a,ifa≤x≤b,c−xc−b,ifb≤x≤c,0,ifx≥c.In this paper, seven membership functions of input are used corresponding with linguistic variables as follows: very negative big (vnb), negative big (nb), negative small (ns), zero, positive small (pm), positive big (pb), and very positive big (vpb). The rule base of the fuzzy logic system is expressed as follows:IfΔm is vnb, then ε is r1. If Δm is zero, then ε is r4.IfΔm is nb, then ε is r2. If Δm is ps, then ε is r5.IfΔm is ns, then ε is r3. If Δm is pb, then ε is r6.IfΔm is vpb, then ε is r7,wherer1,r2,r3,r4,r5,r6,r7=−0.4,−0.25,−0.1,0,0.1,0.25,0.4.Note that if some positions on the trajectory are out of reach of the manipulator, singularities in inverse kinematics will occur. In this case, the value ofzD should be reset and the value of yD should be changed an amount ΔyD0. In the case that singularity still occurs after changing yD and reset value of zD, it means that the manipulator has already reached its limit in workspace, and the algorithm then is terminated. The variable flag in the algorithm indicates that yD is already changed.


## 2.1. Problem Description

Let us consider the excavator arm with a block diagram as shown in Figure1. The excavator arm includes three parts: the boom, the stick, and the bucket.Figure 1
Block diagram of the excavator [16].One of the requirements for excavator during working process is that the weight of material after each excavating period should be within acceptable range to optimize the efficiency. In practical cases, however, working environment is dynamic and always changes through excavating process. Hence, if the trajectory of the excavator is fixed, it cannot ensure that dug weight is maintained during working process. In the manual excavator, the operator must observe constantly the working environment and digging process of the excavator in order to adjust the excavator trajectory suitably. To automate the excavating operation, a trajectory planning module is designed to substitute the role of the operator.In this paper, the trajectory for the arm is designed to satisfy two requirements:(i)
Optimize the time and jerk in each digging period(ii)
Change the trajectory after some periods to keep the dug weight in the acceptable range as the working environment changedBefore going into the detail work, the following assumptions are used:(i)
The material lies under the ground(ii)
The material is considered as uniform densityIt is noted that these assumptions are only used to support for simulation. In the simulation, the change of the material and the dug weight after each digging period are unknown. In order to get the feedback information of the dug weight, the virtual environment is built in Matlab/SIMULINK with using these assumptions to calculate the weight and to express the change of the material. In the real world, this problem is solved easily by using a load cell, so the assumptions are not necessary.In each period, the trajectory of the arm is divided into four stages as follows:(i)
Stage 1: firstly, the bucket’s angle should be opened largely to create a suitable angle with material’s surface. Simultaneously, the boom’s angle and the stick’s angle change to move the end effect to the desired spot.(ii)
Stage 2: the bucket’s angle is kept constant and the bucket is forced inside the material by moving the other angles.(iii)
Stage 3: the bucket angle is closed to get material inside the bucket. In this time, the boom’s angle and the stick’s angle are kept unchanged.(iv)
Stage 4: in the last stage, by remaining the bucket’s angle nearly zero, the material is kept inside the bucket. The boom’s angle and the stick’s angle change to bring the material out of the ground.Figure2 shows the four stages of the trajectory in the joint coordinate, and Figure 3 shows the shape of the trajectory in the working coordinate. It is noted that the point D in Figure 3 is the deepest spot that the excavator’s bucket reaches in one digging period, which is corresponding to the end of the second stage.Figure 2
The stages of the joint angle.Figure 3
The shape of the trajectory in the working coordinate.From the predesigned trajectory as shown in Figure3, five via-points are obtained corresponding with the beginning and the end of all stages. Based on these via-points, a smooth and differentiable trajectory is designed to optimize the time and jerk in each period of the working. In the next section, a time and jerk optimization algorithm based on the fifth order B-spline curve is employed to improve the smoothness and time-saving properties of the trajectory.


## 2.2. Time and Jerk Optimization Trajectory Based on 5th Order B-Spline

The problem of time and jerk optimization is formulated as follows [17]:(1)findminkTN∑i=1vp−1hi+kJ∑j=1N∫0tfq¨t2dt,Subject to:q˙jt≤VCj,j=1,…,N,q¨jt≤ACj,j=1,…,N,q¨jt≤JCj,j=1,…,N.In which,kT and kJ are scalars; vp is the number of via-points; hi is time interval that the trajectory moves from ih point to (i + 1)th point; q˙t,q¨t,andtq¨t are the velocity, acceleration, and jerk of the jth joint, respectively; VCj, ACj, and JCj are the bound of velocity, acceleration, and jerk for the jth joint, respectively; and N is the number of joints.In each period of working time, the trajectory of the arm is desired to have the form as shown in Figure4. From this desired shape, some via-points are defined; then, the optimization problem is solved by using sequential quadratic programming. After solving this problem, the B-spline technique is used to build the smooth curve for each joint in one period of digging by using the following equation:(2)Bpt=∑i=1nQi⋅Ni,pt,where n is the number of control points, Qi is the control point of the B-spline, and Ni,p(t) is the basic function of degree p. The basic function is given in the form of regression as follows:(3)Ni,pt=t−titi+p−ti⋅Ni,p−1t+ti+p+1−tti+p+1−ti+1⋅Ni+1,p−1t,Ni,0=1,forti≤t<ti+1,0,elsewhere.Figure 4
Whole system’s structure.In (3), the values of ti, ti+1, ti+p+1 are determined from solving optimal problem (1). Finally, the trajectory for the arm has the following form:(4)qt=∑i=1nQi.Ni,pt,where the values of Qi are calculated from the condition that the trajectory goes through the via-points which are predesigned.


## 2.3. Automatically Adjusting Trajectory’s Parameter to Adapt with the Variation of the Working Environment

During the operation of the excavator, the shape of material changes after each digging period. Therefore, adjusting appropriately parameters of the trajectory is necessary to guarantee work efficiency. According to the shape of the trajectory that is described in Section2.1, one should analyse several potential changes in the trajectory’s parameters that can affect the amount of the excavated material in each period. Particularly, it can be seen easily that by shifting the deepest point of the trajectory, DyD,zD in Figure 4, the dug weight can be changed.The structure of the whole system is demonstrated in Figure4. The fuzzy blocks in Figure 4 are used to estimate the change in amount of yD and zD according to the error between the dug weight in the previous period and the desired value. Once the values of yD and zD are calculated, the complete trajectory is formulated based on the optimization algorithm which is developed in Section 2.2. The algorithm for trajectory inference is shown in Figure 5.Figure 5
Algorithm of trajectory generation.In Figure5, ΔzD0 is the first chosen value as default decrease amount for zD. Since after each period, the material is taken, so zD must be declined in order that the excavator can move more deeply in the next period. In detail, if the value of ΔzD0 does not help excavating enough material as expectation, one should increase ΔzD0 by adding a small number ΔzD and vice versa. This process can be formulated as follows:(5)ΔzDk+1=ΔzDk+εΔmk,zDk+1=zDk−ΔzDk+1,where the initial values are set as zD0=zD0, ΔzD0=ΔzD0, and Δmk=m∗−mk, with m∗ is the desired amount of the dug weight and mk is the dug weight in the kth period. The first equation of (5) implies that after each period, the displacement of zD, denoted by ΔzD, should be adjusted based on the weight error Δmk. For instance, if Δmk is positive, it means that the amount of displacement in the previous period is not large enough; hence, ΔzD in the next step should be increased. Generally, the change in the displacement rate ΔzD depends on the function of Δmk that is denoted by εΔmk as in the first equation of (5). The second equation of (5) describes the shifting of zD based on the position displacement in the first equation. Note that the initial state zD0 and ΔzD0 are considered as default value of position and shifted position, and zD and ΔzD are reset to the default value if the certain criteria are met.From (5), it is obviously that the probable adjustment in ΔzD calculated by εΔmk determines the work efficiency. Therefore, the heart of the trajectory inference algorithm is the function εΔmk. In this work, the εΔmk is constructed by utilizing fuzzy logic. Structure of the fuzzy logic system representing for εΔmk is illustrated in Figure 6.Figure 6
Sugeno fuzzy logic inference system.The input and output of the system are dug weight error Δm and adjusting amount εΔmk, respectively. Membership function of input is the triangular function:(6)μx=0,ifx≤a,x−ab−a,ifa≤x≤b,c−xc−b,ifb≤x≤c,0,ifx≥c.In this paper, seven membership functions of input are used corresponding with linguistic variables as follows: very negative big (vnb), negative big (nb), negative small (ns), zero, positive small (pm), positive big (pb), and very positive big (vpb). The rule base of the fuzzy logic system is expressed as follows:IfΔm is vnb, then ε is r1. If Δm is zero, then ε is r4.IfΔm is nb, then ε is r2. If Δm is ps, then ε is r5.IfΔm is ns, then ε is r3. If Δm is pb, then ε is r6.IfΔm is vpb, then ε is r7,wherer1,r2,r3,r4,r5,r6,r7=−0.4,−0.25,−0.1,0,0.1,0.25,0.4.Note that if some positions on the trajectory are out of reach of the manipulator, singularities in inverse kinematics will occur. In this case, the value ofzD should be reset and the value of yD should be changed an amount ΔyD0. In the case that singularity still occurs after changing yD and reset value of zD, it means that the manipulator has already reached its limit in workspace, and the algorithm then is terminated. The variable flag in the algorithm indicates that yD is already changed.


## 3. Results and Discussion

### 3.1. Optimal Trajectory for Digging Process

In each period, after getting the deepest point from the fuzzy module, the via-points for each joint are calculated based on the desired shape. Then, optimal problem (1) is solved with the constraint as shown in Table 1.Table 1
Mechanical constraint of each joint.
Velocitydeg/sAccelerationdeg/s2Jerkdeg/s311006060210060603100a6060Velocity, acceleration, and jerk in both starting and ending point are set at 0. By adjust the value ofkT,kJ in (1), the trajectory can be created either more time-saving or smoother. In this work, two cases (kT=1,kJ=0 and kT=0.1,kJ=0.9) are implemented to show the effect of kT,kJ to the properties of the trajectory.Figure 7
Joint angle and jerk withkT = 1 and kJ = 0.Case 1.
kT = 1 and kJ = 0By settingkT = 1 and kJ = 0, the designer’s intention is to reduce the time of the trajectory without considering the jerk. The joint angle and jerk responses are shown in Figure 7. It can be seen easily that the jerk of the bucket’s joint reaches the limit of jerk (60 deg/s3).Case 2.
kT = 0.1 and kJ = 0.9
In this case, the smoothness in working is concerned much more, joint angles and jerks are shown in Figure8. Total time of the trajectory slightly increases compared to Case 1, from 16.17 s in the first case to 18.38 s in the second case. However, the jerk of all three joints is reduced significantly, and maximum jerk in the second case is only about 40 (deg/s3).Figure 8
Joint angle and jerk withkT = 0.1 and kJ = 0.9.


### 3.2. Calculating the Change of Trajectory between Periods to Maximum the Dug Weight as the Environment Changing

Secondly, the fuzzy logic system that is proposed in Section2.3 is utilized to calculate the suitable trajectory based on observing dug weight error. At the first step, D is set at default value D=yD,zD=−9,−0.1, and desired dug weight is m∗=30 kg. After applying the default trajectory, excavated weight is 8.5 kg. The dug weight error in 20 periods is shown in Figure 9. It can be seen that by applying fuzzy logic to change the trajectory, the dug weight after the first step is improved significantly and the maximum error is about 5 kg, but this error occurs only in one period. The trajectories in 1st, 3rd, 5th, 7th, 11th, 13th, 15th, and 17th are shown in Figure 10.Figure 9
Dug weight error through each period.Figure 10
Trajectory in several excavating periods.Note that, in this example, after the 10th digging period, the trajectory makes the system reach the kinematic limitation of the excavator, so it is reset to the highest point and the yD should be changed to adjust the horizon of the trajectory. The shape of the material after the 10th period and the 20th period is shown in Figure 11.Figure 11
Shape of pile after 10th and 20th periods.


### 3.3. Experimental Results

To evaluate the performances of the proposed algorithm, the experimental system has been built and illustrated in Figure12. The parameters of the system are as follows:Type: hydraulic excavatorVolume of oil type: 100 mlDepth of digging: 414 mmHeight: 832 mmWidth: 240 mmLength: 1.15 mMaximum load: 10 kgMaximum oil pressure: 20 BarEngine of oil pumps: BLDCFigure 12
The laboratory size excavator.The information about the dug weight is feedback to the computer from the load cell after each digging period. This signal then is fed to the fuzzy system to determine the change of theyD and zD. From these results, the optimization toolbox will solve optimal problem (1) and then the B-spline technique will be used to build the reference trajectory for the excavator arm. The experimental results are shown in Figures 13–15.Figure 13
The trajectory of the excavator arm in the joint space in the 2nd period.Figure 14
The trajectory of the excavator arm in the joint space in the 4th period.Figure 15
The weight error during working time.Figure13 illustrates the trajectory of the excavator arm in the joint space in the 2nd period. In the first stage, the bucket opens to reach a suitable angle (about −82 degree), and the boom and stick angles are unchanged. Next, the bucket angle is remained, and the bucket is forced inside the material by increasing the boom angle from initial value (about −72 degree) to the value of −35 degree. In the 3rd stage, the bucket angle increases to close the bucket and the material is kept inside the bucket during the unload process. Finally, the boom angle changes to move the material out of the ground. During the cycle of digging, the stick angle is kept constant. Figure 14 depicts the angles of the boom, stick, and bucket at the 4th period. At this cycle, the angle of the stick is reduced to −25 degree to adapt with the change of the material.Figure15 presents the dug weight error in each period of digging. In the first cycle, the dug weight error is quite high (about 3.5 kg) because the trajectory for this cycle is set randomly. In the 2nd cycle, the trajectory of the arm is adjusted and then the error reduces to 0.3 kg. This trajectory is also applied to the 3rd cycle, and the weight error increases to 0.7 kg. This big error leads to the change of the trajectory in the 4th cycle to maximize the dug weight. The experiments are repeated for other cycles.The simulation and experimental results illustrated in Figure9 through 16 all indicate that the proposed algorithm has the good performances in both computer simulation and real-time experiment. The trajectory of the excavator arm is adjusted as the dug weight is out of the acceptable range; so, the weight error is kept small.


## 3.1. Optimal Trajectory for Digging Process

In each period, after getting the deepest point from the fuzzy module, the via-points for each joint are calculated based on the desired shape. Then, optimal problem (1) is solved with the constraint as shown in Table 1.Table 1
Mechanical constraint of each joint.
Velocitydeg/sAccelerationdeg/s2Jerkdeg/s311006060210060603100a6060Velocity, acceleration, and jerk in both starting and ending point are set at 0. By adjust the value ofkT,kJ in (1), the trajectory can be created either more time-saving or smoother. In this work, two cases (kT=1,kJ=0 and kT=0.1,kJ=0.9) are implemented to show the effect of kT,kJ to the properties of the trajectory.Figure 7
Joint angle and jerk withkT = 1 and kJ = 0.Case 1.
kT = 1 and kJ = 0By settingkT = 1 and kJ = 0, the designer’s intention is to reduce the time of the trajectory without considering the jerk. The joint angle and jerk responses are shown in Figure 7. It can be seen easily that the jerk of the bucket’s joint reaches the limit of jerk (60 deg/s3).Case 2.
kT = 0.1 and kJ = 0.9
In this case, the smoothness in working is concerned much more, joint angles and jerks are shown in Figure8. Total time of the trajectory slightly increases compared to Case 1, from 16.17 s in the first case to 18.38 s in the second case. However, the jerk of all three joints is reduced significantly, and maximum jerk in the second case is only about 40 (deg/s3).Figure 8
Joint angle and jerk withkT = 0.1 and kJ = 0.9.


## 3.2. Calculating the Change of Trajectory between Periods to Maximum the Dug Weight as the Environment Changing

Secondly, the fuzzy logic system that is proposed in Section2.3 is utilized to calculate the suitable trajectory based on observing dug weight error. At the first step, D is set at default value D=yD,zD=−9,−0.1, and desired dug weight is m∗=30 kg. After applying the default trajectory, excavated weight is 8.5 kg. The dug weight error in 20 periods is shown in Figure 9. It can be seen that by applying fuzzy logic to change the trajectory, the dug weight after the first step is improved significantly and the maximum error is about 5 kg, but this error occurs only in one period. The trajectories in 1st, 3rd, 5th, 7th, 11th, 13th, 15th, and 17th are shown in Figure 10.Figure 9
Dug weight error through each period.Figure 10
Trajectory in several excavating periods.Note that, in this example, after the 10th digging period, the trajectory makes the system reach the kinematic limitation of the excavator, so it is reset to the highest point and the yD should be changed to adjust the horizon of the trajectory. The shape of the material after the 10th period and the 20th period is shown in Figure 11.Figure 11
Shape of pile after 10th and 20th periods.


## 3.3. Experimental Results

To evaluate the performances of the proposed algorithm, the experimental system has been built and illustrated in Figure12. The parameters of the system are as follows:Type: hydraulic excavatorVolume of oil type: 100 mlDepth of digging: 414 mmHeight: 832 mmWidth: 240 mmLength: 1.15 mMaximum load: 10 kgMaximum oil pressure: 20 BarEngine of oil pumps: BLDCFigure 12
The laboratory size excavator.The information about the dug weight is feedback to the computer from the load cell after each digging period. This signal then is fed to the fuzzy system to determine the change of theyD and zD. From these results, the optimization toolbox will solve optimal problem (1) and then the B-spline technique will be used to build the reference trajectory for the excavator arm. The experimental results are shown in Figures 13–15.Figure 13
The trajectory of the excavator arm in the joint space in the 2nd period.Figure 14
The trajectory of the excavator arm in the joint space in the 4th period.Figure 15
The weight error during working time.Figure13 illustrates the trajectory of the excavator arm in the joint space in the 2nd period. In the first stage, the bucket opens to reach a suitable angle (about −82 degree), and the boom and stick angles are unchanged. Next, the bucket angle is remained, and the bucket is forced inside the material by increasing the boom angle from initial value (about −72 degree) to the value of −35 degree. In the 3rd stage, the bucket angle increases to close the bucket and the material is kept inside the bucket during the unload process. Finally, the boom angle changes to move the material out of the ground. During the cycle of digging, the stick angle is kept constant. Figure 14 depicts the angles of the boom, stick, and bucket at the 4th period. At this cycle, the angle of the stick is reduced to −25 degree to adapt with the change of the material.Figure15 presents the dug weight error in each period of digging. In the first cycle, the dug weight error is quite high (about 3.5 kg) because the trajectory for this cycle is set randomly. In the 2nd cycle, the trajectory of the arm is adjusted and then the error reduces to 0.3 kg. This trajectory is also applied to the 3rd cycle, and the weight error increases to 0.7 kg. This big error leads to the change of the trajectory in the 4th cycle to maximize the dug weight. The experiments are repeated for other cycles.The simulation and experimental results illustrated in Figure9 through 16 all indicate that the proposed algorithm has the good performances in both computer simulation and real-time experiment. The trajectory of the excavator arm is adjusted as the dug weight is out of the acceptable range; so, the weight error is kept small.


## 4. Conclusions

The combination of B-spline technique and the fuzzy logic algorithm is proposed in this paper to generate the reference trajectory for the excavator arm robot. The design procedure includes two steps: firstly, the change of trajectory in comparison with the previous period is calculated to adapt with the change of the material during digging process; secondly, the reference trajectory for the current period is determined based on the result from the first step. The contributions of the proposed algorithm can be concluded as follows:The trajectory of the excavator arm is changed automatically depending on the reduction of the material during digging process.The weight of material which is dug in each period is kept in an acceptable range despite of reduction of the material (the shape of the material pile is changed).The algorithm uses only the information of the trajectories in the previous periods and the error between dug weight and desired value to calculate the reference trajectory. Some previous works solve this problem by using cameras [14] which may have the low reliability in the dust or dark environment.The working of the robot arm in each cycle can reach the time and jerk optimization conditions.The effectiveness of the scheme is verified through the computer simulation and laboratory size test-bed. The simulation and experimental results show that in each period of digging, the system can reach the minimum time and jerk by suitable selected parameters for the optimal function. Also, the dug weight is kept around the expected value regardless of the change of the environment.



---

*Source: 8893260-2020-11-21.xml*