Source: http://www.google.com/patents/US6804726?dq=7,550,386
Timestamp: 2015-07-06 05:32:33
Document Index: 103108526

Matched Legal Cases: ['application No. 60', 'art 300', 'art 500', 'art 500', 'art 500', 'art 1000', 'art 1000', 'art 1000', 'art 1000', 'art 1000', 'art 1000', 'art 1000', 'art 1000', 'art 1000', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 1100', 'art 400', 'art 500', 'art 500', 'art 500', 'art 600', 'art 700', 'art 700', 'art 700', 'art 700', 'art 700', 'art 700', 'art 700', 'art 800', 'art 700', 'art 700', 'art 700', 'art 700', 'art 800', 'art 800', 'art 800', 'art 800', 'art 800', 'art 900', 'art 800', 'art 800', 'art 800', 'art 900', 'art 900', 'art 900', 'art 900', 'art 900', 'art 900', 'art 900', 'art 900', 'art 900', 'art 900', 'art 900', 'art 900', 'arts 1700', 'art 1700', 'art 1700', 'art 1700', 'art 1700']

Patent US6804726 - Method and apparatus for controlling electrical devices in response to ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA system is disclosed that senses physical characteristics of an electronic device. The system controls the electronic device in response to the sensed physical characteristics. The system includes a control subsystem. The control subsystem includes a time trigger and an anticipation/latency reduction...http://www.google.com/patents/US6804726?utm_source=gb-gplus-sharePatent US6804726 - Method and apparatus for controlling electrical devices in response to sensed conditionsAdvanced Patent SearchPublication numberUS6804726 B1Publication typeGrantApplication numberUS 09/628,081Publication dateOct 12, 2004Filing dateJul 28, 2000Priority dateMay 22, 1996Fee statusPaidAlso published asUS7696905, US9009505, US20050024501, US20100185303Publication number09628081, 628081, US 6804726 B1, US 6804726B1, US-B1-6804726, US6804726 B1, US6804726B1InventorsJohn Ellenby, Peter Malcolm Ellenby, Thomas William EllenbyOriginal AssigneeGeovector CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (24), Referenced by (35), Classifications (22), Legal Events (4) External Links: USPTO, USPTO Assignment, EspacenetMethod and apparatus for controlling electrical devices in response to sensed conditions
US 6804726 B1Abstract
What is claimed is: 1. A method for controlling an electronic device, comprising:
sensing one or more physical characteristics of the device, the one or more physical characteristics including one or more of: an attitude of the electronic device and a position of the electronic device; supplying a control signal to the device, the control signal triggered by one or more pre-defined values of at least one of the one or more physical characteristics of the device; switching the device from a first mode to a second mode in response to the control signal, the first mode being associated with a first level of power consumption of at least a portion of the electronic device, the second mode being associated with a second level of power consumption of at least the portion of the electronic device, wherein the first level of power consumption consumes more power when at least a portion of the electronic device is in an activated state than the second level of power consumption when at least a portion the electronic device is in a deactivated state. 2. The method of claim 1, wherein the position of the electronic device is received from a position sensing device.
3. The method of claim 1, wherein the position of the electronic device is received from a satellite based positioning system.
4. The method of claim 1, wherein the position of the electronic device is received from an inertial navigation system.
5. The method of claim 1, wherein the attitude of the electronic device is received from an attitude sensing device.
6. The method of claim 1, wherein the attitude of the electronic device is received from a magnetic flux sensing device.
7. The method of claim 1, wherein the attitude of the electronic device is received from an inclinometer.
8. The method of claim 1, wherein the attitude of the electronic device is received from a laser ring gyro.
This application is a continuation-in-part of U.S. Ser. No. 09/416,093, filed Oct. 12, 1999 (now U.S. Pat. No. 6,098,118) which is a continuation of U.S. Ser. No. 08/859,997, filed May 21, 1997, now U.S. Pat. No. 5,991,827, which claims the benefit of provisional patent application No. 60/018,405, entitled Systems and Methods For Anticipating User Actions For Improving Electrical Device Performance, filed May 22, 1996 by inventors John Ellenby, Peter Malcolm Ellenby and Thomas William Ellenby. Each of the above-identified patent applications is incorporated herein by reference in its entirety.
FIG. 7 illustrtates the operation of an activation interval trigger that can be used by embodiments of the invention;
FIG. 9 illustrates the operation of a repetitive distance trigger that can be used by embodiment of the invention;
An embodiment of the present invention comprises a novel system for improving the performance of electronic devices and related methods. The following description is presented to enable a person skilled in the art to make and use the invention. Descriptions of specific applications are provided only as examples. Various modifications to the preferred embodiments will be readily apparent to those skilled in the art, and general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the embodiments disclosed, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
FIG. 3 is a flowchart 300 of the general operation of the system 100. In step 301, the user activates the system monitor mode. In this mode, the system 100 monitors the time trigger 106, step 302, and periodically monitors the anticipation/latency subsystem 107, step 303, for certain defined conditions. If the certain defined conditions are met, the system 100 activates the electronic device 110, step 304. The signal used to control the electronic device in response to sensed physical conditions of the electronic device, for example, shall be referred to as a control signal. In embodiments of the invention, such defined conditions might be the electronic device 110 coming within or going out of a predefined distance of a certain object or position, a user coming within or going out of a predefined proximity to the electronic device 110, vibration of the electronic device 110, or attitude of the electronic device. Alternate embodiments might sense other physical characteristics of the electronic device 110 including without limitation acceleration or change in acceleration of the electronic device 110, for example. Activation or deactivation of the electronic device can be thought of as switching modes of the electronic device. Such mode switching might involve activation and/or deactivation of the entire device or activation and/or deactivation of only portions of the device.
In step 501, a monitor limit W is defined by the software used by trigger 106. Limit W, which is stored by trigger 106, is a delay between the monitoring periods in which the system 100 monitors the subsytems 107. For example, if W=50 ms the system 100 operates in the time trigger 106 for 50 ms. After 50 ms, the system 100 branches to monitor the anticipation/latency reduction subsystems 107. The limit W can be adjusted depending on how long the user would like the time trigger 106 to operate before the trigger 106 branches to monitor the subsystems 107. Alternate embodiments may use similar delays in other triggers.
In step 502 of FIG. 5, the system 100 transmits a present time signal from the clock 101 to the time trigger 106. Triggers 108 and 109, discussed below, provide examples of how the system 100 uses a variety of subsytems (e.g. the triggers 108 and 109) and sensing devices (e.g. devices 104 and 105) to monitor conditions. Steps 503-509 of FIG. 5 deal with time activation routines used by the time trigger 106 to activate the electronic device 110 or a portion of the electronic device 110 at user defined periods of time. In step 503 the trigger 106 determines if such an activation routine is active. If not, the flowchart 500 branches to step 510. If such a routine is active, the flowchart 500 branches to step 504. In step 504, the trigger 106 determines if the time activation routine has just been initiated. If so, the trigger 106 stores the present time as the “last checked” time Y, step 506, and prompts the user to input the desired activation time interval X, step 507, and stores X, step 508. This interval X is the time that the trigger 106 waits from the “last checked” time Y (i.e. the time at which the time activation routine is initiated) to activate the device 110. If, in step 504, the trigger 106 determines that the time activation routine was already active, the trigger 106 branches to step 505. In step 505, the trigger 106 calculates the elapsed time from the last checked time Y to the present time and then in step 509 compares this elapsed time to the activation interval X. If the elapsed time is greater than or equal to X, the flowchart branches to step 304 of FIG. 3 and the system 100 fully activates the device 110. If in step 509 the elapsed time is less than X, the flowchart 500 branches to step 510 of FIG. 5. In step 510, the trigger 106 receives a new present time signal and calculates the time difference between the last received time signal received in step 502 and the new present time signal received in step 510. The trigger 106 adds the calculated difference to the elapsed time Z. The trigger 106, in step 512, then compares the elapsed time Z to the monitor limit W. If Z is greater than or equal to W, the trigger 106 sets Z to zero, step 514, and then proceeds to step 1001 of FIG. 10 to check the anticipation/latency-reduction subsystems 107. Thus, step 512 limits the amount of time the time trigger 106 operates before the system 100 branches to monitor the anticipation/latency reduction subsystems 107. If in step 512 Z is less than W, the trigger 106 checks to see if the user has turned off device 110, step 513, and then returns to step 502 to receive the next present time signal. Step 513 might also be used to determine if the system 100 itself has turned off the device 110 or to determine if some other device has turned off the device 110.
FIG. 10 is a flowchart 1000 of the operation of the attitude trigger 109. The physical characteristics of the electronic device that are sensed by the attitude sensing device shall be referred to as attitude characteristics. The attitude trigger receives attitude information representing these attitude characteristics. This attitude information is obtained from an attitude signal that comes from the attitude sensing device. In the present embodiment, the attitude trigger 109 is implemented using hardware that executes software. The hardware is described with reference to FIG. 13. The flowchart 1000 illustrates the operation of the attitude trigger 109's software. The attitude trigger checks to determine whether or not the attitude of the electronic device 10 is changing at higher than a specified rate or if the attitude of the electronic device 110 has changed more than a specified amount from a steady state attitude. If the attitude is changing at higher than this specified rate or has changed more than the specified amount, the system 100 activates the electronic device 110. Step 1001 of flowchart 1000 defines a “degrees per second” activation limit C, a “degrees from steady state” activation limit D, and a “record new steady state A” limit E. In step 1002, the trigger 109 receives a present attitude signal from the attitude sensing device 105 and, in step 1003, checks to see if a value for “steady state” attitude A and “last received” attitude B have been stored previously. If values for A and B have not been stored, the trigger 109, in step 1004, stores the present attitude received from the attitude sensor as both A and B and the flowchart 1000 then branches to step 1101 of FIG. 11 to check the position trigger 108. If step 1003 determines that values for A and B have been stored previously, the flowchart 1000 branches to step 1005 where the trigger 109 calculates the difference between the present attitude and “last received” attitude B. The trigger 109 then divides this attitude difference by W to give a degrees per second value that represents a rate of change of the attitude of the electronic device 110, step 1006. The trigger 109 then compares this calculated degrees per second with the “degrees per second” activation limit C, step 1006. If the calculated degrees per second value exceeds C, the flowchart 1000 branches to step 304 of FIG. 3, and the system 100 fully activates the device 110. If the calculated degrees per second value does not exceed C, the flowchart 1000 branches to step 1007.
In step 1007, the trigger 109 determines the difference between the present attitude and the last received attitude B. This difference is compared to the “record new steady state A” limit E. Limit E is an attitude change threshold. Attitude changes that are less than this threshold, for example, will not cause the steady state attitude A and the present attitude B to be updated. Attitude changes that are greater than or equal to this threshold will cause these attitudes A and B to be updated. This limit E, thus prevents minor motion of the electronic device 110 from being recorded as a new steady state value A. In other words, the limit E prevents the trigger 109 from resetting the steady state value A due to slight or insignificant movements of the system 100 or the electronic device 110.
Thus, if the change in attitude exceeds E, the flowchart 1000 branches to step 1008 where the present attitude reading is stored as both the “steady state” attitude A and the “last received” attitude B. If the change in attitude does not exceed E, the flowchart branches to step 1009 where the trigger 109 calculates the difference between the present attitude and “steady state” attitude A. The trigger 109 then compares this difference to the “degrees from steady state” activation limit D, step 1010. If the difference exceeds D, the flowchart 1000 branches to step 304 of FIG. 3, and the system 100 activates the device 110. If the difference does not exceed D the flowchart branches to step 1011 to store the present attitude reading as B and then to step 1101 of FIG. 11 to check the position trigger 108. Thus, if the device 10 is not activated by the attitude trigger 109, the system 100 moves on to monitor the position trigger 108.
FIG. 11 is a flowchart 1100 of the operation of the position trigger 108. The physical characteristics of the electronic device that are sensed by the position sensing device shall be referred to as position characteristics. The position trigger receives position information representing these position characteristics. This position information is obtained from a position signal that comes from the position sensing device. In the present embodiment, this operation is implemented using hardware to execute software. The hardware used to implement the position trigger is discussed with reference to FIG. 14. The flowchart 1100 illustrates the operation of the software. The position trigger executes position activation routines. The position trigger 108 checks to determine whether or not the position of the electronic device 110 has changed by a specified amount from its position at the time a position activation routine is activated. The position 108 also checks the proximity of the electronic device 110 to areas or points of interest specified by the user, for example. In step 1101 the position monitoring mode is activated and the position sensing device 104 transmits position information to the trigger 108. Steps 1102-1109 deal with position activation routines that activate the electronic device 110 or a portion of the electronic device 110 at user defined distances of movement or user defined positions. For example, the user can set the system 100 to activate the electronic device 110 every 50 feet. In step 1102, the trigger 108 determines if such an activation routine is active. If not, the flowchart 1100 branches to step 1110. If such a routine is active, the flowchart 1100 branches to step 1103 to determine if the active position activation routine has just been initiated. If the routine has just been initiated, the trigger 108 stores the present position of device 110 received in step 1101 as the “last stop” position G, step 1104, prompts the user to input the desired activation distance F, step 1105, and stores F, step 1106. If step 1103 determines that such an activation routine was already active, the trigger 108 calculates the distance from G to the present position, step 1107, and then compares this calculated distance to the user specified activation distance F, step 1108. If the calculated distance is greater than or equal to distance F, the flowchart 1100 branches to step 304 of FIG. 3 and the system 100 fully activates the device 110. If the calculated distance is less than F, the flowchart 1100 branches to step 1110. Alternate embodiments of the invention could work with position activation routines that handle a number of user specified distances. These distances could be used to provide a progressive power-up or power down of the device 110, for example. In particular, specified portions of the device 110 could be powered up or down at various distances to achieve a progressive power up or down of the device 110.
Steps 1110-1112 deal with proximity of device 110 to areas or points of interest that the user has specified. For example, a user may indicate that he or she wants the device 110 or a portion of the device 110 to activate when the device comes within a certain distance of a designated point or area. The user may desire that the device 110 become active when the device is within a half a mile of Auckland harbor outer marker R2, for example. In step 1110, the system 100 checks to see if a user has specified any points/areas of interest. If not, the flowchart 1100 branches to step 502 of FIG. 5 and returns to monitoring the time trigger 106. If the user has specified such points/areas of interest, the flowchart 1100 branches to step 1111 where the trigger 108 determines the distance to or from each such point/area. In step 1112, the trigger 108 compares the user specified activation distance associated with each point/area to the determined distance. If any of the determined distances are less than the associated activation distance, the flowchart 1100 branches to step 304 of FIG. 3 and the system 100 fully activates the device 110. If none of the determined distances are less than the associated activation distance, the flowchart 1100 branches to step 502 of FIG. 5 and the system 100 returns to monitoring the time trigger 106 as described above.
FIG. 4 is a flowchart 400 that shows the general operation of the system 200. The operation is much the same as the operation of system 100 with some modifications. Step 401 is substantially the same as step 301. Step 402 is different than step 302. In particular, the flowchart 500 of FIG. 5 substantially describes the operation of step 402 of FIG. 4. At step 512 of flowchart 500, however, if Z is greater than or equal to W, the flowchart 500 in system 200 executes step 514 and then branches to step 601 of FIG. 6 rather than branching to step 1001 of FIG. 10. This modification is shown by the replacement of FIG. 3's flow chart connector 25 with FIG. 4's flow chart connector 3. Step 403 of FIG. 4 represents that operation of the Activation Profile subsystem 210 and the operation of the attitude trigger 208 and the position trigger 209. The operation of subsytem 210 is described in more detail below. As can be determined at the end of the activation profile flowcharts discussed below, the attitude and position triggers 209 and 208 operate in the same manner as the triggers 109 and 108, respectively, as was discussed above, except these triggers now operate after the activation profile subsystem 210. Accordingly, the operation of system 200 generally flows from FIG. 5 to FIG. 6 to FIG. 7 to FIG. 8 to FIG. 9 to FIG. 10 and then to FIG. 11, assuming the electronic device 214 is not activated during this flow. Once the operation in FIG. 11 is executed, the operation of system 200 loops back to step 502 of FIG. 5 through connector 5 of FIG. 11 assuming the electronic device 214 still has not been activated by the system 200. Thus, the system 200 may make multiple passes through these flowcharts before the device 214 is activated.
In step 603 the system 200 ascertains whether a user, for example, has selected an existing AP. If so, the software of the subsystem 210 branches to step 607. Instep 607 the system 200 recalls the selected existing AP and provides the existing AP defined settings to each of the AP triggers 211, 212 and 213. As illustrated in step 607, an activation profile might use some or all of these triggers to sense conditions. As discussed below, each of these triggers senses different types of conditions. Alternate embodiments could use alternative triggers that sense other types of conditions. After entering the AP defined settings in the appropriate ones of the triggers 211, 212 and 213, the flowchart 600 branches to step 608 which is expanded in FIGS. 7-9.
FIG. 7 is a flowchart 700 that shows the operation of the activation interval trigger 211. The activation interval trigger 211 is implemented using hardware and software. The hardware is discussed with reference to FIG. 22 below. The flowchart 700 represents the operation of the AIT software in the present embodiment. Again, the activation interval trigger 211 is used by the activation profile subsystem to detect repetitive conditions. This particular trigger 211 is for detecting repetitive elapsed times from the time the system 210 entered the monitor mode in step 401 to the “present time” at which the device 214 is activated. Thus, the system 200 will “learn” to turn the electronic device 214 on at a particular time from the time the system 200 enters the monitor mode if the electronic device 214 is previously repeatedly turned on at substantially the same time (within a predefined tolerance) of the time when the system 200 enters the monitor mode. While the present embodiment discusses “activation” of the electronic device, alternate embodiments could deal with deactivation. Accordingly, the AIT trigger and the activation interval value refer herein to such intervals whether the device 214 is being powered up or powered down.
In step 701, the AIT 211 ascertains whether or not an AIT interval value for the AIT 211 has been stored. If an interval value has been stored, the flowchart 700 branches to step 702. If an interval value for the AIT has not been stored, the flowchart 700 branches from step 701 to step 703. In step 702, the AIT 211 calculates the elapsed time from the time the system 200 entered the monitor mode to a “present time” where the present time is the time that was most recently read in step 502. This elapsed time shall be referred to as an observed activation interval value. Again, the monitor mode is activated in step 401. From step 702, the operation branches to step 704.
In step 704, the AIT 211 compares the elapsed time calculated in step 702 to the AIT interval value. If the elapsed time “matches” the AIT interval value, the flowchart 700 branches to step 404 of FIG. 4 and the system 200 fully activates the device 214. An elapsed time “matches” the AIT interval value when it is equal to or within some predefined range of the interval value. If the elapsed time does not match the AIT interval value, the flowchart 700 branches to step 703. As described below, this AIT interval can be a “learned” value.
In step 706 the system 200 checks to see if the DTI list is full. If not, the flowchart 700 branches to step 801 of the flowchart 800 shown in FIG. 8. In step 801, the system 200 proceeds to update the other AP triggers (i.e. the RAT 212 and the RDT 213) if appropriate. If in step 706 the system 200 determines that the DTI list is full, the flowchart 700 branches to step 707. In step 707, the system 200 compares each of the entries in the DTI list to determine whether or not a majority of the DTIs are within the predefined tolerance limit of each other, step 708. This comparison can be accomplished in any manner that identifies a majority group of DTI's that are relatively close to each other (i.e. within the predefined tolerance of each other). Again, the predefined tolerance limit can be chosen as appropriate for the particular application. One approach determining whether a majority of DTI's are within a predefined tolerance of each other would be to determine the mean of all the entries in the DTI list. Each of the DTI's could then be compared to this mean. If a majority of the DTIs are within the predefined tolerance of the mean, the flowchart 700 branches to step 709 where the DTIs in this majority are averaged. Again, other approaches, including more sophisticated approaches, could be used to perform this identification of an appropriate majority. The average value of the DTI's in the identified majority is saved as a new AIT interval value for the AIT 211. From step 709, the flowchart 700 then branches to step 801 of FIG. 8 to proceed to update the other AP triggers if appropriate. If in step 707 the system 200 determines that a majority of the DTIs are not within the predefined tolerance of each other, the flowchart 700 branches to step 801 of FIG. 8 to proceed to update the other AP triggers if appropriate.
[(0�,0�, 0�), (20�, 20�, 0�), (45�,45�, 0�), (90�, 90�, 0�), (90�, 120�, 0�), (90�, 130�, 0�)] (1)
In step 801, the RAT 212 records an attitude reading (e.g. an x,y,z coordinate) from the attitude sensing device 205 and places the recorded attitude at the top of a list of attitude readings. The number of (x,y,z) attitude readings in this attitude list again is typically defined by the requirements of the particular application. Attitude readings are added to this attitude list until it is full. Again, each pass through the flowchart 800 generates a single (x,y,z) attitude reading that is added to the list. Once the attitude list is full, each newly recorded attitude reading is placed at the top of the list and for each new reading added, the oldest attitude reading is bumped off the bottom of the list. In step 802 the RAT 212 ascertains whether or not the device 214 has been activated. It may have been activated by a user, by the system 200 itself or by some other device. If the device 214 has been activated, the flowchart 800 branches to step 806. If the device 214 has not been activated, the flowchart 800 branches to step 803.
If in step 802 the RAT 212 branched to step 806, in step 806 the RAT 212 “learns” the attitude series that occurred before the device 214 was turned on. In particular, the series of attitudes that occurred before the device 214 turned on is added to an activation motion routine (AMR) list. By moving through the flowchart 800 multiple times, multiple attitude series are added to the AMR list. Thus, the activation motion routine list is a list of lists or a list of “attitude series.” In particular, each entry in the AMR list is itself a list of attitudes. The RAT 212 stores the attitude list from step 801 as an activation motion routine. The RAT 212 then places this AMR at the top of a list of AMRs. The number of entries in this AMR list is typically defined according to the requirements of the particular application. Each new AMR is added to the top of the AMR list. If the list is full, for each new AMR is added, the oldest AMR is bumped from the bottom of the list.
In step 807, the RAT 212 tests to ascertain whether or not the AMR list is in fact full. If it is not, the flowchart 800 branches to step 905 of the flowchart 900 of FIG. 9 to update the repetitive distance trigger setting if appropriate. If the AMR list is full, the flowchart 800 branches to steps 808 and 809. In steps 808 and 809, the RAT 212 compares the AMR's in the list and ascertains whether a majority of the AMRs are within an predefined tolerance of each other. One approach to doing this is to determine the mean of the corresponding attitude readings in all of the lists that make up the AMR. For example, the RAT 212 may calculate the mean of all of the first attitude readings in the lists that make up the AMR; then the mean of all the second attitude readings in the list that makes up the AMR; and so on. Upon calculating such a “mean attitude list,” the RAT 212 compares each of the attitude readings in each entry of the AMR list to the corresponding attitude readings in the mean attitude list. If all of the attitude readings of a particular AMR entry are within a predetermined tolerance of the corresponding mean attitude from the mean attitude list, then the particular AMR is included in a group. If a majority of AMR's are included in this group, then the flowchart 800 branches from step 809 to step 810 where the corresponding attitude readings in each of the AMR entries in the majority are averaged and this list of average attitudes is saved as a new RAT attitude setting. Other techniques can be used to determine which of the AMR's are within a predefined tolerance of each other. From step 810 the flowchart branches to step 905 of FIG. 9 to update the repetitive distance trigger setting if necessary. In step 809, if a majority of the AMRs are not within the predefined tolerance of each other, the flowchart 800 branches to step 905 of FIG. 9 to update the repetitive distance trigger setting if appropriate.
FIG. 9 is a flowchart 900 that shows the operation of the repetitive distance trigger 213. In the present embodiment, this operation is implemented by executing software using hardware. The flowchart 900 represents the operation of the software. The hardware used by the RDT 213 is described with reference to FIG. 24 below. The repetitive distance trigger 213 monitors repetitive distances from the position of the electronic device 214 when the system 200 enters the monitor mode to the position of the electronic device 214 when the electronic device is turned on. The system 200 will “learn” to turn on at this same distance from this position of the electronic device 214 when the electronic device 214 entered the monitor mode.
In step 901 of flowchart 900, the RDT 213 ascertains whether a repetitive distance value for the repetitive distance trigger (RDT) has been stored in an application profile (AP). This repetitive distance value can be a learned value as described below. If a repetitive distance value has been stored, the flowchart 900 branches to step 902. If a repetitive distance value has not been stored, the flowchart 900 branches to step 903. In step 902 the RDT 213 calculates the distance from the present position of electronic device 214 to the position of electronic device 214 at the time the monitor mode was activated. This distance shall be referred to as an observed distance value. The flowchart 900 then branches from step 902 to step 904. In step 904 the RDT 213 compares the distance calculated in step 902 to the repetitive distance value. If the calculated distance “matches” the repetitive distance value, the flowchart 900 branches from step 904 to step 404 of FIG. 4 and the system 200 fully activates the device 214. A match occurs if the calculated distance falls within a specified range of the repetitive distance value. If the calculated distance does not match the repetitive distance value, the flowchart 900 branches to step 903. In step 903 the RDT 213 ascertains whether or not the device 214 has been activated. If the device 214 has not been activated, the flowchart 900 branches to step 1001 of FIG. 10 to proceed with checking the attitude trigger 209 and position trigger 208. This branch is shown by the connector 27 from FIG. 9 to FIG. 6 and the connector 25 from FIG. 6 to FIG. 10. The operation of triggers 209 and 208 are the same as the operation of the triggers 109 and 108, respectively, which have been described with reference to the system 100.
If a majority of the DDIs are within the predefined tolerance of each other, the system 200 has identified a pattern of device 214 activations where the device 214 has been activated repeatedly at about the same distance from the position of the device 214 when the system 200 entered the monitor mode. If the majority are within this predefined tolerance, the flowchart 900 branches to step 909 where the DDIs in the majority are averaged. This average value is saved as a new value for the repetitive distance value. This step is where the system 200 “learns” the repetitive distance for which it is looking. From step 909 flowchart 900 branches to step 401 of FIG. 4 and the system 200 fully activates the device 214. If in step 908 a majority of the DDIs are not within the predefined tolerance off the repetitive distance value, the flowchart 900 branches to step 401 of FIG. 4 and the system 200 fully activates the device 214.
FIG. 15 illustrates a system 1500 that is coupled to a vision system 1514. This system 1500 illustrates an embodiment of the invention that is being used to control the vision system 1514. The vision system 1514 is a particular example of an electronic device such as the device 214. The vision system 1514 could be a traditional optical combiner type of instrument, such as a heads up display, or preferably a vision system of the type as disclosed in the PCT publication no. WO 95/07526. This published PCT application entitled “Electro-Optic Vision Systems Which Exploit Position and Attitude” having publication no. WO 95/07526 having international filing date Jun. 16, 1994, Applicant Criticom Corp., having inventors John Ellenby and Thomas William Ellenby, and having International application no. PCT/US94/06844 is hereby incorporated herein by this reference. The systems 1500 and 1514 are also used to illustrate additional concepts that relate to the reduction of graphics complexity when motion of the electrical device being controlled is detected. These systems are used to illustrate concepts that relate to the activation or deactivation of system displays based upon detected user proximity and concepts that relate to the conservation of power when system inactivity is detected, among others.
FIGS. 17 and 18 show the operation of the graphics limitation due to unit motion subsystem 1516. FIG. 21 is a block diagram of an embodiment of the hardware used to implement the graphics limitation due to unit motion subsystem 1516. FIGS. 17 and 18 illustrate flowcharts 1700 and 1800 that show how the software that is used to implement the graphics limitation due to unit motion subsystem 1516 operates in relation to detected vibration of vision system 1514 as registered by the piezo-electric gyros 1515. In step 1701 the system 1516 defines the application specific vibration limit H. The vision system 1514 will begin to decrease the complexity of all graphics when the level of vibration rises above the limit H. The “level of vibration” is typically measured by a number of changes in motion (e.g. direction of motion) over a period of time. Thus, the “level of vibration” is a “vibration rate” which might be a rate of direction changes, for example. In step 1702 the subsystem 1516 receives motion signals from the piezo-electric gyros 1515 and time signals from the clock 1501 and calculates the vibration rate. These gyros are also typically associated with a deformable prism image stabilization system (not shown) of the vision system 1514, though the gyros may be independent of any other device 1514 subsystems. In step 1703 the system 1514 ascertains whether the calculated vibration rate exceeds the vibration limit H. If the calculated vibration rate does not exceed H, the flowchart 1700 branches to step 1801 of FIG. 18 which describes additional operations of the graphics limitation due to unit motion subsystem 1516. If the calculated vibration rate does exceed the vibration limit H, the flowchart 1700 branches to step 1704. In step 1704 the system 1514 ascertains whether the calculated vibration rate exceeds the ability of a stabilization system to stabilize the image displayed by the vision system. The image stabilization system is typically specified as being able to handle maximum vibration rate. If the calculated vibration rate does not exceed the ability of the vision system stabilization system to stabilize the image, the flowchart 1700 branches to step 1706. If the calculated vibration rate does exceed the ability of the vision system stabilization system to stabilize the image, the flowchart 1700 branches to step 1705.
In step 1705, the system 1516 reduces the “complexity level” of all recalled graphic objects by an appropriate number of “complexity levels” based upon the severity of the vibration detected. In the present embodiment, for example, the complexity level may be reduced by two or more levels in response to a determination that the vibration exceeds the ability of the stabilization system to compensate for the vibration. It may be appropriate in embodiments of the invention to reduce the complexity level by a greater amount when the stabilization system is no longer able to compensate for vibrations because, under such circumstances, the vibrations likely will be more severe.
Even when the stabilization system is able to handle the vibration, in the present embodiment the complexity level is reduced because the user likely will be vibrating. Accordingly, in step 1706 the system 1514 reduces by one “level” the “complexity level” of all of the graphic objects being displayed. In the present embodiment, to reduce complexity levels, one or more complexity levels may be defined to represent each graphic object. Thus, one graphic object may be represented by one complexity level. A second graphic object, on the other hand, may be represented by a plurality of complexity levels. The different complexity levels associated with a particular graphic object each visually represent that particular graphic object, but at different levels of complexity. These levels can range from highly complex, (e.g. a full blown raster image) to the minimum complexity required to impart the meaning of the graphic object to a user (e.g. a simple vector image).
To change complexity levels, the system 1514 may control which graphical objects are displayed. For example, the system 1514 may display only the more important graphical objects when vibration occurs. Alternatively, the system 1514 may decrease complexity by progressively decreasing the resolution of some or all of the graphics objects being displayed based upon importance. Thus, for example, if the system 1514 was being used in the foregoing tourism context, the resolution of the markers might be decreased as a result of vibration so that the markers are displayed as only a rough geometric approximation. Alternatively, the markers may not be displayed at all in that context. To define the complexity levels, each complexity level is assigned a “complexity number.” In the present embodiment, the complexity number is the number of calculations required to generate the graphical object associated with that particular complexity level. These different complexity levels are used by the system 1514 when allocating the resources of system 1514 for graphics generation.
The hardware that implements the time triggers 106 and 206 is illustrated in FIG. 12. The time triggers 106 and 206 include four RISC processors 1202, 1204, 1206 and 1208. These processors are programmed to each perform portions of the operations described with respect to FIG. 5. RISC processor 1202 stores the monitor limit W and compares the elapsed time reading Z with W. Processor 1204 keeps track of the elapsed time reading Z. Processor 1208 stores the “last checked” time Y and calculates the time that has elapsed from the time Y to the present time. Processor 1206 stores the activation interval X and compares to the activation interval X to the time that has elapsed from the time Y to the present time. Multiple processors need not be used. In particular, alternate embodiments might use a different number of processors, a single RISC or CISC processor or even other types and/or combinations of hardware that perform appropriate functions to implement an embodiment of the invention.
The hardware that implements the attitude triggers 109 and 209 is illustrated in FIG. 13. The attitude triggers 109 and 209 include five RISC processors 1302, 1304, 1306, 1308 and 1310. These processors are programmed to each perform portions of the operations described with respect to FIG. 10. Processor 1308 stores the “last received” attitude B and calculates the degrees per second rate of attitude change from the time the attitude B was stored to the time the new attitude is stored. Processor 1302 stores the “Degrees per Second” activation limit C and compares this limit C to the degrees per second value calculated by the processor 1308. Processor 1304 stores the steady state attitude reading A and calculates the difference between the last received attitude and A. Processor 1306 stores the “Record New Steady State A” Limit E and compares the degrees per second value calculated by processor 1308 to the limit E. Processor 1310 stores the “Degrees From Steady State” Activation limit E and compares the limit E to difference calculated by processor 1304. Multiple processors need not be used. In particular, alternate embodiments might use a different number of processors, a single RISC or CISC processor or even other types and/or combinations of hardware that perform appropriate functions to implement an embodiment of the invention.
The hardware that implements the position triggers 108 and 208 is illustrated in FIG. 14. The position triggers 108 and 208 include three RISC processors 1402 and 1404 and graphics controller 1406. These processors are programmed to each perform portions of the operations described with respect to FIG. 11. The graphics controller also performs some of the functions described with respect to FIG. 11. Processor 1402 stores the “last stop” position G and calculates the range from the current position to the last stop position G. Processor 1404 stores the set distance F and compare the range calculated by processor 1402 to the distance F. Graphics controller 1406 calculates the range to all areas that a user has specified are of interest and that have associated range activation thresholds. Multiple processors need not be used. In particular, alternate embodiments might use a different number of processors, a single RISC or CISC processor or even other types and/or combinations of hardware that perform appropriate functions to implement an embodiment of the invention.
FIG. 25 illustrates the hardware of the graphics limitation due to unit motion (GLDUM) subsystem 1516. As shown, the GLDUM subsytem 1516 uses 8 RISC processors 2502, 2504, 2506, 2508, 2510, 2512, 2514 and 2516. RISC processor 2502-2508 deal with vibration of the electronic device 214. RISC processors 2510-2516 deal with attitude change of the electronic device 214. RISC processor 2502 stores the vibration limit H. Processor 2504 calculates the vibration rate of the vision system 1514. Processor 2506 compares the vibration rate calculated by processor 2504 with the vibration limit stored by processor 2506. Processor 2508 instructs the system 1514 to degrade the complexity of displayed graphics objects according to the result of the comparison by processor 2506. Processor 2510 stores the attitude slew rate limit J of the system 1514. Processor 2512 calculates an actual slew rate of the attitude of the system 1514. Processor 2514 compares the actual slew rate calculated by processor 2514 with the slew rate limit J stored by processor 2510. Multiple processors need not be used. Alternate embodiments might use a different number of processors, a single RISC or CISC processor or even other types and/or combinations of hardware that perform appropriate functions to implement an embodiment of the invention.
While Applicant has described the invention in terms of specific embodiments, the invention is not limited to or by the disclosed embodiments. The Applicant's invention may be applied beyond the particular systems mentioned as examples in this specification. Although a variety of circuits have been described in this specifications, embodiments of the invention need not use all of the specific circuits described herein. In addition, alternate embodiments might use alternative circuits for some or all of the circuits. For example, the RISC processor of FIGS. 12-14 could be replace by a CISC processor, a single RISC processor or alternate circuitry that accomplishes the described functions. In addition, while portions of the embodiments have been disclosed as software, alternate embodiments could implement some or all of the software functions in hardware. Alternate embodiments of the invention might also use alternative sensing methods or devices to accomplish the purposes disclosed herein. Limits and/or thresholds expressed herein as upper (or lower) limits might in alternate embodiments be implemented as lower (or upper) limits. Where the present embodiments discuss activation of an electronic device, alternate embodiments might be used in a similar manner to deactivate electronic devices. Similarly, while the flow charts of the present embodiment are in terms of “activation of the device.” Alternate embodiments may be designed to activate (or deactivate) portions of the device to provide a progressive activation or a progressive deactivation, for example.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4125871Feb 7, 1977Nov 14, 1978Arthur D. Little, Inc.Portable data entry deviceUS4598355Oct 27, 1983Jul 1, 1986Sundstrand CorporationFault tolerant controllerUS4603582 *Apr 16, 1984Aug 5, 1986Middleton Harold GInertial dynamometer system and method for measuring and indicating gross horsepowerUS4700307 *Jul 11, 1983Oct 13, 1987General Dynamics Corp./Convair DivisionFeature navigation system and methodUS4725735Aug 21, 1985Feb 16, 1988Amcor Electronics Ltd.Power supply for electrical detectors particularly for gamma radiation monitorsUS4994988 *Mar 7, 1988Feb 19, 1991Brother Kogyo Kabushiki KaishaPrinter having a multi-mode control panel selectively manipulatable between varying modes of operationUS5103192 *Jun 6, 1990Apr 7, 1992Fujitsu LimitedPhase-difference detecting circuit and method of reducing power consumption in a pll systemUS5106655 *Jan 27, 1989Apr 21, 1992Measurex CorporationCross-directional smoothness controller and method of using the sameUS5164931 *Apr 8, 1991Nov 17, 1992Hitachi, Ltd.Method and apparatus for control of positioningUS5291073Oct 7, 1992Mar 1, 1994John Fluke Mfg. Co., Inc.Thermal power sensorUS5535125 *Apr 17, 1995Jul 9, 1996Sony CorporationNavigation system data recordable by user, recording medium thereof, and methods for recording/reproducing to/from the sameUS5541831Apr 16, 1993Jul 30, 1996Oliver Manufacturing Co., Inc.Computer controlled separator deviceUS5603570Nov 7, 1994Feb 18, 1997Nec CorporationConstant-temperature control using surroundings temperature of a deviceUS5617317 *Jan 24, 1995Apr 1, 1997Honeywell Inc.True north heading estimator utilizing GPS output information and inertial sensor system output informationUS5694335Mar 12, 1996Dec 2, 1997Hollenberg; Dennis D.Secure personal applications networkUS5757365Jun 7, 1995May 26, 1998Seiko Epson CorporationPower down mode for computer systemUS5763961Sep 19, 1996Jun 9, 1998Endress+Hauser Gmbh+Co.Electronic switching deviceUS5907491Apr 4, 1997May 25, 1999Csi Technology, Inc.Wireless machine monitoring and communication systemUS5974476 *Dec 12, 1997Oct 26, 1999Faraday Technology Corp.On-chip input/output device having programmable I/O unit being configured based upon internal configuration circuitUS6012105 *May 1, 1997Jan 4, 2000Telefonaktiebolaget L M EricssonSystem for interfacing with an external accessory in one of two interface modes based on whether communication can be established with external accessory or notUS6026690 *Jun 14, 1995Feb 22, 2000Sony CorporationVibration sensor using the capacitance between a substrate and a flexible diaphragmUS6122595 *Jun 17, 1999Sep 19, 2000Harris CorporationHybrid GPS/inertially aided platform stabilization systemEP0622721A1Mar 28, 1994Nov 2, 1994Advanced Micro Devices Inc.Power interrupt devicesJPH0830576A * Title not available* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS7634860 *May 3, 2005Dec 22, 2009Transphase Technology, Ltd.Steam boxUS7885145Oct 26, 2007Feb 8, 2011Samsung Electronics Co. Ltd.System and method for selection of an object of interest during physical browsing by finger pointing and snappingUS8073198Oct 26, 2007Dec 6, 2011Samsung Electronics Co., Ltd.System and method for selection of an object of interest during physical browsing by finger framingUS8218873Feb 28, 2011Jul 10, 2012Nant Holdings Ip, LlcObject information derived from object imagesUS8218874Mar 22, 2011Jul 10, 2012Nant Holdings Ip, LlcObject information derived from object imagesUS8224077Jan 13, 2011Jul 17, 2012Nant Holdings Ip, LlcData capture and identification system and processUS8224078Feb 28, 2011Jul 17, 2012Nant Holdings Ip, LlcImage capture and identification system and processUS8224079Apr 21, 2011Jul 17, 2012Nant Holdings Ip, LlcImage capture and identification system and processUS8326031Mar 22, 2011Dec 4, 2012Nant Holdings Ip, LlcImage capture and identification system and processUS8326038Aug 10, 2011Dec 4, 2012Nant Holdings Ip, LlcObject information derived from object imagesUS8331679Aug 10, 2011Dec 11, 2012Nant Holdings Ip, LlcObject information derived from object imagesUS8335351Apr 21, 2011Dec 18, 2012Nant Holdings Ip, LlcImage capture and identification system and processUS8437544Apr 6, 2012May 7, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8457395Jun 11, 2012Jun 4, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8463030Mar 22, 2011Jun 11, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8463031Jun 14, 2012Jun 11, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8467600Apr 21, 2011Jun 18, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8467602Jun 27, 2012Jun 18, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8478036Mar 2, 2012Jul 2, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8478037Jun 29, 2012Jul 2, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8478047Apr 9, 2012Jul 2, 2013Nant Holdings Ip, LlcObject information derived from object imagesUS8483484Aug 10, 2011Jul 9, 2013Nant Holdings Ip, LlcObject information derived from object imagesUS8488880Mar 2, 2012Jul 16, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8494264May 4, 2012Jul 23, 2013Nant Holdings Ip, LlcData capture and identification system and processUS8494271May 22, 2012Jul 23, 2013Nant Holdings Ip, LlcObject information derived from object imagesUS8498484Feb 28, 2012Jul 30, 2013Nant Holdingas IP, LLCObject information derived from object imagesUS8503787Aug 10, 2011Aug 6, 2013Nant Holdings Ip, LlcObject information derived from object imagesUS8520942Jun 27, 2012Aug 27, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8548245Oct 4, 2012Oct 1, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8548278Oct 2, 2012Oct 1, 2013Nant Holdings Ip, LlcImage capture and identification system and processUS8582817Oct 2, 2012Nov 12, 2013Nant Holdings Ip, LlcData capture and identification system and processUS8588527Nov 27, 2012Nov 19, 2013Nant Holdings Ip, LlcObject information derived from object imagesUS8605141Feb 24, 2011Dec 10, 2013Nant Holdings Ip, LlcAugmented reality panorama supporting visually impaired individualsUS8810598Jun 30, 2011Aug 19, 2014Nant Holdings Ip, LlcInterference based augmented reality hosting platformsUS20050054381 *Dec 23, 2003Mar 10, 2005Samsung Electronics Co., Ltd.Proactive user interface* Cited by examinerClassifications U.S. Classification710/8, 710/14, 710/18, 710/62, 710/16, 710/15International ClassificationG06F1/32, G05B19/042Cooperative ClassificationG05B2219/25291, Y02B60/1278, Y02B60/1282, G06F1/3287, G06F1/3203, G05B19/042, Y02B60/32, G06F1/3215, G06F1/3209European ClassificationG06F1/32P5S, G06F1/32P1A, G06F1/32P1C, G06F1/32P, G05B19/042Legal EventsDateCodeEventDescriptionNov 9, 2000ASAssignmentOwner name: GEOVECTOR CORPORATION, CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ELLENBY, JOHN;ELLENBY, PETER MALCOLM;ELLENBY, THOMAS WILLIAM;REEL/FRAME:011312/0866;SIGNING DATES FROM 20001003 TO 20001012Owner name: GEOVECTOR CORPORATION SUITE 212 601 MINNESOTA STREFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ELLENBY, JOHN /AR;REEL/FRAME:011312/0866;SIGNING DATES FROM 20001003 TO 20001012Mar 10, 2008FPAYFee paymentYear of fee payment: 4Feb 24, 2009ASAssignmentOwner name: QUALCOMM INCORPORATED, CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GEOVECTOR CORPORATION;REEL/FRAME:022299/0570Effective date: 20090113Owner name: QUALCOMM INCORPORATED,CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GEOVECTOR CORPORATION;US-ASSIGNMENT DATABASE UPDATED:20100413;REEL/FRAME:22299/570Owner name: QUALCOMM INCORPORATED,CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GEOVECTOR CORPORATION;REEL/FRAME:022299/0570Effective date: 20090113Owner name: QUALCOMM INCORPORATED,CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GEOVECTOR CORPORATION;US-ASSIGNMENT DATABASE UPDATED:20100413;REEL/FRAME:22299/570Effective date: 20090113Mar 23, 2012FPAYFee paymentYear of fee payment: 8RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services