Information processing device, control method, program and storage medium
Patent Information
- Application Number
- JP2024230625
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-03-14
- Estimated Expiration
- Not applicable · inactive patent
Smart Images

Figure 2025036645000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD This disclosure relates to position estimation. [Background technology]
[0002] Conventionally, a technology is known for estimating a vehicle's own position by collating (matching) shape data of surrounding objects measured by a measuring device such as a laser scanner with map information in which the shapes of surrounding objects are stored in advance. For example, Patent Document 1 discloses an autonomous mobile system that determines whether a detected object in a voxel obtained by dividing a space according to a predetermined rule is a stationary object or a moving object, and matches map information with measurement data for voxels in which stationary objects exist. In addition, Patent Document 2 discloses a scan matching method that estimates a vehicle's own position by collating voxel data including the mean vector and covariance matrix of stationary objects for each voxel with point cloud data output by a lidar. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication WO2013 / 076829 [Patent Document 2] International Publication WO2018 / 221453 Summary of the Invention [Problem to be solved by the invention]
[0004] Recently, automatic ship-piloting systems have been studied not only in the automotive field but also in ships, and accurate self-location estimation is equally important for safe automatic ship-piloting. In the open sea, there are few structures in the vicinity, so self-location can be determined by GNSS (Global Navigation Satellite System). However, in urban coasts and rivers, the reception environment for GNSS radio waves is poor due to the adjacent high-rise buildings, etc., and the number of receiving satellites is reduced and multipath is poor, making accurate positioning difficult. Therefore, in the case of ships, the above-mentioned high-precision position estimation by scan matching is preferably applied.
[0005] On the other hand, when the self-location estimation process starts, both automobiles and ships use the position determined by GNSS as their initial position. Although GNSS positioning involves errors, if the errors are not large, it can be used as the initial position for the above-mentioned scan matching, resulting in highly accurate position estimation. However, if the GNSS reception environment is poor, a location far away may be determined as the initial position, and there may be a situation in which the optimal solution cannot be obtained properly in scan matching. Therefore, in order to perform proper position estimation in such a case, it is necessary to search for a likely initial position. Also, even if the estimated self-location is significantly deviated for some reason, it is necessary to set a likely initial position in the same way.
[0006] The present disclosure has been made to solve the above-mentioned problems, and has as its main object to provide an information processing device capable of suitably executing self-location estimation. [Means for solving the problem]
[0007] The claimed invention is a position acquisition means for acquiring a position measured by a first position calculation method; a reference position setting means for setting a search range for searching for a reference position for the second position calculation method based on the position measurement position, and, when voxel data representing the position of an object for each voxel, which is a unit area, is compared within the search range with point cloud data based on an output of a measuring device provided on the moving body based on the reference position, setting the reference position based on a ratio of measurement points included in the point cloud data that correspond to the voxel data; a position estimation means for estimating a position of the moving object by the second position calculation method based on the reference position, the reference position setting means determines a size of the search range based on accuracy information representing accuracy of positioning of the positioning position; It is an information processing device.
[0008] The claimed invention also includes: A computer-implemented control method, comprising: a position acquisition step of acquiring a position measured by the moving object using a first position calculation method; a reference position setting step of setting a search range for searching for a reference position for the second position calculation method based on the position measurement position, and when voxel data representing the position of an object for each voxel, which is a unit area, within the search range is compared with point cloud data based on an output of a measuring device provided on the moving body based on the reference position, setting the reference position based on a ratio of measurement points included in the point cloud data that correspond to the voxel data; and a position estimating step of estimating a position of the moving object by the second position calculation method based on the reference position, The reference position setting step is a control method for determining a size of the search range based on accuracy information that indicates accuracy of positioning of the positioning position.
[0009] The claimed invention also includes: a position acquisition means for acquiring a position measured by a first position calculation method; a reference position setting means for setting a search range for searching for a reference position for the second position calculation method based on the position measurement position, and, when voxel data representing the position of an object for each voxel, which is a unit area, is compared within the search range with point cloud data based on an output of a measuring device provided on the moving body based on the reference position, setting the reference position based on a ratio of measurement points included in the point cloud data that correspond to the voxel data; a position estimating means for estimating the position of the moving object by the second position calculation method based on the reference position; The computer functions as The reference position setting means is a program that determines a size of the search range based on accuracy information that indicates the accuracy of positioning of the positioning position. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a schematic configuration diagram of a driving assistance system. [Diagram 2] FIG. 2 is a block diagram showing a functional configuration of an in-vehicle device. [Diagram 3] 2 is a diagram showing a self-position to be estimated by a self-position estimation unit in two-dimensional orthogonal coordinates. FIG. [Figure 4] 2 shows an example of a schematic data structure of voxel data. [Diagram 5] 4 is an example of a functional block of a self-position estimation unit. [Figure 6] This shows the positional relationship between voxels in which voxel data exists and measurement points indicating positions near these voxels on a two-dimensional plane in the world coordinate system. [Figure 7] 1 shows an overhead view of a vehicle near a road with an intersection. [Figure 8] An overhead view of a road is shown, showing the GNSS positioning location and initial position search range. [Figure 9] 1A is a diagram clearly showing voxels within an initial position search range, and FIG. 1B is a diagram showing the frequency distribution of z-coordinate values indicated by voxel data within the initial position search range. [Figure 10]1 shows an overhead view clearly indicating candidate voxels and the order of the candidate voxels. [Figure 11] 13 is a graph showing a transition of the association ratio when a simple NDT process is performed. [Figure 12] 1 shows an overhead view clearly indicating virtual voxels and their order. [Figure 13] 13 is a graph showing a transition of the association ratio when a simple NDT process is performed. [Figure 14] 1 is an example of a flowchart illustrating an overview of a self-position estimation process according to an embodiment. [Figure 15] 11 is a flowchart illustrating an example of a procedure of an initial position setting process according to an embodiment when a target moving object is a vehicle. [Figure 16] 13 is a flowchart illustrating an example of a procedure of an initial position setting process according to an embodiment when a target moving body is a ship. [Figure 17] 13 is an example of a flowchart illustrating an overview of a self-position estimation process according to a modified example. [Figure 18] 13 is an example of a flowchart illustrating a procedure of an initial position setting process according to a modified example in which the target moving body is a vehicle. [Figure 19] 13 is an example of a flowchart illustrating a procedure of an initial position setting process according to a modified example in which the target moving body is a ship. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] According to a preferred embodiment of the present invention, an information processing device includes a position acquisition means for acquiring a position of a moving object by a first position calculation method, a reference position setting means for setting a search range based on the positioning position and setting a reference position for a second position calculation method within the search range, and a position estimation means for estimating the position of the moving object by the second position calculation method based on the reference position, and the reference position setting means determines the size of the search range based on accuracy information indicating the accuracy of the positioning of the positioning position. According to this aspect, the information processing device can appropriately determine the search range of the reference position used in the second position calculation method according to the accuracy of the first position calculation method.
[0012] In one aspect of the information processing device, the first position calculation method is positioning by GNSS, and the reference position setting means determines the size of the search range based on the accuracy information of the GNSS. With this aspect, the information processing device can set the first position calculation method to GNSS, and appropriately determine the range for searching for the reference position used in the second position calculation method according to the accuracy information of the GNSS.
[0013] In another aspect of the information processing device, the reference position setting means reduces the size of the search range as the accuracy indicated by the accuracy information increases. With this aspect, the information processing device can appropriately determine the size of the search range for the reference position used in the second position calculation method.
[0014] In another aspect of the information processing device, the position estimation means performs the position estimation based on a comparison between voxel data representing the position of an object for each voxel, which is a unit area, and point cloud data based on an output of a measuring device provided on the moving object, as the second position calculation method. With this aspect, the information processing device can perform the position estimation of the moving object with high accuracy.
[0015] In another aspect of the information processing device, when there is no estimated position of the moving object determined at the immediately preceding processing time, the position estimation means converts the coordinate system of the point cloud data into the coordinate system of the voxel data based on the reference position. With this aspect, the information processing device can suitably perform the coordinate conversion of the point cloud data required for the execution of the second position calculation means by using the reference position set by the reference position setting means.
[0016] In another aspect of the information processing device, the moving body is a vehicle, and the reference position setting means determines a candidate voxel in which the vehicle exists based on a frequency distribution of a position in a height direction for each voxel existing within the search range. With this aspect, the information processing device can suitably determine a candidate voxel in which a vehicle exists, taking into consideration a general tendency that the road surfaces of each road have approximately the same height.
[0017] In another aspect of the information processing device, the moving body is a ship, and the reference position setting means determines a virtual voxel for which no voxel data exists within the search range as a candidate voxel for which the ship exists. In consideration of the fact that no voxel data generally exists on water, the candidate voxel for which the ship exists can be suitably determined.
[0018] In another aspect of the information processing device, the reference position setting means performs position search and evaluation index calculation by the simplified second position calculation method with each of the candidate voxels as a search start position, and determines the result of the simplified second position calculation method in which the evaluation index is greater than a predetermined value as the reference position. With this aspect, the information processing device can determine the reference position with high accuracy while taking into account the processing load.
[0019] In another aspect of the information processing device, when an estimated position of the moving object determined at the immediately preceding processing time exists and the evaluation index of the second position calculation method at the immediately preceding processing time is less than a predetermined value, the reference position setting means determines the reference position, and the position estimation means converts the coordinate system of the point cloud data at the current processing time into the coordinate system of the voxel data based on the reference position. With this aspect, when the accuracy of the second position calculation method deteriorates, the information processing device can preferably recover from a state in which a matching deviation or the like occurs due to falling into a local solution in the second position calculation method by performing coordinate conversion of the point cloud data based on the reference position set by the reference position setting means.
[0020] In another aspect of the information processing device, the position estimation means converts the coordinate system of the point cloud data at the current processing time into the coordinate system of the voxel data based on the estimated position when the estimated position of the moving object determined at the immediately previous processing time exists and the evaluation index is equal to or greater than the predetermined value. In this way, when the accuracy of the second position calculation method is maintained, the information processing device performs coordinate conversion of the point cloud data based on the position calculation result of the second position calculation method.
[0021] According to another preferred embodiment of the present invention, a control method executed by a computer includes a position acquisition step of acquiring a measured position of a moving object by a first position calculation method, a reference position setting step of setting a search range based on the measured position and setting a reference position for a second position calculation method within the search range, and a position estimation step of estimating the position of the moving object by the second position calculation method based on the reference position, wherein the reference position setting step determines a size of the search range based on accuracy information representing the accuracy of the measured position. By executing this control method, the computer can appropriately determine the search range of the reference position used in the second position calculation method according to the accuracy of the first position calculation method.
[0022] According to yet another preferred embodiment of the present invention, the program causes a computer to function as a position acquisition means for acquiring a position of a moving object by a first position calculation method, a reference position setting means for setting a search range based on the positioning position and setting a reference position of a second position calculation method within the search range, and a position estimation means for estimating the position of the moving object by the second position calculation method based on the reference position, and the reference position setting means determines the size of the search range based on accuracy information indicating the accuracy of the positioning of the positioning position. By executing the program, the computer can appropriately determine the search range of the reference position used in the second position calculation method according to the accuracy of the first position calculation method. Preferably, the program is stored in a storage medium. EXAMPLES
[0023] Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. In this specification, for the sake of convenience, any symbol followed by "^" or "-" is referred to as "A^" or "A - ” (where “A” is any letter).
[0024] (1) Overview of the driving assistance system Fig. 1 shows a schematic configuration of a driving assistance system according to the present embodiment. The driving assistance system includes an information processing device 1 that moves together with a moving body, such as a vehicle or a ship, and a sensor group 2 mounted on the vehicle or the ship. Hereinafter, the vehicle or the ship that moves together with the information processing device 1 will also be referred to as a "target moving body."
[0025] The information processing device 1 is electrically connected to the sensor group 2, and estimates the position (also called "self-position") of the target moving object in which the information processing device 1 is installed based on the output of various sensors included in the sensor group 2. Then, based on the result of estimating the self-position, the information processing device 1 performs driving assistance such as automatic driving control of the target moving object so that the target moving object travels along a route to a set destination. The information processing device 1 may be a navigation device provided in the target moving object, or may be an electronic control device built into a vehicle or ship.
[0026] The information processing device 1 also stores a map database (DB: DataBase) 10 including voxel data "VD". The voxel data VD is data that records position information of stationary structures for each voxel that indicates a cube (regular lattice) that is the smallest unit of three-dimensional space. The voxel data VD includes data that expresses measured point cloud data of stationary structures in each voxel using normal distribution, and is used for scan matching using NDT (Normal Distributions Transform) as described later. The information processing device 1 estimates at least the position and yaw angle of the target moving object on a plane by NDT scan matching. The information processing device 1 may further estimate the height position, pitch angle, and roll angle of the target moving object. Unless otherwise specified, the self-position also includes the attitude angle such as the yaw angle of the target moving object.
[0027] The sensor group 2 includes various external and internal sensors provided on the target moving object. In this embodiment, the sensor group 2 includes a Lidar (Light Detection and Ranging, or Laser Illuminated Detection and Ranging) 3, a speed sensor 4 that detects the speed of the target moving object, a GPS (Global Positioning Satellite) receiver 5, and a gyro sensor 6 that detects the angular velocity of the target moving object.
[0028] The lidar 3 measures the distance to an object in the outside world discretely by emitting a pulsed laser in a predetermined angular range in the horizontal and vertical directions, and generates three-dimensional point cloud data indicating the position of the object. In this case, the lidar 3 has an irradiation unit that irradiates a laser beam while changing the irradiation direction, a light receiving unit that receives the reflected light (scattered light) of the irradiated laser beam, and an output unit that outputs scan data (points that constitute the point cloud data, hereinafter referred to as "measurement points") based on the light receiving signal output by the light receiving unit. The measurement points are generated based on the irradiation direction corresponding to the laser beam received by the light receiving unit and the response delay time of the laser beam specified based on the above-mentioned light receiving signal. In general, the closer the distance to the object, the higher the accuracy of the distance measurement value of the lidar, and the farther the distance, the lower the accuracy. The lidar 3 is an example of a "measurement device" in the present invention.
[0029] The sensor group 2 may include an inertial measurement unit (IMU) that measures the acceleration and angular velocity of a target moving object in three axial directions, instead of or in addition to the gyro sensor 6. The sensor group 2 may include a receiver that generates a positioning result of a GNSS other than GPS, instead of the GPS receiver 5.
[0030] (2) Configuration of information processing device 2 is a block diagram showing an example of a hardware configuration of the information processing device 1. The information processing device 1 mainly includes an interface 11, a memory 12, and a controller 13. These elements are connected to each other via a bus line.
[0031] The interface 11 performs an interface operation related to the transmission and reception of data between the information processing device 1 and an external device. In this embodiment, the interface 11 acquires output data from sensors such as the lidar 3, the gyro sensor 6, the speed sensor 4, and the GPS receiver 5, and supplies the data to the controller 13. The interface 11 also supplies, for example, a signal related to the control of the target moving object generated by the controller 13 to an electronic control unit (ECU) of the target moving object. The interface 11 may be a wireless interface such as a network adapter for wireless communication, or may be a hardware interface for connecting to an external device via a cable or the like. The interface 11 may perform an interface operation with various peripheral devices such as an input device, a display device, and a sound output device.
[0032] The memory 12 is composed of various types of volatile and non-volatile memories such as a RAM (Random Access Memory), a ROM (Read Only Memory), a hard disk drive, a flash memory, etc. The memory 12 stores a program for the controller 13 to execute a predetermined process. The program executed by the controller 13 may be stored in a storage medium other than the memory 12.
[0033] The memory 12 also stores a map DB 10 including voxel data VD.
[0034] The map DB 10 may be stored in a storage device external to the information processing device 1, such as a hard disk connected to the information processing device 1 via the interface 11. The storage device may be a server device that communicates with the information processing device 1. The storage device may be composed of a plurality of devices. The map DB 10 may be updated periodically. In this case, for example, the controller 13 receives partial map information related to an area to which the controller's own position belongs from a server device that manages map information via the interface 11, and reflects the partial map information in the map DB 10.
[0035] The memory 12 also stores information necessary for the processing executed by the information processing device 1 in this embodiment, in addition to the map DB 10. For example, the memory 12 stores information used to set a downsampling size when downsampling is performed on point cloud data obtained when the LIDAR 3 performs one scanning cycle.
[0036] The controller 13 includes one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), and a tensor processing unit (TPU), and controls the entire information processing device 1. In this case, the controller 13 executes a program stored in the memory 12 or the like to perform processing related to self-location estimation.
[0037] Moreover, functionally, the controller 13 has a self-position estimation unit 15. The controller 13 functions as a "position acquisition means", a "reference position setting means", a "position estimation means", a computer that executes a program, and the like.
[0038] The self-position estimation unit 15 estimates the self-position by performing scan matching based on NDT (NDT scan matching) based on the point cloud data based on the output of the LIDAR 3 and the voxel data VD corresponding to the voxels to which the point cloud data belongs. Here, the point cloud data to be processed by the self-position estimation unit 15 may be point cloud data generated by the LIDAR 3, or may be point cloud data after the point cloud data is downsampled.
[0039] (3) Position Estimation Based on NDT Scan Matching Next, a description will be given of position estimation based on NDT scan matching executed by the self-position estimation unit 15. Position estimation based on GNSS is an example of a "first position calculation method" in the present invention, and position estimation based on NDT scan matching is an example of a "second position calculation method" in the present invention.
[0040] FIG. 3 is a diagram showing the self-position to be estimated by the self-position estimation unit 15 in two-dimensional orthogonal coordinates. As shown in FIG. 3, the self-position on a plane defined on the two-dimensional orthogonal coordinates of xy is represented by coordinates "(x, y)" and the orientation (yaw angle) "ψ" of the target moving body. Here, the yaw angle ψ is defined as the angle between the traveling direction of the target moving body and the x-axis. The coordinates (x, y) are, for example, an absolute position corresponding to a combination of latitude and longitude, or a world coordinate indicating a position with a predetermined point as the origin. Then, the self-position estimation unit 15 performs self-position estimation using these x, y, and ψ as estimation parameters. Note that the self-position estimation unit 15 may perform self-position estimation in which at least one of the height position, pitch angle, and roll angle of the target moving body in the three-dimensional orthogonal coordinate system is further estimated as an estimation parameter in addition to x, y, and ψ.
[0041] Next, the voxel data VD used in the NDT scan matching will be described. The voxel data VD includes data in which measured point cloud data of a stationary structure in each voxel is expressed by a normal distribution.
[0042] Fig. 4 shows an example of a schematic data structure of the voxel data VD. The voxel data VD includes parameter information when expressing a point group in a voxel by a normal distribution, and in this embodiment, as shown in Fig. 4, includes a voxel ID, a voxel coordinate, a mean vector, and a covariance matrix.
[0043] "Voxel coordinates" indicate the absolute three-dimensional coordinates of a reference position such as the center position of each voxel. Each voxel is a cube that divides space into a grid, and since its shape and size are determined in advance, it is possible to identify the space of each voxel by its voxel coordinates. The voxel coordinates may be used as a voxel ID.
[0044] The "mean vector" and "covariance matrix" refer to the mean vector and covariance matrix that correspond to the parameters when expressing the point group in the target voxel as a normal distribution. Note that the coordinates of an arbitrary point "i" in an arbitrary voxel "n" are X n (i)=[xn (i), y n (i), z n (i)] T and the number of points in voxel n is defined as "N n ", then the mean vector at voxel n is "μ n " and the covariance matrix "V n " are expressed by the following formulas (1) and (2), respectively.
[0045]
number
[0046]
number
[0047] Next, an overview of NDT scan matching using the voxel data VD will be described.
[0048] Scan matching using NDT assuming a vehicle or ship is based on the estimated parameters, which are the amount of movement in the horizontal plane (here, xy coordinates) and the orientation of the vehicle or ship. P=[t x , t y , t ψ ] T Here, t x " indicates the amount of movement in the x direction, and "t y " indicates the amount of movement in the y direction, and "t ψ " indicates the yaw angle.
[0049] In addition, the coordinates of the point cloud data output by the LIDAR 3 are X L (j)=[x n (j), y n (j), z n (j)] T Then, X L The average value of (j) "L´ n " is expressed by the following equation (3).
[0050]
number
[0051]
number
[0052]
number
[0053] Then, the self-position estimation unit 15 calculates a comprehensive evaluation function value (also called a "score value") "E(k)" for all voxels to be matched, as shown in the following formula (6). The score value E is an index showing the compatibility of the matching.
[0054]
number
[0055]
number
[0056] Fig. 5 is an example of a functional block of the self-position estimation unit 15. As shown in Fig. 5, the self-position estimation unit 15 has a dead reckoning block 21, a DR position calculation block 22, a coordinate transformation block 23, a point cloud data association block 24, and an NDT position calculation block 25.
[0057] The dead reckoning block 21 uses the moving speed and angular velocity of the target moving object based on the outputs of the speed sensor 4, the GPS receiver 5, the gyro sensor 6, etc. to calculate the moving distance and the change in the direction from the previous time. The DR position calculation block 22 calculates the estimated self-position X ^ (k-1), the DR position X at time k is calculated by adding the movement distance and azimuth change obtained by dead reckoning. DR (k) is calculated. This DR position X DR (k) is the self-position obtained at time k based on dead reckoning, and the predicted self-position X - Equivalent to (k).
[0058] Also, immediately after the start of self-location estimation, the estimated self-location X ^If (k-1) does not exist, the dead reckoning block 21 calculates the estimated self-position X at time k-1 by a method to be described later. ^ Then, the dead reckoning block 21 calculates the DR position X by adding the travel distance and azimuth change obtained by the dead reckoning to the set initial position. DR The initial position is set not only immediately after the self-location estimation process starts, but also when the reliability of the NDT scan matching decreases. For details on how to set the initial position, see "(4) Setting the initial position This will be described in detail in the section "Initial position" below. The initial position is an example of the "reference position" in the present invention.
[0059] The coordinate transformation block 23 transforms the point cloud data based on the output of the LIDAR 3 into a world coordinate system, which is the same coordinate system as the map DB 10. In this case, the coordinate transformation block 23 performs coordinate transformation of the point cloud data at time k, for example, based on the predicted self-position output by the DR position calculation block 22 at time k. Note that the process of transforming the point cloud data of the coordinate system based on the LIDAR installed on the moving body into the coordinate system of the moving body, and the process of transforming from the coordinate system of the moving body to the world coordinate system are disclosed, for example, in International Publication WO2019 / 188745.
[0060] The point cloud data matching block 24 matches the point cloud data in the world coordinate system output by the coordinate transformation block 23 with the voxel data VD expressed in the same world coordinate system, thereby matching the point cloud data with the voxels. The NDT position calculation block 25 calculates an individual evaluation function value based on equation (5) for each voxel that has been matched with the point cloud data, and calculates an estimated parameter P that maximizes the score value E(k) based on equation (6). The NDT position calculation block 25 then calculates the DR position X output by the DR position calculation block 22 based on equation (7). DR (k), the NDT position X at time k is determined by applying the estimated parameter P obtained at time k. NDT(k). The NDT position calculation block 25 calculates the NDT position X NDT (k) is output as the estimated self-position X^(k) at time k.
[0061] Here, a specific procedure for associating the measurement points with the voxel data VD will be further explained using a simple example.
[0062] 6 shows the positional relationship between voxels "Vo1" to "Vo6" in which voxel data VD exists on a two-dimensional xy plane in the world coordinate system, and measurement points 61 to 65 indicating positions near these voxels. For ease of explanation, it is assumed here that the z coordinates of the center positions of the voxels Vo1 to Vo6 in the world coordinate system are the same as the z coordinates of the measurement points 61 to 65 in the world coordinate system.
[0063] First, the coordinate conversion block 23 converts the point cloud data including the measurement points 61 to 65 into the world coordinate system. After that, the point cloud data association block 24 performs a process of rounding off the fractions of the measurement points 61 to 65 in the world coordinate system. In the example of Fig. 6, since the size of each voxel, which is a cube, is 1m, the point cloud data association block 24 rounds off the decimal points of the x, y, and z coordinates of each of the measurement points 61 to 65.
[0064] Next, the point cloud data matching block 24 checks the voxel data VD corresponding to the voxels Vo1 to Vo6 against the coordinates of each of the measurement points 61 to 65 to determine the voxels corresponding to each of the measurement points 61 to 65. In the example of FIG. 6, the (x, y) coordinates of the measurement point 61 become (2, 1) due to the above-mentioned rounding, so the point cloud data matching block 24 matches the measurement point 61 with the voxel Vo1. Similarly, the (x, y) coordinates of the measurement points 62 and 63 become (3, 2) due to the above-mentioned rounding, so the point cloud data matching block 24 matches the measurement points 62 and 63 with the voxel Vo5. In addition, the (x, y) coordinates of the measurement point 64 become (2, 3) due to the above-mentioned rounding, so the point cloud data matching block 24 matches the measurement point 64 with the voxel Vo6. On the other hand, since the (x, y) coordinates of the measurement point 65 become (4, 1) due to the above-mentioned rounding, the point cloud data matching block 24 determines that there is no voxel data VD corresponding to the measurement point 65. Thereafter, the NDT position calculation block 25 estimates the estimation parameter P using the measurement point and the voxel data VD associated by the point cloud data matching block 24. Note that in this example, the number of measurement points after downsampling is five, but the number of corresponding measurement points Nc is four. The number of corresponding measurement points Nc is smaller in a space with few structures in the vicinity and sparse, and also in a case where a phenomenon (called occlusion) occurs in which the lidar's light beam is blocked by another moving object or the like existing near the target moving object.
[0065] (4) Setting the initial position Next, the setting of the initial position by the self-position estimation unit 15 will be described.
[0066] (4-1) Overview In general, the self-position estimation unit 15 determines a search range for the initial position based on the GNSS positioning position and accuracy information, and determines the initial position based on the results of simple NDT scan matching processing for each candidate voxel within the search range.
[0067] First, a problem that occurs when a position determined by GNSS is used as the initial position will be described with reference to FIG.
[0068] 7(A) and 7(B) show overhead views of a target moving object (here, a vehicle) near a road with an intersection. Here, FIG. 7(A) shows the measurement points converted into the global coordinate system based on the GNSS positioning results and the measurement range of the LIDAR 3 (see circle 70) when the GNSS positioning accuracy is good. Also, FIG. 7(B) shows the measurement points converted into the global coordinate system based on the GNSS positioning results and the measurement range of the LIDAR 3 (see circle 71) when the GNSS positioning accuracy is poor. Also, in FIG. 7(B), the GNSS positioning results (position and orientation) are indicated by arrow 73.
[0069] If the GNSS positioning accuracy is good, self-location estimation by NDT scan matching can be performed without problems by using the GNSS positioning position as the initial position. In the example of Fig. 7(A), the measurement points after coordinate transformation roughly match the surface position of the measured feature and are properly associated with the voxel data VD that should be associated, so NDT scan matching can be performed with high accuracy. On the other hand, if the GNSS positioning accuracy is poor, as shown in Fig. 7(B), there may be a large deviation between the point cloud data and the voxel data VD that should be associated, and NDT scan matching may not reach an optimal solution and may fall into a local solution.
[0070] Considering the above, the self-position estimation unit 15 according to this embodiment determines a search range for the initial position (also called "initial position search range Ri") based on the position measured by the GNSS and accuracy information, and searches for the initial position. Hereinafter, the case where the target moving body is a vehicle and the case where the target moving body is a ship will be described separately.
[0071] (4-2) When the target moving object is a vehicle The setting of the initial position search range Ri when the target moving body is a vehicle will be specifically described. Fig. 8(A) shows an overhead view of a road clearly indicating the GNSS positioning position, and Fig. 8(B) shows an overhead view of a road clearly indicating the initial position search range Ri set based on the GNSS positioning position.
[0072] First, the self-position estimation unit 15 acquires the positioning position and accuracy information by the GNSS based on the output signal of the GPS receiver 5. Here, the accuracy information may be, for example, PDOP (Position Dilution Of Precision), which is a position accuracy degradation rate, or 2DRMS (Twice the Distance Root Mean Square), which is a standard deviation of the error. Then, as shown in FIG. 8(B), the self-position estimation unit 15 sets a square initial position search range Ri centered on the positioning position of the GNSS and having a size according to the accuracy indicated by the accuracy information. In this case, the size of the initial position search range Ri is set to be smaller as the accuracy indicated by the accuracy information is higher. For example, a lookup table or an equation indicating the relationship between the accuracy indicated by the accuracy information and the size of the initial position search range Ri is stored in the memory 12, and the self-position estimation unit 15 determines the size of the initial position search range Ri from the accuracy information based on the information stored in the memory 12. Note that the shape of the initial position search range Ri is not limited to a square, and may be a circle.
[0073] Next, the self-location estimation unit 15 creates a frequency distribution of the z coordinate values (coordinate values in the height direction) indicated by the voxel data VD in the initial position search range Ri, and regards the voxels corresponding to the voxel data VD having high frequency z coordinate values as candidates for the road surface. Fig. 9(A) is a diagram clearly showing the voxels in the initial position search range Ri shown in Fig. 8(B), and Fig. 9(B) shows the frequency distribution of the z coordinate values indicated by the voxel data VD in the initial position search range Ri.
[0074] As shown in FIG. 9(A), first, the self-location estimation unit 15 recognizes voxels within the set initial position search range Ri, and extracts voxel data VD corresponding to the voxels from the map DB 10. Then, the self-location estimation unit 15 generates a frequency distribution of z coordinate values shown in FIG. 9(B). In the frequency distribution shown in FIG. 9(B), local peaks are formed in the range of 4 m to 6 m and in the range of 12 m to 14 m. Therefore, the self-location estimation unit 15 regards voxels that fall within the above-mentioned peak ranges in the frequency distribution as voxels that include the road surface and are candidates for the position where the target moving body exists (also called "candidate voxels").
[0075] The self-position estimation unit 15, for example, sets a predetermined threshold value for the frequency (6 in the example of FIG. 9(B)), and regards one or more ranges equal to or greater than the threshold value as peak ranges in the frequency distribution. The threshold value may be a variable value that varies depending on the number of voxels in the initial position search range Ri in which the voxel data VD exists, the size of the initial position search range Ri, or the like.
[0076] Next, the self-location estimation unit 15 arranges the candidate voxels in order of proximity to the GNSS positioning position indicated by the arrow 73 (specifically, serial numbers are assigned in order of proximity). FIG. 10(A) shows an overhead view showing the candidate voxels, and FIG. 10(B) shows an overhead view showing the order of proximity to the GNSS positioning position on the candidate voxels. As shown in FIG. 10(A), in this case, voxels including a road surface close to the GNSS positioning position and voxels at the same height as the road surface are extracted as the candidate voxels. Then, as shown in FIG. 10(B), serial numbers are assigned to the candidate voxels in order of proximity to the GNSS positioning position indicated by the arrow 73. Note that although numbers are given up to 20 in FIG. 10(B), serial numbers are actually assigned to all candidate voxels.
[0077] Next, the self-location estimation unit 15 sequentially selects candidate voxels according to the assigned order, and executes simplified NDT scan matching (simplified NDT processing) with a position based on the position of the selected candidate voxel as a search start position. Then, when an index of reliability of the executed simplified NDT processing is equal to or greater than a predetermined threshold, the self-location estimation unit 15 sets the result of the simplified NDT processing as an initial position.
[0078] The simplified NDT process corresponds to a process of performing rough matching by reducing the number of iterations (the number of calculations of the score value E(k)) for finding an optimal solution compared to when the NDT position is calculated, in order to shorten the calculation time. Note that in the simplified NDT process, instead of or in addition to reducing the number of iterations compared to when the NDT position is calculated, the size of downsampling applied to the point cloud data output by the LIDAR 3 may be made larger than when the normal NDT position is calculated. This also reduces the number of measurement points to be subject to NDT scan matching, and shortens the calculation time of the simplified NDT process.
[0079] In this embodiment, the ratio of the number of measurement points associated with the voxel data VD among the number of measurement points of the point cloud data used in the NDT scan matching (also called the "data association ratio (DAR)") is used as an example of an index of the reliability of the simplified NDT processing. In general, the lower the data association ratio (DAR), the lower the position estimation accuracy by the NDT scan matching tends to be.
[0080] Fig. 11 is a graph showing the transition of the association ratio DAR when the simplified NDT process is performed according to the order shown in Fig. 10(B). Fig. 11 clearly shows the threshold value (here, 0.7) set for the association ratio DAR for determining the voxel that is the initial position.
[0081] As shown in Fig. 11, the self-location estimation unit 15 selects candidate voxels according to the assigned order, sets a search start position based on the position corresponding to the selected candidate voxel, performs a simplified NDT process, calculates the association ratio DAR, and compares it with a threshold. In this case, for example, the x and y coordinate values of the search start position may be set to the same as the x and y coordinate values of the target candidate voxel, and the z coordinate value of the search start position may be set to the z coordinate value of the target candidate voxel plus the vehicle height. The vehicle height is stored in advance in the memory 12, for example.
[0082] 11, the self-location estimation unit 15 determines that the association ratio DAR exceeds 0.7 when the search start position is set based on the position corresponding to the candidate voxel assigned with the number 17 and the simplified NDT process is performed. Therefore, in this case, the self-location estimation unit 15 sets the result of the simplified NDT process corresponding to the candidate voxel assigned with the number 17 as the initial position.
[0083] (4-3) When the target moving body is a ship Next, a case where the target moving body is a ship will be described. First, the self-position estimation unit 15 acquires the GNSS-based positioning position and accuracy information based on the output signal of the GPS receiver 5, and sets an initial position search range Ri that is a square (or may be a circle) centered on the GNSS-based positioning position and has a size according to the accuracy indicated by the accuracy information. The setting of the initial position search range Ri is the same as when the target moving body is a vehicle, so a detailed description will be omitted here.
[0084] Next, the self-location estimation unit 15 determines that a location where no voxel data VD exists within the initial position search range Ri is likely to be on the water, and acquires the coordinates of the location where no voxel data VD exists. Here, since the voxel coordinate unit is used, the self-location estimation unit 15 acquires virtual voxels (also called "virtual voxels") where no voxel data VD exists as candidate voxels that are voxels including the water surface and are candidates for the location where the target moving object exists. Then, the self-location estimation unit 15 arranges the candidate voxels, which are virtual voxels, in order of proximity to the GNSS positioning position.
[0085] Fig. 12A shows an overhead view clearly indicating candidate voxels in the initial position search range Ri, and Fig. 12B shows an overhead view clearly indicating the order of proximity of the candidate voxels to the GNSS positioning position indicated by the arrow 73.
[0086] As shown in Fig. 12(A), virtual voxels corresponding to above-water positions of a river 75 and ground positions where no voxel data VD exists are extracted as candidate voxels. Then, as shown in Fig. 12(B), serial numbers are assigned to the candidate voxels in order of proximity to the GNSS positioning position indicated by the arrow 73. Note that although numbers are given up to 13 in Fig. 12(B), in reality, serial numbers are assigned to all candidate voxels.
[0087] Next, the self-location estimation unit 15 sequentially selects candidate voxels according to the assigned order, and executes the simplified NDT process with a position based on the position of the selected candidate voxel as a search start position. Then, when the association ratio DAR is equal to or greater than a predetermined threshold, the self-location estimation unit 15 sets the corresponding result of the simplified NDT process as an initial position.
[0088] Fig. 13 is a graph showing the transition of the association ratio DAR when the simplified NDT process is performed according to the order shown in Fig. 12(B). Fig. 13 clearly shows the threshold value (here, 0.7) set for the association ratio DAR for determining the voxel that is the initial position.
[0089] As shown in FIG. 13, the self-location estimation unit 15 selects candidate voxels, which are virtual voxels, according to the assigned order, sets a search start position based on the position corresponding to the selected candidate voxel, performs a simplified NDT process, calculates the association ratio DAR, and compares it with a threshold value. In this case, for example, the x and y coordinate values of the search start position may be the same as the x and y coordinate values of the target candidate voxel, and the z coordinate value of the search start position may be a value obtained by adding the height of the ship from the water surface to the predicted tide level. In this case, for example, the self-location estimation unit 15 receives information on the predicted tide level corresponding to the point where the target moving object exists from a server device that manages the current predicted tide levels at each point via the interface 11. In addition, the self-location estimation unit 15 may calculate the height of the ship from the water surface based on the output of the sensor group 2, etc., or may be a fixed value stored in advance in the memory 12.
[0090] 13, the self-location estimation unit 15 determines that the association ratio DAR exceeds 0.7 when the simplified NDT process is performed by setting the search start position corresponding to the candidate voxel assigned with No. 6. Therefore, in this case, the self-location estimation unit 15 sets the result of the simplified NDT process corresponding to the candidate voxel assigned with No. 6 as the initial position.
[0091] (5) Processing flow Next, a process flow relating to self-position estimation executed by the self-position estimation unit 15 of the information processing device 1 will be described with reference to FIGS.
[0092] (5-1) Processing Overview Fig. 14 is an example of a flowchart showing an overview of a self-location estimation process executed by the self-location estimation unit 15 of the information processing device 1. The self-location estimation unit 15 starts the process of the flowchart in Fig. 14 when it becomes necessary to perform self-location estimation, such as when the power is turned on.
[0093] First, the self-position estimation unit 15 executes an initial position setting process, which is a process for setting an initial position (step S11). The initial position setting process will be described in detail later with reference to FIGS.
[0094] Next, the self-position estimation unit 15 executes dead reckoning based on the moving speed and angular velocity of the target moving object detected based on the speed sensor 4 and the gyro sensor 6, etc., and the previous estimated self-position, and calculates a DR position X DR (Step S12). Next, the self-position estimation unit 15 converts the point cloud data based on the output of the LIDAR 3 into point cloud data in the world coordinate system (Step S13). The self-position estimation unit 15 may also downsample the point cloud data output by the LIDAR 3 immediately before or after the coordinate conversion in Step S13.
[0095] Then, the self-position estimation unit 15 calculates the DR position X DR By performing the NDT matching process with the initial value, the estimated self-position X^ is obtained as the NDT position X NDT (Step S14) Furthermore, the controller 13 calculates a correspondence ratio DAR based on the result of correspondence between the point cloud data converted into the world coordinate system and the voxels in which the voxel data VD exists.
[0096] Then, the self-location estimation unit 15 judges whether or not the association ratio DAR is less than a predetermined value (step S15). This predetermined value is, for example, stored in advance in the memory 12. Then, when the self-location estimation unit 15 judges that the association ratio DAR is less than the predetermined value (step S15; Yes), the process returns to step S11. In this case, the self-location estimation unit 15 performs NDT scan matching (and the calculated NDT position X NDT ) has decreased in reliability, and it is determined that position estimation should be performed from the initial position setting at the next processing time, and the process returns to step S11. On the other hand, if the self-position estimating unit 15 determines that the association ratio DAR is equal to or greater than the predetermined value (step S15; No), the self-position estimating unit 15 determines that the NDT position X NDTIt is determined that the reliability of the received signal is maintained, and the process proceeds to step S16.
[0097] Next, the self-location estimation unit 15 judges whether or not the self-location estimation process should be ended (step S16). If the controller 13 judges that the self-location estimation process should be ended (step S16; Yes), the controller 13 ends the process of the flowchart. On the other hand, if the controller 13 continues the self-location estimation process (step S16; No), the controller 13 returns the process to step S12 and estimates the self-location at the next processing time using the estimated self-location X^ calculated in step S14.
[0098] (5-2) Initial position setting process: The target moving object is a vehicle. FIG. 15 is an example of a flowchart showing the procedure of the initial position setting process executed in step S11 of FIG. 14 when the target moving object is a vehicle.
[0099] First, the self-position estimation unit 15 acquires the latitude and longitude position (i.e., x, y coordinate values) and accuracy information by GNSS positioning based on the output signal of the GPS receiver 5 (step S21). Then, the self-position estimation unit 15 sets an initial position search range Ri centered on the GNSS positioning position based on the accuracy information acquired in step S21 (step S22).
[0100] Next, the self-location estimation unit 15 acquires voxel data VD existing in the initial position search range Ri from the map DB 10 (step S23). Then, the self-location estimation unit 15 creates a frequency distribution of the z coordinate values (i.e., heights) indicated by each voxel data VD acquired in step S23 (step S24). Then, the self-location estimation unit 15 extracts voxels of the voxel data VD having a frequently occurring z coordinate value as candidate voxels from the voxels existing in the initial position search range Ri (step S25).
[0101] Then, the self-location estimation unit 15 arranges the voxels extracted in step S25 in order of proximity to the GNSS positioning position (here, a two-dimensional position defined by an x coordinate value and a y coordinate value) (step S26).The self-location estimation unit 15 then selects the first voxel in the order arranged in step S26 (step S27).
[0102] Then, the self-position estimation unit 15 regards the coordinate value of the selected voxel (the z-coordinate value is a value to which the vehicle height is added) as a tentative initial position and performs the simplified NDT process (step S28). The self-position estimation unit 15 also calculates the association ratio DAR in the simplified NDT process.
[0103] Then, the self-position estimation unit 15 judges whether the association ratio DAR is greater than a predetermined value (step S29). If the association ratio DAR is greater than the predetermined value (step S29; Yes), the self-position estimation unit 15 considers the result of the simplified NDT processing to be reliable, and sets the result of the simplified NDT processing to the initial position (step S30).
[0104] On the other hand, when the association ratio DAR is equal to or less than a predetermined value (step S29; No), the self-location estimation unit 15 judges whether or not the candidate voxel arranged at the end of the order in step S26 was the target (step S31). Then, when the self-location estimation unit 15 is the target of the last candidate voxel (step S31; Yes), it expands the initial position search range Ri (step S32). In this case, the self-location estimation unit 15 expands the initial position search range Ri by, for example, shifting the boundaries of the initial position search range Ri outward by 5 m each in the vertical and horizontal directions. After that, the self-location estimation unit 15 returns the process to step S23. In this case, when arranging the candidate voxels in step S26, the self-location estimation unit 15 may exclude the candidate voxels for which the simplified NDT process has already been performed.
[0105] On the other hand, if the last candidate voxel is not the target (step S31; No), the self-location estimation unit 15 selects the next candidate voxel (step S33). Then, in step S28, the simplified NDT process is performed on the selected candidate voxel.
[0106] (5-3) Initial position setting process: If the target moving object is a ship FIG. 16 is an example of a flowchart showing the procedure of the initial position setting process executed in step S11 of FIG. 14 when the target moving body is a ship.
[0107] First, the self-position estimation unit 15 acquires the predicted tide level at the location where the target moving object, a ship, is located from public information from the Japan Meteorological Agency, etc. (Step S41). In this case, for example, the self-position estimation unit 15 receives information on the predicted tide level corresponding to the location where the target moving object is located from a server device that manages the current predicted tide levels at each location via the interface 11.
[0108] Then, the self-position estimation unit 15 acquires the latitude and longitude position (i.e., x, y coordinate values) and accuracy information by GNSS positioning based on the output signal of the GPS receiver 5 or the like (step S42). Then, the self-position estimation unit 15 sets an initial position search range Ri centered on the GNSS positioning position based on the accuracy information acquired in step S42 (step S43).
[0109] Next, the self-location estimation unit 15 extracts, as candidate voxels, virtual voxels for which no voxel data VD exists within the initial position search range Ri (step S44). In this case, the self-location estimation unit 15 creates a virtual voxel coordinate list in voxel coordinate units as a list of target virtual voxels. Then, the self-location estimation unit 15 arranges the virtual voxels in order of proximity to the GNSS positioning position (step 45). Then, the self-location estimation unit 15 selects the virtual voxel with the smallest order (step S46).
[0110] Next, the self-position estimation unit 15 executes the simplified NDT process using the coordinates of the selected virtual voxel (step S47). In this case, the self-position estimation unit 15 sets the z coordinate value, which is the initial position in the simplified NDT process, to a value obtained by adding the height of the ship, which is the target moving body, from the water surface to the predicted tide level acquired in step S41.
[0111] Next, the self-position estimation unit 15 determines whether the association ratio DAR is greater than a predetermined value (step S48). If the association ratio DAR is greater than the predetermined value (step S48; Yes), the self-position estimation unit 15 sets the result of the simplified NDT process to the initial position (step S49).
[0112] On the other hand, if the association ratio DAR is equal to or less than a predetermined value (step S48; No), the self-location estimation unit 15 judges whether or not the last voxel in the order arranged in step S45 was the target (step S50). If the last voxel was the target (step S50; Yes), the self-location estimation unit 15 expands the initial position search range Ri (step S51). In this case, the self-location estimation unit 15 shifts the boundaries of the initial position search range Ri outward by 5 m each in the up, down, left, and right directions, and expands the initial position search range Ri. Thereafter, the self-location estimation unit 15 returns the process to step S44. In this case, when arranging the voxels in step S45, the self-location estimation unit 15 may exclude voxels for which the simplified NDT process has already been performed.
[0113] On the other hand, if the self-position estimation unit 15 does not target the last voxel in the order arranged in step S45 (step S50; No), it selects the next voxel (step S52). Then, in step S47, it performs the simplified NDT process on the selected voxel.
[0114] (6) Variations Preferred modifications of the above-described embodiment will now be described. The following modifications may be combined and applied to these embodiments.
[0115] (Variation 1) In the initial position setting process executed when the association ratio DAR is less than a predetermined value in step S15 of Fig. 14, the self-position estimation unit 15 may set the initial position search range Ri based on the previous estimated self-position and the reliability of NDT scan matching, instead of setting the initial position search range Ri based on the GNSS positioning result and the GNSS positioning accuracy information. Hereinafter, the above initial position setting process is also called "initial position setting process for return". That is, the initial position setting process for return is executed when the self-position estimation process is being repeatedly executed and the NDT position X NDT This is an initial position setting process that is executed when an index of reliability regarding the calculation of (here, the association ratio DAR) is less than a predetermined value.
[0116] Fig. 17 is an example of a flowchart showing an overview of a self-location estimation process according to Modification 1. The self-location estimation unit 15 starts the process of the flowchart in Fig. 17 when it becomes necessary to perform self-location estimation, such as when the power is turned on.
[0117] First, the self-position estimation unit 15 executes the initial position setting process described in FIG. 15 or FIG. 16 (step S61). Next, the self-position estimation unit 15 executes dead reckoning from the moving speed and angular velocity of the target moving object detected based on the speed sensor 4 and the gyro sensor 6, etc., and the previous estimated self-position, and calculates a DR position X DR (Step S62). Next, the self-position estimation unit 15 converts the point cloud data based on the output of the LIDAR 3 into point cloud data in the world coordinate system (Step S63).
[0118] Then, the self-position estimation unit 15 calculates the DR position X DR By performing the NDT matching process with the initial value, the NDT position X^, which becomes the estimated self-position X^, is obtained. NDT(Step S64) Furthermore, the controller 13 calculates a correspondence ratio DAR based on the result of correspondence between the point cloud data converted into the world coordinate system and the voxels in which the voxel data VD exists.
[0119] Then, the self-position estimation unit 15 judges whether or not the association ratio DAR is less than a predetermined value (step S65). If the self-position estimation unit 15 judges that the association ratio DAR is less than the predetermined value (step S65; Yes), it executes a return initial position setting process (step S66). In this case, the self-position estimation unit 15 performs NDT scan matching (and the calculated NDT position X NDT ) has decreased in reliability, and it is determined that it is necessary to execute the initial position setting process for return. Details of the initial position setting process for return will be described with reference to Figs. 18 and 19. On the other hand, when the association ratio DAR is equal to or greater than the predetermined value (step S65; No), the self-position estimating unit 15 determines that the NDT position X NDT It is determined that the reliability of the sigma-based algorithm is maintained, and the process proceeds to step S67.
[0120] Next, the self-location estimation unit 15 judges whether or not the self-location estimation process should be ended (step S67). If the controller 13 judges that the self-location estimation process should be ended (step S67; Yes), the controller 13 ends the process of the flowchart. On the other hand, if the controller 13 continues the self-location estimation process (step S67; No), the controller 13 returns the process to step S62 and estimates the self-location at the next processing time using the estimated self-location X^ calculated in step S64.
[0121] FIG. 18 is an example of a flowchart showing the procedure of the initial position setting process executed in step S66 of FIG. 17 when the target moving object is a vehicle.
[0122] First, the self-location estimation unit 15 generates reliability information from the association ratio DAR in the NDT scan matching executed immediately before (step S71). The reliability information is information for determining the size of the initial location search range Ri, and may be the association ratio DAR itself, or may be an index value that has a positive correlation with the association ratio DAR and is calculated from the association ratio DAR by a predetermined calculation formula. The self-location estimation unit 15 determines that the smaller the value of the reliability information, the larger the deviation of the self-location, and increases the size of the initial location search range Ri. Also, if the value of the reliability information is relatively large, the self-location estimation unit 15 determines that the deviation of the estimated self-location is small, and decreases the size of the initial location search range Ri. Then, the self-location estimation unit 15 sets the initial location search range Ri from the reliability information (step S72). In this case, the self-location estimation unit 15 calculates the center position by dividing the NDT position X NDT (estimated self-position X^) and sets an initial position search range Ri whose size increases as the reliability information value decreases.
[0123] Thereafter, in steps S73 to S83, the self-location estimation unit 15 executes the same processes as steps S23 to S33 in Fig. 15 based on the set initial position search range Ri. As a result, the self-location estimation unit 15 extracts candidate voxels within the initial position search range Ri, and determines the result of the simplified NDT process of the candidate voxels whose association ratio DAR is greater than a predetermined value as the initial position.
[0124] FIG. 19 is an example of a flowchart showing the procedure of the initial position setting process executed in step S66 of FIG. 17 when the target moving body is a ship.
[0125] First, the self-location estimation unit 15 acquires the predicted tide level at the location where the ship, which is the target moving object, is located from public information from the Japan Meteorological Agency or the like (step S91). Next, the self-location estimation unit 15 generates reliability information from the association ratio DAR in the NDT scan matching executed immediately before (step S92). Then, the self-location estimation unit 15 sets an initial location search range Ri from the reliability information (step S93). In this case, the self-location estimation unit 15 sets the center position to the previously obtained NDT position X NDT (estimated self-position X^) and sets an initial position search range Ri whose size increases as the reliability information value decreases.
[0126] Thereafter, in steps S94 to S102, the self-location estimation unit 15 executes the same processes as steps S44 to S52 in Fig. 16 based on the set initial position search range Ri. As a result, the self-location estimation unit 15 extracts virtual voxels within the initial position search range Ri, and determines the result of the simplified NDT process of the virtual voxels whose association ratio DAR is greater than a predetermined value as the initial position.
[0127] In this way, according to this modification, the return initial position setting process can be suitably executed based on the result of the immediately preceding NDT scan matching.
[0128] (Variation 2) The self-position estimation unit 15 may execute a simplified NDT process with each position of all candidate voxels as a search start position, and determine the simplified NDT process result for the voxel with the maximum association ratio DAR as the initial position. For example, in the initial position setting process of the vehicle shown in Fig. 15, the self-position estimation unit 15 extracts candidate voxels in step S25, and then executes the simplified NDT process in step S28 for each of the extracted voxels. Then, the self-position estimation unit 15 determines the result of the simplified NDT process with the highest association ratio DAR as the initial position.
[0129] According to this modification, although the processing time increases, it is possible to preferably improve the reliability of the determined initial position.
[0130] (Variation 3) Instead of using the association ratio DAR as an evaluation index used to determine whether or not to use the result of the simplified NDT processing as the initial position (see step S29 in FIG. 15, step S48 in FIG. 16, etc.), another index may be used.
[0131] For example, the self-location estimation unit 15 may use, as the above-mentioned evaluation index, an NDT scan matching reliability index "NRI (NDT Reliability Index)" having a value range of 0 to 1. In this case, the self-location estimation unit 15 determines, as the initial position, a result of the simplified NDT processing in which the reliability index NRI is greater than a predetermined value.
[0132] Here, the calculation of the reliability index NRI will be described. First, when the downsampling size at each time is "DSS", the self-location estimation unit 15 calculates the reliability value "NRV (NDT Reliability Value)" of the NDT scan matching by the following formula using the score value E and the association ratio DAR. NRV = DSS × E × DAR (8) In this case, it is assumed that the downsampling size is adaptively changed at each processing time so that the number of measurement points (also called the "number of corresponding measurement points") associated with the voxel data VD in the point cloud data after downsampling falls within a predetermined target range. For example, when the number of corresponding measurement points is greater than the upper limit of the target range at each processing time, the self-location estimation unit 15 increases the downsampling size at the next processing time by a predetermined rate (e.g., 1.1) or a predetermined value, and when the number of corresponding measurement points is less than the lower limit of the target range, the self-location estimation unit 15 decreases the downsampling size at the next processing time by a predetermined rate or a predetermined value. On the other hand, when the number of corresponding measurement points is within the target range at each processing time, the self-location estimation unit 15 maintains the downsampling size. In such an adaptive setting of the downsampling size, the more the number of corresponding measurement points, the larger the downsampling size, so it is presumed that the reliability of the NDT processing increases as the downsampling size increases.
[0133] Next, the self-location estimation unit 15 calculates a reliability index NRI by normalizing the reliability value NRV to be in the range of 0 to 1. For example, the self-location estimation unit 15 converts the reliability value NRV into the reliability index NRI by using any one of the following formulas (8) to (11).
[0134]
number
[0135] When the reliability index NRI is used as the above-mentioned evaluation index, the score value E is also taken into account, so the number of repetitions in the simplified NDT process needs to be increased, and the processing time increases, but the strictness of the evaluation index improves. Note that the self-location estimation unit 15 may use the score value E as the above-mentioned evaluation index instead of the association ratio DAR and the reliability index NRI. In this case, the self-location estimation unit 15 determines the result of the simplified NDT process in which the score value E is greater than a predetermined value as the initial position.
[0136] Similarly, the self-location estimation unit 15 may use the reliability index NRI or the score value E instead of the association ratio DAR as an evaluation index used in determining whether to perform the initial position setting process and the return initial position setting process (see step S15 in FIG. 14, step S65 in FIG. 17, etc.). Also, the self-location estimation unit 15 may generate reliability information from the reliability index NRI or the score value E instead of the association ratio DAR in step S71 in FIG. 18 or step S92 in FIG. 19 of (Modification 1).
[0137] (Variation 4) The voxel data VD is not limited to a data structure including a mean vector and a covariance matrix as shown in Fig. 4. For example, the voxel data VD may include point cloud data measured by a measurement maintenance vehicle and used to calculate the mean vector and the covariance matrix.
[0138] As described above, the controller 13 of the information processing device 1 according to this embodiment acquires the position of the target moving object measured by GNSS, which is the first position calculation method. Then, the controller 13 sets an initial position search range Ri based on the position measured by GNSS, and sets a reference position for NDT scan matching, which is the second position calculation method, within the initial position search range Ri. Then, the controller 13 estimates the position of the target moving object by NDT scan matching based on the set reference position. In this case, the controller 13 determines the size of the initial position search range Ri based on accuracy information indicating the positioning accuracy of the GNSS measured position. This allows the information processing device 1 to accurately search for and set a reference position that serves as a reference in NDT scan matching.
[0139] In the above-described embodiment, the program can be stored using various types of non-transitory computer readable media and supplied to a controller or the like that is a computer. The non-transitory computer readable medium includes various types of tangible storage media. Examples of the non-transitory computer readable medium include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROM (Read Only Memory), CD-R, CD-R / W, and semiconductor memory (e.g., mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)).
[0140] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. In other words, the present invention naturally includes various modifications and corrections that a person skilled in the art could make in accordance with the entire disclosure, including the claims, and the technical ideas. In addition, the disclosures of the above cited patent documents and the like are incorporated herein by reference. [Explanation of symbols]
[0141] 1. Information processing device 2 Sensor Group 3. Rider 4 Speed Sensor 5 GPS receiver 6 Gyro sensor 10 Map DB
Claims
1. a position acquisition means for acquiring a position of a moving object based on a first position calculation method; a reference position setting means for setting a search range for searching for a reference position for the second position calculation method based on the position measurement position, and, when voxel data representing the position of an object for each voxel, which is a unit area, within the search range is compared with point cloud data based on an output of a measuring device provided on the moving body based on the reference position, setting the reference position based on a ratio of measurement points included in the point cloud data that correspond to the voxel data; a position estimating means for estimating a position of the moving object by the second position calculation method based on the reference position, the reference position setting means determines a size of the search range based on accuracy information representing accuracy of positioning of the positioning position; Information processing device.
2. the first position calculation method is positioning using GNSS, The information processing device according to claim 1 , wherein the reference position setting means determines a size of the search range based on accuracy information of the GNSS.
3. The information processing apparatus according to claim 1 , wherein the reference position setting means reduces the size of the search range as the accuracy indicated by the accuracy information increases.
4. The information processing device according to any one of claims 1 to 3, wherein the position estimation means converts the coordinate system of the point cloud data to the coordinate system of the voxel data based on the reference position when there is no estimated position of the moving body determined at the immediately preceding processing time.
5. the moving object is a vehicle, 5. The information processing device according to claim 1, wherein the reference position setting means determines a candidate voxel in which the vehicle exists based on a frequency distribution of a position in a height direction for each voxel existing within the search range.
6. The moving body is a ship, 5. The information processing apparatus according to claim 1, wherein the reference position setting means determines a virtual voxel for which no voxel data exists within the search range as a candidate voxel in which the ship is present.
7. If an estimated position of the moving object determined at the immediately preceding processing time exists, and the evaluation index of the second position calculation method at the immediately preceding processing time is less than a predetermined value, The reference position setting means determines the reference position, 7. The information processing apparatus according to claim 1, wherein the position estimation means converts a coordinate system of the point cloud data at a current processing time into a coordinate system of the voxel data based on the reference position.
8. 8. The information processing device according to claim 7, wherein the position estimation means, when an estimated position of the moving body determined at the immediately previous processing time exists and the evaluation index is equal to or greater than the predetermined value, converts the coordinate system of the point cloud data at the current processing time into the coordinate system of the voxel data based on the estimated position.
9. A computer-implemented control method, comprising: a position acquisition step of acquiring a position measured by the moving object using a first position calculation method; a reference position setting step of setting a search range for searching for a reference position for the second position calculation method based on the position measurement position, and when voxel data representing the position of an object for each voxel, which is a unit area, within the search range is compared with point cloud data based on an output of a measuring device provided on the moving body based on the reference position, setting the reference position based on a ratio of measurement points included in the point cloud data that correspond to the voxel data; a position estimating step of estimating a position of the moving object by the second position calculation method based on the reference position, A control method, wherein the reference position setting step determines a size of the search range based on accuracy information representing accuracy of positioning of the positioning position.
10. a position acquisition means for acquiring a position of a moving object based on a first position calculation method; a reference position setting means for setting a search range for searching for a reference position for the second position calculation method based on the position measurement position, and, when voxel data representing the position of an object for each voxel, which is a unit area, within the search range is compared with point cloud data based on an output of a measuring device provided on the moving body based on the reference position, setting the reference position based on a ratio of measurement points included in the point cloud data that correspond to the voxel data; a position estimating means for estimating the position of the moving object by the second position calculating method based on the reference position; The computer functions as The reference position setting means determines a size of the search range based on accuracy information indicating accuracy of positioning of the positioning position.
11. A storage medium storing the program according to claim 10.
Citation Information
Patent Citations
3D point cloud processing method and device, storage medium and processor
CN111553353A
Robust and efficient algorithm for vehicle positioning and infrastructure
JP2018084573A
Estimation device and program
JP2019040445A
Data structure, storage device, terminal device, server device, control method, program, and storage medium
JP2020046413A
Systems and methods for path determination
WO2020133118A1