Point cloud processing device
Patent Information
- Application Number
- PCT/JP2025/018082
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-02-20
- Filing Date
- 2025-05-19
- Publication Date
- 2026-08-27
Smart Images

Figure JP2025018082_27082026_PF_FP_ABST
Abstract
Description
Point cloud processing device
[0001] The present disclosure relates to a point cloud processing device for processing point clouds.
[0002] The point cloud processing device is used for the motion planning of a mobile body. In particular, it is required to implement an efficient motion plan in consideration of the surrounding environment of the mobile body and the shape of the mobile body. Therefore, the surrounding environment of the mobile body is acquired as a point cloud by a sensor or the like, and the acquired point cloud is processed to perform motion planning.
[0003] Patent Document 1 discloses that a height range from a reference plane on which a robot device moves to the height of the robot device is divided into a plurality of layers (division regions) corresponding to predetermined height ranges, and an obstacle environment map indicating the occupancy state of obstacles existing in each layer is created. A path is planned based on an enlarged environment map in which the occupancy region of the obstacle in the obstacle environment map is enlarged according to the shape of the mobile robot device in each layer.
[0004] Japanese Patent Application Laid-Open No. 2006-239844
[0005] In the technique disclosed in Patent Document 1, since a path is planned using information corresponding to all layers, there is a problem that the amount of data increases and the computational load in motion planning becomes large.
[0006] The present disclosure has been made to solve the above problems, and an object thereof is to reduce the amount of data used for motion planning.
[0007] The point cloud processing device according to the present disclosure includes a point cloud input unit that inputs a point cloud, which is information about obstacles around a mobile body, a division unit that divides a region including the point cloud and the mobile body under a predetermined division condition into division regions, a first calculation unit that calculates a first shape corresponding to each division region based on the shape of the mobile body included in each division region, a second calculation unit that calculates a second shape corresponding to each division region based on the point cloud included in each division region, an evaluation value calculation unit that calculates an evaluation value corresponding to each division region based on the first shape and the second shape corresponding to each division region, and a point cloud extraction unit that selects a target evaluation value from the evaluation values based on a predetermined selection condition and extracts the point cloud of the division region corresponding to the target evaluation value.
[0008] According to this disclosure, by extracting only a portion of the input point cloud, the amount of data used for motion planning can be reduced.
[0009] Figure 1 is a diagram showing the configuration of a point cloud processing device according to Embodiment 1. Figure 2 is an external view of the moving body and its surroundings according to Embodiment 1. Figure 3 is a top view of the moving body and its surroundings in each divided region according to Embodiment 1. Figure 4 is a diagram showing the first and second shapes of each divided region according to Embodiment 1. Figure 5 is an external view of the moving body and its surroundings when the shape of the moving body and the point cloud around the moving body change. Figure 6 is a top view of the moving body and its surroundings in each divided region when the shape of the moving body and the point cloud around the moving body change. Figure 7 is a diagram showing the first and second shapes of each divided region when the shape of the moving body and the point cloud around the moving body change. Figure 8 is a flowchart showing an example of the operation of a point cloud processing device according to Embodiment 1. Figure 9 is a diagram showing the configuration of a point cloud processing device according to Embodiment 2. Figure 10 is a diagram showing the first and second shapes of each divided region according to Embodiment 2. Figure 11 is a flowchart showing an example of the operation of a point cloud processing device according to Embodiment 2. Figure 12 is a diagram showing the configuration of a point cloud processing device according to Embodiment 3. Figure 13 shows the first and second shapes of each divided region according to Embodiment 3. Figure 14 is a flowchart showing an example of the operation of the point cloud processing device according to Embodiment 3. Figure 15 shows the hardware configuration of the point cloud processing device in Embodiments 1 to 3.
[0010] The mobile unit is, for example, a robot that autonomously travels to supply parts to a production line in a factory, and is controlled to avoid obstacles such as pillars. The mobile unit may be a robot that travels within a limited travel area such as in a factory, or it may be like an automobile, where the travel path is predetermined but the travel range is not restricted.
[0011] In this disclosure, the mobile body includes a point cloud processing device. However, the point cloud processing device does not have to be installed in the mobile body; it may be installed in an external device separate from the mobile body.
[0012] Embodiment 1. Figure 1 is a configuration diagram of the point cloud processing device 110 according to Embodiment 1. Figure 2 is an external view of the area around the moving body 100.
[0013] Figure 1 shows a point cloud sensor 1, a control device 10, a point cloud processing device 110, and a motion planning device 300.
[0014] The point cloud sensor 1 can be any distance measuring sensor that can measure the distance between the moving object 100 and the obstacle 200, for example, a (3D-)LiDAR sensor installed on the moving object 100. The point cloud sensor 1 outputs a point cloud 20 that includes coordinate information of the position of the obstacle 200.
[0015] The control device 10 controls the operation of at least a part of the mobile body 100. As will be described later, when the shape of the mobile body 100 changes, the control device 10 inputs information regarding the control of the mobile body 100 into the storage unit 3.
[0016] The point cloud processing device 110 according to Embodiment 1 comprises a point cloud input unit 2, a storage unit 3, a division unit 4, a first calculation unit 5, a second calculation unit 6, an evaluation value calculation unit 7, and a point cloud extraction unit 8. The point cloud extraction unit 8 includes a selection unit 9.
[0017] The point cloud processing device 110 processes the point cloud 20 input from the point cloud sensor 1, etc., and extracts a portion of the point cloud 20 for use in planning the movement of the moving object 100. For example, as shown in Figure 1, the point cloud 20 extracted by the point cloud extraction unit 8 is input to the movement planning device 300, which plans the movement of the moving object 100.
[0018] The point cloud input unit 2 acquires and inputs a point cloud 20, which is information about obstacles 200 around the moving object 100, from the point cloud sensor 1.
[0019] The memory unit 3 stores information about the shape of the mobile body 100, specifically the characteristics of the shape of the mobile body 100. The memory unit 3 also receives and inputs information about the shape of the mobile body 100 from the control device 10.
[0020] The division unit 4 divides the region containing the point cloud 20 and the moving body 100 according to predetermined division conditions and sets the divided regions as division regions 15. The division unit 4 sets the division regions 15 based on the information input from the storage unit 3 and the point cloud input unit 2 and inputs the shape of the point cloud 20 and the moving body 100 for each division region 15 to the first calculation unit 5 and the second calculation unit 6. The predetermined division conditions are based on the characteristics of the shape of the moving body 100. The division region 15 is a region divided in the height direction from the floor surface to the height of the head of the moving body 100, as shown in Figure 2, for example. In this case, the division conditions can be in any height direction. In this embodiment, the region containing the point cloud 20 and the moving body 100 is divided into three division regions 15: division region 15a, division region 15b, and division region 15c. Note that the number of division regions 15 is merely an example, and the number of division regions 15 is not limited to three.
[0021] The first calculation unit 5 calculates the first shape 21 based on the shape of the moving body 100 included in each divided region 15. Here, the first shape 21 is a size set based on the shape of the moving body 100. For example, in Embodiment 1, the size of the first shape 21 is the area. Alternatively, the size of the first shape 21 may be the volume.
[0022] The second calculation unit 6 calculates the second shape 22 based on the point cloud 20 contained in each divided region 15. Here, the second shape 22 is the size of the region up to the point cloud 20. For example, in Embodiment 1, the size of the second shape 22 is the area. Alternatively, the size of the second shape 22 may be the volume.
[0023] The second calculation unit 6 calculates the second shape 22 such that it is tangent to the obstacles 200 based on the point cloud 20 included in each divided region 15, or is separated by a predetermined distance from the obstacles 200 based on the point cloud 20 included in each divided region 15.
[0024] In this disclosure, the first shape 21 and the second shape 22 are calculated as two-dimensional figures. Figure 3 is a top view of the movable body 100 and the area around the movable body 100 in each divided region 15. Figure 3(a) shows the divided region 15a, Figure 3(b) shows the divided region 15b, and Figure 3(c) shows the divided region 15c. The movable body 100 shown in Figure 3 shows the outer shape of the movable body 100 with details omitted. Figure 3 is also a top view of Figure 2.
[0025] Figure 4 shows the first shape 21 and second shape 22 of each divided region 15 according to Embodiment 1. Figure 4(a) shows the divided region 15a, Figure 4(b) shows the divided region 15b, and Figure 4(c) shows the divided region 15c.
[0026] Based on the shape of the moving object 100 and the point cloud information for each of the 15 divided regions shown in Figure 3, the first calculation unit 5 and the second calculation unit 6 calculate the first shape 21 and the second shape 22 for each of the 15 divided regions, as shown in Figure 4. Here, the first shape 21 and the second shape 22 are the shaded areas shown in Figure 4. Since the second shape 22 is calculated based on the point cloud 20, which is information about the area around the moving object 100, it is an area that also includes the first shape 21.
[0027] Furthermore, the second calculation unit 6 may calculate a region of any size in the direction of the second shape 22 where there are no obstacles 200. For example, as shown in Figure 4, the upper, lower, and left sides of Figure 4, which are the directions of the second shape 22 where there are no obstacles 200, are divided at arbitrary positions and the second shape 22 is calculated accordingly.
[0028] As shown in Figure 1, the evaluation value calculation unit 7 calculates an evaluation value corresponding to each divided region 15 based on the first shape 21 and the second shape 22 corresponding to each divided region 15.
[0029] In Embodiment 1, the evaluation value is the ratio of the size of the first shape 21 to the size of the second shape 22. In Embodiment 1, the evaluation value is the ratio of the area of the first shape 21 to the area of the second shape 22. The evaluation value calculation unit 7 calculates the evaluation value in each divided region 15 based on the first shape 21 and the second shape 22 as shown in Figure 4.
[0030] The point cloud extraction unit 8 selects target evaluation values from evaluation values based on predetermined selection conditions and extracts point clouds 20 of the divided region 15 corresponding to the target evaluation values.
[0031] The point cloud extraction unit 8 includes a selection unit 9. The selection unit 9 compares the evaluation values calculated by the evaluation value calculation unit 7 based on predetermined selection conditions and selects the evaluation value that best satisfies the selection conditions as the target evaluation value. The point cloud extraction unit 8 then selects a divided region 15 corresponding to the target evaluation value and extracts the point cloud 20 of the divided region 15. The point cloud 20 extracted by the point cloud extraction unit 8 is used for motion planning.
[0032] In Embodiment 1, the selection criterion is, for example, the highest evaluation value among the evaluation values. Since the evaluation value is the ratio of the size of the first shape 21 to the size of the second shape 22, the one with the largest size ratio is selected as the target evaluation value. For example, in Embodiment 1, the region with the largest ratio of the size of the first shape 21 to the size of the second shape 22 is the divided region 15b, so the evaluation value of the divided region 15b becomes the target evaluation value.
[0033] Furthermore, the evaluation value is not limited to the ratio of the size of the first shape 21 to the size of the second shape 22. For example, the evaluation value may be the ratio of the size of the second shape 22 to the size of the first shape 21, in which case the selection unit 9 may select the evaluation value of the smallest region as the target evaluation value.
[0034] Furthermore, the calculation of the first shape 21, the second shape 22, and the evaluation value can be made more efficient by compressing them to reduce the capacity. The first calculation unit 5 compresses the first shape 21 into the planes set in each divided region 15. The second calculation unit 6 compresses the second shape 22 into the planes set in each divided region 15. Then, the evaluation value calculation unit 7 calculates the evaluation value based on the compressed first shape 21 and the compressed second shape 22.
[0035] Furthermore, another method for compression by the first calculation unit 5 and the second calculation unit 6 is shown below. The first calculation unit 5 compresses the first shape 21 into the planes set in each divided region 15. The second calculation unit 6 compresses the point cloud 20 contained in each divided region 15 into the planes set in each divided region 15. The second shape 22 is calculated based on the compressed point cloud 20, and the evaluation value calculation unit 7 calculates an evaluation value based on the compressed first shape 21 and the compressed second shape 22.
[0036] The point cloud extraction unit 8 extracts the point cloud 20 of the divided region 15 corresponding to the target evaluation value as a three-dimensional point cloud 20 or a two-dimensional point cloud 20.
[0037] If a three-dimensional point cloud 20 is extracted, the point cloud 20 used in motion planning can take three-dimensional information into account. For example, if the point cloud 20 contains three-dimensional information, the motion planning will also take height information into account.
[0038] When the point cloud extraction unit 8 extracts a two-dimensional point cloud 20, the amount of data is reduced because the information is compressed. For example, if height information is not needed, the two-dimensional information excluding height information can be used, thus reducing the amount of data and enabling efficient operation planning. One example of how the point cloud extraction unit 8 extracts a two-dimensional point cloud 20 is by compressing the information onto the plane set in each divided region 15.
[0039] Furthermore, the shape of the moving object 100 may change, or the point cloud 20, which contains information about obstacles 200 around the moving object 100, may change. In order to process the point cloud 20 in real time and reflect the information, at least one of the first shape 21 and the second shape 22 is a dynamically changeable shape.
[0040] FIG. 5 is an external view of the moving body 100 and the surroundings of the moving body 100 when the shape of the moving body 100 and the point cloud 20 around the moving body 100 change. FIG. 5 shows a change in the external view of the moving body 100 and the surroundings of the moving body 100 compared to FIG. 2. Specifically, in FIG. 5, the length of the arm provided on the moving body 100 operates to extend, and the shape of the moving body 100 in the divided region 15a including the arm changes. Also, in FIG. 5, the state of the obstacle 200 around the moving body 100 changes, and the point cloud 20 in the divided region 15b including the obstacle 200 changes.
[0041] FIG. 6 is a top view of the moving body 100 and the surroundings of the moving body 100 in each divided region 15 when the shape of the moving body 100 and the point cloud 20 around the moving body 100 change. FIG. 6(a) is a view showing the divided region 15a, FIG. 6(b) is a view showing the divided region 15b, and FIG. 6(c) is a view showing the divided region 15c. FIG. 6 is the top view of FIG. 5.
[0042] Similar to FIG. 5, in the divided region 15a of FIG. 6(a), the shape of the moving body changes, and in the divided region 15b of FIG. 6(b), the point cloud 20, which is information about the obstacle 200, changes.
[0043] When the characteristics of the shape of the moving body 100 change since the first shape 21 was last calculated, the first calculation unit 5 calculates the first shape 21 based on the changed shape of the moving body 100. Thereby, the first calculation unit 5 can dynamically change the first shape 21.
[0044] The control device 10 controls the operation of the moving body 100 and inputs a control command, which is information regarding the control of the moving body 100, to the storage unit 3. The dividing unit 4 creates the divided region 15 based on the shape of the moving body 100 from the storage unit 3, and the first calculation unit 5 calculates the first shape 21 based on the shape of the moving body in each divided region 15 input from the dividing unit 4.
[0045] Here, the point cloud processing device 110 or the control device 10 may include means for determining whether the shape of the moving body 100 has changed. For example, the shape of the moving body 100 may be determined by means (not shown). The storage unit 3 stores a relationship formula between the joint angle of the arm and the length of the arm. Since the joint angle of the arm is uniquely determined by the command angle of the motor connected in the joint (an example of a control command from the control device 10), the length of the arm can be determined based on the relationship formula stored in the storage unit 3. The means (not shown) determines whether the shape of the moving body 100 has changed by determining whether this length of the arm has changed by a predetermined value or more. If it is determined that the shape of the moving body 100 has changed, the first calculation unit 5 calculates the first shape 21 based on the length of the arm. Alternatively, instead of storing a relationship formula between the joint angle of the arm and the length of the arm, the storage unit 3 may store a table showing the relationship between the joint angle of the arm and the length of the arm.
[0046] Furthermore, the system does not need to have a means for determining whether or not the shape of the moving body 100 has changed. For example, the first calculation unit 5 receives the shape of the moving body 100 from the storage unit 3 via the division unit 4 at predetermined time intervals, and calculates the first shape 21 based on the shape of the moving body 100 for each divided region 15 input from the division unit 4.
[0047] The second calculation unit 6 receives the point cloud 20 from the point cloud input unit 2 via the division unit 4 at predetermined time intervals, and calculates the second shape 22 based on the point cloud 20 for each division region 15 input from the division unit 4. This allows the second calculation unit 6 to dynamically change the second shape 22. However, it is not limited to this, and the second calculation unit 6 may also perform calculations if it determines that the point cloud 20 has changed or not. For example, it may determine whether the point cloud 20 has changed or not before calculating the second shape 22 by means of a means not shown. If the point cloud 20 has changed, the second calculation unit 6 calculates the second shape 22 based on the changed point cloud 20. By making such a determination, the amount of calculation performed by the second calculation unit 6 can be reduced.
[0048] FIG. 7 is a diagram showing the first shape 21 and the second shape 22 of each divided region 15 when the shape of the moving body 100 and the point group 20 around the moving body 100 change. FIG. 7(a) is a diagram showing the divided region 15a, FIG. 7(b) is a diagram showing the divided region 15b, and FIG. 7(c) is a diagram showing the divided region 15c.
[0049] As shown in FIG. 7, the first calculation unit 5 and the second calculation unit 6 calculate the first shape 21 and the second shape 22 for each divided region 15. In the divided region 15a of FIG. 7(a), the first shape 21 is calculated based on the shape of the moving body 100 changed by the first calculation unit 5. In the divided region 15b of FIG. 7(b), the second shape 22 is calculated based on the point group 20 changed by the second calculation unit 6.
[0050] Then, as shown in FIG. 1, based on the first shape 21 and the second shape 22 recalculated, the evaluation value calculation unit 7 calculates an evaluation value. In FIG. 7, since the region where the ratio of the size of the first shape 21 to the size of the second shape 22 is the largest is the divided region 15a, the evaluation value of the divided region 15a becomes the target evaluation value. The point group extraction unit 8 extracts the point group 20 of the divided region 15 corresponding to the target evaluation value as a three-dimensional point group 20 or a two-dimensional point group 20.
[0051] In this way, since at least one of the first shape 21 and the second shape 22 is a shape that can be dynamically changed, the real-time shape can be reflected, so that the extraction of the point group 20 used for the motion plan becomes more accurate.
[0052] The motion planning device 300 performs a motion plan for the moving body 100 using the point group 20 from the point group extraction unit 8. Here, the motion plan refers to at least one of generating a moving path of the moving body 100, determining a control amount in the movement of the moving body 100, and determining the behavior of the moving body 100 (such as moving to the left side of the passage, moving forward while decelerating, moving backward, etc.). The motion planning device 300 performs a motion plan so as to avoid interference with the obstacle 200 based on the information of the obstacle 200 from the point group 20 from the point group extraction unit 8.
[0053] Figure 8 is a flowchart showing an example of the operation of the point cloud processing device 110 according to Embodiment 1. As shown in Figure 8, when the operation of the point cloud processing device 110 is started by means (not shown), the point cloud input unit 2 acquires the point cloud 20 (step ST1).
[0054] The memory unit 3 outputs the shape of the mobile body 100 (step ST2).
[0055] The division unit 4 divides the region including the point cloud 20 and the moving body 100 according to predetermined division conditions to create a divided region 15 (step ST3).
[0056] The first calculation unit 5 calculates the first shape 21 based on the shape of the moving body 100 in each divided region 15 (step ST4).
[0057] The second calculation unit 6 calculates the second shape 22 based on the point cloud 20 in each divided region 15 (step ST5).
[0058] The evaluation value calculation unit 7 calculates an evaluation value based on the first shape 21 and the second shape 22 (step ST6). In Embodiment 1, the evaluation value calculation unit 7 calculates the ratio of the area of the first shape 21 to the area of the second shape 22 as the evaluation value. At this time, the evaluation value calculation unit 7 performs the calculation for each divided region 15, and performs the calculation using the first shape 21 and the second shape 22 corresponding to each divided region 15.
[0059] The point cloud extraction unit 8 selects a target evaluation value from the evaluation values based on predetermined selection conditions, and extracts and outputs the point cloud 20 of the divided region 15 corresponding to the target evaluation value (step ST7). In Embodiment 1, the point cloud extraction unit 8 selects the largest evaluation value among the evaluation values as the target evaluation value. This outputted point cloud 20 is used for motion planning. After that, the operation of the point cloud processing device 110 is terminated by means of a means not shown.
[0060] As described above, the point cloud processing device 110 of Embodiment 1 includes: a point cloud input unit 2 that inputs a point cloud 20 which is information relating to obstacles 200 around a moving object 100; a division unit 4 that divides the region including the point cloud 20 and the moving object 100 into divided regions 15 according to predetermined division conditions; a first calculation unit 5 that calculates a first shape 21 corresponding to each divided region 15 based on the shape of the moving object 100 included in each divided region 15; a second calculation unit 6 that calculates a second shape 22 corresponding to each divided region 15 based on the point cloud 20 included in each divided region 15; an evaluation value calculation unit 7 that calculates an evaluation value corresponding to each divided region 15 based on the first shape 21 and the second shape 22 corresponding to each divided region 15; and a point cloud extraction unit 8 that selects a target evaluation value from the evaluation value based on predetermined selection conditions and extracts the point cloud 20 of the divided region 15 corresponding to the target evaluation value.
[0061] As a result, the point cloud processing device 110 of Embodiment 1 extracts only the point cloud 20 of the selected division region 15 from the point cloud 20 of each division region 15, thus extracting only the minimum number of point clouds 20 necessary for motion planning. Therefore, the amount of data used for motion planning can be reduced. In addition, since the point cloud 20 selected from the evaluation values of each division region 15 is used for motion planning, the computational load can be reduced compared to calculating the motion plan while considering all three-dimensional information related to the moving object 100 and its surroundings and using that three-dimensional information.
[0062] At least one of the first shape 21 and the second shape 22 is a dynamically changeable shape. By calculating the first shape 21 and the second shape 22 as dynamic shapes, the shape can be reflected in real time. This improves the quality of the information in the extracted point cloud 20 and allows for more accurate motion planning.
[0063] The first calculation unit 5 calculates the first shape 21 based on the changed shape of the moving body 100 when the shape characteristics of the moving body 100 have changed since the last time the first shape 21 was calculated. As a result, when the shape of the moving body 100 changes, the first shape 21 is calculated in accordance with the changed shape of the moving body 100, so that the point cloud 20 can be extracted based on evaluation values calculated with higher accuracy.
[0064] The point cloud input unit 2 receives the point cloud 20 as a three-dimensional point cloud 20. Because it is three-dimensional information, it is possible to obtain information in both the plane and height directions, allowing for more accurate processing.
[0065] The point cloud extraction unit 8 extracts point clouds 20 from the divided regions 15 corresponding to the target evaluation values as either three-dimensional or two-dimensional point clouds 20. This allows the three-dimensional information to be used in motion planning by providing a point cloud 20 that also considers height. Furthermore, if the information is two-dimensional, it avoids the use of unnecessary data if height information is not required.
[0066] The first calculation unit 5 compresses the first shape 21 onto the plane set in each divided region 15, the second calculation unit 6 compresses the second shape 22 onto the plane set in each divided region 15, and the evaluation value calculation unit 7 calculates an evaluation value based on the compressed first shape 21 and the compressed second shape 22. The first calculation unit 5 compresses the first shape 21 onto the plane set in each divided region 15, the second calculation unit 6 compresses the point cloud 20 contained in each divided region 15 onto the plane set in each divided region 15, calculates the second shape 22 based on the compressed point cloud 20, and the evaluation value calculation unit 7 calculates an evaluation value based on the compressed first shape 21 and the compressed second shape 22. This reduces the amount of computation by projecting onto a plane and compressing the information into two dimensions.
[0067] The second calculation unit 6 calculates the second shape 22 such that it is tangent to the obstacle 200 based on the point cloud 20 included in each divided region 15, or is separated by a predetermined distance from the obstacle 200 based on the point cloud 20 included in each divided region 15. This makes it possible to calculate the size of the second shape 22 based on the point cloud 20 more efficiently.
[0068] The evaluation value is the ratio of the size of the first shape 21 to the size of the second shape 22, and the point cloud extraction unit 8 uses the largest evaluation value as the target evaluation value. By calculating the size ratio, the range in which the mobile body 100 can operate can be calculated. Furthermore, by outputting the evaluation value with the largest ratio of the size of the first shape 21 to the size of the second shape 22, the segmented region 15 with the smallest operable range of the mobile body 100 can be extracted, and the operation plan can be created more efficiently.
[0069] The division unit 4 divides the region containing the point cloud 20 and the moving body 100 into divided regions 15 based on the shape characteristics of the moving body 100. As a result, the efficiency of calculations for each divided region 15 can be improved because the region is divided based on the shape characteristics of the moving body 100.
[0070] The point cloud 20 may be generated based on information detected by sensors such as cameras installed outside the mobile body 100. Alternatively, the motion planning device 300 may have a memory device, and map information of the mobile body 100's travel range may be stored in the memory device in advance, and the point cloud 20 may be a virtual point cloud generated based on the stored map information. A virtual point cloud could be, for example, road markings. The point cloud 20 may also be a fixed point cloud set from the position information of fixed structures among the obstacles 200. The memory device may be installed on the mobile body 100, or the mobile body 100 may have a communication means and the memory device may be stored on a network.
[0071] Embodiment 2. Next, the point cloud processing device 120 according to Embodiment 2 will be described with reference to Figures 9 to 11. The point cloud processing device 120 according to Embodiment 2 differs from that of Embodiment 1 in the calculation methods of the first calculation unit and the second calculation unit. Figure 9 is a configuration diagram of the point cloud processing device 120 according to Embodiment 2. Components identical to those in Embodiment 1 are denoted by the same reference numerals and their descriptions are omitted.
[0072] The point cloud processing device 120 according to Embodiment 2 shown in Figure 9 differs from Embodiment 1 in that it includes a first calculation unit 52 and a second calculation unit 62. In Embodiment 2, the first calculation unit 52 and the second calculation unit 62 calculate the first shape 23 and the second shape 24 as primitive shapes. Note that at least one of the first shape 23 and the second shape 24 only needs to be calculated as a primitive shape.
[0073] Primitive shapes are simple geometric shapes, such as roughly circular or polygonal shapes. In Embodiment 2, as an example of primitive shapes, the first shape 23 and the second shape 24 are calculated as ellipses.
[0074] Figure 10 shows the first shape 23 and second shape 24 of each divided region 15 according to Embodiment 2. As shown in Figure 10, the first calculation unit 52 calculates the first shape 23 as an ellipse shape based on the shape of the moving body 100 in each divided region 15. The first shape 23 is calculated as an ellipse with a size that circumscribes the shape of the moving body 100.
[0075] Furthermore, the second calculation unit 62 calculates a second shape 24 as an ellipse based on the point cloud 20 in each divided region 15. The second shape 24 is calculated as an ellipse of a size that the point cloud 20 touches. For example, the ratio of the length of the minor axis to the length of the major axis of the ellipse may be predetermined and calculated.
[0076] Furthermore, in order to calculate the area without obstacles 200 over the widest possible range, the second calculation unit 6 may calculate the second shape 24 using the shape that maximizes its size. For example, as shown in Figure 10, in an area where no obstacles 200 (point cloud 20) exist, the length in the left-right direction of the drawing is longer than the length in the vertical direction of the drawing. Therefore, by setting the major axis of the ellipse to be in the left-right direction of the drawing, the second shape 24 can be calculated in the shape that maximizes its size. Also, if there are multiple point clouds 20, the second shape 24 may be calculated using the primitive shape that maximizes its size based on the point cloud 20 that is closest in distance to the moving object 100.
[0077] The evaluation value calculation unit 7 calculates evaluation values corresponding to each divided region 15 based on the first shape 23 and second shape 24 calculated using primitive shapes. The point cloud extraction unit 8 then selects a target evaluation value from the evaluation values based on predetermined selection conditions by the selection unit 9, and extracts the point cloud 20 of the divided region 15 corresponding to the target evaluation value. In Embodiment 2, the selection condition is that the largest evaluation value among the evaluation values, with the largest size ratio, is selected as the target evaluation value. For example, in Embodiment 2, the region with the largest size ratio of the first shape 23 to the size of the second shape 24 is the divided region 15b, so the evaluation value of the divided region 15b becomes the target evaluation value.
[0078] Figure 11 is a flowchart showing an example of the operation of the point cloud processing device 120 according to Embodiment 2. Figure 11 differs from Figure 8 in that the processing of step ST8 is performed after the processing of step ST3, and the processing of step ST9 is performed after the processing of step ST8. Steps other than steps ST8 and ST9 are the same as those shown in Figure 8, so their explanation is omitted.
[0079] After the processing in step ST3 is performed, the first calculation unit 52 calculates the first shape 23 in primitive form based on the shape of the moving body 100 in each divided region 15 (step ST8).
[0080] After the processing in step ST8 is completed, the second calculation unit 62 calculates the second shape 24 in each divided region 15 as a primitive shape based on the point cloud 20 (step ST9).
[0081] As described above, in the point cloud processing device 120 according to Embodiment 2, at least one of the first shape 23 and the second shape 24 is a primitive shape. As a result, the first shape 23 and the second shape 24 do not become complex shapes, and the processing load of the point cloud processing device 120, such as the calculation of evaluation values, can be reduced.
[0082] The second calculation unit 62 calculates the second shape 22 as the shape with the maximum size. This allows the point cloud 20 to be processed under conditions that ensure the widest possible area without obstacles 200, making motion planning more efficient.
[0083] Embodiment 3. Next, the point cloud processing device 130 according to Embodiment 3 will be described with reference to Figures 12 to 14. The point cloud processing device 130 according to Embodiment 3 differs from that of Embodiment 1 in its method of calculating evaluation values. Figure 12 is a configuration diagram of the point cloud processing device 130 according to Embodiment 3. Figure 13 is a diagram showing the shortest distance 25 between the first shape 21 and the second shape 22 of each divided region 15 according to Embodiment 3. Components identical to those in Embodiments 1 and 2 are denoted by the same reference numerals and their descriptions are omitted.
[0084] The point cloud processing device 130 according to Embodiment 3 shown in Figure 12 differs from Embodiment 1 in that it includes an evaluation value calculation unit 73 and a point cloud extraction unit 83 having a selection unit 93.
[0085] In Embodiment 1, the evaluation value was the ratio of the size of the first shape 21 to the size of the second shape 22, but in Embodiment 3, the evaluation value is the shortest distance 25 between the first shape 21 and the second shape 22. The shortest distance 25 between the first shape 21 and the second shape 22 is the shortest distance between the moving body 100 and the obstacle 200 based on the point cloud 20.
[0086] As shown in Figure 13, the evaluation value calculation unit 73 calculates the shortest distance 25 between the first shape 21 and the second shape 22 based on the first shape 21 and the second shape 22, and sets it as the evaluation value.
[0087] The selection unit 93 of the point cloud extraction unit 83 compares the evaluation values calculated by the evaluation value calculation unit 73 based on predetermined selection conditions and selects the evaluation value that best satisfies the selection conditions as the target evaluation value. In Embodiment 3, since the evaluation value is the shortest distance 25 between the first shape 21 and the second shape 22, the one with the smallest evaluation value is the closest to the moving object 100 and the obstacle 200. Therefore, the selection condition is the smallest evaluation value among the evaluation values, and the smallest evaluation value is selected as the target evaluation value.
[0088] As shown in Figure 13, for example, in Embodiment 3, the division region 15 with the smallest shortest distance 25 between the first shape 21 and the second shape 22 is the division region 15b shown in Figure 13(b), so the evaluation value of the division region 15b becomes the target evaluation value.
[0089] The point cloud extraction unit 83 then selects a divided region 15 corresponding to the target evaluation value and extracts the point cloud 20 of the divided region 15 corresponding to that divided region 15.
[0090] The evaluation value calculation unit 73 may use the first shape 23 and the second shape 24, which were calculated using primitive shapes as shown in Embodiment 2, to determine the evaluation value as the shortest distance 25 between the first shape 23 and the second shape 24.
[0091] Figure 14 is a flowchart showing an example of the operation of the point cloud processing device 130 according to Embodiment 3. Figure 14 differs from Figure 8 in that the processing of step ST10 is performed after the processing of step ST5, and the processing of step ST11 is performed after the processing of step ST10. Steps other than step ST10 and step ST11 are the same as those shown in Figure 8, so their explanation is omitted.
[0092] After the processing in step ST5 is performed, the evaluation value calculation unit 73 calculates an evaluation value based on the first shape 21 and the second shape 22 (step ST10). In embodiment 3, the evaluation value calculation unit 73 calculates the shortest distance 25 between the first shape 21 and the second shape 22 as the evaluation value. At this time, the evaluation value calculation unit 73 calculates for each divided region 15, and calculates using the first shape 21 and the second shape 22 corresponding to each divided region 15.
[0093] After the processing in step ST10 is performed, the point cloud extraction unit 83 selects a target evaluation value from the evaluation values based on predetermined selection conditions, and extracts and outputs the point cloud 20 of the divided region 15 corresponding to the target evaluation value (step ST11). In embodiment 3, the point cloud extraction unit 83 selects the smallest evaluation value among the evaluation values as the target evaluation value.
[0094] Based on the above, in the point cloud processing device 130 according to Embodiment 3, the evaluation value is the shortest distance 25 between the first shape 21 and the second shape 22, and the point cloud extraction unit 83 uses the smallest evaluation value among the evaluation values as the target evaluation value. As a result, since the evaluation value is calculated using distance, the processing load of the point cloud processing device 130 can be reduced compared to when it is calculated using area.
[0095] Here, the hardware configuration of the point cloud processing units 110, 120, and 130 in Embodiments 1 to 3 will be described. Each function of the point cloud processing units 110, 120, and 130 can be realized by a processing circuit. The processing circuit comprises at least one processor and at least one memory.
[0096] Figure 15 shows the hardware configuration of the point cloud processing units 110, 120, and 130 in embodiments 1 to 3. The point cloud processing units 110, 120, and 130 can be realized by the processor 90 and memory 91 shown in Figure 15(a). The processor 90 is, for example, a CPU (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration).
[0097] The memory 91 is, for example, a non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM® (Electrically Erasable Programmable Read-Only Memory), HDD (Hard Disk Drive), magnetic disk, flexible disk, optical disk, compact disk, minidisc, or DVD (Digital Versatile Disk).
[0098] The functions of each part of the point cloud processing units 110, 120, and 130 are realized by software (software, firmware, or software and firmware). The software is written as a program and stored in memory 91. The processor 90 realizes the functions of each part by reading and executing the program stored in memory 91. In other words, this program can be said to cause the computer to execute the procedures or methods of the point cloud processing units 110, 120, and 130.
[0099] The program executed by processor 90 may be provided as a computer program product, stored on a computer-readable storage medium, in an installable or executable file format. Alternatively, the program executed by processor 90 may be provided to point cloud processing units 110, 120, and 130 via a network such as the Internet.
[0100] Furthermore, the point cloud processing devices 110, 120, and 130 may be implemented by a dedicated processing circuit 92 as shown in Figure 15(b). If the processing circuit 92 is dedicated hardware, it may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof.
[0101] The above describes a configuration in which the functions of each component of the point cloud processing unit 110, 120, and 130 are realized either by software or by hardware. However, this is not the only configuration; some components of the point cloud processing unit 110, 120, and 130 may be realized by software, while others may be realized by dedicated hardware.
[0102] The configurations shown in Embodiments 1 to 3 above are examples and can be combined with other known technologies. Furthermore, Embodiments 1 to 3 can be combined with each other. In addition, some parts of the configuration can be omitted or modified without departing from the spirit of the invention.
[0103] 110, 120, 130 Point cloud processing unit, 1 Point cloud sensor, 2 Point cloud input unit, 3 Storage unit, 4 Division unit, 5, 52 First calculation unit, 6, 62 Second calculation unit, 7, 73 Evaluation value calculation unit, 8, 83 Point cloud extraction unit, 9, 93 Selection unit, 10 Control device, 15, 15a, 15b, 15c Division region, 20 Point cloud, 21, 23 First shape, 22, 24 Second shape, 25 Shortest distance, 90 Processor, 91 Memory, 92 Processing circuit, 100 Moving object, 200 Obstacle, 300 Motion planning device, ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11 Step.
Claims
1. A point cloud processing device comprising: a point cloud input unit for inputting a point cloud containing information about obstacles around a moving object; a division unit for dividing a region including the point cloud and the moving object into divided regions according to predetermined division conditions; a first calculation unit for calculating a first shape corresponding to each divided region based on the shape of the moving object included in each divided region; a second calculation unit for calculating a second shape corresponding to each divided region based on the point cloud included in each divided region; an evaluation value calculation unit for calculating an evaluation value corresponding to each divided region based on the first and second shapes corresponding to each divided region; and a point cloud extraction unit for selecting a target evaluation value from the evaluation value based on predetermined selection conditions and extracting the point cloud of the divided region corresponding to the target evaluation value.
2. The point cloud processing apparatus according to claim 1, characterized in that at least one of the first shape and the second shape is a dynamically changeable shape.
3. The point cloud processing apparatus according to claim 1 or 2, characterized in that the first calculation unit calculates the first shape based on the changed shape of the moving body when the characteristics of the shape of the moving body have changed since the last time the first shape was calculated.
4. The point cloud processing device according to any one of claims 1 to 3, characterized in that the point cloud input unit inputs the point cloud as a three-dimensional point cloud.
5. The point cloud processing apparatus according to any one of claims 1 to 4, characterized in that the point cloud extraction unit extracts the point cloud of the divided region corresponding to the target evaluation value as a three-dimensional point cloud or a two-dimensional point cloud.
6. The point cloud processing apparatus according to any one of claims 1 to 5, characterized in that the first calculation unit compresses the first shape into a plane set in each of the division regions, the second calculation unit compresses the second shape into a plane set in each of the division regions, and the evaluation value calculation unit calculates the evaluation value based on the compressed first shape and the compressed second shape.
7. The point cloud processing apparatus according to any one of claims 1 to 5, characterized in that the first calculation unit compresses the first shape into a plane set in each of the division regions, the second calculation unit compresses the point cloud included in each of the division regions into a plane set in each of the division regions and calculates the second shape based on the compressed point cloud, and the evaluation value calculation unit calculates the evaluation value based on the compressed first shape and the compressed second shape.
8. The point cloud processing apparatus according to any one of claims 1 to 7, characterized in that the second calculation unit calculates the second shape such that it is tangent to the obstacle based on the point cloud included in each of the division regions, or is separated by a predetermined distance from the obstacle based on the point cloud included in each of the division regions.
9. The point cloud processing apparatus according to any one of claims 1 to 8, characterized in that at least one of the first shape and the second shape is a primitive shape.
10. The point cloud processing apparatus according to claim 9, characterized in that the second calculation unit calculates the second shape as the shape with the maximum size.
11. The point cloud processing apparatus according to any one of claims 1 to 10, wherein the evaluation value is the ratio of the size of the first shape to the size of the second shape, and the point cloud extraction unit sets the largest evaluation value among the evaluation values as the target evaluation value.
12. The point cloud processing apparatus according to any one of claims 1 to 10, wherein the evaluation value is the shortest distance in the first shape and the second shape, and the point cloud extraction unit sets the smallest evaluation value among the evaluation values as the target evaluation value.
13. The point cloud processing apparatus according to any one of claims 1 to 12, characterized in that the dividing portion divides the region including the point cloud and the moving body based on the shape characteristics of the moving body to form the dividing region. The point cloud processing apparatus according to the description.