Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
IMPROVING ROUTE SUGGESTIONS BASED ON USER HEALTH-RELATED PREFERENCES
Document Type and Number:
WIPO Patent Application WO/2023/244265
Kind Code:
A1
Abstract:
The present disclosure provides computer-implemented methods, systems, and devices for generating routes based on health-related criteria. A computing device receives a navigation request, the navigation request including a destination and one or more health-related criteria. The computing device generates one or more candidate routes in response to the navigation request. The computing device selects a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria. The computing device transmits the selected candidate route for display to a user.

Inventors:
SEDOURAM RAMPRASAD (IN)
SRIRAMACHANDRAN JAUNANI (IN)
Application Number:
PCT/US2022/052809
Publication Date:
December 21, 2023
Filing Date:
December 14, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GOOGLE LLC (US)
International Classes:
G01C21/34
Domestic Patent References:
WO2016135561A12016-09-01
Foreign References:
GB2567854A2019-05-01
US20180052000A12018-02-22
US20150362319A12015-12-17
IN202221034084A2022-06-14
Attorney, Agent or Firm:
STONEHOCKER, Aaron J. et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A computer-implemented method comprising: receiving, by a computing system with one or more processors, a navigation request, the navigation request including a destination and one or more health-related criteria; generating, by the computer system, one or more candidate routes in response to the navigation request; selecting, by the computing system, a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria; and transmitting, by the computing system, the selected candidate route for display to a user.

2. The computer-implemented method of claim 1, wherein the one or more health-related criteria are associated with one or more of a likelihood of inducing nausea, the likelihood of complicating one or more medical conditions, and visibility of markers along the candidate route.

3. The computer-implemented method of any preceding claim, wherein selecting, by the computing system, a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria further comprises: accessing, by the computing system, route characteristic data associated with one or more candidate routes; generating, by the computing system, a suitability score for a respective candidate route based on a degree to which the respective candidate route meets the health-related criteria; and selecting, by the computing system, a route from the one or more candidate routes based on suitability scores.

4. The computer-implemented method of claim 3, wherein route characteristic data is accessed from a navigation data store.

5. The computer-implemented method of claim 3, wherein accessing, by the computing system, route characteristic data comprises: receiving, by the computing system from one or more user computing devices, one or more photographs; and analyzing, by the computing systems, one or more photographs to identify characteristics of the one or more candidate routes.

6. The computer-implemented method of any preceding claim, wherein route characteristics include one or more of road width, road conditions, sign visibility data, road steepness data, and path smoothness data.

7. The computer-implemented method of any preceding claim, further comprising: receiving, by the computing system, image data from a user associated with the navigation request; and determining, by the computing system, vehicle characteristic data for a vehicle associated with the user.

8. The computer-implemented method of claim 7, wherein the vehicle characteristic data comprises one or more of vehicle type data and vehicle dimension data.

9. The computer-implemented method of claim 7, further comprising: updating, by the computing system, the selected candidate route based, at least in part, on the vehicle characteristic data.

10. The computer-implemented method of claim 7, further comprising: identifying, by the computing system, one or more trip participants based on the image data.

11. A computing system, the computing system comprising: one or more processors, a computer-readable memory; wherein the non-transitory computer-readable memory stores instructions that, when executed by the one or more processors, cause the computing system to perform operations, the operations comprising: receiving a navigation request, the navigation request including a destination and one or more health-related criteria; generating one or more candidate routes in response to the navigation request; selecting a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria; and transmitting the selected candidate route for display to a user.

12. The computing system of claim 11, wherein the one or more health-related criteria are associated with one or more of a likelihood of inducing nausea, the likelihood of complicating one or more medical conditions, and visibility of markers along the candidate route.

13. The computing system of claim 11 or 12, wherein selecting a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria further comprises: accessing route characteristic data associated with one or more candidate routes; generating a suitability score for a respective candidate route based on a degree to which the respective candidate route meets the health-related criteria; and selecting a route from the one or more candidate routes based on suitability scores.

14. The computing system of claim 13, wherein route characteristic data is accessed from a navigation data store.

15. The computing system of claim 13 or 14, wherein accessing route characteristic data comprises: receiving, from one or more user computing devices, one or more photographs; and analyzing one or more photographs to identify characteristics of the one or more candidate routes.

16. A computer-readable medium storing instructions that, when executed by one or more computing devices, cause the one or more computing devices to perform operations, the operations comprising: receiving a navigation request, the navigation request including a destination and one or more health-related criteria; generating one or more candidate routes in response to the navigation request; selecting a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria; and transmitting the selected candidate route for display to a user.

17. The computer-readable medium of claim 16, wherein the one or more health-related criteria are associated with one or more of a likelihood of inducing nausea, the likelihood of complicating one or more medical conditions, and visibility of markers along the candidate route.

18. The computer-readable medium of claim 16 or 17, wherein selecting a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria further comprises: accessing route characteristic data associated with one or more candidate routes; generating a suitability score for a respective candidate route based on a degree to which the respective candidate route meets the health-related criteria; and selecting a route from the one or more candidate routes based on suitability scores.

19. The computer-readable medium of claim 18, wherein route characteristic data is accessed from a navigation data store.

20. The computer-readable medium of claim 18, wherein accessing route characteristic data comprises: receiving, from one or more user computing devices, one or more photographs; and analyzing one or more photographs to identify characteristics of the one or more candidate routes.

Description:
IMPROVING ROUTE SUGGESTIONS BASED ON USER HEALTH-RELATED PREFERENCES

PRIORITY

[0001] The present application claims priority to India Provisional Application No. 2022/21034084, filed on une 14, 2022, the entire contents of which are hereby incorporated by reference.

TECHNICAL FIELD

[0002] The present disclosure relates generally to computer-based navigation. More particularly, the present disclosure relates to suggesting routes based on a user’s health- related preferences.

BACKGROUND

[0003] As computer technology has improved, the number and type of services that can be provided to users have increased dramatically. The services provided via computer technology include navigation services. A navigation service can allow a user to navigate from a current position to a destination position. The user can submit a destination (e.g., an address) through an application associated with a navigation service. The navigation service can, using map data for a geographic area, generate a planned route to the destination. In some examples, the planned route includes one or more turn-by-turn navigation directions.

SUMMARY

[0004] Aspects and advantages of embodiments of the present disclosure will be set forth in part in the following description, or can be learned from the description, or can be learned through practice of the embodiments.

[0005] An example aspect is directed towards a computer-implemented method. The method comprises receiving, by a computing system with one or more processors, a navigation request, the navigation request including a destination and one or more health- related criteria. The method further comprises generating, by the computer system, one or more candidate routes in response to the navigation request. The method further comprises selecting, by the computing system, a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria. The method further comprises transmitting, by the computing system, the selected candidate route for display to a user. [0006] Another example aspect of the present disclosure is directed to a computing system. The computing system comprises one or more processors; and a computer-readable memory. The computer-readable memory stores instructions that, when executed by the one or more processors cause the system to receive a navigation request, the navigation request including a destination and one or more health-related criteria. The instructions further cause the one or more processors to generate one or more candidate routes in response to the navigation request. The instructions further cause the one or more processors to select a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria. The instructions further cause the one or more processors to transmit the selected candidate route for display to a user.

[0007] Another example aspect of the present disclosure is directed towards a computer- readable medium storing instructions. The instructions, when executed by one or more computing devices, cause the device to receive a navigation request, the navigation request including a destination and one or more health-related criteria. The instructions further cause the one or more processors to generate one or more candidate routes in response to the navigation request. The instructions further cause the one or more processors to select a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria. The instructions further cause the one or more processors to transmit the selected candidate route for display to a user.

[0008] Other aspects of the present disclosure are directed to various systems, apparatuses, non-transitory computer-readable media, user interfaces, and electric devices. [0009] These and other features, aspects, and advantages of various embodiments of the present disclosure will become better understood with reference to the following description and appended claims. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate example embodiments of the present disclosure and, together with the description, serve to explain the related principles.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Detailed discussion of embodiments directed to one of ordinary skill in the art is set forth in the specification, which makes reference to the appended figures, in which:

[0011] FIG. 1 depicts an example computing device according to example embodiments of the present disclosure;

[0012] FIG. 2 depicts an example server-client system according to example embodiments of the present disclosure; [0013] FIG. 3 depicts an example navigation system according to example embodiments of the present disclosure;

[0014] FIG. 4 depicts an example user interface according to example embodiments of the present disclosure; and

[0015] FIG. 5 depicts an example flow diagram for a method of generating routes based on health-related criteria according to example embodiments of the present disclosure.

DETAILED DESCRIPTION

[0016] Reference now will be made in detail to embodiments of the present disclosure, one or more examples of which are illustrated in the drawings. Each example is provided by way of explanation of the present disclosure, not limitation of the present disclosure. In fact, it will be apparent to those skilled in the art that various modifications and variations can be made to the present disclosure without departing from the scope or spirit of the disclosure. For instance, features illustrated or described as part of one embodiment can be used with another embodiment to yield a still further embodiment. Thus, it is intended that the present disclosure covers such modifications and variations as come within the scope of the appended claims and their equivalents.

[0017] Generally, the present disclosure is directed towards a system for improved route suggestions for users of a navigation application that have health-related preferences. For example, a user may, via a user computing device, request navigation data for a specific destination. In some examples, the navigation application can generate a route for the user based on factors not typically included in navigation considerations. To accurately select an optimal route for a user based on the user’s health-related preferences, the navigation application can access as much information as possible about the potential routes.

[0018] The navigation system can receive a navigation request from a user. The request can include a specific destination as well as information about the user’s health-related preferences. For example, a user can have one or more health-related criteria for the route. The one or more health-related criteria may relate to a defined and recognized medical condition or ailment. As a specific example, a user that suffers from motion-induced nausea can indicate that a route that has a low probability of resulting in the user experiencing nausea is preferable to the user. As is understood, in the specific example of motion-induced nausea, factors such as road smoothness, turn angle, steepness and the like can significantly impact the onset and development of symptoms. In some examples, conventional sources of information about a route may be insufficient to accurately determine the quality of a route for a particular user. For example, the condition and width of a road can differ from the official record if the road has been subject to excess wear and/or local parking customs along the road have the result of narrowing the useful width of the road. The navigation system can use alternative methods of obtaining suitability information. For example, with the user's permission, images and/or other photographic data can be analyzed by the navigation system to determine suitability information for a route.

[0019] The navigation system can generate a plurality of candidate routes in response to the navigation request. In some examples, the navigation system can select a route from the plurality of candidate routes based, at least in part, on the health-related criteria included in the navigation request. Once a candidate route has been selected, the navigation system can transmit the navigation data to the user for display.

[0020] In one specific example, a user can transmit a request to the navigation system that includes an origin location and a destination location. In this specific example, the user also submits a health-related criterion. Specifically, the navigation request includes an indication that that the user prefers routes with high visibility signage due to the user experiencing some colorblindness. The navigation system can generate a plurality of candidate routes from the origin to the destination. Each route can be evaluated based on the visibility of the signage along the route. A candidate route can be selected based on the degree to which the signage on the route is high visibility. The selected candidate route can be transmitted to the user computing device for display.

[0021] More generally, a computing device can include a server computing system. A server computing system can be any computing system configured to communicate with a user computing device (or other computing devices) over a network to provide a service. A user computing device can be any computing device that is designed to be operated by an end-user. For example, a user computing device can include, but is not limited to, a personal computer, a smartphone, a smartwatch, a fitness band, a tablet computer, a laptop computer, a navigation computing device, a wearable computing device, and so on. In some examples, a user computing device can include one or more sensors intended to gather information, with the permission of the user, such as location information.

[0022] A navigation application can be any application configured to provide navigation information to a user upon request. For example, a navigation application can provide turn- by-turn directions from starting location to an ending location. A navigation application can also allow a user to search for particular points of interest in a geographic location. For example, a user can submit a query (e.g., using keywords) to the navigation application along with a specific geographic location. In response to the received query, the navigation application can generate geographic information associated with the query.

[0023] The server computing system that provides services for a navigation application can receive a navigation request from a user computing device. In some examples, the navigation request can include a destination. In some examples, the navigation request can also include an origination point. The origination point can be the current location of the user computing device (e.g., as determined by a global positioning system). The navigation request can include additional information such as a proposed means of transportation, any relevant time-based constraints (e.g., an arrival time or a departure time), and one or more health criteria. Health criteria can be any factors associated with the user's health or wellbeing that may be considered when choosing a route for the user. For example, a user that experiences motion sickness may request a route that, based on the medical understanding of motion sickness, objectively minimizes nausea. Other factors associated with health-related criteria can include factors associated with eyesight, factors associated with hearing, factors associated with other conditions (e.g., pregnancy), and so on.

[0024] The server computing system can generate a route from the origination point to the destination. In some examples, the server computing system can generate a plurality of candidate routes. Each candidate route can represent an alternative path from the origination point to the destination. The server computing system can evaluate the candidate routes to determine whether or not they meet the criteria associated with the request. In some examples, the one or more health-related criteria included within the navigation request can include a threshold at which the one or more health-related criteria are met. Thus, the server computing system can determine a list of candidate routes that satisfy the health-related criteria. In other words, the server computing system can determine a list of candidate routes that objectively minimize the impact of one or more health-related issues relating to the one or more health-related criteria. Once the list of candidate routes that satisfy the one or more health-related criteria is determined, the server computing system can select a candidate route based on one or more other criteria. For example, the server computing system can select from the list of candidate routes that meet the health criteria based on one or more secondary criteria. Secondary criteria can include total distance, total time, total cost, carbon usage, or other criteria. In this way, the selected candidate route will be guaranteed to meet the health- related criteria while also optimizing one or more secondary criteria.

[0025] In other examples, the one or more health-related criteria can be evaluated on a spectrum such that the server computing system can select the candidate route that best satisfies the one or more health-related criteria. Thus, if the health-related criteria include minimization of the possibility of nausea, each candidate route can be evaluated based on its likelihood of inducing nausea (e.g., based on the number and degrees of turns, expected speed, and frequency and degree of elevation changes). The server computing system can select the candidate route with the lowest chance of inducing nausea.

[0026] In some examples, the data that is useful to determine whether a particular candidate route meets one or more health-related criteria can be determined by gathering additional information not typically available to a navigation service. For example, some locations may not have regular updates as to the conditions of the roads in that location. To ameliorate this problem, the server computing system associated with the navigation service can identify current conditions through non-traditional means. For example, with the proliferation of personal computing devices that can capture images, the number of images of any area of the world has significantly increased. Users may choose to make these images available to the navigation service for analysis.

[0027] The server computing system can analyze the image data (or other information provided by users) to determine one or more characteristics associated with a particular portion of a road. For example, a road may have an officially listed width, but the server computing system can determine an actual or effective width based on the images provided by users. For example, if parking along the route is routinely busy, the effective width of the route might be much narrower than the officially listed width. In addition, information about the condition of a route may be provided. For example, potholes or general road degradation can be identified based on image data or other data submitted by users.

[0028] In some examples, users can choose to submit travel data from previous trips to the server computing system for use in the navigation service. This travel data from previous trips can determine information such as likely speeds, routes, acceleration experienced by a vehicle during the trip, information on altitude increases or decreases, data associated with rough terrain (e.g., an accelerometer can measure bumps and jostles), and so on. This information can be analyzed to determine one or more useful characteristics of one or more travel ways (e.g., roads, highways, paths, and so on). In some examples, the previous travel data can come from a dashboard camera and can be used to identify information such as the visibility of signs or other markings along the route. The visibility of signs or other markings along the road may be a concern to users with particular types of visual constraints.

[0029] The navigation application can also gather information from user computing devices with the consent of the user. For example, each user computing device can include one or more sensors that detect the current geographical location and the movement of the user computing device. For example, the user computing device can include a global positioning system (GPS) that allows the user computing device to determine its current location and one or more gyroscopes or accelerometers that can measure movement. If the user consents, this information can be transmitted to a navigation server associated with the navigation application.

[0030] The systems and methods of the present disclosure provide a number of technical effects and benefits. As one example, the proposed systems can provide for automatically recommending an appropriate route to a user based on one or more health-related criteria associated with the user. Automatically accessing data about a route and identifying a recommended route from a plurality of candidate routes enables a navigation application to provide more efficient navigation services to a user. Improving the effectiveness of navigation applications can reduce the amount of storage needed and energy used when providing navigation information. Further, a more efficient navigation service can provide faster and/or more fuel-efficient routes for the user. Reducing the amount of storage needed and energy used reduces the cost of the navigation service associated with the navigation application and improves the user experience. This represents an improvement in the functioning of the device itself.

[0031] With reference now to the Figures, example embodiments of the present disclosure will be discussed in further detail.

[0032] FIG. 1 depicts an example computing device 100 according to example embodiments of the present disclosure. In some example embodiments, the computing device 100 can be any suitable device, including, but not limited to, a smartphone, a tablet, a laptop, a desktop computer, a global positioning system (GPS) device, a computing device integrated into a vehicle, or any other computing device that is configured such that it can allow a person to execute a navigation application or access a navigation service at a server computing system. The computing device 100 can include one or more processor(s) 102, memory 104, one or more sensors 110, a navigation system 112, an image analysis system 118, a vehicle dimensions determination system 120, and a recommendation system 130. [0033] The one or more processor(s) 102 can be any suitable processing device, such as a microprocessor, microcontroller, integrated circuit, or other suitable processing device. The memory 104 can include any suitable computing system or media, including, but not limited to, non-transitory computer-readable media, RAM, ROM, hard drives, flash drives, or other memory devices. The memory 104 can store information accessible by the one or more processor(s) 102, including instructions 108 that can be executed by the one or more processor(s) 102. The instructions can be any set of instructions that when executed by the one or more processor(s) 102, cause the one or more processor(s) 102 to provide the desired functionality.

[0034] In particular, in some devices, memory 104 can store instructions for implementing the navigation system 112, the image analysis system 118, the vehicle dimensions determination system 120, and the recommendation system 130. The computing device 100 can implement the navigation system 112, the image analysis system 118, the vehicle dimensions determination system 120, and the recommendation system 130 to execute aspects of the present disclosure, including determining route candidate, evaluating them based on one or more health-related criteria, and providing navigation services (e.g., turn-by-turn directions, location-based searching, and so on) to a user for a selected route. [0035] It will be appreciated that the terms “system” or “engine” can refer to specialized hardware, computer logic that executes on a more general processor, or some combination thereof. Thus, a system or engine can be implemented in hardware, application specific circuits, firmware, and/or software controlling a general-purpose processor. In one embodiment, the systems can be implemented as program code files stored on a storage device, loaded into memory and executed by a processor or can be provided from computer program products, for example computer executable instructions, that are stored in a tangible computer-readable storage medium such as RAM, hard disk, or optical or magnetic media. [0036] Memory 104 can also include data 106, such as map data associated with the navigation system 112 (e.g., data representing a geographic area including one or more roads and a one or locations of interest received from a server system), that can be retrieved, manipulated, created, or stored by the one or more processor(s) 102. In some example embodiments, such data can be accessed and displayed to a user of the computing device 100 (e.g., during the use of a navigation system 112) or transmitted to a server computing system as needed.

[0037] In some example embodiments, the computing device 100 includes the navigation system 112, the image analysis system 118, the vehicle dimensions determination system 120, and the recommendation system 130. The navigation system 112 can include a criteria determination system 114 and a route evaluation system 116. In some examples, the navigation system 112 can also access data provided by one or more of the image analysis system 118 and the vehicle dimensions determination system 120. [0038] The navigation system 112 can provide, in a display, a visual depiction of a geographic area. The visual depiction of the geographic area can include one or more roads or other pathways, one or more points of interest (including buildings, landmarks, and so on), and a highlighted depiction of a planned route. In some examples, the navigation application 206 can also provide location-based search options to identify one or more searchable points of interest within a given geographic area. In some examples, the navigation system 112 can include a local copy of the relevant map data. In other examples, the navigation system 112 can access information at a remote server computing system to provide the requested navigation services.

[0039] In some examples, the navigation system 112 can be a dedicated application specifically designed to provide navigation services. In other examples, the navigation system 112 can be accessed via a general application (e.g., a web browser) and can provide access to a variety of different services including a navigation service via a network. In some examples, the navigation system 112 can receive, from a user, a navigation request. The navigation request can include a target destination (e.g., a user enters an address of a business, point of interest, and so on).

[0040] In some examples, the navigation request can include one or more health-related criteria. For example, a user that experiences nausea can include, as a health-related criterion, a request that the navigation system 112 recommend a route that minimizes the chance of the user experiencing nausea. Similarly, users with certain types of color blindness can indicate that they would prefer a route with signs and other markings that are configured to be highly visible to them.

[0041] The navigation application 206 can generate a plurality of candidate routes from the current location to the destination. A candidate route can include a set of step-by-step directions from a point of origin to a destination included in the navigation request. For example, a user can input a destination location (e.g., an address). In response, the navigation application 206 can, using locally stored map data for a specific geographic area, provide navigation information allowing the user to navigate to the destination location.

[0042] The navigation information can include tum-by-tum directions from a current location (or a provided location) to the destination location. The navigation system 112 can select from a plurality of possible rounds from the current location to the destination location based on one or more criteria. In some examples, the navigation system 112 can select a route from a plurality of possible routes based on one or more health-related criteria. [0043] The navigation system 112 can include a criteria determination system 114. In some examples, the criteria determination system 114 can evaluate the one or more health- related criteria. In some examples, the criteria determination system 114 can determine one or more measurements for determining whether the one or more health-related criteria are met. In some examples, the measurement for evaluating particular health-related criteria can be a binary value (e.g., either the health-related criteria are fully met or it is not at all). For example, if the health-related criteria are associated with color blindness, the measurement can be whether the color of signs along a route allows a user with a particular type of color blindness to clearly distinguish the signs from a background color or distinguish two types of signs from each other. If so, the criteria can be determined to be met. If not, the criteria can be determined to be unmet.

[0044] In other examples, the measurement can represent a range of possible values between a criterion being fully met or a criterion being totally unmet. Thus, if the health- related criterion is associated with minimizing the possibility of nausea, the measurement can, using a plurality of factors, determines the likelihood that a particular route will result in nausea. Some factors can include a measurement of the number of changes in direction, how frequently the changes in direction occur, the speed associated with each change of direction, any changes in altitude, and so on. For example, a measurement for each candidate route can be normalized to a value between 0 and 1, with lower values representing a lower chance of nausea being induced and higher values representing a higher likelihood of nausea being induced. The one or more determined measurements can be provided to the route evaluation system 116. In some examples, the criteria determination system 114 can generate measurements for other criteria, such as road smoothness or vehicle characteristics (as determined by the vehicle dimensions determination system 120).

[0045] The navigation system 112 can include a route evaluation system 116. The route evaluation system 116 can, for each candidate route between a point of origin and a destination, generate a score representing the degree to which the candidate route meets one or more criteria. These criteria can include one or more health-related criteria received with the navigation request. The criteria can also include other criteria associated with cost, time, distance travel, carbon footprint, difficulty in traveling the route, vehicle dimension criteria, and so on.

[0046] In some examples, candidate routes that do not meet the health-related criteria are eliminated from consideration. In other examples, the health-related criteria are one factor among many that are considered when generating a suitability score for the route. The navigation system 112 can, based on the scores and/or evaluations generated by the route evaluation system 116, select a route from the one or more candidate routes.

[0047] An image analysis system 118 can access image data provided by one or more users in response to receiving explicit permission from the user. In some examples, images can be provided to an image analysis service (e.g., Google Lens) from a user’s account with the user’s permission. The image analysis system 118 can identify, from one or more images, one or more characteristics associated with a trip or route. For example, if a group of users are on a road trip, they may capture images associated with the trip. For example, users may stop at a sightseeing location and take pictures of the location, the trip participants, and a vehicle associated with the trip. The users may then upload these images to an image analysis service or application and permit the image analysis system 118 to analyze the images.

[0048] The image analysis system 118 can, with user permission, identify one or more objects within the images. Similarly, the image analysis system 118 can identify people within the images if the users permit. In some examples, the image analysis system 118 can access images from a dashboard camera, with the user’s permission, and identify signs, lane markings, parked cars along the roadway, and so on.

[0049] In some examples, the image analysis system 118 can transmit information based on the content of the images to the vehicle dimensions determination system 120. The vehicle dimensions determination system 120 can determine, based on the data generated from the image analysis system 118, the dimensions of a vehicle associated with the user and/or a trip being taken by the user. In addition, the vehicle dimensions determination system 120 can determine one or more capabilities associated with the vehicle. For example, the vehicle dimensions determination system 120 can determine a vehicle’s width or length. This information can be passed to the navigation system 112 for use in determining an appropriate route for the vehicle.

[0050] In some examples, the vehicle dimensions determination system 120 can determine characteristics of a road or pathway, including, but not limited to, the functional width of the road. The functional width of the road can be less than the official width of the road due to the parking practices common along the road, the condition of the road, and/or the state of construction projects affecting the road. This information can be used by the navigation system 112 to select routes that best meet one or more criteria, including health- related criteria.

[0051] In some examples, the navigation system 112 can prompt the users to confirm information generated by the image analysis system 118 or the vehicle dimensions determination system 120. For example, the navigation system 112 can provide a visual prompt indicating a make and model of vehicle and request that the user confirm that this make and model of vehicle are being used for the current trip. In other examples, the navigation system 112 can prompt the user to enter the make and model themselves. In some examples, the navigation system 112 can request or allow a user to enter a list of people accompanying the user on a trip. The navigation system 112 can access information associated with each person’s profile (if each person has given permission) and determining one or more criteria based on information in the profile (including but not limited to health- related criteria.)

[0052] Once a route has been selected from the plurality of candidate routes by the navigation system 112, the recommendation system 130 can transmit the route to a user computing device for display. In some examples, the selected route can be an update to a route currently in progress. For example, if a user submits a picture associated with their trip while it is in progress, the navigation system 112 can update the route based on additional information determined from the picture, with the user’s permission.

[0053] For example, the navigation system 112 can receive information from the image analysis system 118 and/or the vehicle dimensions determination system 120 about a route that is currently being traveled. The information can describe a vehicle used in a route and/or one or more people associated with a trip (e.g., riders in a vehicle traveling a current route). The navigation system 112 can update the route based on information associated with the vehicle (e.g., select routes that are better suited to the vehicle) or the people (e.g., update routes based on health-related criteria submitted by the users or otherwise provided to the navigation system). The navigation system 112 can update or otherwise alter the route currently in progress. In some examples, the navigation system 112 can provide a recommendation for display to a user with an updated route. The recommendation can include information about the improvements represented by the updated route. A user may choose to accept the updated route.

[0054] FIG. 2 depicts an example client-server environment 200 according to example embodiments of the present disclosure. The client-server system environment 200 includes one or more user computing devices 202 and a server computing system 230. One or more communication networks 220 can interconnect these components. The communication networks 220 may be any of a variety of network types, including local area networks (LANs), wide area networks (WANs), wireless networks, wired networks, the Internet, personal area networks (PANs), or a combination of such networks. [0055] A user computing device 202 can include, but is not limited to, smartphones, smartwatches, fitness bands, navigation computing devices, laptops computers, and embedded computing devices (computing devices integrated into other objects such as clothing, vehicles, or other objects). In some examples, a user computing device 202 can include one or more sensors intended to gather information with the permission of the user associated with the user computing device 202.

[0056] In some examples, the user computing device 202 can connect to another computing device, such as a personal computer (PC), a laptop, a smartphone, a tablet, a mobile phone, an electrical component of a vehicle, or any other electric device capable of communication with the communication network 220. A user computing device 202 can include one or more application(s) such as search applications, communication applications, navigation applications 206, productivity applications, game applications, word processing applications, or any other applications. The application(s) can include a web browser. The user computing device 202 can use a web browser (or other application) to send and receive requests to and from the server computing system 230. The application(s) can include a navigation application 206 that enables the user to send navigation requests to the server computing system 230 and receive navigation information in response.

[0057] In some examples, the user computing device 202 can include one or more sensors 210 that can be used to determine information, with the express permission of the user, associated with the environment of the user computing device 202 or information associated with the user of the user computing device 202 (such as the position or movement of the user). In some examples, the sensors 210 can include a motion sensor to detect the movement of the device or the associated user, a location sensor (e.g., a GPS) to determine the current location of the user computing device 202, an audio sensor to gather audio information in the area of the user computing device 202.

[0058] As shown in FIG. 2, the server computing system 230 can generally be based on a three-tiered architecture, consisting of a front-end layer, application logic layer, and data layer. As is understood by skilled artisans in the relevant computer and Internet-related arts, each component shown in FIG. 2 can represent a set of executable software instructions and the corresponding hardware (e.g., memory and processor) for executing the instructions. To avoid unnecessary detail, various components and engines that are not germane to conveying an understanding of the various examples have been omitted from FIG. 2. However, a skilled artisan will readily recognize that various additional components, systems, and applications may be used with a server computing system 230, such as that illustrated in FIG. 2, to facilitate additional functionality that is not specifically described herein. Furthermore, the various components depicted in FIG. 2 may reside on a single server computer or may be distributed across several server computers in various arrangements. Moreover, although the server computing system 230 is depicted in FIG. 2 as having a three-tiered architecture, the various example embodiments are by no means limited to this architecture.

[0059] As shown in FIG. 2, the front end can consist of an interface system(s) 222, which receives communications from one or more user computing devices 202 and communicates appropriate responses to the user computing devices 202. For example, the interface system(s) 222 may receive requests in the form of Hypertext Transfer Protocol (HTTP) requests, or other web-based, application programming interface (API) requests. The user computing devices 202 may be executing conventional web browser applications or applications that have been developed for a specific platform to include any of a wide variety of computing devices and operating systems.

[0060] As shown in FIG. 2, the data layer can include a geographic data store 234. The geographic data store 234 can store a variety of navigation data. For example, the geographic data store 234 can include map data. In some examples, the map data can include information describing locations, points of interest, buildings, roads, parks, and other geographic features. The map data can include information correlating addresses with specific geographic locations such that a user can input an address and information about that address (e.g., what buildings if any are at that location). Similarly, a user can enter the name of a location or point of interest and the system can identify the address associated with that location. The geographic data store 234 can include information associated with the size of roads and/or lanes, information about the visibility of signs along the route, information smoothness of a particular route, information about changes in elevation along a road, and so on.

[0061] In some examples, the geographic data store 234 can include information that is associated with location determining systems such as the global positioning system (GPS) such that the location of a specific computing device can be determined with respect to the map data. The geographic data store 234 can include direction data that can allow the navigation system 130 to generate routes between any two locations represented in the map data. In some examples, the geographic data store 234 can include location characteristic information about a plurality of locations. As noted above, the location characteristic information can include the address of the location, the geographic position of the location, the type of the location, the average amount of people at that location at particular dates and times, the hours of operation of the location, the goods and services available at the location (if any), and so on.

[0062] In some examples, the geographic data store 234 can also include image data, the image data associated with one or more geographic areas. The geographic data store 234 can also include satellite image data associated with one or more geographic areas. In some examples, the geographic data store 234 can include information associated with the characteristics of one or more roads or pathways.

[0063] The application logic layer can include application data that can provide a broad range of other applications and services that allow users to access or receive geographic data for navigation or other purposes. The application logic layer can include a reception system 240 and a navigation system 242.

[0064] The reception system 240 can receive a navigation request from a user computing device 202. navigation request from a user computing device. In some examples, the navigation request can include a destination. In some examples, the navigation request can also include an origination point. In some examples, the origination point is the current location of the user computing device. The navigation request can include additional information such as a proposed means of transportation, any relevant time-based constraints (e.g., an arrival time or a departure time), and one or more health criteria. Health criteria can be any factors associated with the user's health or well-being that may be considered when choosing a route for the user. For example, a user that experiences motion sickness may request a route that minimizes nausea. Other factors associated with health-related criteria can include factors associated with eyesight, factors associated with hearing, factors associated with other conditions (e.g., pregnancy), and so on.

[0065] The reception system 240 can also receive data from users. For example, a user can submit images to the server computing system via the reception system 240. These images can be analyzed and data relevant to the navigation system 242 can be extracted. For example, a road may have an officially listed width, but the server computing system can determine an actual width based on the images provided by users. For example, if parking along the route is routinely busy, the effective width of the route might be much narrower than the officially listed width. In addition, information about the condition of a route may be provided. For example, potholes or general road degradation can be identified based on image data or other data submitted by users. This information can be stored in the geographic data store 234. In addition, the image data can be analyzed to determine information such as the visibility of signs (based on the color or location of the signs and relative to the background colors). This information can be stored in the geographic data store 234 and used when evaluating candidate routes.

[0066] In some examples, the image data can be analyzed to determine a list of users present on a particular trip if the users explicitly allow this use of the submitted data. Once a list of users on a trip is determined, profiles associated with each user can be accessed and the current route can be updated based on those profiles. Customizing routes based on the driver and/or riders may be performed in response to receiving permission from all parties involved. [0067] In some examples, the image data can be analyzed to identify one or more characteristics of the vehicle being used on a trip. For example, the image data can be analyzed to determine the dimensions of the vehicle. In addition, the image data can be analyzed to determine the type of vehicle.

[0068] A navigation system 242 can provide, for display, data enabling a visual depiction of a geographic area. The visual depiction of the geographic area can include one or more streets, one or more points of interest (including buildings, landmarks, and so on), and a highlighted depiction of a planned route. The navigation system 242 can receive, via the interface, a navigation request query including an initial location and a target destination. The navigation system 242 can generate a plurality of candidate routes from the initial location to the target destination.

[0069] The navigation system 242 can generate, for each candidate route in the plurality of candidate routes, a score representing the degree to which it meets one or more criteria. The criteria can include one or more health-related criteria submitted by a user with the navigation request. The candidate route with the highest score can be selected for recommendation to a user.

[0070] The selected route can be transmitted to the user computing device 202 for display to a user and an interface. The user can choose to accept the recommendation or reject it. If the recommendation is accepted, the navigation system 242 can generate directions along the route to the destination.

[0071] FIG. 3 illustrates an example navigation system 112 in accordance with example embodiments of the present disclosure. The navigation system 112 can include a request reception system 320, a criteria determination system 322, a candidate route evaluation system 324, and a recommendation system 326.

[0072] For example, the request reception system 320 can receive, from a user, a navigation request. The navigation request can include a destination and an origination point. In some examples, the origination point is the current location of the user computing device. The navigation request can include additional information such as a proposed means of transportation, any relevant time-based constraints (e.g., an arrival time or a departure time), and one or more health criteria. Health criteria can be any factors associated with the user's health or well-being that may be considered when choosing a route for the user. For example, a user that experiences motion sickness may request a route that minimizes nausea. Other factors associated with health-related criteria can include factors associated with eyesight, factors associated with hearing, factors associated with other conditions (e.g., pregnancy), and so on.

[0073] In some examples, the navigation system 112 includes a criteria determination system 322. As noted above, the criteria determination system 322 can evaluate one or more criteria including one or more health-related criteria. In some examples, the criteria determination system 322 can determine one or more measurements for determining whether the one or more health-related criteria are met. In some examples, the measurement is a binary measurement (e.g., either the criteria are fully met or not met). In other examples, the measurement can represent the degree to which the criteria are met between fully met and unmet.

[0074] The navigation system 112 can include a candidate route evaluation system 324. The candidate route evaluation system 324 can, for each candidate route between a point of origin and a destination, generate a score representing the degree to which the candidate route meets one or more criteria. These criteria can include one or more health-related criteria received with the navigation request. The criteria can also include other criteria associated with cost, time, distance travel, carbon footprint, difficulty in traveling the route, vehicle dimension criteria, and so on. In some examples, the candidate route evaluation system 324 can access the geographic data store 234. The geographic data store 234 can store a variety of navigation data. For example, the geographic data store 234 can include map data. In some examples, the map data can include information describing locations, points of interest, buildings, roads, parks, and other geographic features. The map data can include information correlating addresses with specific geographic locations such that a user can input an address and information about that address (e.g., what buildings if any are at that location). Similarly, a user can enter the name of a location or point of interest and the system can identify the address associated with that location. The geographic data store 234 can include information associated with the size of roads and/or lanes, information about the visibility of signs along the route, information smoothness of a particular route, information about changes in elevation along a road, and so on. [0075] In some examples, candidate routes that do not meet the health-related criteria are eliminated from consideration. In other examples, the health-related criteria are one factor among many that are considered when generating a score for the route. The navigation system 112 can, based on the scores and/or evaluations generated by the route evaluation system 116, select a route from the one or more candidate routes. The selected route can be provided to a user via the recommendation system 326.

[0076] FIG. 4 depicts an example user interface according to example embodiments of the present disclosure. In this example, a user has requested directions from a first location 402 to a target destination 404. The navigation system 112 can generate a plurality of candidate routes (410, 412, and 414). The plurality of candidate routes can be evaluated to determine how well each route meets one or more criteria.

[0077] In this example, the candidate routes include 410, 412, and 414. In some examples, one of the candidate routes can be selected for most closely meeting one or more criteria and presented to the user. In some examples, all the candidate routes can be presented with one highlighted as the recommended route.

[0078] FIG. 5 depicts an example flow diagram for a method of generating routes based on health-related criteria according to example embodiments of the present disclosure. One or more portion(s) of the method can be implemented by one or more computing devices such as, for example, the computing devices described herein. Moreover, one or more portion(s) of the method can be implemented as an algorithm on the hardware components of the device(s) described herein. FIG. 5 depicts elements performed in a particular order for purposes of illustration and discussion. Those of ordinary skill in the art, using the disclosures provided herein, will understand that the elements of any of the methods discussed herein can be adapted, rearranged, expanded, omitted, combined, and/or modified in various ways without deviating from the scope of the present disclosure. The method can be implemented by one or more computing devices, such as one or more of the computing devices depicted in FIGS. 1- 3.

[0079] A computing device (e.g., computing device 100 in FIG. 1) can include one or more processors, memory, and other components that, together, enable the computing device to suggest alternative destinations to users. In some examples, the computing device is a portable computing device, such as a smartphone or tablet computer. The computing device can receive, at 502, a navigation request, the navigation request including a destination and one or more health-related criteria. The one or more health-related criteria can be associated with one or more of a: likelihood of inducing nausea, the likelihood of complicating one or more medical conditions, and the visibility of signs and markers along the candidate route. [0080] The computing device can generate, at 504, one or more candidate routes in response to the navigation request. The computing device can select, at 506, a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria.

[0081] In some examples, selecting, by the computing system, a candidate route from the one or more candidate routes based at least in part on the one or more health-related criteria can comprise accessing route characteristic data associated with one or more candidate routes. Route characteristic data can be accessed from a geographic data store 234.

[0082] In some examples, the computing system can receive, from one or more user computing devices, one or more photographs. The computing system can analyze one or more photographs to identify characteristics of the one or more candidate routes. The route characteristics can include one or more of: road width, road conditions, sign visibility data, road steepness data, and path smoothness data.

[0083] The computing system can receive image data from a user associated with the navigation request. In some examples, the computing system can determine vehicle characteristic data for a vehicle associated with the user. The vehicle characteristic data can include one or more of vehicle type data and vehicle dimension data.

[0084] The computing system can update the selected route based, at least in part, on the vehicle characteristic data. In some examples, the computing system can identify one or more trip participants based on the image data. The computing system can generate a suitability score for a respective candidate route based on a degree to which the respective candidate route meets the health-related criteria. The computing system can select a route from the one or more candidate routes based on suitability scores. The computing system can transmit, at 508, the selected candidate route for display to a user.

[0085] The technology discussed herein makes reference to sensors, servers, databases, software applications, and other computer-based systems, as well as actions taken, and information sent to and from such systems. The inherent flexibility of computer-based systems allows for a great variety of possible configurations, combinations, and divisions of tasks and functionality between and among components. For instance, processes discussed herein can be implemented using a single device or component or multiple devices or components working in combination. Databases and applications can be implemented on a single system or distributed across multiple systems. Distributed components can operate sequentially or in parallel.

[0086] While the present subject matter has been described in detail with respect to various specific example embodiments thereof, each example is provided by way of explanation, not limitation of the disclosure. Those skilled in the art, upon attaining an understanding of the foregoing, can readily produce alterations to, variations of, and equivalents to such embodiments. Accordingly, the subject disclosure does not preclude inclusion of such modifications, variations and/or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art. For instance, features illustrated or described as part of one embodiment can be used with another embodiment to yield a still further embodiment. Thus, it is intended that the present disclosure cover such alterations, variations, and equivalents.