Autonomous driving route planning method
By calculating deviation widths and creating inner circumferential routes, the method prevents autonomous vehicles from deviating from travel area boundaries, ensuring complete coverage and smooth travel.
Patent Information
- Application Number
- JP2020184308
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-11-04
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2040-11-04
AI Technical Summary
Autonomous vehicles with varying sizes can deviate from the outer boundary of a travel area during grid-based route planning, especially when changing directions, leading to unpainted areas near the periphery.
The method involves calculating deviation widths based on vehicle size and rotation radius, creating inner circumferential routes to cover these deviations, and planning a travel route within grid areas to prevent deviation, including overlapping or independent inner routes as needed.
This approach ensures that autonomous vehicles stay within the travel area boundaries, preventing unpainted areas and enabling smooth continuous travel.
Smart Images

Figure 0007615618000001 
Figure 0007615618000002 
Figure 0007615618000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an autonomous driving path planning method, and more particularly to a method for planning a driving path for an autonomous vehicle. [Background technology]
[0002] 2. Description of the Related Art Conventionally, an autonomous mobile object that autonomously travels according to a route plan from a travel start position to a travel end position is known. As an example, an autonomous floor washer reproduces a driving route and cleaning conditions instructed by a user's operation, and autonomously travels along the instructed driving route while autonomously performing cleaning in accordance with the instructed cleaning conditions.
[0003] In another route planning method, a driving schedule is created by projecting a filled-in driving area of an environmental map onto grid coordinates of a predetermined size and determining the order in which the grid will be passed through (see, for example, Patent Document 1).
[0004] Also, a travel path planning device is known that provides a work area inside an environmental area and provides an outer periphery area around the work area where the harvester changes direction (see, for example, Patent Document 2). [Prior art documents] [Patent documents]
[0005] [Patent Document 1] International Publication No. 2018 / 043180 [Patent Document 2] JP 2018-099113 A Summary of the Invention [Problem to be solved by the invention]
[0006] In general, the body of an autonomous vehicle has different lengths and widths, and is rectangular in plan view, for example. Therefore, when the fill-in route planning is grid-based, the body may deviate from the outer boundary of the travel area during fill-in route planning in a location where the orientation of the body during teaching route planning differs from that during fill-in route planning (for example, in a location where the body makes a U-turn). Furthermore, if the filling plan is made within a range in which the autonomous vehicle does not deviate (for example, by simply shrinking the area to be filled), there will be areas left unfilled near the periphery.
[0007] An object of the present invention is to prevent an autonomous vehicle from departing from the outer boundary of a driving area in grid-based autonomous driving path planning. [Means for solving the problem]
[0008] In the following, several aspects will be described as means for solving the problems. These aspects can be arbitrarily combined as necessary.
[0009] An autonomous driving path planning method according to one aspect of the present invention is a method for planning a path for an autonomous vehicle to autonomously drive, and includes the following steps. A step of acquiring a driving area in an environmental map where filling-in driving will be performed. A step of calculating the deviation width by which the autonomous vehicle body deviates from the driving area when the autonomous vehicle changes direction based on the vehicle size, turning radius, turning movement distance, and grid size of the autonomous vehicle. Creating one or more inner loop paths corresponding to at least a portion of the deviation width. Creating a grid area bounded by a location corresponding to the innermost inner circuit path. A step of creating a fill-in driving route by filling in the grid area. The rotational movement distance is the movement locus of the wheel midpoint when the vehicle body turns. In this method, one or more inner circuit paths corresponding to at least a portion of the deviation width are created, and further, a fill-in driving path is created within the grid area. As a result, a driving path is planned in the grid-based autonomous driving path that allows the autonomous vehicle to travel without deviating from the outer boundary of the driving area. In addition, when there are a plurality of inner circulation paths, they may be independent of each other, or they may partially overlap each other.
[0010] In the step of creating the inner circuit paths, the maximum number of paths required to cover the entire deviation width may be calculated. In this method, the deviation width is reliably covered entirely by the inner circumferential path. In other words, although the size of the deviation width may vary from place to place, by creating the maximum number of inner circumferential paths required to cover the deviation width, no unpainted areas are left.
[0011] The step of acquiring the travel area may acquire the travel area by teaching the boundary of the travel area by the autonomous vehicle and creating a perimeter teaching path.
[0012] The method may further comprise the steps of: A step of continuously connecting the outer periphery route, the filled-in route, and the inner periphery route, which are created based on the outer periphery teaching route, to determine an autonomous route. In this method, an autonomous driving route that includes a circumferential route is planned.
[0013] The method may further comprise the steps of: A step of setting the start position of the filled-in travel path on the outer circumferential path. A step of setting the end position of the fill-in travel path near the start position inside the outer circumferential path. This makes the end position of the filled-in travel route clear. Furthermore, since the end position is set near the start position, continuous travel can be performed smoothly. Furthermore, by setting the end position to a position shifted inward from the start position, it is possible to prevent the path from deviating from the teaching range when planning a path back to the end position (=start position) on the outer circumferential path.
[0014] The method may further comprise the steps of: A step of creating a test driving route for detecting environmental changes. The step of having the autonomous vehicle travel a test route. Conventionally, when an environmental change occurs during filling-in driving, the autonomous vehicle stops driving to prevent losing its own position and being unable to follow the planned driving route. In this case, it is necessary to re-teach the driving range and create a route for the remaining unfilled areas including the area around the stopping point. In this method, the autonomous vehicle runs a test route, allowing environmental changes to be detected before the fill-in driving. Therefore, unlike conventional methods, the autonomous vehicle is less susceptible to the effects of environmental changes during actual driving.
[0015] The method may further comprise the steps of: The step of notifying the autonomous vehicle of environmental changes detected while the autonomous vehicle is traveling along the test driving route. In this way, the user can immediately become aware of environmental changes. The method may further comprise the steps of: A step of canceling the test drive after detecting an environmental change while the autonomous vehicle is traveling along the test drive route. In this way, the user can immediately begin re-teaching the driving range.
[0016] The method may further comprise the steps of: After the test drive is stopped, returning the autonomous vehicle to a point on the test drive route. In this way, the user can immediately begin re-teaching the driving range. The method may further comprise the steps of: After the test drive is stopped, the autonomous vehicle is moved to a point within the driving area. In this method, for example, when the test drive start position and the fill-in start position are different, the autonomous vehicle can be moved to the fill-in start position. Effect of the Invention
[0017] In the autonomous driving path planning method according to the present invention, in grid-based autonomous driving path planning, it is possible to prevent the autonomous vehicle from departing outside the outer boundary of the driving area. [Brief description of the drawings]
[0018] [Figure 1] FIG. 1 is a diagram showing an overall configuration of an example of an autonomous driving device according to a first embodiment. [Diagram 2] FIG. 2 is a diagram showing an example of the configuration of a travel route teaching unit. [Diagram 3] FIG. [Figure 4] FIG. 2 is a diagram showing the overall configuration of a control unit. [Diagram 5] FIG. 2 is a diagram showing a detailed configuration of a travel control unit. [Figure 6] FIG. 2 is a diagram showing a detailed configuration of a control management unit. [Figure 7] FIG. 4 is a diagram showing a detailed configuration of a travel area route creation unit. [Figure 8] 4 is a flowchart showing a basic operation of the autonomous driving device. [Figure 9] 5 is a flowchart showing an operation in a manual operation teaching mode. [Figure 10] FIG. 2 is a diagram showing an example of a driving environment. [Figure 11] A diagram showing the grid layer projected onto the global map with the driving area overlaid. [Figure 12] FIG. 4 is a diagram showing an example of a state in which a travel area is divided into rectangular areas. [Figure 13] FIG. 4 is a diagram showing an example of a route within a travel area. [Figure 14] 5 is a flowchart showing the operation of the autonomous driving device when executing an autonomous driving mode. [Figure 15] 11 is a flowchart showing a control operation for creating a path within a rectangular area. [Figure 16] 11 is a schematic plan view showing the relationship between an outer circumferential path, a first grid area, a second grid area, an inner circumferential path, and a filling path. FIG. [Figure 17] 11 is a schematic plan view showing the relationship between an outer circumferential path, a first grid area, a second grid area, an inner circumferential path, and a filling path. FIG. [Figure 18] 11 is a schematic plan view showing the relationship between an outer circumferential path, a first grid area, a second grid area, an inner circumferential path, and a filling path. FIG. [Figure 19] 2 is an environmental map showing a driving route in the first embodiment. [Figure 20] 1 is an environmental map showing a driving route in a conventional example. [Figure 21] 13 is a flowchart showing the test drive route creation and test drive control operation of the third embodiment. [Figure 22] FIG. [Figure 23] FIG. 11 is a schematic plan view of a test driving route of a first modified example. [Figure 24] FIG. 13 is a schematic plan view of a test driving route of a second modified example. [Diagram 25] FIG. 13 is a schematic plan view of a test driving route according to a third modified example. [Figure 26] FIG. 13 is a schematic plan view of a test driving route according to a fourth modified example. [Figure 27] FIG. 13 is a schematic plan view of a test driving route according to a fifth modified example. [Figure 28] FIG. 13 is a schematic plan view of a test driving route of a sixth modified example. [Figure 29] FIG. 13 is a schematic plan view of a test driving route of the seventh modified example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0019] 1. First embodiment (1) Overall configuration of the autonomous driving device The overall configuration of an autonomous mobile device 100 (an example of an autonomous mobile body) according to the first embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing the overall configuration of an example of an autonomous mobile device. The autonomous mobile device 100 is a cleaning machine that autonomously reproduces set cleaning conditions and a travel route. The autonomous driving device 100 includes a driving unit 1. The driving unit 1 is a device that drives the autonomous driving device 100. The driving unit 1 includes a main body B that constitutes the main body of the autonomous driving device 100. The driving unit 1 includes a driving motor 11 at each of the left and right ends of the bottom of the main body B, and a main wheel 13 that is attached to the output rotating shaft of the driving motor 11 and rotates in accordance with the rotation of the driving motor 11.
[0020] The autonomous mobile device 100 includes a cleaning unit 3. The cleaning unit 3 is provided at the bottom of the main body B, and is a device that cleans the floor surface F according to specified cleaning conditions. The cleaning unit 3 of this embodiment includes a cleaning liquid outlet 31, a squeegee 33, and a cleaning member 35. The cleaning liquid discharge port 31 discharges cleaning liquid (e.g., water) supplied from a cleaning liquid supply tank 311 by a cleaning liquid supply pump 313 onto a floor surface F on the front side of the main body B. The squeegee 33 is provided at the rear of the bottom surface of the main body B and collects the cleaning liquid remaining on the floor surface F. The cleaning member 35 is provided on the front side of the bottom surface of the main body B and is rotated on the floor surface F where the cleaning liquid exists by the rotation of a cleaning member rotation motor 351, thereby cleaning the floor surface F. By including the above-described cleaning unit 3, the autonomous mobile device 100 can perform a cleaning operation of polishing the floor surface F with the cleaning member 35 using a cleaning liquid. In another embodiment, the squeegee 33 may be provided with a suction port 33a. The suction port 33a can suck the cleaning liquid, dust, and the like collected by the squeegee 33 and convey them to the collection member 333 by putting the collection member 333 into a negative pressure state using the suction motor 331.
[0021] The autonomous mobile device 100 has a control unit 5. The control unit 5 is a computer system equipped with a CPU, a storage device (RAM, ROM, hard disk drive, SSD, etc.), various interfaces, etc. The control unit 5 performs various controls related to the autonomous mobile device 100 (described later). The autonomous mobile device 100 includes a travel path teaching unit 7. The travel path teaching unit 7 is a device that accepts movement operations of the traveling unit 1 by an operator. The travel path teaching unit 7 is attached to the upper rear side of the main body B via an attachment member 8. This allows the operator to operate the travel path teaching unit 7 to move the traveling unit 1 (described later).
[0022] In another embodiment, the driving path teaching unit 7 does not have to be attached to the main body B. In this case, the driving path teaching unit 7 is, for example, a controller such as a joystick. This allows the operator to remotely control the autonomous mobile device 100.
[0023] The autonomous mobile device 100 includes a setting unit 9. The setting unit 9 is an operation panel for making various settings related to the autonomous mobile device 100, and is attached to the upper rear surface of the main body B. The setting unit 9 is also provided near the travel path teaching unit 7. This allows the operator to operate the setting unit 9 while operating the travel path teaching unit 7 to operate the travel unit 1. In another embodiment, the setting unit 9 does not have to be attached to the main body B. In this case, the setting unit 9 can be, for example, a console capable of wireless communication, such as a portable terminal. This allows the operator to remotely set the autonomous mobile device 100.
[0024] (2) Configuration of the driving route teaching unit An example of the configuration of the travel route teaching unit 7 will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of the configuration of the travel route teaching unit. The driving path teaching unit 7 has handles 71a and 71b. The handles 71a and 71b are attached to the left and right side surfaces, respectively, of a housing 73. The handles 71a and 71b are used when an operator operates the autonomous driving device 100.
[0025] For example, an operator holding the handles 71a and 71b can apply, via the handles 71a and 71b, either a force pulling the autonomous mobile device 100 toward the operator or a force pushing the autonomous mobile device 100. By adjusting the force applied to each of the handles 71a and 71b, the operator can adjust the traveling direction of the autonomous mobile device 100. For example, if a pulling force is applied to the handle 71a on the right side as viewed from the front direction of the autonomous mobile device 100, the autonomous mobile device 100 will change direction to the left.
[0026] The handles 71a and 71b are rotatably attached to the housing 73. The handles 71a and 71b are also connected to the control unit 5 via a driving control command calculation unit 75. The driving control command calculation unit 75 converts the rotation of the handles 71a and 71b into an electric signal and outputs it to the control unit 5. This allows the operator to operate the autonomous mobile device 100 (traveling unit 1) by rotating the handles 71a and 71b. For example, by adjusting the rotation direction of the handles 71a and 71b, the operator may be able to switch between forward and reverse movement of the autonomous mobile device 100. Also, by adjusting the amount of rotation of the handles 71a and 71b, the traveling speed of the autonomous mobile device 100 may be adjusted. Furthermore, the traveling direction of the autonomous mobile device 100 may be changed by differentiating the amount of rotation of the handles 71a and 71b.
[0027] (3) Configuration of the setting section The configuration of the setting unit 9 will be described with reference to Fig. 3. Fig. 3 is a diagram showing the configuration of the setting unit. The setting unit 9 has a switching unit 91. The switching unit 91 selects an operation mode of the autonomous mobile device 100 and outputs it to the control unit 5. The operation modes of the autonomous mobile device 100 include an autonomous mobile mode and a manual operation mode. The autonomous mobile mode is an operation mode in which the autonomous mobile device 100 autonomously travels and cleans the floor surface F. The manual operation mode is an operation mode in which the autonomous mobile device 100 is in a state in which it can be manually operated by an operator. The switching unit 91 can be configured, for example, by a changeover switch as shown in FIG.
[0028] The setting unit 9 has a manual operation memory switch 92. The manual operation memory switch 92 is a switch for starting or ending memory of manual operation of the autonomous mobile device 100 by the operator. Specifically, when the manual operation memory switch 92 is pressed after the operation mode is set to the manual operation mode by the switching unit 91, a manual operation teaching mode that teaches the autonomous mobile device 100 cleaning conditions and travel routes performed by the operator's manual operation is started as a sub-operation mode of the manual operation mode. On the other hand, when the manual operation memory switch 92 is switched while the manual operation teaching mode is being executed, the manual operation teaching mode is stopped. The manual operation memory switch 92 may be, for example, a push button switch as shown in Fig. 3. In this case, the manual operation memory switch 92 is switched by pressing the push button switch.
[0029] The setting unit 9 has a setting operation unit 93. The setting operation unit 93 is configured with, for example, a push switch, and receives input of various settings related to the autonomous mobile device 100 and outputs them to the control unit 5 via a setting conversion unit 94. The setting conversion unit 94 is a signal conversion circuit or a computer system that converts the input received by the setting operation unit 93 into a signal that the control unit 5 can decipher.
[0030] The setting unit 9 has a display 95. The display 95 displays various setting information currently set regarding the autonomous mobile device 100. The display 95 is, for example, a liquid crystal display, an organic EL display, or the like. In other embodiments, the display 95 may further display the current operating mode (autonomous driving mode / manual operation mode / manual operation teaching mode), driving time, remaining battery power for driving the autonomous driving device 100, etc. In still another embodiment, the display 95 may display various setting procedures when various settings of the autonomous mobile device 100 are performed by the setting operation unit 93. This allows information about the autonomous mobile device 100 to be visually provided to the user, and the user can operate the setting unit 9 based on the displayed information.
[0031] In another embodiment, a touch panel may be provided on the display 95. In this case, the switching unit 91, the manual operation memory switch 92, and / or the setting operation unit 93 may be realized by the touch panel. The setting unit 9 may have a cleaning condition instruction unit 96. The cleaning condition instruction unit 96 accepts input of cleaning conditions by an operator and outputs the cleaning condition to a cleaning control command calculation unit 97. The cleaning control command calculation unit 97 is a signal conversion circuit or a computer system that converts the cleaning conditions accepted by the cleaning condition instruction unit 96 into a signal that can be deciphered by the control unit 5 and outputs the signal to the control unit 5.
[0032] (4) Configuration of the control unit (4-1) Overall configuration of the control unit The overall configuration of the control unit 5 will be described with reference to Fig. 4. Fig. 4 is a diagram showing the overall configuration of the control unit. All or part of each functional block of the control unit 5 described below may be realized by a program executable by a computer system constituting the control unit 5. In this case, the program may be stored in a memory unit and / or a storage device. All or part of each functional block of the control unit 5 may be realized as a custom IC such as a System on Chip (SoC). The control unit 5 may be configured with one computer system or multiple computer systems. When the control unit 5 is configured with multiple computer systems, for example, the functions realized by the multiple functional blocks of the control unit 5 can be allocated to the multiple computer systems in any ratio and executed.
[0033] The control unit 5 has a cleaning control unit 51. The cleaning control unit 51 supplies power to the cleaning member rotation motor 351, the cleaning liquid supply pump 313, and the suction motor 331 to control the rotation speed, output, and the like. In an embodiment in which the setting unit 9 has a cleaning condition teaching unit 96, the cleaning control unit 51 may input taught cleaning conditions from the cleaning condition teaching unit 96 via the cleaning control command calculation unit 97, and control the cleaning member rotation motor 351, the cleaning liquid supply pump 313, and the suction motor 331 based on the taught cleaning conditions. In another embodiment, when the autonomous driving mode is executed, the cleaning control unit 51 may input reproduced cleaning conditions indicating the setting values of the cleaning conditions in the autonomous driving mode from the control management unit 55, and control the cleaning unit 3 based on the reproduced cleaning conditions.
[0034] The control unit 5 has a driving control unit 53. The driving control unit 53 controls the driving motor 11 based on a driving control command based on the rotation amount and the rotation direction of the handles 71a and 71b input from the driving path teaching unit 7 or a driving control command input from the control integration unit 55. In addition, the traveling control unit 53 calculates the rotation speed of the traveling motor 11 based on a pulse signal output from an encoder 111 attached to the output rotation shaft of the traveling motor 11 . The control unit 5 has a control supervisory unit 55. The control supervisory unit 55 supervises the traveling of the autonomous mobile device 100. Specifically, the control supervisory unit 55 calculates position information indicating which position on the floor surface F the autonomous mobile device 100 is moving to, based on information acquired by the forward detector 5551a, the backward detector 5551b, and / or the encoder 111. The control supervisory unit 55 uses the above-mentioned position information during execution of the manual operation teaching mode to create the driving schedule 500. In another embodiment, the control supervisory unit 55 may calculate cleaning conditions in the autonomous driving mode and associate them with the driving schedule 500.
[0035] On the other hand, when the autonomous driving mode is being executed, the control integration unit 55 calculates a reproduced driving control command based on the data stored in the driving schedule 500, and outputs the command to the driving control unit 53. As a result, when the autonomous driving mode is being executed, the driving control unit 53 can control the driving motor 11 based on the reproduced driving control command, thereby causing the autonomous driving device 100 to move autonomously. In an embodiment in which cleaning conditions are associated with the driving schedule 500, the control integration unit 55 may control the cleaning control unit 51 based on the cleaning conditions stored in the driving schedule 500 during execution of the autonomous driving mode. This allows the autonomous driving device 100 to autonomously perform cleaning work according to the cleaning conditions while autonomously driving according to the driving schedule 500.
[0036] The control unit 5 has a storage unit 57. The storage unit 57 is a part or all of the storage area of a storage device of a computer system constituting the control unit 5, and stores various information related to the autonomous driving device 100. Specifically, the storage unit 57 stores the driving schedule 500 created in the control integration unit 55, and various settings related to the autonomous driving device 100 input from the setting operation unit 93 and the setting conversion unit 94. The driving control unit 53 and the control management unit 55 can read various settings for the autonomous driving device 100 and / or the driving schedule 500 stored in the memory unit 57 as necessary, and perform various adjustments and controls based on these.
[0037] (4-2) Configuration of the driving control unit The configuration of the traveling control unit 53 will be described in detail with reference to Fig. 5. Fig. 5 is a diagram showing the detailed configuration of the traveling control unit. The driving control unit 53 has a driving switching unit 531. The driving switching unit 531 has three terminals d, e, and f. The terminal d is connected to the driving path teaching unit 7, the terminal e is connected to the motor control unit 533, and the terminal f is connected to the control integration unit 55.
[0038] Based on the operation mode selected by the switching unit 91, the traveling switching unit 531 selects whether to connect the terminal e to the terminal d or to connect the terminal e to the terminal f. Specifically, if the manual operation mode is selected in the switching unit 91, the traveling switching unit 531 connects the terminals e and d to connect the traveling path teaching unit 7 to the motor control unit 533. As a result, when the manual operation mode or the manual operation teaching mode is executed, the traveling switching unit 531 can transmit a signal indicating the rotation amount and / or the rotation direction of the handles 71a, 71b of the traveling path teaching unit 7 to the motor control unit 533. On the other hand, if the autonomous driving mode is selected in the switching unit 91, the driving switching unit 531 connects the terminals e and f to connect the control supervisory unit 55 to the motor control unit 533. This allows the driving switching unit 531 to transmit the reproduced driving control command output from the control supervisory unit 55 to the motor control unit 533 when the autonomous driving mode is executed.
[0039] The motor control unit 533 calculates a target rotation speed of the traveling motor 11 based on the input rotation amount / rotation direction of the handles 71a, 71b or the reproduced traveling control command, and outputs driving power to the traveling motor 11 for rotating the traveling motor 11 at the target rotation speed. The motor control unit 533 calculates the actual rotation speed of the traveling motor 11 based on the pulse signal from the encoder 111, feeds it back, and calculates the drive power to be output to the traveling motor 11. Therefore, the motor control unit 533 controls the traveling motor 11 using, for example, a Proportional Integral (PI) control theory or a Proportional Integral Differential (PID) control theory. In this embodiment, a traveling motor 11 and a main wheel 13 are provided on each of the left and right ends of the bottom of the main body B. In this case, the motor control unit 533 determines the traveling direction of the autonomous mobile device 100 by independently controlling the rotation speed and rotation direction of each of the two traveling motors 11 on the left and right. In another embodiment, when the control unit 5 is configured with a plurality of computer systems, the motor control unit 533 may be one of the plurality of computer systems. That is, only the function of the motor control unit 533 may be realized by one computer system. In this case, the motor control unit 533 is, for example, a motor control device using PI control theory or PID control theory.
[0040] (4-3) Structure of the Control Management Department The configuration of the control supervision unit 55 will be described in detail with reference to Fig. 6. Fig. 6 is a diagram showing the detailed configuration of the control supervision unit. The control integration unit 55 has a travel area acquisition unit 551. When the manual operation teaching mode is executed, the travel area acquisition unit 551 inputs position information (described later) estimated by the SLAM unit 555 from the SLAM unit 555 (described later) at predetermined time intervals (for example, at each control cycle in the control unit 5). The travel area acquisition unit 551 acquires a travel area TA representing an area in the travel environment in which the autonomous mobile device 100 travels as a sequence of points of the acquired plurality of pieces of position information. The travel area acquisition unit 551 outputs the sequence of points of the acquired plurality of pieces of position information to the travel area intra-path creation unit 553 as a sequence of points representing the outer periphery boundary of the travel area TA. In another embodiment, the traveling area acquisition unit 551 may display a global map GM (map information representing the traveling environment) created in advance on the display 95. At this time, the traveling area acquisition unit 551 may instruct the operator to draw a closed area representing the traveling area TA on the global map GM displayed on the display 95.
[0041] The control supervisory unit 55 has an intra-travel area route creation unit 553 (an example of a route planning device). The intra-travel area route creation unit 553 creates a driving schedule 500 for the autonomous mobile device 100 to travel evenly (as if “filling in”) the travel area TA acquired from the travel area acquisition unit 551, and stores the driving schedule 500 in the storage unit 57. As shown in FIG. 7, the travel area route creation unit 553 has a grid creation unit 5531 , a travel order determination unit 5532 , a deviation width calculation unit 5533 , a deviation determination unit 5534 , and a travel route planning unit 5535 .
[0042] The grid creation unit 5531 divides the target area in the global map GM where the fill-in driving is to be performed into a grid of a predetermined size. Specifically, the grid creation unit 5531 projects the global map GM onto a grid layer GL, which has a coordinate axis different from that of the global map GM, and divides the target area into a grid GR of a predetermined size on the grid layer GL. In this way, the grid layer GL and the global map GM can be managed separately, so that the work efficiency is good. Note that one or more target areas on the grid layer GL are set in the global map GM.
[0043] The traveling order determination unit 5532 determines the traveling order of the grids GR through which the autonomous mobile device 100 travels. Note that the traveling order is the order of the grids GR through which the autonomous mobile device 100 passes.
[0044] The travel route planning unit 5535 plans a travel route that passes through the grids that are the selected travel targets (described later). The control supervisory unit 55 has a SLAM unit 555. The SLAM unit 555 estimates information (position information) about the position of the autonomous mobile device 100 on a predetermined coordinate system based on information about an obstacle present in front of the autonomous mobile device 100 acquired by a forward detector 5551a (FIG. 1) provided in front of the main body B, information about an obstacle present behind the autonomous mobile device 100 acquired by a rear detector 5551b (FIG. 1) provided in the rear of the main body B, and the amount of rotation of the traveling motor 11 acquired by the encoder 111.
[0045] The forward detector 5551a and the rear detector 5551b are, for example, laser range finders (LRFs) whose detection range is 180° or more. When a laser range finder is used as the forward detector 5551a and the rear detector 5551b, the distance between the traveling unit 1 and an obstacle and the direction in which the obstacle exists are acquired as information about the obstacle. The information acquired by the forward detector 5551a and the rear detector 5551b may be two-dimensional information representing the position of an obstacle on a specific plane, or may be three-dimensional information including information representing the position of the obstacle in the vertical direction.
[0046] The control supervision unit 55 has a travel reproducing unit 557. When executing the autonomous travel mode, the travel reproducing unit 557 calculates a control command (reproduced travel control command) for the autonomous mobile device 100 to autonomously travel the travel route shown in the travel schedule 500 based on the information stored in the travel schedule 500 and the estimated position information acquired from the SLAM unit 555. The travel reproducing unit 557 outputs the calculated reproduced travel control command to the travel control unit 53. In another embodiment, the driving reproducing unit 557 may output the cleaning conditions associated with the driving schedule 500 to the cleaning control unit 51.
[0047] (4-4) SLAM section configuration The configuration of the SLAM unit 555 will be described in detail with reference to Fig. 6. The SLAM unit 555 according to this embodiment estimates the position (position information) of the traveling unit 1 (autonomous traveling device 100) and creates map information by using a SLAM (Simultaneous Localization and Mapping) method. The SLAM unit 555 has a map creation unit 5553. The map creation unit 5553 creates map information using information on a forward obstacle (e.g., a wall) acquired by the forward detector 5551a and information on a rearward obstacle acquired by the rearward detector 5551b. The map information is used when estimating position information in the position estimation unit 5555. The map information includes a local map and a global map GM (an example of an environmental map).
[0048] The local map is map information regarding (the positions of) obstacles present around the traveling unit 1. The local map is created by subjecting information regarding forward obstacles acquired by the forward detector 5551a and information regarding rearward obstacles acquired by the rearward detector 5551b to coordinate conversion as necessary. The global map GM is map information regarding (the positions of) obstacles present in the environment (driving environment) in which the traveling unit 1 travels. In this embodiment, the global map GM is generated based on a local map acquired when acquiring a point sequence of position information representing the traveling area TA during execution of a manual operation teaching mode in which traveling is performed by an operator. In other words, the global map GM is created by the autonomous traveling device 100 performing teaching traveling, and the target area for filling traveling is defined by the traveling trajectory during teaching traveling.
[0049] Specifically, the map creation unit 5553 creates a global map GM by arranging the local map acquired together with the point sequence of the position information representing the traveling area TA at a position corresponding to the position information. When acquiring a sequence of points of position information representing the traveling area TA, an error may occur between the position information acquired at the beginning of the manual operation teaching mode and the position information acquired at the end of the manual operation teaching mode. Specifically, for example, when acquiring the traveling area TA, which is a closed area, as a sequence of points of position information, the estimated position information may not match even if the position of the traveling unit 1 at the start and end of the manual operation teaching mode is the same (so-called circular path problem).
[0050] In order to resolve the discrepancy in the estimated position information, the map creation unit 5553 corrects the global map GM that was created by placing the local map at the corresponding position. Specifically, for example, the global map is corrected as follows. First, at the start and end of the manual operation teaching mode, the map creation unit 5553 acquires information about an obstacle acquired by the forward detector 5551a and / or information about an obstacle acquired by the rear detector 5551b.
[0051] Next, the map creation unit 5553 calculates the deviation in the actual position of the running unit 1 at the start and end of the manual operation teaching mode based on, for example, the difference between the information about the obstacle obtained at the start of the manual operation teaching mode and the information about the obstacle obtained at the end of the manual operation teaching mode. Then, the map creation unit 5553 corrects the placement position of the local map using an algorithm such as GraphSLAM based on the calculated actual position deviation, and places the local map at the new corrected placement position to create a new global map GM.
[0052] At this time, the map creation unit 5553 may also simultaneously correct the position information (coordinate values) of the sequence of points representing the traveling area TA obtained by executing the manual operation teaching mode using an algorithm such as Graph SLAM, and use the sequence of points with the newly corrected position information as the sequence of points representing the traveling area TA. By modifying the global map GM as described above, a global map GM that more appropriately represents the driving environment can be created. In addition, by modifying the position information that represents the driving area TA when modifying the global map GM, a point sequence of position information that more appropriately represents the driving area TA, which is a closed area, can be obtained. In another embodiment, the global map GM may be created using dedicated software or CAD, and stored in the storage unit 57. In this case, the global map created using the software or the like is converted into data that can be interpreted by the control unit 5 of the traveling unit 1.
[0053] The SLAM unit 555 has a position estimation unit 5555. The position estimation unit 5555 estimates position information related to the position of the traveling unit 1 on a predetermined coordinate system and the attitude of the traveling unit 1 at that position, based on the global map generated by the map creation unit 5553, the local map, and the amount of rotation of the traveling motor 11. Specifically, the position information is estimated as follows: Here, consider an example in which the traveling unit 1 moves from an (estimated) position at a certain time (time tk) and the position that the traveling unit 1 will reach at the next time (time tk+1) is estimated. First, the position estimation unit 5555 calculates the amount of rotation of the main wheels 13 between time tk and time tk+1 from the number of pulses output from the encoder 111 between time tk and time tk+1, and estimates the travel distance and attitude change of the running unit 1 due to the rotation of the main wheels 13 based on the amount of rotation (dead reckoning).
[0054] Next, the position estimation unit 5555 calculates the prior probability at time tk+1 by shifting the posterior probability at time tk (which corresponds to a probability distribution that represents the relationship between the position of the running unit 1 and the probability that the running unit 1 is present at that position at time tk) by the distance traveled by the running unit 1 due to the rotation of the main wheels 13 and the change in attitude. In another embodiment, the position estimation unit 5555 may expand the width (standard deviation) of the probability distribution of the posterior probability after the movement by the movement distance and the attitude change due to the rotation of the main wheels 13, and set it as the prior probability at the time tk+1. This makes it possible to calculate the prior probability taking into account the slippage between the main wheels 13 and the floor surface F.
[0055] Thereafter, the position estimation unit 5555 acquires the local map and the global map at time tk+1 from the map creation unit 5553, performs map matching between the local map at time tk+1 and the global map GM, and estimates the position information of the traveling unit 1 at time tk+1. Specifically, for example, on the global map GM, a local map at time tk+1 is placed at several positions in the vicinity of the estimated position calculated based on the amount of rotation of the main wheels 13, and the local map is rotated around its center by an angle corresponding to the possible attitude change, thereby performing map matching. The position estimation unit 5555 calculates a likelihood (corresponding to a relationship between the position where the local map information is placed and the degree of match between the global map GM and the local map information at that position) based on the result of the map matching.
[0056] Thereafter, the position estimation unit 5555 calculates the posterior probability at time tk+1 by multiplying the likelihood by the prior probability at time tk+1. The position estimation unit 5555 estimates the position and orientation at which the posterior probability at time tk+1 is maximized, i.e., the position estimated to be most likely to be the location of the running unit 1 and the orientation that the running unit 1 can most likely take at that position, as the location (estimated position) and orientation (estimated orientation) of the running unit 1 at time tk+1. The posterior probability at time tk+1 is used as the prior probability in the next position estimate. As described above, the position estimation unit 5555 performs position estimation using the travel distance based on the amount of rotation of the main wheels 13 and the map information obtained using the forward detector 5551a and the rear detector 5551b, thereby complementarily reducing the error contained in the travel distance based on the amount of rotation of the main wheels 13 (mainly due to slippage between the main wheels 13 and the floor surface F) and the error contained in the map information (mainly due to noise components contained in the information acquired by the forward detector 5551a and the rear detector 5551b), thereby enabling accurate position estimation to be performed.
[0057] The SLAM unit 555 has an elapsed time determination unit 5557. The elapsed time determination unit 5557 determines the elapsed time from the start of execution of the autonomous driving mode. Specifically, the elapsed time determination unit 5557 determines the elapsed time from the start of execution of the autonomous driving mode based on the position information estimated by the position estimation unit 5555. More specifically, for example, the time associated with the position information stored in the driving schedule 500 that is closest to the position information of the driving unit 1 estimated by the position estimation unit 5555 is regarded as the elapsed time from the start of execution of the autonomous driving mode.
[0058] (5) Operation of the autonomous driving device (5-1) Basic operation The basic operation of the autonomous mobile device 100 will be described with reference to Fig. 8. Fig. 8 is a flowchart showing the basic operation of the autonomous mobile device. In step S1, when the autonomous mobile device 100 starts operating, the control unit 5 checks the state of the switching unit 91. If the switching unit 91 selects "Automatic" (in the case of "Autonomous Travel Mode"), the process proceeds to step S2, where the autonomous mobile device 100 executes the autonomous travel mode. Specifically, the autonomous mobile device 100 autonomously executes the cleaning task according to the travel schedule 500 stored in the storage unit 57.
[0059] On the other hand, when the switching unit 91 selects "manual" (in the case of "manual operation mode"), the control unit 5 determines that the operation mode to be executed is the manual operation mode. In step S3, it is determined whether or not pressing the manual operation memory switch 92 while the manual operation mode is being executed is detected. If it is detected, the process proceeds to step S4, where the operation mode is switched to the manual operation teaching mode. As a result, the operation of the traveling unit 1 by the operator after the timing when the manual operation memory switch 92 was pressed is stored.
[0060] In addition, in the manual operation teaching mode, the control supervisory unit 55 creates a driving schedule 500 for causing the autonomous mobile device 100 to travel within the traveling area TA determined by the operation of the traveling unit 1 by the operator. On the other hand, if it is not detected that the manual operation memory switch 92 has been pressed, the process proceeds to step S5, where the manual operation mode in which the operation of the operator is not memorized is maintained.
[0061] While the manual operation teaching mode is being executed in step S4 above, the control unit 5 monitors whether or not the manual operation memory switch 92 has been pressed. If the manual operation memory switch 92 is pressed while the manual operation teaching mode is being executed, the operation mode switches to the manual operation mode at that timing, and cleaning work from that timing onwards is not stored in the travel schedule 500. In other words, by pressing the manual operation memory switch 92 while the manual operation teaching mode is being executed, the operator can stop the storage (teaching) at any timing during the cleaning work. As described above, the autonomous driving device 100 of this embodiment can execute an autonomous driving mode, a manual operation mode, and a manual operation teaching mode depending on the selection of the operating mode in the switching unit 91 and whether or not the manual operation memory switch 92 is pressed.
[0062] (5-2) Manual operation teaching mode operation (outline) The operation of the manual operation teaching mode executed in step S4 above will be described with reference to Figs. 9 to 13. Fig. 9 is a flowchart showing the operation of the manual operation teaching mode. Fig. 10 is an example of a driving environment. Fig. 11 is a diagram showing a state in which a grid layer is projected onto a global map and a driving area is further superimposed. Fig. 12 is a diagram showing an example of how a driving area is defined on a global map. Fig. 13 is a diagram showing an example of a route within a driving area. In the following description, a route within a travel area TA that is set in a travel environment as shown in FIG.
[0063] In step S11, when creating the driving schedule 500 in the manual operation teaching mode, the control supervisory unit 55 creates a global map GM that represents the driving environment. First, when manual operation of the autonomous mobile device 100 is started after the manual operation memory switch 92 is pressed, or when the manual operation memory switch 92 is pressed during manual operation to start the manual operation teaching mode, the operator operates the autonomous mobile device 100 using the travel route teaching unit 7. The operator causes the autonomous mobile device 100 to travel along the outer boundary of the area that is to be the travel area TA.
[0064] While the autonomous mobile device 100 is traveling due to the operation by the operator, the map creation unit 5553 acquires a local map at predetermined time intervals. As shown in Fig. 10, the autonomous mobile device 100 travels from a start point ST where the autonomous mobile device 100 started traveling along a closed route that is the outer boundary of a traveling area TA, and after returning to the start point ST or its vicinity again, the map creation unit 5553 places the acquired local map at a corresponding position to create a global map GM. Thereafter, the map creation unit 5553 modifies the global map GM using a Graph SLAM algorithm or the like as necessary.
[0065] On the other hand, a grid layer GL corresponding to the global map GM is prepared. The grid layer GL is appropriately created by the grid creation unit 5531. The grid layer GL is a collection of many grids GR. In the driving environment, the grid GR corresponds to a small area having a predetermined area. The grid size is, for example, 50 x 50 cm. In this way, the grid layer GL, which has a coordinate axis different from that of the global map GM, is used, so that the two can be managed separately, which improves work efficiency.
[0066] In addition, in the computer system constituting the control unit 5, the grid GR can be defined as a "structure" that includes, for example, parameters related to the grid (for example, parameters that identify the grid GR, position information of the grid GR, whether the grid GR is valid or invalid, a score assigned to the grid GR, etc.).
[0067] In step S12, after the global map GM is created, a traveling area TA representing the area in which the autonomous mobile device 100 travels in the traveling environment is defined on the global map GM. Specifically, the traveling area TA is defined on the global map GM as follows.
[0068] First, while executing the above step S11, i.e., while the autonomous driving device 100 is traveling along the outer boundary of the traveling area TA, the traveling area acquisition unit 551 acquires, at predetermined time intervals, position information estimated by the position estimation unit 5555 as a point representing the outer boundary of the traveling area TA.
[0069] In this way, the travel area acquisition unit 551 can acquire, as a sequence of points representing the outer periphery boundary of the travel area TA, a plurality of pieces of position information acquired while the autonomous mobile device 100 travels along the path indicated by the dotted line from the start point ST (FIG. 10) until it returns to the start point ST or its vicinity. The travel area acquisition unit 551 outputs the sequence of points of the position information representing the outer periphery boundary of the travel area TA to the travel area intra-path creation unit 553.
[0070] 11, the driving area internal path creation unit 553 places a sequence of points representing the outer boundary of the driving area TA on the global map GM (actually, the grid layer GL). Which grid of the grid layer GL the position information representing the outer boundary of the driving area TA is placed on can be determined, for example, by what coordinate value the grid GR is at in the coordinate system that defines the position information (global map).
[0071] Then, as shown in FIG. 12, the route creation unit 553 within the traveling area determines that the grids GR within the traveling area TA (white grids in FIG. 12) and the grids on which the point sequence of the traveling area TA is located (white grids in FIG. 12) are valid grids, and determines that the other grids GR are invalid grids (gray grids in FIG. 12). In this way, the driving area route creation unit 553 can define the driving area TA as an area on the global map GM consisting of a large number of valid grids (white grids GR in Figure 12) by designating the grids GR that are not included in the driving area TA as new invalid grids.
[0072] In step S13, after the travel area TA is defined on the global map GM, the intra-travel area path creation unit 553 divides the travel area TA into rectangular areas (rectangular areas RA). When dividing the travel area TA into rectangular areas RA, the intra-travel area path creation unit 553 searches for a portion of the travel area TA in which the rectangular area RA exists. In step S14, after dividing the travel area TA into rectangular areas RA1 to RA3, the travel area intra-path creation unit 553 determines the starting grid of an intra-rectangular area path (described later) in each of the rectangular areas RA1 to RA3. The starting grids of the other rectangular areas RA2 and RA3 are determined in step S17, which will be described later. In step S15, the travel area internal path creation unit 553 creates an internal rectangular area path, which is a travel route that starts from the start grid and passes through all effective grids included in each of the target rectangular areas RA1 to RA3.
[0073] In step S16, the travel area internal path generating unit 553 determines whether or not there are any rectangular areas RA1 to RA3 for which an internal rectangular area path has not yet been generated. If there are no rectangular areas RA1 to RA3 for which an intra-rectangular area path has not been created, the manual operation teaching mode is ended. On the other hand, if any of rectangular areas RA1 to RA3 exist for which an intra-rectangular area route has not been created, then in step S17, it is determined which rectangular area RA2, RA3 the autonomous mobile device 100 will travel through next. In step S18, the travel area route creation unit 553 creates a travel route (connecting travel route) that connects the end grid of the rectangular area RA1 and the start grid of the rectangular area RA3 that has been determined to be the next area to travel on.
[0074] Thereafter, steps S15 to S18 are repeatedly executed until intra-rectangular area routes are created for all rectangular areas RA1 to RA3. As a result, for the travel area TA shown in Fig. 12 etc., an intra-travel area route is created along which the autonomous mobile device 100 travels evenly throughout the set travel area TA, as shown by the thick arrow in Fig. 13.
[0075] After creating the route within the travel area, the route within the travel area creation unit 553 converts the created route within the travel area into a set of passing points (e.g., subgoals) through which the autonomous mobile device 100 passes (described later). The route within the travel area creation unit 553 then creates a travel schedule 500 by associating the time to pass each passing point generated by converting the route within the travel area with the passing point, and further associating cleaning conditions at each passing point with the corresponding passing point as necessary.
[0076] In the manual operation teaching mode, by executing the above steps S11 to S18, it is possible to easily specify a driving area TA on a global map GM representing the driving environment, thereby accurately creating a driving route that allows the autonomous driving device 100 to travel evenly throughout the driving area TA, i.e., a route within the driving area.
[0077] (5-3) Operation in autonomous driving mode The operation of the autonomous mobile device 100 when executing the autonomous mobile mode that reproduces the route within the travel area created in the manual operation teaching mode, which is executed in step S2 of Fig. 8, will be described with reference to Fig. 14. Fig. 14 is a flowchart showing the operation of the autonomous mobile device when executing the autonomous mobile mode.
[0078] When "Automatic" is selected in the switching unit 91 to execute the autonomous driving mode, the autonomous driving device 100 starts the autonomous driving mode in which the autonomous driving device 100 autonomously drives according to the driving schedule 500. Specifically, the autonomous driving mode is executed as follows.
[0079] In the following description, it is assumed that the vehicle has already traveled up to an elapsed time tm-1 from the start of the autonomous travel mode, where m indicates control for the mth travel. In step S21, the SLAM unit 555 acquires information about a forward obstacle and information about a rearward obstacle from the forward detector 5551a and the rearward detector 5551b.
[0080] In step S22, the position estimation unit 5555 estimates the position of the traveling unit 1 on the xy coordinate system based on the amount of rotation of the traveling motor 11 measured by the encoder 111, the global map GM, and the local map obtained based on the information acquired in the above step S21. For example, it is assumed that the position of the autonomous traveling device 100 is estimated to be (xm', ym', θm') on the xy coordinate system.
[0081] In step S23, after the position of the traveling unit 1 is estimated, the elapsed time determination unit 5557 determines the elapsed time tm from the start of execution of the autonomous traveling mode. In step S24, the driving reproducing unit 557 calculates a reproduced driving control command at the elapsed time tm as follows.
[0082] Now, assume that the elapsed time tm is determined to be (closest to) the time TL stored in the driving schedule 500. In this case, the driving reproducing unit 557 reads the position information (xL+1, yL+1, θL+1) associated with the next time TL+1 from the driving schedule 500, and calculates the reproduced driving control command at the elapsed time tm based on the difference (xL+1-xm', yL+1-ym', θL+1-θm') between the estimated position information and the target position information.
[0083] In step S25, after calculating the reproduced travel control command, the travel reproduction unit 557 outputs the reproduced travel control command to the travel control unit 53. As a result, the travel control unit 53 controls the travel motor 11 based on the received reproduced travel control command, thereby causing the travel unit 1 to move autonomously according to the travel schedule 500.
[0084] In another embodiment, if cleaning conditions are associated with the traveling schedule 500, in steps S24 to S25 above, the traveling reproducing unit 557 may calculate the reproduced cleaning conditions and control the cleaning control unit 51 based on the reproduced cleaning conditions. Specifically, the travel reproducing unit 557 reads the cleaning conditions (SL, WL, PL) associated with the time TL from the travel schedule 500, and determines the cleaning conditions (SL, WL, PL) as the reproduced cleaning conditions at the elapsed time tm. After that, the travel reproducing unit 557 outputs the reproduced cleaning conditions to the cleaning control unit 51. This makes it possible to control the cleaning unit 3 according to the reproduced cleaning conditions.
[0085] In step S26, after controlling the traveling unit 1 based on the reproduced traveling control command, the traveling reproducing unit 557 checks whether or not all the traveling operations stored in the traveling schedule 500 have been executed. Whether or not all driving operations stored in the driving schedule 500 have been completed can be confirmed, for example, by detecting an identifier at the end of the driving schedule 500 (such as an identifier indicating "end of file").
[0086] As long as it is determined that all of the driving actions stored in the driving schedule 500 have not been executed (as long as the answer is "No" in step S26), the above steps S21 to S25 are repeatedly executed. On the other hand, when it is determined that all driving operations stored in the driving schedule 500 have been executed, that is, when it is determined that the autonomous driving device 100 has traveled all the routes within the driving area (if "Yes" in step S26), execution of the autonomous driving mode is terminated. This allows the autonomous mobile device 100 to faithfully reproduce the driving operations stored in the driving schedule 500 and autonomously drive evenly within the set driving area. In other embodiments, the execution of the autonomous driving mode may be stopped not only when all driving operations stored in the driving schedule 500 have been executed, but also, for example, when an abnormality occurs in the autonomous driving device 100, or when a user commands the execution of the autonomous driving mode to be stopped.
[0087] (6) Control operation of creating a route within a rectangular area As a modification of the manual operation teaching mode described with reference to Fig. 9 to Fig. 13, a control operation for creating a path within a rectangular area will be described with reference to Fig. 15 to Fig. 18. The following description generally corresponds to step S15 in Fig. 9. Fig. 15 is a flow chart showing the rectangular area path creation control operation. Fig. 16 to Fig. 18 are schematic plan views showing the relationship between the outer periphery teaching path, the first grid area, the second grid area, the inner periphery circular path, and the filled path.
[0088] The global map GM is acquired by performing perimeter teaching travel by the autonomous mobile device 100. For example, FIG. 16 shows an outer perimeter circuit path 21 by the autonomous mobile device 100, and the lower side of the outer perimeter circuit path 21 in the figure is the travel area TA. The outer perimeter circuit path 21 is a path that goes around the perimeter from the start position of the perimeter teaching. This is not a grid path, but a path planned by a free path plan based on the outer perimeter teaching path (the actual travel trajectory during teaching travel). In this embodiment, the outer perimeter circuit path 21 uses the outer perimeter teaching path as it is. In a modified example, an outer perimeter route is created from an outer perimeter teaching route. For example, a travel area is specified on the GUI (i.e., an outer perimeter teaching route is created), and then an outer perimeter route is created based on the taught outer perimeter. This allows the autonomous mobile device 100 to travel smoothly.
[0089] The control operation for creating a route within a rectangular area is an autonomous driving route planning method for planning a route along which the autonomous driving device 100 will autonomously drive, and includes the following steps. In step S31, the first grid area GA1 is created corresponding to the travel area TA. At this time, the above-mentioned grid layer GL is used. Specifically, the grid creation unit 5531 (an example of a grid creation unit) of the travel area internal path creation unit 553, for example, obtains a first rectangle including the outer periphery teaching path, then obtains a second rectangle larger than the first rectangle by a margin, then places the first grid GR at a position where the second rectangle and the grid center coincide with each other, and finally spreads a plurality of grids GR up to a position including the second rectangle. In this way, the first grid area GA1 is generated. For example, the first grid area GA1 is shown in FIG. 17. Here, in the first grid area GA1, the outermost grid GR covers the outer periphery circuit path 21. The first grid area GA1 is formed independently of the travel area TA. In reality, the first grid area GA1 is formed outside the travel area TA. Also, the first grid area GA1 may be formed by disabling a portion of the grid of the grid layer GL and enabling the remaining portion.
[0090] In step S32, a deviation width DW by which the main body B of the autonomous mobile device 100 deviates from the outer circumferential path 21 when the autonomous mobile device 100 changes direction is calculated based on the vehicle size, turning radius, and turning movement distance of the autonomous mobile device 100, and the size of the grid. Specifically, the deviation width calculation unit 5533 performs the above calculation. For example, FIG. 17 shows the deviation width DW (distance to the maximum deviation area boundary BL) by which the autonomous mobile device 100 deviates from the outer circumferential path 21 when the autonomous mobile device 100 changes direction. The deviation width DW differs depending on the position, and in this embodiment is in the range of the minimum deviation amount D1 to the maximum deviation amount D2 (the minimum deviation amount D1+grid length GRL).
[0091] In step S33, it is determined whether or not a deviation has occurred. Specifically, deviation determination unit 5534 performs the above determination. If there is a deviation, the process proceeds to step S34, and if there is no deviation, the process skips step S34 and proceeds to step S35. In step S34, the inner circuit path 23 is created. Specifically, the travel path planning unit 5535 (an example of an inner circuit path creation unit) creates the inner circuit path 23. The inner circuit path 23 is a path located inward from the outer circuit path 21 by grid widths (a path obtained by reducing the outer circuit path 21), and is parallel to each other. The inner circuit path 23 is created by a free path plan based on the outer circuit path 21. For example, in FIG. 18, two inner circuit paths 23 extend in parallel. However, the distance between the two inner circuit paths 23 does not have to be the grid width, may change midway, or may partially coincide. The inner circuit path 23 may be created by a free path plan based on the outer circuit teaching path. In addition, the inner circuit path 23 may be processed so as to be smooth while reducing the outer circuit path 21. In this step, the maximum number of inner circumferential paths 23 required to ensure that no areas are left unpainted is calculated. In other words, although the size of the deviation width DW may vary depending on the location, by creating the maximum number of inner circumferential paths 23 required to cover the deviation width DW, it is possible to plan a driving route that ensures that no areas are left unpainted.
[0092] In step S35, a second grid area GA2 (an example of a grid area) is created. The second grid area GA2 is a target area for planning a filled-in travel route. The second grid area GA2 is created using the innermost inner circumferential route 23 and the first grid area GA1. Specifically, of the grids GR of the first grid area GA1, those that include the innermost inner circumferential route 23 and those that are further inside are determined to be the grids GR of the second grid area GA2. In other words, the second grid area GA2 is created by invalidating a part of the first grid area GA1 and leaving the rest valid. As a modified example, among the grids GR in the first grid area GA1, those whose centers C are inside the innermost inner circumference path 23 and those further inside may be determined as grids GR in the second grid area GA2.
[0093] In step S36, a filling-in travel route 25 is created so as to fill in the second grid area GA2. Specifically, a travel route planning unit 5535 (an example of a filling-in travel route creation unit) creates the filling-in travel route 25. First, the travel order of each grid GR of the grid layer GL is determined, and then a grid route passing through the center C of the grid GR is created. 18, for example, shows a portion of the filled-in driving route 25. In this case, if the autonomous mobile device 100 changes direction in the second grid area GA2, the autonomous mobile device 100 deviates from the second grid area GA2 as shown in the figure, but the deviated portion is located inside the inner circuit route 23 on the outermost periphery. In step S36, the filling-in travel path 25 may be formed to fill in the deviation width DW in addition to the second grid area GA2. In this case, under the condition that the grid is arranged across the boundary of the outer periphery teaching path, the grid arrangement of the boundary, i.e., the boundary shape of the actual second grid area GA2, becomes a straight line, so that it becomes easier to plan an efficient straight-line filling-in travel path.
[0094] In step S37, the outer periphery circuit path 21, the inner periphery circuit path 23, and the filled-in circuit path 25 that have been used for the outer periphery teaching circuit path are continuously connected. Specifically, the circuit path planning unit 5535 makes the above determination. As a result, the autonomous circuit path is completed. In the above, the start position of the filled-in travel path 25 is set on the outer circumferential path 21. This makes the end position of the filled-in travel path 25 clear, making it easy to collect the autonomous mobile device 100. In addition, since the end position of the filling is made clear to the user, the start position of the next teaching to be realized can be determined, allowing the autonomous mobile device 100 to travel smoothly and continuously. More specifically, in this case, the end position of the filling-in travel path 25 is set near the start position (approximately several tens of centimeters) inside the outer circumferential path 21. By setting the end position to a position shifted inward from the start position, deviation from the teaching range is prevented when planning the filling-in travel path 25 that returns to the end position (= start position) on the outer circumferential path 21. In contrast, if the start position=end position, it is expected that the above-mentioned deviation will occur due to the shape of the traveling unit 1 of the autonomous mobile device 100 when planning a path that moves back to the end position (= start position) on the outer circumferential path 21.
[0095] As described above, the inner circumference circuit path 23 that travels within the deviation width DW is created, then the second grid area GA2 is created, and further the filled-in travel path 25 is created within the second grid area GA2. As a result, an autonomous travel path is planned based on the grid, along which the autonomous mobile device 100 can travel without deviating from the outer boundary BO of the travel area TA. The number of the inner circulating paths 23 may be one or more, and when there are more than one, they may be independent of each other or may partially overlap each other. The inner circulating paths 23 may be parallel to each other, or may be partially or entirely non-parallel. The number of the inner circulating paths 23 may be a predetermined fixed value.
[0096] A driving route formed on an actual global map (environmental map) will be described with reference to Fig. 19 and Fig. 20. Fig. 19 is an environmental map on which a driving route is displayed in the first embodiment. Fig. 20 is an environmental map on which a driving route is displayed in a conventional example. FIG. 19 shows an outer periphery boundary BO, an outer periphery circuit path 21, two inner periphery circuit paths 23, and a filled-in travel path 25 in this embodiment. Fig. 20 shows, in the prior art, an outer periphery circuit path 21 and a filled-in travel path 25. Area A shown by a two-dot chain line in Fig. 20 is an area in which the autonomous mobile device 100 travels due to a change in direction of the filled-in travel path 25, and deviates outside the outer periphery circuit path 21.
[0097] 2. Second embodiment In the first embodiment, the first grid area was created before the inner periphery travel path and the second grid area were created, but the creation of the first grid area (the second paragraph of paragraph 0089 of the first embodiment, step S31 of FIG. 15, and FIG. 17) may be omitted. In other words, even if the first grid in the first embodiment is not created, it is sufficient that the following steps are executed to form the second grid area GA2 (an example of a grid area, corresponding to the second grid area GA2 of the first embodiment).
[0098] Hereinafter, a control operation will be described in which step S31 is deleted from the flow chart of FIG. 15 of the first embodiment. In step S32, a deviation width DW by which the main body B of the autonomous mobile device 100 deviates from the outer circumferential path 21 when the autonomous mobile device 100 changes direction is calculated based on the vehicle size, turning radius, turning movement distance, and grid size of the autonomous mobile device 100. Specifically, the deviation width calculation unit 5533 performs the above calculation. In step S33, it is determined whether or not a deviation has occurred. Specifically, deviation determination unit 5534 performs the above determination. If there is a deviation, the process proceeds to step S34, and if there is no deviation, the process skips step S34 and proceeds to step S35.
[0099] In step S34, one or more inner circuit routes 23 corresponding to at least a part of the deviation width are created. Specifically, the travel route planning unit 5535 (an example of an inner circuit route creation unit) creates the inner circuit route 23. The inner circuit routes 23 are routes located inward from the outer circuit route 21 by grid widths (routes obtained by reducing the outer circuit route 21), and are parallel to each other. The inner circuit routes 23 are created by free route planning based on the outer circuit route 21.
[0100] In step S35, a second grid area GA2 is created. The second grid area GA2 is a target area for planning a filled-in travel route. Specifically, the grid creation unit 5531 (an example of a grid creation unit) of the travel area internal route creation unit 553 creates the second grid area GA2 by, for example, invalidating a part of the grid of the grid layer GL and validating the rest. More specifically, the second grid area GA2 is created using the innermost inner circumference path. That is, the second grid area GA2 is formed so that the innermost inner circumference path 23 is included in the outermost grid GR. As a modified example, the second grid area GA2 may be formed so that the innermost inner circumference path 23 is included inside the center C of the outermost grid GR. The explanation of steps S36 and S37 is omitted since they are the same as those in the first embodiment.
[0101] 3. Third embodiment Conventionally, when an environmental change occurs during filling-in driving, the autonomous driving device stops driving to prevent it from losing track of its own position and being unable to follow the planned driving route. Note that the environmental change refers to the change in the position (including addition and deletion) of obstacles recorded in the environmental map during teaching and obstacles detected by the sensor during autonomous driving. In this case, it is necessary to re-teach the driving range and create a route for the remaining unpainted areas, including the area around the stopping point. The problem with the above technology is that if the area after the stopping point is left unpainted (for example, an uncleaned area) and you want the autonomous driving device to fill in and drive over that area, re-teach is required, and the time spent filling in and driving (cleaning time) until the environmental change is detected is wasted. Therefore, it is desirable to detect the environmental change as early as possible and notify the user.
[0102] In order to solve the above problem, in this embodiment, a test run for detecting environmental changes is performed before the fill-in run, making it possible to detect environmental changes before the fill-in run and notify the user. Therefore, unlike the conventional method, the autonomous driving time performed before detecting the environmental change is not wasted. Note that this embodiment can be performed not only after the autonomous movement route creation of the first embodiment, but also before. This is because a test driving route can be planned even before the autonomous movement route creation, as long as the driving area is acquired. Hereinafter, the environmental change detection control operation will be described in more detail with reference to Fig. 21. Fig. 21 is a flowchart showing the test drive route creation and test drive control operation of the third embodiment.
[0103] (1) Test driving route creation The environmental change detection operation is started, for example, by a designation method (such as a UI) that allows the user to explicitly select test driving after planning the autonomous driving route. In the case of the outer periphery direct teaching method, the test driving may be automatically performed if the time between the start and end of teaching and the start time of the fill-in driving is longer than a predetermined time. In step S41, the test driving route 41 for detecting an environmental change is created. Specifically, the driving area route creation unit 553 creates the test driving route 41. As shown in Fig. 22, the test driving route 41 coincides with the outer circumferential route 45 in the entire area 43. In this case, the test driving time described below is shortened. Fig. 22 is a schematic plan view of the test driving route.
[0104] (2) Test runs During the test run, the following steps are carried out: In step S42, the autonomous mobile device 100 starts the test driving route. Specifically, the driving control unit 53 executes the above operations. In step S43, it is determined whether the autonomous mobile device 100 has reached the goal G. Specifically, the control supervisory unit 55 performs a situation determination based on detection information from the sensors (for example, information on an obstacle present in front of the autonomous mobile device 100 acquired by the forward detector 5551a and information on an obstacle present behind the autonomous mobile device 100 acquired by the rear detector 5551b). If the goal G has not been reached, the process proceeds to step S44, and if the goal G has been reached, the process proceeds to step S48.
[0105] In step S44, it is determined whether or not there is an environmental change during the test drive. Specifically, the control supervisory unit 55 makes the above determination as an environmental change determination unit based on detection information from the sensors. If there is an environmental change, the process proceeds to step S45, and if there is no environmental change, the process returns to step S43. In this way, the presence or absence of an environmental change is constantly checked until the autonomous mobile device 100 reaches the goal G.
[0106] In step S45, the user is notified of any environmental changes detected during the test drive. Specifically, a notification unit (not shown) performs the notification. When an environmental change is detected, the notification may be made by a screen display, sound, light, email, or the like. This allows the user to immediately become aware of the environmental change. In step S46, the test drive is stopped. Specifically, the drive control unit 53 executes the above-mentioned operations.
[0107] In step S47, the autonomous mobile device 100 is returned to the start point S. Specifically, the mobile control unit 53 executes the above operation. This allows the user to immediately start re-teaching. The route back to the starting point S may be a route that reverses the route taken so far and returns to the starting point S (or its vicinity), or it may be a route that returns to the starting point S via the shortest route. The former is a route that has not changed in the environment, so it is possible to return to the starting point S safely. The latter will take less time to return. The autonomous driving device 100 does not necessarily have to be returned to the starting point of the test drive, but may be returned to any point on the test drive route. The process then proceeds to step S48. In step S48, the test run ends, after which a fill-in run is performed.
[0108] As a modified example, instead of the step of returning to the start point S (step S47), a step of stopping on the spot or a step of continuing the test run may be executed. As another modification, if there is an environmental change, the filling run need not be started. As a further alternative, cleaning may also be performed during test drives.
[0109] If the filled area is divided, a test run may be performed in each area. In this case, when a change is first detected, one or all of the following may be performed: notify the user of the environmental change, stop the test run, return the autonomous mobile device 100 to the starting point of the test run, etc. Alternatively, the test run may be performed up to the final area without performing any of these actions. Moreover, areas where no environmental change is detected may be subjected to a fill-in cleaning. In addition, if an environmental change is detected, the autonomous driving device 100 may be moved to a point within the driving area, such as the start or end position of the autonomous driving, after completing the test drive, after canceling the test drive, or after returning to the start position of the test drive, or instead of these actions. In addition, in the case of a system in which a test drive is automatically performed before performing fill-in autonomous driving, rather than a system in which the user explicitly selects the test drive, it is desirable to automatically start fill-in driving if no environmental changes are detected, but it is also acceptable for the user to decide to start fill-in driving just to be safe.
[0110] (3) Modifications to the test route In a first modified example, as shown in FIG. 23, when the area is divided into two, a test driving route 41A coincides with an outer periphery circuit route 45A that goes around the outer periphery of the entire area 43. In a second variant, as shown in FIG. 24, when the area is divided into two, the test driving route 41B coincides with part of the outer perimeter circuit route 45A in the first area 43A and the second area 43B and forms at least part of the outer perimeter route in each area.
[0111] In the third modified example, the test driving route 41C is a single or multiple inner circuit routes that are the outer circuit route 45A shifted inward, as shown in Fig. 25. In this case, the internal situation can be recognized more accurately. In Fig. 25, when the area is divided into two, each inner circuit route is formed so as to go around the inner circumference of the entire area. Furthermore, if the area is not divided, the test drive route may be one or more inner circuit routes that are obtained by shifting the outer circuit route inward.
[0112] In the fourth modified example, the test driving route 41D is a single or multiple circuit routes that are the outer periphery circuit route shifted inward, as shown in Fig. 26. In this case, the internal situation can be recognized more accurately. In Fig. 26, when the area is divided into two, the test driving route 41D resembles a part of the outer periphery circuit route 45A in the first area 43A and the second area 43B. In the fifth modified example, as shown in Fig. 27, the test driving route 41E is a route that travels through the center of the entire area 43. Specifically, the test driving route 41E extends linearly along the longitudinal direction of the entire area 43. In this case, the internal situation can be recognized more accurately.
[0113] In a sixth modified example, as shown in FIG. 28, when the area is divided into two, a test driving route 41F is formed continuously between a first area 43A and a second area 43B. In the seventh modified example, as shown in FIG. 29, when the area is divided into two, the test driving route 41G is formed separately in the first area 43A and the second area 43B.
[0114] 4. Other embodiments Although several embodiments of the present invention have been described above, the present invention is not limited to the above-mentioned embodiments, and various modifications are possible without departing from the gist of the invention. In particular, several embodiments and modifications described in this specification can be arbitrarily combined as necessary. The autonomous mobile device may be a mobile device other than a cleaning machine that autonomously performs cleaning work. For example, the autonomous mobile device may be a promotional robot.
[0115] The autonomous driving device may be composed of only a driving unit (and a control unit for controlling it) for autonomous driving. In this case, for example, the autonomous driving device and a robot system for performing a desired function can be combined to configure a robot (device) having a desired function.
[0116] In the first embodiment, the grid layer is a layer separate from the global map, but the two may be managed as a single layer. This embodiment can be applied to autonomous vehicles other than those whose bodies are "perfectly circular and capable of pivoting." [Industrial Applicability]
[0117] The present invention can be widely applied to autonomous vehicle path planning methods for planning a path for an autonomous vehicle. [Explanation of symbols]
[0118] 1: Running part 3:Cleaning department 5: Control section 7: Driving route teaching section 8: Mounting material 9: Setting section 11: Driving motor 13: Main wheel 15: Training wheels 21: Outer circumference route 23: Inner circle route 25: Filled driving route 31: Cleaning fluid outlet 33: Squeegee 33a: Suction port 35: Cleaning materials 41: Test drive route 51: Cleaning control section 53: Driving control unit 55: Control Division 57: Storage section 71a: Handle 71b: Handle 73: Housing 75: Driving control command calculation unit 91: Switching section 92: Manual operation memory switch 93: Setting operation section 94: Setting conversion section 95: Display 96: Cleaning condition instruction section 97: Cleaning control command calculation unit 100: Autonomous Driving Device 111: Encoder 311: Cleaning solution supply tank 313: Cleaning solution supply pump 331: Suction motor 333: Recovered materials 351: Cleaning parts rotation motor 500: Driving schedule 531: Travel switching unit 533: Motor control unit 551: Driving area acquisition unit 553: Route creation unit within driving area 555:SLAM section 557: Driving Reenactment Section 5531: Grid Creation Department 5532: Running order determination unit 5535: Route planning section 5551a : Forward detector 5551b : Rear detector 5553: Map Creation Department 5555 :Position estimation part 5557: Elapsed time determination unit B: Main unit C: Center DW: deviation width F: Floor surface GR: Grid GA1: First grid area GA2: Second grid area GL : Grid Layer GM: Global Map RA: rectangular area RA1: Rectangular area RA2: Rectangular area RA3: Rectangular area ST: Starting point TA: Travel area
Claims
1. An autonomous vehicle route planning method for planning a route along which the autonomous vehicle will autonomously travel, comprising: acquiring the travel area by teaching the boundary of a travel area in which the autonomous vehicle will travel by filling in an environmental map and creating an outer periphery teaching path; creating a first grid area by covering an area corresponding to the travel area with a plurality of grids, each of which has a size that cannot contain the autonomous vehicle; A step of calculating a deviation width by which the body of the autonomous vehicle deviates from the driving area when the autonomous vehicle changes direction based on the body size, turning radius, turning movement distance, and size of the grid of the autonomous vehicle; a step of reducing an outer periphery circuit path created based on the outer periphery teaching path to create a maximum number of inner periphery circuit paths required to cover the deviation width; a step of validating, among a plurality of grids included in the first grid area, a grid in which the innermost inner circuit path is included and grids inside the grid in which the innermost inner circuit path is included, and invalidating other grids in the first grid area, thereby creating a second grid area having a boundary at a position corresponding to the innermost inner circuit path; creating a fill-in travel path so as to fill in the second grid area; setting a start position of the filling-in travel path on the outer periphery circuit path; setting an end position of the filling-in travel path in the vicinity of the start position on the inner side of the outer circumferential path; An autonomous driving route planning method comprising:
2. The autonomous driving route planning method according to claim 1 , wherein in the step of creating the inner loop route, the maximum number is calculated.
3. An autonomous driving path planning method as described in claim 1 or 2, further comprising a step of continuously connecting the outer circumference route, the filled-in driving path, and the inner circumference route to determine an autonomous driving path.
4. Creating a test driving route for detecting environmental changes; The autonomous vehicle route planning method according to any one of claims 1 to 3, further comprising a step of causing the autonomous vehicle to travel along the test driving route.
5. The autonomous driving route planning method according to claim 4 , further comprising a step of notifying an environmental change detected while the autonomous vehicle is traveling along the test driving route.
6. 6. The autonomous driving route planning method according to claim 4, further comprising a step of canceling the test driving after detecting an environmental change while the autonomous vehicle is traveling on the test driving route.
7. The autonomous driving route planning method according to claim 6 , further comprising the step of returning the autonomous vehicle to a point on the test driving route after the test driving is stopped.
8. The autonomous driving route planning method according to claim 6 , further comprising the step of moving the autonomous vehicle to a point within the driving area after the test driving is stopped.
Citation Information
Patent Citations
Autonomous travel device
JP2017211758A
Travel route generation device
JP2018073008A
Travel route determination device
JP2018099113A
Traveling route generating device and traveling route generating program
JP2018116614A
Traveling route creation method, autonomous traveling device, and program
WO2018043180A1