WO2024042662A1 - 障害物近接検知装置、障害物近接検知方法、及び障害物近接検知プログラム - Google Patents
障害物近接検知装置、障害物近接検知方法、及び障害物近接検知プログラム Download PDFInfo
- Publication number
- WO2024042662A1 WO2024042662A1 PCT/JP2022/031960 JP2022031960W WO2024042662A1 WO 2024042662 A1 WO2024042662 A1 WO 2024042662A1 JP 2022031960 W JP2022031960 W JP 2022031960W WO 2024042662 A1 WO2024042662 A1 WO 2024042662A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- point cloud
- cloud data
- point group
- obstacle
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 207
- 238000010276 construction Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 238000000034 method Methods 0.000 description 78
- 238000010586 diagram Methods 0.000 description 30
- 238000013500 data storage Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 244000144992 flock Species 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
- G08B21/24—Reminder alarms, e.g. anti-loss alarms
Definitions
- the disclosed technology relates to an obstacle proximity detection device, an obstacle proximity detection method, and an obstacle proximity detection program.
- Patent Document 1 discloses a three-dimensional space identifying device, method, and program that accurately identifies a three-dimensional space in which a detection target exists.
- Patent Document 2 discloses an equipment state detection method, a detection device, and a program that enable easy and accurate comparison and confirmation of the three-dimensional model and the actual equipment state without requiring operator skill. is disclosed.
- JP2018-97588A Japanese Patent Application Publication No. 2018-195240
- the utility pole when carrying out construction work such as newly erecting a utility pole, which is an example of a target object, the utility pole is often moved during the construction work. In this case, it is not preferable for the utility pole to be moved to be close to other obstacles.
- Patent Document 1 is a technology for detecting equipment around a road by analyzing a point group consisting of three-dimensional points included in a three-dimensional space where equipment around the road exists. Furthermore, the technology disclosed in Patent Document 2 generates 3D model data of equipment based on point cloud data of the equipment acquired by laser scanning, and based on this 3D model data, the thickness of poles and trees is This technology calculates the cable's angle of inclination, deflection, and minimum ground clearance of the cable.
- the disclosed technology has been made in view of the above points, and includes an obstacle proximity detection device, an obstacle proximity detection method, and an obstacle proximity detection device that can detect the proximity of a moving object and another obstacle in real time. and an obstacle proximity detection program.
- a first aspect of the present disclosure is an obstacle proximity detection device, which includes an acquisition unit that sequentially acquires three-dimensional point cloud data representing an outdoor structure acquired by a three-dimensional laser scanner; , a specifying unit that identifies first point cloud data representing a target object and second point cloud data representing an obstacle; a setting unit that sets a certain first detection area; and based on feature points extracted from the first point cloud data, the first point cloud data and the first detection area are moved in accordance with the movement of the feature points. If the moving unit overlaps with a part of the first detection area and a part of the second detection area that is the area around the second point cloud data, or if the moving part exists within the second detection area.
- the apparatus further includes an output unit that outputs an alert indicating the proximity of the target object and the obstacle when the number of point data of the first point group data exceeds a predetermined threshold value.
- a second aspect of the present disclosure is an obstacle proximity detection method, which sequentially acquires three-dimensional point cloud data representing an outdoor structure acquired by a three-dimensional laser scanner, and detects a target object from the three-dimensional point cloud data. and second point cloud data representing an obstacle, and based on the first point cloud data, a first detection area that is an area around the first point cloud data is determined. based on the feature points extracted from the first point cloud data, the first point cloud data and the first detection area are moved in accordance with the movement of the feature points, and one part of the first detection area is moved.
- a computer executes a process of outputting an alert indicating the proximity of the target object and the obstacle when the threshold value is greater than or equal to a predetermined threshold value.
- a third aspect of the present disclosure is an obstacle proximity detection program that sequentially acquires three-dimensional point cloud data representing an outdoor structure acquired by a three-dimensional laser scanner, and detects a target object from the three-dimensional point cloud data. and second point cloud data representing an obstacle, and based on the first point cloud data, a first detection area that is an area around the first point cloud data is determined. based on the feature points extracted from the first point cloud data, the first point cloud data and the first detection area are moved in accordance with the movement of the feature points, and one part of the first detection area is moved.
- a computer is caused to execute a process of outputting an alert indicating the proximity of the target object and the obstacle when the threshold value is equal to or higher than a predetermined threshold value.
- FIG. 1 is a block diagram showing an example of a hardware configuration of an obstacle proximity detection device according to an embodiment.
- FIG. 1 is a block diagram showing an example of a functional configuration of an obstacle proximity detection device according to an embodiment.
- FIG. 3 is a diagram showing the relationship between an obstacle proximity detection device and a three-dimensional laser scanner.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 3 is a diagram for explaining the operation of the obstacle proximity detection device according to the embodiment.
- FIG. 2 is a diagram for explaining a conventional technique.
- FIG. 2 is a diagram for explaining a conventional technique.
- FIG. 20 and 21 are diagrams for explaining the prior art.
- a technique is known in which an outdoor structure is modeled in three dimensions using a three-dimensional laser scanner (Mobile Mapping System: MMS) mounted on a vehicle.
- FIG. 20 shows scan lines and three-dimensional point cloud data acquired by MMS.
- MMS Mobile Mapping System
- S2 scan lines and 3-dimensional point cloud data are created in a space where 3-dimensional point cloud data does not exist.
- Create data S1 For example, in MMS, a three-dimensional model is generated by integrating those three-dimensional point group data. As a result, a three-dimensional model can be generated with high accuracy even if the three-dimensional point group data is rough.
- a three-dimensional model of an outdoor structure around the vehicle can be generated with high accuracy.
- a three-dimensional model of an outdoor structure a three-dimensional model of utility poles and cables as shown in FIG. 21 is generated.
- the utility pole When carrying out construction work such as erecting a new utility pole, which is an example of a target object, the utility pole is often moved during the construction. In this case, it is not preferable for the utility pole to be moved to be close to other obstacles.
- Patent Document 1 requires time to create scan lines and generate a three-dimensional model, so it is difficult to detect objects in real time.
- the technology disclosed in Patent Document 2 specifies a detection area in advance, and when a certain amount of three-dimensional point cloud data can be acquired, it is detected as an object and the behavior of the object is detected. It is difficult to detect the proximity and contact of two objects.
- the behavior of objects during construction is monitored, proximity or contact between objects being moved during construction and other obstacles is detected in real time, and construction workers are notified. .
- the hardware configuration of the obstacle proximity detection device 10 according to the present embodiment will be described.
- FIG. 1 is a block diagram showing an example of the hardware configuration of an obstacle proximity detection device 10 according to the present embodiment.
- the obstacle proximity detection device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input section 15, and a display section 16. , and a communication interface (I/F) 17.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- storage 14 an input section
- I/F communication interface
- Each component is communicably connected to each other via a bus 18.
- the CPU 11 is a central processing unit that executes various programs and controls various parts. That is, the CPU 11 reads a program from the ROM 12 or the storage 14 and executes the program using the RAM 13 as a work area. The CPU 11 controls each of the above components and performs various arithmetic operations according to programs stored in the ROM 12 or the storage 14. In this embodiment, the ROM 12 or the storage 14 stores an obstacle proximity detection program.
- the ROM 12 stores various programs and various data.
- the RAM 13 temporarily stores programs or data as a work area.
- the storage 14 is configured with an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
- the input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to perform various inputs to the own device.
- the display unit 16 is, for example, a liquid crystal display, and displays various information.
- the display section 16 may adopt a touch panel method and function as the input section 15.
- the communication interface 17 is an interface for the self-device to communicate with other external devices.
- a wired communication standard such as Ethernet (registered trademark) or FDDI (Fiber Distributed Data Interface)
- a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark) is used.
- a general-purpose computer device such as a server computer or a personal computer (PC) is applied to the obstacle proximity detection device 10 according to the present embodiment.
- FIG. 2 is a block diagram showing an example of the functional configuration of the obstacle proximity detection device 10 according to the present embodiment.
- the obstacle proximity detection device 10 includes a data storage section 100, an acquisition section 102, a specification section 104, a setting section 106, a movement section 108, and an output section 110 as functional configurations.
- Each functional configuration is realized by the CPU 11 reading out an obstacle proximity detection program stored in the ROM 12 or the storage 14, loading it into the RAM 13, and executing it.
- FIG. 3 is a diagram showing the relationship between the obstacle proximity detection device 10 and the three-dimensional laser scanner 20.
- the east-west direction is the x-axis
- the north-south direction is the y-axis
- the altitude is the z-axis.
- the three-dimensional laser scanner 20 sequentially acquires three-dimensional point cloud data of an outdoor structure and outputs the three-dimensional point cloud data to the obstacle proximity detection device 10.
- the obstacle proximity detection device 10 sequentially acquires three-dimensional point group data acquired by the three-dimensional laser scanner 20 and stores it in its own data storage unit 100.
- the data storage unit 100 sequentially stores three-dimensional point cloud data representing outdoor structures acquired by the three-dimensional laser scanner 20. Further, the data storage unit 100 stores various data necessary for executing the obstacle proximity detection process.
- FIG. 4 is a flowchart showing an example of the flow of processing by the obstacle proximity detection program according to the present embodiment.
- Processing by the obstacle proximity detection program is realized by the CPU 11 of the obstacle proximity detection device 10 writing the obstacle proximity detection program stored in the ROM 12 or storage 14 into the RAM 13 and executing it.
- the 3D laser scanner 20 sequentially acquires 3D point cloud data of outdoor structures including the new utility pole, and detects the proximity of obstacles.
- the detection device 10 detects the proximity of a utility pole and an obstacle will be described.
- the three-dimensional laser scanner 20 sequentially acquires three-dimensional point cloud data of outdoor structures including the new utility pole, and outputs it to the obstacle proximity detection device 10. Then, the obstacle proximity detection device 10 sequentially stores the three-dimensional point group data in the data storage unit 100. When the three-dimensional point cloud data starts to be stored in the data storage unit 100, the obstacle proximity detection device 10 executes the process shown in FIG. 4.
- step S100 in FIG. 4 the CPU 11 executes a utility pole point cloud identification process to identify three-dimensional point cloud data of a new utility pole from the three-dimensional point cloud data stored in the data storage unit 100.
- the utility pole point group identification process is realized as shown in FIG. 5 or 6.
- step S102 in FIG. 5 the CPU 11, as the acquisition unit 102, acquires the three-dimensional point cloud data stored in the data storage unit 100.
- step S104 the CPU 11, as the identifying unit 104, deletes an unnecessary range of three-dimensional point cloud data from the three-dimensional point cloud data acquired in step S102. For example, three-dimensional point group data at a certain distance or more from the measurement point where the three-dimensional laser scanner 20 is located is deleted as data in an unnecessary range.
- step S106 the CPU 11, as the specifying unit 104, acquires the angle a for dividing the three-dimensional point cloud data and the angle ⁇ of the utility pole.
- the angle ⁇ of the utility pole is, for example, a worker at a construction site manually inputting the angle ⁇ representing the inclination of the utility pole to the obstacle proximity detection device 10 .
- this angle ⁇ is the angle formed by the utility pole P and the z-axis on the xyz coordinates shown in FIG. If the target object is a utility pole under construction, it is assumed that the utility pole is placed on the ground, the utility pole is held by heavy equipment and suspended, or the utility pole is freestanding. The direction and angle that the object faces changes.
- the process in FIG. 5 is a process when the angle ⁇ is determined by the operator and input to the obstacle proximity detection device 10. Note that it is also possible to calculate the angle ⁇ using a known technique by inputting the distance from the three-dimensional laser scanner 20 to the bottom and top of the utility pole to the obstacle proximity detection device 10 in advance by the user. . Note that although the angle ⁇ of the utility pole can be obtained as described above, the direction in which the utility pole is tilted cannot be calculated.
- step S108 the CPU 11, as the specifying unit 104, divides the three-dimensional point cloud data according to the angle a (0 ⁇ a ⁇ 360) obtained in step S106.
- FIG. 7 shows a diagram for explaining the division of three-dimensional point group data according to the angle a.
- the three-dimensional point group data within a predetermined region R is divided according to the angle a on the xy plane on the xyz coordinates.
- P in FIG. 7 is three-dimensional point cloud data corresponding to the utility pole under construction.
- the data i divided for each angle a is an index for identifying data within the predetermined region R, and satisfies 1 ⁇ j ⁇ 360/a.
- the three-dimensional point group data within the predetermined region R is divided into eight regions, forming predetermined regions R1 to R8.
- each of these predetermined regions R1 to R8 is rotated by the angle ⁇ of the utility pole so that the three-dimensional point group data corresponding to the utility pole is aligned along the z-axis. Thereby, it is determined whether the three-dimensional point group data is a utility pole.
- the three-dimensional point group data within the predetermined region R3 is rotated by an angle ⁇ with the origin of the xyz coordinates as the starting point.
- the utility pole P has a shape along the z-axis.
- three-dimensional point group data of a utility pole P along the z-axis is projected onto the xy plane.
- FIG. 8 shows a diagram for explaining the processing of three-dimensional point group data according to this embodiment.
- the black circles in FIG. 8 represent three-dimensional point data.
- the three-dimensional point cloud data of the utility pole P along the z-axis is projected onto the xy plane
- the three-dimensional point cloud data is projected onto the xy plane as shown in A1 of FIG.
- the projection result is circular. Therefore, in this embodiment, it is determined whether the three-dimensional point group data is a utility pole depending on whether the projection result onto the xy plane obtained in this way is circular.
- the three-dimensional point cloud data is divided into groups G intersecting the z-axis, and a circular shape is detected for each group G (hereinafter, (also simply referred to as "circle detection").
- B1 in FIG. 8 also depicts a heavy machine M that grips the utility pole P.
- a known RANSAC process or the like is used for detecting circular shapes and linear shapes.
- the three-dimensional point cloud data when determining the three-dimensional point cloud data corresponding to the cable Ca existing between existing utility poles, the three-dimensional point cloud data is The three-dimensional point group data is projected onto a plane, and depending on whether the projection result is circular, it is determined whether the three-dimensional point group data is a cable.
- step S110 of FIG. 5 the CPU 11, as the specifying unit 104, sets data of one predetermined region (for example, data of the predetermined region R1, etc.) of the divided three-dimensional point group data. .
- step S112 the CPU 11, as the specifying unit 104, rotates the data in the predetermined area set in step S110 by an angle ⁇ . If the data in the predetermined area is three-dimensional point group data of utility poles, the data in the predetermined area after rotation will be in the direction along the z-axis.
- step S114 the CPU 11, as the specifying unit 104, divides the data of the predetermined area rotated in step S112 in areas intersecting the z-axis direction to generate a plurality of groups.
- step S116 the CPU 11, as the identifying unit 104, projects the three-dimensional point group data belonging to each of the plurality of groups generated in step S114 onto the xy plane.
- step S118 the CPU 11, as the identifying unit 104, detects a circular shape based on the projection results for each group obtained in step S116.
- step S120 the CPU 11, as the identifying unit 104, determines whether there are more than a predetermined threshold number of groups in which circles have been detected. If there are more than a predetermined threshold number of groups in which circles have been detected, the process moves to step S122. On the other hand, if the number of circles detected is less than the predetermined threshold, the process moves to step S124.
- step S122 the CPU 11, as the specifying unit 104, temporarily stores the data of the predetermined area set in step S110 in the data storage unit 100 as a utility pole candidate point group.
- step S124 the CPU 11, as the specifying unit 104, determines whether or not the processes in steps S110 to S122 have been executed for all the data in the predetermined areas divided in step S108. If the processes of steps S110 to S122 have been executed for all data in the predetermined area, the process moves to step S126. If there is data in a predetermined area that has not been processed in steps S110 to S122, the process returns to step S110.
- step S126 the CPU 11, as the identification unit 104, identifies the utility pole P by determining that the data in the predetermined area where the largest number of detected circular shapes is the utility pole point cloud data, which is an example of the first point cloud data.
- the utility pole point group identification process in step S100 in FIG. 4 is not limited to the process in FIG. 5, and may be realized by, for example, the process in FIG. 6.
- the utility pole point group data is specified without requiring input of the angle ⁇ between the z-axis on the xyz coordinates and the utility pole P.
- a feature point group cluster is, for example, a cluster of points of an object having characteristics such as a high reflection intensity or a unique shape among three-dimensional point group data.
- step S128 in FIG. 6 the CPU 11, as the identifying unit 104, generates an axis by connecting the two feature point clusters identified as both ends of the utility pole.
- step S130 the CPU 11, as the specifying unit 104, rotates the three-dimensional point group data so that the axis generated in step S128 is along the z-axis.
- step S132 the CPU 11, as the specifying unit 104, divides the rotated three-dimensional point group data in regions intersecting the z-axis direction to generate a plurality of groups.
- the utility pole point group data which is an example of the first point group data
- the utility pole point group data is specified from the three-dimensional point group data.
- the utility pole point group data may be specified using a method different from that shown in FIGS. 5 and 6.
- objects having highly reflective materials or structures are attached to utility poles or heavy machinery.
- objects with unique shapes are attached to utility poles or heavy equipment.
- the axis of the telephone pole is calculated according to the positions of the three-dimensional point cloud data of those objects. More specifically, for example, two objects with high reflectance are attached to the grip of heavy equipment.
- the object may be extracted from the three-dimensional point cloud data, the axis connecting the two objects is taken as the utility pole axis, and circle detection may be performed to identify the utility pole point cloud data.
- the utility pole point cloud data may be identified by performing circle detection on axes in all directions of the three-dimensional point cloud data.
- step S200 of FIG. 4 the CPU 11 executes a wall point cloud specifying process to specify three-dimensional point cloud data of a wall, which is an example of an obstacle, from the three-dimensional point group data.
- the wall surface point group identification process is realized as shown in FIG.
- step S202 in FIG. 9 the CPU 11, as the specifying unit 104, divides the input three-dimensional point group data in regions intersecting the z-axis direction to generate a plurality of groups.
- step S204 the CPU 11, as the specifying unit 104, projects the three-dimensional point group data belonging to each of the plurality of groups generated in step S202 onto the xy plane.
- step S206 the CPU 11, as the identifying unit 104, detects a linear shape based on the projection results for each group obtained in step S204.
- step S208 the CPU 11, as the identifying unit 104, determines whether there are more than a predetermined threshold of groups in which linear shapes have been detected. If there are more than a predetermined threshold number of groups in which linear shapes have been detected, the process moves to step S210. On the other hand, if the number of groups in which linear shapes have been detected is less than the predetermined threshold, the process is terminated.
- step S210 the CPU 11, as the specifying unit 104, stores the input three-dimensional point group data in the data storage unit 100 as wall point group data, which is an example of the second point group data.
- step S300 in FIG. 4 the CPU 11 executes a cable point cloud identification process to identify three-dimensional point cloud data of a cable, which is an example of an obstacle, from the three-dimensional point cloud data.
- the cable point cloud identification process is realized as shown in FIG.
- step S302 in FIG. 10 the CPU 11, as the specifying unit 104, obtains the angle b for dividing the input three-dimensional point group data of the target.
- step S304 the CPU 11, as the specifying unit 104, divides the three-dimensional point cloud data according to the angle b acquired in step S302.
- FIG. 11 shows a diagram for explaining the division of three-dimensional point group data according to angle b.
- the three-dimensional point group data within a predetermined region R is divided on the xy plane on the xyz coordinates according to the angle b.
- the three-dimensional point group data within the predetermined region R is divided into eight regions, forming predetermined regions R1 to R8.
- each of these predetermined regions R1 to R8 is rotated by an angle b around the z-axis so that the three-dimensional point group data corresponding to the cable is aligned along the x-axis. Thereby, it is determined whether the three-dimensional point group data is a cable.
- the three-dimensional point group data within the predetermined region R3 is rotated by an angle (b*j ⁇ b/2) around the z-axis.
- j is an index for identifying data within the predetermined region R, and satisfies 1 ⁇ j ⁇ 360/b.
- the 3D point cloud data within the rotated predetermined region R3 is projected onto the yz plane, and depending on whether the projection result is circular, it is determined whether the 3D point cloud data is a cable. judge.
- step S306 the CPU 11, as the specifying unit 104, sets data of one predetermined region (for example, data of the predetermined region R1, etc.) of the divided three-dimensional point group data.
- step S308 the CPU 11, as the specifying unit 104, rotates the data in the predetermined area set in step S306 by an angle (b*j ⁇ b/2) around the z-axis. If the data in the predetermined area is three-dimensional point group data of the cable Ca, the data in the predetermined area after rotation will be in the direction along the x-axis.
- step S310 the CPU 11, as the specifying unit 104, divides the data of the predetermined area rotated in step S308 in areas intersecting the x-axis direction to generate a plurality of groups.
- step S312 the CPU 11, as the identifying unit 104, projects the three-dimensional point group data belonging to each of the plurality of groups generated in step S310 onto the yz plane.
- step S314 the CPU 11, as the identifying unit 104, detects a circular shape based on the projection results for each group obtained in step S312.
- step S316 the CPU 11, as the identifying unit 104, determines whether there are more than a predetermined threshold number of groups in which circles have been detected. If there are more than a predetermined threshold number of groups in which circles have been detected, the process moves to step S318. On the other hand, if the number of circles detected is less than the predetermined threshold, the process moves to step S320.
- step S320 the CPU 11, as the specifying unit 104, determines whether or not the processes in steps S306 to S318 have been executed for all the data in the predetermined areas divided in step S304. If the processing in steps S306 to S318 has been executed for all data in the predetermined area, the process moves to step S322. If there is data in a predetermined area that has not been processed in steps S306 to S318, the process returns to step S306.
- step S322 the CPU 11, as the specifying unit 104, specifies the data of the predetermined area in which the largest number of circular shapes have been detected as a cable point group, which is an example of the second point group data, and specifies the cable.
- a cable point group which is an example of the second point group data
- the CPU 11 specifies the data of the predetermined area in which the largest number of circular shapes have been detected as a cable point group, which is an example of the second point group data, and specifies the cable.
- step S400 in FIG. 4 the CPU 11 executes a utility pole detection area setting process for setting a utility pole detection area, which is an example of the first detection area, on the utility pole point group data.
- the utility pole detection area setting process is realized as shown in FIG. 12 or 13.
- the central axis of the utility pole point group data is detected, and a utility pole detection area centered on the central axis is set.
- step S402 in FIG. 12 the CPU 11, as the setting unit 106, detects at least two circles from the utility pole point group data. For example, as a method for detecting a circle, the method described above is used.
- step S404 the CPU 11, as the setting unit 106, calculates the central axis of the utility pole point group data by connecting the centers of the two circles detected in step S402.
- step S406 the CPU 11, as the setting unit 106, sets the surrounding area where the distance from the center axis is a preset distance as the utility pole detection area, based on the center axis set in step S404.
- FIG. 14 shows a diagram for explaining the setting of the utility pole detection area.
- a utility pole detection area D2 of arbitrary size and shape is set around the central axis T of the utility pole point group data.
- the shape of the utility pole detection area is a rectangular parallelepiped, for example, from the central axis T of the utility pole point cloud data, x [cm] in the X-axis direction, y [cm] in the Y-axis direction, and An area of z [cm] in the extending direction from the lower end is defined as a utility pole detection area D2.
- the central axis T of the utility pole point group data is the Z axis, and that the X axis and the Y axis exist so as to be orthogonal to the Z axis.
- a rectangular parallelepiped with a length of 2x [cm], a width of 2y [cm], and a height of L+2z [cm] is set as the utility pole detection area D2.
- L represents the length of the central axis.
- the shape of the utility pole detection area is a cylinder
- the area with radius a1 [cm] from the central axis T of the utility pole point cloud data and b1 [cm] in the extension direction from the upper and lower ends of the utility pole point cloud data is the area where the utility pole is detected. It is set as an area.
- a cylindrical utility pole detection area surrounding the central axis T is set by a cylinder having a radius a1 [cm] and a height L+2b1 [cm].
- a cable detection area D3 can be set for the cable point cloud data representing the cable Ca by a method similar to the method described above.
- cable detection is in an area of 2x' [cm] in the X-axis direction, 2y' [cm] in the Y-axis direction, and L'+2z' in the Z-axis direction with the center axis T as the center. It is set as area D3.
- L' in this case represents the thickness of the cable Ca (height of the cable Ca in the vertical direction).
- C2 in FIG. 14 shows a case where the straight line portion representing the obstacle is the cable Ca, the straight line portion representing the obstacle may be a wall seen from above.
- the wall point group data is specified by performing straight line detection, and the wall detection area is set for the wall point group data.
- L' represents the height of the wall surface from the ground.
- a feature point group is extracted from utility pole point cloud data, a predetermined height and a predetermined width are set for the feature points included in the feature point group, and the area is designated as a utility pole detection area.
- Feature points extracted from such 3D point cloud data e.g., scaffolding bolts, suspension ropes, grips of heavy equipment, or the outer edges of utility poles
- 3D point cloud data e.g., scaffolding bolts, suspension ropes, grips of heavy equipment, or the outer edges of utility poles
- step S408 in FIG. 13 the CPU 11, as the setting unit 106, extracts feature point group data, which is a plurality of feature points, from the utility pole point group data.
- step S410 the CPU 11, as the setting unit 106, sets a utility pole detection area, which is an area around the utility pole point group data, based on the feature point group data extracted in step S408.
- step S500 in FIG. 4 the CPU 11 executes a wall detection area setting process for setting a wall detection area, which is an example of the second detection area, for the wall point cloud data, which is the second point cloud data.
- the wall detection area setting process is realized as shown in FIG.
- step S502 in FIG. 15 the CPU 11, as the setting unit 106, detects a rectangle perpendicular to the ground from the wall point group data using known RANSAC processing or the like.
- step S504 the CPU 11, as the setting unit 106, sets a wall detection area, which is an area around the rectangle in the wall point cloud data, based on the rectangle detected in step S502.
- step S600 of FIG. 4 the CPU 11 executes a cable detection area setting process for setting a cable detection area, which is an example of the second detection area, for the cable point cloud data, which is the second point cloud data.
- the cable detection area setting process is realized as shown in FIG.
- step S602 in FIG. 16 the CPU 11, as the setting unit 106, detects at least two circles from the cable point group data. For example, as a method for detecting a circle, the method described above is used.
- step S604 the CPU 11, as the setting unit 106, calculates the central axis of the cable point group data by connecting the centers of the two circles detected in step S602.
- step S606 the CPU 11, as the setting unit 106, sets a surrounding area having a preset distance from the center axis as a cable detection area based on the center axis set in step S604.
- wall detection area setting process in FIG. 15 and the cable detection process in FIG. 16 may be performed in a manner similar to the utility pole detection area setting process in FIG. 12 or 13.
- step S700 of FIG. 4 the CPU 11 executes a tracking process that tracks the utility pole point cloud data and outputs an alert if a predetermined condition is met.
- the tracking process is realized as shown in FIG. 17 or 18.
- FIG. 19 shows a diagram for explaining alert output processing. For example, as shown in FIG. 19, if the utility pole detection area D2 moves and the utility pole detection area D2 and cable detection area D3 overlap, an alert indicating the proximity of the utility pole and cable is output. .
- step S702 in FIG. 17 the CPU 11, as the moving unit 108, extracts a plurality of feature points from the utility pole point cloud data.
- step S704 the CPU 11, as the moving unit 108, moves the utility pole point group data in accordance with the movement of the plurality of feature points extracted in step S702. This realizes tracking of utility pole point cloud data.
- step S706 the CPU 11, as the moving unit 108, resets the utility pole detection area according to the utility pole point cloud data moved in step S704.
- the utility pole detection area also moves in accordance with the movement of the utility pole point cloud data.
- step S708 the CPU 11, as the output unit 110, determines whether the utility pole detection area and the obstacle area (representing at least one of the cable detection area and the wall detection area) overlap. If the utility pole detection area and the obstacle area overlap, the process moves to step S710. If the utility pole detection area and the obstacle area do not overlap, the process returns to step S704.
- step S708 the CPU 11, as the output unit 110, may cause the process to proceed to step S710 when the size of the volume in which the utility pole detection area and the obstacle detection area overlap exceeds a threshold value.
- step S710 the CPU 11, as the output unit 110, outputs an alert indicating the proximity of the utility pole and the wall or cable.
- the alert output from the output unit 110 is output by a sound output device (not shown) or a display device (not shown) in a format (for example, sound or display) that can be recognized by the user.
- the alert output process may be realized by the process shown in FIG.
- feature points for example, scaffolding bolts, suspension ropes, or gripping parts of heavy machinery
- feature points are extracted from the utility pole point cloud data, and the feature points are tracked.
- Track flock data Scaffolding bolts are shaped like several straight lines coming out of a cylindrical object.
- the suspension rope and the heavy equipment gripping part have a shape in which the diameter of the cylindrical object is partially increased. Therefore, by extracting these parts as feature points, it becomes possible to track the utility pole point group data.
- the utility pole detection area can also be moved at the same time.
- the vector w n is automatically corrected according to the position of the circle.
- a method for tracking feature points it is possible to use a known method for calculating feature amounts such as SHOT, PCL, or Spinimage.
- objects other than utility poles are regarded as stationary objects and are not tracked.
- the initially set obstacle detection area is used. In this way, by focusing on and tracking the feature amounts at the time of construction, it is possible to reconfigure the detection area with high accuracy.
- the utility pole detection area since the utility pole detection area is not fixed, it can be set even for moving objects, and sensing can be performed with a high degree of freedom.
- the obstacle proximity detection device sequentially acquires three-dimensional point cloud data representing an outdoor structure acquired by a three-dimensional laser scanner. Then, from the three-dimensional point cloud data, the obstacle proximity detection device generates first point cloud data representing a utility pole under construction, which is an example of a target object, and second point cloud data representing a cable or wall surface, which is an example of an obstacle. Identify the data.
- the obstacle proximity detection device sets a first detection area, which is an area around the first point group data, based on the first point group data.
- the obstacle proximity detection device moves the first point group data and the first detection area in accordance with the movement of the feature points based on the feature points extracted from the first point group data.
- the obstacle proximity detection device detects when a part of the first detection area overlaps with a part of the second detection area which is an area surrounding the second point cloud data, or when a part of the obstacle proximity detection area exists in the second detection area.
- a predetermined threshold value When the number of point data in one point group data exceeds a predetermined threshold value, an alert indicating the proximity of the utility pole under construction and the cable or wall surface is output.
- the proximity of the object to be moved and other obstacles can be detected in real time.
- the prior art technology of Patent Document 1 lacks real-time performance, while the technology of Patent Document 2 acquires enough three-dimensional point data to be detected as an object within a preset detection area. There was an issue that I had to do.
- a detection area is specified in advance, and if a certain amount of three-dimensional point cloud data can be acquired, the object is detected as an object.
- the obstacle proximity detection device enables accurate sensing in real time by moving the utility pole detection area after specifying the utility pole point cloud data. Furthermore, by focusing on and tracking the characteristic points of a utility pole as it is being constructed, it becomes possible to reconfigure the utility pole detection area with high accuracy. Additionally, it is possible to set a detection area for moving objects such as utility poles under construction, allowing for highly flexible sensing. Furthermore, since the three-dimensional point cloud data recognized in advance is tracked, it is possible to determine, for example, whether the utility pole point cloud data has entered the cable detection area or the wall detection area.
- Step 0 Acquire three-dimensional point cloud data using 3DLiDAR and input it to the obstacle proximity detection device.
- Step 1 Delete 3D point cloud data that is 40 m or more away from the 3DLiDAR position from the position information where the 3D point cloud data was acquired. As a result, three-dimensional point cloud data unnecessary for object detection is deleted.
- Step 2 Extract utility pole point group data representing utility poles, cable point group data representing cables, and wall point group data representing walls.
- Step 2-2 Project the grouped three-dimensional point cloud data onto the xy plane.
- Step 2-3 Calculate the centers of the circles detected in the utility pole point cloud data, and connect the centers to form the central axis.
- Step 2-4 Perform circle detection on the xy plane in the same manner as the utility pole point cloud data, and calculate the central axis of the cable.
- Step 2-5 Along the z-axis, perform straight line detection in the same way as the utility pole point cloud data, and calculate the central axis of the wall surface.
- Step 3 Set the detection area.
- Step 3-1 Generate a cylindrical object extending 20 [cm] in radius from the central axis of the utility pole point cloud data and 20 [cm] at the top and bottom of the utility pole point cloud data, and use the cylindrical object as the utility pole detection area.
- Step 3-2 Generate a cylindrical object with a radius of 3 [cm] from the cable center axis and extend 20 [cm] above and below the cable point cloud data, and use that cylindrical object as the cable detection area
- Step 3-3 A rectangular parallelepiped with a thickness of 15 cm and an extension of 20 cm in the top, bottom, left, and right directions is created with the center axis of the wall as the center, and is used as a wall detection area.
- Step 4 Track the utility pole point cloud data and detect proximity to wall point cloud data or cable point cloud data.
- Step 4-1 Every 0.5 seconds, feature points of the utility pole point cloud data are calculated and tracked using known techniques such as Spinimage, SHOT, and ICP.
- Step 4-2 Calculate the central axis of the utility pole point cloud data and reset the utility pole detection area every second.
- Step 4-3 When the cable detection area, the wall detection area, and the utility pole detection area overlap, it is determined that they are in a close state.
- Step 4-4 Fire an alert.
- Various processors other than the CPU 11 may execute the obstacle proximity detection process that the CPU 11 reads and executes the obstacle proximity detection program in the above embodiment.
- the processor in this case is a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, such as an FPGA (Field-Programmable Gate Array), and an ASIC (Application Specific Intel).
- An example is a dedicated electric circuit that is a processor having a specially designed circuit configuration.
- the obstacle proximity detection process may be executed by one of these various processors, or by a combination of two or more processors of the same type or different types (for example, multiple FPGAs, and a combination of a CPU and an FPGA). combinations etc.).
- the hardware structure of these various processors is, more specifically, an electric circuit that is a combination of circuit elements such as semiconductor elements.
- the obstacle proximity detection program is stored in advance (also referred to as “installed") in the ROM 12 or the storage 14, but the present invention is not limited to this.
- the obstacle proximity detection program uses CD-ROM (Compact Disk Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), and USB (Universal non-transitory storage medium such as serial bus) memory It may be provided in a stored form. Further, the obstacle proximity detection program may be downloaded from an external device via a network.
- the processor includes: Sequentially acquires 3D point cloud data representing outdoor structures acquired by a 3D laser scanner, from the three-dimensional point cloud data, specifying first point cloud data representing a target object and second point cloud data representing an obstacle; setting a first detection area that is an area around the first point cloud data based on the first point cloud data; Based on the feature points extracted from the first point group data, moving the first point group data and the first detection area according to the movement of the feature points, When a part of the first detection area and a part of the second detection area that is an area around the second point cloud data overlap, or when the first point group exists within the second detection area. outputting an alert indicating the proximity of the object and the obstacle when the number of point data of the data exceeds a predetermined threshold;
- An obstacle proximity detection device configured as follows.
- a non-temporary storage medium storing a program executable by a computer to execute obstacle proximity detection processing includes: Sequentially acquires 3D point cloud data representing outdoor structures acquired by a 3D laser scanner, from the three-dimensional point cloud data, specifying first point cloud data representing a target object and second point cloud data representing an obstacle; setting a first detection area that is an area around the first point cloud data based on the first point cloud data; Based on the feature points extracted from the first point group data, moving the first point group data and the first detection area according to the movement of the feature points, When a part of the first detection area and a part of the second detection area that is an area around the second point cloud data overlap, or when the first point group exists within the second detection area. outputting an alert indicating the proximity of the object and the obstacle when the number of point data of the data exceeds a predetermined threshold; Non-transitory storage medium.
- Obstacle proximity detection device 20 Three-dimensional laser scanner 100 Data storage section 102 Acquisition section 104 Specification section 106 Setting section 108 Moving section 110 Output section
Landscapes
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
障害物近接検知装置は、3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得する取得部と、3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定する特定部と、第1点群データに基づいて、第1点群データの周囲のエリアである第1検知エリアを設定する設定部と、第1点群データから抽出される特徴点に基づいて、特徴点の移動に応じて第1点群データと第1検知エリアを移動させる移動部と、第1検知エリアの一部と第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、第2検知エリア内に存在する第1点群データの点データの数が所定閾値以上となった場合に、対象物と障害物との近接を表すアラートを出力する出力部と、を備える。
Description
開示の技術は、障害物近接検知装置、障害物近接検知方法、及び障害物近接検知プログラムに関する。
特許文献1には、検出対象物が存在する3次元空間を精度よく特定する3次元空間特定装置、方法、及びプログラムが開示されている。
また、特許文献2には、作業者の熟練を必要とすることなく、3次元モデルと実際の設備の状態とを簡単かつ正確に比較及び確認できるようにする設備状態検出方法、検出装置及びプログラムが開示されている。
ところで、対象物の一例である電柱等を新たに立てるような工事を実施する際には、その電柱は工事中に移動されることが多い。この場合、移動される電柱と他の障害物とが近接する状況は好ましくない。
特許文献1に開示されている技術は、道路周辺の設備が存在する3次元空間に含まれる3次元点からなる点群を解析して、道路周辺の設備を検出する技術である。また、特許文献2に開示されている技術は、レーザスキャンにより取得した設備の点群データをもとに設備の3Dモデルデータを生成し、この3Dモデルデータをもとに、ポール及び樹木の太さ、傾斜角及びたわみと、ケーブルの最低地上高を算出する技術である。
このため、上記特許文献1,2に開示されている技術を用いたとしても、移動される対象物と他の障害物との近接をリアルタイムに検知することができない、という課題が存在する。
開示の技術は、上記の点に鑑みてなされたものであり、移動される対象物と他の障害物との近接をリアルタイムに検知することができる障害物近接検知装置、障害物近接検知方法、及び障害物近接検知プログラムを提供することを目的とする。
本開示の第1態様は、障害物近接検知装置であって、3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得する取得部と、前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定する特定部と、前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定する設定部と、前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させる移動部と、前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する出力部と、を備える。
本開示の第2態様は、障害物近接検知方法であって、3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得し、前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定し、前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定し、前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させ、前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する、処理をコンピュータが実行する。
本開示の第3態様は、障害物近接検知プログラムであって、3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得し、前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定し、前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定し、前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させ、前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する、処理をコンピュータに実行させる。
開示の技術によれば、移動される対象物と他の障害物との近接をリアルタイムに検知することができる、という効果を有する。
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において、同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
図20及び図21は、従来技術を説明するための図である。図20に示されているように、屋外構造物を車載した3次元レーザスキャナ(Mobile Mapping System:MMS)により、屋外構造物を3次元モデル化する技術が知られている。図20には、MMSによって取得されたスキャンライン及び3次元点群データが示されている。図20に示されているように、MMSでは、例えば、既に取得されたスキャンライン及び3次元点群データS2に基づいて、3次元点群データが存在しない空間上にスキャンライン及び3次元点群データS1を創り出す。そして、例えば、MMSでは、それらの3次元点群データを統合することにより3次元モデルを生成する。これにより、3次元点群データが粗い状態であっても3次元モデルが精度良く生成される。このため、例えば、3次元レーザスキャナが車両に搭載され、その車両の速度が速い場合であっても、車両周辺の屋外構造物の3次元モデルを精度良く生成することができる。例えば、屋外構造物の3次元モデルとしては、図21に示されているような、電柱とケーブルの3次元モデルが生成される。
対象物の一例である電柱等を新たに立てるような工事を実施する際には、その電柱は工事中に移動されることが多い。この場合、移動される電柱と他の障害物とが近接する状況は好ましくない。
しかし、特許文献1に開示されている技術は、スキャンラインの創出及び3次元モデルの生成時に時間を要するため、リアルタイムに物体検知をすることは難しい。また、特許文献2に開示されている技術は、事前に検知エリアを指定し、ある程度の3次元点群データを取得できた場合に物体として検知し、物体の挙動を検知するため、精度よく2つの物体の近接及び接触を検知することは難しい。
そこで、本実施形態では、工事施工中の対象物の挙動を監視し、工事中に移動される対象物と他の障害物との近接又は接触をリアルタイムに検知し、工事の作業者へ報知する。
まず、図1を参照して、本実施形態に係る障害物近接検知装置10のハードウェア構成について説明する。
図1は、本実施形態に係る障害物近接検知装置10のハードウェア構成の一例を示すブロック図である。
図1に示すように、障害物近接検知装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16、及び通信インタフェース(I/F)17を備えている。各構成は、バス18を介して相互に通信可能に接続されている。
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、障害物近接検知プログラムが格納されている。
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、自装置に対して各種の入力を行うために使用される。
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
通信インタフェース17は、自装置が他の外部機器と通信するためのインタフェースである。当該通信には、例えば、イーサネット(登録商標)若しくはFDDI(Fiber Distributed Data Interface)等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。
本実施形態に係る障害物近接検知装置10には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC:Personal Computer)等の汎用的なコンピュータ装置が適用される。
次に、図2を参照して、障害物近接検知装置10の機能構成について説明する。
図2は、本実施形態に係る障害物近接検知装置10の機能構成の一例を示すブロック図である。
図2に示すように、障害物近接検知装置10は、機能構成として、データ記憶部100、取得部102、特定部104、設定部106、移動部108、及び出力部110を備えている。各機能構成は、CPU11がROM12又はストレージ14に記憶された障害物近接検知プログラムを読み出し、RAM13に展開して実行することにより実現される。
図3は、障害物近接検知装置10と3次元レーザスキャナ20の関係を表す図である。図3に示されているように、3次元レーザスキャナ20の位置を基準として、東西方向をx軸、南北方向をy軸、高度をz軸とする。3次元レーザスキャナ20は、屋外構造物の3次元点群データを逐次取得し、その3次元点群データを障害物近接検知装置10へ出力する。障害物近接検知装置10は、3次元レーザスキャナ20によって取得された3次元点群データを逐次取得し、自らのデータ記憶部100に格納する。
データ記憶部100には、3次元レーザスキャナ20によって取得された屋外構造物を表す3次元点群データが逐次格納される。また、データ記憶部100には、障害物近接検知処理を実行するために必要な各種のデータが格納される。
次に、図4~図19を参照して、本実施形態に係る障害物近接検知装置10の作用について説明する。
図4は、本実施形態に係る障害物近接検知プログラムによる処理の流れの一例を示すフローチャートである。障害物近接検知プログラムによる処理は、障害物近接検知装置10のCPU11が、ROM12又はストレージ14に記憶されている障害物近接検知プログラムをRAM13に書き込んで実行することにより、実現される。
本実施形態では、対象物の一例である電柱を新たに立てる工事の施工中に、3次元レーザスキャナ20が新たな電柱を含む屋外構造物の3次元点群データを逐次取得し、障害物近接検知装置10が電柱と障害物との近接を検知する場合を例に説明する。
まず、新たな電柱を立てる工事の施工中に、3次元レーザスキャナ20が新たな電柱を含む屋外構造物の3次元点群データを逐次取得し、障害物近接検知装置10へ出力する。そして、障害物近接検知装置10は、3次元点群データをデータ記憶部100へ逐次格納する。3次元点群データがデータ記憶部100へ格納され始めると、障害物近接検知装置10は、図4の処理を実行する。
まず、図4のステップS100では、CPU11が、データ記憶部100に格納されている3次元点群データから、新たな電柱の3次元点群データを特定する電柱点群特定処理を実行する。電柱点群特定処理は、図5又は図6によって実現される。
図5のステップS102では、CPU11が、取得部102として、データ記憶部100に格納されている3次元点群データを取得する。
ステップS104では、CPU11が、特定部104として、ステップS102で取得された3次元点群データから不要な範囲の3次元点群データを削除する。例えば、3次元レーザスキャナ20が位置する計測点から、ある距離以上の3次元点群データを不要な範囲のデータであるとして削除する。
ステップS106では、CPU11が、特定部104として、3次元点群データを分割するための角度aと、電柱の角度θとを取得する。なお、電柱の角度θは、例えば、工事現場にいる作業者が、電柱の傾きを表す角度θを手入力によって障害物近接検知装置10へ入力する。なお、この角度θは、図3に示されているxyz座標上のz軸と電柱Pとのなす角である。対象物が施工中の電柱である場合、電柱が地面に置かれた状態、電柱が重機によって把持され吊架されている状態、及び電柱が自立している状態等が想定され、その状況により電柱が向いている方向及び角度は変化する。そのため3次元レーザスキャナ20を基準とした角度θを事前に取得する必要がある。図5の処理は、角度θが作業者によって判断され、障害物近接検知装置10へ入力される場合の処理である。なお、3次元レーザスキャナ20から電柱の下部及び上部までの距離を、ユーザが事前に障害物近接検知装置10へ入力することにより、既知の技術を用いて角度θを算出することも可能である。なお、上述したように電柱の角度θは取得可能であるものの、電柱が傾いている方向については算出することができない。このため、後述するように、3次元点群データを一定の間隔で分割したデータの各々を角度θ分だけ回転させることにより、電柱が傾いている方向を算出しなくとも電柱を特定することができるようにする。なお、電柱を表す3次元点群データを特定する際には、3次元レーザスキャナ20からの距離及び抽出された点群の大きさ等に対して閾値を設定し、それに基づいて電柱を表す3次元点群データを特定するようにしてもよい。
ステップS108では、CPU11が、特定部104として、ステップS106で取得された角度a(0<a<360)に応じて3次元点群データを分割する。
図7に、角度aに応じた3次元点群データの分割を説明するための図を示す。図7の左側に示されているように、xyz座標上のxy平面上において、角度aに応じて所定領域R内の3次元点群データを分割する。図7のPは施工中の電柱に相当する3次元点群データである。なお、図7には、角度a=45度である場合が示されている。なお、角度a毎に分割されたデータiは所定領域R内のデータを識別するためのインデックスであり、1≦j≦360/aを満たす。例えば、所定領域R3内のデータはi=3のデータに相当する。図7の左側に示されている例では、所定領域R内の3次元点群データが、8分割され所定領域R1~R8となる。以下の処理では、これら所定領域R1~R8の各々を電柱の角度θ分だけ回転させ、電柱に相当する3次元点群データがz軸に沿うようにさせる。これにより、その3次元点群データが電柱であるのか否かが判定される。
例えば、図7の右側に示されているように、xyz座標の原点を起点として所定領域R3内の3次元点群データを角度θ分だけ回転させる。この場合には、電柱Pはz軸に沿うような形となる。この場合において、z軸に沿った形の電柱Pの3次元点群データをxy平面へ投影する場合を考える。
図8に、本実施形態に係る3次元点群データの処理を説明するための図を示す。なお、図8中の黒丸は3次元点データを表している。上述したように、z軸に沿った形の電柱Pの3次元点群データをxy平面へ投影した場合には、図8のA1に示されるように、その3次元点群データのxy平面への投影結果は円形状となる。このため、本実施形態では、このようにして得られたxy平面への投影結果が円形状であるか否かに応じて、その3次元点群データが電柱であるか否かを判定する。
更に、本実施形態では、図8のB1に示されているように、3次元点群データをz軸と交差するグループGへ分割し、そのグループG毎に円形状が検出される(以下、単に「円検出」とも称する。)か否かを判定する。なお、図8のB1には、電柱Pを把持する重機Mも描かれている。また、円形状が検出及び直線形状の検出には、例えば、公知のRANSAC処理等が用いられる。
また、本実施形態では、図8のC1に示されているように、既存電柱間に存在するケーブルCaに相当する3次元点群データを判定する際にも、その3次元点群データを所定平面へ投影し、その投影結果が円形状となるか否かに応じて、その3次元点群データがケーブルであるか否かを判定する。
なお、図7の右側に示されているように、所定領域R3のデータを角度θ分だけ回転させた場合には、その投影結果に円形状が検出されるため、所定領域R3のデータは電柱点群であると特定される。一方、所定領域R7のデータを角度θ分だけ回転させた場合には、その投影結果には円形状が検出されないため、所定領域R7のデータは電柱点群ではないと特定される。この場合であっても、所定領域R7のデータは電柱が一部含まれているため、例えば、所定領域R3のデータの対角位置に存在する所定領域R7のデータも電柱点群であると特定するようにしてもよい。なお、電柱の角度θを用いずに、3次元点群データの全方向の軸を対象に円検出を実施するようにしてもよい。
具体的には、図5のステップS110では、CPU11が、特定部104として、分割された3次元点群データのうちの1つの所定領域のデータ(例えば、所定領域R1のデータ等)を設定する。
ステップS112では、CPU11が、特定部104として、ステップS110で設定された所定領域のデータを角度θ分だけ回転させる。仮に所定領域のデータが電柱の3次元点群データである場合には、回転後の所定領域のデータはz軸に沿う方向となる。
ステップS114では、CPU11が、特定部104として、ステップS112で回転した所定領域のデータを、z軸方向と交差する領域において分割し複数のグループを生成する。
ステップS114では、CPU11が、特定部104として、ステップS112で回転した所定領域のデータを、z軸方向と交差する領域において分割し複数のグループを生成する。
ステップS116では、CPU11が、特定部104として、ステップS114で生成された複数のグループの各々について、当該グループに属する3次元点群データをxy平面へ投影する。
ステップS118では、CPU11が、特定部104として、ステップS116で得られたグループ毎の投影結果に基づいて円形状の検出を実施する。
ステップS120では、CPU11が、特定部104として、円検出がされたグループが所定閾値以上存在するか否かを判定する。円検出がされたグループが所定閾値以上存在する場合には、ステップS122へ移行する。一方、円検出がされたグループが所定閾値未満である場合には、ステップS124へ移行する。
ステップS122では、CPU11が、特定部104として、ステップS110で設定された所定領域のデータを電柱候補点群であるとして、データ記憶部100へ一旦格納する。
ステップS124では、CPU11が、特定部104として、ステップS108で分割された全ての所定領域のデータについて、ステップS110~ステップS122の処理が実行されたか否かを判定する。全ての所定領域のデータについて、ステップS110~ステップS122の処理が実行された場合には、ステップS126へ移行する。ステップS110~ステップS122の処理が実行されていない所定領域のデータが存在する場合には、ステップS110へ戻る。
ステップS126では、CPU11が、特定部104として、円形状の検出数が最も多かった所定領域のデータを、第1点群データの一例である電柱点群データであるとして、電柱Pを特定する。
なお、図4のステップS100の電柱点群特定処理は、図5の処理に限らず、例えば、図6の処理によって実現されてもよい。図6の処理は、xyz座標上のz軸と電柱Pとのなす角度θの入力を必要とせずに、電柱点群データが特定される。
具体的には、ステップS128において、CPU11が、特定部104として、3次元点群データに対して既存の特徴点解析アルゴリズムを実行し、3次元点群データから特徴点群クラスタを特定する。特徴点群クラスタとは、例えば、3次元点群データのうち反射強度が高い又は特異な形状等の特徴を持つ物体の点群のクラスタである。例えば、特徴点群クラスタを利用して、電柱に装着されている又は電柱に近接している足場ボルト又は重機把持部を特定することも可能である。又は、例えば、特徴点群クラスタを利用して、電柱の両端部を特定することも可能である。
このため、図6のステップS128では、CPU11が、特定部104として、電柱の両端部として特定された2つの特徴点群クラスタを結ぶことにより軸を生成する。
次に、ステップS130では、CPU11が、特定部104として、ステップS128で生成された軸がz軸に沿うように、3次元点群データを回転させる。
そして、ステップS132では、CPU11が、特定部104として、回転した3次元点群データをz軸方向と交差する領域において分割し複数のグループを生成する。
図6に示されるその他の処理は、図5と同様であるため説明を省略する。なお、図5の処理と図6の処理との両方を用いて電柱点群データを特定するようにしてもよい。
このようにして、3次元点群データから第1点群データの一例である電柱点群データが特定される。なお、図5及び図6とは異なる方法によって電柱点群データを特定するようにしてもよい。例えば、電柱又は重機に反射率の高い材料又は構造を有した物体を装着させる。又は、電柱又は重機に特異な形状の物体を装着される。そして、それらの物体の3次元点群データの位置に応じて電柱の軸を算出する。より具体的には、例えば、重機の把持部に反射率の高い物体を2つ装着させる。そして、例えば、3次元点群データからその物体を抽出し、2つの物体を繋いだ軸を電柱軸とし、円検出を実施するようにして、電柱点群データを特定するようにしてもよい。電柱の角度θを用いずに、3次元点群データの全方向の軸を対象に円検出を実施して、電柱点群データを特定するようにしてもよい。
次に、図4のステップS200では、CPU11が、3次元点群データから、障害物の一例である壁面の3次元点群データを特定する壁面点群特定処理を実行する。壁面点群特定処理は、図9によって実現される。
図9のステップS202において、CPU11が、特定部104として、入力された3次元点群データを、z軸方向と交差する領域において分割し複数のグループを生成する。
ステップS204において、CPU11が、特定部104として、ステップS202で生成された複数のグループの各々について、当該グループに属する3次元点群データをxy平面へ投影する。
ステップS206では、CPU11が、特定部104として、ステップS204で得られたグループ毎の投影結果に基づいて直線形状の検出を実施する。
ステップS208では、CPU11が、特定部104として、直線形状の検出がされたグループが所定閾値以上存在するか否かを判定する。直線形状の検出がされたグループが所定閾値以上存在する場合には、ステップS210へ移行する。一方、直線形状の検出がされたグループが所定閾値未満である場合には、処理を終了する。
ステップS210では、CPU11が、特定部104として、入力された3次元点群データを第2点群データの一例である壁面点群データとして、データ記憶部100へ格納する。
次に、図4のステップS300では、CPU11が、3次元点群データから、障害物の一例であるケーブルの3次元点群データを特定するケーブル点群特定処理を実行する。ケーブル点群特定処理は、図10によって実現される。
図10のステップS302では、CPU11が、特定部104として、入力された対象の3次元点群データを分割するための角度bを取得する。
ステップS304では、CPU11が、特定部104として、ステップS302で取得された角度bに応じて3次元点群データを分割する。
図11に、角度bに応じた3次元点群データの分割を説明するための図を示す。図11の左側に示されているように、xyz座標上のxy平面上において、角度bに応じて所定領域R内の3次元点群データを分割する。図11のCaは既存のケーブルに相当する3次元点群データである。なお、図11には、角度b=45度である場合が示されている。図11の左側に示されている例では、所定領域R内の3次元点群データが、8分割され所定領域R1~R8となる。以下の処理では、これら所定領域R1~R8の各々をz軸回りに角度b分だけ回転させ、ケーブルに相当する3次元点群データがx軸に沿うようにさせる。これにより、その3次元点群データがケーブルであるのか否かが判定される。
例えば、図11の右側に示されているように、所定領域R3内の3次元点群データをz軸回りに角度(b*j-b/2)分だけ回転させる。なお、jは所定領域R内のデータを識別するためのインデックスであり、1≦j≦360/bを満たす。例えば、所定領域R3内のデータはj=3のデータに相当する。このため、所定領域R3内の3次元点群データは、(45*3-45/2)=112.5度回転され、x軸に沿うことになる。
そして、回転した所定領域R3内の3次元点群データをyz平面へ投影し、その投影結果が円形状となるか否かに応じて、その3次元点群データがケーブルであるか否かを判定する。
具体的には、ステップS306では、CPU11が、特定部104として、分割された3次元点群データのうちの1つの所定領域のデータ(例えば、所定領域R1のデータ等)を設定する。
ステップS308では、CPU11が、特定部104として、ステップS306で設定された所定領域のデータをz軸回りに角度(b*j-b/2)分だけ回転させる。仮に所定領域のデータがケーブルCaの3次元点群データである場合には、回転後の所定領域のデータはx軸に沿う方向となる。
ステップS310では、CPU11が、特定部104として、ステップS308で回転した所定領域のデータを、x軸方向と交差する領域において分割し複数のグループを生成する。
ステップS312では、CPU11が、特定部104として、ステップS310で生成された複数のグループの各々について、当該グループに属する3次元点群データをyz平面へ投影する。
ステップS314では、CPU11が、特定部104として、ステップS312で得られたグループ毎の投影結果に基づいて円形状の検出を実施する。
ステップS316では、CPU11が、特定部104として、円検出がされたグループが所定閾値以上存在するか否かを判定する。円検出がされたグループが所定閾値以上存在する場合には、ステップS318へ移行する。一方、円検出がされたグループが所定閾値未満である場合には、ステップS320へ移行する。
ステップS318では、CPU11が、特定部104として、ステップS306で設定された所定領域のデータをケーブル候補点群であるとして、データ記憶部100へ一旦格納する。
ステップS320では、CPU11が、特定部104として、ステップS304で分割された全ての所定領域のデータについて、ステップS306~ステップS318の処理が実行されたか否かを判定する。全ての所定領域のデータについて、ステップS306~ステップS318の処理が実行された場合には、ステップS322へ移行する。ステップS306~ステップS318の処理が実行されていない所定領域のデータが存在する場合には、ステップS306へ戻る。
ステップS322では、CPU11が、特定部104として、円形状の検出数が最も多かった所定領域のデータを、第2点群データの一例であるケーブル点群であるとして、ケーブルを特定する。このように、ケーブル点群データを特定する際には地面と並行に円検出がされ、壁面点群データを特定する際には地面と垂直に直線検出が実施される。なお、上記では、電柱点群データ、壁面点群データ、及びケーブル点群データが自動的に特定される場合を例に説明したが、例えば、ユーザによる手動によって電柱点群データ、壁面点群データ、及びケーブル点群データ等が抽出され、ラベル付けがなされることによって各データを識別するようにしてもよい。
次に、図4のステップS400では、CPU11が、電柱点群データに対して、第1検知エリアの一例である電柱検知エリアを設定する電柱検知エリア設定処理を実行する。電柱検知エリア設定処理は、図12又は図13によって実現される。図12の処理では、電柱点群データの中心軸が検出され、その中心軸を中心とする電柱検知エリアが設定される。
図12のステップS402では、CPU11が、設定部106として、電柱点群データから少なくとも2つの円を検出する。例えば、円の検出方法としては、上述した方法が利用される。
ステップS404では、CPU11が、設定部106として、ステップS402で検出された2つの円の中心を繋ぐことにより、電柱点群データの中心軸を算出する。
ステップS406では、CPU11が、設定部106として、ステップS404で設定された中心軸に基づいて、中心軸との間の距離が予め設定された距離となる周囲のエリアを電柱検知エリアとして設定する。
図14に、電柱検知エリアの設定を説明するための図を示す。図14のB2に示されているように、電柱点群データの中心軸Tを中心として、任意の大きさ及び形状の電柱検知エリアD2が設定される。電柱検知エリアの形状を直方体とする場合には、例えば、電柱点群データの中心軸Tから、X軸方向にx[cm]、Y軸方向にy[cm]、電柱点群データの上端及び下端からそれぞれ延長方向にz[cm]のエリアを電柱検知エリアD2とする。なお、上述した場合においては、電柱点群データの中心軸TをZ軸とし、そのZ軸に直交するようにX軸及びY軸が存在しているものとする。この場合には、例えば、図14のB2に示されているように、縦2x[cm]、横2y[cm]、高さL+2z[cm]の直方体が電柱検知エリアD2として設定される。なお、Lは中心軸の長さを表す。
電柱検知エリアの形状が円柱である場合には、電柱点群データの中心軸Tから半径a1[cm]、電柱点群データの上端及び下端からそれぞれ延長方向にb1[cm]のエリアが電柱検知エリアとして設定される。この場合には、例えば、半径a1[cm]、高さL+2b1[cm]の円柱によって中心軸Tを囲う円柱状の電柱検知エリアが設定される。
上述したような方法により電柱検知エリアを設定することにより、電柱点群データを形成する円の方向が変わっても電柱点群データと電柱検知エリアとを自動的にトラッキングすることが可能となる。
また、図14のC2に示されているように、ケーブルCaを表すケーブル点群データに対しても、上述した方法と同様の方法によってケーブル検知エリアD3を設定することができる。なお、図14のC2の例では、中心軸Tを中心としてX軸方向に2x’[cm]、Y軸方向に2y’[cm]、及びZ軸方向にL’+2z’のエリアがケーブル検知エリアD3として設定される。なお、この場合のL’は、ケーブルCaの太さ(ケーブルCaの鉛直方向の高さ)を表す。図14のC2では、障害物を表す直線部分がケーブルCaである場合が示されているが、障害物を表す直線部分は上空から見た壁であってもよい。この場合には、上述したように、直線検出が実施されることにより壁面点群データが特定され、その壁面点群データに対して壁面検知エリアが設定される。この場合のL’は、壁面の地面からの高さを表す。なお、上述したように、ケーブル点群データを特定する際には地面と並行に円検出がされるが、壁面点群データの特定と同様に直線検出がされることによりケーブル点群データが特定されるようにしてもよい。
一方、図13の処理では、電柱点群データから特徴点群を抽出し、その特徴点群に含まれる特徴点に対して所定高さ及び所定幅を設定して、そのエリアを電柱検知エリアとして設定する。このような3次元点群データから抽出される特徴点(例えば、足場ボルト、吊架ロープ、重機の把持部、又は電柱の外縁部分)は、工事作業中であっても死角に入ることが少ないため、後述するトラッキング処理におけるトラッキングが比較的容易となる。また、この方法を採用する場合には、特徴点のみのトラッキングで済む場合もあるため、計算時間を短縮することが可能となる。なお、この場合には、工事中、電柱点群データを完璧にトラッキングするためには、全ての電柱の外形の3次元点群データを取得する必要があると考えられる。
または、電柱点群データの最上段及び最下段で任意の頂点を特徴点に基づいて設定し、電柱点群データが表す円柱物の軸に沿って繋がる点同士を接続し、電柱検知エリアとしてもよい。
図13のステップS408では、CPU11が、設定部106として、電柱点群データから複数の特徴点である特徴点群データを抽出する。
ステップS410では、CPU11が、設定部106として、ステップS408で抽出された特徴点群データに基づいて、電柱点群データの周囲のエリアである電柱検知エリアを設定する。
次に、図4のステップS500では、CPU11が、第2点群データである壁面点群データに対して、第2検知エリアの一例である壁面検知エリアを設定する壁面検知エリア設定処理を実行する。壁面検知エリア設定処理は、図15によって実現される。
図15のステップS502では、CPU11が、設定部106として、公知のRANSAC処理等を用いて、壁面点群データから、地面に垂直な四角形を検出する。
ステップS504では、CPU11が、設定部106として、ステップS502で検出された四角形に基づいて、壁面点群データ内の四角形を中心とする周囲のエリアである壁面検知エリアを設定する。
次に、図4のステップS600では、CPU11が、第2点群データであるケーブル点群データに対して、第2検知エリアの一例であるケーブル検知エリアを設定するケーブル検知エリア設定処理を実行する。ケーブル検知エリア設定処理は、図16によって実現される。
図16のステップS602では、CPU11が、設定部106として、ケーブル点群データから少なくとも2つの円を検出する。例えば、円の検出方法としては、上述した方法が利用される。
ステップS604では、CPU11が、設定部106として、ステップS602で検出された2つの円の中心を繋ぐことにより、ケーブル点群データの中心軸を算出する。
ステップS606では、CPU11が、設定部106として、ステップS604で設定された中心軸に基づいて、中心軸との間の距離が予め設定された距離となる周囲のエリアをケーブル検知エリアとして設定する。
なお、図15の壁面検知エリア設定処理及び図16のケーブル検知処理は、図12又は図13の電柱検知エリア設定処理のような処理のされ方をしてもよい。
次に、図4のステップS700では、CPU11が、電柱点群データをトラッキングし、所定条件が満たされた場合にはアラートを出力するトラッキング処理を実行する。トラッキング処理は、図17又は図18によって実現される。
図19に、アラート出力処理を説明するための図を示す。例えば、図19に示されているように、電柱検知エリアD2が移動し、電柱検知エリアD2とケーブル検知エリアD3とが重なった場合には、電柱とケーブルとの近接を表すアラートが出力される。
図17のステップS702において、CPU11が、移動部108として、電柱点群データから複数の特徴点を抽出する。
ステップS704では、CPU11が、移動部108として、ステップS702で抽出された複数の特徴点の移動に応じて、電柱点群データを移動させる。これにより、電柱点群データのトラッキングが実現される。
ステップS706では、CPU11が、移動部108として、ステップS704で移動された電柱点群データに応じて電柱検知エリアを再設定する。これにより、電柱点群データの移動に応じて電柱検知エリアも移動する。
ステップS708では、CPU11が、出力部110として、電柱検知エリアと障害物エリア(ケーブル検知エリア及び壁面検知エリアの少なくとも一方を表す)とが重なったか否かを判定する。電柱検知エリアと障害物エリアとが重なった場合には、ステップS710へ移行する。電柱検知エリアと障害物エリアとが重なっていない場合には、ステップS704へ戻る。
なお、ステップS708では、CPU11が、出力部110として、電柱検知エリアと障害物検知エリアとが重なった体積の大きさが閾値を超えた場合に、ステップS710へ移行するようにしてもよい。
ステップS710では、CPU11が、出力部110として、電柱と壁面又はケーブルとの近接を表すアラートを出力する。出力部110から出力されたアラートは、音出力装置(図示省略)又は表示装置(図示省略)によって、ユーザが認知可能な形式(例えば、音又は表示)によって出力される。
アラート出力処理は、図18の処理によって実現されてもよい。
図18のステップS712では、CPU11が、出力部110として、ケーブル検知エリア又は壁面検知エリアに電柱点群データが浸入した場合、その3次元点群データの数が閾値以上であるか否かを判定する。ケーブル検知エリア又は壁面検知エリアに浸入した電柱点群データの3次元点群データの数が閾値以上である場合には、ステップS710へ移行する。ケーブル検知エリア又は壁面検知エリアに浸入した電柱点群データの3次元点群データの数が閾値未満の場合には、ステップS704へ戻る。この場合には、電柱検知エリアの設定が不要となる。電柱点群データのトラッキングにより、3次元点群データ内で、どの点群データが電柱点群データであるのかは把握されているためである。
工事現場にいる作業者は、アラートを確認すると、例えば、電柱を移動させている重機を停止させる。
なお、図17及び図18のアラート出力処理では、電柱点群データから特徴点(例えば、足場ボルト、吊架ロープ、又は重機の把持部)を抽出し、その特徴点をトラッキングすることにより電柱点群データをトラッキングする。足場ボルトは円柱物から直線が数本でるような形状である。また、吊架ロープ及び重機把持部は、円柱物の直径が一部大きくなる形状である。このため、これらの部位を特徴点として抽出することにより、電柱点群データのトラッキングをすることが可能となる。また、それらの特徴点と、最初に設定した端点と頂点との位置関係を保持することにより、電柱検知エリアも同時に移動させることができる。具体的には、特徴点をトラッキングしつつ、電柱点群データに含まれる円の位置を特定することにより、最初に定義した位置関係の保持が可能となる。頂点を再定義する際には、ベクトルwnが円の位置に応じて自動補正される。なお、特徴点をトラッキングする手法としては、既知のSHOT、PCL、又はSpinimage等の特長量算出用の手法を利用することが可能である。
なお、本実施形態では、電柱とは異なる他の物体(例えば、ケーブル又は壁面)は静止物体とみなしトラッキングされない。電柱とは異なる他の物体(例えば、ケーブル又は壁面)に関しては、最初に設定された障害物検知エリアが利用される。このように、工事施工時の特徴量に着目しトラッキングすることで、精度よく検知エリアの再設定が可能となる。また、図18のアラート出力処理では、電柱検知エリアが固定されていないため、移動物体にも設定可能となり、自由度高くセンシング可能となる。
以上説明したように、障害物近接検知装置は、3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得する。そして、障害物近接検知装置は、3次元点群データから、対象物の一例である施工中の電柱を表す第1点群データと、障害物の一例であるケーブル又は壁面を表す第2点群データとを特定する。障害物近接検知装置は、第1点群データに基づいて、第1点群データの周囲のエリアである第1検知エリアを設定する。障害物近接検知装置は、第1点群データから抽出される特徴点に基づいて、特徴点の移動に応じて第1点群データと第1検知エリアを移動させる。障害物近接検知装置は、第1検知エリアの一部と第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、第2検知エリア内に存在する第1点群データの点データの数が所定閾値以上となった場合に、施工中の電柱とケーブル又は壁面との近接を表すアラートを出力する。これにより、移動される対象物と他の障害物との近接をリアルタイムに検知することができる。具体的には、従来技術である特許文献1の技術ではリアルタイム性が欠如しており、特許文献2の技術では事前設定した検知エリア内で物体として検知できる程度の3次元点データ数を取得しなければならないという課題があった。具体的には、特許文献2に開示の技術は、事前に検知エリアを指定し、ある程度の3次元点群データを取得できた場合に物体として検知していた。これに対し、本実施形態に係る障害物近接検知装置は、電柱点群データを特定したあとに、電柱検知エリアを移動させることにより、リアルタイムで精度良いセンシングを可能とした。また、電柱が施工されている際の特徴点に着目してトラッキングをすることにより、精度よく電柱検知エリアの再設定をすることが可能となる。また、施工中の電柱のような移動物体にも検知エリアを設定することが可能となるため、自由度が高いセンシングが可能となる。また、予め認識された3次元点群データをトラッキングするため、例えば、ケーブル検知エリア又は壁面検知エリア内に電柱点群データが浸入したか否かを判別することができる。
(実施例)
次に、障害物近接検知装置の実施例について以下説明する。
次に、障害物近接検知装置の実施例について以下説明する。
ステップ0:3DLiDARにより3次元点群データを取得し、障害物近接検知装置へ入力する。
ステップ1:3次元点群データが取得された位置情報から、3DLiDARの位置から40m以上離れている3次元点群データを削除する。これにより、対象物検知に不要な3次元点群データが削除される。
ステップ2:電柱を表す電柱点群データ、ケーブルを表すケーブル点群データ、及び壁面を表す壁面点群データを抽出する。
ステップ2-1:ユーザによって事前入力された角度又は3次元点群データの特徴点から算出された角度を基に、3次元点群データの中心軸となりうる軸がz軸となるよう3次元点群データ全体を軸回転後、z軸沿いに10[cm]間隔でグループ化する。
ステップ2-2:xy平面にグループ化された3次元点群データを投影する。既知の技術であるRANSACにより円検出し、検出されたグループ数が閾値(例えば、N=20)を超えた場合、その3次元点群データを電柱点群データとする。
ステップ2-3:電柱点群データ内において検出された円の中心を算出し、中心を繋ぐことで中心軸とする。
ステップ2-4:xy平面において、電柱点群データと同様に円検出を実施し、ケーブルの中心軸を算出する。
ステップ2-5:z軸に沿って、電柱点群データと同様に直線検出を実施し、壁面の中心軸を算出する。
ステップ2-1:ユーザによって事前入力された角度又は3次元点群データの特徴点から算出された角度を基に、3次元点群データの中心軸となりうる軸がz軸となるよう3次元点群データ全体を軸回転後、z軸沿いに10[cm]間隔でグループ化する。
ステップ2-2:xy平面にグループ化された3次元点群データを投影する。既知の技術であるRANSACにより円検出し、検出されたグループ数が閾値(例えば、N=20)を超えた場合、その3次元点群データを電柱点群データとする。
ステップ2-3:電柱点群データ内において検出された円の中心を算出し、中心を繋ぐことで中心軸とする。
ステップ2-4:xy平面において、電柱点群データと同様に円検出を実施し、ケーブルの中心軸を算出する。
ステップ2-5:z軸に沿って、電柱点群データと同様に直線検出を実施し、壁面の中心軸を算出する。
ステップ3:検知エリアを設定する。
ステップ3-1:電柱点群データの中心軸から半径20[cm]、電柱点群データの上部及び下部それぞれ20[cm]延長した円柱物を生成し、その円柱物を電柱検知エリアとする。
ステップ3-2:ケーブル中心軸から半径3[cm]、ケーブル点群データの上部及び下部それぞれ20[cm]延長した円柱物を生成し、その円柱物をケーブル検知エリアとする
ステップ3-3:壁面中心軸を中心として厚み15cm、上下左右それぞれ20cm延長した直方体を生成し、壁面検知エリアとする。
ステップ3-1:電柱点群データの中心軸から半径20[cm]、電柱点群データの上部及び下部それぞれ20[cm]延長した円柱物を生成し、その円柱物を電柱検知エリアとする。
ステップ3-2:ケーブル中心軸から半径3[cm]、ケーブル点群データの上部及び下部それぞれ20[cm]延長した円柱物を生成し、その円柱物をケーブル検知エリアとする
ステップ3-3:壁面中心軸を中心として厚み15cm、上下左右それぞれ20cm延長した直方体を生成し、壁面検知エリアとする。
ステップ4:電柱点群データをトラッキングし、壁面点群データ又はケーブル点群データとの間における近接を検知する。
ステップ4-1:0.5秒毎に、既知の技術であるSpinimage,SHOT,ICP等により電柱点群データの特徴点を算出し、トラッキングする。
ステップ4-2:1秒毎に電柱点群データの中心軸の算出及び電柱検知エリアの再設定を実施する。
ステップ4-3:ケーブル検知エリア及び壁面検知エリアと電柱検知エリアとが重なったとき、近接状態とする。
ステップ4-4:アラートを発砲する。
ステップ4-1:0.5秒毎に、既知の技術であるSpinimage,SHOT,ICP等により電柱点群データの特徴点を算出し、トラッキングする。
ステップ4-2:1秒毎に電柱点群データの中心軸の算出及び電柱検知エリアの再設定を実施する。
ステップ4-3:ケーブル検知エリア及び壁面検知エリアと電柱検知エリアとが重なったとき、近接状態とする。
ステップ4-4:アラートを発砲する。
上記実施形態でCPU11が障害物近接検知プログラムを読み込んで実行した障害物近接検知処理を、CPU11以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、障害物近接検知処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
また、上記実施形態では、障害物近接検知プログラムがROM12又はストレージ14に予め記憶(「インストール」ともいう)されている態様を説明したが、これに限定されない。障害物近接検知プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、障害物近接検知プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得し、
前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定し、
前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定し、
前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させ、
前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する、
ように構成されている障害物近接検知装置。
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得し、
前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定し、
前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定し、
前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させ、
前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する、
ように構成されている障害物近接検知装置。
(付記項2)
障害物近接検知処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記障害物近接検知処理は、
3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得し、
前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定し、
前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定し、
前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させ、
前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する、
非一時的記憶媒体。
障害物近接検知処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記障害物近接検知処理は、
3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得し、
前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定し、
前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定し、
前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させ、
前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する、
非一時的記憶媒体。
10 障害物近接検知装置
20 3次元レーザスキャナ
100 データ記憶部
102 取得部
104 特定部
106 設定部
108 移動部
110 出力部
20 3次元レーザスキャナ
100 データ記憶部
102 取得部
104 特定部
106 設定部
108 移動部
110 出力部
Claims (8)
- 3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得する取得部と、
前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定する特定部と、
前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定する設定部と、
前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させる移動部と、
前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する出力部と、
を備えた障害物近接検知装置。 - 前記対象物は、施工中の電柱であり、
前記障害物は、既存電柱間に存在するケーブル又は壁面である、
請求項1に記載の障害物近接検知装置。 - 前記特定部は、前記第1点群データを特定する際に、前記3次元点群データに含まれる所定領域のデータをxy平面に対して所定角度回転させ、回転した前記所定領域のデータをxy平面に対して投影し、xy平面に投影された前記所定領域のデータが円形である場合に、前記所定領域のデータを前記第1点群データとして特定する、
請求項1又は請求項2に記載の障害物近接検知装置。 - 前記特定部は、前記ケーブルを表す第2点群データを特定する際に、前記3次元点群データに含まれる所定領域のデータをz軸回りに所定角度回転させ、回転した前記所定領域のデータをyz平面に対して投影し、yz平面に投影された前記所定領域のデータが円形である場合に、前記所定領域のデータを、前記ケーブルを表す第2点群データとして特定する、
請求項2に記載の障害物近接検知装置。 - 前記特定部は、前記壁面を表す第2点群データを特定する際に、前記3次元点群データに含まれる所定領域のデータをxy平面に対して投影し、xy平面に投影された前記所定領域のデータが直線形状である場合に、前記所定領域のデータを、前記壁面を表す第2点群データとして特定する、
請求項2に記載の障害物近接検知装置。 - 前記設定部は、前記第1点群データから少なくとも2つの円を検出し、2つの円の中心を繋ぐことにより、前記第1点群データの中心軸を算出し、前記中心軸との間の距離が予め設定された距離となる前記周囲のエリアを前記第1検知エリアとして設定する、
請求項1又は請求項2に記載の障害物近接検知装置。 - 3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得し、
前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定し、
前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定し、
前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させ、
前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する、
処理をコンピュータが実行する障害物近接検知方法。 - 3次元レーザスキャナによって取得された屋外構造物を表す3次元点群データを逐次取得し、
前記3次元点群データから、対象物を表す第1点群データと、障害物を表す第2点群データとを特定し、
前記第1点群データに基づいて、前記第1点群データの周囲のエリアである第1検知エリアを設定し、
前記第1点群データから抽出される特徴点に基づいて、前記特徴点の移動に応じて前記第1点群データと前記第1検知エリアを移動させ、
前記第1検知エリアの一部と前記第2点群データの周囲のエリアである第2検知エリアの一部とが重なった場合、又は、前記第2検知エリア内に存在する前記第1点群データの点データの数が所定閾値以上となった場合に、前記対象物と前記障害物との近接を表すアラートを出力する、
処理をコンピュータに実行させるための障害物近接検知プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/031960 WO2024042662A1 (ja) | 2022-08-24 | 2022-08-24 | 障害物近接検知装置、障害物近接検知方法、及び障害物近接検知プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/031960 WO2024042662A1 (ja) | 2022-08-24 | 2022-08-24 | 障害物近接検知装置、障害物近接検知方法、及び障害物近接検知プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024042662A1 true WO2024042662A1 (ja) | 2024-02-29 |
Family
ID=90012763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/031960 WO2024042662A1 (ja) | 2022-08-24 | 2022-08-24 | 障害物近接検知装置、障害物近接検知方法、及び障害物近接検知プログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024042662A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018095376A (ja) * | 2016-12-09 | 2018-06-21 | 株式会社タダノ | クレーン |
JP2019201268A (ja) * | 2018-05-15 | 2019-11-21 | コニカミノルタ株式会社 | 監視システムおよび監視方法 |
US20200272816A1 (en) * | 2019-02-22 | 2020-08-27 | Here Global B.V. | Scalable three dimensional object segmentation |
-
2022
- 2022-08-24 WO PCT/JP2022/031960 patent/WO2024042662A1/ja unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018095376A (ja) * | 2016-12-09 | 2018-06-21 | 株式会社タダノ | クレーン |
JP2019201268A (ja) * | 2018-05-15 | 2019-11-21 | コニカミノルタ株式会社 | 監視システムおよび監視方法 |
US20200272816A1 (en) * | 2019-02-22 | 2020-08-27 | Here Global B.V. | Scalable three dimensional object segmentation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | SLAM-driven robotic mapping and registration of 3D point clouds | |
CN106997049B (zh) | 一种基于激光点云数据的检测障碍物的方法和装置 | |
Overby et al. | Automatic 3D building reconstruction from airborne laser scanning and cadastral data using Hough transform | |
JP4971369B2 (ja) | 旋回可能なセンサ装置を用いた物体検出方法 | |
US20050216237A1 (en) | Identification of 3D surface points using context-based hypothesis testing | |
CN113031005B (zh) | 基于激光雷达的吊车动态障碍物识别方法 | |
JP6381137B2 (ja) | 標識検出装置、方法、及びプログラム | |
CN104574406A (zh) | 一种360度全景激光与多个视觉系统间的联合标定方法 | |
CN112508912B (zh) | 地面点云数据滤除方法及装置、臂架防碰撞方法及系统 | |
CN112033385A (zh) | 一种基于海量点云数据的桥墩位姿测量方法 | |
WO2018159079A1 (ja) | 地形情報処理装置、地形情報処理方法、およびプログラム | |
US20230267593A1 (en) | Workpiece measurement method, workpiece measurement system, and program | |
CN111630342A (zh) | 视觉焊接系统的缝隙检测方法以及系统 | |
CN110926405B (zh) | 一种基于单目视觉灭点检测的arv姿态测量方法 | |
JP2004272459A (ja) | 三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体 | |
CN108563915B (zh) | 车辆数字化仿真测试模型构建系统及方法、计算机程序 | |
WO2024042662A1 (ja) | 障害物近接検知装置、障害物近接検知方法、及び障害物近接検知プログラム | |
WO2024042661A1 (ja) | 障害物近接検知装置、障害物近接検知方法、及び障害物近接検知プログラム | |
US11630208B2 (en) | Measurement system, measurement method, and measurement program | |
CN117218063A (zh) | 基于施工阶段吊篮空间位置变化的桥体施工进度监测方法 | |
CN111007067A (zh) | 岩体结构面自动识别方法及系统 | |
WO2024023949A1 (ja) | 線状物検出装置、線状物検出方法、及び線状物検出プログラム | |
WO2024023950A1 (ja) | 線状物検出装置、線状物検出方法、及び線状物検出プログラム | |
US20200242819A1 (en) | Polyline drawing device | |
WO2024154360A1 (ja) | 抽出装置、抽出方法、及び抽出プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22956490 Country of ref document: EP Kind code of ref document: A1 |