# Under-Actuated Robot Manipulator Positioning Control Using Artificial Neural Network Inversion Technique

Authors: Ali T. Hasan
Journal: Advances in Artificial Intelligence
 (2012)

---

## Abstract

This paper is devoted to solve the positioning control problem of underactuated robot manipulator. Artificial Neural Networks Inversion  technique was used where a network represents the forward dynamics of the system trained to learn the position of the passive joint over the working space of a 2R underactuated  robot. The obtained weights from the learning process were fixed, and the network was inverted to represent the inverse dynamics of the system and then used in the estimation phase to estimate the position of the passive joint for a new set of data the network was not previously trained for. Data used in this research are recorded experimentally from sensors fixed on the robot joints in order to overcome whichever uncertainties presence in the real world such as ill-defined linkage parameters, links flexibility, and backlashes in gear trains. Results were verified experimentally to show the success of the proposed control strategy.


---

## Body

## 1. Introduction

Underactuated robot manipulator possesses fewer actuators than degrees of freedom (DOF). Complex internal dynamics, nonholonomic behavior, and lack of feedback linearizability are often exhibited in such systems, making that class of robots a challenging one for synthesis of control schemes. Due to their advantages over fully actuated robots, this type of manipulators has gained the interest of several researchers [1–16]. Saving in weight and cost is an advantage, where low-cost automation and space robots require this feature. Another advantage is that underactuated robots can easily overcome actuator failure due to unexpected accident. Such fault-tolerant control is highly desirable for robots in remote or hazardous environments [1, 2].The difficulty of the control problem for underactuated mechanisms is obviously due to the reduced dimension of the input space. In particular it has been shown that this system is highly nonlinear and it is impossible to stabilize asymptotically with a smooth feedback [3]. Sordalen et al. [4] have designed an n joint robot controlled by just two motors using nonholonomic gears. Other researchers have tried controlling an underactuated robot in a gravity field, such as the Acrobot [5–7]. The control of a high-bar robot was investigated by Takashima [8] while Saito et al. [9] have investigated the control of a brachiation robot. Neglecting joint friction which is not easy to achieve in real world as it involves high manufacturing cost, Luca et al. [10, 11] have studied the control of two-link manipulator moving in a horizontal plane with a single actuator at the first joint. In practice, joint friction cannot be neglected especially at the passive joint as friction at the active joint can be directly compensated; the same is not true for the passive joint. Some researchers have tried to overcome this problem by implementing additional equipments such as breaks at the passive joint [12–15]. The dynamic characteristics of a two-link manipulator including joint friction by proposing a mathematical model have been studied by Yu et al. [1] as a result of this research; they have found that the manipulator can be controlled if the friction acts on the passive joint. Later on, Mahindrakar et al. [16] have presented a mathematical model for a two-link underactuated manipulator wherein the motion of the system was confined to a horizontal plane; their proposed dynamic model takes into account the frictional forces acting on the joints. In this case, any additional equipment such as brakes is not needed in positioning all the joints to desired position.While some interesting techniques and results have been presented in the previously mentioned publications, the control of such systems still remains an open problem. Most of the control schemes mentioned above either failed to provide a thorough analysis of the overall system stability or assumed that friction forces do not act on the passive joints. Furthermore, the precise knowledge of the dynamic model is generally required. In real world application, no physical property such as the friction coefficient can be exactly derived. Besides, there are always kinematics uncertainties presence in the real world such as ill-defined linkage parameters, links flexibility, and backlashes in gear train [17, 18].In the last few years much of the research interest shown in the control of nonlinear systems has focused on methods where classical methodologies valid for linear systems do not give satisfactory performance [19, 20]. Among of which, artificial neural networks (ANN) technique has gained a great deal of interest for their extreme flexibility due to its learning ability and the capability of non-linear function approximation. They can learn from examples, are fault tolerant in the sense that they are able to handle noisy and incomplete data, are able to deal with nonlinear problems, and, once trained, can perform prediction and generalization at high speed. They are particularly useful in system modeling such as in implementing complex mappings and system identification [21, 22]. During the past decade, many researchers have justified using ANNs for various applications of robotics system control [23–25].Recently, several neural network approaches have been studied, and the network inversion approach was one of justified approaches for inverse problems solution [26–28]. In this paper, the network inversion technique was implemented; the input was estimated from the given output using the learned network inversely. Data used in this paper was collected experimentally to overcome any uncertainty presents in the real world. The efficiency of the proposed method is shown experimentally using 2R underactuated robot manipulator.


## 2. The Robot System

The dynamic equations of the manipulator of which the schematic diagram is shown in Figure1 can easily be derived [29]:
(1)[τ1τ2]=[l22m2+2l1l2m2C2+l12(m1+m2)l22m2+l1l2m2C2l22m2+l1l2m2C2l22m2]×[θ1••θ2••]+[-m2l1l2S2θ22••-2m2l1l2S2θ1•θ2•m2l1l2S2θ12•]+[f1θ1•f2θ2•],
where τi is the torque applied to each joint, li is the length of each link, mi is the mass of each link, Ci is Cosθi,Si is Sinθi, and fi is the friction factor of each joint.Figure 1
Schematic diagram of the manipulator.In order to analyze the system’s behavior, a 2R underactuated manipulator was manufactured. As can be seen in Figure2, the manipulator is actuated only at the first joint. The actuator used is a DC motor connected to the first link through a gearbox with a reduction ratio of 100 : 1, while the second joint is passive. Each of the joints has an encoder attached to it in order to measure the rotation angle and there are torque sensors between the motor output shaft and the robot joint to measure the torque being supplied by the motor. The robot arms were made of an aluminum square section beam to ensure a resisting to bending lightweight arm. Length of arms are l1=40cm and l2=20cm, respectively.Figure 2
The robot system used.The control circuit is made up of computer with the MATLAB software and an electrical board that acquires the motion data of the two links. Input signal is generated by the MATLAB software and transferred to the motor using the electrical board, and the robot response is recorded using the MATLAB software. An excitation signal was applied to the actuator and the dynamic coupling effect was moving the passive joint. It can be observed that after a clockwise torque applied, this joint will rotate clockwise while the passive joint will rotate counterclockwise.Different methods for collecting data have been found in the literature. Using a prespecified model, using a trajectory planning method or using a simulation program for this purpose are examples for some of these methods. However, there are always kinematics uncertainties presences in the real world such as ill-defined linkage parameters, links flexibility and backlashes in gear train. In this approach, data were measured directly from sensors fixed on each joint, so every uncertainty in the dynamics of the system will be counted for.


## 3. Network Inversion Technique

The method of the network inversion was first proposed by Linden and Kindermann [30], where a conventional multilayer neural network is used to solve the forward problem, fixing the weights obtained during the training process after that in order to be used to estimate the inverse problem parameters.In the usual multilayer network whose learning has completed, the input/output relation is given by:(2)y=f(w,x),
where x, y, and f are the input vector, the output vector, and the function defined by the interlayer weights w of the network, respectively. Given the input vector x, the network calculates the output vector y.In this method, after finding forward relationf by learning, the output data can be estimated using the fixed weights obtained from the learning process. Then, the input x can be updated according to the calculated input correction signal, based on the duality of the weights and input in (2). Actually, the input is estimated from the output by correcting input based on the output error repeatedly, as shown in Figure 3. By this way, the inverse problem for estimating input x from output y is solved using the multilayer neural network by using forward relation inversely [28].Figure 3
Inverse estimation by network inversion.The technique is implemented in the two phases:forward learning and inverse estimating to solve the inverse problem by the network inversion. The procedure is shown in Figure 4. In the learning phase, the learning input x is provided with the learning output y and calculates the output error E. Then, the weight is updated until the error is for each input the output produced by the network is the same as (or sufficiently close to) the desired output, this procedure is based on the usual backpropagation method.Figure 4
Two-step procedure to solve the inverse problem by network inversion.In the estimation phase, the relation obtained in the learning is fixed, provides the random inputx and the test output y, and calculates the output error E. Then, the input is updated. By using this procedure, the input is estimated from the output [30].


## 4. ANN Implementation

The network inversion technique was implemented in two phases. The first phase was the forward learning phase in order to find the weights; the weight is updated until for each input the output produced by the network is the same as (or sufficiently close to) the desired output. Then, the weight is going to be fixed in the second phase, which is the inverse estimating phase, in order to estimate the passive joint’s path.


### 4.1. Forward Learning Phase

A supervised feed forward ANN was designed using C programming language to learn the system behavior over its workspace. The network consists of input, output, and one hidden layer; the input vector for the network consists of the angular displacement, the torque applied at the active joint (first joint), and the time interval, while the output vector was the angular position of the passive joint (second joint). As can be seen in Figure5, every neuron in the network is fully connected with others, sigmoid transfer function was used to be the activation function, and generalized backpropagation delta learning rule (GDR) algorithm was used in the training process. All control datasets values had been scaled individually so that the overall difference in the dataset was maximized. Training data were divided into 50 input-output sets, which covered the entire work cell of the manipulator. To build the control knowledge, a training process was carried out using the experimentally obtained data. The network was trained by presenting several target points that the network had to learn; number of neurons in the hidden layer was set to 25 with a constant learning factor of 0.9. Figure 6 shows the building knowledge process for the system. The average absolute error was 4.9% after 100,000 iterations.Figure 5
The artificial neural network used in the first phase (forward learning).Figure 6
The learning curve of the forward learning phase.


### 4.2. Inverse Estimating Phase

To verify the success of the control algorithm, a new data set that represents new path, a path that the network was not previously trained for, was introduced to the inverted network that can be seen in Figure7. The weights from the previous stage were fixed and the desired path for the passive joint was applied as an excitation signal to the inverted network in order to estimate the necessary input parameters to drive the passive joint to follow the desired trajectory.Figure 7
The artificial neural network used in the second phase (estimating).The estimated input parameters were then used as excitation signal to the network used in the first phase to obtain the estimated path of the passive joint. To show the success of this control approach, the experimental trajectory tracking of the estimated passive joint is shown in Figure8. As this figure clearly shows, the estimated trajectory was closely corresponding to the target trajectory.Figure 8
Estimated trajectory tracking of the passive joint.


## 4.1. Forward Learning Phase

A supervised feed forward ANN was designed using C programming language to learn the system behavior over its workspace. The network consists of input, output, and one hidden layer; the input vector for the network consists of the angular displacement, the torque applied at the active joint (first joint), and the time interval, while the output vector was the angular position of the passive joint (second joint). As can be seen in Figure5, every neuron in the network is fully connected with others, sigmoid transfer function was used to be the activation function, and generalized backpropagation delta learning rule (GDR) algorithm was used in the training process. All control datasets values had been scaled individually so that the overall difference in the dataset was maximized. Training data were divided into 50 input-output sets, which covered the entire work cell of the manipulator. To build the control knowledge, a training process was carried out using the experimentally obtained data. The network was trained by presenting several target points that the network had to learn; number of neurons in the hidden layer was set to 25 with a constant learning factor of 0.9. Figure 6 shows the building knowledge process for the system. The average absolute error was 4.9% after 100,000 iterations.Figure 5
The artificial neural network used in the first phase (forward learning).Figure 6
The learning curve of the forward learning phase.


## 4.2. Inverse Estimating Phase

To verify the success of the control algorithm, a new data set that represents new path, a path that the network was not previously trained for, was introduced to the inverted network that can be seen in Figure7. The weights from the previous stage were fixed and the desired path for the passive joint was applied as an excitation signal to the inverted network in order to estimate the necessary input parameters to drive the passive joint to follow the desired trajectory.Figure 7
The artificial neural network used in the second phase (estimating).The estimated input parameters were then used as excitation signal to the network used in the first phase to obtain the estimated path of the passive joint. To show the success of this control approach, the experimental trajectory tracking of the estimated passive joint is shown in Figure8. As this figure clearly shows, the estimated trajectory was closely corresponding to the target trajectory.Figure 8
Estimated trajectory tracking of the passive joint.


## 5. Conclusions

In this research, we proposed to introduce the network inversion technique to the problem of underactuated robot control that estimating the input parameters necessary to drive the passive joint to follow a desired trajectory from the output parameters of the network. The effect of the network inversion was confirmed by the simulation of a 2R underactuated robot arm.As a conclusion, it was shown that using the network inversion technique to estimate the input parameters from the output parameters of the robot arm was a successful technique. Consequently, it was shown that the network inversion could solve the problem of underactuated robot control.



---

*Source: 927905-2012-10-03.xml*