Title of Invention

TABLE INTERPOLATION METHODS AND SYSTEMS

Abstract The invention relates to a control system (10,12,14,16,18,20,22) for a vehicle, comprising : a table datastore (36) that stores data in a table format (24) wherein the table format (24) comprises a plurality of zones; a table definition module (30) that initializes each of the plurality of zones to a predetermined value (40) that indicates that the value (40) in the zone has not been learned; a data storage module (32) that replaces a plurality of the predetermined values (42) with values learned (44,46) during operation of a vehicle; and a data access module (34) that determines a location (60) of a zone in the table format (24) based on input parameters (48,50) that retrieves learned values (62,64,66,68) from zones nearest the location (60) when the value in the zone corresponding to the location (60) is equal to the predetermined value (52), and that generates a table output (54) by interpolating between the learned values (62,64,66,68) retrieved from the zones nearest the location (60).
Full Text


FIELD OF THE INVENTION
The present invention relates to methods and systems for storing and
interpolating learned values from a table in memory.
BACKGROUND OF THE INVENTION
The statements in this section merely provide background information related to
the present disclosure and may not constitute prior art.
Vehicle control modules typically include memory for storing control software and
predetermined calibrations. In addition, vehicle parameters learned during
vehicle operation can be stored to memory for use by the control
software. In some cases, the learned vehicle parameters are stored in a table
format that can be interpolated. The table includes first and second fixed axes
that are each defined by fixed breakpoints. For each breakpoint pair for the first
and second axes, either an initialization value or a learned value is stored.
Access parameters can then be used to lookup the values from the table. The
interpolation is performed between the values in the table that are nearest the
access parameters. In the case where the nearest values have not been
learned, the result of the interpolation can be skewed thus, affecting the results
of the control software.


SUMMARY OF THE INVENTION
Accordingly, a control system is provided. This system generally includes a table
datastore that stores data in a table format wherein the
table format includes a plurality of zones. A data storage module stores learned
data to one or more of the plurality of zones. A data access module generates a
table output by retrieving the learned data from one or more of the plurality of
zones and interpolating between the learned data.
In other features, a method of interpolating data from a table in
memory is provided. This method includes: determining a location in the table
based on input parameters; traversing zones in the table for learned data
nearest the location; and generating an output based on an interpolation
between the nearest learned data.
Further areas of applicability will become apparent from the
description provided herein. It should be understood that the description and
specific examples are intended for purposes of illustration only and are not
intended to limit the scope of the present disclosure.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
The drawings described herein are for illustration purposes only and are not
intended to limit the scope of the present disclosure in any way.
Figure 1 is a block diagram illustrating a control module including a table
interpolation system according to various aspects of the present
teachings.


Figure 2 is a dataflow diagram illustrating an exemplary table interpolation
system according to various aspects of the present teachings.
Figure 3 is a block diagram illustrating an exemplary two-dimensional table
including learned values of the table interpolation system
according to various aspects of the present teachings.
Figure 4 is a flowchart illustrating an exemplary table interpolation method
according to various aspects of the present teachings.
DETAILED DESCRIPTION OF THE INVENTION
The following description is merely exemplary in nature and is
not intended to limit the present disclosure, application, or uses. It should be
understood that throughout the drawings, corresponding reference numerals
indicate like or corresponding parts and features. As used herein, the term
module refers to an application specific integrated circuit (ASIC), an electronic
circuit, a processor (shared, dedicated, or group) and memory that executes one
or more software or firmware programs, a combinational logic circuit, and/or
other suitable components that provide the described functionality.
Referring to Figure 1, an exemplary control module 10 is shown.
As can be appreciated, the control module 10 can be a vehicle control module
that controls one or more sub-systems of a vehicle, such as, but not limited to an
engine system, a transmission system, and a throttle system. The control
module 10 is shown to include a processor 12, memory 14, and an input/output
device 16. The input/output device 16 receives signals from and transmits


signals to one or more components of the sub-system system. The processor 12
executes one or more software instructions stored in memory 14. The memory
14 can include, but is not limited, read only memory (ROM) 18, random access
memory (RAM) 20, programmable read only memory (PROM) 22, a cache, a
stack, or the like.
In various embodiments, the software instructions are stored in
and accessed from the PROM 22. Based on various embodiments of the
present teachings, the software instructions store information to and access
Information from one or more interpolation tables 24 based on the table
interpolation systems and methods as discussed below. The one or more
interpolation tables 24 according to various aspects of the present teachings are
stored in and accessed from RAM 20. In various embodiments, the interpolation
tables 24 can be stored in a nonvolatile RAM that does not lose the stored
information when power is removed. Definitions for one or more axes for the one
or more interpolation tables 24 according to various aspects of the present
teachings are stored in and accessed from ROM 18.
Referring now to Figure 2, a dataflow diagram illustrates an
exemplary table interpolation system that may be embedded within the control
module 10. Various embodiments of table interpolation systems according to the
present disclosure may include any number of sub-modules embedded within the
control module 10. As can be appreciated, the sub-modules shown may be
combined and/or further partitioned to similarly store information to and access
information from the interpolation tables 24. Inputs to the table interpolation


system may be sensed information, information determined by other control
modules (not shown), and/or information determined by other sub-modules (not
shown) within the control module 10. In various embodiments, the control
module 10 of Figure 2 includes a table definition module 30, a data storage
module 32, a date access module 34, and a table datastore 36.
The table definition module 30 receives as input axes definition
parameters 38 and initialization parameters 40. The table definition module 30
defines the interpolation table 24 for example, to be a two-dimensional table
including a first axis and a second axis. The first axis can be a fixed axis
including a plurality of breakpoints, each breakpoint being defined by the axes
definition parameters 38. The second axis can be a variable axis including a
plurality of breakpoints that are variably defined for each breakpoint of the first
axis based on the axes definition parameters 38. The second axis breakpoints
can be selected so as to optimize the use of the table space. For example, in the
case of an engine control module, the first axis can represent engine speed and
the second axis can represent air per cylinder. If an engine never operates at
very high RPMs and very low air per cylinder simultaneously, then for the
breakpoints representing the high RPM, only breakpoints representing high air
per cylinder are included in the second axis.
The breakpoints of the first axis and the second axis define a
plurality of zones in the interpolation table 24. The table definition module 30
stores the initialization parameters 40 in each of the plurality of zones. In various
embodiments, the initialization values can include a third, hidden dimension that


indicates whether the zone has been learned. For example, the zones can be
initialized to a negative value. Once the zone has been learned, as will be
discussed in more detail below, the value becomes positive. The positive factor
then indicates that the zone can be used in the interpolation as will be discussed
in more detail below. The table definition module 30 stores the interpolation
table 24 in the table datastore 36.
The data storage module 32 receives as input sensor data 42, a
first axis parameter 44, and a second axis parameter 46. The data storage
module 32 learns table values based on the sensor data 42. The learned value
47 is stored to a zone in the interpolation table 24 that is defined by the first axis
parameter 44 and the second axis parameter 46. In various embodiments, the
data storage module 32 determines whether enough data has been gathered
before storing the learned value to a zone in the interpolation table. For
example, the sensor data 42 for that zone must be learned for x seconds before
storing. In various embodiments, the first axis parameter 44 and the second axis
parameter 46 can be based on current operating conditions. For example,
relating to the engine control module example above, the first axis parameter 44
can be a current engine speed and the second axis parameter 46 can be a
current air per cylinder.
The data access module 34 receives as input a first axis access
parameter 48 and a second axis access parameter 50. The data access module
34 retrieves from the interpolation table 24 stored in the table datastore 36
learned table values 52 in zones nearest the first axis access parameter 48 and


the second axis access parameter 50. The data access module 34 generates
output data 54 by interpolating the learned table values 52. As shown in Figure
3, an exemplary two-dimensional interpolation table 24 includes a first axis 56
that is defined by a plurality of predefined breakpoints and a second axis 58 that
is defined by a plurality of breakpoints that can be variably defined for each
breakpoint of the first axis 56. A learned value 47 can be stored to one or more
zones in the table (indicated by the shaded areas). Values of non-learned zones
can remain set to the initialization parameters 40. When accessing the
information stored in the interpolation table 24, the data access module 34
determines a location 60 in the table based on the input parameters 48 and 50
and determines learned values 62, 64, 66, and 68 nearest the location 60.
Based on the learned values 62, 64,66, and 68 nearest the location 60, the data
access module 34 generates output data 54 by interpolating between the learned
values 62, 64, 66, and 68. The data access module 34 then provides the output
data 54 for use by other modules or systems.
Referring now to Figure 4 and with continued reference to
Figure 3, a flowchart illustrates an exemplary table interpolation method that can
be performed by the table interpolation system in accordance with various
aspects of the present disclosure. As can be appreciated, the order of execution
of the steps of the exemplary table interpolation method can vary without
altering the spirit of the method. The method may be initiated based on a
request to access information from the interpolation table 24.


In one example, the method may begin at 100. The location 60
in the interpolation table 24 is determined based on the input parameters 48 and
50 (Figure 2) at 110. If the location includes a learned value at 115, the value is
output at 180. If, however, the location does not include a learned value at 115,
the second axis 58 is traversed for the breakpoint of the first axis 56
corresponding to that location 60 and the value of each zone is evaluated at 120.
For the two closest zones that include a learned value, the learned values 62 and
64 are retrieved and temporarily stored for interpolation at 130.
Thereafter, the second axis 58 is traversed for a breakpoint of
the first axis 56 corresponding to the previous breakpoint or the subsequent
breakpoint from the location 60 at 140. In the example of Figure 3, the second
axis corresponding to the subsequent breakpoint from the location 60 is
illustrated. For the two closest zones that include a learned value, the learned
values 66 and 68 are retrieved and temporarily stored for interpolation at 150.
Once the four nearest learned values are temporarily stored at 160, the values
are interpolated at 170. The result of the interpolation is then output at 180.
Otherwise, if not all four values are found at 160, the method loops back and
traverses the second axis 58 for a subsequent or previous breakpoint of the first
axis 56 at 140. The method may end at 190.
Those skilled in the art can now appreciate from the foregoing
description that the broad teachings of the present disclosure can be
implemented in a variety of forms. Therefore, while this disclosure has been
described in connection with particular examples thereof, the true scope of the

disclosure should not be so limited since other modifications will become
apparent to the skilled practitioner upon a study of the drawings, specification,
and the following claims

WE CLAIM :
1. A control system (10,12,14,16,18,20,22) for a vehicle, comprising :
a table datastore (36) that stores data in a table format (24) wherein the
table format (24) comprises a plurality of zones;
a table definition module (30) that initializes each of the plurality of zones
to a predetermined value (40) that indicates that the value (40) in the
zone has not been learned;
a data storage module (32) that replaces a plurality of the predetermined
values (42) with values learned (44,46) during operation of a vehicle; and
a data access module (34) that determines a location (60) of a zone in the
table format (24) based on input parameters (48,50) that retrieves
learned values (62,64,66,68) from zones nearest the location (60) when
the value in the zone corresponding to the location (60) is equal to the
predetermined value (52), and that generates a table output (54) by
interpolating between the learned values (62,64,66,68) retrieved from the
zones nearest the location (60);
2. The control system as claimed in claim 1 wherein the plurality of zones of
the table format (24) are defined by a first fixed axis (44) and a second
variable axis (46).
3. The control system as claimed in claim 1, wherein the input parameters
include an engine speed parameter and an air-per-cylinder parameter.
4. The control system as claimed in claim 1, wherein the table definition
module initializes each of the plurality of zones to a negative value that
indicates that the value in the zone has not been learned.

5. The control system as claimed in claim 7, wherein the data storage
module replaces the plurality of the predetermined values with positive
values that indicates that the value in the zone has been learned.
6. The control system as claimed in claim 1, wherein the data access module
retrieves the value in the zone corresponding to the location when the
value in the zone corresponding to the location is a learned value.
7. The system as claimed in claim 1, wherein the traversing comprises
traversing a plurality of zones in the location table is traversed based on
the input parameters.



ABSTRACT


TITLE "TABLE INTERPOLATION METHODS AND SYSTEMS"
The invention relates to a control system (10,12,14,16,18,20,22) for a
vehicle, comprising : a table datastore (36) that stores data in a table
format (24) wherein the table format (24) comprises a plurality of zones;
a table definition module (30) that initializes each of the plurality of zones
to a predetermined value (40) that indicates that the value (40) in the
zone has not been learned; a data storage module (32) that replaces a
plurality of the predetermined values (42) with values learned (44,46)
during operation of a vehicle; and a data access module (34) that
determines a location (60) of a zone in the table format (24) based on
input parameters (48,50) that retrieves learned values (62,64,66,68) from
zones nearest the location (60) when the value in the zone corresponding
to the location (60) is equal to the predetermined value (52), and that
generates a table output (54) by interpolating between the learned values
(62,64,66,68) retrieved from the zones nearest the location (60).

Documents:

00387-kol-2008-abstract.pdf

00387-kol-2008-claims.pdf

00387-kol-2008-correspondence others.pdf

00387-kol-2008-description complete.pdf

00387-kol-2008-drawings.pdf

00387-kol-2008-form 1.pdf

00387-kol-2008-form 2.pdf

00387-kol-2008-form 3.pdf

00387-kol-2008-form 5.pdf

387-KOL-2008-(12-10-2012)-ABSTRACT.pdf

387-KOL-2008-(12-10-2012)-ANNEXURE TO FORM 3.pdf

387-KOL-2008-(12-10-2012)-CLAIMS.pdf

387-KOL-2008-(12-10-2012)-CORRESPONDENCE.pdf

387-KOL-2008-(12-10-2012)-DESCRIPTION (COMPLETE).pdf

387-KOL-2008-(12-10-2012)-DRAWINGS.pdf

387-KOL-2008-(12-10-2012)-FORM-1.pdf

387-KOL-2008-(12-10-2012)-FORM-2.pdf

387-KOL-2008-(12-10-2012)-OTHERS.pdf

387-KOL-2008-(12-10-2012)-PA.pdf

387-KOL-2008-(12-10-2012)-PETITION UNDER RULE 137.pdf

387-KOL-2008-ASSIGNMENT.pdf

387-KOL-2008-CANCELLED PAGES.pdf

387-KOL-2008-CORRESPONDENCE OTHERS 1.1.pdf

387-KOL-2008-CORRESPONDENCE.pdf

387-KOL-2008-EXAMINATION REPORT.pdf

387-kol-2008-form 18.pdf

387-KOL-2008-GPA.pdf

387-KOL-2008-GRANTED-ABSTRACT.pdf

387-KOL-2008-GRANTED-CLAIMS.pdf

387-KOL-2008-GRANTED-DESCRIPTION (COMPLETE).pdf

387-KOL-2008-GRANTED-DRAWINGS.pdf

387-KOL-2008-GRANTED-FORM 1.pdf

387-KOL-2008-GRANTED-FORM 2.pdf

387-KOL-2008-GRANTED-FORM 3.pdf

387-KOL-2008-GRANTED-FORM 5.pdf

387-KOL-2008-GRANTED-SPECIFICATION-COMPLETE.pdf

387-KOL-2008-REPLY TO EXAMINATION REPORT.pdf

387-KOL-2008-TRANSLATED COPY OF PRIORITY DOCUMENT.pdf


Patent Number 257048
Indian Patent Application Number 387/KOL/2008
PG Journal Number 35/2013
Publication Date 30-Aug-2013
Grant Date 29-Aug-2013
Date of Filing 29-Feb-2008
Name of Patentee GM GLOBAL TECHNOLOGY OPERATIONS, INC.
Applicant Address 300 GM RENAISSANCE CENTER DERROIT, MICHIGAN
Inventors:
# Inventor's Name Inventor's Address
1 WAJDI B. HAMAMA 10984 EAST CHARRING CROSS CIRCLE WHITMORE LAKE, MICHIGAN 48189
PCT International Classification Number G06F12/02; G06F12/06; G06F12/02;
PCT International Application Number N/A
PCT International Filing date
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 11/784516 2007-04-06 U.S.A.