A flow line generation method, device, equipment and medium

By acquiring spatial location data and using a multi-dimensional path search algorithm to generate home circulation routes, and by combining multi-dimensional weights to consider obstacles and corners, the problem of chaotic intersections and node competition in home circulation planning is solved. The generated circulation routes are reasonable, aesthetically pleasing, and conform to human walking habits.

CN122389339APending Publication Date: 2026-07-14KE COM (BEIJING) TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
KE COM (BEIJING) TECHNOLOGY CO LTD
Filing Date
2026-04-23
Publication Date
2026-07-14

Smart Images

  • Figure CN122389339A_ABST
    Figure CN122389339A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a flow line generation method, device, equipment and medium, wherein the method comprises: obtaining position data of a space and semantic must-pass points corresponding to a plurality of flow line types respectively, wherein one flow line type corresponds to a plurality of semantic must-pass points; determining the space must-pass points of the semantic must-pass points in the space based on the position data, wherein one flow line type corresponds to a plurality of space must-pass points; and generating flow lines corresponding to the plurality of flow line types respectively by using a multi-dimensional path search algorithm based on the space must-pass points corresponding to the plurality of flow line types respectively, wherein a multi-dimensional weight is introduced in the multi-dimensional path search algorithm for cost calculation, and the multi-dimensional weight is associated with at least one of obstacles, other flow lines and corners in the space. The present disclosure solves the problem of multiple flow lines competing for nodes, and improves the effect of flow lines in practicality, rationality and aesthetics.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a method, apparatus, device and medium for generating movement paths. Background Technology

[0002] Currently, home circulation planning typically relies on traditional manual planning methods based on the designer's experience or automated planning methods based on standard path search algorithms. Standard path search algorithms generate circulation routes by finding the shortest path, but they have drawbacks such as a single objective that cannot meet complex circulation needs, chaotic intersections of circulation routes, and competition among circulation route nodes. Summary of the Invention

[0003] To solve the above-mentioned technical problems, or at least partially solve them, this disclosure provides a method, apparatus, device, and medium for generating movement paths.

[0004] This disclosure provides a method for generating movement paths, the method comprising: Acquire spatial location data and semantically necessary points corresponding to multiple movement types, wherein one movement type corresponds to multiple semantically necessary points; Based on the location data, the semantically necessary points are determined as spatially necessary points in the space, wherein one movement type corresponds to multiple spatially necessary points; Based on the necessary points in space corresponding to the multiple movement path types, a multi-dimensional path search algorithm is used to generate movement paths corresponding to the multiple movement path types. The multi-dimensional path search algorithm introduces multi-dimensional weights for cost calculation, and the multi-dimensional weights are associated with at least one of obstacles, other movement paths, and corners in the space.

[0005] Optionally, the location data includes object coordinates, and determining the spatially necessary pathpoint of the semantically necessary point in space based on the location data includes: Determine the coordinates of the necessary point corresponding to the semantically necessary point based on the object coordinates; A pathfinding grid is constructed in a two-dimensional map of the space based on a preset distance, wherein the pathfinding grid includes multiple nodes; The node that is closest to the coordinates of the necessary path point in the pathfinding grid is determined as the necessary path point in space.

[0006] Optionally, determining the coordinates of the necessary point corresponding to the semantically necessary point based on the object coordinates includes: Extract multiple matching coordinates of the semantically necessary points from the object coordinates; If the semantic mandatory point corresponds to a path type, the center point coordinates of the multiple matching coordinates are determined as the corresponding mandatory point coordinates; If the semantically necessary point corresponds to at least two movement types, a center line is determined based on the multiple matching coordinates, and the coordinates of at least two equally divided points on the center line are determined as the corresponding necessary point coordinates. The number of equally divided point coordinates is the same as the number of movement types corresponding to the semantically necessary point.

[0007] Optionally, the step of generating the movement paths corresponding to the multiple movement path types based on the spatially necessary points corresponding to each of the multiple movement path types using a multi-dimensional path search algorithm includes: The generation order of the multiple movement line types is determined according to their length from longest to shortest. According to the generation order, the plurality of movement path types are sequentially determined as the first movement path type; Based on multiple necessary spatial points corresponding to the first path type, the multidimensional path search algorithm is used to generate the path of the first path type.

[0008] Optionally, based on multiple necessary spatial points corresponding to the first path type, the multi-dimensional path search algorithm is used to generate a path for the first path type, including: The two spatially necessary points with the largest distance among the multiple spatially necessary points of the first path type are determined as the start point and the end point; The multidimensional path search algorithm is used to generate a path from the starting point to the ending point.

[0009] Optionally, generating a path from the starting point to the ending point using the multidimensional path search algorithm includes: Take the starting point as the first node; The costs of accessing multiple adjacent second nodes from the first node are determined based on the multidimensional weights using a multidimensional cost function. The second node with the lowest cost among the plurality of second nodes is determined as the intermediate point; Update the intermediate point to the first node, and continue to determine intermediate points until the intermediate point is the endpoint; The line connecting the starting point, at least one of the intermediate points, and the ending point is defined as the movement path.

[0010] Optionally, the multidimensional weights include balance weights, interaction penalty weights, and corner penalty weights. A multidimensional cost function is used to determine multiple costs for accessing multiple adjacent second nodes from the first node based on these multidimensional weights, including: For each of the second nodes, a first cost is determined based on the balance weights and the estimated cost from the second node to the endpoint; Determine the interaction penalty weight of the second node, and determine the first penalty cost for accessing the second node from the first node based on the interaction penalty weight; The second penalty cost is determined based on the corner penalty weight and the number of corners from the first node to the second node; The sum of the first cost, the first penalty cost, and the second penalty cost is determined as the second cost for the first node to access the second node.

[0011] Optionally, determining the interaction penalty weight of the second node includes: The obstacle penalty weight of the second node is determined based on the distance between the second node and the obstacle; The local movement penalty weight of the second node is determined based on the distance between the second node and the line connecting the starting point and the ending point. The penalty weights for other paths of the second node are determined based on the distance between the second node and the generated paths. The sum of the obstacle penalty weight, the current path penalty weight, and the other path penalty weights is determined as the interaction penalty weight of the second node.

[0012] Optionally, determining the first penalty cost for accessing the second node from the first node based on the interaction penalty weight includes: Determine the distance from the first node to the second node; The product of the interaction penalty weight and the distance is determined as the first penalty cost.

[0013] Optionally, the method further includes: If the second node is located on the line connecting the starting point and the ending point, then the interaction penalty weight of the second node and the corner penalty weight are both zero.

[0014] This disclosure also provides an electronic device, the electronic device comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the instructions to implement the movement line generation method provided in this disclosure.

[0015] This disclosure also provides a computer-readable storage medium storing a computer program for executing the movement path generation method provided in this disclosure.

[0016] Compared with the prior art, the technical solution provided in this disclosure has the following advantages: The path generation scheme provided in this disclosure obtains spatial location data and semantically necessary points corresponding to multiple path types, wherein one path type corresponds to multiple semantically necessary points; determines the spatially necessary points of the semantically necessary points based on the location data, wherein one path type corresponds to multiple spatially necessary points; and generates paths corresponding to multiple path types using a multi-dimensional path search algorithm based on the spatially necessary points corresponding to multiple path types, wherein the multi-dimensional path search algorithm introduces multi-dimensional weights for cost calculation, and the multi-dimensional weights are associated with at least one of obstacles, other paths, and corners in the space. By adopting the above technical solution, spatial location data can be used to determine the corresponding spatial essential points of different pre-set semantic essential points for different types of movement routes. Based on the spatial essential points of each movement route type, a multi-dimensional path search algorithm is used to generate corresponding movement routes. By combining the determination of semantic spatial essential points, the rational allocation of node resources in the movement routes is achieved, solving the problem of multiple movement routes competing for nodes. Since the multi-dimensional path search algorithm introduces multi-dimensional weights related to obstacles, other movement routes, and corners in space for cost calculation, the generated movement routes solve the problems of unreasonable paths caused by obstacles and corners, as well as the problem of chaotic intersections of movement routes, thus improving the practicality, rationality, and aesthetics of the movement routes. Attached Figure Description

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

[0018] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 A flowchart illustrating a method for generating movement paths according to an embodiment of this disclosure; Figure 2 A flowchart illustrating another method for generating movement paths provided in this embodiment of the present disclosure; Figure 3 A schematic flowchart illustrating another method for generating movement paths provided in this embodiment of the present disclosure; Figure 4 A schematic diagram of a path generation process provided in an embodiment of this disclosure; Figure 5 This is a schematic diagram of a spatial circulation path provided by an embodiment of the present disclosure; Figure 6This is a schematic diagram of the structure of a movement path generation device provided in an embodiment of the present disclosure; Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0020] To better understand the above-mentioned objectives, features, and advantages of this disclosure, the solutions disclosed herein will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.

[0021] Numerous specific details are set forth in the following description in order to provide a full understanding of this disclosure, but this disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some, and not all, of the embodiments of this disclosure.

[0022] In related technologies, the working principle of automated planning methods based on standard path search algorithms is as follows: On a given two-dimensional spatial map divided into grids or navigation points, the path with the lowest cost from a specified starting point to an ending point is found. The cost is usually measured primarily by path length. When multiple movement lines need to be planned, the shortest path from the starting point to the ending point is calculated independently and sequentially for each movement line. Although the above method is very effective in finding the shortest path, when it is directly applied to the specific field of home movement planning, the following fundamental shortcomings and deficiencies are exposed: 1. The functional objective is singular, which cannot meet the complex needs of home movement. The algorithm only optimizes for "shortest path", which leads to the generated movement lines that may hug walls, pass through furniture gaps, or make frequent turns. Although the distance is shortest, the path is tortuous, irregular, and does not conform to the rationality of human walking; 2. The movement lines are independent of each other, resulting in a large number of unreasonable intersections. When planning paths independently for multiple movement lines... When generating paths, each path will independently seek the shortest path, only avoiding obstacles and not considering other paths. This easily leads to numerous intersections in public areas such as living room entrances and corridors, forming chaotic traffic nodes. 3. Lack of understanding of spatial functional semantics results in some node competition during path generation, leading to unreasonable paths. The algorithm treats nodes such as doorways as merely passable grid nodes. When multiple paths need to pass through the same node, the algorithm will plan all paths to the shortest path point at the node center, causing all paths to converge at the entrance, which is extremely unreasonable.

[0023] To address the aforementioned issues, this disclosure provides a method for generating movement paths, which will be described below with reference to specific embodiments.

[0024] Figure 1This is a flowchart illustrating a method for generating movement paths according to an embodiment of this disclosure. This method can be executed by a movement path generation device, which can be implemented using software and / or hardware, and is generally integrated into an electronic device. Figure 1 As shown, the method includes: Step 101: Obtain spatial location data and semantically necessary points corresponding to multiple movement types, wherein one movement type corresponds to multiple semantically necessary points.

[0025] The circulation method of this disclosure can be used to generate corresponding circulation routes for a space. The space can be a physical space for human activities. In this disclosure, the space can be any home space that needs circulation generation. The home space can be an indoor space for human living activities and can include multiple functional areas, such as bedrooms, living rooms, kitchens, bathrooms, studies, etc.

[0026] Spatial location data can be the location data of all objects included in the space, specifically including object coordinates. Object coordinates can include the coordinates of all objects in the space, such as walls, doors, and furniture. Object coordinates can be determined in a two-dimensional coordinate system with the center point of the space as the origin. Circulation lines can be the routes formed by users moving within the space, reflecting the movement path patterns when performing various activities within the space. Circulation lines can be divided into multiple circulation line types based on user identity and behavioral purpose; for example, multiple circulation line types can include residential, household chores, and visitor types. Semantic mandatory points can be the semantic names of nodes that must be passed through for each of the multiple circulation line types. A circulation line type can have multiple semantic mandatory points, and a semantic mandatory point can be set for at least two circulation line types. For example, the semantic mandatory point of the living room door can correspond to both the residential circulation line and the household chores circulation line types.

[0027] The movement route generation device can acquire the location data of the space where movement routes need to be generated, and acquire the semantically necessary points corresponding to multiple pre-set movement route types.

[0028] Step 102: Determine the spatially necessary points of semantically necessary points based on location data, where one movement type corresponds to multiple spatially necessary points.

[0029] A spatial mandatory point can be a mandatory point mapped in the current space based on a semantic mandatory point. A movement type has multiple spatial mandatory points, and a spatial mandatory point corresponds to only one movement type. Different movement types have different spatial mandatory points, that is, the spatial mandatory point is unique, thus avoiding competition for the same node by multiple movement lines.

[0030] For example, Figure 2 A flowchart illustrating another method for generating movement paths provided in this disclosure is shown below. Figure 2 As shown, in some embodiments, determining the spatially necessary points of semantically necessary points based on location data may include: Step 201: Determine the coordinates of the necessary points corresponding to the semantically necessary points based on the object coordinates.

[0031] The coordinates of a necessary point can be coordinates determined by semantic matching of semantically necessary points in object coordinates; they are the actual coordinates of the semantically necessary point in space.

[0032] When determining the spatial essential points of semantic essential points based on location data, the path generation device can perform semantic matching on each semantic essential point by matching the object names of all objects corresponding to the semantic essential point and the object coordinates, extract the coordinates of the object with the highest matching degree as the matching coordinates, and determine the essential point coordinates based on the matching coordinates and the number of path types corresponding to the semantic essential point. The number of matching coordinates is at least two.

[0033] In some embodiments, determining the coordinates of the necessary point corresponding to the semantically necessary point based on the object coordinates may include: extracting multiple matching coordinates of the semantically necessary point from the object coordinates; if the semantically necessary point corresponds to a movement type, determining the center point coordinates of the multiple matching coordinates as the corresponding necessary point coordinates; if the semantically necessary point corresponds to at least two movement types, determining the center line based on the multiple matching coordinates, and determining the coordinates of at least two equally divided points on the center line as the corresponding necessary point coordinates.

[0034] Matching coordinates can be the coordinates of objects that successfully match the semantic names of all objects corresponding to the semantically required point and the object coordinates in space. A semantically required point can have multiple matching coordinates. For example, if the semantically required point is "washing machine," the coordinates of the four vertices corresponding to the object name "washing machine" are the matching coordinates. The center line can be a line within the region containing multiple matching point coordinates, determined by a specific algorithm to define the geometric positional relationships. For example, if the coordinates of multiple matching points are the coordinates of the four vertices of a rectangular region, then the center point is the horizontal or vertical line segment connecting the midpoints of the two sides of the rectangular region. The coordinates of the dividing points can be the coordinates of points obtained by dividing a line segment into equal length intervals. In this paper, this can be determined based on the center line. The number of dividing point coordinates is the same as the number of movement types corresponding to the current semantically required point. For example, if the semantically required point corresponds to 3 movement types, then 3 dividing point coordinates are determined on the center line.

[0035] Specifically, when determining the coordinates of a mandatory point corresponding to a semantically mandatory point, the path generation device obtains multiple matching coordinates by semantically matching the semantically mandatory point with the object name of the object coordinates. Then, for each semantically mandatory point, it can determine the number of path types corresponding to the semantically mandatory point. If only one path type includes the semantically mandatory point, the center point coordinates of the multiple matching coordinates can be determined and used as the mandatory point coordinates of the semantically mandatory point. If at least two path types include the semantically mandatory point, at least two equally divided point coordinates can be extracted from the multiple matching coordinates as the mandatory point coordinates. Specifically, a center line can be determined based on the multiple matching coordinates, and at least two equally divided point coordinates can be extracted from the center line as the mandatory point coordinates. Each equally divided point coordinate corresponds to one path type. That is, when the semantically mandatory point involves at least two path types, an equally divided point coordinate is determined for each path type as the corresponding mandatory point coordinate. This achieves the determination of the mandatory point coordinates of the semantically mandatory point based on the number of path types corresponding to the semantically mandatory point, thus preventing multiple paths from converging at a single point at a certain node from the source.

[0036] Step 202: Construct a pathfinding grid in a two-dimensional map of space based on a preset distance, wherein the pathfinding grid includes multiple nodes.

[0037] The preset distance can be the minimum unit of movement during path generation, or the distance between adjacent nodes within the path, used to generate the pathfinding grid. The two-dimensional map of space can be a graphical representation of space visualized in a two-dimensional plane, describing the distribution and positional relationships of all objects in the space. The pathfinding grid can be a set of regular grid cells divided from the two-dimensional map of space, used to assist in generating paths within the space. The pathfinding grid can be constructed based on the preset distance, using the preset distance as the side length to construct regular grid cells. These grid cells can be, for example, square or hexagonal grids, with no specific limitation. The grid can include multiple nodes, which can be located at the vertices or other specific positions of the grid cells within the pathfinding grid.

[0038] The path generation device acquires a preset distance and constructs a pathfinding grid in a two-dimensional map of the space based on the preset distance. Nodes are then selected from this pathfinding grid during subsequent path generation.

[0039] The execution order of steps 201 and 202 in the diagram is only an example and can be executed in parallel.

[0040] Step 203: Determine the node whose coordinates are closest to the pathfinding grid as the spatial pathfinding point.

[0041] After determining the coordinates of the necessary points for each semantically necessary point and constructing a pathfinding grid, the path generation device can determine the nodes that map the coordinates of the necessary points in the pathfinding grid for each necessary point. Specifically, the nodes that are far from the coordinates of the necessary point can be determined as the corresponding spatial necessary points, thus realizing the determination of spatial necessary points.

[0042] In the above scheme, the functional semantics of the semantically essential points are introduced into the calculation by calculating the coordinates of the essential points based on the type of the movement path. The coordinates of the same semantically essential point are pre-assigned according to the access frequency of the semantically essential point, so that the essential points in the subsequent space are separated. This avoids multiple movement paths from converging at a certain node from the source and lays the foundation for the separation of subsequent movement paths, thus solving the problem of node competition in the space.

[0043] Step 103: Based on the necessary points in space corresponding to multiple movement types, generate movement lines corresponding to multiple movement types using a multi-dimensional path search algorithm. The multi-dimensional path search algorithm introduces multi-dimensional weights for cost calculation, and the multi-dimensional weights are associated with at least one of obstacles, other movement lines, and corners in space.

[0044] Among them, the multidimensional path search algorithm can be an algorithm that introduces multidimensional weights to calculate costs and then search for paths. The searched path can be used as the movement line in this paper. It can be obtained by updating the cost function based on the standard path search algorithm. The multidimensional weights are determined according to complex factors such as obstacles, other movement lines and corners in space, so as to meet the complex requirements when generating movement lines.

[0045] After determining the multiple necessary spatial points corresponding to each type of movement path, the movement path generation device uses a multi-dimensional path search algorithm to generate movement paths connecting the multiple necessary spatial points based on the multiple necessary spatial points of each movement path type, thereby obtaining multiple movement paths. The multiple movement paths are then combined to obtain the movement path result of the space.

[0046] For example, Figure 3 This is a flowchart illustrating another method for generating movement paths provided in this embodiment of the present disclosure, as shown below. Figure 3 As shown, in some embodiments, generating multiple paths corresponding to different path types using a multi-dimensional path search algorithm based on the necessary spatial points corresponding to each path type may include the following steps: Step 301: Determine the generation order of multiple movement line types according to their length from longest to shortest.

[0047] The length can be the path length of the movement route, which can be quantified by the number of nodes included in the movement route. The generation order of multiple movement route types can be the order in which the movement routes corresponding to the multiple movement route types are generated.

[0048] When generating a movement path, the movement path generation device can first obtain the generation order of multiple movement path types. Specifically, it sorts the multiple movement path types from longest to shortest to obtain the generation order. The longer the length of a movement path type, the earlier it is ranked in the generation order. That is, the generation order is from longest to shortest. For example, when multiple generation types include housework, visitors, and residence, residence has the longest length, followed by housework, and visitors has the shortest length. Therefore, the generation order from first to last is residence, housework, and visitors.

[0049] Step 302: According to the generation order, determine multiple movement line types as the first movement line type in sequence.

[0050] The first path type can be the path type currently generating a corresponding path among multiple path types. Each path type can be extracted sequentially according to its generation order as the first path type, enabling path generation based on path length priority (longer paths first, then shorter ones). This establishes the "main trunk" and "branch" relationship in the path network, ensuring that important, difficult-to-adjust long paths have priority path weight, while shorter paths act as "branch" paths to adapt to and merge into the "main trunk," thereby optimizing the overall network structure and solving the "path coordination problem." Step 303: Based on multiple necessary spatial points corresponding to the first path type, generate the path of the first path type using a multi-dimensional path search algorithm.

[0051] The movement path generation device generates a movement path for a first movement path type based on multiple necessary spatial points corresponding to the first movement path type using a multi-dimensional path search algorithm. This may include: determining the two most distant necessary spatial points among the multiple necessary spatial points of the first movement path type as the start point and the end point; and generating a movement path from the start point to the end point using a multi-dimensional path search algorithm.

[0052] The starting point can be a node where a path begins in the pathfinding grid, and the ending point can be a node where a path ends in the pathfinding grid. The path generation device determines the distance between any two necessary spatial points based on multiple necessary spatial points of the first path type, extracts the two spatial points with the largest distance, designates one as the starting point and the other as the ending point, and connects the starting and ending points. The connection method can include, for example, a straight line connection or a polyline connection, which is not limited. Then, a multi-dimensional path search algorithm can be used to generate the path from the starting point to the ending point. By prioritizing the connection of the farthest necessary spatial points within a single path, its main trunk is established, ensuring that the overall direction of the single path is holistic and expansive, avoiding local detours.

[0053] In some embodiments, generating a path from a starting point to an end point using a multidimensional path search algorithm may include: designating the starting point as a first node; using a multidimensional cost function based on multidimensional weights to determine multiple costs for accessing multiple nearest second nodes from the first node; designating the second node with the lowest cost among the multiple second nodes as an intermediate point; updating the intermediate point to the first node, and continuing to determine intermediate points until the intermediate point is the end point; and defining the line connecting the starting point, multiple intermediate points, and the end point as the path.

[0054] The first node can be the base node for searching the next node in the pathfinding network. It can start as the starting point and be continuously updated during the search. The second node can be a node in the pathfinding grid that moves one step forward in multiple directions from the origin of the first node. For example, if the pathfinding grid includes a square grid, the second node can include the four adjacent nodes in the four directions (front, back, left, and right) of the first node. Intermediate nodes can be any other node in the path besides the starting and ending points; there can be one or more intermediate nodes.

[0055] A multidimensional cost function can be a function used in multidimensional path search algorithms to calculate costs. This multidimensional cost function is based on multidimensional weight calculation, which makes the calculated cost take into account multiple factors and can meet complex needs. Optionally, multidimensional weights can include balance weights, interaction penalty weights, and corner penalty weights. Balance weights can be used to balance the estimated cost and the penalty cost. The smaller the balance weight, the lower the importance of the estimated cost and the closer it is to the global optimum. The larger the balance weight, the higher the importance of the estimated cost and the higher the search efficiency. Balance weights can be determined according to the business type, and different balance weights can be set for different business types. Interaction penalty weights can be penalty weights associated with obstacles and other paths in the space. The larger the interaction penalty weight, the greater the influence of obstacles and other paths, and the greater the penalty cost. Corner penalty weights can be penalty weights associated with corners in the space. The larger the corner penalty weight, the greater the influence of the corner, and the greater the penalty cost. Corner penalty weights are preset.

[0056] When generating a path from a starting point to a destination using a multi-dimensional path search algorithm, the path generation device can use the starting point as the first node, determine multiple second nodes adjacent to the first node in the pathfinding grid, and use a multi-dimensional cost function to determine the cost from the first node to each second node, resulting in multiple costs. The second node with the lowest cost is then used as the intermediate point of the current path. This intermediate point can then be updated to become the first node, and intermediate points can continue to be determined until the destination is reached. The starting point, at least one intermediate point, and the connecting lines between them are then defined as the path of the current first path type. This process is repeated for each path type to obtain paths corresponding to multiple path types. By introducing a multi-dimensional cost function in the multi-dimensional path search algorithm, multi-dimensional costs are introduced. Since these multi-dimensional costs are related to path length, obstacles, other paths, corners, and other multi-dimensional factors, the requirements for generating complex paths are met.

[0057] Optionally, a multidimensional cost function is used to determine multiple costs for accessing multiple adjacent second nodes from the first node based on multidimensional weights. This includes: for each second node, determining a first cost based on the balance weights and the estimated cost from the second node to the destination; determining the interaction penalty weights of the second nodes, and determining a first penalty cost for accessing the second nodes from the first node based on the interaction penalty weights; determining a second penalty cost based on the corner penalty weights and the number of corners from the first node to the second node; and determining the sum of the first cost, the first penalty cost, and the second penalty cost as the second cost for accessing the second nodes from the first node. Optionally, determining the first penalty cost for accessing the second nodes from the first node based on the interaction penalty weights includes: determining the distance from the first node to the second node; and determining the product of the interaction penalty weights and the distance as the first penalty cost.

[0058] The estimated cost can be determined using path length as a metric. The first cost can be a cost determined based on the estimated cost and is proportional to it. The first penalty cost can be a penalty cost determined for the second node based on the interaction penalty weight and the distance from the first node to the second node. The second penalty cost can be a penalty cost determined for the second node based on the corner penalty weight and the number of corners from the first node to the second node. The number of corners can be the number of spatial corners existing on the line connecting the first node to the second node. The corner penalty cost prompts the algorithm to prioritize straight lines, making the path smooth and regular, thus solving the path regularity problem. The second cost can be the comprehensive cost calculated from the first node to the second node, including the estimated cost and the penalty cost. The penalty cost includes the first and second penalty costs mentioned above.

[0059] When determining the cost of accessing each second node from the first node using a multidimensional cost function, the path generation device can first determine the estimated cost of accessing the second node from the first node, which can be determined using relevant techniques. The product of this estimated cost and the balancing weight is then determined as the first cost. Next, the interaction penalty weight of the second node is determined, along with the distance from the first node to the second node (this distance can be Manhattan distance or Euclidean distance). The product of the interaction penalty weight and the distance is then determined as the first penalty cost. Finally, the product of the corner penalty weight and the number of corners from the first node to the second node is determined as the second penalty cost. The sum of the first cost, the first penalty cost, and the second penalty cost is calculated to obtain the second cost of accessing the second node from the first node. When searching for the intermediate point of a connection using the multidimensional cost function, multidimensional weights are introduced to calculate the multidimensional cost, thus obtaining the cost of accessing a node. This cost calculation considers multiple factors, improving the accuracy of cost determination.

[0060] For example, the multidimensional cost function can be expressed as f(n) = g(n) + e * h(n), where f(n) represents the second cost of accessing the nth second node from the first node; g(n) = w(n) * d(n) + c(n), where g(n) represents the sum of the first and second penalty costs, w(n) * d(n) represents the first penalty cost, c(n) represents the second penalty cost, c(n) = num(corner) * k, where num(corner) represents the number of corners from the first node to the nth second node, k represents the corner penalty weight, w(n) represents the interaction penalty weight of the second node, d(n) represents the distance from the first node to the nth second node; e represents the balancing weight, and h(n) represents the estimated cost of accessing the nth second node from the first node.

[0061] In some embodiments, determining the interaction penalty weight of the second node may include: determining the obstacle penalty weight of the second node based on the distance between the second node and the obstacle; determining the local path penalty weight of the second node based on the distance between the second node and the line connecting the start point and the end point; determining the other path penalty weights of the second node based on the distance between the second node and the generated path; and determining the interaction penalty weight of the second node by summing the obstacle penalty weight, the local path penalty weight, and the other path penalty weights.

[0062] Interaction penalty weights can be penalty weights associated with obstacles and other paths in the space. Interaction penalty weights can include obstacle penalty weights and path penalty weights. Path penalty weights can include the penalty weight of the current path and penalty weights of other paths. Obstacle penalty weights can be penalty weights associated with obstacles in the space; here, obstacles are static obstacles, and the closer an obstacle is to a node, the smaller its penalty weight. The penalty weight of the current path can be a penalty weight associated with the path currently being generated; the closer a node is to the current path, the smaller its penalty weight. Penalty weights of other paths can be penalty weights associated with previously generated paths; the farther a node is from other paths, the smaller their penalty weights. Previously generated paths are paths generated before the current path was generated, and there must be at least one previously generated path.

[0063] When determining the interaction penalty weight of the second node, the path generation device can identify preset objects for the second node. These preset objects can be obstacles in space whose distance from the second node is less than a distance threshold. There can be at least one preset object, and the distance threshold can be set relatively low. The obstacle penalty weight is calculated by comprehensively considering the distance between the second node and the preset object, as well as the coefficient of the preset object. For example, if the preset objects include walls and furniture, the obstacle penalty weight = distance between the second node and the wall * coefficient of the wall + distance between the second node and the furniture * coefficient of the furniture. The coefficients for different preset objects are different. The device also determines the distance between the second node and the line connecting the start and end points of the current path, and multiplies this distance by the coefficient of the current path to determine the penalty weight for this path. Furthermore, it determines the distance between the second node and already generated paths, and multiplies this distance by the coefficient of the already generated paths to determine the penalty weights for other paths. When there are multiple already generated paths, they can be calculated comprehensively. Finally, the sum of the obstacle penalty weight, the penalty weight for this path, and the penalty weights for other paths is determined as the interaction penalty weight for the second node.

[0064] During the path search process for generating movement routes, when determining the interaction penalty weight of a node, the penalty weight of different dimensions can be comprehensively determined based on the distance between the node and obstacles, the current movement route, and the already generated movement routes in the space. The closer the distance, the greater the penalty weight. The obstacle penalty weight ensures the safe passage of the movement route, the current movement route penalty weight ensures priority merging of nodes with close distances to solve the path regularity problem, and the penalty weight of other movement routes forces subsequent movement routes to actively avoid the already generated movement routes, directly solving the movement route coordination problem.

[0065] The path generation scheme provided in this disclosure acquires spatial location data and semantically necessary points corresponding to multiple path types, wherein one path type corresponds to multiple semantically necessary points; determines the spatial necessary points of the semantically necessary points based on the location data, wherein one path type corresponds to multiple spatial necessary points; and generates paths corresponding to multiple path types using a multi-dimensional path search algorithm based on the spatial necessary points corresponding to the multiple path types, wherein the multi-dimensional path search algorithm introduces multi-dimensional weights for cost calculation, and the multi-dimensional weights are associated with at least one of obstacles, other paths, and corners in the space. By adopting the above technical solution, spatial location data can be used to determine the corresponding spatial essential points of different pre-set semantic essential points for different types of movement routes. Based on the spatial essential points of each movement route type, a multi-dimensional path search algorithm is used to generate corresponding movement routes. By combining the determination of semantic spatial essential points, the rational allocation of node resources in the movement routes is achieved, solving the problem of multiple movement routes competing for nodes. Since the multi-dimensional path search algorithm introduces multi-dimensional weights related to obstacles, other movement routes, and corners in space for cost calculation, the generated movement routes solve the problems of unreasonable paths caused by obstacles and corners, as well as the problem of chaotic intersections of movement routes, thus improving the practicality, rationality, and aesthetics of the movement routes.

[0066] In some embodiments, the path generation method may further include: if the second node is located on the line connecting the start point and the end point, then the interaction penalty weight and the corner penalty weight of the second node are both zero.

[0067] When determining the costs of accessing multiple adjacent second nodes from the first node, the path generation device can first check whether the second node is located on the line connecting the start and end points, i.e., whether the distance between the second node and the line connecting the start and end points is zero. If so, the interaction penalty weight of the second node is set to zero, and the corner penalty weight is also set to zero, making both the first and second penalty costs zero. This zero-penalty-weight guidance ensures that subsequent path searches for the path will prioritize connecting to nodes on the existing main branch, rather than taking alternative routes, thus guaranteeing the continuity and elegance of the single path and further resolving the path regularity problem.

[0068] The flow generation scheme of this disclosure will be further illustrated by specific examples below. For example, Figure 4 This is a schematic diagram of a path generation process provided in an embodiment of the present disclosure, such as... Figure 4As shown in the figure, the process of generating a path in space A can be summarized as follows: Inputting the location data of space A; constructing a pathfinding grid; calculating the necessary spatial points for each of the multiple path types; checking if all path types have been processed; if so, outputting the path results for space A; otherwise, selecting the first path type; after selecting the first path type, determining if it has any unconnected necessary spatial points; if so, determining whether to start generation; otherwise, updating the penalty weights of other path types, and then returning to determine if all path types have been processed; after determining whether to start generation, if so, using the two most distant necessary spatial points as the start and end points, and then updating the current path, visited nodes, and unvisited nodes (visited nodes can be nodes whose costs have been calculated using a multidimensional cost function); otherwise, using a multidimensional path search algorithm to generate a path from the start point to the end point, and then updating the current path, visited nodes, and unvisited nodes; after updating the current path, visited nodes, and unvisited nodes, setting the interaction penalty weight and corner penalty weight of the nodes on the current path to zero, and returning to determine if the first path type has any unconnected necessary spatial points.

[0069] For example, Figure 5 This is a schematic diagram of a spatial circulation path provided in an embodiment of the present disclosure, such as... Figure 5 As shown in the diagram, three circulation routes are illustrated in space A, which includes a bathroom, living room, two master bedrooms, a secondary bedroom, and a kitchen. The diagram includes the residential circulation route (represented by a bold dashed line), the visitor circulation route (represented by a thin dashed line), and the housework circulation route (represented by a dotted line). The residential circulation route connects the entrance door to each room, the visitor circulation route connects the entrance door to the living room, and the housework circulation route connects the kitchen and the bathroom. This is just an example.

[0070] This solution provides a circulation route generation method based on an improved multi-dimensional path search algorithm and multi-objective optimization. It intelligently generates multiple circulation routes in a space that are well-organized, separated, and aesthetically pleasing. This solution can transform circulation route classification, primary and secondary relationships, and aesthetic principles into computable rules and embed them into the algorithm to achieve automation, intelligence, and optimization of circulation route planning. The circulation routes automatically generated by this solution not only ensure connectivity but also meet the complex requirements of smooth and regular circulation routes, low overlap between multiple circulation routes, and an aesthetically pleasing and orderly overall circulation route network.

[0071] Specifically, this solution addresses the following four technical issues: First, it resolves the problem of chaotic intersections of multiple circulation routes, causing irrational intersections and congestion in key areas such as doorways and passageways due to independently planned multiple circulation routes. Second, it addresses the issue of path regularity, resolving the problem of "zigzag" or "winding" paths generated by standard algorithms that are too close to obstacles, have too many sharp turns, or do not conform to human walking habits. Third, it addresses the problem of multiple circulation routes being planned independently and lacking coordination, failing to form a clear hierarchy and orderly avoidance of each other. Fourth, it addresses the problem of spatial resource competition, resolving the disorderly competition of multiple circulation routes for public space nodes (such as doorways) and achieving intelligent allocation of entrance resources.

[0072] This solution generates smooth and natural circulation paths with significantly fewer turns, resulting in a visually neat and elegant appearance. The network formed by different circulation paths has low overlap, is rationally distributed in space, and effectively separates them, reducing unnecessary traffic interference. The entire circulation system has a clear hierarchy, a rational structure, and high aesthetic appeal, providing direct optimization guidance for interior design and significantly reducing the workload of subsequent manual adjustments. It represents an upgrade from geometric path search to semantic circulation planning, enabling computer algorithms to possess some of the decision-making capabilities of domain experts. These four key points correspond to optimization at common nodes, constraints during micro-path search, control at the macro-sequence level, and optimization within individual circulation paths. They form an organic whole, working collaboratively and interconnectedly to systematically solve the complex home circulation planning challenges that existing technologies cannot address.

[0073] Figure 6 This is a schematic diagram of a movement path generation device provided in an embodiment of this disclosure. The device can be implemented by software and / or hardware, and is generally integrated into an electronic device. Figure 6 As shown, the device includes: The acquisition module 601 is used to acquire spatial location data and semantically necessary points corresponding to multiple movement types, wherein one movement type corresponds to multiple semantically necessary points; The essential point module 602 is used to determine the spatial essential points of the semantic essential point in the space based on the location data, wherein one path type corresponds to multiple spatial essential points; The generation module 603 is used to generate the movement paths corresponding to the multiple movement path types based on the spatial necessary points corresponding to the multiple movement path types, using a multi-dimensional path search algorithm. The multi-dimensional path search algorithm introduces multi-dimensional weights for cost calculation, and the multi-dimensional weights are associated with at least one of obstacles, other movement paths, and corners in the space.

[0074] Optionally, the location data includes object coordinates, and the necessary point module 602 includes: A coordinate unit is used to determine the coordinates of the necessary point corresponding to the semantic necessary point based on the object coordinates; A grid cell is used to construct a pathfinding grid in a two-dimensional map of the space based on a preset distance, wherein the pathfinding grid includes multiple nodes; The determining unit is used to determine the node that is closest to the coordinates of the necessary path point in the pathfinding grid as the necessary spatial path point.

[0075] Optionally, coordinate elements are used for: Extract multiple matching coordinates of the semantically necessary points from the object coordinates; If the semantic mandatory point corresponds to a path type, the center point coordinates of the multiple matching coordinates are determined as the corresponding mandatory point coordinates; If the semantically necessary point corresponds to at least two movement types, a center line is determined based on the multiple matching coordinates, and the coordinates of at least two equally divided points on the center line are determined as the corresponding necessary point coordinates. The number of equally divided point coordinates is the same as the number of movement types corresponding to the semantically necessary point.

[0076] Optionally, the generation module 603 includes: A sequence unit is used to determine the generation order of the multiple movement line types according to their length from longest to shortest. An extraction unit is used to sequentially determine the plurality of movement path types as the first movement path type according to the generation order; An execution unit is used to generate a path of the first path type based on multiple necessary spatial points corresponding to the first path type using the multidimensional path search algorithm.

[0077] Optionally, the execution unit includes: The first unit is used to determine the two spatially necessary points with the largest distance among the multiple spatially necessary points of the first movement type as the start point and the end point; The second unit is used to generate a path from the starting point to the ending point using the multidimensional path search algorithm.

[0078] Optionally, the second unit includes: A starting point subunit is used to take the starting point as the first node; The cost subunit is used to determine multiple costs for accessing multiple adjacent second nodes from the first node based on the multidimensional weights using a multidimensional cost function. An intermediate subunit is used to determine the second node with the lowest cost among the plurality of second nodes as the intermediate point; A loop subunit is used to update the intermediate point to the first node and continue to determine intermediate points until the intermediate point is the endpoint; A connecting subunit is used to define the line connecting the starting point, at least one of the intermediate points, and the ending point as a moving line.

[0079] Optionally, the multidimensional weights include balance weights, interaction penalty weights, and corner penalty weights, and the cost subunit is used for: For each of the second nodes, a first cost is determined based on the balance weights and the estimated cost from the second node to the endpoint; Determine the interaction penalty weight of the second node, and determine the first penalty cost for accessing the second node from the first node based on the interaction penalty weight; The second penalty cost is determined based on the corner penalty weight and the number of corners from the first node to the second node; The sum of the first cost, the first penalty cost, and the second penalty cost is determined as the second cost for the first node to access the second node.

[0080] Optionally, the cost subunit is specifically used for: The obstacle penalty weight of the second node is determined based on the distance between the second node and the obstacle; The local movement penalty weight of the second node is determined based on the distance between the second node and the line connecting the starting point and the ending point. The penalty weights for other paths of the second node are determined based on the distance between the second node and the generated paths. The sum of the obstacle penalty weight, the current path penalty weight, and the other path penalty weights is determined as the interaction penalty weight of the second node.

[0081] Optionally, the cost subunit is specifically used for: Determine the distance from the first node to the second node; The product of the interaction penalty weight and the distance is determined as the first penalty cost.

[0082] Optionally, the cost subunit is also used for: If the second node is located on the line connecting the starting point and the ending point, then the interaction penalty weight of the second node and the corner penalty weight are both zero.

[0083] The movement path generation device provided in this disclosure can execute the movement path generation method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of executing the method.

[0084] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Figure 7As shown, the electronic device 700 includes one or more processors 701 and memory 702.

[0085] The processor 701 may be a central processing unit (CPU) or other form of processing unit with data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 700 to perform desired functions.

[0086] The memory 702 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory. The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 701 may execute the program instructions to implement the motion generation method of the embodiments of this disclosure described above and / or other desired functions. Various contents such as input signals, signal components, and noise components may also be stored in the computer-readable storage medium.

[0087] In one example, the electronic device 700 may also include an input device 703 and an output device 704, which are interconnected via a bus system and / or other forms of connection mechanism (not shown).

[0088] In addition, the input device 703 may also include, for example, a keyboard, a mouse, etc.

[0089] The output device 704 can output various information to the outside, including multiple movement paths, etc. The output device 704 may include, for example, a display, a speaker, a printer, and a communication network and its connected remote output devices, etc.

[0090] Of course, for the sake of simplicity, Figure 7 Only some of the components of the electronic device 700 relevant to this disclosure are shown, omitting components such as buses, input / output interfaces, etc. In addition, the electronic device 700 may include any other suitable components depending on the specific application.

[0091] In addition to the methods and devices described above, embodiments of this disclosure may also be computer program products, including computer program instructions that, when executed by a processor, cause the processor to perform the motion generation method provided in the embodiments of this disclosure.

[0092] The computer program product can be written in any combination of one or more programming languages ​​to perform the operations of the embodiments of this disclosure. The programming languages ​​include object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on a user's computing device, partially on a user's computing device, as a standalone software package, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0093] Furthermore, embodiments of this disclosure may also be computer-readable storage media storing computer program instructions that, when executed by a processor, cause the processor to perform the motion generation method provided in embodiments of this disclosure.

[0094] The computer-readable storage medium may be any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, a random access memory, a read-only memory, an electrically erasable programmable read-only memory (EPROM), an optical fiber, a compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0095] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0096] The above description is merely a specific embodiment of this disclosure, enabling those skilled in the art to understand or implement it. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for generating movement paths, characterized in that, include: Acquire spatial location data and semantically necessary points corresponding to multiple movement types, wherein one movement type corresponds to multiple semantically necessary points; Based on the location data, the semantically necessary points are determined as spatially necessary points in the space, wherein one movement type corresponds to multiple spatially necessary points; Based on the necessary points in space corresponding to the multiple movement path types, a multi-dimensional path search algorithm is used to generate movement paths corresponding to the multiple movement path types. The multi-dimensional path search algorithm introduces multi-dimensional weights for cost calculation, and the multi-dimensional weights are associated with at least one of obstacles, other movement paths, and corners in the space.

2. The method according to claim 1, characterized in that, The location data includes object coordinates. Determining the spatially necessary points of the semantically necessary points in space based on the location data includes: Determine the coordinates of the necessary point corresponding to the semantically necessary point based on the object coordinates; A pathfinding grid is constructed in a two-dimensional map of the space based on a preset distance, wherein the pathfinding grid includes multiple nodes; The node that is closest to the coordinates of the necessary path point in the pathfinding grid is determined as the necessary path point in space.

3. The method according to claim 2, characterized in that, Determining the coordinates of the necessary point corresponding to the semantically necessary point based on the object coordinates includes: Extract multiple matching coordinates of the semantically necessary points from the object coordinates; If the semantic mandatory point corresponds to a path type, the center point coordinates of the multiple matching coordinates are determined as the corresponding mandatory point coordinates; If the semantically necessary point corresponds to at least two movement types, a center line is determined based on the multiple matching coordinates, and the coordinates of at least two equally divided points on the center line are determined as the corresponding necessary point coordinates. The number of equally divided point coordinates is the same as the number of movement types corresponding to the semantically necessary point.

4. The method according to claim 1, characterized in that, The step of generating movement paths corresponding to the multiple movement path types using a multi-dimensional path search algorithm, based on the spatially necessary points corresponding to each of the multiple movement path types, includes: The generation order of the multiple movement line types is determined according to their length from longest to shortest. According to the generation order, the plurality of movement path types are sequentially determined as the first movement path type; Based on multiple necessary spatial points corresponding to the first path type, the multidimensional path search algorithm is used to generate the path of the first path type.

5. The method according to claim 4, characterized in that, Based on multiple essential spatial points corresponding to the first path type, the multi-dimensional path search algorithm is used to generate a path for the first path type, including: The two spatially necessary points with the largest distance among the multiple spatially necessary points of the first path type are determined as the start point and the end point; The multidimensional path search algorithm is used to generate a path from the starting point to the ending point.

6. The method according to claim 5, characterized in that, Generating a path from the starting point to the ending point using the multidimensional path search algorithm includes: Take the starting point as the first node; The costs of accessing multiple adjacent second nodes from the first node are determined based on the multidimensional weights using a multidimensional cost function. The second node with the lowest cost among the plurality of second nodes is determined as the intermediate point; Update the intermediate point to the first node, and continue to determine intermediate points until the intermediate point is the endpoint; The line connecting the starting point, at least one of the intermediate points, and the ending point is defined as the movement path.

7. The method according to claim 6, characterized in that, The multidimensional weights include balance weights, interaction penalty weights, and corner penalty weights. A multidimensional cost function is used to determine multiple costs for accessing multiple adjacent second nodes from the first node based on these multidimensional weights, including: For each of the second nodes, a first cost is determined based on the balance weights and the estimated cost from the second node to the endpoint; Determine the interaction penalty weight of the second node, and determine the first penalty cost for accessing the second node from the first node based on the interaction penalty weight; The second penalty cost is determined based on the corner penalty weight and the number of corners from the first node to the second node; The sum of the first cost, the first penalty cost, and the second penalty cost is determined as the second cost for the first node to access the second node.

8. The method according to claim 7, characterized in that, Determining the interaction penalty weights of the second node includes: The obstacle penalty weight of the second node is determined based on the distance between the second node and the obstacle; The local movement penalty weight of the second node is determined based on the distance between the second node and the line connecting the starting point and the ending point. The penalty weights for other paths of the second node are determined based on the distance between the second node and the generated paths. The sum of the obstacle penalty weight, the current path penalty weight, and the other path penalty weights is determined as the interaction penalty weight of the second node.

9. An electronic device, characterized in that, The electronic device includes: processor; Memory used to store the processor's executable instructions; The processor is configured to read the executable instructions from the memory and execute the instructions to implement the movement line generation method according to any one of claims 1-8.

10. A computer-readable storage medium, characterized in that, The storage medium stores a computer program for executing the movement line generation method according to any one of claims 1-8.