WO2020026294A1 - 地図生成システムおよび移動体 - Google Patents

地図生成システムおよび移動体 Download PDF

Info

Publication number
WO2020026294A1
WO2020026294A1 PCT/JP2018/028426 JP2018028426W WO2020026294A1 WO 2020026294 A1 WO2020026294 A1 WO 2020026294A1 JP 2018028426 W JP2018028426 W JP 2018028426W WO 2020026294 A1 WO2020026294 A1 WO 2020026294A1
Authority
WO
WIPO (PCT)
Prior art keywords
map
detection information
unit
generation system
occupancy grid
Prior art date
Application number
PCT/JP2018/028426
Other languages
English (en)
French (fr)
Inventor
正裕 友納
Original Assignee
学校法人 千葉工業大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 学校法人 千葉工業大学 filed Critical 学校法人 千葉工業大学
Priority to US17/258,509 priority Critical patent/US11802779B2/en
Priority to CN201880094559.1A priority patent/CN112352272A/zh
Priority to PCT/JP2018/028426 priority patent/WO2020026294A1/ja
Priority to JP2020533896A priority patent/JP7123430B2/ja
Priority to TW108127038A priority patent/TWI696985B/zh
Publication of WO2020026294A1 publication Critical patent/WO2020026294A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Definitions

  • the present invention relates to a map generation system and a moving object.
  • SLAM Simultaneous Localization and Mapping
  • An occupancy grid map created based on the presence or absence of an object in a moving range of a moving object may be used as an environmental map (for example, see Patent Literature 1).
  • this occupancy grid map the plane or space of the movement range is divided into a plurality of sections (cells) and stored, and each of the divided sections is assigned a cell value according to the presence or absence of an object.
  • the probability of the existence of an object (hereinafter, sometimes referred to as existence probability or occupancy probability) is calculated for each section based on a plurality of scans, and the cell value of each section is calculated based on this probability. Is managed.
  • the creation (and update) of the occupancy grid map is executed every predetermined time or every predetermined number of scans.
  • the information may be referred to as detection information).
  • information may be duplicated between scans executed before and after, and the cell value may be overwritten by a later scan. For this reason, it is conceivable to sequentially delete old scan data and calculate cell values using only new scan data.However, there is a possibility that old scan data containing valid information will also be deleted. Yes, the accuracy of the map may be reduced.
  • An object of the present invention is to provide a map generation system and a moving object that can reduce the memory capacity and the load of arithmetic processing while ensuring the map accuracy of an occupied grid map.
  • the map generation system is a map generation system that detects a distance and a direction to a surrounding object in a moving range of a moving object by a detection unit and generates an occupied grid map based on the presence or absence of the object.
  • Storage means for storing detection values for each detection unit by means in time series as detection information; map creation means for creating an occupancy grid map based on the detection information stored in the storage means and storing the map in the storage means; And an impact calculating unit that calculates an impact on the occupied grid map for each piece of detection information stored in the storage unit.
  • the occupancy grid map is created by selecting the detection information based on the detection information.
  • the map creator creates the occupancy grid map by selecting the detection information based on the degree of influence calculated by the influence degree calculator, thereby efficiently creating the occupancy grid map. Or can be updated. That is, the map creator can reduce the number of pieces of detection information used for calculation by selecting the detection information so as not to use the detection information having a small influence on the occupancy grid map. Load can be reduced. On the other hand, by selectively using detection information that has a large degree of influence on the occupancy grid map, effective detection information is retained even if the detection information is old, so that the map accuracy of the occupancy grid map to be created can be ensured.
  • the observation frequency calculation means further includes an observation frequency calculation means for counting the detection information stored in the storage means for each section of the occupied grid map and calculating the observation frequency as the observation frequency. It is preferable to determine validity or invalidity of each section for each piece of detection information based on the calculated observation frequency, and to calculate the degree of influence so as to increase according to the ratio of valid sections.
  • the observation frequency calculation means counts the detection information stored in the storage means for each section of the occupied grid map, calculates an observation frequency, and calculates the validity of the section based on the observation frequency.
  • the map creator updates the section value for a section whose observation frequency calculated by the observation frequency calculator is smaller than a predetermined threshold value to generate an occupancy grid map.
  • the map creating means since the map creating means updates the section value for the section whose observation frequency is smaller than the predetermined threshold and creates the occupancy grid map, relatively new detection information is selected. In other words, an occupancy grid map reflecting the environmental change can be created.
  • the map creating means updates the section value for each section and creates an occupancy grid map irrespective of the observation frequency calculated by the observation frequency calculating means.
  • the map creating means updates the section value for each section and creates the occupancy grid map regardless of the observation frequency, the stability of the occupancy grid map can be improved.
  • the map creator deletes, from the storage, detection information whose influence calculated by the influence calculator is smaller than a predetermined threshold.
  • the map creating means can reduce the calculation load and time required for creating the occupied grid map by erasing the detection information whose influence degree is smaller than the predetermined threshold from the storage means. At the same time, the capacity of the storage means can be saved.
  • the map creating unit creates an occupancy grid map using all the detection information stored in the storage unit before deleting the detection information from the storage unit.
  • the map creating unit creates the occupancy grid map using all the detection information stored in the storage unit before erasing the detection information from the storage unit. Stability can be improved.
  • the coverage is calculated by calculating a ratio of the sum of the degrees of influence of all pieces of detection information stored in the storage unit and the sum of degrees of influence of the detection information belonging to a set of a predetermined number of pieces of detection information as a coverage. It is preferable that a ratio calculation unit is further provided, and the map creation unit sets the threshold value of the degree of influence based on the coverage ratio calculated by the coverage ratio calculation unit.
  • the map creator sets the threshold value of the degree of influence based on the coverage calculated by the coverage calculator, so that the detection information is efficiently selected and the occupancy grid map is created. can do. Further, since the threshold value of the degree of influence is automatically set based on the coverage ratio, the efficiency of the arithmetic processing can be increased.
  • the moving object of the present invention is a moving object provided with a moving means, a detecting means, and a controlling means, wherein any one of the map generating systems is constituted by the controlling means.
  • the moving body includes the moving means, the detecting means, and the control means, and the control means constitutes the map generation system, so that the occupied grid map can be efficiently generated as described above. It can be created or updated, and in a mobile object running autonomously, the memory capacity and the load of arithmetic processing can be reduced while ensuring the map accuracy of the occupied grid map.
  • FIG. 1 is a block diagram of a moving object according to an embodiment of the present invention.
  • Conceptual diagram of true value of occupancy grid map showing moving range of the moving object
  • Conceptual diagram showing the creation process of the occupancy grid map Flow chart showing the operation of the moving object
  • Flow chart showing a method for creating the occupancy grid map 5 is a flowchart showing a method for creating the occupancy grid map different from that in FIG.
  • the figure which shows the example of preparation of the said occupancy grid map Graph showing the reduction rate of the number of scans in the above example of creation
  • the figure which shows the quality of the occupancy grid map in the said preparation example (A) to (C) are graphs showing the relationship between the number of input scans and the number of scans after reduction, the number of nodes, and the number of arcs in the creation example.
  • the moving body includes a moving body 1, a control unit 2 that drives and controls the moving body 1, a traveling unit 3 as a moving unit that moves the moving body 1, Detecting means 4 for detecting an object around the moving body 1.
  • the mobile unit performs self-position estimation and environmental map creation by SLAM technology, and based on a map and a travel schedule for each target space (moving range) stored in the control unit 2, the mobile unit body 1 is moved by the traveling unit 3. It runs autonomously. As this map, an occupancy grid map described later is used.
  • the moving body 1 includes a body and a chassis (not shown), and the traveling unit 3 includes, for example, a pair of left and right wheels and a motor that independently drives the pair of wheels to rotate.
  • the detection unit 4 includes, for example, a front sensor provided at a front portion of the moving body 1, a surrounding sensor provided at an upper portion of the moving body 1, and a rear sensor provided at a rear portion of the moving body 1. It has.
  • the surrounding sensor is a laser scanner (LIDAR (Light Detection and Ranging or Laser Imaging Detection and Ranging)) that measures the distance to an object by irradiating a laser beam such as an infrared laser to the surroundings.
  • This ambient sensor uses the sensor center and orientation, which are self-positions acquired by the SLAM technology, as a reference position (x, y, ⁇ ) T, and is based on a distance from the sensor center and an angle (direction) around the sensor center.
  • a laser irradiated at a predetermined resolution for example, 1 °
  • one period for example, one rotation, 360 °
  • the detection value for one cycle is defined as one unit (one scan), and the detection value of this one scan is stored in the storage unit 28 as detection information in time series.
  • the control means 2 is provided with arithmetic means such as a CPU and storage means such as a ROM and a RAM to control the operation of the mobile body 1.
  • the control means 2 controls the running means 3;
  • a detection control unit 22 for controlling the Further, the control unit 2 includes a map creation unit (map creation unit) 23, an influence calculation unit (impact calculation unit) 24, and an observation frequency calculation unit (observation frequency calculation unit) related to creation of an occupancy grid map as described later.
  • a storage unit (storage unit) 27 for storing the created occupancy grid map and various data.
  • the timing at which the map creating unit 23 creates the occupied grid map is, for example, in the case of the map generation mode for newly generating an occupied grid map of a new target space, for a known target space that has already generated an occupied grid map.
  • the map update mode for updating the map the case of the autonomous driving mode for performing a normal operation on the known target space is used.
  • the period (update span) for updating the map in the map update mode may be based on the total traveling time (for example, every several hours to several tens of hours) in which the mobile body 1 has traveled in the target space. Based on the total number of scans (for example, every thousands to tens of thousands of scans) performed by the detection unit 4 in the target space, or based on a period set or input by a user or a manual command. You may.
  • FIG. 2 is a conceptual diagram of the true value of the occupancy grid map M indicating the moving range of the moving object
  • FIG. The occupancy grid map M defines the target space as a two-dimensional plane, divides this plane into a grid of a predetermined size (for example, 5 cm square), and sets a cell value (section value) for each of the divided cells C. I do.
  • a method for creating the occupancy grid map M for example, ray casting is standard, and a procedure for creating the occupancy grid map M using ray casting will be described below.
  • a straight line simulating a laser beam is extended from the center of the sensor, and the value of the cell C through which the beam has passed is updated.
  • the measurement range of the laser scanner surrounding sensor
  • the occupancy probability is calculated from the log odds.
  • the cell values are simply overcoated for simplicity.
  • FIG. 2 shows the true values of the occupancy grid map M, and it is assumed that there are a wall W and an object O in the real environment.
  • FIG. 3A shows the cell values of the occupancy grid map M when the control unit 2 acquires the first scan (scan at 360 °) by the detection unit 4.
  • the free cell C f1 by the first scan is represented by white.
  • FIGS. 3B and 3C show cell values obtained by the second scan and the third scan, and these free cells C f2 and C f3 are represented by middle gray and dark gray, respectively. 3, both the occupied cell C o expressed in black, the cell C n of unobserved represents light gray.
  • a plurality of laser beams for example, 360 laser beams each at 1 °
  • a cell value is set for a cell through which each laser beam has passed.
  • the influence of the scan is calculated from the number of cells in which each scan has contributed to the generation of the occupancy grid map M, and scans having a small influence are reduced.
  • the degree of influence of the scan changes with time, and generally, the older the scan, the smaller the degree of influence. However, even if it is old in time, the old scan will survive if no new scan is acquired in that area.
  • the creation method of the present invention has a property that relatively new scans are left, so that the occupancy grid map M can be easily updated while reducing scan data.
  • the occupancy grid map M it is generally performed to calculate the occupancy probability by giving each cell C logarithmic odds.
  • the log odds of a certain cell C may be -3, the beam may pass through the cell C three times and the free value (-1) may be added three times, or the beam may pass through the cell C six times. It is also possible to reach three times and add the free value (-1) six times and the occupation value (1) three times, but the logarithmic odds alone cannot distinguish the number of times the beam has passed (the number of scans).
  • an observation frequency is introduced to calculate a cell value by an appropriate number of scans.
  • Each cell C has an observation frequency, and the number of times the cell C is scanned is recorded in the observation frequency, and only the latest N scans are left based on the recorded observation frequency, and old scans are discarded.
  • N may be any number of observations sufficient to calculate the occupancy probability from the log odds, and empirically, it is considered that scanning for 1 to 2 seconds is sufficient. For example, if the frame rate of the surrounding sensor is 10 fps, it is found that a sufficiently practical occupancy grid map M can be created when N is 10 to 20.
  • the occupancy grid map M needs to be updated as needed by reflecting changes in the environment, and the update frequency may be various forms, such as a case where the occupancy grid is updated in real time and a case where it is updated regularly every day. .
  • a loop is a orbital path in which a moving object passes through the same place, and a process of detecting a loop and eliminating distortion of the map is referred to as loop confinement. Then, since the moving object passes through the same place many times, loop closure frequently occurs. Loop confinement recreates the map, which typically uses all of the past data, so the problem of keeping the map updated over time is increased processing time and memory usage. .
  • the pose graph which is internal data used in loop confinement, is reduced in accordance with the reduction of scan data as described above.
  • the processing time and memory usage required for loop closure and subsequent map reconstruction are reduced.
  • Pose adjustment is a technique performed using a pose graph representing a constraint relationship of the position of the moving object, and the pose graph is constituted by nodes representing the position of the moving object and arcs representing the relative positions between the nodes,
  • the deviation between the estimated position of the moving object and the measured value can be represented.
  • Pose adjustment corrects the map distortion by minimizing this deviation.
  • the processing time of the pause adjustment is almost proportional to the number of nodes in the pause graph, and also depends on the number of loops.
  • the position of the moving object is estimated for each scan, and thus the position of the moving object and the number of nodes are proportional to the number of scans. Further, if the environment is small, it is considered that the vehicle passes through the same place many times. Therefore, it is assumed that the number of loops increases as the traveling locus becomes longer. Therefore, as the number of scans increases, the processing time of the pause adjustment also increases. As described above, by reducing the number of scans used, the size of the pause graph associated with the loop closing process is reduced, and the pause adjustment is performed. The processing time can be shortened, and the memory usage can be reduced.
  • FIG. 4 is a flowchart showing the operation of the moving object.
  • FIG. 5 is a flowchart showing a method for creating an occupancy grid map M
  • FIG. 6 is a flowchart showing a method for creating an occupancy grid map M different from FIG.
  • the description of the operation related to the traveling of the moving object will be omitted, and a description will be given focusing on a method of creating and updating the occupancy grid map M as the vehicle travels.
  • the detection control unit 22 drives and controls the surrounding sensors to start detecting surrounding objects (detection information obtaining step: step ST1). ).
  • the control unit 2 stores the detection value detected by the surrounding sensor in the storage unit 27 as detection information in association with the self position while estimating the self position by the SLAM technique (detection information storage step: step ST2).
  • detection information storage step: step ST2 For detection of the detection information, the detection value for one cycle by the surrounding sensor is defined as one scan, and this one scan is stored in the storage unit 27 as one piece of detection information.
  • control means 2 causes the map creation unit 23 to create an occupancy grid map M based on the detection information stored in the storage unit 27 (map creation step: step ST3), and stores the created occupancy grid map M in the storage unit. 27.
  • control means 2 determines whether or not to reduce the detection information (reduction determining step: step ST4). Here, it is determined whether or not the number of detections (the number of scans) has reached a predetermined number. If the number has reached the predetermined number (YES in step ST4), the process proceeds to next step ST5, and if the number has not reached the predetermined number. (NO in step ST3), the process returns to the detection information acquisition step (step ST1) again to acquire new detection information.
  • the influence degree calculation unit 24 of the control unit 2 calculates the degree of influence on the occupancy grid map M for each detection information stored in the storage unit 27 ( Impact calculation step: Step ST5).
  • the map creator 23 of the control means 2 selects detection information based on the degree of influence calculated by the degree of influence calculator 24 and reduces the detection information from the storage 27 (detection information reduction step: Step ST6). Calculation procedures in the influence degree calculation step (step ST5) and the detection information reduction step (step ST6) will be described later.
  • the map creation unit 23 of the control means 2 creates (updates) the occupancy grid map M again based on the reduced detection information (map re-creation step: step ST7), and stores the updated occupancy grid map M. It is stored in the unit 27.
  • the control means 2 determines whether or not to continue running of the mobile body 1 in step ST8.
  • the process returns to the detection information acquiring step (step ST1) again, and the traveling control unit 21 controls the traveling of the moving body 1 based on the newly created occupancy grid map M and performs the detection.
  • the control unit 22 continues to detect the surrounding object by the surrounding sensor, and the control unit 2 repeats the above-described steps.
  • the control means 2 stops the traveling of the moving body 1 and stops the operation of each unit.
  • the influence degree calculated in the influence degree calculation step is calculated by the influence degree calculation unit 24 for each scan (detection information) of the occupancy grid map M, and as described above, the observation degree calculation is performed.
  • the observation frequency calculated by the unit 25 is used.
  • the number of effective free cells contained therein f k the number of effective occupancy cells with o k.
  • “valid” means that the observation frequency is not older than the threshold value b thre .
  • This threshold value b thre corresponds to the latest scan number N to be left as described above.
  • Sensor center position of the scan s k is assumed to be obtained by the SLAM technology.
  • the degree of influence ek of the scan is represented by equation (1).
  • e k f k + Ao k ...
  • A is a constant for weighting effective number of occupied cells o k.
  • the number of occupied cells is generally smaller than the number of free cells, but is higher in importance because it indicates an obstacle. For this reason, a mechanism is provided in which the number of occupied cells is given a weight by A, and a scan having an effective occupied cell is prioritized.
  • the constant A is set to 1.
  • Impact of e k is calculated in the middle of the ray-casting.
  • the procedure of influence e k calculated ray casting, including with reference to a flowchart in FIG. 5 will be described.
  • step ST11 to select a scan s k from new order. In other words, to select from the new scan s k large k value in descending order.
  • step ST12 or later for each cell C i of scan s k, the following processing is repeated. That is, the sensor center when the obtained scan s k, (until it reaches the object) a line of laser beam simulating measured distance extended, the following processing is repeated for each cell C i on the straight line.
  • step ST13 if the straight line is the free cell C i (free space) that has passed, steps ST14 to ST17 are executed. If the straight line is the occupied cell C i (object) that has reached, the steps ST18 to ST21 are executed. . If the reflection of the laser beam is not observed, the cell through which the laser beam has passed is not operated as an unobserved cell.
  • the above processing means the following. Whether the cell value is updated by the beam scan s k is determined in observed frequency b i, since the processing from the new scan s k, if observed frequency b i of the cell C i is the threshold is exceeded b thre, ahead Scan s n (1 ⁇ n ⁇ k ⁇ 1) does not affect the cell value.
  • This scan s n is the old observation for cell values, cell value is not added to the degree of influence of scan s n.
  • the scan s k that most is determined to be the old observation, its influence is reduced, is removed is determined to be unnecessary when updating the occupancy grid map M (described later detects information reduction step : Step ST6).
  • step ST5 is not limited to the above-described processing procedure, and may be executed according to the procedure shown in FIG.
  • the processing procedure shown in FIG. 6 differs from that of FIG. 5 in steps ST14 to ST17 and steps ST18 to ST21.
  • step ST16 is executed before step ST14
  • Such a procedure that by, so even old scan s k past the b thre to update cell values are used. Therefore, while the update of the cell value with respect to the environmental change is delayed, the stability of the cell value is increased.
  • step ST5 After calculating the impact e k for each scan (detection information), as shown in FIG. 4, the detection information reduction process (step ST6), the coverage rate calculating section 27 The coverage is calculated, the detection information is selected based on the coverage, and the detection information is reduced from the storage unit 27.
  • Method for selecting a scan based on the calculated impact e k, using a threshold value e thre of impact deletes the scan to be e k ⁇ e thre.
  • the coverage of the scan set S is used for the setting.
  • the coverage of the scan set S the following equation (2), a ratio of the total impact e k by scan set S to the total of all the scans influence of the set S 0 remaining at the present time.
  • the coverage rate can indicate the degree of completion of the occupancy grid map M, and is considered to be an index that can be easily specified intuitively.
  • the impact e k is larger scan may take into scan set S in preference. Therefore, the procedure for determining the threshold value e thre for scan selection using the coverage ratio is as follows.
  • mapping unit 23, or more each scan s k that remaining being selected by each procedure is a cell value obtained by calculating log odds v i and observed frequency b i Is stored in the storage unit 27, whereby the occupancy grid map M is updated.
  • FIG. 7 is a diagram illustrating an example of creating an occupancy grid map.
  • FIG. 8 is a graph showing the reduction rate of the number of scans in the creation example, and shows the reduction rate of the number of scans by setting the coverage.
  • FIG. 9 is a diagram illustrating the quality of the occupancy grid map in the creation example.
  • FIGS. 10A to 10C are graphs showing a relationship between the number of input scans and the number of scans after reduction, the number of nodes, and the number of arcs in the creation example.
  • FIG. 7A shows an occupancy grid map M created without reducing the number of scans as a conventional example
  • FIG. 7B shows a map created after reducing the number of scans by the above-described creation method of the present invention.
  • An occupancy grid map M is shown. In the preparation method of the present invention, 0.95 was applied to the coverage.
  • the trajectory of the moving object corresponding to the scan used for generating the map is displayed on the occupancy grid map M.
  • the moving body traveled in the order of A, B,... F.
  • FIG. 7B since the number of scans is reduced, the position of the moving object is fragmented.
  • a simple short route is taken for easy viewing, and the reduction rate is not high.
  • FIG. 7B it can be seen that old scans have been deleted by the creation method of the present invention.
  • the first half of the section AB is deleted.
  • the scan group acquired in that part mainly determines the occupancy probability of the cell in the upper part of the room, but the cell value is replaced by the latter half of the section EF that traveled later, and the influence of the section AB is reduced. is there.
  • the section CD is also deleted, because it has been replaced by the remaining part of the section DE.
  • FIG. 7B there is an area in which the cell value is undetermined at the upper right of the section CD, but this is an omission caused because the coverage ratio is 0.95.
  • FIG. 7A the occupied cell (black) with respect to the wall is shown without missing, but in FIG. 7B, there is a missing portion.
  • This is considered to be because the cell value becomes unstable with only a small number of recent scans due to scan distortion and errors.
  • This can be solved by using many scans in the cell value calculation. That is, observed frequency b i using only the scan selection, as shown in FIG. 6, may be performed regardless of the computation of the log odds v i to observed frequency b i.
  • the processing procedure shown in FIG. 6 it is impossible to promptly reflect an environmental change.
  • the stability of the cell value and the response to environmental changes have conflicting aspects. This characteristic is considered to be essential for the occupancy grid map M, and the processing procedure may be appropriately used according to the target space or environment.
  • FIGS. 8 and 9 show how the reduction rate of the number of scans and the quality of the occupancy grid map M are changed by setting the coverage.
  • the graph of FIG. 8 shows the reduction rate with respect to the coverage when the number of scans is 3000, 6000, and 9000.
  • FIGS. 9A and 9B show occupancy grid maps M created when the coverage is 0.6 and 0.9, respectively.
  • the reduction rate (reduction ratio) is defined as a value obtained by dividing the number of scans after reduction by the number of scans before reduction. With this definition, the smaller the number of scans after reduction, the lower the reduction rate.
  • the higher the coverage the higher the reduction rate.
  • the reduction rate decreases as the number of scans increases. This is because, as the number of scans increases, the area to be repeatedly measured increases.
  • the number of scans is the same, the smaller the area, the greater the degree of measurement overlap. In other words, the same place is measured many times, and the scan reduction rate is reduced.
  • the quality of the generated occupancy grid map M changes depending on the coverage.
  • the coverage ratio shown in FIG. 9A is 0.6
  • there is a missing portion N the portion shown in gray in the drawing
  • the coverage ratio shown in FIG. 9B is 0.9.
  • the missing part is almost buried. Note that depending on the size and length of the target space, a missing area may be seen even if the coverage ratio is 0.9.
  • FIG. 10A shows the relationship between the number of input scans and the number of scans after the reduction in the creation example
  • FIG. 10B shows the relationship between the number of input scans and the number of nodes after the reduction
  • C) shows the relationship between the number of input scans and the number of arcs after reduction.
  • FIGS. 10B and 10C show that the number of nodes and the number of arcs are reduced as a result of contracting the above-described pause graph used for loop confinement.
  • the node and the scan correspond one-to-one.
  • the pause adjustment is performed by a key frame, the position of the moving body is extracted for each key frame and used as a node.
  • nodes are generated in keyframe units.
  • the key frame is a scan thinned out at a fixed interval, and the position of the moving body is extracted every time the translation distance and the rotation angle exceed threshold values (for example, 0.4 m and 60 °, respectively). Further, in the scanning unit between keyframes corresponding to the nodes, if any impact e k is even one scan exceeds the threshold value e thre, adopts the node, the node that is not employed deleted.
  • FIG. 10A even if the number of input scans increases, the number of scans after the reduction does not increase so much, and is constant or slightly increased. This is because the number of scans increases as the vehicle travels and, at the same time, the overlaps also increase.
  • the broken line in FIG. 10B indicates the number of nodes when only key frame thinning of the pause graph is performed. However, if only key frame thinning is performed, the number of nodes increases in proportion to the number of scans.
  • the processing of the present invention it can be seen that the number of nodes is further reduced and the rate of increase with respect to the number of scans is suppressed, as indicated by the solid line.
  • 10C indicates the number of arcs when only key frame thinning is performed.
  • the arc also has the same tendency as the node.
  • the increase / decrease behavior is larger than that of the node. Is also complicated.
  • the moving object includes the traveling means 3, the detection means 4, and the control means 2, and generates and updates the occupancy grid map M by the map creation unit 23 of the control means 2, thereby obtaining the map accuracy of the occupancy grid map M. While reducing the memory capacity and the load of arithmetic processing.
  • Observation number calculating unit 25 a scan s k stored in the storage unit 27 counts for each cell C i of occupied lattice map M is calculated as the observed frequency b i, based on the observed frequency b i by increasing the degree of influence e k of scan s k in accordance with the ratio of the cell C i which is valid and can be screened efficiently scan s k. That is, when a plurality of scan s k to the new ones from the old to a certain cell C i is present, and record the number as the observed frequency b i, and enable a predetermined number of new, old than Invalidate things. Then, we appreciate impact e k of scan s k valid cell C i there are many.
  • Mapping unit 23 by influence e k is erased smaller scan s k than a predetermined threshold value e thre from the storage unit 27, creates an occupancy grid map M based on the reduction and scan s k In addition, the calculation load and time required to create the occupancy grid map M can be reduced, and the capacity of the storage unit 27 can be saved. Furthermore, since the occupancy grid map M is created using the scan sk having a high degree of influence e k , the occupancy grid map M can be efficiently created.
  • mapping unit 23 based on the coverage calculated by the coverage ratio calculating unit 26, impact so setting the threshold e thre of e k, efficiently scan s k screened to the occupied grid map M Can be created. Further, the threshold e thre of impact e k is automatically set on the basis of the coverage, it is possible to improve the efficiency of the processing.
  • the log odds v i is updated also use the old scan s k past the b thre to update the cell values, updating the cell values to environmental changes
  • the stability of the cell value increases, and the stability of the occupancy grid map M can be improved.
  • the present invention is not limited to the above-described embodiment, but includes modifications and improvements as long as the object of the present invention can be achieved.
  • specific moving objects are not illustrated.
  • the moving objects may be mobile robots such as service robots and home robots, and more specifically, cleaning robots and security robots. , Transport robots, guide robots, and the like.
  • the moving body may be an autonomous driving car or a work vehicle.
  • the moving range of the moving object is not limited to the two-dimensional plane space, but may be a three-dimensional space.
  • the moving object may be a flying object such as a drone. That is, in the above-described embodiment, an example in which 2D-SLAM is used as the SLAM technology has been described.
  • the map generation system of the present invention can be applied to 3D-SLAM targeting three-dimensional space.
  • the moving body 1 of the moving body includes the control unit 2 and the control unit 2 includes the map creating unit 23 and the storage unit 27.
  • the storage means for storing the occupancy grid map M is provided not on the mobile body 1 but on another device that can communicate with the mobile body, and the mobile device is based on the occupancy grid map M created by the other device.
  • the main body 1 may be configured to run autonomously.
  • the moving body does not need to include moving means (running means), and may have a configuration in which a user manually moves a cart or the like on which the detecting means is installed and detects surroundings. .
  • FIG. 11 is a flowchart illustrating a modification of the operation of the moving object.
  • the map re-creation step step ST7 is executed prior to the detection information reduction step (step ST6), and the occupancy grid map M is updated based on the detection information before the reduction. Is reduced from the storage unit 27.
  • the map creation unit 23 creates the occupancy grid map M using all the detection information stored in the storage unit 27 before deleting the detection information from the storage unit 27. The stability of the map M can be improved.
  • the present invention can reduce the memory capacity required for creating an occupied grid map and the like and reduce the load of arithmetic processing in various moving objects such as robots that autonomously move using an occupied grid map. Accordingly, the present invention can be suitably used for a map generation system capable of increasing the efficiency of creating an occupancy grid map.

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Instructional Devices (AREA)
  • Traffic Control Systems (AREA)

Abstract

【課題】占有格子地図の地図精度を確保しつつメモリ容量や演算処理の負荷を軽減させることができる地図生成システムおよび移動体を提供。 【解決手段】地図生成システムは、検出手段(4)による検出単位ごとの検出値を検出情報として時系列に記憶する記憶部(27)と、記憶部(27)に記憶された検出情報に基づいて占有格子地図を作成して記憶部(27)に記憶させる地図作成部(23)と、記憶部(27)に記憶された検出情報ごとに占有格子地図に対する影響度を算出する影響度算出部(24)と、を備える。地図作成部(23)は、影響度算出部(24)にて算出された影響度に基づいて、検出情報を選別して占有格子地図を作成する。

Description

地図生成システムおよび移動体
 本発明は、地図生成システムおよび移動体に関する。
 従来、自律走行可能な移動体が自律走行するための技術として、SLAM(Simultaneous Localization and Mapping) と称される自己位置推定と環境地図作成の技術が用いられている。環境地図としては、移動体の移動範囲における物体の有無に基づいて作成された占有格子地図が用いられることがある(例えば、特許文献1参照)。この占有格子地図は、移動範囲の平面や空間を複数の区画(セル)に分割して記憶するとともに、分割した各区画に対して物体の有無に応じたセル値が付与されている。また、占有格子地図では、区画ごとに複数のスキャンに基づいて物体の存在する確率(以下では、存在確率や占有確率と称することがある)が算出され、この確率に基づいて各区画のセル値が管理されている。
特開2017-157087号公報
 ところで、占有格子地図の作成(および更新)は、所定時間ごとや所定スキャン回数ごとに実行され、そのスキャン数が多いほど情報量が増えて地図の精度を高めることができるものの、スキャンデータ(以下では、検出情報と称することがある)の増大に伴いメモリを圧迫するとともに演算処理の負荷も増加してしまう。また、1つの区画に対して複数のスキャンから存在確率およびセル値を算出する場合、前後に実行されたスキャンの間で情報が重複し、後のスキャンによってセル値が上書きされることが起きる。このため古いスキャンデータから順次削除していき、新しいスキャンデータだけを使用してセル値を算出する手法も考えられるが、そうすると有効な情報を含んだ古いスキャンデータをも削除してしまう可能性があり、地図の精度が低下してしまうことがある。
 本発明の目的は、占有格子地図の地図精度を確保しつつメモリ容量や演算処理の負荷を軽減させることができる地図生成システムおよび移動体を提供することである。
 本発明の地図生成システムは、移動体の移動範囲における周囲の物体までの距離と方向を検出手段によって検出し、物体の有無に基づいて占有格子地図を生成する地図生成システムであって、前記検出手段による検出単位ごとの検出値を検出情報として時系列に記憶する記憶手段と、前記記憶手段に記憶された検出情報に基づいて占有格子地図を作成して前記記憶手段に記憶させる地図作成手段と、前記記憶手段に記憶された検出情報ごとに前記占有格子地図に対する影響度を算出する影響度算出手段と、を備え、前記地図作成手段は、前記影響度算出手段にて算出された影響度に基づいて、検出情報を選別して占有格子地図を作成することを特徴とする。
 このような本発明によれば、地図作成手段は、影響度算出手段にて算出された影響度に基づいて、検出情報を選別して占有格子地図を作成するので、効率よく占有格子地図を作成または更新することができる。すなわち、地図作成手段は、占有格子地図に対する影響度が小さい検出情報を用いないように選別することで、演算に利用する検出情報の数を減らすことができ、メモリ容量が少なくて済むとともに演算処理の負荷を軽減させることができる。一方、占有格子地図に対する影響度が大きい検出情報を選別して用いることで、古い検出情報であっても有効なものが残されるため、作成する占有格子地図の地図精度を確保することができる。
 本発明では、前記記憶手段に記憶された検出情報を占有格子地図の区画ごとに計数して観測度数として算出する観測度数算出手段をさらに備え、前記影響度算出手段は、前記観測度数算出手段にて算出された観測度数に基づいて、検出情報ごとの各区画の有効または無効を決定するとともに、有効な区画の割合に応じて高くなるように影響度を算出することが好ましい。
 このような構成によれば、観測度数算出手段は、記憶手段に記憶された検出情報を占有格子地図の区画ごとに計数して観測度数として算出し、この観測度数に基づいて有効とした区画の割合に応じて検出情報の影響度を高くすることで、効率よく検出情報を選別することができる。すなわち、ある区画に対して古いものから新しいものまで複数の検出情報(検出値)が存在する場合に、その個数(検出の回数)を観測度数として記録し、新しいものから所定数を有効とし、それよりも古いものを無効とする。そして、有効な区画が多く存在する検出情報の影響度を高く評価する。このようにすることで観測度数が高い(検出の回数が多い)区画に対しては、環境変化が反映されやすい新しい検出情報の影響度が高くなり、占有格子地図の地図精度を高めることができる。一方、観測度数が低い(検出の回数が少ない)区画に対しては、比較的古い検出情報まで影響度が高く評価され、古くても有効な情報を含んだ検出情報を適切に残して占有格子地図を作成することができる。
 本発明では、前記地図作成手段は、前記観測度数算出手段にて算出された観測度数が所定の閾値よりも小さい区画に対して区画値を更新して占有格子地図を作成することが好ましい。
 このような構成によれば、地図作成手段は、観測度数が所定の閾値よりも小さい区画に対して区画値を更新して占有格子地図を作成するので、相対的に新しい検出情報が選別されることになり、環境変化を反映させた占有格子地図を作成することができる。
 本発明では、前記地図作成手段は、前記観測度数算出手段にて算出された観測度数に関わらずに、各区画に対する区画値を更新して占有格子地図を作成することが好ましい。
 このような構成によれば、地図作成手段は、観測度数に関わらずに、各区画に対する区画値を更新して占有格子地図を作成するので、占有格子地図の安定性を向上させることができる。
 本発明では、前記地図作成手段は、前記影響度算出手段にて算出された影響度が所定の閾値よりも小さい検出情報を前記記憶手段から消去することが好ましい。
 このような構成によれば、地図作成手段は、影響度が所定の閾値よりも小さい検出情報を記憶手段から消去することで、占有格子地図の作成にかかる演算負荷と時間を削減することができるとともに、記憶手段の容量を節約することができる。
 本発明では、前記地図作成手段は、検出情報を前記記憶手段から消去する前に、前記記憶手段に記憶された全ての検出情報を使用して占有格子地図を作成することが好ましい。
 このような構成によれば、地図作成手段は、検出情報を記憶手段から消去する前に、記憶手段に記憶された全ての検出情報を使用して占有格子地図を作成するので、占有格子地図の安定性を向上させることができる。
 本発明では、前記記憶手段に記憶された全ての検出情報の影響度の合計と、所定の数の検出情報の集合に属する検出情報の影響度の合計と、の比を網羅率として算出する網羅率算出手段をさらに備え、前記地図作成手段は、前記網羅率算出手段にて算出された網羅率に基づいて、前記影響度の閾値を設定することが好ましい。
 このような構成によれば、地図作成手段は、網羅率算出手段にて算出された網羅率に基づいて、影響度の閾値を設定するので、効率よく検出情報を選別して占有格子地図を作成することができる。また、網羅率に基づいて影響度の閾値が自動的に設定されるので、演算処理を効率化することができる。
 本発明の移動体は、移動手段、検出手段および制御手段を備えた移動体であって、前記いずれかの地図生成システムが前記制御手段によって構成されることを特徴とする。
 このような本発明によれば、移動体は、移動手段、検出手段および制御手段を備え、制御手段によって前記地図生成システムが構成されることで、前述したのと同様に効率よく占有格子地図を作成または更新することができ、自律走行する移動体において、占有格子地図の地図精度を確保しつつメモリ容量や演算処理の負荷を軽減させることができる。
本発明の一実施形態に係る移動体のブロック図 前記移動体の移動範囲を示す占有格子地図の真値の概念図 前記占有格子地図の作成経過を示す概念図 前記移動体の動作を示すフローチャート 前記占有格子地図の作成方法を示すフローチャート 図5と異なる前記占有格子地図の作成方法を示すフローチャート 前記占有格子地図の作成例を示す図 前記作成例におけるスキャン数の削減率を示すグラフ 前記作成例における占有格子地図の品質を示す図 (A)~(C)は、前記作成例における入力スキャン数と削減後のスキャン数、ノード数、アーク数の関係を示すグラフ 前記移動体の動作の変形例を示すフローチャート
 以下、本発明の一実施形態を図1~図9に基づいて説明する。
 本実施形態の移動体は、図1に示すように、移動体本体1と、移動体本体1を駆動制御する制御手段2と、移動体本体1を移動させる移動手段としての走行手段3と、移動体本体1の周囲の物体を検出するための検出手段4と、を備えている。この移動体は、SLAM技術によって自己位置推定と環境地図作成を行い、制御手段2に記憶された対象空間(移動範囲)ごとのマップや走行スケジュールに基づいて、移動体本体1が走行手段3によって自律走行するものである。このマップとしては、後述する占有格子地図が利用される。
 移動体本体1は、図示しないボディおよびシャーシを備え、走行手段3は、例えば、左右一対の車輪と、一対の車輪を各々独立して回転駆動するモータと、を備えている。
 検出手段4は、例えば、移動体本体1の前部に設けられた前方センサと、移動体本体1の上部に設けられた周囲センサと、移動体本体1の後部に設けられた後方センサと、を備えている。周囲センサは、赤外線レーザー等のレーザー光を周囲に照射して物体までの距離を測定するレーザースキャナ(LIDAR(Light Detection and RangingまたはLaser Imaging Detection and Ranging))である。この周囲センサは、SLAM技術によって取得した自己位置であるセンサ中心と方位を基準位置(x,y,θ)とし、センサ中心からの距離と、センサ中心回りの角度(方向)と、に基づいて物体の有無や位置を検出する。この物体検出(以下では、単にスキャンと称することがある)では、周囲センサの1周期(例えば、1回転、360°)分の検出において、所定の解像度(例えば、1°)で照射されるレーザービームに基づき、1周期分の検出値を1単位(1スキャン)とし、この1スキャンの検出値が検出情報として時系列で記憶部28に記憶される。
 制御手段2は、CPU等の演算手段やROM、RAM等の記憶手段を備えて移動体本体1の動作を制御するものであって、走行手段3を制御する走行制御部21と、検出手段4を制御する検出制御部22と、を備える。さらに、制御手段2は、後述するような占有格子地図の作成に係る地図作成部(地図作成手段)23、影響度算出部(影響度算出手段)24、観測度数算出部(観測度数算出手段)25および網羅率算出部(網羅率算出手段)26と、作成した占有格子地図や各種のデータを記憶する記憶部(記憶手段)27と、を備えて構成されている。
 地図作成部23が占有格子地図を作成するタイミングとしては、例えば、新たな対象空間の占有格子地図を新規に生成する地図生成モードの場合、すでに占有格子地図を生成した既知の対象空間に対して地図を更新する地図更新モードの場合、既知の対象空間に対して通常の作業を実施する自律走行モードの場合などである。また、地図更新モードで地図を更新する期間(更新スパン)としては、その対象空間にて移動体本体1が走行した累計走行時間(例えば、数時間から数十時間ごと)に基づいてもよいし、その対象空間にて検出手段4が検出を実行した累計スキャン回数(例えば、数千から数万回ごと)に基づいてもよいし、使用者から設定入力された期間や手動での指令に基づいてもよい。
 次に、図2、図3を参照して占有格子地図の作成に係る基本的な概念を説明する。図2は、移動体の移動範囲を示す占有格子地図Mの真値の概念図であり、図3は、占有格子地図Mの作成経過を示す概念図である。占有格子地図Mは、対象空間を二次元平面に規定し、この平面を所定サイズ(例えば、5cm角)の格子に分割し、分割した区画であるセルCごとにセル値(区画値)を設定する。この占有格子地図Mの作成方法としては、例えば、レイキャスティングが標準的であり、以下ではレイキャスティングを用いた占有格子地図Mの作成手順を説明する。
 レイキャスティングでは、センサ中心からレーザービームを模擬した直線を伸ばし、ビームが通過したセルCの値を更新する。図3に示すように、レーザースキャナ(周囲センサ)の計測範囲が円内であるとすると,ビームが物体に当たった位置にあるセルCは占有(例えば、セル値=1)、ビームが通過したセルCは自由(例えば、セル値=-1)となる。計測範囲内に物体がない場合はビームが返ってこないので、未観測となり、通常はセル値を変えない。占有格子地図Mのセル値は対数オッズで管理され、複数のスキャンによるセル値を合算して対数オッズを計算する。例えば、あるセルCの占有が3回、自由が2回あれば、対数オッズは3+(-2)=1となる。この対数オッズから占有確率が計算される。ただし、図3では、簡単のため、セル値を単純に上塗りしている。
 次に、図2、図3を用いて本発明の占有格子地図Mの作成方法の考え方を説明する。図2は、占有格子地図Mの真値であり、実環境には壁Wと物体Oがあるとする。図3(A)は、検出手段4により制御手段2が1回目のスキャン(360°のスキャン)を取得したときの占有格子地図Mのセル値である。ここでは、1回目のスキャンによる自由セルCf1を白で表す。同様に、図3(B),(C)は、2回目のスキャン、3回目のスキャンによるセル値であり、それらの自由セルCf2,Cf3をそれぞれ中間のグレーおよび濃いグレーで表す。図3において、占有セルCはいずれも黒で表し、未観測のセルCは薄いグレーで表す。各スキャンにおいて、複数本(例えば、1°ずつ360本)のレーザービームが照射され、1本ごとのレーザービームが通過したセルに対してセル値を設定する。
 図3を参照すると、1回目のスキャンが書き込んだセル値の多くは、その後のスキャンによって上塗りされている。1回目のスキャンの占有セルCは、2回目、3回目のスキャンの円内に含まれるので、すべて上塗りされる。1回目のスキャンの自由セルCf1はわずかしか残っておらず、1回目のスキャンが占有格子地図Mの生成にあまり寄与していないことが分かる。この例では、セル値を単純に上塗りしているが、多くのスキャンから占有確率を計算する場合でも、スキャンが重複するにつれて同様の現象が生じることが分かっている。
 本発明の占有格子地図Mの作成方法は、各スキャンが占有格子地図Mの生成に寄与したセル数からそのスキャンの影響度を計算し、影響度の小さいスキャンを削減する。図2、図3からわかるように、スキャンの影響度は、時間の進行とともに変化し、一般的には古いスキャンほど影響度は小さくなる。ただし、時間的には古くても、その領域で新しいスキャンが取得されなければ、古いスキャンは生き残る。このように、本発明の作成方法は、相対的に新しいスキャンを残す性質をもつので、スキャンデータの削減と同時に、占有格子地図Mの更新も行いやすい手法となっている。
 また、占有格子地図Mの作成において、各セルCに対数オッズを持たせて占有確率を計算することが一般的に行われている。しかし、対数オッズだけでは、そのセルCを何回スキャンしたかの情報は残らない。例えば、あるセルCの対数オッズが-3となるには、セルCをビームが3回通過して自由値(-1)が3回加算されてもよいし、あるいは、セルCをビームが6回通過、3回到達して自由値(-1)が6回と占有値(1)が3回加算されてもよいが、対数オッズだけでは、ビームの通過回数(スキャン回数)の区別はつかない。
 占有格子地図Mを作成する際、ノイズや誤差があっても安定した結果となるためには、複数回のスキャンによって、各セルCに多くのビームが通って、統計的に処理することが望ましい。しかし、スキャンは多いほどよいわけではなく、古いスキャンは新しいスキャンによって塗り替えられて必要なくなることも多い。例えば、物体の位置が変わると、移動元のセルCは自由状態となり、移動先のセルCは占有状態となり、移動後の位置が確定すれば、古いスキャンは必要なくなる。これらのことから、スキャンした回数を明示的に管理し、適切な数のスキャンでセル値を計算すれば、無駄な計算を減らせることになる。
 本発明の占有格子地図Mの作成方法では、適切な数のスキャンでセル値を計算するために観測度数を導入する。各セルCは観測度数をもち、そのセルCをスキャンした回数を観測度数に記録し、記録した観測度数に基づいて最新のN個のスキャンだけを残し、古いスキャンを捨てることに特徴がある。ここで、Nは対数オッズから占有確率を計算するのに十分な観測数であればよく、経験的には、1~2秒分のスキャンでよいと考えられる。例えば、周囲センサのフレームレートが10fpsならば、Nは10~20で十分実用的な占有格子地図Mが作成できることが分かった。
 また、占有格子地図Mは、環境の変化を反映して随時更新する必要があり、その更新頻度としては、実時間で更新する場合や毎日定期的に更新する場合など、種々の形態が考えられる。また、地図形状の歪みを減らして一貫性を保つには、ループ閉じ込みを行う必要がある。ここで、ループとは移動体が同じ場所を通る周回経路であり、ループを検出して地図の歪みを解消する処理をループ閉じ込みと呼ぶ。そして、移動体は同じ場所を何度も通るので、ループ閉じ込みが頻発する。ループ閉じ込みをすると地図を作り直すが、これには過去のデータをすべて用いることが一般的であったため、地図を長期間にわたって更新し続ける際の問題として、処理時間とメモリ使用量の増加がある。
 本発明の占有格子地図Mの作成方法では、前述のようなスキャンデータの削減に合せて、ループ閉じ込みで用いる内部データであるポーズグラフを縮約する。ポーズグラフを縮約することにより、ループ閉じ込みとその後の地図再構築に要する処理時間とメモリ使用量が削減される。
 具体的には、移動体の走行軌跡のループを検出し、ポーズ調整によりループ閉じ込みを行う。ポーズ調整は、移動体の位置の拘束関係を表すポーズグラフを用いて行う技術であり、ポーズグラフは、移動体の位置を表すノードと、ノード間の相対位置を表すアークと、によって構成され、移動体の推定位置と計測値とのずれを表すことができる。ポーズ調整は、このずれを最小化することで、地図の歪みを修正する。ポーズ調整の処理時間は、ポーズグラフのノード数にほぼ比例し、ループの数にも依存する。SLAM技術では、移動体の位置はスキャンごとに推定されるため、移動体の位置およびノードの個数はスキャン数に比例する。また、環境が小規模ならば同じ場所を何度も通ると考えられるので、走行軌跡が長くなると、ループの数も増えると想定される。したがって、スキャン数が増えればポーズ調整の処理時間も増えることから、前述のように、使用するスキャン数を削減することで、ループ閉じ込み処理に伴うポーズグラフのサイズを小さくして、ポーズ調整の処理時間が短縮でき、メモリ使用量も削減することが可能になる。
 次に、図4~図6も参照して移動体の動作および占有格子地図Mの作成(更新)方法について詳しく説明する。図4は、移動体の動作を示すフローチャートである。図5は、占有格子地図Mの作成方法を示すフローチャートであり、図6は、図5と異なる占有格子地図Mの作成方法を示すフローチャートである。なお、ここでは、移動体の走行に係る動作については説明を省略し、走行に伴って占有格子地図Mを作成、更新する方法に着目して説明する。
 制御手段2の走行制御部21によって移動体本体1の走行が開始されると、検出制御部22によって周囲センサが駆動制御されて周囲の物体の検出が開始される(検出情報取得工程:ステップST1)。制御手段2は、SLAM技術によって自己位置を推定しつつ、自己位置と関連付けて周囲センサによって検出した検出値を検出情報として記憶部27に記憶させる(検出情報記憶工程:ステップST2)。検出情報の検出は、周囲センサによる1周期分の検出値を1スキャンとし、この1スキャンを1つの検出情報として記憶部27に記憶する。次に、制御手段2は、記憶部27に記憶した検出情報に基づいて、地図作成部23に占有格子地図Mを作成させ(地図作成工程:ステップST3)、作成した占有格子地図Mを記憶部27に記憶させる。次に、制御手段2は、検出情報を削減するか否かを判断する(削減判断工程:ステップST4)。ここでは、検出回数(スキャン回数)が所定回数に達したか否かを判断し、所定回数に達していれば(ステップST4でYES)、次のステップST5に進み、所定回数に達していなければ(ステップST3でNO)、再び検出情報取得工程(ステップST1)に戻って、新たな検出情報を取得する。
 削減判断工程(ステップST4)で検出情報を削減すると判断した場合、制御手段2の影響度算出部24は、記憶部27に記憶された検出情報ごとに占有格子地図Mに対する影響度を算出する(影響度算出工程:ステップST5)。次に、制御手段2の地図作成部23は、影響度算出部24にて算出された影響度に基づいて、検出情報を選別して記憶部27から検出情報を削減する(検出情報削減工程:ステップST6)。これらの影響度算出工程(ステップST5)および検出情報削減工程(ステップST6)における演算手順は後述する。次に、制御手段2の地図作成部23は、削減された検出情報に基づいて占有格子地図Mを再度作成(更新)し(地図再作成工程:ステップST7)、更新した占有格子地図Mを記憶部27に記憶させる。
 以上のようにして占有格子地図Mが作成および更新されたら、制御手段2は、ステップST8にて移動体本体1の走行を継続するか否かを判断する。ステップST8で走行を継続する場合、再び検出情報取得工程(ステップST1)に戻り、走行制御部21は、新たに作成した占有格子地図Mに基づいて移動体本体1の走行を制御するとともに、検出制御部22は、周囲センサによる周囲の物体の検出を継続し、制御手段2は上述した各工程を繰り返す。ステップST8で走行を継続しない場合、制御手段2は、移動体本体1の走行を停止させるとともに、各部の動作を停止させる。
 次に、影響度算出工程(ステップST5)で算出する影響度は、占有格子地図Mに対するスキャン(検出情報)ごとに影響度算出部24が算出するものであって、前述したように観測度数算出部25が算出した観測度数が用いられる。ここでは、あるスキャンsに対して、その中に含まれる有効自由セル数をf、有効占有セル数をoとする。ここで有効とは、観測度数の閾値bthreよりも古くないことを意味する。この閾値bthreは、前述したように、残すべき最新のスキャン数Nに相当する。また、i番目のセルの対数オッズをv、観測度数をbとする。スキャンsのセンサ中心位置は、SLAM技術によって得られているものとする。
 スキャンの影響度ekは、式(1)で表す。 
 e=f+Ao    …(1)
 ここで、Aは、有効占有セル数oに重みをつけるための定数である。占有格子地図Mでは、一般に、占有セルは、自由セルに比べて数は少ないが、障害物を示すので重要性が高い。このため、Aによって占有セル数に重みを持たせ、有効占有セルをもつスキャンを優先する仕組みを入れておく。なお、以下の演算では、定数Aは1とする。
 影響度eは、レイキャスティングの最中に計算する。影響度eの計算を含めたレイキャスティングの手順を図5のフローチャートを参照して説明する。
 まず、ステップST10において、全セルについて、対数オッズvおよび観測度数bを初期化する(v=0、b=0)。次に、ステップST11において、スキャンsを新しいものから順に選択する。すなわち、k値が大きい新しいスキャンsから降順に選択する。そして、ステップST12以降において、スキャンsの各セルCに対して、以下の処理を繰り返す。すなわち、スキャンsを得たときのセンサ中心から、レーザービームを模した直線を計測距離だけ(物体に到達するまで)伸ばし、直線上の各セルCについて以下の処理を繰り返す。ステップST13において、直線が通過した自由セルC(自由空間)である場合、ステップST14~ST17を実行し、直線が到達した占有セルC(物体)である場合、ステップST18~ST21を実行する。なお、レーザービームの反射が観測されない場合は、そのレーザービームが通過したセルは未観測セルとして演算を行わない。
 自由セルCの場合、ステップST14において、観測度数bが閾値bthreよりも小さければ(ステップST14でYES)、ステップST15にて有効自由セル数fに1を加え(f=f+1)、ステップST16にて対数オッズvから1を減じ(v=v-1)、ステップST17にて観測度数bに1を加える(b=b+1)。ステップST14において、観測度数bが閾値bthreよりも大きければ(ステップST14でNO)、ステップST22に進む。
 占有セルCの場合、ステップST18において、観測度数bが閾値bthreよりも小さければ(ステップST18でYES)、ステップST19にて有効占有セル数oに1を加え(o=o+1)、ステップST20にて対数オッズvに1を加え(v=v+1)、ステップST21にて観測度数bに1を加える(b=b+1)。ステップST18において、観測度数bが閾値bthreよりも大きければ(ステップST18でNO)、次のステップST22に進む。
 ステップST22において、あるスキャンsに含まれる全てのセルCに対しての処理が終了したか否かを判断し、処理が終了していなければ(ステップST22でNO)、ステップST12に戻って次のセルC(i=i+1)に対して同様の処理を実行する。一方、あるスキャンsに含まれる全てのセルCに対して処理が終了すれば(ステップST22でYES)、次のステップST23に進み、当該スキャンsの影響度eを算出する。ステップST23において、スキャンsの影響度eは、前式(1)によって算出する。次に、ステップST24において、全てのスキャンsに対しての処理が終了したか否かを判断し、処理が終了していなければ(ステップST24でNO)、ステップST11に戻って1つ古いスキャンs(k=k-1)に対して同様の処理を実行する。一方、全てのスキャンsに対して処理が終了すれば(ステップST24でYES)、影響度算出工程(ステップST5)を終了する。
 以上の処理は次のことを意味する。スキャンsのビームによってセル値が更新されるかどうかは観測度数bで判定され、新しいスキャンsから処理するので、セルCの観測度数bが閾値bthreを超えれば、その先のスキャンs(1≦n≦k-1)はセル値に影響を与えない。このスキャンsは,セル値に対しては古い観測であり、セル値はスキャンsの影響度に加算されない。そして、大部分が古い観測であると判定されたスキャンsは、その影響度が小さくなり、占有格子地図Mを更新する際に必要ないと判定されて削除される(後述する検出情報削減工程:ステップST6)。
 以上の処理の利点としては、レイキャスティングの過程で影響度が計算できるので、計算コストが小さくできるとともに、古くても観測が少ない領域のスキャンsを残すことができる。すなわち、新しい観測がない領域では古いスキャンsしか残っていないが、観測度数bが閾値bthreを超えなければ、そのスキャンsは影響度が大きくなり、削除されず、最後に観測した状態が保たれて占有格子地図Mを安定させることができる。
 なお、影響度算出工程(ステップST5)は、以上の処理手順によるものに限らず、図6に示す手順で実行されてもよい。図6に示す処理手順は、ステップST14~ST17およびステップST18~ST21が図5のものと相違する。具体的には、ステップST14よりもステップST16を先に実行し、ステップST19よりも先にステップST20を実行する。すなわち、観測度数bと閾値bthreとの比較に関わらず、自由セルCの場合にはステップST16にて対数オッズvから1を減じ(v=v-1)、占有セルCの場合にはステップST20にて対数オッズvに1を加える(v=v+1)。このような処理手順によることで、セル値の更新にbthreを過ぎた古いスキャンsも使われるようになる。したがって、環境変化に対するセル値の更新が遅くなる半面、セル値の安定性は増すことになる。
 以上の影響度算出工程(ステップST5)によって、スキャン(検出情報)ごとに影響度eを算出したら、図4に示すように、検出情報削減工程(ステップST6)において、網羅率算出部27が網羅率を算出し、この網羅率に基づいて検出情報を選別して記憶部27から検出情報を削減する。
 算出した影響度eに基づいてスキャンを選別する方法は、影響度の閾値ethreを用いて、e≦ethreとなるスキャンを削除する。ここで、ethreは環境によって変わることから、その設定には、スキャン集合Sの網羅率を用いる。スキャン集合Sの網羅率とは、次式(2)のように、現時点で残っている全スキャン集合Sの影響度の合計に対するスキャン集合Sによる影響度eの合計の比である。
Figure JPOXMLDOC01-appb-M000001
 この網羅率が大きいほど、スキャン集合Sによる占有格子地図Mは全スキャン集合Sによる占有格子地図に近づく。このように、網羅率は占有格子地図Mの完成度合いを表すことができ、直感的に指定しやすい指標であると考えられる。スキャンを削減しつつ網羅率を高く保つには、影響度eが大きいスキャンを優先してスキャン集合Sに入れるとよい。したがって、網羅率を用いてスキャン選別の閾値ethreを決める手順は以下のようになる。
 まず、全スキャンの影響度の合計totalEを求めてから、全スキャンを影響度eの順にソートする。次に、各スキャンsについて、影響度eの大きい方から以下の式(3)、式(4)を繰り返し計算し、式(4)を満足しなくなった(sum/totalE≧coverageとなった)ときの影響度eを閾値ethreとする。ここで、coverageはユーザが指定した網羅率であり、例えば、0.95(95%)などが用いられる。
 sum=sum+e   …(3)
 sum/totalE<coverage  …(4)
 地図再作成工程(ステップST7)において、地図作成部23は、以上の各手順によって選別されて残ったスキャンsごとに、演算によって得られたセル値である対数オッズvおよび観測度数bを記憶部27に記憶させ、これにより占有格子地図Mが更新される。
 以下、図7~図10を参照して、占有格子地図Mを作成した例について説明する。図7は、占有格子地図の作成例を示す図である。図8は、作成例におけるスキャン数の削減率を示すグラフであり、網羅率の設定によるスキャン数の削減率を示す。図9は、作成例における占有格子地図の品質を示す図である。図10(A)~(C)は、作成例における入力スキャン数と削減後のスキャン数、ノード数、アーク数の関係を示すグラフである。
 図7(A)には、従来例としてスキャンを削減せずに作成した占有格子地図Mが示され、図7(B)には、本発明の前述した作成方法によりスキャンを削減してから作成した占有格子地図Mが示されている。本発明の作成方法において、網羅率には0.95を適用した。図7では,占有格子地図Mの上に、地図生成に用いたスキャンに対応する移動体の移動軌跡を表示している。図7(A)に示すように、移動体は、A、B、…Fの順に走行した。図7(B)では、スキャンが削減されているので、移動体の位置も断片的になっている。なお、ここでは,見やすさのために単純な短い経路をとっており削減率は高くない。
 図7(B)に示すように、本発明の作成方法によって古いスキャンが削除されているのがわかる。たとえば、区間A-Bの前半部は削除されている。その部分で取得したスキャン群は主に部屋の上部のセルの占有確率を決めるが、後に走行した区間E-Fの後半部によってセル値が置換えられ、区間A-Bの影響度が減ったためである。また、区間C-Dも削除されているが、これは区間D-Eの残っている部分で置換されたためである。なお、図7(B)において、区間C-Dの右上にセル値が未定の領域があるが、これは網羅率が0.95であるために生じた欠落である。
 また、図7(A)では、壁に対する占有セル(黒)が欠落なく出ているが、図7(B)では、欠けている部分がある。これは、スキャンの歪みや誤差のため、最近の少数のスキャンだけでは、セル値が不安定になるためと考えられる。これは、セル値計算で多くのスキャンを使用すれば解決する。すなわち、観測度数bはスキャン選択だけに用いて、図6に示すように、対数オッズvの計算を観測度数bによらずに行えばよい。ただし、図6に示す処理手順によると、環境変化を迅速に反映することはできなくなる。このように、セル値の安定性と環境変化への対応は相反する面がある。この特性は占有格子地図Mに本質的なものと考えられ、対象とする空間や環境に応じて処理手順を適宜に使い分ければよい。
 図8、図9には、網羅率の設定によってスキャン数の削減率および占有格子地図Mの品質がどのように変化したかが示されている。図8のグラフは、スキャン数を3000個、6000個、9000個とした場合の網羅率に対する削減率を示す。図9(A),(B)は、それぞれ網羅率が0.6および0.9の場合に作成された占有格子地図Mを示す。ここでは、削減率(reduction ratio)を、削減後のスキャン数を削減前のスキャン数で割った値で定義する。この定義では、削減後のスキャンが少ないほど削減率は小さくなる。
 図8に示すように、網羅率(coverage)を高くするほど削減率は大きくなっている。また、スキャン数が多いほど削減率は小さくなっている。これはスキャン数が多いほど、重複して計測する面積が増えるためである。また、対象空間の面積について、同じスキャン数ならば、面積が小さいほど計測の重複度が大きくなる。つまり、何度も同じ場所を計測していることになり、スキャンの削減率が小さくなる。
 図9に示すように、生成された占有格子地図Mの品質は、網羅率によって変化する。これは、占有格子地図Mを網羅率が0.6の場合と0,9の場合とで比較した例である。図9(A)に示す網羅率が0.6の場合では欠けた部分N(図中、グレーで示す部分)があるが、図9(B)に示す網羅率が0.9の場合だと欠けた部分はほぼ埋まっている。なお、対象空間の広さや長さなどによっては、網羅率が0.9であっても欠けた領域が見られることがある。この要因は、スキャンの重複が小さく、影響度の大きいスキャンが多数存在することと、長い廊下などでレーザースキャナの最大計測距離が不足することが考えられる。長い廊下の長手方向では計測不可となって領域が未観測になり、廊下の中間部分のスキャンは有効セル数が減って、影響度が小さくなる。このような要因が重なることで、欠落部分が残ることが予想される。したがって、網羅率を高くすれば欠落部分は解消するが、削減率は低くなるため、対象空間や環境に応じて網羅率を適宜に設定することが有効である。
 図10(A)には、作成例における入力スキャン数と削減後のスキャン数との関係が示され、(B)には、入力スキャン数と削減後のノード数との関係が示され、(C)には、入力スキャン数と削減後のアーク数との関係が示されている。なお、図10(B),(C)は、前述したループ閉じ込みに用いるポーズグラフを縮約した結果、ノード数およびアーク数が削減されたことを示している。SLAM技術では、各スキャンに対して移動体位置を求めるので、ノードとスキャンは1対1に対応する。ただし、ポーズ調整をキーフレームで行う場合は、キーフレーム単位で移動体位置を抽出してノードとする。ここでは、キーフレーム単位でノードを生成した。ここで、キーフレームとは、一定間隔で間引いたスキャンのことであり、並進距離および回転角が閾値(例えば、それぞれ0.4mと60°)を超えるたびに移動体位置を抽出した。また、ノードに対応するキーフレーム間のスキャン群の中で、影響度eが閾値ethreを超えるスキャンが1つでもあれば、そのノードを採用し、採用されないノードは削除した。
 図10(A)に示すように、入力スキャン数が増えても、削減後のスキャン数はそれほど増えず、一定あるいは微増であることがわかる。これは、走行につれてスキャン数が増えると同時に、重複部分も増えるためである。図10(B)の破線はポーズグラフのキーフレーム間引きだけ行った場合のノード数であるが、キーフレーム間引きだけだと、ノード数はスキャン数に比例して増加する。一方、本発明の処理を行うことで、実線のように、ノード数はさらに削減されるとともに、スキャン数に対する増加率も抑えられていることがわかる。図10(C)の破線はキーフレーム間引きだけ行った場合のアーク数であり、アークもノードと同様の傾向があるが、アークはループの個数にも影響されるので、増減の挙動はノードよりも複雑である。
 このような本実施形態によれば、以下の作用・効果を奏することができる。
(1)移動体は、走行手段3、検出手段4および制御手段2を備え、制御手段2の地図作成部23によって占有格子地図Mを生成し、更新することで、占有格子地図Mの地図精度を確保しつつメモリ容量や演算処理の負荷を軽減させることができる。
(2)制御手段2の地図作成部23は、影響度算出部24にて算出された影響度eに基づいて、スキャンs(検出情報)を選別してから占有格子地図Mを作成するので、効率よく占有格子地図Mを作成または更新することができる。すなわち、地図作成部23は、占有格子地図Mに対する影響度eが小さいスキャンsを用いないように選別することで、演算に利用するスキャン数を減らすことができ、メモリ容量が少なくて済むとともに演算処理の負荷を軽減させることができる。一方、占有格子地図Mに対する影響度が大きいスキャンsを選別して用いることで、古いスキャンsであっても有効なものが残されるため、作成する占有格子地図Mの地図精度を確保することができる。
(3)観測度数算出部25は、記憶部27に記憶されたスキャンsを占有格子地図MのセルCごとに計数して観測度数bとして算出し、この観測度数bに基づいて有効としたセルCの割合に応じてスキャンsの影響度eを高くすることで、効率よくスキャンsを選別することができる。すなわち、あるセルCに対して古いものから新しいものまで複数のスキャンsが存在する場合に、その数を観測度数bとして記録し、新しいものから所定数を有効とし、それよりも古いものを無効とする。そして、有効なセルCが多く存在するスキャンsの影響度eを高く評価する。このようにすることで観測度数bが高いセルCに対しては、環境変化が反映されやすい新しいスキャンsの影響度eが高くなり、占有格子地図Mの地図精度を高めることができる。一方、観測度数bが低いセルCに対しては、比較的古いスキャンsまで影響度eが高く評価され、古くても有効な情報を含んだスキャンsを適切に残して占有格子地図Mを作成することができる。
(4)地図作成部23は、影響度eが所定の閾値ethreよりも小さいスキャンsを記憶部27から消去し、削減したスキャンsに基づいて占有格子地図Mを作成することで、占有格子地図Mの作成にかかる演算負荷と時間を削減することができるとともに、記憶部27の容量を節約することができる。さらに、影響度eの高いスキャンsを使用して占有格子地図Mを作成するので、効率よく占有格子地図Mを作成することができる。
(5)地図作成部23は、網羅率算出部26によって算出された網羅率に基づいて、影響度eの閾値ethreを設定するので、効率よくスキャンsを選別して占有格子地図Mを作成することができる。また、網羅率に基づいて影響度eの閾値ethreが自動的に設定されるので、演算処理を効率化することができる。
(6)図6に示すような処理手順とすれば、セル値の更新にbthreを過ぎた古いスキャンsも使って対数オッズvが更新されるので、環境変化に対するセル値の更新が遅くなる半面、セル値の安定性は増すことになり、占有格子地図Mの安定性を向上させることができる。
〔実施形態の変形〕
 なお、本発明は、前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
 例えば、前記実施形態では、移動体として具体的なものを例示しなかったが、移動体としては、サービスロボット、ホームロボットなどの移動ロボットであって、より具体的には、掃除ロボットや警備ロボット、運搬ロボット、案内ロボットなどが例示できる。さらに、移動体としては、自動運転自動車や作業車などであってもよい。さらに、移動体の移動範囲は、二次元平面空間に限らず、三次元空間であってもよく、その場合には移動体がドローンなどの飛行体であってもよい。すなわち、前記実施形態では、SLAM技術として、2D-SLAMを用いた例を示したが、本発明の地図生成システムは、三次元空間を対象にした3D-SLAMにも応用可能である。
 前記実施形態では、移動体の移動体本体1が制御手段2を備え、この制御手段2に地図作成部23や記憶部27が設けられていたが、占有格子地図Mを作成する地図作成手段や、占有格子地図Mを記憶する記憶手段などは、移動体本体1ではなく、移動体本体と通信可能な他の機器に設けられ、他の機器によって作成された占有格子地図Mに基づいて移動体本体1が自律走行するように構成されていてもよい。また、移動体としては、移動手段(走行手段)を備えていなくてもよく、検出手段が設置された台車等を使用者が手動で移動させつつ周囲を検出するような構成であってもよい。
 前記実施形態の占有格子地図Mの作成方法では、図4に示すように、検出情報削減工程(ステップST6)にて検出情報を選別して記憶部27から削減してから、削減された検出情報に基づいて地図再作成工程(ステップST7)にて占有格子地図Mを更新したが、このような処理手順に限られず、図11に示すような処理手順を採用してもよい。図11は、移動体の動作の変形例を示すフローチャートである。図11に示す手順では、検出情報削減工程(ステップST6)よりも先に地図再作成工程(ステップST7)を実行し、削減される前の検出情報に基づいて占有格子地図Mを更新し、その後に選別された検出情報を記憶部27から削減する。この手順によれば、地図作成部23は、検出情報を記憶部27から削除する前に、記憶部27に記憶された全ての検出情報を使用して占有格子地図Mを作成するので、占有格子地図Mの安定性を向上させることができる。
 以上のように、本発明は、占有格子地図を用いて自律移動するロボットなどの各種の移動体において、占有格子地図の作成などに要するメモリ容量が少なくて済むとともに演算処理の負荷を軽減させることによって、占有格子地図の作成の効率化を図ることができる地図生成システムに好適に利用できる。
  1   移動体本体
  2   制御手段
  3   走行手段(移動手段)
  4   検出手段
 23   地図作成部(地図作成手段)
 24   影響度算出部(影響度算出手段)
 25   観測度数算出部(観測度数算出手段)
 26   網羅率算出部(網羅率算出手段)
 27   記憶部(記憶手段)
 C    セル(区画)
 M    占有格子地図
 S    スキャン(検出情報)

Claims (8)

  1.  移動体の移動範囲における周囲の物体までの距離と方向を検出手段によって検出し、物体の有無に基づいて占有格子地図を生成する地図生成システムであって、
     前記検出手段による検出単位ごとの検出値を検出情報として時系列に記憶する記憶手段と、
     前記記憶手段に記憶された検出情報に基づいて占有格子地図を作成して前記記憶手段に記憶させる地図作成手段と、
     前記記憶手段に記憶された検出情報ごとに前記占有格子地図に対する影響度を算出する影響度算出手段と、を備え、
     前記地図作成手段は、前記影響度算出手段にて算出された影響度に基づいて、検出情報を選別して占有格子地図を作成する
    ことを特徴とする地図生成システム。
  2.  請求項1に記載された地図生成システムにおいて、
     前記記憶手段に記憶された検出情報を占有格子地図の区画ごとに計数して観測度数として算出する観測度数算出手段をさらに備え、
     前記影響度算出手段は、前記観測度数算出手段にて算出された観測度数に基づいて、検出情報ごとの各区画の有効または無効を決定するとともに、有効な区画の割合に応じて高くなるように影響度を算出する
    ことを特徴とする地図生成システム。
  3.  請求項2に記載された地図生成システムにおいて、
     前記地図作成手段は、前記観測度数算出手段にて算出された観測度数が所定の閾値よりも小さい区画に対して区画値を更新して占有格子地図を作成する
    ことを特徴とする地図生成システム。
  4.  請求項2に記載された地図生成システムにおいて、
     前記地図作成手段は、前記観測度数算出手段にて算出された観測度数に関わらずに、各区画に対する区画値を更新して占有格子地図を作成する
    ことを特徴とする地図生成システム。
  5.  請求項1から請求項4のいずれかに記載された地図生成システムにおいて、
     前記地図作成手段は、前記影響度算出手段にて算出された影響度が所定の閾値よりも小さい検出情報を前記記憶手段から消去する
    ことを特徴とする地図生成システム。
  6.  請求項5に記載された地図生成システムにおいて、
     前記地図作成手段は、検出情報を前記記憶手段から消去する前に、前記記憶手段に記憶された全ての検出情報を使用して占有格子地図を作成する
    ことを特徴とする地図生成システム。
  7.  請求項5または請求項6に記載された地図生成システムにおいて、
     前記記憶手段に記憶された全ての検出情報の影響度の合計と、所定の数の検出情報の集合に属する検出情報の影響度の合計と、の比を網羅率として算出する網羅率算出手段をさらに備え、
     前記地図作成手段は、前記網羅率算出手段にて算出された網羅率に基づいて、前記影響度の閾値を設定する
    ことを特徴とする地図生成システム。
  8.  移動手段、検出手段および制御手段を備えた移動体であって、
     請求項1から請求項7のいずれかに記載された地図生成システムが前記制御手段によって構成される
    ことを特徴とする移動体。
PCT/JP2018/028426 2018-07-30 2018-07-30 地図生成システムおよび移動体 WO2020026294A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US17/258,509 US11802779B2 (en) 2018-07-30 2018-07-30 Map generation system and mobile object
CN201880094559.1A CN112352272A (zh) 2018-07-30 2018-07-30 地图生成系统以及移动体
PCT/JP2018/028426 WO2020026294A1 (ja) 2018-07-30 2018-07-30 地図生成システムおよび移動体
JP2020533896A JP7123430B2 (ja) 2018-07-30 2018-07-30 地図生成システムおよび移動体
TW108127038A TWI696985B (zh) 2018-07-30 2019-07-30 地圖產生系統以及移動體

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/028426 WO2020026294A1 (ja) 2018-07-30 2018-07-30 地図生成システムおよび移動体

Publications (1)

Publication Number Publication Date
WO2020026294A1 true WO2020026294A1 (ja) 2020-02-06

Family

ID=69232404

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/028426 WO2020026294A1 (ja) 2018-07-30 2018-07-30 地図生成システムおよび移動体

Country Status (5)

Country Link
US (1) US11802779B2 (ja)
JP (1) JP7123430B2 (ja)
CN (1) CN112352272A (ja)
TW (1) TWI696985B (ja)
WO (1) WO2020026294A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113093221A (zh) * 2021-03-31 2021-07-09 东软睿驰汽车技术(沈阳)有限公司 占据栅格地图的生成方法及装置
CN113726586A (zh) * 2021-10-20 2021-11-30 中国联合网络通信集团有限公司 网络切片部署方法、装置、服务器及计算机可读存储介质
WO2021248846A1 (zh) * 2020-06-12 2021-12-16 珠海一微半导体股份有限公司 一种机器人沿边行走的区域清扫规划方法、芯片及机器人
WO2023084660A1 (ja) * 2021-11-10 2023-05-19 株式会社ソシオネクスト 情報処理装置、情報処理方法、及び情報処理プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3739361A1 (en) * 2019-05-13 2020-11-18 Aptiv Technologies Limited Method and system for fusing occupancy maps
US20210278852A1 (en) * 2020-03-05 2021-09-09 Uatc, Llc Systems and Methods for Using Attention Masks to Improve Motion Planning
CN113834494A (zh) * 2021-10-15 2021-12-24 珠海一微半导体股份有限公司 一种基于模板覆盖的栅格地图处理方法及芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017166966A (ja) * 2016-03-16 2017-09-21 株式会社デンソーアイティーラボラトリ 周辺環境推定装置及び周辺環境推定方法
JP2017191539A (ja) * 2016-04-15 2017-10-19 株式会社日立産機システム 位置同定システム
JP2017222309A (ja) * 2016-06-17 2017-12-21 日産自動車株式会社 駐車支援方法および装置
JP2018005470A (ja) * 2016-06-30 2018-01-11 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793934A (en) * 1994-06-22 1998-08-11 Siemens Aktiengesellschaft Method for the orientation, route planning and control of an autonomous mobile unit
JP4251545B2 (ja) * 2003-07-11 2009-04-08 独立行政法人科学技術振興機構 移動ロボット用経路計画システム
CA2560560C (en) * 2004-03-23 2011-08-02 Google Inc. Generating and serving tiles in a digital mapping system
JP4368317B2 (ja) * 2005-03-11 2009-11-18 セコム株式会社 移動ロボット
US20100179755A1 (en) * 2006-09-21 2010-07-15 Atsushi Kohno Map information processing apparatus
JP4788722B2 (ja) * 2008-02-26 2011-10-05 トヨタ自動車株式会社 自律移動ロボット、自己位置推定方法、環境地図の生成方法、環境地図の生成装置、及び環境地図のデータ構造
US8311695B2 (en) * 2008-03-19 2012-11-13 Honeywell International Inc. Construction of evidence grid from multiple sensor measurements
US8244455B2 (en) * 2008-09-09 2012-08-14 Honeywell International Inc. Apparatus and method for determining the position of a vehicle with respect to a terrain
US8401560B2 (en) * 2009-03-31 2013-03-19 Empire Technology Development Llc Infrastructure for location discovery
JP2011238104A (ja) * 2010-05-12 2011-11-24 Toyota Motor Corp 移動ロボット
US8260539B2 (en) * 2010-05-12 2012-09-04 GM Global Technology Operations LLC Object and vehicle detection and tracking using 3-D laser rangefinder
JP5206752B2 (ja) * 2010-08-30 2013-06-12 株式会社デンソー 走行環境認識装置
US9305241B2 (en) * 2013-07-29 2016-04-05 Google Inc. Systems and methods for reducing a data set
DE102013018721A1 (de) * 2013-11-08 2014-06-18 Daimler Ag Verfahren zur Erkennung wenigstens einer Parklücke für einen Kraftwagen
JP6355080B2 (ja) * 2014-03-03 2018-07-11 学校法人千葉工業大学 搭乗型移動ロボット
EP3885217A1 (en) * 2015-02-10 2021-09-29 Mobileye Vision Technologies Ltd. Sparse map for autonomous vehicle navigation
JP5947938B1 (ja) * 2015-03-06 2016-07-06 ヤマハ発動機株式会社 障害物検出装置およびそれを備えた移動体
AU2016210131B2 (en) * 2016-02-29 2017-04-27 Komatsu Ltd. Control system for work machine, work machine, and management system for work machine
JP6610339B2 (ja) 2016-03-03 2019-11-27 株式会社デンソー 占有格子地図作成装置
CN105806344B (zh) * 2016-05-17 2019-03-19 杭州申昊科技股份有限公司 一种基于局部地图拼接的栅格地图创建方法
JP6752118B2 (ja) * 2016-11-09 2020-09-09 東芝ライフスタイル株式会社 自律走行体
DE102021003563A1 (de) * 2021-07-12 2021-09-09 Daimler Ag Verfahren zur Umgebungsrepräsentation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017166966A (ja) * 2016-03-16 2017-09-21 株式会社デンソーアイティーラボラトリ 周辺環境推定装置及び周辺環境推定方法
JP2017191539A (ja) * 2016-04-15 2017-10-19 株式会社日立産機システム 位置同定システム
JP2017222309A (ja) * 2016-06-17 2017-12-21 日産自動車株式会社 駐車支援方法および装置
JP2018005470A (ja) * 2016-06-30 2018-01-11 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOMONO, MASAHIRO: "Data reduction for long-term mapping using occupancy grid map with observation frequency", TRANSACTIONS OF THE JSME, vol. 84, no. 864, 8 May 2018 (2018-05-08), XP055684293, DOI: 10.1299/transjsme.18-00058 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021248846A1 (zh) * 2020-06-12 2021-12-16 珠海一微半导体股份有限公司 一种机器人沿边行走的区域清扫规划方法、芯片及机器人
CN113093221A (zh) * 2021-03-31 2021-07-09 东软睿驰汽车技术(沈阳)有限公司 占据栅格地图的生成方法及装置
CN113726586A (zh) * 2021-10-20 2021-11-30 中国联合网络通信集团有限公司 网络切片部署方法、装置、服务器及计算机可读存储介质
CN113726586B (zh) * 2021-10-20 2023-03-24 中国联合网络通信集团有限公司 网络切片部署方法、装置、服务器及计算机可读存储介质
WO2023084660A1 (ja) * 2021-11-10 2023-05-19 株式会社ソシオネクスト 情報処理装置、情報処理方法、及び情報処理プログラム

Also Published As

Publication number Publication date
US20210270633A1 (en) 2021-09-02
JP7123430B2 (ja) 2022-08-23
US11802779B2 (en) 2023-10-31
TW202025106A (zh) 2020-07-01
CN112352272A (zh) 2021-02-09
TWI696985B (zh) 2020-06-21
JPWO2020026294A1 (ja) 2021-05-13

Similar Documents

Publication Publication Date Title
WO2020026294A1 (ja) 地図生成システムおよび移動体
KR102628778B1 (ko) 위치결정을 위한 방법, 컴퓨팅 기기, 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램
Schuster et al. Robust localization based on radar signal clustering
JP6758005B2 (ja) 移動ロボット
JPWO2019069524A1 (ja) 環境情報更新装置、環境情報更新方法及びプログラム
JP5678793B2 (ja) 周辺監視装置および周辺監視方法並びに運転支援装置
JP6202517B2 (ja) 地図作成装置、地図作成プログラムおよび地図作成方法
Stachniss et al. Mapping and exploration with mobile robots using coverage maps
JP2009508199A (ja) 車両運転補助方法および改良型関連装置
JP2011150473A (ja) 自律型移動体
CN113093221A (zh) 占据栅格地图的生成方法及装置
JP2019012504A (ja) 自律移動装置、自律移動方法及びプログラム
JP2009223757A (ja) 自律移動体、その制御システム、自己位置推定方法
KR20230014724A (ko) 차량 국부화 시스템 및 방법
JP7095929B2 (ja) 情報処理装置および移動ロボット
KR20210065837A (ko) 점유 격자 지도 생성 장치 및 방법
Wijaya et al. Research study of occupancy grid map mapping method on Hector SLAM technique
CN115249066A (zh) 分位数神经网络
Zhou et al. Efficient 2d graph slam for sparse sensing
US20220221558A1 (en) System, method, and components utilizing live point cloud compression
Wulf et al. Using 3D data for Monte Carlo localization in complex indoor environments
Camargo et al. Mobile robot autonomous exploration and navigation in large-scale indoor environments
KR102521915B1 (ko) 레이저 거리 측정기를 이용한 투명 장애물 인식 방법 및 장치
Zhang et al. LMBAO: A Landmark Map for Bundle Adjustment Odometry in LiDAR SLAM
Stachniss et al. Using coverage maps to represent the environment of mobile robots

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18928363

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020533896

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18928363

Country of ref document: EP

Kind code of ref document: A1