Simulation of a Mobile Manipulator on Webots

— A mobile manipulator is a mobile platform with a mounted serial manipulator. A Mobile Manipulator is a system subject to its kinematic restrictions and the degrees of freedom of the manipulator arm mounted on it. These systems combine the advantages of mobile platforms and robotic arms, and reduce their disadvantages. For example, a mobile manipulator has larger working space when it has a mobile platform, as it offers more functionality during operation [1], [2]. For the previously mentioned in this work will be shown the implementation in the robotic simulation software Webots, a mobile manipulator that allows to determine its operation in a virtual environment.


Introduction
Nowadays, movement planning and control of these systems have attracted a lot of attention due to their usefulness. The control of the mobile manipulators mainly includes two aspects: movement planning, both for the mobile platform and the manipulator, and the other, coordinated control of both. Once you have these two, the next step is to assign the task. In many cases mobilizing the manipulator results in kinematic redundancy, this can be solved by coordinating the platform and the manipulator. The type of coordination to be used will depend on the task specifications.
Some of the most important applications of mobile manipulators are: performing tasks involving explosives, hazardous environments such as outdoor exploration, space operations, construction, military tasks and personal service. The applications of robotic systems in hazardous environments have a high spectrum and their solutions are equally varied. In general, many applications include specific challenges associated with the uncertainty and nature of the tasks to be performed. Between different tasks there is the task of demining, which consists of eradicating anti-personnel mines or handling explosives, this task has a high humanitarian impact. On the other side, there is the handling of hazardous materials such as radioactive materials, corrosive or highly polluting materials, for which there is a risk if an operator performs these tasks [3].
For this reason, it is necessary to validate in some way the operation of the mechanisms and/or mathematical algorithms designed for this type of system, so Webots which is a robotic simulation system is appropriate for this type of testing.

Description of the mobile manipulator
The mobile platform has a Rocker -Bogie type suspension which has six independent traction wheels of which four are directionable, this is grouped in two trains, each one of which consists of three wheels as shown in Figure 1. To analyze it in a simpler way, two parts can be divided: on the mobile platform and the manipulator, this can be done by taking the origin of the manipulator on the mobile platform.
Each of these trains is supported by an articulated structure. The rear wheels are attached to the robot's body by means of a rigid arm known as Rocker and Rocker is attached by means of a pivot to an arm known as Bogie, which holds the middle and front wheels [4], [5]. The related parts can be seen in detail in Figure 2.
In addition, it has a differential system that is joined by means of arms connected to the Rocker and the structure which allows the platform to be always balanced even though the trains are at different heights [6].
On the other hand, the manipulator is a mechanism consisting of a sequence of rigid bodies called links. The physical structure of most robots is similar to the anatomy of the human arm, and it sometimes refers to different elements such as the arm, elbow and wrist [7]. The manipulator is five degrees of freedom as shown in Figure 3.

Robot Kinematics Manipulator
The direct kinematics allows to determine the final position and orientation of the manipulator's final effector, knowing the value of each joint and its geometric parameters. For this purpose, the use of Denavit-Hartenberg is proposed, which makes it possible to establish the relative transformations between links. Table 1 shows the Denavit-Hartenberg parameter matrix for the robot to be simulated.
From this matrix, the transformation matrices are proposed that will allow to relate the coordinate systems from one degree of freedom to the next. Eq. (1), Eq. (2), Eq.
From this, the pre-multiplication of these matrices is carried out, which makes it possible to find the transformation matrix ! !" , which describes the system kinematics with respect to the reference coordinate system. From this matrix, vector ! is extracted since it contains the position of the final link of the manipulator in !! !! !.

Mobile Robot Kinematics
For the analysis of the mobile platform kinematics, the configuration scheme is defined to obtain the robot's kinematic model in which the movement restrictions of the independent wheels are expressed, by means of the physical decomposition of the robotic platform in order to define the wheels and their configurations. Thus, in Figure 5 Six-wheel robotic platform, the configuration to be handled is shown and Table  2 defines the variables that characterize it.
Where ! ! represents the turning value of each wheel determined by calculating the instantaneous center of rotation.
As mentioned above, the mobile platform has the Rocker-Bogie system, which has directional wheels and two fixed wheels as shown Figure 5. Based on this, Figure 6 shows the configuration of the wheels, with their respective mathematical representation in equation Eq. (7) and Eq. (8).
Where ! ! is composed of the global coordinates of the robot !! !! ! ! , ! is an identity matrix composed of the spokes of the wheels, and ! ! is a rotational transformation matrix that describes the orientation of the robot in a global coordinate plane, as shown in Eq. (9).
Having the characteristic equations of the wheels, we proceed with the construction of the final kinematic representation that describes the movement of the mobile robotic platform, as shown in Eq. (10).
Where ! ! represent the distances from the center of mass of the dolly and each wheel and ! ! represent the speeds of each wheel. Instant center of rotation.
For calculating the instantaneous center of rotation, the geometry presented in Figure 7 is considered. From there, the equation of the circumference is proposed to calculate the turning radius that should be considered by the robot to go from a point ! ! ! ! ! located in the center of mass of the same, to a point ! ! ! ! ! . To determine its instantaneous center of rotation, it is considered that ! ! ! ! ! and ! ! ! ! ! are points of the circumference with center in ! !! ! and that it is located on the line ! ! ! ! ! , !"#$ ! ! ! ! !"#$ ! ! ! ! ! with slope ! ! !"# ! !!"# ! . With the above, the characteristic equations of the circle in Eq. (11) are posed, and since you have three equations and three unknowns, you proceed to solve the system of equations to obtain the values of !! !! !.
The calculation of ! ! is performed by geometry taking into consideration Figure 8 and Eq. (12). To finally calculate the ! ! described in Table 3.

Simulation
The robotic simulation software Webots will be used to verify the robotic system. It defines the properties of each object, its shape, color, texture, mass, friction, etc., as needed to emulate the robot in the virtual environment and generate physically realistic behaviors. From a simplified CAD model of the assembled robot, it is imported into the virtual environment, which consists of a node tree that allows the hierarchy of WRML nodes that make up the virtual environment. In this node tree, in addition to defining the order of robot parts and how they relate to each other, physical properties such as weight, friction, mass centers, types of movements, collision meshes, etc. are defined.
In the virtual environment, in addition to the robot, a series of obstacles (stones and stairs) were added, as well as an irregular terrain that makes it possible to verify the robot's operation under these conditions and not only the correct operation of the designed programming. Webots allows to make use of controllers designed in MATLAB which allows from the mathematical models of the robot to design controllers and thus verify their behavior in the virtual environment. In addition to this by using a gamepad, the user is allowed to interact in the virtual environment by controlling the robot. Figure 11 shows the robot passing through a terrain containing several rocks of different sizes, allowing verification of the Rocker-Bogie suspension in an irregular terrain. It is also evident that obstacles beyond the wheel diameter can be overcome, but there is a risk of robot tipping over.   As shown in Figure 12 the transition of the manipulator from an initial moment to a final moment on the Y-axis is shown, verifying that the final effector moves in a straight line. To achieve this, the P vector found in the direct kinematics is used, proposing a system to be optimized. For this purpose, it was solved by means of the Newton -Rapshon successive approximations method, solving problems of infinite velocities or unwanted movements that could be generated by using the inverse kinematics in an analytical way from the position and orientation of the final effector, using equation (13).
Where the cost function f (x) is defined as the position vector in X, Y, Z of the final link, which is obtained from the pre-multiplication of the transformation matrices.

Conclusions
From a virtual environment, it is possible to simulate robots with complex characteristics in an environment that allow to compare their operation in complicated environments, in the same way as mathematical models and controllers designed for their operation. With this work, it was proved that the Rocker-Bogie system implemented for this project works correctly considering that its ability to overcome obstacles de-pends on the size of its wheels, also the speed with which it is intended to overcome obstacles as this could cause damage to the structure.