Road network topology data generation method, control method, electronic device, and storage medium

CN121277176BActive Publication Date: 2026-09-25CORECHENG (BEIJING) TECHNOLOGY CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202511403875.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-28
Publication Date
2026-09-25
Estimated Expiration
2045-09-28

AI Technical Summary

Technical Problem

但是这样会存在针对相同路段的历史移动轨迹进行重复保存,导致存储的数据量过大,影响控制效率

Benefits of technology

[0033]基于本公开实施例提供的路网拓扑数据生成方法,在记忆泊车或者记忆行车场景下,基于历史移动轨迹所生成的路网拓扑数据中包括基于历史移动轨迹识别得到的路口轨迹区间和道路轨迹区间,且在与路口中心点的距离大于第一预设距离的道路轨迹区间中不存在重复轨迹区间,路网拓扑数据可存储在可移动设备或者对应于可移动设备的服务器上,以辅助可移动设备移动至目标区域,这能够减少路网拓扑数据存储的数据量,提高路径规划筛选效率,并且有效识别出路口轨迹区间与道路轨迹区间,为路径规划提供了更多可选择空间,从而快速规划得到最短路径或最快路径,提高了路径规划效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121277176B_ABST
    Figure CN121277176B_ABST
Patent Text Reader

Abstract

The embodiment of the present disclosure provides a road network topology data generation method, a control method, an electronic device and a storage medium, and relates to the field of automatic control. The road network topology data generation method comprises: obtaining a historical moving track of a movable device moving from a starting area to a target area under user control; wherein the historical moving track comprises repeated track intervals with overlapping positions; generating road network topology data according to the historical moving track; wherein the road network topology data comprises intersection track intervals and road track intervals identified based on the historical moving track, there is no repeated track interval in the road track interval with a distance greater than a first preset distance from the center point of the intersection, and the road network topology data is stored on the movable device or a server corresponding to the movable device to assist the movable device to move to the target area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of automatic control technology, and more specifically, to a method for generating road network topology data, a control method, an electronic device, and a storage medium. Background Technology

[0002] In the motion control of mobile devices such as vehicles and robots, the control system can acquire the reference trajectory of the mobile device and control its movement to the target area based on the reference trajectory. Taking a vehicle as an example, the vehicle can have memory parking or memory driving functions. The memory parking function can learn the vehicle's historical movement trajectory under user control, enabling the vehicle to autonomously move from the garage entrance to the target parking space. The memory driving function can learn the vehicle's historical movement trajectory under user control, enabling the vehicle to move from the starting area to the target area.

[0003] In related technologies, mobile devices can store multiple historical movement trajectories. A user or the system automatically selects one of these trajectories as a reference trajectories to control the movement of the mobile device. However, this results in the repeated saving of historical movement trajectories for the same road segment, leading to excessively large amounts of stored data and impacting control efficiency. Summary of the Invention

[0004] In view of this, the present disclosure proposes a new technical solution for generating road network topology data.

[0005] According to a first aspect of the present disclosure, a method for generating road network topology data is provided, the method comprising:

[0006] Acquire the historical movement trajectory of a mobile device moving from a starting area to a target area under user control; wherein the historical movement trajectory includes overlapping trajectory intervals in terms of location;

[0007] Road network topology data is generated based on the historical movement trajectory; wherein, the road network topology data includes intersection trajectory intervals and road trajectory intervals identified based on the historical movement trajectory, and there are no duplicate trajectory intervals in the road trajectory intervals where the distance from the center point of the intersection is greater than a first preset distance. The road network topology data is stored on the mobile device or on a server corresponding to the mobile device to assist the mobile device in moving to the target area.

[0008] Optionally, generating road network topology data based on the historical movement trajectory includes:

[0009] Generate a target movement trajectory without repeating trajectory intervals based on the historical movement trajectory;

[0010] Based on the target movement trajectory, one or more intersections and the corresponding intersection trajectory intervals are identified;

[0011] The road network topology data is generated based on the intersection trajectory range and the target movement trajectory.

[0012] Optionally, generating a target movement trajectory without repeating trajectory intervals based on the historical movement trajectory includes:

[0013] Determine one or more repeating trajectory intervals in the historical movement trajectory; wherein, there are multiple historical trajectory segments in the repeating trajectory interval and the minimum distance between each trajectory point on any one of the historical trajectory segments and other historical trajectory segments is less than a second preset distance;

[0014] For any repeated trajectory interval, multiple historical trajectory segments in the repeated trajectory interval are deduplicated and merged to obtain a deduplicated trajectory.

[0015] The target movement trajectory is generated based on the deduplicated trajectory and the non-repeating trajectory intervals in the historical movement trajectory.

[0016] Optionally, one or more intersections are identified based on the target movement trajectory, including:

[0017] Determine the target endpoint in the target movement trajectory and the movement trajectory segment corresponding to the target endpoint; wherein, the target endpoint is the interval endpoint of the repeated trajectory interval;

[0018] For any target endpoint, if the movement trajectory segment corresponding to the target endpoint satisfies the preset constraints, an intersection is determined based on the target endpoint; wherein, the preset constraints include the number of movement trajectory segments being greater than a preset number and the angle between any two movement trajectory segments being less than a preset angle.

[0019] Optionally, determining the intersection based on the target endpoint includes:

[0020] Treat the target endpoint as an intersection; or,

[0021] If the distance between the target endpoint and another adjacent target endpoint is less than a third preset distance, the two adjacent target endpoints will be merged into one intersection.

[0022] Optionally, the method further includes:

[0023] Obtain the intervals of repeated historical trajectories within the historical movement trajectory whose distance from the center point of the intersection is less than or equal to a first preset distance;

[0024] The road network topology data is updated based on the temporal relationship between the trajectory points in the repeated historical trajectory interval and other trajectory points in the historical movement trajectory.

[0025] According to a second aspect of the present disclosure, a control method is provided, the method comprising:

[0026] Based on the starting and target areas of the mobile device, road network topology data is obtained; wherein the road network topology data is stored on the mobile device or on a server corresponding to the mobile device.

[0027] The mobile device is controlled to move from the starting area to the target area based on the road network topology data.

[0028] The road network topology data is generated based at least on the historical movement trajectory of the mobile device moving from the starting area to the target area under user control; the historical movement trajectory includes overlapping trajectory intervals; the road network topology data includes intersection trajectory intervals and road trajectory intervals identified based on the historical movement trajectory; and there are no overlapping trajectory intervals in the road trajectory intervals where the distance from the center point of the intersection is greater than a first preset distance.

[0029] Optionally, controlling the mobile device to move from the starting area to the target area based on the road network topology data includes:

[0030] Without relying on other map data besides the road network topology data, the mobile device is controlled to move from the starting area to the target area based on the road network topology data.

[0031] According to a third aspect of the present disclosure, an electronic device is provided, including a memory and a processor, the memory being configured to store computer instructions, and the processor being configured to invoke the computer instructions from the memory to perform the method as described in the first or second aspect.

[0032] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method as described in the first or second aspect.

[0033] Based on the road network topology data generation method provided in this disclosure embodiment, in memory parking or memory driving scenarios, the road network topology data generated based on historical movement trajectories includes intersection trajectory intervals and road trajectory intervals identified based on historical movement trajectories. Furthermore, there are no duplicate trajectory intervals in the road trajectory intervals where the distance to the intersection center point is greater than a first preset distance. The road network topology data can be stored on a mobile device or a server corresponding to the mobile device to assist the mobile device in moving to the target area. This reduces the amount of data stored in the road network topology data, improves path planning and filtering efficiency, and effectively identifies intersection trajectory intervals and road trajectory intervals, providing more options for path planning, thereby quickly planning the shortest or fastest path and improving path planning efficiency.

[0034] Other features and advantages of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description

[0035] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the present disclosure and, together with their description, serve to explain the principles of the present disclosure.

[0036] Figure 1 This is a schematic diagram of an intelligent connected system to which the methods provided in the embodiments of this disclosure can be applied.

[0037] Figure 2 It is based on Figure 1 The illustrated embodiment provides a schematic diagram of a mobile device.

[0038] Figure 3 This is a flowchart illustrating a method for generating road network topology data according to an embodiment of this disclosure.

[0039] Figure 4A This is a schematic diagram of a historical movement trajectory provided in an embodiment of this disclosure.

[0040] Figure 4B This is a schematic diagram of two historical movement trajectories provided in an embodiment of this disclosure.

[0041] Figure 5 This is a schematic diagram of intersection recognition provided in an embodiment of this disclosure.

[0042] Figure 6 This is a flowchart illustrating another method for generating road network topology data provided in this embodiment.

[0043] Figure 7 This is a flowchart illustrating a control method provided in an embodiment of this disclosure.

[0044] Figure 8This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0045] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.

[0046] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use.

[0047] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.

[0048] In all the examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.

[0049] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.

[0050] The elements involved in the embodiments of this disclosure may represent part or all of an element. For example, the elements involved in the embodiments of this disclosure may be at least a part of an element or all of an element.

[0051] The elements involved in the embodiments of this disclosure may be one or more, such as "a", "the", "the above", "the foregoing", etc., which are used to indicate that the corresponding element is mentioned for the first time or is mentioned again, and do not have the meaning of limiting the number.

[0052] It should be noted that all actions related to the collection, storage, use, processing, transmission, provision, disclosure, and deletion of data involved in this disclosure are carried out in accordance with the relevant data protection laws and regulations of the country or region where the data is located, and with the full authorization of the relevant data owner.

[0053] First, the application scenarios of the embodiments of this disclosure will be described.

[0054] Figure 1 This is a schematic diagram of an intelligent connected system 100 to which the methods provided in the embodiments of this disclosure can be applied. Figure 1 As shown, the intelligent connected system 100 may include: a mobile device 101, a server 102, and a user terminal 103.

[0055] In some examples, the mobile device 101 can be a mobile device such as a vehicle, robot, ship, or aircraft, for example, a vehicle, ship, or aircraft with a driving automation feature, or an autonomously moving robot (such as a cargo robot, a probe robot, or a sweeping robot).

[0056] The driving automation function can include advanced driver assistance functions (ADAS) and automated driving functions (AWD). Automated driving, also known as intelligent driving or driverless driving, enables vehicles with driving automation functions to perform some or all of the driving tasks, such as environmental perception, decision-making, planning, and control execution. The levels of driving automation functions can refer to the vehicle intelligence classification standards established by the Society of Automotive Engineers (SAE), for example, divided into six levels from L0 to L5. L0 is emergency assistance, L1 is partial driver assistance, L2 is combined driver assistance, L3 is conditional automated driving, L4 is highly automated driving, and L5 is fully automated driving. The above classification of driving automation function levels is merely an example, and this disclosure does not limit the classification standards and levels of driving automation functions.

[0057] In some examples, server 102 can be a single server or a distributed server cluster consisting of multiple servers, and its deployment method can include local servers or cloud servers. Server 102 can communicate with mobile device 101 and / or user terminal 103 via a communication network, providing various services to mobile device 101 and / or user terminal 103. For example, the server can receive sensing data sent by mobile device and provide services such as navigation maps, data analysis, and decision planning to mobile device. Alternatively, the server can receive query commands or control commands sent by user terminal and provide corresponding services to the user.

[0058] In some examples, user terminal 103 can be any form of electronic device providing services to the user, such as a personal computer, laptop, smart tablet, smartphone, smart wearable device, etc. The user can interact with the mobile device or server through the human-computer interaction terminal configured on the mobile device 101, or through user terminal 103. For example, the user can query the status and / or parameters of the mobile device, or control the mobile device to perform set tasks and / or modify configuration parameters, etc. The user terminal runs an application based on the intelligent network system to achieve interaction with the mobile device or server. This application can be a local application, a web application, or a mini-program, etc., and is not limited thereto.

[0059] In some examples, the aforementioned application running on the user's terminal can provide authentication or authorization services to the user. The user who is successfully authenticated and granted the corresponding permissions can query and / or control the mobile device within the scope of the granted permissions.

[0060] The mobile device 101, server 102, and user terminal 103 can communicate via a communication link provided by communication network 104. This communication network 104 can include one or more networks of any type, such as the Internet, Local Area Network (LAN), Wide Area Network (WAN), Virtual Private Network (VPN), Public Switched Telephone Network (PSTN), satellite communication network, Wi-Fi, 2G, 3G, 4G, 5G, 6G, NB-IoT, eMTC, infrared, Bluetooth, NFC, or a combination of these networks. The communication networks between mobile device 101 and server 102, between user terminal 103 and server 102, and between user terminal 103 and mobile device 101 can be the same or different.

[0061] It should be noted that, Figure 1 The structure of the intelligent connected system 100 shown is merely illustrative. The intelligent connected system in this embodiment is not limited to the above structure and may include more or fewer devices as needed, and the devices may be combined or split. For example, the intelligent connected system may not include user terminals and / or servers; as another example, user terminals and servers may be deployed together.

[0062] Figure 2 It is based on Figure 1 The illustrated embodiment provides a schematic diagram of a mobile device 101. As shown... Figure 2As shown, the mobile device 101 may include a sensing component 1011, a computing platform 1012, an execution component 1013, etc. The sensing component 1011, the computing platform 1012, and the execution component 1013 may be connected via a bus or other means.

[0063] In some examples, the sensing component 1011 can be used to collect information about the mobile device itself or externally. The sensing component 1011 may include at least one of a visual sensing unit, radar, a positioning and navigation unit, an inertial measurement unit (IMU), or other sensing units. The visual sensor unit may include one or more cameras, the radar may include at least one of lidar, millimeter-wave radar, ultrasonic radar, or other radar, and the positioning and navigation unit may include at least one of a GPS system, a BeiDou system, or other global positioning systems.

[0064] In some examples, the computing platform 1012 may include a computing-capable device for processing the sensing information collected by the sensing component 1011 to obtain control information, and sending corresponding control commands to the execution component 1013 to cause the execution component 1013 to perform corresponding actions, thereby realizing the control of the mobile device 101. For example, the computing platform 1012 can perform one or more of the following actions on the mobile device: information collection and processing, positioning, decision-making, planning, and control, thereby realizing the autonomous control of the mobile device. The computing platform 1012 may include at least one processor and at least one memory, wherein each processor can individually or jointly execute instructions stored in the memory to implement the methods provided in the embodiments of this disclosure. The processor in this disclosure embodiment may include at least one of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Neural-network Processing Unit (NPU), Tensor Processing Unit (TPU), Data Processing Unit (DPU), Digital Signal Processor (DSP), Field Programmable Gate Array (FPGA), Programmable Logic Array (PLA), System on Chip (SOC), Application Specific Integrated Circuit (ASIC), Micro Controller Unit (MCU), or other processors. The memory may be implemented using any type of volatile or non-volatile computer-readable storage medium or a combination thereof. In addition to storing instructions, the memory may also store data, such as map data, image data, sound data, text data, configuration parameters of the mobile device, location, orientation, speed, etc. The data stored in the memory can be accessed and used by the processor.

[0065] In some examples, the computing platform of a mobile device can perform computing tasks independently or communicate with a server to complete computing tasks. For example, the computing platform of a mobile device can cooperate with a server to complete corresponding computing tasks. These computing tasks can include any task performed to achieve autonomous control of the mobile device, such as information collection and processing, positioning, decision-making, planning, or control of the mobile device.

[0066] The computing platform 1012 can be located in the mobile device 101. Some or all of the computing platform 1012 can also be located in the server corresponding to the mobile device. For example, some functions of the computing platform 1012 with high real-time requirements can be located in the mobile device, while other functions with low real-time requirements can be located in the server corresponding to the mobile device.

[0067] In some examples, the execution component 1013 is used to perform corresponding actions (such as steering, acceleration, deceleration, braking, etc.) based on the control of the computing platform 1012, enabling the mobile device 101 to complete the movement task. The execution component 1013 may include, for example, a power component, a braking component, a transmission component, a steering component, etc. This execution component can also perform corresponding actions based on user control input, which may include: user input...

[0068] It should be noted that, Figure 2 The structure of the mobile device 101 shown is merely illustrative. The mobile device in this embodiment is not limited to the above structure and may include more or fewer components as needed. The device may also be combined or disassembled. For example, the mobile device may not include the aforementioned computing platform. Furthermore, the mobile device may also include communication components, interface components, multimedia components, input components, output components, display components, etc.

[0069] In related technologies, mobile devices can store multiple historical movement trajectories. A user or system automatically selects one of these trajectories as a reference trajectories to control the movement of the mobile device. However, this results in duplicate saving of historical movement trajectories for the same road segment, leading to excessively large amounts of stored data. This makes it difficult to efficiently select the optimal movement trajectory during route planning. Furthermore, since historical movement trajectories only record simple connections between trajectory points and rely solely on trajectory point matching, route planning efficiency is low.

[0070] To address the problems in related technologies, this disclosure provides a method for generating road network topology data. Figure 3 This is a flowchart illustrating a method for generating road network topology data according to an embodiment of this disclosure. This road network topology generation method can be performed by... Figure 1 The illustrated mobile device and / or server execute. For example... Figure 3 As shown, the road network topology data generation method of this embodiment may include the following steps S310 to S320.

[0071] Step S310: Obtain the historical movement trajectory of the mobile device from the starting area to the target area under user control.

[0072] The historical movement trajectory may include overlapping trajectory intervals. For example, these overlapping trajectory intervals can characterize trajectories where the mobile device repeatedly moves through the same area. For instance, within these overlapping trajectory intervals, at least two historical trajectory segments may overlap spatially, and each historical trajectory segment may contain multiple trajectory points. These overlapping trajectory intervals can also be called loop closure intervals and can be determined based on loop closure detection.

[0073] In some examples, the spatial overlap of two historical trajectory segments can indicate that the distance between the two historical trajectory segments is less than a second preset distance. That is, the minimum distance between any trajectory point on any one of the two historical trajectory segments and other historical trajectory segments is less than the second preset distance. For example, there may be multiple historical trajectory segments within the repeated trajectory interval of the historical movement trajectory, and the minimum distance between any trajectory point on any one of the historical trajectory segments and other historical trajectory segments is less than the second preset distance. This second preset distance can be any pre-set value, such as 0.5 meters, 1 meter, or 2 meters.

[0074] In some examples, the aforementioned historical movement trajectory can be a single line. For instance, during a user's continuous control of a mobile device moving from a starting area to a target area, multiple trajectory points can be recorded, and a historical movement trajectory can be generated based on these recorded points. This historical movement trajectory may contain overlapping trajectory intervals. For example, during the user's control of the mobile device moving from the starting area to the target area, there may be instances where the mobile device returns and revisits a previously visited location or area, resulting in at least two historical trajectory segments overlapping spatially within the overlapping trajectory interval.

[0075] In some examples, there can be multiple historical movement trajectories. For instance, a user can control a mobile device to move from a starting area to a target area multiple times, generating multiple historical movement trajectories. Different historical movement trajectories may contain overlapping trajectory intervals, such as different historical movement trajectories all passing through the same location or area.

[0076] In some examples, the mobile device can be a vehicle, and the method can be applied to memory parking scenarios. The starting area can be the garage entrance, and the target area can be the target parking space. Thus, a historical movement trajectory can be the movement trajectory of the vehicle from the garage entrance to the target parking space under user control. If the vehicle uses different routes when moving from the garage to the target parking space multiple times, multiple historical movement trajectories can be generated.

[0077] In other examples, the mobile device can be a vehicle, and the method can be applied to remember driving scenarios. The starting area can be the home, and the target area can be the company. Thus, a historical movement trajectory can be the movement trajectory of the vehicle from home to company under user control. If the vehicle uses different routes when moving from home to company multiple times, multiple historical movement trajectories can be generated.

[0078] In some examples, the historical movement trajectory may include multiple trajectory points, and the distance between these points can be a preset interval distance, which can be any pre-set value, such as 0.5 meters, 1 meter, or 3 meters. The trajectory point information corresponding to each trajectory point may include the location information and / or time information of that trajectory point. The location information may be, for example, the latitude and longitude information of the trajectory point or the location coordinates of the trajectory point in the device coordinate system. The time information may be the timestamp or time sequence number of the mobile device at that trajectory point. The time sequence number can be obtained by sorting the time sequence of the mobile device's movement through each trajectory point. For example, a historical movement trajectory includes multiple trajectory points stored at preset intervals in chronological order. For instance, a historical movement trajectory may include n trajectory points, such as {P1, P2, P3…P…} n}, each trajectory point P i The corresponding trajectory point information can include the location information mentioned above, such as latitude and longitude. i ,lon i The trajectory point information can also include time information, such as a timestamp t. i .

[0079] Optionally, the trajectory point information corresponding to each trajectory point may also include the attitude information and / or environmental information of the mobile device at the trajectory point. The attitude information may include the speed, acceleration or orientation angle of the mobile device, and the environmental information may be collected by the sensors of the mobile device. For example, the environmental information may include image data collected based on a vision sensor or ultrasonic data collected based on an ultrasonic sensor. Based on the environmental information, the road elements corresponding to the trajectory point can be determined. The road elements may include one or more of the following elements: lane lines, curbs, parking spaces, etc.

[0080] It should be noted that the trajectory point information corresponding to the trajectory point can be used to assist the movement of mobile devices. For example, when a mobile device passes near a stored trajectory point again, it can quickly identify the surrounding environment information based on the trajectory point information corresponding to that trajectory point in order to make decisions and / or control.

[0081] Step S320: Generate road network topology data based on historical movement trajectories.

[0082] In some examples, the road network topology data may include intersection trajectory intervals and road trajectory intervals obtained based on historical movement trajectory identification, and there are no duplicate trajectory intervals in the road trajectory intervals where the distance from the center point of the intersection is greater than a first preset distance.

[0083] In some examples, the road network topology data can be displayed through a display component of a mobile device, such as a vehicle, and the display component can be an in-vehicle display screen through which the road network topology data can be displayed.

[0084] In some examples, the road network topology data can assist mobile devices in moving to a target area. For instance, a mobile device can plan its movement path from a starting area to a target area solely based on this road network topology data (i.e., without relying on other map data), thereby controlling the movement of the mobile device to the target area. This improves the efficiency of mobile device path planning.

[0085] In some examples, both the intersection trajectory range and the road trajectory range can include one or more trajectory points. These trajectory points can be connected, and this connection can characterize the direction of movement of the mobile device between these trajectory points; this connection can also be called a temporal relationship or temporal connection relationship. Thus, the trajectory points in the road network topology data and the connections between them can assist in the movement of mobile devices, such as in path planning or motion control based on the road network topology data.

[0086] In some examples, the first preset distance can be any pre-set value, such as 5 meters, 10 meters or 50 meters. This ensures that the generated road network topology data does not have duplicate trajectories in areas far from intersections, thereby reducing the amount of road network topology data and improving the efficiency of path planning and filtering.

[0087] In some examples, the intersection in the road network topology data can be an area where at least two road trajectories intersect. For instance, the intersection center point can be determined first based on the center location of the intersection of at least two road trajectories. The spatial area within a first preset distance range from the intersection center point is defined as the intersection spatial area, and the trajectory interval within this intersection spatial area in the historical movement trajectory is defined as the intersection trajectory interval corresponding to the intersection. In this way, the intersection is not just a simple intersection, but a spatial area with complex functions. Based on the intersection trajectory interval corresponding to the intersection, auxiliary information can be provided for mobile devices to pass through the intersection. Optionally, the intersection and intersection trajectory interval can also be determined based on trajectory point information in the historical movement trajectory. For instance, specific road elements can be identified based on environmental information in the trajectory point information, and the intersection and intersection trajectory interval can be determined based on these specific road elements. These specific road elements can include the end points of continuous lane lines, pedestrian crossings, and other road elements set at the intersection. In the presence of the aforementioned specific road elements, intersections can be determined based on these specific road elements. For example, the center point of the area formed by multiple specific road elements can be taken as the center point of the intersection, and the trajectory interval within the area enclosed by multiple specific road elements can be taken as the trajectory interval of the intersection.

[0088] In some examples, the road network topology data also includes the topological connections between intersection trajectory intervals and road trajectory intervals. The road network topology is formed by the intersection trajectory intervals, road trajectory intervals and the topological connections between them. Based on the road network topology, the shortest path or fastest path between two points can be determined, and the optimal movement trajectory can be efficiently planned in path planning, thereby improving the efficiency of path planning.

[0089] For example, the road network topology data can be stored and represented in the form of a road network topology graph. This graph can include at least two elements: nodes and edges, as well as the topological connections between different elements. Nodes in the graph can include the aforementioned intersection trajectory intervals, and edges between nodes can include the aforementioned road trajectory intervals. It should be noted that the road network topology data can also be stored and represented in the form of a list, serialized encoding, or a matrix.

[0090] It should be noted that, since at least some of the overlapping trajectory intervals in the historical movement trajectory have been removed from the road network topology data, the amount of road network topology data has been reduced, which can also improve the efficiency of route planning based on the road network topology data.

[0091] In some examples, the aforementioned road network topology data may be stored on a mobile device or a server corresponding to the mobile device to assist the mobile device in moving to the target area, for example, to assist the mobile device in automatically moving from the starting area to the target area.

[0092] For example, taking a vehicle as an example, when a mobile device needs to perform memory parking or memory driving functions, road network topology data can be obtained from the mobile device or a server. Without relying on other map data (i.e., in a map-less scenario), the mobile device can be controlled to move from a starting area to a target area based on the obtained road network topology data, thereby achieving memory parking or memory driving. In other words, without prior map assistance, the mobile device can be efficiently controlled to perform memory parking or memory driving functions solely based on this road network topology data.

[0093] It should be noted that in related technologies, the historical movement trajectory of a mobile device moving from a starting area to a target area under user control typically includes overlapping trajectory intervals. Repeatedly saving the same road segment trajectory results in excessive data volume, causing redundancy and making it difficult to efficiently select the optimal movement trajectory during path planning. The embodiments provided in this disclosure obtain the historical movement trajectory of a mobile device moving from a starting area to a target area under user control. Although the historical movement trajectory contains overlapping trajectory intervals, road network topology data for controlling the mobile device can be generated based on the historical movement trajectory. This road network topology data includes intersection trajectory intervals and road trajectory intervals identified based on the historical movement trajectory. Furthermore, there are no overlapping trajectory intervals in the road trajectory intervals whose distance from the intersection center point is greater than a first preset distance, which reduces the amount of stored data and improves the control efficiency of the mobile device. Moreover, including intersection trajectory intervals and road trajectory intervals in the road network topology data provides more selection space for path planning, enabling the shortest or fastest path to be quickly planned during the path planning process, further improving the path planning and control efficiency of the mobile device.

[0094] In some embodiments of this disclosure, step S320, which generates road network topology data based on the historical movement trajectory, may include steps S321 to S323.

[0095] Step S321: Generate a target movement trajectory without repeated trajectory intervals based on the historical movement trajectory.

[0096] In some examples, historical movement trajectories can be deduplicated to obtain target movement trajectories without duplicate trajectory intervals. Methods for deduplicating historical movement trajectories include identifying and merging overlapping trajectory intervals in the historical movement trajectory, retaining only the representative and unique trajectory intervals, thereby saving storage costs and computational overhead in subsequent processing.

[0097] The above-mentioned deduplication process for historical movement trajectories includes deduplication within a single historical movement trajectory and deduplication between multiple historical movement trajectories.

[0098] In other examples, the method for generating a target movement trajectory without duplicate trajectory intervals based on historical movement trajectories in this step may include: identifying one or more duplicate trajectory intervals in the historical movement trajectory; for any duplicate trajectory interval, merging multiple historical trajectory segments in the duplicate trajectory interval to obtain a deduplicated trajectory; and generating the target movement trajectory based on the deduplicated trajectory and the non-duplicate trajectory intervals in the historical movement trajectory.

[0099] In this repeated trajectory interval, there are multiple historical trajectory segments, and the minimum distance between each trajectory point on any historical trajectory segment and other historical trajectory segments is less than a second preset distance. This second preset distance can be any pre-set value.

[0100] For example, if the distance between two adjacent trajectory points in the historical movement trajectory is equal, the repeated trajectory intervals in the historical movement trajectory can be directly determined based on the historical movement trajectory.

[0101] For example, if the distances between any two adjacent trajectory points in the historical trajectory are unequal, the historical trajectory can be filtered first, and multiple trajectory points can be inserted into the filtered historical trajectory using an equidistant interpolation algorithm to obtain an interpolated trajectory. In this interpolated trajectory, the distances between any two adjacent trajectory points are equal, and the trajectory points in the interpolated trajectory lie on the lines connecting the trajectory points of the historical trajectory. One historical trajectory corresponds to one interpolated trajectory. Next, the repeated trajectory intervals in the interpolated trajectory are determined as repeated trajectory intervals in the historical trajectory. It should be noted that if the historical trajectory includes multiple trajectory points, and the distances between any two adjacent trajectory points are unequal, this will increase the difficulty of subsequent calculations. Therefore, this example uses equidistant interpolation on the filtered historical trajectory to ensure uniform distances between trajectory points, and that the distances between any two adjacent trajectory points in the interpolated trajectory are equal. In this way, while ensuring that the distances between trajectory points conform to the interpolation distance, each interpolated point lies on the line connecting the historical trajectory points, which maximizes the preservation of the shape characteristics of the historical trajectory, thereby improving the accuracy of trajectory deduplication.

[0102] The aforementioned distances can be Euclidean distance, Dynamic Time Warping (DTW) distance, Hausdorff distance, or Fraser distance.

[0103] Let's take identifying the repeating trajectory intervals in a historical movement trajectory as an example to illustrate this. Figure 4AThis is a schematic diagram of a historical movement trajectory provided in an embodiment of this disclosure. For example... Figure 4A As shown, the historical movement trajectory 'a' can include multiple historical trajectory segments. For example, the historical trajectory segments of historical movement trajectory 'a' can be arranged in chronological order as follows: label 1 -> label 2 -> label 3 -> label 4 -> label 5 -> label 6 -> label 7. The historical trajectory segment labeled 2 includes trajectory points a1, a2, and a3, and the historical trajectory segment labeled 6 includes trajectory points a4, a5, and a6. Furthermore, the distance between trajectory points a1 and a4 is less than a second preset distance, the distance between trajectory points a2 and a5 is less than a second preset distance, and the distance between trajectory points a3 and a6 is less than a second preset distance. This indicates that the historical trajectory segments labeled 2 and 6 overlap spatially, and the trajectory interval between a1 and a3 can be considered a repeated trajectory interval within the historical movement trajectory 'a'. Further, the start and end points of this repeated trajectory interval can be determined; for example, the start point can be a1, and the end point can be a3. Alternatively, the trajectory interval between a4 and a6 can be considered as a repeated trajectory interval within the historical movement trajectory a. Furthermore, the start and end points of this repeated trajectory interval can be determined; for example, the start point could be a4 and the end point could be a6.

[0104] Let's take identifying the overlapping trajectory interval between any two historical movement trajectories as an example to illustrate this. Figure 4B This is a schematic diagram of two historical movement trajectories provided in an embodiment of this disclosure, as shown below. Figure 4BAs shown, historical trajectory b can include multiple historical trajectory segments, for example, the historical trajectory segments of historical trajectory b are arranged in chronological order as: label 1 -> label 2 -> label 3. Historical trajectory c can also include multiple historical trajectory segments, for example, historical trajectory c is arranged in chronological order as: label 4 -> label 5. The historical trajectory segment labeled 3 includes trajectory points b1, b2, and b3, and the historical trajectory segment labeled 5 includes trajectory points c1, c2, and c3. Furthermore, the distance between trajectory points b1 and c1 is less than a second preset distance, the distance between trajectory points b2 and c2 is less than a second preset distance, and the distance between trajectory points b3 and c3 is less than a second preset distance, indicating that the historical trajectory segments labeled 3 and 5 overlap spatially. The trajectory interval between b1 and b3 can be considered a repeated trajectory interval between historical trajectory b and historical trajectory c. Further, the start and end points of this repeated trajectory interval can be determined; for example, the start point of this repeated trajectory interval can be b1, and the end point can be b3. Alternatively, the trajectory interval between c1 and c3 can be considered as a repeated trajectory interval between historical trajectory b and historical trajectory c. Furthermore, the start and end points of this repeated trajectory interval can be determined; for example, the start point can be c1 and the end point can be c3.

[0105] In one example, the method of merging multiple historical trajectory segments in any repeated trajectory interval to obtain a deduplicated trajectory can include: for any repeated trajectory interval, performing a weighted average of multiple historical trajectory segments in the repeated trajectory interval to generate a new trajectory as the deduplicated trajectory.

[0106] In some examples, the method of merging multiple historical trajectory segments in any repeated trajectory interval to obtain a single deduplicated trajectory may include: for any repeated trajectory interval, performing Kalman filtering fusion on multiple historical trajectory segments in the repeated trajectory interval, and using the fused trajectory as the deduplicated trajectory.

[0107] In some examples, the method of merging multiple historical trajectory segments within a given repeated trajectory interval to obtain a single deduplicated trajectory can also include: for any repeated trajectory interval, ranking the historical trajectory segments from highest to lowest quality, and using the historical trajectory segment with the highest quality as the deduplicated trajectory. Typically, trajectory quality can be measured using trajectory metrics, which may include trajectory smoothness, the number of trajectory points, or trajectory generation time.

[0108] Step S322: Based on the target movement trajectory, identify one or more intersections and the corresponding intersection trajectory intervals.

[0109] In some examples, the method of identifying one or more intersections based on the target movement trajectory in this step may include: determining the target endpoint in the target movement trajectory and the movement trajectory segment corresponding to the target endpoint; for any target endpoint, if the movement trajectory segment corresponding to the target endpoint satisfies the preset constraints, determining the intersection based on the target endpoint.

[0110] The target endpoint can be the endpoint of the aforementioned repeated trajectory interval, which may include the start point and / or end point of the interval. For example, if multiple historical trajectory segments exist within the repeated trajectory interval, and if the distance between the trajectory points of these segments is less than a second preset distance for the first time, the corresponding trajectory point can be used as the start point of the repeated trajectory interval, and the search can proceed from the start point onwards. If the distance between the trajectory points of these segments is greater than or equal to the second preset distance for the first time, the corresponding trajectory point can be used as the end point of the repeated trajectory interval.

[0111] The preset constraints can include a number of movement trajectory segments greater than a preset number and an angle between any two movement trajectory segments less than a preset angle. For example, the preset number can be 2 or other preset values, and the preset angle can be any preset value based on practical experience, such as 30°. These preset constraints can accurately identify the target endpoint as a multi-channel node like an intersection, excluding single-channel nodes such as reversing or U-turns.

[0112] It should be noted that an intersection can involve at least three movement trajectory segments. Therefore, when a target endpoint involves three or more movement trajectory segments, the target endpoint may be an intersection.

[0113] The target movement trajectory can be generated based on the deduplicated trajectory and the non-repeating trajectory intervals in the historical movement trajectory. The movement trajectory segment corresponding to the target endpoint can be a deduplicated trajectory segment. For example, for any target endpoint, firstly, the movement trajectory segment corresponding to the target endpoint is found in the target movement trajectory. Each movement trajectory segment can have a preset length, such as 5m. The orientation of each movement trajectory segment is calculated, where the orientation represents the direction from the target endpoint towards the movement trajectory segment outside the target endpoint. Next, based on the orientation of the movement trajectory segment corresponding to the target endpoint, the angle between every two movement trajectory segments is calculated. Then, it is determined whether there are at least three movement trajectory segments, and the angle between any two of these at least three movement trajectory segments is greater than 30 degrees. If there are at least three movement trajectory segments, and the angle between any two adjacent movement trajectory segments is greater than 30°, an intersection can be further determined based on the target endpoint. If there are no at least three movement trajectory segments, an intersection cannot be determined based on the target endpoint. If there are at least three movement trajectory segments, but the angle between two of these segments is less than or equal to 30°, it is impossible to determine an intersection based on the target endpoint.

[0114] Figure 5 This is a schematic diagram of intersection recognition provided in an embodiment of this disclosure. Figure 5 As shown, for target endpoint A, the corresponding movement trajectory segments are found to include movement trajectory segment 1, movement trajectory segment 2, and movement trajectory segment 3. Each of these three movement trajectory segments can be a preset length, such as 5 meters. The orientation of each of these three historical movement trajectory segments is determined, where the orientation of each movement trajectory segment represents the direction from the target endpoint A towards the movement trajectory segment outside of target endpoint A. Based on the orientation of the movement trajectory segments corresponding to target endpoint A, the angles between each pair of movement trajectory segments 1, 2, and 3 are calculated. If the angles between each pair of movement trajectory segments 1, 2, and 3 are all greater than 30°, an intersection can be determined based on target endpoint A. For example, target endpoint A can be directly considered as an intersection, or multiple adjacent target endpoints can be combined into one intersection.

[0115] In some examples, the target endpoint can be directly considered as an intersection. For instance, if there are at least three movement trajectory segments at the target endpoint, and the angle between any two of these three movement trajectory segments is greater than 30°, then the target endpoint can be directly considered as an intersection.

[0116] In other examples, one or more intersections can be determined based on the distances between multiple target endpoints. For instance, if the distance between one target endpoint and another adjacent target endpoint is less than a third preset distance, the two adjacent target endpoints can be merged into one intersection. This third preset distance can be any pre-set value, such as 5 meters, 10 meters, or 50 meters. In some examples, this third preset distance can be less than or equal to a first preset distance. If the distance between a target endpoint and another adjacent target endpoint is less than this third preset distance, it indicates that the target endpoint and the adjacent target endpoint are spatially very close, and in this case, the target endpoint and the adjacent target endpoint can be merged into one intersection. For example, if there are at least three movement trajectory segments at target endpoint 1, and the angle between any two of these at least three movement trajectory segments is greater than 30°; and there are at least three movement trajectory segments at target endpoint 2, and the angle between any two of these at least three movement trajectory segments is greater than 30°; and target endpoint 1 and target endpoint 2 are adjacent and the distance between the target endpoints is less than the third preset distance, then target endpoint 1 and target endpoint 2 can be merged into one intersection. In this way, by merging multiple adjacent target endpoints to obtain a complete intersection, more accurate road network topology data can be obtained.

[0117] Step S323: Generate road network topology data based on the identified intersection trajectory range and target movement trajectory.

[0118] For example, the deduplicated trajectory intervals and the non-repeating trajectory intervals in the historical movement trajectory can be used as road trajectory intervals. Based on the intersection trajectory intervals, road trajectory intervals, and the connection relationship between the two, road network topology data can be constructed.

[0119] In some embodiments of this disclosure, after generating the aforementioned road network topology data, the method may further include: obtaining repeated historical trajectory intervals within the historical movement trajectory whose distance from the intersection center point is less than or equal to the aforementioned first preset distance; and updating the road network topology data according to the temporal relationship between the trajectory points in the repeated historical trajectory intervals and other trajectory points in the historical movement trajectory. For example, based on the temporal relationship, existing road trajectory intervals in the road network topology data can be connected with repeated historical trajectory intervals at intersections to form a topology connecting intersections and roads.

[0120] In some examples, repeated historical trajectory intervals can be included as part of the intersection trajectory intervals corresponding to the intersections in the road network topology data, so that repeated historical trajectory intervals near the intersections are retained in the road network topology data as empirical trajectories of the intersections.

[0121] In this embodiment, the road network topology data is updated using repeated historical trajectory intervals from historical movement trajectories. This yields empirical trajectories for intersections and constructs a topology connecting multiple roads on both sides of the intersection. Thus, for complex scenarios like intersections, using empirical trajectories (i.e., repeated historical trajectory intervals) as a reference for path planning reduces planning difficulty and improves equipment control efficiency.

[0122] For example, multiple repeated historical trajectory intervals within the historical movement trajectory that are less than or equal to the intersection can be filled into the intersection trajectory interval in the road network topology data corresponding to that intersection.

[0123] For example, multiple repeated trajectories in the historical movement trajectory within the repeated historical trajectory interval that are less than or equal to the first preset distance from the intersection can be fitted to generate a new trajectory, and the new trajectory can be filled into the intersection trajectory interval in the road network topology data corresponding to the intersection.

[0124] Figure 6 This is a schematic flowchart of a road network topology data generation method provided in an embodiment of this disclosure. This road network topology data generation method can be... Figure 1 The illustrated mobile device and / or server execute. For example... Figure 6 As shown, the control method of this embodiment may include the following steps S610 to S660.

[0125] Step S610: Obtain the historical movement trajectory of the mobile device from the starting area to the target area under user control.

[0126] This historical movement trajectory includes overlapping trajectory intervals in terms of location.

[0127] Step S620: Generate a target movement trajectory without repeated trajectory intervals based on the historical movement trajectory.

[0128] For example, one or more repeated trajectory intervals in the historical movement trajectory can be identified; for any repeated trajectory interval, multiple historical trajectory segments in the repeated trajectory interval are deduplicated and merged to obtain a deduplicated trajectory; based on the deduplicated trajectory and the non-repeating trajectory intervals in the historical movement trajectory, the target movement trajectory is generated.

[0129] It should be noted that the above steps are equivalent to deleting duplicate trajectories from the historical movement trajectory. At this point, it is necessary to record the first and last numbers of the target endpoint, i.e., the loop point, through virtual points to facilitate intersection recognition.

[0130] Reference Figure 4AFor historical trajectory a, the historical trajectory segments labeled 2 and 6 are repeated trajectories. The historical trajectory segment labeled 6 is deleted. At this time, historical trajectory a is divided into a non-loop trajectory segment composed of labeled 1->label 2->label 3->label 4->label 5, and another non-loop trajectory segment composed of labeled 7.

[0131] Next, the temporal relationship between the trajectories is preserved. The trajectory numbers within the non-looping trajectory segments composed of labels 1 -> 2 -> 3 -> 4 -> 5 and label 7 are consecutive, but the numbers of the critical trajectory points between them are not consecutive. In this case, the temporal association is preserved by assigning virtual point IDs. (Refer to...) Figure 4A The historical trajectory segment labeled 6 is considered a repeated trajectory. Point a1 is the starting point of the loop, denoted as k, and k+m is the point before the loop occurs. The historical trajectory segment labeled 6, as a deleted repeated trajectory, retains only the indices {k+m+1, k+m+2} of the first and last points in the historical movement trajectory a, corresponding to two virtual points. Point a3 is the ending point of the loop, denoted as k+n, and k+m+3 is the point after the loop ends. At this point, the ID of point a1 can be represented as {k, k+m+1}, and the ID of point a3 can be represented as {k+n, k+m+2}.

[0132] Step S630: Based on the target movement trajectory, identify one or more intersections and the corresponding intersection trajectory intervals.

[0133] For example, the target endpoint in the target movement trajectory can be determined. For any target endpoint, if the movement trajectory segment corresponding to the target endpoint satisfies the preset constraints, the intersection can be determined based on the target endpoint.

[0134] It should be noted that this step can distinguish whether the target endpoint (loop point) in the target movement trajectory is a multi-channel node such as an intersection, and exclude single-channel nodes such as reversing or U-turns. The intersections identified in this step can be called loop intersections.

[0135] Step S640: Generate road network topology data based on the identified intersection trajectory range and target movement trajectory.

[0136] Based on the segmentation of the trajectory, Figure 4AThe loop-free trajectory segment consisting of labels 1 -> 2 -> 3 -> 4 -> 5 is broken into trajectory segment 1 (composed of the trajectory containing label 1), trajectory segment 2 (composed of the trajectory containing label 3), and trajectory segment 3 (composed of the trajectory containing labels 3 -> 4 -> 5) based on the location of the loop point. Each trajectory segment represents a road interval tracker, i.e., an edge in the road network topology data (e.g., a road network topology graph). Next, based on the id design in step S620, the topological relationship between the intersection and the road interval tracker is connected according to the id, and the intersection is constructed as a node in the road network topology graph. The specific rule is: for the intersection trajectory point id: k, find its adjacent trajectory points k-1 and k+1. If the adjacent trajectory points and the intersection trajectory points are in the same single trajectory and are not virtual points, then a topological relationship exists. Refer to... Figure 4A Trajectory segment 1 -> Intersection 1 -> Trajectory segment 2. For the intersection trajectory point id: k, find its corresponding dummy node id to get k+m+1. Find the neighboring trajectory points of the virtual node: k+m, k+m+2. If there is an adjacent trajectory point that is not a virtual point (k+m), even if they are in different single-trip trajectory segments, connect the topology: Trajectory segment 3 -> Intersection 1.

[0137] In this step, empirical trajectories can also be used to fill in the intersection trajectory intervals. For example, repeated historical trajectory intervals within the historical movement trajectory that are less than or equal to a first preset distance from the center point intersection can be obtained, and the road network topology data can be updated based on the temporal relationship between the trajectory points in the repeated historical trajectory intervals and other trajectory points in the historical movement trajectory.

[0138] Step S650: Generate or update road elements in the road network topology data based on the environmental information corresponding to the historical movement trajectory.

[0139] For example, the environmental information in the trajectory point information corresponding to each trajectory point of the historical movement trajectory may include image data acquired based on a visual sensor or ultrasonic data acquired based on an ultrasonic sensor. Based on this environmental information, point cloud data can be generated, and road elements such as intersections, lane lines, curbs, and parking spaces in the environment can be identified based on the point cloud data, thereby generating or updating road elements in the road network topology data.

[0140] It should be noted that intersections identified solely based on historical movement trajectories without relying on environmental information can be called loop intersections; intersections identified based on environmental information can be called non-loop intersections.

[0141] It can also determine the intersection trajectory range for non-loop intersections and fill in the empirical trajectory.

[0142] It should be noted that the fact that the historical movement trajectory never forked does not mean that there were no intersections. Therefore, in this step, intersections and the trajectory range of those intersections can be further extracted based on environmental information.

[0143] Step S660: Store road network topology data.

[0144] The road network topology data can be road network topology data from the starting area to the target area. This road network topology data can be stored on a mobile device or a server corresponding to the mobile device to assist the mobile device in traveling from the starting area to the target area.

[0145] The above method can reduce the amount of road network topology data, improve the control efficiency of mobile devices, and provide more options for path planning by including intersection trajectory intervals and road trajectory intervals in the road network topology data. This allows for the rapid planning of the shortest or fastest path during the path planning process, thereby improving the path planning and control efficiency of mobile devices.

[0146] Figure 7 This is a flowchart illustrating a control method provided in an embodiment of this disclosure. The control method can be... Figure 1 This can be executed by the shown mobile device and / or server. It can also be executed by any electronic device. For example... Figure 7 As shown, the method may include steps S710 to S720.

[0147] Step S710: Obtain road network topology data based on the starting area and target area of ​​the mobile device.

[0148] The road network topology data is stored on a mobile device or a server corresponding to the mobile device. This road network topology data can be road network topology data from the starting area to the target area, including intersections and roads, such as intersection trajectory intervals and road trajectory intervals.

[0149] In some examples, the road network topology data can be generated at least based on the historical movement trajectory of a mobile device moving from a starting area to a target area under user control. This historical movement trajectory may include overlapping trajectory intervals. The road network topology data may include intersection trajectory intervals and road trajectory intervals identified based on the historical movement trajectory, and there are no overlapping trajectory intervals in the road trajectory intervals whose distance from the intersection center point is greater than a first preset distance.

[0150] The first preset distance can be any pre-set value, such as 5 meters, 10 meters or 50 meters. This ensures that there are no duplicate trajectories in the road network topology data in areas far from the intersection, which can reduce the amount of road network topology data and improve the efficiency of path planning and filtering.

[0151] Step S720: Control the mobile device to move from the starting area to the target area according to the road network topology data.

[0152] For example, route planning can be performed based on road network topology data to quickly find the shortest or fastest path. Since at least some of the repeating trajectory intervals are not stored in the road network topology data, the efficiency of route planning and the control efficiency of mobile devices can be improved.

[0153] Using the above method, the shortest or fastest path can be quickly planned during the path planning process, improving the path planning and control efficiency of mobile devices.

[0154] In some examples, this step of controlling the movement of a mobile device from a starting area to a target area based on road network topology data may include: controlling the movement of the mobile device based on road network topology data without relying on other map data (such as navigation maps) other than road network topology data.

[0155] For example, taking a vehicle as an example of a mobile device, when the vehicle needs to perform memory parking or memory driving functions, road network topology data can be obtained from the vehicle or server. Without relying on other map data besides road network topology data (i.e., in a map-less scenario), the vehicle can be controlled to move from the starting area to the target area based on the obtained road network topology data, thereby achieving memory parking or memory driving. In other words, without prior map assistance, the vehicle can be controlled to efficiently perform memory parking or memory driving functions solely based on this road network topology data.

[0156] According to embodiments of this disclosure, the road network topology data of a mobile device may include intersection trajectory intervals and road trajectory intervals obtained based on historical movement trajectory identification. Furthermore, there are no duplicate trajectory intervals in the road trajectory intervals where the distance to the center point of the intersection is greater than a first preset distance. The road network topology data can be stored on the mobile device or a server corresponding to the mobile device to assist the mobile device in moving to the target area. This reduces the amount of data stored in the road network topology data, improves path planning and filtering efficiency, and effectively identifies intersection trajectory intervals and road trajectory intervals, providing more options for path planning. This allows for rapid planning of the shortest or fastest path, improving path planning efficiency.

[0157] Figure 8 A schematic diagram of the structure of an electronic device is provided in the disclosed embodiments. For example... Figure 8As shown, the electronic device 1000 may include a memory 1010 and a processor 1020. The memory 1010 may be used to store computer instructions, and the processor 1020 may be used to retrieve computer instructions from the memory 1010 to execute all or part of the steps of any of the methods in the foregoing embodiments of this disclosure. The processor may be one or more processors, which may execute instructions individually or jointly. Similarly, the memory may be one or more memories, which may store the aforementioned computer instructions individually or jointly.

[0158] In some examples, the electronic device can be Figure 1 The electronic device is a server and / or a mobile device. In other examples, the electronic device can also be any electronic device, such as a controller for a mobile device.

[0159] This disclosure also provides a mobile device that may include a memory and a processor. The memory may be used to store computer instructions, and the processor may be used to retrieve the computer instructions from the memory to perform all or part of the steps of any of the methods in the foregoing embodiments of this disclosure. The processor may be one or more processors, which may execute the instructions individually or jointly. Similarly, the memory may be one or more memories, which may store the aforementioned computer instructions individually or jointly.

[0160] The mobile device provided in this embodiment can be... Figure 1 or Figure 2 The mobile device shown is, in some examples, a vehicle, which may be an electric vehicle, a hybrid vehicle, a fuel cell vehicle, or another type of vehicle. The vehicle may be an autonomous vehicle or a non-autonomous vehicle.

[0161] This disclosure also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the methods in the foregoing embodiments of this disclosure. Optionally, the computer-readable storage medium may be a non-transitory storage medium, but is not limited thereto; it may also be a temporary storage medium.

[0162] This disclosure also provides a chip that may include a processing unit, which can be used to execute all or part of the steps of any of the methods in the foregoing embodiments of this disclosure. The chip may be in the form of an Application-Specific Integrated Circuit (ASIC), a System-on-Chip (SOC), a Field-Programmable Gate Array (FPGA), etc., and this embodiment is not limited to this. Optionally, the chip may further include a storage unit, which can be used to store computer instructions. The processing unit can be used to retrieve the computer instructions from the storage unit to execute all or part of the steps of any of the methods in the foregoing embodiments of this disclosure.

[0163] This disclosure also provides a computer program product that may include a computer program that, when executed by a processor, can implement any of the methods described in the foregoing embodiments of this disclosure.

[0164] This disclosure may be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement any of the methods in the foregoing embodiments of this disclosure.

[0165] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0166] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.

[0167] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.

[0168] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0169] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0170] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0171] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions. It should be noted that implementation in hardware, implementation in software, and implementation using a combination of software and hardware are all equivalent.

[0172] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or improvement of the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of this disclosure is defined by the appended claims.

Claims

1. A method for generating road network topology data, characterized in that, The method includes: The historical movement trajectory of a mobile device moving from a starting area to a target area under user control is obtained; wherein, the historical movement trajectory includes overlapping trajectory intervals, and the historical movement trajectory is one or more; Road network topology data is generated based on the historical movement trajectory. The road network topology data includes intersection trajectory intervals and road trajectory intervals identified based on the historical movement trajectory. No duplicate trajectory intervals exist in road trajectory intervals where the distance to the intersection center point is greater than a first preset distance. Duplicate trajectory intervals exist as path planning references in intersection trajectory intervals where the distance to the intersection center point is less than or equal to the first preset distance. Multiple historical trajectory segments exist within each duplicate trajectory interval, and the minimum distance between each trajectory point on any historical trajectory segment and other historical trajectory segments is less than a second preset distance. The road network topology data is stored on the mobile device or on a server corresponding to the mobile device to assist the mobile device in moving to the target area.

2. The method according to claim 1, characterized in that, The step of generating road network topology data based on the historical movement trajectory includes: Generate a target movement trajectory without the repeated trajectory intervals based on the historical movement trajectory; Based on the target movement trajectory, one or more intersections and the corresponding intersection trajectory intervals are identified; The road network topology data is generated based on the intersection trajectory range and the target movement trajectory.

3. The method according to claim 2, characterized in that, The step of generating a target movement trajectory without the repeated trajectory intervals based on the historical movement trajectory includes: Identify one or more repeating trajectory intervals in the historical movement trajectory; For any repeated trajectory interval, multiple historical trajectory segments in the repeated trajectory interval are deduplicated and merged to obtain a deduplicated trajectory. The target movement trajectory is generated based on the deduplicated trajectory and the non-repeating trajectory intervals in the historical movement trajectory.

4. The method according to claim 2, characterized in that, One or more intersections are identified based on the target movement trajectory, including: Determine the target endpoint in the target movement trajectory and the movement trajectory segment corresponding to the target endpoint; wherein, the target endpoint is the interval endpoint of the repeated trajectory interval; For any target endpoint, if the movement trajectory segment corresponding to the target endpoint satisfies the preset constraints, an intersection is determined based on the target endpoint; wherein, the preset constraints include the number of movement trajectory segments being greater than a preset number and the angle between any two movement trajectory segments being greater than a preset angle.

5. The method according to claim 4, characterized in that, Determining the intersection based on the target endpoint includes: Treat the target endpoint as an intersection; or, If the distance between the target endpoint and another adjacent target endpoint is less than a third preset distance, the two adjacent target endpoints will be merged into one intersection.

6. The method according to claim 2, characterized in that, The method further includes: Obtain the intervals of repeated historical trajectories in the historical movement trajectory that are less than or equal to the center point of the intersection; The road network topology data is updated based on the temporal relationship between the trajectory points in the repeated historical trajectory interval and other trajectory points in the historical movement trajectory.

7. A control method, characterized in that, The method includes: Based on the starting and target areas of the mobile device, road network topology data is obtained; wherein the road network topology data is stored on the mobile device or on a server corresponding to the mobile device. The mobile device is controlled to move from the starting area to the target area based on the road network topology data. The road network topology data is generated at least based on the historical movement trajectory of the mobile device moving from the starting area to the target area under user control. The historical movement trajectory includes overlapping trajectory intervals. The historical movement trajectory is one or more. The road network topology data includes intersection trajectory intervals and road trajectory intervals identified based on the historical movement trajectory. There are no overlapping trajectory intervals in the road trajectory intervals where the distance from the center point of the intersection is greater than a first preset distance. There are overlapping trajectory intervals in the intersection trajectory intervals where the distance from the center point of the intersection is less than or equal to the first preset distance, which can be used as a reference for path planning. There are multiple historical trajectory segments in the overlapping trajectory intervals, and the minimum distance between each trajectory point on any one of the historical trajectory segments and other historical trajectory segments is less than a second preset distance.

8. The method according to claim 7, characterized in that, The step of controlling the mobile device to move from the starting area to the target area based on the road network topology data includes: Without relying on other map data besides the road network topology data, the mobile device is controlled to move from the starting area to the target area based on the road network topology data.

9. An electronic device, characterized in that, The method includes a memory and a processor, the memory being used to store computer instructions, and the processor being used to retrieve the computer instructions from the memory to perform the method of any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the method of any one of claims 1 to 8.

Citation Information

Patent Citations

  • Method and device for acquiring lane line topology based on crowdsourcing trajectory, equipment and medium

    CN115752486A

  • Road intersection determination method and device, electronic equipment and storage medium

    CN116052453A

  • Path planning method and device, computer equipment and storage medium

    CN117740012A