Abstract
Energy autonomy is an important aspect that needs to be improved in order to increase efficiency in mobile robotic tasks. Having accurate power models allows the estimation of energy consumption along different trajectories. This article proposes a power model for two-wheel differential drive mobile robots. The proposed model takes into account the dynamic parameters of the robot and its motors, and predicts the energy consumption for trajectories with variable accelerations and variable payloads. The experimental validation of the proposed model was performed with a Nomad Super Scout II mobile robot which was driven along straight and curved trajectories, with different payloads and accelerations. The experiments using the proposed model showed accuracies of 96.67% along straight trajectories and 81.25% along curved trajectories in the estimation of energy consumption.
Introduction
Technological advancement has promoted a continuous increase in the use of mobile robots in a wide range of applications. However, energy autonomy is still a major issue that slows down the widespread utilization of mobile robots. Sudden changes of velocity and variations in payloads along trajectories, which are common in solving robotic tasks, lead to power fluctuations and variable energy consumptions. Some examples of such applications are demining robots 1 that may perform stop and go motion; transporting and lifting robots 2,3 that move materials on factory floors; vacuuming robots, 4,5 which accumulate dust in a reservoir; or spraying robots, 6,7 which release a liquid content from a reservoir.
The energy autonomy problem can be mitigated, either by increasing the robot’s energy capacity—which implies a heavier and more expensive system—or by optimizing the energy necessary to fulfill the mission. This optimization can be achieved by choosing geometrical and dynamical motion profiles that minimize the energy necessary to carry out their missions. To be able to find the energy-minimizing motion profiles, an accurate power model of the platform is required. This leads researchers to propose various power consumption models as well as energy-optimizing motion profiles for mobile robots.
Power modeling has been studied on skid-steered platforms. Chuy et al. 8 used an exponential function to model the power consumption of skid-steered robots, and Morales et al. 9 used relative track speeds to estimate the power consumption. Due to the fact that the energy consumption of skid-steered platforms is more heavily defined by friction between the wheels and the ground or tracks and the ground during rotations, Yu et al. 10 and Dogru and Marques 11 presented a friction-based power consumption model for skid-steered platforms. Kim and Kim 12,13 calculated the velocity profiles that minimize energy consumption for a differential drive mobile robot along both straight and curved paths, using the dynamic model of the motor as the cost function. Xie et al. 14 studied a dynamic window approach for power minimization in Mecanum wheeled robots. Tokekar et al. 15 studied the influence of friction between robot wheels and different kinds of surfaces on the energy consumption in car-like robots, eventually proposing a calibration procedure to estimate the parameters of the dynamic model of the motor, including the internal friction torque. Mei et al. 16 estimate the power consumption of a two-wheel differential drive robot using a sixth-degree polynomial model for its direct current motors and compare the efficiency of different motion profiles for area coverage scenarios. Mei et al. 17 analyze the power consumed by sensing and control subsystems of the robot. Similarly, Parasuraman et al. 18 take into account the power consumed by different subsystems of a mobile robot and use a polynomial model to estimate the power consumed by each. These authors find the coefficients of the polynomial model using a calibration sequence, while additionally taking into account the payload and accelerations of the platform.
This article focuses on the power consumption of the drive system of two-wheel differential drive robots, taking into account both varying payload and accelerations. It extends the state of the art by presenting a Lagrange-based dynamic model, which explicitly includes the dynamic parameters of both the robot and the motor. This approach, in contrast to a polynomial fitting based approach, analyzes the contribution of different robot and motor parameters to the total power consumed by the robot. In the mathematical procedure, this work utilizes a state-space realization 19 to expand the state variables and simplify the Lagrange multipliers. 19 This transformation enables a description of the power consumption model with ordinary differential equations, which in turn allows power consumption calculation. Finally, a calibration procedure is used to account for the internal friction of the motor. The proposed energy consumption model is experimentally validated using a Nomad Super Scout II mobile robot, with different accelerations and payloads. This work extends our previous work, 20 in which the mathematical model was presented and only partially validated with straight paths, with extensive validation along curved paths represented using Bézier curves.
This article is organized as follows: the first section develops a mathematical model for energy consumption estimation. The second section presents the results of experimental validations with the Nomad Super Scout II mobile robot. Finally, the third section draws the final remarks and conclusions of this work.
Development of the power model
In the first subsection, the dynamic model of a two-wheel differential drive robot and then the dynamic model of a DC motor are presented. Then, the two models are combined by matching the load torque values. Finally, a state-space realization is used to obtain the power model formulation. 20 All the symbols used in this work are presented in Table 1 for easy reference.
Symbols used in this work.
Constraint equations
In this section, the motion and constraint equations for a differential mobile robot whose schematic is shown in Figure 1 are developed. The mobile robot is driven by two independent wheels with the same dimensions.

Schematic of the differential drive mobile robot
The mobile robot configuration has two motion constraints:
The mobile robot cannot move in the lateral direction, hence
The wheels of the mobile robot roll but do not slip, hence
The holonomic constraint can be obtained by subtracting equation (2) from equation (3), giving
Replacing the constant
Adding equations (2) and (3) gives
The non-holonomic constraint equations formed by equations (1) and (6) can be written in matrix form as
where the elements of the constraint matrix are
Equation (7) can be expressed as
where
Dynamic model of the robot
The system of nonlinear differential equations that represent the dynamic model of the mobile robot can be found by using the Lagrange formulation 19,21,22
with
The total kinetic energy of the mobile robot is given by
where
At this point, the derivatives of the Lagrange motion equation (11) are calculated. Finally, the nonlinear differential system of equations representing the dynamic model of the mobile robot is obtained as
Dynamic model of the motor
The dynamic model of a DC motor can be expressed by the following system of differential equations 23
The first expression in (14) is the voltage equation for a DC motor, and the second expression reflects the torque of the DC motor. In several studies, such as the one by Kim and Kim, 13 the torque variable is neglected, which is unrealistic for a real robot. In the proposed model, the load torque value of a dynamic DC motor model is calculated using a mobile robot dynamic model. On the other hand, a calibration procedure is used to estimate the internal friction torque value.
A reduced-order model can be achieved for the dynamic behavior of the motor. The electrical response is generally much faster than the mechanical response, therefore the inductance of the armature circuit can be ignored. Hence, the first equation yields
Equation (15) can be used in the second part of equation (14) to obtain the torque
The combination of the dynamic models
To achieve the energy consumption model, the dynamic models of the robot and the DC motor are combined. The equation for the load torque of the DC motor model, equation (16), may be used in the system of equations for the dynamic robot model, namely equation (13). Also,
where
Energy consumption model
In this section, a state-space realization from
19
is used to transform the nonlinear differential equation system representing the combination of the dynamic models into an ordinary differential equation system. In the process, the size of the state space is increased, and the Lagrange multipliers are simplified, using the null space
Vector
Being
Now, multiplying both sides of equation (17) by
The term
Replacing
Isolating
Then, the dynamic model can be represented with these new state variables.
The motion equation (23) and the equation
where
The voltage variable can be obtained by isolating
The
Finally, the energy consumption model can be calculated with the integral of the power estimation model (equation (28)).
Experiments and discussions
Experimental setup
The energy consumption model was implemented in MATLAB R2013a/Simulink. The dynamic parameters of the Nomad Super Scout robot given in Table 2, as well as the dynamic parameters of the DC motors of the robot given in Table 3, were used in our model.
Parameters of the nomad super scout robot.
Parameters of the motors of the nomad super scout robot.a
a Reference: PITTMAN GM14900.
For the validation of the proposed energy model, a Nomad Super Scout mobile robot was used (Figure 2). The robot was controlled using the built-in Motorola 68332 embedded robot controller and an Orange Pi PC Plus single-board computer. Robot Operating System was used on the Orange Pi to send the desired velocities to the robot and to receive odometry values from the encoders, as well as the power values of the motors from a custom power measurement circuit. Three batteries with weights of 5.7, 2.55, and 2.25 kg were used as payloads for the robot. The batteries were fixed on top of the robot in various combinations to achieve payload weights of 2.5, 5.7, 8.25, and 10.5 kg (Figure 2).

(a) Nomad Super Scout mobile robot used in this work. (b) Top view of the robot showing all the batteries that were used to vary the payload.
Calibration procedure
A calibration procedure was used to estimate the internal friction torque of the motors. The internal friction torque is related to opposing forces applied to the robot, such as the friction of the wheels with the floor and the friction in the gears. However, the load torque is related to the acceleration, mass of the robot, and the payload, and it is calculated using the dynamic robot model. Therefore, the dynamic motor model may be used for the calibration. The friction torque of the motor can be found by assuming no acceleration. In this case, the model can be written as
where
Then, the average value of the current and voltage was calculated using the power values from the measurement circuit, when the robot reaches and stays in a constant linear velocity. In the experiment, constant velocities between 0.1 m/s and 0.9 m/s were used. In Figure 3, current and voltage for a constant velocity of 0.8 m/s are shown. The shaded section representing the acceleration and deceleration of the robot are thus excluded from the calibration procedure. Finally, the energy consumed by the robot was calculated using equation (29).

Calibration procedure for a constant velocity of 0.8 m/s. The robot moves in a straight path on the marble floor without payload. The acceleration and deceleration of the robot are not taken into account (shaded section): (a) odometry values from encoders (maximum velocity of 0.8 m/s) and (c) the voltage of the left motor and average value.
The experiment for the calibration procedure was performed without payload, on a marble floor, along a fixed 20 m straight path. The estimate of the friction torque is obtained using least-squares fitting. The friction torque values for the motors were found out to be 0.3728 and 0.346 Nm. In Figure 4, both the energy consumed by the robot and the energy estimated by the model are shown.

Estimated and measured energy consumption values for different velocities tested in the calibration procedure experiments.
Experimental validation of the proposed model
For the validation of the proposed power estimation model, the Nomad Super Scout mobile robot was used. A set of experiments were performed to verify the fitness of the power model for a typical mobile robot usage scenario, such as carrying various payloads or moving with different accelerations along straight and curved paths.
Straight path validation
In the experiments for the straight path validation, the mobile robot was commanded to cover a distance of 10 m, on a straight path, on a marble floor, with and without payload. A constant acceleration was applied to the robot for 4 s until it reached the desired distance, this test was repeated several times for each acceleration. The weights of the payloads were 2.55, 5.7, 8.25, and 10.5 kg, and the various accelerations were
In Figure 5(a), the linear velocity profile of the mobile robot is shown. The robot develops several accelerations of 0.2

Validation experiment, applying to the robot accelerations of 0.2
In Figure 5(b), the estimated and measured power of the robot generated by the accelerations are shown. It can be seen that the power estimation model predicts the average power consumed by the motor closely.
Measured and estimated energy consumptions for various accelerations are given in Table 4. The accelerations were applied to the robot, first without payload, and then with a payload of 8.25 kg. The tables show a change in the robot’s energy consumption when the accelerations of the robot increase. Comparing the tables demonstrates the energy consumption of the robot increase more when the robot carries considerable weight.
Measured and estimated energy consumptions with and without payload along straight paths.
In Figure 6, the experimental results for three different accelerations and the various payloads are summarized. The figure also shows that no matter the acceleration when the payload increases, the energy consumption of the robot increases as well. The highest energy consumption of the robot happens at maximum acceleration with maximum payload (162.7 J). Figure 6 also shows that maximum acceleration with any payload can result in more energy consumption than lower accelerations with the same payload.

Energy consumption of the robot with different accelerations and payloads, on a straight path.
Finally, to show the fitness of the power model evaluated along straight paths, the error percentages between the measured and predicted energy values for different payloads and accelerations are given in Table 5. It is important to note that a successful result in the experiment is attained when the error between the estimated and the measured energy values is less than 10% (state-of-the-art good performance
1
). The experiment with 0.225
Error between the predicted and measured energy.a
a Straight path experiments.
In this scenario, 29 out of 30 total experiments were successful. The percentage of fitness of the predictive energy consumption compared with the robot energy consumption can be calculated with the equation (33).
In that case, the percentage of fitness for the experiment along the straight path was equal to 96.67%. Tests accurately validated the model.
Curved path validation
In this experiment, the fitness of the power estimation model along curved paths is evaluated. For this, the mobile robot was moved along third-order Bézier curves on a marble surface. The accelerations, payloads, and directions of the robot were varied. The payloads used were 5.7, 8.25, and 10.5 kg. The equation of the third-order Bézier curve that was used in this experiment is given by
where
The control points were chosen taking into account the dimensions of the hall where the experiments were conducted, leading to

Linear and angular velocities of the robot during a Bézier curve path experiment, with an acceleration of 0.18
In Figure 8, the pose and linear velocities of the robot at different accelerations are shown (second shaded section) when the robot follows the Bézier curve path. The accelerations are equal to 0.15, 0.18, 0.2, and 0.22

Pose and linear velocity of the robot with different accelerations. (a) Pose of the robot and (b) Bézier curve accelerations.
The odometry values given by the encoders are the linear velocity of the robot and the quaternion orientation values. But, the variables needed as the input of the proposed energy estimation model are the angular velocities of the wheels, which can be calculated with equation (35) based on the robot kinematic equations.
The only variable remaining is the angular velocity of the robot, which can be calculated using the quaternion orientation provided for the odometry data.
A unit quaternion can be described as
The quaternion can be transformed into a roll, pitch, and yaw representation, but in this case, only the yaw representation is needed (angular position of the robot
Finally, the angular velocity of the robot is calculated by applying the derivative of the angular position of the robot (Figure 7). Figure 9 shows the orientation of the robot and the angular velocities of the wheels calculated using the encoder values for the experiment with an acceleration of 0.15

Angular orientation of the robot and angular velocities of the wheels, calculated with the encoders values, for an experiment with 0.15
Finally, the energy consumed by the robot is estimated with the proposed power model, using the angular velocities of the wheels and different payloads as input. These estimated energy values were compared to the energy measured with the power measurement circuit on the robot.
In Figure 10, the measured and estimated power values for a no-payload experiment with 0.18

Measured and estimated power consumptions during a Bézier curve with 0.18
As evidenced by the data, the proposed power model overestimated the average power in the initial acceleration of the robot. This behavior emerges due to the load torque being calculated with the dynamic robot model, and this result may be overestimated as well. Nevertheless, this procedure allows the prediction of energy consumption with different accelerations and payloads.
On the other hand, the overestimation behavior of the proposed model starts to decrease as the payload increases. The payload experiment result presents a better estimation in the initial acceleration of the robot, as shown in Figure 11. In the figure, the estimated power also shows an underestimated behavior at the start of the second acceleration phase. In Table 6, the measured and estimated energy consumption values of the robot are presented. The behavior of the robot along a Bézier curve is similar to its behavior along a straight path. A small change in the acceleration changes the energy consumption slightly. For example, the table shows that without payload, the difference in the energy consumed between 0.15
Measured and estimated energy consumption, for a Bézier’s curve experiment without and with payload, right direction.

Measured and estimated power consumptions during the Bézier curve experiment, with 0.18
In Figure 12, the behavior of the energy consumed by the robot for three accelerations and various payloads is shown. The figure also shows that the maximum energy consumption of the experiment was 66.97 J, with a medium acceleration at maximum payload. At medium payloads, the energy consumption of the robot increases as the acceleration increases.

Energy consumption values of the robot with several accelerations and payloads, on the Bézier curve path.
Finally, in Table 7, the fitness of the proposed power and energy estimation model along the Bézier curve is evaluated for different accelerations and payloads. The error percentages between the measured and predicted energy consumptions in both the right and left directions are presented. Without payload and high velocities, the error percentages are significant. The table shows that the best performance of the power model is located throughout the set of validation accelerations for medium payloads. The error percentages between the predictive and measured values are below 5%. The results show that the fitness of the energy estimation model compared with the measured values given by the robot is equal to 81.25% (using equation (33)) for a Bézier curve path in both directions. The results also present that 26 out of 32 experiments accurately estimated the energy consumption of the robot.
The error between the predicted and measured energy, in the Bézier curve path experiment, right and left directions.
Conclusion
In this article, a power and energy estimation model that takes into account robot and motor dynamic parameters was proposed. The internal friction torque of the motors was estimated using a calibration procedure. In the dynamic motor model, the load torque is directly proportional to the mass (including the payload), and the acceleration. This allows the proposed power model to predict the power and energy consumption for different payloads and accelerations, along straight and curved paths. Thanks to this model, the amount of energy a mobile robot must carry to complete a predefined task can be estimated before deployment and deviations in the predefined estimate due to unexpected changes in the payload can be estimated in real time. This allows charge optimization and scheduling not only for a single load-carrying robot but also for multiple load-carrying robots operating in warehouses with a limited number of charge stations. Future work will concentrate on the generation of the optimal motion trajectories using the proposed model for a load-carrying warehouse robot in typical operating scenarios.
The proposed model was experimentally validated using a balanced two-wheel differential drive mobile robot, the Nomad Super Scout. The results show that when the accelerations of the robot increase, the consumed energy increases. Similarly, increasing the payload increases the consumed energy as well. The fitness of the predictive power and energy estimation model compared with the energy consumed by the robot was equal to 81.25% for the Bézier curve path experiments and 96.67% for the straight path experiments. The straight path results suggest that the simplification carried out in the model is still valid, and the resulting expressions represent the dynamic behavior of the actual system. For future work, it will be interesting to evaluate the fitness of the proposed model when the center of mass of the robot is displaced considerably.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was financially supported by Colciencias Colombia, National Scholarship—567, and partially supported by ISR—University of Coimbra, project UID/EEA/00048/2013 funded by FCT—Fundação para a Ciência e a tecnologia.
