Navigation Method, Device, Electronic Device and Medium

By determining the target boarding point with the lowest total time cost and optimizing the navigation path, the inconvenience of navigation routes during multiple people traveling, and improving user experience and travel efficiency.

CN114705208BActive Publication Date: 2025-07-04APOLLO INTELLIGENT CONNECTIVITY (BEIJING) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210333954.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-30
Publication Date
2025-07-04
Estimated Expiration
2042-03-30

AI Technical Summary

Technical Problem

In the scenario where multiple people travel together, the existing technology is difficult to optimize navigation routes, resulting in excessive travel costs for vehicle drivers and passengers, and frequent communication of location information is required, which makes the user experience poor.

Method used

By obtaining the location of the passenger terminal, determining multiple candidate boarding points, and selecting the target boarding points with the lowest total time cost, optimizing the navigation path to reduce the overall travel cost and providing convenient navigation services.

Benefits of technology

The overall travel cost between vehicle drivers and passengers has been optimized, multiple communication needs have been reduced, user experience has been improved, and drivers and passengers have successfully reached the target boarding point.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114705208B_ABST
    Figure CN114705208B_ABST
Patent Text Reader

Abstract

The present disclosure provides a navigation method, apparatus, electronic device, and medium, relating to the field of computer technologies, and particularly to the fields of intelligent cockpits, vehicle networking, and autonomous driving technologies. The implementation solution is as follows: obtaining the positions of the vehicle driver's terminal, the first passenger terminal, and the second passenger terminal, as well as the destination position; determining a plurality of candidate pick-up points according to the positions of the first passenger terminal and the second passenger terminal; selecting at least one target pick-up point from the plurality of candidate pick-up points such that when the first passenger terminal and the second passenger terminal get on the vehicle at their respective target pick-up points among the at least one target pick-up points, the total time cost from the position of the vehicle driver's terminal to the destination is minimized; and determining a navigation path for the vehicle driver's terminal based at least on the positions of the at least one target pick-up point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technologies, and in particular, to the fields of intelligent cockpits, vehicle networking, and autonomous driving technologies. Specifically, the present disclosure relates to a navigation method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Art

[0002] When traveling, a user can use a navigation software installed on an intelligent terminal to perform navigation. The user inputs the starting location and the desired destination location in the navigation software to obtain the navigation route recommended by the navigation software. In the application scenario of multiple people traveling together by car, there is a need to further optimize the navigation route.

[0003] The methods described in this section are not necessarily methods that have been previously conceived or adopted. Unless otherwise specified, no method described in this section should be considered prior art solely because it is included in this section. Similarly, unless otherwise specified, the problems mentioned in this section should not be considered to have been recognized in any prior art. Summary of the Invention

[0004] The present disclosure provides a navigation method, apparatus, electronic device, computer-readable storage medium, and computer program product.

[0005] According to an aspect of the present disclosure, a navigation method is provided. The method includes: obtaining the location of a vehicle driver's terminal, the locations of a first passenger terminal and a second passenger terminal, and a destination location; determining a plurality of candidate pick-up points based on the locations of the first passenger terminal and the second passenger terminal; selecting at least one target pick-up point from the plurality of candidate pick-up points such that when the first passenger terminal and the second passenger terminal get on the vehicle at their respective corresponding target pick-up points among the at least one target pick-up point, the total time cost from the location of the vehicle driver's terminal to the destination is minimized; and determining a navigation path for the vehicle driver's terminal based at least on the location of the at least one target pick-up point.

[0006] According to another aspect of the present disclosure, a navigation apparatus is provided. The apparatus includes: an obtaining unit configured to obtain the location of a vehicle driver's terminal, the locations of a first passenger terminal and a second passenger terminal, and a destination location; a first determining unit configured to determine a plurality of candidate pick-up points based on the locations of the first passenger terminal and the second passenger terminal; a second determining unit configured to select at least one target pick-up point from the plurality of candidate pick-up points such that when the first passenger terminal and the second passenger terminal get on the vehicle at their respective corresponding target pick-up points among the at least one target pick-up point, the total time cost from the location of the vehicle driver's terminal to the destination is minimized; and a third determining unit configured to determine a navigation path for the vehicle driver's terminal based at least on the location of the at least one target pick-up point.

[0007] According to another aspect of the present disclosure, there is provided an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the above method.

[0008] According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the above method.

[0009] According to another aspect of the present disclosure, there is provided a computer program product, including a computer program, wherein the computer program, when executed by a processor, implements the above method.

[0010] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The drawings exemplarily illustrate embodiments and form a part of the specification, and are used together with the written description of the specification to explain the exemplary embodiments of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. In all the drawings, the same reference numerals refer to similar but not necessarily identical elements.

[0012] Figure 1 A schematic diagram of an exemplary system in which the various methods described herein can be implemented according to an embodiment of the present disclosure;

[0013] Figure 2 A flowchart of a navigation method according to an embodiment of the present disclosure;

[0014] Figure 3 Illustrates a flowchart of a partial example process in the method according to an embodiment of the present disclosure Figure 2 of;

[0015] Figure 4 Illustrates a flowchart of a partial example process in the method according to an embodiment of the present disclosure Figure 2 of;

[0016] Figure 5 A flowchart of a navigation method according to an embodiment of the present disclosure;

[0017] Figure 6 Illustrates a scenario diagram that can implement the navigation method according to an embodiment of the present disclosure;

[0018] Figure 7 A structural block diagram of a navigation device according to an embodiment of the present disclosure is shown; and

[0019] Figure 8 A structural block diagram of an exemplary electronic device capable of implementing the embodiments of the present disclosure is shown. Detailed implementation manners

[0020] The following describes exemplary embodiments of the present disclosure with reference to the accompanying drawings. Various details of the embodiments of the present disclosure are included to facilitate understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0021] In the present disclosure, unless otherwise specified, the terms "first", "second", etc. are used to describe various elements and are not intended to limit the positional relationship, timing relationship, or importance relationship of these elements. Such terms are only used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of the element, and in certain cases, based on the context description, they may also refer to different instances.

[0022] In the description of various examples in the present disclosure, the terms used are only for the purpose of describing specific examples and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element may be one or more. In addition, the term "and / or" used in the present disclosure covers any one of the listed items and all possible combinations.

[0023] As mentioned above, in the application scenario of multiple people traveling together by car (for example, the scenario where multiple people located at different positions need to take the same vehicle to travel), there is a need to further optimize the navigation route. In the scenario of multiple people traveling together by car, the vehicle driver may need to pick up multiple passengers at multiple unfamiliar sections and go to one or more destinations. Sometimes, there are situations where multiple stops are made midway, which poses challenges to route selection, pick-up point selection, and location information exchange.

[0024] In the related art, the vehicle driver and multiple passengers can communicate by phone or social software to determine their respective positions, and for example, plan their respective paths by manually querying the map. However, the paths provided by this method may not be the optimal solutions and have many drawbacks. For example, the pick-up point may be too far from the vehicle driver or some passengers, resulting in excessive travel time for the vehicle driver or some passengers to reach the pick-up point; and in the case of uncertain road conditions, the planned pick-up point may be inconvenient for parking, etc.

[0025] To solve the above problems, the present disclosure proposes a navigation method. Multiple candidate pick-up points are determined based on the location of the passenger terminal, and a total time cost that can represent the overall travel cost of the vehicle driver and multiple passengers is introduced. By minimizing the total time cost, at least one target pick-up point is selected from the multiple candidate pick-up points, and a navigation path is determined for the vehicle driver terminal based on at least the at least one target pick-up point. Thus, the location of the at least one selected target pick-up point optimizes the overall travel cost of the vehicle driver and multiple passengers. The driver and passengers can smoothly board the vehicle at the at least one target pick-up point, and there is no need for the vehicle driver and passengers to communicate their respective locations multiple times, thereby improving the user experience of the vehicle driver and passengers.

[0026] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision, and disclosure of user personal information and other processes all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.

[0027] Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0028] Figure 1 FIG. shows a schematic diagram of an exemplary system 100 in which the various methods and apparatuses described herein can be implemented according to embodiments of the present disclosure. Referring to Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 that couple the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 can be configured to execute one or more applications.

[0029] In embodiments of the present disclosure, the server 120 can run one or more services or software applications that enable the execution of the navigation method.

[0030] In certain embodiments, the server 120 can also provide other services or software applications that can include non-virtual environments and virtual environments. In certain embodiments, these services can be provided as web-based services or cloud services, for example, provided to users of the client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.

[0031] In Figure 1In the configuration shown, server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or a combination thereof that may be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may in turn utilize one or more client applications to interact with server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from system 100. Thus, Figure 1 is an example of a system for implementing the various methods described herein and is not intended to be limiting.

[0032] Users may use client devices 101, 102, 103, 104, 105, and / or 106 to determine the location where the user is currently located, upload the location where the user is currently located and the destination location, obtain the target boarding point or the navigation path to the target boarding point, view the location where the vehicle driver's terminal is currently located, and so on. The client device may provide an interface that enables the user of the client device to interact with the client device. The client device may also output information to the user via this interface. Although Figure 1 only six client devices are depicted, those skilled in the art will be able to understand that the present disclosure may support any number of client devices.

[0033] Client devices 101, 102, 103, 104, 105, and / or 106 may include various types of computing devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors, or other sensing devices, etc. These computing devices may run various types and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux, or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems, such as MICROSOFT WindowsMobile OS, iOS, Windows Phone, Android. Portable handheld devices may include cellular phones, smartphones, tablets, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Gaming systems may include various handheld gaming devices, Internet-enabled gaming devices, etc. Client devices are capable of executing various different applications, such as various Internet-related applications, communication applications (such as email applications), short message service (SMS) applications, and may use various communication protocols.

[0034] Network 110 can be any type of network known to those skilled in the art, which can support data communication using any one of a variety of available protocols (including but not limited to TCP / IP, SNA, IPX, etc.). By way of example only, one or more networks 110 can be a local area network (LAN), an Ethernet-based network, token ring, wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone network (PSTN), an infrared network, a wireless network (such as Bluetooth, WIFI), and / or any combination of these and / or other networks.

[0035] Server 120 may include one or more general-purpose computers, dedicated server computers (such as PC (personal computer) servers, UNIX servers, midrange servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization (such as one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for the server). In various embodiments, server 120 may run one or more services or software applications that provide the functions described below.

[0036] The computing unit in server 120 can run one or more operating systems including any of the above operating systems and any commercially available server operating systems. Server 120 can also run any one of a variety of additional server applications and / or middleware applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.

[0037] In some embodiments, server 120 can include one or more applications to analyze and combine data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and / or 106. Server 120 can also include one or more applications to display data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and / or 106.

[0038] In some embodiments, server 120 can be a server of a distributed system or a server incorporating a blockchain. Server 120 can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. A cloud server is a host product in the cloud computing service system to address the defects of difficult management and weak business scalability existing in traditional physical hosts and virtual private server (VPS) services.

[0039] System 100 can also include one or more databases 130. In certain embodiments, these databases can be used to store data and other information. For example, one or more of databases 130 can be used to store information such as audio files and video files. Databases 130 can reside in various locations. For example, the databases used by server 120 can be local to server 120, or can be remote from server 120 and can communicate with server 120 via a network-based or dedicated connection. Databases 130 can be of different types. In certain embodiments, the databases used by server 120 can be relational databases, for example. One or more of these databases can store, update, and retrieve data to and from the databases in response to commands.

[0040] In certain embodiments, one or more of databases 130 can also be used by applications to store application data. The databases used by applications can be different types of databases, such as key-value repositories, object repositories, or conventional repositories supported by a file system.

[0041] Figure 1 System 100 can be configured and operated in various ways to enable the application of the various methods and apparatuses described according to the present disclosure.

[0042] Figure 2 The flowchart of the navigation method 200 according to an embodiment of the present disclosure is shown. The method 200 includes:

[0043] Step S210, obtaining the position of the vehicle driver's terminal, the positions of the first passenger terminal and the second passenger terminal, and the destination position;

[0044] Step S220, determining a plurality of candidate pick-up points according to the positions of the first passenger terminal and the second passenger terminal;

[0045] Step S230, selecting at least one target pick-up point from the plurality of candidate pick-up points, such that when the first passenger terminal and the second passenger terminal get on the vehicle at their respective corresponding target pick-up points among the at least one target pick-up point, the total time cost from the position of the vehicle driver's terminal to the destination is minimized; and

[0046] Step S240, determining a navigation path for the vehicle driver's terminal based at least on the position of the at least one target pick-up point.

[0047] Thus, by determining a plurality of candidate pick-up points according to the positions of the passenger terminals, introducing the total time cost that can represent the overall travel cost of the vehicle driver and multiple passengers, and by minimizing the total time cost, at least one target pick-up point is selected from the plurality of candidate pick-up points, and a navigation path for the vehicle driver's terminal is determined based at least on the at least one target pick-up point. Thus, the position of the at least one target pick-up point selected optimizes the overall travel cost of the vehicle driver and multiple passengers, and the driver and passengers can successfully get on the vehicle at the at least one target pick-up point, thereby improving the user experience of the vehicle driver and passengers.

[0048] The vehicle driver's terminal can be a mobile device used by the vehicle driver (such as a smart phone, a smart watch, a tablet computer, etc.), or an in-vehicle device (such as an in-vehicle central control screen, a vehicle head-up display, etc.).

[0049] The passenger terminal can be a mobile device used by the passenger (such as a smart phone, a smart watch, a tablet computer, etc.).

[0050] According to some embodiments, the distance between the position of each candidate pick-up point among the plurality of candidate pick-up points determined in step S220 and the position of the first passenger terminal can be less than a first threshold, and the distance between the position of each candidate pick-up point among the plurality of candidate pick-up points and the position of the second passenger terminal can be less than the first threshold.

[0051] Since the positions of each determined candidate boarding point are all less than a first threshold distance from the positions of the first passenger terminal and the second passenger terminal, the time costs for the first passenger and the second passenger to go to each candidate boarding point are within the acceptable range of the corresponding passengers, thereby further optimizing the costs for the first passenger and the second passenger to travel by car.

[0052] It should be understood that different first thresholds can be set according to the actual situation of the city map. For example, the first threshold can be 500 meters or 1000 meters, which will not be elaborated here.

[0053] Figure 3 Shows a Figure 2 flowchart of some example processes in method 200 according to an embodiment of the present disclosure. As Figure 3 shown, according to some embodiments, the above step S220 may include:

[0054] Step S321, determining a candidate set area covering the positions of the first passenger terminal and the second passenger terminal; and

[0055] Step S322, querying multiple pre - labeled landmarks in the candidate set area as multiple candidate boarding points.

[0056] In step S321, the area may be the smallest circular area capable of covering the positions of the first passenger terminal and the second passenger terminal.

[0057] By querying multiple pre - labeled landmarks (for example, multiple pre - labeled buildings, stations, etc. on the map) in the candidate set area, since the multiple landmarks are pre - labeled, vehicle drivers or passengers can easily find the landmark in the navigation map or in the real world, facilitating their quick and easy access to the boarding point. In addition, since the multiple landmarks are within the candidate set area (for example, the distance from each passenger's position is less than 500 meters), the time costs for passengers to go to each landmark are within the acceptable range of the corresponding passengers.

[0058] Figure 4 Shows a Figure 2 flowchart of some example processes in the method according to an embodiment of the present disclosure. As Figure 4 shown, according to some embodiments, the above step S220 may include:

[0059] Step S421, determining a sub - navigation path from the position of the first passenger terminal to the position of the second passenger terminal;

[0060] Step S422, determining multiple path positions from the sub - navigation path; and

[0061] Step S423: For each of the multiple path positions, query multiple pre-annotated landmarks within a preset distance range of this position as multiple candidate boarding points.

[0062] In step S421, the determined sub-navigation path can be a passable road on the map from the position of the first passenger terminal to the position of the second passenger terminal. In some examples, some positions in this sub-navigation path may be beyond a certain distance (such as 500 meters) from the position of the first passenger terminal or from the position of the second passenger terminal, but these positions in the sub-navigation path may be convenient for the vehicle driver to find and for parking.

[0063] Thus, by querying multiple pre-annotated landmarks (such as multiple pre-annotated buildings, stations, etc. on the map) around multiple path positions in the sub-navigation path, since the multiple landmarks are pre-annotated, the vehicle driver or passenger can easily find the landmark in the navigation map or in the real world, facilitating their quick and easy arrival at the boarding point and getting on the vehicle.

[0064] According to some embodiments, the distance between the position of the first passenger terminal and the position of the second passenger terminal can be less than a second threshold.

[0065] It can be seen that, on the one hand, when the distance between the position of the first passenger terminal and the position of the second passenger terminal is less than the second threshold (such as 1 kilometer), the above-described method is executed for the first passenger terminal and the second passenger terminal to provide them with the target boarding point. That is, the vehicle driver and the passenger can gather at the target boarding point. On the other hand, when the distance between the position of the first passenger terminal and the position of the second passenger terminal is greater than this second threshold, multiple candidate boarding points and at least one target boarding point are not determined for these two passenger terminals, but the vehicle driver picks up these two passengers separately. Thus, for passengers who are currently at a relatively long distance, the excessive time cost due to going to the boarding point can be avoided, further optimizing the overall travel cost and enhancing the user experience of the passengers.

[0066] According to some embodiments, the second threshold can be the ratio of the following two: the distance from the position of the first passenger terminal to the position of the second passenger terminal; and the navigation distance from the position of the vehicle driver terminal to the destination position.

[0067] Thus, when the distance from the position of the first passenger terminal to the position of the second passenger terminal is small relative to the distance of the overall journey (i.e., the navigation distance from the position of the vehicle driver terminal to the destination position), a target boarding point can be provided to these two passenger terminals; conversely, no target boarding point is provided to these two passenger terminals. For example, when the distance of the overall journey is 5 kilometers and the distance from the position of the first passenger terminal to the position of the second passenger terminal is 1 kilometer, the vehicle driver can pick up the two passengers separately; when the distance of the overall journey is 5 kilometers and the distance from the position of the first passenger terminal to the position of the second passenger terminal is 500 meters, a target boarding point can be provided for the two passengers, and the vehicle driver picks up the two passengers at this target boarding point. Thus, flexibly choosing whether to provide a target boarding point for passengers according to the distance of the overall journey can further optimize the overall travel cost of the vehicle driver and multiple passengers, thereby further enhancing the user experience of the vehicle driver and passengers.

[0068] According to some embodiments, the above total time cost may include a vehicle driver sub-cost and a passenger sub-cost. And for each candidate boarding point among multiple candidate boarding points: the vehicle driver sub-cost is determined based on the position of the vehicle driver terminal, the destination position, and the position of the corresponding candidate boarding point, and the passenger sub-cost is determined based on the positions of the first passenger terminal and the second passenger terminal and the position of the corresponding candidate boarding point.

[0069] The vehicle driver sub-cost and the passenger sub-cost in the total time cost are considered separately, where the position of the candidate boarding point can affect the above two sub-costs respectively. Thus, when minimizing the total time cost, it can be understood what impacts the selection of different candidate boarding points has on the driver and passengers respectively.

[0070] According to some embodiments, the vehicle driver sub-cost can be the difference between: the navigation distance from the position of the vehicle driver terminal via the position of the corresponding candidate boarding point to the destination position; and the reference navigation distance from the position of the vehicle driver terminal to the destination position. And the passenger sub-cost is the sum of the navigation distance from the position of the first passenger terminal to the position of the corresponding candidate boarding point and the navigation distance from the position of the second passenger terminal to the position of the corresponding candidate boarding point.

[0071] The reference navigation distance from the position of the vehicle driver terminal to the destination position refers to: the navigation distance from the position of the vehicle driver terminal directly to the destination position without passing through a boarding point additionally.

[0072] The extra distance that the vehicle driver walks relative to the reference navigation distance to reach the target pick-up point is taken as the vehicle driver's sub-cost; the extra distance that the passenger walks to reach the target pick-up point is taken as the passenger's sub-cost. Since the above distances can be quickly obtained based on the navigation data in the map, this can simply and accurately calculate the time costs for the vehicle driver and the passenger respectively, thus ensuring more accurate calculation of the travel costs for the passenger and the driver.

[0073] According to some embodiments, the total time cost can be determined by the following equation:

[0074] K = α·K d + β·K p + γ·N

[0075] Where K is the total time cost, K d is the above-mentioned vehicle driver's sub-cost, K p is the above-mentioned passenger's sub-cost, N is the number of candidate pick-up points, and α is the vehicle driver's sub-cost weight, β is the passenger's sub-cost weight, and γ is the pick-up point number weight. Thus, by setting corresponding weights for different parameters in the total time cost respectively, it is possible to more specifically adjust the weights according to different road conditions or user situations to adjust the influence of the corresponding parameters on the total time cost. For example, in a scenario where the passenger has limited mobility, the total time cost can be optimized by increasing the passenger's sub-cost weight β; for example, in a scenario where the road conditions around the pick-up point may be relatively complex, the influence of the number of candidate pick-up points N on the total time cost can be increased by increasing the pick-up point number weight γ, thereby optimizing the total time cost, so that the finally determined target pick-up point and the corresponding navigation path optimize the overall time cost for the driver and the passenger.

[0076] It should be understood that although multiple possible examples of the total time cost are given above, more examples of the total time cost are also possible. For example, the total time cost can be positively correlated with the squares of the values of the above-mentioned multiple sub-costs; or the total time cost can be positively correlated with the square of the number N of pick-up points. According to the urban road conditions or user personal habits, the parameters of the total time cost can be finely adjusted.

[0077] According to some embodiments, in step S240, determining a navigation path for the vehicle driver terminal based at least on the positions of at least one target pick-up point may include: determining a navigation path for the vehicle driver terminal from the position of the vehicle driver terminal via the positions of at least one target pick-up point to the destination position.

[0078] After determining the target boarding point, a corresponding navigation route is determined for the vehicle driver. Thus, the vehicle driver does not need to perform manual navigation based on the target boarding point. Instead, for example, on the vehicle driver's terminal, the vehicle driver can view the navigation route passing through the target boarding point to reach the destination, which saves the vehicle driver's time and can also avoid the driving risks brought by frequently viewing or operating the vehicle driver's terminal to query the route during driving.

[0079] Figure 5 The flowchart of a navigation method 500 according to an embodiment of the present disclosure is shown. As Figure 5 shown, method 500 includes steps S510 to S550. Among them, steps S510 to S540 are similar to steps S210 to S240 described above regarding method 200. For the sake of brevity, they will not be described in detail here.

[0080] In step S550, based at least on the positions of at least one target boarding point, a navigation route can also be determined for at least one of the first passenger terminal and the second passenger terminal. Thus, the passenger can also view the navigation route of the target boarding point on the corresponding passenger terminal and perform navigation accordingly, improving the convenience of the passenger.

[0081] Next, the navigation method according to an embodiment of the present disclosure will be further described in conjunction with Figure 6 . Figure 6 The scenario diagram that can implement the navigation method according to an embodiment of the present disclosure is shown.

[0082] Figure 6 The vehicle driver's terminal 610, the first passenger terminal 621, the second passenger terminal 622, the third passenger terminal 623, and the destination 630 are shown.

[0083] It should be understood that although Figure 6 only three passenger terminals and one destination are shown, when there are more passenger terminals or more destinations, the navigation method according to an embodiment of the present disclosure is still applicable.

[0084] First, the server can obtain the position of the vehicle driver's terminal 610, the positions of the multiple passenger terminals 621, 622, 623, and the position of the destination 630.

[0085] Here, it is assumed that the distance between the positions of the first passenger terminal 621 and the second passenger terminal 622 is less than a second threshold (e.g., 1 kilometer), while the distances between the position of the third passenger terminal 623 and the positions of the first passenger terminal 621 and the second passenger terminal 622 are both greater than the second threshold. Therefore, for the first passenger terminal 621 and the second passenger terminal 622, multiple candidate boarding points can be further provided for them. Since the third passenger terminal 623 is relatively far from the former two, separate pick-up and drop-off can be arranged for the third passenger terminal 623.

[0086] Based on the positions of the first passenger terminal 621 and the second passenger terminal 622, multiple candidate boarding points 641, 642, 643, 644 can be determined. Among Figure 6 them, the distance between the position of each candidate boarding point among the multiple candidate boarding points and the position of the first passenger terminal 621 can be less than a first threshold (e.g., 100 meters), and the distance between the position of each candidate boarding point among the multiple candidate boarding points and the position of the second passenger terminal 622 can also be less than the first threshold.

[0087] Here, a candidate set area 650 covering the positions of the first passenger terminal 621 and the second passenger terminal 622 can be first determined; then multiple pre-marked landmarks (e.g., buildings pre-marked on the map) can be queried in the candidate set area 650 as the multiple candidate boarding points 641, 642, 643, 644. Of course, it is also possible to first determine a sub-navigation path from the position of the first passenger terminal 621 to the position of the second passenger terminal 622; then determine multiple path positions from the sub-navigation path; and then for each path position among the multiple path positions, query multiple pre-marked landmarks within a preset distance range of this position as the multiple candidate boarding points 641, 642, 643, 644.

[0088] Next, at least one target boarding point can be selected from the multiple candidate boarding points 641, 642, 643, 644 by minimizing the total time cost. For example, the additional time cost (the journey consumption compared to directly driving to the destination 630) that the vehicle driver needs to spend passing through each candidate boarding point can be calculated respectively, the additional time cost that the first passenger terminal 621 and the second passenger terminal 622 need to spend reaching each candidate boarding point can be calculated, and the time cost when the first passenger terminal 621 and the second passenger terminal 622 jointly go to a candidate boarding point or go to two candidate boarding points separately (e.g., calculate the product of the number of candidate boarding points and the corresponding weights) can be calculated. Then, by minimizing the sum of the above costs, at least one target boarding point that minimizes the total time cost can be determined from the multiple candidate boarding points.

[0089] For example, the candidate pick-up point 643 can be determined as the target pick-up point. Thus, for example, as simply indicated by the arrow in Figure 6 , a navigation path can be determined for the vehicle driver terminal 610 based on the position of the target pick-up point. Of course, in some scenarios (for example, it is difficult for the passenger to go to the candidate pick-up point 643), it is also possible that both candidate pick-up points 642 and 644 are determined as the target pick-up points.

[0090] According to one aspect of the present disclosure, there is also provided a navigation device 700. Figure 7 FIG. shows a structural block diagram of the navigation device 700 according to an embodiment of the present disclosure. As Figure 7 shown, the navigation device 700 includes:

[0091] An acquisition unit 710, configured to acquire the position of the vehicle driver terminal, the positions of the first passenger terminal and the second passenger terminal, and the destination position.

[0092] A first determination unit 720, configured to determine a plurality of candidate pick-up points according to the positions of the first passenger terminal and the second passenger terminal;

[0093] A second determination unit 730, configured to select at least one target pick-up point from the plurality of candidate pick-up points, such that when the first passenger terminal and the second passenger terminal get on the vehicle at their respective corresponding target pick-up points among the at least one target pick-up point, the total time cost from the position of the vehicle driver terminal to the destination is minimized; and

[0094] A third determination unit 740, configured to determine a navigation path for the vehicle driver terminal based at least on the position of the at least one target pick-up point.

[0095] According to some embodiments, the distance between the position of each candidate pick-up point among the plurality of candidate pick-up points and the position of the first passenger terminal may be less than a first threshold, and the distance between the position of each candidate pick-up point among the plurality of candidate pick-up points and the position of the second passenger terminal may be less than the first threshold.

[0096] According to some embodiments, the first determination unit 720 may be further configured to: determine a candidate set area covering the positions of the first passenger terminal and the second passenger terminal; and query a plurality of pre-annotated landmarks in the candidate set area as the plurality of candidate pick-up points.

[0097] According to some embodiments, the first determination unit 720 may be further configured to: determine a sub-navigation path from the position of the first passenger terminal to the position of the second passenger terminal; determine a plurality of path positions from the sub-navigation path; and for each path position among the plurality of path positions, query a plurality of pre-annotated landmarks within a preset distance range of the position as the plurality of candidate pick-up points.

[0098] According to some embodiments, the distance between the position of the first passenger terminal and the position of the second passenger terminal may be less than a second threshold.

[0099] According to some embodiments, the total time cost may include a vehicle driver sub-cost and a passenger sub-cost. And for each candidate pick-up point among a plurality of candidate pick-up points: the vehicle driver sub-cost is determined based on the position of the vehicle driver terminal, the destination position, and the position of the corresponding candidate pick-up point, and the passenger sub-cost is determined based on the positions of the first passenger terminal and the second passenger terminal and the position of the corresponding candidate pick-up point.

[0100] According to another aspect of the present disclosure, there is also provided an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the above method.

[0101] According to another aspect of the present disclosure, there is also provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the above method.

[0102] According to another aspect of the present disclosure, there is also provided a computer program product, including a computer program, wherein the computer program implements the above method when executed by a processor.

[0103] Figure 8 The block diagram of an exemplary electronic device 800 that can be used to implement the embodiments of the present disclosure is shown.

[0104] Reference Figure 8 , the block diagram of the electronic device 800 that can be used as the server or client of the present disclosure will now be described. It is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0105] As Figure 8As shown, device 800 includes a computing unit 801 which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the electronic device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0106] Multiple components in the electronic device 800 are connected to the I / O interface 805, including: an input unit 806, an output unit 807, a storage unit 808, and a communication unit 809. The input unit 806 can be any type of device capable of inputting information into the electronic device 800. The input unit 806 can receive input numerical or character information, and generate key signal inputs related to the user settings and / or function controls of the electronic device, and can include but are not limited to a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and / or a remote control. The output unit 807 can be any type of device capable of presenting information, and can include but are not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 808 can include but are not limited to magnetic disks and optical discs. The communication unit 809 allows the device 800 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks, and can include but are not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth TM device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0107] The computing unit 801 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 executes the various methods and processes described above, such as method 200 or method 500. For example, in some embodiments, method 200 or method 500 can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of method 200 or method 500 described above can be executed. Alternatively, in other embodiments, the computing unit 801 can be configured to execute method 200 or method 500 in any other suitable way (e.g., by means of firmware).

[0108] Various embodiments of the systems and techniques described above in this document can be implemented in digital electronic circuitry, integrated circuit systems, field-programmable gate arrays (FPGA), application-specific integrated circuits (ASIC), application-specific standard products (ASSP), systems-on-chip (SOC), complex programmable logic devices (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special-purpose or general-purpose programmable processor that receives data and instructions from a storage system, at least one input device, and at least one output device, and transmits the data and instructions to the storage system, the at least one input device, and the at least one output device.

[0109] The program code for implementing the methods of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the program code is executed by the processor or controller, the functions / operations specified in the flowchart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as an independent software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0110] In the context of this disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0111] To provide for interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide for interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic, speech, or tactile input).

[0112] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0113] A computer system can include a client and a server. The client and the server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server incorporating a blockchain.

[0114] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution disclosed in this disclosure can be achieved, and no limitation is imposed herein.

[0115] Although embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above methods, systems, and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but is only defined by the authorized claims and their equivalent scope. Various elements in the embodiments or examples can be omitted or replaced by their equivalent elements. In addition, the steps can be executed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples can be combined in various ways. Importantly, with the evolution of technology, many of the elements described herein can be replaced by equivalent elements that emerge after the present disclosure.

Claims

1. A navigation method, comprising: Obtaining the position of the vehicle driver's terminal, the positions of the first passenger terminal and the second passenger terminal, and the destination position; Determining a plurality of candidate pick-up points according to the positions of the first passenger terminal and the second passenger terminal; Selecting at least one target pick-up point from the plurality of candidate pick-up points such that when the first passenger terminal and the second passenger terminal board at their respective corresponding target pick-up points among the at least one target pick-up point, the total time cost from the position of the vehicle driver's terminal to the destination is minimized; And Determining a navigation path for the vehicle driver's terminal at least based on the position of the at least one target pick-up point, wherein, the determining a plurality of candidate pick-up points according to the positions of the first passenger terminal and the second passenger terminal includes: In response to determining that the ratio of the distance between the position of the first passenger terminal and the position of the second passenger terminal to the navigation distance from the position of the vehicle driver's terminal to the destination position is less than a second threshold, determining the plurality of candidate pick-up points based on a first threshold, wherein the distance between the position of each candidate pick-up point and the position of the first passenger terminal and the distance between the position of each candidate pick-up point and the position of the second passenger terminal are less than the first threshold, and wherein, the total time cost includes: A vehicle driver sub-cost determined based on the position of the vehicle driver's terminal, the destination position, and the position of the candidate pick-up point; A passenger sub-cost determined based on the positions of the first passenger terminal, the second passenger terminal, and the position of the candidate pick-up point; and An onboarding point quantity cost determined based on the number of candidate pick-up points.

2. The method according to claim 1, wherein, The determining a plurality of candidate pick-up points according to the positions of the first passenger terminal and the second passenger terminal includes: Determining a candidate set area covering the positions of the first passenger terminal and the second passenger terminal; and Querying a plurality of pre-annotated landmarks in the candidate set area as the plurality of candidate pick-up points.

3. The method according to claim 1, wherein, The determining a plurality of candidate pick-up points according to the positions of the first passenger terminal and the second passenger terminal includes: Determining a sub-navigation path from the position of the first passenger terminal to the position of the second passenger terminal; Determining a plurality of path positions from the sub-navigation path; and For each path position among the plurality of path positions, querying a plurality of pre-annotated landmarks within a preset distance range of the position as the plurality of candidate pick-up points.

4. The method according to claim 1, wherein The vehicle driver sub-cost is the difference between: The navigation distance from the position of the vehicle driver's terminal via the position of the corresponding candidate pick-up point to the destination position; and the reference navigation distance from the position of the vehicle driver's terminal to the destination position, and The passenger sub-cost is the sum of the navigation distance from the position of the first passenger terminal to the position of the corresponding candidate pick-up point and the navigation distance from the position of the second passenger terminal to the position of the corresponding candidate pick-up point.

5. The method according to claim 1, wherein The total time cost is determined by the following equation: wherein, K is the total time cost, K d is the vehicle driver sub-cost, K p is the passenger sub-cost, N is the number of candidate boarding points, and α is the vehicle driver sub-cost weight, β is the passenger sub-cost weight, γ is the boarding point number weight.

6. The method according to any one of claims 1 to 5, wherein Determining a navigation path for the vehicle driver terminal based at least on the location of the at least one target boarding point includes: Determining a navigation path for the vehicle driver terminal from the location of the vehicle driver terminal, via the location of the at least one target boarding point, to the destination location.

7. The method according to any one of claims 1 to 5, further comprising: Determining a navigation path for at least one of the first passenger terminal and the second passenger terminal based at least on the location of the at least one target boarding point.

8. A navigation device, comprising: An acquisition unit configured to acquire the location of a vehicle driver terminal, the locations of a first passenger terminal and a second passenger terminal, and a destination location; A first determination unit configured to determine a plurality of candidate boarding points according to the locations of the first passenger terminal and the second passenger terminal; A second determination unit configured to select at least one target boarding point from the plurality of candidate boarding points such that when the first passenger terminal and the second passenger terminal board at their respective corresponding target boarding points among the at least one target boarding points, the total time cost from the location of the vehicle driver terminal to the destination is minimized; And A third determination unit configured to determine a navigation path for the vehicle driver terminal based at least on the location of the at least one target boarding point, wherein the first determination unit is configured to: In response to determining that the ratio of the distance between the location of the first passenger terminal and the location of the second passenger terminal to the navigation distance from the location of the vehicle driver terminal to the destination location is less than a second threshold, determine the plurality of candidate boarding points based on a first threshold, wherein the distance between the location of each candidate boarding point and the location of the first passenger terminal and the distance between the location of each candidate boarding point and the location of the second passenger terminal are less than the first threshold, And wherein the total time cost includes: A vehicle driver sub-cost determined based on the location of the vehicle driver terminal, the destination location, and the location of the candidate boarding point; A passenger sub-cost determined based on the locations of the first passenger terminal, the second passenger terminal, and the candidate boarding point; and A boarding point quantity cost determined based on the quantity of the candidate boarding points.

9. The device according to claim 8, wherein The first determination unit is further configured to: Determine a candidate set area covering the locations of the first passenger terminal and the second passenger terminal; and Query a plurality of pre-annotated landmarks in the candidate set area as the plurality of candidate boarding points.

10. The device according to claim 9, wherein, The first determination unit is further configured to: Determine a sub-navigation path from the location of the first passenger terminal to the location of the second passenger terminal; Determine a plurality of path locations from the sub-navigation path; And For each path location among the plurality of path locations, query a plurality of pre-annotated landmarks within a preset distance range of the location as the plurality of candidate boarding points.

11. An electronic device, comprising: At least one processor; And A memory communicatively connected to the at least one processor; Wherein The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method according to any one of claims 1-7.

12. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are for causing the computer to execute the method according to any one of claims 1-7.

13. A computer program product comprising a computer program, wherein, The computer program, when executed by a processor, implements the method according to any one of claims 1-7.

Citation Information

Patent Citations

  • Method for planning sharing route, client, server and system

    CN107679652A

  • Systems and methods for managing and routing ridesharing vehicles

    WO2019023324A1