Navigation map generation system, navigation map generation method, and navigation map generation program

The navigation map generation system addresses inefficiencies in existing methods by using equidistant points from obstacles to create a navigation map with appropriately placed nodes and links, ensuring natural paths and reduced computational resources for smooth simulations.

JP7876083B2Active Publication Date: 2026-06-18KAJIMA CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
KAJIMA CORP
Filing Date
2026-02-26
Publication Date
2026-06-18

Smart Images

  • Figure 0007876083000001
    Figure 0007876083000001
  • Figure 0007876083000002
    Figure 0007876083000002
  • Figure 0007876083000003
    Figure 0007876083000003
Patent Text Reader

Abstract

Efficiently generate appropriate navigation maps. [Solution] The navigation map generation system 10 is a system for generating a navigation map of space, and comprises: an acquisition unit 11 that acquires information indicating a space including the coordinates of obstacles; a candidate generation unit 12 that generates a candidate navigation map including a set of points equidistant from obstacles in a place in the space indicated by the acquired information that is free of obstacles, and nodes composed of any of those points and links connecting those nodes; and a navigation map generation unit 13 that generates a navigation map by deleting links and setting new nodes based on the distance of points on the links from obstacles for the generated candidate navigation map, and by setting a range for each node that is determined to have been reached.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field] 【0001】 The present invention relates to a navigation map generation system, a navigation map generation method, and a navigation map generation program for generating spatial navigation maps. [Background technology] 【0002】 To simulate human movement in an obstacle-filled space, two main mechanisms are necessary: ​​one is navigation, and the other is a mechanism for determining the human's path based on the surrounding environment. Navigation involves discretizing space into several elements and representing the path by the order of these elements. A navigation map shows the elements of the discretized space and their connections. 【0003】 Traditionally, navigation maps have been used in software such as pedestrian flow simulations and game engines. Navigation maps can be broadly divided into those using graphs and those using meshes. 【0004】 A graph consists of nodes and links that represent the relationships between nodes. In a navigation map using a graph, a path is represented by a series of nodes that satisfy the relationship between them. Two common types of graphs used in navigation maps are waypoint graphs and visibility graphs. Waypoint graphs are constructed by placing nodes at branching points in a path and connecting them. Visibility graphs are constructed by using the corners of obstacles in space as nodes and connecting them with links when nodes are visible to each other, that is, when they can be connected by line segments without being obstructed by obstacles. 【0005】 In navigation maps using meshes, paths are represented by following adjacent meshes. Two common methods for dividing a mesh are grid division and NavMesh division. Grid division divides space into a grid pattern. NavMesh division divides the traversable space created by obstacles into convex polygons (generally triangles). 【0006】 Some navigation maps utilize medial axes (see, for example, Non-Patent Documents 1 and 2). This method of creating navigation maps involves dividing space into a mesh using medial axes, and can be classified as a method using the mesh described above. [Prior art documents] [Non-patent literature] 【0007】 [Non-Patent Document 1] Geraerts R. 2010. Planning Short Paths with Clearance Using Explicit Corridors. In 2010 IEEE International Conference on Robotics and Automation. DOI: 10.1109 / ROBOT.2010.5509263. [Non-Patent Document 2] Toll W, Cook IV AF, Kreveld MJ, and Geraerts R. 2017. The Explicit Corridor Map: A Medial Axis-Based Navigation Mesh for Multi-Layered Environments. DOI: 10.48550 / arXiv.1701.05141. [Overview of the Initiative] [Problems that the invention aims to solve] 【0008】 In waypoint graphs, humans typically determine the node positions to fit the spatial context. While this offers flexibility because humans completely define the graph, the placement of notes is uncertain and prone to arbitrariness. Furthermore, when the spatial scale is large, it becomes difficult to comprehensively consider and enumerate all possible paths without omission or duplication, requiring considerable effort. 【0009】 Visibility graphs can precisely determine the shortest path between two points when the space is two-dimensional. However, in the worst-case scenario, the number of links becomes the square of the number of obstacle vertices, requiring a large amount of memory. Also, if we assume the shortest path as the route, for example, the graph will include many nodes and links that are not used as part of the path, resulting in redundant information. 【0010】 While grid partitioning is easy to construct, a desirable path cannot be obtained unless the grid density is increased by the placement of obstacles. Furthermore, due to anisotropy, paths aligned with the grid direction are more likely to be obtained. Also, similar to visible graphs, assuming the shortest path results in a large number of redundant links and nodes. 【0011】 Navigation using mesh division with NavMesh or Medial Axis results in a directly obtained path that is a zigzag route following the vertices of obstacles, which is unnatural as a human path. Therefore, smoothing of the path is necessary to eliminate redundant nodes and represent a natural path. 【0012】 The trajectories obtained from visible graphs, or navigation using mesh division with NavMesh or Medial Axis, tend to pass very close to the inside corners of turns. Therefore, when simulating with a large number of people, those people will be concentrated at the very edge of the corners, making it difficult to run the simulation properly. 【0013】 To address this problem, measures such as adding buffers based on the position of obstacles at corners and relaxing the distance required for determining whether a node can be reached are taken. However, adding buffers means underestimating the width of the traversable area, which has limitations in long, narrow spaces. Also, relaxing the distance required for determining whether a node can be reached means that the node is reached before the corner, and at sharp corners, obstacles may block the view of the next node, making movement impossible. 【0014】 The present invention has been made in view of the above, and aims to provide a navigation map generation system, a navigation map generation method, and a navigation map generation program that can efficiently generate appropriate navigation maps. [Means for solving the problem] 【0015】 To achieve the above objective, the navigation map generation system according to the present invention is a navigation map generation system for generating a spatial navigation map, comprising: acquisition means for acquiring information indicating a space including the coordinates of obstacles; candidate generation means for generating a candidate navigation map that includes a set of points equidistant from obstacles in a place in the space indicated by the information acquired by the acquisition means, and nodes composed of any of those points, and links connecting those nodes; and navigation map generation means for generating a navigation map by deleting links and setting new nodes based on the distance of points on the links from obstacles for the candidate navigation map generated by the candidate generation means, and setting a range for each node in which it is determined that the node has been reached. 【0016】 The navigation map generation system according to the present invention generates a candidate navigation map that includes a set of points equidistant from obstacles, nodes composed of any of these points, and links connecting these nodes. From the generated candidate navigation map, links are deleted and new nodes are set based on the distance of points on the links from obstacles, and a range is set for each node that is deemed to have been reached, thereby generating a navigation map. The navigation map thus generated has nodes and links appropriately placed at locations that can form a path. On the other hand, links that do not form an appropriate path considering movement are deleted, resulting in an appropriate navigation map. Furthermore, the paths generated by this navigation map are not unnatural like paths when using mesh division and do not require smoothing. In addition, in the generation of the navigation map, links with a number of squared obstacle vertices, as in a visibility graph, are not generated, and therefore do not require the memory capacity for that purpose. Furthermore, the range set for each node allows for appropriate simulation even when performing simulations with a large number of people. Thus, the navigation map generation system according to the present invention can efficiently generate an appropriate navigation map. 【0017】 The navigation map generation means may compare the minimum distance of a point on a link from an obstacle with a preset threshold, and delete the link based on the comparison result. This configuration allows for more appropriate deletion of links. As a result, the navigation map created can be more appropriate. 【0018】 The navigation map generation means may also set a new node at a location where the distance from an obstacle to a point on a link is minimized. This configuration allows for more appropriate setting of new nodes, resulting in a more appropriate navigation map. 【0019】 The navigation map generation means may generate a navigation map by deleting nodes from the candidates of the navigation map generated by the candidate generation means based on the number of links connected to the nodes. According to this configuration, nodes that are not necessarily required in the simulation can be deleted. As a result, the generated navigation map can be made more appropriate. 【0020】 The navigation map generation means may also delete nodes based on the distance from obstacles at at least one point on the nodes and the links connected to the nodes. According to this configuration, nodes can be deleted more appropriately. As a result, the generated navigation map can be made more appropriate. 【0021】 The candidate generation means may generate a Medial Axis as a set of points. According to this configuration, candidates for the navigation map can be generated appropriately and reliably. As a result, the navigation map can be generated appropriately and reliably. 【0022】 The candidate generation means may use, as nodes, the endpoints of portions that form part of a straight line or a parabola among the points. According to this configuration, candidates for the navigation map can be generated appropriately and reliably. As a result, the navigation map can be generated appropriately and reliably. 【0023】 Incidentally, the present invention can be described not only as an invention of a navigation map generation system as described above, but also as an invention of a navigation map generation method and a navigation map generation program as follows. These are only different in category and are substantially the same invention, and exhibit the same operations and effects. 【0024】 In other words, the navigation map generation method according to the present invention is a navigation map generation method which is an operation method of a navigation map generation system that generates a navigation map of space, and includes: an acquisition step of acquiring information indicating a space including the coordinates of obstacles; a candidate generation step of generating a candidate navigation map that includes a set of points equidistant from obstacles in a place in the space indicated by the information acquired in the acquisition step that is free of obstacles, and nodes composed of any of those points and links connecting those nodes; and a navigation map generation step of generating a navigation map for the candidate navigation map generated in the candidate generation step, by deleting links and setting new nodes based on the distance of points on the links from obstacles, and setting a range for each node that is determined to have been reached. 【0025】 Furthermore, the navigation map generation program according to the present invention is a navigation map generation program that causes a computer to function as a navigation map generation system for generating a spatial navigation map, wherein the computer functions as: an acquisition means for acquiring information indicating a space including the coordinates of obstacles; a candidate generation means for generating a candidate navigation map that includes a set of points equidistant from obstacles in a place in the space indicated by the information acquired by the acquisition means, and nodes composed of any of those points, and links connecting those nodes; and a navigation map generation means for generating a navigation map by deleting links and setting new nodes based on the distance of points on the links from obstacles, and setting a range for each node in which it is determined that the node has been reached. [Effects of the Invention] 【0026】 According to the present invention, an appropriate navigation map can be efficiently generated. [Brief explanation of the drawing] 【0027】 [Figure 1] This figure shows the configuration of a navigation map generation system according to an embodiment of the present invention. [Figure 2] This figure shows a navigation map generated by a navigation map generation system and an example of a simulation using said navigation map. [Figure 3] This figure shows the spatial information used to generate the navigation map and an example of a navigation map in the process of being generated. [Figure 4] This figure shows an example of a navigation map in the process of being generated and an example of a navigation map that will be generated. [Figure 5] This flowchart shows a navigation map generation method, which is a process performed in a navigation map generation system according to an embodiment of the present invention. [Figure 6] This figure shows an example of a simulation using a navigation map generated by a navigation map generation system. [Figure 7] This figure shows the configuration of a navigation map generation program according to an embodiment of the present invention, along with a recording medium. [Modes for carrying out the invention] 【0028】 Hereinafter, embodiments of the navigation map generation system, navigation map generation method, and navigation map generation program according to the present invention will be described in detail with reference to the drawings. In the description of the drawings, the same elements are denoted by the same reference numerals, and redundant explanations are omitted. 【0029】 Figure 1 shows the navigation map generation system 10 according to this embodiment. The navigation map is a system (device) that generates a navigation map of space. The navigation map is information used for simulating the movement of moving objects such as people. The movement simulation may be a simulation targeting multiple moving objects (for example, a pedestrian flow simulation targeting multiple people). The movement simulation may be one used in video games. 【0030】 A navigation map is spatial location-based information used to determine the path of a moving object. For example, when simulating two-dimensional movement within a building viewed from above, the navigation map is information corresponding to the two-dimensional position in that space. 【0031】 Figure 2(a) shows an example of a navigation map generated by the navigation map generation system 10 according to this embodiment. The navigation map consists of nodes, links, and ranges (regions) for each node. Nodes represent points in space and serve as waypoints or destinations for a moving object. For example, nodes are represented by coordinates in space. In Figure 2(a), the center of the circle is the node. 【0032】 Links indicate the connection relationships between nodes. A moving object moves between nodes according to the connection relationships indicated by the links. In Figure 2(a), the lines connecting the nodes are links. The range for each node is a range specific to that node, and is the range within which a moving object is considered to have arrived at that node. For example, the range is a circular area centered on the node's location. The size of the area (e.g., the radius of the circular range) may differ for each range (i.e., for each node). In Figure 2(a), the circular range is the range described above. 【0033】 The simulated space contains obstacles that prevent movement (e.g., walls and other objects). The navigation map generated by the navigation map generation system 10 takes these obstacles in the simulated space into account. The nodes, links, and regions for each node that make up the navigation map are set to locations free of obstacles. In Figure 2(a), the outer frame represents an obstacle (wall). 【0034】 Specifically, the navigation map generation system 10 is a computer including hardware such as a CPU (Central Processing Unit) and memory. The functions of the navigation map generation system 10 described later are performed by these components operating through programs, etc. The navigation map generation system 10 may be implemented by a single computer, or it may be implemented by a computer system consisting of multiple computers connected to each other by a network. The navigation map generation system 10 may have communication functions for acquiring information necessary for generating the navigation maps shown below. 【0035】 Next, the functions of the navigation map generation system 10 according to this embodiment will be described. As shown in Figure 1, the navigation map generation system 10 is configured to include an acquisition unit 11, a candidate generation unit 12, and a navigation map generation unit 13. 【0036】 The acquisition unit 11 is an acquisition means that acquires information indicating a space including the coordinates of obstacles. As will be described later, a navigation map is generated based on the information acquired by the acquisition unit 11. For example, when the navigation map to be generated is two-dimensional, the acquisition unit 11 acquires information indicating the coordinates of the positions of obstacles in two-dimensional space. Figure 3(a) shows an example illustrating the information acquired by the acquisition unit 11. In Figure 3(a), the lines represent obstacles. When the navigation map to be generated is three-dimensional, one simply replaces two dimensions with three dimensions. Note that three-dimensional navigation maps include those used in simulations of three-dimensional movement on a set of planes including slopes or stairs, and those used in simulations of free movement in three-dimensional space. In either case, a navigation map can be generated in the same way as in the two-dimensional case shown below. 【0037】 The acquisition unit 11 acquires information by receiving information transmitted from an external source or by accepting information input operations from a user. The acquisition unit 11 may also acquire information by methods other than those described above. 【0038】 Alternatively, the acquisition unit 11 may acquire information for generating information indicating a space including the coordinates of obstacles, and then generate and acquire information indicating a space including the coordinates of obstacles from the acquired information. For example, the acquisition unit 11 acquires an architectural floor plan showing the target space as information to be used for generation. From the acquired architectural floor plan, the acquisition unit 11 extracts pre-defined parts that are obstacles to the movement of the moving object (e.g., walls and columns; site boundaries as needed at ground level), and excludes other parts (e.g., symbols, grid lines and openings and fittings) to obtain information indicating a space including the coordinates of obstacles. This is called the input drawing. 【0039】 In games, when obstacles are modeled as surfaces, or in architecture, when walls are represented as single lines in the early stages of design, the input screen will be a simple single-line design. On the other hand, when using architectural drawings, as-built drawings, or BIM (Building Information Modeling) data, the input drawing will be a detailed representation that includes parts invisible to the human eye. This embodiment can be applied to both of these cases. 【0040】 For subsequent processing, the above input drawing may be vector data. However, the above input drawing may also be raster data. By binarizing the raster data, pixels with obstacles can be identified, and the points on the coordinates corresponding to those pixels can be used as the obstacle points (source of the navigation map), thereby enabling subsequent processing. Alternatively, curves may be estimated from the raster data, vector data may be generated, and used for subsequent processing. 【0041】 The acquisition unit 11 outputs the acquired information, which includes the coordinates of the obstacles, to the candidate generation unit 12. 【0042】 The candidate generation unit 12 is a candidate generation means that generates a candidate navigation map including a set of points equidistant from obstacles in a space without obstacles indicated by the information acquired by the acquisition unit 11, and including nodes composed of any of these points and links connecting these nodes. The candidate generation unit 12 may generate a Medial Axis as the set of points. The candidate generation unit 12 may use the endpoints of parts of a straight line or parabola among the points as nodes. 【0043】 The candidate generation unit 12 generates navigation map candidates, for example, as follows: The candidate generation unit 12 receives information from the acquisition unit 11 indicating a space that includes the coordinates of obstacles. The candidate generation unit 12 generates a set of points that are equidistant from obstacles in the space indicated by the input information, where there are no obstacles. 【0044】 The candidate generation unit 12 constructs (generates) a Medial Axis, for example, using the line portion indicating an obstacle as the source, as a set of points. The Medial Axis is the spatial framework used for generating the navigation map. The construction of the Medial Axis can be carried out by conventional methods. 【0045】 The Medial Axis has two geometric properties. First, any point on the Medial Axis is the center of the largest circle tangent to an obstacle; that is, the equidistant point is the radius of that largest circle. Second, the branching points that a path in space can take correspond topologically to the branching points of the Medial Axis. These properties allow for the generation of a navigation map that considers all possible topological path combinations in space without omission or overlap. 【0046】 The candidate generation unit 12 generates candidate navigation maps based on the generated Medial Axis. Specifically, the candidate generation unit 12 uses the endpoints of the parts of the Medial Axis that are part of a straight line or parabola as nodes of the candidate, and the edges between these endpoints as links of the candidate. The candidate generation unit 12 includes information indicating the distance to obstacles (the radius of the largest circle mentioned above) for each point constituting the Medial Axis as information for the candidate navigation map. Figure 3(b) shows candidate navigation maps generated from the space containing obstacles shown in Figure 3(a). 【0047】 Points on a medial axis may be represented as follows: The edges of a medial axis are either a part of a straight line (a segment of a straight line) (equidistances from two sides or two endpoints of an obstacle) or a part of a parabola (with the vertices of the obstacle as foci and the edges as directrixes). Whether the link is a part of a straight line or a part of a parabola, points on the link can be expressed using a single parameter. 【0048】 The link is the angle bisector of the distance from the two generators (obstacles). The shape of the link can be classified into three types depending on the type of generator. When the generators are two points, the link is part of a straight line. The position vector p of a point on the straight line on which the link lies can be expressed using the parameter t as follows. p=(g p1 +g p2 ) / 2+tn Here, g p1 ,g p2 is the position vector of the two generators, and n is the direction vector of the line on which the link lies. n is g p1 -g p2 It can be obtained by rotating it by 90°. 【0049】 If the generators are parts of two straight lines, the link becomes part of a straight line. Let r be the position vector of the intersection of the straight lines on which each of the two generators lies. However, if the two generators are parallel, let r be the position vector of the endpoint of the link. Let the direction vectors of the straight lines s1 and s2 on which each of the two generators lies be s1 and s2 (|s1|=|s2|) respectively (so that the rotation angles with respect to the link are opposite for s1 and s2), then the position vector p of a point on the straight line on which the link lies can be expressed using the parameter t as follows. p = r + t(s1 + s2) / |s1 + s2| 【0050】 When the generators are a point and a part of a line, the link becomes a part (arc) of a parabola. The position of the focus of the parabola is the position of the point that is the generator. The directrix of the parabola is the line on which the part of the line that is the generator lies. Let q be the position vector of the focus, and let r be the position vector of the foot of the perpendicular from the focus to the directrix. Also, let n be the direction vector of the directrix. Then the position vector p of a point on the parabola can be expressed using the parameter t as follows. p = r + tn + ( t 2 +|qr|) / (2|qr| 2 )(qr) 【0051】 The candidate generation unit 12 may also use a spatial framework other than the Medial Axis to generate a set of points equidistant from obstacles in a space without obstacles, as indicated by the information input from the acquisition unit 11. For example, instead of the Medial Axis, geometric shapes such as the Chordal Axis or Straight Skeleton may be used as the spatial framework, which is the set of points equidistant from obstacles. These are sets of points obtained by connecting locations equidistant from obstacles in a two-dimensional space formed by placing obstacles on a plane. The resulting spatial framework will differ depending on the definition of "distance" from the obstacles. Regardless of which spatial framework is used to generate the navigation map, it is possible to draw a circle tangent to the obstacles at any point on the spatial framework, and therefore a navigation map can be generated in the same way. 【0052】 Furthermore, the candidate generation unit 12 may generate candidate navigation maps that include the point in question and nodes composed of any of the points, as well as links connecting those nodes, by methods other than those described above. The candidate generation unit 12 outputs information indicating the generated candidate navigation maps to the navigation map generation unit 13. 【0053】 The navigation map generation unit 13 is a navigation map generation means that generates a navigation map by removing links and setting new nodes based on the distance of points on the links from obstacles to the candidate navigation map generated by the candidate generation unit 12, and by setting a range for each node that is determined to have been reached. The navigation map generation unit 13 may also remove links by comparing the minimum value of the distance of points on the links from obstacles with a pre-set threshold value. The navigation map generation unit 13 may set a new node at a position where the distance of points on the links from obstacles is the minimum value. The navigation map generation unit 13 may also generate a navigation map by removing nodes based on the number of links connected to the nodes to the candidate navigation map generated by the candidate generation unit 12. The navigation map generation unit 13 may also remove nodes based on the distance of at least one point on the node and the links connected to the node from obstacles. 【0054】 The navigation map generation unit 13 generates a navigation map, for example, as follows: The navigation map generation unit 13 receives information indicating a candidate for the navigation map from the candidate generation unit 12. The navigation map generation unit 13 deletes links and sets up new nodes for the candidate navigation map as follows: As a result of deleting links and setting up new nodes, the remaining nodes and the links between those nodes become the nodes and links of the navigation map. 【0055】 The navigation map generation unit 13 sets a new node at the point where the distance from the obstacle (equidistance as described above) is minimized for each candidate link on the navigation map. The point where the distance from the obstacle is minimized is a part of space that is narrowed by an obstacle (for example, the opening of a door or gate). By automatically determining the narrow part from the distance from the obstacle and setting an additional node, the robustness of the simulation of moving objects such as people passing through it is improved. The point where the distance from the obstacle is minimized is the point where t=0 when the points on the link are parametrically represented. 【0056】 Note that if the point where the distance from an obstacle is minimized in each link is one of the link's endpoints, i.e., a point where a node has already been set, then no new node will be set. In subsequent processing, newly set nodes will be treated the same as existing nodes. Figure 3(c) shows a navigation map in the process of being generated, with the new nodes described above set for the candidate navigation map shown in Figure 3(b). 【0057】 Next, the navigation map generation unit 13 compares the distance of each node from obstacles (equal distance as described above) with a pre-set threshold, and deletes links based on the comparison result. If the distance of a node from obstacles is less than or equal to the threshold, the navigation map generation unit 13 deletes the node. In addition, along with the deletion of a node, the navigation map generation unit 13 also deletes the links associated with that node. 【0058】 Deleting the above nodes is equivalent to cutting off areas in space that are too narrow to be part of a path. When simulating the movement of a person or other moving object, there are no paths that pass through areas that cannot be passed through. Anything larger than the diameter of the largest circle related to the above equidistant distance cannot pass through that location without colliding with an obstacle. For example, if the moving object being simulated is a person, assuming the size of a human body, the above threshold should be set to 300 mm (i.e., the threshold for the diameter of the largest circle should be set to 600 mm). By cutting the navigation map with such nodes, the unnecessary effort of pathfinding can be eliminated in advance. 【0059】 As described above, a new node is created at the minimum distance of a point on the link from an obstacle. Therefore, deleting the above node is equivalent to comparing the minimum distance of a point on the link from an obstacle with a pre-set threshold and deleting the link based on the comparison result. 【0060】 Next, the navigation map generation unit 13 extracts the parts that can be moved in space from the navigation map in the process of generation. An architectural floor plan is a horizontal cross-section of a building. Therefore, an architectural cross-section includes not only the surface finish but also invisible parts such as the substructure and studs. When generating candidate navigation maps, these invisible parts may also be included as the source. Therefore, the navigation map in the process of generation described above may be complicated, with nodes and other elements even in the invisible parts. 【0061】 For example, the navigation map generation unit 13 selects one node in the navigable space and extracts the nodes and links that can be reached by following links to that node as the navigable portion. The node in the navigable space can be, for example, the node with the maximum equidistant distance. Furthermore, the search for nodes and links that can be reached by following links to a node can be performed using depth-first search or breadth-first search. 【0062】 However, on floors above ground level, the indoor and outdoor areas are not connected, and the condition that the area can be reached from the node with the maximum equidistant point is not sufficient to determine whether the extracted area is indoors or outdoors. In such cases, the navigation map generation unit 13 can determine that if there is a link with an endpoint at infinity among the extracted links, it is outdoors, and if there is no such link, it is indoors. For example, when the outline of the building's plan is significantly concave, the node in the concave area, which is outdoors, will have the maximum equidistant point, and the outdoor area will be extracted. To extract the indoor area, the navigation map generation unit 13 can determine whether the extracted area is indoors or outdoors based on the links extracted as described above, and if it is outdoors, it can exclude them from the extraction and repeat the extraction process until it is determined to be indoors. Figure 4(a) shows the navigation map in the process of generation shown in Figure 3(c), after the above-mentioned deletion of nodes and extraction of movable areas have been performed. 【0063】 Next, the navigation map generation unit 13 removes redundant nodes from the navigation map being generated. The removal of redundant nodes may be based, for example, on the number of links connected to the node. Alternatively, the removal of redundant nodes may also be based on the distance from obstacles to at least one point on the node and the links connected to the node. 【0064】 Redundant nodes have an order of 2. An order 2 node located in the middle of a path with a constant width has little impact on the robustness of the simulation, whether it is present or absent. Therefore, the navigation map generation unit 13 may delete the order 2 node and connect the deleted node with two other nodes that were previously connected by a link. Deleting a node can reduce the computational load in pathfinding during the simulation. 【0065】 However, even if the degree of a node is 2, if the above equal distances of adjacent nodes change significantly, it may be more natural for the simulation not to delete it. For example, considering a passage with a narrowing width like a funnel, nodes are provided in order at the entrance, the base, and the tip of the funnel. The above equal distances among them are in the relationship of entrance > base ≧ tip. If a node in the base part is deleted, the nodes in the entrance part and the nodes in the tip part will be connected, and the link will cross the side wall on the funnel side. Therefore, in the simulation of human movement, after passing through the entrance part, even though one should go straight to the base part, an unnatural result will occur that one cannot pass through the base of the funnel without following the side wall. 【0066】 In consideration of the above, the navigation map generation unit 13 compares the change rate of the above equal distances of two adjacent nodes for a node with degree 2, determines whether to delete the node with degree 2, and may delete the node with degree 2 if it is determined to delete it. 【0067】 For example, the determination is made according to the following procedure. Let the node to be determined be n, and the adjacent nodes be n1 and n -1 respectively. Let the above equal distance at n be r(n). Let the preset change rate of the above equal distance be α. α is, for example, 1000. The navigation map generation unit 13 deletes n and connects n1 and n -1 except when r(n)>r(n1) and r(n)>r(n ), or when r(n)<r(n1) and r(n)<r(n -1 ), or when |r(n)-r(n1)| / r(n)>α, or |r(n)-r(n )| / r(n)>α. -1 -1 【0068】 Note that node deletion may be performed by methods other than those described above, as long as it is based on the number of links connected to the node. Figure 4(b) shows the navigation map in the process of generation shown in Figure 4(a) after the nodes described above have been deleted. 【0069】 Next, the navigation map generation unit 13 sets a range for the remaining nodes after the above processing, which is determined to be a range that has been reached. The navigation map generation unit 13 may, for example, set this range according to the distance to obstacles (equal distance as described above) for each node. Specifically, the navigation map generation unit 13 sets this range to a circular area with the node's position as the radius of that distance. 【0070】 Furthermore, the set range may be a circular range with a radius shorter than the distance in question (for example, the distance minus a predetermined fixed length). By making the range smaller in this way, the path obtained during the simulation will be further away from obstacles, making the simulation less likely to fail. Note that the navigation map generation unit 13 may set the range in a manner other than that described above. Figure 4(c) shows a navigation map in which the above range setting has been applied to the navigation map in the process of generation shown in Figure 4(b), i.e., a navigation map generated by the navigation map generation system 10. 【0071】 The nodes, links, and ranges for each node obtained through the above process constitute the navigation map generated by the navigation map generation unit 13. 【0072】 The navigation map generation unit 13 outputs the generated navigation map. For example, the navigation map generation unit 13 outputs the generated navigation map to a system (device or module) that performs simulations using the navigation map. The generated navigation map is used for simulations by the system. The system that performs simulations using the navigation map may be the navigation map generation system 10 (or a system including the navigation map generation system). The navigation map generation unit 13 may also output the generated navigation map to an output destination other than those mentioned above. 【0073】 A simulation using the navigation map generated by the navigation map generation system 10 is performed, for example, as follows: First, information (e.g., coordinates) indicating the starting point and destination of the moving object to be simulated on the navigation map is obtained. Next, the nearest link on the navigation map is identified for both the starting point and the destination. 【0074】 The nearest link may be identified in the navigation map by defining an area for each link that is closest to it, and then determining which area the starting point and destination fall into. This area may be defined as follows: For each node at both ends of a link, the location (contact point) of an obstacle (the source of the navigation map) that is equidistant is identified. The area defined by the line segment connecting the node to this location is the area described above. 【0075】 The locations of the starting point and destination are newly designated as nodes. New links are established between the new nodes and the nodes at both ends of the nearest link. On the navigation map with the new links established, the route from the starting point to the destination is calculated. The route calculation can be performed using conventional methods. For example, to find the shortest path, Dijkstra's algorithm or A2C algorithm can be used to calculate the route. *Algorithms may be used. Alternatively, paths may be calculated based on other objective functions or attribute values ​​other than length. 【0076】 A trajectory is obtained by making the movement towards the nodes along the route from the starting point to the destination. The determination of whether the moving object has reached a node is made by determining whether the object's position is within the range set for the node in the navigation map, for example, whether the distance of the object from the node has reached the distance corresponding to that range. If the object's position is within the range set for the node, for example, if the distance of the object from the node has reached the distance corresponding to that range, it is determined that the object has reached the node. If the object's position is not within the range set for the node, for example, if the distance of the object from the node has not reached the distance corresponding to that range, it is determined that the object has not reached the node. 【0077】 The simulation using the navigation map generated by the navigation map generation system 10 may be performed by methods other than those described above. The above describes the functions of the navigation map generation system 10 according to this embodiment. 【0078】 Next, using the flowchart in Figure 5, the navigation map generation method, which is a process (operation method performed by the navigation map generation system 10) executed by the navigation map generation system 10 according to this embodiment, will be explained. In this process, the acquisition unit 11 acquires information indicating a space including the coordinates of obstacles (S01, acquisition step). Subsequently, the candidate generation unit 12 generates a candidate navigation map that includes a set of points equidistant from obstacles in a location in the space indicated by the information acquired by the acquisition unit 11 where there are no obstacles, as well as nodes composed of any of these points and links connecting these nodes (S02, candidate generation step). The set of points mentioned above is, for example, a Medial Axis. 【0079】 Next, the navigation map generation unit 13 performs the following operations on the candidate navigation map generated by the candidate generation unit 12: deleting links and setting new nodes based on the distance of points on the links from obstacles, and setting a range for each node that is determined to have been reached, thereby generating a navigation map (S03, navigation map generation step). Subsequently, the navigation map generation unit 13 outputs the generated navigation map (S04). The above describes the navigation map generation method according to this embodiment. 【0080】 In this embodiment, the navigation map generated as described above has nodes and links appropriately placed at locations that can serve as paths. On the other hand, links that do not constitute an appropriate path when considering movement are removed, resulting in an appropriate navigation map. The paths that can be taken on the navigation map generated in this embodiment are neither omitted nor duplicated in relation to the topologically possible paths in space. Furthermore, in this embodiment, unlike the generation of a navigation map using waypoints, nodes do not need to be manually set, and nodes are placed at the necessary locations without relying on manual intervention. 【0081】 Furthermore, the paths generated by this navigation map are not unnatural like paths generated using mesh partitioning, and do not require smoothing. Also, in the generation of the navigation map, links equal to the square of the number of obstacle vertices, as in the visible graph, are not generated, and therefore do not require the memory needed for that purpose. In this embodiment, for example, when using a Medial Axis, the amount of memory required is proportional to the number of corners of the obstacles. In other words, in this embodiment, computational resources can be reduced in the generation of the navigation map and in simulations using the navigation map. Therefore, the cost related to memory is low. 【0082】 Furthermore, in this embodiment, since the navigation map is generated using points equidistant from obstacles, a trajectory that moves near the center of the space is obtained. In addition, the simulation can be performed appropriately depending on the range set for each node. For example, the range is set to aim at moving along the inside corner of a bend. This makes it possible to simulate the movement of a large number of people while moving along the inside of a bend without wasting width. Also, at least three nodes are provided near a bend, and by following these, it is possible to move to a place where the next node can be seen. Therefore, situations where the next node cannot be seen due to obstacles at a bend do not occur, and movement is less likely to be hindered even when simulating the movement of a large number of people. Even when assuming that a large number of people are moving in a narrow space, an appropriate simulation can be performed. Thus, even when simulating a large number of people, for example, according to this embodiment, an appropriate navigation map can be efficiently generated. 【0083】 An example of a simulation using the navigation map generated by this embodiment is shown. Figure 2(a) shows the trajectory of a single moving object (person) in a simulation using the navigation map generated by this embodiment. In Figure 2(a), lines other than those indicating obstacles and the configuration of the navigation map represent the trajectory of the moving object (person). Also, for comparison with the simulation using the navigation map generated by this embodiment, Figure 2(b) shows the trajectory of a single moving object (person) in a simulation using a navigation map generated by conventional NavMesh partitioning. Existing simulation software was used for these simulations. The trajectory according to this embodiment is more natural than the trajectory related to NavMesh partitioning. 【0084】 Figure 6(a) shows the movement of multiple moving objects (a large number of people) in a simulation using the navigation map generated by this embodiment. In Figure 6, one hexagon represents one moving object (person) at a given point in the simulation. Figure 6(b) shows the movement of multiple moving objects (a large number of people) in a simulation using a navigation map generated by conventional NavMesh partitioning. Existing simulation software was used for these simulations. As shown in Figure 6, even when simulating a large number of moving objects (for example, a large number of people), the simulation can be carried out smoothly without the objects converging at corners as in the conventional method. 【0085】 As in this embodiment, the navigation map generation unit 13 may compare the minimum distance of a point on a link from an obstacle with a preset threshold and delete the link based on the comparison result. This configuration allows for more appropriate deletion of links. As a result, the navigation map created can be more appropriate. However, link deletion may be performed by methods other than those described above, as long as it is based on the distance of a point on the link from an obstacle. 【0086】 As in this embodiment, the navigation map generation unit 13 may set a new node at a position where the distance of a point on the link from an obstacle is minimized. This configuration allows for more appropriate setting of new nodes. As a result, the navigation map created can be more appropriate. However, the setting of new nodes may be performed by methods other than those described above, as long as it is based on the distance of a point on the link from an obstacle. 【0087】 As in this embodiment, the navigation map generation unit 13 may generate a navigation map by deleting nodes from the candidate navigation map based on the number of links connected to the nodes (i.e., the node's degree). With this configuration, nodes that are not necessarily needed for the simulation can be deleted. As a result, the navigation map created can be made more appropriate. 【0088】 Furthermore, the navigation map generation unit 13 may also delete nodes based on the distance from obstacles to at least one point on the node and the links connected to the node. This configuration allows for more appropriate node deletion. As a result, the navigation map created can be more appropriate. However, node deletion based on the number of links connected to the node is not necessarily required. Also, even when node deletion is performed based on the number of links, it is not necessary to use the distance from obstacles mentioned above. 【0089】 As in this embodiment, the candidate generation unit 12 may generate a Medial Axis as a set of points. With this configuration, candidates for the navigation map can be generated appropriately and reliably. As a result, the navigation map can be generated appropriately and reliably. However, candidate points other than the Medial Axis may also be generated. 【0090】 As in this embodiment, the candidate generation unit 12 may designate the endpoints of points that form part of a straight line or parabola as nodes. This configuration allows for the appropriate and reliable generation of navigation map candidates. As a result, a navigation map can be generated appropriately and reliably. However, nodes may be set using methods other than those described above. 【0091】 Next, a navigation map generation program for executing the processing performed by the series of navigation map generation systems 10 described above will be explained. As shown in Figure 7, the navigation map generation program 100 is stored in a program storage area 111 formed on a computer-readable recording medium 110 that is inserted into and accessed by a computer, or is provided by a computer. The recording medium 110 may be a non-temporary recording medium. 【0092】 The navigation map generation program 100 comprises an acquisition module 101, a candidate generation module 102, and a navigation map generation module 103. The functions realized by executing the acquisition module 101, the candidate generation module 102, and the navigation map generation module 103 are the same as the functions of the acquisition unit 11, the candidate generation unit 12, and the navigation map generation unit 13 of the navigation map generation system 10 described above. 【0093】 Furthermore, the navigation map generation program 100 may be configured such that part or all of it is transmitted via a transmission medium such as a communication line, received by other devices, and recorded (including installation). Also, each module of the navigation map generation program 100 may be installed on any of multiple computers, not just one. In that case, the series of processes described above will be performed by a computer system consisting of these multiple computers. 【0094】 The navigation map generation system, navigation map generation method, and navigation map generation program of this disclosure have the following configurations. [1] A navigation map generation system for generating a spatial navigation map, An acquisition means for acquiring information indicating the space including the coordinates of an obstacle, Candidate generation means for generating a candidate navigation map that includes a set of points equidistant from obstacles in a location in space without obstacles indicated by the information acquired by the acquisition means, and includes nodes composed of any of those points and links connecting those nodes, A navigation map generation means generates a navigation map by deleting links and setting new nodes based on the distance of the points on the links from obstacles, and by setting a range for each node that is determined to have been reached, with respect to the candidate navigation map generated by the candidate generation means. A navigation map generation system equipped with the following features. [2] The navigation map generation means compares the minimum distance of a point on a link from an obstacle with a preset threshold and deletes the link based on the comparison result. [1] Navigation map generation system. [3] The navigation map generation system according to [1] or [2], wherein the navigation map generation means sets a new node at a position where the distance of the point on the link from an obstacle is minimal. [4] The navigation map generation means generates a navigation map by deleting nodes from the candidate navigation map generated by the candidate generation means based on the number of links connected to the nodes, according to any one of [1] to [3]. [5] The navigation map generation system according to [4], wherein the navigation map generation means also deletes nodes based on the distance of at least one of the points on the nodes and links connected to the nodes from obstacles. [6] The candidate generation means generates a Medial Axis as a set of points, according to any of the navigation map generation systems described in [1] to [5]. [7] The candidate generation means is a navigation map generation system according to any one of [1] to [6], wherein the endpoints of the points that form part of a straight line or a parabola are nodes. [8] A navigation map generation method, which is a method for operating a navigation map generation system that generates a spatial navigation map, An acquisition step of acquiring information indicating the space including the coordinates of an obstacle, A candidate generation step generates a candidate navigation map that includes a set of points equidistant from obstacles in a location in space without obstacles indicated by the information acquired in the acquisition step, and also includes nodes composed of any of those points and links connecting those nodes. A navigation map generation step involves generating a navigation map by, for the candidate navigation map generated in the candidate generation step, deleting links and setting new nodes based on the distance of the points on the links from obstacles, and setting a range for each node that is determined to have been reached, thereby generating a navigation map. A method for generating navigation maps that includes this. [9] A navigation map generation program that causes a computer to function as a navigation map generation system for generating a spatial navigation map, The aforementioned computer, An acquisition means for acquiring information indicating the space including the coordinates of an obstacle, Candidate generation means for generating a candidate navigation map that includes a set of points equidistant from obstacles in a location in space without obstacles indicated by the information acquired by the acquisition means, and includes nodes composed of any of those points and links connecting those nodes, A navigation map generation means generates a navigation map by deleting links and setting new nodes based on the distance of the points on the links from obstacles, and by setting a range for each node that is determined to have been reached, with respect to the candidate navigation map generated by the candidate generation means. A navigation map generation program that functions as such. [Explanation of symbols] 【0095】 10...Navigation map generation system, 11...Acquisition unit, 12...Candidate generation unit, 13...Navigation map generation unit, 100...Navigation map generation program, 101...Acquisition module, 102...Candidate generation module, 103...Navigation map generation module, 110...Recording medium, 111...Program storage area.

Claims

[Claim 1] A navigation map generation system that generates a spatial navigation map, An acquisition means for acquiring information indicating the space including the coordinates of an obstacle, Candidate generation means for generating a candidate navigation map that includes a set of points equidistant from obstacles in a location in space without obstacles indicated by the information acquired by the acquisition means, and includes nodes composed of any of those points and links connecting those nodes, Navigation map generation means generates a navigation map by deleting links and setting up new nodes based on the distance of the points on the links from obstacles, with respect to the candidate navigation map generated by the candidate generation means, and setting a range for each node in which the position of the moving object is included so that the moving object is determined to have reached that node in a simulation of the moving object using the generated navigation map, A navigation map generation system equipped with the following features. [Claim 2] The navigation map generation system according to claim 1, wherein the candidate generation means generates a Medial Axis as a set of points. [Claim 3] The navigation map generation system according to claim 1 or 2, wherein the candidate generation means uses the endpoints of the portion of the points that forms part of a straight line or a parabola as nodes. [Claim 4] A navigation map generation method, which is a method for operating a navigation map generation system that generates a spatial navigation map, An acquisition step of acquiring information indicating the space including the coordinates of an obstacle, A candidate generation step generates a candidate navigation map that includes a set of points equidistant from obstacles in a location in space without obstacles indicated by the information acquired in the acquisition step, and also includes nodes composed of any of those points and links connecting those nodes. Navigation map generation step: For the candidate navigation map generated in the candidate generation step, delete links and set up new nodes based on the distance of the points on the links from obstacles, and for each node, set a range in which the position of the moving object is included in the simulation of the moving object using the generated navigation map, thereby generating a navigation map. A method for generating navigation maps that includes this. [Claim 5] A navigation map generation program that makes a computer function as a navigation map generation system for generating spatial navigation maps, The aforementioned computer, An acquisition means for acquiring information indicating the space including the coordinates of an obstacle, Candidate generation means for generating a candidate navigation map that includes a set of points equidistant from obstacles in a location in space without obstacles indicated by the information acquired by the acquisition means, and includes nodes composed of any of those points and links connecting those nodes, Navigation map generation means generates a navigation map by deleting links and setting up new nodes based on the distance of the points on the links from obstacles, with respect to the candidate navigation map generated by the candidate generation means, and setting a range for each node in which the position of the moving object is included so that the moving object is determined to have reached that node in a simulation of the moving object using the generated navigation map, A navigation map generation program that functions as such.