U.S. patent application number 11/255810 was filed with the patent office on 2008-01-31 for method and system for limiting controlled characteristics of a remotely controlled device.
This patent application is currently assigned to MOTOROLA, INC.. Invention is credited to Stephen O. Bozzone, Joseph L. Dvorak, David J. Hayes, Von A. Mock, Sybren D. Smith.
Application Number | 20080026671 11/255810 |
Document ID | / |
Family ID | 37968300 |
Filed Date | 2008-01-31 |
United States Patent
Application |
20080026671 |
Kind Code |
A1 |
Smith; Sybren D. ; et
al. |
January 31, 2008 |
Method and system for limiting controlled characteristics of a
remotely controlled device
Abstract
Remotely controlled devices (110) are controlled by one or more
wireless remote controllers (114). The remotely controlled devices
(110) and wireless remote controllers (114) communicate to each
other over a two-way wireless link. The system and method provide
pre-defined profiles that limit the performance of the remotely
controlled devices (110) in order to provide different operating
characteristics with the same remotely controlled devices (110).
The system and method further provide one or more forms of feedback
to a user of the wireless remote controller (114), such as sounds,
vibration, and the like. The feedback can be provided in response
to detected events associated with the remotely control device
(110), such as sharp turns and the like. The performance limits of
the remotely controlled devices (110) is also able to be modified
with operating time in order to simulate, for example, improved
driver skills, fuel depletion and/or pit stops.
Inventors: |
Smith; Sybren D.;
(Plantation, FL) ; Bozzone; Stephen O.;
(Lauderhill, FL) ; Dvorak; Joseph L.; (Boca Raton,
FL) ; Hayes; David J.; (Lake Worth, FL) ;
Mock; Von A.; (Boynton Beach, FL) |
Correspondence
Address: |
FLEIT, KAIN, GIBBONS, GUTMAN, BONGINI;& BIANCO P.L.
551 N.W. 77TH STREET, SUITE 111
BOCA RATON
FL
33487
US
|
Assignee: |
MOTOROLA, INC.
SCHAUMBURG
IL
|
Family ID: |
37968300 |
Appl. No.: |
11/255810 |
Filed: |
October 21, 2005 |
Current U.S.
Class: |
446/456 |
Current CPC
Class: |
A63H 17/36 20130101;
A63H 19/24 20130101; A63H 30/04 20130101 |
Class at
Publication: |
446/456 |
International
Class: |
A63H 30/04 20060101
A63H030/04 |
Claims
1. A method for wirelessly controlling a self propelled apparatus,
the method comprising: storing a profile, the profile comprising at
least a definition of at least one apparatus characteristic limit;
and controlling a self propelled apparatus from a remote
controller, the remote controller being in bi-directional wireless
communications with the self propelled apparatus, wherein the
controlling comprises at least one of: limiting a controlled value
of the self propelled apparatus based upon the at least one
apparatus characteristic limit, and providing feedback through the
remote controller based upon at least one detected event.
2. The method according to claim 1, wherein the remote controller
further comprises a wireless telephone.
3. The method according to claim 1, further comprising: detecting,
within the self propelled apparatus, proximity of the self
propelled apparatus to a remotely sensed marker, the remotely
sensed marker indicating a pre-determined location in an area of
movement for the self propelled apparatus; and triggering, in
response to the detecting proximity, the at least one detected
event.
4. The method according to claim 1, further comprising adjusting,
based upon an operating time of the self propelled apparatus, at
least one of the at least one apparatus characteristic limit.
5. The method according to claim 1, further comprising: detecting
the at least one detected event within the self propelled
apparatus; and transmitting an indication of the detected event
from the self propelled apparatus to the remote controller through
the bi-directional wireless communications.
6. The method according to claim 5, further comprising: detecting
the at least one detected event associated with the self propelled
vehicle; and storing a plurality of feedback representations,
wherein the providing feedback comprises selecting one of the
plurality of feedback representations based upon the at least one
detected event.
7. The method according to claim 1, wherein the self propelled
apparatus is one of a plurality of self propelled apparatuses, the
method further comprising associating the remote controller with
the one of the plurality of self propelled apparatuses.
8. The method according to claim 1, further comprising: maintaining
a status for the self propelled apparatus; and adjusting, based
upon the maintained status, at least one of the at least one
apparatus characteristic limit.
9. The method according to claim 1, further comprising: estimating
that the self propelled device is operating indoors; and adjusting,
based upon the estimating that the self propelled device is
operating indoors, at least one of the at least one apparatus
characteristic limit.
10. The method according to claim 9, wherein the estimating that
the self propelled device is operating indoors comprises: detecting
a lack of reception of a GPS radio signal; or detecting ambient
light intensity.
11. The method according to claim 9, wherein the detecting ambient
light intensity is performed by a camera.
12. A self propelled apparatus, comprising: a processor that
controls at least one operation of the self propelled apparatus; at
least one event detector to detect at least one detected event
associated with the self propelled apparatus; and a bi-directional
wireless communications interface that receives commands for
control of the self propelled apparatus and transmits an indication
of the at least one detected event.
13. The self propelled apparatus according to claim 12, wherein the
indication of the at least one detected event comprises a
specification of the event.
14. The self propelled apparatus according to claim 13, further
comprising: a feedback storage that stores at least one of at least
one stored recorded sound file and at least one stored vibration
profile; and wherein the indication of the at least one detected
event comprises one of the stored feedback representations that is
selected based on the at least one detected event.
15. The self propelled apparatus according to claim 14, wherein the
at least one event sensor comprises a remotely sensed marker
detector that detects a proximity of the self propelled vehicle to
a remotely sensed marker, the remotely sensed marker indicating a
predetermined location in a area of operation for the
apparatus.
16. A remote controller, comprising; a user input sensor that
determines a user input; a self propelled apparatus control module
that generates, based upon the user input, control instructions to
be transmitted to a self propelled apparatus; a bi-directional
short range wireless interface that transmits the control
instructions and receives an indication of at least one detected
event; and a user feedback generator that generates, based upon the
at least one detected event, at least one type of user
feedback.
17. The remote controller according to claim 16, further comprising
a cellular telephone.
18. The remote controller according to claim 16, further comprising
a feedback data storage that stores at least one definition of at
least one feedback to be used as the at least one type of user
feedback.
19. The remote controller according to claim 16, further comprising
a profile data storage that stores performance limits, and wherein
the self propelled apparatus control module limits the control
instructions based upon the performance limits.
20. The remote controller according to claim 16, further comprising
at least one indoor environment estimator that estimates whether
the remote controller is in an indoors environment, and wherein the
self propelled apparatus control module limits the control
instructions based upon an estimate of whether the remote
controller is in an indoors environment.
Description
FIELD OF THE INVENTION
[0001] The present invention relates generally to the field of
controlling remote controlled devices, and more particularly
relates to limiting the controlled characteristics of remotely
controlling devices and providing feedback to the user of a remote
controller.
BACKGROUND OF THE INVENTION
[0002] Remotely controlled devices such as model race cars,
airplanes and watercraft, are controlled by remote controlling
transmitters that have a one-way radio link to the device being
controlled. Such one-way control transmitters are limited in their
ability to provide the user with stimuli to augment the visual
perception of the remotely controlled device. Additional stimuli
are generally only imagined by the user. Physical feedback,
operational boundaries, and device performance are generally
controlled only by the user and not by pre-set, external influences
such as is the case in the real world. The simulation of real world
experiences when controlling these devices is therefore
limited.
[0003] Therefore a need exists to overcome the problems with the
prior art as discussed above.
SUMMARY OF THE INVENTION
[0004] Briefly, in accordance with the present invention, disclosed
is a method for wirelessly controlling a self propelled apparatus
that includes storing a profile that contains at least a definition
of at least one apparatus characteristic limit. The method further
includes controlling a self propelled apparatus from a remote
controller that is in bi-directional wireless communications with
the self propelled apparatus. The controlling includes at least one
of limiting a controlled value of the self propelled apparatus
based upon the at least one apparatus characteristic limit, and
providing feedback through the remote controller based upon at
least one detected event.
[0005] Also disclosed is a self propelled apparatus that includes a
processor that controls at least one operation of the self
propelled apparatus, at least one event detector to detect at least
one detected event associated with the self propelled apparatus,
and a bi-directional wireless communications interface that
receives commands for control of the self propelled apparatus and
transmits an indication of the at least one detected event.
[0006] Further disclosed is a remote controller that includes a
user input sensor that determines a user input and a self propelled
apparatus control module that generates, based upon the user input,
control instructions to be transmitted to a self propelled
apparatus. The remote controller further includes a bi-directional
short range wireless interface that transmits the control
instructions and receives an indication of at least one detected
event, and a user feedback generator that generates, based upon the
at least one detected event, at least one type of user
feedback.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The accompanying figures, where like reference numerals
refer to identical or functionally similar elements throughout the
separate views and which together with the detailed description
below are incorporated in and form part of the specification, serve
to further illustrate various embodiments and to explain various
principles and advantages all in accordance with the present
invention.
[0008] FIG. 1 illustrates a model race car track with remotely
controlled vehicles and wireless controllers in accordance with one
embodiment of the present invention.
[0009] FIG. 2 illustrates a processing circuit block diagram of a
remotely controlled vehicle in accordance with one embodiment of
the present invention.
[0010] FIG. 3 illustrates a processing circuit block diagram of a
remote controller with cellular phone communications in accordance
with one embodiment of the present invention.
[0011] FIG. 4 illustrates a processing flow diagram for controlling
a remotely controlled vehicle in accordance with one embodiment of
the present invention.
[0012] FIG. 5 illustrates a front view of a remote controller with
cellular phone communications in accordance with one embodiment of
the present invention.
DETAILED DESCRIPTION
[0013] While the specification concludes with claims defining the
features of the invention that are regarded as novel, it is
believed that the invention will be better understood from a
consideration of the following description in conjunction with the
drawing figures, in which like reference numerals are carried
forward.
[0014] FIG. 1 illustrates a model race car track 100 with remotely
controlled vehicles and wireless controllers in accordance with one
embodiment of the present invention. This model race car track 100
can be set up in an outdoor field, in a large building, or in an
indoor setting such as a living room. As described below, the
operation of the exemplary embodiment adjusts for the shorter
distances of common indoor settings by restricting the performance
ability of the remotely controlled vehicles.
[0015] The model race car track 100 of the exemplary embodiment
includes one or more remotely controlled model race cars 110. The
remotely controlled model race cars 110 are self propelled
apparatuses that are able to be of any size, from miniature models
that are suitable for use in confined areas such as indoor use, to
larger models that are suitable for outdoor use in parking lots,
open fields, and the like. Self propelled apparatuses of further
embodiments include, for example, model watercraft, model train,
model aircraft, and the like. Each of the remotely controlled model
race cars 110 is controlled by a corresponding wireless remote
controller 114 held by or located near an associated user of the
device. In the exemplary embodiment, the wireless remote controller
114 provides feedback to the user in the form of, for example,
sounds, vibration, shock pulses, and any other type of feedback
that is able to be provided by the particular control device. The
remotely controlled model race cars 110 further have one or more
associated profiles that specify limits on the capabilities of the
remotely controlled model race car 110 and also include
specifications of feedback stimuli to provide to the user of the
wireless remote controller 114 in response to detected events. The
profile is also able to include specifications of feedback that is
to be provided to the user in response to, for example, particular
detected events. The remotely controlled model race car 110 of the
exemplary embodiment transmits indications of these detected
events, which specify the event that was detected, or
specifications of feedback stimuli to the wireless remote
controller 114. A specification of feedback stimuli is able to
include one or more file names, one or more multimedia resource
identifiers, one or more entire multimedia resources such as a
sound file, image, video file, vibration profile, or combinations
of these.
[0016] In the exemplary embodiment of the present invention, the
operator of the wireless remote controller 114 is also able to
associate the wireless remote controller 114 with a particular
remotely controlled model race car 110 by selecting a particular
remotely controlled model race car 110 from a plurality of remotely
controlled model race cars 110 within range of the wireless remote
controller 114 to control at a particular time. This association
uses a function of the wireless communications interface to
determine which remotely controlled model race cars 110 are in
range and allows a user to select a particular remotely controlled
model race car 110 from a list or through other means.
[0017] The remotely controlled model race cars 110 of the exemplary
embodiment are able to have one or more pre-defined characters.
These pre-defined characters define at least one apparatus
characteristic limit which defines, for example, one or more
performance limitations of a controlled value of that particular
remotely controlled model race car 110. A controlled value in this
context refers to any parameter associated with the remotely
controlled model race car 110 that is controlled by a control
mechanism and whose value can be limited. Examples of controlled
values include vehicle speed, acceleration, turning radius, sound
generation volume, and any other controllable quantity.
[0018] The pre-defined characters of the exemplary embodiment can
be defined, for example, by the type and/or model of the car or the
skill of a particular driver that is fictionally chosen to drive
the car. The driver's skill can be set, for example, by having
driver personalities that correspond to real life drivers and
setting the performance ability of the car according to the real
life drivers NASCAR ranking. These pre-defined characters that are
initially assigned to the remotely controlled race car 110 are able
to be adjusted over time, e.g., performance can be improved, to
simulate, for example, a driver's gaining more experience. Allowing
the performance of a vehicle to improve with driver experience has
the advantage of encouraging more use of the remotely controlled
model race car 110 by an individual user and therefore greater user
satisfaction, sense of achievement, and interest in using and
buying similar products.
[0019] The remotely controlled model race car 110 of some exemplary
embodiments implement their at least one character by receiving and
storing at least one pre-defined profile. Further embodiments store
pre-defined profiles in either the wireless remote controller 114
or divide the data and related processing to implement the profiles
between the remotely controlled model race car 110 and the wireless
remote controller 114. Pre-defined profiles defined for the
remotely controlled model race car 110 correspond to the
pre-defined character for a particular model of car and/or skill of
the driver. In the operation of the exemplary embodiment, the user
of a wireless remote controller 114 is presented with a list of
"cars and/or drivers" from which the user is able to make a
selection. Each of these "cars and/or drivers" selection has a
corresponding pre-defined profile that specifies the performance
characteristics and/or constraints of the particular remotely
controlled race car 110. In the exemplary embodiment of the present
invention, the available pre-defined profiles are stored on the
wireless remote controller 114 or are received by the wireless
remote controller 114 over a wireless data link from a remote
location, such as a service provider. Once a pre-defined profile is
selected by the user, the selected profile implemented for that
remotely controlled race car 110. Embodiments that perform profile
implementation processing either wholly or partially in the
remotely controlled race car 110 communicate the profile selection
or profile data to the wirelessly controlled race car 110 over a
wireless link. Some embodiments of the present invention are able
to store one or more pre-defined profiles in the wirelessly
controlled race car 110 itself and allow a user to select one of
these stored pre-defined profiles by exchanging data with the
wireless remote controller 114 that defines available profiles and
identifying user selections.
[0020] In addition to limiting the performance of a remotely
controlled model race car 110 based upon the vehicles character set
by a pre-defined profile, some embodiments of the present invention
will also alter the vehicle's performance based upon whether the
vehicle is operating in an indoor or outdoor environment. For
example, an indoor environment may be assumed to be a restrictive
space and that slower movement of the vehicle will provide a
similar user experience as is realized with higher performance in
an outdoor environment. As discussed below, the exemplary
embodiment of the present invention attempts to detect if the
remotely controlled model race car 110 is operating in an indoor
environment by either detecting low light conditions with light
sensors or a camera that is part of the wireless remote controller
114, or by detecting an absence of GPS signal with a GPS receiver
that is also part of the wireless remote controller 114.
Embodiments that attempt to determine operation in an indoor or
outdoor environment are able to optionally prompt the user to
confirm this detection, such as by requesting an input that
confirms that the user is in an indoor environment. Further
embodiments use light sensors or GPS receivers located in other
areas, such as in the remotely controlled model race car 110.
[0021] The race car track 100 includes one or more remotely sensed
markers 112. A remotely sensed marker 112 is a physical device that
is able to be sensed by sensors on the remotely controlled model
race car 110, so as to be able to detect when the remotely
controlled model race car 110 is in proximity to the remotely
sensed marker 112. Remotely sensed markers 112 are placed at
pre-determined locations in an area of movement for the remotely
controlled model race car 110 and are able to indicate, for
example, characteristics of a particular portion of the race
environment. Remotely sensed markers 112 are able to indicate, for
example, lap conditions, pit stops for fuel, tires, a simulated
uphill grade, and the like. The detection of the remotely
controlled model race car 110 being in proximity to a remotely
sensed marker 112 triggers an event that is able to affect the
processing, as is described below. The exemplary embodiment of the
present invention adjusts the performance in response to, for
example, an event indicating detection of a remotely sensed marker
112 in order to simulate an environmental limit on a vehicles
performance, such as a simulated uphill grade.
[0022] In the exemplary embodiment, remotely sensed markers 112 are
able to include magnetic field generators, such as permanent or
electromagnetic magnets, that generate a magnetic field that can be
detected by a Hall-effect sensor located within the remotely
controlled model race car 110. Further remotely sensed markers 112
include, for example, Radio Frequency Identification tags, i.e.,
radio activated transponders that return an identification code, or
optically sensed bar codes. Further embodiments of the present
invention are able to incorporate remotely sensed markers 112 of
any type that are able to be sensed by one or more sensors on the
remotely controlled model race car 110. The remotely controlled
model race car 110 is able to detect being in proximity to the
remotely sensed markers and trigger an event upon such detection.
In some embodiments, the remotely controlled model race car 110 is
able to particularly identify the remotely sensed marker 112, such
as by a serial number or similar identifier, to trigger a
particularly identifiable event. These triggered events are used,
for example, to alter the operation of the remotely controlled
model race car 110, to initiate providing feedback to the user
through the wireless remote controller 114, or for any other
purpose. Remotely sensed markers 112 are also able to be used to
facilitate counting of laps by, for example, counting the number of
times a particular remotely sensed marker 112 is passed.
[0023] In the exemplary embodiment of the present invention, the
user of the wireless remote controller 114 is able to choose,
create, or modify feedback that is provided in response to event
notifications that are provided to the user. The feedback that is
provided by the wireless remote controller is able to be any type
of feedback to be provided to the user, such as audio clips,
images, sounds, lighting, vibration and any other type of stimulus.
Example of such feedback includes playing an audio clip of
screeching wheels when the remotely controlled model race car 110
sends an indication of a detected event, such as reflecting that an
extremely sharp turn, or playing an audio clip of a sputtering
engine upon detection of a low level of "fuel" in a fictitious
virtual fuel tank. The particular feedback that is provided to the
user in the exemplary embodiment is selected from a plurality of
stored feedback representations based upon a particular detected
event.
[0024] Race car track 100 of this exemplary embodiment includes a
track layout 102 that consist of a demarcated path for a race
circuit 104 and a pit area 120. The track layout 102 is able to
consist of any type of track demarcation, including simple lines
marked on the ground or moveable surface, three-dimensional
features such as walls and banked curves, and the like. The track
layout 102 includes a pit area 120 with a pit entrance 108 and pit
exit 122. Further embodiments of the present invention operate
without a track layout 102 and simply allow the remotely controlled
model race cars 110 to move without course defining boundaries.
[0025] Some embodiments require the remotely controlled model race
cars to perform a pit stop at specific times. In one example, the
user of the wireless remote controller 114 is provided with an
indication of the need to perform a pit stop and is provided with a
"count down" timer that specifies a time in which a pit stop is to
be performed. In the exemplary embodiment, pit entrance 108 and pit
exit 112 include associated remotely sensed markers 112 that
indicate the entry and exit of the remotely controlled model race
car 110 to and from the pit area 120. A pit stop is determined to
have been performed, and the timer satisfied, when the vehicle
enters the pit area 120 by passing the pit entrance 108.
Embodiments of the present invention allow increased performance of
the remotely controlled model race car 110 based upon how long the
car remains in the pit area, as determined by the time between
passing the pit entrance 108 and pit exit 122. As an alternative to
detecting a pit entrance 108 and pit exit 122, alternative
embodiments of the present invention include a remotely sensed
marker, such as a magnetic marker that is sensed by an Hall-effect
sensor in the vehicle, at a certain location within the pit area
120 and require the remotely controlled model race car 110 to stop
in proximity to that remotely sensed marker to effect a pit stop.
Yet further embodiments of the present invention simply stop or
reduce the performance of the remotely controlled model race car
110 by, for example, shutting the motor down or limiting its speed
to a simulated "coasting speed" for a specified period of time.
Some embodiments further prevent the user from entering commands to
the remotely controlled model race car 110 during a pit stop.
[0026] FIG. 2 illustrates a processing circuit block diagram 200
for a remotely controlled vehicle 110 in accordance with one
embodiment of the present invention. A programmable vehicle
controller 202 in the exemplary embodiment provides the central
control of operations for the remotely controlled vehicle and
includes a programmable microprocessor as well as other
programmable and optionally fixed logic control circuits as are
required for proper operation of the remotely controlled vehicle.
The vehicle controller 202 of the exemplary embodiment communicates
to a wireless remote controller 114 through a wireless
communications interface 204. The wireless communications interface
204 of the exemplary embodiment performs a bi-directional wireless
communications through bi-directional short range wireless data
interfaces that implement the IEEE 802.15.4 standard. Further
embodiments of the present invention are able to utilize wireless
communications interfaces that implement different wireless data
communications as well as a combination of different wireless
communications links and/or a combination of wireless and wired
communications links. Still further embodiments of the present
invention are able to use wired interfaces between the remotely
controlled vehicle and a remote controller.
[0027] The vehicle controller 202 of the exemplary embodiment
further controls a motor 206 that propels the remotely controlled
vehicle. The vehicle controller also controls various audio and
visual output devices, such as lights 208 and speaker 210. Further
audio and visual output devices are also able to be incorporated
into the remotely controlled vehicle and controlled by the vehicle
controller 202.
[0028] The vehicle controller 202 further accepts input from one or
more proximity detectors 212. A single proximity detector is
illustrated for clarity, but embodiments of the present invention
are able to operate with no proximity detectors, a single proximity
detector or multiple proximity detectors. The proximity detector
212 of the exemplary embodiment detects remotely sensed markers
112, as described above, and is able to be any suitable detector,
such as Hall-effect sensors for magnetic markers, or readers for
RFID or optical bar code, according to the type of remotely sensed
markers 112 are to be detected.
[0029] The controller 202 of the exemplary embodiment stores and
retrieves data from volatile memory 220 and non-volatile memory
240. The non-volatile memory 240 of the exemplary embodiment
retains its data when the remotely controlled vehicle is powered
off. The non-volatile memory 240 is normally used to store
information that is to be retained, but the non-volatile memory 204
is also able to be reprogrammed by controller 202 or by external
equipment. Data stored in volatile memory 220 is normally used for
a short period of time, such as while the remotely controlled
vehicle is operating. Embodiments of the present invention are able
to store various data elements in any of volatile and non-volatile
memory according to their design and the division of data storage
described below is in no way a limiting example of these
options.
[0030] The volatile memory 220 of the exemplary embodiment is used
to store a fictitious fuel level 222 and an operating time 224. The
fuel level 222 is an example of a status for the vehicle and is
maintained by the vehicle controller 202. Fuel level 222 indicates
how much fuel is remaining in a "virtual fuel tank." The use of a
virtual fuel tank and a fuel level 222 provides an element of
realism in the operation of the remotely controlled vehicle. The
value of the fuel level 222 is communicated back to the wireless
remote controller 114 for display to the user. In response to
determining that the fuel level 222 value is decreased below a
pre-determined level, the vehicle's maximum speed can be decreased
to simulate a "coasting" or "stopped" mode that simulates running
out of fuel and coasting or possibly pushing the vehicle.
[0031] The operating time 224 is used to determine the time that
the user has been operating this remotely controlled vehicle. As
discussed above, some remotely controlled vehicles can be
configured to perform adjustments of at least one apparatus
characteristic limit to allow greater performance for the vehicle
as the operating time of the vehicle with a particular user
increases in order to simulate the user's acquiring greater skill
with the vehicle.
[0032] The non-volatile memory 240 includes profile data 242 that
defines one or more profiles for the remotely controlled vehicles.
As described above, vehicle profiles define the performance
characteristics for the remotely controlled vehicle. Profile data
is either programmed and stored in the remotely controlled vehicle
or is received by the remotely controlled vehicle through the
wireless communications interface 204. The non-volatile memory 240
of the exemplary embodiment similarly stores a plurality of
feedback representations in feedback data 244 that can be provided
to the user of the wireless remote controller 114. Some embodiments
of the present invention do not store the feedback data in the
remotely controlled vehicle but rather store it as part of the
program stored within the wireless remote controller 114.
Non-volatile memory further includes a program memory 246 that
stores the operational computer program executed by the vehicle
controller 202. Included in the program memory 246 of the exemplary
embodiment is a motor control program 248 that controls the motor
of the remotely controlled vehicle. Also stored in the program
memory 246 is an event determination program 250 that operates in
the exemplary embodiment in conjunction with either inputs from
event detectors, such as the proximity detector 212 or software
that detects changes in software maintained values within
controller 202, to determine detected events that are to trigger
changes in operating conditions or that are to trigger providing
feedback to the user. The program memory further contains an event
responses program 252 that determines the response to be provided
to triggered events, such as decreasing the speed of the remotely
controlled vehicle or providing specific feedback to the user. The
program memory further includes a communications program 254 that
is used to implement communications over the wireless
communications interface 204 of the exemplary embodiment.
[0033] FIG. 3 illustrates a processing circuit block diagram 300
for a remote controller with cellular phone communications 114, in
accordance with one embodiment of the present invention. Further
embodiments of the present invention utilize remote controllers of
various designs and configurations. For example, further
embodiments of the present invention utilize remote controllers
that are in a Personal Digital Assistant (PDA) or even a
stand-alone/dedicated remote controller device. A programmable
controller 302 provides the central control for the remote
controller and includes a programmable microprocessor as well as
other programmable and optionally fixed logic control circuits as
are required for proper operation of the remote controller. The
controller 302 of the exemplary embodiment communicates to a
remotely controlled vehicle 110 through a short range wireless
communications interface 306. The short range wireless
communications interface 306 of the exemplary embodiment implements
a wireless data interface according to the IEEE 802.15.4 standard.
Further embodiments of the present invention are able to utilize
short range wireless communications interfaces that implement
different wireless data communications as well as a combination of
different wireless communications links and/or a combination of
wireless and wired communications links. Still further embodiments
of the present invention are able to use wired interfaces between
the remotely controlled vehicle and a remote controller.
[0034] The controller 302 of the exemplary embodiment is optionally
able to include wireless telephone functionality through a cellular
communications module 304. The cellular communications module is
able to operate independently from the remote controller functions,
or the remote controller functions are able to exchange data with
other processors over long range data communications functions
provided by the cellular communications module 304. Controller 302
also interfaces with a GPS receiver 350, a light sensor 352 and a
camera 354. The GPS receiver 350, light sensor 352 and camera 354
also operate with the cellular communications module 304 to provide
functions commonly found in modem cellular phones. In addition to
operating with the cellular communications module 304, one or more
of the GPS receiver 350, light sensor 352, and camera 354 are
indoor environment estimators that are used in the exemplary
embodiment to estimate whether the remote controller is in an
indoors or outdoors environment. Some embodiments of the present
invention adjust the performance of a remotely controlled vehicle
when the vehicle is operating indoors, as is described above.
[0035] The remote controller 300 further has a user interface that
includes a display 308, keypad 310, speaker 312 and a vibration
generator 314. The speaker 312 and a vibration generator 314 of the
exemplary embodiment are feedback generators used to provide
feedback to the user based upon events detected by the remotely
controlled vehicle which is being controlled. The keypad 310 is
used to accept inputs from the user to control the remotely
controlled vehicle. Keypad 310 is able to have special keys that
support functions for use in remotely controlling a remotely
controlled vehicle, such as "accelerate" and "decelerate" keys.
Alternative embodiments are able to include a keypad 310 that is a
conventional 12 key telephone keypad, optionally with other
function keys as is commonly provided with cellular phones, that
has the remote control input functions mapped to the keys of that
keypad when the device is operating in a remote control mode.
Further embodiments of the present invention include other user
input devices, such as joysticks, sliders, and the like.
[0036] The controller 302 of the exemplary embodiment stores and
retrieves data from volatile memory 340 and non-volatile memory
316. The non-volatile memory 316 of the exemplary embodiment
retains its data when the remote controller is powered off. The
non-volatile memory 316 is normally used to store information that
is to be retained for long time periods, but the non-volatile
memory 316 is also able to be reprogrammed by controller 302 or by
external equipment. Data stored in volatile memory 340 is normally
used for a short period of time while the remote controller is
operating. Embodiments of the present invention are able to store
data in any of volatile and non-volatile memory according to their
design and the storage of data described below is not a limiting
example of these options.
[0037] The volatile memory 340 of the exemplary embodiment is used
to store profile data storage 342 and feedback data storage 344.
The profile data storage 342 defines the profile of the remotely
controlled vehicle that is being controlled and defines performance
limits based upon the selected profile and/or character of that
vehicle. The feedback data storage 344 stores definitions of audio,
visual, vibratory, or other feedback that is to be provided to the
user of the remote controller in response to events received from
the remotely controlled vehicle. Feedback data storage 344 of this
exemplary embodiment includes sound data 346 and vibration profiles
storage 348. Data stored in the vibration profiles 348 define the
intensity of vibrations to be generated by the vibration generator
314 when specified events are received from the remotely controlled
vehicle.
[0038] The non-volatile memory includes a program memory 318 that
stores the operational computer program executed by the controller
302. Included in the program memory 318 of the exemplary embodiment
is a user interface program 320 that controls the user interface
elements of the remote controller. Also stored in the program
memory 246 is vehicle selection program 322 that operates to allow
the user to select a remotely controlled vehicle from among the
remotely controlled vehicles that are available. Some embodiments
of the present invention present a list of available vehicles on
display 308 and allow the user to select one. Other embodiments of
the present invention include remote controllers that do not
include a display and allow the user to select a vehicle through
different operations. For example, a keypad 310 may have a key
labeled "next vehicle" that when pressed, results in a particular
vehicle that is not already being controlled to be selected. This
selection is able to be indicated to the user by having the lights
of that vehicle flash to indicate that it is now selected.
[0039] The program memory further includes a communications program
324 that is used to implement communications over the short range
wireless communications interface 306 of the exemplary embodiment.
Further embodiments are able to implement data communications
through the cellular communications module 304.
[0040] FIG. 4 illustrates a processing flow diagram for remotely
controlling a vehicle 400 accordance with one embodiment of the
present invention. The processing begins by the user's selecting,
at step 402, a vehicle to control. As discussed above, this
selection is performed in the exemplary embodiment by presenting a
list on the remote controller that the particular individual is
using that lists vehicles which are not currently being controlled
by another remote controller. The exemplary embodiment of the
present invention implements a wireless protocol that supports
identification of remotely controlled vehicles that are not
currently being controlled.
[0041] As was also discussed above, an alternative method used to
select a vehicle is to allow the user of the remote controller to
press a "select vehicle" button that changes from one available
vehicle to the next when the "next vehicle" button is pressed. When
"select vehicle" is selected, an additional command, such as
flashing of the vehicles lights or blowing the vehicle's horn, can
be sent cause the newly selected vehicle to identify itself to the
user.
[0042] Once a vehicle is selected, the processing continues by
configuring, at step 404, the vehicle with a profile. As described
above, a profile defines the operating characteristics of the
vehicle, such as maximum speed and/or acceleration. Various
embodiments of the present invention store information defining the
one or more profiles in the remote control device and/or in the
vehicle itself. Profiles stored in the remote control device are
able to be communicated to the vehicle, and profiles stored in the
vehicle can be selected through the remote control device in order
to select the operational limitations of the vehicle. Embodiments
of the present invention further allow a remote control device to
receive profiles from an external source, such as a server, through
a suitable data communications link. Once these profiles are
received from the external source, they are then communicated to
the remotely controlled vehicle to configure the vehicle. Yet
further embodiments divide data for the one or more profiles
between the remotely controlled model race car 110 and the wireless
remote controller 114.
[0043] After the vehicle is configured with a profile, the
processing then accepts, at step 406, an input from the user that
is to be used to control the vehicle. Such user inputs can include,
for example, accelerate, decelerate, turn left, turn right, and any
other command that the remotely controlled vehicle can accept and
process. After accepting the user input, the processing determines,
at step 408, if the adjustment to be made in response to the
accepted user input will result in changing the affected parameter
to be outside the limits defined by the profile that is configured
for the vehicle. This determination is able to be performed either
by the vehicle controller 202 in the remotely controlled vehicle or
by processing within the remote controller itself. If this
adjustment would result in the parameter being outside the limits
defined for the currently configured profile, the input is
rejected, at step 410.
[0044] If the user input results in adjusting the affected
parameter so as to remain within the limits defined for the
currently configured profile, the processing adjusts, at step 412,
the operating parameters of the remotely controlled vehicle
according to the accepted user input. The processing then adjusts,
at step 414, the operating time and any profile parameters
according to the time the user has been operating the remotely
controlled vehicle. As described above, the operation of some
embodiments of the present invention increase a remotely controlled
vehicle's performance as the user operates the vehicle over a
longer time. This simulates a user's gaining experience and skill
in operating the vehicle.
[0045] The processing then determines, at step 416, if an event is
detected by the vehicle processor 202. Events detected by the
vehicle processor 202 include external events, such as passing a
remotely sensed marker 112, and events generated by software
processing, such as a decreasing fuel level, a timer initiated pit
stop requirement, and the like. If an event is not detected, the
processing returns to accepting, at step 406, input from the user
for vehicle control. If an event is detected, the processing
performs, at step 418, any processing that is associated with the
particular detected event. Such processing includes, for example,
slowing the maximum speed of the vehicle, stopping the vehicle,
flashing lights and/or blowing the horn, and the like. Further
embodiments perform processing that maintain status for the
remotely controlled model race car 110, such as a fictitious fuel
level, and generate events based upon the maintained status
values.
[0046] The processing next determines, at step 420 if a
notification of the event is to be communicated to the remote
controller. If that notification of the event is not to be
communicated, the processing returns to accepting, at step 406,
input for vehicle control. If the notification of the event is to
be sent, the notification is sent, at step 422, to the remote
controller. The remote controller may respond to this notification
by, for example, providing a specified feedback in response to the
event notification.
[0047] FIG. 5 illustrates a combination hand held cellular phone
500 that incorporates wireless remote controller device functions
in accordance with an exemplary embodiment of the present
invention. This exemplary hand held cellular phone 500 is a
monolithic phone that includes a display 308, conventional cellular
phone keypad 310, earpiece 504, and microphone 506. A speaker 312
is also included in this exemplary hand held cellular phone 500
that is not illustrated in this figure. The exemplary hand held
cellular phone 500 includes side mounted buttons that include an
up-volume button 510, a down volume button 508 and a push to talk
button 512. The buttons of the cellular phone keypad 310 and the
side mounted buttons are able to be reconfigured to provide remote
vehicle control functions when the exemplary hand held cellular
phone 500 is in a wireless remote controller operating mode.
[0048] This reconfiguration and redefinition of these buttons may
be indicated by data displayed on display 308 to facilitate the
user's operation of this exemplary hand held cellular phone 500 as
a wireless remote controller. For example, the up volume button 510
may be defined as the accelerate button, the down volume 508 button
may be defined as the decelerate button and the push to talk button
512 may be defined as the break button. Various keys on the
cellular phone keypad 310 may be defined as "turn right" and "turn
left" and other functions for the operation of the remotely
controlled model race car 110 of this exemplary embodiment.
[0049] The terms program, software application, and the like as
used herein, are defined as a sequence of instructions designed for
execution on a computer system. A program, computer program, or
software application may include a subroutine, a function, a
procedure, an object method, an object implementation, an
executable application, an applet, a servlet, a source code, an
object code, a shared library/dynamic load library and/or other
sequence of instructions designed for execution on a computer
system.
[0050] Reference throughout the specification to "one embodiment"
means that a particular feature, structure, or characteristic
described in connection with the embodiment is included in at least
one embodiment of the present invention. Thus, the appearances of
the phrases "in one embodiment" in various places throughout the
specification are not necessarily all referring to the same
embodiment. Furthermore, the particular features, structures, or
characteristics may be combined in any suitable manner in one or
more embodiments. Moreover these embodiments are only examples of
the many advantageous uses of the innovative teachings herein. In
general, statements made in the specification of the present
application do not necessarily limit any of the various claimed
inventions. Moreover, some statements may apply to some inventive
features but not to others. In general, unless otherwise indicated,
singular elements may be in the plural and visa versa with no loss
of generality.
[0051] While the various embodiments of the invention have been
illustrated and described, it will be clear that the invention is
not so limited. Numerous modifications, changes, variations,
substitutions and equivalents will occur to those skilled in the
art without departing from the spirit and scope of the present
invention as defined by the appended claims.
* * * * *