Power Optimization in Mobile Robots Using a Real-Time Heuristic

Mobile robots typically run using finite energy resources, supplied by finite batteries. e 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. e 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. e optimization module is evaluated on each robot. e 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.


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. is challenge, subsequently, has an influence on the different design factors such as communication devices, connectivity, and the integrity of the components. e 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]. e 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. e 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. e 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. Section 2 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.

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. e amount of power needed to operate a particular hardware component varies from one manufacturer to another. e 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. is 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. eir 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. e velocity and direction of each robot is controlled, which consequently increases battery life. e 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. e 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]. ey introduced two approaches to dynamically manage power consumption using a real-time scheduling.

Power Conservation by Programming
When designing the so ware 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.
e controller stays in sleep mode for a specific period until new action is acquired by the robot. is process significantly reduces the frequency of the execution loop as shown in the pseudo code shown in Algorithm 1. e controller can then be awakened using hardware interrupts, such as the interrupt service routine (ISR) or by an external timer during the sleep mode. e hardware interrupts trigger the implemented so ware 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. e 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. e program which is uploaded on each robotic agent consists of a power optimization subroutine code. is program contains integrated so ware methods that are responsible to manage the hardware devices and all possible functions. e controller class in the power consumption module keeps track of the controller's idle and active modes.

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 Section 2, 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. is 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. e microcontroller integrated on the battery is responsible to provide a control to regulate the charging process [22][23][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. e 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 function 퐻(푛) is used to show how the power saving optimizer manipulates the swarm of robots in real time. It is assumed that 푅 1 , 푅 2 , ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ , 푅 푛 is a team of n robots, where each robot can be expressed by its onboard battery, servos, sensors, and communication peripherals. i.e., each robot can be expressed as 푅 =< 퐶푎푝 , 푒v푎푙 >, representing the robot's id, battery capacity and the robot's evaluation function. e power saving process begins by assigning an evaluation value for robot performing a task . e evaluation parameter is generated by dividing the result of multiplying robot battery capacity and the battery voltage by the sensor or actuator power rate. e result is then added to a coefficient of frequency in which robot is operating as part of the whole team of its group. e evaluation parameter of robot is given by the following formula: where is the maximum power consumed by a component, is the summation of consumption of every other component.
is the total load on robot , is a constant coefficient representing the portion of time in which robot is activated. e 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. e 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 which consists of robots is given by the following equation: e 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. e selection plays an important role on the overall power saving when the task is being performed. e prior knowledge includes the object size, its distance from the robots, and any other effective factors (such as component usage percentages as shown in Table 1). e 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: Considering robot one in group 1 (푗 = 1), Table 1 shows the power breakdown of this particular robot. e evaluation function of robot 1 is given as follows:

Journal of Robotics 4
Similar 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 Section 5.2. In the distributed method, the module uses the values of a limited number of components that are only used in the specified task. us, the heuristic values will be dramatically higher when compared to the centralized approach. e initial evaluation of robot-3 is computed as follows: Consequently, the evaluation values for robots 2 and 3 are 3.68 and 2.53 respectively. erefore, the total heuristic value for the group is 3.52 + 3.68 + 4.3 = 11.5. e 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.
e numerical values used in equation (1) are shown in Tables 2-6. e 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. e 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. e amount of power is determined by the microcontroller as it turns them ON or OFF. e power factor basically has values in the range of 0 to 1.
As shown in Table 2, the microcontroller only supplies a 5 V current to the various sensors and communication units using a 2200 mAh 9 V Li-Po battery. e 9 V current goes directly to wheel motors/encoders. e total power consumed by this particular robot is 19.621 Watts. e estimated battery lifetime of robot-1 at its best conditions should be as follows, Robot-2 uses a 6 V 3000 mAh Li-Po battery fed to the microcontroller, wheel motors, and wheel encoders. e 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 Table 3, the total power load on this robot is 8.88 Watts. e battery estimated time is calculated as follows, As shown in Table 4, robot-3 uses a 7.3 V 3300 mAh battery to supply its microcontroller, other units, as well as an onboard camera. e total power load on this robot is 11.41 Watts. e battery estimated time is calculated as follows,  Figure 1 shows the robots being tested. e 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 (9) Battery estimated time = 2.4 Ah * 6 V 13.08 W = 1.1 Hrs.
Unlike robot-3, robot 4 uses a 7.3 V 2400 mAh battery to supply its microcontroller as well as an onboard camera. e total power load on this robot is 15.95 Watts as shown in Table 5. e battery estimated time is calculated as follows, Robot-5 uses a 6 V 2400 mAh battery to power up its microcontroller and other peripherals. e total power load on this robot is 13.08 Watts as shown in Table 6. 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. e battery estimated time of robot 5 is computed as follows, 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. e module decides whether or not sensors and/or actuator stay ON (activated) until the task is completed. erefore, 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.
is 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. e power heuristic readings are indicated 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. e 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 a er 20 minutes as graphically shown with a blue line in Figure 2. Several mechanical and terrain-related factors are the key reason that explains why the actual discharge rate of robots is remarkably    by a red line as shown in Figure 2. 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. 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. Figure 3 shows robot-2 discharge behaviour in the two modes.
Robot-3 is equipped with a wireless camera. e battery capacity is read at different time intervals as shown in Figure 4.

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 robot has a heuristic ℎ value which is given by Equation (10) where v 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 ℎ * 푖 . Now, by integrating the evaluation module ℎ in each robot's own CU, the robots can share their heuristic values and distribute control over each other while avoiding obstacles. is 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. e 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. e 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). ese 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. e exceptional points that appeared in unusual positions in the figure are actually miscalculations of the ℎ ὔ 푠. 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.

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. e experimental results show that the battery life can be extended by 40% or more when the power optimization module is applied. e heuristic function integrated in the module, selectively picks the robot in the order of their evaluation parameters while the team is deliberating. e robotic team consists of five robots which can be extended to teams of any size. e team's behavior and the process of exchanging information as the power optimization module takes place, is analyzed and improved. e proposed technique is tested on the swarm robots in a distributed fashion in order to generalize the results as well. e results gathered show a (10) ℎ = 푒v푎푙 , significant improvement in the overall consumption. is work also, has addressed a comprehensive power management module, primarily at the hardware and at the so ware level in the robotic swarm. e 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.
Data Availability e data used to support the findings of this study are included within the article.

Conflicts of Interest
We, the authors, declare no conflict of interest. We declare no personal circumstances or interest that may be perceived as inappropriately influencing the representation or interpretation of the reported research results.