Vehicle route navigation

Through a computer system, analyzing the vehicle's driving rate value and other vehicles' operation data, and planning and executing the motorized actions of the vehicle leaving the route section, the problem of difficulty for vehicles to effectively leave the road lane in the prior art is solved, and the navigation and operation efficiency of the vehicle is improved.

CN108983765BActive Publication Date: 2025-04-08FORD GLOBAL TECH LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201810496424.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-05-26
Filing Date
2018-05-22
Publication Date
2025-04-08
Estimated Expiration
2038-05-22

AI Technical Summary

Technical Problem

The prior art lacks information about lane driving and lane departure, as well as methods to control vehicle maneuvering, making it difficult for vehicles to effectively leave road lanes.

Method used

The computer system determines whether the driving rate value of the route section through which the vehicle passes exceeds a predetermined threshold, and plans the motorized action of the vehicle leaving the route section based on the operation data of other vehicles, instructing the vehicle to perform the corresponding motorized action.

Benefits of technology

It is realized that the vehicle can automatically or manually select the road lane when detecting a high traffic load section, improving the vehicle's navigation and operation efficiency on the road.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN108983765B_ABST
    Figure CN108983765B_ABST
Patent Text Reader

Abstract

A computer determines that a travel rate value of a route segment traversed by a first vehicle exceeds a predetermined threshold. A maneuver of the first vehicle to exit the route segment is planned based on collected vehicle operation data from one or more second vehicles that previously traversed the route segment. The first vehicle is instructed to perform a maneuver to exit the route segment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a vehicle route navigation method and system. Background Art

[0002] Vehicles may travel along a predetermined route on a road. Traffic loads on a route segment of the route may vary based on when the vehicle is traveling along the route. Each vehicle may selectively stay in the route segment or leave the route segment based on the traffic load. Furthermore, each leaving vehicle may perform a different maneuver to leave the route segment. The problem is that currently vehicles lack methods to obtain and analyze information about lane travel and lane departures, and to control vehicle maneuvers regarding when and how to leave a road lane. Summary of the invention

[0003] According to the present invention, there is provided a system comprising a computer programmed to perform the following operations:

[0004] determining that a travel rate value of a route segment traversed by the first vehicle exceeds a predetermined threshold;

[0005] planning a maneuver of the first vehicle to exit the route segment based on collected vehicle operation data from one or more second vehicles that previously traversed the route segment; and

[0006] The first vehicle is instructed to perform a maneuver to exit the route segment.

[0007] According to an embodiment of the present invention, the travel rate value is the time the first vehicle spends in the route section.

[0008] According to an embodiment of the present invention, the travel rate value is the speed of the first vehicle.

[0009] According to an embodiment of the present invention, the travel rate value is a distance traveled by the first vehicle in the route segment.

[0010] According to one embodiment of the present invention, the computer is further programmed to prompt a user in the first vehicle to make an input instructing the computer to plan a maneuver.

[0011] According to an embodiment of the invention, the computer is further programmed to instruct the first vehicle to operate in manual mode upon determining that the driving rate value exceeds a predetermined threshold.

[0012] According to an embodiment of the invention, the computer is further programmed to modify the route of the first vehicle to avoid the upcoming route segment upon identifying that the travel rate value of the upcoming route segment exceeds a predetermined threshold.

[0013] According to one embodiment of the invention, the computer is further programmed to identify a parking location in the second route segment and provide a route to the parking location to the first vehicle upon determining that the travel rate value of the second route segment does not exceed a predetermined threshold.

[0014] According to an embodiment of the invention, wherein the first vehicle comprises a computer programmed to determine that a travel rate value of a route segment traversed by the first vehicle exceeds a predetermined threshold and to request a maneuver of the first vehicle to leave the route segment.

[0015] According to an embodiment of the invention, the vehicle computer is programmed to receive data about the route segment from the computer and to determine the travel rate value based on the received data.

[0016] According to the present invention, there is provided a method comprising:

[0017] determining that a travel rate value of a route segment traversed by the first vehicle exceeds a predetermined threshold;

[0018] planning a maneuver of the first vehicle to exit the route segment based on collected vehicle operation data from one or more second vehicles that previously traversed the route segment; and

[0019] The first vehicle is instructed to perform a maneuver to exit the route segment.

[0020] According to an embodiment of the invention, in the method the travel rate value is based on the time the first vehicle has passed in the route segment.

[0021] According to an embodiment of the invention, in the method the travel rate value is based on the speed of the first vehicle.

[0022] According to an embodiment of the invention, in the method the travel rate value is based on a distance travelled by the first vehicle in the route segment.

[0023] According to one embodiment of the invention, the method further comprises prompting a user in the first vehicle for input for planning the maneuver.

[0024] According to an embodiment of the present invention, the method further comprises instructing the first vehicle to operate in a manual mode upon determining that the driving rate value exceeds a predetermined threshold.

[0025] According to an embodiment of the present invention, the method further comprises: upon identifying that the travel rate value of the upcoming route segment exceeds a predetermined threshold, modifying the route of the first vehicle to avoid the upcoming route segment.

[0026] According to one embodiment of the invention, the method further comprises identifying a parking location in the second route segment and providing a route to the parking location to the first vehicle upon determining that the travel rate value of the second route segment does not exceed a predetermined threshold.

[0027] According to one embodiment of the invention, the method further comprises a maneuver by the first vehicle determining that a travel rate value of a route segment traversed by the first vehicle exceeds a predetermined threshold and requesting the first vehicle to leave the route segment.

[0028] According to an embodiment of the invention, the method further comprises the first vehicle receiving data about the route segment and determining the travel rate value based on the received data. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 is a block diagram of an exemplary system for operating a vehicle;

[0030] Figure 2 An exemplary route along which a vehicle travels is shown;

[0031] Figure 3 is a block diagram of an exemplary process for operating a vehicle to exit a route segment;

[0032] Figure 4 is a block diagram of an exemplary process for determining whether a travel rate value exceeds a threshold. DETAILED DESCRIPTION

[0033] A system includes a computer programmed to determine that a travel rate value of a route segment traversed by a first vehicle exceeds a predetermined threshold, plan a maneuver of the first vehicle to exit the route segment based on collected vehicle operation data from one or more second vehicles that previously traversed the route segment, and instruct the first vehicle to perform the maneuver to exit the route segment.

[0034] The travel rate value may be the time the first vehicle has passed in the route segment. The travel rate value may be the speed of the first vehicle. The travel rate value may be the distance the first vehicle has traveled in the route segment.

[0035] The computer may also be programmed to prompt a user in the first vehicle for input to instruct the computer to plan a maneuver.

[0036] The computer may also be programmed to instruct the first vehicle to operate in a manual mode upon determining that the travel rate value exceeds a predetermined threshold.

[0037] The computer may also be programmed to, upon identifying that the travel rate value of the upcoming route segment exceeds a predetermined threshold, modify the route of the first vehicle to avoid the upcoming route segment.

[0038] The computer may also be programmed to identify a parking location in the second route segment and, upon determining that the travel rate value for the second route segment does not exceed a predetermined threshold, provide the first vehicle with a route to the parking spot.

[0039] The first vehicle may include a computer programmed to determine that a travel rate value of a route segment traversed by the first vehicle exceeds a predetermined threshold and to request a maneuver for the first vehicle to exit the route segment. The vehicle computer may be programmed to receive data about the route segment from the computer and to determine the travel rate value based on the received data.

[0040] A method includes: determining that a travel rate value of a route segment traversed by a first vehicle exceeds a predetermined threshold; planning a maneuver for the first vehicle to leave the route segment based on collected vehicle operation data from one or more second vehicles that previously traversed the route segment; and instructing the first vehicle to perform a maneuver to leave the route segment.

[0041] The travel rate value may be based on the time the first vehicle has passed in the route segment. The travel rate value may be based on the speed of the first vehicle. The travel rate value may be based on the distance the first vehicle has traveled in the route segment.

[0042] The method may also include prompting a user in the first vehicle for input to plan the maneuver.

[0043] The method may also include instructing the first vehicle to operate in a manual mode upon determining that the travel rate value exceeds a predetermined threshold.

[0044] The method may further include, upon identifying that the travel rate value of the upcoming route segment exceeds a predetermined threshold, modifying the route of the first vehicle to avoid the upcoming route segment.

[0045] The method may further include identifying a parking location in the second route segment, and upon determining that the travel rate value of the second route segment does not exceed a predetermined threshold, providing the first vehicle with a route to the parking location.

[0046] The method may also include the first vehicle determining that a travel rate value of a route segment traversed by the first vehicle exceeds a predetermined threshold and requesting a maneuver of the first vehicle to exit the route segment. The method may also include the first vehicle receiving data about the route segment and determining the travel rate value based on the received data.

[0047] Further disclosed is a computing device programmed to perform any of the above method steps. Further disclosed is a vehicle comprising the computing device. Further disclosed is a computer program product comprising a computer readable medium storing instructions executable by a computer processor to perform any of the above method steps.

[0048] Figure 1 An exemplary system 100 for operating a vehicle 101 along a road is shown. A computer 105 in the vehicle 101 is programmed to receive collected data 115 from one or more sensors 110. For example, the data 115 of the vehicle 101 may include the location of the vehicle 101, the location of an object, etc. The location data may be in a known form, such as geographic coordinates, such as latitude and longitude coordinates obtained by a well-known navigation system using a global positioning system (GPS). Other examples of data 115 may include measurements of systems and components of the vehicle 101, such as the speed of the vehicle 101, the trajectory of the vehicle 101, etc.

[0049] As is well known, the computer 105 is generally programmed to communicate on a network of the vehicle 101, for example, the network of the vehicle 101 includes a communication bus. Through the network, bus, and / or other wired or wireless mechanism (for example, a wired or wireless local area network in the vehicle 101), the computer 105 can transmit messages to various devices in the vehicle 101 and / or receive messages from various devices (such as controllers, actuators, sensors, etc.), including the sensor 110. Alternatively or additionally, in the event that the computer 105 actually includes multiple devices, the vehicle network can be used for communication between devices represented as the computer 105 in this disclosure. In addition, the computer 105 can be programmed to communicate with the network 125, as described below, the network 125 can include various wired and / or wireless network technologies, such as cellular, Low Energy (BLE), wired and / or wireless packet networks, etc.

[0050] The data storage 106 may be of any known type, such as a hard drive, a solid state drive, a server, or any volatile or non-volatile medium. The data storage 106 may store the collected data 115 sent by the sensor 110 .

[0051] The sensors 110 may include a variety of devices. For example, as is well known, various controllers in the vehicle 101 may serve as sensors 110 for providing data 115 via a network or bus of the vehicle 101, such as data 115 related to vehicle speed, acceleration, position, subsystem and / or component status, etc. In addition, other sensors 110 may include cameras, motion detectors, etc., i.e., sensors 110 for providing data 115 for assessing target location, determining user presence, etc. The sensors 110 may also include short-range radars, long-range radars, and / or ultrasonic sensors.

[0052] The collected data 115 may include various data collected in the vehicle 101. Examples of the collected data 115 are provided above, and further, the data 115 is generally collected using one or more sensors 110, and the data 115 may additionally include data calculated from the collected data 115 in the computer 105 and / or at the server 130. In general, the collected data 115 may include any data that may be collected by the sensors 110 and / or calculated from such data.

[0053] The vehicle 101 includes a plurality of vehicle components 120. As used herein, each vehicle component 120 includes one or more hardware components adapted to perform a mechanical function or operation, such as moving the vehicle, slowing or stopping the vehicle, steering the vehicle, etc. Non-limiting examples of components 120 include propulsion components (which include, for example, an internal combustion engine and / or an electric motor, etc.), transmission components, steering components (which may include, for example, one or more of a steering wheel, a steering rack, etc.), braking components, parking assist components, adaptive cruise control components, adaptive steering components, etc.

[0054] When the computer 105 operates the vehicle 101, the vehicle 101 is an "autonomous" vehicle 101. For the purposes of this disclosure, the term "autonomous vehicle" is used to refer to a vehicle 101 operating in a fully autonomous mode. The fully autonomous mode is defined as when the vehicle 101 is in fully autonomous mode, each of the propulsion (typically through a powertrain including an electric motor and / or an internal combustion engine), braking, and steering are controlled by the computer 105. The semi-autonomous mode is when at least one of the propulsion (typically through a powertrain including an electric motor and / or an internal combustion engine), braking, and steering of the vehicle 101 is at least partially controlled by the computer 105 rather than a human operator.

[0055] The system 100 may also include a data storage 135 and a network 125 connected to the server 130. The computer 105 may also be programmed to communicate with one or more remote sites, such as the server 130, via the network 125, such remote sites may include the data storage 135. The network 125 represents one or more mechanisms by which the vehicle computer 105 may communicate with the remote server 130. Thus, the network 125 may be one or more of a variety of wired or wireless communication mechanisms, including any desired combination of wired (e.g., cable and fiber optic) and / or wireless (e.g., cellular, wireless, satellite, microwave, and radio frequency) communication mechanisms and any desired network topology (or topologies when multiple communication mechanisms are used). Exemplary communication networks include wireless communication networks that provide data communication services (e.g., using BLE, IEEE802.11, vehicle-to-vehicle (V2V) such as dedicated short range communication (DSRC), etc.), local area network (LAN) and / or wide area network (WAN) including the Internet.

[0056] The system 100 may include a user device 140. As used herein, a "user device" is a portable computing device that includes memory, a processor, a display, and one or more input mechanisms (such as a touch screen, buttons, etc.), as well as hardware and software for wireless communication such as described herein. Thus, the user device 140 may be any of a variety of computing devices that include a processor and memory, such as a smartphone, a tablet computer, a personal digital assistant, etc. The user device 140 may use the network 125 to communicate with the vehicle computer 105. For example, the user device 140 may be communicatively connected to the vehicle computer 105 using wireless technologies such as those described above.

[0057] Figure 2 An exemplary map 200 is shown. The map 200 may be stored in the data storage 135 of the server 130 and / or in the data storage 106 of the computer 105. The server 130 may send information from the map 200 to the computer 105 via the network 125. Alternatively or additionally, the map 200 may be stored in a plurality of computers 105 in a plurality of respective vehicles 101 connected to the distributed network 125.

[0058] Map 200 includes a route 205 to be traversed by vehicle 101. Route 205 includes a plurality of route segments 210, Figure 2 205. The vehicle 101 may travel from route segment 210a to route segment 210b, and then to route segment 210c. When the travel rate value in route segment 210a is higher than a threshold, the vehicle 101 may travel from route segment 210a to route segment 210d to reach route segment 210b. The computer 105 may determine route 205 by identifying route segment 210 between the current location of the vehicle 101 and the destination.

[0059] The server 130 may receive operational data 115 from vehicles 101 traversing along the route segments 210. The operational data 115 may include current and / or historical vehicle state data, such as one or more of a steering wheel angle, an accelerator pedal position, a brake pedal position, geographic location coordinates, and the like. Based on the operational data 115, the server 130 may determine how each vehicle 101 exits each route segment 210. For each vehicle 101 exiting the route segment 210, the server 130 may collect geographic location data 115, speed data 115, acceleration data 115, steering data 115, and the like to generate a predicted path for the vehicle 101 to follow to exit the route segment 210. Based on the data 115 and the predicted path, the server 130 may plan a maneuver for exiting the route segment 210 for the vehicle 101 that is about to enter the route segment 210.

[0060] The server 130 may plan one or more maneuvers for exiting the route segment 210 based on the collected operational data 115 indicating how the vehicle 101 previously exited the route segment 210. As used herein, a "maneuver" is a route for the vehicle 101 to exit the route segment 210 and instructions for following the route for the vehicle 101 to exit the route segment 210. For example, the server 130 may store a plurality of pre-planned maneuvers based on the operational data 115 and may select one of the maneuvers based on, for example, the current position of the vehicle 101 in the route segment 210. Alternatively or additionally, the server 130 may, upon determining the position of the vehicle 101 in the route segment 210 and determining the planned maneuver, compare the previously collected path from the operational data 115 with the position of the vehicle 101 and select a portion of the previously collected path that moves the vehicle 101 out of the route segment 210.

[0061] The server 130 may determine to plan the maneuver based on the travel rate value in the route segment 210. As used herein, a "travel rate value" is an amount of measured values ​​of the operating data 115 of the vehicle 101 in the route segment 210 (or derived from the operating data 115 of the vehicle 101), and the "travel rate value" represents the rate at which the vehicle 101 travels in the route segment. The travel rate value may be affected by, for example, other vehicles 101, objects, and obstacles in the route segment 210. The travel rate value is not necessarily a measurement of rate or speed, but may alternatively or additionally be, for example, the time elapsed in route segment 210 in seconds, the distance traveled in route segment 210 in meters in a given time, the percentage of progress through route segment 210 in a given amount of time, the speed of vehicle 101 in route segment 210 as a percentage of a typical speed stored in route segment 210, the distance traveled in route segment 210 over a period of time as a percentage of a typical distance traveled in segment 210 over that period of time, etc. The process 400 described below and described in detail in FIG. Figure 4 An exemplary process for determining a travel rate value is shown in FIG.

[0062] The travel rate value may be compared to a predetermined threshold stored in the server 130 and / or computer 105 to determine whether a maneuver of the vehicle 101 to leave the route segment 210 is planned. The predetermined threshold may be determined based on, for example, an average travel rate value for the route segment 210 from multiple vehicles 101, an expected travel rate value for the route segment 210 based on posted speed limits and traffic signs, an average time for vehicles 101 to traverse the segment 210, etc. For example, the travel rate threshold may be a percentage of a typical speed for the segment 210, such as 66.6%.

[0063] When the travel rate value in route segment 210a exceeds a predetermined threshold, vehicle 101 may leave route segment 210a to reach another route segment 210d whose travel rate value is determined, for example, by operating data 115 from other vehicles 101 in route segment 210d and whose travel rate value is lower than the threshold. Server 130 may collect operating data 115 from vehicles 101 leaving route segment 210a and plan a maneuver based on the collected operating data 115 (i.e., based on how vehicle 101 leaves route segment 210a). Thus, when another vehicle 101 is in route segment 210a and the travel rate value exceeds the threshold, server 130 may plan a maneuver and instruct computer 105 to actuate one or more vehicle components 120 according to the planned maneuver from leaving route segment 210a to route segment 210d.

[0064] The server 130 may determine that the travel rate value in the route segment 210 exceeds a predetermined threshold based on the operation data 115 collected from the vehicle 101. The server 130 may determine the travel rate value based on, for example, the time spent in the route segment 210, the proximity of the position coordinates of the vehicle 101 over a period of time, the distance traveled in the route segment 210, the average speed of the vehicle 101 in the route segment 210, etc. For example, when the vehicle 101 is circling in the route segment 210a to find a parking space, and / or the vehicle 101 has crossed one or more road lanes in the route segment 210a, and / or the vehicle 101 has driven forward and backward in the route segment 210a to avoid obstacles, the server 130 may receive the operation data 115 indicating that the distance traveled in the route segment 210a exceeds the length of the route segment 210a. That is, the travel rate value is the distance traveled in the route segment 210a, and the threshold is the length of the route segment 210a. Upon determining that the distance traveled in route segment 210a exceeds the length of route segment 210a, server 130 may determine that the travel rate value exceeds a threshold and plan a maneuver for vehicle 101 to exit route segment 210a.

[0065] The server 130 may determine an average speed of the vehicle 101 in the route segment 210 as a travel rate value. The server 130 may compare the average speed of the vehicle 101 in the route segment with an average speed of previous vehicles 101 in the route segment 210. When the average speed of the vehicle 101 in the route segment 210 is lower than the average speed of the previous vehicles 101 in the route segment 210 by more than a speed threshold, the server 130 may determine a maneuver for the vehicle 101 to leave the route segment 210. That is, the travel rate value may be a difference between the average speed of the vehicle 101 in the route segment and the average speed of the previous vehicles 101, and the travel rate value threshold may be a speed threshold.

[0066] The server 130 may determine a crossing time threshold T for the route segment 210:

[0067]

[0068] Wherein L is the length of the route segment 210, V is the expected speed of the route segment 210 based on the previously collected operation data 115 of the vehicle 101 in the route segment 210, and a, b are constant coefficients based on the previously collected operation data 115 of the speed and time of the vehicle 101 in the route segment 210. When the time spent in the route segment 210 (as determined by the server 130 based on the data 115 received from the vehicle 101) exceeds the crossing time threshold T, the server 130 can determine that the travel rate value in the route segment 210 exceeds the threshold.

[0069] The server 130 can compare the location data 115 points of the vehicle 101 to determine whether the driving rate value in the route segment 210 exceeds the threshold value. The server 130 can receive from the vehicle 101 a plurality of geographic location coordinates indicating the location of the vehicle 101 within a predetermined time period (e.g., past the previous 5 minutes) before the current time. The server 130 can use known techniques to compare the distance between each of the plurality of geographic location coordinates and determine a location circle that surrounds the plurality of geographic location coordinates, i.e., a circle in which all the geographic location coordinates are located inside the circle or on the edge of the circle. In this example, the driving rate value is the radius of the location circle, and the threshold value is a predetermined threshold radius stored in the server 130 and / or the computer 105. The location circle can be determined by determining the distance between each pair of geographic location coordinates, identifying the maximum distance between these pairs of geographic location coordinates, and inscribing a circle having a diameter equal to the maximum distance (wherein the pair of geographic location coordinates with the maximum distance define a point on the circle that is diametrically opposite). The server 130 can compare the radius of the location circle with the predetermined threshold radius, and when the radius of the location circle is less than the threshold radius, the server 130 can determine that the driving rate value exceeds the threshold value. When the radius of the location circle is less than the threshold radius, the location of the vehicle 101 can be determined by circling around a specific location, for example, to find a parking space, a traffic jam, etc. Alternatively, the server 130 can compare the maximum distance between these pairs of geographic location coordinates with a predetermined distance threshold, and when the maximum distance is greater than the predetermined distance threshold, determine that the travel rate value exceeds the threshold.

[0070] The computer 105 may be programmed to determine a travel rate value as described above for the route segment 210 traversed by the vehicle 101. The computer 105 may be programmed to request a maneuver for the vehicle 101 to leave the route segment 210 from the server 130 via the network 125 when the computer 105 determines that the travel rate value for the route segment 210 exceeds a predetermined threshold.

[0071] The server 130 may be programmed to instruct the computer 105 to operate the vehicle 101 in manual mode upon determining that the travel rate value exceeds a predetermined threshold. When the vehicle 101 is operating in an autonomous or semi-autonomous mode, the server 130 may determine that the user should operate the vehicle 101 in manual mode when the travel rate value exceeds the threshold. Thus, the operator of the vehicle 101 may determine whether to leave the route segment 210. The server 130 may instruct the computer 105 to return control of the vehicle component 120 to the operator in manual mode.

[0072] The server 130 may be programmed to modify the route 205 of the vehicle 101 to avoid the upcoming route segment 210 upon identifying that the travel rate value of the upcoming route segment 210 exceeds a predetermined threshold. The server 130 may collect data 115 from the vehicle 101 in the upcoming route segment 210, and upon determining that the travel rate value in these route segments 210 exceeds the threshold, modify the route 205 of the vehicle 101 in the previous route segment 210. For example, if the vehicle 101 is currently in route segment 210a, and the server 130 determines that the travel rate value in route segment 210b exceeds the threshold, the server 130 may determine to modify the route of the vehicle 101 to avoid route segment 210b. That is, the server 130 may identify one or more route segments 210 (e.g., route segment 210d) to move the vehicle 101 from route segment 210a to route segment 210c.

[0073] The server 130 may be programmed to identify a parking location in a route segment 210. Upon determining that the travel rate value of the current route segment 210 does not exceed a predetermined threshold, the server 130 may provide the vehicle 101 with a route 205 to the parking location. If the server 130 determines that the travel rate value of the current route segment 210 exceeds the predetermined threshold, the server 130 may identify a different route segment 210 having a travel rate value below the threshold and a parking location in the different route segment 210. For example, the server 130 may compare the travel rate value of the vehicle 101 based on the operating data 115 collected in the previously traversed route segment 210, and identify the previously traversed route segment 210 having a travel rate value below the threshold. Alternatively, the server 130 may determine a travel rate value in another route segment 210 based on the operating data 115 of the second vehicle 101, and identify a parking location in the route segment 210 of the vehicle 101 when the travel rate value based on the operating data 115 of the second vehicle 101 is below the threshold. By identifying a different route segment 210 having a travel rate value below the threshold, the vehicle 101 can leave the current route segment 210 (where the travel rate value exceeds the threshold) to park in a parking location (in the route segment 210 where the travel rate value is below the threshold). For example, if the vehicle 101 is in route segment 210c and the travel rate value exceeds the threshold, the server 130 can determine that route segment 210b has a travel rate value below the threshold, identify the parking location in route segment 210b, and plan a maneuver to move the vehicle 101 from route segment 210c to the parking location in route segment 210b.

[0074] The server 130 may be programmed to instruct the computer 105 to prompt the user to instruct the server 130 to plan a maneuver. The user of the vehicle 101 may prefer to follow the route 205 and not leave the route segment 210, and the server 130 may be programmed to plan a maneuver only upon instruction from the user. In addition, in some cases, the operating data 115 may indicate that the travel rate value is above the threshold even when there is little or no traffic in the route segment 210. For example, if the vehicle 101 is idling in the route segment 210 (e.g., waiting to pick up another user, fill the fuel tank, etc.), the crossing time in the route segment 210 may exceed the time threshold, and the server 130 may determine that the travel rate value exceeds the threshold. Once the server 130 determines that the route segment 210 may have a travel rate value above the threshold, it may request input from the user of the vehicle 101 to identify the travel rate value in the route segment 210. The computer 105 may provide a prompt to the user to identify the travel rate value and allow the server 130 to plan a maneuver. The computer 105 may provide a prompt for user input, for example, on a human-machine interface (HMI) of the vehicle 101 (such as a touch screen display) and / or on a display of the user device 140. The user input may be, for example, a tactile input (e.g., touching the display of the user device 140), an audio input, a visual input (e.g., a gesture captured by a camera of the user device 140), etc. The user input is typically a Boolean value selection, for example, YES or NO, used by the server 130 to determine whether to plan a maneuver. For example, when the user input is "YES", the server 130 determines that the maneuver is planned. When the user input is NO or the user does not provide input after a predetermined time period has passed, the server 130 determines that the maneuver is not planned. When the user provides input indicating that the server 130 plans a maneuver, the computer 105 may send the input to the server 130 via the network 125, and the server 130 may plan a maneuver for the vehicle 101 to leave the route segment 210. Alternatively, the server 130 may plan a maneuver without input from the user. In yet another alternative, the server 130 may plan a maneuver and instruct the computer 105 to present the maneuver to the user and prompt the user to enter a Boolean value (i.e., YES or NO) for accepting the maneuver. If the user provides a "YES" input, the server 130 may instruct the computer 105 to actuate one or more vehicle components 120 according to the maneuver. If the user provides a NO input, the server 130 may instruct the computer 105 to operate in a manual mode, thereby allowing the user to operate the vehicle components 120 with manual input.

[0075] Figure 3An exemplary process 300 for operating a vehicle 101 in a route segment 210 is shown. The process 300 begins in block 305, where the server 130 collects data 115 from a plurality of vehicles 101. As described above, the data 115 may include, for example, traffic data, maneuvering data, location data, etc. The computer 105 in the vehicle 101 may send the data 115 to the server 130 via the network 125.

[0076] Next, in box 310, the server 130 formulates a plurality of maneuvers for each route segment 210 based on the collected operating data 115 of the vehicle 101 that exits the route segment 210. As described above, for each route segment 210, the server 130 may formulate one or more maneuvers for exiting the route segment 210 based on, for example, the traffic data 115 and the operating data 115 from the previous vehicle 101 that exited the route segment 210.

[0077] Next, in block 315, the server 130 receives the operation data 115 from the vehicle 101 in one of the route segments 210. For example, Figure 2 The computer 105 in the vehicle 101 in the route segment 210 a shown in FIG. 1 can send the operating data 115 of the vehicle 101 to the server 130 via the network 125 .

[0078] Next, in box 320, the server 130 determines whether the travel rate value exceeds a predetermined threshold, for example, as described above. The server 130 can determine whether the travel rate value exceeds the threshold based on the operating data of the vehicle 101, for example, according to the process 400 described below. Alternatively, the computer 105 can determine whether the travel rate value exceeds the predetermined threshold. When the travel rate value exceeds the threshold, the process 300 continues in box 325. Otherwise, the process 300 continues in box 340.

[0079] In block 325, the server 130 instructs the computer 105 to prompt the user in the vehicle 101 to provide input for instructing the server 130 to plan the maneuver. The computer 105 may provide a prompt, for example, for selecting a Boolean value (e.g., YES or NO) on a human machine interface (HMI) (e.g., a display) of the vehicle 101 and / or on a user device 140 that may receive input from the user. The prompt may ask the user to instruct the server 130 to plan the maneuver.

[0080] Next, in block 330, the server 130 determines whether the user has provided input for instructing the server 130 to plan the maneuver. As described above, the computer 105 may receive input from the user indicating whether the user instructs the server 130 to plan the maneuver. The computer 105 may send the input to the server 130 via the network 125. If the input indicates that the user instructs the server 130 to plan the maneuver, the process 300 continues in block 335. Otherwise, the process 300 continues in block 340. Alternatively or additionally, the server 130 may be programmed to plan the maneuver without input from the user, and blocks 325 and 330 are optional. When the server 130 is programmed to plan the maneuver without input from the user, the server 130 may proceed directly from block 320 to block 335.

[0081] In box 335, the server 130 plans a maneuver for the vehicle 101 to leave the route segment 210. As described above, the server 130 can select one of the previously determined maneuvers for the vehicle 101 and / or can plan a new maneuver based on the previously determined maneuvers and the operating data 115 of the vehicle 101. For example, the server 130 can select a maneuver that moves the vehicle 101 from the route segment 210 with the shortest distance from the current vehicle 101 position to the starting point of the route segment 210. In another example, the server 130 can select a maneuver with the least number of turns for the vehicle 101 to leave the route segment 210. The computer 105 can actuate one or more components 120 based on the maneuver for leaving the route segment 210.

[0082] In block 340, the server 130 determines whether to continue the process 300. For example, the server 130 may determine that the vehicle 101 has been parked in the parking space and determine not to continue the process 300 if the vehicle 101 is parked. In another example, the server 130 may determine that the vehicle 101 is still in the route segment 210 and may determine to continue the process 300. If the server 130 determines to continue the process 300, the process 300 returns to block 315 to receive more operating data 115. Otherwise, the process 300 ends.

[0083] Figure 4 An exemplary process 400 for determining whether a travel rate value of a route segment 210 exceeds a threshold is shown. The process 400 begins in block 405 where the server 130 collects operating data 115 from the vehicle 101 .

[0084] Next, in block 410, the server 130 determines whether the crossing time in the route segment 210 exceeds a time threshold. As described above, the server 130 may compare the time data 115 when the vehicle 101 enters the route segment 210 with the current time data 115 to determine how long the vehicle 101 has spent in the route segment 210. If the crossing time exceeds the time threshold, the process 400 continues in block 425. Otherwise, the process 400 continues in block 415.

[0085] In block 415, the server 130 compares the plurality of geographic location coordinates of the vehicle 101 in the route segment 210 and determines whether the radius of the location circle inscribed in all of the geographic location coordinates as described above is within a threshold radius. When the radius of the location circle is within the threshold radius, the vehicle 101 may be circling to find a parking space (e.g., after dropping off a user at a destination) or stuck in traffic. If the location data 115 is within the threshold radius, the process 400 continues in block 425. Otherwise, the process 400 continues in block 420.

[0086] In block 420, the server 130 determines whether the distance traveled by the vehicle 101 in the route segment 210 exceeds the length of the route segment 210. The server 130 may compare the location data 115 of the vehicle 101 to the length of the route segment 210 and determine how far the vehicle 101 has traveled in the route segment 210. If the vehicle 101 is circling around the route segment 210 to find a parking spot, i.e., the vehicle 101 is traveling back and forth in one or more portions of the route segment 210, the location data 115 may indicate that the distance traveled in the route segment 210 exceeds the length of the route segment 210. If the distance traveled by the vehicle 101 in the route segment 210 exceeds the length of the route segment 210, the process 400 continues in block 425. Otherwise, the process 400 continues in block 430.

[0087] In block 425, server 130 determines that the travel rate value exceeds a threshold and plans a maneuver of vehicle 101 to exit route segment 210, for example according to block 325 of process 300. As described above, server 130 may plan a maneuver of vehicle 101 based on previously collected vehicle 101 operating data 115.

[0088] Next, in block 430, the server 130 determines whether to continue the process 400. For example, if the vehicle 101 is already parked and turned off, the server 130 may determine not to continue the process 400. If the server 130 determines to continue the process 400, the process 400 returns to block 405 to collect more data 115. Otherwise, the process 400 ends.

[0089] As used in this article, the adverb "substantially" modifying an adjective means that the shape, structure, measurement results, values, calculation results, etc. may deviate from the accurate description of the geometric shape, distance, measurement result, value, calculation result, etc., because of deviations in materials, processing, manufacturing, data acquisition device measurement, calculation, processing time, communication time, etc.

[0090] Computers 105 typically each include instructions that are executed by one or more computers such as those identified above and are used to perform the blocks or steps of the above-described processes. The computer-executable instructions may be compiled or interpreted by a computer program created using a variety of programming languages ​​and / or techniques, including but not limited to Java, either alone or in combination. TM , C, C++, VisualBasic, JavaScript, Perl, HTML, etc. Typically, a processor (e.g., a microprocessor) receives instructions, such as from a memory, a computer-readable medium, etc., and executes these instructions, thereby completing one or more programs including one or more programs described herein. Such instructions or other data can be stored and transmitted using various computer-readable media. Files in computer 105 are typically collections of data stored on computer-readable media such as storage media, random access memory, etc.

[0091] Computer readable media include any media that participate in providing data (e.g., instructions) that can be read by a computer. Such media can take a variety of forms, including but not limited to non-volatile media, volatile media, etc. Non-volatile media include, for example, optical disks or magnetic disks or other permanent storage. Volatile media include dynamic random access memory (DRAM) that typically constitutes main memory. Conventional forms of computer readable media include, for example, floppy disks, flexible disks, hard disks, magnetic disks, any other magnetic media, CD-ROMs (read-only optical disk drives), DVDs (digital video disks), any other optical media, punch cards, paper tapes, any other physical media with hole patterns, RAMs (random access memories), PROMs (programmable read-only memories), EPROMs (erasable programmable read-only memories), FLASH EEPROMs (flash electrically erasable programmable read-only memories), any other memory chips or boxes, or any other computer readable media.

[0092] With respect to the media, programs, systems, methods, etc. described herein, it should be understood that although the steps of such programs, etc. have been described as occurring in a certain order, such programs may implement operations using the described steps that are performed in an order other than the order described herein. It should further be understood that certain steps may be performed simultaneously, other steps may be added, or certain steps described herein may be omitted. For example, in process 400, one or more steps may be omitted, or may be performed in a different order than described herein. Figure 4 The steps are performed in different orders as shown.In other words, the descriptions of systems and / or processes herein are provided for the purpose of illustrating certain embodiments and should not be construed in any way as limiting the disclosed subject matter.

[0093] Therefore, it should be understood that the present disclosure including the above description and drawings and the following claims is intended to be illustrative and not restrictive. Upon reading the above description, many embodiments and applications will be apparent to those skilled in the art except for the examples provided. The distance of the present invention should be determined with reference to the appended claims and / or the claims contained in the non-provisional patent application based thereon and all equivalent distances, rather than with reference to the above description. It is expected that further developments will occur in the technology discussed herein, and the disclosed systems and methods will be incorporated into such further embodiments. In short, it should be understood that the disclosed subject matter can be modified and varied.

[0094] The articles "a" and "an" modifying nouns should be understood to mean one or more, unless stated otherwise or the context requires otherwise. The phrase "based on" encompasses partly or wholly based on.

Claims

1. A method comprising: determining that a travel rate value of a route segment traversed by the first vehicle exceeds a predetermined threshold; planning a maneuver of the first vehicle to exit the route segment based on collected vehicle operation data from one or more second vehicles that previously traversed the route segment; and instructing the first vehicle to perform the maneuver to exit the route segment; and The method further comprises: receiving a plurality of geographic location coordinates indicating the position of the first vehicle within a predetermined time period before a current time, comparing the distance between each of the plurality of geographic location coordinates and determining a position circle surrounding the plurality of geographic location coordinates, wherein: The travel rate value is the radius of the location circle, wherein two geographic location coordinates having a maximum distance define diametrically opposed points of the location circle. 2 . The method of claim 1 , wherein the travel rate value is based on at least one of a time the first vehicle has elapsed in the route segment, a speed of the first vehicle, and a distance traveled by the first vehicle in the route segment. 3 . The method of claim 1 , further comprising prompting a user in the first vehicle for input for planning the maneuver. 4 . The method of claim 1 , further comprising instructing the first vehicle to operate in a manual mode upon determining that the travel rate value exceeds the predetermined threshold. 5 . The method of claim 1 , further comprising, upon identifying that the travel rate value of an upcoming route segment exceeds the predetermined threshold, modifying the route of the first vehicle to avoid the upcoming route segment. 6 . The method of claim 1 , further comprising identifying a parking location in a second route segment, and upon determining that the travel rate value for the second route segment does not exceed the predetermined threshold, providing the first vehicle with a route to the parking location. 7 . The method of claim 1 , further comprising the first vehicle determining that the travel rate value of the route segment traversed by the first vehicle exceeds the predetermined threshold and requesting the maneuver of the first vehicle to exit the route segment. 8 . The method of claim 7 , further comprising the first vehicle receiving data regarding the route segment and determining the travel rate value based on the received data.

9. The method of any one of claims 3-8, wherein the travel rate value is based on at least one of a time elapsed by the first vehicle in the route segment, a speed of the first vehicle, and a distance traveled by the first vehicle in the route segment.

10. The method of any one of claims 2-4 and 6-8, further comprising: upon identifying that the travel rate value of an upcoming route segment exceeds the predetermined threshold, modifying the route of the first vehicle to avoid the upcoming route segment.

11. The method of any one of claims 2-5 and 7-8, further comprising identifying a parking location in a second route segment, and upon determining that the travel rate value of the second route segment does not exceed the predetermined threshold, providing the first vehicle with a route to the parking location.

12. The method of any one of claims 2-6, further comprising the first vehicle determining that the travel rate value of the route segment traversed by the first vehicle exceeds the predetermined threshold and requesting the maneuver of the first vehicle to exit the route segment.

13. A computer programmed to perform the method of any one of claims 1-8.

14. A vehicle comprising the computer of claim 13.

15. A computer program product comprising a computer readable medium storing instructions executable by a computer processor to perform the method according to any one of claims 1 to 8.

16. A system comprising a computer programmed to: determining that a travel rate value of a route segment traversed by the first vehicle exceeds a predetermined threshold; planning a maneuver of the first vehicle to exit the route segment based on collected vehicle operation data from one or more second vehicles that previously traversed the route segment; and instructing the first vehicle to perform the maneuver to exit the route segment; It also includes: receiving multiple geographic location coordinates indicating the position of the first vehicle within a predetermined time period before the current time, comparing the distance between each of the multiple geographic location coordinates and determining a location circle surrounding the multiple geographic location coordinates, wherein the driving rate value is the radius of the location circle; wherein two geographic location coordinates with the largest distance define points opposite to the diameter of the location circle.

Citation Information

Patent Citations

  • System and method for remotely and intelligently recognizing road vehicle jam

    CN102968909A

  • Providing alternative road navigation instructions for drivers on unfamiliar roads

    CN105526941A