# Power Optimization in Mobile Robots Using a Real-Time Heuristic

Authors: Tamer Abukhalil; Harbi Almahafzah; Malek Alksasbeh; Bassam A. Y. Alqaralleh
Journal: Journal of Robotics
 (2020)

---

## Abstract

Mobile robots typically run using finite energy resources, supplied by finite batteries. The limitation of energy resources requires human intervention for recharging the batteries. To reduce human intervention, this work focuses on coordinating power in a group of robots. A power optimization subroutine provides some sense of distribution of power by the control unit (CU). A variety of on-board sensors, actuators, and communication modules are controlled by a heuristic-based controller class allowing such components to conserve the current taken from the attached power source. Using the proposed approach, autonomous robots will be aware of their power system, especially regarding battery life. The new approach takes advantage of a heuristic function which uses evaluation values calculated at different times for the different robots. An experimental setup is applied on the team of robots. The optimization module is evaluated on each robot. The results show that the team of mobile robots consumes less energy and more efficient power regulation during their duties. Finally, the application of the proposed optimization technique in a distributed manner achieves good power saving figures when performing the particular task.


---

## Body

## 1. Introduction

Homogenous mobile robotics design mimics the behavior of swarm creatures surviving and working in groups, such as ants and flock of birds. However, when building heterogeneous robotic systems, the main challenge is the ability to achieve cooperation among the individual heterogeneous robots. This challenge, subsequently, has an influence on the different design factors such as communication devices, connectivity, and the integrity of the components. The efficient utilization of the on-board hardware resources is a key issue, which depends not only on the electrical architecture but also on its mechanical design [1]. Furthermore, robots must have a great deal of autonomy to accomplish their task in unknown terrains, and they also should be able to operate over a long period of time [2, 3]. To successfully complete a task, the robot swarm should have the capability to constantly monitor the status of its power source. Autonomous mobile robots are supplied using batteries mounted on their platform in order to provide power to the onboard sensors, microcontrollers, servos, and peripheral modules. Batteries have a specific charge rate and hence, the operational time of the robots in the swarm is restricted [4]; therefore, a successful utilization of power resources is vital for managing the remaining energy in the robot’s group [5].The total power consumed by each individual robot can be calculated by multiplying the current consumed by each components by their working time [6]. Such calculations greatly affect the selection of the battery. The selection of the batteries also depends on many parameters such as size, power rating, capacity, discharge cycle, and cost. In this work, five heterogeneous robots each of which has different hardware configurations are used. The state of charge (SoC) of a lithium-ion battery can be estimated using a method that is based on unscented Kalman filter as in [7]. However, many other factors have to be considered that would affect the robot’s power consumption such as its surrounding environment, and nature of the task.In this paper, the major emphasis is to investigate power optimization in the long-term operations of mobile robots, focusing on issues involved which are directly related to power estimation, slow discharging and powertrain constrains. Section2 discusses the robot swarm real-time technique from the perspective of power optimization autonomy. A brief outline of previous research works in the literature is presented in Section 3. Section 4 gives an overview of the swarm robots being tested in terms of power consumptions and power estimation. Section 5 presents the results of the power consumption optimization and the application of the module in a distributed fashion, followed by the conclusion in Section 6.


## 2. Literature Review

Power optimization in this context is the capability of the control program to shut down all sub modules of each robot in the swarm independently [8]. Lithium Polymer batteries (Li-Po) are used in the proposed robotic system as the power source. Lithium Polymer batteries have several advantages such as high electric current, relatively smaller size, and an overall better performance over the other types of batteries [9, 10]. In addition, these batteries have very low self-discharge rate and retention capacity. The amount of power needed to operate a particular hardware component varies from one manufacturer to another. The recommended current needed to operate ultrasonic sensors, servo motors, etc. can be found in the specification documents provided by manufacturer. Using such data makes energy saving applicable from the hardware point of view. For instance, vital modules such as the control unit which is responsible to operate the  rather heavy duty wheel motors can be activated or deactivated when needed. This can be done either using an interrupt service routine (when new subtask is initiated) or by an external timer as discussed in [11].Switching off the Camera Control Unit (CCU) or the ultrasonic sensors maybe considered unacceptable from the robot’s perspective as it is the only sensor that makes the robot aware of other robots and obstacles. However, if the energy source is limited, these modules can also be turned off automatically by an appropriate action plan as discussed by Kim [12]. For example, sharing messages from a robot to another may not be possible simultaneously while navigating the terrain; in fact, most of the energy is consumed by either the controller, which is mounted on the robot platform, or by the actuator motors. Grzelczyk et al. [13] were more interested in determining the best kinematic configuration of legged hexapod robots. Authors have achieved respected amount of power saving by adopting pattern recognition of the robot’s movements and their center of gravity using oscillators. Friction is one of the extreme factors that cause power to drain so quickly. Friction could take place between the ground and the robot’s tires or tread depending on its design. An attempt to suggest a precise model to recuse energy consumption was carried by Eggers et al. [14]. Authors presented an approach that relies on the connection between temperature and friction in industrial robots. Their proposal is tested on the well-known KUKA KR 16 robot manipulator.Mondada et al. [15] proposed a distributed power load technique between variety of self-configurable field robots. A more sophisticated control using a sensing coverage model was introduced by Kantaros et al. [16]. An ideal distribution of task assignment is very beneficial to saving power. Distribution of work between the robots has been explored. Researchers such as Buscarino et al. [17] have come up with solutions to overcome pattern noise in a networked particles or in their case a group of moving robots. The velocity and direction of each robot is controlled, which consequently increases battery life. The concept of game theory has had a considerable part in developing strategic decisions using previously played losing solutions (the team’s state) in order to generate a current winning state. Strategic decisions can be used in a team of autonomous robots so that they would reach an optimal goal by genetically combining two previous states (games) based on a fitness function as explained in the work in [18]. Obviously, strategic solutions can only be performed when multiple agents are involved in the system. The heterogeneity nature of the swarmnoid system introduced by Dorigo et al. [19] is another example of swarm systems that integrated a power management module. More than 50% of the overall power load is consumed by the servo-motors as explained by Mie et al. [20]. They introduced two approaches to dynamically manage power consumption using a real-time scheduling.


## 3. Power Conservation by Programming

When designing the software program, the power optimization controller module (class) provides an important role in power saving. Initially, the controller is put in hibernation mode because it is disconnected from the clock signal for a given time. The controller stays in sleep mode for a specific period until new action is acquired by the robot. This process significantly reduces the frequency of the execution loop as shown in the pseudo code shown in Algorithm1. The controller can then be awakened using hardware interrupts, such as the interrupt service routine (ISR) or by an external timer during the sleep mode. The hardware interrupts trigger the implemented software timer ST1 in the power optimization module and cause it to be decremented as presented in the algorithm. During the robot’s execution cycle (run-time), the system can be viewed as a state graph. Basically, the controller is initially set to sleep mode (root state). When it is awakened, it gets to a new state depending on the evaluation values generated by the power saving manager as discussed in Section 3. The evaluations are calculated for every possible solution that leads the particular robot to the final goal. While in active mode, the controller keeps checking whether or not the current behaviors (actions) and the system state are still valid. If not, a time overflow interrupt will be initiated which indicates that the task is completed.Algorithm 1:Power controller algorithm. Input: (ST1).
1.  Set timer ←st1
2.  Initiate clock
3.  if system interrupt occurs then
4.   Do
5.   Begin
6.   While (no collision AND motion-not-finished AND no-software-timer-overflow)
7.      Do
8.      Begin
9.     Send-Controller-to-sleep;
10.      if (interrupt = sleep timer)
11.       Decrement ST1
12.      End
13.    End
14.   End
15.   While (no-interruption)
16.   Stop when the task is completed
17.   Go to step 1The program which is uploaded on each robotic agent consists of a power optimization subroutine code. This program contains integrated software methods that are responsible to manage the hardware devices and all possible functions. The controller class in the power consumption module keeps track of the controller’s idle and active modes.


## 4. Power Optimization Using Heuristic Function

One of the important design issues of multi-agent mobile systems is being power efficient. Swarm robotic agents tend to have small sizes, which causes having relatively smaller onboard batteries when compared to the more powerful single agent systems. Several types of rechargeable batteries have been used in mobile robots. As mentioned in Section2, the use of Lithium-Polymer batteries has many advantages as opposed to ordinary types of rechargeable batteries. In addition, Li-Po batteries have slow discharging and fast charging durations, and they can tolerate high frequency charge–discharge cycle. This is because these batteries have low capacity volume but yet low self-discharge rate which is less than 5% per month [21]. In larger scale applications, having thousands of small Li-Po cells requires a cooling mechanism to prevent overheating. In such systems, a control circuit is also required to protect the battery-life during charging time because Li-Po cells are very sensitive during the charging phase. The microcontroller integrated on the battery is responsible to provide a control to regulate the charging process [22–24].Robot number one in this very system consists of various hardware components. It is equipped with a 2200 mAh (Milliamps) 9 V (Volt) battery fed to its microcontroller and drive motors. The microcontroller in turn provides 5 V to the various servos and sensors. Using the formula which states that watts is equal to Volts times amps, together with voltages and the power rating of each component, the total power consumption of each robot can be computed in Watts. For example, if the ultrasonic sensor consumes 20 mA when operated on 5 V current, the total power load is 0.02 (Amps) × 5 V = 0.1 Watts.A heuristic functionHn is used to show how the power saving optimizer manipulates the swarm of robots in real time. It is assumed that R1,R2,⋯⋯,Rn is a team of n robots, where each robot Ri can be expressed by its onboard battery, servos, sensors, and communication peripherals. i.e., each robot can be expressed as Ri=<id,Capi,evali>, representing the robot’s id, battery capacity and the robot’s evaluation function. The power saving process begins by assigning an evaluation value for robot Ri performing a task Ti. The evaluation parameter is generated by dividing the result of multiplying robot Ri battery capacity and the battery voltage by the sensor or actuator power rate. The result is then added to a coefficient of frequency in which robot Ri is operating as part of the whole team of its group. The evaluation parameter of robot Ri is given by the following formula:(1)evali=Cf+maxi∑miniCapi×VoltiLoadi,wheremaxi is the maximum power consumed by a component, mini is the summation of consumption of every other component. Loadi is the total load on robot Ri, Cf is a constant coefficient representing the portion of time in which robot Ri is activated. The constant takes values in the interval of (0,1]. In order to save power, activating the right group of robot team can be accomplished by selecting the one that has a maximum heuristic value. The heuristic function is equal for the sum of all robots’ evaluations in a given group. For instance, if there are four groups of robotic agents, the heuristic function for each group j which consists of n robots is given by the following equation:(2)Hjn=∑i=1nevali.The group that has the maximum heuristic value is selected to perform the intended task. Performing a premature mathematical simulation that has a preceding knowledge about the experiment will provide a clear picture on how the robots are initially selected. The selection plays an important role on the overall power saving when the task is being performed. The prior knowledge includes the object size, its distance from the robots, and any other effective factors (such as component usage percentages as shown in Table1). The power optimization module computes evaluation parameter for the robots and monitors their behavior using wireless communication. While testing the proposed system, the task of pulling an object is assigned to the mobile team. Obviously, the primary task is to navigate; for example, the evaluation parameters for a team of three robots using the heuristic approach are intended as follows:Table 1
Power consumption in robot 1.
Component
Power
Usage percentage
Actuation
4 W~14.49 W
95%~100%
Sensing
0.39 W~2.6 W
60%~80%
Microcontroller
0.8 W~1.6 W
40%Considering robot one in group 1 (j=1), Table 1 shows the power breakdown of this particular robot.The evaluation function of robot 1 is given as follows:(3)eval1=Cf+max1∑min1Cap1×Volt1load1,eval1=0.6+14.495.192.2×919.62,eval1=0.6+2.8×19.819.62,eval1=0.6+2.82,eval1=3.42.Consequently, the evaluation values for robots 2 and 3 are 3.68 and 2.53 respectively. Therefore, the total heuristic value for the group is 3.52 + 3.68 + 4.3 = 11.5. The group that has the maximum heuristic value amongst the other groups is chosen and hence, will be assigned the task by the heuristic power manager.The numerical values used in equation (1) are shown in Tables 2–6. The tables also show more detailed description of the power load by the different hardware components in five heterogeneous robotic agents namely robot 1, 2, 3, 4, and 5. The power factor (PF) is the ratio of the real power that is given by the onboard battery and the available power that is supplied to the sensors. The amount of power is determined by the microcontroller as it turns them ON or OFF. The power factor basically has values in the range of 0 to 1.As shown in Table2, the microcontroller only supplies a 5 V current to the various sensors and communication units using a 2200 mAh 9 V Li-Po battery. The 9 V current goes directly to wheel motors/encoders. The total power consumed by this particular robot is 19.621 Watts. The estimated battery lifetime of robot-1 at its best conditions should be as follows,(4)
Battery
estimated
time
=
Battery
capacity
in
Amps
Hour
∗
Voltage
Total
load
of
components
in
Watts
=
2.2
Ah
∗
9
V
19.621
W
=
1
Hr
.Table 2
Components and loads in robot 1.
No.
Sensors/actuators
Power rate
Power factor (PF)
Load (Amps ∗ Voltage)
Result
1
Ultrasonic sensors (EZ1)
4 mA
0.7
0.004 ∗ 5 V
0.02 W
2
Ultrasonic sensors (URM V2)
20 mA
1
0.02 ∗ 5 V
0.1 W
3
IR sensors (Sharp )
33 mA
0.5
0.033 ∗ 5 V
0.165 W
5
Servos (HS 422 )
800 mA
0.5
0.8 ∗ 5 V
4 W
6
Wheel drive motors
1600 mA
1
1.6 ∗ 9 V
14.4 W
7
Microcontroller (Arduino Uno)
90 mA
1
0.09 ∗ 9 V
0.81 W
8
Encoders
4 mA
1
0.004 ∗ 9 V
0.036 W
9
Motor controller
10 mA
1
0.01 ∗ 9 V
0.09 W
Total
19.621 WRobot-2 uses a 6 V 3000 mAh Li-Po battery fed to the microcontroller, wheel motors, and wheel encoders. The heuristic value of robot-2 is 3.68. Like robot-1, the microcontroller on robot-2 feeds 5 V current to its connected components. As depicted in Table3, the total power load on this robot is 8.88 Watts. The battery estimated time is calculated as follows,(5)
Battery
estimated
time
=
3
Ah
∗
6
V
8.88
W
=
2
Hrs
.Table 3
Components and loads in robot 2.
No.
Sensors/actuators
Power rate
Power factor (PF)
Load (Amps ∗ Voltage)
Result
1
Ultrasonic sensors (SRF02)
2 mA
0.7
0.002 ∗ 5 V
0.01 W
2
Motion servos (HS 422)
800 mA
0.5
0.8 ∗ 5 V
4 W
3
Wheel drive motors
500 mA
1
0.5 ∗ 6 V
3 W
4
Microcontroller PCB (PIC)
100 mA
1
0.1 ∗ 6 V
0.6 W
5
Encoders
4 mA
1
0.004 ∗ 6 V
0.024 W
6
X-Bee wireless adapter
250 mA
0.8
0.25 ∗ 5 V
1.25 W
Total
8.88 WAs shown in Table4, robot-3 uses a 7.3 V 3300 mAh battery to supply its microcontroller, other units, as well as an onboard camera. The total power load on this robot is 11.41 Watts. The battery estimated time is calculated as follows,(6)
Battery
estimated
time
=
3.3
Ah
∗
7.3
11.41
W
=
2.1
Hrs
.Table 4
Components and loads in robot 3.
No.
Sensors/actuators
Power rate
Power factor (PF)
Load (Amps ∗ Voltage)
Result
1
Ultrasonic sensor (Seedstudio)
15 mA
1
0.015 ∗ 5 V
0.075 W
3
Camera (Blackfin)
145 mA
0.8
0.145 ∗ 7.3 V
1.06 W
4
Rotating servos HS 422
800 mA
0.5
0.8 ∗ 5 V
4 W
5
Wheel drive motors
700 mA
1
0.7 ∗ 7.3 V
5.11 W
6
Microcontroller (Uno R3)
50 mA
1
0.05 ∗ 7.3 V
0.365 W
7
Ultrasonic sensor (Ping)
20 mA
1
0.02 ∗ 5 V
0.1 W
8
GPS/GPRS
100 mA
0.8
0.1 ∗ 5 V
0.5 W
9
Laser range finder
40 mA
0.9
0.04 ∗ 5 V
0.2 W
Total
11.41 WSimilar to the case in robot-1, the evaluation function of robot 3 is calculated by the power optimization module. One should keep in mind that such values may change during operating time as the battery charge begins to drop. While the centralized calculation of such heuristics is faster, distribution of such control on each robot is also possible as discussed further in Section5.2. In the distributed method, the module uses the values of a limited number of components that are only used in the specified task. Thus, the heuristic values will be dramatically higher when compared to the centralized approach. The initial evaluation of robot-3 is computed as follows:(7)eval3=Cf+max3∑min3Cap3×Volt3load3eval3=0.8+5.116.23.3×7.38.9eval3=0.8+0.82×24.0911.41eval3=0.8+1.73eval3=2.53.Unlike robot-3, robot 4 uses a 7.3 V 2400 mAh battery to supply its microcontroller as well as an onboard camera. The total power load on this robot is 15.95 Watts as shown in Table5. The battery estimated time is calculated as follows,(8)
Battery
estimated
time
=
2.4
Ah
∗
7
.3
V
15.95
W
=
1.09
Hrs
.Table 5
Components and loads in robot 4.
No.
Sensors/actuators
Power rate
Power factor (PF)
Load (Amps ∗ Voltage)
Result
2
IR sensors ( Sharp )
33 mA
0.5
0.033 ∗ 5 V
0.165 W
3
Camera (Blackfin)
145 mA
0.8
0.145 ∗ 7.3 V
1.06 W
4
Rotating servos ( HS 422 ) e.g. gripper
800 mA
0.7
0.8 ∗ 5 V
4 W
5
Wheel drive motors
1200 mA
1
1.2 ∗ 7.3 V
8.76 W
6
Microcontroller uno R3
100 mA
1
0.1 ∗ 7.3 V
0.365 W
7
Encoder
20 mA
1
0.02 ∗ 7.3 V
0.15 W
8
Laser range finder
40 mA
0.9
0.04 ∗ 5 V
0.2 W
9
X-Bee wireless adapter
250 mA
0.8
0.25 ∗ 5 V
1.25 W
Total
15.95 WRobot-5 uses a 6 V 2400 mAh battery to power up its microcontroller and other peripherals. The total power load on this robot is 13.08 Watts as shown in Table6. Components with PF less than 1 will have less wattage load on the battery. In such case the PF factor will be multiplied by the component’s specific load. The battery estimated time of robot 5 is computed as follows,(9)
Battery
estimated
time
=
2.4
Ah
∗
6
V
13.08
W
=
1.1
Hrs
.Table 6
Components and loads in robot 5.
No.
Sensors/actuators
Power rate
Power factor (PF)
Load (Amps ∗ Voltage)
Result
1
Ultrasonic sensors
4 mA
0.7
0.004 ∗ 5 V
0.02 W
2
IR sensors (Type—Sharp)
33 mA
0.5
0.033 ∗ 5 V
0.17 W
3
Rotating servos e.g., gripper
1200 mA
0.7
1.2 ∗ 5 V
6 W
4
Wheel drive motors
1000 mA
1
1 ∗ 6 V
6 W
5
Microcontroller mega 2560
100 mA
1
0.1 ∗ 6 V
0.6 W
6
Encoders
20 mA
1
0.02 ∗ 6 V
0.12 W
7
X-Bee
250 mA
0.8
0.033 ∗ 5 V
0.165 W
Total
13.08 W


## 5. Experimental Evaluation

### 5.1. Evaluating Power Optimization Controller

Upon examining the total power consumptions of each robot in Tables2–6, the consumption of power by robots ranges between 8.9 to 19.6 Watts. The heuristic-based controller uses such load figures for each component when deriving evaluation values for each robot in the team. Figure 1 shows the robots being tested.Figure 1
Robots 1 through 5.The numerical figures in tables show the estimated power load generated by each robot assuming that they are not pulling/carrying any object. When a load is presented in the swarm system, for instance, pulling an object, the real-time technique activates power saving mode which in turn shuts down any unneeded components for the particular task. To illustrate that, robots 1, 2, and 3 are assigned a task of pulling an object that weighs 0.5 kilogram. Two different scenarios of power consumption measurements are taken each in a different experiment. The first set of readings is taken while the swarm system is in a nonpower-saving mode (scenario no.1). All sensors, servos, drive motors, communication peripherals, and clocks are always doing their intended job regardless of their actual necessity. Consequently, the discharge rate of the battery is considerably high. For example, robot-1 performs the task until it completely drains its power after 20 minutes as graphically shown with a blue line in Figure2. Several mechanical and terrain-related factors are the key reason that explains why the actual discharge rate of robots is remarkably less than what has been calculated in theory. More specifically, the robot consumes more power to counter wheel friction while pulling an object, or when riding on rough surfaces as it wanders in difficult terrains.To save the battery, the power is managed by the power module which runs on a computer. The module decides whether or not sensors and/or actuator stay ON (activated) until the task is completed. Therefore, in the second set (scenario no. 2), the module controls the status of sensors, actuators, and servo motors based on the heuristic values it receives. This is determined by the power factor provided by the particular hardware component. In this experiment, sensors, servos, and other components are activated merely when they are needed; else, they are kept in sleep mode in order to increase efficiency. The power heuristic readings are indicated by a red line as shown in Figure2. It can be seen from the graph that the robot in the second scenario (heuristic method) performs the task more efficiently for the first two sets of experiments, because the battery discharge is slower.Figure 2
Battery discharge for robot 1.Robot-2 is the least power consuming agent. Its low weight and being equipped with fewer components helped saving power even though it uses a relatively weaker battery when compared to the rest of the team. Figure3 shows robot-2 discharge behaviour in the two modes.Figure 3
Battery discharge for robot 2.Robot-3 is equipped with a wireless camera. The battery capacity is read at different time intervals as shown in Figure4.Figure 4
Battery discharge for robot-3.


### 5.2. Implementation in a Distributed Manner

The proposed system can be distributed regardless of the number of robots in the team. Dynamic distribution of control between the group of robots can be achieved through the selection of admissible heuristic function values generated by each robot. The roboti has a heuristic hi value which is given by Equation (10)(10)hi=evali,whereevali can be computed using equation (1) as illustrated in Section 4. An admissible heuristic function for each robot means that the function represents the cost of achieving a particular task where its value is less than or equal to the true cost hi∗ . Now, by integrating the evaluation module hi in each robot’s i own CU, the robots can share their heuristic values and distribute control over each other while avoiding obstacles. This time, all the five robots have been given the task of navigating between obstacles in a classroom. Inspired by the work in [17], the robots share their direction and velocity information through their wireless capabilities. The robots try to form a uniform maneuver as they wander around the environment. A set of waypoints are generated in real-time. At each point, the evaluation parameter and direction of each robot are calculated and shared with the rest of the team so that the heuristics can be compared. The heuristic values that are shared at different periods between the five robots are depicted in Figure 5. By sharing heuristic values, the robots will have the chance to activate their components based on their heuristics as explained in Section 4.As can be seen in the figure, robots share significantly high values of heuristics at the beginning of the task because limited number of hardware components has been activated for the rather simple obstacle avoidance task. Such values form a square-like pattern as they are shared and observed by communication channel (terminal). These values begin to drop as the battery capacity decreases. Sharing of such heuristic values allows the team to distribute subtasks evenly so that maximum power saving can be achieved.The exceptional points that appeared in unusual positions in the figure are actually miscalculations of thehi′s. Such errors were due to sudden overload on the robot. Such excessive and short-term loads may happen when the robot encounters rather difficult terrain or obstacles but for few seconds.Figure 5
Heuristics being shared.


## 5.1. Evaluating Power Optimization Controller

Upon examining the total power consumptions of each robot in Tables2–6, the consumption of power by robots ranges between 8.9 to 19.6 Watts. The heuristic-based controller uses such load figures for each component when deriving evaluation values for each robot in the team. Figure 1 shows the robots being tested.Figure 1
Robots 1 through 5.The numerical figures in tables show the estimated power load generated by each robot assuming that they are not pulling/carrying any object. When a load is presented in the swarm system, for instance, pulling an object, the real-time technique activates power saving mode which in turn shuts down any unneeded components for the particular task. To illustrate that, robots 1, 2, and 3 are assigned a task of pulling an object that weighs 0.5 kilogram. Two different scenarios of power consumption measurements are taken each in a different experiment. The first set of readings is taken while the swarm system is in a nonpower-saving mode (scenario no.1). All sensors, servos, drive motors, communication peripherals, and clocks are always doing their intended job regardless of their actual necessity. Consequently, the discharge rate of the battery is considerably high. For example, robot-1 performs the task until it completely drains its power after 20 minutes as graphically shown with a blue line in Figure2. Several mechanical and terrain-related factors are the key reason that explains why the actual discharge rate of robots is remarkably less than what has been calculated in theory. More specifically, the robot consumes more power to counter wheel friction while pulling an object, or when riding on rough surfaces as it wanders in difficult terrains.To save the battery, the power is managed by the power module which runs on a computer. The module decides whether or not sensors and/or actuator stay ON (activated) until the task is completed. Therefore, in the second set (scenario no. 2), the module controls the status of sensors, actuators, and servo motors based on the heuristic values it receives. This is determined by the power factor provided by the particular hardware component. In this experiment, sensors, servos, and other components are activated merely when they are needed; else, they are kept in sleep mode in order to increase efficiency. The power heuristic readings are indicated by a red line as shown in Figure2. It can be seen from the graph that the robot in the second scenario (heuristic method) performs the task more efficiently for the first two sets of experiments, because the battery discharge is slower.Figure 2
Battery discharge for robot 1.Robot-2 is the least power consuming agent. Its low weight and being equipped with fewer components helped saving power even though it uses a relatively weaker battery when compared to the rest of the team. Figure3 shows robot-2 discharge behaviour in the two modes.Figure 3
Battery discharge for robot 2.Robot-3 is equipped with a wireless camera. The battery capacity is read at different time intervals as shown in Figure4.Figure 4
Battery discharge for robot-3.


## 5.2. Implementation in a Distributed Manner

The proposed system can be distributed regardless of the number of robots in the team. Dynamic distribution of control between the group of robots can be achieved through the selection of admissible heuristic function values generated by each robot. The roboti has a heuristic hi value which is given by Equation (10)(10)hi=evali,whereevali can be computed using equation (1) as illustrated in Section 4. An admissible heuristic function for each robot means that the function represents the cost of achieving a particular task where its value is less than or equal to the true cost hi∗ . Now, by integrating the evaluation module hi in each robot’s i own CU, the robots can share their heuristic values and distribute control over each other while avoiding obstacles. This time, all the five robots have been given the task of navigating between obstacles in a classroom. Inspired by the work in [17], the robots share their direction and velocity information through their wireless capabilities. The robots try to form a uniform maneuver as they wander around the environment. A set of waypoints are generated in real-time. At each point, the evaluation parameter and direction of each robot are calculated and shared with the rest of the team so that the heuristics can be compared. The heuristic values that are shared at different periods between the five robots are depicted in Figure 5. By sharing heuristic values, the robots will have the chance to activate their components based on their heuristics as explained in Section 4.As can be seen in the figure, robots share significantly high values of heuristics at the beginning of the task because limited number of hardware components has been activated for the rather simple obstacle avoidance task. Such values form a square-like pattern as they are shared and observed by communication channel (terminal). These values begin to drop as the battery capacity decreases. Sharing of such heuristic values allows the team to distribute subtasks evenly so that maximum power saving can be achieved.The exceptional points that appeared in unusual positions in the figure are actually miscalculations of thehi′s. Such errors were due to sudden overload on the robot. Such excessive and short-term loads may happen when the robot encounters rather difficult terrain or obstacles but for few seconds.Figure 5
Heuristics being shared.


## 6. Conclusion

Performance figures depicted in the experiments show power discharging behaviors for the different robots. Each robot with its unique configuration, together with the proposed technique, can be used to obtain low consumption rates and an overall cost-efficient system. The experimental results show that the battery life can be extended by 40% or more when the power optimization module is applied. The heuristic function integrated in the module, selectively picks the robot in the order of their evaluation parameters while the team is deliberating. The robotic team consists of five robots which can be extended to teams of any size. The team’s behavior and the process of exchanging information as the power optimization module takes place, is analyzed and improved. The proposed technique is tested on the swarm robots in a distributed fashion in order to generalize the results as well. The results gathered show a significant improvement in the overall consumption. This work also, has addressed a comprehensive power management module, primarily at the hardware and at the software level in the robotic swarm. The presented approach can be considered when designing future autonomous mobile robotic systems. Nevertheless, one interesting idea would be taking advantage of the concept of game theory where robots would compete to take over a given task. Strategic scenarios would take place instead of having stochastic decisions and selections.



---

*Source: 5972398-2020-02-11.xml*