Real Time System Design for a Mobile Manipulator

A mobile manipulator is defined as a mechanism composed by a serial manipulator located just above robotic platform. Besides, is a system with kinematic restrictions determined by an independent movement of the wheels and the degrees of freedom of the manipulator arm. The combination of the previous systems increases the advantages in terms of maneuverability, efficiency, range, between others. Another advantage of manipulator robot is the larger working space when it moves over a mobile platform allowing to reach different position on XY cartesian plane. Therefore, the design of a real-time system for a mobile manipulator will be shown in this paper. Keywords—Direct Kinematics, Electronic design, Inverse kinematics, Mobile manipulator, Real-time system, Robotic system.


Introduction
Nowadays, the trajectory planning and movement control of mobile manipulators can be interesting for robotic studies due to their usefulness on inspection and common human tasks. The movement control of these mechanisms includes two mainly aspects: control over defined trajectory planning and coordinated control, both for the mobile platform and manipulator arm. Once it is obtained, the next step is to assign the task, considering just the manipulator movement as kinematic redundancy with singularities, which could be solved by coordinating the platform and the manipulator. The type of coordination to be used will depend on 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, between others developed on extreme conditions where human health is exposed. In general, many applications which includes specific challenges associated with the uncertainty and nature of the tasks to be performed. One of them are demining tasks, which consists of eradicating anti-personnel mines or handling explosives, with a high humanitarian impact. But, it is necessary consider that handling of hazardous materials such as radioactive materials, corrosive or highly polluting materials are a risk if some human work on these tasks, so here is the mainly reason to be focus on the development of mechanism for demining [3].
For the above reason, it is necessary to design and implement mechanism with control algorithms handled using real time systems to ensure the teleoperation of this type of robot, with the advantage to ensure the necessary temporary parameters for the correct functioning of the platform.

Description of the mobile manipulator
The robot in Figure 1 shows the design of the manipulator to be simulated. To analyze the mechanism, it must be divided in two subsystems: the mobile platform and the manipulator, considering the origin of the manipulator on the mobile platform. The mobile platform has a Rocker -Bogie type suspension composed by six independent traction wheels with four of them addressable. This is grouped in two trains, integrated by three wheels as shown in Figure 1. Each of these trains are supported by an articulated structure and the rear wheels are attached to the robot's body using a rigid arm known as Rocker, then it is attached implementing a pivot arm widely known as Bogie. This bogie holds the middle and front wheels [4,5].
In addition, it has a differential system that is joined with 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 like to the anatomy of human arm, and it sometimes refers to different elements such as the arm (elbow and wrist). The manipulator used on this work has five degrees of freedom as shown in Figure 2.

Real Time System.
A real-time system is a computer system which consider the time of the actions as significant characteristic. It is not enough that the system's actions are logically correct, it also necessary that they take place at the right time (before a maximum time or deadline). This because the system must respond to external stimulus with sufficient speed to prevent the system from converging to an unwanted state. For the development of the project the HRT-HOOD (Hard Real Time Hierarchical Object-Oriented Design) methodology was used, which is oriented to design critical real-time systems [7,8].

Requirements definition.
The time requirements to be considering are: Robot operation in order to a properly robot teleoperation. The robot controllers must operate between 1ms and 10ms, it ensures an operation without complications, besides, it must guarantee a video transmission oscillating between 100ns and 10ms, for wireless signals, these values are achieved for a signal with a force of no less than 70dBm as shown in Figure 3. Definition of functional requirements: The functional requirements for the robot platform can be divided into the following components: operator interaction, robot operation, environment monitoring and system monitoring.
Definition of non-functional requirements: For this case it will only study the temporary behavior of the system (Timing). To meet the time requirements, use Fehler! Verweisquelle konnte nicht gefunden werden. which shows the classification of some systems in real time according to their response time considering their application.

3.2
Design of the logical architecture.
To realize the logical architecture, it is necessary to define the functional decomposition as objects that offer a series of operations (commitments) and that can call up other operations of other objects (obligations). Here are some types of objects [9].
• Passives: it does not control when its operations are executed. It only contains sequential code and does not invoke operations of other objects spontaneously. • Protected: they can control when their operations are executed, they do not invoke operations on other objects spontaneously, they are used to control resources shared by several objects. • Actives: they can control when their operations are executed and can invoke operations from other objects spontaneously. • Cyclical: They represent periodic activities. Many of these objects have no operations. • Sporadic: they represent sporadic activities.
From the one of the definition of the proposed nodes, the diagram of nodes is given in Figure 4, where the interaction between nodes and the operations take place, giving the logical architecture of the system. HRT-HOOD supports the design of the physical architecture from: the definition of temporal attributes associated to each object, giving an approximation of the planning and analysis of the final objects and an abstraction with which, the handling of temporal errors can be expressed.
In practice, this means that each periodic or sporadic object must be given its period, time limit and priority. This data can be extracted from non-functional requirements. Assigning a worst-case execution time that can be calculated experimentally. This must be done iteratively until a properly functioning design is achieved.

Programming
To programming the real time system, it is used a developer target STM32F407 because it allows the implementation of a tool named RTOS. It is a real time system designed by ARM and Cortex-M and give the opportunity to create programs to develop at the same time multiple functions with a better applications and easer maintaining.
The previous embedded target has two threads programmed. The first one, is the communication thread which receives from the control base the information to steering and change the velocity of the motors as shown in Figure 5. The second one, sends the measured velocity, motor's angles and encoders data as is shown in Figure 6.

User Interface
The Figure 7 shows the user interface with two specific areas. The first area it is found the Start Video Bottom which link the cameras with the interface, at the same time this enable the communication socket, the gamepad driving, and kinematic model of the robot. The second area shows the movement panel of the upper camera to vary the vision angle.
The user interface is composed by global class with methods to specific the cameras ip, the socket, gamepad values, calculus of inverse platform kinematic and between others showed in figure 8.

Control Base
For the control base it is used a FITPC which receive the target values from the kinematic calculated in the user interface and create the needed signals to move the traction, direction and manipulator motors. In Figure 9, it is show the general diagram for FITPC programming with threads like: socket, serial communication, motors configuration, between others. The real-time system tested on a test prototype allows to check its operation when affected by physical variables. The main problem is the variability of the Wifi signal strength that allows the operator to connect from the remote station to the robot. Some factors that affect the strength of the wireless signal are: physical obstructions, signal range and distance between devices, number of devices connected to the network, poor development of transmission antennas, limitations in the spectrum of transmission channels, among other factors.
It was decided to carry out direct online tests at the Cajicá campus of the Nueva Granada Military University with a prototype at the work site of the Davinci research group, while the remote operator moved away by a factor of 10m as shown in Figure  10.

Conclusions
Knowing the operation of the robot both in its mathematical part and in its hardware components, it is possible to implement a real time system that optimizes the robot's operation, making it more reliable and less sensitive to changes in its working environment.
It should be noted that a real-time system greatly helps the robot's teleoperation, however, it depends on the hardware on which it has been implemented as it physically limits the robot's operation..