Cleaning path planning device, robot, cleaning path planning method, and computer program
The cleaning path planning device efficiently divides and plans paths for robots to push objects from complex-shaped cleaning areas into a discharge area by approximating shapes to right-angled polygons, addressing the challenge of non-rectangular cleaning areas.
Patent Information
- Application Number
- JP2022107622
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-07-04
- Publication Date
- 2026-01-22
- Estimated Expiration
- 2042-07-04
AI Technical Summary
Existing technologies struggle to plan effective cleaning paths for robots with push-out mechanisms in non-rectangular cleaning areas, particularly right-angled polygons, as they fail to ensure objects are efficiently pushed into a discharge area.
A cleaning path planning device and method that divides a cleaning area into multiple sections, approximates non-rectangular areas to right-angled polygons, and generates paths to sequentially push objects into adjacent sections, ultimately to a discharge area, using environmental maps and robotic mechanisms.
Enables efficient cleaning paths for robots to push objects from complex-shaped cleaning areas into a discharge area, ensuring comprehensive coverage and effective waste management.
Smart Images

Figure 0007804188000001 
Figure 0007804188000002 
Figure 0007804188000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a cleaning path planning device, a robot, a cleaning path planning method, and a computer program. [Background technology]
[0002] In recent years, automation of cleaning using robots with push-out mechanisms such as blades, such as bulldozers, has progressed. Because the amount of waste generated varies depending on the robot's cleaning path plan, methods for planning cleaning paths have been studied. For example, Non-Patent Document 1 discloses a technology for planning cleaning paths for robots with push-out mechanisms. The technology in Non-Patent Document 1 plans cleaning paths for cleaning rectangular cleaning areas, but cleaning areas are often not rectangular in shape. Therefore, there is a demand for a technology that can automatically plan cleaning paths for cleaning areas with more complex shapes, such as right-angled polygons.
[0003] If the cleaning area is a right-angled polygon, since a right-angled polygon can be represented by a combination of rectangles, it is possible to divide the right-angled polygon into rectangles and apply the technology in non-patent document 1 to plan a cleaning path.
[0004] As a technique for dividing a right-angled polygon into rectangles, for example, Patent Document 1 discloses a technique for dividing a right-angled irregular polygon region into rectangles in ascending order of x-coordinate. Patent Document 2 discloses a technique for dividing a right-angled polygon into the minimum number of rectangles. Furthermore, Non-Patent Document 2 discloses a method for dividing a right-angled polygon with holes into the minimum number of rectangles in a shorter calculation time. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 01-183782 [Patent Document 2] Japanese Patent Application Laid-Open No. 2002-313917 [Non-patent literature]
[0006] [Non-Patent Document 1] Japan Institute of Invention and Innovation, Disclosure of Technical Information, No. 2021-501219 [Non-patent document 2] Hwi Kim, 2 others, “Rectangular Partitions of a Rectilinear Polygon”, [online], November 3, 2021, arXiv:2111.01970, [searched on June 6, 2020], Internet <URL: https: / / arxiv.org / abs / 2111.01970> Summary of the Invention [Problem to be solved by the invention]
[0007] However, while the techniques described in Patent Documents 1 and 2 and Non-Patent Document 2 above make it possible to divide a right-angled polygon into rectangles, even if each rectangular section within a cleaning area can be cleaned by applying the technique of Non-Patent Document 1, it is not necessarily possible to ultimately push objects within the cleaning area out into the discharge area.
[0008] Therefore, the present invention has been made in consideration of the above problems, and an object of the present invention is to provide a cleaning path planning device, a cleaning path planning method and a computer program that are capable of planning a cleaning path that pushes objects within a rectangular polygonal cleaning area to a discharge area, and a robot that cleans the cleaning area based on the planned cleaning path. [Means for solving the problem]
[0009] In order to solve the above problem, according to one aspect of the present invention, there is provided a cleaning path planning device that plans a cleaning path of a cleaning area by a robot having a push-out mechanism, the cleaning path planning device comprising: an environmental map acquisition unit that acquires an environmental map including the cleaning area; an area extraction unit that extracts from the environmental map the cleaning area and a discharge area to which objects in the cleaning area are discharged; and a cleaning path generation unit that divides the cleaning area into a plurality of cleaning sections and generates a cleaning path that sequentially pushes objects in each cleaning section into adjacent cleaning sections, finally pushing them to the discharge area.
[0010] The cleaning path generation unit may identify the shape of the cleaning area extracted from the environmental map, approximate the cleaning area to a right-angled polygon if the shape of the cleaning area is other than a rectangle or a right-angled polygon, divide the right-angled polygon cleaning area or the cleaning area approximating a right-angled polygon into rectangular cleaning sections, determine the cleaning order of the cleaning sections based on the specified cleaning mode, and generate a cleaning path.
[0011] The cleaning path generator may divide a cleaning area that is a right-angled polygon or approximates a right-angled polygon into rectangular cleaning sections starting from the area closest to the discharge area.
[0012] The cleaning path generation unit may extract a line segment of the cleaning area adjacent to the discharge area, set a first cleaning section with the line segment as one side of a rectangle, and repeat the process of extracting a line segment that is adjacent to the nth cleaning section (n is a natural number) and is not the contour of the cleaning area, and for each extracted line segment, set an n+1th cleaning section with the line segment as one side of a rectangle, until cleaning sections have been set for the entire range of the cleaning area.
[0013] The cleaning path generation unit may set another cleaning section as a tentative discharge area for each cleaning section that is not adjacent to the discharge area, and generate a cleaning path by connecting paths that push objects from the cleaning section to the tentative discharge area based on the cleaning order of the cleaning sections.
[0014] In addition, in order to solve the above problem, according to another aspect of the present invention, a robot is provided which includes a push-out mechanism for pushing out objects, a self-propelled mechanism, and a control unit which causes the self-propelled mechanism to run based on a cleaning path in a cleaning area consisting of multiple cleaning sections, in which objects in each cleaning section are pushed sequentially into adjacent cleaning sections, and finally to a discharge area where the objects in the cleaning area are discharged.
[0015] Furthermore, in order to solve the above problem, according to another aspect of the present invention, there is provided a cleaning path planning method for planning a cleaning path of a cleaning area by a robot having an extrusion mechanism, the cleaning path planning method including: an environmental map acquisition step for acquiring an environmental map including the cleaning area; an area extraction step for extracting from the environmental map the cleaning area and a discharge area to which objects in the cleaning area are discharged; and a cleaning path generation step for dividing the cleaning area into a plurality of cleaning sections, sequentially pushing objects in each cleaning section into adjacent cleaning sections, and finally generating a cleaning path that pushes the objects in each cleaning section to the discharge area.
[0016] In addition, in order to solve the above problem, according to another aspect of the present invention, there is provided a computer program that causes a computer to function as a cleaning path planning device that plans a cleaning path of a cleaning area by a robot having an extrusion mechanism, the computer program comprising: an environmental map acquisition unit that acquires an environmental map including the cleaning area; an area extraction unit that extracts from the environmental map the cleaning area and a discharge area to which objects in the cleaning area are discharged; and a cleaning path generation unit that divides the cleaning area into a plurality of cleaning sections and generates a cleaning path that sequentially pushes objects in each cleaning section into adjacent cleaning sections, finally pushing them to the discharge area. [Effects of the Invention]
[0017] As described above, according to the present invention, a cleaning area is divided into multiple cleaning sections, and a cleaning path is generated to push objects in each cleaning section toward the discharge area. This allows a robot with a push mechanism to plan a cleaning path to push objects in a rectangular polygonal cleaning area toward the discharge area. [Brief explanation of the drawings]
[0018] [Figure 1] FIG. 2 is an explanatory diagram showing a cleaning area to be cleaned by the robot and a discharge area. [Figure 2] 1 is a block diagram showing an example of the configuration of a cleaning path planning device according to an embodiment of the present invention. [Figure 3] 10 is a flowchart illustrating an example of a cleaning path planning method according to the embodiment. [Figure 4] 10 is a flowchart illustrating an example of a cleaning path generation process according to the embodiment. [Figure 5] 10 is a flowchart illustrating an example of a cleaning area division process according to the embodiment. [Figure 6] FIG. 2 is an explanatory diagram showing an example of a cleaning area and a discharge area. [Figure 7] FIG. 7 is an explanatory diagram showing the order in which the cleaning area shown in FIG. 6 is divided. [Figure 8] FIG. 2 is a block diagram showing an example of a hardware configuration of an information processing device that functions as a cleaning path planning device. [Figure 9] 1 is an image of an environmental map including a cleaning area and a discharge area of a 28-sided right-angled polygon used in Example A. [Figure 10] 10 is an image showing the division result of the cleaning area in FIG. 9. [Figure 11] 10 is an image of an environmental map including a cleaning area and a discharge area used in Example B. [Figure 12] 12 is an image showing cleaning paths set for each of the left (L), center (C), and right (R) cleaning sections of the cleaning area in FIG. 11. [Figure 13] 10 is an image showing the simulation results of cleaning a cleaning area by a robot for each of cleaning paths a to c in Example B. DETAILED DESCRIPTION OF THE INVENTION
[0019] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In this specification and drawings, components having substantially the same functional configurations are designated by the same reference numerals, and redundant explanations will be omitted.
[0020] [1. Overview] First, an overview of cleaning path planning by a cleaning path planning device according to one embodiment of the present invention will be described with reference to Fig. 1. Fig. 1 is an explanatory diagram showing a cleaning area Ac to be cleaned by a robot 50 and a discharge area Ad, showing each area Ac and Ad as viewed from above.
[0021] The cleaning path planning device according to this embodiment plans a cleaning path for pushing objects 9 in a cleaning area Ac to a discharge area Ad by a robot 50. The robot 50 includes a self-propelled mechanism that moves by rotating wheels 53 on a main body 51, and a push mechanism 55 that pushes objects 9. The robot 50 moves by itself through the cleaning area Ac based on the cleaning path generated by the cleaning path planning device (i.e., a cleaning path that, in a cleaning area consisting of multiple cleaning sections, sequentially pushes objects in each cleaning section to adjacent cleaning sections, and finally pushes them to a discharge area where the objects in the cleaning area are discharged), and pushes objects 9 scattered within the cleaning area Ac using the push mechanism 55, and moves them to the discharge area Ad.
[0022] The cleaning area Ac is a right-angled polygon as shown in Fig. 1. The cleaning area Ac includes obstacles to the movement of the robot 50, such as equipment supports 30. In order for the robot 50 to discharge objects 9 in such cleaning area Ac to the discharge area Ad, the cleaning path planning device according to this embodiment divides the right-angled polygonal cleaning area Ac, determines the order in which each cleaning section will be cleaned, and generates a cleaning path that pushes the objects 9 in the cleaning section toward the discharge area Ad.
[0023] The cleaning path planning device and cleaning path planning method according to this embodiment will be described below.
[0024] [2. Cleaning path planning device] 2 is a block diagram showing an example configuration of a cleaning path planning device 100 according to one embodiment of the present invention. As shown in FIG. 2, the cleaning path planning device 100 according to this embodiment includes an environment map acquisition unit 110, an area extraction unit 120, a cleaning path generation unit 130, and an output unit 140.
[0025] The environmental map acquisition unit 110 acquires an environmental map that includes the cleaning area. The environmental map is map information of the surrounding area where the robot 50 that cleans the cleaning area is located. From the environmental map, it is possible to grasp information such as what kind of environment the cleaning area is in and where and what kind of obstacles are located in the cleaning area.
[0026] The environmental map acquisition unit 110 may acquire, as the environmental map, drawings acquired in advance or map information provided online. Alternatively, the environmental map acquisition unit 110 may acquire the environmental map using technologies such as SLAM (Simultaneous Localization and Mapping), SFM (Structure from Motion), or LiDAR (Light Detection and Ranging). The environmental map acquisition unit 110 may also acquire, as the environmental map, images taken by a camera installed around the cleaning area or a camera mounted on the robot 50, a point cloud acquired by LiDAR, or map information manually created by a cleaning staff member. The environmental map acquisition unit 110 outputs the acquired environmental map to the area extraction unit 120.
[0027] The area extraction unit 120 extracts, from the environmental map, a cleaning area to be cleaned by the robot 50 and a discharge area to which objects in the cleaning area are discharged. If the cleaning area and discharge area are specified in advance on the environmental map acquired by the environmental map acquisition unit 110, the area extraction unit 120 automatically extracts the cleaning area and discharge area from the environmental map. Alternatively, the cleaning staff may manually specify the cleaning area and discharge area on the environmental map. The area extraction unit 120 outputs information for extracting the specified cleaning area and discharge area from the environmental map (for example, an image of the environmental map showing the cleaning area and discharge area in different display colors) to the cleaning path generation unit 130.
[0028] The cleaning path generation unit 130 divides a cleaning area into multiple cleaning sections and generates a cleaning path that sequentially pushes objects in each cleaning section into adjacent cleaning sections, ultimately pushing them to the discharge area. After dividing the cleaning area into multiple cleaning sections, a cleaning path must be appropriately set to push objects in each cleaning section to the discharge area. Therefore, the cleaning path generation unit 130 according to this embodiment sets one adjacent cleaning section as a temporary discharge area for each cleaning section that is not adjacent to the discharge area, and determines a path for each cleaning section that pushes objects in the cleaning section to the set temporary discharge area. The cleaning path generation unit 130 then generates a cleaning path by connecting the paths determined for each cleaning section based on the cleaning order of the cleaning sections. This generates a cleaning path that sequentially pushes objects in each cleaning section into adjacent cleaning sections, ultimately pushing the objects to the discharge area, which is their final discharge destination.
[0029] The cleaning path generation process performed by cleaning path generation unit 130 will be described in detail later. Cleaning path generation unit 130 outputs the generated cleaning path to output unit 140.
[0030] The output unit 140 transmits the cleaning path generated by the cleaning path generation unit 130 to the robot 50. When the robot 50 receives the cleaning path from the cleaning path planning device 100, the control unit 57 starts driving control so that the robot 50 travels according to the cleaning path. Note that the robot 50 may be configured so that the driving can be manually controlled by a cleaning vehicle operator using a remote controller or the like, so that the robot 50 can be driven even when automatic cleaning is difficult.
[0031] 2, the environmental map acquisition unit 110, the area extraction unit 120, and the cleaning path generation unit 130 of the cleaning path planning device 100 are configured as devices separate from the robot 50, but the present invention is not limited to this example. These functional units may also be mounted on the robot 50.
[0032] [3. Cleaning path planning method] A cleaning path planning method according to this embodiment will be described below with reference to Figs. 3 to 7. Fig. 3 is a flowchart showing an example of a cleaning path planning method according to this embodiment. Fig. 4 is a flowchart showing an example of a cleaning path generation process according to this embodiment. Fig. 5 is a flowchart showing an example of a cleaning area division process according to this embodiment. Fig. 6 is an explanatory diagram showing an example of a cleaning area and a discharge area. Fig. 7 is an explanatory diagram showing the order of division of the cleaning area shown in Fig. 6.
[0033] (1) Environmental map acquisition (S10) In the cleaning path planning method according to this embodiment, first, as shown in Fig. 3, an environmental map including the cleaning area is acquired by the environmental map acquisition unit 110 (S10). The environmental map acquisition unit 110 may acquire the environmental map from a previously acquired drawing, map information provided online, an environmental map obtained using technologies such as SLAM, SFM, or LiDAR, an image captured by a camera, map information manually created by a cleaning staff member, etc. The environmental map acquisition unit 110 outputs the acquired environmental map to the area extraction unit 120.
[0034] (2) Area extraction (S20) Next, the area extraction unit 120 extracts from the environmental map at least a cleaning area to be cleaned by the robot 50 and a discharge area to which objects within the cleaning area are to be discharged (S20). The area extraction unit 120 automatically extracts the cleaning area and the discharge area from the environmental map acquired by the environmental map acquisition unit 110. For example, in the case of cleaning ore deposits under a belt conveyor, it is sufficient to scrape the ore deposits from under the belt conveyor to a path accessible by large heavy equipment. In this case, the area extraction unit 120 recognizes the path accessible by large heavy equipment and the belt conveyor from the environmental information, and determines the installation area of the belt conveyor as the cleaning area and the path accessible by large heavy equipment as the discharge area. Note that the cleaning staff may manually specify the cleaning area and the discharge area on the environmental map.
[0035] The area extraction unit 120 extracts at least the cleaning area and the discharge area from the environmental map, displays the results on an image of the environmental map, and outputs the image of the environmental map showing the extracted areas to the cleaning path generation unit 130. In the image of the environmental map, for example, each area is displayed in a different display color. This makes it possible to grasp where on the environmental map the cleaning area and the discharge area are located.
[0036] (3) Cleaning path generation (S30) The cleaning path generation unit 130 divides the cleaning area into multiple cleaning sections, and generates a cleaning path that sequentially pushes objects in each cleaning section into adjacent cleaning sections, and finally pushes them to the discharge area (S30). Below, as an example of the cleaning path generation process, a process will be described with reference to Figures 4 to 7, in which the cleaning area is approximated as a right-angled polygon, the cleaning area approximated as a right-angled polygon is divided into rectangular cleaning sections, the cleaning order of the cleaning sections is determined based on a specified cleaning mode, and a cleaning path is generated.
[0037] (S300: Area information extraction) 4, first, based on the image of the environmental map showing each area extracted in step S20, the cleaning path generator 130 identifies pixels representing each area from the image of the environmental map (S300). Step S300 identifies which area each pixel constituting the image of the environmental map belongs to. The cleaning path generator 130 extracts at least the cleaning area and the discharge area from the environmental map, and may further extract obstacle areas, cleanable areas, unknown areas, etc.
[0038] For example, if the environmental map has different display colors for each area, the cleaning path generator 130 can extract the color of each area from the environmental map and identify the type of area based on the display color assigned to each area. The display color of an area may be the color of the frame that outlines the area, or the color that fills the area. For example, if the environmental map is described based on rules such as red for the frame of a cleaning area, blue for the frame of a discharge area, black for an obstacle area, white for a cleanable area, and gray for an unknown area, the cleaning path generator 130 uses image processing to extract area information indicating which area each pixel in the environmental map represents. The area information, such as information about the cleaning area or discharge area, is extracted for each pixel in the environmental map.
[0039] The process of step S300 is performed to reduce the processing load of the next step S310, and may be performed as needed.
[0040] (S310: Cleaning area shape identification) Next, the cleaning path generation unit 130 identifies the shape of the cleaning area (S310). Area shapes include, for example, a right-angled polygon, rectangle, circle, ellipse, and trapezoid. The cleaning path generation unit 130 identifies the shape based on, for example, the color of the cleaning area in the image of the environmental map extracted in step S20 and the area information extracted in step S300. For example, if the border of the cleaning area is a different color from the other areas, the shape of the cleaning area can be identified by image processing using OpenCV (Open Source Computer Vision Library) or the like based on the color of the border. Furthermore, for example, when area information is used, the shape of the cleaning area can be identified by identifying pixels in the image of the environmental map whose area information indicates the cleaning area.
[0041] (S320~S350: Division into cleaning sections) Once the shape of the cleaning area is identified in step S310, the cleaning path generator 130 divides the cleaning area into cleaning sections as necessary. For example, when using the technology described in Non-Patent Document 1 above to generate a cleaning path for a rectangular cleaning area, the shape of the cleaning area must be rectangular. Therefore, the cleaning path generator 130 determines whether the cleaning area is rectangular, and if it is not rectangular, divides the cleaning area into multiple rectangular cleaning sections.
[0042] First, cleaning path generator 130 determines whether the shape of the cleaning area identified in step S310 is rectangular (S320). If the shape of the cleaning area is rectangular (S320: YES), there is no need to divide the cleaning area into rectangles, and so the process proceeds from step S360, which will be described later.
[0043] On the other hand, if the shape of the cleaning area is not rectangular (S320: NO), the cleaning path generation unit 130 further determines whether the shape of the cleaning area is a right-angled polygon (S330). If the shape of the cleaning area is a right-angled polygon (S330: YES), the cleaning path generation unit 130 executes the processing of step S350, described below. On the other hand, if the shape of the cleaning area is not a right-angled polygon (i.e., the shape of the cleaning area is other than a rectangle or a right-angled polygon) (S330: NO), the cleaning path generation unit 130 approximates the shape of the cleaning area identified in step S310 to a right-angled polygon or a rectangle (S340). One method for approximating a cleaning area to a right-angled polygon or a rectangle is, for example, the rectangle method, which approximates the shape by cutting out a rectangle. Furthermore, if the shape of the cleaning area is an ellipse or a circle, it may be approximated to a right-angled polygon tangent to the ellipse or circle. Thereafter, the cleaning path generating unit 130 divides the cleaning area, which is a right-angled polygon or approximates a right-angled polygon, into rectangular cleaning sections (S350).
[0044] For example, the cleaning path generation unit 130 divides a cleaning area that is a right-angled polygon into rectangular cleaning sections based on the process shown in FIG. 5. First, the cleaning path generation unit 130 determines whether the shape of the cleaning area approximated in step S340 of FIG. 4 is rectangular (S351). If the shape of the approximated cleaning area is rectangular (S351: YES), the process of FIG. 5 ends. On the other hand, if the shape of the approximated cleaning area is a right-angled polygon (S351: NO), the cleaning path generation unit 130 divides the cleaning area that approximates the right-angled polygon into multiple rectangular cleaning sections (S352 to S356). Furthermore, if the shape of the cleaning area is determined to be a right-angled polygon in step S330 of FIG. 4, the cleaning path generation unit 130 always determines that it is not rectangular in step S351 (S351: NO), and similarly divides it into multiple rectangular cleaning sections (S352 to S356).
[0045] The cleaning area is divided by extracting a line segment of the cleaning area adjacent to the discharge area, setting a first cleaning section with the line segment as one side of a rectangle, then extracting a line segment that is adjacent to the nth cleaning section (n is a natural number) and that is not part of the outline of the cleaning area, and for each extracted line segment, setting an n+1th cleaning section with that line segment as one side of a rectangle, until cleaning sections have been set for the entire range of the cleaning area. Below, as a specific example, the procedure for dividing a cleaning area Ac and a discharge area Ad that are rectangular polygons as shown in Figure 6 will be explained.
[0046] First, the cleaning path generation unit 130 extracts a line segment of the cleaning area closest to the discharge area (S352). From the cleaning area closest to the discharge area, the cleaning path generation unit 130 extracts a line segment connecting two vertices of the discharge area and two opposing points. For example, in FIG. 7, the cleaning path generation unit 130 extracts a line segment AB from the cleaning area Ac that connects points A and B of the cleaning area Ac that are opposite the two vertices of the discharge area Ad.
[0047] Next, the cleaning path generation unit 130 slides the extracted line segment to set a rectangular cleaning section (S353). The cleaning path generation unit 130 sets a rectangular cleaning section by sliding the extracted line segment in the opposite direction from the discharge area to the position of another side of the cleaning area. For example, as shown in division 1 of FIG. 7, the cleaning path generation unit 130 slides the line segment AB of the cleaning area Ac in the opposite direction from the discharge area Ad, and sets a line segment DC that overlaps with the slid line segment AB at a position where it contacts the other side of the cleaning area Ac. Then, the cleaning path generation unit 130 sets the rectangular area with the line segment AB as one side and points A, B, C, and D as vertices as cleaning section TC(1). The cleaning section TC(1) adjacent to the discharge area Ad is set as the first cleaning section.
[0048] After setting the cleaning section, the cleaning path generation unit 130 determines whether cleaning sections have been set for the entire cleaning area (S354). If there is an area in the cleaning area where a cleaning section has not been set (S354: NO), the cleaning path generation unit 130 sets the most recently set cleaning section as a provisional discharge area (S355). Then, as in step S352, the cleaning path generation unit 130 extracts a line segment in the cleaning area (an area where a cleaning section has not been set) that is closest to the provisional discharge area (S356). The line segment extracted in step S356 is slid to set a rectangular cleaning section (S353).
[0049] For example, in the example shown in FIG. 7, the cleaning path generation unit 130 sets the first cleaning section TC(1) set in division 1 as a provisional discharge area. Then, it extracts line segments from the cleaning area Ac that are adjacent to the first cleaning section TC(1) set as the provisional discharge area and that are not part of the outline of the cleaning area Ac. As a result, the cleaning path generation unit 130 extracts five line segments: line segment EF, line segment DG, line segment DH, line segment CI, and line segment JK, as shown in division 2 in FIG. 7. Then, the cleaning path generation unit 130 slides the line segments EF, DG, DH, CI, and JK of the cleaning area Ac in the direction opposite the provisional discharge area (first cleaning section TC(1)) until they come into contact with another side of the cleaning area Ac. In this way, rectangular cleaning sections TC(2) to TC(6) are set, each adjacent to the first cleaning section TC(1) set as the provisional discharge area, using the extracted line segment as one side. Cleaning sections TC(2) to TC(6) are designated as second cleaning sections.
[0050] Cleaning sections TC(2) to TC(6) are adjacent to the first cleaning section TC(1), which is adjacent to the discharge area Ad. Therefore, if an object in one of cleaning sections TC(2) to TC(6) is pushed into the first cleaning section TC(1), the object can be pushed through the first cleaning section TC(1) to the discharge area Ad.
[0051] Even after the second cleaning sections TC(2) to TC(6) are set, there are still areas in the cleaning area where no cleaning sections have been set, so the cleaning path generation unit 130 further divides the cleaning area Ac. The cleaning path generation unit 130 sets the second cleaning sections TC(2) to TC(6) set in division 2 as provisional discharge areas. Then, it extracts line segments from the cleaning area Ac that are adjacent to the second cleaning sections TC(2) to TC(6) set as provisional discharge areas and that are not part of the outline of the cleaning area Ac. As a result, the cleaning path generation unit 130 extracts four line segments: line segment LM, line segment DN, line segment OP, and line segment QR, as shown in division 3 of FIG. 7. The cleaning path generation unit 130 then slides the line segments LM, DN, OP, and QR of the cleaning area Ac in the direction opposite to the adjacent provisional discharge areas (second cleaning sections TC(2) to TC(6)) until they each come into contact with another side of the cleaning area Ac. In this way, rectangular cleaning sections TC(7) to TC(10) are set adjacent to the second cleaning sections TC(2) to TC(6) set as the provisional discharge areas, with the extracted line segment as one side. Cleaning sections TC(7) to TC(10) are set as the third cleaning section.
[0052] Cleaning sections TC(7) to TC(10) are adjacent to the second cleaning sections TC(2) to TC(6). If an object in cleaning sections TC(7) to TC(10) is pushed to the second cleaning sections TC(2) to TC(6), the object can be pushed to the discharge area Ad via the second cleaning sections TC(2) to TC(6) and the first cleaning section TC(1).
[0053] Even after the third cleaning sections TC(7) to TC(10) are set, there are still areas in the cleaning area where no cleaning sections have been set, so the cleaning path generation unit 130 further divides the cleaning area Ac. The cleaning path generation unit 130 sets the third cleaning sections TC(7) to TC(10) set in division 3 as provisional discharge areas. Then, line segments that are adjacent to the third cleaning sections TC(7) to TC(10) set as provisional discharge areas and that are not part of the outline of the cleaning area Ac are extracted from the cleaning area Ac. As a result, the cleaning path generation unit 130 extracts the line segment ST that is adjacent to the third cleaning section TC(10), as shown in division 4 in FIG. 7 . Note that with respect to the third cleaning sections TC(7) to TC(9), there are no line segments that are adjacent to the cleaning sections and that are not part of the outline of the cleaning area Ac, so no cleaning sections are set beyond these sections.
[0054] The cleaning path generation unit 130 then slides the line segment ST of the cleaning area Ac in the opposite direction to the adjacent provisional discharge area (third cleaning section TC(10)) until it contacts another side of the cleaning area Ac. In this way, a rectangular cleaning section TC(11) is set adjacent to the third cleaning section TC(10) set as the provisional discharge area, with the extracted line segment as one side. The cleaning section TC(11) is set as the fourth cleaning section. The cleaning section TC(11) is adjacent to the third cleaning section TC(10). By pushing an object in the cleaning section TC(11) to the third cleaning section TC(10), the object can be pushed to the discharge area Ad via the third cleaning section TC(10), the second cleaning sections TC(2) to TC(6), and the first cleaning section TC(1).
[0055] In this way, the cleaning path generation unit 130 divides the right-angled polygonal cleaning area into rectangular cleaning sections starting from the area closest to the discharge area. The cleaning path generation unit 130 repeats the process of extracting line segments that are adjacent to the nth cleaning section (n is a natural number) and that are not part of the outline of the cleaning area, and for each extracted line segment, setting the (n+1)th cleaning section, with that line segment as one side of a rectangle, until cleaning sections have been set for the entire cleaning area (S354: YES), and the cleaning path generation unit 130 ends the process of FIG. 5.
[0056] The cleaning area does not necessarily have to be divided into rectangular cleaning sections. For example, the cleaning sections obtained by dividing the cleaning area may have a trapezoidal shape.
[0057] (S360: Cleaning order determination) Returning to the explanation of FIG. 4, once the cleaning area is divided into rectangular cleaning sections, the cleaning path generation unit 130 determines the cleaning order of the divided rectangular cleaning sections (S360). The cleaning order may be determined, for example, based on a specified cleaning mode. Cleaning modes include a mode in which the cleaning area is cleaned over a long period of time (long mode), a mode in which the cleaning area is cleaned in a short period of time (short mode), etc.
[0058] For example, in a mode for cleaning in a short time, each cleaning section is cleaned only once, and the cleaning order of the cleaning sections is determined so that the distance traveled between cleaning sections is minimized. Alternatively, for example, if it is desired to increase the cleaning rate of a cleaning area or reduce the amount of material pushed out by the robot 50 in one go, a mode for cleaning the cleaning sections over a longer period of time is selected. In such a mode, for example, the cleaning order of the cleaning sections is determined so that first, objects are discharged from the cleaning section adjacent to the discharge area (first cleaning section), and then objects from the other cleaning sections are sequentially discharged to the discharge area via the first cleaning section.
[0059] The method for determining the cleaning order can be set appropriately by the cleaning staff depending on the time available to clean the cleaning area, the desired degree of cleaning of the cleaning area, etc.
[0060] (S370: Cleaning path generation) The cleaning path generator 130 also generates a cleaning path for a rectangular region of the cleaning area (the cleaning area or multiple cleaning sections into which the cleaning area is divided) (S370). The cleaning path within the rectangular region may be generated using an existing method.
[0061] For example, the cleaning path generation unit 130 may generate cleaning paths within each rectangular area using the method described in Non-Patent Document 1. Specifically, the cleaning path generation unit 130 first plans a simple path that pushes objects in a straight line from the edge of the cleaning area farthest from the discharge area to the other edge at a constant interval. If the shape and position of an obstacle can be determined in advance, the cleaning path generation unit 130 plans a path that avoids contact with the obstacle using a method such as the A* algorithm. If the shape and position of the obstacle cannot be determined in advance, the obstacle can be avoided using the autonomous movement function installed in the robot 50. Next, the cleaning path generation unit 130 generates a simple intersecting path that intersects with the simple path to collect objects remaining near the obstacle after avoiding the obstacle. Furthermore, the cleaning path generation unit 130 generates a remaining object cleaning path that finally pushes the objects collected by the simple intersecting path to the discharge area. The cleaning path generation unit 130 then connects the simple path, the simple intersecting path, and the remaining object cleaning path to generate a cleaning path within the rectangular area.
[0062] (S380: Cleaning path combination) The cleaning path generation unit 130 then generates a cleaning path for the cleaning area by connecting paths that push objects from the cleaning sections to the temporary discharge area based on the cleaning order of the cleaning sections (S380). The cleaning path generation unit 130 generates a cleaning path for the cleaning area by connecting the cleaning paths for each cleaning section generated in step S370 in the cleaning order of the cleaning sections determined in step S360. The cleaning path generation unit 130 outputs the generated cleaning paths to the robot 50 via the output unit 140.
[0063] (4) Robotic cleaning (S40) Returning to the description of FIG. 3 , once the cleaning path is generated by the cleaning path planning device 100 in step S30, the robot 50 cleans the cleaning area based on the cleaning path (S40). The robot 50 includes a self-propelled mechanism that rotates the wheels 53 of the main body 51 to self-propel itself, and a pushing mechanism 55 that pushes out the object 9. The pushing mechanism 55 is, for example, a blade such as a straight dozer, a U dozer, or a bucket dozer, or a plate attached to the robot 50. The robot 50 may also have an autonomous movement function to avoid obstacles in the cleaning area. For autonomous movement, the robot 50 needs to perform self-localization and path planning. For self-localization, for example, LiDAR, an IMU (Inertial Measurement Unit), an encoder, a camera, Real Time Kinematics (RTK), or the like may be used. For path planning, for example, the A* algorithm, Dijkstra's algorithm, or Dynamic Window Approach may be used.
[0064] The robot 50 moves autonomously through the cleaning area based on the cleaning path generated by the cleaning path planning device 100, and pushes out objects scattered within the cleaning area using the pushing mechanism 55, moving them to the discharge area.
[0065] The above describes the cleaning path planning device 100 and the anomaly detection method used by the device according to this embodiment. According to this embodiment, for each cleaning zone that is not adjacent to the discharge area among the multiple cleaning zones in the cleaning area, another adjacent cleaning zone is set as a tentative discharge area, and a path is determined for each cleaning zone to push objects within the cleaning zone to the set tentative discharge area. The cleaning path generation unit 130 then generates a cleaning path by connecting the paths determined for each cleaning zone based on the cleaning order of the cleaning zones. This allows for the generation of a cleaning path that sequentially pushes objects within each cleaning zone into adjacent cleaning zones, pushing the objects to the discharge area, which is their final destination.
[0066] [4. Hardware Configuration] The hardware configuration of the cleaning path planning device 100 according to this embodiment will be described with reference to Fig. 8. Fig. 8 is a block diagram showing an example of the hardware configuration of an information processing device 900 that functions as the cleaning path planning device 100 according to this embodiment.
[0067] The information processing device 900 includes one or more hardware processors such as a CPU (Central Processing Unit) 901, and one or more memories such as a RAM (Random Access Memory) 905 and a ROM (Read Only Memory) 903. The information processing device 900 executes various operations by executing one or more programs stored in the memories by the one or more hardware processors. The information processing device 900 also includes a bus 907, an input I / F 909, an output I / F 911, a storage device 913, a drive 915, a connection port 917, and a communication device 919.
[0068] For example, the CPU 901 functions as an arithmetic processing device and a control device. The CPU 901 controls all or part of the operations within the information processing device 900 in accordance with various programs recorded in the ROM 903, the RAM 905, the storage device 913, or the removable recording medium 925. The ROM 903 stores programs used by the CPU 901, arithmetic parameters, etc. The RAM 905 temporarily stores programs used by the CPU 901, or parameters that change as appropriate during program execution. These are interconnected by a bus 907 constituted by an internal bus such as a CPU bus. The bus 907 is connected to an external bus such as a PCI (Peripheral Component Interconnect / Interface) bus or PCI Express (registered trademark) via a bridge.
[0069] The arithmetic processing unit and the control unit may be realized by a programmable logic controller (PLC) other than the CPU 901, or may be realized by dedicated hardware such as an application specific integrated circuit (ASIC).
[0070] The input I / F 909 is an interface that accepts input from an input device 921, which is an operating means operated by a user, such as a mouse, keyboard, touch panel, button, switch, or lever. The input I / F 909 is configured, for example, as an input control circuit that generates an input signal based on information input by the user using the input device 921 and outputs the signal to the CPU 901. The input device 921 may be, for example, a remote control device that uses infrared or other radio waves, or an external device 927 such as a PDA that supports operation of the information processing device 900. A user of the information processing device 900 can operate the input device 921 to input various data to the information processing device 900 and instruct the information processing device 900 to perform processing operations.
[0071] The output I / F 911 is an interface that outputs input information to an output device 923 that can notify the user visually or audibly. The output device 923 may be, for example, a display device such as a CRT display device, a liquid crystal display device, a plasma display device, an EL display device, or a lamp. Alternatively, the output device 923 may be an audio output device such as a speaker or headphones, a printer, a mobile communication terminal, or a facsimile machine. The output I / F 911 instructs the output device 923 to output, for example, processing results obtained from various processes executed by the information processing device 900. Specifically, the output I / F 911 instructs the display device to display the processing results of the information processing device 900 as text or images. The output I / F 911 also instructs the audio output device to convert audio signals, such as audio data instructed to be played, into analog signals and output them.
[0072] The storage device 913 is one of the storage units of the information processing device 900 and is a device for storing data. The storage device 913 is configured, for example, by a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device such as a solid state drive (SSD), an optical storage device, a magneto-optical storage device, etc. The storage device 913 stores programs executed by the CPU 901, various data generated by the execution of the programs, various data acquired from the outside, etc.
[0073] The drive 915 is a reader / writer for a recording medium, and is built into or externally attached to the information processing device 900. The drive 915 reads information recorded on the attached removable recording medium 925 and outputs it to the RAM 905. The drive 915 can also write information to the attached removable recording medium 925. The removable recording medium 925 is, for example, a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory. Specifically, the removable recording medium 925 may be a CD medium, a DVD medium, a Blu-ray (registered trademark) medium, a CompactFlash (registered trademark) (CF), a flash memory, an SD memory card (Secure Digital memory card), or the like. The removable recording medium 925 may also be, for example, an IC card (Integrated Circuit card) equipped with a contactless IC chip, an electronic device, or the like.
[0074] The connection port 917 is a port for directly connecting a device to the information processing device 900. The connection port 917 is, for example, a Universal Serial Bus (USB) port, an external Serial Advanced Technology Attachment (eSATA), or a Serial Attached Small Computer System Interface (SAS) port. The information processing device 900 can directly acquire various data from an external device 927 connected to the connection port 917 or provide various data to the external device 927. For example, an alarm notification device such as a rotating light for notifying alarm information may be connected via the connection port 917. Furthermore, a network attached storage (NAS) may be connected as the external device 927 and used as a storage device.
[0075] The communication device 919 is, for example, a communication interface configured with a communication device or the like for connecting to a communication network 929. The communication device 919 is, for example, a communication card for a wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), or WUSB (Wireless USB). The communication device 919 may also be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), or a modem for various types of communication. The communication device 919 can transmit and receive signals, for example, between the Internet and other communication devices in accordance with a predetermined protocol such as TCP / IP. For example, a computer for operating the information processing device 900 can be connected via the communication device 919. The communication network 929 connected to the communication device 919 is configured with a network connected by wire or wirelessly. For example, the communication network 929 is the Internet, a home LAN, infrared communication, radio wave communication, satellite communication, or the like.
[0076] The above describes an example of the hardware configuration of the information processing device 900. Each of the above-described components may be configured using general-purpose components, or may be configured using hardware specialized for the function of each component. The hardware configuration of the information processing device 900 can be changed as appropriate depending on the technical level at the time of implementing this embodiment. [Example]
[0077] [Example A (Dividing the cleaning area)] First, it was confirmed that a right-angled polygonal cleaning area can be divided into rectangular cleaning sections using the cleaning area division process of the present invention shown in Figure 5. Here, using an image of an environmental map including a 28-sided right-angled polygonal cleaning area Ac and a discharge area Ad as shown in Figure 9, the cleaning area Ac was divided into rectangular cleaning sections based on the cleaning area division process of the present invention shown in Figure 5. As a result, as shown in Figure 10, the 28-sided right-angled polygonal cleaning area Ac was divided into 13 rectangular cleaning sections as indicated by the dashed-line frames. This confirmed that a right-angled polygonal cleaning area can be divided into rectangular cleaning sections using the method of the present invention.
[0078] [Example B (cleaning of cleaning area)] Next, a simulation was conducted to verify the extent to which a cleaning area can be cleaned using a cleaning path generated based on the cleaning area cleaning path generation process of the present invention shown in FIG. 4. In the simulation, a cleaning area Ac and a discharge area Ad were set as shown in FIG. 11. The cleaning area Ac was divided into three cleaning sections: left (L), center (C), and right (R) using the cleaning area division process of the present invention shown in FIG. 5. It was assumed that there were 90 objects 9 in the left (L) cleaning section, 180 objects in the center (C) cleaning section, and 90 objects in the right (R) cleaning section. Furthermore, cleaning paths Lp, as shown in FIG. 12, were set for each of the left (L), center (C), and right (R) cleaning sections. These cleaning paths Lp were generated based on the description in Patent Document 1. In FIG. 12, for the left (L) cleaning section and the right (R) cleaning section, the center (C) cleaning section was set as a provisional discharge area.
[0079] The cleaning path generation process for the cleaning area of the present invention shown in Figure 4 generated two cleaning paths: cleaning path b, which cleans the cleaning sections in the cleaning order of left (L), right (R), and center (C), and cleaning path c, which cleans the cleaning sections in the cleaning order of left (L), center (C), right (R), and center (C). Cleaning path b is a cleaning path generated in a mode for cleaning in a short time (shorter mode), and cleaning path c is a cleaning path generated in a mode for cleaning the cleaning area over a longer time (longer mode). In addition, for comparison, a cleaning path a, which cannot divide the cleaning area into multiple cleaning sections and only cleans one cleaning section in the center (C), was also generated.
[0080] 13 shows the results of a simulation in which the robot 50 cleans the cleaning area Ac for each of the cleaning paths a to c. The cleaning rate was calculated as the ratio of the number of objects 9 pushed out to the discharge area Ad to the total number of objects 9 (360) that were in the cleaning area Ac before the robot 50 started cleaning.
[0081] As shown in Figure 13, in cleaning path a, objects 9 in the left (L) and right (R) cleaning sections were not pushed out into the discharge area Ad, resulting in a cleaning rate of 35%. In contrast, in cleaning path b, the cleaning rate was 61%, and in cleaning path c, the cleaning rate was 66%. Furthermore, the cleaning time for cleaning path b was approximately 35 minutes, and the cleaning time for cleaning path c was approximately 50 minutes. These results demonstrate that the cleaning area cleaning path generation process of the present invention allows the robot 50 to travel within the cleaning area without omissions, and enables more than 60% of the objects 9 in the cleaning area Ac to be discharged into the discharge area Ad.
[0082] Although the preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings, the present invention is not limited to these examples. It is clear that a person skilled in the art to which the present invention pertains can conceive of various modifications and alterations within the scope of the technical ideas set forth in the claims, and it is understood that these also naturally fall within the technical scope of the present invention. [Explanation of symbols]
[0083] 9 objects 30 pillars 50 Robot 51 Main body 53 Wheels 55 Extrusion mechanism 57 Control Unit 100 Cleaning path planning device 110 Environmental Map Acquisition Department 120 Area Extraction Unit 130 Cleaning path generation unit 140 Output section 900 Information Processing Equipment AC Cleaning Area Ad discharge area
Claims
1. A cleaning path planning device that plans a cleaning path of a cleaning area by a robot having a push-out mechanism, an environmental map acquisition unit that acquires an environmental map including the cleaning area; an area extraction unit that extracts, from the environmental map, the cleaning area and a discharge area to which objects within the cleaning area are discharged; a cleaning path generation unit that divides the cleaning area into a plurality of cleaning sections and generates a cleaning path that sequentially pushes objects in each cleaning section into adjacent cleaning sections and finally pushes them to the discharge area; A cleaning path planning device comprising:
2. The cleaning path generation unit Identifying the shape of the cleaning area extracted from the environmental map; If the shape of the cleaning area is other than a rectangle or a right-angled polygon, the cleaning area is approximated to a right-angled polygon; Dividing a cleaning area that is a right-angled polygon or that approximates said right-angled polygon into rectangular cleaning sections; The cleaning path planning device of claim 1 , wherein the cleaning path is generated by determining a cleaning order for the cleaning sections based on a designated cleaning mode.
3. The cleaning path planning device according to claim 2 , wherein the cleaning path generation unit divides the right-angled polygonal cleaning area or the cleaning area approximating the right-angled polygon into rectangular cleaning sections starting from a range close to the discharge area.
4. The cleaning path generation unit extracting a line segment of the cleaning area adjacent to the discharge area, and setting a first cleaning section having the line segment as one side of a rectangle; A cleaning path planning device as described in claim 3, which repeats the process of extracting a line segment that is adjacent to the nth cleaning segment (n is a natural number) and is not the contour of the cleaning area, and for each extracted line segment, setting the n+1th cleaning segment with the line segment as one side of a rectangle, until the cleaning segment has been set for the entire range of the cleaning area.
5. The cleaning path generation unit For each cleaning section that is not adjacent to the discharge area, set another cleaning section as a temporary discharge area; 5. The cleaning path planning device according to claim 2, wherein the cleaning path is generated by connecting paths that push objects from the cleaning sections to the temporary discharge area based on the cleaning order of the cleaning sections.
6. an extrusion mechanism that extrudes an object; A self-propelled mechanism; a control unit that causes the self-propelled mechanism to travel based on a cleaning path that, in a cleaning area consisting of a plurality of cleaning sections, sequentially pushes objects in each of the cleaning sections into adjacent cleaning sections and finally pushes the objects in the cleaning area to a discharge area that is a discharge destination; A robot equipped with:
7. 1. A cleaning path planning method for planning a cleaning path of a cleaning area by a robot having a push-out mechanism, comprising: an environmental map acquisition step of acquiring an environmental map including the cleaning area; an area extraction step of extracting, from the environmental map, the cleaning area and a discharge area to which objects in the cleaning area are discharged; a cleaning path generation step of dividing the cleaning area into a plurality of cleaning sections, and generating a cleaning path that sequentially pushes objects in each of the cleaning sections into adjacent cleaning sections, and finally pushes the objects to the discharge area; A cleaning path planning method comprising:
8. A computer program that causes a computer to function as a cleaning path planner that plans a cleaning path of a cleaning area by a robot having a push-out mechanism, an environmental map acquisition unit that acquires an environmental map including the cleaning area; an area extraction unit that extracts, from the environmental map, the cleaning area and a discharge area to which objects within the cleaning area are discharged; a cleaning path generation unit that divides the cleaning area into a plurality of cleaning sections and generates a cleaning path that sequentially pushes objects in each cleaning section into adjacent cleaning sections and finally pushes them to the discharge area; A computer program comprising:
Citation Information
Patent Citations
Extracting system for graphic in orthogonal uneven polygonal area
JP1989183782A
Floor planning method
JP2002313917A
Subdivision of Maps for Robot Navigation
JP2018533801A
Method of planning autonomous-travel pathway
JP2022033622A
Turn-minimizing or turn-reducing robot coverage
US20200089255A1