Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Predicting mission power requirement for mobile robots
(USC Thesis Other)
Predicting mission power requirement for mobile robots
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Predicting Mission Power Requirement for
Mobile Robots
by
Ameer Hamza
ahamza@usc.edu
A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE
REQUIREMENTS FOR THE DEGREE OF
Master of Science
(COMPUTER SCIENCE - INTELLIGENT ROBOTICS)
In the Viterbi School of Engineering
UNIVERSITY OF SOUTHERN CALIFORNIA
December 2015
2
Abstract
A mobile robot mission is typically comprised of a sequence of tasks defined by some parameters.
Increasingly longer missions and limited energy storage on the robot make it essential for a robot
to forecast its mission power consumption.
As batteries are a primary choice of power source for mobile robots, this thesis proposes a
framework for forecasting state of charge of a robot’s battery for a given mission. The framework
represents a mission as a sequence of parameterized actions defined for the robot. Data from the
mission’s execution is used to train a neural network that maps the mission description to the
resulting state of charge. Recurrent and feedforward neural networks are used to model state of
charge of the battery. We show that recurrent neural networks consistently provide a more accurate
prediction of the state of charge than feedforward neural networks for these systems when using
the same battery. However, feedforward networks have the additional benefit of being able to adapt
a learned model to batteries with different states of health, facilitating switching batteries without
learning an entirely new model. This suggests that feedforward networks can also adapt to other
changes in the system, for example, actuators, sensors and controllers.
Three distinct mission representations, low-, mid-, and high-level job descriptions, are introduced
to evaluate the capabilities of the proposed framework for Turtlebot 2. We show that mission
representations play a significant role in the quality of forecast, with the low-level description, the
most descriptive of the three, resulting in the most accurate predictions, and the high-level
description, the most abstract of the three, resulting in the least accurate predictions.
3
Table of Contents
1 Introduction ............................................................................................................................. 5
2 Background .............................................................................................................................. 7
2.1 Battery as Power Source .................................................................................................. 7
2.2 Battery Monitoring ........................................................................................................... 7
2.3 Voltage Mapping .............................................................................................................. 7
2.4 Coulomb Counting ........................................................................................................... 8
2.5 Hybrid Method ................................................................................................................. 8
3 Related Work ........................................................................................................................... 9
4 Methodology .......................................................................................................................... 11
4.1 Experimental Setup ........................................................................................................ 11
4.1.1 Mobile Robot .......................................................................................................... 12
4.1.2 Battery Used............................................................................................................ 13
4.1.3 Motion Capture ....................................................................................................... 13
4.1.4 On-board Computation ........................................................................................... 14
4.1.5 Battery Monitoring.................................................................................................. 14
4.1.6 Mission and Recording Server ................................................................................ 15
4.2 Mission Description ....................................................................................................... 16
4.2.1 Mid-Level Job Set Definition (𝐽𝑚 ) ......................................................................... 17
4.2.2 High-Level Job Set Definition (𝐽 ℎ)......................................................................... 18
4.2.3 Low-Level Job Set Definition (𝐽𝑙 ) .......................................................................... 18
4.3 Data Collection ............................................................................................................... 19
4.4 Learning Models ............................................................................................................ 20
4.4.1 Feedforward Networks............................................................................................ 21
4.4.2 Simple Recurrent Networks .................................................................................... 23
5 Results and Discussion .......................................................................................................... 25
5.1 Recurrent Neural Networks ............................................................................................ 25
5.2 Parameter-space for Training ......................................................................................... 28
5.3 Feedforward Neural Networks ....................................................................................... 31
5.4 Adaptability of Trained Models ..................................................................................... 33
5.5 Alternate Mission Descriptions ...................................................................................... 35
5.6 Stochasticity in Power Consumption ............................................................................. 36
4
6 Conclusion ............................................................................................................................. 38
7 References ............................................................................................................................. 39
5
1 Introduction
This work considers the problem of forecasting power consumption of a robot undertaking a
certain mission, for instance, a ground robot cleaning an area.
Robots and autonomous machines have proliferated across a wide range of previously manual
application domains. The level of sophistication for these technologies has been advancing briskly
from being able to carry out complex tasks with reasonable degrees of reliability to being able to
operate efficiently. A significant factor that has contributed to this progress is the ability of
autonomous systems to maintain increasingly detailed estimates of their state. A mission-specific
forecast of energy consumption may be a useful addition to an estimate of a robot’s state.
Enhancing the energy awareness of robots gives rise to a number of potential benefits for modern
robots.
Significant improvement in the technologies employed on robots means that robotic systems are
being deployed to accomplish increasingly complex tasks in autonomous systems. We are able to
develop autonomous systems that enable solutions to tasks that are considered intractable or too
dangerous for human operation, such as search and rescue in inaccessible environments [39, 40].
Robots operating in hazardous environments inaccessible to humans must ensure that they have
enough power remaining at all times to navigate back to an accessible rendezvous location. Failure
of a robotic system in inaccessible environments may cause a permanent loss of expensive
hardware and important data. In such scenarios, robots can benefit greatly from the ability to
forecast their power requirements based on their assigned missions. Doing so can ensure that
robots do not run out of power during operation. In addition to robots deployed in inaccessible
areas, safeguards against power-related failure are particularly important for robots when they are
a part of a larger coordinated autonomous system. These systems have a number of autonomous
and semiautonomous operations working in coordination with each other and failure of one robot
may cause disruption in the entire system, making failure especially undesirable. Beyond
considerations of failure, energy forecast information can be used to better optimize energy
consumption in decision making [2].
One of the current frontiers of research in robotics is multi-robot coordination for tasks that are
beyond the capabilities of a single robot. Such systems may have centralized or decentralized
control that plans individual missions for each robot in a coordinated fashion. Each individual
mission is a series of actions the robot may take in order to accomplish the task assigned to the
team of robots. An important consideration for a mission planning framework is energy efficiency
[41]. In general, planning algorithms developed for computing missions for robots optimize energy
consumption by encoding it as cost or a utility function for performing different actions [42]. The
cost metric typically encodes estimates of the energy consumed by an action relative to other
actions instead of the actual loss of remaining power on the robot that is performing the action.
Therefore, in the relative cost paradigm, many planning algorithms either ignore the fact that
robots carry finite power or assume a simple energy consumption model [43]. A significant number
of applications for multi-robot systems require persistent operation over long periods of time, for
instance, monitoring and surveillance. For long-term operation, the finite nature of on-board power
6
becomes a significant factor for a mission planning framework. As more research is addressing
finite power available on robots within the multi-robot planning paradigm [43], algorithms can be
better suited to handle planning for long-term field missions if an estimate of the power remaining
on board each robot is available, given the sequence of actions assigned or considered for the
individual robot.
In this report, a framework for introducing mission-specific energy awareness to mobile robots is
proposed. It is aimed at enabling robots to estimate their future energy consumption for a new
mission by quantitatively learning from experience of past missions. The framework is
implemented on a battery-operated mobile robot and experiments are conducted to establish the
efficacy of this framework.
7
2 Background
A majority of robots currently in use for deployment or for research are battery-operated.
Therefore, this work uses a battery-powered mobile ground robot to demonstrate a framework that
can enable robots to use their past experience to forecast the battery capacity for assigned missions.
An overview of batteries in this context is given below.
2.1 Battery as Power Source
For a large number of robotic applications, batteries are the primary choice of power source.
Batteries are considered safer and easier to handle because they are available as closed packages
with a small number of terminals to interface with electrical systems. Power provided by batteries
is in direct current (DC) form, therefore, batteries are easily compatible with most electronic
systems, which also tend to be largely DC-based. Batteries also have a much lower electromagnetic
footprint compared to engines, alternators and other power sources, effectively reducing the risk
for electromagnetic interference, which is a significant consideration in systems employing digital
data processing. Batteries also come in a wide variety of capacities, voltages, discharge rates, sizes
and charge densities, making them a reasonable choice for most robotic systems. Rechargeable
batteries ensure continued re-use of the power source, lowering the running cost of a robotic
system. A depleted or damaged battery can be replaced quickly and easily, which is a significant
advantage for long-term operations and systems that resupply power autonomously.
2.2 Battery Monitoring
There are several measures associated with the operation of a battery that can quantify the state of
the battery depending upon the nature of its application. For the purpose of this project, the
following metrics are of interest.
State of charge (SOC) is the most common metric for describing the amount of usable energy
available on a battery at any instance of time [34]. The SOC is measured in percentages, 0%
representing a completely discharged battery and 100% representing a fully charged battery. In
some cases, depth of discharge (DOD) is used to represent the same, which is an inverse of the
SOC measure. Note that this is not a fixed measure and different vendors of battery monitoring
systems define SOC differently.
State of health (SOH) of a battery is a unique long-term metric for a battery and characterizes the
current ability of the battery to perform according to its ideal specifications. Typically, a newly
manufactured battery has a SOH of 100%, which decreases with repeated use [35].
2.3 Voltage Mapping
In many applications, an indication that the battery is out of charge is sufficient. In other cases,
only a rough estimate of how much power the battery still contains is required; for this purpose,
8
battery voltage may be able to provide a reasonable measure. Battery voltage is a measure of the
difference of potentials on the anode and the cathode of a battery. As long as there is a difference
between the potentials, a current may flow provided an external load. As the current is drawn and
the charges flow between the electrodes, the accumulated charges on them are depleted resulting
in lowering of the potential difference between the two electrodes (voltage). Therefore, there is a
known correlation between the current voltage and deliverable power remaining on a battery [34].
This correlation is not sufficient for determining the remaining charge because the state of charge
of a battery only maps to open-circuit voltage whereas capacity measurements are required for
loaded batteries in most applications [36]. When current is drawn from a battery, the voltage drops
because of the internal resistance of the battery. In addition, drawing current from a battery causes
chemical processes that continue to affect the battery voltage even after removing the load.
In practice, using voltage measure as an estimate for remaining battery capacity only works for
applications with low accuracy requirements. An analysis of battery voltage response for constant
load shows that voltage of a battery does not drop linearly [17]. A part of the response (10% - 90%
SOC) can be approximated linearly, however, the slope of this linear approximation is very low in
most practical applications where the battery lasts for more than just a few minutes. Slow voltage
response along with noise and quantization errors in measuring the voltage adds to inaccuracy in
estimates of the remaining battery capacity.
2.4 Coulomb Counting
Since charging and discharging currents are simply the rates of flow of charge into and out of the
battery, integrating the currents gives us a known value for the remaining charge [34]. This method
is also called the current-integration method and requires that the initial charge capacity of the
battery is known. In practice, measuring current introduces some noise that accumulates as the
measured currents are integrated [37]. Moreover, batteries also suffer from self-discharge caused
by the internal chemical processes. Coulomb counting offers good accuracy for short periods of
time starting from a known SOC.
2.5 Hybrid Method
Voltage mapping makes use of a known relationship between the open-circuit voltage and the
remaining capacity on a battery, therefore, it exhibits better long-term accuracy. In comparison,
coulomb counting is more accurate over short intervals due to accumulative nature of estimation
error [34]. The hybrid method combines voltage mapping and coulomb counting in order to make
use of long-term accuracy of the voltage mapping method and short-term accuracy of coulomb
counting. This method makes use of periods of zero or low discharge to determine the exact state
of charge using the open-circuit voltage map. When the discharge is increased, the currents are
integrated to accurately update the state of charge estimate until the next period of low discharge.
This is the commonly used method for estimating state of charge of lithium ion batteries accurately
[38].
9
3 Related Work
With the rise in number of electric vehicles on the road and longer operation time of robots, the
need for intelligent battery management and monitoring has been widely discussed [7, 8].
Developing and studying detailed electrochemical models [9, 10] for remaining capacity
estimation methods [11] played an important role in deepening our understanding of different
kinds of batteries. These models deal with chemical properties of the battery, which are often not
measurable during battery operation. Formulating equivalent electrical circuits [13, 14, 15] to
model battery operation [12], has the benefit of dealing with more measurable quantities like
currents and voltages. Johnson et al. [15] use internal resistance to model the voltage drop in
response to higher current. Including a suitable resistance-capacitance (RC) circuit in the model
allows it to predict voltage response over time with respect to a dynamic load current [13]. This
model performs well on a small range of current but it can be made accurate for a wider range of
loads by adding another RC circuit to it [14]. These models assume that the battery responds in the
same fashion for charging and discharging cycles. Salameh et al. [16] noted that the model requires
different values of capacitance and resistance for charging and discharging cycles and proposed to
use diodes to provide a simple switching mechanism between different resistance and capacitance
values. The piecewise linear-like relationship between the state of charge and load current can be
modelled by introducing a Zener diode due to its similar current response [17]. Detailed models
have been proposed that are able to predict battery runtime provided the load conditions remain
constant [18].
A number of data-driven techniques have been employed to model battery response to given loads
[20, 22, 25]. Neural networks are a popular tool used to address data-driven modeling of battery
characteristics [19, 21, 22]. A feedforward neural network makes use of internal resistance,
temperature, current and voltage to indicate one of 10 levels of quantized state of charge [19]. The
performance is improved by also introducing current ranges as input to the neural network [20].
At any instance of operation, the estimated remaining capacity is related to the past estimates of
remaining capacity, which may also be introduced as input to the neural network in order to
improve the predictive performance [21,22]. For the purpose of online state of charge estimation,
these trained neural networks can be employed to provide a priori estimates for a Kalman filter,
which can then be updated using load measurements [23]. As an alternative to data-driven models,
electrical or electrochemical battery models may be employed to generate a priori knowledge in
Kalman filters [26, 27, 28, 29]. Conversely, estimates of a Kalman filter employing battery models
for a priori estimates can be used as input to a neural network to predict the state of charge [24].
The model-based and data-driven battery runtime prediction methods described here require a
precise knowledge of the load characteristics. Some of these methods also impose qualitative or
quantitative conditions on the load. Therefore, these methods work well with battery-operated
systems that have known load characteristics. For some applications, the power consumption
model is simple enough to allow prediction of load characteristics [31, 32], however, the
performance of such a scheme would be limited by the accuracy of load characteristics. For mobile
robots, load characteristics such as current requirement profiles are not known before the mission.
Moreover, robots operate with a certain degree of autonomy by employing a number of charge
10
consuming components making predicting load current with reasonable accuracy very difficult.
Several methods have been suggested to forecast the energy consumption for robots and are
described below.
Parasuraman et al. [2] use a semi-autonomous mobile robot to demonstrate an online prediction
system for energy consumption. The authors break down the power consumption of a robot as sum
of power consumed by all its components. They describe a one-time process for constructing a
power model that approximates the power consumption behavior of each component by
conducting a pre-specified sequence of operations and measuring the resulting power
consumption. For locomotion, they use velocities, acceleration and mass of the robot as well as
slope of the surface to model the resulting power consumption. This technique was implemented
on a Khepera III mobile robot by creating a model for the robot with different loads. The model
showed an accuracy of 96%. A related approach [6] proposes a linear model for power estimation
of an underwater robot following a known trajectory. The model is calibrated using least-squares
fitting on data recorded by executing pre-determined trajectories that affect one degree of freedom
at a time. The proposed model was tested with a simulation of Nessie VII AUV, which suggested
good expected performance for implementation on an underwater vehicle. However, these two
methods require prior knowledge mission-specific power requirement for electrical components
on the robot.
Pentzer et al. [3] present a method for online estimation of motion and power model parameters
for skid-steer robots. Terrain related power model parameters are estimated using a recursive least
squares algorithm. The method requires knowledge of the vehicle geometry, mass distribution and
pose of the robot during operation. Prediction of energy consumption in a ground robot is also
explored by Sadrpour et al. [4]. The authors propose two approaches: a linear regression model
based on longitudinal dynamics of the robot and a Bayesian regression model based on prior
information of terrain and driving style. The paper describes a simulated scenario used to test these
two approaches and concludes that Bayesian regression performs better in terms of predictive
accuracy. LeSage et al. [5] use a Gaussian mixture model to characterize the active load on a
ground robot for varying terrain. A Packbot ground robot was operated in a desert with varying
terrain and the measured loads are clustered into un-labelled regions to conduct jump Markov
characterization of the loads. In order to effectively represent uncertainties in the model, a particle
filter was employed to predict unstructured power demands. A Thevenin equivalent circuit [33]
model of a battery was used to predict battery response to the predicted power demands. These
methods rely on system modeling and data-driven parameter estimation to quantify the energy
requirement and other load characteristics. They do not address the issue of representing a mission
in terms of quantities that these models require as inputs, such as load current. These quantities
may be estimated manually for a specific mission for a particular robot, however, this is not
possible for complex long-term missions generated by planning algorithms. Therefore, this report
presents a framework that translates missions into a parameter-based representation of energy-
related factors in the mission and uses this representation to forecast battery consumption statistics.
11
4 Methodology
This work addresses the following question:
‘Given a mission as a sequence of actions for a robot, can we develop with a framework
that can forecast the robot’s battery response during execution of the mission?’
Let job 𝑗 be an atomic task out of a set 𝐽 of tasks defined for robot 𝑟 such that every robot operation
can be described as a combination of jobs in the job set defined for 𝑟 , with associated parameters
𝑝𝑎𝑟𝑎𝑚 (𝑗 ). Let 𝐽 be the set of 𝑛 parameterized jobs defined for robot 𝑟 and 𝑗 ∈ 𝐽 be a parameterized
job, then at any instance 𝑡 𝑖 of mission 𝑀 , we can represent the parameters of job 𝑗 as an ordered
vector 𝑎 𝑖 defined as an action, such that 𝑎 = 〈𝑝𝑎𝑟𝑎𝑚 (𝑗 1
), 𝑝𝑎𝑟𝑎𝑚 (𝑗 2
), … 𝑝𝑎𝑟𝑎𝑚 (𝑗 𝑛 )〉. Mission 𝑀
is defined as a sequence of 𝑇 actions, such that 𝑀 = 〈𝑎 1
, 𝑎 2
, … 𝑎 𝑇 〉.
As described in later sections, defining a set of parameterized jobs on a robot is a engineering
decision that plays a significant role in the framework of our method. This formulation defines
jobs in 𝐽 in a way that allows representation of any robot operation as a combination of jobs in 𝐽 .
Thus, action 𝑎 𝑖 encodes the status of all jobs 𝑗 ∈ 𝐽 defined for the robot at time 𝑡 𝑖 .
Given mission 𝑀 , we want to be able to predict state of charge 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +𝑘 ) of the robot’s battery
where 𝑖 = 1,2, … , 𝑇 and 𝑘 = 0,1, … , (𝑇 − 𝑖 ), such that our predicted 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +𝑘 ) models the actual
or measured 𝑆𝑂𝐶 𝑚 (𝑡 𝑖 +𝑘 ) within some reasonable margin of error 𝘀 , |𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +𝑘 ) −
𝑆𝑂𝐶 𝑚 (𝑡 𝑖 +𝑘 )| < 𝘀 .
In this work, we learn a model 𝑓 , that maps an action 𝑎 𝑖 to the resulting change in the state of
charge of the battery, 𝑓 : 𝑎 𝑖 → ∆𝑆𝑂𝐶 (𝑡 𝑖 ), provided a set of parameterized jobs 𝐽 has been defined
that suitably encodes the main parameters that govern the energy consumption on the robot. Three
different parameterized job sets are defined for a mobile ground robot, resulting in equivalent
representations for each mission. A number of missions are executed while action parameter data
and the resulting state of charge are recorded periodically. The recorded data is used to train
different neural network models and their forecasting performance is analyzed. A series of
experiments also explores the predictive power of these networks for different choices of mission
representation. Adaptability of learned models to changes in system components, specifically
battery, is also evaluated. Limitations of the proposed framework are also discussed in the context
of its forecasting capacity. A detailed description of the methods used follows.
4.1 Experimental Setup
An overview of the experimentation setup for data collection described in this section is shown in
Figure 4. A detailed description of individual components of this setup follows.
12
4.1.1 Mobile Robot
The Turtlebot 2, developed by Clearpath Robotics, is used for experimentation and is shown in
Figure 1. It is a differential-drive ground robot with on-board odometry available. It weighs about
5 kg and can carry an additional load of 5 kg. The robot is shipped with a hardware mounting kit,
which provides a structure on on the robot for installing additional components. For our
experiments, a 6 W geared DC motor and a high-powered (3 W) LED were mounted on the robot
in order to provide hardware that simulates typical power-consuming functions in addition to
locomotion on a mobile robot.
Figure 1 Turtlebot used for experimentation. IR markers
can be seen on top.
13
4.1.2 Battery Used
The Turtlebot has two kinds of lithium ion battery packs available. For experimentation, the 4400
mAh variant was used with four cells and a rated voltage of 14.8 V. As described earlier, energy
response of a battery depends on the state of health of the battery, and remaining capacity
prediction systems must take into consideration difference in responses between batteries with
varying state of health. We aim to propose a framework that minimizes the need for manually
modeling system dynamics, be it battery or the robot. Therefore, in order to be able to evaluate the
capabilities of our framework, we use two batteries of the same model and ratings with
significantly varying states of health by picking one new and one used battery for the experiments.
Preliminary experiments showed a significant difference in responses of the two batteries. An
inductive load was applied to the two batteries using a 3 W uniformly loaded motor and the
resulting state of charge was recorded. The plot in Figure 2 shows that the older battery drains
significantly faster than the newer battery.
4.1.3 Motion Capture
Locomotion is one of the major contributors to energy consumption in mobile robots and
autonomous mobility depends on a robot’s ability to localize itself in some frame of reference. In
order to record data related to the Turtlebot’s motion as well as provide localization information
to the robot, a Vicon motion capture system was used. The system employs 12 infrared cameras,
each equipped with arrays of infra-red LEDs, combined to provide a reflective marker-tracking
solution. A unique formation of passive reflective markers (minimum of 5) is mounted on the
robots. These markers mainly reflect infrared light from the LEDs that is captured by the array of
Figure 2 Comparing responses of a new battery with an old one for the same load.
14
cameras. The system only accepts infrared reflection in order to minimize the possibility of the
system mistaking another reflection for a marker. A non-symmetric formation of these reflective
markers is installed in the robot. This formations is used in the Vicon software suite to create a
unique rigid object representing the robot with a center of mass which is then tracked in a three
dimensional space at an approximate rate of 100 Hz. This information can be accessed in a variety
of ways. For this project, the localization data was published over a network. The Turtlebot was
connected to that network and was able to read the positioning data using the vicon_bridge ROS
package [44] running on the on-board computer. The experiment space and a corresponding
screenshot of Vicon motion capture system tracking the Turtlebot in the experiment space is shown
in Figure 3. The Vicon motion capture system served two purposes in this setup: feedback and
data-logging. The pose information was used as feedback by the control systems implemented on
the Turtlebot and was also recorded along with battery state of charge as described later.
4.1.4 On-board Computation
For computation, Turtlebot uses an ASUS 1215 laptop with a dual core processor, communicating
with the hardware through USB ports. The computer runs the Robot Operating System (ROS) [45]
and comes preinstalled with a ROS package for the Turtlebot [46] with several useful features.
The system connects to a wireless network in order to communicate with other robots and systems.
The laptop uses its own battery that may drain faster than the robot’s battery depending upon the
nature of on-board processing. For experimentation, the robot code associated with different job
definitions is executed on this computer. Controllers for motion and other operations defined for
the robot are also implemented on this computer. The controllers use the Turtlebot’s localization
information published on the network by the Vicon motion capture system as feedback.
4.1.5 Battery Monitoring
Texas Instruments BQ76930 is an analog front-end device that is designed for multi-cell lithium
ion battery packs to serve three purposes: monitoring battery pack statistics such as voltages,
current and temperature, managing charge and discharge drivers, and cell balancing. This
Figure 3 A view of the experimentation area with Turtlebot (right). A screenshot of Vicon motion tracking software tracking the
Turtlebot in the experimentation area.
15
integrated circuit was chosen for its monitoring capabilities and the relative ease with which it can
be integrated with other components into a state of charge (SOC) estimating system.
The BQ76930 is equipped with an I
2
C communication module allowing it to communicate with
controllers to implement a variety of combinations of battery pack management solutions
including battery monitoring. Texas Instruments has developed a circuit module for this device
that allows evaluation of capabilities of this device in a range of different configurations. This
circuit is equipped with Texas Instrument BQ78350 integrated circuit, which is a controller
specifically developed to integrate BQ76930 into a battery monitoring and management solution
through an I
2
C interface. It employs a Compensated End-of-Discharge Voltage (CEDV) algorithm,
which utilizes the relationship between open-circuit voltage of a battery and SOC as well as current
integration (coulomb counting) and temperature information to estimate the state of charge of a
battery. The update rate of the SOC estimate is limited to 4 Hz because the coulomb counter
integrates current over 250 ms intervals. A calibration routine keeps the parameter database
updated for the battery in use. In order to handle the non-linearity in the voltage-SOC relationship
at the end of a discharge cycle, a voltage threshold is introduced (SOC < 7% for lithium ion battery
packs) and modelled separately from the rest of the discharge cycle. A simple inductive load of a
3 W DC motor was applied to the battery packs in order to calibrate the system parameters for
SOC estimation.
This circuit module sits between the battery pack and Turtlebot’s electronics through a power
interface in such a way that all the current used by the robot is routed through this circuit. The
controller on the module communicates through a USB-I
2
C interface with the computer on-board
the Turtlebot. The system can be configured for the desired operation over a virtual serial port. For
this project, the module was set up to continuously transmit instantaneous voltage and current
measurements as well as an estimate of the SOC to the on-board computer, where it was logged
along with time stamps and published over the network through a ROS node.
4.1.6 Mission and Recording Server
An off-board server is responsible for logging the data (current action parameters, robot state,
battery statistics and time-stamps) as well as simulating a base-station responsible for publishing
a mission for the robot as a sequence of actions. This allows for a modular setup that makes it easy
to repeat the experiment with a number of missions with a variety of job definition sets for the
robot.
The experimentation setup described in this section is shown in Figure 4.
16
Figure 4 A summary of the architecture of experimental setup.
4.2 Mission Description
Five different sets of waypoints are defined in the operation area in the form of a fully connected
graph. The locomotion part of a mission is generated by setting these waypoints in a number of
ordered cycles predefined on the graph, with varying speed constraints associated with each edge
between the waypoints. These cycles are then concatenated together to create a single mission of
sufficient duration. Robot 𝑟 traverses these waypoints by starting from rest at one waypoint 𝑤 𝑖 ,
turning towards the next waypoint 𝑤 𝑖 +1
by angle 𝜃 at angular speed 𝜃 ̇ , moving towards 𝑤 𝑖 +1
by
distance 𝑥 at average speed 𝑥 ̇ and coming to rest when the waypoint is reached before turning
towards the next waypoint. This process is represented in Figure 5.
17
Figure 5 Robot procedures for navigating towards the next waypoint.
A number of different combinations for parameterized scan and clean operations are also
sequenced on the edges between the waypoints. The scan and clean operations are simulated in
hardware by the high-powered LED and a geared DC motor installed on the Turtlebot,
respectively. These permutations are combined to generate 12 distinct missions. For a certain
mission, the Turtlebot traverses these waypoints at varying speeds while employing scan and clean
operations according to the parameters associated with each edge. An implementation of these
missions requires breaking each of them down to a set of jobs that can be sequenced together to
execute the mission. Three different parameterized job sets are defined on these operations in a
way that each mission can be fully formulated as sequence of parametrized actions from a single
job set. These job sets are described below.
4.2.1 Mid-Level Job Set Definition (𝐽 𝑚 )
𝑚𝑜𝑣𝑒 (𝑥 , ∆𝑧 , 𝑥 ̇): The robot moves forward by distance 𝑥 , with speed 𝑥 ̇ and the cumulative altitude
difference ∆𝑧 . Note that the implementation of this job is in a fixed frame of reference and employs
feedback controllers to ensure that the robot’s final position forms a straight line of length 𝑥 + 𝜇 𝑥
with the initial position, where 𝜇 𝑥 ∈ ℝ is some margin of error. The actual trajectory followed by
the robot is determined online by the feedback controllers. Ideally, the trajectory should be a
straight line, however, this does not happen in practice and the robot follows a trajectory that
deviates from the straight line by a varying, albeit small amount.
𝑡𝑢𝑟𝑛 (𝜃 , 𝜃 ̇ ): The robot turns by 𝜃 ∈ [0, 𝜋 ] radians with angular speed 𝜃 ̇ . The implementation of
this function is also in a fixed frame of reference and the feedback controllers ensure that the final
heading of the robot is towards the next waypoint, making the actual turning angle 𝜃 + 𝜇 𝜃 , where
𝜇 𝜃 ∈ ℝ.
18
𝑠𝑐𝑎𝑛 (𝑝𝑤𝑚 𝑠 ): The high power LED mounted on the Turtlebot is modulated through this job,
parameterized in power by 𝑝𝑤𝑚 𝑠 ∈ [0,100], where a parameter value of 0 means the LED is fully
turned off and a value of 100 means the LED is turned on with maximum power.
𝑐𝑙𝑒𝑎𝑛 (𝑝𝑤𝑚 𝑐 ): The geared DC motor installed on the Turtlebot is modulated through this job,
parameterized in power by 𝑝𝑤𝑚 𝑐 ∈ [0,100], where a parameter value of 0 means the motor is
fully turned off and a value of 100 means the motor is operating at maximum power.
𝑖𝑑𝑙𝑒 (𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 ): The robot executes remains idle for a certain duration. i.e. it comes to a halt and
turns off the motor and the LED. The only power consumed during this operation is by the
electronics on the robot.
4.2.2 High-Level Job Set Definition (𝐽 ℎ
)
This set defines jobs at a higher level in comparison to the mid-level definitions such that a job in
this set can be defined as a sequence of mid-level jobs. The parameters for these job definitions
encode less information than equivalent mid-level representations as discussed below.
𝑡𝑟𝑎𝑣𝑒𝑟𝑠𝑒 _𝑝𝑜𝑙𝑦𝑔𝑜𝑛 (𝑥 𝑊 ,
1
𝑥 𝑊 ∑ 𝑥 𝑖 . 𝑥 𝑖 ̇ , 𝜃 𝑊 ,
1
𝜃 𝑊 ∑ 𝜃 𝑖 . 𝜃 𝑖 ̇ , 𝑛 𝑊 ): The robot traverses a polygon 𝑊
formed by 𝑛 𝑊 number of waypoints for a total distance of 𝑥 𝑊 = ∑ 𝑥 𝑖 , a weighted average speed
of
1
𝑥 𝑊 ∑ 𝑥 𝑖 . 𝑥 𝑖 ̇ , a total turning angle of 𝜃 𝑊 = ∑ 𝜃 𝑖 at an average angular speed of
1
𝜃 𝑊 ∑ 𝜃 𝑖 . 𝜃 𝑖 ̇ , where
𝑖 = 1,2, … 𝑛 𝑊 . Note that this job can be qualitatively defined completely as a sequence of two jobs
from the mid-level job set, move and turn. Moreover, this job definition loses some locomotion
information that may be relevant to power consumption in comparison with an equivalent mid-
level job set representation because it is parameterized by statistically merging the parameters of
its equivalent mid-level job definitions. It also drops the change in altitude information, which is
a small loss of information for the operation area for these experiments because the altitude
difference is very small. However, in a different operating space, the change in altitude may
become a very significant factor governing the power consumption.
𝑠𝑐𝑎𝑛 _𝑝𝑜𝑙𝑦𝑔𝑜𝑛 (𝑝𝑤𝑚 𝑠𝑤
): The robot traverses the polygon 𝑊 while operating power of the LED
is represented by a weighted average of the scan parameter associated with each edge between a
pair of waypoints, 𝑝 𝑤 𝑚 𝑠𝑤
=
1
∑ 𝑝𝑤𝑚 𝑠𝑖
∑ 𝑥 𝑖 . 𝑝𝑤𝑚 𝑠𝑖
.
𝑐𝑙𝑒𝑎𝑛 _𝑝𝑜𝑙𝑦𝑔𝑜𝑛 (𝑝𝑤𝑚 𝑐𝑤
): The robot traverses the polygon 𝑊 while operating power of the geared
DC motor is represented by a weighted average of the clean parameter associated with each edge
between a pair of waypoints, 𝑝𝑤𝑚 𝑐𝑤
=
1
∑ 𝑝𝑤𝑚 𝑐𝑖
∑ 𝑥 𝑖 . 𝑝𝑤𝑚 𝑐𝑖
.
𝑖𝑑𝑙𝑒 (𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 ): This job is defined exactly in the same way as in the mid-level job set.
4.2.3 Low-Level Job Set Definition (𝐽 𝑙 )
This set defines the jobs on a lower level as compared to previous two job sets. Consequently, the
parameters in this job set encode more information.
19
𝑡𝑟𝑎𝑣𝑒𝑟𝑠𝑒 _𝑠𝑒𝑔𝑚𝑒𝑛𝑡 (𝛿 𝑥 , 𝛿 ̇ 𝑖 , 𝛿 ̇ 𝑓 ): This job essentially breaks down the task of moving from one
waypoint to the next into a trajectory following task, which is defined as traversing a sequence of
closely placed intermediate waypoints. Note that this job definition is more closely representative
of the actual low level implementation of the trajectory controller employed by the robot and
encodes information that represents the actual path of the robot more closely than the straight line
assumption of edge traversal in the mid-level job set. Technically, the distance 𝛿 𝑥 is determined
by frequency of the feedback controller and speed constraint associated with the edge being
traversed. However, the data is collected at a frequency much lower (limited at 4 Hz by SOC
estimation module) than the controller, therefore 𝛿 𝑥 is determined using the frequency of data-
collection instead of the controller. 𝛿 ̇ 𝑖 and 𝛿 ̇ 𝑓 respectively represent the initial and final speeds
while the robot traverses a segment of an edge as shown in Figure 6.
𝑡𝑢𝑟𝑛 (𝜃 , 𝜃 ̇ ): This job is defined exactly in the same way as in the mid-level job set.
𝑠𝑐𝑎𝑛 _𝑠𝑒𝑔𝑚𝑒𝑛𝑡 (𝑝𝑤𝑚 𝑠 ): This job is defined as in the mid-level job set; the only difference being
that this job is defined on a segment of an edge instead of a complete edge.
𝑐𝑙𝑒𝑎𝑛 _𝑠𝑒𝑔𝑚𝑒𝑛𝑡 (𝑝𝑤𝑚 𝑐 ): This job is defined as in the mid-level job set; the only difference being
that this job is defined on a segment of an edge instead of a complete edge.
𝑖𝑑𝑙𝑒 (𝑑𝑢𝑟𝑎𝑡 𝑖𝑜𝑛 ): This job is defined exactly in the same way as in the previous two job sets.
4.3 Data Collection
Each mission takes somewhere between two to three hours leaving the battery in different final
states of charge. Each mission is executed twice; once with each of the two batteries. Each mission
is translated into three sequences of actions 𝑀 𝑙 , 𝑀 𝑚 , 𝑀 ℎ
, corresponding to low-, mid-, and high-
level job set definition. Each of these sequences is of the form 〈𝑎 1
, 𝑎 2
, … 𝑎 𝑇 〉, where 𝑎 𝑖 𝑘 represents
Figure 6 A visualization of trajectory following for low-level job description.
20
the i
th
action of mission 𝑀 𝑘 defined on k
th
job-set in the form of a vector of parameters 𝑎 𝑖 𝑘 =
〈𝑝𝑎𝑟𝑎𝑚 (𝑗 1
𝑘 ), 𝑝𝑎𝑟𝑎𝑚 (𝑗 2
𝑘 ), … 𝑝𝑎𝑟𝑎𝑚 (𝑗 𝑛 𝑘 )〉
𝑖 , where 𝑗 𝑘 ∈ 𝐽 𝑘 , 𝑘 ∈ {𝑙 , 𝑚 , ℎ} and 𝑖 = 1,2, … , 𝑇 . While
the robot executes a mission, parameterized action vectors are stored for all three job descriptions
simultaneously along with time stamps and battery statistics. As discussed earlier, there is a certain
margin of error between the desired goal state of the robot and the actual final state after an action
is executed. Therefore, for each parametrized action vector 𝑎 𝑖 , a corresponding measured action
vector 𝑎 ̂
𝑖 = 𝑎 𝑖 + 𝑈 is also stored, where 𝑈 is a vector representing the un-modeled system noise
for each parameter. A sequence of measured action parameters is recorded as mission dataset 𝑀 ̂
.
4.4 Learning Models
As discussed earlier, this work explores the efficacy of learning a model that can map sufficiently
descriptive task parameters of a robot to its resulting battery response. A series of experiments
were conducted on the collected data in order to gain insight into the strengths and limitations of
the proposed framework. These experiments are described in more detail in the results section in
order to motivate some of them in view of lessons learned from results of initial experiments.
Neural networks were used to learn these models. Each neural network was trained using data
generated from a single mission and tested on the remaining missions with same job set definitions.
All neural networks used in experimentation were three layered. The input layer consisted of a
number of input neurons depending upon the job definition and structure of the network. The
hidden layer consisted of 200 neurons. The output layer consisted of one neuron, which outputs
the predicted state of charge or the change in state of charge depending upon the structure in use.
A graphical representation of the generic internal layout of these networks is shown in Figure 7.
All neurons in the network employed the sigmoid transfer function and were trained using
backpropagation of error. Two kinds of neural networks were used: Simple Recurrent Networks
and Feedforward Networks. A description of the two network models follows.
21
Figure 7 Internal structure of neural network.
4.4.1 Feedforward Networks
Feedforward networks consist of input, hidden and output layers comprising of any number of
neurons. The information flows from the input neurons to the hidden neurons and finally to the
output neurons. There is no information flowing backwards. In the context of this work, the input
to such a network is the measured action vector 𝑎 ̂
𝑖 . The training set input is 𝑀 ̂
= 〈𝑎 ̂
1
, 𝑎 ̂
2
, … 𝑎 ̂
𝑇 〉,
therefore, the number of input neurons depends on the job set definition for the mission. The
network maps the i
th
action to the resulting change in state of charge ∆𝑆𝑂𝐶 𝑝 (𝑡 𝑖 ) of the battery for
the action. The model parameters are tuned by backpropagation of the difference between
22
measured change in the state of charge ∆𝑆𝑂𝐶 𝑚 (𝑡 𝑖 ) and the model’s output ∆𝑆𝑂𝐶 𝑝 (𝑡 𝑖 ):
∆𝑆𝑂𝐶 𝑝 (𝑡 𝑖 ) − ∆𝑆𝑂𝐶 𝑚 (𝑡 𝑖 ). Training setup of feedforward neural networks is shown in Figure 8.
A feedforward network model 𝑓 learns a mapping from action parameters 𝑎 𝑖 to the resulting
change in the state of charge, 𝑓 : 𝑎 𝑖 → ∆𝑆𝑂𝐶 (𝑡 𝑖 ) such that ∆𝑆𝑂𝐶 (𝑡 𝑖 ) = 𝑓 (𝑎 𝑖 ). These models were
tested by using action parameter vectors 𝑎 𝑖 for missions from the test set. Prediction of a future
state of charge 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +𝑘 ) for a given sequence of action parameters 〈𝑎 𝑖 , 𝑎 𝑖 +1
, … 𝑎 𝑖 +𝑘 〉 is given
by:
𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +𝑘 ) = 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 ) + ∑ ∆𝑆𝑂𝐶 𝑝 (𝑡 𝑙 )
𝑘 𝑙 =𝑖
where 𝑖 = 1,2, … , 𝑇 and 𝑘 = 0,1, … , (𝑇 − 𝑖 ). Figure 9 shows the forecast setup for a trained neural
network.
Figure 8 Training a feedforward neural network.
Figure 9 Forecasting structure for feedforward neural networks.
23
4.4.2 Simple Recurrent Networks
The use of simple recurrent networks was motivated by the fact that the response of a lithium ion
battery varies over different ranges of states of charge. Simple recurrent networks are formed by
introducing fixed backwards connections from the output layer of feedforward networks to context
neurons in the input layer that allows a backward flow of information from the previous states. For
the purposes of this work, one context neuron is added to the input layer in addition to input
neurons encoding 𝑎 ̂
𝑖 into the network. Thus, the collective training input is comprised of the
measured parameters from the i
th
action vector and measured absolute state of charge 𝑆𝑂𝐶 𝑚 (𝑡 𝑖 )
before the action is executed. The output of this model is the predicted absolute state of charge
𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +1
) after the i
th
action has been executed. The weights on the forward connections are
tuned by backpropagation of the difference between measured absolute state of charge 𝑆𝑂𝐶 𝑚 (𝑡 𝑖 +1
)
after the i
th
action is completed and the model’s output 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +1
) is available, 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +1
) −
𝑆𝑂𝐶 𝑚 (𝑡 𝑖 +1
). Training structure for the recurrent neural network is shown in Figure 10.
A recurrent neural network model 𝑓 learns a mapping from action parameters 𝑎 𝑖 and state of charge
𝑆𝑂𝐶 (𝑡 𝑖 ) to the resulting state of charge, 𝑓 : (𝑎 𝑖 , 𝑆𝑂𝐶 (𝑡 𝑖 )) → 𝑆𝑂𝐶 (𝑡 𝑖 +1
) such that 𝑆𝑂 𝐶 (𝑡 𝑖 +1
) =
𝑓 (𝑎 𝑖 , 𝑆𝑂𝐶 (𝑡 𝑖 )). These models were tested by using action parameter vectors 𝑎 𝑖 for missions from
the test set. Prediction of a future state of charge 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +𝑘 ) for a given sequence of action
parameters 〈𝑎 𝑖 , 𝑎 𝑖 +1
, … 𝑎 𝑖 +𝑘 〉 is computed recursively:
𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +𝑘 ) = 𝑓 𝑘 (𝑎 𝑖 +𝑘 , 𝑓 𝑘 −1
(𝑎 𝑖 +𝑘 −1
, … , 𝑓 1
(𝑎 𝑖 , 𝑆𝑂𝐶 (𝑡 𝑖 )) … ))
where 𝑖 = 1,2, … , 𝑇 and 𝑘 = 0,1, … , (𝑇 − 𝑖 ). The forecast structure for recurrent neural networks
is shown in Figure 11.
Figure 10 Training a recurrent neural network
24
Figure 11 Forecasting structure for recurrent neural networks
25
5 Results and Discussion
The Turtlebot executed twelve different missions, each with two different batteries generating data
for a total of 24 missions. Data generated for each mission includes parameters for three equivalent
mission descriptions and the corresponding state of charge. For the purpose of this section, an
experiment refers to the process of using data recorded from a mission to train a model and
evaluating it by forecasting state of charge for another mission. These experiments were performed
in a number of different configurations. This section details these experiments and discusses
insights into the problem as well as the proposed framework.
5.1 Recurrent Neural Networks
We begin by training recurrent neural networks with the data-set recorded while executing a
parameterized mission description defined with a mid-level job set. A network is trained on data
from one mission and tested on the data from the remaining missions. The i
th
action parameter
vector for a mid-level job set definition 𝐽 𝑚 is given by 𝑎 𝑖 =
〈𝑥 , ∆𝑧 , 𝑥 ̇, 𝜃 , 𝜃 ̇ , 𝑝𝑤𝑚 𝑠 , 𝑝𝑤𝑚 𝑐 , 𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 〉
𝑖 . The input for the neural network also includes the state
of charge at the start of action 𝑎 𝑖 , therefore, the input vector is an ordered pair (𝑎 𝑖 , 𝑆𝑂𝐶 (𝑡 𝑖 )).
For each input instance, the model outputs a predicted state of charge, which is the desired output
as well as part of the input for the next instance. Given a trained model 𝑓 and a parameterized
mission description 𝑀 of length 𝑇 , the state of charge 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +𝑘 ) can be predicted, where 1 ≤
𝑖 ≤ 𝑇 and 0 ≤ 𝑘 ≤ (𝑇 − 𝑖 ) provided 𝑆𝑂𝐶 (𝑡 𝑖 ) is known, be it predicted or measured. For most of
the experiments in this project, we are interested in forecasts for complete missions, therefore, we
initialize 𝑆𝑂𝐶 (𝑡 1
) = 100 to represent a fully charged battery at the beginning of a mission.
Starting with the knowledge of a fully charged battery, the network predicted 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +1
) for the
i
th
instance serves as a part of the input for the next instance.
Twelve models were learned, each trained on data recorded from a single mission and tested on
the data from remaining missions. Figure 12 shows an example of results from an experiment. The
plot on the top shows the network’s forecast as a series of predicted 𝑆𝑂𝐶 𝑝 superimposed on
measured 𝑆𝑂𝐶 𝑚 for a complete mission. The bottom plot depicts the accuracy of prediction at
every instance in the form of the absolute error 𝘀 𝑟 (𝑡 𝑖 ) = |𝑆𝑂𝐶 𝑚 (𝑡 𝑖 ) − 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 )|. This error metric
is used as the framework incrementally predicts future values of state of charge by using previous
predictions as inputs, which implies that all prediction errors are carried forward into future
predictions. Therefore, we use the absolute error, which quantifies the magnitude of prediction
error for each instance. The prediction error for each action accumulates over time, therefore, we
expect the forecast error to increase as the mission progresses. In order to evaluate the
instantaneous predictive performance of the proposed framework, approximation error for each
prediction may be analyzed. At any instance 𝑡 𝑖 , measured state of charge 𝑆𝑂𝐶 𝑚 (𝑡 𝑖 ) and
parameterized action 𝑎 𝑖 are used to predict the resulting state of charge 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +1
). The
instantaneous prediction error is given by 𝘀 𝑝 (𝑡 𝑖 ) = 𝑆𝑂𝐶 𝑚 (𝑡 𝑖 +1
) − 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +1
) and is plotted
26
against time in Figure 13. The plot helps to establish the cumulative nature of forecast error. The
maximum forecast error for this mission is about 2.5% whereas the mean prediction error is 0.0008.
Figure 12 SOC forecast of recurrent neural network superimposed on SOC measurement. Forecasting error is also
plotted.
27
As motivated in the earlier sections, we are also interested in the ability of our framework to
forecast the time it will take the battery to reach a certain level of state of charge for a given
mission. Temporal forecast error and relative forecast error for the state of charge is given by
𝘀 𝑡 (𝑆𝑂𝐶 ) = |𝑡 𝑚 − 𝑡 𝑝 | and 𝘀 𝑟 (𝑆𝑂𝐶 ) =
|𝑡 𝑚 −𝑡 𝑝 |
𝑡 𝑚 respectively, such that 𝑆𝑂𝐶 = 𝑆𝑂𝐶 𝑚 (𝑡 𝑚 ) ≅
𝑆𝑂𝐶 𝑝 (𝑡 𝑝 ). Temporal forecast error and relative temporal forecast error is plotted against the full
range of states-of-charge measured for a mission and shown in Figure 14. Temporal errors
demonstrate the ability of the proposed framework to forecast battery runtime for missions.
Absolute temporal error increases as a mission progresses due to the cumulative nature of
approximation error. The relative temporal forecast demonstrates the temporal error scaled by time
elapsed in the mission because we expect the error to increase with time. It can be seen that the
temporal forecast error is very small when the mission starts (SOC = 100%) and increases as the
prediction error accumulates. Therefore, a forecast of battery runtime gets worse in terms of
accuracy as the mission gets longer. Note that temporal accuracy of the forecast is closely coupled
Figure 13 Instantaneous prediction error
28
with accuracy in terms of state of charge of the battery. Thus, the factors affecting the performance
of state of charge forecasts also affect the quality of the temporal forecasts.
The results shown are produced by a network trained and tested with data from separate missions.
Networks trained on different mission datasets show a fairly consistent performance over the test
set missions. Before quantifying the average performance of the forecasting framework over a
range of missions, however, a failure case is discussed.
5.2 Parameter-space for Training
Networks trained over two particular missions out of the 12 showed a performance that was
consistent for some of the test missions but completely failed for the rest of the test missions. In
Figure 15, one such experiment is shown in order to qualitatively demonstrate a forecast failure.
Networks trained on other missions were able to show reasonable performance when tested on
Figure 14 Temporal forecast error and relative temporal forecast error plotted against the measured range of SOC.
29
these missions. Further analysis of the input spaces for training and testing revealed an important
criterion for the training data set.
To facilitate discussion, let us denote a mission on which a network was successfully trained as
𝑀 1
, and 𝑀 2
as one of the missions that trained a network that failed to produce a reasonable
forecast. Let the corresponding measured mission data sets be 𝑀 ̂
1
and 𝑀 ̂
2
, respectively. In other
words, network 𝑓 1
trained on 𝑀 ̂
1
performs consistently for all test missions including 𝑀 2
and
network 𝑓 2
trained on 𝑀 ̂
2
does not perform consistently for all test missions and fails for 𝑀 1
. A
comparative analysis of training action parameters of 𝑀 ̂
1
and 𝑀 ̂
2
showed that 𝑀 ̂
1
encoded a much
larger input space than 𝑀 ̂
2
, especially in the case of parameters 𝑥 and 𝜃 . As a result, the network
trained on 𝑀 ̂
1
approximated a model on a wider range of inputs that included the input space of
𝑀 2
. Therefore, 𝑓 1
was able to perform reasonably when tested on 𝑀 2
. Conversely, testing 𝑓 2
on
𝑀 1
caused certain input values to be outside the range 𝑓 2
was trained on, resulting in a failure.
Figure 16 shows the distribution of parameters 𝑥 and 𝜃 for both 𝑀 ̂
1
and 𝑀 ̂
2
. Each of the scatter
Figure 15 Forecast and forecast error plotted in the failure case.
30
plots has been generated by uniformly sampling 100 data points out of the complete data set in
order to facilitate visual inspection.
It was noted that the two missions causing failures were generated using a set of waypoints that
almost formed a square, causing the entire training data to have the distance parameter ‘𝑥 ’ values
grouped together in two clusters, corresponding to the length of sides and diagonals of the square.
Similarly, it caused all the turns 𝜃 to be grouped around 𝜋 /2 and 3𝜋 /4. A network trained on this
data learns a model that is not representative of the entire range of possible action parameters and
therefore, may fail when applied to parameter data lying outside the learned range. This analysis
concludes that the SOC forecasting model must be learned on a mission that encodes the input
space that serves as an outer bound on all the ranges of input spaces encountered in practice. From
an application perspective, in order to apply the framework for forecasting purposes on a robot,
we may specially design training missions for it that encompass an action-parameter space large
enough to model all expected actions. A network trained on data generated from this curated
training mission may then be employed to forecast state of charge response for the robot’s assigned
missions provided energy related system parameters remain unchanged.
Figure 16 Scatter diagram comparison of two job parameters for failure mission pair.
31
5.3 Feedforward Neural Networks
Feedforward networks were also first trained on mission descriptions translated at the mid-level
job set. The input vector for the network is the action parameter 𝑎 𝑖 =
〈𝑥 , ∆𝑧 , 𝑥 ̇, 𝜃 , 𝜃 ̇ , 𝑝𝑤𝑚 𝑠 , 𝑝𝑤𝑚 𝑐 , 𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 〉
𝑖 . The output approximates the resulting change in the state
of charge ∆𝑆𝑂𝐶 𝑝 (𝑡 𝑖 ). Given a trained model 𝑓 and a parameterized mission description 𝑀 of length
𝑇 , the state of charge 𝑆𝑂𝐶 𝑝 (𝑡 𝑖 +𝑘 ) = 𝑆𝑂𝐶 (𝑡 𝑖 ) + ∑ ∆𝑆𝑂𝐶 𝑝 (𝑡 𝑙 )
𝑖 +𝑘 𝑙 =𝑖 can be predicted, where 1 ≤ 𝑖 ≤
𝑇 and 0 ≤ 𝑘 ≤ 𝑇 − 𝑖 provided 𝑆𝑂𝐶 (𝑡 𝑖 ) is known. For these experiments, we initialize 𝑆𝑂𝐶 (𝑡 1
) =
100 to represent a fully charged battery at the beginning of a mission.
The training and testing scheme used for recurrent neural networks was used for these networks
as well. Similarly, the results shown in Figure 17 also use the same training and testing mission
pairs in order to facilitate a comparison of the two types of networks.
Figure 17 shows the forecast of the two networks as well as the absolute errors for the two
networks. Figure 18 shows the absolute and relative temporal errors for the same training and
Figure 17 Forecast and forecast error of feedforward neural network compared with that of recurrent neural
network.
32
testing data pair plotted for each of the two types of networks for comparison. It is evident from
the plots that the recurrent neural networks perform better for these two mission pairs. In fact, the
recurrent neural networks outperform the feedforward networks for all mission pairs in terms of
the mean absolute error. Box plots for mean absolute errors for the two types of networks are
shown in Figure 19, which suggest that feedforward networks show a higher mean forecast error.
Each of these boxplots is based on the resulting mean error for experiments on 90 distinct
combinations of training and test missions. The failure case missions discussed earlier were
excluded from the training set but were still used for testing.
The consistent nature of difference between the forecasting performance of the two networks can
be explained by the fact that the state of charge of a battery is a function of the energy being drawn
from it as well as the past state of charge. In the recurrent neural network structure, the energy
drawn from the battery is encoded by action parameters while the past state of charge is also
available as input to the network. This is not the case for feedforward network structure, which
assumes that the change in state of charge of a battery caused by an action is not dependent on the
Figure 18 A comparison of temporal forecasting errors for feedforward and recurrent networks.
33
state of charge before the action is executed. This assumption is not representative of actual
physical processes, which results in higher forecast error.
The experiments suggest that recurrent neural networks almost always perform better than the
feedforward networks. However, the structure of feedforward networks holds a certain advantage.
The use of feedforward networks is motivated below.
5.4 Adaptability of Trained Models
Recall that each mission was carried out with two different batteries. All the results discussed until
now have addressed missions executed with a single battery. We also want to explore the
adaptability of a learned model to changes in a robot’s hardware. A model learned on data from
one battery can be adapted to another battery using some data generated for the new battery.
Suppose a robot that has a trained SOC forecasting model 𝑓 , undergoes a change of battery. Since
the battery responses only differ quantitatively and otherwise exhibit similar characteristics, a
small training set for the new battery can tune the parameters of model 𝑓 to fit to the new battery.
We propose that for the first mission after a change of battery pack, the robot execute a set of
parameterized actions with a large parameter space, until the battery is drained by a certain amount.
The data generated by this set of parameterized actions can then be used to tune the model
parameters to the new battery. For our experiments, the new data is collected from the beginning
Figure 19 Box-plot comparison of average forecasting error for recurrent and feed forward networks.
34
of a mission (𝑆𝑂𝐶 𝑚 = 100%) until the measured state of charge drops by 10% (𝑆𝑂𝐶 𝑚 = 90%).
This partial mission data is then used to tune the model. A result for this experiment is shown in
Figure 20. Note that the original model overestimates the expected state of charge. Data recorded
in the beginning of the mission (marked by a dotted line) is used to tune the model to the new
battery. A significant improvement in the forecast can be seen after tuning the model’s weights to
new battery. Conditions on training parameter space also apply to the partial data used to tune the
model. The training data should sample the parameter space well in order to model the entire space
of actions the robot is expected to perform.
Note that the structure of recurrent neural networks has current state of charge as input. This
implies that the dimension of the input space encoding SOC is defined on the set [0,100]. However,
the data that is available for training of this model is only defined on the set [90,100], therefore, a
model learned by training a recurrent neural network cannot be tuned using the partial data.
Alternatively, feedforward networks have an input space that is only defined by the action
parameters. Therefore, provided that the input parameter space is sufficiently sampled by the
partial mission data, a model learned on a feedforward network can be tuned to fit the system
resulting from a change in battery.
Figure 20 Tuning a trained network with partial mission data for a new battery to improve forecast performance.
35
5.5 Alternate Mission Descriptions
The previously described experiments on recurrent neural networks were repeated for missions
translated from high-level job definitions and low-level job definitions in order to analyze the
significance of job definition for the proposed framework. The i
th
action parameter vector for high-
level job set definition is given by 𝑎 𝑖 =
〈𝑥 𝑊 ,
1
𝑥 𝑊 ∑ 𝑥 𝑖 . 𝑥 𝑖 ̇ , 𝜃 𝑊 ,
1
𝜃 𝑊 ∑ 𝜃 𝑖 . 𝜃 𝑖 ̇ , 𝑛 𝑊 , 𝑝𝑤𝑚 𝑠𝑤
, 𝑝𝑤𝑚 𝑐𝑤
, 𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 〉
𝑖 , whereas, the i
th
action
parameter vector for low-level job set definition is given by 𝑎 𝑖 =
〈𝛿 𝑥 , 𝛿 ̇ 𝑖 , 𝛿 ̇ 𝑓 , 𝜃 𝑖 . 𝜃 𝑖 ̇ , 𝑝𝑤𝑚 𝑠 , 𝑝𝑤𝑚 𝑐 , 𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 〉
𝑖 . Mean absolute errors were computed for forecasting
performance of recurrent neural networks for all three levels of mission description. A comparison
of forecasting performance of the three mission descriptions is shown in Figure 21. Each of these
box-plots have been generated from 90 data-points. Note that the forecasting error increases as our
job descriptions become less descriptive of the physical robot operation during a mission. Low-
level job-descriptions encode information related to the trajectory the Turtlebot follows instead of
assuming a straight line as in mid-level definitions. Thus, low-level mission representation allows
for better forecasting performance, however, the mission representation is more complex and
requires more precise knowledge of mission parameters. Conversely, high-level mission
descriptions encode comparatively smaller amounts of detail of the physical operation of the robot,
Figure 21 Box-plot comparison of overall forecasting performance of recurrent neural networks for the three job-
descriptions.
36
causing much higher forecasting errors. A high-level mission description is, however, relatively
simple and needs less detail of the mission dynamics.
5.6 Stochasticity in Power Consumption
Useful insights into a robot’s power consumption can be gained by conducting an analysis of the
change in state of charge of the battery corresponding to different parameterized actions. Graphical
visualization of power consumption for multiple instances of a parameterized action reveals the
stochastic nature of the physical processes involved in robot operation. Figure 22 shows the change
in state of charge corresponding to multiple instances of an action. The uncertainty in this measure
follows from the observation that execution of parameterized actions incurs some system noise,
which causes the physical parameters of an executed action to differ from other instances of the
same action. Thus, stochasticity in the physical processes during the execution of an action results
in uncertainty in the corresponding change in the state of charge. Moreover, the change in state of
charge of a battery depends on the current state of charge in addition to the load parameters,
therefore, actions performed by the robot over different battery conditions cause a varying change
in the state of charge of the battery. Figure 22 shows the change in state of charge for 38 instances
of move operation with constant parameters. The mean change in state of charge is 0.0143 with a
variance of 3.3707 x 10
-6
.
Figure 22 Distribution of change in state of charge for move action.
37
Parameters defined for each action attempt to quantitatively describe, in the context of power
consumption, the physical processes that occur during execution of the action. There is a large
number of factors that affect the rate of discharge, which means that the parameter definitions
naturally do not model the physical processes exactly, resulting in stochasticity in power
consumption. Moreover, distinct parameterized actions on the robot involve different sets of
physical processes and therefore, incur different amounts of overall process noise. It may be useful
to have a better understanding of modeling deficiencies of parameters associated with different
actions. Uncertainty in power consumption for four move operations and the same number of turn
operations is shown in Figure 23. Mean shifted change in state of charge of the battery for 39
instances of each of these eight actions is displayed as scatter diagrams. It can be seen that all the
four move actions have higher stochasticity when compared to any of the turn operations. In fact,
the standard deviation of change in state of charge for move action 𝜎 𝑚 is about four times higher
on average than that of the turn action 𝜎 𝑡 (
𝜎 ̅
𝑚 𝜎 ̅
𝑡 ⁄ = 3.96). Moreover, the move actions also cause
a higher change in the state of charge than the turn action in general, depending upon values of the
parameters associated with the actions. It can be explained by considering that a move action causes
the two motors on the Turtlebot to rotate the wheels in opposite directions, moving the robot
forward. This requires more power than the turn action where the two motors work together by
rotating the wheels in the same direction resulting in the robot rotating on the spot. It also takes
less time for the robot to perform the turn action, which allows less time for process noise to
accumulate resulting in lower uncertainty in the change in battery state of charge.
Figure 23 Characterizing stochasticity in power consumption for different actions.
38
6 Conclusion
In this report, we proposed a framework for enabling mobile robots to forecast their power
consumption for conducting a given mission. Parameterized representations of mission
descriptions were adopted in order to facilitate a generalized framework. The proposed framework
was explored for a battery-powered mobile robot by conducting a number of missions in several
configurations. Battery capacity and relevant parameter data were recorded for these missions and
used to train two kinds of neural networks in order to map robot operations to battery capacity.
These models were used to forecast state of charge for recorded missions and compared with the
measured state of charge in order to analyze the predictive power of this framework. Strengths and
limitations of these networks were analyzed. It was learned that the networks need to be trained
on missions that sample the whole parameter space under operating conditions of the robot. This
observation suggests a fundamental guideline for training a model to forecast a robot’s power
response: the mission used to train the robot must be comprised of actions whose parameters are
well distributed over the expected parameter space of the robot.
Moreover, the results showed that, for this application, recurrent neural networks perform better
than feedforward neural networks in terms of accuracy. Adaptability of learned models to a change
in system was explored by switching the battery pack and using partial data to tune the model to
the new battery pack. It was concluded that despite their inferior forecasting performance, the
feedforward network structure facilitates adaptability of models to new battery dynamics.
Finally, the significance of different types of mission descriptions was studied by comparing
forecasting capabilities of the proposed framework for three different mission descriptions. It was
noted that mission descriptions that define parameter sets that encode information, which is more
closely representative of the actual physical operation, do a better job of forecasting power
consumption. This comes at the cost of increased complexity of mission descriptions as a greater
number of parameters is required to encode the same physical operation.
The findings of this report suggests that power consumption statistics of a robot can be forecasted
before the execution of a mission, provided the mission can be encoded as a set of parameters that
describe the physical operation. The quality of this mission-specific forecast is, however,
dependent on the accuracy and completeness of the parameterized representation of the mission.
39
7 References
[1] Sadrpour, A., Jin, J. J., & Ulsoy, A. G. (2013). Mission Energy Prediction for Unmanned Ground Vehicles
Using Real‐time Measurements and Prior Knowledge. Journal of Field Robotics, 30(3), 399-414.
[2] Parasuraman, R., Kershaw, K., Pagala, P., & Ferre, M. (2014). Model Based On-line Energy Prediction
System for Semi-Autonomous Mobile Robots. In 5th International Conference on Intelligent Systems,
Modeling and Simulation (ISMS).
[3] Pentzer, J., Brennan, S., & Reichard, K. (2014, June). On-line estimation of vehicle motion and power
model parameters for skid-steer robot energy use prediction. In American Control Conference (ACC),
2014 (pp. 2786-2791). IEEE.
[4] Sadrpour, A., Jin, J., & Ulsoy, A. G. (2012, May). Mission energy prediction for unmanned ground
vehicles. In Robotics and Automation (ICRA), 2012 IEEE International Conference on (pp. 2229-2234).
IEEE.
[5] LeSage, J. R., & Longoria, R. G. (2013). Characterization of Load Uncertainty in Unstructured Terrains
and Applications to Battery Remaining Run‐time Prediction. Journal of Field Robotics, 30(3), 472-487.
[6] De Carolis, V., Lane, D. M., & Brown, K. E. (2014, April). Low-cost energy measurement and estimation
for autonomous underwater vehicles. In OCEANS 2014-TAIPEI (pp. 1-5). IEEE.
[7] Meissner, E., & Richter, G. (2003). Battery monitoring and electrical energy management: Precondition
for future vehicle electric power systems. Journal of power sources, 116(1), 79-98.
[8] Widodo, A., Shim, M. C., Caesarendra, W., & Yang, B. S. (2011). Intelligent prognostics for battery
health monitoring based on sample entropy. Expert Systems with Applications, 38(9), 11763-11769.
[9] Newman, J., Thomas, K. E., Hafezi, H., & Wheeler, D. R. (2003). Modeling of lithium-ion
batteries. Journal of power sources, 119, 838-843.
[10] Bumby, J. R., Clarke, P. H., & Forster, I. (1985). Computer modeling of the automotive energy
requirements for internal combustion engine and battery electric-powered vehicles. IEE Proceedings A
(Physical Science, Measurement and Instrumentation, Management and Education, Reviews), 132(5), 265-
279.
[11] Doerffel, D., & Sharkh, S. A. (2006). A critical review of using the Peukert equation for determining the
remaining capacity of lead-acid and lithium-ion batteries. Journal of Power Sources, 155(2), 395-400.
[12] González-Longatt, F. M. (2006, April). Circuit based battery models: a review. In Proceedings of 2nd
Congreso IberoAmericano De Estudiantes de Ingenieria Electrica, Puerto la Cruz, Venezuela.
[13] Chen, M., & Rincón-Mora, G. (2006). Accurate electrical battery model capable of predicting runtime
and IV performance. Energy conversion, ieee transactions on, 21(2), 504-511.
[14] Kroeze, R. C., & Krein, P. T. (2008, June). Electrical battery model for use in dynamic electric vehicle
simulations. In Power Electronics Specialists Conference, 2008. PESC 2008. IEEE (pp. 1336-1342). IEEE.
[15] Johnson, V. H. (2002). Battery performance models in ADVISOR. Journal of power sources, 110(2),
321-329.
40
[16] Salameh, Z. M., Casacca, M., & Lynch, W. A. (1992). A mathematical model for lead-acid
batteries. Energy Conversion, IEEE Transactions on, 7(1), 93-98.
[17] Abu-Sharkh, S., & Doerffel, D. (2004). Rapid test and non-linear model characterization of solid-state
lithium-ion batteries. Journal of Power Sources,130(1), 266-274.
[18] Gold, S. (1997, January). A PSPICE macromodel for lithium-ion batteries. In Battery Conference on
Applications and Advances, 1997., Twelfth Annual (pp. 215-222). IEEE.
[19] Yamazaki, T., Sakurai, K., & Muramoto, K. (1998). Estimation of the residual capacity of sealed lead-
acid batteries by neural network. In Telecommunications Energy Conference, 1998. INTELEC. Twentieth
International (pp. 210-214). IEEE.
[20] Shen, W. X. (2007). State of available capacity estimation for lead-acid batteries in electric vehicles
using neural network. Energy conversion and management, 48(2), 433-442.
[21] Piao, C. H., Fu, W. L., Wang, J., Huang, Z. Y., & Cho, C. (2009, October). Estimation of the state of
charge of Ni-MH battery pack based on artificial neural network. In Telecommunications Energy
Conference, 2009. INTELEC 2009. 31st International (pp. 1-4). IEEE.
[22] Linda, O., William, E. J., Huff, M., Manic, M., Gupta, V., Nance, J., ... & Govar, J. (2009, August).
Intelligent neural network implementation for SOCI development of Li/CFx batteries. In Resilient Control
Systems, 2009. ISRCS'09. 2nd International Symposium on (pp. 57-62). IEEE.
[23] Charkhgard, M., & Farrokhi, M. (2010). State-of-charge estimation for lithium-ion batteries using neural
networks and EKF. Industrial Electronics, IEEE Transactions on, 57(12), 4178-4187.
[24] Chen, Z., Qiu, S., Masrur, M. A., & Murphey, Y. L. (2011, July). Battery state of charge estimation
based on a combined model of extended Kalman filter and neural networks. In Neural Networks (IJCNN),
The 2011 International Joint Conference on (pp. 2156-2163). IEEE.
[25] Anton, J. A., Nieto, P. G., de Cos Juez, F. J., Lasheras, F. S., Vega, M. G., & Gutierrez, M. R. (2013).
Battery state-of-charge estimator using the SVM technique. Applied Mathematical Modeling, 37(9), 6244-
6253.
[26] Domenico, D. D., Fiengo, G., & Stefanopoulou, A. (2008, September). Lithium-ion battery state of
charge estimation with a kalman filter based on a electrochemical model. In Control Applications, 2008.
CCA 2008. IEEE International Conference on (pp. 702-707). Ieee.
[27] Plett, G. L. (2004). Extended Kalman filtering for battery management systems of LiPB-based HEV
battery packs: Part 1. Background. Journal of Power sources, 134(2), 252-261.
[28] Plett, G. L. (2004). Extended Kalman filtering for battery management systems of LiPB-based HEV
battery packs: Part 2. Modeling and identification. Journal of power sources, 134(2), 262-276.
[29] Plett, G. L. (2004). Extended Kalman filtering for battery management systems of LiPB-based HEV
battery packs: Part 3. State and parameter estimation. Journal of power sources, 134(2), 277-292.
[30] Sun, F., Hu, X., Zou, Y., & Li, S. (2011). Adaptive unscented Kalman filtering for state of charge
estimation of a lithium-ion battery for electric vehicles. Energy, 36(5), 3531-3540.
[31] Kim, K. H., Park, J. K., Hwang, K. J., & Kim, S. H. (1995). Implementation of hybrid short-term load
forecasting system using artificial neural networks and fuzzy expert systems. Power Systems, IEEE
Transactions on, 10(3), 1534-1539.
41
[32] Hippert, H. S., Pedreira, C. E., & Souza, R. C. (2001). Neural networks for short-term load forecasting:
A review and evaluation. Power Systems, IEEE Transactions on, 16(1), 44-55.
[33] He, H., Xiong, R., & Fan, J. (2011). Evaluation of lithium-ion battery equivalent circuit models for state
of charge estimation by an experimental approach. Energies, 4(4), 582-598.
[34] Piller, S., Perrin, M., & Jossen, A. (2001). Methods for state-of-charge determination and their
applications. Journal of power sources, 96(1), 113-120.
[35] Gould, C. R., Bingham, C. M., Stone, D. A., & Bentley, P. (2009). New battery model and state-of-
health determination through subspace parameter estimation and state-observer techniques. Vehicular
Technology, IEEE Transactions on, 58(8), 3905-3916.
[36] Lee, S., Kim, J., Lee, J., & Cho, B. H. (2008). State-of-charge and capacity estimation of lithium-ion
battery using a new open-circuit voltage versus state-of-charge. Journal of power sources, 185(2), 1367-
1373.
[37] Ng, K. S., Moo, C. S., Chen, Y. P., & Hsieh, Y. C. (2009). Enhanced coulomb counting method for
estimating state-of-charge and state-of-health of lithium-ion batteries. Applied energy, 86(9), 1506-1511.
[38] Coleman, M., Lee, C. K., Zhu, C., & Hurley, W. G. (2007). State-of-charge determination from EMF
voltage estimation: Using impedance, terminal voltage, and current for lead-acid and lithium-ion
batteries. Industrial Electronics, IEEE Transactions on, 54(5), 2550-2557.
[39] Shah, B., & Choset, H. (2004). Survey on urban search and rescue robots. 日 本 ロボッ ト学会 誌, 22(5),
582-586.
[40] Huh, S., Lee, U., Shim, H., Park, J. B., & Noh, J. H. (2011, October). Development of an unmanned
coal mining robot and a tele-operation system. In Control, Automation and Systems (ICCAS), 2011 11th
International Conference on (pp. 31-35). IEEE.
[41] Mei, Y., Lu, Y. H., Hu, Y. C., & Lee, C. G. (2004, April). Energy-efficient motion planning for mobile
robots. In Robotics and Automation, 2004. Proceedings. ICRA'04. 2004 IEEE International Conference
on (Vol. 5, pp. 4344-4349). IEEE.
[42] Wang, G., Irwin, M. J., Berman, P., Fu, H., & La Porta, T. (2005, August). Optimizing sensor movement
planning for energy efficiency. In Low Power Electronics and Design, 2005. ISLPED'05. Proceedings of the
2005 International Symposium on (pp. 215-220). IEEE.
[43] Stump, E., & Michael, N. (2011, August). Multi-robot persistent surveillance planning as a vehicle
routing problem. In Automation Science and Engineering (CASE), 2011 IEEE Conference on (pp. 569-575).
IEEE.
[44] http://wiki.ros.org/vicon_bridge
[45] http://www.ros.org/
[46] http://wiki.ros.org/Robots/TurtleBot
Abstract (if available)
Abstract
A mobile robot mission is typically comprised of a sequence of tasks defined by some parameters. Increasingly longer missions and limited energy storage on the robot make it essential for a robot to forecast its mission power consumption. ❧ As batteries are a primary choice of power source for mobile robots, this thesis proposes a framework for forecasting state of charge of a robot’s battery for a given mission. The framework represents a mission as a sequence of parameterized actions defined for the robot. Data from the mission’s execution is used to train a neural network that maps the mission description to the resulting state of charge. Recurrent and feedforward neural networks are used to model state of charge of the battery. We show that recurrent neural networks consistently provide a more accurate prediction of the state of charge than feedforward neural networks for these systems when using the same battery. However, feedforward networks have the additional benefit of being able to adapt a learned model to batteries with different states of health, facilitating switching batteries without learning an entirely new model. This suggests that feedforward networks can also adapt to other changes in the system, for example, actuators, sensors and controllers. ❧ Three distinct mission representations, low-, mid-, and high-level job descriptions, are introduced to evaluate the capabilities of the proposed framework for Turtlebot 2. We show that mission representations play a significant role in the quality of forecast, with the low-level description, the most descriptive of the three, resulting in the most accurate predictions, and the high-level description, the most abstract of the three, resulting in the least accurate predictions.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Coalition formation for multi-robot systems
PDF
Motion coordination for large multi-robot teams in obstacle-rich environments
PDF
Mobility-based topology control of robot networks
PDF
Data scarcity in robotics: leveraging structural priors and representation learning
PDF
Managing multi-party social dynamics for socially assistive robotics
PDF
Situated proxemics and multimodal communication: space, speech, and gesture in human-robot interaction
PDF
Closing the reality gap via simulation-based inference and control
PDF
Robot life-long task learning from human demonstrations: a Bayesian approach
PDF
A robotic system for benthic sampling along a transect
PDF
Multi-robot strategies for adaptive sampling with autonomous underwater vehicles
PDF
Rethinking perception-action loops via interactive perception and learned representations
PDF
Biologically inspired mobile robot vision localization
PDF
Coordinating social communication in human-robot task collaborations
PDF
Robust loop closures for multi-robot SLAM in unstructured environments
PDF
Nonverbal communication for non-humanoid robots
PDF
From active to interactive 3D object recognition
PDF
Decentralized real-time trajectory planning for multi-robot navigation in cluttered environments
PDF
Auction and negotiation algorithms for cooperative task allocation
PDF
Adaptive sampling with a robotic sensor network
PDF
Characterizing and improving robot learning: a control-theoretic perspective
Asset Metadata
Creator
Hamza, Ameer
(author)
Core Title
Predicting mission power requirement for mobile robots
School
Viterbi School of Engineering
Degree
Master of Science
Degree Program
Computer Science (Intelligent Robotics)
Publication Date
11/09/2015
Defense Date
10/23/2015
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
battery,Energy,forecast,Mission,OAI-PMH Harvest,Power,Robots,state of charge
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Ayanian, Nora (
committee chair
), Koenig, Sven (
committee member
), Sukhatme, Gaurav S. (
committee member
)
Creator Email
ahamza@usc.edu,ameerhamza3@hotmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c40-197919
Unique identifier
UC11277033
Identifier
etd-HamzaAmeer-4023.pdf (filename),usctheses-c40-197919 (legacy record id)
Legacy Identifier
etd-HamzaAmeer-4023.pdf
Dmrecord
197919
Document Type
Thesis
Format
application/pdf (imt)
Rights
Hamza, Ameer
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
forecast
state of charge