Benoît Ropars

Adrien Lasbouygues

Lionel Lapierre

David Andreu

B Ropars°

Thruster's dead-zones compensation for the actuation system of an underwater vehicle

I. INTRODUCTION

The last decade has witnessed an increasing interest for underwater robotics, with audacious applications that require pushing further the need for original and efficient solutions, in terms of robustness, reactivity and dependability. The design of the actuation system, and the management of its redundancy, is a current major issue. Indeed, a large number of underwater vehicles have more thrusters than controllable degrees of freedom (DOF), resulting in an over-actuated system [START_REF] Omerdic | Thruster fault diagnosis and accommodation for open-frame underwater vehicle[END_REF][START_REF] Garus | Fault tolerant control of remotely operated vehicle[END_REF][START_REF] Fossen | Guidance and control of ocean vehicles[END_REF][START_REF] Garus | Optimization of thrust allocation in the propulsion system of an underwater vehicule[END_REF][START_REF] Indiveri | On thruster allocation, fault detection and accommodation issues for underwater robotic vehicles[END_REF].

In [START_REF] Omerdic | Thruster fault diagnosis and accommodation for open-frame underwater vehicle[END_REF][START_REF] Garus | Fault tolerant control of remotely operated vehicle[END_REF], this structural redundancy is used to achieve dependability, providing fault tolerance to face the loss of a thruster. Optimization of thrust efficiency is also treated, with a heuristic approach in [START_REF] Haberkorn | Efficient control of an autonomous underwater vehicle while accounting for thruster failure[END_REF].

The structural redundancy of the system offers the possibility to compute the control allocation in order to realize different prioritized tasks. For example [START_REF] Garus | Optimization of thrust allocation in the propulsion system of an underwater vehicule[END_REF] uses a matrix of thrusters' readiness as a secondary function, as stated in [START_REF] Samson | Robot Control: The Task Function Approach[END_REF]. [START_REF] Hanai | Experimental Analysis and Implementation of Redundant Thrusters for Underwater Robots[END_REF] proposes a heuristic to optimize control performances, including energy consumption.. The management of actuation redundancy can also be performed by adding joint constraints on the control objective of redundant manipulators, using prioritized-tasks, as stated in [START_REF] Flacco | Motion control of redundant robot under joint constraints: Saturation in the null space[END_REF][START_REF] Nakamura | Task-Priority Based Redundancy Control of Robot Manipulators[END_REF].

In our case, we use the secondary task approach to add additional constraints to the thrust allocation of a horizontallyredundant underwater vehicle, in order to remove thrusters' dead-zone effect from the actuation response, respect actuator saturation and control system reactivity. Impact on energy consumption is considered. Its effect is minimized.

The paper is organized as follows. Chapter 2 states the problem, introduces notation and presents the system. Chapter 3 exposes our solution. Chapter 4 experimentally demonstrates its performance. Chapter 5 concludes the study.

A. Notation

Let ! be the universal coordinate frame and ! be the body frame. In the sequel, ! ! expresses the system state in ! , ! ! is the system velocities in ! and ! !!! represents forces and torques provided by the actuation system w.r.t. ! , as stated on Equations 1 and illustrated at Fig 1.

! ! ! !! !! !! !! !! ! ! ! ! ! !! !! !! !! !! ! ! ! !!! ! !! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! (1)

B. Actuation system architecture

The Jack vehicle is equipped with 6 thrusters able to drive 5 degrees of freedom (DOF). The uncontrolled DOF, the pitch, is naturally stable considering mass and buoyancy restoring forces. Note that these restoring forces also induce a natural stabilization of the roll DOF.

In this study, we only consider the motion in the horizontal plane. 4 thrusters are used in this plane, thus providing 1 www.ciscrea.net

Thruster's Dead-zones Compensation for the Actuation System of an Underwater Vehicle

structural redundancy of the actuation system, as depicted in Figure 2.

! ! ! ! ! ! ! ! ! ! .
The 'vectorial' thrusters' configuration exhibits interesting properties, which will be used in the sequel: an identical command applied to the 4 thrusters induces a null resulting force and torque, as expressed in [START_REF] Haberkorn | Efficient control of an autonomous underwater vehicle while accounting for thruster failure[END_REF]. Meanwhile, considering the thruster's position in !!!, we define the actuation model:

! ! ! ! ! ! ! ! ! ! !"# ! ! !"# ! !"# ! !"# ! ! !"# ! !"# ! !"# ! !!"# ! !! ! ! ! !! ! !! ! ! ! ! ! !!! ! !!! ! !!! ! !!! ! ! ((2) ! ! "#$%$! ! ! ! $&'%$(($(! )#$! *$+,$)%-./0! 1-()%-23)-+4! +5! )#%3()$%(6!! ! !-(!)#$!#+%-7+4)/0!%$(30)-4*!5+%.$(!/41!)+%83$6! $&'%$(($1! -4! ! !/41!! ! ! .+4)/-4(! )#$! 5+%.$(! '%+13.$1! 29! $/.#! +5! )#$! :! )#%3()$%(;! <#$! 5+00+=-4*! $83/)-+4! $&'%$(($(! )#$!/.)3/)-+4!(9()$,!,+1$0; ! ! ! ! ! ! ! ! ! (3)

!

C. Redundancy management

For control design purpose, the previous actuation model (3) has to be inverted. Indeed, the actuation demand, coming from a control law or the operator, will result in a set of desired forces and torque (denoted ! ! ! ) to be applied by the actuation system. The inverse actuation model allows computing the desired thrusters' action according to the relation:

! ! ! ! ! ! ! ! ! ! ! (4)
Of course, since ! ! is not square and is not directly invertible. One can classically use the Moore-Penrose pseudo inversion if the matrix ! ! ! ! ! ! nonsingular (i.e. rank(! ! ! ! ! ! ) = 6) then:

! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !! ! (5)
The dimension of the Jacobian relation ! ! is !!!!!; !!!!! in the general case where: if ! ! ! the system is overactuated, ! denoting the size of the configuration space (3 in our horizontal case). If the actuator configuration is well posed, the dimension of the kernel of the Jacobian is !!!!!. Then !! ! !! added compatible constraints can be considered in the actuation allocation. The task function approach is classicaly used for the control of redundant manipulator, including humanoid systems.

Using this approach, we will complement the jacobian relations with the consideration of an 'operating point' for the actuation system, which avoids dead-zone inputs while providing the actuation demand ! ! ! (when possible), as described in the sequel. Our problem of dead-zone is expressed as an additional constraint, as in [START_REF] Indiveri | On thruster allocation, fault detection and accommodation issues for underwater robotic vehicles[END_REF]. We follow a similar approach and extend this result to dead-zone avoidance.

D. Thruster identification

We have performed experiments on a thruster ! ! , measuring the produced thrust ! !!! and the current consumption !! !!! ! versus the input ! !!! . Hence, we have identified the response of Figure 3, where dead-zone effect is clearly shown, and in which the command does not induce any rotation of the propeller, neither current consumption, as shown on Figure 4.

! Figure 3. Characteristic of the thrust!! !!! ! ! ! !!! !"#$%&'(") %*+) *+)
The experimental response given at Figure 3 is fitted with two third order polynomial expressions, resulting in the expression of the function ! !!! ! ! ! !!! , and its inverse

! !!! ! ! !! ! !!! !! ! !!! ! !!! ! ! ! ! ! !!! ! ! !"!! !!! ! !!""! !!" ! !!! !! !"!! !!! ! !!"!!" ! ! ! ! !!! ! ! !"!! !!! ! !"!!"" ! !!! !!!!!!!!!!!!!!!(6)
where the identified values of the polynomial coefficients are given at Table 1.

! Figure 4. Characteristic of the current consumption ! !!! ! ! ! !!!
Note that the achievable thrust belongs to:

! !!! ! !!!!!!! !!!!"! ! !!!"!! !!!"! .
Hence, the inverse thrust characteristic is similarly identified as:

! !!! ! !!! ! ! ! ! ! !!! ! ! !"!! !!! ! !!!!!!! !!!!"! ! !!! !! !"!! !!! ! !!!!"!! !!!"! ! ! ! ! !!! ! ! !"!! !!! ! !!!"!! !!!"! ! !!! !!(7)
where coefficients are given at Table 1.

Figure 5 shows another view of the dead-zone effect, on the overall actuation system, where the 4 thrusters command has been paired (

! !!! ! ! !!! ! ! ! and ! !!! ! ! !!! ! ! ! ,
where these inputs are expressed in terms of PWM). We observe the resulting thrust ! ! . The gray zone corresponds to a response where, at least, one of the thruster's commands fall in the dead-zone.

TABLE I. !"#$$%!%#&'()"$)'*#)+",-&".%/,)!*/0/!'#0%('%!)"$)'*#) '*01(')+0"21!#2)3-)/)(%&4,#)."'"05 ! ! ! ! ! ! ! !!!!!"# ! !" !! ) !!!!!"#) !!!!"#$) !!!!"#$) ! ! !!!!"#$ ! !" !! ) !!!!"") !!!!"!#) !!!"#") ! ! !!!"#) !!!") !"!!) !!"!!") ! ! !!!!) !!"!!") !"!!") !!!!") ) Figure 5. ! ! )in 3D representation)6! ! )78)! ! ))9:;)! ! <))
The usual approach to solve this mechanical problem is to remove from the accessible commands the part corresponding to the dead-zone, as exposed in the next chapter.

III. DEAD-ZONE EFFECT REMOVAL

Simply removing from the accessible motor inputs the part corresponding to the dead-zone will induce a modification on the thruster response as depicted in Figure 6, from 6(1) to 6 [START_REF] Garus | Fault tolerant control of remotely operated vehicle[END_REF]. Clearly the thruster is not able to produce low forces, and presents an undesired discontinuity around the origin. Moreover, let's consider the question of heading regulation, where the system is required to maintain a desired yaw angle ! ! . Let ! ! ! ! ! denote the heading error. Theoretically, a simple proportional control ! ! ! ! ! ! !, where ! ! is an arbitrary positive gain is sufficient. Nevertheless, note that when ! fluctuates around 0, the control induces a change of the sign of ! ! , accordingly. Using the ! ! control allocation matrix will result in motors' inputs that switch around 0, producing system oscillations around the objective. These oscillations depend on the ability of the thrusters to rapidly invert the propeller rotation, which is poor in our situation, and produces an undesired fatigue of the actuation system.

In order to avoid this situation, we propose to exploit the 'vectorial' configuration of the thrusters, which has the following property:

!"!! ! ! ! ! ! ! ! ! ! ! !"#$!! ! ! ! ! ! ! ! ! ! ! ! ! (8)
) )

for all accessible ! ! , called motor regime in the sequel, and defining an operating point for the actuation system, as Figure 6(3) illustrates. Doing so, the heading regulation is done far from dead-zone and induces a smooth convergence to !"#$%&'(") the objective. The consideration of this offset ! ! within the control allocation expression results in the following expression:

! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! (9)
It is quite interesting to note that allocation matrix ! is square and invertible. Its inversion results in the following expression:

! ! ! ! ! ! ! ! !!! !!! !!! !!! ! ! ! ! ! (10)!
The drawback of this approach is, of course, an increase in the actuation activity thus inducing higher energy consumption. Note that placing the ! ! motor regime in the most vertical part of the thruster's characteristic provides optimal system reactivity, which might be necessary for a short period of time, depending on the mission requirements.

We thus propose the following solution, for the choice of ! ! ! which minimizes the impact on power consumption.

A. Optimization

The principle is to identify an operating point, i.e. the common offset ! ! ! in order to provide resulting motors' inputs outside the dead-zone, while respecting saturation constraints. Note that, among all possible ! ! ! choosing the smallest one minimizes the effect on energy consumption. The algorithm operates two different transformations on initial, and potentially problematic, motors' inputs ! !!! ! Consider Figure 8(1), where ! !!! are placed on a saturated axis, and where the appears between ! !"!! ! ! !"!! ! Consider now Figure 8(2). This distribution is clearly not feasible: two inputs exceed limits and a third one lies in the dead-zone. The first operation consists in computing the minimum offset ! ! ! Figure 8(3-a), which provides a free dead-zone distribution. The common application of this offset on all inputs can push some of them beyond saturation limits.

The second operation consists in the application of a linear homothetic compression, which preserves the mutual ratios between ! !!! ! as depicted on Figure 7(3-b).

Straightforward analysis of the problem shows that in case of a problematic distribution of ! (4 in our case) motors' inputs, there are ! ! ! possible configurations, i.e ! ! ! acceptable ! ! ! ! ! .

Note that the application of the compression ratio ! ! modifies the initial actuation demand ! ! ! , which is not the case for the application of the offset ! ! . Due to the low complexity of the problem and the small number of solutions, we designed an algorithm, which exhaustively investigate all possible cases, as shown on Figure 7(4). The algorithm reported at Figure 8 describes the process. Consider the actuation demand ! ! ! , coming from the operator, or resulting from the computation of a control law. The first two steps convert this demand in terms of motor inputs ! ! . A test is then performed to verify if any of the motor inputs lies in the dead-zone, or is beyond actuation limits. In case of a problematic distribution, each of the five situations, described at Figure 8(4), is investigated and couples ! ! ! ! ! are computed. Among these solutions, we reject the ones corresponding to ! ! ! !. Indeed, in the case where ! ! ! !, the actuation demand ! ! ! is not respected. Equation 11 summarizes the overall process undergone by the actuation demand.

! ! ! ! ! ! ! ! ! ! ! ! !! ! ! ! ! ! ! ! ! (11)
F B d Compute r m , ρ m ( ), for all n +1 possible cases Check, for all i, c m,i ∈ -c m max ,c dz,-     ∪ c dz,+ ,c m max     ? Select r m , ρ m ( )/ r m minimum, if ρ m ≤ 1 Compute the new C m Apply C m to motors !"#$ %&$ Convertion C m = f -1 F B d ( ) Convertion F m = M G + ⋅ F B d
It is clear that if ! ! ! ! the resulting forces and torque produced by the actuation system (! ! ! will be bigger than ! ! ! , thus questioning the operator, or control law, reactivity capacity. Then we just allow ! ! ! !.

The following section gives experimental results obtained when applying the proposed dispatcher-based approach on the Jack robot.

IV. EXPERIMENTATIONS

The Figure 9 shows the experimentations realized on the Jack system in a pool. In order to illustrate the performances of our solution, we use a basic PD yaw controller: The first experiment considers the static dispatcher (eq. 4) with the basic motor characteristic reported in 6 [START_REF] Omerdic | Thruster fault diagnosis and accommodation for open-frame underwater vehicle[END_REF]. Results are drawn in blue.

! ! ! ! ! ! ! ! ! ! ! ! ! ! !( (12)
The second experiment considers the same dispatcher, but removes the dead-zone (compressed) from the accessible motor inputs, as shown in 6 [START_REF] Garus | Fault tolerant control of remotely operated vehicle[END_REF]. Results are in red.

Lastly, the third experiment considers the use of the dynamic dispatcher, which follows the placement algorithm described previously. Results are given in black.

A. Analysis of the static dispatcher response

The blue curves on Figure 11 clearly show the limitations of the static dispatcher. Indeed, the control law provides control inputs regardless to the presence of the dead-zone. The motor characteristic reported on Figure 3 shows a dead-zone between ! !!!" ! !!"!!" . Considering the control law (12), given ! ! ! !", the expected static error is!! ! !" !" ! !!!!!"# ! !"!!"#! This corresponds to a heading error that won't induce any thrusters' reaction, as one can see on experimental results of Figure 11. Note that this static error is the result of a default of the actuation system, which is not able to produce low thrust. Hence the consideration of an integral gain in control 12 will not compensate this static error.

B. Analysis of the compressed dispatcher response

The red curve on Figure 11 shows the performances of the compressed dispatcher. This one is similar to the previous one, but refers to a motor response where the dead-zone has been contracted (Figure 6(2)), bounding the dead-zone with admissible values of the motor inputs such that ! ! ! !!""! !!" ! !"!!"" , covering the real dead-zone (! !!!" ! !!"!!" ). The result indicates that the static error is compensated but the system oscillates around the desired value. These oscillations are induced by the time of reaction of the thrusters to produce an inverted thrust. A decrease of the gain ! ! will reduce the amplitude of these oscillations, but won't avoid them. This situation, of course, induces an unnecessary fatigue of the motors.

C. Analysis of the dynamic dispatcher response

This time, the input for each motor is computed according to the algorithm previously described. A common motor regime is computed in order to place the operating point of the motors outside the dead-zones. If the control output is over 100 (saturation case), the compression coefficient is applied. The application of this algorithm clearly improves the control performances, since the oscillations and the static error no longer exist.

The impact on energy consumption can be estimated by analyzing the evolution of the actuator activity, through the of Figure 11, where the evolution of the input of motor 1 and 3 are drawn. Since the use of the first dispatcher induces a huge static error, we only compare the motors' inputs activity of the second and third solutions. We compute the following energy-like criterion for both actuation responses between instants ! !"!# ! !!!! and ! !"# ! !"!.

! !"#$!!"#$%&'!!" ! ! !!! ! !! ! !"#!! !" !!! ! !"#$%!!"#$%&'!!" ! ! !!! ! !! ! !"#!! !" !!!
Hence, we conclude, as expected, that despite the offset ! ! present on the response of the adaptive dispatcher, the energy consumption is smaller than the one induced by the oscillatory behavior of the compressed dispatcher.

V. CONCLUSION AND FUTURE WORK

The optimization of thrusters' allocation using our method allows removing the effect of the dead-zone, while respecting the desired actuation demand. The motors saturation effect is avoided using a homothetic compression of the motor inputs. Moreover, this method allows for choosing an 'operating point' for the actuation system, hence providing the management of the system reactivity. The effect of the method on the energy consumption is considered. Experimental tests validate the approach.

The next step will be to increase the system manoeuvrability by adding a similar actuation system, resulting in a hyper-redundant system carrying 12 thrusters. Following the same approach, this system will allows for concurrently considering added secondary tasks in the control objectives.

! "#$%&'!()*!The future hyper-redundant Jack system.!

Figure 1 .

 1 Figure 1. Frames definition, for Jack

!

Figure 2 .

 2 Figure 2. Position of horizontal thrusters Each thruster is fixed on the robot on a point ! ! , ! ! !!!!!!!, defined by angle ! and distance ! w.r.t. ! ! Perpendicular distance to the thruster's direction is denoted ! ! ! Orientation of the produced thrust, denoted ! !!! , is defined with the angle !!!as depicted in Figure 2. Thrust is driven by an electric motor, with input ! !!! . The actuation system thus provides 4 forces ! ! ! ! !!! ! , with 4 motor inputs ! ! ! ! !!! ! . The resulting forces and torque expressed in the body frame is ! ! ! ! ! ! ! ! ! ! .

)

Figure 6 .

 6 Figure 6. Management of dead zones (1: nominal ; 2 : contraction ; 3 : setting operating point)

!

Figure 7 .Figure 8 .

 78 Figure 7. Example of operating point for optimization

Figure 9 .

 9 Figure 9. !"#$%&'()*(experimentation+(

  ( where ! ! is the desired heading and ! ! ! !"!and ! ! ! !!are positive gains. The control output is then to the different dispatchers (static, compressed or dynamic) during three experiments, reported at Figure 11. The desired heading reference has been chosen to ! ! ! !"#$. Initial position has been roughly set to 20°. At approximately 28s, the control is disengaged and the robot is manually oriented at 200°, thus simulating a similar external perturbation. Then the control is engaged again.

  Figure 10. Experimental results

ACKNOWLEDGMENT

The authors would like to warmly thank S. Louis for his constant help on this study and the French labex NUMEV for supporting this research.


Lotfi Jaiem
email: jaiem@lirmm.fr

Sebastien Druon
email: druon@lirmm.fr

Lionel Lapierre
email: lapierre@lirmm.fr

Didier Crestani
email: crestani@lirmm.fr

A Step Toward Mobile Robots Autonomy: Energy Estimation Models

Keywords: Autonomy, energy, control architecture, consumption model

One of the crucial questions to develop Autonomous Mobile Robotic systems is the energy consumption, its monitoring and management all along the mission. Mission complexity and fault tolerance capabilities require to exploit system redundancies, in terms of algorithms and hardware recruitment. This choice has an evident impact on energy consumption. This paper proposes an identification protocol to establish the energy consumption models for each control configuration of a Pioneer 3DX. These models are destined to be used as online predictors providing an estimation of the necessary remaining energy that mission success 'nominally' requires. At the end, the proposed energy consumption models are validated and discussed experimentally.

Introduction

Mobile robotic systems are expected to perform long range, long term and complex missions. By contrast to industrial robotics where energy can be supposed to be infinite, the management of autonomous mobile robot missions requires to be able predicting the energy consumption of the robot with an acceptable accuracy. Moreover, the mission complexity and the environment versatility imposes to be able managing the embedded energy according to different robot configurations (sensors, actuators, control schemes,etc.), making the energy management a central issue for autonomous robotic missions. Related research addressing the energy issue can be classified into 3 main fields.

Firstly, component oriented approaches like Dynamic Power Management (DPM) in [START_REF] Mei | A Case Study of Mobile Robot Energy Consumption and Conservation Techniques[END_REF], want to reduce the energy consumption using hardware or software energy-aware management techniques. An estimation of the future activity of hardware and software components is used to dynamically adjust their power, while maintaining a desired performance. One of the most popular DPM techniques is the Dynamic Voltage Scaling (DVS) which dynamically adapts the frequency and the voltage of the processor for energy saving [START_REF] Pillai | Real Time Dynamic Voltage Scaling for Low-Power Embedded Operating Systems[END_REF]. These approaches can be extended to robotics, for power supply management, as example, scaling the sensors acquisition frequency [START_REF] Mei | A Case Study of Mobile Robot Energy Consumption and Conservation Techniques[END_REF].

Secondly, some works address the robot system level. They mainly focus on an identification of the robot energy consumption and energy-aware motion for mission involving a unique control task. In [START_REF] Parasuraman | Model Based On-line Energy Prediction System for Semi-Autonomous Mobile Robots[END_REF], energy consumption predictive models, based on theoretical and experimental analysis of sensors and actuators, are proposed for Khepera III robot. [START_REF] Mei | Energy-Efficient Motion Planning for Mobile Robots[END_REF] proposes an experimental analysis of power consumption of a Pioneer 3DX (movement energy, sensors and batteries consumption). The authors identify consumption models for DC motor in order to compare the efficiency of different motion plans to cover opened area. Energy prediction models integrating rolling resistance for unmanned ground vehicles is addressed by Sadrpour et al. in [START_REF] Sadrpour | Mission Energy Prediction for Unmaned Ground Vehicles Using Real-time Measurements and Prior Knowledge[END_REF] to define optimal velocity profile for coverage planning. Optimal velocity for energy efficient navigation has been also addressed in [START_REF] Tokekar | Energy-optimal Velocity Profiles for Car-Like Robots[END_REF] for car-like robots. In [START_REF] Kim | Minimum-Energy Motion Planning for differential-Driven Wheeled Mobile Robots[END_REF], minimum-energy trajectory for wheeled mobile robots has been studied and experimented on a Pioneer 3DX.

Few works address the energy question at the mission level involving several types of tasks. In [START_REF] Zhang | Optimal Solutions to a Class of Power Management Problems in Mobile Robots[END_REF], Zhang et al. develop a joint power management scheme coupling the processor frequency (image analysis) and the robot speed (traveling) to improve the whole system power performance. Authors describe in [START_REF] Ogawa | Development of the robot power management system adapting to tasks and environments-The design guideline of the power control system applied to the distributed control robot[END_REF] the guidelines for a robot power management system adapting to tasks and environments. Unfortunately few details about its implementation are available. Power-aware tasks scheduling is addressed in [START_REF] Liu | Power-aware scheduling under timing constraints for mission-critical embedded systems[END_REF] for mission-critical embedded systems. However these existing works related to robot energy consumption identification have some limitations:

-Multi-battery (robot and embedded computer) are not considered.

-Impact of different control schemes on energy accuracy is not studied.

-Localization error and environment impact on robot behavior are neglected.

Context

This work focuses on consumption models, but is part of a more general study on the question of autonomy. Autonomy means also a 'self-awareness' about the performance that the system currently exhibits, or is expected to, depending on mission requirements and environment context. We define different performance axis that has to be monitored in order to guarantee a 'nominal' mission execution from Stability, Safety, Localization, Energy and Duration viewpoints. The originality of our approach consists in the concurrent consideration of global feasibility criteria along these axes based in performance estimation of the different control schemes. In particular, an accurate estimation of the robotic system energy consumption is crucial for energy axis monitoring.

This paper presents in a first part the hardware and software architectures of the robot platform based on a Pioneer 3DX robot. Then the energy consumption of robot and laptop batteries according to the connected elements is experimentally established and modeled. Finally, before concluding, these consumption models are experimentally validated and discussed on a patrolling mission.

3 Hardware and Software Architectures Based on a classic Pioneer 3DX, the robot platform (Fig. 1 (a)) has been equipped with sensors and electronic devices in order to implement different motion, localization algorithms and image analysis capabilities. So, a rigorous approach of energy management is needed to manage all the control schemes configuration (hard, soft) which can be used. The Pioneer 3DX is a unicycle type, whose motion can be controlled using two independent DC motors (experimental maximum velocity is 0.8 m/s). It also integrates two arrays (front and rear) of 8 sonars (US) and 5 bumpers. Two URG-04 LX Hokuyo lasers (LAS) allow for full horizontal scanning of the environment. Their data are used for obstacle avoidance and robot localization algorithms. A Kinect c (KIN) is used to perform image analysis and robot localization task, using QR-codes. Two added switch boards allow connecting or disconnecting independently the power supply of the two lasers and the Kinect according to the chosen control schemes. The robot embeds also a battery generating up to 259 Wh of energy. An embedded watt-meter has been integrated to realize an online measurement of the energy supplied by the robot battery. The Pioneer 3DX communicates with the embedded laptop using a client-server connection and a Hitachi H8S-based micro-controller.

The embedded laptop includes an Intel-Core i5-2430M CPU 2.40 GHz. Its lithium/ion battery can generate up to 87 Wh. This battery supplies the laptop processor, screen, wifi board, hard drive and electric fan. Moreover it also supports the USB communications with the lasers, the Kinect, the switching boards, the watt-meter and the robot micro-controller. The operating system used is Linux-RTAI in order to address real-time issues. The laptop battery consumption is estimated using the linux uevent system file. It allows an online monitoring of the battery current, voltage, and proposes an estimation of the remaining energy of the laptop battery.

Fig. 1 (b) presents the hardware architecture of the platform. The elements supplied by the robot batteries are drawn with black boxes. The ones supplied by the laptop battery are drawn with white boxes. Switchable components are drawn with dotted lines. Furthermore it must be noticed that these components and the watt-meter have USB connections with the laptop for data exchange but they are supplied from the robot battery (grey boxes).

Control Architecture

The control of the robot behavior, implemented on the laptop, is based on a modular component-oriented hybrid real time control architecture.

This architecture can be decomposed into two main parts. On the one hand, the synchronous executive level is composed of a set of interconnected modules, exchanging data and implementing the robotic basic functionalities using software resources as path-following, obstacle avoidance, corridor centering, for motion control, and laser/US based SLAM and QR-code camera identification or pure odometer for localization. Each possible combination results in a control scheme, recruiting a specific hardware an software set. In case of redundant hardware/software, a set of different alternatives must be considered. It also contains a scheduler, managing modules execution according to real-time constraints and mission objectives. On the other hand, the asynchronous decision level selects the relevant control scheme according to the current mission context using a hierarchy of supervisors. Since the objective of this study is to establish energy consumption models for all possible control schemes, we focus our study on 4 specific control schemes, and their alternatives, inducing the use of different hardware components (Table 1). Simple Forward Motion (SFM ) used to measure and identify the energy needed for a straight motion without using sensors or control loop regulation. The two wheels rotation speeds are strictly the same.

Path Following Motion (PFM ) implements the path-following algorithm SMZ [START_REF] Lapierre | A guaranteed obstacle avoidance guidance system: The safe maneuvering zone[END_REF] and exteroceptive sensors are recruited. It is used to estimate the control regulation loop impact on energy consumption with respect to the traveling distance and curvature and speed variations. QR Code Navigation (QRCN ) allows a global localization of the robot, using the on board camera. Note that the spatial distribution of QR-Codes in the environment influences the positioning error drift and, as a consequence, the path actually performed and the energy consumption.

Energy Consumption Models

As we presented previously, the studied robot has two power sources: robot battery (P R ) supplies the low-level controller, sensors, motion actuators and watt-meter, while laptop battery (P L ) supplies the control architecture execution, the data exchanged between the processor and the actuators and sensors, and the switch boards. The robot energy management requires building energy consumption models on the robot and laptop batteries.

In the following, the formulation proposed in [START_REF] Parasuraman | Model Based On-line Energy Prediction System for Semi-Autonomous Mobile Robots[END_REF] for a Khepera robot is adapted. Generally, for a given Control Scheme CS, the instantaneous power consumption P of a robot can be decomposed in dynamic and static parts. The dynamic part P Dyn denotes the power consumption which can dynamically change over the time. The static part P Stat denotes the constant steady state power consumption. Depending on the recruited components of a control scheme CS, the corresponding instantaneous consumption is:

P (CS) = n1 i=1 α i • P Dyn i + n2 j=1 β j • P Stat j . (1)
Where n 1 is the number of dynamics components, n 2 the number of static components, α i and β j are equal to 1 if the considered component is involved into the current control scheme CS, 0 otherwise. For a given control scheme of Table 1 and for a given control scheme, (1) can be rephrased distinguishing optional and mandatory components. The energy consumption of a control scheme is classically obtained by multiplying the instantaneous power consumption by the duration ∆T of the active control scheme CS (2).

E(CS) = P (CS) • ∆T (CS) . (2)
Robot and laptop battery consumption models are detailed in the sequel.

Power Model: Consumption on Robot Battery

We present now a detailed analysis of the robot battery consumption linked to the dynamic and static components. From these results, the power model parameters of the studied control schemes are evaluated. The experimental results are based on the embedded watt-meter data analysis.

Instantaneous Power Consumption of Actuators

DC motor motion power model for Pioneer 3DX robot has been largely studied in [START_REF] Mei | Energy-Efficient Motion Planning for Mobile Robots[END_REF], [START_REF] Sadrpour | Mission Energy Prediction for Unmaned Ground Vehicles Using Real-time Measurements and Prior Knowledge[END_REF], [START_REF] Tokekar | Energy-optimal Velocity Profiles for Car-Like Robots[END_REF] and [START_REF] Kim | Minimum-Energy Motion Planning for differential-Driven Wheeled Mobile Robots[END_REF]. Analytically, it depends on many parameters like linear (v) and angular (r) velocities, linear (a) and angular accelerations, robot weight, slope and the type of surface. Model parameters remain difficult to evaluate experimentally and the null acceleration hypothesis is generally observed in the literature [START_REF] Sadrpour | Mission Energy Prediction for Unmaned Ground Vehicles Using Real-time Measurements and Prior Knowledge[END_REF]. This hypothesis corresponds with the work context where mission is composed by a sequence of straight lines traveled with constant velocities. Another approach developed in [START_REF] Tokekar | Energy-optimal Velocity Profiles for Car-Like Robots[END_REF] and adopted in [START_REF] Parasuraman | Model Based On-line Energy Prediction System for Semi-Autonomous Mobile Robots[END_REF] demonstrates that the DC motor motion power model can be defined by the following polynomial approximation:

P R M otion (a, v) = C 1 • a 2 + C 2 • v 2 + C 3 • v + C 4 + C 5 • a + C 6 • a • v . (3)
The null acceleration assumption reduces (3) to [START_REF] Mei | Energy-Efficient Motion Planning for Mobile Robots[END_REF].

P R M otion (v) = C 2 • v 2 + C 3 • v + C 4 . (4)
From experimental measures (Fig. 2 (a)), the polynomial approximation of parameters in (4) yields to ( 5). This experimental data is the average of power measurements (1 second of period sampling) of 20 m straight line traveling on a flat horizontal floor using SF M control scheme. Some remarks can be derived from this formulation: when the robot does not move (v = 0 m/s) the power is equal to C 4 (3.66 W). This power P R Cont.1 corresponds to the static consumption required by the different electronic boards and the micro-controller within the robot. From ( 2) and ( 5) and considering that v = d/∆T where d represents the traveled distance at a constant velocity v during ∆T, the energy motion model is:

P R M otion (v) = 6.25 • v 2 + 9.79 • v + 3.66 . (5)
E R M otion (d, v) = 6.25 • d • v + 9.79 • d + 3.66 • d v . (6)
Equation ( 6) can be very useful to estimate the motion energy needed to travel over a distance d at velocity v. Fig. 2 (b) represents the theoretical motion energies required to travel a given distance according to the velocity.

Instantaneous Power Consumption of US Sensors

The power consumption of the sonars is experimentally defined for different acquisition frequencies f U S , of the 16 sonars recruitment. Based on these data (Fig. 3), a polynomial curve trend is expressed in [START_REF] Kim | Minimum-Energy Motion Planning for differential-Driven Wheeled Mobile Robots[END_REF] where the presented data are the averaged consumption over 60 tests of one minute acquisition.

P R U S (f U S ) = 4 • 10 -5 • f 2 U S + 5.1 • 10 -4 • f U S . (7)

Instantaneous Power Consumption of Static Components

Power consumption of the static components has been also measured. The most consuming sensor is the Kinect with P R Kinect = 2.82 W. Each of the 2 lasers sensors consumes P R Laser = 2.34 W. So, using both lasers requires 4.68 W. Finally, the robot controller power consumption is P R Cont.2 = 2.67 W.

Control Scheme Power Consumption Model for the Robot Battery

Depending on the components involved in a control scheme, the power consumption extracted from the robot battery can be formulated as:

P R (CS) = P R M otion (v)+α 1 •P R U S (f U S )+β 1 •P R Kinect +k 1 •β 2 •P R Laser . ( 8
)
Where k 1 ∈ {0, 1, 2} denotes the number of active lasers. α 1 , β 1 and β 2 are boolean coefficients that indicate if sensors are used or not. It must be noticed that derivation of ( 6) and the consideration of ( 8) yields the following optimal velocity (9). V opt = 0.76 m/s if no sensors used (Fig. 2 (b)). If sensors are used as expressed in ( 9), the theoretical optimal velocity minimizing the energy consumption cannot be practically reached.

V opt = 3.66 + α 1 • P R U S (f ) + β 1 • P R Kinect + k 1 • β 2 • P R Laser 6.25 . ( 9
)
6 Power Model: Consumption on Laptop Battery

The laptop battery consumption is generally ignored in the literature. However, in true autonomy context, it is essential. It supports the control architecture and data communication with the robot controller and sensors.

Instantaneous Power Consumption of External Devices

Even if the sensors are externally supplied by the robot battery, the USB communication with the laptop has also its own consumption on the laptop battery (Table 2). Moreover the switching board is also supplied by the laptop battery. That explains why three states are mentioned in the Table 2.

Instantaneous Power Consumption of Internal Devices

The Laptop integrates many internal devices consuming energy. This internal consumption depends on many factors like the executed program (processor activity), hard drive access, electric fan, wifi board consumption, screen display and of course laptop processor and frequency. The screen power consumption can be easily measured P L Screen = 2.69 W. Unfortunately, it is difficult to distinguish the impact of all other factors. However, as supposed in [START_REF] Mei | A Case Study of Mobile Robot Energy Consumption and Conservation Techniques[END_REF] and [START_REF] Ogawa | Development of the robot power management system adapting to tasks and environments-The design guideline of the power control system applied to the distributed control robot[END_REF] all these factors can be integrated in unique power consumption P L P rocessor which remains constant for a given control scheme and a given constant control frequency f c , as a first approximation. The average value of 60 measurements for different control schemes is: 10.66 W (SF M ), 13.23 W (P F M ) and 15.45 W (QRCN ).

Control Scheme Power Consumption Model

The laptop processor frequency is considered as constant, then no dynamic component is involved. The laptop power consumption can also be considered constant for a given control scheme CS and a set of active external components (sensors, switch board). The laptop power consumption can be defined as:

P L (CS) = P L P rocessor (CS) + β 1 • P L Kinect + k 1 • β 2 • P L Laser +β 3 • P L Switch (k 2 ) + β 4 • P L Switch (k 3 ) + β 5 • P L Screen . (10)
where, β 3 , β 4 and β 5 are boolean coefficient denoting if the device is used or not. k 2 and k 3 indicate whether 0, 1 or 2 relays are activated by a switch board.

Experimental Results

In this section, the proposed energy models applied on the Pioneer 3DX robot and its embedded laptop are validated, traveling along a distance of 50 m in a corridor from point A to B (Fig. 4). Then, a patrolling mission is considered with more complex path, stops, and different switch between control schemes. Curves present the theoretical prediction model. The prediction error is computed , and displayed at Fig. 5 (a), where it varies between -7% and +8%. It is interesting to notice that the model accuracy of [START_REF] Parasuraman | Model Based On-line Energy Prediction System for Semi-Autonomous Mobile Robots[END_REF] for a Khepera is very similar to the one we have obtained, despite the large weight difference.

Fig. 5 (c) and (d) present the laptop energy consumed and the corresponding error percentages. Energy measurements fit with model prediction with an error between -7% and 3%.

Since the prediction models accuracy can be considered as acceptable on a simple straight line trajectory, it becomes interesting to tackle a mission bringing ground reality like localization errors and acceleration impacts.

Patrolling Mission

A more complex mission is considered in this section. Starting from the docking station (DS) situated in the experimental room ER (Fig. 4), the robot must reach two valves V1 and V2 situated in H1 and H2 and inspects them (open/closed) by image analysis. Then, the robot must go back to the docking station (starting point). To test the correctness of energy estimation, different velocities are imposed during the mission depending on the robot location: mainly 0.46 m/s, 0.56 m/s and 0.75 m/s. Fig. 6 presents the experimental measures of the robot velocity during the proposed mission and the mean velocity reached in each area is indicated in blue over the red lines (theoretical velocity). Two stops are noticed for image analysis detecting the valves status.

The total mission duration is higher than 7 minutes (434 seconds) over 190 m traveled distance. A path following control scheme QRCN (CS 1) using kinect (localization) has been used with sonars and two lasers (obstacle avoidance). On the way back, switching off one laser is planned (CS. 2). Moreover into the valves areas, a pure rotation is triggered OPR (CS. 3) and image analysis IA (CS. 4) control scheme is used to steer the robot in front of the valve and to analyze its status (open / close). The use of these schemes is shown in Fig. 6. Fig. 7 (a) shows that experimental robot energy consumption is a little bit higher than the expected one. However the curves are very closed. Moreover Fig. 7 (b) demonstrates that the predicted energy estimation error after an initial peak decreases to a final value of 10 % (12.1 % for laptop battery Fig. 7 (d)). The initial over-consumption is due to the system trajectory to reach the first corridor from the ER. The real trajectory differs from the expected one (odometer drift and robot oscillations) and the real consumption is higher than the predicted one. The same increase of error is noticed at the end of the mission (from 350 s) where robot returns to the ER. The same peaks are noticed for the laptop prediction error. Moreover, the over-estimation of the energy consumption (at the beginning of the mission) becomes less important with regards to the global energy consumption according to the mission progress (error decrease). The estimation error is explained also by the difference between the theoretical and the experimental velocities and the robot accelerations after the stops near the valves. These analysis demonstrate that the proposed power and energy consumption models allow for a good estimation of the real consumption for quite complex and long missions. The over-estimation observed is due to the difference between the expected and real robot trajectories. This difference is due mainly to the system transient response and the robot odometer drift for quite long distance before being corrected by QR code localization (robot oscillation and velocity variations). When robot heading changes are not frequent the consumption estimation becomes close to the reality.

Conclusion

This paper tackled the question of energy prediction of the Pioneer 3DX robot in connection with energy management for autonomous mobile robotics. Energy aware based on accurate energy consumption estimation becomes crucial. Then, both robot and embedded laptop where considered. Based on experimental analysis, generic energy prediction models were proposed for a given control scheme.

Optimal velocity from robot energetic viewpoint is defined. Experimental results show that the measurements fit to the proposed models for path following motion with different control schemes using different sensors. Later, a more complex mission is realized and the impact of the localization accuracy and the path shape are noticed. Thus, prediction accuracy decreases but remains still acceptable.

Future works, look for identifying the gap between prediction and experimental results tacking in account localization accuracy and followed path. That will improve the prediction models accuracy. Based on this prediction, a methodology allowing energy management for autonomous robotic mission has been developed. This methodology consists on dynamic hardware and software resources allocation along the mission with regard to performance constraints and particularly the energy one.

3. 1

 1 Hardware Architecture

Fig. 1 .

 1 Fig. 1. (a) Robot platform; (b) Robot hardware architecture.

Fig. 2 .

 2 Fig. 2. (a) DC motor motion power, (b) Theoretical energy for different distances.

Fig. 3 .

 3 Fig. 3. Sonars consumption.

Fig. 4 .

 4 Fig. 4. Experimental context and mission description.

7. 1

 1 Energy Consumption Using Path Following MotionA simple forward motion SFM has been used previously to define the power model of the robot motion. Now we will experimentally validate the resulting energy model using different control schemes with path following motion (control loop regulation) with different sensor configurations (supplied but not used in the control loop) and for two distances (20 and 50 m). Fig.5 (b)shows the energy measured for robot velocities from 0.1 to 0.8 m/s.

Fig. 5 .

 5 Fig. 5. Path Following Motion: (a) prediction error, (b) experimental and theoretical results for robot energy. (c) Prediction errors, (d) experimental and theoretical results for laptop energy.

Fig. 6 .

 6 Fig. 6. Mission experimental velocity variations.

Fig. 7 .

 7 Fig. 7. Robot energy consumption: (a) Experimental and theoretical results, (b) prediction error. Laptop energy consumption: (c) Experimental and theoretical results, (d) prediction error.

Table 1 .

 1 Control schemes and hardware components

	Sensors	Actuator

Table 2 .

 2 Power consumption P of external devices E D

	E D	P (W)	E D	P (W)	E D	P (W)
	Laser Controller	0.447 0.075	Kinect Watt-meter	1.180 0.490	Switch board	0 0.087 0.405 0.720 1 2


Lotfi Jaiem
email: jaiem@lirmm.fr

Lionel Lapierre
email: lapierre@lirmm.fr

Karen Godary-Dejean

Didier Crestani
email: crestani@lirmm.fr

Toward Performance Guarantee for Autonomous Mobile Robotic Mission: An Approach for Hardware and Software Resources Management

Keywords: Performance, resources management, autonomy, robot

Mission performance is a large concept. It is rarely addressed in the context of autonomous mobile robotics. This paper proposes a generic framework addressing the concept of performance for autonomous mobile robotic mission. Moreover it presents an approach to manage the mobile robot hardware and software resources during the mission execution according to performance objectives. Simulation results illustrate the proposed approach on a patrolling mission example.

Introduction

True autonomy requires the ability to decide the way to perform a mission under performance constraints. It consists on choosing the appropriate resources according to the mission current situation. The robot must be also able to react if unexpected events occur like obstacle avoidance or resource failure [START_REF] Crestani | Enhancing fault tolerance of autonomous mobile robots[END_REF] in order to keep guaranteeing the required performances. If the mission becomes unfeasible, the robot must be able to identify this situation and modify its objectives.

However the concept of performance is not clearly defined in robotics. Some works evaluate specifically the performance of a specific single-robot task, like human following [START_REF] Doisy | Adaptive Person-Following algorithm based on Depth Images and Mapping[END_REF] or performance assessment of a group of collaborative robots [START_REF] Wellman | Effect of Wireless Signal Attenuation on Robot Team Performance[END_REF]. Industrial robotics defined many performance criteria like speed, repeatability, accuracy, etc. International standards (ANSI/RIA R15.05, ISO/9283) are defined too. However, some papers globally consider the mobile robot context. Cabelos et al. define in [START_REF] Cabelos | Quantitative Performance Metrics for Mobile Robots Navigation[END_REF] performance metrics for mobile robot navigation. They propose a classification according to safety, trajectory quality and duration to accomplish a task. Several performance metrics are identified in [START_REF] Bonsignorio | Good Experimental Guidelines[END_REF] depending on mobile robotic task: SLAM, obstacle avoidance, grasping, etc. The problem of robotic mission guarantee is tackled in [START_REF] Lyons | Designing autonomous robot missions with performance guarantees[END_REF] using properties (liveness, safety) formal verification but the considered mission is still simple. Moreover nothing is proposed to overcome unforeseen problems during mission execution.

Experimental Context

A Pioneer 3DX c (V Rmax = 0.75 m/s) integrating 16 sonars and 10 bumpers is used. 2 URG-04 LX Hokuyo used for obstacle avoidance, centering motion and robot localization. Localization is also performed using a Kinect c camera and geo-referenced QR-codes. The Kinect is also used for image capture. An embedded lead/acid battery generates up to 259 Wh of energy. The robot communicates with an embedded laptop supporting a real time control architecture implementing the different algorithms. The laptop has its own battery, which is also monitored. Depending on algorithms and sensors used, 7 moving control laws, 3 localization methods and one image analysis control schemes (CS) are available.

The considered mission of 187 meters long is an autonomous patrolling to inspect the state (open/close) of two valves (V1-V2) (Fig. 1). Table 1 presents the mission decomposed into a sequence of (n obj = 9) objectives O: Go from docking station DS to the valve V1 (traveling), the robot rotates in the direction of V1 (turn toward), inspects it (image processing), and turns back. Then the robot travels from V1 to V2 and inspects the second valve. At the end, the robot goes back to DS. These objectives are performed using n task (≥ 1) concurrent task(s) T: Traveling objective needs both forward motion (FM) and location (L) tasks. One task (pure rotation R) is needed for turning toward a valve. Image processing is done with only valve detection (VD) task. Tasks are performed usually with n opt (≥ 1) options (OT). 7 implemented OT to perform FM task. These are path following algorithms SMZ with different sensors (SM Z -U S, SM Z -LAS, etc.). Location task L can be performed with 3 OT (GOL is a Grid Oriented Localization technique based on laser data, KIN is the QR code localization method or ODOmeter). An Alternative Implementation AI corresponds to the selection, for an objective, a unique OT by task T. The number of alternatives n alt is the product of its corresponding n opt . Different areas can be identified in Fig. 1. In H1, human can be encountered, but not in H2. A glazed area G is also present where sonars are crucial.

3 Proposed Approach for Performance Management

Mission Performance: Which Relevant Viewpoints?

We distinguish Main frame performance viewpoints which must be respected for all autonomous robotic missions: Safety, energy, localization and stability, from User's oriented ones like duration.

The following performances constraints are defined for the studied mission: Duration axis (max D perf = 390 s), energy axis (robot energy: max E perf R = 1.9 W h and laptop energy: max E perf L = 2 W h), safety axis (Obstacle avoidance: S perf OA = T rue and harmlessness: max S perf H = 4J (maximum energy in case of impact with dynamic obstacles)).

Two Performance Margin classes are defined. Boolean margin characterizes a performance that can only be T rue or F alse. Continuous margin defines the gap between performance estimation (or observation) and objectives. The goals are to optimize continuous performance margins with regards to these objectives and to satisfy boolean margins.

Performance Management: The Proposed Approach

Preliminary Phase: The first step is to identify the performance inductors and to build performance estimation models allowing to predict the robot performances. To estimate the mission performance, a detailed representation of the Nominal Mission Plan (NMP) is needed. It is a sequence of n act (≥ n obj ) Activities (Table 1). An activity A cj k is a part of a mission where an objective can be realized under a set of invariant constraints c j . An activity can be performed using all its possible Alternative Implementations AI. Off-line Performance Estimation: Once the NMP built, the objective is to estimate the nominal performance along the process, to determine the chosen alternative implementation AI by activity, to specify the value of performance levers in order to respect the performance constraints. So, each AI must be characterized with regard to each performance axis. The second condition is the ability to estimate the global performance of the NMP mission, by composing the local performance estimation for each eligible alternative implementation. Following the off-line estimation phase, if performance constraints can be a priori satisfied, an alternative implementation can be selected for each activity. Initial Resources Allocation Solution is RAS 0 = {AI 0 , ..., AI nact }.

Online Performance Evaluation and Resources Management: According to the current RAS, an estimation of the current performance behavior is available and periodically compared with evaluated performance to decide if the mission remains feasible. However, a faulty hardware component or software module can disqualify the configuration of some current or future mission activities corresponding to an AI using these faulty elements. A loss of time and energy (environment dynamism) can lead to negative performance margins. In order to consider these situations, the previous offline performance analysis is used online, on the remaining part of the mission, providing in real time a new set of alternative implementations to realize future activities (if it exits).

Resources Management Implementation

The mission plan being created, the mission duration M D is estimated by adding the n act duration of all A k activities. Activities could have predefined constant duration d k (static activities where x k = x k-1 ) or it can depend on the corresponding robot traveling length (x k -x k-1 ) and velocity V k .

Energy estimation models are experimentally identified and expressed in [START_REF] Jaiem | A Step Toward Mobile Robots Autonomy: Energy Estimation Models[END_REF].

The mission safety viewpoint is implemented through two safety indicators: obstacle avoidance ability and safe traveling (harmlessness of the robot movement). So, for the considered robot, the following limitations must be respected:

-Sonars are the only efficient sensors in the glazed area (G) (other sensors can be used also for obstacle avoidance). In this area V max = 0.46 m/s. -Obstacle avoidance is required in the presence of human (H1 area). If lasers are used V max = 0.56 m/s. -Area with no human presence (H2 area) V max = V Rmax = 0.75 m/s.

Resources management consists on determination for each activity, the AI (algorithms and sensors) and its parameter(s) (robot velocity) that must be locally chosen for each activity to globally satisfy performance objectives.

For a mission, the Number of Global Alternatives (N GA) is equal to the product of each number alternatives implementations (n alt k ) by the n act activities. It becomes quickly huge (N GA > 10 13 for Table 1). It is a classical NP-hard Knapsack problem. To solve it in a real time context, the algorithm proposed in [START_REF] Bennour | Computer Aided Decision for Human Task Allocation with Mono and Multi Performance Evaluation[END_REF] has been adapted to the robotic context.

Simulation Results

The studied mission and robot system (cf. section 2) with D, S and E axes are now considered. Table 1 summarizes the mission description (Objectives O i ) and then mission decomposition (Activities A k ). Grey color expresses constant duration objectives. Projecting the 10 m length glazed area (G) on the two ways mission is [31, 41 m] and [146, 156 m]. Zone without human presence (H2) linear projection coordinates are [63.5, 123.5 m]. These areas impact the constraints (maximum velocity and eligible {AI}) from safety viewpoint. Row n alti in Table 1 shows the number of AI by objective. A cj k row shows the number of activities by objective. n alt k shows the number of AI for the corresponding activities. It is reduced if some AI are non illegible respecting safety constraints. The mission initially composed by 9 objectives is then composed by 17 activities with different constraints. Colored boxes in the last row express maximum linear velocity V max depending on activities. In blue maximum velocity is 0.46 m/s, green 0.56 m/s, orange 0.75 m/s and white 0 m/s (pure rotation).

Once the decomposition is done, mission feasibility is tested considering the performance axes and a first resource allocation RAS 0 is calculated (Table 2). During the mission (Fig. 2), 8 obstacle avoidances (OA) occur and energy (laptop and robot) and duration margins decrease (Fig. 3). Robot energy margin becomes negative twice (33 m and 62 m linear coordinates) and respectively two switches RAS 1 and RAS 2 were done to overcome these perturbations and ensure mission feasibility. Table 2 shows the details of the generated solutions (AI by activity), the global number of possible alternatives implementations N GA and the number of iterations IT needed to find a new solution. To overcome the energy loss during obstacle avoidance maneuver, the algorithm switch the selected AI (initially SM Z path following algorithm with two lasers and Kinect for KIN localization) for the activity 17 to a less consuming OT with only sonars for RAS 1 and deactivating the Kinect for RAS 2 (localization based on odometer data).

At 102 m, the Kinect fails. Since it is planned to be used in a future activities in RAS 2 for activities 14, 15 and 16, a new RAS 3 is found after eliminating/filtering the sets of AI for the rest of activities. Robot energy margin increases because the new RAS is less consuming than the previous one. Duration margin increases too. This is due to the localization method GOL based on lasers data that allows the robot to run faster (V k = V Rmax = 0.75 m/s) than with Kinect RAS 0,1,2 (blurred image beyond V k = 0.6 m/s). Margins increasing permits to tolerate the rest of the occurred obstacles avoidance. At the end, green boxes in Table 2 show the executed AI along the mission.

Conclusion

This paper proposes a methodology for autonomous resources management and a conceptualization of performance on mobile robotics. Based on mission description and regarding to performance constraints, this methodology determines which hardware and software must be used for each mission activity. From different performance viewpoints, the proposed simulation demonstrates the complexity of the problem and the usability of the management methodology. The robot adapts dynamically its actual and/or planned resources allocation in order to satisfy all performance constraints under different types of internal (hardware or software failure) and external disturbing events. Future works will focus on experimental implementation of the proposed methodology.

Fig. 1 .

 1 Fig. 1. Mission description

Table 2 . 1 1 • 10 4 187 ( 1 )

 2111871 Generated resources allocation solutions A k 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 N GA ≥ IT RAS0 : SMZ-2LAS-US/KIN, (2): OPR/KIN, (3): VALVE ANALYSIS, (4): SMZ-2LAS/KIN, (5): SMZ-US/KIN, (6): SMZ-US/NONE, (7): CENTERING-2LAS-US/GOL

Fig. 2 .

 2 Fig. 2. Mission progress and events.

Fig. 3 .

 3 Fig. 3. Duration, laptop and robot energy margins.

Table 1 .

 1 Mission description/decomposition and complexity

	xi-1 -xi (m)	0 -34		37	37	37	37 -93.5	93.5 93.5 93.5 93.5 -187
	Objective Oi	DS → V1					V1 → V2		V2 → DS
	n alt i	21			2	1	2		21	2	1	2	21
	Task T k	FM / L		R/L VD R/L	FM / L	R/L VD R/L	FM / L
	A c j k	1	2	3	4	5	6 7 8	9 10 11	12	13 14 15 16 17
	n alt k	21	9 3 2	1	2 9 21 21 7 2	1	2 21 21 9 21
	Vmax(m/s)