Occupancy grid map generation device, program, and occupancy grid map generation method
The occupancy grid map generation device calculates grid size based on sensor resolution and error calculation, addressing the challenge of conforming maps to robot specifications and reducing administrative burden.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HITACH PLANT CONSTR
- Filing Date
- 2022-03-23
- Publication Date
- 2026-05-26
Smart Images

Figure 0007865761000001 
Figure 0007865761000002 
Figure 0007865761000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an occupancy grid map generation device, a program, and an occupancy grid map generation method for generating an environmental map of an autonomous mobile robot. [Background technology]
[0002] The introduction of autonomous robots for tasks such as transporting goods, cleaning, and remote work is progressing in buildings, plants, and construction sites. These robots use a technology called SLAM (Simultaneous Localization and Mapping) to simultaneously estimate their own position and create an environmental map of their travel area. The robots are equipped with cameras and LiDAR (Laser Imaging Detection and Ranging), and use these sensors to measure objects (obstacles) in their travel area and create an environmental map. The environmental map is, for example, an occupied grid map, in which the travel area is divided into grids, and the presence or absence of objects is indicated for each divided area (grid). Areas that have not been explored are treated as unknown areas.
[0003] If the layout of the travel area changes (object changes), the robot needs to travel and recreate the environment map. If changes occur frequently, the burden on the robot's administrator increases. In the map information provision system described in Patent Document 1, a server that stores 3D point cloud data of the travel area extracts 2D point cloud data at a height specified by the autonomous mobile device (robot) and distributes it to the autonomous mobile device. By using such a map information provision system, the autonomous mobile device does not need to update the environment map, and the burden on the administrator can be reduced. [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2021-077053 [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] A robot's environment map is generally an occupancy grid map, and creating it requires determining the grid size. The grid size may be determined by the administrator, but it must be matched to the robot's specifications. However, Patent Document 1 does not contain any description regarding grid size. This invention was made in view of the above background, and aims to provide an occupied grid map generation device, program, and occupied grid map generation method that enable the generation of occupied grid maps that conform to the specifications of an autonomous mobile robot. [Means for solving the problem]
[0006] To solve the above-mentioned problems, the occupied grid map generation device according to the present invention is provided on an autonomous mobile robot having an occupied grid map creation function, and includes: an acquisition unit that acquires the resolution of a sensor that measures surrounding objects and 3D data of the area in which the autonomous mobile robot travels; an error calculation unit that calculates the error when calculating the size of objects in the area shown in the 3D data based on a grid that divides the area; and a grid size calculation unit that calculates the size of the grid such that the error is less than or equal to a predetermined value, within the range of the detection resolution which is the resolution for detecting objects in the area using the sensor. The system comprises a grid size calculation unit that divides the region with grids of the size calculated by the grid size calculation unit, a map generation unit that determines the presence or absence of objects in each grid based on the 3D data and generates an occupied grid map, wherein the 3D data is 3D model data of objects within the region, the size of the object is the cross-sectional area of the object at a predetermined height in the region, the grid dividing the region is a 2D grid, and the error calculated by the error calculation unit is the ratio of the difference between the first size and the second size to the first size or the second size, where the first size is obtained by multiplying the area of the grid by the number of grids in which the proportion occupied by the object in one grid is greater than or equal to a predetermined value, and the second size of the object as shown in the 3D model data. . [Effects of the Invention]
[0007] According to the present invention, it is possible to provide an occupied grid map generation device, program, and occupied grid map generation method that enable the generation of occupied grid maps that conform to the specifications of an autonomous mobile robot. Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments. [Brief explanation of the drawing]
[0008] [Figure 1] This is a functional block diagram of the occupancy grid map generation device according to the first embodiment. [Figure 2]This figure shows an example of an occupied grid map according to the first embodiment. [Figure 3] This is a diagram illustrating the specifications of the sensor according to the first embodiment. [Figure 4] This is a screen configuration diagram of the settings screen according to the first embodiment. [Figure 5] This figure illustrates the calculation of the cross-sectional area of an object based on a grid according to the first embodiment. [Figure 6] This is a flowchart of the occupancy grid map generation process according to the first embodiment. [Figure 7] This is a flowchart of the occupancy grid map generation process according to the first embodiment. [Figure 8] This figure illustrates the error in the perimeter of an object based on a grid that includes points indicating the perimeter of the cross-section of the object according to the second embodiment. [Modes for carrying out the invention]
[0009] ≪Overview of the Occupation Grid Map Generation Device≫ The following describes an occupied grid map generation device in an embodiment for carrying out the present invention. An autonomous mobile robot (robot) is equipped with sensors such as LiDAR and creates an occupied grid map while moving. In contrast, the occupied grid map generation device generates an occupied grid map for the robot on behalf of the robot, based on a 3D model of the area in which the robot moves (travel area).
[0010] By having a grid-occupancy map generation device generate the grid-occupancy map instead of a robot, the time and effort required for creation can be reduced. This reduction is particularly significant when the travel area is large. Furthermore, when there are multiple robots, the time each robot spends creating maps can be reduced, resulting in a greater overall benefit.
[0011] In general, a grid refers to grid-like straight lines drawn vertically and horizontally on a map, drawing, etc. In the present application, a rectangle, which is a region delimited by straight lines, is also referred to as a grid. Further, the grid is not limited to two dimensions (rectangle), and may be three dimensions (cuboid). Also, the length of one side of the grid is referred to as the grid size, or simply the grid size.
[0012] ≪Configuration of Occupancy Grid Map Generation Device≫ FIG. 1 is a functional block diagram of an occupancy grid map generation device 100 according to the first embodiment. The occupancy grid map generation device 100 is a computer, and includes a control unit 110, a storage unit 120, and an input / output unit 180. User interface devices such as a display, keyboard, and mouse are connected to the input / output unit 180. The input / output unit 180 may include a communication device and be capable of data transmission and reception with other devices. Also, a media drive may be connected to the input / output unit 180, enabling data exchange using a recording medium.
[0013] ≪Occupancy Grid Map Generation Device: Storage Unit≫ The storage unit 120 is composed of storage devices such as ROM (Read Only Memory), RAM (Random Access Memory), and SSD (Solid State Drive). In the storage unit 120, 3D data 130, an occupancy grid map 140, sensor specifications 121, generation parameters 122, and a program 128 are stored.
[0014] The 3D data 130 is 3D model data of the area where the robot travels, for example, data created by a CAD system. The 3D data 130 includes data on objects (obstacles) in the robot's travel area. The occupancy grid map 140 is a map generated by the occupancy grid map generation device 100 and is a map mounted on the robot. The occupancy grid map 140 indicates the presence or absence of an object for each grid (grid, mesh) that divides (delimits) the robot's travel area. FIG. 2 is a diagram showing an example of an occupancy grid map according to the first embodiment. The hatched grids indicate the presence of an object.
[0015] Returning to FIG. 1, the description of the memory unit 120 will be continued. The sensor specification 121 is the specification of the sensor that the robot has and is used for generating the occupancy grid map. As the sensor, for example, there is LiDAR. In this case, the sensor specification 121 includes the minimum measurement length, the maximum measurement length, and the angular resolution of the sensor. The sensor specification 121 may include the height of the installation position of the sensor (height from the traveling area surface).
[0016] FIG. 3 is a diagram for explaining the specification of the sensor 610 according to the first embodiment. The sensor 610 is a sensor such as LiDAR for generating an occupancy grid map provided in the robot. Note that the sensor 610 may be used as a sensor for the robot to estimate its own position. 2α is the angular resolution of the sensor 610 and is the resolution in the horizontal direction. r min is the minimum measurement length, r max is the maximum measurement length. Then, the resolution of the object at the minimum measurement length from the sensor 610 is 2r min tanα, and the resolution of the object at the maximum measurement length is 2r max tanα.
[0017] As described above, the resolution of the sensor 610 is indicated by the minimum measurement length, the maximum measurement length, and the angular resolution. The lower limit of the detection resolution range is 2 × minimum measurement length × tan(angular resolution / 2). Also, the upper limit of the detection resolution range is 2 × maximum measurement length × tan(angular resolution / 2).
[0018] Returning to FIG. 1, the description of the memory unit 120 will be continued. The generation parameter 122 is a parameter of the occupancy grid map generation process (see FIGS. 6 and 7 described later), which is a process for generating the occupancy grid map 140. The details of the parameter will be described later. The program 128 includes a description of the occupancy grid map generation process.
[0019] ≪Occupancy Grid Map Generation Device: Control Unit≫ The control unit 110 includes a CPU (Central Processing Unit) and comprises an acquisition unit 111, a grid size calculation unit 112, an error calculation unit 113, and a map generation unit 114. The acquisition unit 111 acquires 3D model data of the area in which the robot travels, the specifications of the robot's sensors, and the parameters for the occupied grid map generation process, and stores them in 3D data 130, sensor specifications 121, and generation parameters 122, respectively.
[0020] Figure 4 is a screen configuration diagram of the setting screen 510 according to the first embodiment. On the setting screen 510, the user of the occupied grid map generation device 100 (for example, the robot administrator) sets the robot's sensor specifications and the parameters for the occupied grid map generation process. When the "OK" button in the lower right is pressed, the acquisition unit 111 stores the set contents in the sensor specifications 121 and the generation parameters 122. The robot's sensor specifications include the resolution of the sensor 610 (see Figure 3).
[0021] As described above, the occupied grid map generation device 100 is installed in an autonomous mobile robot that has a function to create an occupied grid map 140, and includes an acquisition unit 111 that acquires the resolution of a sensor 610 that measures surrounding objects and 3D data of the area in which the autonomous mobile robot travels.
[0022] Returning to Figure 1, let's continue the explanation of the control unit 110. The grid size calculation unit 112 calculates the grid size (length of one grid side) of the occupied grid map 140, which is the output of the occupied grid map generation device 100. The grid size calculation unit 112 calculates a grid size such that the error calculated by the error calculation unit 113 (described later) is within the set error (see "Tolerance Error" in Figure 4). The grid size calculated by the grid size calculation unit 112 is the resolution of the object at the minimum measurement length (2r in Figure 2). min The resolution of the object at the maximum measurement length (2r shown in Figure 2) is greater than or equal to tanα. max It is less than or equal to tanα.
[0023] As described above, the occupied grid map generation device 100 includes a grid size calculation unit 112 that uses a sensor 610 to calculate a grid size such that the error is less than or equal to a predetermined value, within the range of detection resolution, which is the resolution for detecting objects in the region.
[0024] The error calculation unit 113 divides the travel area into a grid and calculates the error when calculating the size of an object based on the grid. The calculation method will be explained in detail with reference to Figure 5 below. In the first embodiment, the size of the object is the cross-sectional area of the object at the height where the sensor 610 is installed (see "Installation Height" in Figure 4). If the height at which the sensor 610 is installed is unknown (not set), a predetermined value is set, for example, to height 0 (travel area surface).
[0025] As described above, the occupied grid map generation device 100 includes an error calculation unit 113 that calculates the error when determining the size of an object in a region shown in 3D data based on a grid that divides the region.
[0026] The map generation unit 114 divides the driving area into grids of the grid size calculated by the grid size calculation unit 112, determines the presence or absence of objects in each grid based on the 3D data 130, and generates an occupied grid map 140.
[0027] As described above, the occupied grid map generation device 100 includes a map generation unit 114 that generates an occupied grid map 140 in which the size of the grid of the occupied grid map 140 is the size of the grid calculated by the grid size calculation unit 112.
[0028] ≪Cross-sectional area of objects based on a grid≫ Figure 5 is a diagram illustrating the calculation of the cross-sectional area of an object based on a grid according to the first embodiment. The grid size of the grid diagram 620 at the top of Figure 5 is 2, and the grid size of the grid diagram 630 at the bottom of Figure 5 is 1. In Figure 5, circle 619 shows the cross-section of a (cylindrical) object in the travel area at the height where the sensor 610 is installed. In other words, grid diagrams 620 and 630 are plan views of the travel area at the height where the sensor 610 is installed.
[0029] The cross-sectional area of an object based on a grid is the product of the number of grids in which the object occupies a proportion of the area (rectangle) indicated by the grid that is equal to or greater than the set value, and the area of the grid. This set value is the "occupancy threshold" on setting screen 510 (see Figure 4). In the following explanation, we will assume that the set value is 50%.
[0030] In the grid diagram 620 at the top of Figure 5, there are 12 grids in total where objects occupy 50% or more of the grid space: four grids including grid 623 near the center, and eight grids including grids 622 to the left, right, above, and below it. The grids at the corners, including grid 621, occupy less than 50% of the grid space. The length of one side of a grid is 2, and the cross-sectional area of objects based on the grids in grid diagram 620 is 12 × 4 = 48. The radius of circle 619 is 3.67, and its area is 42.3. Therefore, the error is |48 - 42.3| / 42.3 = 13.5%.
[0031] The grid size of grid diagram 630 is 1. Objects occupy more than 50% of grids 631 and 635, while they occupy less than 50% of grids 632 and 634. Therefore, the cross-sectional area of objects based on the grid in grid diagram 630 is 44. The error is |44 - 42.3| / 42.3 = 4.0%. A smaller grid size results in a smaller error and higher accuracy in area calculation. The above error is the ratio of the difference between the cross-sectional area of the object based on the grid and the cross-sectional area in the object's 3D data, to the cross-sectional area in the object's 3D data. The error may also be the ratio of the difference to the cross-sectional area of the object based on the grid.
[0032] As explained above, the 3D data 130 is the 3D model data of an object within the region. The size of the object is the cross-sectional area of the object at a predetermined height in the region (the height at which the sensor 610 (see Figure 3) is installed). The grid that demarcates the region is a 2D grid. Furthermore, the error calculated by the error calculation unit 113 is the ratio of the difference between the first size and the second size to the first size or the second size, where the first size of the object is obtained by multiplying the area of the grid by the number of grids in which the proportion occupied by the object in one grid is greater than or equal to a predetermined value, and the second size of the object as shown in the 3D model data.
[0033] <<Occupied Grid Map Generation Process>> Figures 6 and 7 are flowcharts of the occupied grid map generation process according to the first embodiment. Referring to Figures 6 and 7, the process by which the occupied grid map generation device 100 generates the occupied grid map 140 on behalf of the robot will be explained. The generated occupied grid map 140 is loaded onto the robot. The robot can then perform its original tasks (e.g., transporting goods) without having to travel for environmental map creation.
[0034] In step S21, the map generation unit 114 converts the 3D data 130 of the travel area into a cross-sectional view. Specifically, the map generation unit 114 generates a cross-sectional view of an object in the travel area at the height of the robot's sensor based on the 3D data. In step S22, the map generation unit 114 identifies the object with the smallest area among the cross-sections of the objects included in the cross-sectional view generated in step S21.
[0035] The grid size of the occupied grid map 140 is determined by the following steps S23 to S29. In step S23, the grid size calculation unit 112 sets the grid size to the maximum. The maximum grid size is the maximum value of the resolution of an object that can be detected by the robot's sensor, and is 2r which is the resolution of an object at the maximum measurement length distance max which is tanα (see Fig. 3).
[0036] In step S24, the grid size calculation unit 112 starts the process of repeating steps S25 to S28 while changing the grid size In step S25, the error calculation unit 113 calculates the error in the area of the object specified in step S22 based on the grid at the grid size
[0037] In step S26, if the error calculated in step S25 is less than or equal to the allowable error (see Fig. 4) which is the set value (step S26 → YES), the process proceeds to step S30 (see Fig. 7). If the error exceeds the allowable error (step S26 → NO), the process proceeds to step S27 In step S27, the grid size calculation unit 112 reduces the grid size by the grid size adjustment width (see Fig. 4)
[0038] In step S28, if the grid size reduced in step S27 is less than or equal to the minimum (step S28 → YES), the process proceeds to step S29. If it exceeds the minimum (step S28 → NO), the process returns to step S25. The minimum grid size is the minimum value of the resolution of an object that can be detected by the robot's sensor, and is 2r min which is tanα (see Fig. 3). In step S29, the grid size calculation unit 112 sets the grid size to 2r min which is tanα
[0039] Moving on to Fig. 7, the explanation of the occupancy grid map generation process continues In step S30, the map generation unit 114 divides (segments) the travel area into grids of the grid size In step S31, the map generation unit 114 starts the process of repeating steps S32 to S34 for each grid that divides the driving area in step S30.
[0040] In step S32, the map generation unit 114 proceeds to step S33 if there are objects in the grid in the cross-sectional view which is the result of the conversion in step S21 (step S32 → present), and to step S34 if there are no objects (step S32 → absent). In step S33, the map generation unit 114 sets that there are objects in the grid. In step S34, the map generation unit 114 sets the grid to have no objects.
[0041] Features of the Occupation Grid Map Generation Device The occupied grid map generation device 100 generates an occupied grid map 140 for the robot based on 3D model data. The smaller the grid size of the occupied grid map 140, the higher the accuracy of the map (see Figure 5), but the number of grids increases, which increases the processing cost of the robot in determining the presence or absence of objects (obstacles). The occupied grid map generation device 100 starts with the maximum grid size (see step S23) and gradually decreases it (see step S27) to find a grid size where the error is less than or equal to the allowable error (see step S26). In this way, the occupied grid map generation device 100 generates an occupied grid map 140 that is suitable for the robot (matching the resolution of the sensor). By having the occupied grid map generation device 100 generate the occupied grid map 140 instead of the robot, the time and effort required for creation can be reduced. This is particularly effective when the travel area is large or when there are multiple robots.
[0042] <<Variation Example: 3D Occupation Grid Map>> The occupied grid map 140 in the first embodiment described above is an occupied grid map of the travel area at the height of the robot's sensor. It is also possible to generate a three-dimensional occupied grid map. The method for calculating the cross-sectional area of an object based on a grid, as explained using Figure 5, can be used as a method for calculating volume. Specifically, the volume of an object based on a grid can be calculated as the product of the number of grids in which the proportion occupied by the object within the area indicated by the three-dimensional grid is greater than or equal to a set value, and the volume of the grid. The length, width, and height of the three-dimensional grid do not need to be the same; the grid sizes for the length, width, and height can be determined by starting from the maximum value of the horizontal resolution and the maximum value of the vertical resolution, and then decreasing them accordingly.
[0043] As explained above, 3D data 130 is 3D model data of objects within the region. The size of an object is its volume. The grid that demarcates the region is a 3D grid. Furthermore, the error calculated by the error calculation unit 113 is the ratio of the difference between the first size and the second size to the first size or the second size, where the first size of the object is obtained by multiplying the volume of the grid by the number of grids in which the proportion occupied by the object in one grid is greater than or equal to a predetermined value, and the second size of the object as shown in the 3D model data.
[0044] <<Other variations>> In the first embodiment described above, the 3D data 130 that forms the basis for generating the occupied grid map 140 was 3D model data. It may also be a 2D map of the driving area. In this case, the occupied grid map generation process (see Figure 6) will start from step S22. In the first embodiment described above, the map generation unit 114 identifies the smallest object (see step S22), but the smallest object may also be identified by querying the user of the occupied grid map generation device 100.
[0045] As explained above, the object for which the error calculation unit 113 calculates the size error is the object with the smallest size among the objects in the region, or a selected object.
[0046] ≪Second Embodiment≫ In the first embodiment, the 3D data 130 that forms the basis for generating the occupied grid map 140 is 3D model data of objects in the driving area. In the second embodiment, the 3D data 130 is, for example, 3D point cloud data measured by LiDAR. The error calculation method of the error calculation unit 113A in the 3D point cloud will be described below. In the first embodiment, the error calculation unit 113 calculates the error between the cross-sectional area based on the grid and the cross-sectional area based on the 3D data 130 for an object. In the second embodiment, the error calculation unit 113A calculates the error in the perimeter by focusing on the grid through which the perimeter of the object (cross-section) passes. In the second embodiment, the map generation unit 114A sets the grid to "object present" if it contains points, and "object absent" if it does not (see steps S32 to S34).
[0047] <Error in the perimeter of an object based on the number of grid points including points that indicate the perimeter of the object's cross-section> Figure 8 is a diagram illustrating the error in the perimeter of an object based on a grid that includes points indicating the perimeter of the cross-section of the object according to the second embodiment. The grid size of the grid diagram 640 at the top of Figure 8 is 2, and the grid size of the grid diagram 650 at the bottom of Figure 8 is 1.
[0048] The black circles in the grid diagram 640 represent points in the point cloud data and indicate the perimeter of the circular cross-section of the object (see circle 619 in Figure 5). The height of these points (height from the travel area) matches the height of the robot's sensor 610 (see installation height in Figure 4) with a predetermined error. This predetermined error is, for example, half the distance between points included in the point cloud data. The error in the perimeter of the grid diagram 640 is calculated based on the difference between the number of grids containing at least one point and the number of grids containing points of a predetermined density.
[0049] In grid diagram 640 with a grid size of 2, the number of grid cells (perimeter) containing at least one point is 12. Grid cell 641 contains two points, and its density (number of points per unit area) is 2 / 4 = 0.5. Grid cell 642 contains three points, and its density is 3 / 4 = 0.75. Grid cell 643 contains four points, and its density is 4 / 4 = 1. The number of grid cells (perimeter) with a density of 1 or greater is 4. The error ratio is |12-4| / 12 = 66.7%. Note that this predetermined value is a set value, which is set by the user on the setting screen 510 (see Figure 4).
[0050] In grid diagram 650, where the grid size is 1, the number of grids (perimeter) that contain at least one point is 20. Grids 651, 652, 654, and 655 contain two points, and their density is 2 / 1=2. Grid 653 contains one point, and its density is 1 / 1=1. The number of grids (perimeter) with a density of 1 or greater is 20. The error ratio is |20-20| / 20=0%. A smaller grid size results in smaller errors and higher accuracy in area calculation.
[0051] As explained above, the 3D data 130 is 3D point cloud data of an object within the region, and the size of the object is the perimeter length based on the number of grids through which the perimeter of the cross-section of the object passes at a predetermined height in the region (the height at which the sensor 610 is installed). Furthermore, the error calculated by the error calculation unit 113 is the ratio of the difference between the first number of grids and the second number of grids to the first number of grids or the second number of grids, where the first number of grids is the number of grids in which points included in the object's 3D point cloud data are located at a predetermined height in the region and the density obtained by dividing the number of such points in one grid by the area of the grid is equal to or greater than a predetermined value, and the second number of grids is the number of grids that contain one or more points included in the object's point cloud data.
[0052] <<Modification: Density>> In the second embodiment, the error in the perimeter of the object's cross-section was the error between the number of grids containing at least one point and the number of grids containing points at a predetermined density or higher. This could also be the number of points per grid size, rather than the number of points per unit area of the grid.
[0053] In grid diagram 640 with a grid size of 2, the number of grid cells (perimeter) containing at least one point is 12. Grid cell 641 contains two points, and its density, which is the number of points per unit grid cell size, is 2 / 2 = 1. Grid cell 642 contains three points, and its density is 3 / 2 = 1.5. Grid cell 643 contains four points, and its density is 4 / 2 = 2. The number of grid cells (perimeter) with a density of 1.5 or more is 8. The error ratio is |12-8| / 12 = 33.3%.
[0054] In grid diagram 650, where the grid size is 1, there are 20 grids (perimeters) that contain at least one point. Grids 651, 652, 654, and 655 contain two points, and their density (number of points per unit grid size) is 2 / 1 = 2. Grid 653 contains one point, and its density is 1 / 1 = 1. The number of grids (perimeters) with a density of 1.5 or more is 20. The error ratio is |20-20| / 20 = 0%. A smaller grid size results in smaller errors and higher accuracy in area calculation.
[0055] As explained above, the 3D data 130 is 3D point cloud data of an object within the region, and the size of the object is the perimeter length based on the number of grids through which the perimeter of the cross-section of the object passes at a predetermined height in the region (the height at which the sensor 610 is installed). Furthermore, the error calculated by the error calculation unit 113 is the ratio of the difference between the first number of grids and the second number of grids to the first number of grids or the second number of grids, where the first number of grids is the number of grids in which points included in the object's 3D point cloud data are located at a predetermined height in the region and the density obtained by dividing the number of such points in one grid by the length of the side of the grid is equal to or greater than a predetermined value, and the second number of grids is the number of grids that contain one or more points included in the object's point cloud data.
[0056] In the second embodiment, the predetermined density is a value set by the user, but it may also be a value set based on the specifications of the 3D point cloud data (specifications of the measured LiDAR). For example, it may be a predetermined ratio of the number of points in the point cloud per unit area.
[0057] <<Variation Example: 3D Occupation Grid Map>> The occupied grid map 140 in the second embodiment described above is an occupied grid map of the travel area at the height of the robot's sensor. It is also possible to generate a three-dimensional occupied grid map. The method for calculating the error of the perimeter of an object based on a grid, as explained using Figure 8, can be used as a method for calculating the error of the surface area. Specifically, the surface area error of an object based on a grid may be calculated based on the difference between the number of grids that contain at least one point indicating the surface of the object within the area indicated by the three-dimensional grid, and the number of grids that contain points of a predetermined density. The density is not limited to the number of points contained per unit volume of the three-dimensional grid, but may also be the number of points contained per unit surface area of the three-dimensional grid. The length, width, and height of the three-dimensional grid do not need to be the same, and the length, width, and height grid sizes may be determined by starting from the maximum value of the horizontal resolution and the maximum value of the vertical resolution, and decreasing each of them.
[0058] <<Other variations>> In Figure 8, the error calculation unit 113A calculates the error based on the number of grids containing points. After the occupied grid map generation device 100 connects the points of the point cloud within a predetermined distance to generate a cross-sectional view, it may be processed in the same manner as in the first embodiment. In the second embodiment described above, the map generation unit 114A identifies the smallest object (see step S22), but the smallest object may be identified by querying the user of the occupied grid map generation device 100. For example, the user may specify a point cloud region that represents the object that is the smallest object.
[0059] <<Other variations>> Although several embodiments of the present invention have been described above, these embodiments are merely illustrative and do not limit the technical scope of the present invention. The present invention can take various other embodiments, and furthermore, various modifications such as omissions and substitutions can be made without departing from the spirit of the present invention. These embodiments and their variations are included in the scope and spirit of the invention as described herein, and are also included in the scope of the invention and its equivalents as described in the claims. [Explanation of Symbols]
[0060] 100 Occupation Grid Map Generator 111 Acquisition Department 112 Grid Size Calculation Unit 113 Error calculation section 114 Map Generation Unit 121 Sensor Specifications 122 Generation Parameters 130 3D data 140 Occupation Grid Map 610 Sensor
Claims
1. An autonomous mobile robot equipped with a function to create an occupied grid map includes an acquisition unit that acquires the resolution of a sensor that measures surrounding objects and 3D data of the area in which the autonomous mobile robot travels, An error calculation unit that determines the error when calculating the size of an object in the region shown in the three-dimensional data based on a grid that divides the region, A grid size calculation unit calculates the size of the grid such that the error is less than or equal to a predetermined value, within the range of detection resolution which is the resolution for detecting objects in the region using the sensor, The system comprises a map generation unit that divides the region using grids of the grid size calculated by the grid size calculation unit, determines the presence or absence of objects in each grid based on the three-dimensional data, and generates an occupied grid map. The aforementioned three-dimensional data is three-dimensional model data of an object located within the aforementioned region. The size of the object is the cross-sectional area of the object at a predetermined height in the region. The grid that demarcates the aforementioned region is a two-dimensional grid. The error calculated by the error calculation unit is In the first size of the object, which is obtained by multiplying the area of the grid by the number of grids in which the proportion occupied by the object in one grid is equal to or greater than a predetermined value, and in the second size of the object as shown in the 3D model data, This is the ratio of the difference between the first size and the second size to the first size or the second size. Occupation grid map generation device.
2. An autonomous mobile robot equipped with a function to create an occupied grid map includes an acquisition unit that acquires the resolution of a sensor that measures surrounding objects and 3D data of the area in which the autonomous mobile robot travels, An error calculation unit that determines the error when calculating the size of an object in the region shown in the three-dimensional data based on a grid that divides the region, A grid size calculation unit calculates the size of the grid such that the error is less than or equal to a predetermined value, within the range of detection resolution which is the resolution for detecting objects in the region using the sensor, The system comprises a map generation unit that divides the region using grids of the grid size calculated by the grid size calculation unit, determines the presence or absence of objects in each grid based on the three-dimensional data, and generates an occupied grid map. The aforementioned three-dimensional data is three-dimensional model data of an object located within the aforementioned region. The size of the aforementioned object is the volume of the object, The grid that demarcates the aforementioned region is a three-dimensional grid. The error calculated by the error calculation unit is The first size of the object is determined by multiplying the number of grids in which the proportion occupied by the object in one grid is greater than or equal to a predetermined value by the volume of the grid, and the second size of the object as shown in the three-dimensional model data, This is the ratio of the difference between the first size and the second size to the first size or the second size. Occupation grid map generation device.
3. An autonomous mobile robot equipped with a function to create an occupied grid map includes an acquisition unit that acquires the resolution of a sensor that measures surrounding objects and 3D data of the area in which the autonomous mobile robot travels, An error calculation unit that determines the error when calculating the size of an object in the region shown in the three-dimensional data based on a grid that divides the region, A grid size calculation unit calculates the size of the grid such that the error is less than or equal to a predetermined value, within the range of detection resolution which is the resolution for detecting objects in the region using the sensor, The system comprises a map generation unit that divides the region using grids of the grid size calculated by the grid size calculation unit, determines the presence or absence of objects in each grid based on the three-dimensional data, and generates an occupied grid map. The aforementioned three-dimensional data is three-dimensional point cloud data of objects within the region. The size of the object is the perimeter length based on the number of grids through which the perimeter of the cross-section of the object at a predetermined height in the region passes. The error calculated by the error calculation unit is A first number of grids is the number of grids in which points included in the three-dimensional point cloud data of the object are located at a predetermined height in the region, and the density obtained by dividing the number of such points included in one grid by the area of the grid is greater than or equal to a predetermined value, and a second number of grids is the number of grids that include one or more points included in the point cloud data of the object, This is the ratio of the difference between the first number of grids and the second number of grids to the first number of grids or the second number of grids. Occupation grid map generation device.
4. An autonomous mobile robot equipped with a function to create an occupied grid map includes an acquisition unit that acquires the resolution of a sensor that measures surrounding objects and 3D data of the area in which the autonomous mobile robot travels, An error calculation unit that determines the error when calculating the size of an object in the region shown in the three-dimensional data based on a grid that divides the region, A grid size calculation unit calculates the size of the grid such that the error is less than or equal to a predetermined value, within the range of detection resolution which is the resolution for detecting objects in the region using the sensor, The system comprises a map generation unit that divides the region using grids of the grid size calculated by the grid size calculation unit, determines the presence or absence of objects in each grid based on the three-dimensional data, and generates an occupied grid map. The aforementioned three-dimensional data is three-dimensional point cloud data of objects within the region. The size of the object is the perimeter length based on the number of grids through which the perimeter of the cross-section of the object at a predetermined height in the region passes. The error calculated by the error calculation unit is A first number of grids is the number of grids in which points included in the three-dimensional point cloud data of the object are located at a predetermined height in the region, and the density obtained by dividing the number of such points in one grid by the length of the side of the grid is greater than or equal to a predetermined value, and a second number of grids is the number of grids that contain one or more points included in the point cloud data of the object, This is the ratio of the difference between the first number of grids and the second number of grids to the first number of grids or the second number of grids. Occupation grid map generation device.
5. Computers, A program for causing a grid map generation device to function according to any one of claims 1 to 4.
6. The occupied grid map generation device, An autonomous mobile robot equipped with a function for creating an occupied grid map is provided with the resolution of a sensor that measures surrounding objects and the three-dimensional data of the area in which the autonomous mobile robot travels, and the steps are to acquire these. A step of determining the error when calculating the size of an object in the region shown in the three-dimensional data based on a grid that divides the region, The steps include: calculating the size of the grid such that the error is less than or equal to a predetermined value, within the range of detection resolution which is the resolution for detecting an object in the region using the sensor; The steps of dividing the region with a grid of the calculated grid size, determining the presence or absence of an object in each grid based on the 3D data, and generating an occupied grid map are performed. The aforementioned three-dimensional data is three-dimensional model data of an object located within the aforementioned region. The size of the object is the cross-sectional area of the object at a predetermined height in the region. The grid that demarcates the aforementioned region is a two-dimensional grid. The error in calculating the size of the aforementioned object is, In the first size of the object, which is obtained by multiplying the area of the grid by the number of grids in which the proportion occupied by the object in one grid is equal to or greater than a predetermined value, and in the second size of the object as shown in the 3D model data, This is the ratio of the difference between the first size and the second size to the first size or the second size. A method for generating an occupied grid map.
7. The occupied grid map generation device, An autonomous mobile robot equipped with a function for creating an occupied grid map is provided with the resolution of a sensor that measures surrounding objects and the three-dimensional data of the area in which the autonomous mobile robot travels, and the steps are to acquire these. A step of determining the error when calculating the size of an object in the region shown in the three-dimensional data based on a grid that divides the region, The steps include: calculating the size of the grid such that the error is less than or equal to a predetermined value, within the range of detection resolution which is the resolution for detecting an object in the region using the sensor; The steps of dividing the region with a grid of the calculated grid size, determining the presence or absence of an object in each grid based on the 3D data, and generating an occupied grid map are performed. The aforementioned three-dimensional data is three-dimensional model data of an object located within the aforementioned region. The size of the aforementioned object is the volume of the object, The grid that demarcates the aforementioned region is a three-dimensional grid. The error in calculating the size of the aforementioned object is, The first size of the object is determined by multiplying the number of grids in which the proportion occupied by the object in one grid is greater than or equal to a predetermined value by the volume of the grid, and the second size of the object as shown in the three-dimensional model data, This is the ratio of the difference between the first size and the second size to the first size or the second size. A method for generating an occupied grid map.
8. The occupied grid map generation device, An autonomous mobile robot equipped with a function for creating an occupied grid map is provided with the resolution of a sensor that measures surrounding objects and the three-dimensional data of the area in which the autonomous mobile robot travels, and the steps are to acquire these. A step of determining the error when calculating the size of an object in the region shown in the three-dimensional data based on a grid that divides the region, The steps include: calculating the size of the grid such that the error is less than or equal to a predetermined value, within the range of detection resolution which is the resolution for detecting an object in the region using the sensor; The steps of dividing the region with a grid of the calculated grid size, determining the presence or absence of an object in each grid based on the 3D data, and generating an occupied grid map are performed. The aforementioned three-dimensional data is three-dimensional point cloud data of objects within the region. The size of the object is the perimeter length based on the number of grids through which the perimeter of the cross-section of the object at a predetermined height in the region passes. The error in calculating the size of the aforementioned object is, A first number of grids is the number of grids in which points included in the three-dimensional point cloud data of the object are located at a predetermined height in the region, and the density obtained by dividing the number of such points included in one grid by the area of the grid is greater than or equal to a predetermined value, and a second number of grids is the number of grids that include one or more points included in the point cloud data of the object, This is the ratio of the difference between the first number of grids and the second number of grids to the first number of grids or the second number of grids. A method for generating an occupied grid map.
9. The occupied grid map generation device, An autonomous mobile robot equipped with a function for creating an occupied grid map is provided with the resolution of a sensor that measures surrounding objects and the three-dimensional data of the area in which the autonomous mobile robot travels, and the steps are to acquire these. A step of determining the error when calculating the size of an object in the region shown in the three-dimensional data based on a grid that divides the region, The steps include: calculating the size of the grid such that the error is less than or equal to a predetermined value, within the range of detection resolution which is the resolution for detecting an object in the region using the sensor; The steps of dividing the region with a grid of the calculated grid size, determining the presence or absence of an object in each grid based on the 3D data, and generating an occupied grid map are performed. The aforementioned three-dimensional data is three-dimensional point cloud data of objects within the region. The size of the object is the perimeter length based on the number of grids through which the perimeter of the cross-section of the object at a predetermined height in the region passes. The error in calculating the size of the aforementioned object is, A first number of grids is the number of grids in which points included in the three-dimensional point cloud data of the object are located at a predetermined height in the region, and the density obtained by dividing the number of such points in one grid by the length of the side of the grid is greater than or equal to a predetermined value, and a second number of grids is the number of grids that contain one or more points included in the point cloud data of the object, This is the ratio of the difference between the first number of grids and the second number of grids to the first number of grids or the second number of grids. A method for generating an occupied grid map.