Information processing system, work machine and program
The information processing system for autonomous work machines improves route setting by dynamically switching between neural network and classifier system methods, addressing the challenge of balancing processing speed and accuracy to enhance work quality and efficiency.
Patent Information
- Application Number
- JP2023523940
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-28
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2041-05-28
AI Technical Summary
Existing autonomous work machines, such as robot lawn mowers, face challenges in setting routes that balance processing speed and accuracy, leading to potential reductions in work quality due to unreached areas or prolonged work times, especially in complex work areas.
An information processing system that utilizes two route setting methods: a first method based on neural networks for simpler terrains and a second method using a classifier system for more complex terrains, dynamically switching between them to optimize work quality and efficiency.
The system effectively reduces unreached areas and processing load while maintaining high work quality by selectively employing different machine learning-based route setting methods, adapting to the complexity of the work area.
Smart Images

Figure 0007618793000001 
Figure 0007618793000002 
Figure 0007618793000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing system, a work machine, and a program. [Background technology]
[0002] As a technology for performing tasks such as mowing the lawn in a specified area, Patent Document 1 discloses a technology for identifying virtual markers in an image, generating boundary data indicating the boundaries of the work area, and controlling the operation of a robotic lawnmower within the work area. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] US Patent Application Publication No. 2021 / 0018927 Summary of the Invention [Problem to be solved by the invention]
[0004] In an autonomous working machine, such as the robot lawnmower described in Patent Document 1, if the route to travel when performing work is automatically set, the labor of the person can be reduced. However, since there are various shapes, sizes, and obstacle placements of the work area, the quality of work may be significantly reduced depending on the work route. For example, when the shape of the work area is complicated and intricate, the route setting becomes complicated, which may place a large burden on the processing device that learns the optimal route. However, if the processing speed is prioritized by reducing the burden on the processing device, the route setting must be simplified, and as a result, the accuracy of the route setting will decrease. Specifically, there is a risk that the unreached area (uncut area) of the working machine will increase due to unnecessary overlapping routes, or it will take a long time to complete work in the same area.
[0005] In view of the above circumstances, the present invention provides an information processing system and the like that can increase the likelihood that a route with high work quality will be set in a work area. [Means for solving the problem]
[0006] According to one aspect of the present invention, an information processing system is provided. In an acquisition step in the information processing system, boundary information indicating the boundary of a working area targeted by an autonomously traveling working machine is acquired. In a setting step, a path of the working machine is set based on the acquired boundary information to eliminate unreached areas from the working area, and if the work quality when the path set by the first method is used does not satisfy a predetermined standard, a path is set by the second method.
[0007] According to this aspect, it is possible to increase the likelihood that a route with high work quality will be set in the work area. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram showing the external appearance of a lawnmower robot 1. [Diagram 2] FIG. 2 is a diagram showing an example of a travel route of the lawnmower robot 1. [Diagram 3] FIG. 2 is a diagram showing a hardware configuration of the lawnmower robot 1. [Figure 4] FIG. 2 is a diagram showing a functional configuration of the lawnmower robot 1. [Diagram 5] FIG. 11 is a diagram showing an operation procedure in a route setting process. [Figure 6] FIG. 13 is a diagram showing a first example of a work target area. [Figure 7] FIG. 4 is a diagram showing an example of a route set by a first route setting method. [Figure 8] FIG. 11 is a diagram showing an example of a route set by a second route setting method. [Figure 9] FIG. 13 is a diagram showing the processing load in work target area A10. [Figure 10] FIG. 11 is a diagram showing a second example of a work target area. [Figure 11] FIG. 4 is a diagram showing an example of a route set by a first route setting method. [Figure 12]FIG. 11 is a diagram showing an example of a route set by a second route setting method. [Figure 13] FIG. 11 is a diagram showing an example of a route set by the route setting process; [Figure 14] FIG. 11 is a diagram illustrating a processing load in a second example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described with reference to the drawings. Various characteristic features shown in the following embodiments can be combined with each other.
[0010] Incidentally, the program for realizing the software appearing in this embodiment may be provided as a non-transitory computer-readable recording medium, or may be provided so as to be downloadable from an external server, or may be provided so that the program is started on an external computer and its functions are realized on a client terminal (so-called cloud computing).
[0011] In addition, in this embodiment, the term "unit" may include, for example, a combination of hardware resources implemented by a circuit in the broad sense and software information processing that can be specifically realized by these hardware resources. In addition, in this embodiment, various information is handled, and this information is represented, for example, by physical values of signal values representing voltage and current, high and low signal values as a binary bit collection consisting of 0 or 1, or quantum superposition (so-called quantum bits), and communication and calculation can be performed on the circuit in the broad sense.
[0012] In addition, a circuit in the broad sense is a circuit realized by at least appropriately combining a circuit, circuitry, a processor, a memory, etc. In other words, it includes an application specific integrated circuit (ASIC), a programmable logic device (e.g., a simple programmable logic device (SPLD), a complex programmable logic device (CPLD), and a field programmable gate array (FPGA)), etc.
[0013] 1. Hardware Configuration In this section, the hardware configuration of a self-propelled lawnmowing robot, which is a working machine according to this embodiment, is described. That is, in this embodiment, the work performed by the working machine is lawnmowing. The working machine is capable of autonomous travel, and includes each unit of an information processing system for controlling operations related to the work (lawnmowing).
[0014] FIG. 1 is a diagram showing the exterior of a lawnmower robot 1. The lawnmower robot 1 is equipped with a blade disc, tires, a motor for rotating them, a battery, etc. inside a housing. The lawnmower robot 1 runs across a grassy field using a drive motor, while rotating the blade disc using a work motor to cut the grass to a specified height. The lawnmower robot 1 sets its own travel route within the field using the aforementioned information processing system that it is equipped with, and mows the grass while traveling along the set travel route.
[0015] Fig. 2 is a diagram showing an example of a travel path of the lawnmower robot 1. Fig. 2 shows a rectangular work area A1. Fig. 2 shows directions D1 and D3 along the short sides of the work area A1, and directions D2 and D4 along the long sides of the work area A1. The work area A1 has a boundary B1 that marks the boundary between the inside and outside of its own area. It is assumed that a wire is buried along the boundary B1 in the work area A1.
[0016] The lawnmower robot 1 recognizes the position of the wire in two-dimensional or three-dimensional space, and thereby recognizes the shape and size of the boundary B1, i.e., the shape and size of the perimeter of the work area A1. The lawnmower robot 1 sets a travel path based on the recognized shape and size of the work area A1. In the example of FIG. 2, the lawnmower robot 1 sets a work path C1. The work path C1 has a starting point P1 at the corner of the direction D1 and the direction D4 of the work area A1.
[0017] Work path C1 starts from starting point P1 in direction D2, and when it reaches boundary B1, it changes direction to direction D3, travels the length of the width of the lawnmower robot 1, and then changes direction again to direction D4. In this way, work path C1 changes direction twice, resulting in a path that turns back along the path it has traveled. The direction in which it moves when turning back (here, direction D3) will be referred to below as the "turning direction."
[0018] The work path C1 proceeds in the direction D4, and when it reaches the boundary B1, turns back in the direction D3 to the direction D2. The work path C1 thus goes back and forth by repeatedly moving in the directions D2 and D4 while gradually shifting to the turning direction D3. The method of setting the work path will be described in detail later.
[0019] 3 is a diagram showing the hardware configuration of the lawnmower robot 1. The lawnmower robot 1 includes a control unit 11, a storage unit 12, a communication unit 13, a sensor unit 14, a traveling unit 15, and a working unit 16.
[0020] (Control unit 11) The control unit 11 is, for example, a central processing unit (CPU) not shown. The control unit 11 realizes various functions related to the lawnmower robot 1 by reading out a predetermined program stored in the storage unit 12. In other words, information processing by software stored in the storage unit 12 is specifically realized by the control unit 11, which is an example of hardware, and can be executed as each functional unit included in the control unit 11. These will be described in more detail in the next section. Note that the control unit 11 is not limited to being single, and multiple control units 11 may be provided for each function. A combination of these may also be used.
[0021] (Storage unit 12) The memory unit 12 stores various information defined by the above description. This can be implemented, for example, as a storage device such as a solid state drive (SSD) that stores various programs and the like related to the lawnmower robot 1 executed by the control unit 11, or as a memory such as a random access memory (RAM) that stores temporarily required information (arguments, arrays, etc.) related to the program calculations. The memory unit 12 stores various programs, variables, etc. related to the lawnmower robot 1 executed by the control unit 11.
[0022] (Communications Department 13) The communication unit 13 is configured to be able to transmit various electrical signals from the lawnmower robot 1 to external components. The communication unit 13 is also configured to be able to receive various electrical signals from the external components to the lawnmower robot 1. More preferably, the communication unit 13 has a network communication function, which allows various information to be communicated between the lawnmower robot 1 and external devices via a network such as the Internet.
[0023] (Sensor part 14) The sensor unit 14 has a group of sensors that measure various values used by the lawnmower robot 1 as processing parameters. The sensor unit 14 includes, for example, a positioning sensor, a direction sensor, an angular velocity sensor, an acceleration sensor, a torque sensor for the blade disk, a wire detection sensor, and an object detection sensor. The positioning sensor measures the position of the device using a global positioning system (GPS) or the like. The direction sensor measures the orientation of the device. The angular velocity sensor measures the angular velocity when the device rotates. The acceleration sensor measures the acceleration of the device. The torque sensor for the blade disk detects the load on the motor associated with the rotation of the lawnmower blade. Based on this detection value, the aforementioned control unit 11 calculates an estimated workload of the blade disk. The wire detection sensor detects a wire buried in the boundary B1 or the like in FIG. 2. The object detection sensor irradiates millimeter waves or the like and detects objects that reflect them.
[0024] (Running part 15) The traveling unit 15 includes tires, a motor, etc., and drives the device itself. The traveling unit 15 is controlled by the control unit 11, and performs operations such as going straight, going backward, and changing direction.
[0025] (Working Section 16) The working unit 16 includes a blade disc, a motor, etc., and is controlled by the control unit 11 to rotate the blade disc to cut the grass.
[0026] 2. Functional configuration In this section, the functional configuration of the present embodiment will be described. As described above, information processing by the software stored in the storage unit 12 is specifically realized by the control unit 11, which is an example of hardware, so that each functional unit included in the control unit 11 can be executed.
[0027] Fig. 4 is a diagram showing the functional configuration of the lawnmower robot 1. The lawnmower robot 1 includes a boundary detection unit 111, an object detection unit 112, a setting unit 113, a determination unit 114, a travel control unit 115, and a work control unit 116. The boundary detection unit 111 detects the boundary of a work target area in which the lawnmower robot 1 is to perform work. For example, in the example of Fig. 2, the boundary detection unit 111 first detects a wire buried along the periphery of the work target area A1. The boundary detection unit 111 detects the wire using a well-known technique used in wire-based autonomous travel, for example, as described in JP 2016-208950 A and the like.
[0028] The boundary detection unit 111 then detects the boundary B1 of the work target area A1 by traveling around the periphery along the detected wire. The boundary detection unit 111 acquires detection result data represented as a set of coordinates in two-dimensional or three-dimensional space of the detected boundary B1. The boundary detection unit 111 is an example of a function that executes an "acquisition step", and the detection result data is an example of "boundary information". In this way, the boundary detection unit 111 (acquisition unit) in the information processing system acquires boundary information that indicates the boundary of the work area targeted by the autonomously traveling lawnmower robot 1 (work machine). The boundary detection unit 111 supplies the acquired detection result data to the setting unit 113.
[0029] The object detection unit 112 detects objects present in the work area. The object detection unit 112 is an example of a function that executes a "detection step." In the work area, there may be objects (i.e., obstacles) that impede the progress of the lawnmower robot 1. Obstacles are, for example, natural objects such as stones and rocks, or man-made objects such as tools left behind by people. The object detection unit 112 also detects wires buried along the boundary B1 as obstacles. The object detection unit 112 is able to detect objects even if they are somewhat far away. The object detection unit 112 supplies object information indicating the position and direction of the detected object (obstacle) to the setting unit 113 and the travel control unit 115.
[0030] The setting unit 113 sets a route for the work machine to eliminate unreached areas from the work area based on the boundary information acquired by the boundary detection unit 111. The setting unit 113 is an example of a function that executes a "setting step". In this embodiment, the setting unit 113 sets a work route using two methods, a first route setting method and a second route setting method, which will be described below. Both the first route setting method and the second route setting method are methods for setting a route based on a trained model trained by a machine learning technique.
[0031] The first route setting method uses a machine learning method using a neural network (NN) capable of selecting from a plurality of patterned types of routes. The NN is a learning model having a multi-layer network structure including an input layer, an intermediate layer, and an output layer. With the NN, a learning model can be acquired by optimizing a plurality of model parameters inside the network with an algorithm such as an error backpropagation method using learning data indicating the relationship between input data and output data. In this embodiment, the first route setting method is a method in which a model that selects the optimal one from a plurality of predetermined action rules is learned by the NN technique, and a route is set based on the learned model.
[0032] The second route setting method uses a machine learning method using a classifier system. A classifier system is a set of rules (classifiers) consisting of a condition part and an action part, and learns the appropriateness of the rules based on the results of outputting actions in response to input from the environment according to those rules. In this embodiment, the second route setting method is a method in which a model that acquires environmental information every time a certain distance is traveled and sets an optimal route is learned by an NXCS (Neural-network eXtended Classifier System), and a route is set based on the learned model. NXCS is a classifier system that can handle continuous value environments by using a neural network to determine whether the condition part matches.
[0033] In this way, by using a neural network as the first route setting method, the processing related to route selection in a relatively simple terrain can be simplified, and work efficiency can be improved. In addition, by combining learning by a classifier system as the second route setting method, an optimal route can be set even in situations that are difficult to handle with the first route setting method, and work can be performed while maintaining efficiency and work quality on a variety of terrains. It is desirable to set the method so that when it is determined that work using the second route setting method is completed, the method switches to the first route setting method. By combining them in this way, the respective features of the first and second learning methods can be utilized to the maximum extent, unnecessary processing load and processing time can be eliminated, and work efficiency can be further improved.
[0034] The first route setting method is an example of the "first method", and the second route setting method is an example of the "second method". As described above, the first method and the second method are methods for setting a route based on trained models trained by different machine learning methods, in this embodiment, NN and NXCS, respectively. By using machine learning in this way, the more the route setting is repeated, the more desirable the work route is set.
[0035] When setting a route using the first route setting method, the setting unit 113 first sets the route using the boundary information supplied from the boundary detection unit 111. In detail, the setting unit 113 sets the route using, as the first method, a method of setting a continuous route according to a rule that the work machine repeats moving forward and changing direction at the boundary of the work area. By using such a rule, even if the size of the work target area changes, the movement distance becomes longer or the number of turns increases slightly, and it is possible to suppress changes in the processing load when setting the work route.
[0036] The setting unit 113 has a plurality of rules in which at least one of the initial traveling direction and the direction after the direction change is different, and sets the route using a method in which the rule that provides the best work quality is selected from the plurality of rules as a first method. Work quality refers to the quality of the work performed by the lawnmower robot 1, which is a working machine. For example, when the lawnmower robot 1 works for a certain period of time, the more areas the work is completed in, the higher the quality of the work can be said to be.
[0037] That is, for example, the work quality of the case where the mowing work is completed for 30 minutes and the entire area is completed is higher than the work quality of the case where the mowing work is completed for only half of the area. The method of evaluating the work quality is not limited to this. For example, the shorter the time required to complete the work for the entire area, the higher the work quality may be, or the shorter the distance traveled to complete the work for the entire area. In any case, in this embodiment, by allowing one of a plurality of rules to be selected as described above, the work quality when the work route is set by the first route setting method can be improved compared to the case where the rule is fixed to one. Of course, the work quality selected and set in this way to improve the work quality is much higher than the work quality when the vehicle runs randomly without having any driving rules or learning function.
[0038] The multiple rules are, for example, rules that, when the work target area is rectangular, use the direction along the long side and the direction along the short side as the initial proceeding direction and turning back direction, respectively, as in the example of Fig. 2. In this embodiment, the setting unit 113 uses the following four rules. Rule 1: Initial direction = direction D1, turning direction = direction D4, direction after turning = D3, obstacle avoidance Rule 2: Initial direction = direction D2, turning direction = direction D3, direction after turning = D4, obstacle avoidance Rule 3: Initial direction = direction D3, turning direction = direction D2, direction after turning = D1, obstacle avoidance Rule 4: Initial direction = direction D4, turning direction = direction D1, direction after turning = D2, obstacle avoidance
[0039] The setting unit 113 selects the rule that will maximize the work quality when selected at the starting point of the work of the work machine, and sets the route in accordance with the selected rule. For example, when the starting point is P1 in the work target area A1 shown in FIG. 2, rule 2 (initial direction = direction D2, turning back direction = direction D3) allows the robot to proceed to every corner of A1, resulting in the highest work quality. Therefore, the setting unit 113 selects rule 2 to set the work route C1. The setting unit 113 selects the rule that will maximize the work quality even while traveling along the set work route, for example, each time a predetermined distance is traveled, and if the selected rule changes at a position along the work route, the work route is reset from that position using the new rule.
[0040] When the lawnmower robot 1 travels along the work path set before work, the setting unit 113 sets the path in accordance with obstacle avoidance rules. The setting unit 113 uses object information supplied from the object detection unit 112 to recognize the presence of an obstacle on the work path. If the recognized obstacle can be bypassed, the setting unit 113 resets the work path to bypass the obstacle and return to the original work path. If the recognized obstacle cannot be bypassed (for example, if the obstacle reaches the boundary of the work target area before returning to the original work path after the bypass), the setting unit 113 resets the work path to return to the point where the bypass began and turn around at that point.
[0041] As described above, when resetting a work path in the first path setting method, the setting unit 113 uses any one of the above rules 1 to 4 and the obstacle avoidance rule. On the other hand, the setting unit 113 also resets a work path when the second path setting method is used, but it differs from the first path setting method in that it is not limited to a specific rule. Specifically, the setting unit 113 sets a path using, as the second path setting method, a method of resetting a path based on boundary information acquired by the boundary detection unit 111 and the position of an object detected by the object detection unit 112 every time the work machine travels a predetermined distance.
[0042] When the second route setting method is used, for example, if an obstacle is found along the route and the previous route becomes impassable, the setting unit 113 sets a new optimal route. In other words, there is a possibility that an area that was once inaccessible due to an obstacle or the like may become reachable via the newly set route. In this way, when the second route setting method is used, the number of inaccessible areas can be reduced compared to when the first route setting method is used, in which a route that has been set is not changed during travel.
[0043] When the setting unit 113 sets a route using the first route setting method, it supplies route information indicating the set route to the determination unit 114. The determination unit 114 determines whether or not a switching condition for switching the route setting method from the first route setting method to the second route setting method is satisfied. Specifically, the determination unit 114 determines whether or not the operation quality when using the route set using the first route setting method satisfies a predetermined standard as the switching condition.
[0044] The determination unit 114 determines that the predetermined standard is met, for example, when the difference between the determined turning point on the set route and the actual position where the robot bumps into an object during travel is less than a threshold value. Conversely, the determination unit 114 determines that the work quality does not meet the predetermined standard when the difference is equal to or greater than the threshold value. A significant deviation from the position that would result from travel along the set route may be due to, for example, an obstacle on the route, or the route is not flat but has an incline or bumps, making it impossible to travel straight.
[0045] In either case, since the activity quality along the set route cannot be expected to be good, the determination unit 114 determines that the activity quality does not satisfy the predetermined standard. When the determination unit 114 determines that the activity quality does not satisfy the predetermined standard, it notifies the setting unit 113 to that effect. When the setting unit 113 receives a notification from the determination unit 114, that is, when the activity quality when using the route set by the first route setting method does not satisfy the predetermined standard, it sets the route by the second route setting method.
[0046] The travel control unit 115 controls the operation of the own device (lawnmower robot 1) when it is traveling. The travel control unit 115 acquires the position and orientation of the own device, and controls the traveling operation of the own device so that it moves forward, backward, changes direction, etc. in a predetermined direction. The work control unit 116 controls the operation of the own device (lawnmower robot 1) when it is working. In this embodiment, the work control unit 116 controls the operation of mowing the grass by rotating the blade disc while traveling. The lawnmower robot 1 executes a route setting process that sets a route for the work area using each of the functions described above.
[0047] 5 is a diagram showing the operational steps in the path setting process. The path setting process is initiated, for example, when the lawnmower robot 1 is placed at the start point of the work area. First, the lawnmower robot 1 obtains boundary information indicating the boundary of the work area by, for example, detecting a wire buried along the perimeter of the work area with the boundary detection unit 111 (step S11). Next, the lawnmower robot 1 recognizes, for example, a portion of the work area where the distance between opposing boundaries is less than a threshold as a "pathway."
[0048] The lawnmower robot 1 then recognizes the areas separated by the passages as "partial areas" (step S12). Next, the lawnmower robot 1 travels to one of the recognized partial areas using the travel control unit 115 and arrives at it (step S21). The point where the lawnmower robot 1 arrives becomes the starting point for work in that partial area. Next, the lawnmower robot 1 uses the setting unit 113 to determine whether the arrived partial area is a target area for the second path setting method (step S22).
[0049] In the first operation in the work target area, all partial areas are assumed to be the target areas of the first path setting method. Therefore, in the first operation, the lawnmower robot 1 determines by the setting unit 113 that the reached partial area is not the target area of the second path setting method (NO), and sets a work path for that partial area by the first path setting method based on the boundary information acquired in step S11 (step S31).
[0050] Next, the lawnmower robot 1 travels along the work path set in step S21 by the travel control unit 115 (step S32). Next, the lawnmower robot 1 determines whether or not it has traveled a fixed distance (step S33). If the lawnmower robot 1 determines that it has traveled a fixed distance (YES), it selects one of rules 1 to 4 using the first path setting method to reset the work path (step S34). Note that the lawnmower robot 1 may set the fixed distance to infinity or a very large number so that resetting is not performed while working in a partial area.
[0051] Next, the lawnmower robot 1 repeatedly detects objects using the object detection unit 112, and determines whether or not it has approached an obstacle (step S35). An obstacle is any object approaching the lawnmower robot 1, excluding wires. The lawnmower robot 1 also makes the determination in step S35 if it determines in step S32 that it has not traveled a certain distance (NO). If the lawnmower robot 1 determines that it has approached an obstacle (YES), the setting unit 113 and the travel control unit 115 re-set a work route that goes around the obstacle in accordance with the obstacle avoidance rules (step S36).
[0052] The lawnmower robot 1 then determines whether or not it has reached the end point of the work path set in the current partial area (step S37). If the lawnmower robot 1 determines NO in step S35, it also performs the determination in step S37. If the lawnmower robot 1 determines in step S37 that it has not reached the end point of the work path (NO), it returns to step S32 and repeats the operation. If the lawnmower robot 1 determines in step S37 that it has reached the end point of the work path (YES), it then determines whether or not a switching condition, which is a condition for switching the setting method of the current partial area, has been satisfied (step S41).
[0053] The switching condition is expressed by whether or not the operation quality when using the route set by the first route setting method satisfies a predetermined standard. In this embodiment, the switching condition is a condition that is satisfied when the number of points where the difference between the determined turn-around position on the set route and the actual turn-around position is equal to or greater than the distance threshold is equal to or greater than the number threshold. For example, if the number threshold is 1, the switching condition is satisfied if there is at least one point where the difference between the set turn-around position and the actual turn-around position is equal to or greater than the distance threshold.
[0054] If the lawnmower robot 1 determines in step S41 that the switching condition is met (YES), it switches the method of setting the work path for the current partial area (step S42). For example, if the lawnmower robot 1 determines that the switching should be done during the first work, it stores information that the method of setting the current partial area has been switched from the first path setting method to the second path setting method. After step S42, or if the lawnmower robot 1 determines in step S41 that the switching condition is not met (NO), it determines whether the work end condition is met (step S43).
[0055] The work end condition is a condition for ending work in a work target area by the lawnmower robot 1. The work end condition is met, for example, when the area of the work target area that has not been reached falls to less than 5% of the entire area. This work end condition is used to prevent the difficulty of machine learning from increasing drastically due to minute areas left uncut.
[0056] When the work area has a simple shape as in the examples shown in Figures 2 and 6, almost no grass is left uncut, so the value used as the work end condition may be less than 5%, or may be 0%. Alternatively, the value used as the work end condition may be set to, for example, 10% as an initial value, and then gradually or stepwise reduced as the amount of learning increases. With this method, the optimal end condition is set according to the learning content, without the need for detailed manual condition setting prior to the work.
[0057] If the lawnmower robot 1 determines in step S43 that the work end condition has been satisfied (YES), it ends this operation procedure. If the lawnmower robot 1 determines that the work end condition has not been satisfied (NO), it uses the setting unit 113 and the travel control unit 115 to set a movement path along which the lawnmower robot 1 moves toward the next partial area through a passageway connecting the current partial area, and moves to the next partial area along the set movement path (step S44).
[0058] Specifically, the lawnmower robot 1 sets a movement path using rule 5 or rule 6 for movement. Rule 5: Proceed clockwise around the perimeter of the work area, and when you reach the entrance to an aisle, proceed toward that aisle. When you reach the next sub-area, turn left or right and proceed to the corner of that sub-area. Rule 6: Replace "clockwise" in rule 5 with "counterclockwise" The setting unit 113 selects, from rule 5 and rule 6, the one that results in a shorter travel distance to reach the passage, and uses this for route setting.
[0059] After moving to the next partial area, the lawnmower robot 1 returns to step S21 and continues operation. A series of operations starting in step S11 and ending in step S43 is called an "episode." Even if one episode ends, if time passes and the grass grows, the lawnmower robot 1 will start the next episode. In the second and subsequent episodes, there may be a partial area that has been switched to as a target area for the second route setting method.
[0060] In this case, the lawnmower robot 1 determines, by the setting unit 113, that the reached partial area is a target area for the second path setting method (YES), and sets a work path for that partial area using the second path setting method based on the boundary information acquired in step S11 (step S51). Next, the lawnmower robot 1 travels along the work path set in step S51 by the travel control unit 115 (step S52). While the lawnmower robot 1 travels along the work path, the object detection unit 112 repeatedly detects objects.
[0061] Next, the lawnmower robot 1 determines whether it has traveled a fixed distance (step S53), and repeats the operation of step S53 until it determines that it has traveled (YES). When the lawnmower robot 1 determines that it has traveled a fixed distance, it resets the work path using the second path setting method, taking into account information about objects detected up to that point (step S54). Note that the lawnmower robot 1 may also determine in step S53 whether it has detected the approach of an object, and reset the work path using the second path setting method if it determines that an object has approached (YES).
[0062] The lawnmower robot 1 determines whether or not it has reached the end point of the work path set in the current partial area (step S55). If the lawnmower robot 1 determines in step S55 that it has not reached the end point of the work path (NO), it returns to step S52 and repeats the operation. If the lawnmower robot 1 determines in step S55 that it has reached the end point of the work path (YES), it then determines whether or not a switching condition has been met in the current partial area (step S61). As a switching condition from the second path setting method to the first path setting method, for example, a condition that is met when all obstacles detected as objects other than the boundary have shapes, positions, and sizes that allow for a detour to be performed is used.
[0063] If the work is performed on a different day, the state of obstacles may change, and this switching condition may be met. If the lawnmower robot 1 determines in step S61 that the switching condition is met (YES), it switches the method of setting the work path for the current partial area (step S62). After step S62, or if the lawnmower robot 1 determines in step S61 that the switching condition is not met (NO), it determines whether the work end condition is met (step S63).
[0064] If the lawnmower robot 1 determines in step S63 that the work end condition is met (YES), it ends this operation procedure. If the lawnmower robot 1 determines that the work end condition is not met (NO), it uses the setting unit 113 and the travel control unit 115 to set a movement path for moving toward the next partial area through a passage connecting to the current partial area, and moves to the next partial area along the set movement path (step S64). An example of setting a work path using the path setting process will be described below.
[0065] Fig. 6 is a diagram showing a first example of a work area. Fig. 6 shows a work area A10 including a rectangular partial area A11 and a partial area A13 connected to partial area A11 by a passage E12. Fig. 6 shows directions D1 to D4 similar to those in Fig. 2.
[0066] Fig. 7 is a diagram showing an example of a route set by the first route setting method. In the example of Fig. 7, the setting unit 113 sets a work route with the corner of the direction D1 and the direction D4 of the partial area A11 as the starting point P11-1. The setting unit 113 sets a work route C11-1 from the starting point P11-1 based on the above-mentioned rule 3 (initial direction = direction D3, turning back direction = direction D2). In the work route C11-1, the end point P12-1 at the edge of the partial area A11 is set as the end point of the work route.
[0067] When the end point of the work path is reached in this way, the setting unit 113 sets a movement path using the above rule 5 or rule 6. In the example of Fig. 7, the travel distance to the passage E12 is shorter with rule 5 than with rule 6, so the setting unit 113 uses rule 5 to set a movement path C12-1 that proceeds from the end point P12-1 to a position adjacent to the passage E12 and passes through the passage E12 from there. The setting unit 113 also sets a movement path C12-1 that turns right when it reaches the boundary of the partial area A13 and proceeds to a corner of the partial area A13 in the direction D2 and the direction D3.
[0068] The lawnmower robot 1 travels along the travel path C12-1 thus set by the travel control unit 115 to move to the partial area A13. The end point of the travel path C12-1 is the start point P13-1 of the next work path. In the example of FIG. 7, the lawnmower robot 1 sets the work path C13-1 from the start point P13-1 using rule 1 (initial direction=direction D1, turning back direction=direction D4) by the setting unit 113. In this embodiment, the lawnmower robot 1 determines that the work end condition is met when the area of the unreached area of the work target area is less than 5% of the total area.
[0069] FIG. 8 shows an example of a work path set in the work target area A10 using the second path setting method. Fig. 8 is a diagram showing an example of a route set by the second route setting method. In the example of Fig. 8, the setting unit 113 sets a work route C11-2 that starts from the same starting point P11-2 as the example of Fig. 7 in the direction D3, shifts to the direction D2 after reaching the boundary, turns back, goes back and forth in the directions D1 and D3, shifts to the direction D2, and reaches the end point P12-2.
[0070] Furthermore, the setting unit 113 sets a movement route C12-2 from the end point P12-2 through the passage E12 to the start point P13-2 of the partial area A13, and sets a work route C13-2 in the partial area A13. When the second route setting method is used, the object detection unit 112 resets the work route every time a certain distance is traveled. For reference, the processing load is compared between the case where the route is set by the first route setting method and the case where the route is set by the second route setting method for the entire work target area A10.
[0071] Fig. 9 is a diagram showing the processing load in the work target area A10. Fig. 9 shows the number of steps and processing time when processing is performed to set a work path in the work target area A10. In both cases, the larger the numerical value, the larger the processing load. More specifically, one episode is the period from the start point of the entire work path in the work target area to the satisfaction of the work end condition, and 500 episodes were performed while learning the NN and NXCS used in the first and second path setting methods from an unlearned state.
[0072] Each trial consisted of 500 episodes, and the results for the best (minimum number of steps) and worst (maximum number of steps) trials out of the 10 trials were shown, along with the average number of steps for the 10 trials. For the first route setting method, the minimum number of steps was 2353.0, the maximum was 8139.0, and the average was 2752.3, and the average processing time was 984.7 seconds. For the second route setting method, the minimum number of steps was 2366.0, the maximum was 30076.0, and the average was 17243.6, and the average processing time was 1406.8 seconds.
[0073] In the second route setting method, it is difficult to set a movement route to the next partial area, and the average number of steps and the average processing time are larger than those of the first route setting method. On the other hand, in the first route setting method, efficient travel is possible due to rules 1 to 10, and therefore both the average number of steps and the average processing time are smaller than those of the second route setting method. In this way, the first route setting method tends to have a smaller processing load than the second route setting method.
[0074] In addition, in the case of work target area A10, the lawnmower robot 1 sets a work path using only the first path setting method, so the processing load for path setting is smaller than when the second path setting method is used. In this way, the lawnmower robot 1 basically uses the first path setting method, which imposes a small processing load, and only uses the second path setting method, which imposes a large processing load, when a switching condition is satisfied, thereby reducing the processing load when setting a work path, compared to when the second path setting method is used for basic processing.
[0075] Next, a case where the method is switched to the second route setting method will be described. Fig. 10 is a diagram showing a second example of a work target area. Fig. 10 shows a work target area A20 including a rectangular partial area A21 and a partial area A23 connected to partial area A21 by a passage E22. Partial area A23 has a spiral wall F23, and includes an internal area A24 of wall F23. Fig. 10 shows directions D1 to D4 similar to those in Fig. 2.
[0076] Fig. 11 is a diagram showing an example of a route set by the first route setting method. In the example of Fig. 11, the setting unit 113 sets a work route with the corner of the direction D1 and the direction D4 of the partial area A21 as the starting point P21-1. The setting unit 113 sets a work route C21-1 from the starting point P21-1 based on the above-mentioned rule 3 (initial direction = direction D3, turning back direction = direction D2). In the work route C21-1, the end point P22-1 at the edge of the partial area A21 is set as the end point of the work route.
[0077] The setting unit 113 sets a movement path C22-1 passing through the passage E22, and sets a work path C23-1 in the partial area A23 from a starting point P23-1 in the partial area A23. As shown in Fig. 11, in the first path setting method, a path cannot be set to the back of the internal area A24 of the spiral wall F23. In contrast, in the second path setting method, a path can be set to the back of the internal area A24.
[0078] Fig. 12 is a diagram showing an example of a route set by the second route setting method. In the example of Fig. 12, the setting unit 113 sets a working route C21-2 that runs from a starting point P21-2 at the corner of the direction D1 and the direction D4 to the entire inside of the partial area A21. The setting unit 113 also sets a moving route C22-2 that passes through the passage E22 from the partial area A21 to the partial area A23, and sets a working route C23-2 in the partial area A23. Furthermore, the setting unit 113 sets a working route C24-2 that reaches the back of the inner area A24 of the spiral wall F23.
[0079] Fig. 13 is a diagram showing an example of a path set by the path setting process. In the example of Fig. 13, the setting unit 113 sets a working path C21-3 from a starting point P21-3 at the corner of the direction D1 and the direction D4 using rule 2 (initial direction = direction D2, turning direction = direction D3) in the first path setting method. The setting unit 113 also sets a moving path C22-3 that moves from the end point of the working path C21-3 to the partial area A23. Then, the setting unit 113 sets a working path C23-3 in the partial area A23 and a working path C24-3 that reaches the back of the internal area A24 of the wall F23 using the second path setting method.
[0080] In the case of the work target area A20, since there is a wall F23 that acts as an obstacle in the partial area A23, the condition for switching from the first path setting method to the second path setting method is satisfied in the partial area A23. Therefore, the setting unit 113 sets the work path for both the partial area A21 and the partial area A23 by the first path setting method the first time, and sets the work path for the partial area A23 by the second path setting method from the second time onwards. By switching the path setting method in this way, it is possible to reduce unreached areas compared to the case where switching is not performed.
[0081] FIG. 14 is a diagram showing the processing load in the second example. FIG. 14 shows the number of steps and processing time when the process of setting the work path in the work target area A20 is performed. In FIG. 14, 500 episodes are considered as one trial, and the results of the best trial (minimum number of steps) and the worst trial (maximum number of steps) out of 10 trials and the average number of steps for the 10 trials are shown. In the case of the first route setting method, the minimum number of steps was 2433.0, the maximum was 8059.8, and the average was 2908.3, and the average processing time was 7458.3 seconds. In the case of the second route setting method, the minimum number of steps was 2386.7, the maximum was 30054.7, and the average was 17131.2, and the average processing time was 85616.8 seconds.
[0082] Moreover, when the partial area A21 is set using the first route setting method and the partial area A23 is set using the second route setting method, the number of steps is 2460.7 at minimum, 12881.7 at maximum, 5580.8 on average, and the processing time is 50605.1 seconds on average. As described above, if only the first route setting method is used, the processing load is small, but unreached areas are likely to remain. If only the second route setting method is used, the number of unreached areas is small, but the processing load is large. Therefore, in this embodiment, the first route setting method is basically used, but the second route setting method is used depending on the area.
[0083] This reduces unreached areas while suppressing an increase in the processing load. In particular, when hardware resources for information processing are installed in a work machine capable of autonomous travel such as the lawnmower robot 1, there is a limit to the amount of resources, and an upper limit to the processable load is likely to be created. In this embodiment, even when there is an upper limit to the processing load, by selectively using the first route setting method and the second route setting method, it is possible to reduce unreached areas and improve the possibility of setting a route with high work quality in the work area.
[0084] 4.Other The following configuration may be adopted for the working machine exemplified by the lawnmower robot 1.
[0085] (1) In the above embodiment, the configuration of the lawnmowing robot 1 has been described, but a program for causing a computer to execute each step of the information processing system (each step shown in FIG. 5) may be provided. The computer may be provided in the lawnmowing robot 1, or in an external device such as a server separate from the lawnmowing robot 1 or a cloud computing resource.
[0086] (2) In the embodiment, NN (Neural Network) and NXCS (Neural-network XCS) are used as the machine learning method of the model for setting the optimal route, but other machine learning methods may be used. Examples of other machine learning methods that may be used include XCS (eXtended Classifier System), SVM (Support Vector Machine), Deep Learning, CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), PCA (Principal Component Analysis), etc.
[0087] (3) In the embodiment, the setting unit 113 uses a route setting method that sets a route based on a trained model trained by a machine learning technique, but may use a route setting method determined without using machine learning. Examples of such a route setting method include a method of setting a route using an algorithm devised by a person, and a route setting method created by a technique other than machine learning in AI (Artificial Intelligence).
[0088] (4) The determination unit 114 may use a switching condition different from that of the embodiment. For example, the determination unit 114 may determine whether or not the switching condition is satisfied depending on the length of the set work path. In general, the shorter the length of the work path, the less power consumption of the work machine and the higher the work quality. Therefore, the determination unit 114, for example, calculates the total length of an ideal work path without any overlap of the work paths, and calculates the ratio of the length of the set work path to that total length. The closer this ratio is to 1, the higher the work quality is, and the farther it is from 1, the lower the work quality is. The determination unit 114 determines that the switching condition is satisfied when the calculated ratio is equal to or greater than a threshold value.
[0089] The determination unit 114 may also determine whether the switching condition is met depending on the number of direction changes in the set work path. Generally, the fewer the number of direction changes, the less time lost during direction changes, and the higher the work quality. Therefore, the determination unit 114, for example, calculates the number of direction changes in a work path that minimizes the number of direction changes, and calculates the ratio of the number of direction changes in the set work path to that number. Again, the closer this ratio is to 1, the higher the work quality, and the farther it is from 1, the lower the work quality. The determination unit 114 determines that the switching condition is met when the calculated ratio is equal to or greater than a threshold value.
[0090] Furthermore, the determination unit 114 may determine whether or not the switching condition is satisfied depending on the proportion of the reached area included in the set work path. The above-mentioned proportion of the reached area refers to the area that has actually been reached by the work machine that has traveled the entire set work path. The smaller the proportion of the reached area, the less wasted travel there is, and the higher the work quality is. The determination unit 114 calculates the proportion of the reached area by, for example, detecting the load on the motor that rotates the blade disk provided on the work machine itself.
[0091] The load on the motor is maximum when the grass is cut over the entire width of the blade disk, and decreases as the reached area increases relative to the width of the blade disk. The determination unit 114 creates a graph that correlates the travel distance with the load on the motor, and determines that the switching condition is met when the area of the difference between the maximum load on the motor and the travel distance is equal to or greater than a threshold. It is also possible to accumulate the distance traveled again through the reached area, and determine that the switching condition is met when the accumulated distance reaches a threshold.
[0092] The determination unit 114 may also reduce the accumulated distance in accordance with the distance traveled in the unreached area. The determination unit 114 calculates the distance traveled in the unreached area by detecting the load of the motor described above. By doing so, it becomes less likely that the route setting method will be switched midway even though the quality of the work route is gradually improving, compared to a case in which the accumulated distance is not reduced.
[0093] The determination unit 114 may similarly perform the determination by accumulating the time for traveling again through the reached area instead of the distance described above. The determination unit 114 may also determine that the switching condition is satisfied when the degree of complexity of the shape of the boundary detected by the boundary detection unit 111 exceeds a predetermined standard. This is because it is considered that the more complex the shape of the boundary is, the more difficult it becomes to set a route with good work quality using the rules used in the first route setting method.
[0094] In short, the determination unit 114 may use as a switching condition a condition that is satisfied in a situation where it is highly likely that it is difficult to set a good route using the first route setting method. Furthermore, the determination unit 114 may use as a switching condition a condition that is satisfied in a situation where it is difficult to set a good route using the first route setting method but is likely to be possible to set a good route using the second route setting method. By using such a switching condition, it is possible to improve the possibility that a route with high work quality will be set in the work area, as in the embodiment.
[0095] (5) The setting unit 113 may use a work end condition different from that of the embodiment. For example, the setting unit 113 may use a condition that is satisfied when a predetermined time has passed or a condition that is satisfied when the battery of the work machine has decreased to a predetermined amount as the work end condition. In short, the setting unit 113 may use, as the work end condition, a condition that is satisfied when the situation has reached a point where the work in the work target area can be said to be substantially completed.
[0096] (6) The work performed by the work machine is not limited to mowing the lawn, and may be, for example, tilling by an autonomous agricultural robot, spreading fertilizer or spraying pesticides, or cleaning by an autonomous vacuum cleaner robot.
[0097] Furthermore, it may be provided in the following aspects: In the information processing system, the first method is likely to result in a smaller processing load than the second method. In the information processing system, the first method is a method of setting a continuous path according to a rule that the work machine repeats moving forward and changing direction at the boundary of the working area. In the information processing system, the first method is a method of having a plurality of rules in which at least one of the initial traveling direction and the direction after the direction change is different, and setting a route by selecting one of the plurality of rules that results in the best operation quality. In the information processing system, the quality of the operation is expressed by any one of the length of the set route, the number of direction changes on the route, and the proportion of the reached area included in the route. In the information processing system, the ratio of the unreached area or the reached area is calculated by detecting the load of a motor provided in the work machine. In the information processing system, the detection step detects an object present in the work area, and the second method is a method of resetting the path based on the acquired boundary information and the position of the detected object each time the work machine travels a predetermined distance. In the information processing system, the first method and the second method are methods of setting routes based on trained models that have been trained using different machine learning techniques. In the information processing system, the first method uses a machine learning method using a neural network that can select from a plurality of patterned types of paths, and the second method uses a machine learning method using a classifier system. In the information processing system, the work performed by the work machine is lawn mowing. An autonomously movable work machine configured to execute each step of the information processing system. A program that causes a computer to execute each step of the information processing system. Of course, this is not the case.
[0098] Finally, although various embodiments of the present invention have been described, these are presented as examples and are not intended to limit the scope of the invention. The novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. The embodiments and their modifications are included within the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims.
[0099] 1: Lawnmower robot 11: Control section 12: Storage section 13: Communications Department 14: Sensor section 15: Running part 16: Working section 111: Boundary detection unit 112: Object detection unit 113: Setting section 114: Judgment section 115: Driving control unit 116: Work control section
Claims
1. An information processing system, In the acquisition step, boundary information indicating a boundary of a working area targeted by the autonomously traveling work machine is acquired, In the setting step, a route for the work machine is set based on the acquired boundary information so as to eliminate unreached areas from the work area, and if the work quality when the work machine travels a certain distance or a certain time in the work area using the route set by the first method does not satisfy a predetermined standard, the route is set by the second method when the work machine next works in the work area, and the work machine travels along the set route. The activity quality is higher as the proportion of reached areas included in the route is smaller.
2. 2. The information processing system according to claim 1, The working machine is a lawnmower, the work area is a lawn mowing work area, The work quality is the work quality of mowing a lawn.
3. 3. The information processing system according to claim 1, The first method tends to impose a smaller processing load than the second method.
4. 4. The information processing system according to claim 3, The first method is a method of setting a continuous path according to a rule that the work machine repeats moving forward and changing direction at the boundary of the working area.
5. 5. The information processing system according to claim 4, The first method is a method of setting a route by selecting a rule that has a plurality of rules, each of which differs in at least one of the initial travel direction and the direction after the direction change, and that results in the best operation quality from among the plurality of rules.
6. 6. The information processing system according to claim 5, The ratio of the unreached area to the reached area is calculated by detecting the load on a motor provided in the work machine.
7. In the information processing system according to any one of claims 1 to 6, In the detection step, an object present in the working area is detected; The second method is a method of resetting the path based on the acquired boundary information and the position of the detected object each time the work machine travels a predetermined distance.
8. In the information processing system according to any one of claims 1 to 7, The first method and the second method are methods of setting routes based on trained models each trained by a different machine learning technique.
9. 9. The information processing system according to claim 8, The first method uses a machine learning method that utilizes a neural network that can select from a plurality of patterned types of paths, and the second method uses a machine learning method that utilizes a classifier system.
10. An autonomously travelling work machine, An information processing system configured to execute each step of the information processing system according to any one of claims 1 to 9.
11. A program, A method for causing a computer to execute each step of the information processing system according to any one of claims 1 to 9.
Citation Information
Patent Citations
device for controlling a vehicle
DE10307794A1
Control of lawn mower and apparatus therefor
JP1997037632A
Control method for floor cleaning robot
JP1998234634A
Controller for mobile object
JP1999065655A
Work vehicle automatic traveling system and traveling route management device
JP2018038291A