Abstract
Nowadays the size and dimension of mobile manipulators have been decreased for being usable in various regions. This leads several problems such as danger of instability. Therefore, many researches have been done to overcome the problem of overturning of a mobile manipulator. In this paper, an algorithm for increasing the stability of a mobile manipulator is presented based on the optimization of a performance index. The path of vehicle and the desired task of the end-effector are predefined. In order to apply the optimal stability criterion, it is more convenient that the manipulator be of a redundant. Considering the interaction between the vehicle and the manipulator and using the genetic algorithm to minimize the stability criterion cooperating with a neural network, the proposed method is a swift algorithm to determine the optimum configuration of the manipulator for real time overturning control of the vehicle. An example for illustrating the significance of the proposed method is presented in a two dimensional configuration.
Nomenclature
Acceleration of center of mass of vehicle in the direction of principle axes
Reaction forces from manipulator acting on the vehicle
Moments from manipulator acting on the vehicle
Road reaction on the tire i
Principal directions
Position of end-effector in the principal directions
Length of link i
Mass of link i
Mass of vehicle
Distance between Ẑ0 and Ẑ1 in X̂0 direction
Angle between tangent to the path of end-effector and the horizon
Distance of end-effector from origin in direction Ŷ0
Velocity of vehicle
Velocity of end-effector
Angle between X̂ i -1 and X̂i around Ẑi
Angular velocity of link i
Angular acceleration of link i
Angular velocity of link j expressed in frame {i}
Angular acceleration of link j expressed in frame {i}
Position vector located at the end point of link j expressed in frame {i}
Position vector located at the mass center of link j expressed in frame {i}
Acceleration of origin of frame {j} expressed in frame {i}
Acceleration of mass center of link j expressed in frame {i}
Moment acting on mass center of link j by link j − 1 expressed in frame {i}
Moment acting on link j by link j − 1 expressed in frame {i}
Force acting on mass center of link j by link j − 1 expressed in frame {i}
Force acting on link j by link j − 1 expressed in frame {i}
Torque acting on link i by link i − 1
Central inertia tensor for link i
Unit vector in Z direction
Rotation matrix of arm j expressed in frame {i}
Introduction
A significant problem in the field of automated mobile manipulators is the issue of stability. A mobile manipulator is a multi-link arm with ability to move in a plane or space which is mounted on a vehicle. Current applications of mobile manipulators in unknown environments such as planet exploration have been done on small-sized mobile manipulators [1, 2, and 3]. These systems may have especial and important tasks such that these missions can result instability leading to overturning. Although the motion of manipulator may have universe effects on the stability of the card, because of dynamic interface between the vehicle and manipulator, the action of manipulator may be controlled to compensate the threshold of stability.
In addition to the stability, there are some other important factors that may be considered in analyzing a moving robot. These tasks minimize the time of motion or minimize the consuming energy of a moving robot system along its motion. For optimizing these subjects in a mobile manipulator, one way is that the manipulator be of a redundant type. Having redundancy in a robot system, the order of complexity of dynamical equations significantly increases. Nonetheless, it has been shown although this intricacy of dynamic equations may cause us troubles, it is possible to easily conquer the instability of the mobile manipulator.
Huang et al. have done various researches on mobile manipulators [4, 5, and 6]. In [4] manipulator motion planning for stabilizing a mobile manipulator has been considered. They have derived the cooperative motions of the vehicle and the manipulator for a stabilization which is compatible with task operation so the mobile manipulator can successfully accomplish tasks in environments with various disturbances. The authors used a method based on Zero Moment Point (ZMP) for their study.
A method for coordinating vehicle motion planning is presented in [5]. This study considers manipulator task constraints and manipulator motion planning considering platform stability. The method of ZMP path planning by a stability potential field is presented in [6]. Based on this method, a motion planning algorithm is formulated to control the manipulator in order to maintain the stability of the whole system while the vehicle is moving along a given trajectory.
An efficient algorithm for controlling the angular momentum of walking robots through the manipulation of the Zero Moment Point (ZMP) is presented by Mitobi and et al. [7]. A remarkable feature of their control method is that the ZMP is considered an actuating signal of the controller. The proposed method can be applied in real time situations because it does not need an accurate tracking of joint angles.
Dynamic motion planning of autonomous vehicles is presented by Shiller et al. [8]. A method for planning the motion of autonomous vehicles moving on general terrains has been presented. The kinematics of the vehicle for its orientation and steering angle along the path is derived. Next vehicle dynamics are derived in terms of path geometry, and the constraints on vehicle motions are formulated in this paper. Further the terrain and the path representations and also local and global optimizations are briefly discussed in the last part.
Tipover stability estimation for autonomous mobile manipulators using neural network has been considered by Meghdari et al. [9]. The proposed approach is a neural network based algorithm that is capable of detecting an instable situation in a mobile manipulator and is fast enough to prevent tipover.
Increasing stability of mobile manipulator using dynamic compensation has been studied by Meghdari et al. [10]. The stability of a mobile manipulator has a close relation with the vehicle's motion. A redundant manipulator provides a better performance on a mobile manipulator which is to move and perform a predefined task. By using this redundancy and applying the optimal parameters, they have increased the stability of mobile manipulator. The genetic algorithm is frequently used as an alternative optimization tool to conventional methods for training and adaptation of parameters in dynamical systems. In many cases, the GA technique is integrated in neural networks as the component of the hybrid optimization approach [11].
In this paper, the nonlinear equations of a mobile manipulator which moves in a vertical plane have been derived. The measure for determining the stability criterion of the mobile manipulator is the tires upward force [9]. By having this measure, first, for real-time control with dynamic compensation motion of manipulator, a neural network database has been trained for the solutions of the nonlinear equations. This neural network cooperates with genetic algorithm in order to minimize a performance index according to the optimal stability. Afterwards, a PD controller controls the angular position and angular velocity of each joint such that the error and the derivation of error becomes zero.
The Dynamic Model of a Mobile Manipulator
In this section, a three degrees-of-freedom manipulator with ability to move in a vertical plane which is mounted on a 4-wheeled vehicle is considered. The Newton's law is employed in deriving the dynamic equation in this paper. Because of the especial task of the mobile manipulator, the path of vehicle and the desired task of the end-effector are predefined. Thus there are some limited configurations of manipulator while moving along its desired path. These arrangements of manipulator do not satisfy the stability criterion when the upward force of each tire tends to zero. To solve this problem, one way is that the manipulator be of a redundant type.
The schematic picture of a redundant 3 degrees-of-freedom manipulator with attached coordinates to its links is shown in Fig. 1. The free body diagram of the vehicle is also shown in this figure.

Schematic diagram of a 3 degrees-of-freedom manipulator with free body diagram of the vehicle
By using the Denavit-Hartenberg notation [12], it is feasible to find the kinematic equations of the mobile manipulator. The Denavit-Hartenberg parameters and variables are shown in Table 1. It is assumed that the system is at the steady state condition where its vehicle velocity is constant.
Denavit-Hartenberg parameters and variables
In Table 1, the first row relates the inertial coordinate to the body coordinate attached to the common point of the manipulator and vehicle (this row is optional). The fifth row is a pure translation that transforms the frame 4 to the frame 5.
The forces and torques equations in x-y plane are as follows:
Assuming that the vehicle of mobile manipulator is symmetric with respect to x-y plane, it is clear that the forces Fy1 and Fy3 are equal and also Fy2 is equal to Fy4. Considering the vehicle at the steady state conditions, where velocities at different directions are constant, we have:
The kinematic equations may be found by using the Denavit-Hartenberg parameters from Table 1 and the general transformation matrices:
Where, expressions ‘c’ and ‘s’ denote the cosine and sine of the angle, respectively.
By multiplying sequentially the transformation matrices from the initial frame to the end-effector frame, the kinematic equations may be found as follows:
The velocities and acceleration equations of the end-effector can also be determined by differentiating from equations (5) and (6) with respect to time.
Therefore, for solving the inverse kinematics of the system, two equations for the position of the end-effector in the x-y plane, two equations for velocity of the end-effector are employed. These are further to the two equations for the acceleration of the end-effector which are zero in this work. The 9 unknown variables are; θ1, θ2, θ3 for angular positions,
For optimal stability of the mobile manipulator, the summation of tires upward forces Fy1, Fy3 should be set equal to the summation of forces Fy2 and Fy4. This leads us to define a performance index to be at its minimum value during the motion of mobile manipulator.
This performance index can be set equal to the torque exerted on the first joint of manipulator attached to the vehicle. This equation is calculated by Lagrangian method and its accuracy is checked with the Newton-Euler iteration technique [13]. The general form of the external and internal iterative relations is given in appendix 1. The torque acting on the first joint attached to the vehicle is as follow:
In general, a neural network is a system with a parallel connection among its elements which is able to model the extremely complex systems. In this case a chain of inputs consequences outputs. This kind of network can predict new observations by detecting the past observations. Neuron is the smallest unit of processing information which is the basis of neural network performance. Neural networks are generally composed of some layers. These layers are created from a number of internally connected nodes which hold an activation function. Models are presented to the network by means of the input layer, which communicates to one or more hidden layers in which the real processing is done via a system of weighted connections.
The hidden layers then are connected to the output layer as illustrated in Fig. 2.

An example of a neural network structure with 3 layers
There are some methods for training but one of them is the perceptron algorithm that we can show it by the following steps [14]:
Initiating the weighting functions and thresholds arbitrarily
Giving an input to the network
Calculating the outputs by comparing the summation of weighting functions and threshold
Diminishing the error by modifying the weighting functions
Giving the further input to the model …
For a multi-layer perceptron algorithm we use the following relation:
Where, α is momentum, wij represents the weighting function from node i to node j at time t, η is learning rate, δ pj relates the error term corresponding to the p pattern in node j, opj is the output of node j corresponding to the p pattern.
The optimum values of η and α are calculated such that the predictor error be minimized.
Standard backpropagation is a gradient descent algorithm where the network weights are moved along the negative of the gradient of the performance function. The term backpropagation refers to the method in which the gradient is calculated backward for nonlinear multilayer networks.
Usually, a new input will lead to an output similar to the correct output for input vectors used in training that are similar to the new input being presented. This generalization property makes it possible to train a network on a representative set of input/target pairs. Then it gets good results without training the network on all possible input/output pairs [15].
In Fig. 3 the picture of a 3 degrees-of-freedom manipulator mounted on a vehicle is illustrated. The manipulator is of a redundant type with the purpose of creation an infinite number of configurations for manipulator such that the end-effector be bale to track a desired path. At this case, there is a configuration that can minimize a performance index, as a measure for optimal stability criterion. Because of especial mission of the mobile manipulator, the paths of the end-effector and vehicle are predefined. In Fig. 3, it is assumed that the manipulator moves in a vertical plane and both the manipulator and the vehicle are moving with a constant velocity.

A 3 degrees-of-freedom manipulator mounted on a vehicle which moves with a constant velocity
By applying genetic algorithm, it is assumed that the quantities
Noting that the first joint of the manipulator is the joint attached to the vehicle, then the performance index J, is defined as the absolute value of the torque Mz or τ1 acting on the first joint in the z direction:
The value of J in (9) is equal to the torque τ1 in equation (7). This torque directly affects the upward forces of tires. The minimum value of J depends on the geometry of the total system. In this case, when the center of mass is located at the same vertical direction as the first joint attached to the vehicle, then the four upward forces of tires are identical. In other words, the difference between the upward force of rear tires should be set equal to the upward force of the frontier tires.
The required time for calculating the performance index is so much that it causes this method to be unfeasible. In order to derive the best configuration for the mobile manipulator in the shortest time, a neural network has been applied. This network helps one for real-time compensatory manipulator motion for stabilizing the mobile manipulator.
For creating a database, first it should be determined that which parameters vary and how much is their variation range. Then the dynamic equations are solved by varying the related parameters such that a neural network database will be created. This database covers a large number of cases that may happen in the system. By using this database, the neural network will be able to find the best configuration of the manipulator which minimizes the performance index very swiftly. A PD controller is used to create the appropriate torque to be exerted on each joint of the manipulator. Thus control law must direct the manipulator to the certain path. Regarding the dynamical effects, the coefficient of PD controller can be found. Also parameters which vary and their variation range are given in Table 2.
Variable increment for training
Table 2 shows the velocity v of the vehicle, angle α, vertical distance b, and vertical position of the end-effector Py respectively. The database is composed of 2352 data. These four variables cover the entire cases which may happen for the mobile manipulator while moving.
Every datum is made up of four inputs, as given in Table 2, and three outputs
For training process, the Tevenberg-Marquardt (TM) algorithm with neural network toolbox of MATLAB are used. The specifications of the neural network are given in Table 3.
Specifications of the trained neural network
Hidden and output layer weights are shown in Table 4.
Weights of different layers
The effectiveness of the learned neural network is shown in Fig. 4. This diagram is extracted for 50 sample points from the lookup table. The accuracy of the neural network is tested by comparing the data directly obtained from the appropriate equations and obtained from the learned neural network.

50 Sample points for θ1
Since the neural network has been implemented, by referring to the database, the appropriate values can be accessed for optimal stability and it is possible to control the system On-line.
The structure for the proposed algorithm is illustrated in Fig. 5. As shown in this figure, input data is, first, obtained from sensors. Then these inputs activate the neural network unit which cooperates with an internally genetic algorithm in order to create a database and minimize the performance index. Then the outputs of neural network block enter a control block and determine the required torque that must be exerted on each joint for making the optimum configuration of manipulator. Finally, these values will be sent as an electrical or voltage signal to the actuators.

Control algorithm architecture
The trajectory-following block diagram controller is shown in Fig. 6. In this figure, the plant is multi inputs and single output. Applied torques are inputs exerted on joints and output is the position of end-effector which must move on its predefined trajectory with a constant following velocity.

The block diagram of the controller
Therefore, the control law for the system may be defined as follow:
In equation (11), θ and θ are current values, θ
desired
is the angle of each joint which is the output of neural network database that minimizes the performance index and
The input variables in the block diagram of the controller (i.e. xd, ẋd, ẍd) are outputs of the neural network (i.e.
By our experiences and trial and error, the values of coefficients of PD controller are found just as exposed in Table 5.
Coefficient of PD controller
For specified values of parameters of mobile manipulator the performance index has been shown in Fig. 7. Tires upward force for tires number 1, 2 has been illustrated in Fig. 8. According to Fig. 8, at the worst case, the difference between two forces is about 2 N which denotes on the correctness of our proposed algorithm.

Performance index for a specific case of mobile manipulator when v = 1(m / s), b = 0.5(m), α = 0.5(rad)

Tires upward force of tires number 1, 2 when v = 1(m / s), b = 0.5(m), α = 0.5(rad)
These values have straight effects on the performance index. A large torque will be created at the beginning of control action. This torque causes the manipulator accelerates. Therefore, this rapid acceleration may cause an increase or decrease in the value of one of tire upward force. If this matter will not be attended, it can be a reason for instability and being tipover. Because of the nature of our system, overturning will be around the transverse axis. Therefore, the PD controller must oppose to this case and turn rapidly the manipulator to the optimum configuration. This effect will be damp within 0.2 first second. Subsequently, the system will be in a better condition such that the tire upward force of two each tire is close together and the controller can swiftly and readily accomplish its duty.
As it is observed in the Fig. 7, in the compensated mobile manipulator, the performance index has a value less than 1 N-m which is well below than the uncompensated mobile manipulator when considered informally for some states of system through motion. It can be expected from this system when the dynamic interaction between the vehicle and manipulator would not exist, the two tire upward forces could be exactly equal to each other. Even though despite existence of those dynamical effects, it can rely on that the mobile manipulator is able to move safely without overturning.
Angular position of manipulator for each joint and for two different conditions when x=0 (at the beginning of motion) and when x=1 (m) (when mobile manipulator moves 1 (m) along × direction) have been demonstrated in figures 9, 10, 11 respect to time history. It should be noted that PD controller will turn the manipulator within 0.2 second. The value for

Time history of θ1 for two different positions

Time history of θ2 for two different positions

Time history of θ3 for two different positions
The tracked trajectory by the end-effector is compared to the desired trajectory in Fig. 12. It can be concluded from this illustration that the control algorithm is able to lead the end-effector to the desired trajectory significantly.

Comparing the desired and tracked trajectory by the end-effector
In this paper, a method is developed for the stability enhancement of mobile manipulators when their vehicle is not large enough to oppose the dynamic effects which come from the motion of manipulator. The proposed method is based on the minimization of a performance index related to the magnitude of the upward forces of vehicle tires. When the forces are all equal, then the performance index is minimized. An extra degree of freedom has been assumed for manipulator so that it can take the best configuration among unlimited arrangements to minimize the performance index. This assumption causes augmentation of complexity of the governing dynamic equations, but the suggested algorithm is able to increase the order of stability of the mobile manipulator significantly. The controlling force is the torque applied on the joint connecting the manipulator to the vehicle. A combination of neural network and genetic algorithm is implemented to derive the appropriate configuration of the system. A PD controller is employed for the closed loop control system. It is shown that with the given algorithm, the upward tire forces are very close in each other and the appropriate positions are attained in a relatively short period of time.
Footnotes
External Iterative Relations
Internal Iterative Relations
