Information processing device, map generation device, storage device, control method and program
By setting lower weights for vegetation regions in map data, the method enhances position estimation accuracy by mitigating the impact of changing vegetation, thereby improving the reliability of location estimation using voxel-based map data.
Patent Information
- Application Number
- JP2025098454
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-06-12
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2038-08-30
AI Technical Summary
Location estimation using map data represented by voxels can be inaccurate due to the inclusion of vegetation, which changes over time, leading to deviations in estimation results.
A data structure for map data is implemented where the weight for regions including vegetation is set to a lower value than for regions without vegetation, allowing for accurate position estimation by weighting the matching results of measurement information with object information for each region.
This approach effectively suppresses the decrease in position estimation accuracy caused by vegetation, ensuring precise location estimation by reducing the influence of moving vegetation on the estimation process.
Smart Images

Figure 2025123340000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to map data used for position estimation. [Background technology]
[0002] Conventionally, there has been known a technique for estimating a vehicle's own position by matching shape data of surrounding objects measured using a measurement device such as a laser scanner with map data 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 the map data with the measurement data for voxels in which a stationary object exists. Also, Non-Patent Document 1 discloses a technique for recognizing a measurement point cloud that constitutes vegetation such as trees by analyzing a measurement point cloud obtained from a lidar or the like. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication WO2013 / 076829 [Non-patent literature]
[0004] [Non-Patent Document 1] Fabrice Monnier, Bruno Vallet, Bahman Soheilian, Trees Detection from Laser Point Clouds Acquired in Dense Urban Areas by a Mobile Mapping System, [online], 2012, ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, [Retrieved July 14, 2018], Internet〈URL:https: / / www.isprs-ann-photogramm-remote-sens-spatial-inf-sci.net / I-3 / 245 / 2012 / isprsannals-I-3-245-2012.pdf〉 Summary of the Invention [Problem to be solved by the invention]
[0005] In location estimation using map data represented by voxels, if location estimation is performed by referring to voxels that contain vegetation that changes over time, there is a possibility that deviations will occur in the location estimation results.
[0006] The present invention has been made to solve the above-mentioned problems, and a main object of the present invention is to preferably realize accurate position estimation. [Means for solving the problem]
[0007] The claimed invention is an information processing device having: a memory means for storing map data including, for each divided region of space, information indicating an object and information regarding a weight representing the reliability of the position estimation of the information indicating the object, wherein the weight for a region including vegetation is set to a lower value than the weight for a region of structures other than vegetation that does not include vegetation; and an estimation means for estimating the position of the mobile body by weighting, for each region, the results of comparing measurement information of the object measured by a measuring device mounted on the mobile body with the information indicating the object for each region. The claimed invention is a map generation device that includes a recognition means for recognizing an area including measurement points of vegetation from an area that is a partitioned region of space and includes measurement points of objects measured by a measuring device, and a map generation means for generating map data that associates information indicating the object for each region with a weight that represents the reliability of position estimation for the information regarding the position, wherein the map generation means makes the weight for the region including vegetation smaller than the weight for the region of structures other than vegetation that does not include vegetation.
[0008] The invention described in the claims is a storage device having a storage means for storing map data including, for each divided area of space, information indicating an object and information regarding a weight representing the reliability of the position estimation of the information indicating the object, and the weight for an area including vegetation is set to a lower value than the weight for an area of structures other than vegetation that does not include vegetation. The claimed invention is a control method executed by a computer that references map data, which includes, for each divided region of space, information indicating an object and information regarding a weight representing the reliability of the position estimation of the information indicating the object, and the weight for a region including vegetation is set to a lower value than the weight for a region of structures other than vegetation that does not include vegetation, and includes an estimation step of estimating the position of the mobile body by weighting, for each region, the results of comparing measurement information of the object measured by a measuring device mounted on the mobile body with the information indicating the object for each region. The claimed invention is also a program executed by a computer that references map data, which includes, for each divided region of space, information indicating an object and information regarding a weight representing the reliability of the position estimation of the information indicating the object, and the weight for a region including vegetation is set to a lower value than the weight for a region of structures other than vegetation that does not include vegetation, and causes the computer to function as an estimation means for estimating the position of the mobile body by weighting, for each region, the results of comparing the measurement information of the object measured by a measuring device mounted on the mobile body with the information indicating the object for each region. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a schematic configuration of a map update system. [Figure 2] 2 shows block configurations of an in-vehicle device and a server device. [Figure 3] 1 shows an example of a schematic data structure of voxel data. [Figure 4] 10 is a flowchart showing the procedure of a voxel data generation process. [Figure 5] 10 is a flowchart showing the procedure of a vegetation determination process. [Figure 6] 10 is a flowchart showing the procedure of a position estimation process. [Figure 7] FIG. 1 is a diagram illustrating an overview of the process of position estimation based on the first embodiment and the process of position estimation based on a comparative example. [Figure 8] 10 shows an example of a schematic data structure of voxel data according to a second embodiment. [Figure 9] 10 is a flowchart showing the procedure of a voxel data generation process according to a second embodiment. [Figure 10] 10 is a flowchart showing the procedure of a dynamic object detection process according to a second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] According to a preferred embodiment of the present invention, a data structure of map data includes, for each partitioned region of space, information indicating an object and information regarding a weight when using the information indicating the object in position estimation, wherein the weight for a region including vegetation is set to a lower value than the weight for a region not including vegetation. The data structure of map data is referenced by an information processing device that estimates the position of the mobile body by weighting, for each region, the results of matching measurement information of the object measured by a measuring device mounted on the mobile body with the information indicating the object for each region. A "partitioned region of space" is a region obtained by dividing space according to a predetermined rule, such as a rectangular parallelepiped or cube of a uniform size. By referencing map data having this data structure, the information processing device can relatively lower the weight for the matching results for regions including vegetation, thereby effectively suppressing a decrease in position estimation accuracy due to, for example, the swaying of vegetation.
[0011] In one aspect of the data structure, each of the areas further includes information for identifying whether the area includes vegetation, thereby enabling an information processing device that references map data to suitably identify areas that include vegetation.
[0012] In another aspect of the data structure, the information indicating the object is information regarding the mean and variance of a point cloud on the surface of the object in each of the areas, and the information processing device calculates an evaluation value for the matching based on measurement information of the object, the mean, the variance, and the weight. With this aspect, the information processing device can calculate an evaluation value based on map data and measurement information, and preferably estimate the position of the moving object.
[0013] In another aspect of the data structure, the area containing vegetation is an area in which the object is determined to be neither a columnar body nor a plane based on the measurement points of the object within the area. In this aspect, the area containing vegetation is preferably identified.
[0014] According to another embodiment of the present invention, a storage medium stores map data having any of the above-described data structures.
[0015] According to yet another embodiment of the present invention, the storage device has a storage means for storing map data that includes, for each divided region of space, information indicating an object and information regarding a weight when using the information indicating the object for position estimation, and the weight for a region including vegetation is set to a lower value than the weight for a region not including vegetation.
[0016] In one aspect of the storage device, the storage device further includes a transmitting unit for transmitting a part or all of the map data to a vehicle or an on-board device. In this aspect, the storage device functions as a distribution device for map data referenced in position estimation. [Example]
[0017] Preferred embodiments of the present invention will now be described with reference to the drawings.
[0018] <First Example> The first embodiment relates to position estimation based on voxel data.
[0019] (1) Map Update System Overview Figure 1 shows a schematic configuration of a map updating system according to a first embodiment. The map updating system includes an onboard device 1 that travels with a vehicle, and a server device 2 that distributes map information. Note that while Figure 1 shows only one pair of onboard device 1 and vehicle that communicates with the server device 2, in reality, there are multiple pairs of onboard device 1 and vehicle at different locations.
[0020] The vehicle-mounted device 1 is electrically connected to external sensors such as a Lidar (Light Detection and Ranging, or Laser Illuminated Detection and Ranging) and internal sensors such as a gyro sensor and a vehicle speed sensor, and estimates the position of the vehicle (also referred to as the "vehicle position") on which the vehicle-mounted device 1 is mounted based on the outputs of these sensors. Based on the result of estimating the vehicle position, the vehicle-mounted device 1 performs automatic driving control of the vehicle so that the vehicle travels along a route to a set destination. The vehicle-mounted device 1 stores a map database (DB: DataBase) 10 containing voxel data. The voxel data is data that records position information of stationary structures for each region (also referred to as a "voxel") when a three-dimensional space is divided into multiple regions. The voxel data includes point cloud data of measured measurement points of stationary structures within each voxel, expressed using a normal distribution, and is used for scan matching using the normal distribution transform (NDT), as described below.
[0021] The vehicle-mounted device 1 estimates the vehicle position by performing scan matching based on NDT, based on point cloud data obtained by converting measurement points on the surface of an object output by the lidar into an absolute coordinate system, and voxel data corresponding to the voxels to which the point cloud data belongs. The vehicle-mounted device 1 also transmits measurement data "D1" including the above-mentioned point cloud data to the server device 2. The vehicle-mounted device 1 also updates the map DB 10 by receiving update data "D2" related to the map DB 10 from the server device 2. The vehicle-mounted device 1 is an example of an "information processing device" and a "position estimation device."
[0022] The server device 2 performs data communication with the in-vehicle devices 1 corresponding to a plurality of vehicles. The server device 2 stores a delivery map DB 23 to be delivered to the in-vehicle devices 1 corresponding to a plurality of vehicles, and the delivery map DB 23 includes voxel data corresponding to each voxel. The server device 2 also stores a measurement point cloud DB 24 that accumulates measurement data D1 received from the in-vehicle devices 1. The server device 2 then generates voxel data based on the measurement data D1 accumulated in the measurement point cloud DB 24, and updates the delivery map DB 23 based on the generated voxel data. The server device 2 also transmits update data D2 including the generated voxel data to the in-vehicle device 1. The server device 2 is an example of a "storage device" and a "map generation device."
[0023] (2) In-vehicle device configuration Fig. 2(A) is a block diagram showing the functional configuration of the vehicle-mounted device 1. As shown in Fig. 2(A), the vehicle-mounted device 1 mainly includes a communication unit 11, a memory unit 12, a sensor unit 13, an input unit 14, a control unit 15, and an output unit 16. The communication unit 11, the memory unit 12, the sensor unit 13, the input unit 14, the control unit 15, and the output unit 16 are connected to each other via a bus line.
[0024] Based on the control of the control unit 15, the communication unit 11 transmits measurement data D1 generated by the control unit 15 to the server device 2 and receives update data D2 distributed from the server device 2. The communication unit 11 also transmits signals for controlling the vehicle to the vehicle and receives signals related to the vehicle's state from the vehicle.
[0025] The storage unit 12 stores programs executed by the control unit 15 and information required for the control unit 15 to execute predetermined processes. In this embodiment, the storage unit 12 stores a map DB 10 including voxel data.
[0026] The sensor unit 13 includes a lidar 30, a camera 31, a GPS receiver 32, a gyro sensor 33, and a speed sensor 34. The lidar 30 emits a pulsed laser within a predetermined angular range in the horizontal and vertical directions to discretely measure the distance to an object in the external world and generate three-dimensional point cloud data indicating the position of the object. In this case, the lidar 30 has an irradiation unit that irradiates laser light while changing the irradiation direction, a light receiving unit that receives reflected light (scattered light) of the irradiated laser light, and an output unit that outputs scan data based on a light receiving signal output by the light receiving unit. The scan data is generated based on the irradiation direction corresponding to the laser light received by the light receiving unit and the response delay time of the laser light identified based on the above-mentioned light receiving signal. The lidar 30 is an example of a "measurement device."
[0027] The input unit 14 is a button, touch panel, remote controller, voice input device, etc. that is operated by the user, and receives inputs such as inputs specifying a destination for route search and inputs specifying whether autonomous driving is on or off, and supplies the generated input signals to the control unit 15. The output unit 16 is, for example, a display, a speaker, etc. that outputs based on the control of the control unit 15.
[0028] The control unit 15 includes a CPU that executes programs and controls the entire in-vehicle device 1. For example, the control unit 15 estimates the vehicle position by performing scan matching based on NDT, based on point cloud data obtained by converting measurement points output by the LIDAR 30 into an absolute coordinate system and voxel data corresponding to voxels to which the point cloud data belongs. The control unit 15 also updates the map DB 10 based on update data D2 received by the communication unit 11 from the server device 2.
[0029] Furthermore, the control unit 15 transmits measurement data D1 generated based on the point cloud data output from the LIDAR 30 to the server device 2 via the communication unit 11. In this case, for example, the control unit 15 converts the point cloud data of measurement points output from the LIDAR 30 into an absolute coordinate system based on the estimated vehicle position and information on the position and attitude of the LIDAR 30 relative to the vehicle, and includes the converted point cloud data in the measurement data D1 and transmits the measurement data D1 to the server device 2 via the communication unit 11. In another example, the control unit 15 includes the point cloud data (so-called raw data) output from the LIDAR 30 and data (such as the above-mentioned vehicle position) required to convert the point cloud data into the absolute coordinate system in the measurement data D1 and transmits the measurement data D1 to the server device 2 via the communication unit 11. In the latter example, the server device 2 generates point cloud data of measurement points represented in the absolute coordinate system based on the measurement data D1.
[0030] (3) Server device configuration Fig. 2(B) shows a schematic configuration of the server device 2. As shown in Fig. 2(B), the server device 2 has a communication unit 21, a storage unit 22, and a control unit 25. The communication unit 21, the storage unit 22, and the control unit 25 are connected to each other via a bus line.
[0031] The communication unit 21 communicates various data with the vehicle-mounted device 1 under the control of the control unit 25. The storage unit 22 stores programs for controlling the operation of the server device 2 and holds information necessary for the operation of the server device 2. The storage unit 22 also stores a delivery map DB 23 and a measurement point cloud DB 24 that records point cloud data of measurement points of objects based on measurement data D1 transmitted from multiple vehicle-mounted devices 1.
[0032] The control unit 25 includes a CPU, ROM, RAM, etc. (not shown), and performs various controls on the components in the server device 2. In this embodiment, the control unit 25 accumulates the measurement data D1 received by the communication unit 21 from the vehicle-mounted device 1 in the measurement point cloud DB 24, and generates voxel data based on the accumulated measurement data D1. In this case, the control unit 25 determines for each voxel whether the voxel contains vegetation, and based on the determination result, generates a weighting value and a vegetation flag (described later) to include in the voxel data. The control unit 25 also transmits update data D2 based on the generated voxel data to the vehicle-mounted device 1 via the communication unit 21. The control unit 25 is an example of a "computer" that executes a program.
[0033] (4) NDT-based scan matching Next, scan matching based on NDT in this embodiment will be described.
[0034] First, we will explain the voxel data used in scan matching based on the NDT. Figure 3 shows an example of a schematic data structure of the voxel data.
[0035] The voxel data includes parameter information for expressing a point cloud within a voxel using a normal distribution. In this embodiment, as shown in FIG. 3, the data includes a voxel ID, voxel coordinates, a mean vector, a covariance matrix, a weighting value, and a vegetation flag. Here, "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 obtained by dividing space into a grid, and since its shape and size are predetermined, the space of each voxel can be identified by its voxel coordinates. The voxel coordinates may also be used as a voxel ID.
[0036] The "mean vector" and "covariance matrix" are the parameters when expressing the point cloud in the target voxel as a normal distribution. The coordinates of any point "i" in any voxel "n" are expressed as X n (i)=[x n (i), y n (i), zn (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.
[0037]
number
[0038]
number
[0039] The "weighting value" is set to a value according to the reliability of the voxel data (particularly the mean vector and covariance matrix) of the target voxel, and represents the weight set for the target voxel in scan matching. In this embodiment, the weighting value for a voxel determined to contain vegetation (also called a "vegetation voxel Bv") is set lower than the weighting values for other voxels. The "vegetation flag" is flag information indicating whether the target voxel is a voxel containing vegetation.
[0040] Next, scan matching by NDT using voxel data will be described. In this embodiment, as will be described later, the vehicle-mounted device 1 calculates the value of the evaluation function (evaluation value) obtained by NDT scan matching by weighting it using the weighting value included in the voxel data. As a result, the vehicle-mounted device 1 suitably improves the accuracy of position estimation based on NDT scan matching.
[0041] Scan matching using NDT assuming a vehicle is performed by estimating parameters P = [t x , t y , t z , t ψ ] T Here, "tx " indicates the amount of movement in the x direction, and "t y " indicates the amount of movement in the y direction, and "t z " indicates the amount of movement in the z direction, and "t ψ " indicates the yaw angle (amount of change in angle in the yaw direction). Note that although pitch and roll angles are generated by road gradients and vibrations, they are small enough to be ignored.
[0042] When the measurement points obtained by the lidar 2 are converted into the absolute coordinate system and the voxels to be matched are associated with each other, the coordinates of any point in the corresponding voxel n are expressed as X L (i)=[x n (i), y n (i), z n (i)] T Then, using the above estimated parameter P, X L (i)=[x n (i), y n (i), z n (i)] T When the coordinate is converted, the converted coordinate "X' n " is expressed by the following equation (3).
[0043]
number
[0044]
number
[0045] In addition, after calculating the evaluation function value (also called "individual evaluation function value") for each voxel shown by equation (4), the vehicle-mounted device 1 calculates an overall evaluation function value "E" (also called "overall evaluation function value") for all voxels that are the subject of matching shown by equation (5).
[0046]
number
[0047] Then, the vehicle-mounted device 1 calculates the estimated parameters P that maximize the overall evaluation function value E using an arbitrary root-finding algorithm such as Newton's method. Then, the vehicle-mounted device 1 calculates the vehicle position (also called "predicted vehicle position") "X - By applying the estimation parameter P to the predicted vehicle position, a vehicle position (also called "estimated vehicle position") "X ^ " is estimated.
[0048] In this way, the vehicle-mounted device 1 multiplies each voxel data (mean vector, covariance matrix) by a weighting value according to whether it is a vegetation voxel Bv or not. As a result, the evaluation function E n becomes relatively small, and the accuracy of position estimation by NDT matching is suitably improved.
[0049] The weighting value for the vegetation voxel Bv may be 0. In this case, the evaluation function E n Since the estimation parameter P is estimated based on the above, it is possible to perform position estimation completely eliminating the influence of vegetation.
[0050] (5) Voxel data generation Next, a process of determining the vegetation voxels Bv that the server device 2 executes when generating voxel data will be described.
[0051] 4 is a flowchart of the voxel data generation process executed by the server device 2. The server device 2 executes the process of the flowchart shown in FIG. 4 at a predetermined timing.
[0052] First, the server device 2 recognizes the voxel to which each measurement point recorded in the measurement point group DB 24 belongs, and calculates the mean vector and covariance matrix of the measurement point for each voxel based on the above-mentioned equations (1) and (2) (step S101).
[0053] Next, the server device 2 executes a vegetation determination process for determining whether each voxel including the measurement point is a vegetation voxel Bv (step S102). A specific example of this vegetation determination process will be described later with reference to the flowchart of FIG.
[0054] Then, the server device 2 sets a weighting value and a vegetation flag for each voxel based on the determination result in step S102 (step S103). For example, the server device 2 stores in advance setting information indicating the weighting values and vegetation flag values to be assigned to the vegetation voxel Bv and the other voxels. Then, the server device 2 refers to the setting information and assigns different weighting values and vegetation flags to the voxel determined to be the vegetation voxel Bv in step S103 and the voxels other than the vegetation voxel Bv. In this case, the weighting value for the vegetation voxel Bv is set lower than the weighting values for the other voxels.
[0055] 4, the server device 2 may execute processing to remove measurement point clouds that indicate dynamic objects from the measurement point clouds recorded in the measurement point cloud DB 24. For example, the server device 2 identifies measurement point clouds that form specific dynamic objects such as pedestrians or vehicles based on processing such as pattern matching based on the shape, size, etc., and deletes the identified measurement point clouds from the measurement point cloud DB 24.
[0056] Fig. 5 is a flowchart showing an example of the vegetation determination process executed in step S102 of Fig. 4. In the example shown in Fig. 5, the server device 2 determines voxels that represent planar or columnar structures by performing principal component analysis on each voxel of the measurement point cloud recorded in the measurement point cloud DB 24, and determines voxels that do not correspond to either planar or columnar structures as vegetation voxels Bv.
[0057] First, the server device 2 performs principal component analysis for each voxel on the measurement point cloud recorded in the measurement point cloud D24 (step S201). Specifically, the server device 2 calculates three sets of eigenvalues and eigenvectors corresponding to the first to third principal components from the covariance matrix for each voxel calculated in step S101 of FIG. 4. Here, the eigenvalue indicates the variance (i.e., magnitude) of each principal component, and the eigenvector indicates the direction of each principal component. Therefore, the server device 2 considers that the largest eigenvalue and its corresponding eigenvector correspond to the first principal component, the second largest eigenvalue and its corresponding eigenvector correspond to the second principal component, and the remaining eigenvalues and eigenvectors correspond to the third principal component. Note that the first to third principal components are orthogonal to each other.
[0058] Then, the server device 2 extracts voxels forming a plane (also referred to as "plane voxels Bf") based on the result of the principal component analysis in step S201 (step S202). For example, the server device 2 may regard voxels whose magnitude of the third principal component (i.e., the variance indicated by the eigenvalue of the third principal component) is equal to or less than a predetermined value as plane voxels Bf. In addition, the server device 2 may regard voxels whose direction indicated by the eigenvector corresponding to the third principal component is substantially the same as the vertical or horizontal direction as plane voxels Bf.
[0059] Furthermore, the server device 2 extracts voxels forming columns (also referred to as "columnar voxels Bp") based on the results of the principal component analysis in step S201 (step S203). For example, the server device 2 extracts voxels in which the contribution rate of the first principal component is equal to or greater than a predetermined value and the variance of the first principal component is close to a uniform distribution as columnar voxels Bp. In addition, the server device 2 may regard voxels in which the direction indicated by the eigenvector corresponding to the first principal component is substantially the same as the vertical or horizontal direction as columnar voxels Bp.
[0060] The server device 2 then determines the remaining voxels, which do not correspond to either planar voxels Bf or columnar voxels Bp, as vegetation voxels Bv (step S204). Most static structures that are not vegetation are composed of planar or columnar shapes, and the applicant has obtained good recognition results for vegetation voxels Bv in experiments and the like by regarding voxels excluding voxels of the measurement point cloud that form planar or columnar shapes as vegetation voxels Bv.
[0061] (6) Position estimation using voxel data Next, a position estimation process using voxel data will be described below. Fig. 6 is a flowchart showing an example of the procedure for the position estimation process using voxel data.
[0062] First, the vehicle-mounted device 1 sets an initial value of the vehicle position based on the output of the GPS receiver 32, etc. (step S301). Next, the vehicle-mounted device 1 acquires the vehicle speed from the speed sensor 34 and the angular velocity in the yaw direction from the gyro sensor 33 (step S302). Then, the vehicle-mounted device 1 calculates the travel distance of the vehicle and the change in the vehicle's direction based on the results acquired in step S302 (step S303).
[0063] Thereafter, the vehicle-mounted device 1 calculates a predicted vehicle position by adding the travel distance and change in orientation calculated in step S303 to the estimated vehicle position one time before (step S304). Then, based on the predicted vehicle position calculated in step S304, the vehicle-mounted device 1 refers to the map DB 10 to acquire voxel data of voxels existing around the vehicle position (step S305). Furthermore, based on the predicted vehicle position calculated in step S304, the vehicle-mounted device 1 divides point cloud data, which is obtained by converting the measurement points obtained from the LIDAR 30 into an absolute coordinate system, into each voxel (step S306).
[0064] Then, the vehicle-mounted device 1 performs calculations for NDT scan matching using the mean, covariance matrix, and weighting values included in the voxel data acquired in step S305 (step S307). Specifically, for each voxel to which a measurement point is assigned in step S306, the vehicle-mounted device 1 calculates an individual evaluation function value E n Then, the vehicle-mounted device 1 calculates the individual evaluation function value E for each voxel. n Based on the above, the overall evaluation function value E shown in equation (5) is calculated. In this case, the overall evaluation function value E is a nonlinear equation including variables of each element of the estimated parameter P.
[0065] Then, the vehicle-mounted device 1 determines the estimation parameter P that maximizes the overall evaluation function value using a numerical solution of a nonlinear equation such as Newton's method (step S308). After that, the vehicle-mounted device 1 calculates the estimated vehicle position by applying the estimation parameter P calculated in step S308 to the predicted vehicle position calculated in step S304 (step S309).
[0066] Here, the individual evaluation function value E in step S307 n The weighting value used to calculate the weight of the vegetation voxel Bv is set lower than that of the other voxels. This allows the vehicle-mounted device 1 to relatively reduce the influence of the vegetation voxel Bv representing vegetation on the position estimation, thereby suitably improving the position estimation accuracy.
[0067] 7 is a diagram showing an overview of the process of position estimation based on the flowchart of FIG. 6 using weighting values (also referred to as "this position estimation"), and position estimation that, instead of using weighting values, refers to voxel data generated based on a measurement point cloud from which the measurement point cloud of vegetation has been removed (also referred to as "position estimation based on a comparative example"). Here, we consider NDT scan matching targeting voxel B1, which contains vegetation and part of a structure, and voxel B2, which is adjacent to voxel B1 and contains part of a structure but does not contain vegetation.
[0068] The voxels B1 and B2 indicated by the arrow A1 labeled "Weighting" schematically show the voxel data used in this position estimation. Here, hatched area 50 indicates the distribution of the measurement point cloud of vegetation used to generate the voxel data, and hatched areas 51 and 52 indicate the distribution of the measurement point cloud of the structure used to generate the voxel data. Furthermore, dashed frame 60 indicates the variance of the point cloud within voxel B1, indicated by the covariance matrix recorded as voxel data. Dashed frame 61 indicates the variance of the point cloud within voxel B2, indicated by the covariance matrix recorded as voxel data. Furthermore, the voxels B1 and B2 indicated by the arrow A2 labeled "Point Cloud Removal" schematically show the voxel data used in position estimation based on the comparative example. Here, hatched areas 54 and 55 indicate the distribution of the measurement point cloud of the structure used to generate the voxel data. Furthermore, dashed frame 63 indicates the variance of the point cloud within voxel B1 indicated by the covariance matrix recorded as voxel data, and dashed frame 64 indicates the variance of the point cloud within voxel B2 indicated by the covariance matrix recorded as voxel data.
[0069] In the position estimation based on the comparative example, voxel data is generated after removing the measurement point cloud representing vegetation, so that the dashed frame 63 representing the dispersion of the point cloud within voxel B1 is located at a position centered on the structure indicated by hatched area 54. On the other hand, in the present position estimation, the dashed frame 60 representing the dispersion of the point cloud within voxel B1 straddles the vegetation indicated by hatched area 50 and the structure indicated by hatched area 51. Furthermore, in the position estimation based on the comparative example, voxels B1 and B2 are treated with the same weight. On the other hand, in the present position estimation, voxel B1 is considered to be a vegetation voxel Bv, and the weighting value of voxel B1 is set to a smaller value than the weighting value of voxel B2, which is not a vegetation voxel Bv.
[0070] Here, when the vehicle-mounted device 1 acquires the measurement point cloud 40 represented by x marks in voxels B1 and B2 using the lidar 30, in this position estimation, the weighting value of voxel B1 is lower than the weighting value of voxel B2, so voxel data in voxel B2 is preferentially matched with the measurement point cloud 40. On the other hand, in the position estimation based on the comparative example, a weighting value is not set for each voxel, so matching between the voxel data and the measurement point cloud 40 is performed by applying equal weighting to the entire image (here, voxels B1 and B2).
[0071] The matching result when this position estimation is performed is indicated by arrow A3, and the matching result when position estimation based on the comparative example is indicated by arrow A4. In the position estimation based on the comparative example, the measurement point cloud of vegetation in voxel B1 is excluded when generating the voxel data, resulting in inaccurate matching between the measurement point cloud 40 in voxel B1, which includes vegetation as a measurement target, and the voxel data. Furthermore, in the position estimation based on the comparative example, weighting is not performed, so the overall matching accuracy is reduced due to the influence of inconsistencies between the voxel data in voxel B1 and the measurement point cloud 40.
[0072] On the other hand, in this position estimation, the measurement point cloud of vegetation in voxel B1 is not excluded when generating the voxel data, so matching between the measurement point cloud 40 in voxel B1, which includes vegetation as a measurement target, and the voxel data is performed appropriately. Note that because the vegetation in voxel B1 moves due to the influence of wind, etc., the matching accuracy in voxel B1 is lower than the matching accuracy in voxel B2. Therefore, if NDT matching is performed without weighting for each voxel, the overall matching accuracy will be reduced due to the influence of the matching accuracy of voxel B1. In contrast, in this position estimation, the weighting value for voxel B1 is set relatively low, so matching can be performed while suitably reducing the influence of the moving vegetation.
[0073] As described above, the data structure of the map data according to this embodiment includes, for each voxel, a mean vector and a covariance matrix related to the position of the object surface, and a weighting value related to the weight when using these for position estimation, and the weighting value for the vegetation voxel Bv is set to a lower value than the weighting value for a voxel that does not contain vegetation. The map data having this data structure is then suitably referenced by the vehicle-mounted device 1, which estimates the position of the vehicle, by weighting, for each voxel, the results of matching the voxel data with measurement information of the object measured by a measurement device such as the LIDAR 30 mounted on the vehicle.
[0074] The server device 2 according to this embodiment also executes a process of recognizing vegetation voxels Bv containing measurement points of vegetation from voxels containing measurement points of objects measured by a measurement device such as the LIDAR 30, and a process of generating map data that associates the mean vector, covariance matrix, etc. for each voxel with a weighting value when using these for position estimation. Here, the server device 2 sets the weighting value for the vegetation voxels Bv to be smaller than the weighting value for voxels that do not contain vegetation.
[0075] The vehicle-mounted device 1 according to this embodiment stores voxel data including the mean vector and covariance matrix for each voxel dividing the space and weighting values for determining the weights for using these for position estimation, and performs the following processes: acquiring measurement information about an object measured by a measurement device such as the lidar 30; comparing the measurement information with the voxel data for each voxel; and estimating the vehicle position by weighting the comparison result based on the weighting value. In this case, the weighting value for the vegetation voxel Bv is smaller than the weighting value for the voxel that does not contain vegetation.
[0076] <Second Example> The second embodiment differs from the first embodiment in that the vehicle-mounted device 1 performs dynamic object detection based on voxel data instead of or in addition to position estimation based on voxel data. The configurations of the map update system, the vehicle-mounted device 1, and the server device 2 in the second embodiment are the same as those shown in Figures 1 and 2, so their description will be omitted.
[0077] FIG. 8 shows an example of a schematic data structure of voxel data in the second embodiment.
[0078] The voxel data shown in FIG. 8 includes a voxel ID, voxel coordinates, a stationary obstacle flag, a vegetation flag, a mean vector, a covariance matrix, and a weighting value. Here, the stationary obstacle flag indicates whether a target voxel is a voxel where a stationary obstacle is mainly present and where dynamic object detection is not required (also referred to as a "stationary obstacle voxel"). A stationary obstacle voxel is an area where the entire or most part of the target voxel is composed of stationary obstacles and therefore where dynamic object detection is not required (no room for dynamic objects). Therefore, when detecting dynamic objects based on the output of the lidar 30, the vehicle-mounted device 1 identifies stationary obstacle voxels by referring to the stationary obstacle flag and performs dynamic object detection on voxels other than the stationary obstacle voxels. By limiting the detection target area for dynamic objects in this way, the load of the dynamic object detection process is suitably reduced while improving the detection accuracy of dynamic objects. The stationary obstacle flag is an example of "stationary object data."
[0079] In this embodiment, when generating the stationary obstacle flag, the server device 2 does not regard voxels determined to be vegetation voxels Bv as stationary obstacle voxels. This ensures that dynamic objects appearing near vegetation are detected. The server device 2 is an example of a "stationary object data generating device."
[0080] 9 is a flowchart showing the procedure of the voxel data generation process according to Example 2. The server device 2 executes the process of the flowchart shown in FIG.
[0081] First, the server device 2 refers to the measurement point cloud DB 24 that records the measurement data D1 transmitted from each vehicle-mounted device 1, and calculates the mean vector and covariance matrix of the measurement point for each voxel (step S401). Next, the server device 2 executes a vegetation determination process for determining whether each voxel including the measurement point is a vegetation voxel Bv (step S402). This vegetation determination process is executed, for example, based on the flowchart of FIG. 5.
[0082] Next, the server device 2 generates a stationary obstacle flag based on the vegetation determination result in step S402 (step S403). At this time, the server device 2 generates a stationary obstacle flag for the voxel determined to be a vegetation voxel Bv, indicating that the voxel is not a stationary obstacle voxel. This allows the server device 2 to effectively prevent dynamic objects from being overlooked due to regarding an area where a dynamic object may actually exist as a stationary obstacle voxel.
[0083] 9, the server device 2 may execute processing to exclude measurement point clouds that indicate dynamic objects from the measurement point clouds recorded in the measurement point cloud DB 24. For example, the server device 2 identifies measurement point clouds that form specific dynamic objects such as pedestrians or vehicles based on processing such as pattern matching based on shape, size, etc., and deletes the identified measurement point clouds from the measurement point cloud DB 24. The server device 2 may also set a stationary obstacle flag to indicate that voxels including measurement points that indicate dynamic objects to be excluded are not stationary obstacle voxels, so that the voxels are included in the detection target area for the dynamic object.
[0084] Fig. 10 is a flowchart showing the procedure of the dynamic object detection process according to Example 2. The server device 2 repeatedly executes the process of the flowchart shown in Fig. 10 while the vehicle is traveling, for example.
[0085] First, the vehicle-mounted device 1 acquires a cloud of measurement points obtained by measuring the surface of an object around the vehicle based on the output of the LIDAR 30 (step S501). Next, the vehicle-mounted device 1 acquires voxel data of voxels present around the vehicle position by referring to the map DB 10 based on the vehicle position (step S502). The vehicle position described above is a predicted vehicle position obtained by adding a travel distance and a change in orientation calculated based on the output of the sensor unit 13 to the estimated vehicle position one time before, as in the position estimation process of the first embodiment shown in FIG. 6. Then, the vehicle-mounted device 1 identifies stationary obstacle voxels from voxels including the measurement points acquired in step S501 by referring to the stationary obstacle flag included in the voxel data of each voxel (step S503). Then, the vehicle-mounted device 1 performs a dynamic object detection process excluding the stationary obstacle voxels from the detection target area (step S504). In other words, the vehicle-mounted device 1 regards the stationary obstacle voxels as areas where no dynamic objects appear, skips the dynamic object detection process, and performs the dynamic object detection process on the remaining voxels.
[0086] As described above, the server device 2 according to the second embodiment performs a process of detecting vegetation voxels Bv containing vegetation measurement points from voxels containing measurement points relating to objects measured by a measurement device such as a lidar 30, and a process of generating a stationary obstacle flag indicating that the area contains stationary obstacles, for voxels excluding at least the vegetation voxels Bv from the voxels containing the measurement points.
[0087] <Modification> The following describes preferred modifications of the first and second embodiments. The following modifications may be applied in combination to the above-described embodiments.
[0088] (Variation 1) The voxel data is not limited to a data structure including a mean vector and a covariance matrix as shown in Figures 3 and 8. For example, the voxel data may include point cloud data obtained by converting measurement data of a measurement and maintenance vehicle used to calculate the mean vector and covariance matrix into an absolute coordinate system. In this case, the on-board device 1 may estimate the vehicle position by applying other scan matching such as ICP (Iterative Closest Point) rather than by NDT scan matching.
[0089] (Variation 2) In the first embodiment, the voxel data shown in FIG. 3 has both weighting values and vegetation flags, but it may have only one of them.
[0090] For example, if the voxel data has a data structure that does not include a weighting value, the vehicle-mounted device 1 sets the weighting value used in step S307 of the position estimation process shown in Figure 6 to a predetermined value corresponding to the value of the vegetation flag. In this case, the vehicle-mounted device 1 sets the weighting value to be set when the vegetation flag is a value indicating a vegetation voxel Bv to a value smaller than the weighting value to be set when the vegetation flag is a value indicating a non-vegetation voxel Bv. As a result, the vehicle-mounted device 1 relatively reduces the degree of influence of the vegetation voxel Bv on position estimation, similar to when the voxel data has a data structure that includes a weighting value, thereby suitably improving the accuracy of position estimation. In this case, the vegetation flag is an example of "information for determining the weight."
[0091] (Variation 3) The vehicle may have a built-in function corresponding to the on-board device 1. In this case, an electronic control unit (ECU) of the vehicle executes a program stored in the memory of the vehicle to perform processing corresponding to that of the control unit 15 of the on-board device 1.
[0092] (Variation 4) In the second embodiment, the vehicle-mounted device 1 may exclude voxels containing only vegetation (i.e., voxels containing vegetation but not other stationary structures) from the stationary obstacle voxels, instead of excluding vegetation voxels Bv (i.e., voxels containing vegetation) from the stationary obstacle voxels. In this case, the vehicle-mounted device 1 regards voxels containing stationary structures in addition to vegetation as areas where no dynamic objects appear, and skips the dynamic object detection process.
[0093] (Variation 5) The vehicle-mounted device 1 may execute the vegetation determination process instead of the server device 2. In this case, for example, in the first embodiment, the vehicle-mounted device 1 determines the vegetation voxel Bv by executing the process of step S101 and the vegetation determination process of step S102 in FIG. 4 on point cloud data obtained by converting the measurement points output by the LIDAR 30 into an absolute coordinate system. Then, the vehicle-mounted device 1 includes information on the determined vegetation voxel Bv in the measurement data D1 and transmits the measurement data D1 to the server device 2. In this case, the server device 2 generates and updates weighting values and vegetation flags for the voxel data based on the measurement data D1 received from the vehicle-mounted device 1. Similarly, in the second embodiment, the vehicle-mounted device 1 determines the vegetation voxel Bv by executing the process of step S401 and the vegetation determination process of step S402 in FIG. 9 on point cloud data obtained by converting the measurement points output by the LIDAR 30 into an absolute coordinate system. Then, the vehicle-mounted device 1 includes information on the determined vegetation voxel Bv in the measurement data D1 and transmits the data to the server device 2. In this case, the server device 2 generates a stationary obstacle flag based on the measurement data D1 received from the vehicle-mounted device 1. [Explanation of symbols]
[0094] 1 Onboard device 2. Server device 10 Map DB 23 Distribution map DB 24 Measurement point cloud DB 11, 21 Communications Department 12, 22 Storage section 15, 25 Control section 13 Sensor section 14 Input section 16 Output section
Claims
1. For each divided area of space, Information indicative of the object; and information regarding a weight representing the reliability of the position estimation of the information indicating the object, a storage means for storing map data in which the weight for an area including vegetation is set to a value lower than the weight for an area including structures other than vegetation, which does not include vegetation; an estimation means for estimating a position of the moving body by weighting a result of comparing measurement information of the object measured by a measurement device mounted on the moving body with information indicating the object for each of the regions; An information processing device having the above.
2. the information indicating the object is information about a mean and a variance of a point cloud on the surface of the object in each of the regions; The information processing apparatus according to claim 1 , wherein the information processing apparatus calculates an evaluation value regarding the matching based on the measurement information of the object, the mean, the variance, and the weight.
3. The information processing apparatus according to claim 1 or 2, wherein the area including vegetation is an area in which the object is determined to be neither a columnar body nor a plane based on measurement points of the object within the area.
4. a recognition means for recognizing an area including measurement points of vegetation from an area including measurement points of an object measured by a measurement device, the area being a partitioned region of space; a map generating means for generating map data in which information indicating the object for each of the regions is associated with a weight representing a reliability of position estimation of the information regarding the position, The map generating device, wherein the map generating means sets the weight for the area including vegetation to be smaller than the weight for the area including structures other than vegetation that does not include vegetation.
5. For each divided area of space, Information indicative of the object; and information regarding a weight representing the reliability of the position estimation of the information indicating the object, A storage device having storage means for storing map data in which the weight for an area including vegetation is set to a lower value than the weight for an area of structures other than vegetation that does not include vegetation.
6. For each divided area of space, Information indicative of the object; and information regarding a weight representing the reliability of the position estimation of the information indicating the object, A control method executed by a computer that references map data, wherein the weight for an area including vegetation is set to a value lower than the weight for an area including structures other than vegetation that does not include vegetation, an estimation step of estimating the position of the moving body by weighting the result of comparing measurement information of the object measured by a measuring device mounted on the moving body with information indicating the object for each of the regions; A control method comprising:
7. For each divided area of space, Information indicative of the object; and information regarding a weight representing the reliability of the position estimation of the information indicating the object, a program to be executed by a computer that references map data, the program comprising: a weight for an area including vegetation set to a value lower than a weight for an area including structures other than vegetation that does not include vegetation; an estimation means for estimating the position of the moving body by weighting the result of comparing measurement information of the object measured by a measuring device mounted on the moving body with information indicating the object for each of the regions; A program that causes the computer to function as a
Citation Information
Patent Citations
Passage detection device, method and program
JP2012194872A
Autonomous mobile system
WO2013076829A1
Position estimation device, position estimation method, and control program
WO2017168472A1