Information processor, control method, program, and recording medium

By detecting and removing water surface reflection data on ship lidar, the problem of pseudo-detection data caused by water surface reflection affecting the accuracy of self-position estimation is solved, and a higher self-position estimation accuracy is achieved.

JP2025039580AInactive Publication Date: 2025-03-21PIONEER IP +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024224130
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-12-19
Publication Date
2025-03-21
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

When using lidar on ships, pseudo-detection data caused by water surface reflection is difficult to identify, affecting the accuracy of self-position estimation.

Method used

By obtaining the water surface position, detecting the water surface reflection data, and determining it as pseudo-detection data, thereby improving the accuracy of self-position estimation.

Benefits of technology

Effectively identifying and removing water surface reflection data, improving the accuracy of self-position estimation and reducing the impact of false detection data on the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025039580000001_ABST
    Figure 2025039580000001_ABST
Patent Text Reader

Abstract

To provide an information processor capable of accurately determining error detection data contained in point group data.SOLUTION: A controller 13 of an information processor 1 acquires a water level position and detects data indicating a position below the water level position among point group data generated by a rider 3 provided on a subject vessel as water surface reflection data. Then, the controller 13 determines the water surface reflection data as error detection data.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to processing of measurement data on ships. [Background technology]

[0002] Conventionally, a technique for estimating the self-position of a moving object by collating (matching) shape data of a surrounding object measured by a measuring device such as a laser scanner with map information in which the shapes of the surrounding objects are stored in advance has been known. For example, Patent Document 1 discloses an autonomous moving 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 and measurement data for voxels in which a stationary object exists. Patent Document 2 discloses a scan matching method that estimates the self-position by collating voxel data including the average vector and covariance matrix of a stationary object for each voxel with point cloud data output by a lidar. Furthermore, Patent Document 3 discloses a method for controlling the attitude of a ship to be changed so that light irradiated from a lidar is reflected by objects around the docking position and received by the lidar in an automatic docking device that automatically docks a ship. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication WO2013 / 076829 [Patent Document 2] International Publication WO2018 / 221453 [Patent Document 3] JP 2020-59403 A Summary of the Invention [Problem to be solved by the invention]

[0004] Recently, automatic ship-steering 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-steering. In the open sea, there are few structures in the vicinity, so self-location can be determined using the Global Navigation Satellite System (GNSS). However, in urban coasts and rivers, where there are high-rise buildings nearby, the reception environment for GNSS radio waves is poor due to a reduced number of receiving satellites and multipath, and accurate positioning is often not possible. Therefore, in the case of ships, the above-mentioned high-precision position estimation using scan matching is preferably applied.

[0005] On the other hand, when a lidar is installed on a ship, part of the lidar's downward beam is reflected by the water surface, resulting in detection data from locations that do not actually exist. Such data due to water surface reflection is false detection (false alarm) data, which affects the accuracy of self-localization. However, it is not possible to distinguish from the lidar detection signal whether the data is inaccurate due to water surface reflection or accurate data.

[0006] The present disclosure has been made to solve the above-mentioned problems, and has as its main objective to provide an information processing device capable of accurately determining erroneous detection data contained in point cloud data. [Means for solving the problem]

[0007] The claimed invention is An acquisition means for acquiring a water surface position; a detection means for detecting data indicating a position below the water surface position from among point cloud data generated by a measurement device installed on the ship, as water surface reflection data generated by light emitted by the measurement device being reflected by the water surface; A determination means for determining that the water surface reflection data is erroneous detection data; The information processing device has the following features.

[0008] The claimed invention also includes: A computer-implemented control method, comprising: Obtain the water surface position, Detecting data indicating a position below the water surface position from among point cloud data generated by a measuring device installed on the ship as water surface reflection data generated by light emitted by the measuring device being reflected on the water surface; determining that the water surface reflection data is erroneous detection data; It is a control method.

[0009] The claimed invention also includes: Obtain the water surface position, Detecting data indicating a position below the water surface position from among point cloud data generated by a measuring device installed on the ship as water surface reflection data generated by light emitted by the measuring device being reflected on the water surface; The program causes a computer to execute a process of determining that the water surface reflection data is erroneous detection data. [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 information processing device. [Diagram 3] 2 is a diagram showing a self-position to be estimated by a self-position estimation unit in three-dimensional orthogonal coordinates. FIG. [Figure 4] 2 shows an example of a schematic data structure of voxel data. [Diagram 5] 1A is an overhead view of a target ship showing an example of the arrangement of lidars provided on the target ship, and FIG. 1B is a view of the target ship approaching a structure, observed from the rear. [Figure 6] 1A is a rear view of a target vessel clearly indicating voxels for which voxel data exists, and (B) is a rear view of the target vessel clearly indicating a dashed line representing the height position of the lidar and a dashed line representing the water surface position. [Figure 7] 4 is an example of a functional block of a self-position estimation unit. [Figure 8] 10 is an example of a flowchart illustrating a procedure of a self-position estimation process. [Figure 9]13 shows the result of vehicle position estimation in a comparative example in which NDT position estimation is performed without removing water surface reflection data. [Figure 10] 13 shows the result of vehicle position estimation in a comparative example in which NDT position estimation is performed without removing water surface reflection data. [Figure 11] 11 shows a result of estimating a vehicle position according to an embodiment in which water surface reflection data is removed. [Figure 12] 11 shows a result of estimating a vehicle position according to an embodiment in which water surface reflection data is removed. [Figure 13] 13 is a diagram showing an outline of a water surface position estimation process in a modified example. FIG. [Figure 14] 13 is an example of a flowchart showing a procedure of a water surface position estimation process in a modified example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] According to a preferred embodiment of the present invention, the information processing device has an acquisition means for acquiring a water surface position, a detection means for detecting data indicating a position below the water surface position among point cloud data generated by a measuring device provided on the ship as water surface reflection data generated by light emitted by the measuring device being reflected by the water surface, and a determination means for determining that the water surface reflection data is false detection data. According to this aspect, the information processing device can suitably detect the water surface reflection data generated by light emitted by the measuring device being reflected by the water surface, and can accurately perform determination of false detection data.

[0012] In one aspect of the information processing device, the acquiring means determines the water surface position based on a height position represented by a measurement point estimated to represent a water surface position among the measurement points constituting the point cloud data. With this aspect, the information processing device can accurately determine the water surface position used for detecting water surface reflection data.

[0013] In another aspect of the information processing device, the acquisition means determines whether or not the water surface position used by the detection means needs to be updated based on the variance value of the height position represented by the measurement point estimated to represent the water surface position. With this aspect, the information processing device updates the water surface position only when the reliability of the measurement point for calculating the water surface position is high, thereby enabling highly accurate detection of erroneous detection data.

[0014] In another aspect of the information processing device, when a variance value of the height direction positions of measurement points estimated to represent the water surface position is less than a predetermined threshold, the acquisition means updates the water surface position used by the detection means based on the average value of the height direction positions of the measurement points, and when the variance value is equal to or greater than the threshold, the acquisition means does not update the water surface position used by the detection means. This allows the information processing device to accurately update the water surface position used to detect water surface reflection data using the average value and variance value of the height direction positions of measurement points estimated to represent the water surface position.

[0015] In another aspect of the information processing device, the information processing device further includes a reliability index calculation means for calculating a reliability index of the position estimation when the position of the ship is estimated by comparing voxel data representing the position of the object for each voxel, which is a unit area, with data obtained by removing the water surface reflection data from the point cloud data based on the provisional position of the water surface position, and the acquisition means estimates the water surface position based on the reliability index for the plurality of provisional positions. According to this aspect, the validity of the provisional position of the water surface position is determined based on the reliability index, and the provisional position with the high reliability index can be suitably estimated as the water surface position.

[0016] In another aspect of the information processing device, the acquiring means determines, as the water surface position, a position that is offset from the estimated position of the water surface calculated based on the point cloud data. With this aspect, it is possible to more reliably detect water surface reflection data by taking into account the uncertainty of the estimated position of the water surface.

[0017] In another aspect of the information processing device, the information processing device further includes a filter means for determining the water surface position to be used by the detection means based on the latest predetermined number of water surface positions acquired by the acquisition means. With this aspect, the information processing device can appropriately determine the water surface position to be used in detecting the water surface reflection data according to the acquisition status of the past water surface positions.

[0018] In another aspect of the information processing device, the information processing device further includes a position estimation unit that estimates the position of the ship based on a comparison between voxel data representing the position of an object for each voxel, which is a unit area, and data obtained by removing the water surface reflection data from the point cloud data. With this aspect, the information processing device can perform position estimation using voxel data with high accuracy based on the point cloud data from which erroneous detection data has been removed.

[0019] In another aspect of the information processing device, the position estimation means excludes voxel data of voxels existing below the water surface position from the objects of the comparison. With this aspect, the information processing device can suppress unnecessary comparison of voxel data below the water surface that cannot actually be measured, and can preferably realize suppression of processing load and reduction of position accuracy.

[0020] According to another preferred embodiment of the present invention, there is provided a control method executed by a computer, which acquires a water surface position, detects data indicating a position below the water surface position among point cloud data generated by a measuring device installed on a ship as water surface reflection data generated by light emitted by the measuring device being reflected by the water surface, and judges the water surface reflection data to be false detection data. By executing this control method, the computer can suitably detect water surface reflection data generated by light emitted by the measuring device being reflected by the water surface, and accurately judge false detection data.

[0021] According to yet another preferred embodiment of the present invention, the program causes a computer to execute a process of acquiring a water surface position, detecting data indicating a position below the water surface position among point cloud data generated by a measuring device installed on the ship as water surface reflection data generated by light emitted by the measuring device being reflected by the water surface, and determining that the water surface reflection data is false detection data. By executing this program, the computer can preferably detect water surface reflection data generated by light emitted by the measuring device being reflected by the water surface, and accurately determine false detection data. Preferably, the program is stored in a storage medium. EXAMPLES

[0022] 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).

[0023] (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 ship, which is a moving body, and a sensor group 2 mounted on the ship. Hereinafter, the ship that moves together with the information processing device 1 will also be referred to as the "target ship."

[0024] The information processing device 1 is electrically connected to the sensor group 2, and estimates the position (also called "self-position") of the target ship on which the information processing device 1 is installed based on the output of various sensors included in the sensor group 2. Then, the information processing device 1 performs driving assistance such as automatic driving control of the target ship based on the result of estimating the self-position. Driving assistance also includes docking assistance such as automatic docking. Here, "docking" includes not only docking the target ship at a quay, but also docking the target ship at a structure such as a pier. The information processing device 1 may be a navigation device installed on the target ship, or an electronic control device built into the ship.

[0025] 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 below. The information processing device 1 estimates, for example, the planar position, height position, yaw angle, pitch angle, and roll angle of the target ship through NDT scan matching. Note that unless otherwise specified, the self-position also includes the attitude angle such as the yaw angle of the target ship.

[0026] The sensor group 2 includes various external and internal sensors provided on the target ship. 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 ship, a Global Positioning Satellite (GPS) receiver 5, and an Inertial Measurement Unit (IMU) 6 that measures the acceleration and angular velocity of the target moving body (target ship) in three axial directions.

[0027] 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 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. The speed sensor 4 may be, for example, a speedometer using Doppler or a speedometer using GNSS.

[0028] Instead of the GPS receiver 5, the sensor group 2 may include a receiver that generates positioning results of a GNSS other than GPS.

[0029] (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.

[0030] The interface 11 performs an interface operation for sending and receiving data between the information processing device 1 and an external device. In this embodiment, the interface 11 acquires output data from each sensor of the sensor group 2, such as the lidar 3, the speed sensor 4, the GPS receiver 5, and the IMU 6, and supplies the data to the controller 13. The interface 11 also supplies, for example, a signal related to the control of the target ship generated by the controller 13 to each component of the target ship that controls the operation of the target ship. For example, the target ship includes a drive source such as an engine or an electric motor, a screw that generates a propulsive force in the forward direction based on the driving force of the drive source, a thruster that generates a lateral propulsive force based on the driving force of the drive source, and a rudder, which is a mechanism for freely determining the forward direction of the ship. During automatic operation such as automatic docking, the interface 11 supplies a control signal generated by the controller 13 to each of these components. In addition, when an electronic control device is provided in the target ship, the interface 11 supplies a control signal generated by the controller 13 to the electronic control device. The interface 11 may be a wireless interface such as a network adapter for wireless communication, or a hardware interface for connecting to an external device via a cable, etc. The interface 11 may also perform interface operations with various peripheral devices such as an input device, a display device, and a sound output device.

[0031] 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.

[0032] The memory 12 also stores a map DB 10 including the voxel data VD. In addition to the voxel data VD, the map DB 10 includes, for example, information on docking locations (including shores and piers) and information on waterways that ships can move through. The map DB 10 may be stored in an external storage device of 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 on 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.

[0033] 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.

[0034] 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 processes related to self-position estimation, driving assistance, and the like.

[0035] Moreover, functionally, the controller 13 has a self-position estimation unit 15. The controller 13 functions as an "acquisition means", a "detection means", a "determination means", a "filter means", a "position estimation means", a computer that executes a program, and the like.

[0036] 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.

[0037] (3) NDT Scan Matching Next, the position estimation based on NDT scan matching executed by the self-position estimation unit 15 will be described.

[0038] FIG. 3 is a diagram showing the self-position to be estimated by the self-position estimation unit 15 in three-dimensional orthogonal coordinates. As shown in FIG. 3, the self-position on a plane defined on the three-dimensional orthogonal coordinates of xyz is expressed by the coordinates "(x, y, z)", the roll angle "φ", the pitch angle "θ", and the yaw angle (azimuth) "ψ" of the target ship. Here, the roll angle φ is defined as the rotation angle around the traveling direction of the target ship, the pitch angle θ is defined as the elevation angle of the traveling direction of the target ship with respect to the xy plane, and the yaw angle ψ is defined as the angle between the traveling direction of the target ship and the x axis. The coordinates (x, y, z) are, for example, absolute positions corresponding to a combination of latitude, longitude, and altitude, or world coordinates 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, z, φ, θ, and ψ as estimation parameters.

[0039] 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.

[0040] 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.

[0041] "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.

[0042] 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)=[x n (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.

[0043]

number

[0044]

number

[0045] Next, an overview of NDT scan matching using the voxel data VD will be described.

[0046] Scan matching using NDT assuming a ship is based on the estimated parameters, which are the amount of movement in the horizontal plane (here, xy coordinates) and the direction of the ship. P=[t x , t y , t z , t φ , t θ , tψ ] T Here, "t x " is the amount of movement in the x direction, "t y " is the amount of movement in the y direction, "t z " is the amount of movement in the z direction, "t φ ” is the roll angle, “t θ ” is the pitch angle, “t ψ " indicates the yaw angle.

[0047] 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).

[0048]

number

[0049] Then, the self-location estimation unit 15 searches for voxel data VD associated with the point cloud data converted into an absolute coordinate system (also called a "world coordinate system") that is the same coordinate system as the map DB 10, and calculates the average vector μ n and the covariance matrix V n Using the above, the evaluation function value of voxel n (also called the "individual evaluation function value") "E n In this case, the self-position estimation unit 15 calculates an individual evaluation function value E n Calculate.

[0050]

number

[0051] 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 (5). The score value E is an index showing the compatibility of the matching.

[0052]

number

[0053]

number

[0054] (4) Water surface reflection data removal processing The self-position estimation unit 15 performs a water surface reflection data removal process to remove data (also called "water surface reflection data") generated by the LIDAR 3 receiving the emitted light of the LIDAR 3 reflected on the water surface from the point cloud data used to calculate the NDT position. As a result, the self-position estimation unit 15 regards water surface reflection data that represents an inaccurate location different from the actual location as noise data (also called false detection data or false alarm data) and appropriately removes it from the point cloud data used for position estimation, etc., to improve the accuracy of processing such as position estimation.

[0055] (4-1) Explanation of water surface reflection data First, the reason why water surface reflection data becomes erroneous detection data will be described with reference to FIG. 5(A) and FIG. 5(B).

[0056] Fig. 5(A) is an overhead view of a target ship showing an example of the arrangement of LIDARs 3 installed on the target ship. In Fig. 5(A), as an example, four LIDARs 3 are installed on the target ship, and each LIDAR 3 emits pulsed light in a predetermined angle range while changing the angle. Note that the number and arrangement of the LIDARs 3 are not limited to the example shown in Fig. 5(A).

[0057] FIG. 5(B) is a view of the target ship approaching the structure 50, observed from behind. If there is no object on the water surface, most of the emitted light directed downward will not return to the LIDAR 3, but some of the light will return to the LIDAR 3 and be detected as data. FIG. 5(B) clearly shows the trajectory of the light emitted by the LIDAR 3 and the measurement positions "P1" to "P10" represented by the measurement points that make up the point cloud data generated by the LIDAR 3. In addition, positions "Pa8" to "Pa10" represent the positions where the light of the LIDAR 3 used to measure the measurement positions P8 to P10 is irradiated on the structure 50 after being reflected by the water surface.

[0058] As described above, a portion of the light emitted from the lidar 3 facing downward may be reflected by the water surface and return to the lidar 3. In this case, (a) The light reflected from the water surface returns directly to LIDAR 3 and is received by LIDAR 3. (b) The pattern in which light reflected from the water surface hits a structure, some of the scattered light is reflected again from the water surface, and is received by LIDAR 3. The point cloud data of the LIDAR 3 generated by these patterns becomes water surface reflection data.

[0059] 5(B) correspond to positions measured based on pattern (a). In this case, water surface reflection data is generated by the lidar 3 as if there were objects at the water surface positions corresponding to the measurement positions P1 to P3.

[0060] Moreover, measurement positions P8 to P10 are positions measured by the light of the LIDAR 3 being reflected at positions Pa8 to Pa10 of the structure 50 and returning to the LIDAR 3, respectively, and correspond to positions measured based on pattern (b). In this case, the LIDAR 3 cannot recognize that the light has been reflected from the water surface, so the LIDAR 3 generates inaccurate water surface reflection data as if there is an object below the water surface.

[0061] On the other hand, the measurement positions P5 to P7 are positions measured by the lidar 3 receiving a portion of the scattered light of the light that is directly irradiated onto the structure 50 without being reflected by the water surface, and correspond to the surface position of the structure 50. Therefore, the point cloud data representing the measurement positions P5 to P7 is not erroneous detection data, but is data that accurately represents the actual position of the measured object.

[0062] Next, the correspondence between the water surface reflection data and the voxel data will be described with reference to Fig. 6(A) Fig. 6(A) is a diagram clearly showing the voxels in Fig. 5(B) for which voxel data exists.

[0063] Here, the water surface reflection data corresponding to measurement positions P1 to P3 generated by pattern (a) is not originally the target of NDT scan matching, but since there is no voxel data at those positions, the target voxel is not found in the matching process and is not used to calculate the NDT position. In this way, although the water surface reflection data based on pattern (a) does not affect the NDT scan matching performance, it generates unnecessary processing in the matching process in NDT scan matching.

[0064] On the other hand, the water surface reflection data based on pattern (b) corresponding to measurement positions P8 to P10 may be used to calculate the NDT position because there are voxels with nearby voxel data, and the data and voxels may be associated with each other. Therefore, the water surface reflection data based on pattern (b) causes the NDT matching performance to deteriorate. Specifically, although it would be sufficient to calculate the NDT position based on the point cloud data corresponding to measurement positions P4 to P7, by using the water surface reflection data corresponding to measurement positions P8 to P10, the data is associated with nearby voxels and used in the calculation, which causes an error in the NDT position.

[0065] In addition, voxel data corresponding to the coast is basically created at low tide. By creating it at low tide, voxels are created as far below the quay as possible. This ensures that voxel data that can be associated with point cloud data exists regardless of the tide level during operation.

[0066] (4-2) Overview of water surface reflection data removal process Next, an overview of the water surface reflection data removal process will be described with reference to Fig. 6(B). Fig. 6(B) is a diagram showing a dashed line 51 representing the height position of the lidar 3 and a dashed line 52 representing the water surface position in Fig. 6(A).

[0067] The self-position estimation unit 15 acquires a plurality of pieces of water surface reflection data based on pattern (a) (data corresponding to measurement positions P1 to P3 in FIG. 6(B)) and calculates the height from the lidar 3 to the water surface (also called "water surface height Hw") by averaging the z components. The self-position estimation unit 15 then regards data located below the water surface height Hw calculated above (data corresponding to measurement positions P8 to P10 in FIG. 6(B)) as water surface reflection data (more specifically, water surface reflection data based on pattern (b)) for the point cloud data near the coast. The self-position estimation unit 15 then determines that the point cloud data considered to be water surface reflection data is false detection data and excludes it from the target of NDT scan matching. In this case, the self-position estimation unit 15 also determines that the water surface reflection data based on pattern (a) used to calculate the water surface height Hw is false detection data and excludes it from the target of NDT scan matching.

[0068] This allows the self-position estimation unit 15 to avoid inaccurate data being used for matching when calculating the NDT position, and allows the calculation process of the NDT position to be performed using only correct data. Also, since the ship floats on the water surface, the amount of the ship sinking into the water changes depending on the number of passengers and the amount of cargo, and even if the water surface height Hw changes, the self-position estimation unit 15 can accurately calculate the water surface height Hw.

[0069] (4-3) Functional blocks Fig. 7 is an example of a functional block of the self-position estimation unit 15. As shown in Fig. 7, the self-position estimation unit 15 has a dead reckoning block 21, a coordinate conversion block 22, a water surface position data extraction block 23, a height direction processing block 24, a water surface position calculation block 25, a filter block 26, a water surface reflection data removal block 27, and an NDT position calculation block 28.

[0070] The dead reckoning block 21 calculates the DR position based on the signal output by the sensor group 2. Specifically, the dead reckoning block 21 uses the moving speed and angular velocity of the target ship based on the output of the speed sensor 4 and the IMU 6, etc., to obtain the moving distance and azimuth change from the previous time. Then, the dead reckoning block 21 calculates the estimated self-position X at time k-1, which is the processing time immediately before the current processing time k. ^ DR position X at time k, which is calculated by adding the movement distance and direction change from the previous time to (k-1) 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 - (k). The estimated self-position X at time k-1 immediately after the start of self-position estimation ^ If (k-1) does not exist, the dead reckoning block 21 determines the DR position X based on the signal output by the GPS receiver 5, for example. DR (k) is defined.

[0071] The coordinate transformation block 22 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 22 performs coordinate transformation of the point cloud data at time k, for example, based on the predicted self-position output by the dead reckoning block 21 at time k. Note that the process of transforming point cloud data in a coordinate system based on a LIDAR installed on a moving body (a ship in this embodiment) 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.

[0072] The water surface position data extraction block 23 extracts data (also called "water surface position data") representing the water surface position to be used as a sample for calculating the water surface height Hw from the point cloud data output by the coordinate transformation block 22. In this case, the water surface position data extraction block 23 acquires information on the height of the water surface position from a server device that provides information on the absolute height (altitude) of the water surface position, for example, and extracts measurement points that represent heights within a predetermined range from the absolute height of the water surface position identified based on the acquired information, as the above-mentioned water surface position data. For example, it is possible to grasp the water surface position by acquiring tide level information provided by the Japan Meteorological Agency, etc.

[0073] The height direction processing block 24 calculates the average value and variance value of the z direction positions (z coordinate values) represented by each measurement point extracted by the water surface position data extraction block 23. Then, the water surface position calculation block 25 calculates the current water surface position based on the average value and variance value calculated by the height direction processing block 24.

[0074] Specifically, when the variance value calculated by the height direction processing block 24 is smaller than a predetermined threshold, the water surface position calculation block 25 updates the water surface position using the average value calculated by the height direction processing block 24. On the other hand, when the variance value calculated by the height direction processing block 24 is equal to or larger than the predetermined threshold, the water surface position calculation block 25 determines that the reliability of the average value calculated by the height direction processing block 24 is low, and uses the previously calculated water surface position and does not update the water surface position.

[0075] Here, we will provide additional explanations about the processing of the height direction processing block 24 and the water surface position calculation block 25. In general, when the variance value of the z coordinate values ​​represented by each measurement point extracted by the water surface position data extraction block 23 is large, it is highly likely that this corresponds to cases where waves have become large due to the passage of another ship, or where floating objects are present. Taking the above into consideration, the water surface position calculation block 25 judges whether or not it is necessary to update the water surface position based on the variance value calculated by the height direction processing block 24.

[0076] The filter block 26 determines the current water surface position by averaging or filtering the water surface position calculated by the water surface position calculation block 25 with the water surface position calculated in the past. In this case, for example, the filter block 26 calculates the average value (which may be a weighted average considering the proximity to the current time) of the most recent predetermined number of water surface positions calculated in the past by the water surface position calculation block 25 and the water surface position calculated by the water surface position calculation block 25 at the current processing time as the current water surface position. In another example, when the difference between the average of the most recent predetermined number of water surface positions calculated in the past by the water surface position calculation block 25 and the water surface position calculated by the water surface position calculation block 25 at the current processing time is equal to or greater than a predetermined value, the filter block 26 determines that the reliability of the water surface position calculated by the water surface position calculation block 25 at the current processing time is low. In this case, the filter block 26 does not adopt the water surface position calculated by the water surface position calculation block 25 at the current processing time, and regards the water surface position at the previous time as the current water surface position. In this way, the filter block 26 can determine an appropriate water surface position based on a predetermined number of latest water surface positions calculated by the water surface position calculation block 25.

[0077] Furthermore, in order to reliably remove erroneous detection data, the water surface position calculation block 25 or the filter block 26 may provide an offset to set the water surface position to be a predetermined distance above the set water surface position. This offset is stored in advance, for example, in the memory 12. In this case, the water surface position calculation block 25 or the filter block 26 determines the value obtained by adding the offset stored in advance in the memory 12 to the water surface position determined by the above-mentioned calculation as the water surface position to be output to the next processing block.

[0078] The filter block 26 is not essential and does not have to be provided.

[0079] The water surface reflection data removal block 27 judges each measurement point of the point cloud data representing a position (i.e., a position with the same or lower z coordinate value) below the water surface position supplied from the filter block 26 (including the same height, the same applies below) to be water surface reflection data, and removes the judged water surface reflection data from the point cloud data. Note that the water surface reflection data removal block 27 may also regard the water surface position data extracted by the water surface position data extraction block 23 as water surface reflection data, and may remove it from the point cloud data to be supplied to the NDT position calculation block 28. This allows the water surface reflection data removal block 27 to accurately identify the water surface reflection data corresponding to the pattern (a) and the pattern (b), respectively, and remove it from the data used by the NDT position calculation block 28.

[0080] The NDT position calculation block 28 calculates the NDT position based on the point cloud data after the water surface reflection data is removed, which is supplied from the water surface reflection data removal block 27. In this case, the NDT position calculation block 28 matches the point cloud data in the world coordinate system supplied from the water surface reflection data removal block 27 with the voxel data VD expressed in the same world coordinate system, thereby associating the point cloud data with the voxels. Then, the NDT position calculation block 28 calculates an individual evaluation function value based on equation (4) for each voxel associated with the point cloud data, and calculates an estimated parameter P that maximizes the score value E(k) based on equation (5). Then, the NDT position calculation block 28 calculates the DR position X output by the dead reckoning block 21 based on equation (6). 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 28 calculates the NDT position X NDT In this case, the NDT position calculation block 28 calculates the NDT position X^(k) based on the point cloud data from which the water surface reflection data, which is erroneous detection data, has been removed. NDT (k) can be calculated with high accuracy. In addition, in the correspondence between the point cloud data and the voxels, the water surface reflection data, which is erroneous detection data, is excluded from the correspondence, so that the processing load is suitably reduced.

[0081] Generally, a ship is subject to pitching, and height fluctuations and attitude changes become error factors when calculating the water surface position. Therefore, in FIG. 7, the point cloud data generated by the LIDAR 3 is converted to the world coordinate system by the coordinate conversion block 22, and then the water surface position data is extracted by the water surface position data extraction block 23. Alternatively, the water surface reflection data may be removed from the point cloud data generated by the LIDAR 3 without performing coordinate conversion to the world coordinate system. In that case, the point cloud data generated by the LIDAR 3 is input to the water surface position data extraction block 23 without passing through the coordinate conversion block 22. After that, the data passes through the height direction processing block 24, the water surface position calculation block 25, the filter block 26, and the water surface reflection data removal block 27, and after removing the water surface reflection data, the data is input to the coordinate conversion block 22 and converted to the world coordinate system. In this case, the influence of the pitching of the ship can be reduced by making the filter block 26 have a longer filter time constant.

[0082] (5) Processing flow Fig. 8 is an example of a flowchart showing the procedure of the 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. 8 when it becomes necessary to perform self-location estimation, such as when the power is turned on.

[0083] First, immediately after starting the self-position estimation process, the self-position estimation unit 15 calculates a predicted self-position from the GPS positioning result based on the data output by the GPS receiver 5 (step S11).

[0084] Next, the self-position estimation unit 15 executes dead reckoning based on the moving speed and angular velocity of the target ship detected based on the speed sensor 4 and the IMU 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).

[0085] Next, the self-position estimation unit 15 extracts water surface position data from the point cloud data converted to the world coordinate system in step S13 (step S14). Then, the self-position estimation unit 15 collects water surface position data in multiple frames (i.e., water surface position data obtained by scanning the LIDAR 3 over the most recent multiple cycles), and calculates the average and variance in the z direction when the number of water surface position data (the number of measurement points) reaches a predetermined number of data (step S15). Note that when the water surface position data does not reach the predetermined number of data, for example, the self-position estimation unit 15 regards the water surface position determined immediately before in step S17 as the current water surface position, and proceeds to the process of step S18.

[0086] Next, the self-position estimation unit 15 judges whether the variance value calculated in step S15 is less than a predetermined threshold value (step S16). If the variance value calculated in step S15 is less than the predetermined threshold value (step S16; Yes), the self-position estimation unit 15 updates the water surface position using the average value calculated in step S15 (step S17). On the other hand, if the variance value calculated in step S15 is equal to or greater than the predetermined threshold value (step S16; No), the self-position estimation unit 15 advances the process to step S18 without updating the water surface position. Note that the self-position estimation unit 15 may further perform averaging or filtering executed by the filter block 26 in FIG. 7 to determine the final water surface position.

[0087] Then, the self-position estimation unit 15 determines that data located below the determined water surface position is water surface reflection data (step S18). In this case, the self-position estimation unit 15 preferably also determines that the water surface position data extracted in step S14 is water surface reflection data. Then, the self-position estimation unit 15 excludes the data determined to be water surface reflection data from the point cloud data to be subjected to NDT processing (step S19).

[0088] Then, the self-position estimation unit 15 calculates the DR position X DR By performing the NDT matching process after removing the water surface reflection data in step S19 with the initial value, the estimated self-position X^ is obtained.NDT (Step S20). Also, immediately before step S20, the self-position estimation unit 15 may perform downsampling on the point cloud data after the water surface reflection data has been removed.

[0089] Next, the self-location estimation unit 15 judges whether or not the self-location estimation process should be ended (step S21). If the self-location estimation unit 15 judges that the self-location estimation process should be ended (step S21; Yes), the process of the flowchart is ended. On the other hand, if the self-location estimation unit 15 continues the self-location estimation process (step S21; No), the process returns to step S12, and the self-location estimation unit 15 uses the estimated self-location X^ calculated in step S20 to estimate the self-location at the next processing time.

[0090] (6) Considerations based on the experimental results Next, experimental results regarding the above-described embodiment will be considered.

[0091] The applicant performed NDT position estimation by matching coastal voxel data (ND map) created in advance for a certain waterway with point cloud data obtained by a lidar installed on a ship in operation. In this experiment, a long-range (100m) all-around (horizontal 360 degrees) type lidar with an operating frequency of 10Hz (period 100ms) was used. In addition, for accuracy evaluation, the positioning results of RTK-GPS were used as the correct position data.

[0092] In this experiment, downsampling is performed on the point cloud data obtained by the lidar. In this case, 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 in the NDT scan matching is 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-position estimation unit 15 increases the downsampling size at the next processing time by a predetermined rate (for example, 1.1 times) or a predetermined value, and when the number of corresponding measurement points is less than the lower limit of the target range, the self-position 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-position 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.

[0093] Fig. 9(A) to Fig. 9(E) and Fig. 10(A) to Fig. 10(F) show vehicle position estimation results according to a comparative example in which NDT position estimation is performed without removing water surface reflection data. Here, Fig. 9(A) shows the number of measurement points of point cloud data before downsampling, Fig. 9(B) shows the downsampling size, Fig. 9(C) shows the number of measurement points and the number of corresponding measurement points after downsampling, Fig. 9(D) shows the association ratio DAR (Data Association Ratio), and Fig. 9(E) shows the score value E. Also, Fig. 10(A) shows the reliability value "NRV (NDT Reliability Value)" of NDT scan matching, and Fig. 10(B) shows the reliability index "NRI (NDT Reliability Index)" of NDT scan matching normalized to the NRV to be in the range of 0 to 1. In addition, for the RTK-GPS positioning results, Figure 10(C) shows the error in the heading direction, Figure 10(D) shows the error in the lateral direction, Figure 10(E) shows the error in the vertical direction, and Figure 10(F) shows the error in the yaw angle.

[0094] Here, the correspondence ratio DAR is one of the indices of reliability of NDT scan matching, and represents the ratio (=number of corresponding measurement points / number of measurement points) of the measurement points of the point cloud data used in NDT scan matching that are associated with the voxel data VD (i.e., number of corresponding measurement points). In general, the lower the correspondence ratio DAR, the lower the position estimation accuracy by NDT scan matching tends to be.

[0095] In addition, the reliability value NRV and the reliability index NRI are indicators of the reliability of the NDT position, and the reliability value NRV is calculated by the following formula, further using the score value E and the correspondence ratio DAR, when the downsampling size is "DSS". NRV=DSS×E×DAR Furthermore, the reliability index NRI represents an index obtained by normalizing the reliability value NRV to fall within the range of 0-1.

[0096] Considering the experimental results for the comparative example, in the comparative example, since NDT scan matching is performed using point cloud data including water surface reflection data, there is a slight difference between the number of measurement points after downsampling and the number of corresponding measurement points, as shown in Fig. 9(C). As a result, the correspondence ratio DAR shown in Fig. 9(D) is about 0.75 at best. On the other hand, the errors shown in Figs. 10(C) to 10(F) are not very large and do not pose a problem.

[0097] 11(A) to 11(E) and 12(A) to 12(F) show the vehicle position estimation results according to the present embodiment in which NDT position estimation is performed by removing water surface reflection data. Here, FIG. 11(A) shows the number of measurement points of the point cloud data before downsampling, FIG. 11(B) shows the downsampling size, FIG. 11(C) shows the number of measurement points and the number of corresponding measurement points after downsampling, FIG. 11(D) shows the matching ratio DAR, and FIG. 11(E) shows the score value E. Also, FIG. 12(A) shows the reliability value NRV of NDT scan matching, and FIG. 12(B) shows the reliability index NRI. Also, for the RTK-GPS positioning results, FIG. 12(C) shows the error in the traveling direction, FIG. 12(D) shows the error in the lateral direction, FIG. 12(E) shows the error in the height direction, and FIG. 12(F) shows the error in the yaw angle. In this experiment, the information processing device 1 performs downsampling on the point cloud data after removing the water surface reflection data.

[0098] In this experimental result, the number of measurement points before downsampling shown in FIG. 11(A) is reduced compared to the comparative example by removing the water surface reflection data from the target of NDT scan matching. In addition, since the water surface reflection data, which is data that cannot be associated, is removed in advance, the number of measurement points after downsampling shown in FIG. 11(C) and the number of corresponding measurement points are close, and the association ratio DAR shown in FIG. 11(D) is 0.8 or more at best. In addition, the score value shown in FIG. 11(E) is also slightly larger (i.e., improved). Furthermore, although the errors shown in FIG. 12(C) to FIG. 12(F) are not significantly improved compared to the comparative example, the reliability index NRI shown in FIG. 12(B) is close to 1. Considering the above, it can be determined that the stability is improved in this embodiment compared to the comparative example.

[0099] (7) Variations Preferred modifications of the above-described embodiment will now be described. The following modifications may be combined and applied to these embodiments.

[0100] (Variation 1) The method of calculating the water surface height Hw is not limited to the calculation method based on the average (and variance) of the water surface position data in the z direction.

[0101] For example, the information processing device 1 receives an image of the target ship from an external device (such as a camera installed on a shore), analyzes the image, and recognizes the water surface position relative to the target ship, and calculates the water surface height Hw based on the recognized water surface position and the installation position of the LIDAR 3 on the target ship. In this case, the information processing device 1 may recognize the above-mentioned water surface position using an inference model that outputs an inference result regarding the water surface position when an image of a ship is input. This inference model is, for example, a model that has been learned in advance based on deep learning, and the learned parameters are stored in advance in the memory 12, etc. Note that the installation position of the LIDAR 3 on the target ship is stored in advance in the memory 12, etc. In another example, when a sensor for detecting the water surface position relative to the target ship is provided on the target ship, the information processing device 1 may calculate the water surface height Hw by recognizing the water surface position based on the output of the sensor.

[0102] (Variation 2) In addition to removing the water surface reflection data from the point cloud data, the information processing device 1 may exclude voxel data VD of voxels located below the water surface position (in the height direction) from targets for association with point cloud data in NDT scan matching.

[0103] Here, voxels below the estimated water surface position are below the water surface and are therefore not included in the self-position estimation. Taking the above into consideration, in this modified example, the information processing device 1 calculates the NDT position by excluding the voxel data VD of the above voxels from the targets for matching with the point cloud data (i.e., by considering them as not existing). This allows the information processing device 1 to omit unnecessary processing when matching the point cloud data with the voxels, and can suitably suppress a decrease in position estimation accuracy caused by incorrect matching.

[0104] (Variation 3) 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 used in calculating the mean vector and the covariance matrix as it is.

[0105] (Variation 4) The use of the point cloud data from which the water surface reflection data has been removed as false detection data is not limited to position estimation. Instead, the information processing device 1 may be used for various purposes such as detection of a docking location in docking assistance such as automatic docking, detection of an obstacle, etc. Even in this case, the information processing device 1 can suitably remove the false detection data and execute various processes using the point cloud data with high accuracy.

[0106] (Variation 5) The water surface position data extraction block 23 may estimate the water surface position based on the association ratio DAR, which is an index of the reliability of position estimation based on NDT scan matching, instead of determining the water surface position based on tide level information.

[0107] 13(A) to 13(D) are diagrams showing an overview of the water surface position estimation process in this modified example.

[0108] First, in the first step, the water surface position data extraction block 23 extracts the lowest one from the voxel data VD around the current position, sets its z coordinate as a provisional position, removes the point cloud data below it, performs NDT processing, and finds the correspondence ratio DAR (see Fig. 13(A)). In Fig. 13(A), the water surface position data extraction block 23 sets the z coordinate of the voxel V1 that is located at the lowest position around the current position as the provisional position, removes the measurement point P20 below voxel V1, and then performs NDT processing.

[0109] Next, in the second step, the water surface position data extraction block 23 sets a new tentative position slightly above the tentative position set in the first step (for example, a predetermined number of voxels above), excludes the data below this position, performs NDT processing, and finds the correspondence ratio DAR (see Figure 13(B)). The water surface position data extraction block 23 then determines whether the correspondence ratio DAR has improved from the first step. If the water surface position data extraction block 23 determines that the correspondence ratio DAR has improved, it sets the tentative position further up slightly, and based on the new tentative position, removes data, performs NDT processing, and calculates the correspondence ratio DAR (see Figure 13(C)).

[0110] Then, if the association ratio DAR has not changed (for example, if it has not improved, or if the changed ratio is less than a predetermined threshold), the water surface position data extraction block 23 determines that the water surface reflection data has been sufficiently removed, and estimates the previous tentative position as the water surface position. That is, the water surface position data extraction block 23 estimates the tentative position where the association ratio DAR does not change as the water surface position. For example, the water surface position data extraction block 23 updates the tentative position to the dashed line position shown in FIG. 13(D) because the association ratio DAR has improved when the dashed line position shown in FIG. 13(C) is used as the tentative position. Thereafter, the water surface position data extraction block 23 calculates the association ratio DAR based on the updated tentative position, and estimates the dashed line position shown in FIG. 13(C) as the water surface position because the calculated association ratio DAR has not changed from the previous association ratio DAR.

[0111] According to this method, the water surface position data extraction block 23 can estimate the water surface position without using tide level information. For example, in the case of a river upstream from the sea or when there is a large change in atmospheric pressure, there are situations in which the actual water surface position differs greatly from the tide level information, but even in such cases, it is possible to accurately estimate the water surface position. Note that this process does not need to be performed all the time, and can be performed initially, at regular intervals, or when the ship moves a lot.

[0112] FIG. 14 is an example of a flowchart showing the procedure of the water surface position estimation process in this modified example.

[0113] First, the water surface position data extraction block 23 initializes the association ratio DAR to 0 (step S31). Then, the water surface position data extraction block 23 extracts the lowest data "VD_min" from among the voxel data VD around the current position (for example, within a predetermined distance from the current position), and sets the z value "VD_min(z)" as the temporary position "z_tmp" (step S32). That is, the water surface position data extraction block 23 sets "z_tmp=VD_min(z)".

[0114] Next, the water surface position data extraction block 23 performs NDT processing by excluding data below the tentative position z_tmp from the point cloud data output by the LIDAR 3, and calculates the association ratio DAR (step S33). Then, the water surface position data extraction block 23 judges whether the association ratio DAR calculated in step S33 has improved from the previous association ratio DAR (step S34). Then, if the water surface position data extraction block 23 judges that the association ratio DAR calculated in step S33 has improved from the previous association ratio DAR (step S34; Yes), it sets a position obtained by raising the tentative position z_tmp by a predetermined amount "h" as a new tentative position z_tmp (step S36). That is, in this case, the water surface position data extraction block 23 calculates "z_tmp(present)=z_tmp(previous)+h" assuming that the previous tentative position is "z_tmp(previous)" and the updated tentative position is "z_tmp(present)". Then, the process returns to step S33.

[0115] On the other hand, if the water surface position data extraction block 23 determines that the association ratio DAR calculated in step S33 has not improved from the previous association ratio DAR (step S34; No), it sets the previous estimated position as the estimated water surface position (step S35). In this case, if the estimated water surface position is "z_est", the water surface position data extraction block 23 sets "z_est = z_tmp (previous)".

[0116] In this way, the water surface position data extraction block 23 determines the validity of each provisional position based on the reliability index calculated by setting multiple provisional positions for the water surface position. This makes it possible to suitably set a provisional position with a high reliability index as the estimated water surface position.

[0117] As described above, the controller 13 of the information processing device 1 according to this embodiment acquires the water surface position, and detects data indicating a position below the water surface position from among the point cloud data generated by the LIDAR 3 installed on the target ship as water surface reflection data generated by the light emitted by the LIDAR 3 being reflected by the water surface. Then, the controller 13 determines the water surface reflection data to be false detection data. This allows the information processing device 1 to perform various processes such as position estimation with high accuracy by suitably excluding the false detection data from the point cloud data generated by the LIDAR 3.

[0118] 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)).

[0119] 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]

[0120] 1. Information processing device 2 Sensor Group 3. Rider 4 Speed ​​Sensor 5 GPS receiver 6 IMU 10 Map DB

Claims

[Claim 1] Among the point cloud data generated by the measuring equipment installed on the ship, A detection means for detecting water surface reflection data that represents an inaccurate location different from the actual location; A determination means for determining that the water surface reflection data is erroneous detection data; An information processing device having the above configuration.

Citation Information

Patent Citations

  • Tracking processing device and tracking processing method

    JP2014089058A

  • Tracking object differentiation device, tracking object differentiation method, and tracking object differentiation program

    WO2020044915A1

  • Automated docking device

    JP2020059403A

  • Autonomous mobile system

    WO2013076829A1

  • Output device, control method, program, and storage medium

    WO2018221453A1