U.S. patent application number 14/827944 was filed with the patent office on 2016-02-18 for proactive machine learning in a vehicular environment.
The applicant listed for this patent is AutoConnect Holdings LLC. Invention is credited to Christopher P. Ricci.
Application Number | 20160047662 14/827944 |
Document ID | / |
Family ID | 51686401 |
Filed Date | 2016-02-18 |
United States Patent
Application |
20160047662 |
Kind Code |
A1 |
Ricci; Christopher P. |
February 18, 2016 |
PROACTIVE MACHINE LEARNING IN A VEHICULAR ENVIRONMENT
Abstract
Methods and systems for an improved navigation environment are
provided. The navigation system can route users to preferred
locations based on user profile data and past experience with the
present driver and other drivers. The system provides more
cost-effective and time-sensitive routing by incorporating other
information about destinations. Further, the navigation system
provides enhanced guidance in foreign or unfamiliar locations by
incorporating experience from other drivers and other data.
Inventors: |
Ricci; Christopher P.;
(Saratoga, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
AutoConnect Holdings LLC |
Wellesley |
MA |
US |
|
|
Family ID: |
51686401 |
Appl. No.: |
14/827944 |
Filed: |
August 17, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14253727 |
Apr 15, 2014 |
|
|
|
14827944 |
|
|
|
|
61811981 |
Apr 15, 2013 |
|
|
|
61865954 |
Aug 14, 2013 |
|
|
|
61870698 |
Aug 27, 2013 |
|
|
|
61891217 |
Oct 15, 2013 |
|
|
|
61904205 |
Nov 14, 2013 |
|
|
|
61924572 |
Jan 7, 2014 |
|
|
|
61926749 |
Jan 13, 2014 |
|
|
|
Current U.S.
Class: |
701/540 |
Current CPC
Class: |
B60C 1/00 20130101; B60R
25/20 20130101; G06Q 30/0641 20130101; H04L 67/34 20130101; G06F
9/451 20180201; G08G 1/096811 20130101; G08G 1/164 20130101; G01S
19/42 20130101; G06F 3/0622 20130101; G06Q 20/321 20200501; G06Q
30/0633 20130101; G08B 21/06 20130101; H04N 21/2265 20130101; H04N
21/2393 20130101; B60K 2370/11 20190501; B60K 2370/15 20190501;
G06Q 30/0265 20130101; G06F 3/0482 20130101; G06Q 20/384 20200501;
H04W 4/21 20180201; G02B 27/0093 20130101; G08G 1/096741 20130101;
H04W 4/48 20180201; H04W 76/11 20180201; A61B 7/04 20130101; A61B
2503/04 20130101; G08G 1/207 20130101; H04N 21/41422 20130101; A61B
5/0077 20130101; B60K 2370/52 20190501; G06F 3/013 20130101; G06F
16/24575 20190101; G06K 9/00355 20130101; H04L 67/12 20130101; H04W
48/04 20130101; H04W 84/18 20130101; B60W 2050/0067 20130101; B60W
2050/0085 20130101; G06F 21/32 20130101; G06Q 10/02 20130101; G06Q
20/386 20200501; G08B 21/18 20130101; H04L 67/26 20130101; H04W
12/0808 20190101; H04W 84/005 20130101; H05K 999/00 20130101; H04L
63/0428 20130101; H04N 21/43637 20130101; B60W 50/14 20130101; G06K
9/00288 20130101; H04L 67/306 20130101; H04W 4/80 20180201; B60H
1/00742 20130101; G05D 1/0016 20130101; G06K 9/00255 20130101; G06K
9/00268 20130101; H04L 51/02 20130101; B60R 25/257 20130101; G06F
3/0488 20130101; G06F 21/31 20130101; H04L 63/0236 20130101; H04W
4/30 20180201; H04W 76/19 20180201; B60W 50/10 20130101; G01C 21/26
20130101; G01C 21/3691 20130101; G06F 16/252 20190101; H04W
12/00508 20190101; A61B 5/6808 20130101; G06F 21/00 20130101; G06K
9/00832 20130101; G06Q 30/0645 20130101; G09G 5/37 20130101; H04N
7/181 20130101; B60R 25/1004 20130101; G05D 1/021 20130101; G08B
21/0205 20130101; A61B 5/742 20130101; B60R 11/04 20130101; G05D
23/1917 20130101; G06F 3/04886 20130101; G08G 1/01 20130101; H04N
21/25816 20130101; H04N 21/64322 20130101; G01C 21/3667 20130101;
G06Q 30/012 20130101; G08B 13/19647 20130101; H04W 12/06 20130101;
B60K 2370/193 20190501; B60N 2/0244 20130101; B60R 25/25 20130101;
H04W 4/60 20180201; B60K 2370/146 20190501; B60W 50/085 20130101;
G06F 3/0481 20130101; G06Q 30/0639 20130101; H04L 67/10 20130101;
H04W 36/34 20130101; B60R 25/00 20130101; B60R 25/2081 20130101;
G06Q 10/00 20130101; G08G 1/096775 20130101; H04W 4/021 20130101;
B60K 35/00 20130101; G01C 21/365 20130101; G08B 29/188 20130101;
G08G 1/07 20130101; H04N 21/43615 20130101; H04W 4/12 20130101;
B60Q 1/52 20130101; G06F 3/04842 20130101; G08G 1/096805 20130101;
H04L 63/102 20130101; H04W 4/70 20180201; H04W 36/0005 20130101;
G06F 16/183 20190101; G08G 1/096844 20130101; G09G 2380/10
20130101; H04W 4/40 20180201; A61B 5/7405 20130101; B60R 25/01
20130101; G06F 3/0673 20130101; G08G 1/0968 20130101; B60Q 9/00
20130101; G01C 21/3697 20130101; G06F 3/017 20130101; G06F 16/583
20190101; G06K 9/00335 20130101; G06K 9/00838 20130101; G06Q 30/00
20130101; G06Q 50/30 20130101; G08G 1/096725 20130101; A61B 5/4809
20130101; G01C 21/3484 20130101; G08B 25/016 20130101; H04N 21/2225
20130101; B60R 25/102 20130101; G06F 2203/04803 20130101; G06K
2009/00939 20130101; H04N 21/6408 20130101; H05K 999/99 20130101;
G01C 21/362 20130101; G06F 16/25 20190101; G06K 9/00221 20130101;
G06Q 10/20 20130101; G07C 5/02 20130101; H04N 21/454 20130101; G05D
1/0276 20130101; G06F 3/0637 20130101; G06F 16/951 20190101; G06Q
20/308 20200501; G06Q 30/0266 20130101 |
International
Class: |
G01C 21/34 20060101
G01C021/34 |
Claims
1-20. (canceled)
21. A method for providing navigation information for a conveyance,
comprising: a vehicle control system, including a processor,
receiving route information for two or more routes; the vehicle
control system interrogating the route information; the vehicle
control system storing the interrogated route information locally
with the conveyance; the vehicle control system retrieving the
interrogated route information; the vehicle control system
receiving sensor information from one or more sensors of the
conveyance, the sensor information including contextual data and
vehicle state information; and the vehicle control system
generating a route based on the interrogated route information and
the sensor information.
22. The method of claim 21, further comprising the vehicle control
system determining if the interrogated route information should be
stored remotely.
23. The method of claim 22, further comprising the vehicle control
system storing the interrogated route information remotely away
from the conveyance.
24. The method of claim 23, further comprising the vehicle control
system suggesting the route to a user based on the interrogated
route information and the sensor information.
25. The method of claim 21, wherein at least one route was
generated by a navigation system.
26. The method of claim 25, wherein the interrogation route
information includes one or more of a destination, an origin, a
route travelled.
27. The method of claim 26, wherein the interrogation route
information is stored remotely if deemed useful.
28. The method of claim 27, wherein the suggested route includes a
location for a shop or business where the user may desire to buy a
product, based on preference in a user profile associated with the
user.
29. The method of claim 28, wherein the suggested route is created
from routes driven by other drivers.
30. The method of claim 28, wherein the interrogation route
information is stored in cloud storage.
31. A conveyance comprising: a processor operable to execute one or
more modules, the modules comprising: a route interrogation module
operable to: receive route information for two or more routes;
interrogate the route information; store the interrogated route
information locally with the conveyance; a route suggestion module
operable to: retrieve the interrogated route information; receive
sensor information from one or more sensors of the conveyance, the
sensor information including contextual data and vehicle state
information; and generate a route based on the interrogated route
information and the sensor information.
32. The conveyance of claim 31, wherein the route interrogation
module is further operable to: determine if the interrogated route
information should be stored remotely; and store the interrogated
route information remotely away from the conveyance.
33. The conveyance of claim 31, wherein the route interrogation
module is further operable to suggest the route to a user based on
the interrogated route information, wherein at least one route was
generated by a navigation system, and wherein the interrogation
route information includes one or more of a destination, an origin,
a route travelled.
34. The conveyance of claim 33, wherein the suggested route
includes a location for a shop or business where the user may
desire to buy a product, based on preference in a user profile
associated with the user, and wherein the interrogation route
information is stored in cloud storage.
35. The conveyance of claim 34, wherein the suggested route is
created from routes driven by other drivers.
36. A non-transitory computer readable medium stored on a storage
medium and having instructions that when executed by a processor
cause the processor to perform a method, the instructions
comprising: instructions to receive route information for two or
more routes; instructions to interrogate the route information;
instructions to store the interrogated route information locally
with the conveyance; instructions to retrieve the interrogated
route information; instructions to receive sensor information from
one or more sensors of the conveyance, the sensor information
including contextual data and vehicle state information; and
instructions to generate a route based on the interrogated route
information and the sensor information.
37. The computer readable medium of claim 36, further comprising:
instructions to determine if the interrogated route information
should be stored remotely; and instructions to store the
interrogated route information remotely away from the
conveyance.
38. The computer readable medium of claim 36, further comprising
instructions to suggest the route to a user based on the
interrogated route information, wherein at least one route was
generated by a navigation system, and wherein the interrogation
route information includes one or more of a destination, an origin,
a route travelled.
39. The computer readable medium of claim 38, wherein the suggested
route includes a location for a shop or business where the user may
desire to buy a product, based on preference in a user profile
associated with the user, and wherein the interrogation route
information is stored in cloud storage.
40. The computer readable medium of claim 39, wherein the suggested
route is created from routes driven by other drivers.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation of and claims
priority to U.S. patent application Ser. No. 14/253,727, filed on
Apr. 15, 2014, entitled "Proactive Machine Learning in a Vehicular
Environment," which claims the benefits of and priority, under 35
U.S.C. .sctn.119(e), to U.S. Provisional Application Ser. No.
61/811,981, filed on Apr. 15, 2013, entitled "Functional
Specification for a Next Generation Automobile"; 61/865,954, filed
on Aug. 14, 2013, entitled "Gesture Control of Vehicle Features";
61/870,698, filed on Aug. 27, 2013, entitled "Gesture Control and
User Profiles Associated with Vehicle Features"; 61/891,217, filed
on Oct. 15, 2013, entitled "Gesture Control and User Profiles
Associated with Vehicle Features"; 61/904,205, filed on Nov. 14,
2013, entitled "Gesture Control and User Profiles Associated with
Vehicle Features"; 61/924,572, filed on Jan. 7, 2014, entitled
"Gesture Control and User Profiles Associated with Vehicle
Features"; and 61/926,749, filed on Jan. 13, 2014, entitled "Method
and System for Providing Infotainment in a Vehicle." The entire
disclosures of the applications listed above are hereby
incorporated by reference, in their entirety, for all that they
teach and for all purposes.
[0002] This application is also related to U.S. patent application
Ser. No. 13/420,236, filed on Mar. 14, 2012, entitled,
"Configurable Vehicle Console"; Ser. No. 13/420,240, filed on Mar.
14, 2012, entitled "Removable, Configurable Vehicle Console"; Ser.
No. 13/462,593, filed on May 2, 2012, entitled "Configurable Dash
Display"; Ser. No. 13/462,596, filed on May 2, 2012, entitled
"Configurable Heads-Up Dash Display"; Ser. No. 13/679,459, filed on
Nov. 16, 2012, entitled "Vehicle Comprising Multi-Operating
System"; Ser. No. 13/679,234, filed on Nov. 16, 2012, entitled
"Gesture Recognition for On-Board Display"; Ser. No. 13/679,412,
filed on Nov. 16, 2012, entitled "Vehicle Application Store for
Console"; Ser. No. 13/679,857, filed on Nov. 16, 2012, entitled
"Sharing Applications/Media Between Car and Phone (Hydroid)"; Ser.
No. 13/679,878, filed on Nov. 16, 2012, entitled "In-Cloud
Connection for Car Multimedia"; Ser. No. 13/679,875, filed on Nov.
16, 2012, entitled "Music Streaming"; Ser. No. 13/679,676, filed on
Nov. 16, 2012, entitled "Control of Device Features Based on
Vehicle State"; Ser. No. 13/678,673, filed on Nov. 16, 2012,
entitled "Insurance Tracking"; Ser. No. 13/678,691, filed on Nov.
16, 2012, entitled "Law Breaking/Behavior Sensor"; Ser. No.
13/678,699, filed on Nov. 16, 2012, entitled "Etiquette
Suggestion"; Ser. No. 13/678,710, filed on Nov. 16, 2012, entitled
"Parking Space Finder Based on Parking Meter Data"; Ser. No.
13/678,722, filed on Nov. 16, 2012, entitled "Parking Meter Expired
Alert"; Ser. No. 13/678,726, filed on Nov. 16, 2012, entitled
"Object Sensing (Pedestrian Avoidance/Accident Avoidance)"; Ser.
No. 13/678,735, filed on Nov. 16, 2012, entitled "Proximity Warning
Relative to Other Cars"; Ser. No. 13/678,745, filed on Nov. 16,
2012, entitled "Street Side Sensors"; Ser. No. 13/678,753, filed on
Nov. 16, 2012, entitled "Car Location"; Ser. No. 13/679,441, filed
on Nov. 16, 2012, entitled "Universal Bus in the Car"; Ser. No.
13/679,864, filed on Nov. 16, 2012, entitled "Mobile Hot
Spot/Router/Application Share Site or Network"; Ser. No.
13/679,815, filed on Nov. 16, 2012, entitled "Universal Console
Chassis for the Car"; Ser. No. 13/679,476, filed on Nov. 16, 2012,
entitled "Vehicle Middleware"; Ser. No. 13/679,306, filed on Nov.
16, 2012, entitled "Method and System for Vehicle Data Collection
Regarding Traffic"; Ser. No. 13/679,369, filed on Nov. 16, 2012,
entitled "Method and System for Vehicle Data Collection"; Ser. No.
13/679,680, filed on Nov. 16, 2012, entitled "Communications Based
on Vehicle Diagnostics and Indications"; Ser. No. 13/679,443, filed
on Nov. 16, 2012, entitled "Method and System for Maintaining and
Reporting Vehicle Occupant Information"; Ser. No. 13/678,762, filed
on Nov. 16, 2012, entitled "Behavioral Tracking and Vehicle
Applications"; Ser. No. 13/679,292, filed Nov. 16, 2012, entitled
"Branding of Electrically Propelled Vehicles Via the Generation of
Specific Operating Output"; Ser. No. 13/679,400, filed Nov. 16,
2012, entitled "Vehicle Climate Control"; Ser. No. 13/840,240,
filed on Mar. 15, 2013, entitled "Controller Area Network Bus";
Ser. No. 13/678,773, filed on Nov. 16, 2012, entitled "Location
Information Exchange Between Vehicle and Device"; Ser. No.
13/679,887, filed on Nov. 16, 2012, entitled "In Car Communication
Between Devices"; Ser. No. 13/679,842, filed on Nov. 16, 2012,
entitled "Configurable Hardware Unit for Car Systems"; Ser. No.
13/679,204, filed on Nov. 16, 2012, entitled "Feature Recognition
for Configuring a Vehicle Console and Associated Devices"; Ser. No.
13/679,350, filed on Nov. 16, 2012, entitled "Configurable Vehicle
Console"; Ser. No. 13/679,358, filed on Nov. 16, 2012, entitled
"Configurable Dash Display"; Ser. No. 13/679,363, filed on Nov. 16,
2012, entitled "Configurable Heads-Up Dash Display"; and Ser. No.
13/679,368, filed on Nov. 16, 2012, entitled "Removable,
Configurable Vehicle Console". The entire disclosures of the
applications listed above are hereby incorporated by reference, in
their entirety, for all that they teach and for all purposes.
BACKGROUND
[0003] Whether using private, commercial, or public transport, the
movement of people and/or cargo has become a major industry. In
today's interconnected world, daily travel is essential to engaging
in commerce. Commuting to and from work can account for a
significant portion of a traveler's day. As a result, vehicle
manufacturers have begun to focus on making this commute, and other
journeys, more enjoyable.
[0004] Currently, vehicle manufacturers attempt to entice travelers
to use a specific conveyance based on any number of features. Most
of these features focus on vehicle safety or efficiency. From the
addition of safety-restraints, air-bags, and warning systems to
more efficient engines, motors, and designs, the vehicle industry
has worked to appease the supposed needs of the traveler. Recently,
however, vehicle manufactures have shifted their focus to user and
passenger comfort as a primary concern. Making an individual more
comfortable while traveling instills confidence and pleasure in
using a given vehicle, increasing an individual's preference for a
given manufacturer and/or vehicle type.
[0005] One way to instill comfort in a vehicle is to create an
environment within the vehicle similar to that of an individual's
home. Integrating features in a vehicle that are associated with
comfort found in an individual's home can ease a traveler's
transition from home to vehicle. Several manufacturers have added
comfort features in vehicles such as the following: leather seats,
adaptive and/or personal climate control systems, music and media
players, ergonomic controls, and, in some cases, Internet
connectivity. However, because these manufacturers have added
features to a conveyance, they have built comfort around a vehicle
and failed to build a vehicle around comfort.
SUMMARY
[0006] There is a need for a vehicle ecosystem, which can integrate
both physical and mental comforts, while seamlessly communicating
with current electronic devices to result in a totally intuitive
and immersive user experience. These and other needs are addressed
by the various aspects, embodiments, and/or configurations of the
present disclosure. Also, while the disclosure is presented in
terms of exemplary and optional embodiments, it should be
appreciated that individual aspects of the disclosure can be
separately claimed.
[0007] Embodiments include a method for providing navigation
information for a conveyance, comprising: a vehicle control system,
including a processor, receiving route information for two or more
routes; the vehicle control system determining the context
associated with route information; the vehicle control system
storing the route information and the context; the vehicle control
system identifying a pattern associated with the route information
and context; and the vehicle control system providing pattern
information to plan a next route.
[0008] Aspects of the above method include wherein the route
information includes at least an origin location and a
destination.
[0009] Aspects of the above method include wherein at least one
route was generated by a navigation system.
[0010] Aspects of the above method include wherein the context
includes information indicating a reason why a driver followed the
route.
[0011] Aspects of the above method include wherein two or more
drivers in two or more conveyances provided the route
information.
[0012] Aspects of the above method include wherein the pattern
information includes one or more of destinations arrived at certain
time periods, routes driven on certain days, or often-traveled
routes.
[0013] Aspects of the above method include wherein the pattern
information is provided to a third driver to plan a route.
[0014] Aspects of the above method include wherein the third driver
is unfamiliar with an area surrounding the planned route.
[0015] Aspects of the above method include wherein the route
information and context are stored remotely.
[0016] Aspects of the above method include wherein the planned
route is associated with information in a user profile of the third
driver.
[0017] Embodiments include a conveyance comprising: a processor
operable to execute one or more modules, the modules comprising: a
route integration module operable to: receive route information for
two or more routes; determine the context associated with route
information; store the route information and the context; a pattern
recognition module operable to identify a pattern associated with
the route information and context; and a route suggestion module
operable to provide a next route based on pattern information.
[0018] Aspects of the above conveyance include wherein the route
information includes at least an origin location and a destination,
wherein at least one route was generated by a navigation system,
and wherein the context includes information indicating a reason
why a driver followed the route.
[0019] Aspects of the above conveyance include wherein two or more
drivers in two or more conveyances provided the route
information.
[0020] Aspects of the above conveyance include wherein the pattern
information includes one or more of destinations arrived at certain
time periods, routes driven on certain days, or often-traveled
routes.
[0021] Aspects of the above conveyance include wherein the pattern
information is provided to a third driver to plan a route, and
wherein the third driver is unfamiliar with an area surrounding the
planned route.
[0022] Embodiments include a non-transitory computer readable
medium stored on a storage medium and having instructions that when
executed by a processor cause the processor to perform a method,
the instructions comprising: instructions to receive route
information for two or more routes; instructions to determine the
context associated with route information; instructions to store
the route information and the context; instructions to identify a
pattern associated with the route information and context; and
instructions to provide a next route based on pattern
information.
[0023] Aspects of the above computer readable medium include
wherein the route information includes at least an origin location
and a destination, wherein at least one route was generated by a
navigation system, and wherein the context includes information
indicating a reason why a driver followed the route.
[0024] Aspects of the above computer readable medium include
wherein two or more drivers in two or more conveyances provided the
route information.
[0025] Aspects of the above computer readable medium include
wherein the pattern information includes one or more of
destinations arrived at certain time periods, routes driven on
certain days, or often-traveled routes.
[0026] Aspects of the above computer readable medium include
wherein the pattern information is provided to a third driver to
plan a route, and wherein the third driver is unfamiliar with an
area surrounding the planned route.
[0027] Embodiments include a method for providing navigation
information for a conveyance, comprising: a vehicle control system,
including a processor, generating a route to a destination; the
vehicle control system communicating with a data source; the
vehicle control system determining an amount of activity at the
destination based on data from the data source; the vehicle control
system determining if an alternate route is necessary based on the
amount of activity; and if an alternate route is necessary, the
vehicle control system generating an alternate route.
[0028] Aspects of the above method include further comprising: the
vehicle control system determining an alternate destination; and
based on the alternate destination, the vehicle control system
determining the alternate route.
[0029] Aspects of the above method include wherein the vehicle
control system determines a product desired by a user at the
destination.
[0030] Aspects of the above method include wherein the product
determination is based on information in a user profile.
[0031] Aspects of the above method include wherein the vehicle
control system determines the alternate destination based on the
product.
[0032] Aspects of the above method include wherein there is too
much activity at the destination if it will cause an undue
delay.
[0033] Aspects of the above method include wherein the undue delay
is more than a time required to travel to the alternate
destination.
[0034] Aspects of the above method include further comprising, if
an alternate route is not necessary, maintaining the route.
[0035] Aspects of the above method include wherein the amount of
activity is based on a number of people at the destination.
[0036] Aspects of the above method include wherein the amount of
activity is based on parking information at the destination.
[0037] Embodiments include a conveyance comprising: a processor
operable to execute one or more modules, the modules comprising: a
route suggestion module operable to: generate a route to a
destination; communicate with a data source; determine an amount of
activity at the destination based on data from the data source;
determine if an alternate route is necessary based on the amount of
activity; and if an alternate route is necessary, generate an
alternate route.
[0038] Aspects of the above conveyance include wherein the route
suggestion module is further operable to: determine an alternate
destination; and based on the alternate destination, determine the
alternate route, wherein the vehicle control system determines a
product desired by a user at the destination, wherein the product
determination is based on information in a user profile, wherein
the vehicle control system determines the alternate destination
based on the product.
[0039] Aspects of the above conveyance include wherein there is too
much activity at the destination if it will cause an undue delay,
and wherein the undue delay is more than a time required to travel
to the alternate destination.
[0040] Aspects of the above conveyance include if an alternate
route is not necessary, maintain the route.
[0041] Aspects of the above conveyance include wherein the amount
of activity is based on one of a number of people at the
destination or parking information at the destination.
[0042] Embodiments include a non-transitory computer readable
medium stored on a storage medium and having instructions that when
executed by a processor cause the processor to perform a method,
the instructions comprising: instructions to generate a route to a
destination; instructions to communicate with a data source;
instructions to determine an amount of activity at the destination
based on data from the data source; instructions to determine if an
alternate route is necessary based on the amount of activity; and
if an alternate route is necessary, instructions to generate an
alternate route.
[0043] Aspects of the above computer readable medium include
further comprising: instructions to determine an alternate
destination; and based on the alternate destination, instructions
to determine the alternate route, wherein the vehicle control
system determines a product desired by a user at the destination,
wherein the product determination is based on information in a user
profile, wherein the vehicle control system determines the
alternate destination based on the product.
[0044] Aspects of the above computer readable medium include
wherein there is too much activity at the destination if it will
cause an undue delay, and wherein the undue delay is more than a
time required to travel to the alternate destination.
[0045] Aspects of the above computer readable medium include
further comprising, if an alternate route is not necessary,
instructions to maintain the route.
[0046] Aspects of the above computer readable medium include
wherein the amount of activity is based on one of a number of
people at the destination or parking information at the
destination.
[0047] Embodiments include a method for providing navigation
information for a conveyance, comprising: a vehicle control system,
including a processor, receiving a route; the vehicle control
system determining if a translation is needed; and if a translation
is needed, the vehicle control system translating a sign.
[0048] Aspects of the above method include wherein the sign is in a
foreign language.
[0049] Aspects of the above method include wherein a translation is
needed if a user of the conveyance is in a foreign country.
[0050] Aspects of the above method include wherein a use profile
includes information about the nationality or origin of the
user.
[0051] Aspects of the above method include further comprising: the
vehicle control system determining a preference of the user based
on information in the user profile; and the vehicle control system
translating the preference.
[0052] Aspects of the above method include further comprising: the
vehicle control system determining if a route change is required
based on the preference; and if a route change is required, the
vehicle control system re-routing the conveyance.
[0053] Aspects of the above method include wherein the preference
is for a product the user often purchases.
[0054] Aspects of the above method include wherein the re-route is
to a location in the foreign country that sells the preferred
product.
[0055] Aspects of the above method include further comprising
presenting a message on a user interface that indicates where the
preferred product can be purchased.
[0056] Aspects of the above method include wherein the user
interface includes a view of what the preferred product should look
like in the foreign country.
[0057] Embodiments include a conveyance comprising: a processor
operable to execute one or more modules, the modules comprising: a
route suggestion module operable to receive a route; a translation
module operable to: determine if a translation is needed; and if a
translation is needed, translate a sign.
[0058] Aspects of the above conveyance include wherein the sign is
in a foreign language, wherein a translation is needed if a user of
the conveyance is in a foreign country, and wherein a use profile
includes information about the nationality or origin of the
user.
[0059] Aspects of the above conveyance include wherein the
translation module is further operable to: determine a preference
of the user based on information in the user profile; and translate
the preference.
[0060] Aspects of the above conveyance include wherein the route
suggestion module is further operable to: determine if a route
change is required based on the preference; and if a route change
is required, re-route the conveyance, wherein the preference is for
a product the user often purchases, wherein the re-route is to a
location in the foreign country that sells the preferred
product.
[0061] Aspects of the above conveyance include wherein the
translation module is further operable to present a message on a
user interface that indicates where the preferred product can be
purchased, wherein the user interface includes a view of what the
preferred product should look like in the foreign country.
[0062] Embodiments include a non-transitory computer readable
medium stored on a storage medium and having instructions that when
executed by a processor cause the processor to perform a method,
the instructions comprising: instructions to receive a route;
instructions to determine if a translation is needed; and if a
translation is needed, instructions to translate a sign.
[0063] Aspects of the above computer readable medium include
wherein the sign is in a foreign language, wherein a translation is
needed if a user of the conveyance is in a foreign country, and
wherein a use profile includes information about the nationality or
origin of the user.
[0064] Aspects of the above computer readable medium include
further comprising: instructions to determine a preference of the
user based on information in the user profile; and instructions to
translate the preference.
[0065] Aspects of the above computer readable medium include
further comprising: instructions to determine if a route change is
required based on the preference; and if a route change is
required, instructions to re-route the conveyance, wherein the
preference is for a product the user often purchases, wherein the
re-route is to a location in the foreign country that sells the
preferred product.
[0066] Aspects of the above computer readable medium include
wherein the translation module is further operable to present a
message on a user interface that indicates where the preferred
product can be purchased, wherein the user interface includes a
view of what the preferred product should look like in the foreign
country.
[0067] Embodiments include a method for providing navigation
information for a conveyance, comprising: a vehicle control system,
including a processor, determining an origin location; the vehicle
control system determining two or more destination locations; the
vehicle control system determining a timeframe for the route; and
the vehicle control system generating a best route to the two or
more destinations in the timeframe.
[0068] Aspects of the above method include wherein the timeframe is
an amount of time available to a user to travel the route.
[0069] Aspects of the above method include wherein the best route
includes a return to the origin location.
[0070] Aspects of the above method include wherein the user provide
the amount of time available.
[0071] Aspects of the above method include wherein the vehicle
control system accesses preference data in a user profile to
determine preferred routes.
[0072] Aspects of the above method include wherein the best route
is a preferred route.
[0073] Aspects of the above method include wherein the user profile
includes a first location that should be avoided.
[0074] Aspects of the above method include wherein the best route
avoids the first location.
[0075] Aspects of the above method include wherein the first
location is an area between the origin location and at least one
destination.
[0076] Aspects of the above method include wherein the first
location is indicated by an address in the user profile.
[0077] Embodiments include a conveyance comprising: a processor
operable to execute one or more modules, the modules comprising: a
route suggestion module: determine an origin location; determine
two or more destination locations; determine a timeframe for the
route; and generate a best route to the two or more destinations in
the timeframe.
[0078] Aspects of the above conveyance include wherein the
timeframe is an amount of time available to a user to travel the
route, wherein the best route includes a return to the origin
location, and wherein the user provide the amount of time
available.
[0079] Aspects of the above conveyance include wherein the route
suggestion module accesses preference data in a user profile to
determine preferred routes, wherein the best route is a preferred
route.
[0080] Aspects of the above conveyance include wherein the user
profile includes a first location that should be avoided, and
wherein the best route avoids the first location.
[0081] Aspects of the above conveyance include wherein the first
location is an area between the origin location and at least one
destination, and wherein the first location is indicated by an
address in the user profile.
[0082] Embodiments include a non-transitory computer readable
medium stored on a storage medium and having instructions that when
executed by a processor cause the processor to perform a method,
the instructions comprising: instructions to determine an origin
location; instructions to determine two or more destination
locations; instructions to determine a timeframe for the route; and
instructions to generate a best route to the two or more
destinations in the timeframe.
[0083] Aspects of the above computer readable medium include
wherein the timeframe is an amount of time available to a user to
travel the route, wherein the best route includes a return to the
origin location, and wherein the user provide the amount of time
available.
[0084] Aspects of the above computer readable medium include
wherein the route suggestion module accesses preference data in a
user profile to determine preferred routes, wherein the best route
is a preferred route.
[0085] Aspects of the above computer readable medium include
wherein the user profile includes a first location that should be
avoided, and wherein the best route avoids the first location.
[0086] Aspects of the above computer readable medium include
wherein the first location is an area between the origin location
and at least one destination, and wherein the first location is
indicated by an address in the user profile.
[0087] Embodiments include a method for providing navigation
information for a conveyance, comprising: a vehicle control system,
including a processor, communicating with a home automation system;
the vehicle control system receiving a shopping list from the home
automation system; and the vehicle control system generating a
route based on a product in the shopping list.
[0088] Aspects of the above method include wherein the shopping
list includes two or more products.
[0089] Aspects of the above method include wherein the two or more
products are available at two or more destinations.
[0090] Aspects of the above method include wherein the generated
route includes the two or more destinations.
[0091] Aspects of the above method include wherein the vehicle
control system accesses a user profile to determine the two or more
destinations based on past purchases of the two or more
products.
[0092] Aspects of the above method include further comprising the
vehicle control system determining if the shopping list should be
communicated to a device.
[0093] Aspects of the above method include further comprising, if
the shopping list should be communicated to a device, the vehicle
control system communicating the shopping list to the device.
[0094] Aspects of the above method include wherein the device is in
the conveyance.
[0095] Aspects of the above method include wherein the home
automation system includes a refrigerator that generates the
shopping list.
[0096] Aspects of the above method include wherein the vehicle
control system communicates wirelessly with the refrigerator.
[0097] Embodiments include a conveyance comprising: a processor
operable to execute one or more modules, the modules comprising: a
home automation interaction module operable to: communicate with a
home automation system; receive a shopping list from the home
automation system; and a route suggestion module operable to:
generate a route based on a product in the shopping list.
[0098] Aspects of the above conveyance include wherein the shopping
list includes two or more products, wherein the two or more
products are available at two or more destinations, and wherein the
generated route includes the two or more destinations.
[0099] Aspects of the above conveyance include wherein the vehicle
control system accesses a user profile to determine the two or more
destinations based on past purchases of the two or more
products.
[0100] Aspects of the above conveyance include wherein the home
automation interaction module is further operable to: determine if
the shopping list should be communicated to a device; and if the
shopping list should be communicated to a device, communicate the
shopping list to the device, wherein the device is in the
conveyance.
[0101] Aspects of the above conveyance include wherein the home
automation system includes a refrigerator that generates the
shopping list, and wherein the vehicle control system communicates
wirelessly with the refrigerator.
[0102] Embodiments include a non-transitory computer readable
medium stored on a storage medium and having instructions that when
executed by a processor cause the processor to perform a method,
the instructions comprising: instructions to communicate with a
home automation system; instructions to receive a shopping list
from the home automation system; and instructions to generate a
route based on a product in the shopping list.
[0103] Aspects of the above computer readable medium include
wherein the shopping list includes two or more products, wherein
the two or more products are available at two or more destinations,
and wherein the generated route includes the two or more
destinations.
[0104] Aspects of the above computer readable medium include
wherein the vehicle control system accesses a user profile to
determine the two or more destinations based on past purchases of
the two or more products.
[0105] Aspects of the above computer readable medium include
further comprising: instructions to determine if the shopping list
should be communicated to a device; and if the shopping list should
be communicated to a device, instructions to communicate the
shopping list to the device, wherein the device is in the
conveyance.
[0106] Aspects of the above computer readable medium include
wherein the home automation system includes a refrigerator that
generates the shopping list, and wherein the vehicle control system
communicates wirelessly with the refrigerator.
[0107] Embodiments include a method for providing navigation
information for a conveyance, comprising: a vehicle control system,
including a processor, receiving route information for two or more
routes; the vehicle control system interrogating the route
information; the vehicle control system storing the interrogated
route information locally with the conveyance; the vehicle control
system retrieving the interrogated route information; and the
vehicle control system generating a route based on the interrogated
route information.
[0108] Aspects of the above method include further comprising the
vehicle control system determining if the interrogated route
information should be stored remotely.
[0109] Aspects of the above method include further comprising the
vehicle control system storing the interrogated route information
remotely away from the conveyance.
[0110] Aspects of the above method include further comprising the
vehicle control system suggesting the route to a user based on the
interrogated route information.
[0111] Aspects of the above method include wherein at least one
route was generated by a navigation system.
[0112] Aspects of the above method include wherein the
interrogation route information includes one or more of a
destination, an origin, a route travelled.
[0113] Aspects of the above method include wherein the
interrogation route information is stored remotely if deemed
useful.
[0114] Aspects of the above method include wherein the suggested
route includes a location for a shop or business where the user may
desire to buy a product, based on preference in a user profile
associated with the user.
[0115] Aspects of the above method include wherein the suggested
route is created from routes driven by other drivers.
[0116] Aspects of the above method include wherein the
interrogation route information is stored in cloud storage.
[0117] Embodiments include a conveyance comprising: a processor
operable to execute one or more modules, the modules comprising: a
route interrogation module operable to: receive route information
for two or more routes; interrogate the route information; store
the interrogated route information locally with the conveyance; a
route suggestion module operable to: retrieve the interrogated
route information; and generate a route based on the interrogated
route information.
[0118] Aspects of the above conveyance include wherein the route
interrogation module is further operable to: determine if the
interrogated route information should be stored remotely; and store
the interrogated route information remotely away from the
conveyance.
[0119] Aspects of the above conveyance include wherein the route
interrogation module is further operable to suggest the route to a
user based on the interrogated route information, wherein at least
one route was generated by a navigation system, and wherein the
interrogation route information includes one or more of a
destination, an origin, a route travelled.
[0120] Aspects of the above conveyance include wherein the
suggested route includes a location for a shop or business where
the user may desire to buy a product, based on preference in a user
profile associated with the user, and wherein the interrogation
route information is stored in cloud storage.
[0121] Aspects of the above conveyance include wherein the
suggested route is created from routes driven by other drivers.
[0122] Embodiments include a non-transitory computer readable
medium stored on a storage medium and having instructions that when
executed by a processor cause the processor to perform a method,
the instructions comprising: instructions to receive route
information for two or more routes; instructions to interrogate the
route information; instructions to store the interrogated route
information locally with the conveyance; instructions to retrieve
the interrogated route information; and instructions to generate a
route based on the interrogated route information.
[0123] Aspects of the above computer readable medium include
further comprising: instructions to determine if the interrogated
route information should be stored remotely; and instructions to
store the interrogated route information remotely away from the
conveyance.
[0124] Aspects of the above computer readable medium include
further comprising instructions to suggest the route to a user
based on the interrogated route information, wherein at least one
route was generated by a navigation system, and wherein the
interrogation route information includes one or more of a
destination, an origin, a route travelled.
[0125] Aspects of the above computer readable medium include
wherein the suggested route includes a location for a shop or
business where the user may desire to buy a product, based on
preference in a user profile associated with the user, and wherein
the interrogation route information is stored in cloud storage.
[0126] Aspects of the above computer readable medium include
wherein the suggested route is created from routes driven by other
drivers.
[0127] Embodiments include a method for providing navigation
information for a conveyance, comprising: a vehicle control system,
including a processor, receiving a list of goods to purchase; the
vehicle control system determining a cost of the goods; the vehicle
control system determining two or more best locations where the
cost of the goods is the least; the vehicle control system
determining a cost of travel to each of the two or more best
locations; and the vehicle control system determining a total cost
of obtaining the goods based on the cost of goods at and the travel
cost to the two or more best locations.
[0128] Aspects of the above method include further comprising
determining a best route based on the total cost.
[0129] Aspects of the above method include wherein the cost of the
goods is determined from information on the Internet.
[0130] Aspects of the above method include wherein a cost for at
least one product in the list of goods is associated with each of
the two or more best locations.
[0131] Aspects of the above method include wherein the cost of
travel is based on a distance to the best location.
[0132] Aspects of the above method include wherein the best route
does not include a best location where the cost of travel is more
than a savings on the cost of the product.
[0133] Aspects of the above method include wherein the best route
includes two or more destinations.
[0134] Aspects of the above method include wherein the list of
goods is generated from user profile data associated with a
user.
[0135] Aspects of the above method include wherein the list of
goods includes two or more frequently purchased products.
[0136] Aspects of the above method include wherein the cost of
travel is also based on a cost of gas or a time.
[0137] Embodiments include a conveyance comprising: a processor
operable to execute one or more modules, the modules comprising: a
cost module operable to: receive a list of goods to purchase;
determine a cost of the goods; determine two or more best locations
where the cost of the goods is the least; determine a cost of
travel to each of the two or more best locations; and determine a
total cost of obtaining the goods based on the cost of goods at and
the travel cost to the two or more best locations.
[0138] Aspects of the above conveyance include further comprising a
route suggestion module operable to determine a best route based on
the total cost.
[0139] Aspects of the above conveyance include wherein the cost of
the goods is determined from information on the Internet, and
wherein a cost for at least one product in the list of goods is
associated with each of the two or more best locations.
[0140] Aspects of the above conveyance include wherein the cost of
travel is based on one or more of a distance to the best location,
a cost of gas, and a time.
[0141] Aspects of the above conveyance include wherein the best
route does not include a best location where the cost of travel is
more than a savings on the cost of the product.
[0142] Embodiments include a non-transitory computer readable
medium stored on a storage medium and having instructions that when
executed by a processor cause the processor to perform a method,
the instructions comprising: instructions to receive a list of
goods to purchase; instructions to determine a cost of the goods;
instructions to determine two or more best locations where the cost
of the goods is the least; instructions to determine a cost of
travel to each of the two or more best locations; and instructions
to determine a total cost of obtaining the goods based on the cost
of goods at and the travel cost to the two or more best
locations.
[0143] Aspects of the above computer readable medium include
further comprising instructions to determine a best route based on
the total cost.
[0144] Aspects of the above computer readable medium include
wherein the cost of the goods is determined from information on the
Internet, and wherein a cost for at least one product in the list
of goods is associated with each of the two or more best
locations.
[0145] Aspects of the above computer readable medium include
wherein the cost of travel is based on one or more of a distance to
the best location, a cost of gas, and a time.
[0146] Aspects of the above computer readable medium include
wherein the best route does not include a best location where the
cost of travel is more than a savings on the cost of the
product.
[0147] Embodiments include a method for providing navigation
information for a conveyance, comprising: a vehicle control system,
including a processor, providing a route for travel; the vehicle
control system, while traveling the route, determining statistics
about the travel; and the vehicle control system communicating the
statistics.
[0148] Aspects of the above method include wherein the statistics
are communicated to a device.
[0149] Aspects of the above method include wherein the device is
associated with a passenger in the conveyance.
[0150] Aspects of the above method include wherein the statistics
include information about the route.
[0151] Aspects of the above method include wherein the statistics
include one or more of an estimated time of arrival and average
speed.
[0152] Aspects of the above method include wherein the information
about the route includes information about sites or destinations
that are along the route.
[0153] Aspects of the above method include wherein the sites or
destinations may be of interest to the passenger based on
information in a user profile associated with the passenger.
[0154] Aspects of the above method include wherein the passenger
searches for destinations along the route.
[0155] Aspects of the above method include wherein the statistics
are updated periodically.
[0156] Aspects of the above method include wherein the statistics
are provided to two or more occupants within the conveyance.
[0157] Embodiments include a conveyance comprising: a processor
operable to execute one or more modules, the modules comprising: a
route suggestion module operable to provide a route for travel; a
travel interaction module operable to, while traveling the route,
determine statistics about the travel; and a communication module
operable to communicate the statistics.
[0158] Aspects of the above conveyance include wherein the
statistics are communicated to a device, and wherein the device is
associated with a passenger in the conveyance.
[0159] Aspects of the above conveyance include wherein the
statistics include information about the route, wherein the
statistics include one or more of an estimated time of arrival and
average speed, and wherein the information about the route includes
information about sites or destinations that are along the
route.
[0160] Aspects of the above conveyance include wherein the sites or
destinations may be of interest to the passenger based on
information in a user profile associated with the passenger, and
wherein the passenger searches for destinations along the
route.
[0161] Aspects of the above conveyance include wherein the
statistics are updated periodically.
[0162] Embodiments include a non-transitory computer readable
medium stored on a storage medium and having instructions that when
executed by a processor cause the processor to perform a method,
the instructions comprising: instructions to provide a route for
travel; instructions to, while traveling the route, determine
statistics about the travel; and instructions to communicate the
statistics.
[0163] Aspects of the above computer readable medium include
wherein the statistics are communicated to a device, and wherein
the device is associated with a passenger in the conveyance.
[0164] Aspects of the above computer readable medium include
wherein the statistics include information about the route, wherein
the statistics include one or more of an estimated time of arrival
and average speed, and wherein the information about the route
includes information about sites or destinations that are along the
route.
[0165] Aspects of the above computer readable medium include
wherein the sites or destinations may be of interest to the
passenger based on information in a user profile associated with
the passenger, and wherein the passenger searches for destinations
along the route.
[0166] Aspects of the above computer readable medium include
wherein the statistics are updated periodically.
[0167] The present disclosure can provide a number of advantages
depending on the particular aspect, embodiment, and/or
configuration. The systems and methods provided herein provide for
an enhanced navigation interaction. The routing of a user can be
completed using profile and other information to provide better
guidance and a more user-friendly experience. Further, the routing
can be automated to take the user to preferred destinations, even
in foreign countries, where language may be an issue. These and
other advantages will be apparent from the disclosure.
[0168] The phrases "at least one," "one or more," and "and/or" are
open-ended expressions that are both conjunctive and disjunctive in
operation. For example, each of the expressions "at least one of A,
B and C," "at least one of A, B, or C," "one or more of A, B, and
C," "one or more of A, B, or C" and "A, B, and/or C" means A alone,
B alone, C alone, A and B together, A and C together, B and C
together, or A, B and C together.
[0169] The term "a" or "an" entity refers to one or more of that
entity. As such, the terms "a" (or "an"), "one or more," and "at
least one" can be used interchangeably herein. It is also to be
noted that the terms "comprising," "including," and "having" can be
used interchangeably.
[0170] The term "automatic" and variations thereof, as used herein,
refer to any process or operation done without material human input
when the process or operation is performed. However, a process or
operation can be automatic, even though performance of the process
or operation uses material or immaterial human input, if the input
is received before the performance of the process or operation.
Human input is deemed to be material if such input influences how
the process or operation will be performed. Human input that
consents to the performance of the process or operation is not
deemed to be "material."
[0171] The term "automotive navigation system" can refer to a
satellite navigation system designed for use in vehicles. It
typically uses a GPS navigation device to acquire position data to
locate the user on a road in the unit's map database. Using the
road database, the unit can give directions to other locations
along roads also in its database. Dead reckoning using distance
data from sensors attached to the drivetrain, a gyroscope and an
accelerometer can be used for greater reliability, as GPS signal
loss and/or multipath can occur due to urban canyons or
tunnels.
[0172] The term "bus" and variations thereof, as used herein, can
refer to a subsystem that transfers information and/or data between
various components. A bus generally refers to the collection
communication hardware interface, interconnects, bus architecture,
standard, and/or protocol defining the communication scheme for a
communication system and/or communication network. A bus may also
refer to a part of a communication hardware that interfaces the
communication hardware with the interconnects that connect to other
components of the corresponding communication network. The bus may
be for a wired network, such as a physical bus, or wireless
network, such as part of an antenna or hardware that couples the
communication hardware with the antenna. A bus architecture
supports a defined format in which information and/or data is
arranged when sent and received through a communication network. A
protocol may define the format and rules of communication of a bus
architecture.
[0173] The terms "communication device," "smartphone," and "mobile
device," and variations thereof, as used herein, can be used
interchangeably and may include any type of device capable of
communicating with one or more of another device and/or across a
communications network, via a communications protocol, and the
like. Exemplary communication devices may include but are not
limited to smartphones, handheld computers, laptops, netbooks,
notebook computers, subnotebooks, tablet computers, scanners,
portable gaming devices, phones, pagers, GPS modules, portable
music players, and other Internet-enabled and/or network-connected
devices.
[0174] A "communication modality" can refer to any protocol- or
standard defined or specific communication session or interaction,
such as Voice-Over-Internet-Protocol ("VoIP), cellular
communications (e.g., IS-95, 1G, 2G, 3G, 3.5G, 4G, 4G/IMT-Advanced
standards, 3GPP, WIMAX.TM., GSM, CDMA, CDMA2000, EDGE,
1.times.EVDO, iDEN, GPRS, HSPDA, TDMA, UMA, UMTS, ITU-R, and 5G),
Bluetooth.TM., text or instant messaging (e.g., AIM, Blauk, eBuddy,
Gadu-Gadu, IBM Lotus Sametime, ICQ, iMessage, IMVU, Lync, MXit,
Paltalk, Skype, Tencent QQ, Windows Live Messenger.TM. or MSN
Messenger.TM., Wireclub, Xfire, and Yahoo! Messenger.TM.), email,
Twitter (e.g., tweeting), Digital Service Protocol (DSP), and the
like.
[0175] The term "communication system" or "communication network"
and variations thereof, as used herein, can refer to a collection
of communication components capable of one or more of transmission,
relay, interconnect, control, or otherwise manipulate information
or data from at least one transmitter to at least one receiver. As
such, the communication may include a range of systems supporting
point-to-point or broadcasting of the information or data. A
communication system may refer to the collection individual
communication hardware as well as the interconnects associated with
and connecting the individual communication hardware. Communication
hardware may refer to dedicated communication hardware or may refer
a processor coupled with a communication means (i.e., an antenna)
and running software capable of using the communication means to
send and/or receive a signal within the communication system.
Interconnect refers some type of wired or wireless communication
link that connects various components, such as communication
hardware, within a communication system. A communication network
may refer to a specific setup of a communication system with the
collection of individual communication hardware and interconnects
having some definable network topography. A communication network
may include wired and/or wireless network having a pre-set to an ad
hoc network structure.
[0176] The term "computer-readable medium," as used herein refers
to any tangible storage and/or transmission medium that
participates in providing instructions to a processor for
execution. Such a medium may take many forms, including but not
limited to, non-volatile media, volatile media, and transmission
media. Non-volatile media includes, for example, non-volatile
random access memory (NVRAM), or magnetic or optical disks.
Volatile media includes dynamic memory, such as main memory. Common
forms of computer-readable media include, for example, a floppy
disk, a flexible disk, hard disk, magnetic tape, or any other
magnetic medium, magneto-optical medium, a compact disc read only
memory (CD-ROM), any other optical medium, punch cards, paper tape,
any other physical medium with patterns of holes, a random access
memory (RAM), a programmable read only memory (PROM), and erasable
programmable read only memory EPROM, a FLASH-EPROM, a solid state
medium like a memory card, any other memory chip or cartridge, a
carrier wave as described hereinafter, or any other medium from
which a computer can read. A digital file attachment to an e-mail
or other self-contained information archive or set of archives is
considered a distribution medium equivalent to a tangible storage
medium. When the computer-readable media is configured as a
database, it is to be understood that the database may be any type
of database, such as relational, hierarchical, object-oriented,
and/or the like. Accordingly, the disclosure is considered to
include a tangible storage medium or distribution medium and prior
art-recognized equivalents and successor media, in which the
software implementations of the present disclosure are stored. It
should be noted that any computer readable medium that is not a
signal transmission may be considered non-transitory.
[0177] The terms dash and dashboard and variations thereof, as used
herein, may be used interchangeably and can be any panel and/or
area of a vehicle disposed adjacent to an operator, user, and/or
passenger. Dashboards may include, but are not limited to, one or
more control panel(s), instrument housing(s), head unit(s),
indicator(s), gauge(s), meter(s), light(s), audio equipment,
computer(s), screen(s), display(s), HUD unit(s), and graphical user
interface(s).
[0178] The term "module" as used herein refers to any known or
later developed hardware, software, firmware, artificial
intelligence, fuzzy logic, or combination of hardware and software
that is capable of performing the functionality associated with
that element.
[0179] The term "desktop" refers to a metaphor used to portray
systems. A desktop is generally considered a "surface" that may
include pictures, called icons, widgets, folders, etc. that can
activate and/or show applications, windows, cabinets, files,
folders, documents, and other graphical items. The icons are
generally selectable to initiate a task through user interface
interaction to allow a user to execute applications and/or conduct
other operations.
[0180] The term "display" refers to a portion of a physical screen
used to display the output of a computer to a user.
[0181] The term "displayed image" refers to an image produced on
the display. A typical displayed image is a window or desktop. The
displayed image may occupy all or a portion of the display.
[0182] The term "display orientation" refers to the way in which a
rectangular display is oriented for viewing. The two most common
types of display orientations are portrait and landscape. In
landscape mode, the display is oriented such that the width of the
display is greater than the height of the display (such as a 4:3
ratio, which is 4 units wide and 3 units tall, or a 16:9 ratio,
which is 16 units wide and 9 units tall). Stated differently, the
longer dimension of the display is oriented substantially
horizontal in landscape mode while the shorter dimension of the
display is oriented substantially vertical. In the portrait mode,
by contrast, the display is oriented such that the width of the
display is less than the height of the display. Stated differently,
the shorter dimension of the display is oriented substantially
horizontal in the portrait mode while the longer dimension of the
display is oriented substantially vertical. A multi-screen display
can have one composite display that encompasses all the screens.
The composite display can have different display characteristics
based on the various orientations of the device.
[0183] The term "electronic address" can refer to any contactable
address, including a telephone number, instant message handle,
e-mail address, Uniform Resource Locator ("URL"), Global Universal
Identifier ("GUID"), Universal Resource Identifier ("URI"), Address
of Record ("AOR"), electronic alias in a database, etc.,
combinations thereof.
[0184] The term "gesture" refers to a user action that expresses an
intended idea, action, meaning, result, and/or outcome. The user
action can include manipulating a device (e.g., opening or closing
a device, changing a device orientation, moving a trackball or
wheel, etc.), movement of a body part in relation to the device,
movement of an implement or tool in relation to the device, audio
inputs, etc. A gesture may be made on a device (such as on the
screen) or with the device to interact with the device.
[0185] The term "gesture capture" refers to a sense or otherwise a
detection of an instance and/or type of user gesture. The gesture
capture can be received by sensors in three-dimensional space.
Further, the gesture capture can occur in one or more areas of a
screen, for example, on a touch-sensitive display or a gesture
capture region. A gesture region can be on the display, where it
may be referred to as a touch sensitive display, or off the
display, where it may be referred to as a gesture capture area.
[0186] The terms "infotainment" and "infotainment system" may be
used interchangeably and can refer to the hardware/software
products, data, content, information, and/or systems, which can be
built into or added to vehicles to enhance driver and/or passenger
experience. Infotainment may provide media and/or multimedia
content. An example is information-based media content or
programming that also includes entertainment content.
[0187] A "multi-screen application" refers to an application that
is capable of producing one or more windows that may simultaneously
occupy one or more screens. A multi-screen application commonly can
operate in single-screen mode in which one or more windows of the
application are displayed only on one screen or in multi-screen
mode in which one or more windows are displayed simultaneously on
multiple screens.
[0188] A "single-screen application" refers to an application that
is capable of producing one or more windows that may occupy only a
single screen at a time.
[0189] The terms "online community," "e-community," or "virtual
community" can mean a group of people that interact via a computer
network, for social, professional, educational, and/or other
purposes. The interaction can use a variety of media formats,
including wikis, blogs, chat rooms, Internet forums, instant
messaging, email, and other forms of electronic media. Many media
formats may be used in social software separately and/or in
combination, including text-based chat rooms and forums that use
voice, video text or avatars.
[0190] The term "satellite positioning system receiver" can refer
to a wireless receiver or transceiver to receive and/or send
location signals from and/or to a satellite positioning system
(SPS), such as the Global Positioning System ("GPS") (US), GLONASS
(Russia), Galileo positioning system (EU), Compass navigation
system (China), and Regional Navigational Satellite System
(India).
[0191] The term "social network service" may include a service
provider that builds online communities of people, who share
interests and/or activities, or who are interested in exploring the
interests and/or activities of others. Social network services can
be network-based and may provide a variety of ways for users to
interact, such as e-mail and instant messaging services.
[0192] The term "social network" can refer to a network-based
social network.
[0193] The term "screen," "touch screen," "touchscreen," or
"touch-sensitive display" refers to a physical structure that
enables the user to interact with the computer by touching areas on
the screen and provides information to a user through a display.
The touch screen may sense user contact in a number of different
ways, such as by a change in an electrical parameter (e.g.,
resistance or capacitance), acoustic wave variations, infrared
radiation proximity detection, light variation detection, and the
like. In a resistive touch screen, for example, normally separated
conductive and resistive metallic layers in the screen pass an
electrical current. When a user touches the screen, the two layers
make contact in the contacted location, whereby a change in
electrical field is noted and the coordinates of the contacted
location calculated. In a capacitive touch screen, a capacitive
layer stores electrical charge, which is discharged to the user
upon contact with the touch screen, causing a decrease in the
charge of the capacitive layer. The decrease is measured, and the
contacted location coordinates determined. In a surface acoustic
wave touch screen, an acoustic wave is transmitted through the
screen, and the acoustic wave is disturbed by user contact. A
receiving transducer detects the user contact instance and
determines the contacted location coordinates.
[0194] The term "window" refers to a, typically rectangular,
displayed image on at least part of a display that contains or
provides content different from the rest of the screen. The window
may obscure the desktop. The dimensions and orientation of the
window may be configurable either by another module or by a user.
When the window is expanded, the window can occupy substantially
all of the display space on a screen or screens.
[0195] The terms "determine," "calculate," and "compute," and
variations thereof, as used herein, are used interchangeably and
include any type of methodology, process, mathematical operation,
or technique.
[0196] It shall be understood that the term "means," as used
herein, shall be given its broadest possible interpretation in
accordance with 35 U.S.C., Section 112, Paragraph 6 or other
applicable law. Accordingly, a claim incorporating the term "means"
shall cover all structures, materials, or acts set forth herein,
and all of the equivalents thereof. Further, the structures,
materials or acts and the equivalents thereof shall include all
those described in the summary of the invention, brief description
of the drawings, detailed description, abstract, and claims
themselves.
[0197] The terms "vehicle," "car," "automobile," and variations
thereof may be used interchangeably herein and can refer to a
device or structure for transporting animate and/or inanimate or
tangible objects (e.g., persons and/or things), such as a
self-propelled conveyance. A vehicle as used herein can include any
conveyance or model of a conveyance, where the conveyance was
originally designed for the purpose of moving one or more tangible
objects, such as people, animals, cargo, and the like. The term
"vehicle" does not require that a conveyance moves or is capable of
movement. Typical vehicles may include but are in no way limited to
cars, trucks, motorcycles, busses, automobiles, trains, railed
conveyances, boats, ships, marine conveyances, submarine
conveyances, airplanes, space craft, flying machines, human-powered
conveyances, and the like.
[0198] The term "profile," as used herein, can refer to any data
structure, data store, and/or database that includes one or more
items of information associated with a vehicle, a vehicle system, a
device (e.g., a mobile device, laptop, mobile phone, etc.), or a
person.
[0199] The term "in communication with," as used herein, refers to
any coupling, connection, or interaction using electrical signals
to exchange information or data, using any system, hardware,
software, protocol, or format, regardless of whether the exchange
occurs wirelessly or over a wired connection.
[0200] The preceding is a simplified summary of the disclosure to
provide an understanding of some aspects of the disclosure. This
summary is neither an extensive nor exhaustive overview of the
disclosure and its various aspects, embodiments, and/or
configurations. It is intended neither to identify key or critical
elements of the disclosure nor to delineate the scope of the
disclosure but to present selected concepts of the disclosure in a
simplified form as an introduction to the more detailed description
presented below. As will be appreciated, other aspects,
embodiments, and/or configurations of the disclosure are possible
utilizing, alone or in combination, one or more of the features set
forth above or described in detail below.
BRIEF DESCRIPTION OF THE DRAWINGS
[0201] FIG. 1 depicts an embodiment of a vehicle operating
environment;
[0202] FIG. 2 is a block diagram of an embodiment of a vehicle
system;
[0203] FIG. 3 is a block diagram of an embodiment of a vehicle
control system environment;
[0204] FIG. 4 is a block diagram of an embodiment of a vehicle
communications subsystem;
[0205] FIG. 5A is a first block diagram of an embodiment of a
vehicle interior environment separated into areas and/or zones;
[0206] FIG. 5B is a second block diagram of an embodiment of a
vehicle interior environment separated into areas and/or zones;
[0207] FIG. 5C is a third block diagram of an embodiment of a
vehicle interior environment separated into areas and/or zones;
[0208] FIG. 6A depicts an embodiment of a sensor configuration for
a vehicle;
[0209] FIG. 6B depicts an embodiment of a sensor configuration for
a zone of a vehicle;
[0210] FIG. 7A is a block diagram of an embodiment of interior
sensors for a vehicle;
[0211] FIG. 7B is a block diagram of an embodiment of exterior
sensors for a vehicle;
[0212] FIG. 8A is a block diagram of an embodiment of a media
subsystem for a vehicle;
[0213] FIG. 8B is a block diagram of an embodiment of a user and
device interaction subsystem for a vehicle;
[0214] FIG. 8C is a block diagram of an embodiment of a Navigation
subsystem for a vehicle;
[0215] FIG. 9 is a block diagram of an embodiment of a
communications subsystem for a vehicle;
[0216] FIG. 10 is a block diagram of an embodiment of a software
architecture for the vehicle control system;
[0217] FIG. 11A is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0218] FIG. 11B is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0219] FIG. 11C is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0220] FIG. 11D is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0221] FIG. 11E is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0222] FIG. 11F is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0223] FIG. 11G is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0224] FIG. 11H is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0225] FIG. 11I is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0226] FIG. 11J is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0227] FIG. 11K is a graphical representation of an embodiment of a
gesture that a user may perform to provide input to a vehicle
control system;
[0228] FIG. 12A is a diagram of an embodiment of a data structure
for storing information about a user of a vehicle;
[0229] FIG. 12B is a diagram of an embodiment of a data structure
for storing information about a device associated with or in a
vehicle;
[0230] FIG. 12C is a diagram of an embodiment of a data structure
for storing information about a system of a vehicle;
[0231] FIG. 12D is a diagram of an embodiment of a data structure
for storing information about a vehicle;
[0232] FIG. 13 is a flow or process diagram of a method for storing
one or more settings associated with a user;
[0233] FIG. 14 is a flow or process diagram of a method for
establishing one or more settings associated with a user;
[0234] FIG. 15 is a flow or process diagram of a method for storing
one or more settings associated with a user;
[0235] FIG. 16 is a flow or process diagram of a method for storing
one or more gestures associated with a user;
[0236] FIG. 17 is a flow or process diagram of a method for
reacting to a gesture performed by a user;
[0237] FIG. 18 is a flow or process diagram of a method for storing
health data associated with a user;
[0238] FIG. 19 is a flow or process diagram of a method for
reacting to a gesture performed by a user;
[0239] FIG. 20 is a block diagram of an embodiment of a location
module;
[0240] FIG. 21 is a block diagram of an embodiment of a user
interaction module;
[0241] FIG. 22A is a diagram of an embodiment of a data structure
for route information;
[0242] FIG. 22B is a diagram of an embodiment of a data structure
for consumer information;
[0243] FIG. 23A is a graphical representation of an embodiment of a
user interface for the vehicle control system;
[0244] FIG. 23B is a graphical representation of another embodiment
of a user interface for the vehicle control system;
[0245] FIG. 24 is a flow or process diagram of a method for
providing a route;
[0246] FIG. 25 is a flow or process diagram of a method for
generating a route;
[0247] FIG. 26 is a flow or process diagram of a method for
generating a route;
[0248] FIG. 27 is a flow or process diagram of a method for
generating a route;
[0249] FIG. 28 is a flow or process diagram of a method for
generating a re-route;
[0250] FIG. 29 is a flow or process diagram of a method for
generating a route;
[0251] FIG. 30 is a flow or process diagram of a method for
generating a route;
[0252] FIG. 31 is a flow or process diagram of a method for
generating route statistics.
[0253] In the appended figures, similar components and/or features
may have the same reference label. Further, various components of
the same type may be distinguished by following the reference label
by a letter that distinguishes among the similar components. If
only the first reference label is used in the specification, the
description is applicable to any one of the similar components
having the same first reference label irrespective of the second
reference letter or label.
DETAILED DESCRIPTION
[0254] Presented herein are embodiments of systems, devices,
processes, data structures, user interfaces, etc. The embodiments
may relate to an automobile and/or an automobile environment. The
automobile environment can include systems associated with the
automobile and devices or other systems in communication with the
automobile and/or automobile systems. Furthermore, the systems can
relate to communications systems and/or devices and may be capable
of communicating with other devices and/or to an individual or
group of individuals. Further, the systems can receive user input
in unique ways. The overall design and functionality of the systems
provide for an enhanced user experience making the automobile more
useful and more efficient. As described herein, the automobile
systems may be electrical, mechanical, electro-mechanical,
software-based, and/or combinations thereof.
[0255] A vehicle environment 100 that may contain a vehicle
ecosystem is shown in FIG. 1. The vehicle environment 100 can
contain areas associated with a vehicle or conveyance 104. The
vehicle 104 is shown as a car but can be any type of conveyance.
The environment 100 can include at least three zones. A first zone
108 may be inside a vehicle 104. The zone 108 includes any interior
space, trunk space, engine compartment, or other associated space
within or associated with the vehicle 104. The interior zone 108
can be defined by one or more techniques, for example,
geo-fencing.
[0256] A second zone 112 may be delineated by line 120. The zone
112 is created by a range of one or more sensors associated with
the vehicle 104. Thus, the area 112 is exemplary of the range of
those sensors and what can be detected by those sensors associated
with the vehicle 104. Although sensor range is shown as a fixed and
continuous oval, the sensor range may be dynamic and/or
discontinuous. For example, a ranging sensor (e.g., radar, lidar,
ladar, etc.) may provide a variable range depending on output
power, signal characteristics, or environmental conditions (e.g.,
rain, fog, clear, etc.). The rest of the environment includes all
space beyond the range of the sensors and is represented by space
116. Thus, the environment 100 may have an area 116 that includes
all areas beyond the sensor range 112. The area 116 may include
locations of travel that the vehicle 104 may proceed to in the
future.
[0257] An embodiment of a vehicle system 200 is shown in FIG. 2.
The vehicle system 200 may comprise hardware and/or software that
conduct various operations for or with the vehicle 104. The
operations can include, but are not limited to, providing
information to the user 216, receiving input from the user 216, and
controlling the functions or operation of the vehicle 104, etc. The
vehicle system 200 can include a vehicle control system 204. The
vehicle control system 204 can be any type of computing system
operable to conduct the operations as described herein. An example
of a vehicle control system may be as described in conjunction with
FIG. 3.
[0258] The vehicle control system 204 may interact with a memory or
storage system 208 that stores system data. System data 208 may be
any type of data needed for the vehicle control system 204 to
control effectively the vehicle 104. The system data 208 can
represent any type of database or other storage system. Thus, the
system data 208 can be a flat file data system, an object-oriented
data system, or some other data system that may interface with the
vehicle control system 204.
[0259] The vehicle control system 204 may communicate with a device
or user interface 212, 248. The user interface 212, 248 may be
operable to receive user input either through touch input, on one
or more user interface buttons, via voice command, via one or more
image sensors, or through a graphical user interface that may
include a gesture capture region, as described in conjunction with
the other figures provided herein. Further, the symbol 212, 248 can
represent a device that is located or associated with the vehicle
104. The device 212, 248 can be a mobile device, including, but not
limited to, a mobile telephone, a mobile computer, or other type of
computing system or device that is either permanently located in or
temporarily associated with, but not necessarily connected to, the
vehicle 104. Thus, the vehicle control system 204 can interface
with the device 212, 248 and leverage the device's computing
capability to provide one or more of the features or functions as
described herein.
[0260] The device or user interface 212, 248 can receive input or
provide information to a user 216. The user 216 may thus interact
with the vehicle control system 204 through the interface or device
212, 248. Further, the device 212, 248 may include or have access
to device data 220 and/or profile data 252. The device data 220 can
be any type of data that is used in conjunction with the device
212, 248 including, but not limited to, multimedia data,
preferences data, device identification information, or other types
of data. The profile data 252 can be any type of data associated
with at least one user 216 including, but in no way limited to,
bioinformatics, medical information, driving history, personal
information (e.g., home physical address, business physical
address, contact addresses, likes, dislikes, hobbies, size, weight,
occupation, business contacts--including physical and/or electronic
addresses, personal contacts--including physical and/or electronic
addresses, family members, and personal information related
thereto, etc.), other user characteristics, advertising
information, user settings and feature preferences, travel
information, associated vehicle preferences, communication
preferences, historical information (e.g., including historical,
current, and/or future travel destinations), Internet browsing
history, or other types of data. In any event, the data may be
stored as device data 220 and/or profile data 252 in a storage
system similar to that described in conjunction with FIGS. 12A
through 12D.
[0261] As an example, the profile data 252 may include one or more
user profiles. User profiles may be generated based on data
gathered from one or more of vehicle preferences (e.g., seat
settings, HVAC settings, dash configurations, and the like),
recorded settings, geographic location information (e.g., provided
by a satellite positioning system (e.g., GPS), Wi-Fi hotspot, cell
tower data, etc.), mobile device information (such as mobile device
electronic addresses, Internet browsing history and content,
application store selections, user settings and enabled and
disabled features, and the like), private information (such as user
information from a social network, user presence information, user
business account, and the like), secure data, biometric
information, audio information from on board microphones, video
information from on board cameras, Internet browsing history and
browsed content using an on board computer and/or the local area
network enabled by the vehicle 104, geographic location information
(e.g., a vendor storefront, roadway name, city name, etc.), and the
like.
[0262] The profile data 252 may include one or more user accounts.
User accounts may include access and permissions to one or more
settings and/or feature preferences associated with the vehicle
104, communications, infotainment, content, etc. In one example, a
user account may allow access to certain settings for a particular
user, while another user account may deny access to the settings
for another user, and vice versa. The access controlled by the user
account may be based on at least one of a user account priority,
role, permission, age, family status, a group priority (e.g., the
user account priority of one or more users, etc.), a group age
(e.g., the average age of users in the group, a minimum age of the
users in the group, a maximum age of the users in the group, and/or
combinations thereof, etc.).
[0263] For example, a user 216 may be allowed to purchase
applications (e.g., software, etc.) for the vehicle 104 and/or a
device associated with the vehicle 104 based on information
associated with the user account. This user account information may
include a preferred payment method, permissions, and/or other
account information. As provided herein, the user account
information may be part of the user profile and/or other data
stored in the profile data 252.
[0264] As another example, an adult user (e.g., a user with an age
of 18 years old and/or over, etc.) may be located in an area of a
vehicle 104, such as a rear passenger area. Continuing this example
a child user (e.g., a user with an age of 17 years old and/or less,
etc.) may be located in the same, or close, area. In this example,
the user account information in the profile data 252 associated
with both the adult user and the child user may be used by the
vehicle 104 in determining whether content is appropriate for the
area given the age of the child user. For instance, a graphic movie
containing violence (e.g., a movie associated with a mature rating,
such as a Motion Picture Association of America (MPAA) rating of
"R," "NC-17," etc.) may be suitable to present to a display device
associated with the adult user but may not be acceptable to present
to the display device if a 12-year old child user may see and/or
hear the content of the movie.
[0265] The vehicle control system 204 may also communicate with or
through a communication network 224. The communication network 224
can represent any type of wireless and/or wired communication
system that may be included within the vehicle 104 or operable to
communicate outside the vehicle 104. Thus, the communication
network 224 can include a local area communication capability and a
wide area communication capability. For example, the communication
network 224 can include a Bluetooth.RTM. wireless system, an
802.11x (e.g., 802.11G/802.11N/802.11AC, or the like, wireless
system), a CAN bus, an Ethernet network within the vehicle 104, or
other types of communication networks that may function with or be
associated with the vehicle 104. Further, the communication network
224 can also include wide area communication capabilities,
including one or more of, but not limited to, a cellular
communication capability, satellite telephone communication
capability, a wireless wide area network communication capability,
or other types of communication capabilities that allow for the
vehicle control system 204 to communicate outside the vehicle
104.
[0266] The vehicle control system 204 may communicate through the
communication network 224 to a server 228 that may be located in a
facility that is not within physical proximity to the vehicle 104.
Thus, the server 228 may represent a cloud computing system or
cloud storage that allows the vehicle control system 204 to either
gain access to further computing capabilities or to storage at a
location outside of the vehicle 104. The server 228 can include a
computer processor and memory and be similar to any computing
system as understood to one skilled in the art.
[0267] Further, the server 228 may be associated with stored data
232. The stored data 232 may be stored in any system or by any
method, as described in conjunction with system data 208, device
data 220, and/or profile data 252. The stored data 232 can include
information that may be associated with one or more users 216 or
associated with one or more vehicles 104. The stored data 232,
being stored in a cloud or in a distant facility, may be exchanged
among vehicles 104 or may be used by a user 216 in different
locations or with different vehicles 104. Additionally or
alternatively, the server may be associated with profile data 252
as provided herein. It is anticipated that the profile data 252 may
be accessed across the communication network 224 by one or more
components of the system 200. Similar to the stored data 232, the
profile data 252, being stored in a cloud or in a distant facility,
may be exchanged among vehicles 104 or may be used by a user 216 in
different locations or with different vehicles 104.
[0268] The vehicle control system 204 may also communicate with one
or more sensors 236, 242, which are either associated with the
vehicle 104 or communicate with the vehicle 104. Vehicle sensors
242 may include one or more sensors for providing information to
the vehicle control system 204 that determine or provide
information about the environment 100 in which the vehicle 104 is
operating. Embodiments of these sensors may be as described in
conjunction with FIGS. 6A-7B. Non-vehicle sensor 236 can be any
type of sensor that is not currently associated with the vehicle
104. For example, non-vehicle sensor 236 can be sensors in a
traffic system operated by a third party that provides data to the
vehicle control system 204. Further, the non-vehicle sensor(s) 236
can be other types of sensors which provide information about the
distant environment 116 or other information about the vehicle 104
or the environment 100. These non-vehicle sensors 236 may be
operated by third parties but provide information to the vehicle
control system 204. Examples of information provided by the sensors
236 and that may be used by the vehicle control system 204 may
include weather tracking data, traffic data, user health tracking
data, vehicle maintenance data, or other types of data, which may
provide environmental or other data to the vehicle control system
204. The vehicle control system 204 may also perform signal
processing of signals received from one or more sensors 236, 242.
Such signal processing may include estimation of a measured
parameter from a single sensor, such as multiple measurements of a
range state parameter from the vehicle 104 to an obstacle, and/or
the estimation, blending, or fusion of a measured state parameter
from multiple sensors such as multiple radar sensors or a
combination of a ladar/lidar range sensor and a radar sensor.
Signal processing of such sensor signal measurements may comprise
stochastic signal processing, adaptive signal processing, and/or
other signal processing techniques known to those skilled in the
art.
[0269] The various sensors 236, 242 may include one or more sensor
memory 244. Embodiments of the sensor memory 244 may be configured
to store data collected by the sensors 236, 242. For example, a
temperature sensor may collect temperature data associated with a
vehicle 104, user 216, and/or environment, over time. The
temperature data may be collected incrementally, in response to a
condition, or at specific time periods. In this example, as the
temperature data is collected, it may be stored in the sensor
memory 244. In some cases, the data may be stored along with an
identification of the sensor and a collection time associated with
the data. Among other things, this stored data may include multiple
data points and may be used to track changes in sensor measurements
over time. As can be appreciated, the sensor memory 244 can
represent any type of database or other storage system.
[0270] The diagnostic communications module 256 may be configured
to receive and transmit diagnostic signals and information
associated with the vehicle 104. Examples of diagnostics signals
and information may include, but is in no way limited to, vehicle
system warnings, sensor data, vehicle component status, service
information, component health, maintenance alerts, recall
notifications, predictive analysis, and the like. Embodiments of
the diagnostic communications module 256 may handle warning/error
signals in a predetermined manner. The signals, for instance, can
be presented to one or more of a third party, occupant, vehicle
control system 204, and a service provider (e.g., manufacturer,
repair facility, etc.).
[0271] Optionally, the diagnostic communications module 256 may be
utilized by a third party (i.e., a party other than the user 216,
etc.) in communicating vehicle diagnostic information. For
instance, a manufacturer may send a signal to a vehicle 104 to
determine a status associated with one or more components
associated with the vehicle 104. In response to receiving the
signal, the diagnostic communications module 256 may communicate
with the vehicle control system 204 to initiate a diagnostic status
check. Once the diagnostic status check is performed, the
information may be sent via the diagnostic communications module
256 to the manufacturer. This example may be especially useful in
determining whether a component recall should be issued based on
the status check responses returned from a certain number of
vehicles.
[0272] Wired/wireless transceiver/communications ports 260 may be
included. The wired/wireless transceiver/communications ports 260
may be included to support communications over wired networks or
links, for example with other communication devices, server
devices, and/or peripheral devices. Examples of wired/wireless
transceiver/communications ports 260 include Ethernet ports,
Universal Serial Bus (USB) ports, Institute of Electrical and
Electronics Engineers (IEEE) 1594, or other interface ports.
[0273] An embodiment of a vehicle control environment 300 including
a vehicle control system 204 may be as shown in FIG. 3. Beyond the
vehicle control system 204, the vehicle control environment 300 can
include one or more of, but is not limited to, a power source
and/or power control module 316, a data storage module 320, user
interface(s)/input interface(s) 324, vehicle subsystems 328, user
interaction subsystems 332, Global Positioning System
(GPS)/Navigation subsystems 336, sensor(s) and/or sensor subsystems
340, communication subsystems 344, media subsystems 348, and/or
device interaction subsystems 352. The subsystems, modules,
components, etc. 316-352 may include hardware, software, firmware,
computer readable media, displays, input devices, output devices,
etc. or combinations thereof. The system, subsystems, modules,
components, etc. 204, 316-352 may communicate over a network or bus
356. This communication bus 356 may be bidirectional and perform
data communications using any known or future-developed standard or
protocol. An example of the communication bus 356 may be as
described in conjunction with FIG. 4.
[0274] The vehicle control system 204 can include a processor 304,
memory 308, and/or an input/output (I/O) module 312. Thus, the
vehicle control system 204 may be a computer system, which can
comprise hardware elements that may be electrically coupled. The
hardware elements may include one or more central processing units
(CPUs) 304; one or more components of the I/O module 312 including
input devices (e.g., a mouse, a keyboard, etc.) and/or one or more
output devices (e.g., a display device, a printer, etc.).
[0275] The processor 304 may comprise a general purpose
programmable processor or controller for executing application
programming or instructions. The processor 304 may, optionally,
include multiple processor cores, and/or implement multiple virtual
processors. Additionally or alternatively, the processor 304 may
include multiple physical processors. As a particular example, the
processor 304 may comprise a specially configured application
specific integrated circuit (ASIC) or other integrated circuit, a
digital signal processor, a controller, a hardwired electronic or
logic circuit, a programmable logic device or gate array, a special
purpose computer, or the like. The processor 304 generally
functions to run programming code or instructions implementing
various functions of the vehicle control system 204.
[0276] The input/output module 312 and associated ports may be
included to support communications over wired or wireless networks
or links, for example with other communication devices, server
devices, and/or peripheral devices. Examples of an input/output
module 312 include an Ethernet port, a Universal Serial Bus (USB)
port, Institute of Electrical and Electronics Engineers (IEEE)
1594, or other interface.
[0277] The vehicle control system 204 may also include one or more
storage devices 308. By way of example, storage devices 308 may be
disk drives, optical storage devices, solid-state storage devices
such as a random access memory ("RAM") and/or a read-only memory
("ROM"), which can be programmable, flash-updateable and/or the
like. The vehicle control system 204 may additionally include a
computer-readable storage media reader; a communications system
(e.g., a modem, a network card (wireless or wired), an infra-red
communication device, etc.); and working memory 308, which may
include RAM and ROM devices as described above. The vehicle control
system 204 may also include a processing acceleration unit, which
can include a digital signal processor (DSP), a special-purpose
processor, and/or the like.
[0278] The computer-readable storage media reader can further be
connected to a computer-readable storage medium, together (and,
optionally, in combination with storage device(s)) comprehensively
representing remote, local, fixed, and/or removable storage devices
plus storage media for temporarily and/or more permanently
containing computer-readable information. The communications system
may permit data to be exchanged with an external or internal
network and/or any other computer or device described herein.
Moreover, as disclosed herein, the term "storage medium" may
represent one or more devices for storing data, including read only
memory (ROM), random access memory (RAM), magnetic RAM, core
memory, magnetic disk storage mediums, optical storage mediums,
flash memory devices, and/or other machine readable mediums for
storing information.
[0279] The vehicle control system 204 may also comprise software
elements including an operating system and/or other code, as
described in conjunction with FIG. 10. It should be appreciated
that alternates to the vehicle control system 204 may have numerous
variations from that described herein. For example, customized
hardware might also be used and/or particular elements might be
implemented in hardware, software (including portable software,
such as applets), or both. Further, connection to other computing
devices such as network input/output devices may be employed.
[0280] The power source and/or power control module 316 can include
any type of power source, including, but not limited to, batteries,
alternating current sources (from connections to a building power
system or power line), solar cell arrays, etc. One or more
components or modules may also be included to control the power
source or change the characteristics of the provided power signal.
Such modules can include one or more of, but is not limited to,
power regulators, power filters, alternating current (AC) to direct
current (DC) converters, DC to AC converters, receptacles, wiring,
other converters, etc. The power source and/or power control module
316 functions to provide the vehicle control system 204 and any
other system with power.
[0281] The data storage 320 can include any module for storing,
retrieving, and/or managing data in one or more data stores and/or
databases. The database or data stores may reside on a storage
medium local to (and/or resident in) the vehicle control system 204
or in the vehicle 104. Alternatively, some of the data storage
capability may be remote from the vehicle control system 204 or
automobile, and in communication (e.g., via a network) to the
vehicle control system 204. The database or data stores may reside
in a storage-area network ("SAN") familiar to those skilled in the
art. Similarly, any necessary files for performing the functions
attributed to the vehicle control system 204 may be stored locally
on the respective vehicle control system 204 and/or remotely, as
appropriate. The databases or data stores may be a relational
database, and the data storage module 320 may be adapted to store,
update, and retrieve data in response to specifically-formatted
commands. The data storage module 320 may also perform data
management functions for any flat file, object oriented, or other
type of database or data store.
[0282] A first data store that may be part of the vehicle control
environment 300 is a profile data store 252 for storing data about
user profiles and data associated with the users. A system data
store 208 can include data used by the vehicle control system 204
and/or one or more of the components 324-352 to facilitate the
functionality described herein. The data stores 208 and/or 252 may
be as described in conjunction with FIGS. 1 and/or 12A-12D.
[0283] The user interface/input interfaces 324 may be as described
herein for providing information or data and/or for receiving input
or data from a user. Vehicle systems 328 can include any of the
mechanical, electrical, electromechanical, computer, or other
systems associated with the function of the vehicle 100. For
example, vehicle systems 328 can include one or more of, but is not
limited to, the steering system, the braking system, the engine and
engine control systems, the electrical system, the suspension, the
drive train, the cruise control system, the radio, the heating,
ventilation, air conditioning (HVAC) system, the windows and/or
doors, etc. These systems are well known in the art and will not be
described further.
[0284] Examples of the other systems and subsystems 324-352 may be
as described further herein. For example, the user
interface(s)/input interface(s) 324 may be as described in FIGS. 2
and 8B; the vehicle subsystems 328 may be as described in FIGS. 6a
et. seq.; the user interaction subsystem 332 may be as described in
conjunction with the user/device interaction subsystem 817 of FIG.
8B; the Navigation subsystem 336 may be as described in FIGS. 6A
and 8C; the sensor(s)/sensor subsystem 340 may be as described in
FIGS. 7A and 7B; the communication subsystem 344 may be as
described in FIGS. 2, 4, 5B, 5C, and 9; the media subsystem 348 may
be as described in FIG. 8A; and, the device interaction subsystem
352 may be as described in FIG. 2 and in conjunction with the
user/device interaction subsystem 817 of FIG. 8B.
[0285] FIG. 4 illustrates an optional communications channel
architecture 400 and associated communications components. FIG. 4
illustrates some of the optional components that can be
interconnected via the communication channels/zones 404.
Communication channels/zones 404 can carry information on one or
more of a wired and/or wireless communications link with, in the
illustrated example, there being three communications
channels/zones, 408, 412, and 416.
[0286] This optional environment 400 can also include an IP router
420, an operator cluster 424, one or more storage devices 428, one
or more blades, such as master blade 432, and computational blades
436 and 440. Additionally, the communications channels/zones 404
can interconnect one or more displays, such as, remote display 1
444, remote display N 448, and console display 452. The
communications channels/zones 404 also interconnect an access point
456, a Bluetooth.RTM. access point/USB hub 460, a Femtocell 464, a
storage controller 468, that is connected to one or more of USB
devices 472, DVDs 476, or other storage devices 480. To assist with
managing communications within the communication channel, the
environment 400 optionally includes a firewall 484 which will be
discussed hereinafter in greater detail. Other components that
could also share the communications channel/zones 404 include GPS
488, media controller 492, which is connected to one or more media
sources 496, and one or more subsystems, such as subsystem switches
498.
[0287] Optionally, the communications channels/zones 404 can be
viewed as an I/O network or bus where the communications channels
are carried on the same physical media. Optionally, the
communication channels 404 can be split amongst one or more
physical media and/or combined with one or more wireless
communications protocols. Optionally, the communications channels
404 can be based on wireless protocols with no physical media
interconnecting the various elements described herein.
[0288] The environment 400 shown in FIG. 4 can include a collection
of blade processors that are housed in a "crate." The crate can
have a PC-style backplane connector 408 and a backplane Ethernet
408 that allows the various blades to communicate with one another
using, for example, an Ethernet.
[0289] Various other functional elements illustrated in FIG. 4 can
be integrated into this crate architecture with, as discussed
hereinafter, various zones utilized for security. Optionally, as
illustrated in FIG. 4, the backplane 404/408 can have two separate
Ethernet zones that may or may not be on the same communications
channel. Optionally, the zones exist on a single communications
channel on the I/O network/bus 408. Optionally, the zones are
actually on different communications channels, e.g., 412, 416;
however, the implementation is not restricted to any particular
type of configuration. Rather, as illustrated in FIG. 4, there can
be a red zone 417 and a green zone 413, and the I/O backplane on
the network/bus 408 that enables standard I/O operations. This
backplane or I/O network/bus 408 also optionally can provide power
distribution to the various modules and blades illustrated in FIG.
4. The red and green Ethernet zones, 417 and 413 respectively, can
be implemented as Ethernet switches, with one on each side of the
firewall 484. Two Ethernets (untrusted and trusted) are not
connected in accordance with an optional embodiment. Optionally,
the connector geometry for the firewall can be different for the
Ethernet zones than for the blades that are a part of the
system.
[0290] The red zone 417 only needs to go from the modular connector
to the input side of the backplane connector of the firewall 484.
While FIG. 4 indicates that there are five external red zone
connectors to the firewall 484, provisions can be made for any
number of ports with the connections being made at the access point
456, the Bluetooth.RTM. access point (combo controller) 460,
Femtocell 464, storage controller 468, and/or firewall 484.
Optionally, the external port connections can be made through a
manufacturer configurable modular connector panel, and one or more
of the red zone Ethernet ports could be available through a
customer supplied crate which allows, for example, wired Ethernet
connections from a bring-your-own-device (BYOD) to the firewall
484.
[0291] The green zone 413 goes from the output side of the firewall
484 and generally defines the trusted Ethernet. The Ethernet on the
backplane 408 essentially implements an Ethernet switch for the
entire system, defining the Ethernet backbone of the vehicle 104.
All other modules, e.g., blades, etc., can connect to a standard
backplane bus and the trusted Ethernet. Some number of switch ports
can be reserved to connect to an output modular connector panel to
distribute the Ethernet throughout the vehicle 104, e.g.,
connecting such elements as the console display 452, remote
displays 444, 448, GPS 488, etc. Optionally, only trusted
components, either provided or approved by the manufacturer after
testing, can be attached to the green zone 413, which is by
definition in the trusted Ethernet environment.
[0292] Optionally, the environment 400, shown in FIG. 4, utilizes
IPv6 over Ethernet connections wherever possible. Using, for
example, the Broadcom single-twisted pair Ethernet technology,
wiring harnesses are simplified and data transmission speeds are
maximized. However, while the Broadcom single-twisted pair Ethernet
technology can be used, in general, systems and methods can work
comparably well with any type of well-known Ethernet technology or
other comparable communications technology.
[0293] As illustrated in FIG. 4 the I/O network/bus 408 is a
split-bus concept that contains three independent bus
structures:
[0294] The red zone 417--the untrusted Ethernet environment. This
zone 417 may be used to connect network devices and customer
provided devices to the vehicle information system with these
devices being on the untrusted side of the firewall 484.
[0295] The green zone 413--the trusted Ethernet environment, this
zone 413 can be used to connect manufacturer certified devices such
as GPS units, remote displays, subsystem switches, and the like, to
the vehicle network 404. Manufacturer certified devices can be
implemented by vendors that allow the vehicle software system to
validate whether or not a device is certified to operate with the
vehicle 100. Optionally, only certified devices are allowed to
connect to the trusted side of the network.
[0296] The I/O bus 409--the I/O bus may be used to provide power
and data transmission to bus-based devices such as the vehicle
solid state drive, the media controller blade 492, the
computational blades 436, 440, and the like.
[0297] As an example, the split-bus structure can have the
following minimum configuration: [0298] Two slots for the red zone
Ethernet; [0299] One slot for built-in LTE/WiMax access 420 from
the car to other network resources such as the cloud/Internet;
[0300] One slot for user devices or bring-your-own device access,
this slot can implement, for example, WiFi, Bluetooth.RTM., and/or
USB connectivity 456, which can be provided in, for example, the
customer crate; [0301] One slot for combined red zone and green
zone Ethernet, this slot can be reserved for the firewall
controller;
[0302] Two slots for computational blades. Here the two computation
blades are illustratively as shown the optional master blade and
the multimedia blade or controller 492 which can be provided as
standard equipment; and [0303] The expansion controller that allows
the I/O bus to be extended and provides additional Ethernet switch
ports for one or more of the red or green zones, which may require
that the basic green zone Ethernet switch implementation will
support additional ports beyond the initial three that are needed
for the basic exemplary system. [0304] It should be possible to
build 8 or 16 or more Ethernet switches that allow for the
expansion with existing component(s) in a straight-forward
manner.
[0305] The red zone 417 can be implemented as an 8-port Ethernet
switch that has three actual bus ports within the crate with the
remaining five ports being available on the customer crate. The
crate implements red zone slots for the firewall controller 484,
the combo controller which includes WiFi, Bluetooth.RTM., USB hub
(456, 460) and the IP router 420.
[0306] The firewall controller 484 can have a dedicated slot that
bridges the red zone 417, green zone 413, and uses the I/O bus for
power connections. In accordance with an optional low cost
implementation, the firewall 484 can be implemented by a dummy
module that simply bridges the red zone 417 and the green zone 413
without necessarily providing any firewall functionality. The combo
controller 460 that includes the WiFi, Bluetooth.RTM., and USB hub
can be provided for consumer device connections. This controller
can also implement the IPv6 (un-routable) protocol to insure that
all information is packetized for transmission via IP over the
Ethernet in the I/O network/bus 408.
[0307] The combo controller 460 with the USB hub can have ports in
the customer crate. The combo controller 460 can implement USB
discovery functions and packetizes the information for transmission
via IP over Ethernet. The combo controller 460 can also facilitate
installation of the correct USB driver for the discovered device,
such as a BYOD from the user. The combo controller 460 and USB hub
can then map the USB address to a "local" IPv6 address for
interaction with one or more of the computational blades which is
generally going to be the media controller 492.
[0308] The IP router 420 can implement Internet access through a
manufacturer provided service. This service can allow, for example,
a manufacturer to offer value-added services to be integrated into
the vehicle information systems. The existence of the manufacturer
provided Internet access can also allow the "e-Call" function and
other vehicle data recorder functions to be implemented. IP router
420 also allows, for example, WiMax, 4G LTE, and other connections
to the Internet through a service provider that can be, for
example, contracted by the manufacturer. Internally, the IP router
420 can allow cellular handset connections to the Internet through
a Femtocell 464 that is part of the IP router implementation. The
IP router 420, with the Femtocell 464, can also allow a cone of
silence functionality to be implemented. The IP router 420 can be
an optional component for a vehicle provided by, for example, the
manufacturer, a dealer, or installed by a user. In the absence of
the IP router 420, it is possible to connect a consumer handheld
device to the I/O network/bus 408 using, for example, either WiFi
or Bluetooth.RTM. 456, 460. While functionality may be somewhat
reduced when using a handheld device instead of a built-in Ethernet
connection, systems and methods of this invention can also work
utilizing this consumer handheld device which then connects to the
Internet via, for example, WiMax, 4G, 4G LTE, or the like.
[0309] FIGS. 5A-5C show configurations of a vehicle 104. In
general, a vehicle 104 may provide functionality based at least
partially on one or more areas, zones, and distances, associated
with the vehicle 104. Non-limiting examples of this functionality
are provided herein below.
[0310] An arrangement or configuration for sensors within a vehicle
104 is as shown in FIG. 5A. The sensor arrangement 500 can include
one or more areas 508 within the vehicle. An area can be a larger
part of the environment inside or outside of the vehicle 104. Thus,
area one 508A may include the area within the trunk space or engine
space of the vehicle 104 and/or the front passenger compartment.
Area two 508B may include a portion of the interior space 108
(e.g., a passenger compartment, etc.) of the vehicle 104. The area
N, 508N, may include the trunk space or rear compartment area, when
included within the vehicle 104. The interior space 108 may also be
divided into other areas. Thus, one area may be associated with the
front passenger's and driver's seats, a second area may be
associated with the middle passengers' seats, and a third area may
be associated with a rear passenger's seat. Each area 508 may
include one or more sensors that are positioned or operate to
provide environmental information about that area 508.
[0311] Each area 508 may be further separated into one or more
zones 512 within the area 508. For example, area 1 508A may be
separated into zone A 512A, and zone B 512B. Each zone 512 may be
associated with a particular portion of the interior occupied by a
passenger. For example, zone A 512A may be associated with a
driver. Zone B 512B, may be associated with a front passenger. Each
zone 512 may include one or more sensors that are positioned or
configured to collect information about the environment or
ecosystem associated with that zone or person.
[0312] A passenger area 508B may include more than two zones as
described in conjunction with area 508A. For example, area 508B may
include three zones, 512C, 512D, and 512E. These three separate
zones 512C, 512D, and 512E may be associated with three passenger
seats typically found in the rear passenger area of a vehicle 104.
An area 508N and may include a single zone 512N as there may be no
separate passenger areas but may include a single trunk area within
the vehicle 104. The number of zones 512 is unlimited within the
areas as the areas are also unlimited inside the vehicle 104.
Further, it should be noted that there may be one or areas 508 or
zones 512 that may be located outside the vehicle 104 that may have
a specific set of sensors associated therewith.
[0313] Optionally, each area/access point 508, 456, 516, 520,
and/or zone 512, associated with a vehicle 104, may comprise one or
more sensors to determine a presence of a user 216 and/or device
212, 248 in and/or adjacent to each area 508, 456, 516, 520, and/or
zone 512. The sensors may include vehicle sensors 242 and/or
non-vehicle sensors 236 as described herein. It is anticipated that
the sensors may be configured to communicate with a vehicle control
system 204 and/or the diagnostic communications module 256.
Additionally or alternatively, the sensors may communicate with a
device 212, 248. The communication of sensors with the vehicle 104
may initiate and/or terminate the control of device 212, 248
features. For example, a vehicle operator may be located in a
second outside area 520 associated with a vehicle 104. As the
operator approaches the first outside area 516, associated with the
vehicle 104, the vehicle control system 204 may determine to
control features associated with one or more device 212, 248 and
diagnostic communications module 256.
[0314] Optionally, the location of the device 212, 248 relative to
the vehicle 104 may determine vehicle functionality and/or features
to be provided and/or restricted to a user 216. By way of example,
a device 212, 248 associated with a user 216 may be located at a
second outside area 520 from the vehicle 104. In this case, and
based at least partially on the distance of the device 212, 248
from the vehicle 104 (e.g., provided by detecting the device 212,
248 at or beyond the second outside area 520) the vehicle 104 may
lock one or more features (e.g., ignition access, vehicle access,
communications ability, etc.) associated with the vehicle 104.
Optionally, the vehicle 104 may provide an alert based on the
distance of the device 212, 248 from the vehicle 104. Continuing
the example above, once the device 212, 248 reaches the first
outside area 516 of the vehicle 104 at least one of the vehicle
features may be unlocked. For instance, by reaching the first
outside area 516, the vehicle 104 may unlock a door of the vehicle
104. In some cases, when the device is detected to be inside the
vehicle 104, the various sensors 236, 242 may determine that the
user 216 is in an area 508 and/or zone 512. As is further described
herein, features of the vehicle 104, device 212, 248, and/or other
components may be controlled based on rules stored in a memory.
[0315] FIG. 5B illustrates optional internal vehicle communications
between one or more of the vehicle and one or more devices or
between devices. Various communications can occur utilizing one or
more Bluetooth.RTM., NFC, WiFi, mobile hot spot, point-to-point
communications, point-to-multipoint other point communications, an
ad hoc network, or in general any known communications protocol
over any known communications media or media-types.
[0316] Optionally, various types of internal vehicle communications
can be facilitated using an access point 456 that utilizes one or
more of Bluetooth.RTM., NFC, WiFi, wireless Ethernet, mobile hot
spot technology, or the like. Upon being connected with, and
optionally authenticated to the access point 456, the connected
device is able to communicate with one or more of the vehicle and
one or more other devices that are connected to the access point
456. The type of connection to the access point 456 can be based
on, for example, the zone 512, in which the device is located.
[0317] The user may identify their zone 512 in conjunction with an
authentication procedure to the access point 456. For example, a
driver in zone A 512A, upon authenticating to the access point 456,
can cause the access point 456 to send a query to the device asking
the device user in which zone 512 they are located. As discussed
hereinafter, the zone 512 the user device is located in may have an
impact on the type of communications, available bandwidth, the
types of other devices or vehicle systems or subsystems the device
could communicate with, and the like. As a brief introduction,
internal communications with zone A 512A may be given preferential
treatment over those communications originating from area 2 508B,
which could have in itself, preferential treatment over
communications originating within area N 508N.
[0318] Moreover, the device in zone A 512A can include profile
information that governs the other devices that are allowed to
connect to the access point 456 and what those devices have access
to, how they can communicate, how much bandwidth they are
allocated, and the like. While, optionally, the device associated
with zone A 512A will be considered the "master" controller of the
profile that governs the internal vehicle communications, it should
be appreciated that this was arbitrarily chosen since it is assumed
that there will always be a driver in a car that is present in zone
A 512A. However, it should be appreciated the driver in zone A
512A, for example, may not have a communications device in which
case a device associated with one of the other areas or zones, such
as zone B 512B, area 2 508B, or area N 508N could also be
associated with or control this master profile.
[0319] Optionally, various devices located within the various zones
512 can connect using, for example, ports provided by access point
456 or Bluetooth.RTM. access point/USB hub 460 as illustrated in
FIG. 4. Similarly, the device(s) could connect utilizing the
Femtocell 464 and optionally be directly connected via, for
example, a standard Ethernet port.
[0320] As discussed, each one of the areas, area 1 508A, area 2
508B, and area N 508N, can each have associated therewith a profile
that governs, for example, how many and what types of devices can
connect from that area 508, bandwidth allocated to that area 508,
the types of media or content available to device(s) within that
area 508, the interconnection of devices within that area 508 or
between areas 508, or, in general, can control any aspect of
communication of an associated device with any one or more other
associated devices/vehicle systems within the vehicle 104.
[0321] Optionally, area 2 508B devices can be provided with full
access to multimedia and infotainment available within the vehicle
104, however, devices in area 2 508B may be restricted from any
access to vehicle functions. Only devices in area 1 508A may be
able to access vehicle control functions such as when "parents" are
located in area 1 508A and the children are located in area 2 508B.
Optionally, devices found in zone E 512E of area 2 508B may be able
to access limited vehicle control functionality such as climate
control within area 2. Similarly, devices in area N 508N may be
able to control climate features within zone N 512N.
[0322] As will be appreciated, profiles can be established that
allow management of communications within each of the areas 508,
and further optionally within each of the zones 512. The profile
can be granular in nature controlling not only what type of devices
can connect within each zone 512, but how those devices can
communicate with other devices and/or the vehicle and types of
information that can be communicated.
[0323] To assist with identifying a location of a device within a
zone 512, a number of different techniques can be utilized. One
optional technique involves one or more of the vehicle sensors
detecting the presence of an individual within one of the zones
512. Upon detection of an individual in a zone 512, communications
subsystems 344 and the access point 456 can cooperate to not only
associate the device within the zone 512 with the access point 456
but to also determine the location of the device within an area,
and optionally within a zone 512. Once the device is established
within a zone 512, a profile associated with the vehicle 104 can
store information identifying that device and/or a person and
optionally associating it with a particular zone 512 as a default.
As discussed, there can be a master profile optionally associated
with the device in zone A 512A, this master profile can govern
communications with the communications subsystems 340 and where
communications within vehicle 104 are to occur.
[0324] Some optional profiles are illustrated below where the
Master Profile governs other device connectivity:
TABLE-US-00001 Area 1 508A Area 2 508B Area N 508N Other Master
Profile: All Communications Allow Access to No Access Master
Infotainment Profile acts as Firewall and Router All Vehicle
Controls Allow Area 2 Climate Control Secondary Profile (e.g.,
device in Zone B 512B, Area 1 508A) All Communications Allow Access
to Allow Access to Master Infotainment Infotainment Profile acts as
Firewall and Router All Vehicle Controls Allow Area 2 Allow Area 2
Climate Control Climate Control Secondary Profile, Option 2 All
Communications Allow Access to Allow Access to Infotainment,
Infotainment Internet All Vehicle Controls Allow Area 2 Allow Area
2 Except Driver- Climate Control Climate Control centric
Controls
[0325] Some optional profiles are illustrated below where the
Area/Zone governs device connectivity:
TABLE-US-00002 Area 2 508B Profile: Area 1 508A Area 2 508B Area N
508N Other No Communications Allow Access to with Area 1 Devices
Infotainment, Allow Access to Other Area 2 or Zone N Devices,
Internet No Vehicle Controls Allow Area 2 Climate Control
TABLE-US-00003 Area N 508N Profile: Area 1 508A Area 2 508B Area N
508N Other Communications Allow Access to with Area 1, Zone B
Infotainment, Allow Device Access to Other Area N or Zone N Devices
No Vehicle Controls Allow Area N Climate Control
TABLE-US-00004 Area 2 508B Profile: Area 1 508A Area 2 508B Area N
508N Other Media Sharing with Allow Access to Area 1, Zone B and
Infotainment, Allow Vehicle Access to Other Area 2 or Zone N
Devices, Internet and Femtocell No Vehicle Controls
[0326] Optionally, a user's device, such as a SmartPhone, can store
in, for example a profile, with which zone 512 the user's device is
associated. Then, assuming the user sits in the same zone 512 and
area 508 as previously, the user's device can re-establish the same
communications protocols with the access point 456 as were
previously established.
[0327] In addition or in the alternative, the areas 508 and zones
512 can have associated therewith restrictions as to which one or
more other user's devices with which users' devices can connect.
For example, a first user's device can connect with any other user
device in area 2 508B or area N 508N, however is restricted from
connecting with a user device in area 1 508A, zone A 512A. However,
the first user device may be able to communicate with another
user's device that is located in area 1 508A, zone B 512B. These
communications can include any type of standard communications such
as sharing content, exchanging messages, forwarding or sharing
multimedia or infotainment, or in general can include any
communications that would ordinarily be available between two
devices and/or the vehicle and vehicle systems. As discussed, there
may be restrictions on the type of communications that can be sent
to the device in area 1 508A, zone A 512A. For example, the user's
device in area 1 508A, zone A 512A may be restricted from receiving
one or more of text messages, multimedia, infotainment, or in
general anything that can be envisioned as a potential distraction
to the driver. Moreover, it should be appreciated that the
communications between the various devices and the various zones
512 need not necessarily occur with the assistance of access point
456, but the communications could also occur directly between the
device(s).
[0328] FIG. 5C outlines optional internal vehicle communications
between one or more of the vehicle and one or more devices. More
specifically, FIG. 5C illustrates an example of vehicle
communications where the vehicle 104 is equipped with the necessary
transceivers to provide a mobile hot spot functionality to any user
device(s) therein, such as user devices 248A and 248N.
[0329] Optionally, and as discussed above, one or more user devices
can connect to the access point 456. This access point 456 is
equipped to handle communications routing to not only the
communication network/buses 224 for intra-vehicle communications,
but optionally can also communicate with, for example, the Internet
or the cloud, in cooperation with transceiver 260. Optionally
included is a firewall 484 that has the capability of not only
blocking certain types of content, such as a malicious content, but
can also operate to exclude certain type of communications from
emanating from the vehicle 104 and transceiver 260. As will be
appreciated, various profiles could be established in the firewall
484 that controls not only the type of communications that can be
received at the vehicle 104, but the type of communications that
can be sent from the vehicle 104.
[0330] The transceiver 260 can be any type of well-known wireless
transceiver that communicates using a known communications protocol
such as WiMax, 4G, 4G LTE, 3G, or the like. The user devices can
communicate via, for example, WiFi link 248 with the access point
456, with the transceiver 260 providing Internet connectivity to
the various user devices. As will be appreciated, there may need to
be an account associated with transceiver 260 with a wireless
carrier to provide data and/or voice connectivity to enable the
user devices to communicate with the Internet. Typically, the
account is established on a month-to-month basis with an associated
fee but could also be performed based on the amount of data to be
transmitted, received, or in any other manner.
[0331] Moreover, one or more of the user's devices and access point
456 can maintain profile information that governs how the user's
devices are able to communicate with other devices, and optionally
the Internet. Optionally, a profile can exist that only allows the
user's devices to communicate with other user's devices and/or the
vehicle, multimedia and/or the vehicle infotainment system, and may
not be allowed access to the Internet via transceiver 260. The
profile can stipulate that the user's device could connect to the
Internet via transceiver 260 for a specified period of time and/or
up to a certain amount of data usage. The user's device can have
full access to the Internet via transceiver 260 with no limit on
time or data usage which would reduce the data usage of the user's
device since it is connected via WiFi to the access point 456, but
however, would increase the data usage by transceiver 260, and
therefore, shift the billing for that data usage to the transceiver
260 instead of the user's device. Still further, and as previously
discussed, the various profiles may stipulate which user's device
has priority for use of the bandwidth provided by the transceiver
260. For example, a user's device located area 1 508A, zone A 512A
may be given preferential routing treatment of data above that of a
user's device in zone N 512N. In this manner, for example, a driver
would be given priority for Internet access above that of the
passengers. This could become important, for example, when the
driver is trying to obtain traffic or direction information or, for
example, when the vehicle is performing a download to update
various software features.
[0332] As will be appreciated, the optional firewall 484 can
cooperate with the access point 456 and the various profiles that
area 508 associated with the various devices within the vehicle 104
and can fully implement communications restrictions, control
bandwidth limits, Internet accessibility, malicious software
blocking, and the like. Moreover, the optional firewall 484 can be
accessed by an administrator with one or more of these
configuration settings edited through an administrator's control
panel. For example, in a scenario where parents are always in area
1 508A, it may be appropriate to give all of the user's devices in
area 1 508A full access to the Internet utilizing transceiver 260,
however, while restricting access and/or bandwidth to any other
user devices within the vehicle 104. As the user's device and
profile would be known by the firewall 484, upon the user's device
being associated with the access point 456, the firewall 484 and
transceiver 260 can be configured to allow communications in
accordance with the stored profile.
[0333] A set of sensors or vehicle components 600 associated with
the vehicle 104 may be as shown in FIG. 6A. The vehicle 104 can
include, among many other components common to vehicles, wheels
607, a power source 609 (such as an engine, motor, or energy
storage system (e.g., battery or capacitive energy storage
system)), a manual or automatic transmission 612, a manual or
automatic transmission gear controller 616, a power controller 620
(such as a throttle), a vehicle control system 204, the display
device 212, a braking system 636, a steering wheel 640, a power
source activation/deactivation switch 644 (e.g., an ignition), an
occupant seating system 648, a wireless signal receiver 653 to
receive wireless signals from signal sources such as roadside
beacons and other electronic roadside devices, and a satellite
positioning system receiver 657 (e.g., a Global Positioning System
("GPS") (US), GLONASS (Russia), Galileo positioning system (EU),
Compass navigation system (China), and Regional Navigational
Satellite System (India) receiver), driverless systems (e.g.,
cruise control systems, automatic steering systems, automatic
braking systems, etc.).
[0334] The vehicle 104 can include a number of sensors in wireless
or wired communication with the vehicle control system 204 and/or
display device 212, 248 to collect sensed information regarding the
vehicle state, configuration, and/or operation. Exemplary sensors
may include one or more of, but are not limited to, wheel state
sensor 660 to sense one or more of vehicle speed, acceleration,
deceleration, wheel rotation, wheel speed (e.g., wheel
revolutions-per-minute), wheel slip, and the like, a power source
energy output sensor 664 to sense a power output of the power
source 609 by measuring one or more of current engine speed (e.g.,
revolutions-per-minute), energy input and/or output (e.g., voltage,
current, fuel consumption, and torque) (e.g., turbine speed sensor,
input speed sensor, crankshaft position sensor, manifold absolute
pressure sensor, mass flow sensor, and the like), and the like, a
switch state sensor 668 to determine a current activation or
deactivation state of the power source activation/deactivation
switch 644, a transmission setting sensor 670 to determine a
current setting of the transmission (e.g., gear selection or
setting), a gear controller sensor 672 to determine a current
setting of the gear controller 616, a power controller sensor 674
to determine a current setting of the power controller 620, a brake
sensor 676 to determine a current state (braking or non-braking) of
the braking system 636, a seating system sensor 678 to determine a
seat setting and current weight of seated occupant, if any) in a
selected seat of the seating system 648, exterior and interior
sound receivers 690 and 692 (e.g., a microphone, sonar, and other
type of acoustic-to-electric transducer or sensor) to receive and
convert sound waves into an equivalent analog or digital signal.
Examples of other sensors (not shown) that may be employed include
safety system state sensors to determine a current state of a
vehicular safety system (e.g., air bag setting (deployed or
undeployed) and/or seat belt setting (engaged or not engaged)),
light setting sensor (e.g., current headlight, emergency light,
brake light, parking light, fog light, interior or passenger
compartment light, and/or tail light state (on or off)), brake
control (e.g., pedal) setting sensor, accelerator pedal setting or
angle sensor, clutch pedal setting sensor, emergency brake pedal
setting sensor, door setting (e.g., open, closed, locked or
unlocked) sensor, engine temperature sensor, passenger compartment
or cabin temperature sensor, window setting (open or closed)
sensor, one or more interior-facing or exterior-facing cameras or
other imaging sensors (which commonly convert an optical image into
an electronic signal but may include other devices for detection
objects such as an electromagnetic radiation emitter/receiver that
emits electromagnetic radiation and receives electromagnetic waves
reflected by the object) to sense objects, such as other vehicles
and pedestrians and optionally determine the distance, trajectory
and speed of such objects, in the vicinity or path of the vehicle,
odometer reading sensor, trip mileage reading sensor, wind speed
sensor, radar transmitter/receiver output, brake wear sensor,
steering/torque sensor, oxygen sensor, ambient lighting sensor,
vision system sensor, ranging sensor, parking sensor, heating,
venting, and air conditioning (HVAC) sensor, water sensor, air-fuel
ratio meter, blind spot monitor, hall effect sensor, microphone,
radio frequency (RF) sensor, infrared (IR) sensor, vehicle control
system sensors, wireless network sensor (e.g., Wi-Fi and/or
Bluetooth.RTM. sensor), cellular data sensor, and other sensors
either future-developed or known to those of skill in the vehicle
art.
[0335] In the depicted vehicle embodiment, the various sensors can
be in communication with the display device 212, 248 and vehicle
control system 204 via signal carrier network 224. As noted, the
signal carrier network 224 can be a network of signal conductors, a
wireless network (e.g., a radio frequency, microwave, or infrared
communication system using a communications protocol, such as
Wi-Fi), or a combination thereof. The vehicle control system 204
may also provide signal processing of one or more sensors, sensor
fusion of similar and/or dissimilar sensors, signal smoothing in
the case of erroneous "wild point" signals, and/or sensor fault
detection. For example, ranging measurements provided by one or
more RF sensors may be combined with ranging measurements from one
or more IR sensors to determine one fused estimate of vehicle range
to an obstacle target.
[0336] The control system 204 may receive and read sensor signals,
such as wheel and engine speed signals, as a digital input
comprising, for example, a pulse width modulated (PWM) signal. The
processor 304 can be configured, for example, to read each of the
signals into a port configured as a counter or configured to
generate an interrupt on receipt of a pulse, such that the
processor 304 can determine, for example, the engine speed in
revolutions per minute (RPM) and the speed of the vehicle in miles
per hour (MPH) and/or kilometers per hour (KPH). One skilled in the
art will recognize that the two signals can be received from
existing sensors in a vehicle comprising a tachometer and a
speedometer, respectively. Alternatively, the current engine speed
and vehicle speed can be received in a communication packet as
numeric values from a conventional dashboard subsystem comprising a
tachometer and a speedometer. The transmission speed sensor signal
can be similarly received as a digital input comprising a signal
coupled to a counter or interrupt signal of the processor 304 or
received as a value in a communication packet on a network or port
interface from an existing subsystem of the vehicle 104. The
ignition sensor signal can be configured as a digital input,
wherein a HIGH value represents that the ignition is on and a LOW
value represents that the ignition is OFF. Three bits of the port
interface can be configured as a digital input to receive the gear
shift position signal, representing eight possible gear shift
positions. Alternatively, the gear shift position signal can be
received in a communication packet as a numeric value on the port
interface. The throttle position signal can be received as an
analog input value, typically in the range 0-5 volts.
Alternatively, the throttle position signal can be received in a
communication packet as a numeric value on the port interface. The
output of other sensors can be processed in a similar fashion.
[0337] Other sensors may be included and positioned in the interior
space 108 of the vehicle 104. Generally, these interior sensors
obtain data about the health of the driver and/or passenger(s),
data about the safety of the driver and/or passenger(s), and/or
data about the comfort of the driver and/or passenger(s). The
health data sensors can include sensors in the steering wheel that
can measure various health telemetry for the person (e.g., heart
rate, temperature, blood pressure, blood presence, blood
composition, etc.). Sensors in the seats may also provide for
health telemetry (e.g., presence of liquid, weight, weight shifts,
etc.). Infrared sensors could detect a person's temperature;
optical sensors can determine a person's position and whether the
person has become unconscious. Other health sensors are possible
and included herein.
[0338] Safety sensors can measure whether the person is acting
safely. Optical sensors can determine a person's position and
focus. If the person stops looking at the road ahead, the optical
sensor can detect the lack of focus. Sensors in the seats may
detect if a person is leaning forward or may be injured by a seat
belt in a collision. Other sensors can detect that the driver has
at least one hand on a steering wheel. Other safety sensors are
possible and contemplated as if included herein.
[0339] Comfort sensors can collect information about a person's
comfort. Temperature sensors may detect a temperature of the
interior cabin. Moisture sensors can determine a relative humidity.
Audio sensors can detect loud sounds or other distractions. Audio
sensors may also receive input from a person through voice data.
Other comfort sensors are possible and contemplated as if included
herein.
[0340] FIG. 6B shows an interior sensor configuration for one or
more zones 512 of a vehicle 104 optionally. Optionally, the areas
508 and/or zones 512 of a vehicle 104 may include sensors that are
configured to collect information associated with the interior 108
of a vehicle 104. In particular, the various sensors may collect
environmental information, user information, and safety
information, to name a few. Embodiments of these sensors may be as
described in conjunction with FIGS. 7A-8B.
[0341] Optionally, the sensors may include one or more of optical,
or image, sensors 622A-B (e.g., cameras, etc.), motion sensors
624A-B (e.g., utilizing RF, IR, and/or other sound/image sensing,
etc.), steering wheel user sensors 642 (e.g., heart rate,
temperature, blood pressure, sweat, health, etc.), seat sensors 677
(e.g., weight, load cell, moisture, electrical, force transducer,
etc.), safety restraint sensors 679 (e.g., seatbelt, airbag, load
cell, force transducer, etc.), interior sound receivers 692A-B,
environmental sensors 694 (e.g., temperature, humidity, air,
oxygen, etc.), and the like.
[0342] The image sensors 622A-B may be used alone or in combination
to identify objects, users 216, and/or other features, inside the
vehicle 104. Optionally, a first image sensor 622A may be located
in a different position within a vehicle 104 from a second image
sensor 622B. When used in combination, the image sensors 622A-B may
combine captured images to form, among other things, stereo and/or
three-dimensional (3D) images. The stereo images can be recorded
and/or used to determine depth associated with objects and/or users
216 in a vehicle 104. Optionally, the image sensors 622A-B used in
combination may determine the complex geometry associated with
identifying characteristics of a user 216. For instance, the image
sensors 622A-B may be used to determine dimensions between various
features of a user's face (e.g., the depth/distance from a user's
nose to a user's cheeks, a linear distance between the center of a
user's eyes, and more). These dimensions may be used to verify,
record, and even modify characteristics that serve to identify a
user 216. As can be appreciated, utilizing stereo images can allow
for a user 216 to provide complex gestures in a 3D space of the
vehicle 104. These gestures may be interpreted via one or more of
the subsystems as disclosed herein. Optionally, the image sensors
622A-B may be used to determine movement associated with objects
and/or users 216 within the vehicle 104. It should be appreciated
that the number of image sensors used in a vehicle 104 may be
increased to provide greater dimensional accuracy and/or views of a
detected image in the vehicle 104.
[0343] The vehicle 104 may include one or more motion sensors
624A-B. These motion sensors 624A-B may detect motion and/or
movement of objects inside the vehicle 104. Optionally, the motion
sensors 624A-B may be used alone or in combination to detect
movement. For example, a user 216 may be operating a vehicle 104
(e.g., while driving, etc.) when a passenger in the rear of the
vehicle 104 unbuckles a safety belt and proceeds to move about the
vehicle 104. In this example, the movement of the passenger could
be detected by the motion sensors 624A-B. Optionally, the user 216
could be alerted of this movement by one or more of the devices
212, 248 in the vehicle 104. In another example, a passenger may
attempt to reach for one of the vehicle control features (e.g., the
steering wheel 640, the console, icons displayed on the head unit
and/or device 212, 248, etc.). In this case, the movement (i.e.,
reaching) of the passenger may be detected by the motion sensors
624A-B. Optionally, the path, trajectory, anticipated path, and/or
some other direction of movement/motion may be determined using the
motion sensors 624A-B. In response to detecting the movement and/or
the direction associated with the movement, the passenger may be
prevented from interfacing with and/or accessing at least some of
the vehicle control features (e.g., the features represented by
icons may be hidden from a user interface, the features may be
locked from use by the passenger, combinations thereof, etc.). As
can be appreciated, the user 216 may be alerted of the
movement/motion such that the user 216 can act to prevent the
passenger from interfering with the vehicle 104 controls.
Optionally, the number of motion sensors in a vehicle 104, or areas
of a vehicle 104, may be increased to increase an accuracy
associated with motion detected in the vehicle 104.
[0344] The interior sound receivers 692A-B may include, but are not
limited to, microphones and other types of acoustic-to-electric
transducers or sensors. Optionally, the interior sound receivers
692A-B may be configured to receive and convert sound waves into an
equivalent analog or digital signal. The interior sound receivers
692A-B may serve to determine one or more locations associated with
various sounds in the vehicle 104. The location of the sounds may
be determined based on a comparison of volume levels, intensity,
and the like, between sounds detected by two or more interior sound
receivers 692A-B. For instance, a first interior sound receiver
692A may be located in a first area of the vehicle 104 and a second
interior sound receiver 692B may be located in a second area of the
vehicle 104. If a sound is detected at a first volume level by the
first interior sound receiver 692A and a second, higher, volume
level by the second interior sound receiver 692B in the second area
of the vehicle 104, the sound may be determined to be closer to the
second area of the vehicle 104. As can be appreciated, the number
of sound receivers used in a vehicle 104 may be increased (e.g.,
more than two, etc.) to increase measurement accuracy surrounding
sound detection and location, or source, of the sound (e.g., via
triangulation, etc.).
[0345] Seat sensors 677 may be included in the vehicle 104. The
seat sensors 677 may be associated with each seat and/or zone 512
in the vehicle 104. Optionally, the seat sensors 677 may provide
health telemetry and/or identification via one or more of load
cells, force transducers, weight sensors, moisture detection
sensor, electrical conductivity/resistance sensor, and the like.
For example, the seat sensors 677 may determine that a user 216
weighs 180 lbs. This value may be compared to user data stored in
memory to determine whether a match exists between the detected
weight and a user 216 associated with the vehicle 104. In another
example, if the seat sensors 677 detect that a user 216 is
fidgeting, or moving, in a seemingly uncontrollable manner, the
system may determine that the user 216 has suffered a nervous
and/or muscular system issue (e.g., seizure, etc.). The vehicle
control system 204 may then cause the vehicle 104 to slow down and
in addition or alternatively the automobile controller 8104
(described below) can safely take control of the vehicle 104 and
bring the vehicle 104 to a stop in a safe location (e.g., out of
traffic, off a freeway, etc).
[0346] Health telemetry and other data may be collected via the
steering wheel user sensors 642. Optionally, the steering wheel
user sensors 642 may collect heart rate, temperature, blood
pressure, and the like, associated with a user 216 via at least one
contact disposed on or about the steering wheel 640.
[0347] The safety restraint sensors 679 may be employed to
determine a state associated with one or more safety restraint
devices in a vehicle 104. The state associated with one or more
safety restraint devices may serve to indicate a force observed at
the safety restraint device, a state of activity (e.g., retracted,
extended, various ranges of extension and/or retraction,
deployment, buckled, unbuckled, etc.), damage to the safety
restraint device, and more.
[0348] Environmental sensors 694, including one or more of
temperature, humidity, air, oxygen, carbon monoxide, smoke, and
other environmental condition sensors may be used in a vehicle 104.
These environmental sensors 694 may be used to collect data
relating to the safety, comfort, and/or condition of the interior
space 108 of the vehicle 104. Among other things, the data
collected by the environmental sensors 694 may be used by the
vehicle control system 204 to alter functions of a vehicle. The
environment may correspond to an interior space 108 of a vehicle
104 and/or specific areas 508 and/or zones 512 of the vehicle 104.
It should be appreciate that an environment may correspond to a
user 216. For example, a low oxygen environment may be detected by
the environmental sensors 694 and associated with a user 216 who is
operating the vehicle 104 in a particular zone 512. In response to
detecting the low oxygen environment, at least one of the
subsystems of the vehicle 104, as provided herein, may alter the
environment, especially in the particular zone 512, to increase the
amount of oxygen in the zone 512. Additionally or alternatively,
the environmental sensors 694 may be used to report conditions
associated with a vehicle (e.g., fire detected, low oxygen, low
humidity, high carbon monoxide, etc.). The conditions may be
reported to a user 216 and/or a third party via at least one
communications module as provided herein.
[0349] Among other things, the sensors as disclosed herein may
communicate with each other, with devices 212, 248, and/or with the
vehicle control system 204 via the signal carrier network 224.
Additionally or alternatively, the sensors disclosed herein may
serve to provide data relevant to more than one category of sensor
information including, but not limited to, combinations of
environmental information, user information, and safety information
to name a few.
[0350] FIGS. 7A-7B show block diagrams of various sensors that may
be associated with a vehicle 104. Although depicted as interior and
exterior sensors, it should be appreciated that any of the one or
more of the sensors shown may be used in both the interior space
108 and the exterior space of the vehicle 104. Moreover, sensors
having the same symbol or name may include the same, or
substantially the same, functionality as those sensors described
elsewhere in the present disclosure. Further, although the various
sensors are depicted in conjunction with specific groups (e.g.,
environmental 708, 708E, user interface 712, safety 716, 716E,
etc.) the sensors should not be limited to the groups in which they
appear. In other words, the sensors may be associated with other
groups or combinations of groups and/or disassociated from one or
more of the groups shown. The sensors as disclosed herein may
communicate with each other, the devices 212, 248, and/or the
vehicle control system 204 via one or more communications
channel(s) 356.
[0351] FIG. 7A is a block diagram of an embodiment of interior
sensors 340 for a vehicle 104 is provided. The interior sensors 340
may be arranged into one or more groups, based at least partially
on the function of the interior sensors 340. The interior space 108
of a vehicle 104 may include an environmental group 708, a user
interface group 712, and a safety group 716. Additionally or
alternatively, there may be sensors associated with various devices
inside the vehicle (e.g., devices 212, 248, smart phones, tablets,
mobile computers, etc.)
[0352] The environmental group 708 may comprise sensors configured
to collect data relating to the internal environment of a vehicle
104. It is anticipated that the environment of the vehicle 104 may
be subdivided into areas 508 and zones 512 in an interior space 108
of a vehicle 104. In this case, each area 508 and/or zone 512 may
include one or more of the environmental sensors. Examples of
environmental sensors associated with the environmental group 708
may include, but are not limited to, oxygen/air sensors 724,
temperature sensors 728, humidity sensors 732, light/photo sensors
736, and more. The oxygen/air sensors 724 may be configured to
detect a quality of the air in the interior space 108 of the
vehicle 104 (e.g., ratios and/or types of gasses comprising the air
inside the vehicle 104, dangerous gas levels, safe gas levels,
etc.). Temperature sensors 728 may be configured to detect
temperature readings of one or more objects, users 216, and/or
areas 508 of a vehicle 104. Humidity sensors 732 may detect an
amount of water vapor present in the air inside the vehicle 104.
The light/photo sensors 736 can detect an amount of light present
in the vehicle 104. Further, the light/photo sensors 736 may be
configured to detect various levels of light intensity associated
with light in the vehicle 104.
[0353] The user interface group 712 may comprise sensors configured
to collect data relating to one or more users 216 in a vehicle 104.
As can be appreciated, the user interface group 712 may include
sensors that are configured to collect data from users 216 in one
or more areas 508 and zones 512 of the vehicle 104. For example,
each area 508 and/or zone 512 of the vehicle 104 may include one or
more of the sensors in the user interface group 712. Examples of
user interface sensors associated with the user interface group 712
may include, but are not limited to, infrared sensors 740, motion
sensors 744, weight sensors 748, wireless network sensors 752,
biometric sensors 756, camera (or image) sensors 760, audio sensors
764, and more.
[0354] Infrared sensors 740 may be used to measure IR light
irradiating from at least one surface, user 216, or other object in
the vehicle 104. Among other things, the Infrared sensors 740 may
be used to measure temperatures, form images (especially in low
light conditions), identify users 216, and even detect motion in
the vehicle 104.
[0355] The motion sensors 744 may be similar to the motion
detectors 624A-B, as described in conjunction with FIG. 6B. Weight
sensors 748 may be employed to collect data relating to objects
and/or users 216 in various areas 508 of the vehicle 104. In some
cases, the weight sensors 748 may be included in the seats and/or
floor of a vehicle 104.
[0356] Optionally, the vehicle 104 may include a wireless network
sensor 752. This sensor 752 may be configured to detect one or more
wireless network(s) inside the vehicle 104. Examples of wireless
networks may include, but are not limited to, wireless
communications utilizing Bluetooth.RTM., Wi-Fi.TM., ZigBee, IEEE
802.11, and other wireless technology standards. For example, a
mobile hotspot may be detected inside the vehicle 104 via the
wireless network sensor 752. In this case, the vehicle 104 may
determine to utilize and/or share the mobile hotspot detected
via/with one or more other devices 212, 248 and/or components
associated with the vehicle 104.
[0357] Biometric sensors 756 may be employed to identify and/or
record characteristics associated with a user 216. It is
anticipated that biometric sensors 756 can include at least one of
image sensors, IR sensors, fingerprint readers, weight sensors,
load cells, force transducers, heart rate monitors, blood pressure
monitors, and the like as provided herein.
[0358] The camera sensors 760 may be similar to image sensors
622A-B, as described in conjunction with FIG. 6B. Optionally, the
camera sensors may record still images, video, and/or combinations
thereof. The audio sensors 764 may be similar to the interior sound
receivers 692A-B, as described in conjunction with FIGS. 6A-6B. The
audio sensors may be configured to receive audio input from a user
216 of the vehicle 104. The audio input from a user 216 may
correspond to voice commands, conversations detected in the vehicle
104, phone calls made in the vehicle 104, and/or other audible
expressions made in the vehicle 104.
[0359] The safety group 716 may comprise sensors configured to
collect data relating to the safety of a user 216 and/or one or
more components of a vehicle 104. The vehicle 104 may be subdivided
into areas 508 and/or zones 512 in an interior space 108 of a
vehicle 104 where each area 508 and/or zone 512 may include one or
more of the safety sensors provided herein. Examples of safety
sensors associated with the safety group 716 may include, but are
not limited to, force sensors 768, mechanical motion sensors 772,
orientation sensors 776, restraint sensors 780, and more.
[0360] The force sensors 768 may include one or more sensors inside
the vehicle 104 configured to detect a force observed in the
vehicle 104. One example of a force sensor 768 may include a force
transducer that converts measured forces (e.g., force, weight,
pressure, etc.) into output signals.
[0361] Mechanical motion sensors 772 may correspond to encoders,
accelerometers, damped masses, and the like. Optionally, the
mechanical motion sensors 772 may be adapted to measure the force
of gravity (i.e., G-force) as observed inside the vehicle 104.
Measuring the G-force observed inside a vehicle 104 can provide
valuable information related to a vehicle's acceleration,
deceleration, collisions, and/or forces that may have been suffered
by one or more users 216 in the vehicle 104. As can be appreciated,
the mechanical motion sensors 772 can be located in an interior
space 108 or an exterior of the vehicle 104.
[0362] Orientation sensors 776 can include accelerometers,
gyroscopes, magnetic sensors, and the like that are configured to
detect an orientation associated with the vehicle 104. Similar to
the mechanical motion sensors 772, the orientation sensors 776 can
be located in an interior space 108 or an exterior of the vehicle
104.
[0363] The restraint sensors 780 may be similar to the safety
restraint sensors 679 as described in conjunction with FIGS. 6A-6B.
These sensors 780 may correspond to sensors associated with one or
more restraint devices and/or systems in a vehicle 104. Seatbelts
and airbags are examples of restraint devices and/or systems. As
can be appreciated, the restraint devices and/or systems may be
associated with one or more sensors that are configured to detect a
state of the device/system. The state may include extension,
engagement, retraction, disengagement, deployment, and/or other
electrical or mechanical conditions associated with the
device/system.
[0364] The associated device sensors 720 can include any sensors
that are associated with a device 212, 248 in the vehicle 104. As
previously stated, typical devices 212, 248 may include smart
phones, tablets, laptops, mobile computers, and the like. It is
anticipated that the various sensors associated with these devices
212, 248 can be employed by the vehicle control system 204. For
example, a typical smart phone can include, an image sensor, an IR
sensor, audio sensor, gyroscope, accelerometer, wireless network
sensor, fingerprint reader, and more. It is an aspect of the
present disclosure that one or more of these associated device
sensors 720 may be used by one or more subsystems of the vehicle
system 200.
[0365] In FIG. 7B, a block diagram of an embodiment of exterior
sensors 340 for a vehicle 104 is shown. The exterior sensors may
include sensors that are identical, or substantially similar, to
those previously disclosed in conjunction with the interior sensors
of FIG. 7A. Optionally, the exterior sensors 340 may be configured
to collect data relating to one or more conditions, objects, users
216, and other events that are external to the interior space 108
of the vehicle 104. For instance, the oxygen/air sensors 724 may
measure a quality and/or composition of the air outside of a
vehicle 104. As another example, the motion sensors 744 may detect
motion outside of a vehicle 104.
[0366] The external environmental group 708E may comprise sensors
configured to collect data relating to the external environment of
a vehicle 104. In addition to including one or more of the sensors
previously described, the external environmental group 708E may
include additional sensors, such as, vehicle sensors 750,
biological sensors, and wireless signal sensors 758. Vehicle
sensors 750 can detect vehicles that are in an environment
surrounding the vehicle 104. For example, the vehicle sensors 750
may detect vehicles in a first outside area 516, a second outside
area 520, and/or combinations of the first and second outside areas
516, 520. Optionally, the vehicle sensors 750 may include one or
more of RF sensors, IR sensors, image sensors, and the like to
detect vehicles, people, hazards, etc. that are in an environment
exterior to the vehicle 104. Additionally or alternatively, the
vehicle sensors 750 can provide distance/directional information
relating to a distance (e.g., distance from the vehicle 104 to the
detected object) and/or a direction (e.g., direction of travel,
etc.) associated with the detected object.
[0367] The biological sensors 754 may determine whether one or more
biological entities (e.g., an animal, a person, a user 216, etc.)
is in an external environment of the vehicle 104. Additionally or
alternatively, the biological sensors 754 may provide distance
information relating to a distance of the biological entity from
the vehicle 104. Biological sensors 754 may include at least one of
RF sensors, IR sensors, image sensors and the like that are
configured to detect biological entities. For example, an IR sensor
may be used to determine that an object, or biological entity, has
a specific temperature, temperature pattern, or heat signature.
Continuing this example, a comparison of the determined heat
signature may be compared to known heat signatures associated with
recognized biological entities (e.g., based on shape, locations of
temperature, and combinations thereof, etc.) to determine whether
the heat signature is associated with a biological entity or an
inanimate, or non-biological, object.
[0368] The wireless signal sensors 758 may include one or more
sensors configured to receive wireless signals from signal sources
such as Wi-Fi.TM. hotspots, cell towers, roadside beacons, other
electronic roadside devices, and satellite positioning systems.
Optionally, the wireless signal sensors 758 may detect wireless
signals from one or more of a mobile phone, mobile computer,
keyless entry device, RFID device, near field communications (NFC)
device, and the like.
[0369] The external safety group 716E may comprise sensors
configured to collect data relating to the safety of a user 216
and/or one or more components of a vehicle 104. Examples of safety
sensors associated with the external safety group 716E may include,
but are not limited to, force sensors 768, mechanical motion
sensors 772, orientation sensors 776, vehicle body sensors 782, and
more. Optionally, the exterior safety sensors 716E may be
configured to collect data relating to one or more conditions,
objects, vehicle components, and other events that are external to
the vehicle 104. For instance, the force sensors 768 in the
external safety group 716E may detect and/or record force
information associated with the outside of a vehicle 104. For
instance, if an object strikes the exterior of the vehicle 104, the
force sensors 768 from the exterior safety group 716E may determine
a magnitude, location, and/or time associated with the strike.
[0370] The vehicle 104 may include a number of vehicle body sensors
782. The vehicle body sensors 782 may be configured to measure
characteristics associated with the body (e.g., body panels,
components, chassis, windows, etc.) of a vehicle 104. For example,
two vehicle body sensors 782, including a first body sensor and a
second body sensor, may be located at some distance apart.
Continuing this example, the first body sensor may be configured to
send an electrical signal across the body of the vehicle 104 to the
second body sensor, or vice versa. Upon receiving the electrical
signal from the first body sensor, the second body sensor may
record a detected current, voltage, resistance, and/or combinations
thereof associated with the received electrical signal. Values
(e.g., current, voltage, resistance, etc.) for the sent and
received electrical signal may be stored in a memory. These values
can be compared to determine whether subsequent electrical signals
sent and received between vehicle body sensors 782 deviate from the
stored values. When the subsequent signal values deviate from the
stored values, the difference may serve to indicate damage and/or
loss of a body component. Additionally or alternatively, the
deviation may indicate a problem with the vehicle body sensors 782.
The vehicle body sensors 782 may communicate with each other, a
vehicle control system 204, and/or systems of the vehicle system
200 via a communications channel 356. Although described using
electrical signals, it should be appreciated that alternative
embodiments of the vehicle body sensors 782 may use sound waves
and/or light to perform a similar function.
[0371] FIG. 8A is a block diagram of an embodiment of a media
controller subsystem 348 for a vehicle 104. The media controller
subsystem 348 may include, but is not limited to, a media
controller 804, a media processor 808, a match engine 812, an audio
processor 816, a speech synthesis module 820, a network transceiver
824, a signal processing module 828, memory 832, and a language
database 836. Optionally, the media controller subsystem 348 may be
configured as a dedicated blade that implements the media-related
functionality of the system 200. Additionally or alternatively, the
media controller subsystem 348 can provide voice input, voice
output, library functions for multimedia, and display control for
various areas 508 and/or zones 512 of the vehicle 104.
[0372] Optionally, the media controller subsystem 348 may include a
local IP address (e.g., IPv4, IPv6, combinations thereof, etc.) and
even a routable, global unicast address. The routable, global
unicast address may allow for direct addressing of the media
controller subsystem 348 for streaming data from Internet resources
(e.g., cloud storage, user accounts, etc.). It is anticipated, that
the media controller subsystem 348 can provide multimedia via at
least one Internet connection, or wireless network communications
module, associated with the vehicle 104. Moreover, the media
controller subsystem 348 may be configured to service multiple
independent clients simultaneously.
[0373] The media processor 808 may comprise a general purpose
programmable processor or controller for executing application
programming or instructions related to the media subsystem 348. The
media processor 808 may include multiple processor cores, and/or
implement multiple virtual processors. Optionally, the media
processor 808 may include multiple physical processors. By way of
example, the media processor 808 may comprise a specially
configured application specific integrated circuit (ASIC) or other
integrated circuit, a digital signal processor, a controller, a
hardwired electronic or logic circuit, a programmable logic device
or gate array, a special purpose computer, or the like. The media
processor 808 generally functions to run programming code or
instructions implementing various functions of the media controller
804.
[0374] The match engine 812 can receive input from one or more
components of the vehicle system 800 and perform matching
functions. Optionally, the match engine 812 may receive audio input
provided via a microphone 886 of the system 800. The audio input
may be provided to the media controller subsystem 348 where the
audio input can be decoded and matched, via the match engine 812,
to one or more functions available to the vehicle 104. Similar
matching operations may be performed by the match engine 812
relating to video input received via one or more image sensors,
cameras 878, and the like.
[0375] The media controller subsystem 348 may include a speech
synthesis module 820 configured to provide audio output to one or
more speakers 880, or audio output devices, associated with the
vehicle 104. Optionally, the speech synthesis module 820 may be
configured to provide audio output based at least partially on the
matching functions performed by the match engine 812.
[0376] As can be appreciated, the coding/decoding, the analysis of
audio input/output, and/or other operations associated with the
match engine 812 and speech synthesis module 820, may be performed
by the media processor 808 and/or a dedicated audio processor 816.
The audio processor 816 may comprise a general purpose programmable
processor or controller for executing application programming or
instructions related to audio processing. Further, the audio
processor 816 may be similar to the media processor 808 described
herein.
[0377] The network transceiver 824 can include any device
configured to transmit and receive analog and/or digital signals.
Optionally, the media controller subsystem 348 may utilize a
network transceiver 824 in one or more communication networks
associated with the vehicle 104 to receive and transmit signals via
the communications channel 356. Additionally or alternatively, the
network transceiver 824 may accept requests from one or more
devices 212, 248 to access the media controller subsystem 348. One
example of the communication network is a local-area network (LAN).
As can be appreciated, the functionality associated with the
network transceiver 824 may be built into at least one other
component of the vehicle 104 (e.g., a network interface card,
communications module, etc.).
[0378] The signal processing module 828 may be configured to alter
audio/multimedia signals received from one or more input sources
(e.g., microphones 886, etc.) via the communications channel 356.
Among other things, the signal processing module 828 may alter the
signals received electrically, mathematically, combinations
thereof, and the like.
[0379] The media controller 804 may also include memory 832 for use
in connection with the execution of application programming or
instructions by the media processor 808, and for the temporary or
long term storage of program instructions and/or data. As examples,
the memory 832 may comprise RAM, DRAM, SDRAM, or other solid state
memory.
[0380] The language database 836 may include the data and/or
libraries for one or more languages, as are used to provide the
language functionality as provided herein. In one case, the
language database 836 may be loaded on the media controller 804 at
the point of manufacture. Optionally, the language database 836 can
be modified, updated, and/or otherwise changed to alter the data
stored therein. For instance, additional languages may be supported
by adding the language data to the language database 836. In some
cases, this addition of languages can be performed via accessing
administrative functions on the media controller 804 and loading
the new language modules via wired (e.g., USB, etc.) or wireless
communication. In some cases, the administrative functions may be
available via a vehicle console device 248, a user device 212, 248,
and/or other mobile computing device that is authorized to access
administrative functions (e.g., based at least partially on the
device's address, identification, etc.).
[0381] One or more video controllers 840 may be provided for
controlling the video operation of the devices 212, 248, 882
associated with the vehicle. Optionally, the video controller 840
may include a display controller for controlling the operation of
touch sensitive screens, including input (touch sensing) and output
(display) functions. Video data may include data received in a
stream and unpacked by a processor and loaded into a display
buffer. In this example, the processor and video controller 840 can
optimize the display based on the characteristics of a screen of a
display device 212, 248, 882. The functions of a touch screen
controller may be incorporated into other components, such as a
media processor 808 or display subsystem.
[0382] The audio controller 844 can provide control of the audio
entertainment system (e.g., radio, subscription music service,
multimedia entertainment, etc.), and other audio associated with
the vehicle 104 (e.g., navigation systems, vehicle comfort systems,
convenience systems, etc.). Optionally, the audio controller 844
may be configured to translate digital signals to analog signals
and vice versa. As can be appreciated, the audio controller 844 may
include device drivers that allow the audio controller 844 to
communicate with other components of the system 800 (e.g.,
processors 816, 808, audio I/O 874, and the like).
[0383] The system 800 may include a profile identification module
848 to determine whether a user profile is associated with the
vehicle 104. Among other things, the profile identification module
848 may receive requests from a user 216, or device 212, 228, 248,
to access a profile stored in a profile database 856 or profile
data 252. Additionally or alternatively, the profile identification
module 848 may request profile information from a user 216 and/or a
device 212, 228, 248, to access a profile stored in a profile
database 856 or profile data 252. In any event, the profile
identification module 848 may be configured to create, modify,
retrieve, and/or store user profiles in the profile database 856
and/or profile data 252. The profile identification module 848 may
include rules for profile identification, profile information
retrieval, creation, modification, and/or control of components in
the system 800.
[0384] By way of example, a user 216 may enter the vehicle 104 with
a smart phone or other device 212. In response to determining that
a user 216 is inside the vehicle 104, the profile identification
module 848 may determine that a user profile is associated with the
user's smart phone 212. As another example, the system 800 may
receive information about a user 216 (e.g., from a camera 878,
microphone 886, etc.), and, in response to receiving the user
information, the profile identification module 848 may refer to the
profile database 856 to determine whether the user information
matches a user profile stored in the database 856. It is
anticipated that the profile identification module 848 may
communicate with the other components of the system to load one or
more preferences, settings, and/or conditions based on the user
profile. Further, the profile identification module 848 may be
configured to control components of the system 800 based on user
profile information.
[0385] Optionally, data storage 852 may be provided. Like the
memory 832, the data storage 852 may comprise a solid state memory
device or devices. Alternatively or in addition, the data storage
852 may comprise a hard disk drive or other random access memory.
Similar to the data storage 852, the profile database 856 may
comprise a solid state memory device or devices.
[0386] An input/output module 860 and associated ports may be
included to support communications over wired networks or links,
for example with other communication devices, server devices,
and/or peripheral devices. Examples of an input/output module 860
include an Ethernet port, a Universal Serial Bus (USB) port, CAN
Bus, Institute of Electrical and Electronics Engineers (IEEE) 1594,
or other interface. Users may bring their own devices (e.g., Bring
Your Own Device (BYOD), device 212, etc.) into the vehicle 104 for
use with the various systems disclosed. Although most BYOD devices
can connect to the vehicle systems (e.g., the media controller
subsystem 348, etc.) via wireless communications protocols (e.g.,
Wi-Fi.TM., Bluetooth.RTM., etc.) many devices may require a direct
connection via USB, or similar. In any event, the input/output
module 860 can provide the necessary connection of one or more
devices to the vehicle systems described herein.
[0387] A video input/output interface 864 can be included to
receive and transmit video signals between the various components
in the system 800. Optionally, the video input/output interface 864
can operate with compressed and uncompressed video signals. The
video input/output interface 864 can support high data rates
associated with image capture devices. Additionally or
alternatively, the video input/output interface 864 may convert
analog video signals to digital signals.
[0388] The infotainment system 870 may include information media
content and/or entertainment content, informational devices,
entertainment devices, and the associated programming therefor.
Optionally, the infotainment system 870 may be configured to handle
the control of one or more components of the system 800 including,
but in no way limited to, radio, streaming audio/video devices,
audio devices 880, 882, 886, video devices 878, 882, travel devices
(e.g., GPS, navigational systems, etc.), wireless communication
devices, network devices, and the like. Further, the infotainment
system 870 can provide the functionality associated with other
infotainment features as provided herein.
[0389] An audio input/output interface 874 can be included to
provide analog audio to an interconnected speaker 880 or other
device, and to receive analog audio input from a connected
microphone 886 or other device. As an example, the audio
input/output interface 874 may comprise an associated amplifier and
analog to digital converter. Alternatively or in addition, the
devices 212, 248 can include integrated audio input/output devices
880, 886 and/or an audio jack for interconnecting an external
speaker 880 or microphone 886. For example, an integrated speaker
880 and an integrated microphone 886 can be provided, to support
near talk, voice commands, spoken information exchange, and/or
speaker phone operations.
[0390] Among other things, the system 800 may include devices that
are part of the vehicle 104 and/or part of a device 212, 248 that
is associated with the vehicle 104. For instance, these devices may
be configured to capture images, display images, capture sound, and
present sound. Optionally, the system 800 may include at least one
of image sensors/cameras 878, display devices 882, audio input
devices/microphones 886, and audio output devices/speakers 880. The
cameras 878 can be included for capturing still and/or video
images. Alternatively or in addition, image sensors 878 can include
a scanner or code reader. An image sensor/camera 878 can include or
be associated with additional elements, such as a flash or other
light source. In some cases, the display device 882 may include an
audio input device and/or an audio output device in addition to
providing video functions. For instance, the display device 882 may
be a console, monitor, a tablet computing device, and/or some other
mobile computing device.
[0391] FIG. 8B is a block diagram of an embodiment of a user/device
interaction subsystem 817 in a vehicle system 800. The user/device
interaction subsystem 817 may comprise hardware and/or software
that conduct various operations for or with the vehicle 104. For
instance, the user/device interaction subsystem 817 may include at
least one user interaction subsystem 332 and device interaction
subsystem 352 as previously described. These operations may
include, but are not limited to, providing information to the user
216, receiving input from the user 216, and controlling the
functions or operation of the vehicle 104, etc. Among other things,
the user/device interaction subsystem 817 may include a computing
system operable to conduct the operations as described herein.
[0392] Optionally, the user/device interaction subsystem 817 can
include one or more of the components and modules provided herein.
For instance, the user/device interaction subsystem 817 can include
one or more of a video input/output interface 864, an audio
input/output interface 874, a sensor module 814, a device
interaction module 818, a user identification module 822, a vehicle
control module 826, an environmental control module 830, and a
gesture control module 834. The user/device interaction subsystem
817 may be in communication with other devices, modules, and
components of the system 800 via the communications channel
356.
[0393] The user/device interaction subsystem 817 may be configured
to receive input from a user 216 and/or device via one or more
components of the system. By way of example, a user 216 may provide
input to the user/device interaction subsystem 817 via wearable
devices 802, 806, 810, video input (e.g., via at least one image
sensor/camera 878, etc.) audio input (e.g., via the microphone,
audio input source, etc.), gestures (e.g., via at least one image
sensor 878, motion sensor 888, etc.), device input (e.g., via a
device 212, 248 associated with the user, etc.), combinations
thereof, and the like.
[0394] The wearable devices 802, 806, 810 can include heart rate
monitors, blood pressure monitors, glucose monitors, pedometers,
movement sensors, wearable computers, and the like. Examples of
wearable computers may be worn by a user 216 and configured to
measure user activity, determine energy spent based on the measured
activity, track user sleep habits, determine user oxygen levels,
monitor heart rate, provide alarm functions, and more. It is
anticipated that the wearable devices 802, 806, 810 can communicate
with the user/device interaction subsystem 817 via wireless
communications channels or direct connection (e.g., where the
device docks, or connects, with a USB port or similar interface of
the vehicle 104).
[0395] A sensor module 814 may be configured to receive and/or
interpret input provided by one or more sensors in the vehicle 104.
In some cases, the sensors may be associated with one or more user
devices (e.g., wearable devices 802, 806, 810, smart phones 212,
mobile computing devices 212, 248, and the like). Optionally, the
sensors may be associated with the vehicle 104, as described in
conjunction with FIGS. 6A-7B.
[0396] The device interaction module 818 may communicate with the
various devices as provided herein. Optionally, the device
interaction module 818 can provide content, information, data,
and/or media associated with the various subsystems of the vehicle
system 800 to one or more devices 212, 248, 802, 806, 810, 882,
etc. Additionally or alternatively, the device interaction module
818 may receive content, information, data, and/or media associated
with the various devices provided herein.
[0397] The user identification module 822 may be configured to
identify a user 216 associated with the vehicle 104. The
identification may be based on user profile information that is
stored in profile data 252. For instance, the user identification
module 822 may receive characteristic information about a user 216
via a device, a camera, and/or some other input. The received
characteristics may be compared to data stored in the profile data
252. Where the characteristics match, the user 216 is identified.
As can be appreciated, where the characteristics do not match a
user profile, the user identification module 822 may communicate
with other subsystems in the vehicle 104 to obtain and/or record
profile information about the user 216. This information may be
stored in a memory and/or the profile data storage 252.
[0398] The vehicle control module 826 may be configured to control
settings, features, and/or the functionality of a vehicle 104. In
some cases, the vehicle control module 826 can communicate with the
vehicle control system 204 to control critical functions (e.g.,
driving system controls, braking, accelerating, etc.) and/or
noncritical functions (e.g., driving signals, indicator/hazard
lights, mirror controls, window actuation, etc.) based at least
partially on user/device input received by the user/device
interaction subsystem 817.
[0399] The environmental control module 830 may be configured to
control settings, features, and/or other conditions associated with
the environment, especially the interior environment, of a vehicle
104. Optionally, the environmental control module 830 may
communicate with the climate control system (e.g. changing cabin
temperatures, fan speeds, air direction, etc.), oxygen and/or air
quality control system (e.g., increase/decrease oxygen in the
environment, etc.), interior lighting (e.g., changing intensity of
lighting, color of lighting, etc.), an occupant seating system 648
(e.g., adjusting seat position, firmness, height, etc.), steering
wheel 640 (e.g., position adjustment, etc.),
infotainment/entertainment system (e.g., adjust volume levels,
display intensity adjustment, change content, etc.), and/or other
systems associated with the vehicle environment. Additionally or
alternatively, these systems can provide input, set-points, and/or
responses, to the environmental control module 830. As can be
appreciated, the environmental control module 830 may control the
environment based at least partially on user/device input received
by the user/device interaction subsystem 817.
[0400] The gesture control module 834 is configured to interpret
gestures provided by a user 216 in the vehicle 104. Optionally, the
gesture control module 834 may provide control signals to one or
more of the vehicle systems 300 disclosed herein. For example, a
user 216 may provide gestures to control the environment, critical
and/or noncritical vehicle functions, the infotainment system,
communications, networking, and more. Optionally, gestures may be
provided by a user 216 and detected via one or more of the sensors
as described in conjunction with FIGS. 6B-7A. As another example,
one or more motion sensors 888 may receive gesture input from a
user 216 and provide the gesture input to the gesture control
module 834. Continuing this example, the gesture input is
interpreted by the gesture control module 834. This interpretation
may include comparing the gesture input to gestures stored in a
memory. The gestures stored in memory may include one or more
functions and/or controls mapped to specific gestures. When a match
is determined between the detected gesture input and the stored
gesture information, the gesture control module 834 can provide a
control signal to any of the systems/subsystems as disclosed
herein.
[0401] FIG. 8C illustrates a GPS/Navigation subsystem(s) 336. The
Navigation subsystem(s) 336 can be any present or future-built
navigation system that may use location data, for example, from the
Global Positioning System (GPS), to provide navigation information
or control the vehicle 104. The Navigation subsystem(s) 336 can
include several components or modules, such as, one or more of, but
not limited to, a GPS Antenna/receiver 892, a location module 896,
a maps database 8100, an automobile controller 8104, a vehicle
systems transceiver 8108, a traffic controller 8112, a network
traffic transceiver 8116, a vehicle-to-vehicle transceiver 8120, a
traffic information database 8124, etc. Generally, the several
components or modules 892-8124 may be hardware, software, firmware,
computer readable media, or combinations thereof.
[0402] A GPS Antenna/receiver 892 can be any antenna, GPS puck,
and/or receiver capable of receiving signals from a GPS satellite
or other navigation system, as mentioned hereinbefore. The signals
may be demodulated, converted, interpreted, etc. by the GPS
Antenna/receiver 892 and provided to the location module 896. Thus,
the GPS Antenna/receiver 892 may convert the time signals from the
GPS system and provide a location (e.g., coordinates on a map) to
the location module 896. Alternatively, the location module 896 can
interpret the time signals into coordinates or other location
information.
[0403] The location module 896 can be the controller of the
satellite navigation system designed for use in automobiles. The
location module 896 can acquire position data, as from the GPS
Antenna/receiver 892, to locate the user or vehicle 104 on a road
in the unit's map database 8100. Using the road database 8100, the
location module 896 can give directions to other locations along
roads also in the database 8100. When a GPS signal is not
available, the location module 896 may apply dead reckoning to
estimate distance data from sensors 242 including one or more of,
but not limited to, a speed sensor attached to the drive train of
the vehicle 104, a gyroscope, an accelerometer, etc. GPS signal
loss and/or multipath can occur due to urban canyons, tunnels, and
other obstructions. Additionally or alternatively, the location
module 896 may use known locations of Wi-Fi hotspots, cell tower
data, etc. to determine the position of the vehicle 104, such as by
using time difference of arrival (TDOA) and/or frequency difference
of arrival (FDOA) techniques.
[0404] The maps database 8100 can include any hardware and/or
software to store information about maps, geographical information
system information, location information, etc. The maps database
8100 can include any data definition or other structure to store
the information. Generally, the maps database 8100 can include a
road database that may include one or more vector maps of areas of
interest. Street names, street numbers, house numbers, and other
information can be encoded as geographic coordinates so that the
user can find some desired destination by street address. Points of
interest (waypoints) can also be stored with their geographic
coordinates. For example, a point of interest may include speed
cameras, fuel stations, public parking, and "parked here" (or "you
parked here") information. The map database contents can be
produced or updated by a server connected through a wireless system
in communication with the Internet, even as the vehicle 104 is
driven along existing streets, yielding an up-to-date map.
[0405] An automobile controller 8104 can be any hardware and/or
software that can receive instructions from the location module 896
or the traffic controller 8112 and operate the vehicle 104. The
automobile controller 8104 receives this information and data from
the sensors 242 to operate the vehicle 104 without driver input.
Thus, the automobile controller 8104 can drive the vehicle 104
along a route provided by the location module 896. The route may be
adjusted by information sent from the traffic controller 8112.
Discrete and real-time driving can occur with data from the sensors
242. To operate the vehicle 104, the automobile controller 8104 can
communicate with a vehicle systems transceiver 8108.
[0406] The vehicle systems transceiver 8108 can be any present or
future-developed device that can comprise a transmitter and/or a
receiver, which may be combined and can share common circuitry or a
single housing. The vehicle systems transceiver 8108 may
communicate or instruct one or more of the vehicle control
subsystems 328. For example, the vehicle systems transceiver 8108
may send steering commands, as received from the automobile
controller 8104, to an electronic steering system, to adjust the
steering of the vehicle 100 in real time. The automobile controller
8104 can determine the effect of the commands based on received
sensor data 242 and can adjust the commands as need be. The vehicle
systems transceiver 8108 can also communicate with the braking
system, the engine and drive train to speed or slow the car, the
signals (e.g., turn signals and brake lights), the headlights, the
windshield wipers, etc. Any of these communications may occur over
the components or function as described in conjunction with FIG.
4.
[0407] A traffic controller 8112 can be any hardware and/or
software that can communicate with an automated traffic system and
adjust the function of the vehicle 104 based on instructions from
the automated traffic system. An automated traffic system is a
system that manages the traffic in a given area. This automated
traffic system can instruct cars to drive in certain lanes,
instruct cars to raise or lower their speed, instruct a car to
change their route of travel, instruct cars to communicate with
other cars, etc. To perform these functions, the traffic controller
8112 may register the vehicle 104 with the automated traffic system
and then provide other information including the route of travel.
The automated traffic system can return registration information
and any required instructions. The communications between the
automated traffic system and the traffic controller 8112 may be
received and sent through a network traffic transceiver 8116.
[0408] The network traffic transceiver 8116 can be any present or
future-developed device that can comprise a transmitter and/or a
receiver, which may be combined and can share common circuitry or a
single housing. The network traffic transceiver 8116 may
communicate with the automated traffic system using any known or
future-developed, protocol, standard, frequency, bandwidth range,
etc. The network traffic transceiver 8116 enables the sending of
information between the traffic controller 8112 and the automated
traffic system.
[0409] The traffic controller 8112 can also communicate with
another vehicle, which may be in physical proximity (i.e., within
range of a wireless signal), using the vehicle-to-vehicle
transceiver 8120. As with the network traffic transceiver 8116, the
vehicle-to-vehicle transceiver 8120 can be any present or
future-developed device that can comprise a transmitter and/or a
receiver, which may be combined and can share common circuitry or a
single housing. Generally, the vehicle-to-vehicle transceiver 8120
enables communication between the vehicle 104 and any other
vehicle. These communications allow the vehicle 104 to receive
traffic or safety information, control or be controlled by another
vehicle, establish an alternative communication path to communicate
with the automated traffic system, establish a node including two
or more vehicle that can function as a unit, etc. The
vehicle-to-vehicle transceiver 8120 may communicate with the other
vehicles using any known or future-developed, protocol standard,
frequency, bandwidth range, etc.
[0410] The traffic controller 8112 can control functions of the
automobile controller 8104 and communicate with the location module
896. The location module 896 can provide current location
information and route information that the traffic controller 8112
may then provide to the automated traffic system. The traffic
controller 8112 may receive route adjustments from the automated
traffic system that are then sent to the location module 896 to
change the route. Further, the traffic controller 8112 can also
send driving instructions to the automobile controller 8104 to
change the driving characteristics of the vehicle 104. For example,
the traffic controller 8112 can instruct the automobile controller
8104 to accelerate or decelerate to a different speed, change
lanes, or perform another driving maneuver. The traffic controller
8112 can also manage vehicle-to-vehicle communications and store
information about the communications or other information in the
traffic information database 8124.
[0411] The traffic information database 8124 can be any type of
database, such as relational, hierarchical, object-oriented, and/or
the like. The traffic information database 8124 may reside on a
storage medium local to (and/or resident in) the vehicle control
system 204 or in the vehicle 104. The traffic information database
8124 may be adapted to store, update, and retrieve information
about communications with other vehicles or any active instructions
from the automated traffic system. This information may be used by
the traffic controller 8112 to instruct or adjust the performance
of driving maneuvers.
[0412] FIG. 9 illustrates an optional communications architecture
where, the host device 908 may include one more routing profiles,
permission modules, and rules that control how communications
within the vehicle 104 are to occur. This communications
architecture can be used in conjunction with the routing tables,
rules and permissions associated with access point 456 and optional
firewall 484, or can be in lieu thereof. For example, the host
device 908 acts as a mobile hot spot to one or more other devices
within vehicle 104, such as, other device 1 912, other device 2
916, other device 3 920, and other device N 924. Optionally, one or
more of the other devices 912 can communicate directly with the
host device 908 which then provides Internet access to those
devices 912 via the device 908. The host device 908 can act as a
mobile hot spot for any one or more of the other devices 912, which
may not need to communicate over the network/communications buses
224/404, but could instead connect directly to the host device 908
via, for example, NFC, Bluetooth.RTM., WiFi, or the like. When the
device 908 is acting as the host device, the device 908 can include
one or more routing profiles, permissions, rules modules, and can
also act as a firewall for the various inter and intra vehicle
communications.
[0413] As will be appreciated, there could be alternative host
devices, such as, host 904 which could also act as, for example, a
co-host in association with device 908. Optionally, one or more of
the routing profile, permission information, and rules could be
shared between the co-host devices 904, 908, both of those devices
being usable for Internet access for one or more of the other
devices, 912-924. As will be appreciated, the other devices 912-924
need not necessarily connect to one or more of host device 908 and
the other device 904 via a direct communications link, but could
also interface with those devices 904, 908 utilizing the
network/communications buses 224/404 associated with the vehicle
100. As previously discussed, one or more of the other devices can
connect to the network/communications buses 224/404 utilizing the
various networks and/or buses discussed herein which would
therefore enable, for example, regulation of the various
communications based on the Ethernet zone that the other device 912
is associated with.
[0414] An embodiment of one or more modules that may be associated
with the vehicle control system 204 may be as shown in FIG. 10. The
modules can include a communication subsystem interface 1008 in
communication with an operating system 1004. The communications may
pass through a firewall 1044. The firewall 1044 can be any software
that can control the incoming and outgoing communications by
analyzing the data packets and determining whether the packets
should be allowed through the firewall, based on applied rule set.
A firewall 1044 can establish a "barrier" between a trusted, secure
internal network and another network (e.g., the Internet) that is
not assumed to be secure and trusted.
[0415] In some situations, the firewall 1044 may establish security
zones that are implemented by running system services and/or
applications in restricted user groups and accounts. A set of
configuration files and callbacks may then be linked to an IP table
firewall. The IP table firewall can be configured to notify a
custom filter application at any of the layers of the Ethernet
packet. The different users/group rights to access the system may
include: system users, which may have exclusive right over all
device firewall rules and running software; a big-brother user,
which may have access to on board device (OBD) control data and may
be able to communicate with the vehicle subsystem 328 and may be
able to alter the parameters in the vehicle control system 204; a
dealer user, which can have rights to read OBD data for diagnostics
and repairs; a dashboard user, which can have rights to launch
dashboard applications and/or authenticate guest users and change
their permissions to trusted/friend/family, and can read but cannot
write into OBD diagnostic data; a world wide web (WWW) data user,
which can have HTTP rights to respond to HTTP requests (the HTTP
requests also can target different user data, but may be filtered
by default user accounts); a guest user, which may have no rights;
a family/friend user, which may have rights to play media from the
media subsystem 348 and/or to stream media to the media subsystem
348.
[0416] The operating system 1004 can be a collection of software
that manages computer hardware resources and provides common
services for applications and other programs. The operating system
1004 may schedule time-sharing for efficient use of the system. For
hardware functions, such as input, output, and memory allocation,
the operating system 1004 can act as an intermediary between
applications or programs and the computer hardware. Examples of
operating systems that may be deployed as operating system 1004
include Android, BSD, iOS, Linux, OS X, QNX, Microsoft Windows,
Windows Phone, IBM z/OS, etc.
[0417] The operating system 1004 can include one or more
sub-modules. For example, a desktop manager 1012 can manage one or
more graphical user interfaces (GUI) in a desktop environment.
Desktop GUIs can help the user to easily access and edit files. A
command-line interface (CLI) may be used if full control over the
operating system (OS) 1004 is required. The desktop manager 1012 is
described further hereinafter.
[0418] A kernel 1028 can be a computer program that manages
input/output requests from software and translates them into data
processing instructions for the processor 304 and other components
of the vehicle control system 204. The kernel 1028 is the
fundamental component of the operating system 1004 that can execute
many of the functions associated with the OS 1004.
[0419] The kernel 1028 can include other software functions,
including, but not limited to, driver(s) 1056, communication
software 1052, and/or Internet Protocol software 1048. A driver
1056 can be any computer program that operates or controls a
particular type of device that is attached to a vehicle control
system 204. A driver 1056 can communicate with the device through
the bus 356 or communications subsystem 1008 to which the hardware
connects. When a calling program invokes a routine in the driver
1056, the driver 1056 may issue one or more commands to the device.
Once the device sends data back to the driver 1056, the driver 1056
may invoke routines in the original calling program. Drivers can be
hardware-dependent and operating-system-specific. Driver(s) 1056
can provide the interrupt handling required for any necessary
asynchronous time-dependent hardware interface.
[0420] The IP module 1048 can conduct any IP addressing, which may
include the assignment of IP addresses and associated parameters to
host interfaces. The address space may include networks and
sub-networks. The IP module 1048 can perform the designation of
network or routing prefixes and may conduct IP routing, which
transports packets across network boundaries. Thus, the IP module
1048 may perform all functions required for IP multicast
operations.
[0421] The communications module 1052 may conduct all functions for
communicating over other systems or using other protocols not
serviced by the IP module 1048. Thus, the communications module
1052 can manage multicast operations over other busses or networks
not serviced by the IP module 1048. Further, the communications
module 1052 may perform or manage communications to one or more
devices, systems, data stores, services, etc. that are in
communication with the vehicle control system 204 or other
subsystems through the firewall 1044. Thus, the communications
module 1052 can conduct communications through the communication
subsystem interface 1008.
[0422] A file system 1016 may be any data handling software that
can control how data is stored and retrieved. The file system 1016
can separate the stored data into individual pieces, and giving
each piece a name, can easily separate and identify the pieces of
data. Each piece of data may be considered a "file". The file
system 1016 can construct data structure and logic rules used to
manage the information and the identifiers for the information. The
structure and logic rules can be considered a "file system."
[0423] A device discovery daemon 1020 may be a computer program
that runs as a background process that can discover new devices
that connect with the network 356 or communication subsystem 1008
or devices that disconnect from the network 356 or communication
subsystem 1008. The device discovery daemon 1020 can ping the
network 356 (the local subnet) when the vehicle 104 starts, when a
vehicle door opens or closes, or upon the occurrence of other
events. Additionally or alternatively, the device discovery daemon
1020 may force Bluetooth.RTM., USB, and/or wireless detection. For
each device that responds to the ping, the device discovery daemon
1020 can populate the system data 208 with device information and
capabilities, using any of one or more protocols, including one or
more of, but not limited to, IPv6 Hop-by-Hop Option (HOPOPT),
Internet Control Message Protocol (ICMP), Internet Group Management
Protocol (IGMP), Gateway-to-Gateway Protocol (GGP), Internet
Protocol (IP), Internet Stream Protocol (ST), Transmission Control
Protocol (TCP), Exterior Gateway Protocol (EGP), CHAOS, User
Datagram Protocol (UDP), etc.
[0424] For example, the device discovery daemon 1020 can determine
device capabilities based on the opened ports the device exposes.
If a camera exposes port 80, then the device discovery daemon 1020
can determine that the camera is using a Hypertext Transfer
Protocol (HTTP). Alternatively, if a device is supporting Universal
Plug and Play (UPnP), the system data 208 can include more
information, for example, a camera control universal resource
locator (URL), a camera zoom URL, etc. When a scan stops, the
device discovery daemon 1020 can trigger a dashboard refresh to
ensure the user interface reflects the new devices on the
desktop.
[0425] A desktop manager 1012 may be a computer program that
manages the user interface of the vehicle control system 204. The
desktop environment may be designed to be customizable and allow
the definition of the desktop configuration look-and-feel for a
wide range of appliances or devices from computer desktops, mobile
devices, computer tablets, etc. Launcher(s), panels, desktop areas,
the desktop background, notifications, panes, etc., can be
configured from a dashboard configuration file managed by the
desktop manager 1012. The graphical elements in which the desktop
manager 1012 controls can include launchers, the desktop,
notification bars, etc.
[0426] The desktop may be an area of the display where the
applications are running. The desktop can have a custom background.
Further, the desktop may be divided into two or more areas. For
example, the desktop may be divided into an upper half of a display
and a lower half of the display. Each application can be configured
to run in a portion of the desktop. Extended settings can be added
to the desktop configuration file, such that, some objects may be
displayed over the whole desktop or in custom size out of the
context of the divided areas.
[0427] The notification bar may be a part of a bar display system,
which may provide notifications by displaying, for example, icons
and/or pop-up windows that may be associated with sound
notifications. The notification mechanism can be designed for
separate plug-ins, which run in separate processes and may
subscribe to a system Intelligent Input Bus (IBUS)/D-BUS event
service. The icons on the notifications bar can be accompanied with
application short-cuts to associated applications, for example, a
Bluetooth.RTM. manager, a USB manager, radio volume and or tone
control, a security firewall, etc.
[0428] The desktop manager 1012 may include a windows manager 1032,
an application launcher 1036, and/or a panel launcher 1040. Each of
these components can control a different aspect of the user
interface. The desktop manager 1012 can use a root window to create
panels that can include functionality for one or more of, but not
limited to: launching applications, managing applications,
providing notifications, etc.
[0429] The windows manager 1032 may be software that controls the
placement and appearance of windows within a graphical user
interface presented to the user. Generally, the windows manager
1032 can provide the desktop environment used by the vehicle
control system 204. The windows manager 1032 can communicate with
the kernel 1028 to interface with the graphical system that
provides the user interface(s) and supports the graphics hardware,
pointing devices, keyboard, touch-sensitive screens, etc. The
windows manager 1032 may be a tiling window manager (i.e., a window
manager with an organization of the screen into mutually
non-overlapping frames, as opposed to a coordinate-based stacking
of overlapping objects (windows) that attempts to fully emulate the
desktop metaphor). The windows manager 1032 may read and store
configuration files, in the system data 208, which can control the
position of the application windows at precise positions.
[0430] An application manager 1036 can control the function of any
application over the lifetime of the process. The process or
application can be launched from a panel launcher 1040 or from a
remote console. The application manager 1036 can intercept the
process name and may take appropriate action to manage that
process. If the process is not running, the application manager
1036 can load the process and may bring the process to a foreground
in a display. The application manager 1036 may also notify the
windows manager 1032 to bring the associated window(s) to a top of
a window stack for the display. When a process starts from a shell
or a notification out of the context of the desktop, the
application manager 1036 can scan files to match the process name
with the entry name provided. When a match is found, the
application manager 1036 can configure the process according to a
settings file.
[0431] In some situations, the application manager 1036 may
restrict an application as singleton (i.e., restricts the
instantiation of a class to one object). If an application is
already running and the application manager 1036 is asked to run
the application again, the application manager 1036 can bring the
running process to a foreground on a display. There can be a
notification event exchange between the windows manager 1032 and
the application manager 1036 for activating the appropriate window
for the foreground process. Once an application is launched, the
application may not be terminated or killed. The application can be
sent to the background, except, possibly, for some applications
(e.g., media player, Bluetooth.RTM., notifications, etc.), which
may be given a lowest process priority.
[0432] The panel launcher 1040 can be a widget configured to be
placed along a portion of the display. The panel launcher 1040 may
be built from desktop files from a desktop folder. The desktop
folder location can be configured by a configuration file stored in
system data 208. The panel launcher 1040 can allow for the
launching or executing of applications or processes by receiving
inputs from a user interface to launch programs.
[0433] A desktop plugin 1024 may be a software component that
allows for customization of the desktop or software interface
through the initiation of plug-in applications.
[0434] One or more gestures used to interface with the vehicle
control system 204 may be as described in conjunction with FIG. 11A
through 11K. FIGS. 11A through 11H depict various graphical
representations of gesture inputs that may be recognized by the
devices 212, 248. The gestures may be performed not only by a
user's body part, such as a digit, but also by other devices, such
as a stylus, that may be sensed by the contact sensing portion(s)
of a screen associated with the device 212, 248. In general,
gestures are interpreted differently, based on where the gestures
are performed (either directly on a display or in a gesture capture
region). For example, gestures in a display may be directed to a
desktop or application, and gestures in a gesture capture region
may be interpreted as for the system.
[0435] With reference to FIGS. 11A-11H, a first type of gesture, a
touch gesture 1120, is substantially stationary on a portion (e.g.,
a screen, a display, etc.) of a device 212, 248 for a selected
length of time. A circle 1128 represents a touch or other contact
type received at particular location of a contact sensing portion
of the screen. The circle 1128 may include a border 1132, the
thickness of which indicates a length of time that the contact is
held substantially stationary at the contact location. For
instance, a tap 1120 (or short press) has a thinner border 1132A
than the border 1132B for a long press 1124 (or for a normal
press). The long press 1124 may involve a contact that remains
substantially stationary on the screen for longer time period than
that of a tap 1120. As will be appreciated, differently defined
gestures may be registered depending upon the length of time that
the touch remains stationary prior to contact cessation or movement
on the screen.
[0436] With reference to FIG. 11C, a drag gesture 1100 on the
screen is an initial contact (represented by circle 1128) with
contact movement 1136 in a selected direction. The initial contact
1128 may remain stationary on the screen for a certain amount of
time represented by the border 1132. The drag gesture typically
requires the user to contact an icon, window, or other displayed
image at a first location followed by movement of the contact in a
drag direction to a new second location desired for the selected
displayed image. The contact movement need not be in a straight
line but have any path of movement so long as the contact is
substantially continuous from the first to the second
locations.
[0437] With reference to FIG. 11D, a flick gesture 1104 on the
screen is an initial contact (represented by circle 1128) with
truncated contact movement 1136 (relative to a drag gesture) in a
selected direction. A flick may have a higher exit velocity for the
last movement in the gesture compared to the drag gesture. The
flick gesture can, for instance, be a finger snap following initial
contact. Compared to a drag gesture, a flick gesture generally does
not require continual contact with the screen from the first
location of a displayed image to a predetermined second location.
The contacted displayed image is moved by the flick gesture in the
direction of the flick gesture to the predetermined second
location. Although both gestures commonly can move a displayed
image from a first location to a second location, the temporal
duration and distance of travel of the contact on the screen is
generally less for a flick than for a drag gesture.
[0438] With reference to FIG. 11E, a pinch gesture 1108 on the
screen is depicted. The pinch gesture 1108 may be initiated by a
first contact 1128A to the screen by, for example, a first digit
and a second contact 1128B to the screen by, for example, a second
digit. The first and second contacts 1128A,B may be detected by a
common contact sensing portion of a common screen, by different
contact sensing portions of a common screen, or by different
contact sensing portions of different screens. The first contact
1128A is held for a first amount of time, as represented by the
border 1132A, and the second contact 1128B is held for a second
amount of time, as represented by the border 1132B. The first and
second amounts of time are generally substantially the same, and
the first and second contacts 1128A,B generally occur substantially
simultaneously. The first and second contacts 1128A,B generally
also include corresponding first and second contact movements
1136A,B, respectively. The first and second contact movements
1136A,B are generally in opposing directions. Stated another way,
the first contact movement 1136A is towards the second contact
1136B, and the second contact movement 1136B is towards the first
contact 1136A. More simply stated, the pinch gesture 1108 may be
accomplished by a user's digits touching the screen in a pinching
motion.
[0439] With reference to FIG. 11F, a spread gesture 1110 on the
screen is depicted. The spread gesture 1110 may be initiated by a
first contact 1128A to the screen by, for example, a first digit,
and a second contact 1128B to the screen by, for example, a second
digit. The first and second contacts 1128A,B may be detected by a
common contact sensing portion of a common screen, by different
contact sensing portions of a common screen, or by different
contact sensing portions of different screens. The first contact
1128A is held for a first amount of time, as represented by the
border 1132A, and the second contact 1128B is held for a second
amount of time, as represented by the border 1132B. The first and
second amounts of time are generally substantially the same, and
the first and second contacts 1128A,B generally occur substantially
simultaneously. The first and second contacts 1128A,B generally
also include corresponding first and second contact movements
1136A,B, respectively. The first and second contact movements
1136A,B are generally in an opposing direction. Stated another way,
the first and second contact movements 1136A,B are away from the
first and second contacts 1128A,B. More simply stated, the spread
gesture 1110 may be accomplished by a user's digits touching the
screen in a spreading motion.
[0440] The above gestures may be combined in any manner, such as
those shown by FIGS. 11G and 11H, to produce a determined
functional result. For example, in FIG. 11G a tap gesture 1120 is
combined with a drag or flick gesture 1112 in a direction away from
the tap gesture 1120. In FIG. 11H, a tap gesture 1120 is combined
with a drag or flick gesture 1116 in a direction towards the tap
gesture 1120.
[0441] The functional result of receiving a gesture can vary
depending on a number of factors, including a state of the vehicle
104, display, or screen of a device, a context associated with the
gesture, or sensed location of the gesture, etc. The state of the
vehicle 104 commonly refers to one or more of a configuration of
the vehicle 104, a display orientation, and user and other inputs
received by the vehicle 104. Context commonly refers to one or more
of the particular application(s) selected by the gesture and the
portion(s) of the application currently executing, whether the
application is a single- or multi-screen application, and whether
the application is a multi-screen application displaying one or
more windows. A sensed location of the gesture commonly refers to
whether the sensed set(s) of gesture location coordinates are on a
touch sensitive display or a gesture capture region of a device
212, 248, whether the sensed set(s) of gesture location coordinates
are associated with a common or different display, or screen, or
device 212, 248, and/or what portion of the gesture capture region
contains the sensed set(s) of gesture location coordinates.
[0442] A tap, when received by a touch sensitive display of a
device 212, 248, can be used, for instance, to select an icon to
initiate or terminate execution of a corresponding application, to
maximize or minimize a window, to reorder windows in a stack,
and/or to provide user input such as by keyboard display or other
displayed image. A drag, when received by a touch sensitive display
of a device 212, 248, can be used, for instance, to relocate an
icon or window to a desired location within a display, to reorder a
stack on a display, or to span both displays (such that the
selected window occupies a portion of each display simultaneously).
A flick, when received by a touch sensitive display of a device
212, 248 or a gesture capture region, can be used to relocate a
window from a first display to a second display or to span both
displays (such that the selected window occupies a portion of each
display simultaneously). Unlike the drag gesture, however, the
flick gesture is generally not used to move the displayed image to
a specific user-selected location but to a default location that is
not configurable by the user.
[0443] The pinch gesture, when received by a touch sensitive
display or a gesture capture region of a device 212, 248, can be
used to minimize or otherwise increase the displayed area or size
of a window (typically when received entirely by a common display),
to switch windows displayed at the top of the stack on each display
to the top of the stack of the other display (typically when
received by different displays or screens), or to display an
application manager (a "pop-up window" that displays the windows in
the stack). The spread gesture, when received by a touch sensitive
display or a gesture capture region of a device 212, 248, can be
used to maximize or otherwise decrease the displayed area or size
of a window, to switch windows displayed at the top of the stack on
each display to the top of the stack of the other display
(typically when received by different displays or screens), or to
display an application manager (typically when received by an
off-screen gesture capture region on the same or different
screens).
[0444] The combined gestures of FIG. 11G, when received by a common
display capture region in a common display or screen of a device
212, 248, can be used to hold a first window location constant for
a display receiving the gesture while reordering a second window
location to include a window in the display receiving the gesture.
The combined gestures of FIG. 11H, when received by different
display capture regions in a common display or screen of a device
212, 248 or in different displays or screens of one more devices
212, 248, can be used to hold a first window location for a display
receiving the tap part of the gesture while reordering a second
window location to include a window in the display receiving the
flick or drag gesture. Although specific gestures and gesture
capture regions in the preceding examples have been associated with
corresponding sets of functional results, it is to be appreciated
that these associations can be redefined in any manner to produce
differing associations between gestures and/or gesture capture
regions and/or functional results.
[0445] Gestures that may be completed in three-dimensional space
and not on a touch sensitive screen or gesture capture region of a
device 212, 248 may be as shown in FIGS. 11I-11K. The gestures may
be completed in an area where a sensor, such as an optical sensor,
infrared sensor, or other type of sensor, may detect the gesture.
For example, the gesture 1140 in FIG. 11I may be executed by a
person when the person opens their hand 1164 and moves their hand
in a back and forth direction 1148 as a gesture 1140 to complete
some function with the vehicle 104. For example gesture 1140 may
change the station of the radio in the vehicle 104. The sensors 242
may both determine the configuration of the hand 1164 and the
vector of the movement. The vector and hand configuration can be
interpreted to mean certain things to the vehicle control system
204 and produce different results.
[0446] In another example of a gesture 1152 in FIG. 11J, a user may
configure their hand 1164 to extend two fingers and move the hand
1164 in an up and down operation 1156. This gesture 1152 may
control the volume of the radio or some other function. For
instance, this gesture 1152 may be configured to place the vehicle
in a "valet" mode to, among other things, restrict access to
certain features associated with the vehicle. Again, the sensors
242 may determine how the person has configured their hand 1164,
and the vector of the movement. In another example of a gesture
1160 shown in FIG. 11K, a user may extend their middle three
fingers at an angle that is substantially 45.degree. for vertical
from straight vertical and circle the hand in a counter-clockwise
motion 1166. This gesture 1160 may cause the automobile to change
the heat setting or do some other function. As can be understood by
one skilled in the art, the configurations of the hand and the
types of movement are variable. Thus, the user may configure the
hand 1164 in any way imaginable and may also move that hand 1164 in
any direction with any vector in three-dimensional space.
[0447] The gestures 1140, 1152, 1160, as shown in FIGS. 11I-11K,
may occur in a predetermined volume of space within the vehicle
104. For example, a sensor may be configured to identify such
gestures 1140, 1152, 1160 between the front passenger's and front
driver's seats over a console area within the passenger compartment
of the vehicle 104. The gestures 1140, 1152, 1160 may be made
within area 1 508A between zones A 512A and B 512B. However, there
may be other areas 508 where a user may use certain gestures, where
sensors 242 may be able to determine a certain function is desired.
Gestures that may be similar but used in different areas within the
vehicle 104 may cause different functions to be performed. For
example, the gesture 1140 in FIG. 11I, if used in zone E 512E, may
change the heat provided in zone E 512E, but may change the station
of a radio if used in zone A 512A and/or zone B 512B. Further, the
gestures may be made with other body parts or, for example,
different expressions of a person's face and may be used to control
functions in the vehicle 104. Also, the user may use two hands in
some circumstances or do other types of physical movements that can
cause different reactions in the vehicle 104.
[0448] FIGS. 12A-12D show various embodiments of a data structure
1200 to store different settings. The data structure 1200 may
include one or more of data files or data objects 1204, 1250, 1270,
1280. Thus, the data structure 1200 may represent different types
of databases or data storage, for example, object-oriented data
bases, flat file data structures, relational database, or other
types of data storage arrangements. Embodiments of the data
structure 1200 disclosed herein may be separate, combined, and/or
distributed. As indicated in FIGS. 12A-12D, there may be more or
fewer portions in the data structure 1200, as represented by
ellipses 1244. Further, there may be more or fewer files in the
data structure 1200, as represented by ellipses 1248.
[0449] Referring to FIG. 12A, a first data structure is shown. The
data file 1204 may include several portions 1208-1242 representing
different types of data. Each of these types of data may be
associated with a user, as shown in portion 1208.
[0450] There may be one or more user records 1240 and associated
data stored within the data file 1204. As provided herein, the user
can be any person that uses or rides within the vehicle or
conveyance 104. The user may be identified in portion 1212. For the
vehicle 104, the user may include a set of one or more features
that may identify the user. These features may be the physical
characteristics of the person that may be identified by facial
recognition or some other type of system. In other situations, the
user may provide a unique code to the vehicle control system 204 or
provide some other type of data that allows the vehicle control
system 204 to identify the user. The features or characteristics of
the user are then stored in portion 1212.
[0451] Each user, identified in portion 1208, may have a different
set of settings for each area 508 and/or each zone 512 within the
vehicle 104. Thus, each set of settings may also be associated with
a predetermined zone 512 or area 508. The zone 512 is stored in
portion 1220, and the area 508 is stored in portion 1216.
[0452] One or more settings may be stored in portion 1224. These
settings 1224 may be the configurations of different functions
within the vehicle 104 that are specified by or for that user. For
example, the settings 1224 may be the position of a seat, the
position of a steering wheel, the position of accelerator and/or
brake pedals, positions of mirrors, a heating/cooling setting, a
radio setting, a cruise control setting, or some other type of
setting associated with the vehicle 104. Further, in vehicles
adapted to have a configurable console or a configurable dash or
heads-up display, the settings 1224 may also provide for how that
heads-up display, dash, or console are configured for this
particular user.
[0453] Each setting 1224 may be associated with a different area
508 or zone 512. Thus, there may be more settings 1224 for when the
user is the driver and in zone A 512A, 512A, of area 1, 508A.
However, there may be similar settings 1224 among the different
zones 512 or areas 508 as shown in portion 1224. For example, the
heating or radio settings for the user may be similar in every zone
512.
[0454] The sensors 242 within the vehicle 104 may be able to either
obtain or track health data in portion 1228. Health data 1228 may
include any type of physical characteristic associated with the
user. For example, a heart rate, a blood pressure, a temperature,
or other types of heath data may be obtained and stored in portion
1228. The user may have this health data tracked over a period of
time to allow for statistical analysis of the user's health while
operating the vehicle 104. In this way, if some function of the
user's health deviates from a norm (e.g., a baseline measurement,
average measurements taken over time, and the like), the vehicle
104 may be able to determine there is a problem with the person and
react to that data.
[0455] One or more gestures may be stored in portion 1232. Thus,
the gestures used and described in conjunction FIG. 11A through 11K
may be configurable. These gestures may be determined or created by
the user and stored in portion 1132. A user may have different
gestures for each zone 512 or area 508 within the vehicle. The
gestures that do certain things while driving may do other things
while in a different area 508 of the vehicle 104. Thus, the user
may use a first set of gestures while driving and a second set
while a passenger. Further, one or more users may share gestures as
shown in portion 1232. Each driver may have a common set of
gestures that they use in zone A 512A, 512A. Each of these gestures
may be determined or captured and then stored with their
characteristics (e.g., vector, position of gesture, etc.) in
portion 1232.
[0456] One or more sets of safety parameters may be stored in
portion 1236. Safety parameters 1236 may be common operating
characteristics for this driver/passenger or for all
drivers/passengers that if deviated from may determine there is a
problem with the driver/passenger or the vehicle 104. For example,
a certain route may be taken repeatedly and an average speed or
mean speed may be determined. If the mean speed deviates by some
number of standard deviations, a problem with the vehicle 104 or
the user may be determined. In another example, the health
characteristics or driving experience of the user may be
determined. If the user drives in a certain position where their
head occupies a certain portion of three-dimensional space within
the vehicle 104, the vehicle control system 204 may determine that
the safety parameter includes the users face or head being within
this certain portion of the vehicle interior space. If the user's
head deviates from that interior space for some amount of time, the
vehicle control system 204 can determine that something is wrong
with the driver and change the function or operation of the vehicle
104 to assist the driver. This may happen, for example, when a user
falls asleep at the wheel. If the user's head droops and no longer
occupies a certain three dimensional space, the vehicle control
system 204 can determine that the driver has fallen asleep and may
take control of the operation of the vehicle 204 and the automobile
controller 8104 may steer the vehicle 204 to the side of the road.
In other examples, if the user's reaction time is too slow or some
other safety parameter is not nominal, the vehicle control system
204 may determine that the user is inebriated or having some other
medical problem. The vehicle control system 204 may then assume
control of the vehicle to ensure that the driver is safe.
[0457] Information corresponding to a user and/or a user profile
may be stored in the profile information portion 1238. For example,
the profile information 1238 may include data relating to at least
one of current data, historical data, a user preference, user
habit, user routine, observation, location data (e.g., programmed
and/or requested destinations, locations of parking, routes
traveled, average driving time, etc.), social media connections,
contacts, brand recognition (e.g., determined via one or more
sensors associated with the vehicle 104, a device 212, 248, etc.),
audible recording data, text data, email data, political
affiliation, preferred retail locations/sites (e.g., physical
locations, web-based locations, etc.), recent purchases, behavior
associated with the aforementioned data, and the like. The data in
the profile information portion 1238 may be stored in one or more
of the data structures 1200 provided herein. As can be appreciated,
these one or more data structures may be stored in one or more
memory locations. Examples of various memory locations are
described in conjunction with FIG. 2.
[0458] One or more additional data fields may be stored in the
linked data portion 1242 as data and/or locations of data. The
linked data 1242 may include at least one of pointers, addresses,
location identification, data source information, and other
information corresponding to additional data associated with the
data structure 1200. Optionally, the linked data portion 1242 may
refer to data stored outside of a particular data structure 1200.
For example, the linked data portion 1242 may include a
link/locator to the external data. Continuing this example, the
link/locator may be resolved (e.g., via one or more of the methods
and/or systems provided herein, etc.) to access the data stored
outside of the data structure 1200. Additionally or alternatively,
the linked data portion 1242 may include information configured to
link the data objects 1204 to other data files or data objects
1250, 1270, 1280. For instance, the data object 1204 relating to a
user may be linked to at least one of a device data object 1250, a
vehicle system data object 1270, and a vehicle data object 1280, to
name a few.
[0459] An embodiment of a data structure 1200 to store information
associated with one or more devices is shown in FIG. 12B. The data
file 1250 may include several portions 1216-1262 representing
different types of data. Each of these types of data may be
associated with a device, as shown in portion 1252.
[0460] There may be one or more device records 1250 and associated
data stored within the data file 1250. As provided herein, the
device may be any device that is associated with the vehicle 104.
For example, a device may be associated with a vehicle 104 when
that device is physically located within the interior space 108 of
the vehicle 104. As another example, a device may be associated
with a vehicle 104 when the device registers with the vehicle 104.
Registration may include pairing the device with the vehicle 104
and/or one or more of the vehicle systems (e.g., as provided in
FIG. 3). In some cases, the registration of a device with a vehicle
104 may be performed manually and/or automatically. An example of
automatic registration may include detecting, via one or more of
the vehicle systems, that a device is inside the vehicle 104. Upon
detecting that the device is inside the vehicle 104, the vehicle
system may identify the device and determine whether the device is
or should be registered. Registration may be performed outside of a
vehicle 104 via providing a unique code to the vehicle 104 and/or
at least one of the vehicle systems.
[0461] The device may be identified in portion 1256. Among other
things, the device identification may be based on the hardware
associated with the device (e.g., Media Access Control (MAC)
address, Burned-In Address (BIA), Ethernet Hardware Address (EHA),
physical address, hardware address, and the like).
[0462] Optionally, a device may be associated with one or more
users. For example, a tablet and/or graphical user interface (GUI)
associated with the vehicle 104 may be used by multiple members of
a family. For instance, the GUI may be located in a particular area
508 and/or zone 512 of the vehicle 104. Continuing this example,
when a family member is located in the particular area 508 and/or
zone 512, the device may include various settings, features,
priorities, capabilities, and the like, based on an identification
of the family member. The user may be identified in portion 1254.
For the device, the user identification portion 1254 may include a
set of one or more features that may identify a particular user.
These features may be the physical characteristics of the person
that may be identified by facial recognition, or some other type of
system, associated with the device and/or the vehicle 104.
Optionally, the user may provide a unique code to the device, or
provide some other type of data, that allows the device to identify
the user. The features or characteristics of the user are then
stored in portion 1254.
[0463] Each device identified in the device identification portion
1256 may have a different set of settings for each area 508 and/or
each zone 512, and/or each user of the device. Thus, each set of
settings may also be associated with a predetermined zone 512, area
508, and/or user. The zone 512 is stored in portion 1220 and the
area 508 is stored in portion 1216.
[0464] One or more settings may be stored in portion 1224. These
settings 1224 may be similar and/or identical to those previously
described. Further, the settings 1224 may also provide for how a
device is configured for a particular user. Each setting 1224 may
be associated with a different area 508 or zone 512. Thus, there
may be more restrictive settings 1224 (e.g., restricted multimedia,
texting, limited access to device functions, and the like) for the
device when the user is the driver and in zone A 512A, 512A, of
area 1, 508A. However, when the user is in another zone 512 or area
508, for example, where the user is not operating a vehicle 104,
the settings 1224 may provide unrestricted access to one or more
features of the device (e.g., allowing texting, multimedia,
etc.).
[0465] Optionally, the capabilities of a device may be stored in
portion 1258. Examples of device capabilities may include, but are
not limited to, a communications ability (e.g., via wireless
network, EDGE, 3G, 4G, LTE, wired, Bluetooth.RTM., Near Field
Communications (NFC), Infrared (IR), etc.), hardware associated
with the device (e.g., cameras, gyroscopes, accelerometers, touch
interface, processor, memory, display, etc.), software (e.g.,
installed, available, revision, release date, etc.), firmware
(e.g., type, revision, etc.), operating system, system status, and
the like. Optionally, the various capabilities associated with a
device may be controlled by one or more of the vehicle systems
provided herein. Among other things, this control allows the
vehicle 104 to leverage the power and features of various devices
to collect, transmit, and/or receive data.
[0466] One or more priorities may be stored in portion 1260. The
priority may correspond to a value, or combination of values,
configured to determine how a device interacts with the vehicle 104
and/or its various systems. The priority may be based on a location
of the device (e.g., as stored in portions 1216, 1220). A default
priority can be associated with each area 508 and/or zone 512 of a
vehicle 104. For example, the default priority associated with a
device found in zone 1 512A of area 1 508A (e.g., a vehicle
operator position) may be set higher than an (or the highest of
any) alternative zone 512 or area 508 of the vehicle 104.
Continuing this example, the vehicle 104 may determine that,
although other devices are found in the vehicle, the device, having
the highest priority, controls features associated with the vehicle
104. These features may include vehicle control features, critical
and/or non-critical systems, communications, and the like.
Additionally or alternatively, the priority may be based on a
particular user associated with the device. Optionally, the
priority may be used to determine which device will control a
particular signal in the event of a conflict.
[0467] Registration data may be stored in portion 1262. As
described above, when a particular device registers with a vehicle
104, data related to the registration may be stored in the
registration data portion 1262. Such data may include, but is not
limited to, registration information, registration codes, initial
registration time, expiration of registration, registration timers,
and the like. Optionally, one or more systems of the vehicle 104
may refer to the registration data portion 1262 to determine
whether a device has been previously registered with the vehicle
104. As shown in FIG. 12B, User 4 of Device 2 has not been
registered. In this case, the registration data field 1262, for
this user, may be empty, contain a null value, or other
information/indication that there is no current registration
information associated with the user.
[0468] Additionally or alternatively, the data structure 1200 may
include a profile information portion 1238 and/or a linked data
portion 1242. Although the profile information portion 1238 and/or
the linked data portion 1242 may include different information from
that described above, it should be appreciated that the portions
1238, 1242 may be similar, or identical, to those as previously
disclosed.
[0469] An embodiment of a data structure 1200 to store information
associated with one or more vehicle systems is shown in FIG. 12C.
The data file 1270 may include several portions 1216-1279
representing different types of data. Each of these types of data
may be associated with a vehicle system, as shown in portion
1272.
[0470] There may be one or more system records 1270 and associated
data stored within the data file 1270. As provided herein, the
vehicle systems may be any system and/or subsystem that is
associated with the vehicle 104. Examples of various systems are
described in conjunction with FIG. 3 and other related figures
(e.g., systems 324-352, etc.). One example of a system associated
with the vehicle 104 is the vehicle control system 204. Other
systems may include communications subsystems 344, vehicle
subsystems 328, and media subsystems 348, to name a few. It should
be appreciated that the various systems may be associated with the
interior space 108 and/or the exterior of the vehicle 104.
[0471] Each system may include one or more components. The
components may be identified in portion 1274. Identification of the
one or more components may be based on hardware associated with the
component. This identification may include hardware addresses
similar to those described in conjunction with the devices of FIG.
12B. Additionally or alternatively, a component can be identified
by one or more signals sent via the component. Such signals may
include an Internet Protocol (IP), or similar, address as part of
the signal. Optionally, the signal may identify the component
sending the signal via one or more of a header, a footer, a
payload, and/or an identifier associated with the signal (e.g., a
packet of a signal, etc.).
[0472] Each system and/or component may include priority type
information in portion 1276. Among other things, the priority type
information stored in portion 1276 may be used by the various
methods and systems provided herein to differentiate between
critical and non-critical systems. Non-limiting examples of
critical systems may correspond to those systems used to control
the vehicle 104, such as, steering control, engine control,
throttle control, braking control, and/or navigation informational
control (e.g., speed measurement, fuel measurement, etc.)
Non-critical systems may include other systems that are not
directly related to the control of the vehicle 104. By way of
example, non-critical systems may include media presentation,
wireless communications, comfort settings systems (e.g., climate
control, seat position, seat warmers, etc.), and the like. Although
examples of critical and/or non-critical systems are provided
above, it should be appreciated that the priority type of a system
may change (e.g., from critical to non-critical, from non-critical
to critical, etc.) depending on the scenario. For instance,
although the interior climate control system may be classified as a
non-critical system at a first point in time, it may be
subsequently classified as a critical system when a temperature
inside/outside of the vehicle 104 is measured at a dangerous level
(e.g., sub-zero Fahrenheit, greater than 90-degrees Fahrenheit,
etc.). As such, the priority type may be associated with
temperature conditions, air quality, times of the day, condition of
the vehicle 104, and the like.
[0473] Each system may be associated with a particular area 508
and/or zone 512 of a vehicle 104. Among other things, the location
of a system may be used to assess a state of the system and/or
provide how the system interacts with one or more users of the
vehicle 104. As can be appreciated each system may have a different
set of settings for each area 508 and/or each zone 512, and/or each
user of the system. Thus, each set of settings may also be
associated with a predetermined zone 512, area 508, system, and/or
user. The zone 512 is stored in portion 1220 and the area 508 is
stored in portion 1216.
[0474] One or more settings may be stored in portion 1224. These
settings 1224 may be similar and/or identical to those previously
described. Further, the settings 1224 may also provide for how a
system is configured for a particular user. Each setting 1224 may
be associated with a different area 508 or zone 512. For instance,
a climate control system may be associated with more than one area
508 and/or zone 512. As such, a first user seated in zone 1 512A of
area 1 508A may store settings related to the climate control of
that zone 512A that are different from other users and/or zones 512
of the vehicle 104. Optionally, the settings may not be dependent
on a user. For instance, specific areas 508 and/or zones 512 of a
vehicle 104 may include different, default, or the same settings
based on the information stored in portion 1224.
[0475] The various systems and/or components may be able to obtain
or track health status data of the systems and/or components in
portion 1278. The health status 1278 may include any type of
information related to a state of the systems. For instance, an
operational condition, manufacturing date, update status, revision
information, time in operation, fault status, state of damage
detected, inaccurate data reporting, and other types of
component/system health status data may be obtained and stored in
portion 1278.
[0476] Each component and/or system may be configured to
communicate with users, systems, servers, vehicles, third parties,
and/or other endpoints via one or more communication type. At least
one communication ability and/or type associated with a system may
be stored in the communication type portion 1279. Optionally, the
communication types contained in this portion 1279 may be ordered
in a preferential order of communication types. For instance, a
system may be configured to preferably communicate via a wired
communication protocol over one or more wired communication
channels (e.g., due to information transfer speeds, reliability,
and the like). However, in this instance, if the one or more wired
communication channels fail, the system may transfer information
via an alternative communication protocol and channel (e.g., a
wireless communication protocol and wireless communication channel,
etc.). Among other things, the methods and systems provided herein
may take advantage of the information stored in the communication
type portion 1279 to open available communication channels in the
event of a communication channel failure, listen on other ports for
information transmitted from the systems, provide a reliability
rating based on the number of redundant communication types for
each component, and more. Optionally, a component or system may be
restricted from communicating via a particular communication type
(e.g., based on rules, traffic, critical/non-critical priority
type, and the like). In this example, the component or system may
be forced by the vehicle control system 204 to use an alternate
communication type where available, cease communications, or store
communications for later transfer.
[0477] Additionally or alternatively, the data structure 1200 may
include a profile information portion 1238 and/or a linked data
portion 1242. Although the profile information portion 1238 and/or
the linked data portion 1242 may include different information from
that described above, it should be appreciated that the portions
1238, 1242 may be similar, or identical, to those as previously
disclosed.
[0478] Referring now to FIG. 12D, a data structure 1200 is shown
optionally. The data file 1280 may include several portions
1216-1286 representing different types of data. Each of these types
of data may be associated with a vehicle, as shown in portion
1282.
[0479] There may be one or more vehicle records 1280 and associated
data stored within the data file 1282. As provided herein, the
vehicle 104 can be any vehicle or conveyance 104 as provided
herein. The vehicle 104 may be identified in portion 1282.
Additionally or alternatively, the vehicle 104 may be identified by
one or more systems and/or subsystems. The various systems of a
vehicle 104 may be identified in portion 1284. For example, various
features or characteristics of the vehicle 104 and/or its systems
may be stored in portion 1284. Optionally, the vehicle 104 may be
identified via a unique code or some other type of data that allows
the vehicle 104 to be identified.
[0480] Each system may be associated with a particular area 508
and/or zone 512 of a vehicle 104. Among other things, the location
of a system may be used to assess a state of the system and/or
provide how the system interacts with one or more users of the
vehicle 104. As can be appreciated each system may have a different
set of settings for each area 508 and/or each zone 512, and/or each
user of the system. Thus, each set of settings may also be
associated with a predetermined zone 512, area 508, system, and/or
user. The zone 512 is stored in portion 1220 and the area 508 is
stored in portion 1216.
[0481] One or more settings may be stored in portion 1224. These
settings 1224 may be similar and/or identical to those previously
described. Further, the settings 1224 may also provide for how a
vehicle and/or its systems are configured for one or more users.
Each setting 1224 may be associated with a different area 508 or
zone 512. Optionally, the settings may not be dependent on a
particular user. For instance, specific areas 508 and/or zones 512
of a vehicle 104 may include different, default, or the same
settings based on the information stored in portion 1224.
[0482] The various systems and/or components may be able to obtain
or track health status data of the systems and/or components in
portion 1278. The health status 1278 may include any type of
information related to a state of the systems. For instance, an
operational condition, manufacturing date, update status, revision
information, time in operation, fault status, state of damage
detected, inaccurate data reporting, and other types of
component/system health status data may be obtained and stored in
portion 1278.
[0483] One or more warnings may be stored in portion 1286. The
warnings data 1286 may include warning generated by the vehicle
104, systems of the vehicle 104, manufacturer of the vehicle,
federal agency, third party, and/or a user associated with the
vehicle. For example, several components of the vehicle may provide
health status information (e.g., stored in portion 1278) that, when
considered together, may suggest that the vehicle 104 has suffered
some type of damage and/or failure. Recognition of this damage
and/or failure may be stored in the warnings data portion 1286. The
data in portion 1286 may be communicated to one or more parties
(e.g., a manufacturer, maintenance facility, user, etc.). In
another example, a manufacturer may issue a recall notification for
a specific vehicle 104, system of a vehicle 104, and/or a component
of a vehicle 104. It is anticipated that the recall notification
may be stored in the warning data field 1286. Continuing this
example, the recall notification may then be communicated to the
user of the vehicle 104 notifying the user of the recall issued by
the manufacturer.
[0484] Additionally or alternatively, the data structure 1200 may
include a profile information portion 1238 and/or a linked data
portion 1242. Although the profile information portion 1238 and/or
the linked data portion 1242 may include different information from
that described above, it should be appreciated that the portions
1238, 1242 may be similar, or identical, to those as previously
disclosed.
[0485] An embodiment of a method 1300 for storing settings for a
user 216 associated with vehicle 104 is shown in FIG. 13. While a
general order for the steps of the method 1300 is shown in FIG. 13,
the method 1300 can include more or fewer steps or can arrange the
order of the steps differently than those shown in FIG. 13.
Generally, the method 1300 starts with a start operation 1304 and
ends with an end operation 1336. The method 1300 can be executed as
a set of computer-executable instructions executed by a computer
system and encoded or stored on a computer readable medium.
Hereinafter, the method 1300 shall be explained with reference to
the systems, components, modules, software, data structures, user
interfaces, etc. described in conjunction with FIGS. 1-12.
[0486] A person may enter the vehicle space 108. One or more
sensors 242 may then identify that a person is sitting within the
vehicle 104, in step 1308. For example, sensors 242 in a seat, may
determine that some new amount of weight has been registered. The
amount of weight may fall within predetermined parameters (e.g.,
over a threshold, in a specific range, etc.). This weight may then
be determined to be a person by one or more optical or other
sensors 242. The vehicle control system 204 may then determine that
a person is in a certain zone 512 or area 508. For example, the
sensors 242 may send signals to the vehicle controls system 204
that an event has occurred. This information may be sent to the
vehicle control system processor 304 to determine the zone 512 and
area 508 where the event occurred. Further, the vehicle control
system 204 may then identify the person, in step 1312.
[0487] The vehicle control system 204 can receive the information
from the sensors 242 and use that information to search the
database 1200 that may be stored within the system data 208. The
sensor data may be compared to ID characteristics 1212 to determine
if the person has already been identified. The vehicle control
system 204 may also send the characteristic data from the sensors
to the communication network 224 to a server 228 to compare the
sensor data to stored data 232 that may be stored in a cloud
system. The person's features can be compared to stored features
1212 to determine if the person in the vehicle 104 can be
identified.
[0488] If the person has been identified previously and their
characteristics stored in portion 1212, the method 1300 proceeds
YES to step 1316 where that person may be identified. In
identifying a person, the information associated with that person
1240 may be retrieved and provided to the vehicle control system
204 for further action. If a person cannot be identified by finding
their sensor characteristics in portion 1212, the method 1300
proceeds NO to step 1320. In step 1320, the vehicle control system
204, using an application, may create a new record in table 1200
for the user. This new record may store a user identifier and their
characteristics 1212. It may also store the area 508 and zone 512
in data portions 1216 and 1220. The new record may then be capable
of receiving new settings data for this particular user. In this
way, the vehicle 104 can automatically identify or characterize a
person so that settings may be established for the person in the
vehicle 104.
[0489] The input module 312 may then determine if settings are to
be stored, in step 1324. Settings might be any configuration of the
vehicle 104 that may be associated with the user. The determination
may be made after receiving a user input from the user. For
example, the user may make a selection on a touch sensitive display
indicating that settings currently made are to be stored. In other
situations, a period of time may elapse after the user has made a
configuration. After determining that the user is finished making
changes to the settings, based on the length of the period of time
since the setting was established, the vehicle control system 204
can save the setting. Thus, the vehicle control system 204 can make
settings automatically based on reaching a steady state for
settings for user.
[0490] The vehicle control system 204 may then store the settings
for the person, in step 1328. The user interaction subsystem 332
can make a new entry for the user 1208 in data structure 1204. The
new entry may be either a new user or a new settings listed in
1224. The settings may be stored based on the area 508 and zone
512. As explained previously, the settings can be any kind of
configuration of the vehicle 104 that may be associated with the
user in that area 508 and the zone 512.
[0491] The settings may also be stored in cloud storage, in step
1332. Thus, the vehicle control system 204 can send the new
settings to the server 228 to be stored in storage 232. In this
way, these new settings may be ported to other vehicles for the
user. Further, the settings in storage system 232 may be retrieved,
if local storage does not include the settings in storage system
208.
[0492] Additionally or alternatively, the settings may be stored in
profile data 252. As provided herein, the profile data 252 may be
associated with one or more devices 212, 248, servers 228, vehicle
control systems 204, and the like. Optionally, the settings in
profile data 252 may be retrieved in response to conditions. For
instance, the settings may be retrieved from at least one source
having the profile data if local storage does not include the
settings in storage system 208. As another example, a user 216 may
wish to transfer settings stored in profile data 252 to the system
data 208. In any event, the retrieval and transfer of settings may
be performed automatically via one or more devices 204, 212, 248,
associated with the vehicle 104.
[0493] An embodiment of a method 1400 to configure the vehicle 104
based on stored settings is shown in FIG. 14. A general order for
the steps of the method 1400 is shown in FIG. 14. Generally, the
method 1400 starts with a start operation 1404 and ends with an end
operation 1428. The method 1400 can include more or fewer steps or
can arrange the order of the steps differently than those shown in
FIG. 14. The method 1400 can be executed as a set of
computer-executable instructions executed by a computer system and
encoded or stored on a computer readable medium. Hereinafter, the
method 1400 shall be explained with reference to the systems,
components, modules, software, data structures, user interfaces,
etc. described in conjunction with FIGS. 1-13.
[0494] The vehicle control system 204 can determine if a person is
in a zone 512 or area 508, in step 1408. This determination may be
made by receiving data from one or more sensors 242. The vehicle
104 can use facial recognition, weight sensors, heat sensors, or
other sensors to determine whether a person is occupying a certain
zone 512.
[0495] Using the information from the sensors 242, the vehicle
control system 204 can identify the person, in step 1412. The
vehicle control system 204 can obtain characteristics for the user
currently occupying the zone 512 and compare those characteristics
to the identifying features in portion 1212 of data structure 1204.
Thus, the settings in portion 1224 may be retrieved by identifying
the correct zone 512, area 508, and characteristics for the
user.
[0496] The vehicle control system 204 can first determine if there
are settings associated with the identified person for that zone
512 and/or area 508, in step 1416. After identifying the user by
matching characteristics with the features in portion 1212, the
vehicle control system 204 can determine if there are settings for
the user for the area 1216 and zone 1220 the user currently
occupies. If there are settings, then the vehicle control system
204 can make the determination that there are settings in portion
1224, and the vehicle control system 204 may then read and retrieve
those settings, in step 1420. The settings may be then used to
configure or react to the presence of the user, in step 1424. Thus,
these settings may be obtained to change the configuration of the
vehicle 104, for example, how the position of the seats or mirrors
are set, how the dash, console, or heads up display is configured,
how the heat or cooling is configured, how the radio is configured,
or how other different configurations are made.
[0497] Embodiments of a method 1500 for storing settings in cloud
storage are shown in FIG. 15. A general order for the steps of the
method 1500 is shown in FIG. 15. Generally, the method 1500 starts
with a start operation 1504 and ends with an end operation 1540.
The method 1500 can include more or fewer steps or can arrange the
order of the steps differently than those shown in FIG. 15. The
method 1500 can be executed as a set of computer-executable
instructions executed by a computer system and encoded or stored on
a computer readable medium. Hereinafter, the method 1500 shall be
explained with reference to the systems, components, modules,
software, data structures, user interfaces, etc. described in
conjunction with FIGS. 1-14.
[0498] The vehicle control system 204 can determine if a person is
in a zone 512 or area 508, in step 1508. As explained previously,
the vehicle control system 204 can receive vehicle sensor data from
vehicle sensors 242 that show a person has occupied a zone 512 or
an area 508 of the vehicle 104. Using the vehicle sensor data, the
vehicle control system 204 can determine characteristics of the
person, in step 1512. These characteristics are compared to the
features in portion 1212 of the data structure 1204. From this
comparison, the vehicle control system 204 can determine if the
person is identified within the data structure 1204, in step 1516.
If there is a comparison and the person can be identified, the
method 1500 proceeds YES to step 1520. However, if the person
cannot be identified, the method 1500 proceeds NO, to step
1524.
[0499] In step 1520, the person is identified in portion 1208 by
the successful comparison of the characteristics and the features.
It should be noted that there may be a degree of variability
between the characteristics and the features in portion 1212. Thus,
the comparison may not be an exact comparison but may use methods
known in the art to make a statistically significant comparison
between the characteristics received from the sensors 242 and the
features stored in portion 1212. In step 1524, the characteristics
received from sensors 242 are used to characterize the person. In
this way, the received characteristics may be used as an ID, in
portion 1212, for a new entry for a new user in portion 1208.
[0500] The user may make one or more settings for the vehicle 104.
The vehicle control system 204 may determine if the settings are to
be stored, in step 1528. If the settings are to be stored, the
method 1500 proceeds YES to step 1536. If the settings are not to
be stored or if there are no settings to be stored, the method 1500
proceeds NO to step 1532. In step 1532, the vehicle control system
204 can retrieve the settings in the portion 1224 of the data
structure 1204. Retrieval of the settings may be as described in
conjunction with FIG. 14. If settings are to be stored, the vehicle
control system 204 can send those settings to server 228 to be
stored in data storage 232, in step 1536. Data storage 232 acts as
cloud storage that can be used to retrieve information on the
settings from other vehicles or from other sources. Thus, the cloud
storage 232 allows for permanent and more robust storage of user
preferences for the settings of the vehicle 104.
[0501] An embodiment of a method 1600 for storing gestures
associated with the user is shown in FIG. 16. A general order for
the steps of the method 1600 is shown in FIG. 16. Generally, the
method 1600 starts with a start operation 1604 and ends with an end
operation 1640. The method 1600 can include more or fewer steps or
can arrange the order of the steps differently than those shown in
FIG. 16. The method 1600 can be executed as a set of
computer-executable instructions executed by a computer system and
encoded or stored on a computer readable medium. Hereinafter, the
method 1600 shall be explained with reference to the systems,
components, modules, software, data structures, user interfaces,
etc. described in conjunction with FIGS. 1-15.
[0502] Vehicle control system 204 may receive sensor data from
sensors 242 to determine a person is occupying a zone 512 in an
area 508 of the vehicle 104, in step 1608. The sensor data may
provide characteristics for the person, in step 1612. The vehicle
control system 204 may then use the characteristics to determine if
the person can be identified, in step 1616. The vehicle control
system 204 may compare the characteristics to the features in
portion 1212 for the people having been recognized and having data
associated therewith. If a comparison is made between the
characteristics and the features in portion 1212, the person can be
identified, and the method 1600 proceeds YES to step 1620. If there
is no comparison, the method 1600 may proceed NO to step 1624. In
step 1620, the person may be identified by the vehicle control
system 204. Thus, the person's features and associated data record
1240 may be determined and the user identified in portion 1208. If
the person is not identified, the vehicle control system 204 can
characterize the person in step 1624 by establishing a new record
in data structure 1204 using the characteristics, received from the
sensors 242, for the features in portion 1212.
[0503] Thereinafter, the vehicle control system 204 may determine
if gestures are to be stored and associated with the user, in step
1628. The vehicle control system 204 may receive user input on a
touch sensitive display or some other type of gesture capture
region which acknowledges that the user wishes to store one or more
gestures. Thus, the user may create their own gestures such as
those described in conjunction with FIGS. 11A-11K. These gestures
may then be characterized and stored in data structure 1204. If
there are gestures to be stored, the method 1600 proceeds YES to
step 1636. If gestures are not to be stored the method 1600 may
proceed NO to step 1632.
[0504] In step 1632, the vehicle control system 204 can retrieve
current gestures from portion 1232, which are associated with user
1240. These gestures may be used then to configure how the vehicle
104 will react if a gesture is received. If gestures are to be
stored, the vehicle control system 204 may store characteristics,
in step 1636, as received from sensor 242 or from one more user
interface inputs. These characteristics may then be used to create
the stored gestures 1232, in data structure 1204. The
characteristics may include what the gesture looks like or appears
and also what affect the gesture should have. This information may
then be used to change the configuration or operation of the
vehicle 104 based on the gesture if it is received at a later
time.
[0505] An embodiment of a method 1700 for receiving a gesture and
configuring the vehicle 104 based on the gesture may be as provided
in FIG. 17. A general order for the steps of the method 1700 is
shown in FIG. 17. Generally, the method 1700 starts with a start
operation 1704 and ends with an end operation 1728. The method 1700
can include more or fewer steps or can arrange the order of the
steps differently than those shown in FIG. 17. The method 1700 can
be executed as a set of computer-executable instructions executed
by a computer system and encoded or stored on a computer readable
medium. Hereinafter, the method 1700 shall be explained with
reference to the systems, components, modules, software, data
structures, user interfaces, etc. described in conjunction with
FIGS. 1-16.
[0506] A vehicle control system 204 can receive sensor data from
vehicle sensors 242. The vehicle sensor data can be used by the
vehicle control system 204 to determine that a person is in a zone
512 or area 508, in step 1708. The vehicle sensor data may then be
used to compare against feature characteristics 1212 to identify a
person, in step 1712. The vehicle control system 204 thereinafter
may receive a gesture, in step 1716. The gesture may be perceived
by vehicle sensors 242 or received in a gesture capture region. The
gesture may be as described in conjunction with FIGS. 11A-11K. Upon
receiving the gesture, the vehicle control system 204 can compare
the gesture to gesture characteristics in portion 1232, in step
1720. The comparison may be made so that a statistically
significant correlation between the sensor data or gesture data and
the gesture characteristic 1232 is made. Upon identifying the
gesture, the vehicle control system 204 can configure the vehicle
104 and/or react to the gesture, in step 1724. The configuration or
reaction to the gesture may be as prescribed in the gesture
characteristic 1232.
[0507] An embodiment of a method 1800 for storing health data may
be as shown in FIG. 18. A general order for the steps of the method
1800 is shown in FIG. 18. Generally, the method 1800 starts with a
start operation 1804 and ends with an end operation 1844. The
method 1800 can include more or fewer steps or can arrange the
order of the steps differently than those shown in FIG. 18. The
method 1800 can be executed as a set of computer-executable
instructions executed by a computer system and encoded or stored on
a computer readable medium. Hereinafter, the method 1800 shall be
explained with reference to the systems, components, modules,
software, data structures, user interfaces, etc. described in
conjunction with FIGS. 1-17.
[0508] Vehicle control system 204 can receive sensor data from
sensors 242. The sensor data may be used to determine that a person
is in a zone 512 or area 508, in step 1808. The sensor data may
then be used to determine characteristics of the person, in step
1812. From the characteristics, the vehicle control system 204 can
determine if a person may be identified in data structure 1204, in
step 1816. If it is determined that the person can be identified in
step 1816, the method 1800 proceeds YES to step 1820. If the person
cannot be identified, the method 1800 proceeds NO to step 1824. A
person may be identified by matching the characteristics of a
person from the sensor data to the features shown in portion 1212.
If these comparisons are statistically significant, the person may
be identified in portion 1208, in step 1820. However, if the person
is not identified in portion 1208, the vehicle control system 204
can characterize the person using the vehicle sensor data, in step
1824. In this way, the vehicle control system 204 can create a new
record for a new user in data structure 1204.
[0509] Thereinafter, the vehicle control system 204 may receive
health and/or safety data from the vehicle sensors 242, in step
1828. The vehicle control system 204 can determine if the health or
safety data is to be stored, in step 1832. The determination is
made as to whether or not there is sufficient health data or safety
parameters, in portion 1228 and 1236, to provide a reasonable
baseline data pattern for the user 1240. If there is data to be
received and stored, the vehicle control system 204 can store the
data for the person in portions 1228 and 1236 of the data structure
1204, in step 1832.
[0510] The vehicle control system 204 may then wait a period of
time, in step 1836. The period of time may be any amount of time
from seconds to minutes to days. Thereinafter, the vehicle control
system 204 can receive new data from vehicle sensors 242, in step
1828. Thus, the vehicle control system 204 can receive data
periodically and update or continue to refine the health data and
safety parameters in data structure 1204. Thereinafter, the vehicle
control system 204 may optionally store the health and safety data
in cloud storage 232 by sending it through the communication
network 224 to the server 228, in step 1840.
[0511] An embodiment of a method 1900 for monitoring the health of
a user may be as shown in FIG. 19. A general order for the steps of
the method 1900 is shown in FIG. 19. Generally, the method 1900
starts with a start operation 1904 and ends with an end operation
1928. The method 1900 can include more or fewer steps or can
arrange the order of the steps differently than those shown in FIG.
19. The method 1900 can be executed as a set of computer-executable
instructions executed by a computer system and encoded or stored on
a computer readable medium. Hereinafter, the method 1900 shall be
explained with reference to the systems, components, modules,
software, data structures, user interfaces, etc. described in
conjunction with FIGS. 1-18.
[0512] The vehicle control system 204 can receive health data from
sensors 242. The health data may be received in step 1908. The
vehicle control system 204 may then compare the received health
data to stored health parameters in portion 1228 or portion 1236,
in step 1912. The comparison may check if there is statistically
significant separation or disagreement between the received health
data and the stored health data. Thus, the vehicle control system
204 can make a health comparison of the user based on a baseline of
health data previously stored. A statistically significant
comparison may include determining if there are any parameters more
than three standard deviations from the average or norm, any
parameter that is increasing or decreasing over a period of eight
different measurements, a measurement that is more than two
standard deviations from the norm more than three measurements
consecutively, or other types of statistical comparisons.
[0513] If the vehicle control system 204 determines that measured
health parameter does deviate from the norm, the vehicle control
system 204 can determine whether the health data is within
acceptable limits, in step 1916. If the health data is within
acceptable limits, the method 1900 proceeds YES back to receiving
new health data, in step 1908. In this way, the health data is
periodically or continually monitored to ensure that the driver is
in a healthy state and able to operate the vehicle. If the health
data is not within acceptable parameters, the method 1900 may
proceed NO to step 1924 where the vehicle control system 204 may
react to the change in the health data. The reaction may include
any measure to provide for the safety of the user, such as stopping
the vehicle, beginning to drive the vehicle, driving the vehicle to
a new location, such as a hospital, waking the driver with an alarm
or other noise, or performing some other function that may help
maintain the health or safety of the user.
[0514] The health data received may be a reaction from the driver.
For example, the driver may call for help or ask the vehicle for
assistance. For example, the driver or passenger may say that they
are having a medical emergency and ask the car to perform some
function to help. The function to help may include driving the
person to a hospital or stopping the car and calling for emergency
assistance.
[0515] An embodiment of the location module 896 may be as shown in
FIG. 20. The navigation module 336 can include the location module
896, which can obtain or create data about routes or create routes
for the automobile. The location module 896 may be as described in
conjunction with FIG. 8C. The location module 896 may include one
or more modules such as, but not limited to, a route interrogation
module 2004, a route suggestion module 2008, a pattern recognition
module 2012, a travel interaction module 2016, a time module 2020,
a cost module 2024, and a translation module 2028. The different
modules 2004-2028 may be hardware, software, or a combination of
hardware and software. While the modules 2004-2028 are shown as
being a part of the location module 896, it may be possible that
the modules 2004-2028 may be included as separate functions
embodied in some other system.
[0516] The interrogation module 2004 may be operable to determine
data about a route. For example, the route interrogation module
2004 can determine destinations and other information about routes
take by a user or users. The route information may be stored in a
database with metadata or other information, as described in
conjunction with FIGS. 22A and 22B, that can be used
thereinafter.
[0517] A route suggestion module 2008 may suggest routes to the
user. The route suggestion module 2008 may interface with one or
more other modules to determine the best route. The route may be
suggested to the user and accepted by the user.
[0518] A pattern recognition module 2012 may receive information
from the route interrogation module 2004, or one or more other
modules, to determine if patterns surface among multiple routes
taken by a user or users. The pattern recognition module 2012 can
determine common routes taken by several users during the same
times of day or by the same user at the same times of day. The
pattern information may be stored in a database.
[0519] A travel interaction module 2016 may assist the user(s) when
traveling in foreign countries around unfamiliar territory. The
travel interaction module 2016 can determine information about
common habits of user(s) and then translate that information into
routes in other countries or territories. The translated
information may be provided to the route suggestion module 2008 to
better establish routes for a user.
[0520] A time module 2020 may evaluate the time to travel a certain
route to determine the best route for a user. The time may be based
on traffic conditions, speeds, or other information. The time
module 2020 may also determine best routes based on a total time
allowed for a route. Thus, if a user has only a certain amount of
time to travel a route, the time module 2020 may find a best route
that fits the provided time parameter.
[0521] A cost module 2024, similar to time module 2020, may obtain
information and determine a best cost for a route. For example, the
duration of travel and the amount of money used to travel based gas
prices and other information may be input to the cost module 2024
to determine a least expensive route. Further, the cost module 2024
may obtain information from other data sources or other modules
regarding the cost of goods desired by a user. The cost of travel
and the cost of the goods may be used, by the cost module 2024, to
determine the total cost per route. The cost information may be
provided, by the cost module 2024, to the route suggestion module
2008 to determine a preferred route based on cost.
[0522] A translation module 2028 may be operable to translate words
or information from one language to another. Thus, for example, if
the user is traveling in a foreign country, the translation module
2028 can interpret signs or other traffic symbology or wording
encountered by a driver into a language understood by a driver. The
translated information may be broadcast on a heads-up display or
other user interface display, may be provided by audio output, or
may be provided by one or more other user device interaction
systems. The translated information allows the user to better
navigate in a foreign or unfamiliar territory. The translation
module 2028 may also determine where goods of a certain type,
typically used by a user, may be purchased in the foreign country.
The information about the translated goods may be used to determine
a route for the user to obtain those goods. The goods information
may be provided to the route suggestion module 2008 to provide a
preferred route.
[0523] An embodiment of an user identification (ID) module 822 is
shown in FIG. 21. The user ID module 822 may be used to describe in
conjunction with FIG. 8B. The user ID module 822 may perform
functions beyond storing or retrieving profile data 1200 or for
identifying a user. The user ID module 822 may include one or more
modules, including one or more of, but not limited to, an activity
module 2104, a travel advisement module 2108, a preferences module
2112, a home automation interaction module 2116, a consumer
interaction module 2020, and/or a communication module 2124. Each
of these modules 2104-2124 may be hardware, software, or a
combination of hardware and software and may exist within the user
ID module 822 or as part of one or more other systems of the
automobile.
[0524] The activity module 2104 may monitor the activity of a user.
For example, the activity module 2104 may note destinations or
purchases made by a user based on location and the activation of a
parking brake or an "ignition off" signal. The activity information
may be stored in a database and used to determine other routes or
other user-centric destinations.
[0525] The travel advisement module 2108 can help with travel in a
foreign country or jurisdiction. The travel advisement module 2108
can provide information about travel purchases or other things that
may be provided to the translation module 2028 or route suggestion
module 2008. The travel advisement module 2108 can employ
information stored by the travel advisement module 2108 at previous
times.
[0526] A preferences module 2112 may provide or store profile data
1238 about preferences of the user. For example, any patterns or
indications of purchase habits of a user or preference for certain
goods may be stored by the preferences module 2112 in the profile
data 1238. Further, the preferences module 2112 may indicate any
type of area or situation in which the user wishes to ignore or
avoid. The behavior situations may be input by the user or may be
determined from recognition of patterns in a user's past
behavior.
[0527] A home automation interaction module 2116 can interact with
one or more automated systems or devices within the user's home.
For example, a stove, a refrigerator, a home heating and
ventilation system, or other systems may have automated controls
that may be contacted wirelessly or through some kind of
communication medium. The home automation interaction module 2116
may interact with these different systems. The home automation
interaction module 2116 can retrieve or receive data from one or
more of these systems to provide the user with information to
conduct chores or other route-based tasks.
[0528] A consumer interaction module 2120 can provide information
about goods or other purchases that may be made by the user. The
consumer interaction module 2120 can access one or more outside or
remote database systems to determine cost of goods or services
desired by a user. The cost information then may be used by the
cost module 2024 or other systems to determine a preferred location
for consumers to go to shop or purchase the goods or services.
[0529] A communication module 2124 can communicate with one or more
different systems or devices either remotely or locally to the
vehicle. Thus, the communication module 2124 can send or receive
messages from other vehicles, from websites, from home automation
systems, or from other systems. The communicated information may be
then provided to other modules within the vehicle control system
204.
[0530] An embodiment of a database, such as a traffic information
database 8124, may be as shown in FIG. 22A. A traffic information
database 8124 may include route data 2204 and metadata 2208.
Generally, route data 2204 includes any information about routes
either driven by the user or routes planned or deduced from
information from other users. The route data 2204 and/or metadata
2208 may be sent to remote storage via the communications module
2124 or other device from the traffic information database 8124.
For example, the route data 2204 may be communicated to the traffic
controller 8112 and the network traffic control transceiver 8116 to
remotely store the route information for the user.
[0531] Route data 2204 can include one or more fields. There may be
more or fewer fields as those shown in FIG. 22A, as represented by
ellipses 2236. Information about one or more routes may be stored.
The route information can include fields for a route identifier
(ID) 2212, an origination location 2216, a first destination
location 2220, a second destination location 2224, or other
destination locations. Further, the route information 2204 can
include streets or other route-based information that are provided
in via 1 field 2228, via 2 field 2232, or other fields which
indicate how a user travelled between destinations.
[0532] A route ID 2212 can be any type of identifier including
numeric, alphanumeric, symbolic, or other identifiers. The route ID
2212 can be a globally unique identifier or some unique identifier
that uniquely identifies that route compared to all other routes
stored in the database. The route ID 2212 may be included or
identified in requests to search for types of routes or a specific
route.
[0533] The origination location 2216 includes any information about
the location upon which the route was started. Thus, the
origination location 2216 can be a place where the route began. The
origination location 2216 may be indicated by a latitude and
longitude, by an address, a GPS coordinate(s), or some other
indication of a location.
[0534] The destination location(s) 2220 and 2224 can be a
location(s) for one or more destinations that were travelled to on
the route. At least one destination should be indicated for any
route. The destinations can be a latitude and longitude, an
address, a GPS coordinate(s), or some other indication of the
location of the destination(s).
[0535] The via data 2228, 2232 can be any information that
indicates how a user traveled from the origination location 2216 to
at least one destination location 2220, 2224. For example, there
may be one via 2228 for the route taken from the origination
location 2216 to the destination location 2220. The via 2228, 2232
may include streets, avenues, roads, etc., that are travelled by
the user. The via 2228, 2232 may also have a set of directions or
vectors (e.g., traveled west, traveled south, etc.) used to
determine how the user used those roads. Each part of the route
between destinations may have an associated via 2228, 2232.
[0536] The metadata 2208 may describe metadata about the route
indicated and stored in the route data 2204. As such, the metadata
2208 may include one or more fields including, but not limited to,
a date 2240, a time 2244, a driver/user 2248, and/or one or more
passengers 2252. There may be more or fewer items of data within
the metadata 2208, as represented by ellipses 2256.
[0537] A date field 2240 can include the date, provided in any
format, for when the route was taken, started, and/or ended. If the
route covers more than one day, several dates may be included in
the date field 2240.
[0538] The time field 2240 can include a start time and duration or
a start and end time for the times associated with the route. The
time field 2240 may also indicate the time for each via 2228, 2232.
If indicating the time for each via 2228, 2232, there may also be a
time for any pause while waiting at a destination. As such, the
time 2240 may be indicative of the route duration if it is
associated with actual travel time and not wait times.
[0539] A user field 2248 may provide a user identification for the
user who took the route. The ID 2248 may include a name, social
security number, or other ID for the user.
[0540] The passenger field(s) 2252 can include any passenger
information for passengers that are or were in the car on the
route. This passenger information 2252 may be useful in determining
how the passengers affect the user on the route. Information about
the route may be provided to the passengers, and then the
passengers can influence the habits of the driver.
[0541] An embodiment of preference data 2260, which may be stored
within the user profile 1238, is shown in FIG. 22B. Preference data
2260 may include any type of preferences, of the user, for routes
or destinations that the user visits when travelling. The
preference data 2260 can include one or more fields including, but
not limited to, a shopping preference field 2264 and a route
preference field 2268. A shopping preference field 2264 can include
any information about preferences associated with buying goods or
services on a route. The shopping preferences 2264 can include a
type of product purchased, areas the driver normally stops, a
recording of the products that may be available at the locations,
etc. The shopping information 2264 may be used to correlate a
purchasing behavioral pattern associated with a user while in their
car.
[0542] The route preferences information 2268 can include any
information about vias 2228 or destinations 2224, described in
conjunction with FIG. 22A. That route information can include which
destinations the user likes to frequent on certain routes, which
routes the user likes to take, which pathways the user likes to use
between destinations, places the user may ignore or avoid, or other
information. This route information 2268 may be stored in order to
provide a better routing by the route suggestion module 2008.
[0543] An embodiment of a user interface 2304 for presenting one or
more routes is shown in FIG. 23A. The user interface 2304 can
include a visual map 2306. One route 2312 may be indicated by a
first line. A second line 2308 may indicate a second route. One of
the routes may be indicated as preferred or better for one or more
purposes. As such, the user may indicate which route they wish to
take in the user interface by selecting one of the routes.
[0544] A user interface 2312 for providing information during
travelling may be as shown in FIG. 23B. The user may be provided
with information, such as, an indication 2316 of a product the user
may wish to buy and a location at which the product may be bought,
as shown in statement 2316.
[0545] The desired product information may be determined from
customer preferences deduced while travelling on previous routes.
The product information may be translated from another language and
then provided as a statement 2316 and an indication of where that
product may be purchased. The statement 2316 may be included in a
user selectable button 2320 that can be selected by the user to
provide a route as shown in user interface 2304. Further, there may
be further information about how to determine what the product
looks like or what the product is called, such as, the picture of
the bottle 2324. The bottle 2324 may be provided as a translation
or indication of what the product may look like in the current
country that the user is traveling.
[0546] An embodiment of the method 2400 for planning a route for a
vehicle is shown in FIG. 24. A general order for the steps of the
method 2400 is shown in FIG. 24. Generally, the method 2400 starts
with a start operation 2404 and ends with an end operation 2428.
The method 2400 can include more or fewer steps or can arrange the
order of the steps differently than those shown in FIG. 24. The
method 2400 can be executed as a set of computer-executable
instructions executed by a computer system and encoded or stored on
a computer readable medium. Hereinafter, the method 2400 shall be
explained with reference to the systems, components, modules,
software, data structures, user interfaces, etc. described in
conjunction with FIGS. 1-23.
[0547] The route suggestion module 2008 may receive data, in step
2408. The data may include an origin location, as determined by a
GPS antennae/receiver 892, or input from a user. The data may also
include one or more destinations, as selected by a user, in a user
interface 248 provided to a location module 896. The destination
information may then be used to create a route. The user may then
follow the route to the destination. In other situations, the user
may drive, without guidance, from an origin location to a
destination.
[0548] The route or the driving session may have some type of
context. The route integration module 2004 may determine the
context, in step 2412. The context can be information, such as
metadata 2208, which may be stored about the route or the driving
session. The context information may provide information indicating
a reason why a user may drive a route, at a certain time, during
certain conditions.
[0549] The information about the destination, origin, route
information, and the context may be stored as route data 2204 and
metadata 2208, in step 2216. The route integration module 2004 can
record any information about the travel pattern(s) including
destinations, "vias", or any other information. The travel pattern
information may be stored and then later analyzed.
[0550] A pattern recognition module 2012 may then identify
patterns, in step 2420. The pattern recognition module 2012 can
determine, based on two or more routes, the type of driving habits
of the user. The pattern information can include destinations taken
or arrived at certain time periods, routes driven on certain days,
often-traveled routes, and other patterns. The pattern information
may then be stored as preferences data in route preferences 2268.
Further, the information may be provided from route preferences
2268 to a route suggestion module 2008 to plan further routes, in
step 2424.
[0551] An embodiment of a method 2500 for generating a best route
may be as shown in FIG. 25. A general order for the steps of the
method 2500 is shown in FIG. 25. Generally, the method 2500 starts
with a start operation 2504 and ends with an end operation 2528.
The method 2500 can include more or fewer steps or can arrange the
order of the steps differently than those shown in FIG. 25. The
method 2500 can be executed as a set of computer-executable
instructions executed by a computer system and encoded or stored on
a computer readable medium. Hereinafter, the method 2500 shall be
explained with reference to the systems, components, modules,
software, data structures, user interfaces, etc. described in
conjunction with FIGS. 1-24.
[0552] Route suggestion module 2008 may receive or determine an
origin location, in step 2508. The route suggestion module 2008 can
receive a current location from the GPS antennae receiver 892. In
other situations, the user may provide an origin location that may
be different from the current location to which the user may desire
to navigate to that location before starting the route. The route
suggestion module 2008 may then use this input as the origin
location.
[0553] The route suggestion module 2008 may then determine one or
more destination locations, in step 2512. A user may enter the
destinations into the location module 896 through a user interface
presented in screen 248 or by another input. The destination
locations may then be used to determine a route to each destination
location, which may be identified by a latitude and longitude, an
address, or other input information.
[0554] A time frame may also be entered by a user and received by
the route suggestion module 2008, in step 2516. The time frame may
be the amount of time the user has before returning to the origin
location or a time required to complete the route. The time frame
information may be entered through a user interface into the
location module 896. Alternatively or additionally, the time frame
may be an indication of how long a route may take.
[0555] The route suggestion module 2008 may also access any route
preferences 2268 to determine if there are any locations to avoid,
in step 2520. The location information may be deduced from previous
routes and may indicate to the route suggestion module 2008 how to
configure the route to avoid any of the undesired locations. The
undesired locations may be indicated by addresses or other
information, which may be stored in the route preferences 2268.
[0556] The route suggestion module 2008 may then generate the best
route possible or best preferred route, in step 2524. The best
route may include the origin location and destination locations and
be traversed in the time frame and without any of the undesired
locations. The best route may then be presented to the user as a
route, as shown in user interface 2304.
[0557] An embodiment of a method 2600 for generating an alternate
route based on activity at a destination may be as shown in FIG.
26. A general order for the steps of the method 2600 is shown in
FIG. 26. Generally, the method 2600 starts with a start operation
2604 and ends with an end operation 2636. The method 2600 can
include more or fewer steps or can arrange the order of the steps
differently than those shown in FIG. 26. The method 2600 can be
executed as a set of computer-executable instructions executed by a
computer system and encoded or stored on a computer readable
medium. Hereinafter, the method 2600 shall be explained with
reference to the systems, components, modules, software, data
structures, user interfaces, etc. described in conjunction with
FIGS. 1-25.
[0558] The route suggestion module 2008 may generate a route, in
step 2608. The generation of the route may be conducted as
described in conjunction with FIG. 25. At some point thereinafter,
the travel interaction module 2016 may communicate with one or more
data sources, in step 2612. The data sources may provide activity
data for a destination location. The activity information may
determine the activity at one or more of the destinations included
in the route by the route suggestion module 2008, in step 2616. If
the destination activity is heavy (e.g., there are many people at
the destination), an alternate route may be necessary. The activity
data may include such information as a number of cars at parking
meters or in parking places at the destination. For example, if
there are five cars waiting to park because the parking lot is
full, the travel interaction module 2016 may be determine that a
destination may be too busy or cause a delay that is too long for
the traveler.
[0559] Therefore, this activity information may be used to
determine if an alternate route is necessary, in step 2620. The
travel interaction module 2016 can determine if the alternate route
is necessary. If the alternate route is not necessary as the
activity will cause only a slight delay or there is no activity at
the destination, the method 2600 may proceed NO to maintain the
route in step 2624. However, if an alternate route is necessary,
the method 2600 may proceed YES to step 2628.
[0560] In step 2628, the route suggestion module 2008 may determine
an alternate route. The route suggestion module 2008 may retrieve
route preferences 2268 or shopping preferences 2264 to determine a
product that may be desired at the destination location that needs
to be avoided. Once the route suggestion module 2008 determines
what the user desires to purchase, the route suggestion module 2008
may look for an alternative location in another area. If a
destination alternative is determined, the route suggestion module
2008 may then determine a new route to that alternative
destination, in step 2632. This alternative route may then be
presented in a user interface 2304, as described in conjunction
with FIG. 23A.
[0561] An embodiment of the method 2700 for determining a route
based on previous routes is shown in FIG. 27. A general order for
the steps of the method 2700 is shown in FIG. 27. Generally, the
method 2700 starts with a start operation 2704 and ends with an end
operation 2740. The method 2700 can include more or fewer steps or
can arrange the order of the steps differently than those shown in
FIG. 27. The method 2700 can be executed as a set of
computer-executable instructions executed by a computer system and
encoded or stored on a computer readable medium. Hereinafter, the
method 2700 shall be explained with reference to the systems,
components, modules, software, data structures, user interfaces,
etc. described in conjunction with FIGS. 1-26.
[0562] A route may be received, in step 2708. The route suggestion
module 2008 may suggest a route or the user may drive an unplanned
route. Route information, about the suggested route or the driven
route, may then be passed to the route interrogation module 2004 to
interrogate the route, in step 2712. The route may be interrogated
by determining the routes travelled, the destination(s), the
origin, and any other information. The interrogated information may
then be stored, by the route interrogation module 2004 in route
data 2204 and/or metadata 2208. This stored information may be as
described in conjunction with FIG. 24. This interrogated route
information may be stored locally in a map database 8100 or travel
information database 8124.
[0563] The route interrogation module 2004 may then determine if
the information should be stored remotely in cloud storage or in a
distant database, in step 2720. If the information is determined to
be useful or is required by some rule or benchmark, the route
interrogation module 2004 may decide to store the route information
remotely. If the information is to be stored remotely, the method
2700 may proceed YES to step 2724 to store that information in a
remote storage device or system. However, if this information is
not to be stored remotely, method 2700 may proceed NO to step
2728.
[0564] In step 2728, the stored information may be retrieved either
from remote storage or from local storage. The retrieved
information may include any of the route data 2204, metadata 2208,
or other information about one or more routes driven by the user or
other drivers of the current vehicle or other vehicles. This route
information may then be provided to the route suggestion module
2008. The route suggestion module 2008 may analyze the data and
suggest a route or destination for the user of the vehicle, in step
2732. For example, if the user has recently moved to the area, is
renting a car, or is unfamiliar with the area, the route suggestion
module 2008 can obtain shopping preferences 2264 or route
preferences 2268 for this user and determine a route in this new
area for the preferred products. As such, the route suggestion
module 2208 can determine locations for shops or other businesses
where a user may desire to buy a product they normally purchase or
to avoid areas they wish to ignore. This preferences information
may be used by the route suggestion module 2008 to provide or
generate a route, in step 2736. This suggested route may be
provided in user interface 2304, as described in conjunction with
FIG. 23A.
[0565] An embodiment of a method 2800 for changing travel
arrangements in a foreign country or unaccustomed area is shown in
FIG. 28. A general order for the steps of the method 2800 is shown
in FIG. 28. Generally, the method 2800 starts with a start
operation 2804 and ends with an end operation 2840. The method 2800
can include more or fewer steps or can arrange the order of the
steps differently than those shown in FIG. 28. The method 2800 can
be executed as a set of computer-executable instructions executed
by a computer system and encoded or stored on a computer readable
medium. Hereinafter, the method 2800 shall be explained with
reference to the systems, components, modules, software, data
structures, user interfaces, etc. described in conjunction with
FIGS. 1-27.
[0566] The route suggestion module 2008 can receive route
information, such as destinations and origins for a route, in step
2808. Based on the user profile 1238, the current origin location,
and destination locations, the route suggestion module 2008 or
travel interaction module 2016 may determine if translations are
required for the user, in step 2812. For example, if the user is
English or speaks English and is traveling in a country, such as
France, that is not an English-speaking country, travel interaction
module 2016 may determine that the user requires translations. If
it is determined that translations are required, the method 2800
proceeds YES to translate signs or other roadside information, in
step 2816. If no translations are required, the method 2800
proceeds NO to step 2828.
[0567] Translation module 2828 may translate signs or other road
side information, in step 2816. For example, if the signs are in a
foreign language, the translation module 2028 can translate those
signs by viewing the sign with vehicle sensors, as described in
conjunction with FIG. 7B. This sensor information may then be used
by the translation module 2012 to determine what the sign meaning
is and then to translate the meaning to English or another
language. The translation may be provided in a user interface 248,
such as a heads up display or other display to provide the sign in
a language understood by the user.
[0568] The route suggestion module 2008 may then determine
preferences indicated in preference data 2260, in step 2820. The
preference information may include any type of shopping preferences
or route preferences normally used in the person or user's home
area, as described in conjunction with FIGS. 22A and 22B. The
preferences information may then be translated, if necessary. The
translated preferences may be provided to the route suggestion
module 2008 or travel interaction module 2016, in step 2824. The
translation may be for product, such as aspirin, to determine if a
similar product may be found in near-by store.
[0569] While many products within the United States may be
available in a single store, in foreign countries, the same
products may not be sold all in one location. As such, a user may
need to travel to several stores to obtain the same types of
products. Thus, if a user is traveling to a foreign country or a
new location and shops for the same products upon arriving at any
location (for example, the user has a pattern of buying toothpaste,
deodorant, a toothbrush, and other sundries). Thus, even though the
user is in a foreign country, the user may still need to determine
or locate shops that may sell these products. These preferences may
be then translated into the native language at the location and
locations for the products may be provided to the user.
[0570] The route suggestion module 2008 may then determine if a
change to the route to purchase these goods is needed, in step
2828. If a route does need to be changed to go to a different
location for the user as indicated by user input or other
information, the method 2800 proceeds YES to step 2836 to reroute
the user to these different locations. However, if the re-routing
is not required, the method 2800 may proceed NO to step 2832 where
the original route is maintained. The re-routing, in step 2836, may
be completed similarly to the original routing.
[0571] A method for determining a route based on a shopping list
provided by other data sources is shown in FIG. 29. A general order
for the steps of the method 2900 is shown in FIG. 29. Generally,
the method 2900 starts with a start operation 2904 and ends with an
end operation 2928. The method 2900 can include more or fewer steps
or can arrange the order of the steps differently than those shown
in FIG. 29. The method 2900 can be executed as a set of
computer-executable instructions executed by a computer system and
encoded or stored on a computer readable medium. Hereinafter, the
method 2900 shall be explained with reference to the systems,
components, modules, software, data structures, user interfaces,
etc. described in conjunction with FIGS. 1-28.
[0572] A home automation interaction module 2116 may communicate
with one or more home automation systems, in step 2908. One of the
home automation systems may provide a list of needs or goods
required by the user. This list may be made automatically by
scanning contents of a pantry, a fridge, or other container, or may
be provided by a user within the home. This list may be
communicated to the home automation interaction module 2116 and
received, in step 2912. Based on the goods required, a route
suggestion module 2008 may access shopping preferences 2264 to
determine one or more locations where these goods may be purchased
or the user may desire to purchase the goods. Based on this
information, a route based on the destinations required to buy the
goods on the list may be created, in step 2916. The creation of the
route may be as described in conjunction with FIG. 24.
[0573] The home automation interaction module 2116 may also
determine if the list should be communicated to a device associated
with the user, in step 2920. If the user desires to have the list
on a mobile device to do the shopping in the store, the method 2900
proceeds YES to step 2924. However, if the user does not need the
list, the home automation interaction module 2116 may determine
such communication is not necessary, and method 2900 may proceed NO
to step 2928.
[0574] In step 2924, the home automation interaction 2116 may
provide the list to the communication module 2124. The
communication module 2124 may communicate the list to a mobile
device 212, in step 2924. Thus, the communication module 2124 may
send the information through a communication system, as described
in conjunction with FIG. 4, to the user device 2012.
[0575] A method 3004 for determining a best route based on cost
information may be as shown in FIG. 30. A general order for the
steps of the method 3000 is shown in FIG. 30. Generally, the method
3000 starts with a start operation 3004 and ends with an end
operation 3028. The method 3000 can include more or fewer steps or
can arrange the order of the steps differently than those shown in
FIG. 30. The method 3000 can be executed as a set of
computer-executable instructions executed by a computer system and
encoded or stored on a computer readable medium. Hereinafter, the
method 3000 shall be explained with reference to the systems,
components, modules, software, data structures, user interfaces,
etc. described in conjunction with FIGS. 1-29.
[0576] The route suggestion module 2008 may receive the list of
destinations or information about a route, in step 3008. The route
may be based on products or services required by the user and the
route suggestion module 2008 may communicate the product or
services information to a cost module 2024. The cost module 2024
may then access data on the Internet or from another data source to
determine a cost of goods, in step 3012. The cost of goods may be a
list of places to obtain the goods and which of those locations may
have the best prices. Thus, the cost module 2024 can determine the
best locations to purchase the goods, in step 3016.
[0577] The route taken may then be provided by the route suggestion
module 2008. The cost of travel or amount of travel to each of the
best locations may be determined by the route suggestion module
3020 or the cost module 2024. If a location to purchase the goods
is a long way away and the cost of travel may outweigh the savings
provided by the price of the good, the cost module 2024 may
indicate that a different location should be chosen even if the
other location has prices that are more expensive. The information
for the best places to travel and shop for the goods, based on the
cost of the goods and the cost of travel to obtain those goods, may
be provided to the route suggestion module 2008. The route
suggestion module may then determine a best route based on the cost
of the goods and travel, in step 3024. The generation of the best
route once the locations are determined, may be as described in
conjunction with FIG. 24.
[0578] A method for communicating statistics about travel is shown
in FIG. 31. A general order for the steps of the method 3100 is
shown in FIG. 31. Generally, the method 3100 starts with a start
operation 3104 and ends with an end operation 3124. The method 3100
can include more or fewer steps or can arrange the order of the
steps differently than those shown in FIG. 31. The method 3100 can
be executed as a set of computer-executable instructions executed
by a computer system and encoded or stored on a computer readable
medium. Hereinafter, the method 3100 shall be explained with
reference to the systems, components, modules, software, data
structures, user interfaces, etc. described in conjunction with
FIGS. 1-30.
[0579] A route may be suggested by the route suggestion module
2008. The user may then travel along the route suggested or along
some travel path, in step 3108. During the traveling, the travel
interaction module 2016 may determine statistics about the travel,
in step 3112. These statistics may include an estimated time of
arrival, average speed, or other information about the course of
travel. These statistics may be stored temporarily and updated
periodically or continually as the route is travelled.
[0580] The information from the travel interaction module 2016 may
be provided to communication module 2024. Communication module 2024
may then communicate the statistics, in step 3116. The statistics
may be provided through a communication system, as described in
FIG. 4, to a mobile device 2012 of a driver or a passenger. The
mobile device may then provide the statistics as information about
the route and the travel information, in step 3120. The information
may be provided with information about sites or destinations that
are along the route that would be of interest to one or more
occupants of the vehicle. The sites of interest may be based on the
preferences associated with the occupant.
[0581] For example, the passenger may receive the route information
and then may search for destinations along the route. This
information may influence a passenger to discuss a change of
destination or route with the driver based on the information
provided. It also allows for passengers to know current statistics,
such as, time of arrival information regardless of not knowing the
exact route or information about how the driving is proceeding.
[0582] The exemplary systems and methods of this disclosure have
been described in relation to configurable vehicle consoles and
associated devices. However, to avoid unnecessarily obscuring the
present disclosure, the preceding description omits a number of
known structures and devices. This omission is not to be construed
as a limitation of the scopes of the claims. Specific details are
set forth to provide an understanding of the present disclosure. It
should however be appreciated that the present disclosure may be
practiced in a variety of ways beyond the specific detail set forth
herein.
[0583] Furthermore, while the exemplary aspects, embodiments,
options, and/or configurations illustrated herein show the various
components of the system collocated, certain components of the
system can be located remotely, at distant portions of a
distributed network, such as a LAN and/or the Internet, or within a
dedicated system. Thus, it should be appreciated, that the
components of the system can be combined in to one or more devices,
such as a Personal Computer (PC), laptop, netbook, smart phone,
Personal Digital Assistant (PDA), tablet, etc., or collocated on a
particular node of a distributed network, such as an analog and/or
digital telecommunications network, a packet-switch network, or a
circuit-switched network. It will be appreciated from the preceding
description, and for reasons of computational efficiency, that the
components of the system can be arranged at any location within a
distributed network of components without affecting the operation
of the system. For example, the various components can be located
in a switch such as a PBX and media server, gateway, in one or more
communications devices, at one or more users' premises, or some
combination thereof. Similarly, one or more functional portions of
the system could be distributed between a telecommunications
device(s) and an associated computing device.
[0584] Furthermore, it should be appreciated that the various links
connecting the elements can be wired or wireless links, or any
combination thereof, or any other known or later developed
element(s) that is capable of supplying and/or communicating data
to and from the connected elements. These wired or wireless links
can also be secure links and may be capable of communicating
encrypted information. Transmission media used as links, for
example, can be any suitable carrier for electrical signals,
including coaxial cables, copper wire and fiber optics, and may
take the form of acoustic or light waves, such as those generated
during radio-wave and infra-red data communications.
[0585] Also, while the flowcharts have been discussed and
illustrated in relation to a particular sequence of events, it
should be appreciated that changes, additions, and omissions to
this sequence can occur without materially affecting the operation
of the disclosed embodiments, configuration, and aspects.
[0586] A number of variations and modifications of the disclosure
can be used. It would be possible to provide for some features of
the disclosure without providing others.
[0587] It should be appreciated that the various processing modules
(e.g., processors, vehicle systems, vehicle subsystems, modules,
etc.), for example, can perform, monitor, and/or control critical
and non-critical tasks, functions, and operations, such as
interaction with and/or monitoring and/or control of critical and
non-critical on board sensors and vehicle operations (e.g., engine,
transmission, throttle, brake power assist/brake lock-up,
electronic suspension, traction and stability control, parallel
parking assistance, occupant protection systems, power steering
assistance, self-diagnostics, event data recorders, steer-by-wire
and/or brake-by-wire operations, vehicle-to-vehicle interactions,
vehicle-to-infrastructure interactions, partial and/or full
automation, telematics, navigation/SPS, multimedia systems, audio
systems, rear seat entertainment systems, game consoles, tuners
(SDR), heads-up display, night vision, lane departure warning,
adaptive cruise control, adaptive headlights, collision warning,
blind spot sensors, park/reverse assistance, tire pressure
monitoring, traffic signal recognition, vehicle tracking (e.g.,
LoJack.TM.), dashboard/instrument cluster, lights, seats, climate
control, voice recognition, remote keyless entry, security alarm
systems, and wiper/window control). Processing modules can be
enclosed in an advanced EMI-shielded enclosure containing multiple
expansion modules. Processing modules can have a "black box" or
flight data recorder technology, containing an event (or driving
history) recorder (containing operational information collected
from vehicle on board sensors and provided by nearby or roadside
signal transmitters), a crash survivable memory unit, an integrated
controller and circuitry board, and network interfaces.
[0588] Critical system controller(s) can control, monitor, and/or
operate critical systems. Critical systems may include one or more
of (depending on the particular vehicle) monitoring, controlling,
operating the ECU, TCU, door settings, window settings, blind spot
monitor, monitoring, controlling, operating the safety equipment
(e.g., airbag deployment control unit, collision sensor, nearby
object sensing system, seat belt control unit, sensors for setting
the seat belt, etc.), monitoring and/or controlling certain
critical sensors such as the power source controller and energy
output sensor, engine temperature, oil pressure sensing, hydraulic
pressure sensors, sensors for headlight and other lights (e.g.,
emergency light, brake light, parking light, fog light, interior or
passenger compartment light, and/or tail light state (on or off)),
vehicle control system sensors, wireless network sensor (e.g.,
Wi-Fi and/or Bluetooth sensors, etc.), cellular data sensor, and/or
steering/torque sensor, controlling the operation of the engine
(e.g., ignition, etc.), head light control unit, power steering,
display panel, switch state control unit, power control unit,
and/or brake control unit, and/or issuing alerts to a user and/or
remote monitoring entity of potential problems with a vehicle
operation.
[0589] Non-critical system controller(s) can control, monitor,
and/or operate non-critical systems. Non-critical systems may
include one or more of (depending on the particular vehicle)
monitoring, controlling, operating a non-critical system, emissions
control, seating system controller and sensor,
infotainment/entertainment system, monitoring certain non-critical
sensors such as ambient (outdoor) weather readings (e.g.,
temperature, precipitation, wind speed, and the like), odometer
reading sensor, trip mileage reading sensor, road condition sensors
(e.g., wet, icy, etc.), radar transmitter/receiver output, brake
wear sensor, oxygen sensor, ambient lighting sensor, vision system
sensor, ranging sensor, parking sensor, heating, venting, and air
conditioning (HVAC) system and sensor, water sensor, air-fuel ratio
meter, hall effect sensor, microphone, radio frequency (RF) sensor,
and/or infrared (IR) sensor.
[0590] It is an aspect of the present disclosure that one or more
of the non-critical components and/or systems provided herein may
become critical components and/or systems, and/or vice versa,
depending on a context associated with the vehicle.
[0591] Optionally, the systems and methods of this disclosure can
be implemented in conjunction with a special purpose computer, a
programmed microprocessor or microcontroller and peripheral
integrated circuit element(s), an ASIC or other integrated circuit,
a digital signal processor, a hard-wired electronic or logic
circuit such as discrete element circuit, a programmable logic
device or gate array such as PLD, PLA, FPGA, PAL, special purpose
computer, any comparable means, or the like. In general, any
device(s) or means capable of implementing the methodology
illustrated herein can be used to implement the various aspects of
this disclosure. Exemplary hardware that can be used for the
disclosed embodiments, configurations and aspects includes
computers, handheld devices, telephones (e.g., cellular, Internet
enabled, digital, analog, hybrids, and others), and other hardware
known in the art. Some of these devices include processors (e.g., a
single or multiple microprocessors), memory, nonvolatile storage,
input devices, and output devices. Furthermore, alternative
software implementations including, but not limited to, distributed
processing or component/object distributed processing, parallel
processing, or virtual machine processing can also be constructed
to implement the methods described herein.
[0592] In yet another embodiment, the disclosed methods may be
readily implemented in conjunction with software using object or
object-oriented software development environments that provide
portable source code that can be used on a variety of computer or
workstation platforms. Alternatively, the disclosed system may be
implemented partially or fully in hardware using standard logic
circuits or VLSI design. Whether software or hardware is used to
implement the systems in accordance with this disclosure is
dependent on the speed and/or efficiency requirements of the
system, the particular function, and the particular software or
hardware systems or microprocessor or microcomputer systems being
utilized.
[0593] In yet another embodiment, the disclosed methods may be
partially implemented in software that can be stored on a storage
medium, executed on programmed general-purpose computer with the
cooperation of a controller and memory, a special purpose computer,
a microprocessor, or the like. In these instances, the systems and
methods of this disclosure can be implemented as program embedded
on personal computer such as an applet, JAVA.RTM. or CGI script, as
a resource residing on a server or computer workstation, as a
routine embedded in a dedicated measurement system, system
component, or the like. The system can also be implemented by
physically incorporating the system and/or method into a software
and/or hardware system.
[0594] Although the present disclosure describes components and
functions implemented in the aspects, embodiments, and/or
configurations with reference to particular standards and
protocols, the aspects, embodiments, and/or configurations are not
limited to such standards and protocols. Other similar standards
and protocols not mentioned herein are in existence and are
considered to be included in the present disclosure. Moreover, the
standards and protocols mentioned herein and other similar
standards and protocols not mentioned herein are periodically
superseded by faster or more effective equivalents having
essentially the same functions. Such replacement standards and
protocols having the same functions are considered equivalents
included in the present disclosure.
[0595] The present disclosure, in various aspects, embodiments,
and/or configurations, includes components, methods, processes,
systems and/or apparatus substantially as depicted and described
herein, including various aspects, embodiments, configurations
embodiments, subcombinations, and/or subsets thereof. Those of
skill in the art will understand how to make and use the disclosed
aspects, embodiments, and/or configurations after understanding the
present disclosure. The present disclosure, in various aspects,
embodiments, and/or configurations, includes providing devices and
processes in the absence of items not depicted and/or described
herein or in various aspects, embodiments, and/or configurations
hereof, including in the absence of such items as may have been
used in previous devices or processes, e.g., for improving
performance, achieving ease and\or reducing cost of
implementation.
[0596] The foregoing discussion has been presented for purposes of
illustration and description. The foregoing is not intended to
limit the disclosure to the form or forms disclosed herein. In the
foregoing Detailed Description for example, various features of the
disclosure are grouped together in one or more aspects,
embodiments, and/or configurations for the purpose of streamlining
the disclosure. The features of the aspects, embodiments, and/or
configurations of the disclosure may be combined in alternate
aspects, embodiments, and/or configurations other than those
discussed above. This method of disclosure is not to be interpreted
as reflecting an intention that the claims require more features
than are expressly recited in each claim. Rather, as the following
claims reflect, inventive aspects lie in less than all features of
a single foregoing disclosed aspect, embodiment, and/or
configuration. Thus, the following claims are hereby incorporated
into this Detailed Description, with each claim standing on its own
as a separate preferred embodiment of the disclosure.
[0597] Moreover, though the description has included description of
one or more aspects, embodiments, and/or configurations and certain
variations and modifications, other variations, combinations, and
modifications are within the scope of the disclosure, e.g., as may
be within the skill and knowledge of those in the art, after
understanding the present disclosure. It is intended to obtain
rights which include alternative aspects, embodiments, and/or
configurations to the extent permitted, including alternate,
interchangeable and/or equivalent structures, functions, ranges or
steps to those claimed, whether or not such alternate,
interchangeable and/or equivalent structures, functions, ranges or
steps are disclosed herein, and without intending to publicly
dedicate any patentable subject matter.
[0598] This application is also related to PCT Patent Application
Nos. PCT/US14/34092, filed on Apr. 15, 2014, entitled, "Building
Profiles Associated with Vehicle Users"; PCT/US14/34099, filed on
Apr. 15, 2014, entitled "Access and Portability of User Profiles
Stored as Templates"; PCT/US14/34087, filed on Apr. 15, 2014,
entitled "User Interface and Virtual Personality Presentation Based
on User Profile"; PCT/US14/34088, filed on Apr. 15, 2014, entitled
"Creating Targeted Advertising Profiles Based on User Behavior";
PCT/US14/34232, filed on Apr. 15, 2014, entitled "Behavior
Modification via Altered Map Routes Based on User Profile
Information"; PCT/US14/34098, filed on Apr. 15, 2014, entitled
"Vehicle Location-Based Home Automation Triggers"; PCT/US14/34108,
filed on Apr. 15, 2014, entitled "Vehicle Initiated Communications
with Third Parties via Virtual Personalities"; PCT/US14/34101,
filed on Apr. 15, 2014, entitled "Vehicle Intruder Alert Detection
and Indication"; PCT/US14/34103, filed on Apr. 15, 2014, entitled
"Driver Facts Behavior Information Storage System"; PCT/US14/34114,
filed on Apr. 15, 2014, entitled "Synchronization Between Vehicle
and User Device Calendar"; PCT/US14/34125, filed on Apr. 15, 2014,
entitled "User Gesture Control of Vehicle Features";
PCT/US14/34254, filed on Apr. 15, 2014, entitled "Central Network
for the Automated Control of Vehicular Traffic"; and
PCT/US14/34194, filed on Apr. 15, 2014, entitled "Intelligent
Vehicle for Assisting Vehicle Occupants and Incorporating Vehicle
Crate for Blade Processors". The entire disclosures of the
applications listed above are hereby incorporated by reference, in
their entirety, for all that they teach and for all purposes.
[0599] Examples of the processors as described herein may include,
but are not limited to, at least one of Qualcomm.RTM.
Snapdragon.RTM. 800 and 801, Qualcomm.RTM. Snapdragon.RTM. 610 and
615 with 4G LTE Integration and 64-bit computing, Apple.RTM. A7
processor with 64-bit architecture, Apple.RTM. M7 motion
coprocessors, Samsung.RTM. Exynos.RTM. series, the Intel.RTM.
Core.TM. family of processors, the Intel.RTM. Xeon.RTM. family of
processors, the Intel.RTM. Atom.TM. family of processors, the Intel
Itanium.RTM. family of processors, Intel.RTM. Core.RTM. i5-4670K
and i7-4770K 22 nm Haswell, Intel.RTM. Core.RTM. i5-3570K 22 nm Ivy
Bridge, the AMD.RTM., FX.TM. family of processors, AMD.RTM.,
FX-4300, FX-6300, and FX-8350 32 nm Vishera, AMD.RTM., Kaveri
processors, Texas Instruments.RTM. Jacinto C6000.TM. automotive
infotainment processors, Texas Instruments.RTM. OMAP.TM.
automotive-grade mobile processors, ARM.RTM. Cortex.TM.-M
processors, ARM.RTM. Cortex-A and ARM926EJ-S.TM. processors, other
industry-equivalent processors, and may perform computational
functions using any known or future-developed standard, instruction
set, libraries, and/or architecture.
* * * * *