WO2022065297A1 - Autonomous travel route planning method - Google Patents

Autonomous travel route planning method Download PDF

Info

Publication number
WO2022065297A1
WO2022065297A1 PCT/JP2021/034563 JP2021034563W WO2022065297A1 WO 2022065297 A1 WO2022065297 A1 WO 2022065297A1 JP 2021034563 W JP2021034563 W JP 2021034563W WO 2022065297 A1 WO2022065297 A1 WO 2022065297A1
Authority
WO
WIPO (PCT)
Prior art keywords
traveling
line segment
travel
region
condition
Prior art date
Application number
PCT/JP2021/034563
Other languages
French (fr)
Japanese (ja)
Inventor
遊亀 傳田
Original Assignee
村田機械株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 村田機械株式会社 filed Critical 村田機械株式会社
Publication of WO2022065297A1 publication Critical patent/WO2022065297A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions

Definitions

  • the present invention relates to an autonomous travel route planning method for an autonomous vehicle.
  • the present invention relates to a method of planning an autonomous traveling route for an autonomous traveling body that autonomously travels so as to fill a traveling area defined in a moving environment.
  • an autonomous traveling body capable of autonomously traveling on a traveling route (referred to as a filled traveling route) that fills a traveling area defined in a moving environment is known (see, for example, Patent Document 1).
  • the filled travel route is created by defining a travel area on an environmental map showing the travel environment and planning a travel route that combines a straight route and a turning route within the travel area.
  • the longitudinal direction of the traveling region (hereinafter referred to as the main direction) is determined, and the filled traveling route including the straight route parallel to the main direction is planned.
  • the direction change route is a route for the autonomous traveling body to change the traveling direction (for example, a U-turn route)
  • the filled traveling route includes many direction changing routes, it takes time to autonomously travel on the filled traveling route. It takes.
  • the traveling area is rotated by a predetermined angle, and (ii) is parallel to a predetermined reference axis connecting the boundaries of the traveling area in the traveling area after rotation by a predetermined angle.
  • Line segments are defined, (iii) the lengths of the line segments whose length is equal to or greater than a predetermined value are integrated, and (iv) the rotation angle of the traveling region where the integrated value of the line segments is maximized.
  • the main direction of the traveling region was determined by the process of determining the main direction based on the above.
  • the principal direction may be different from the original ideal principal direction depending on the shape of the traveling region.
  • the conventional method for determining the principal direction is used, depending on the shape of the traveling region, it may not be possible to plan a filled traveling route with short traveling time and high traveling efficiency.
  • An object of the present invention is to determine an appropriate principal direction for a traveling area in an autonomous traveling route planning method, and to create a filled traveling route with good traveling efficiency.
  • the seemingly autonomous travel route planning method of the present invention is a travel route planning method for an autonomous vehicle capable of autonomous travel so as to fill a travel area defined in a travel environment.
  • the autonomous travel route planning method includes the following steps. ⁇ A step of rotating the traveling area by a predetermined angle and determining whether or not the first condition that the boundary between the first line segment and the traveling area is orthogonal to each other is satisfied.
  • the first line segment is a line segment connecting two boundaries of the traveling region at each rotation angle of the traveling region, and is a line segment parallel to a predetermined reference axis.
  • the maximum length line segment is a line segment having the longest length among the line segments connecting the two boundaries of the traveling region.
  • a first line segment parallel to a predetermined reference axis connecting two boundaries of the travel region after rotation by a predetermined angle is orthogonal to the boundary of the travel region.
  • the main direction of the traveling region is determined from the rotation angle of the traveling region satisfying the condition that the length of the first line segment is equal to or more than a predetermined ratio of the length of the maximum length line segment.
  • the above-mentioned autonomous travel route planning method may further include a step of arranging a plurality of cells in the travel area.
  • the first line segment is a line segment connecting the representative points of two cells existing on the boundary of the traveling region.
  • the maximum length line segment is a line segment having the longest length among the line segments connecting the representative points of the two cells existing on the boundary of the traveling region. This makes it easy to define the first line segment and the maximum length line segment.
  • the step for determining whether or not the first condition is satisfied may include the following steps.
  • the first intersection is an intersection where one of the two first line segments defined for the traveling region at each angle intersects with the first boundary of the traveling region at that angle.
  • the second intersection is the intersection of the other of the two first line segments and the first boundary.
  • the step for determining whether or not the second condition is satisfied may include the following steps. ⁇ Calculate the integrated value of the length of the first line segment having a length equal to or greater than the predetermined ratio of the length of the maximum length line segment among the plurality of first line segments defined for the traveling area at each angle. Steps to do. ⁇ Step to determine that the second condition is satisfied when the above integrated value is the maximum.
  • the step of calculating the integrated value of the length of the first line segment is the integrated value of the first line segment included in the region defined by the two straight lines parallel to the predetermined reference axis and separated by a predetermined distance. It may include a step to be selected as the first line segment used in the calculation of. As a result, the range including the first line segment used for calculating the integrated value of the length can be fixed, so that the integrated value can be easily calculated.
  • the candidate having the maximum length of the first line segment among the candidates in the main direction satisfying the first condition is set as the candidate in the main direction satisfying the second condition. It may include steps. Thereby, it can be easily determined whether or not the second condition is satisfied.
  • the autonomous travel route planning method may further include a step of dividing the travel region into a plurality of regions.
  • the step of determining the principal direction is performed for each of the plurality of regions.
  • the autonomous travel route planning method may further include a step of joining a plurality of regions having the same principal direction and adjacent to each other when the travel region is divided into a plurality of regions. As a result, it is possible to create a filled running route with good running efficiency.
  • the figure which shows the whole structure of an example of an autonomous traveling device The figure which shows an example of the structure of the traveling route teaching part. The figure which shows an example of the structure of a setting part. The figure which shows the whole functional block composition of a control part. The figure which shows the detailed structure of the functional block of a traveling control part. The figure which shows the detailed structure of the functional block of a control control part.
  • a flowchart showing the basic operation of the autonomous traveling device A flowchart showing the operation of the manual operation teaching mode.
  • the figure which shows an example of a mobile environment A diagram showing an example of a global map and an outer boundary.
  • the figure which shows an example of the 1st line segment defined in the traveling area (the 1).
  • the figure which shows an example of the 1st line segment defined in the traveling area (the 2).
  • the figure which shows an example of the 1st line segment defined in the traveling area (the 3).
  • the flowchart which shows the determination process whether or not the first condition is satisfied The figure which shows an example of the determination method of the 2nd line segment schematically.
  • the figure which shows an example of the definition of the maximum length line segment The figure which shows an example of the case where the integrated value of the length of the first line segment becomes 0.
  • a flowchart showing a traveling area division process The figure which shows an example of the area created by dividing a part of a traveling area. The figure which shows an example of the state which the traveling area is divided into a plurality of areas. The figure which shows an example of the state which made a new area by joining a plurality of areas. The figure which shows an example of the state which the cell is arranged in the area.
  • a flowchart showing how to create a filled travel route The figure which shows an example of the score given to the cell in a region. The figure which shows an example of a filled traveling route.
  • the figure which shows an example of a running schedule. A flowchart showing the operation of the autonomous driving device when the autonomous driving mode is executed.
  • FIG. 1 is a diagram showing an overall configuration of an example of an autonomous traveling device.
  • the autonomous traveling device 100 is a cleaning machine that autonomously reproduces the set cleaning conditions and traveling routes.
  • the autonomous traveling device 100 includes a traveling unit 1.
  • the traveling unit 1 is a device for traveling the autonomous traveling device 100.
  • the traveling unit 1 has a main body B constituting the main body of the autonomous traveling device 100.
  • the traveling unit 1 has a traveling motor 11 at the left and right ends of the bottom of the main body B, and a main wheel 13 attached to an output rotation shaft of the traveling motor 11 and rotating according to the rotation of the traveling motor 11.
  • the autonomous traveling device 100 includes a cleaning unit 3.
  • the cleaning unit 3 is a device provided at the bottom of the main body B and cleans the floor surface F according to designated cleaning conditions.
  • the cleaning unit 3 of the present embodiment has a cleaning liquid discharge port 31, a squeegee 33, and a cleaning member 35.
  • the cleaning liquid discharge port 31 discharges the cleaning liquid (for example, water) supplied by the cleaning liquid supply pump 313 from the cleaning liquid supply tank 311 to the floor surface F on the front side of the main body B.
  • the squeegee 33 is provided behind 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 in which the cleaning liquid is present by the rotation of the cleaning member rotation motor 351 to clean the floor surface F.
  • the squeegee 33 may be provided with a suction port 33a.
  • the suction port 33a can suck the cleaning liquid, dust, etc. collected by the squeegee 33 and convey it to the recovery member 333 by putting the recovery member 333 in a negative pressure state by the suction motor 331.
  • the autonomous traveling device 100 has a control unit 5 (an example of a route planning device).
  • the control unit 5 is a computer system including a CPU, a storage device (RAM, ROM, hard disk drive, SSD, etc.), various interfaces, and the like.
  • the control unit 5 performs various controls related to the autonomous traveling device 100 (described later).
  • the autonomous traveling device 100 includes a traveling route teaching unit 7.
  • the travel route teaching unit 7 is a device that receives a movement operation of the travel unit 1 by an operator.
  • the traveling route teaching unit 7 is attached to the upper rear side of the main body B via the attachment member 8. As a result, the operator can operate the traveling route teaching unit 7 to move the traveling unit 1 (described later).
  • the traveling route teaching unit 7 does not have to be attached to the main body B.
  • the traveling route teaching unit 7 is a controller such as a joystick. As a result, the operator can remotely control the autonomous traveling device 100.
  • the autonomous traveling device 100 includes a setting unit 9.
  • the setting unit 9 is an operation panel for making various settings related to the autonomous traveling device 100, and is attached to the upper rear surface of the main body B. Further, the setting unit 9 is provided in the vicinity of the traveling route teaching unit 7. As a result, the operator can operate the setting unit 9 while operating the traveling route teaching unit 7 to operate the traveling unit 1.
  • the setting unit 9 may not be attached to the main body B.
  • the setting unit 9 can be, for example, a console capable of wireless communication such as a portable terminal. As a result, the operator can remotely set the autonomous traveling device 100.
  • FIG. 2 is a diagram showing an example of the configuration of the traveling route teaching unit.
  • the travel route teaching unit 7 has handles 71a and 71b.
  • the handles 71a and 71b are attached to the left and right side surfaces of the housing 73, respectively.
  • the handles 71a and 71b are used when the operator operates the autonomous traveling device 100.
  • the operator holding the handles 71a and 71b may apply either a force for pulling the autonomous traveling device 100 toward the operator or a force for pushing out the autonomous traveling device 100 through the handles 71a and 71b. can.
  • the operator can adjust the traveling direction of the autonomous traveling device 100. For example, if a force for pulling the autonomous traveling device 100 is applied to the steering wheel 71a on the right side when viewed from the front of the autonomous traveling device 100, the autonomous traveling device 100 turns to the left.
  • the handles 71a and 71b are rotatably attached to the housing 73. Further, the handles 71a and 71b are connected to the control unit 5 via the travel control command calculation unit 75.
  • the travel control command calculation unit 75 converts the rotation of the handles 71a and 71b into an electric signal and outputs the rotation to the control unit 5.
  • the operator can operate the autonomous traveling device 100 (traveling unit 1) by rotating the handles 71a and 71b.
  • the operator may be able to switch between forward movement and reverse movement of the autonomous traveling device 100.
  • the traveling speed of the autonomous traveling device 100 may be adjusted by adjusting the rotation amount of the handles 71a and 71b.
  • the traveling direction of the autonomous traveling device 100 may be changed by making the rotation amount of the handle 71a different from the rotation amount of the handle 71b.
  • FIG. 3 is a diagram showing an example of the configuration of the setting unit.
  • the setting unit 9 has a switching unit 91.
  • the switching unit 91 selects the operation mode of the autonomous traveling device 100 and outputs it to the control unit 5.
  • the operation mode of the autonomous traveling device 100 includes an autonomous traveling mode and a manual operation mode.
  • the autonomous traveling mode is an operation mode in which the autonomous traveling device 100 autonomously travels and cleans the floor surface F.
  • the manual operation mode is an operation mode in which the autonomous traveling device 100 is in a state where it can be manually operated by the operator.
  • the switching unit 91 can be configured by, for example, a switching switch as shown in FIG.
  • the setting unit 9 has a manual operation storage switch 92.
  • the manual operation storage switch 92 is a switch for starting or ending the storage of the manual operation of the autonomous traveling device 100 by the operator. Specifically, when the manual operation storage switch 92 is pressed after the operation mode is set to the manual operation mode by the switching unit 91, recording of the cleaning condition and the traveling route executed by the manual operation of the operator is started. .. That is, the teaching of cleaning conditions and traveling routes is started. On the other hand, if the manual operation storage switch 92 is pressed during the recording of the cleaning condition and the traveling route by the manual operation, the recording of the cleaning condition and the traveling route is stopped.
  • the operation mode for recording (teaching) the cleaning conditions and the traveling route by the manual operation of the operator is called the manual operation teaching mode.
  • the manual operation teaching mode is started as a sub-operation mode of the manual operation mode.
  • the manual operation storage switch 92 may be, for example, a push button switch as shown in FIG. In this case, the manual operation storage switch 92 is switched by pressing the push button switch.
  • the setting unit 9 has a setting operation unit 93.
  • the setting operation unit 93 is configured by, for example, a pressing switch, receives input of various settings related to the autonomous traveling device 100, and outputs the input to the control unit 5 via the 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 can be decoded by the control unit 5.
  • the setting unit 9 has a display 95.
  • the display 95 displays various setting information regarding the currently set autonomous traveling device 100.
  • the display 95 is, for example, a display such as a liquid crystal display or an organic EL display.
  • the display 95 may further display the current operation mode (autonomous travel mode / manual operation mode / manual operation teaching mode), operating time, remaining battery level for driving the autonomous traveling device 100, and the like. ..
  • the display 95 may be provided with a touch panel.
  • the switching unit 91, the manual operation storage 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 teaching unit 96.
  • the cleaning condition teaching unit 96 receives the input of the cleaning condition by the operator and outputs it to the 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 received by the cleaning condition teaching unit 96 into a decipherable signal and outputs the signal to the control unit 5.
  • FIG. 4 is a diagram showing the overall functional block 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 that can be executed by the computer system constituting the control unit 5. In this case, the program may be stored in the memory unit and / or the storage device. All or part of each functional block of the control unit 5 may be realized as a custom IC such as a SoC (System on Chip).
  • SoC System on Chip
  • the control unit 5 may be configured by one computer system or may be configured by a plurality of computer systems.
  • the functions realized by the plurality of functional blocks of the control unit 5 can be distributed to the plurality of computer systems at an arbitrary ratio and executed.
  • the control unit 5 has a cleaning control unit 51.
  • the cleaning control unit 51 supplies electric power for controlling the rotation speed, output, and the like to the cleaning member rotation motor 351, the cleaning liquid supply pump 313, and the suction motor 331.
  • the cleaning control unit 51 inputs the teaching cleaning condition from the cleaning condition teaching unit 96 via the cleaning control command calculation unit 97, and based on the teaching cleaning condition.
  • the cleaning member rotary motor 351, the cleaning liquid supply pump 313, and the suction motor 331 may be controlled.
  • the cleaning control unit 51 when the autonomous driving mode is executed, the cleaning control unit 51 inputs a reproduction cleaning condition indicating a set value of the cleaning condition in the autonomous travel mode from the control control unit 55, and based on the reproduction cleaning condition. , The cleaning unit 3 may be controlled.
  • the control unit 5 has a travel control unit 53.
  • the travel control unit 53 sets the travel motor 11 based on a travel control command based on the rotation amount and rotation direction of the handles 71a and 71b input from the travel route teaching unit 7, or a travel control command input from the control control unit 55. Control. Further, the travel control unit 53 calculates the rotation speed of the travel motor 11 based on the pulse signal output from the encoder 111 attached to the output rotation shaft of the travel motor 11.
  • the control unit 5 has a control control unit 55.
  • the control control unit 55 controls the traveling by the autonomous traveling device 100. Specifically, in the control control unit 55, the autonomous traveling device 100 moves to any position on the floor surface F based on the information acquired by the front detector 41a, the rear detector 41b, and / or the encoder 111. Calculate the position information indicating whether or not it is.
  • the control control unit 55 creates the travel schedule 500 by using the above-mentioned position information at the time of executing the manual operation teaching mode. In another embodiment, the control control unit 55 may calculate the cleaning condition in the autonomous driving mode and associate it with the traveling schedule 500.
  • the control control unit 55 calculates the reproduction driving control command based on the data stored in the traveling schedule 500 and outputs it to the traveling control unit 53.
  • the travel control unit 53 can autonomously move the autonomous travel device 100 by controlling the travel motor 11 based on the reproduction travel control command.
  • the control control unit 55 controls the cleaning control unit 51 based on the cleaning condition stored in the travel schedule 500 when the autonomous travel mode is executed. May be good.
  • the autonomous traveling device 100 can autonomously execute the cleaning work according to the cleaning conditions while autonomously traveling according to the traveling schedule 500.
  • the control unit 5 has a storage unit 57.
  • the storage unit 57 is a part or all of the storage area of the storage device of the computer system constituting the control unit 5, and stores various information about the autonomous traveling device 100. Specifically, the storage unit 57 stores the travel schedule 500 created by the control control unit 55, and various settings related to the autonomous travel device 100 input from the setting operation unit 93 and the setting conversion unit 94.
  • the travel control unit 53 and the control control unit 55 read various settings related to the autonomous travel device 100 stored in the storage unit 57 and / or a travel schedule 500 as necessary, and make various adjustments and adjustments based on these. Control can be performed.
  • control unit 5 may have a data writing device (not shown) for storing information such as the travel schedule 500 stored in the storage unit 57 in another storage medium.
  • FIG. 5 is a diagram showing a detailed configuration of a functional block of the traveling control unit.
  • the travel control unit 53 has a travel switching unit 531.
  • the travel switching unit 531 has three terminals d, e, and f.
  • the terminal d is connected to the traveling route teaching unit 7, the terminal e is connected to the motor control unit 533, and the terminal f is connected to the control control unit 55.
  • the travel switching unit 531 selects either to connect the terminal e and the terminal d or to connect the terminal e and the terminal f based on the operation mode selected by the switching unit 91. Specifically, if the manual operation mode is selected in the switching unit 91, the travel switching unit 531 connects the travel route teaching unit 7 to the motor control unit 533 by connecting the terminal e and the terminal d. .. As a result, the travel switching unit 531 transmits a signal indicating the rotation amount and / or rotation direction of the handles 71a and 71b of the travel route instruction unit 7 to the motor control unit 533 when the manual operation mode or the manual operation instruction mode is executed. can.
  • the travel switching unit 531 connects the control control unit 55 to the motor control unit 533 by connecting the terminal e and the terminal f. As a result, the travel switching unit 531 can transmit the reproduction travel control command output from the control control unit 55 to the motor control unit 533 when the autonomous travel mode is executed.
  • the motor control unit 533 calculates the target rotation speed of the traveling motor 11 based on the input rotation amount / rotation direction of the handles 71a and 71b or the reproduction traveling control command, and the traveling motor at the target rotation speed.
  • the drive power for rotating the 11 is output to the traveling motor 11.
  • the motor control unit 533 calculates the actual rotation speed of the traveling motor 11 based on the pulse signal from the encoder 111, and calculates the driving power to be output to the traveling motor 11.
  • the motor control unit 533 controls the traveling motor 11 by using, for example, a PI (Proportional Integral) control theory, a PID (Proportional Integral Differential) control theory, or the like.
  • a traveling motor 11 and a main wheel 13 are provided at each of the left and right ends of the bottom portion of the main body B.
  • the motor control unit 533 independently controls the rotation speed and the rotation direction of the two left and right traveling motors 11 to determine the traveling direction of the autonomous traveling device 100.
  • FIG. 6 is a diagram showing a detailed configuration of a functional block of the control control unit.
  • the control control unit 55 has a SLAM unit 551.
  • the SLAM unit 551 includes information on obstacles existing in front of the autonomous traveling device 100 acquired by the front detector 41a (FIG. 1) provided in front of the main body B, and rear detection provided in the rear of the main body B.
  • a local map and a global map GM are created using the information on obstacles existing behind the autonomous traveling device 100 acquired by the device 41b (FIG. 1), and these map information and the map information are used.
  • the self-position on the predetermined coordinates of the autonomous traveling device 100 is estimated.
  • the local map is map information showing the existence position of an obstacle existing around the autonomous traveling device 100, and coordinates the information about the obstacle acquired by the front detector 41a and the rear detector 41b as necessary. Created by
  • the global map GM is map information indicating the existence position of an obstacle existing in the moving environment EV, and in the present embodiment, the local map acquired by moving the autonomous traveling device 100 in the moving environment EV is connected. It is created by.
  • the SLAM unit 551 executes position estimation by dead reckoning based on the amount of rotation of the traveling motor 11 from the time of the previous self position estimation to the present, and the estimated position by dead reckoning and a plurality of self around it. Position candidates are determined, the current local map is placed on each of these multiple self-position candidates on the global map GM, and the degree of matching between the current local map placed on each self-position candidate and the global map GM is determined. The candidate for the self-position that has the maximum degree of coincidence between the current local map and the global map GM is estimated as the current self-position.
  • the front detector 41a and the rear detector 41b are, for example, laser range finders (Laser Range Finder, LRF) whose detection range is 180 ° or more.
  • LRF Laser Range Finder
  • the distance between the traveling unit 1 and the obstacle and the direction in which the obstacle exists are acquired as information about the obstacle.
  • the information acquired by the front detector 41a and the rear detector 41b may be two-dimensional information indicating the position of an obstacle on a predetermined plane, or may be the presence of an obstacle in the height direction. It may be three-dimensional information including information indicating the position.
  • the control control unit 55 has a route creation unit 553.
  • the route creation unit 553 creates a travel schedule 500 in which the autonomous travel device 100 travels evenly (as if "filling") the travel area TA in the travel area TA defined in the travel environment EV (global map GM). , Stored in the storage unit 57.
  • the control control unit 55 has a travel reproduction unit 555.
  • the travel reproduction unit 555 executes the autonomous travel mode, the autonomous travel device 100 indicates the travel schedule 500 based on the information stored in the travel schedule 500 and the estimated position information acquired from the SLAM unit 551.
  • a control command (reproduced driving control command) for autonomously traveling on the traveled route is calculated.
  • the travel reproduction unit 555 outputs the calculated reproduction travel control command to the travel control unit 53.
  • the travel reproduction unit 555 may output the cleaning conditions associated with the travel schedule 500 to the cleaning control unit 51.
  • the travel reproduction unit 555 is connected to an obstacle detection unit 43 that detects an obstacle existing in the traveling direction of the autonomous travel device 100.
  • the obstacle detection unit 43 is, for example, an ultrasonic sensor provided in front of the main body B.
  • the front detector 41a may be used as a sensor for detecting an obstacle in the traveling direction.
  • the traveling reproduction unit 555 calculates a reproduction traveling control command for avoiding the obstacle and reproduces the obstacle.
  • the control command is output to the traveling control unit 53.
  • FIG. 7 is a flowchart showing the basic operation of the autonomous traveling device.
  • the control unit 5 confirms the state of the switching unit 91 (step S1).
  • the switching unit 91 selects “automatic” (in the case of “autonomous driving mode” in step S1), the autonomous driving mode is executed (step S2), and autonomously according to the traveling schedule 500 stored in the storage unit 57.
  • the traveling device 100 autonomously executes the cleaning work.
  • the control unit 5 determines that the operation mode to be executed is the manual operation mode.
  • the control unit 5 shifts the operation mode to the manual operation teaching mode (step S4). ..
  • the operation of the autonomous traveling device 100 by the operator after the timing when the manual operation storage switch 92 is pressed is stored.
  • step S4 While executing the manual operation teaching mode in step S4 above, the control unit 5 monitors whether or not the manual operation storage switch 92 is pressed. If the manual operation storage switch 92 is pressed during the execution of the manual operation teaching mode, the manual operation teaching mode ends at that timing. After that, in step S5, the route creation unit 553 creates the travel schedule 500 using the data taught in the manual operation teaching mode.
  • step S3 when the manual operation storage switch 92 is not pressed after shifting to the manual operation mode (in the case of "No" in step S3), the execution of the manual operation mode in which the operator's operation is not stored is maintained in step S6. ..
  • the autonomous traveling device 100 has an autonomous traveling mode, a manual operation mode, depending on the selection of the operation mode in the switching unit 91 and whether or not the manual operation storage switch 92 is pressed. And the manual operation teaching mode can be executed.
  • FIG. 8 is a flowchart showing the operation of the manual operation teaching mode.
  • the creation of the global map GM representing the moving environment EV and the teaching of the outer peripheral BO'of the traveling area TA for autonomously traveling the autonomous traveling device 100 are executed.
  • step S41 the operator of the autonomous traveling device 100 drives the autonomous traveling device 100 along the outer peripheral BO'of the traveling area TA desired to be defined in the moving environment EV.
  • the SLAM unit 551 estimates the passing point passed during the movement along the outer peripheral BO'of the traveling region TA in step S42. Specifically, the SLAM unit 551 creates a local map for each predetermined cycle (for example, the control cycle of the control unit 5) while the autonomous traveling device 100 is traveling by the operation of the operator, and the local map and the local map are combined with the SLAM unit 551.
  • the current self-position of the autonomous traveling device 100 is estimated by using the global map GM created before the execution of this step S42 and stored in the storage unit 57.
  • the SLAM unit 551 After estimating the current self-position, the SLAM unit 551 combines the local map created at the time of this self-position estimation with the global map GM currently stored in the storage unit 57 in step S43 to create a new global.
  • a map GM is created and stored in the storage unit 57.
  • the SLAM unit 551 is, for example, in the coordinate system that defines the global map GM, with respect to the global map GM created before the execution of the current step S42, the local created at the time of the execution of the current step S42. Create a new global map GM by arranging the map at the coordinate position corresponding to the current self-position.
  • the route creation unit 553 creates an outer peripheral boundary BO representing the outer circumference of the traveling region TA as a set of passing points that the autonomous traveling device 100 has passed by the self-position estimation this time. Specifically, the route creation unit 553 acquires the current self-position estimated in step S42 from the SLAM unit 551, and combines the coordinate value of the self-position and the coordinate value of the self-position estimated so far. Then, the outer peripheral boundary BO is created as an aggregate of the coordinate values of the self-position.
  • step S45 the manual operation teaching mode ends (until "Yes” is set in step S45), such as when the manual operation storage switch 92 is pressed.
  • FIG. 9 is a diagram showing an example of a mobile environment.
  • FIG. 10 is a diagram showing an example of a global map and an outer boundary.
  • the mobile environment EV shown in FIG. 9 includes an area surrounded by the wall W.
  • the traveling region TA is set in the region.
  • the global map GM includes an obstacle information WI (shown by a solid line in FIG. 10) representing the wall W, as shown in FIG.
  • the obstacle information WI is a sequence of coordinate values in the coordinate system that defines the global map GM.
  • the outer peripheral boundary BO of the traveling region TA (indicated by a broken line in FIG. 10) is represented as a sequence of coordinate values of passing points passed by the autonomous traveling device 100 while executing the manual operation teaching mode.
  • FIG. 11 is a flowchart showing a running schedule creation operation.
  • an operation of creating a filled running route that fills the inside of the running area TA defined by the outer peripheral boundary BO shown in FIG. 10 created by executing the above steps S41 to S45 as a running schedule 500 will be described as an example. ..
  • the route creation unit 553 defines the outer peripheral boundary BO on the global map GM, and creates a route creation map SM used for creating a filled travel route.
  • the route creation map SM can be created by including the outer peripheral boundary BO represented as a point sequence (coordinate point) separately from the global map GM.
  • the route creation map SM is created independently of the global map GM. That is, the global map GM is used for self-position estimation, and the route creation map SM is used for creating a filled travel route.
  • step S51 the route creation unit 553 searches for a region RA extending in which direction in the traveling region TA.
  • the longitudinal direction in which the region RA extends is referred to as the "main direction”.
  • the route creation unit 553 determines the main direction of the traveling region TA according to the flowchart shown in FIG. FIG. 12 is a flowchart showing a process of determining the main direction of the traveling region.
  • the route creation unit 553 rotates the travel area TA (peripheral boundary BO) included in the route creation map SM by rotating the route creation map SM by a predetermined angle.
  • the rotation of the route creation map SM can be realized, for example, by performing an operation on the coordinate values included in the route creation map SM using a matrix representing the rotation.
  • the route creation unit 553 After rotating the traveling region TA by a predetermined angle, the route creation unit 553 connects the two boundaries of the traveling region TA after rotating by a predetermined angle in step S512, and connects the two boundaries of the traveling region TA, and the first line segment L1 parallel to the predetermined reference axis. Is defined.
  • the route creation unit 553 connects one point of the outer peripheral boundary BO and the outer peripheral boundary BO connecting the two points of the outer peripheral boundary BO. It is generated by connecting one point that interpolates between the two points of the outer boundary BO, or by connecting one point that interpolates between the two points of the outer peripheral boundary BO and another point that interpolates between the other two points of the outer peripheral boundary BO.
  • a line segment parallel to a predetermined reference axis is defined as a first line segment L1. Further, a plurality of first line segments L1 are defined for one traveling region TA after rotation.
  • the first line segment L1 as shown in FIGS. 13A to 13C is defined in the traveling region TA (the region in the outer peripheral boundary BO) according to the rotation angle of the traveling region TA.
  • 13A to 13C are diagrams showing an example of a first line segment defined in the traveling region.
  • FIG. 13A shows the first line segment L1 defined when the specific first axis of the traveling region TA is parallel to the reference axis.
  • FIG. 13B shows the first line segment L1 defined in the traveling region TA after the first axis of the traveling region TA is rotated by ⁇ 1 with respect to the reference axis.
  • FIG. 13C shows the first line segment L1 defined in the traveling region TA after the first axis of the traveling region TA is rotated by ⁇ 2 with respect to the reference axis.
  • first line segment L1 when a plurality of first line segments L1 exist on the same straight line, the longest of them may be the first line segment L1 or a plurality of them existing on the same straight line.
  • the lengths of the first line segment L1 may be integrated and regarded as one first line segment L1.
  • the route creation unit 553 After defining the first line segment L1, the route creation unit 553 satisfies the first condition that the boundary between the first line segment L1 and the traveling region TA (that is, the outer peripheral boundary BO) is orthogonal to each other in step S513. Is determined. Specifically, the determination as to whether or not the first condition is satisfied is executed according to the flowchart shown in FIG. FIG. 14 is a flowchart showing a determination process of whether or not the first condition is satisfied.
  • the route creation unit 553 determines the second line segment L2 in step S601.
  • the second line segment L2 is a line segment representing the boundary of the traveling region TA, and is determined as follows.
  • the route creation unit 553 has two first line segments that intersect the same side of the outer peripheral boundary BO (referred to as the first boundary BO1) from the plurality of first line segments L1 defined by executing the above step S512. Extract the line segment L1.
  • the two first line segments L1 to be extracted may be adjacent to each other or may be separated from each other.
  • the route creation unit 553 has a first intersection CP1 at which one of the two extracted first line segments L1 intersects with the first boundary BO1, and two extracted first lines.
  • the line segment connecting the second intersection CP2 where the other of the segments L1 and the first boundary BO1 intersect is determined to be the second line segment L2.
  • FIG. 15 is a diagram schematically showing an example of a method for determining a second line segment.
  • FIG. 15A shows an example in which the first line segment L1 is substantially orthogonal to the boundary of the traveling region TA
  • FIG. 15B shows an example in which the first line segment L1 is orthogonal to the boundary of the traveling region TA. An example of the case where there is no such thing is shown.
  • the route creation unit 553 determines in step S602 whether or not the first line segment L1 and the second line segment L2 are orthogonal to each other. For example, if the angle between the vector representing the first line segment L1 and the vector representing the second line segment L2 is 90 degrees after expressing the first line segment L1 and the second line segment L2 as vectors. It can be determined that the first line segment L1 and the second line segment L2 are orthogonal to each other.
  • the outer peripheral boundary BO is taught by executing the manual operation teaching mode. Therefore, a part of the point sequence included in the outer peripheral boundary BO may deviate from the actual boundary of the traveling region TA. That is, although the second line segment L2 is substantially parallel to the boundary of the traveling region TA, it may not be exactly parallel.
  • the present embodiment not only when the angle formed by the vector representing the first line segment L1 and the vector representing the second line segment L2 is exactly 90 degrees, but also when the value of the formed angle is close to 90 degrees. Also determines that the first line segment L1 and the second line segment L2 are orthogonal to each other. Thereby, even if the second line segment L2 is not exactly parallel to the boundary of the traveling region TA, it can be appropriately determined whether or not the boundary between the first line segment L1 and the traveling region TA is orthogonal to each other.
  • step S602 when it is determined that the first line segment L1 and the second line segment L2 are (almost) orthogonal to each other (“Yes” in step S602), the route creation unit 553 performs step S603. In, it is determined that the first condition that the boundary between the first line segment L1 and the traveling region TA is orthogonal to each other is satisfied. On the other hand, as shown in FIG. 15B, when it is determined that the first line segment L1 and the second line segment L2 are not orthogonal to each other (“No” in step S602), the route creation unit 553 determines. In step S604, it is determined that the first condition is not satisfied.
  • the first line segment L1 and the traveling region as shown in FIG. 13B above are determined.
  • the rotation angle of the traveling region TA that is not orthogonal to the boundary of TA can be excluded as a candidate for the main direction.
  • the significance of excluding the candidate in the main direction as shown in FIG. 13B will be described.
  • FIG. 16 is a diagram showing an example of a traveling region including a region determined by an inappropriate principal direction.
  • a filled traveling route is created for each region RA1'to RA3'.
  • a filled traveling route having a large number of turns is created.
  • Such a filled traveling route causes the autonomous traveling device 100 to make many turns, and the traveling efficiency is not high.
  • the candidate of the main direction as shown in FIG. 13B can be excluded by determining whether or not the first condition is satisfied, while the candidates of the main direction satisfying the first condition are FIGS. 13A and 13C. Two candidates remain, as shown in.
  • the route creation unit 553 further determines which of the two candidates shown in FIGS. 13A and 13C has the longer first line segment L1. Specifically, in the route creation unit 553, the length of the first line segment L1 is the length of the maximum length line segment LM having the maximum length among the line segments connecting the two boundaries of the traveling region TA. It is determined whether or not the second condition that the ratio is equal to or more than a predetermined ratio is satisfied.
  • step S701 the route creation unit 553 determines the maximum length line segment LM having the maximum length among the line segments connecting the two boundaries of the traveling region TA.
  • the diagonal line of the traveling region TA can be the maximum length line segment LM.
  • FIG. 18 is a diagram showing an example of the definition of the maximum length line segment. As shown in FIG. 18, when the maximum length line segment is divided into a plurality of line segments existing on the same straight line, the longest line segment among them is treated as the maximum length line segment. May be good.
  • step S702 the route creation unit 553 determines the length (referred to as L max ) of the maximum length line segment LM among the first line segment L1 defined by step S512 above.
  • the first line segment L1 having a ratio (referred to as ⁇ ) ( ⁇ * L max ) or more is selected, and the lengths of the selected first line segment L1 are integrated.
  • the above-mentioned predetermined ratio can be 0 or more and 1 or less (that is, 0 ⁇ ⁇ ⁇ 1).
  • 0.9, 0.5, or the like can be used.
  • is set to an intermediate value such as 0.5
  • the first line segment L1 having a length close to the maximum length L max can be selected, so that the optimum main direction can be determined.
  • is set to a large value such as 0.9
  • the length of the first line segment L1 is integrated at a rotation angle having the first line segment L1 that does not satisfy the condition while making it possible to determine an appropriate principal direction. Can be omitted, so that the time required for determining the principal direction can be shortened.
  • the route creation unit 553 calculates 0 as the integrated value of the lengths of the first line segment L1.
  • FIG. 19A is a diagram showing an example of a case where the integrated value of the length of the first line segment is 0.
  • 0 may not be calculated as the integrated value of the length of the first line segment L1, but may be excluded from the candidates for the integrated processing of the length of the first line segment L1.
  • the first line segment L1 included in the range of y1 ⁇ y ⁇ y2 of the axis perpendicular to the predetermined reference axis (referred to as the y-axis).
  • the length of is greater than or equal to ⁇ * L max .
  • the route creation unit 553 integrates the lengths of the first line segment L1 existing in the range of y1 ⁇ y ⁇ y2 among the first line segment L1 included in the traveling region TA of FIG. 13C. That is, a non-zero value is calculated as the integrated value of the length of the first line segment L1.
  • FIG. 19B is a diagram showing an example when the integrated value of the length of the first line segment is not 0.
  • the route creation unit 553 determines in step S703 whether or not the calculated integrated value is the maximum. When the calculated integrated value is not the maximum, for example, when the integrated value of 0 is calculated as shown in FIG. 19A (“No” in step S703), the route creation unit 553 performs the integrated value that is not the maximum in step S704. It is determined that the second condition is not satisfied for the principal direction candidate for which the calculation is performed, for example, the principal direction candidate shown in FIG. 13A.
  • the route creation unit 553 has the maximum in step S705. It is determined that the second condition is satisfied for the candidate in the main direction for which the integrated value of the above is calculated, for example, the candidate in the main direction shown in FIG. 13C. That is, it is determined that the rotation angle of the traveling region TA shown in FIG. 13C is an angle corresponding to the main direction.
  • the route creating unit 553 satisfies both the first condition and the second condition in step S515.
  • the main direction of the traveling region TA is determined based on the rotation angle of the traveling region TA. Specifically, for example, the vehicle travels at an angle ( ⁇ 2) whose sign is opposite to the rotation angle of the traveling region TA (for example, ⁇ 2 shown in FIG. 13C) when both the first condition and the second condition are satisfied. It can be determined as the main direction of the region TA.
  • the route creating unit 553 divides the traveling area TA into the area RA in step S52.
  • the division of the traveling area TA is executed according to the flowchart shown in FIG. 20A.
  • FIG. 20A is a flowchart showing the division processing of the traveling region.
  • the route creation unit 553 determines a region (referred to as a specific region) extending in the main direction determined in step S51. This specific region can be an arbitrary shape region as long as it extends in the main direction.
  • the route creation unit 553 determines in step S522 whether or not there is a small area of a predetermined area or less that is not combined with another specific area around the specific area determined in step S521. To judge.
  • the route creation unit 553 When a small area exists around the determined specific area (“Yes” in step S522), the route creation unit 553 combines the small area with the determined specific area in step S523 to form one area. It is created, and the traveling area TA is divided in the one area. On the other hand, when the small area does not exist around the determined specific area (“No” in step S522), the route creation unit 553 divides the traveling area TA in the specific area determined in step S521.
  • FIG. 20B is a diagram showing an example of an area created by dividing a part of the traveling area.
  • the route creation unit 553 determines in step S53 whether or not there is an region in the travel region TA whose principal direction has not been determined. When there is an area for which the principal direction has not been determined (“Yes” in step S53), the route creation unit 553 repeatedly executes the above steps S51 to S52 until the principal direction is determined for all the regions of the traveling region TA. do.
  • FIG. 21 is a diagram showing an example of a state in which the traveling region is divided into a plurality of regions. As shown in FIG. 21, in the present embodiment, the principal direction is determined for each of the plurality of divided regions. That is, the above step S51 is executed for each of the plurality of regions.
  • the traveling region TA is divided into a plurality of regions RA1 to RA3, and the principal direction is determined for each region RA1 to RA3, so that an appropriate principal direction is determined for each of the divided regions RA1 to RA2. Can be decided.
  • the route creation unit 553 After determining the principal direction for all the regions of the travel region TA (“No” in step S53), the route creation unit 553 has the same principal direction when the travel region TA is divided into a plurality of regions in step S54. And it is determined whether or not there are regions adjacent to each other. When the principal directions are the same and there are no regions adjacent to each other (“No” in step S54), the process of creating the travel schedule 500 proceeds to step S56.
  • the route creation unit 553 joins the regions having the same principal direction and adjacent to each other in step S55. ..
  • the traveling region TA is divided into a plurality of regions RA1 to RA3 as shown in FIG. 21, the regions RA1 and RA2 have the same principal direction and are adjacent to each other.
  • the route creation unit 553 combines the region RA1 and the region RA2 to create a new region RA4.
  • FIG. 22 is a diagram showing an example of a state in which a plurality of regions are combined to create a new region.
  • the route creation unit 553 transfers the main directions to the regions RA3 and RA4 included in the traveling region TA.
  • a filled travel path that fills each area RA3 and RA4 is created. Specifically, the filled travel route is created as follows.
  • the route creation unit 553 arranges the cell C for each area in step S56.
  • the cell C corresponds to a region having a predetermined area in the mobile environment EV.
  • the cell C is assigned to, for example, a parameter relating to the cell C (for example, a parameter for identifying the cell C, the position information of the cell C, valid / invalid of the cell C, and the cell C). It can be defined as a "structure" that includes scores, etc.).
  • a plurality of cells C can be arranged in one region RA.
  • FIG. 23 is a diagram showing an example of a state in which cells are arranged in an area.
  • the route creation unit 553 determines a cell C (referred to as a start point cell SC) that is the start point of the filled travel route in the area for creating the filled travel route.
  • the route creation unit 553 uses, for example, the cell C existing at any of the four corners of the region as the starting point cell SC.
  • the route creation unit 553 After determining the start point cell SC, the route creation unit 553 creates, in step S58, a travel route that starts from the start point cell SC and passes through all the cells C included in the target area RA as a filled travel route.
  • the route creation unit 553 creates a filled travel route according to the process shown in the flowchart of FIG. 24.
  • FIG. 24 is a flowchart showing a method of creating a filled traveling route. In the following description, a method of creating a filled travel path for the region RA shown in FIG. 23 will be described as an example.
  • step S581 the route creation unit 553 assigns a score to the cell C of the region RA. Specifically, the route creation unit 553 gives a higher score to the cell C, which is farther from the starting point cell SC in the direction perpendicular to the main direction. On the other hand, the same score is given to the cells C arranged along the main direction. As a result, the route creation unit 553 gives a score as shown in FIG. 25 to the cell C of the region RA.
  • FIG. 25 is a diagram showing an example of a score given to a cell in the area.
  • a score of "11" is given to the cell C arranged in the direction along the main direction from the starting point cell SC. This means that in the region RA, there are 11 valid cells in the main direction. For the other cells C, the score increases by a multiple of 11 as the distance from the starting cell SC is perpendicular to the main direction. Specifically, a score of "22" is given to the cell C adjacent to the starting point cell SC in the direction perpendicular to the main direction. Further, the cell C arranged in the direction along the main direction with respect to the cell C to which the score of "22" is given is given the same score of "22".
  • the route creation unit 553 extends the route from the starting point cell SC to each cell C in step S582. Specifically, the route creation unit 553 routes a route from the start point cell SC to the cell C to which the maximum score is given among the cells C existing in the principal direction of the start point cell SC or in the direction perpendicular to the principal direction. extend. Further, the route creation unit 553 does not extend the route to the cell C again unless there are special circumstances such as the route cannot be planned unless the route passes through the cell C again. To.
  • step S582 is repeatedly executed.
  • FIG. 26 is a diagram showing an example of a filled travel path.
  • the filled travel path includes a first path extending in the main direction of the region RA and a second path extending perpendicular to the main direction and connected to the start point and / or the end point of the first path. It is created by combining. As a result, a filled travel route that evenly fills the region RA can be created as a route that the autonomous traveling device 100 can travel by a simple operation of going straight and changing direction.
  • the first path extends over a plurality of cells C along the main direction, while the second path is the start point cell SC and the start point of the first path on the opposite side thereof. Except for the route connecting the cells, only one cell C is extended. That is, the filled travel path created by executing the above steps S581 to S583 has a long path along the main direction of the region. By lengthening the path along the principal direction of the region in this way, the number of turns of the autonomous traveling device 100 in the filled traveling path can be reduced.
  • the second path extending by only one cell C connects two adjacent first paths and changes the traveling direction of the autonomous traveling device 100
  • the second path is relative to the main direction. It is not limited to a path extending in a vertical direction.
  • a U-shaped path connecting two adjacent first paths, a path by rotational movement connecting two adjacent first paths, and the like can be used as the second path.
  • the route creating unit 553 determines in step S59 whether or not there is an area for which the filled traveling route has not been created yet. If there is no area for which the filled travel path has not been created (in the case of "No" in step S59), the process of creating the travel schedule 500 proceeds to step S62.
  • the route creation unit 553 sets the new start point cell SC of the filled travel route to be created next in step S60. To decide.
  • the route creation unit 553 determines, for example, the cell C that can be reached at the shortest distance from the end point cell EC, which is the end point of the filled travel path created in the region RA, as the new start point cell SC. Thereby, the area including the new start point cell SC can be determined as the area for creating the next filled travel path.
  • FIG. 27 is a diagram schematically showing an example of a method of determining a new starting point cell and a region for creating a next filled travel path.
  • the cell C that can be connected to the end point cell EC, which is the end point of the created filled travel path, at the shortest distance is determined as the new start point cell SC, and the area RA4 including the new start point cell SC is next filled and traveled.
  • the area for creating a route it is possible to create a travel schedule 500 having a high travel efficiency, which is the shortest distance.
  • the route creation unit 553 After determining the new start point cell SC and the area for creating the next filled travel route, the route creation unit 553 sets the end point cell EC, which is the end point of the created filled travel route, and the determined new start point cell SC in step S61. And are connected by the connection path.
  • step S58 a filled travel path is created in the area including the new starting point cell SC.
  • steps S58 steps S581 to S583) to S61 are repeatedly executed until the filled travel path is created in all the regions RA3 and RA4 (that is, until step S59 becomes "No").
  • FIG. 28 is a diagram showing an example of a filled travel path created in the entire travel area.
  • the route creating unit 553 converts the created filled travel route into a set of passing points through which the autonomous traveling device 100 passes in step S62. Further, the route creation unit 553 associates the time for passing through the passing point with each passing point generated by converting the filled traveling route. Further, by associating the cleaning conditions at each passing point with the corresponding passing points, the traveling schedule 500 as shown in FIG. 29 is created.
  • FIG. 29 is a diagram showing an example of a running schedule.
  • T 0 , T 1 , ... Tn are times for passing through each passing point of the filled travel route.
  • (X 0 , y 0 ), (x 1 , y 1 ), ... (X n , y n ) represent each passing point of the filled travel path as a coordinate value.
  • ⁇ 0 , ⁇ 1 , ... ⁇ n are the postures of the autonomous traveling device 100 at each passing point of the filled traveling path.
  • S 0 , S 1 , ... Sn are the supply amounts of the cleaning liquid at each passing point of the filled running path.
  • W 0 , W 1 , ... W n is the cleaning power of the floor surface F at each passing point of the filled traveling path.
  • P 0 , P 1 , ... P n are suction forces of the suction port 33a at each passing point of the filled traveling path.
  • FIG. 30 is a flowchart showing the operation of the autonomous traveling device when the autonomous traveling mode is executed.
  • the start position of autonomous running is the passing point associated with the elapsed time T0 in the running schedule 500.
  • the autonomous driving mode is started.
  • the travel reproduction unit 555 determines the target position in which the autonomous travel device 100 autonomously travels. Specifically, the travel reproduction unit 555 determines the current elapsed time associated with the passing point closest to the current position in the travel schedule 500, and is associated with the next elapsed time of the current elapsed time. The passing point is determined as the next target position.
  • the travel reproduction unit 555 After determining the target position, the travel reproduction unit 555 starts control for autonomous travel. First, the traveling reproduction unit 555 grasps the current position of the autonomous traveling device 100 in step S22. Specifically, the SLAM unit 551 is based on the rotation amount of the traveling motor 11 between the previous self-position estimation measured by the encoder 111 and the current self-position estimation, and the obstacle information acquired at the current position. Based on the created local map and the global map GM stored in the storage unit 57, the self-position of the current autonomous traveling device 100 is estimated by the process described above. After that, the traveling reproduction unit 555 inputs the self-position estimated by the SLAM unit 551.
  • traveling control from the current position to the target position is executed.
  • the travel reproduction unit 555 determines in step S23 whether or not the obstacle detection unit 43 has detected an obstacle within the detectable range.
  • the traveling reproduction unit 555 travels the autonomous traveling device 100 from the current position to the target position determined in step S21 in step S24.
  • the reproduction running control command to be caused is calculated and output to the running control unit 53.
  • the traveling reproduction unit 555 plans a route for avoiding the detected obstacle in step S25, and the autonomous traveling device.
  • a reproduction travel control command for traveling the route to 100 is calculated and output to the travel control unit 53.
  • the traveling reproduction unit 555 changes the target position determined in step S21 above, depending on the planned avoidance route. For example, among the passing points stored in the traveling schedule 500, a passing point separated by a predetermined distance from the current position is set as a new target position.
  • the travel control unit 53 that has received the above-mentioned reproduction travel control command controls the travel motor 11 based on the received reproduction travel control command, and causes the autonomous travel device 100 to travel in accordance with the reproduction travel control command. Further, the traveling reproduction unit 555 calculates the reproduction cleaning condition based on the cleaning condition associated with the current elapsed time, and outputs the reproduction cleaning condition to the cleaning control unit 51. As a result, the cleaning unit 3 can be controlled according to the calculated reproduction cleaning conditions.
  • the travel reproduction unit 555 determines in step S26 whether or not the autonomous travel device 100 has reached the determined target position. For example, when the current position coincides with the target position or is within a predetermined range, it can be determined that the autonomous traveling device 100 has reached the target position. If the autonomous traveling device 100 has not yet reached the target position (“No” in step S26), the autonomous traveling operation returns to step S22. That is, the above steps S22 to S25 are repeatedly executed until the target position is reached. The above steps S22 to S25 are executed for each control cycle by the control unit 5.
  • the traveling reproduction unit 555 may execute the traveling stored in the traveling schedule 500 in step S27. Determine if all actions have been performed. Whether or not all the traveling operations stored in the traveling schedule 500 have been completed can be determined, for example, by detecting an identifier at the end of the traveling schedule 500 (for example, an identifier indicating an "end of file").
  • step S27 the autonomous traveling operation returns to step S21. That is, the above steps S21 to S26 are repeatedly executed until all the traveling operations stored in the traveling schedule 500 are executed.
  • step S27 when it is determined that all the running operations stored in the running schedule 500 have been executed (“Yes” in step S27), the execution of the autonomous running mode is terminated.
  • the travel schedule 500 (filled travel route) created in this embodiment is created by determining an appropriate main direction of the travel region TA (region). That is, in the travel schedule 500, the number of turning routes that reduce the travel speed of the autonomous travel device 100 is small. Therefore, by executing the above steps S21 to S27 and autonomously traveling in the traveling area TA according to the traveling schedule 500 of the present embodiment, the autonomous traveling device 100 efficiently paints the traveling area TA with a small number of turns. You can drive autonomously on the crushing route.
  • a traveling route is created by filling the traveling area TA in a state where an appropriate principal direction is determined by the method of the present embodiment, traveling in a state where an erroneous principal direction is determined by the conventional principal direction determining method.
  • the time required to autonomously travel all the filled travel routes is reduced by about 20%.
  • the main direction of the traveling region TA is to rotate the traveling region TA by a predetermined angle, and for each rotation angle of the traveling region TA, the first line segment L1 (traveling region TA).
  • the first line segment that connects the two boundaries and is parallel to the predetermined reference axis) and the boundary of the traveling region TA is orthogonal to each other, and whether or not the first condition is satisfied, and the first line segment that satisfies the first condition. It was determined by determining whether or not the second condition that the length of L1 is equal to or more than a predetermined ratio of the length of the maximum length line segment LM is satisfied. Therefore, in the first embodiment, the determination of the first condition and the second condition is performed even at the rotation angle which is likely not to be clearly selected as the main direction. That is, the judgment of the first condition and the second condition was unnecessarily executed.
  • the candidates for the rotation angle that can be the main direction are determined in advance, and then the main direction determination process (that is, steps S511 to S515) described in the first embodiment is executed.
  • the candidate for the rotation angle is determined in advance when determining the main direction, which is different from the first embodiment. Therefore, in the following, a method for determining a candidate for a rotation angle will be described below, and other description regarding the autonomous traveling device 100 will be omitted.
  • the longitudinal direction (that is, the main direction) of the region closed by the plurality of boundary lines, such as the traveling region TA, is generally the direction in which the relatively long boundary line of the plurality of boundary lines extends. .. Therefore, in the second embodiment, the direction in which the relatively long boundary line extends out of the boundary line (outer peripheral boundary BO) of the traveling area TA is used as a candidate for the rotation angle of the traveling area TA in step S511.
  • the rotation angle candidate can be determined by processing according to the flowchart shown in FIG.
  • FIG. 31 is a flowchart showing an operation of determining a candidate for a rotation angle.
  • FIG. 32 is a diagram showing an example of a traveling region.
  • the outer peripheral boundary BO is composed of a point cloud having n-1 points (P1, P2, ... Pk, ... Pn-1).
  • the point P1 can also be expressed as a point Pn.
  • the route creation unit 553 sets a specific point (referred to as a point Pk) among a plurality of points constituting the outer peripheral boundary BO and a point adjacent to the specific point Pk (referred to as a point Pk + 1).
  • a point Pk a point adjacent to the specific point Pk
  • the direction in which the line segment PkPk + 1 connecting the two points extends is calculated from, for example, the arctangent of the ratio of the length in the direction parallel to the reference axis of the line segment PkPk + 1 to the length in the direction perpendicular to the reference axis. can.
  • step S802 the route creation unit 553 calculates the cumulative length of the line segment extending in the same direction (angle) as the line segment PkPk + 1 extends. Specifically, the length of the line segment PkPk + 1 calculated this time is added to the cumulative length calculated so far for the line segment extending in the same direction as the line segment PkPk + 1.
  • the extending direction of the line segment and the cumulative length are calculated for all the points constituting the outer peripheral boundary BO, and the relationship between the angle with respect to the reference axis and the cumulative length of the line segment extending in the direction of the angle is represented.
  • a histogram is generated.
  • a histogram as shown in FIG. 33 is generated.
  • FIG. 33 is a diagram showing an example of a histogram showing the relationship between the angle with respect to the reference axis and the cumulative length of the line segment extending in the direction of the angle.
  • the angle ⁇ 'and the angle ⁇ '+ 180 ° can be regarded as the same as the extending direction of the line segment, and the angle ⁇ '+ 90 ° and the angle ⁇ '+ 270 ° can be regarded as the same as the extending direction of the line segment. can. Therefore, instead of the histogram in which the angle range is 0 ° to 360 ° as shown in FIG. 32, the cumulative length at the angle ⁇ 'and the cumulative length at ⁇ '+ 180 ° are added to obtain the cumulative length of the angle ⁇ '.
  • the cumulative length at ⁇ '+ 90 ° and the cumulative length at ⁇ '+ 270 ° may be added to obtain a cumulative length of ⁇ '+ 90 °, and a histogram may be generated in which the angle range is limited to the range of 0 ° to 180 °.
  • the main direction of the area closed by the plurality of boundary lines is generally the direction in which the relatively long boundary line extends among the plurality of boundary lines.
  • the direction in which a relatively long line out of a plurality of boundary lines extends corresponds to an angle at which the cumulative length is equal to or greater than a predetermined threshold value.
  • step S803 the route creation unit 553 determines an angle at which the cumulative length is equal to or greater than a predetermined threshold value VTH in the histogram created as described above as a candidate for the rotation angle of the traveling region TA in step S511. do.
  • ⁇ '+ 180 ° which can also be regarded as the angle ⁇ '
  • ⁇ '+ 90 ° which can also be regarded as the angle ⁇ '+ 90 °
  • a histogram showing the relationship between the direction (angle) in which the sides constituting the outer peripheral boundary BO extend and the total length of the sides extending in the same direction (that is, the cumulative length) is generated, and the histogram is generated.
  • a direction (angle) in which the total length (cumulative length) of the sides extending in the same direction is equal to or larger than a predetermined threshold value as a candidate for the rotation angle of the traveling region TA "at a plurality of boundary lines".
  • the main direction of the closed region is the direction in which the relatively long boundary line of the plurality of boundary lines extends. ”
  • the candidate rotation angle can be appropriately determined. That is, an angle that is not "a direction in which a relatively long line out of a plurality of boundary lines extends", for example, a diagonal angle that crosses the traveling region TA can be appropriately excluded from the candidates for the rotation angle.
  • the present invention is not limited to this, and a plurality of sides constituting the outer peripheral boundary BO are specified, the extending direction and length are classified for each of the specified plurality of sides, and the side having a length equal to or more than a predetermined threshold is extended.
  • the direction may be a candidate for the rotation angle.
  • the extending direction (angle) of the line segment PkPk + 1 (k 1, 2, ... n-1) and other line segments (line segment Pk + 1Pk + 2, line segment Pk + 2Pk + 3, ... ) And the absolute value of the difference between them is a predetermined angle (for example, within 5 °), a line segment composed of the line segment PkPk + 1 and the other line segment (in the above description).
  • a side composed of a point group of points Pk, Pk + 1, Pk + 2, Pk + 3, ...) Can be determined to be included in the same side of the outer peripheral boundary BO.
  • FIG. 34 is a diagram showing an example of a state in which the sides constituting the outer peripheral boundary are specified.
  • FIG. 35 is generated.
  • FIG. 35 is a diagram showing an example of a histogram in which the extending direction and the length of the sides are classified for each side.
  • the extending direction of the longest side LIN1 is ⁇ '
  • the extending direction of the short sides LIN2, LIN4, and LIN6 is ⁇ '+ 270 °
  • the extending direction of the short sides LIN3, LIN5, and LIN7 is. It can be classified as ⁇ '+ 180 ° and the extension direction of the relatively long side LIN8 is ⁇ '+ 90 °. In this way, by classifying the extending direction and the length for each side constituting the outer peripheral boundary BO, it is possible to generate a histogram in which the shape of the traveling region TA is more accurately reflected.
  • the traveling region TA is composed of a long side extending in a specific direction and a large number of short sides extending in another direction
  • the cumulative length of the line segment in the "other direction” As a result of the fact that the length is larger than the cumulative length of the line segment in the "specific direction”, it is possible to prevent the "other direction” from being mistakenly recognized as a candidate for the rotation direction.
  • the angles ⁇ ', the angle ⁇ '+ 90 °, and the angles ⁇ '+ 180 ° and ⁇ '+ 270 ° are specified as candidates for the rotation angle.
  • the first line segment L1 is a line segment connecting two points of the outer peripheral boundary BO, and one point of interpolating between one point of the outer peripheral boundary BO and two points of the outer peripheral region. It was one of a line segment connecting one point that interpolates between two points of the outer peripheral boundary BO and another one point that interpolates between the other two points of the outer peripheral boundary BO.
  • the present invention is not limited to this, and when defining the first line segment L1, a plurality of cells similar to the cell C arranged when the filled traveling path is generated are arranged in the traveling area TA, and the outer circumference of the traveling area TA is arranged.
  • the line segment connecting the representative points of the two cells existing on the boundary BO may be defined as the first line segment L1.
  • the representative point of the cell is, for example, the center point of the cell.
  • the maximum length line segment LM may be a line segment having the maximum length among the line segments connecting the representative points of the two cells existing on the outer peripheral boundary BO. Thereby, the first line segment L1 and the maximum length line segment LM can be easily defined by using a cell.
  • the second condition that the length of the first line segment L1 is equal to or more than a predetermined ratio of the length of the maximum length line segment LM is satisfied is determined by the first line. It was calculated from the integrated value of the length of the minute L1, but it is not limited to this.
  • the candidate having the maximum length (average value) of the first line segment L1 is selected as the second candidate. It may be a candidate for the main direction that satisfies the conditions. Thereby, it can be easily determined whether or not the second condition is satisfied.
  • the first line segment L1 having a length equal to or more than a predetermined ratio of the length of the maximum length line segment LM is selected, and the length of the first line segment L1 is integrated. The value was calculated, and it was determined whether or not the second condition was satisfied depending on whether or not the integrated value was the maximum.
  • the predetermined ratio ( ⁇ ) for selecting the first line segment L1 used for calculating the integrated value of the length is a fixed value.
  • the present invention is not limited to this, and the above-mentioned predetermined ratio ( ⁇ ) may be made variable for each rotation angle of the traveling region TA.
  • a predetermined ratio ( ⁇ ) is changed for each rotation angle, and the first line segment L1 used for calculating the integrated value of the length is parallel to the predetermined reference axis and is a predetermined distance (rotation). It may be the first line segment L1 included in the region defined by two straight lines separated by a distance (distance that does not change with respect to an angle).
  • the range including the first line segment L1 used for calculating the integrated value of the length can be fixed, so that the integrated value can be easily calculated.
  • the autonomous traveling device 100 may be a traveling device other than the cleaning machine that autonomously executes the cleaning work.
  • the autonomous traveling device 100 may be a promotional robot.
  • the autonomous traveling device 100 may be composed of only a traveling unit (and a control unit that controls the traveling unit) for autonomously traveling.
  • a robot (device) having a desired function can be configured by combining the autonomous traveling device and a robot system for exerting a desired function.
  • the cleaning condition is not stored in the traveling schedule 500.
  • information regarding control according to the application of the autonomous traveling device 100 may be stored.
  • the creation of the global map GM and the outer peripheral boundary BO is performed by executing the manual operation teaching mode and moving the autonomous traveling device 100 along the outer peripheral BO'of the traveling region TA. It was realized by estimating the passing points that passed while moving along the outer peripheral BO'of the traveling region TA, and collecting the passing points to create the outer peripheral boundary BO. That is, the creation of the outer peripheral boundary BO was performed by actually running the autonomous traveling device 100 along the outer peripheral BO'of the traveling region TA. Further, the global map GM was acquired while executing the teaching of the outer peripheral BO'.
  • the present invention is not limited to this, and by drawing the boundary line corresponding to the outer peripheral boundary BO on the global map GM using image editing software such as CAD software, dedicated software for drawing the outer peripheral boundary BO, etc., the outer peripheral boundary BO is drawn. May be created.
  • the global map GM may be created by executing the manual operation teaching mode as in the first embodiment, or image editing software such as CAD software, dedicated software for creating the global map GM, or the like may be used. You may create it.
  • Rotation angle candidates may be determined. This makes it possible to determine rotation angle candidates with high resolution.
  • the present invention can autonomously travel so as to fill a traveling area defined in a moving environment, and can be widely applied to an autonomous traveling device that travels while avoiding obstacles existing in the traveling area.

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The objective of the present invention is to create a filled travel route having good traveling efficiency, by determining an appropriate main direction for a travel area. This autonomous travel route planning method includes: a step (S511 to S513) of rotating a travel area (TA) through a prescribed angle each time, and determining whether a first condition that a first line segment (L1) joining two boundaries of the travel area (TA) and parallel to a prescribed reference axis and a boundary of the travel area (TA) are perpendicular is satisfied; a step (S514) of determining whether a second condition that the length of the first line segment (L1) is at least equal to a prescribed proportion of the length (Lmax) of a maximum length line segment (LM) is satisfied; (S515) setting a main direction of the travel area (TA) on the basis of the angle of rotation of the travel area (TA) when the first condition and the second condition are satisfied; and a step (S56 to S62) of combining a first pathway extending in the main direction and a second pathway connected to the start point and/or the end point of the first pathway to create a filled travel route in such a way as to fill the travel area (TA).

Description

自律走行経路計画方法Autonomous driving route planning method
 本発明は、自律走行体のための自律走行経路計画方法に関する。特に、移動環境内に定められた走行領域を塗り潰すように自律走行する自律走行体のための自律走行経路を計画する方法に関する。 The present invention relates to an autonomous travel route planning method for an autonomous vehicle. In particular, the present invention relates to a method of planning an autonomous traveling route for an autonomous traveling body that autonomously travels so as to fill a traveling area defined in a moving environment.
 従来、移動環境内に定められた走行領域を塗り潰すような走行経路(塗り潰し走行経路と呼ぶ)を自律的に走行可能な自律走行体が知られている(例えば、特許文献1を参照)。塗り潰し走行経路は、移動環境を表す環境地図上に走行領域を画定し、当該走行領域内において直進経路と方向転換経路とを組み合わせた走行経路を計画することで作成される。 Conventionally, an autonomous traveling body capable of autonomously traveling on a traveling route (referred to as a filled traveling route) that fills a traveling area defined in a moving environment is known (see, for example, Patent Document 1). The filled travel route is created by defining a travel area on an environmental map showing the travel environment and planning a travel route that combines a straight route and a turning route within the travel area.
国際公開第2018/043180号International Publication No. 2018/043180
 塗り潰し走行経路を計画するに際しては、走行領域の長手方向(以後、主方向と呼ぶ)を決定し、主方向に平行な直進経路を含むような塗り潰し走行経路が計画される。主方向に平行な直進経路を含めることにより、方向転換経路の割合が少ない塗り潰し走行経路を計画できる。方向転換経路は自律走行体が走行方向を転換するための経路(例えばUターン経路)であるので、塗り潰し走行経路に方向転換経路が多く含まれると、塗り潰し走行経路を自律走行するのに時間がかかる。 When planning the filled travel route, the longitudinal direction of the traveling region (hereinafter referred to as the main direction) is determined, and the filled traveling route including the straight route parallel to the main direction is planned. By including a straight route parallel to the main direction, it is possible to plan a filled traveling route with a small proportion of turning routes. Since the direction change route is a route for the autonomous traveling body to change the traveling direction (for example, a U-turn route), if the filled traveling route includes many direction changing routes, it takes time to autonomously travel on the filled traveling route. It takes.
 従来の塗り潰し走行経路の計画方法においては、(i)走行領域を所定の角度ごとに回転させ、(ii)所定の角度だけ回転後の走行領域において走行領域の境界を結ぶ所定の基準軸に平行な線分を定義し、(iii)長さが所定の値以上である当該線分の長さを積算し、(iv)線分の長さの積算値が最大となる走行領域の回転角度に基づいて主方向を決定する、との工程により走行領域の主方向が決定されていた。 In the conventional method of planning a filled traveling route, (i) the traveling area is rotated by a predetermined angle, and (ii) is parallel to a predetermined reference axis connecting the boundaries of the traveling area in the traveling area after rotation by a predetermined angle. Line segments are defined, (iii) the lengths of the line segments whose length is equal to or greater than a predetermined value are integrated, and (iv) the rotation angle of the traveling region where the integrated value of the line segments is maximized. The main direction of the traveling region was determined by the process of determining the main direction based on the above.
 上記の工程による走行領域の主方向の決定方法においては、走行領域の形状によっては、本来の理想的な主方向とは異なる方向が主方向とされることがある。その結果、従来の主方向の決定方法を用いた場合には、走行領域の形状によっては、自律走行にかかる時間が短い走行効率のよい塗り潰し走行経路が計画できないことがある。 In the method of determining the principal direction of the traveling region by the above process, the principal direction may be different from the original ideal principal direction depending on the shape of the traveling region. As a result, when the conventional method for determining the principal direction is used, depending on the shape of the traveling region, it may not be possible to plan a filled traveling route with short traveling time and high traveling efficiency.
 本発明の目的は、自律走行経路計画方法において、走行領域に対して適切な主方向を決定して、走行効率のよい塗り潰し走行経路を作成することにある。 An object of the present invention is to determine an appropriate principal direction for a traveling area in an autonomous traveling route planning method, and to create a filled traveling route with good traveling efficiency.
 以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
 本発明の一見地に係る自律走行経路計画方法は、移動環境内に定められた走行領域を塗り潰すように自律走行可能な自律走行体のための走行経路計画方法である。自律走行経路計画方法は、以下のステップを備える。
 ◎走行領域を所定の角度ごと回転させて、第1線分と走行領域の境界とが直交するとの第1条件を満たすか否かを判定するステップ。第1線分は、走行領域の各回転角度における走行領域の2つの境界を結ぶ線分であって、所定の基準軸と平行な線分である。
 ◎第1線分の長さが、最大長さ線分の長さの所定割合以上であるとの第2条件を満たすか否かを判定するステップ。最大長さ線分は、走行領域の2つの境界を結ぶ線分のうち最大の長さを有する線分である。
 ◎第1条件と第2条件とを満たすときの走行領域の回転角度に基づいて、走行領域の長手方向である主方向を決定するステップ。
 ◎主方向に延びる第1経路と第1経路の始点及び/又は終点と接続される第2経路とを組み合わせて、走行領域内を塗り潰すように塗り潰し走行経路を作成するステップ。
Hereinafter, a plurality of aspects will be described as means for solving the problem. These aspects can be arbitrarily combined as needed.
The seemingly autonomous travel route planning method of the present invention is a travel route planning method for an autonomous vehicle capable of autonomous travel so as to fill a travel area defined in a travel environment. The autonomous travel route planning method includes the following steps.
◎ A step of rotating the traveling area by a predetermined angle and determining whether or not the first condition that the boundary between the first line segment and the traveling area is orthogonal to each other is satisfied. The first line segment is a line segment connecting two boundaries of the traveling region at each rotation angle of the traveling region, and is a line segment parallel to a predetermined reference axis.
◎ A step of determining whether or not the second condition that the length of the first line segment is equal to or more than a predetermined ratio of the length of the maximum length line segment is satisfied. The maximum length line segment is a line segment having the longest length among the line segments connecting the two boundaries of the traveling region.
◎ A step of determining the principal direction, which is the longitudinal direction of the traveling region, based on the rotation angle of the traveling region when the first condition and the second condition are satisfied.
◎ A step of combining the first path extending in the main direction and the second path connected to the start point and / or the end point of the first path to fill the inside of the traveling area and create a traveling route.
 上記の塗り潰し走行経路を計画する自律走行経路計画方法においては、所定の角度だけ回転後の走行領域の2つの境界を結び所定の基準軸に平行な第1線分が走行領域の境界と直交し、かつ、第1線分の長さが最大長さ線分の長さの所定割合以上である、との条件を満たす走行領域の回転角度から走行領域の主方向が決定されている。このように、第1線分が走行領域の境界と直交するとの条件を主方向決定の条件とすることにより、走行領域に対して適切な主方向を決定して、走行効率のよい塗り潰し走行経路を作成できる。 In the above-mentioned autonomous travel route planning method for planning a filled travel route, a first line segment parallel to a predetermined reference axis connecting two boundaries of the travel region after rotation by a predetermined angle is orthogonal to the boundary of the travel region. Moreover, the main direction of the traveling region is determined from the rotation angle of the traveling region satisfying the condition that the length of the first line segment is equal to or more than a predetermined ratio of the length of the maximum length line segment. In this way, by setting the condition that the first line segment is orthogonal to the boundary of the traveling region as the condition for determining the principal direction, an appropriate principal direction is determined for the traveling region, and the filled traveling route with good traveling efficiency is determined. Can be created.
 上記の自律走行経路計画方法は、走行領域に複数のセルを配置するステップをさらに備えていてもよい。この場合、第1線分は、走行領域の境界上に存在する2つのセルの代表点を結ぶ線分である。また、最大長さ線分は、走行領域の境界上に存在する2つのセルの代表点を結ぶ線分のうち最大の長さを有する線分である。これにより、第1線分及び最大長さ線分を容易に定義できる。 The above-mentioned autonomous travel route planning method may further include a step of arranging a plurality of cells in the travel area. In this case, the first line segment is a line segment connecting the representative points of two cells existing on the boundary of the traveling region. The maximum length line segment is a line segment having the longest length among the line segments connecting the representative points of the two cells existing on the boundary of the traveling region. This makes it easy to define the first line segment and the maximum length line segment.
 第1条件を満たすか否かを判定するステップは、以下のステップを有してもよい。
 ◎第1交点と第2交点とを結ぶ第2線分を決定するステップ。第1交点は、各角度における走行領域に対して定められた2つの第1線分のうちの一方と、当該角度における走行領域の第1境界とが交わる交点である。第2交点は、2つの第1線分のうちの他方と第1境界とが交わる交点である。
 ◎第2線分と第1線分とが直交する場合に第1条件を満たすと決定するステップ。
The step for determining whether or not the first condition is satisfied may include the following steps.
◎ A step to determine the second line segment connecting the first intersection and the second intersection. The first intersection is an intersection where one of the two first line segments defined for the traveling region at each angle intersects with the first boundary of the traveling region at that angle. The second intersection is the intersection of the other of the two first line segments and the first boundary.
◎ A step for determining that the first condition is satisfied when the second line segment and the first line segment are orthogonal to each other.
 これにより、外周境界が走行領域の境界からずれている場合であっても、第1線分が走行領域の境界と直交するか否かを適切に判定できる。 Thereby, even when the outer peripheral boundary deviates from the boundary of the traveling area, it can be appropriately determined whether or not the first line segment is orthogonal to the boundary of the traveling area.
 第2条件を満たすか否かを判定するステップは、以下のステップを有してもよい。
 ◎各角度における走行領域に対して定められた複数の第1線分のうち、最大長さ線分の長さの所定割合以上の長さを有する第1線分の長さの積算値を算出するステップ。
 ◎上記の積算値が最大である場合に第2条件を満たすと決定するステップ。
The step for determining whether or not the second condition is satisfied may include the following steps.
◎ Calculate the integrated value of the length of the first line segment having a length equal to or greater than the predetermined ratio of the length of the maximum length line segment among the plurality of first line segments defined for the traveling area at each angle. Steps to do.
◎ Step to determine that the second condition is satisfied when the above integrated value is the maximum.
 これにより、第1条件を満たす走行領域の回転角度が複数存在する場合であっても、本来の主方向に対応する適切な回転角度を決定できる。 Thereby, even when there are a plurality of rotation angles of the traveling region satisfying the first condition, an appropriate rotation angle corresponding to the original main direction can be determined.
 第1線分の長さの積算値を算出するステップは、所定の基準軸と平行でありかつ所定の距離だけ離れた2つの直線で定められる領域内に含まれる第1線分を、積算値の算出に用いる第1線分として選択するステップを含んでもよい。これにより、長さの積算値の算出に用いる第1線分が含まれる範囲を固定できるので、積算値を容易に算出できる。 The step of calculating the integrated value of the length of the first line segment is the integrated value of the first line segment included in the region defined by the two straight lines parallel to the predetermined reference axis and separated by a predetermined distance. It may include a step to be selected as the first line segment used in the calculation of. As a result, the range including the first line segment used for calculating the integrated value of the length can be fixed, so that the integrated value can be easily calculated.
 第2条件を満たすか否かを判定するステップは、第1条件を満たす主方向の候補のうち第1線分の長さが最大である候補を、第2条件を満たす主方向の候補とするステップを含んでもよい。これにより、第2条件を満たすか否かを容易に判断できる。 In the step of determining whether or not the second condition is satisfied, the candidate having the maximum length of the first line segment among the candidates in the main direction satisfying the first condition is set as the candidate in the main direction satisfying the second condition. It may include steps. Thereby, it can be easily determined whether or not the second condition is satisfied.
 自律走行経路計画方法は、走行領域を複数の領域に分割するステップをさらに備えてもよい。この場合、主方向を決定するステップは、複数の領域の各々について実行される。これにより、走行領域が任意の形状を有している場合でも、分割された領域に対して適切な主方向を決定できる。その結果、走行領域を走行効率よく塗り潰す走行経路を作成できる。 The autonomous travel route planning method may further include a step of dividing the travel region into a plurality of regions. In this case, the step of determining the principal direction is performed for each of the plurality of regions. Thereby, even when the traveling region has an arbitrary shape, an appropriate principal direction can be determined for the divided region. As a result, it is possible to create a traveling route that efficiently fills the traveling area.
 自律走行経路計画方法は、走行領域を複数の領域に分割したときに、主方向が同じでありかつ互いに隣接する複数の領域を結合するステップをさらに備えてもよい。これにより、走行効率のよい塗り潰し走行経路を作成できる。 The autonomous travel route planning method may further include a step of joining a plurality of regions having the same principal direction and adjacent to each other when the travel region is divided into a plurality of regions. As a result, it is possible to create a filled running route with good running efficiency.
 移動環境内に定められた走行領域に対して適切な主方向を決定して、当該走行領域をまんべんなく塗り潰すことが可能で走行効率のよい塗り潰し走行経路を作成できる。 It is possible to determine an appropriate principal direction for the driving area defined in the moving environment and fill the driving area evenly, and to create a painted driving route with good driving efficiency.
自律走行装置の一例の全体構成を示す図。The figure which shows the whole structure of an example of an autonomous traveling device. 走行経路教示部の構成の一例を示す図。The figure which shows an example of the structure of the traveling route teaching part. 設定部の構成の一例を示す図。The figure which shows an example of the structure of a setting part. 制御部の全体の機能ブロック構成を示す図。The figure which shows the whole functional block composition of a control part. 走行制御部の機能ブロックの詳細構成を示す図。The figure which shows the detailed structure of the functional block of a traveling control part. 制御統括部の機能ブロックの詳細構成を示す図。The figure which shows the detailed structure of the functional block of a control control part. 自律走行装置の基本的な動作を示すフローチャート。A flowchart showing the basic operation of the autonomous traveling device. 手動操作教示モードの動作を示すフローチャート。A flowchart showing the operation of the manual operation teaching mode. 移動環境の一例を示す図。The figure which shows an example of a mobile environment. グローバルマップと外周境界の一例を示す図。A diagram showing an example of a global map and an outer boundary. 走行スケジュールの作成動作を示すフローチャート。A flowchart showing the operation of creating a running schedule. 走行領域の主方向を決定する処理を示すフローチャート。A flowchart showing a process of determining the principal direction of a traveling area. 走行領域内に定義される第1線分の一例を示す図(その1)。The figure which shows an example of the 1st line segment defined in the traveling area (the 1). 走行領域内に定義される第1線分の一例を示す図(その2)。The figure which shows an example of the 1st line segment defined in the traveling area (the 2). 走行領域内に定義される第1線分の一例を示す図(その3)。The figure which shows an example of the 1st line segment defined in the traveling area (the 3). 第1条件を満たすか否かの判定処理を示すフローチャート。The flowchart which shows the determination process whether or not the first condition is satisfied. 第2線分の決定方法の一例を模式的に示す図。The figure which shows an example of the determination method of the 2nd line segment schematically. 不適切な主方向により決定された領域を含む走行領域の一例を示す図。The figure which shows an example of the traveling area including the area determined by an inappropriate principal direction. 第2条件を満たすか否かの判定処理を示すフローチャート。The flowchart which shows the determination process whether or not the 2nd condition is satisfied. 最大長さ線分の定義の一例を示す図。The figure which shows an example of the definition of the maximum length line segment. 第1線分の長さの積算値が0となる場合の一例を示す図。The figure which shows an example of the case where the integrated value of the length of the first line segment becomes 0. 第1線分の長さの積算値が0でない場合の一例を示す図。The figure which shows an example when the integrated value of the length of the 1st line segment is not 0. 走行領域の分割処理を示すフローチャート。A flowchart showing a traveling area division process. 走行領域の一部が分割して作成された領域の一例を示す図。The figure which shows an example of the area created by dividing a part of a traveling area. 走行領域が複数の領域に分割された状態の一例を示す図。The figure which shows an example of the state which the traveling area is divided into a plurality of areas. 複数の領域を結合して新たな領域を作成した状態の一例を示す図。The figure which shows an example of the state which made a new area by joining a plurality of areas. 領域にセルを配置した状態の一例を示す図。The figure which shows an example of the state which the cell is arranged in the area. 塗り潰し走行経路の作成方法を示すフローチャート。A flowchart showing how to create a filled travel route. 領域内のセルに付与したスコアの一例を示す図。The figure which shows an example of the score given to the cell in a region. 塗り潰し走行経路の一例を示す図。The figure which shows an example of a filled traveling route. 新たな始点セルと次に塗り潰し走行経路を作成する領域の決定方法の一例を模式的に示す図。The figure which shows an example of the determination method of the area which creates the new start point cell and the next filled travel path schematically. 走行領域全体に作成された塗り潰し走行経路の一例を示す図。The figure which shows an example of the filled running path created in the whole running area. 走行スケジュールの一例を示す図。The figure which shows an example of a running schedule. 自律走行モードの実行時の自律走行装置の動作を示すフローチャート。A flowchart showing the operation of the autonomous driving device when the autonomous driving mode is executed. 回転角度の候補の決定動作を示すフローチャート。A flowchart showing an operation of determining a candidate for a rotation angle. 走行領域の一例を示す図。The figure which shows an example of a traveling area. 基準軸に対する角度と、当該角度の方向に延びる線分の累積長さと、の関係を表すヒストグラムの一例を示す図。The figure which shows an example of the histogram which shows the relationship between the angle with respect to a reference axis, and the cumulative length of a line segment extending in the direction of the angle. 外周境界を構成する辺を特定した状態の一例を示す図。The figure which shows an example of the state which specified the side which constitutes the outer boundary boundary. 辺の延びる方向と長さとを辺毎に分類したヒストグラムの一例を示す図。The figure which shows an example of the histogram which classified the extension direction and the length of an edge for each edge.
1.第1実施形態
(1)自律走行装置の全体構成
 図1を用いて、第1実施形態に係る自律走行装置100(自律走行体の一例)の全体構成を説明する。図1は、自律走行装置の一例の全体構成を示す図である。自律走行装置100は、設定された清掃条件と走行経路とを自律的に再現する清掃機である。自律走行装置100は、走行部1を備える。走行部1は、自律走行装置100を走行させる装置である。走行部1は、自律走行装置100の本体を構成する本体Bを有する。走行部1は、本体Bの底部の左右端にそれぞれ、走行モータ11と、走行モータ11の出力回転軸に取り付けられ、走行モータ11の回転に従って回転する主輪13と、を有する。
1. 1. First Embodiment (1) Overall Configuration of Autonomous Traveling Device The overall configuration of the autonomous traveling device 100 (an example of an autonomous traveling body) according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram showing an overall configuration of an example of an autonomous traveling device. The autonomous traveling device 100 is a cleaning machine that autonomously reproduces the set cleaning conditions and traveling routes. The autonomous traveling device 100 includes a traveling unit 1. The traveling unit 1 is a device for traveling the autonomous traveling device 100. The traveling unit 1 has a main body B constituting the main body of the autonomous traveling device 100. The traveling unit 1 has a traveling motor 11 at the left and right ends of the bottom of the main body B, and a main wheel 13 attached to an output rotation shaft of the traveling motor 11 and rotating according to the rotation of the traveling motor 11.
 自律走行装置100は、清掃部3を備える。清掃部3は、本体Bの底部に設けられ、指定された清掃条件に従って床面Fを清掃する装置である。本実施形態の清掃部3は、洗浄液吐出口31と、スキージ33と、洗浄用部材35と、を有する。 The autonomous traveling device 100 includes a cleaning unit 3. The cleaning unit 3 is a device provided at the bottom of the main body B and cleans the floor surface F according to designated cleaning conditions. The cleaning unit 3 of the present embodiment has a cleaning liquid discharge port 31, a squeegee 33, and a cleaning member 35.
 洗浄液吐出口31は、洗浄液供給タンク311から洗浄液供給ポンプ313により供給された洗浄液(例えば、水)を、本体Bの前方側の床面Fに吐出する。スキージ33は、本体Bの底面後方に設けられ、床面F上に残留する洗浄液を収集する。洗浄用部材35は、本体Bの底面の前方側に設けられ、洗浄用部材回転モータ351の回転にて洗浄液が存在する床面F上にて回転することにより、床面Fを洗浄する。上記の清掃部3を備えることにより、自律走行装置100は、洗浄液を用いて床面Fを洗浄用部材35にて磨く清掃作業を実行できる。 The cleaning liquid discharge port 31 discharges the cleaning liquid (for example, water) supplied by the cleaning liquid supply pump 313 from the cleaning liquid supply tank 311 to the floor surface F on the front side of the main body B. The squeegee 33 is provided behind 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 in which the cleaning liquid is present by the rotation of the cleaning member rotation motor 351 to clean the floor surface F. By providing the cleaning unit 3 described above, the autonomous traveling device 100 can perform a cleaning operation of polishing the floor surface F with the cleaning member 35 using the cleaning liquid.
 他の実施形態において、スキージ33には吸引口33aが設けられていてもよい。吸引口33aは、吸引モータ331により回収部材333を負圧状態にすることにより、スキージ33により収集された洗浄液やゴミなどを吸引して、回収部材333へと搬送できる。 In another embodiment, the squeegee 33 may be provided with a suction port 33a. The suction port 33a can suck the cleaning liquid, dust, etc. collected by the squeegee 33 and convey it to the recovery member 333 by putting the recovery member 333 in a negative pressure state by the suction motor 331.
 自律走行装置100は、制御部5(経路計画装置の一例)を有する。制御部5は、CPU、記憶装置(RAM、ROM、ハードディスクドライブ、SSDなど)、各種インターフェースなどを備えたコンピュータシステムである。制御部5は、自律走行装置100に関する各種制御を行う(後述)。 The autonomous traveling device 100 has a control unit 5 (an example of a route planning device). The control unit 5 is a computer system including a CPU, a storage device (RAM, ROM, hard disk drive, SSD, etc.), various interfaces, and the like. The control unit 5 performs various controls related to the autonomous traveling device 100 (described later).
 自律走行装置100は、走行経路教示部7を備える。走行経路教示部7は、操作者による走行部1の移動操作を受け付ける装置である。走行経路教示部7は、取付部材8を介して、本体Bの上部後側に取り付けられている。これにより、操作者は、走行経路教示部7を操作して走行部1を移動操作できる(後述)。 The autonomous traveling device 100 includes a traveling route teaching unit 7. The travel route teaching unit 7 is a device that receives a movement operation of the travel unit 1 by an operator. The traveling route teaching unit 7 is attached to the upper rear side of the main body B via the attachment member 8. As a result, the operator can operate the traveling route teaching unit 7 to move the traveling unit 1 (described later).
 他の実施形態として、走行経路教示部7は、本体Bに取り付けられていなくともよい。この場合、走行経路教示部7は、例えば、ジョイスティックなどのコントローラである。これにより、操作者は、自律走行装置100を遠隔操作できる。 As another embodiment, the traveling route teaching unit 7 does not have to be attached to the main body B. In this case, the traveling route teaching unit 7 is a controller such as a joystick. As a result, the operator can remotely control the autonomous traveling device 100.
 自律走行装置100は、設定部9を備える。設定部9は、自律走行装置100に関する各種設定を行うための操作盤であり、本体Bの上方後側の表面に取り付けられている。また、設定部9は、走行経路教示部7の近傍に設けられている。これにより、操作者は、走行経路教示部7を操作して走行部1を操作しつつ、設定部9を操作できる。 The autonomous traveling device 100 includes a setting unit 9. The setting unit 9 is an operation panel for making various settings related to the autonomous traveling device 100, and is attached to the upper rear surface of the main body B. Further, the setting unit 9 is provided in the vicinity of the traveling route teaching unit 7. As a result, the operator can operate the setting unit 9 while operating the traveling route teaching unit 7 to operate the traveling unit 1.
 他の実施形態として、設定部9は、本体Bに取り付けられていなくてもよい。この場合、設定部9は、例えば、ポータブル端末などの無線通信可能なコンソールとできる。これにより、操作者は、自律走行装置100を遠隔にて設定できる。 As another embodiment, the setting unit 9 may not 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. As a result, the operator can remotely set the autonomous traveling device 100.
(2)走行経路教示部の構成
 図2を用いて、走行経路教示部7の構成の一例を説明する。図2は、走行経路教示部の構成の一例を示す図である。走行経路教示部7は、ハンドル71a、71bを有する。ハンドル71a、71bは、それぞれ、筐体73の左右側面に取り付けられている。ハンドル71a、71bは、操作者が自律走行装置100を操作するときに使用される。
(2) Configuration of Travel Route Teaching Unit An example of the configuration of the travel route teaching unit 7 will be described with reference to FIG. FIG. 2 is a diagram showing an example of the configuration of the traveling route teaching unit. The travel route teaching unit 7 has handles 71a and 71b. The handles 71a and 71b are attached to the left and right side surfaces of the housing 73, respectively. The handles 71a and 71b are used when the operator operates the autonomous traveling device 100.
 例えば、ハンドル71a、71bを把持する操作者は、ハンドル71a、71bを介して、自律走行装置100を操作者の方へ引張る力、又は、自律走行装置100を押し出す力のいずれかを加えることができる。ハンドル71a、71bのそれぞれにかける力を調節することにより、操作者は、自律走行装置100の走行方向を調整できる。例えば、自律走行装置100の前方方向から見て右側のハンドル71aに対して、自律走行装置100を引張る力を加えれば、自律走行装置100は左へと方向転換する。 For example, the operator holding the handles 71a and 71b may apply either a force for pulling the autonomous traveling device 100 toward the operator or a force for pushing out the autonomous traveling device 100 through the handles 71a and 71b. can. By adjusting the force applied to each of the handles 71a and 71b, the operator can adjust the traveling direction of the autonomous traveling device 100. For example, if a force for pulling the autonomous traveling device 100 is applied to the steering wheel 71a on the right side when viewed from the front of the autonomous traveling device 100, the autonomous traveling device 100 turns to the left.
 ハンドル71a、71bは、筐体73に回動可能に取り付けられている。また、ハンドル71a、71bは、走行制御指令算出部75を介して制御部5に接続されている。走行制御指令算出部75は、ハンドル71a、71bの回動を電気信号に変換し、制御部5に出力する。これにより、操作者は、ハンドル71a、71bの回動操作によって、自律走行装置100(走行部1)を操作できる。例えば、ハンドル71a、71bの回動方向を調整することにより、操作者は、自律走行装置100の前進と後進とを切り替え可能となっていてもよい。また、ハンドル71a、71bの回動量を調節することにより、自律走行装置100の走行速度を調整可能となっていてもよい。さらに、ハンドル71aの回動量と、ハンドル71bの回動量とを異ならせて、自律走行装置100の進行方向を変更してもよい。 The handles 71a and 71b are rotatably attached to the housing 73. Further, the handles 71a and 71b are connected to the control unit 5 via the travel control command calculation unit 75. The travel control command calculation unit 75 converts the rotation of the handles 71a and 71b into an electric signal and outputs the rotation to the control unit 5. As a result, the operator can operate the autonomous traveling device 100 (traveling unit 1) by rotating the handles 71a and 71b. For example, by adjusting the rotation directions of the handles 71a and 71b, the operator may be able to switch between forward movement and reverse movement of the autonomous traveling device 100. Further, the traveling speed of the autonomous traveling device 100 may be adjusted by adjusting the rotation amount of the handles 71a and 71b. Further, the traveling direction of the autonomous traveling device 100 may be changed by making the rotation amount of the handle 71a different from the rotation amount of the handle 71b.
(3)設定部の構成
 図3を用いて、設定部9の構成を説明する。図3は、設定部の構成の一例を示す図である。設定部9は、切替部91を有する。切替部91は、自律走行装置100の動作モードを選択し、制御部5に出力する。自律走行装置100の動作モードとしては、自律走行モードと手動操作モードとがある。自律走行モードは、自律走行装置100が、自律的に走行し床面Fを洗浄する動作モードである。手動操作モードは、自律走行装置100が操作者により手動操作可能な状態にある動作モードである。切替部91は、例えば、図3に示すような切り替えスイッチにて構成できる。
(3) Configuration of Setting Unit 9 The configuration of the setting unit 9 will be described with reference to FIG. FIG. 3 is a diagram showing an example of the configuration of the setting unit. The setting unit 9 has a switching unit 91. The switching unit 91 selects the operation mode of the autonomous traveling device 100 and outputs it to the control unit 5. The operation mode of the autonomous traveling device 100 includes an autonomous traveling mode and a manual operation mode. The autonomous traveling mode is an operation mode in which the autonomous traveling device 100 autonomously travels and cleans the floor surface F. The manual operation mode is an operation mode in which the autonomous traveling device 100 is in a state where it can be manually operated by the operator. The switching unit 91 can be configured by, for example, a switching switch as shown in FIG.
 設定部9は、手動操作記憶スイッチ92を有する。手動操作記憶スイッチ92は、操作者による自律走行装置100の手動操作の記憶を開始又は終了するためのスイッチである。具体的には、切替部91により動作モードが手動操作モードに設定された後に手動操作記憶スイッチ92が押されると、操作者の手動操作により実行された清掃条件及び走行経路の記録が開始される。すなわち、清掃条件と走行経路の教示が開始される。一方、手動操作による清掃条件及び走行経路の記録中に手動操作記憶スイッチ92が押されると、当該清掃条件及び走行経路の記録が停止される。 The setting unit 9 has a manual operation storage switch 92. The manual operation storage switch 92 is a switch for starting or ending the storage of the manual operation of the autonomous traveling device 100 by the operator. Specifically, when the manual operation storage switch 92 is pressed after the operation mode is set to the manual operation mode by the switching unit 91, recording of the cleaning condition and the traveling route executed by the manual operation of the operator is started. .. That is, the teaching of cleaning conditions and traveling routes is started. On the other hand, if the manual operation storage switch 92 is pressed during the recording of the cleaning condition and the traveling route by the manual operation, the recording of the cleaning condition and the traveling route is stopped.
 なお、操作者の手動操作による清掃条件と走行経路とを記録(教示)する動作モードを手動操作教示モードと呼ぶ。手動操作教示モードは、手動操作モードのサブ動作モードとして開始される。手動操作記憶スイッチ92としては、例えば、図3に示すような押ボタンスイッチとすることができる。この場合、手動操作記憶スイッチ92の切り替えは、当該押ボタンスイッチを押すことにより切り替わる。 The operation mode for recording (teaching) the cleaning conditions and the traveling route by the manual operation of the operator is called the manual operation teaching mode. The manual operation teaching mode is started as a sub-operation mode of the manual operation mode. The manual operation storage switch 92 may be, for example, a push button switch as shown in FIG. In this case, the manual operation storage switch 92 is switched by pressing the push button switch.
 設定部9は、設定操作部93を有する。設定操作部93は、例えば押圧スイッチなどにより構成され、自律走行装置100に関する各種設定の入力を受け付けて、設定変換部94を介して、制御部5に出力する。設定変換部94は、設定操作部93にて受け付けた入力を、制御部5が解読可能な信号に変換する信号変換回路、又は、コンピュータシステムである。 The setting unit 9 has a setting operation unit 93. The setting operation unit 93 is configured by, for example, a pressing switch, receives input of various settings related to the autonomous traveling device 100, and outputs the input to the control unit 5 via the 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 can be decoded by the control unit 5.
 設定部9はディスプレイ95を有する。ディスプレイ95は、現在設定されている自律走行装置100に関する各種設定情報を表示する。ディスプレイ95は、例えば、液晶ディスプレイ、有機ELディスプレイなどのディスプレイである。 The setting unit 9 has a display 95. The display 95 displays various setting information regarding the currently set autonomous traveling device 100. The display 95 is, for example, a display such as a liquid crystal display or an organic EL display.
 他の実施形態において、ディスプレイ95は、現在の動作モード(自律走行モード/手動操作モード/手動操作教示モード)、運転時間、自律走行装置100を駆動するバッテリー残量などをさらに表示してもよい。 In another embodiment, the display 95 may further display the current operation mode (autonomous travel mode / manual operation mode / manual operation teaching mode), operating time, remaining battery level for driving the autonomous traveling device 100, and the like. ..
 他の実施形態において、ディスプレイ95にはタッチパネルが設けられていてもよい。この場合、上記の切替部91、手動操作記憶スイッチ92、及び/又は設定操作部93は、当該タッチパネルにより実現されてもよい。 In another embodiment, the display 95 may be provided with a touch panel. In this case, the switching unit 91, the manual operation storage switch 92, and / or the setting operation unit 93 may be realized by the touch panel.
 設定部9は、清掃条件教示部96を有してもよい。清掃条件教示部96は、操作者による清掃条件の入力を受け付けて、清掃制御指令算出部97へ出力する。清掃制御指令算出部97は、清掃条件教示部96にて受け付けた清掃条件を、制御部5が解読可能な信号に変換して制御部5に出力する信号変換回路、又は、コンピュータシステムである。 The setting unit 9 may have a cleaning condition teaching unit 96. The cleaning condition teaching unit 96 receives the input of the cleaning condition by the operator and outputs it to the 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 received by the cleaning condition teaching unit 96 into a decipherable signal and outputs the signal to the control unit 5.
(4)制御部の構成
(4-1)制御部の機能ブロック構成
 図4を用いて、制御部5の全体の機能ブロック構成を説明する。図4は、制御部の全体の機能ブロック構成を示す図である。以下に説明する制御部5の各機能ブロックの全部又は一部は、制御部5を構成するコンピュータシステムにて実行可能なプログラムにより実現されてもよい。この場合、当該プログラムは、メモリ部及び/又は記憶装置に記憶されていてもよい。制御部5の各機能ブロックの全部又は一部は、SoC(System on Chip)などのカスタムICとして実現されていてもよい。
(4) Configuration of Control Unit (4-1) Functional Block Configuration of Control Unit The overall functional block configuration of the control unit 5 will be described with reference to FIG. FIG. 4 is a diagram showing the overall functional block 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 that can be executed by the computer system constituting the control unit 5. In this case, the program may be stored in the memory unit and / or the storage device. All or part of each functional block of the control unit 5 may be realized as a custom IC such as a SoC (System on Chip).
 制御部5は、1つのコンピュータシステムにより構成されていてもよいし、複数のコンピュータシステムにより構成されていてもよい。複数のコンピュータシステムにより制御部5を構成する場合、例えば、制御部5の複数の機能ブロックにて実現される機能を複数のコンピュータシステムに任意の割合で振り分けて実行させることができる。 The control unit 5 may be configured by one computer system or may be configured by a plurality of computer systems. When the control unit 5 is configured by a plurality of computer systems, for example, the functions realized by the plurality of functional blocks of the control unit 5 can be distributed to the plurality of computer systems at an arbitrary ratio and executed.
 制御部5は、清掃制御部51を有する。清掃制御部51は、洗浄用部材回転モータ351と、洗浄液供給ポンプ313と、吸引モータ331に対して、回転速度や出力などを制御する電力を供給する。設定部9が清掃条件教示部96を有する実施例では、清掃制御部51は、清掃制御指令算出部97を介して清掃条件教示部96から教示清掃条件を入力し、当該教示清掃条件に基づいて、洗浄用部材回転モータ351と、洗浄液供給ポンプ313と、吸引モータ331と、を制御してもよい。 The control unit 5 has a cleaning control unit 51. The cleaning control unit 51 supplies electric power for controlling the rotation speed, output, and the like to the cleaning member rotation motor 351, the cleaning liquid supply pump 313, and the suction motor 331. In the embodiment in which the setting unit 9 has the cleaning condition teaching unit 96, the cleaning control unit 51 inputs the teaching cleaning condition from the cleaning condition teaching unit 96 via the cleaning control command calculation unit 97, and based on the teaching cleaning condition. , The cleaning member rotary motor 351, the cleaning liquid supply pump 313, and the suction motor 331 may be controlled.
 他の実施形態において、清掃制御部51は、自律走行モードの実行時に、制御統括部55から、自律走行モードにおける清掃条件の設定値を示す再現清掃条件を入力し、当該再現清掃条件に基づいて、清掃部3を制御してもよい。 In another embodiment, when the autonomous driving mode is executed, the cleaning control unit 51 inputs a reproduction cleaning condition indicating a set value of the cleaning condition in the autonomous travel mode from the control control unit 55, and based on the reproduction cleaning condition. , The cleaning unit 3 may be controlled.
 制御部5は、走行制御部53を有する。走行制御部53は、走行経路教示部7から入力したハンドル71a、71bの回動量及び回動方向に基づく走行制御指令、又は、制御統括部55から入力した走行制御指令に基づき、走行モータ11を制御する。また、走行制御部53は、走行モータ11の出力回転軸に取り付けられたエンコーダ111から出力されるパルス信号に基づいて、走行モータ11の回転速度を算出する。 The control unit 5 has a travel control unit 53. The travel control unit 53 sets the travel motor 11 based on a travel control command based on the rotation amount and rotation direction of the handles 71a and 71b input from the travel route teaching unit 7, or a travel control command input from the control control unit 55. Control. Further, the travel control unit 53 calculates the rotation speed of the travel motor 11 based on the pulse signal output from the encoder 111 attached to the output rotation shaft of the travel motor 11.
 制御部5は、制御統括部55を有する。制御統括部55は、自律走行装置100による走行を統括する。具体的には、制御統括部55は、前方検出器41a、後方検出器41b、及び/又はエンコーダ111にて取得された情報に基づいて、自律走行装置100が床面Fのどの位置を移動しているかを示す位置情報を算出する。制御統括部55は、手動操作教示モードの実行時における上記の位置情報を用いて、走行スケジュール500を作成する。他の実施形態において、制御統括部55は、自律走行モードにおける清掃条件を算出し、走行スケジュール500と関連付けてもよい。 The control unit 5 has a control control unit 55. The control control unit 55 controls the traveling by the autonomous traveling device 100. Specifically, in the control control unit 55, the autonomous traveling device 100 moves to any position on the floor surface F based on the information acquired by the front detector 41a, the rear detector 41b, and / or the encoder 111. Calculate the position information indicating whether or not it is. The control control unit 55 creates the travel schedule 500 by using the above-mentioned position information at the time of executing the manual operation teaching mode. In another embodiment, the control control unit 55 may calculate the cleaning condition in the autonomous driving mode and associate it with the traveling schedule 500.
 一方、自律走行モードの実行時においては、制御統括部55は、走行スケジュール500に記憶されたデータに基づいて再現走行制御指令を算出し、走行制御部53に出力する。これにより、自律走行モードの実行時においては、走行制御部53は、再現走行制御指令に基づいて走行モータ11を制御することで、自律走行装置100を自律的に移動させることができる。 On the other hand, when the autonomous driving mode is executed, the control control unit 55 calculates the reproduction driving control command based on the data stored in the traveling schedule 500 and outputs it to the traveling control unit 53. As a result, when the autonomous travel mode is executed, the travel control unit 53 can autonomously move the autonomous travel device 100 by controlling the travel motor 11 based on the reproduction travel control command.
 走行スケジュール500に清掃条件が関連付けられている実施形態では、制御統括部55は、自律走行モードの実行時において、走行スケジュール500に記憶された清掃条件に基づいて、清掃制御部51を制御してもよい。これにより、自律走行装置100は、走行スケジュール500に従って自律的に走行中に、当該清掃条件に従って自律的に清掃作業を実行できる。 In the embodiment in which the cleaning condition is associated with the travel schedule 500, the control control unit 55 controls the cleaning control unit 51 based on the cleaning condition stored in the travel schedule 500 when the autonomous travel mode is executed. May be good. As a result, the autonomous traveling device 100 can autonomously execute the cleaning work according to the cleaning conditions while autonomously traveling according to the traveling schedule 500.
 制御部5は、記憶部57を有する。記憶部57は、制御部5を構成するコンピュータシステムの記憶装置の記憶領域の一部又は全部であり、自律走行装置100に関する各種情報を記憶する。具体的には、記憶部57は、制御統括部55において作成された走行スケジュール500、及び、設定操作部93や設定変換部94から入力された自律走行装置100に関する各種設定を記憶する。 The control unit 5 has a storage unit 57. The storage unit 57 is a part or all of the storage area of the storage device of the computer system constituting the control unit 5, and stores various information about the autonomous traveling device 100. Specifically, the storage unit 57 stores the travel schedule 500 created by the control control unit 55, and various settings related to the autonomous travel device 100 input from the setting operation unit 93 and the setting conversion unit 94.
 走行制御部53、及び制御統括部55は、記憶部57に記憶された自律走行装置100に関する各種設定、及び/又は、走行スケジュール500を必要に応じて読み出して、これらに基づいて各種の調整及び制御を実行できる。 The travel control unit 53 and the control control unit 55 read various settings related to the autonomous travel device 100 stored in the storage unit 57 and / or a travel schedule 500 as necessary, and make various adjustments and adjustments based on these. Control can be performed.
 他の実施形態において、制御部5は、記憶部57に記憶された走行スケジュール500などの情報を他の記憶媒体に記憶するためのデータ書き込み装置(図示せず)を有していてもよい。 In another embodiment, the control unit 5 may have a data writing device (not shown) for storing information such as the travel schedule 500 stored in the storage unit 57 in another storage medium.
(4-2)走行制御部の機能ブロック構成
 図5を用いて、走行制御部53の機能ブロック構成を詳細に説明する。図5は、走行制御部の機能ブロックの詳細構成を示す図である。走行制御部53は、走行切替部531を有する。走行切替部531は、3つの端子d、e、及びfを有している。端子dは走行経路教示部7に接続され、端子eはモータ制御部533に接続され、端子fは制御統括部55に接続されている。
(4-2) Functional block configuration of the traveling control unit The functional block configuration of the traveling control unit 53 will be described in detail with reference to FIG. FIG. 5 is a diagram showing a detailed configuration of a functional block of the traveling control unit. The travel control unit 53 has a travel switching unit 531. The travel switching unit 531 has three terminals d, e, and f. The terminal d is connected to the traveling route teaching unit 7, the terminal e is connected to the motor control unit 533, and the terminal f is connected to the control control unit 55.
 走行切替部531は、切替部91により選択されている動作モードに基づいて、端子eと端子dとを接続するか、あるいは、端子eと端子fとを接続するかのいずれかを選択する。 具体的には、切替部91において手動操作モードが選択されていれば、走行切替部531は、端子eと端子dとを接続することで、走行経路教示部7をモータ制御部533に接続する。これにより、走行切替部531は、手動操作モード又は手動操作教示モードの実行時には、走行経路教示部7のハンドル71a、71bの回動量及び/又は回転方向を示す信号を、モータ制御部533に送信できる。 The travel switching unit 531 selects either to connect the terminal e and the terminal d or to connect the terminal e and the terminal f based on the operation mode selected by the switching unit 91. Specifically, if the manual operation mode is selected in the switching unit 91, the travel switching unit 531 connects the travel route teaching unit 7 to the motor control unit 533 by connecting the terminal e and the terminal d. .. As a result, the travel switching unit 531 transmits a signal indicating the rotation amount and / or rotation direction of the handles 71a and 71b of the travel route instruction unit 7 to the motor control unit 533 when the manual operation mode or the manual operation instruction mode is executed. can.
 一方、切替部91において自律走行モードが選択されていれば、走行切替部531は、端子eと端子fとを接続することで、制御統括部55をモータ制御部533に接続する。これにより、走行切替部531は、自律走行モードの実行時には、制御統括部55から出力される再現走行制御指令を、モータ制御部533に送信できる。 On the other hand, if the autonomous travel mode is selected in the switching unit 91, the travel switching unit 531 connects the control control unit 55 to the motor control unit 533 by connecting the terminal e and the terminal f. As a result, the travel switching unit 531 can transmit the reproduction travel control command output from the control control unit 55 to the motor control unit 533 when the autonomous travel mode is executed.
 モータ制御部533は、入力されたハンドル71a、71bの回動量/回動方向、又は、再現走行制御指令に基づいて、走行モータ11の目標回転速度を算出し、当該目標回転速度にて走行モータ11を回転させるための駆動電力を、走行モータ11に出力する。モータ制御部533は、エンコーダ111からのパルス信号に基づいて実際の走行モータ11の回転速度を算出し、走行モータ11に出力すべき駆動電力を算出する。モータ制御部533は、例えば、PI(Proportional Integral)制御理論や、PID(Proportional Integral Differential)制御理論などを用いて走行モータ11を制御する。本実施形態においては、本体Bの底部の左右端のそれぞれに、走行モータ11及び主輪13が設けられている。このような場合、モータ制御部533は、左右2つの走行モータ11のそれぞれの回転速度及び回転方向を独立に制御して、自律走行装置100の進行方向を決定する。 The motor control unit 533 calculates the target rotation speed of the traveling motor 11 based on the input rotation amount / rotation direction of the handles 71a and 71b or the reproduction traveling control command, and the traveling motor at the target rotation speed. The drive power for rotating the 11 is output to the traveling motor 11. The motor control unit 533 calculates the actual rotation speed of the traveling motor 11 based on the pulse signal from the encoder 111, and calculates the driving power to be output to the traveling motor 11. The motor control unit 533 controls the traveling motor 11 by using, for example, a PI (Proportional Integral) control theory, a PID (Proportional Integral Differential) control theory, or the like. In the present embodiment, a traveling motor 11 and a main wheel 13 are provided at each of the left and right ends of the bottom portion of the main body B. In such a case, the motor control unit 533 independently controls the rotation speed and the rotation direction of the two left and right traveling motors 11 to determine the traveling direction of the autonomous traveling device 100.
(4-3)制御統括部の機能ブロック構成
 図6を用いて、制御統括部55の機能ブロック構成を詳細に説明する。図6は、制御統括部の機能ブロックの詳細構成を示す図である。制御統括部55は、SLAM部551を有する。SLAM部551は、本体Bの前方に設けられた前方検出器41a(図1)にて取得した自律走行装置100の前方に存在する障害物に関する情報と、本体Bの後方に設けられた後方検出器41b(図1)にて取得した自律走行装置100の後方に存在する障害物に関する情報と、を用いてローカルマップとグローバルマップGM(第1地図の一例)とを作成し、これら地図情報とエンコーダ111にて取得した走行モータ11の回転量とに基づいて、自律走行装置100の所定の座標上の自己位置を推定する。
(4-3) Functional block configuration of the control control unit The functional block configuration of the control control unit 55 will be described in detail with reference to FIG. FIG. 6 is a diagram showing a detailed configuration of a functional block of the control control unit. The control control unit 55 has a SLAM unit 551. The SLAM unit 551 includes information on obstacles existing in front of the autonomous traveling device 100 acquired by the front detector 41a (FIG. 1) provided in front of the main body B, and rear detection provided in the rear of the main body B. A local map and a global map GM (an example of the first map) are created using the information on obstacles existing behind the autonomous traveling device 100 acquired by the device 41b (FIG. 1), and these map information and the map information are used. Based on the rotation amount of the traveling motor 11 acquired by the encoder 111, the self-position on the predetermined coordinates of the autonomous traveling device 100 is estimated.
 ローカルマップは、自律走行装置100の周囲に存在する障害物の存在位置を表す地図情報であり、前方検出器41a及び後方検出器41bにて取得した障害物に関する情報を必要に応じて座標変換することにより作成される。 The local map is map information showing the existence position of an obstacle existing around the autonomous traveling device 100, and coordinates the information about the obstacle acquired by the front detector 41a and the rear detector 41b as necessary. Created by
 一方、グローバルマップGMは、移動環境EVに存在する障害物の存在位置を表す地図情報であり、本実施形態では自律走行装置100を移動環境EV内にて移動させて取得したローカルマップを連結することで作成される。 On the other hand, the global map GM is map information indicating the existence position of an obstacle existing in the moving environment EV, and in the present embodiment, the local map acquired by moving the autonomous traveling device 100 in the moving environment EV is connected. It is created by.
 具体的には、SLAM部551は、前回の自己位置推定時から現在までの走行モータ11の回転量に基づいてデッドレコニングによる位置推定を実行し、デッドレコニングによる推定位置とその周囲に複数の自己位置の候補を定め、グローバルマップGM上においてこの複数の自己位置の候補のそれぞれに現在のローカルマップを配置し、各自己位置の候補に配置した現在のローカルマップとグローバルマップGMとの一致度を算出し、現在のローカルマップとグローバルマップGMとの一致度が最大である自己位置の候補を、現在の自己位置と推定する。 Specifically, the SLAM unit 551 executes position estimation by dead reckoning based on the amount of rotation of the traveling motor 11 from the time of the previous self position estimation to the present, and the estimated position by dead reckoning and a plurality of self around it. Position candidates are determined, the current local map is placed on each of these multiple self-position candidates on the global map GM, and the degree of matching between the current local map placed on each self-position candidate and the global map GM is determined. The candidate for the self-position that has the maximum degree of coincidence between the current local map and the global map GM is estimated as the current self-position.
 前方検出器41a及び後方検出器41bは、例えば、その検出範囲が180°以上のレーザーレンジファインダ(Laser Range Finder、LRF)である。レーザーレンジファインダを前方検出器41a及び後方検出器41bとして用いた場合、走行部1と障害物との距離と、当該障害物が存在する方向とが、障害物に関する情報として取得される。前方検出器41a及び後方検出器41bにて取得される情報は、所定の平面上における障害物の存在位置を表す二次元的な情報であってもよいし、さらに高さ方向における障害物の存在位置を表す情報を含んだ三次元的な情報であってもよい。 The front detector 41a and the rear detector 41b are, for example, laser range finders (Laser Range Finder, LRF) whose detection range is 180 ° or more. When the laser range finder is used as the front detector 41a and the rear detector 41b, the distance between the traveling unit 1 and the obstacle and the direction in which the obstacle exists are acquired as information about the obstacle. The information acquired by the front detector 41a and the rear detector 41b may be two-dimensional information indicating the position of an obstacle on a predetermined plane, or may be the presence of an obstacle in the height direction. It may be three-dimensional information including information indicating the position.
 制御統括部55は、経路作成部553を有する。経路作成部553は、移動環境EV(グローバルマップGM)に定めた走行領域TA内に、自律走行装置100が当該走行領域TAをまんべんなく(「塗り潰す」ように)走行する走行スケジュール500を作成し、記憶部57に記憶する。 The control control unit 55 has a route creation unit 553. The route creation unit 553 creates a travel schedule 500 in which the autonomous travel device 100 travels evenly (as if "filling") the travel area TA in the travel area TA defined in the travel environment EV (global map GM). , Stored in the storage unit 57.
 制御統括部55は、走行再現部555を有する。走行再現部555は、自律走行モードを実行する時に、走行スケジュール500に記憶された情報と、SLAM部551から取得した推定された位置情報とに基づいて、自律走行装置100が走行スケジュール500に示された走行経路を自律的に走行するための制御指令(再現走行制御指令)を算出する。走行再現部555は、算出した再現走行制御指令を走行制御部53に出力する。 The control control unit 55 has a travel reproduction unit 555. When the travel reproduction unit 555 executes the autonomous travel mode, the autonomous travel device 100 indicates the travel schedule 500 based on the information stored in the travel schedule 500 and the estimated position information acquired from the SLAM unit 551. A control command (reproduced driving control command) for autonomously traveling on the traveled route is calculated. The travel reproduction unit 555 outputs the calculated reproduction travel control command to the travel control unit 53.
 他の実施形態において、走行再現部555は、走行スケジュール500に関連付けられた清掃条件を、清掃制御部51に出力してもよい。 In another embodiment, the travel reproduction unit 555 may output the cleaning conditions associated with the travel schedule 500 to the cleaning control unit 51.
 また、走行再現部555は、自律走行装置100の進行方向に存在する障害物を検出する障害物検出部43に接続されている。障害物検出部43は、例えば、本体Bの前方に設けられた超音波センサである。その他、前方検出器41aを進行方向に障害物を検出するセンサとして用いてもよい。 Further, the travel reproduction unit 555 is connected to an obstacle detection unit 43 that detects an obstacle existing in the traveling direction of the autonomous travel device 100. The obstacle detection unit 43 is, for example, an ultrasonic sensor provided in front of the main body B. In addition, the front detector 41a may be used as a sensor for detecting an obstacle in the traveling direction.
 走行再現部555は、自律走行モードの実行中に自律走行装置100の進行方向に障害物が検出された場合には、当該障害物を回避するための再現走行制御指令を算出し、その再現走行制御指令を走行制御部53に出力する。これにより、走行スケジュール500が障害物の存在を考慮することなく作成されても、自律走行装置100は検出された障害物を回避しつつ自律走行できる。 When an obstacle is detected in the traveling direction of the autonomous traveling device 100 while the autonomous traveling mode is being executed, the traveling reproduction unit 555 calculates a reproduction traveling control command for avoiding the obstacle and reproduces the obstacle. The control command is output to the traveling control unit 53. As a result, even if the travel schedule 500 is created without considering the existence of obstacles, the autonomous travel device 100 can autonomously travel while avoiding the detected obstacles.
(5)自律走行装置の動作
(5-1)基本動作
 以下、自律走行装置100の動作を説明する。以下の説明する自律走行装置100の動作は、制御部5の記憶装置により記憶されたコンピュータプログラムを実行することで実現される。まず、図7を用いて、自律走行装置100の基本的な動作を説明する。図7は、自律走行装置の基本的な動作を示すフローチャートである。
(5) Operation of the autonomous traveling device (5-1) Basic operation The operation of the autonomous traveling device 100 will be described below. The operation of the autonomous traveling device 100 described below is realized by executing a computer program stored by the storage device of the control unit 5. First, the basic operation of the autonomous traveling device 100 will be described with reference to FIG. 7. FIG. 7 is a flowchart showing the basic operation of the autonomous traveling device.
 自律走行装置100が動作を開始すると、制御部5は、切替部91の状態を確認する(ステップS1)。切替部91が「自動」を選択している場合(ステップS1において「自律走行モード」の場合)、自律走行モードが実行され(ステップS2)、記憶部57に記憶された走行スケジュール500に従って、自律走行装置100は自律的に清掃作業を実行する。 When the autonomous traveling device 100 starts operating, the control unit 5 confirms the state of the switching unit 91 (step S1). When the switching unit 91 selects "automatic" (in the case of "autonomous driving mode" in step S1), the autonomous driving mode is executed (step S2), and autonomously according to the traveling schedule 500 stored in the storage unit 57. The traveling device 100 autonomously executes the cleaning work.
 一方、切替部91が「手動」を選択している場合(ステップS1において「手動操作モード」の場合)、制御部5は、実行すべき動作モードが手動操作モードと判断する。手動操作モードを実行中に手動操作記憶スイッチ92が押されたことを検知すると(ステップS3において「Yes」の場合)、制御部5は、動作モードを手動操作教示モードに移行させる(ステップS4)。その結果、手動操作記憶スイッチ92が押されたタイミング以降の操作者による自律走行装置100の操作が記憶される。 On the other hand, when the switching unit 91 selects "manual" (in the case of "manual operation mode" in step S1), the control unit 5 determines that the operation mode to be executed is the manual operation mode. When it is detected that the manual operation storage switch 92 is pressed while the manual operation mode is being executed (in the case of "Yes" in step S3), the control unit 5 shifts the operation mode to the manual operation teaching mode (step S4). .. As a result, the operation of the autonomous traveling device 100 by the operator after the timing when the manual operation storage switch 92 is pressed is stored.
 上記のステップS4において手動操作教示モードを実行中に、制御部5は、手動操作記憶スイッチ92が押されたか否かをモニターする。手動操作教示モードの実行中に手動操作記憶スイッチ92が押された場合には、そのタイミングで手動操作教示モードが終了する。その後、ステップS5において、経路作成部553が、手動操作教示モードで教示されたデータを用いて走行スケジュール500を作成する。 While executing the manual operation teaching mode in step S4 above, the control unit 5 monitors whether or not the manual operation storage switch 92 is pressed. If the manual operation storage switch 92 is pressed during the execution of the manual operation teaching mode, the manual operation teaching mode ends at that timing. After that, in step S5, the route creation unit 553 creates the travel schedule 500 using the data taught in the manual operation teaching mode.
 一方、手動操作モードに移行後に手動操作記憶スイッチ92が押されない場合(ステップS3において「No」の場合)には、ステップS6において、操作者の操作を記憶しない手動操作モードの実行が維持される。 On the other hand, when the manual operation storage switch 92 is not pressed after shifting to the manual operation mode (in the case of "No" in step S3), the execution of the manual operation mode in which the operator's operation is not stored is maintained in step S6. ..
 上記のように、本実施形態に係る自律走行装置100は、切替部91における動作モードの選択、及び、手動操作記憶スイッチ92が押されたか否かに応じて、自律走行モード、手動操作モード、及び手動操作教示モードを実行できる。 As described above, the autonomous traveling device 100 according to the present embodiment has an autonomous traveling mode, a manual operation mode, depending on the selection of the operation mode in the switching unit 91 and whether or not the manual operation storage switch 92 is pressed. And the manual operation teaching mode can be executed.
(5-2)手動操作教示モードの動作
 以下、図8を用いて、上記のステップS4において実行される手動操作教示モードの動作を説明する。図8は、手動操作教示モードの動作を示すフローチャートである。図8に示す手動操作教示モードでは、移動環境EVを表すグローバルマップGMの作成と、自律走行装置100を自律走行させるための走行領域TAの外周BO’の教示と、が実行される。
(5-2) Operation of Manual Operation Teaching Mode The operation of the manual operation teaching mode executed in step S4 described above will be described below with reference to FIG. FIG. 8 is a flowchart showing the operation of the manual operation teaching mode. In the manual operation teaching mode shown in FIG. 8, the creation of the global map GM representing the moving environment EV and the teaching of the outer peripheral BO'of the traveling area TA for autonomously traveling the autonomous traveling device 100 are executed.
 手動操作教示モードが開始されると、まず、ステップS41において、自律走行装置100の操作者が、移動環境EV内に定めたい走行領域TAの外周BO’に沿って自律走行装置100を走行させる。 When the manual operation teaching mode is started, first, in step S41, the operator of the autonomous traveling device 100 drives the autonomous traveling device 100 along the outer peripheral BO'of the traveling area TA desired to be defined in the moving environment EV.
 自律走行装置100が操作者の操作により走行中に、SLAM部551は、ステップS42において、走行領域TAの外周BO’に沿って移動中に通過した通過点を推定する。具体的には、SLAM部551は、自律走行装置100が操作者の操作により走行中に、所定の周期(例えば、制御部5の制御周期)毎にローカルマップを作成し、当該ローカルマップと、今回のステップS42の実行前までに作成され記憶部57に記憶されているグローバルマップGMとを用いて、自律走行装置100の現在の自己位置を推定する。 While the autonomous traveling device 100 is traveling by the operation of the operator, the SLAM unit 551 estimates the passing point passed during the movement along the outer peripheral BO'of the traveling region TA in step S42. Specifically, the SLAM unit 551 creates a local map for each predetermined cycle (for example, the control cycle of the control unit 5) while the autonomous traveling device 100 is traveling by the operation of the operator, and the local map and the local map are combined with the SLAM unit 551. The current self-position of the autonomous traveling device 100 is estimated by using the global map GM created before the execution of this step S42 and stored in the storage unit 57.
 現在の自己位置を推定後、SLAM部551は、ステップS43において、今回の自己位置推定時に作成したローカルマップを、記憶部57に現在記憶されているグローバルマップGMに結合することで、新たなグローバルマップGMを作成して記憶部57に記憶する。具体的には、SLAM部551は、例えば、グローバルマップGMを定める座標系において、今回のステップS42の実行前に作成されたグローバルマップGMに対して、今回のステップS42の実行時に作成されたローカルマップを現在の自己位置に対応する座標位置に配置して、新たなグローバルマップGMを作成する。 After estimating the current self-position, the SLAM unit 551 combines the local map created at the time of this self-position estimation with the global map GM currently stored in the storage unit 57 in step S43 to create a new global. A map GM is created and stored in the storage unit 57. Specifically, the SLAM unit 551 is, for example, in the coordinate system that defines the global map GM, with respect to the global map GM created before the execution of the current step S42, the local created at the time of the execution of the current step S42. Create a new global map GM by arranging the map at the coordinate position corresponding to the current self-position.
 また、経路作成部553は、ステップS44において、走行領域TAの外周を表す外周境界BOを、今回の自己位置推定までに自律走行装置100が通過した通過点の集合として作成する。具体的には、経路作成部553は、ステップS42で推定された現在の自己位置をSLAM部551から取得し、この自己位置の座標値とこれまでに推定された自己位置の座標値とを結合して、自己位置の座標値の集合体として外周境界BOを作成する。 Further, in step S44, the route creation unit 553 creates an outer peripheral boundary BO representing the outer circumference of the traveling region TA as a set of passing points that the autonomous traveling device 100 has passed by the self-position estimation this time. Specifically, the route creation unit 553 acquires the current self-position estimated in step S42 from the SLAM unit 551, and combines the coordinate value of the self-position and the coordinate value of the self-position estimated so far. Then, the outer peripheral boundary BO is created as an aggregate of the coordinate values of the self-position.
 手動操作記憶スイッチ92が押されるなどして手動操作教示モードが終了するまで(ステップS45において「Yes」となるまで)、上記のステップS41~S44は繰り返し実行される。 The above steps S41 to S44 are repeatedly executed until the manual operation teaching mode ends (until "Yes" is set in step S45), such as when the manual operation storage switch 92 is pressed.
 図9に示すような移動環境EVにおいて、走行領域TAの外周BO’に沿って自律走行装置100を走行させつつ上記のステップS41~S45を実行することで、図10に示すようなグローバルマップGMと外周境界BOとが作成される。図9は、移動環境の一例を示す図である。図10は、グローバルマップと外周境界の一例を示す図である。 In the moving environment EV as shown in FIG. 9, by executing the above steps S41 to S45 while traveling the autonomous traveling device 100 along the outer peripheral BO'of the traveling region TA, the global map GM as shown in FIG. 10 And the outer boundary BO are created. FIG. 9 is a diagram showing an example of a mobile environment. FIG. 10 is a diagram showing an example of a global map and an outer boundary.
 図9に示す移動環境EVは、壁Wに囲まれた領域を含んでいる。移動環境EVの壁Wに沿って走行領域TAの外周BO’を設定することで、当該領域内に走行領域TAが設定される。このような移動環境EVに対して、グローバルマップGMは、図10に示すように、壁Wを表す障害物情報WI(図10で実線にて示される)を含んでいる。なお、障害物情報WIは、グローバルマップGMを定める座標系における座標値の点列である。また、走行領域TAの外周境界BO(図10で破線にて示される)は、手動操作教示モードを実行中に自律走行装置100が通過した通過点の座標値の点列として表される。 The mobile environment EV shown in FIG. 9 includes an area surrounded by the wall W. By setting the outer peripheral BO'of the traveling region TA along the wall W of the moving environment EV, the traveling region TA is set in the region. For such a mobile environment EV, the global map GM includes an obstacle information WI (shown by a solid line in FIG. 10) representing the wall W, as shown in FIG. The obstacle information WI is a sequence of coordinate values in the coordinate system that defines the global map GM. Further, the outer peripheral boundary BO of the traveling region TA (indicated by a broken line in FIG. 10) is represented as a sequence of coordinate values of passing points passed by the autonomous traveling device 100 while executing the manual operation teaching mode.
(5-3)走行スケジュールの作成動作
 次に、図11を用いて、上記のステップS5にて実行される、走行スケジュール500の作成動作を説明する。図11は、走行スケジュールの作成動作を示すフローチャートである。以下では、上記のステップS41~S45を実行して作成した図10に示す外周境界BOにて定められる走行領域TA内を塗り潰す塗り潰し走行経路を、走行スケジュール500として作成する動作を例にとって説明する。
(5-3) Operation for Creating a Travel Schedule Next, an operation for creating a travel schedule 500, which is executed in step S5 above, will be described with reference to FIG. FIG. 11 is a flowchart showing a running schedule creation operation. In the following, an operation of creating a filled running route that fills the inside of the running area TA defined by the outer peripheral boundary BO shown in FIG. 10 created by executing the above steps S41 to S45 as a running schedule 500 will be described as an example. ..
 まず、経路作成部553は、グローバルマップGM上に外周境界BOを画定して、塗り潰し走行経路の作成に用いる経路作成用マップSMを作成する。例えば、グローバルマップGMとは別に、点列(座標点)として表される外周境界BOを含めることで、経路作成用マップSMを作成できる。なお、経路作成用マップSMは、グローバルマップGMは独立して作成される。つまり、グローバルマップGMは自己位置推定に用いられ、経路作成用マップSMは、塗り潰し走行経路の作成に用いられる。 First, the route creation unit 553 defines the outer peripheral boundary BO on the global map GM, and creates a route creation map SM used for creating a filled travel route. For example, the route creation map SM can be created by including the outer peripheral boundary BO represented as a point sequence (coordinate point) separately from the global map GM. The route creation map SM is created independently of the global map GM. That is, the global map GM is used for self-position estimation, and the route creation map SM is used for creating a filled travel route.
 次に、経路作成部553は、ステップS51において、走行領域TAにおいてどの方向に延びる領域RAが存在するかを探索する。以下の説明では、領域RAが延びる長手方向を「主方向」と呼ぶ。具体的には、経路作成部553は、図12に示すフローチャートに従って走行領域TAの主方向を決定する。図12は、走行領域の主方向を決定する処理を示すフローチャートである。 Next, in step S51, the route creation unit 553 searches for a region RA extending in which direction in the traveling region TA. In the following description, the longitudinal direction in which the region RA extends is referred to as the "main direction". Specifically, the route creation unit 553 determines the main direction of the traveling region TA according to the flowchart shown in FIG. FIG. 12 is a flowchart showing a process of determining the main direction of the traveling region.
 最初に、経路作成部553は、ステップS511において、経路作成用マップSMを所定の角度だけ回転させることで、経路作成用マップSMに含まれる走行領域TA(外周境界BO)を回転させる。なお、経路作成用マップSMの回転は、例えば、経路作成用マップSMに含まれる座標値に対して回転を表す行列を用いて演算をすることにより実現できる。 First, in step S511, the route creation unit 553 rotates the travel area TA (peripheral boundary BO) included in the route creation map SM by rotating the route creation map SM by a predetermined angle. The rotation of the route creation map SM can be realized, for example, by performing an operation on the coordinate values included in the route creation map SM using a matrix representing the rotation.
 走行領域TAを所定の角度だけ回転後、経路作成部553は、ステップS512において、所定の角度だけ回転後の走行領域TAの2つの境界を結び、所定の基準軸と平行な第1線分L1を定義する。 After rotating the traveling region TA by a predetermined angle, the route creation unit 553 connects the two boundaries of the traveling region TA after rotating by a predetermined angle in step S512, and connects the two boundaries of the traveling region TA, and the first line segment L1 parallel to the predetermined reference axis. Is defined.
 上記のように、走行領域TAの境界である外周境界BOは点列として表されているので、経路作成部553は、外周境界BOの2点を結ぶ、外周境界BOの1点と外周境界BOの2点間を補間する1点を結ぶ、あるいは、外周境界BOの2点間を補間する1点と外周境界BOの他の2点間を補間する他の1点とを結ぶことで生成される所定の基準軸に平行な線分を第1線分L1と定義する。また、第1線分L1は、回転後の1つの走行領域TAに対して複数定義される。 As described above, since the outer peripheral boundary BO which is the boundary of the traveling region TA is represented as a line segment, the route creation unit 553 connects one point of the outer peripheral boundary BO and the outer peripheral boundary BO connecting the two points of the outer peripheral boundary BO. It is generated by connecting one point that interpolates between the two points of the outer boundary BO, or by connecting one point that interpolates between the two points of the outer peripheral boundary BO and another point that interpolates between the other two points of the outer peripheral boundary BO. A line segment parallel to a predetermined reference axis is defined as a first line segment L1. Further, a plurality of first line segments L1 are defined for one traveling region TA after rotation.
 走行領域TAの回転角度により、走行領域TA(外周境界BO内の領域)に図13A~図13Cに示すような第1線分L1が定義される。図13A~図13Cは、走行領域内に定義される第1線分の一例を示す図である。図13Aは、走行領域TAの特定の第1軸が基準軸と平行な場合に定義される第1線分L1を示す。図13Bは、走行領域TAの第1軸が基準軸に対してθ1だけ回転後の走行領域TA内に定義される第1線分L1を示す。図13Cは、走行領域TAの第1軸が基準軸に対してθ2だけ回転後の走行領域TA内に定義される第1線分L1を示す。 The first line segment L1 as shown in FIGS. 13A to 13C is defined in the traveling region TA (the region in the outer peripheral boundary BO) according to the rotation angle of the traveling region TA. 13A to 13C are diagrams showing an example of a first line segment defined in the traveling region. FIG. 13A shows the first line segment L1 defined when the specific first axis of the traveling region TA is parallel to the reference axis. FIG. 13B shows the first line segment L1 defined in the traveling region TA after the first axis of the traveling region TA is rotated by θ1 with respect to the reference axis. FIG. 13C shows the first line segment L1 defined in the traveling region TA after the first axis of the traveling region TA is rotated by θ2 with respect to the reference axis.
 なお、図13Bに示す様に、複数の第1線分L1が同一直線上に存在する場合、それらの中で最長のものを第1線分L1としてもよいし、同一直線上に存在する複数の第1線分L1の長さを積算して1つの第1線分L1とみなしてもよい。 As shown in FIG. 13B, when a plurality of first line segments L1 exist on the same straight line, the longest of them may be the first line segment L1 or a plurality of them existing on the same straight line. The lengths of the first line segment L1 may be integrated and regarded as one first line segment L1.
 第1線分L1を定義後、経路作成部553は、ステップS513において、第1線分L1と走行領域TAの境界(すなわち、外周境界BO)とが直交するとの第1条件を満たすか否かを判定する。第1条件を満たすか否かの判定は、具体的には、図14に示すフローチャートに従って実行される。図14は、第1条件を満たすか否かの判定処理を示すフローチャートである。 After defining the first line segment L1, the route creation unit 553 satisfies the first condition that the boundary between the first line segment L1 and the traveling region TA (that is, the outer peripheral boundary BO) is orthogonal to each other in step S513. Is determined. Specifically, the determination as to whether or not the first condition is satisfied is executed according to the flowchart shown in FIG. FIG. 14 is a flowchart showing a determination process of whether or not the first condition is satisfied.
 経路作成部553は、ステップS601において、第2線分L2を決定する。第2線分L2は、走行領域TAの境界を表す線分であり、以下のようにして決定される。 The route creation unit 553 determines the second line segment L2 in step S601. The second line segment L2 is a line segment representing the boundary of the traveling region TA, and is determined as follows.
 経路作成部553は、まず、上記のステップS512を実行することにより定義された複数の第1線分L1から、外周境界BOの同じ辺(第1境界BO1と呼ぶ)と交わる2つの第1線分L1を抽出する。抽出する2つの第1線分L1は、互いに隣接したものであってもよいし、互いに離れて存在するものであってもよい。 First, the route creation unit 553 has two first line segments that intersect the same side of the outer peripheral boundary BO (referred to as the first boundary BO1) from the plurality of first line segments L1 defined by executing the above step S512. Extract the line segment L1. The two first line segments L1 to be extracted may be adjacent to each other or may be separated from each other.
 次に、経路作成部553は、図15に示すように、抽出した2つの第1線分L1のうちの一方と第1境界BO1とが交わる第1交点CP1と、抽出した2つの第1線分L1のうちの他方と第1境界BO1とが交わる第2交点CP2と、を結ぶ線分を第2線分L2と決定する。図15は、第2線分の決定方法の一例を模式的に示す図である。図15の(a)は第1線分L1が走行領域TAの境界とほぼ直交する場合の一例を示し、図15の(b)は第1線分L1が走行領域TAの境界と直交していない場合の一例を示す。 Next, as shown in FIG. 15, the route creation unit 553 has a first intersection CP1 at which one of the two extracted first line segments L1 intersects with the first boundary BO1, and two extracted first lines. The line segment connecting the second intersection CP2 where the other of the segments L1 and the first boundary BO1 intersect is determined to be the second line segment L2. FIG. 15 is a diagram schematically showing an example of a method for determining a second line segment. FIG. 15A shows an example in which the first line segment L1 is substantially orthogonal to the boundary of the traveling region TA, and FIG. 15B shows an example in which the first line segment L1 is orthogonal to the boundary of the traveling region TA. An example of the case where there is no such thing is shown.
 第2線分L2を決定後、経路作成部553は、ステップS602において、第1線分L1と第2線分L2とが直交するか否かを判定する。例えば、第1線分L1と第2線分L2とをベクトルとして表現した上で、第1線分L1を表すベクトルと第2線分L2を表すベクトルとの成す角度が90度であれば、第1線分L1と第2線分L2とが直交すると判定できる。 After determining the second line segment L2, the route creation unit 553 determines in step S602 whether or not the first line segment L1 and the second line segment L2 are orthogonal to each other. For example, if the angle between the vector representing the first line segment L1 and the vector representing the second line segment L2 is 90 degrees after expressing the first line segment L1 and the second line segment L2 as vectors. It can be determined that the first line segment L1 and the second line segment L2 are orthogonal to each other.
 上記のように、本実施形態においては、手動操作教示モードを実行して外周境界BOが教示されている。そのため、外周境界BOに含まれる点列の一部は、走行領域TAの実際の境界からずれていることがある。すなわち、第2線分L2は、走行領域TAの境界にほぼ平行ではあるものの、正確に平行にならない場合もある。 As described above, in the present embodiment, the outer peripheral boundary BO is taught by executing the manual operation teaching mode. Therefore, a part of the point sequence included in the outer peripheral boundary BO may deviate from the actual boundary of the traveling region TA. That is, although the second line segment L2 is substantially parallel to the boundary of the traveling region TA, it may not be exactly parallel.
 従って、本実施形態では、第1線分L1を表すベクトルと第2線分L2を表すベクトルとの成す角度が正確に90度の場合だけでなく、成す角度の値が90度近傍である場合も第1線分L1と第2線分L2とが直交すると判定する。これにより、第2線分L2が走行領域TAの境界と正確には平行になっていなくとも、第1線分L1と走行領域TAの境界とが直交するか否かを適切に判定できる。 Therefore, in the present embodiment, not only when the angle formed by the vector representing the first line segment L1 and the vector representing the second line segment L2 is exactly 90 degrees, but also when the value of the formed angle is close to 90 degrees. Also determines that the first line segment L1 and the second line segment L2 are orthogonal to each other. Thereby, even if the second line segment L2 is not exactly parallel to the boundary of the traveling region TA, it can be appropriately determined whether or not the boundary between the first line segment L1 and the traveling region TA is orthogonal to each other.
 図15の(a)に示すように、第1線分L1と第2線分L2とが(ほぼ)直交すると判定された場合(ステップS602で「Yes」)、経路作成部553は、ステップS603において、第1線分L1と走行領域TAの境界とが直交するとの第1条件を満たすと判定する。一方、図15の(b)に示すように、第1線分L1と第2線分L2とが直交していないと判定された場合(ステップS602で「No」)、経路作成部553は、ステップS604において、第1条件を満たさないと判定する。 As shown in FIG. 15 (a), when it is determined that the first line segment L1 and the second line segment L2 are (almost) orthogonal to each other (“Yes” in step S602), the route creation unit 553 performs step S603. In, it is determined that the first condition that the boundary between the first line segment L1 and the traveling region TA is orthogonal to each other is satisfied. On the other hand, as shown in FIG. 15B, when it is determined that the first line segment L1 and the second line segment L2 are not orthogonal to each other (“No” in step S602), the route creation unit 553 determines. In step S604, it is determined that the first condition is not satisfied.
 このように、第1線分L1が走行領域TAの境界と直交するとの第1条件を満たしているか否かを判定することにより、上記の図13Bに示すような第1線分L1と走行領域TAの境界とが直交しない走行領域TAの回転角度を主方向の候補として排除できる。以下、図13Bに示すような主方向の候補を排除することの意義を説明する。 In this way, by determining whether or not the first condition that the first line segment L1 is orthogonal to the boundary of the traveling region TA is satisfied, the first line segment L1 and the traveling region as shown in FIG. 13B above are determined. The rotation angle of the traveling region TA that is not orthogonal to the boundary of TA can be excluded as a candidate for the main direction. Hereinafter, the significance of excluding the candidate in the main direction as shown in FIG. 13B will be described.
 図13Bに示すように、第1線分L1と走行領域TAの境界とが直交しない場合であっても、走行領域TAに長い第1線分L1を定義できるときには、後述する第2条件を満たす場合がある。そのため、仮に図13Bに示すような走行領域TAの回転角度を主方向の候補として残した場合には、図13Bに示す回転角度が走行領域TAの主方向であると判定される場合がある。 As shown in FIG. 13B, even when the boundary between the first line segment L1 and the traveling region TA is not orthogonal to each other, when a long first line segment L1 can be defined for the traveling region TA, the second condition described later is satisfied. In some cases. Therefore, if the rotation angle of the traveling region TA as shown in FIG. 13B is left as a candidate for the main direction, it may be determined that the rotation angle shown in FIG. 13B is the main direction of the traveling region TA.
 比較例として、図13Bに示す回転角度に基づいて走行領域TAの主方向が決定された場合、走行領域TAは、例えば、図16に示すような領域RA1’~RA3’に分割される。なお、図16の太矢印は、各領域RA1’~RA63’に対して決定された主方向を表す。図16は、不適切な主方向により決定された領域を含む走行領域の一例を示す図である。図16に示すように走行領域TAが複数の領域に分割され、領域RA1’~RA3’毎に塗り潰し走行経路が作成された場合、方向転換数が多い塗り潰し走行経路が作成される。このような塗り潰し走行経路は、自律走行装置100に多くの方向転換をさせるものであり、走行効率が高くない。 As a comparative example, when the main direction of the traveling region TA is determined based on the rotation angle shown in FIG. 13B, the traveling region TA is divided into, for example, regions RA1'to RA3' as shown in FIG. The thick arrow in FIG. 16 indicates the principal direction determined for each region RA1'to RA63'. FIG. 16 is a diagram showing an example of a traveling region including a region determined by an inappropriate principal direction. As shown in FIG. 16, when the traveling region TA is divided into a plurality of regions and a filled traveling route is created for each region RA1'to RA3', a filled traveling route having a large number of turns is created. Such a filled traveling route causes the autonomous traveling device 100 to make many turns, and the traveling efficiency is not high.
 上記のように、第1条件を満たすか否かを判定することにより図13Bに示すような主方向の候補を排除できる一方、第1条件を満たす主方向の候補としては、図13Aと図13Cに示すような2つの候補が残る。 As described above, the candidate of the main direction as shown in FIG. 13B can be excluded by determining whether or not the first condition is satisfied, while the candidates of the main direction satisfying the first condition are FIGS. 13A and 13C. Two candidates remain, as shown in.
 従って、経路作成部553は、さらに、ステップS514において、図13Aと図13Cに示す2つの候補のうち、いずれがより長い第1線分L1を有しているかを判定する。具体的には、経路作成部553は、第1線分L1の長さが、走行領域TAの2つの境界を結ぶ線分のうち最大の長さを有する最大長さ線分LMの長さの所定割合以上であるとの第2条件を満たすか否かを判定する。 Therefore, in step S514, the route creation unit 553 further determines which of the two candidates shown in FIGS. 13A and 13C has the longer first line segment L1. Specifically, in the route creation unit 553, the length of the first line segment L1 is the length of the maximum length line segment LM having the maximum length among the line segments connecting the two boundaries of the traveling region TA. It is determined whether or not the second condition that the ratio is equal to or more than a predetermined ratio is satisfied.
 第2条件を満たすか否かの判定は、具体的には、図17に示すフローチャートに従って実行される。図17は、第2条件を満たすか否かの判定処理を示すフローチャートである。経路作成部553は、最初に、ステップS701において、走行領域TAの2つの境界を結ぶ線分のうち最大の長さを有する最大長さ線分LMを決定する。例えば、図18に示すように、走行領域TAの対角線を最大長さ線分LMとできる。図18は、最大長さ線分の定義の一例を示す図である。なお、図18に示すように、最大長さ線分が、同一直線上に存在する複数の線分に分割される場合、それらの中で最長の線分を、最大長さ線分として扱ってもよい。 Specifically, the determination as to whether or not the second condition is satisfied is executed according to the flowchart shown in FIG. FIG. 17 is a flowchart showing a determination process of whether or not the second condition is satisfied. First, in step S701, the route creation unit 553 determines the maximum length line segment LM having the maximum length among the line segments connecting the two boundaries of the traveling region TA. For example, as shown in FIG. 18, the diagonal line of the traveling region TA can be the maximum length line segment LM. FIG. 18 is a diagram showing an example of the definition of the maximum length line segment. As shown in FIG. 18, when the maximum length line segment is divided into a plurality of line segments existing on the same straight line, the longest line segment among them is treated as the maximum length line segment. May be good.
 次に、経路作成部553は、ステップS702において、上記のステップS512により定義された第1線分L1のうち、その長さが最大長さ線分LMの長さ(Lmaxと呼ぶ)の所定割合(αと呼ぶ)(α*Lmax)以上である第1線分L1を選択し、選択した第1線分L1の長さを積算する。 Next, in step S702, the route creation unit 553 determines the length (referred to as L max ) of the maximum length line segment LM among the first line segment L1 defined by step S512 above. The first line segment L1 having a ratio (referred to as α) (α * L max ) or more is selected, and the lengths of the selected first line segment L1 are integrated.
 なお、上記の所定割合は、0以上1以下(すなわち、0≦α≦1)とできる。αの具体的な値としては、0.9や0.5などを用いることができる。αを0.5などの中間の値とした場合、最大長さLmaxに近い長さを有する第1線分L1を選択できるので、最適な主方向を決定できる。一方、αを0.9などの大きな値とした場合、適切な主方向を決定可能としつつ、条件を満たさない第1線分L1を持つ回転角度において第1線分L1の長さの積算処理を省略することができるため、主方向の決定にかかる時間を短縮することができる。 The above-mentioned predetermined ratio can be 0 or more and 1 or less (that is, 0 ≦ α ≦ 1). As a specific value of α, 0.9, 0.5, or the like can be used. When α is set to an intermediate value such as 0.5, the first line segment L1 having a length close to the maximum length L max can be selected, so that the optimum main direction can be determined. On the other hand, when α is set to a large value such as 0.9, the length of the first line segment L1 is integrated at a rotation angle having the first line segment L1 that does not satisfy the condition while making it possible to determine an appropriate principal direction. Can be omitted, so that the time required for determining the principal direction can be shortened.
 図13Aに示す主方向の候補においては、図19Aに示すように、図13Aの走行領域TAに定義される第1線分L1はいずれもα*Lmaxよりも小さい。この場合、経路作成部553は、第1線分L1の長さの積算値として0を算出する。図19Aは、第1線分の長さの積算値が0となる場合の一例を示す図である。なお、図19Aにおいて第1線分L1の長さの積算値として0を算出するのではなく、第1線分L1の長さの積算処理の候補から除外してもよい。 In the candidates in the main direction shown in FIG. 13A, as shown in FIG. 19A, the first line segment L1 defined in the traveling region TA of FIG. 13A is smaller than α * L max . In this case, the route creation unit 553 calculates 0 as the integrated value of the lengths of the first line segment L1. FIG. 19A is a diagram showing an example of a case where the integrated value of the length of the first line segment is 0. In FIG. 19A, 0 may not be calculated as the integrated value of the length of the first line segment L1, but may be excluded from the candidates for the integrated processing of the length of the first line segment L1.
 一方、図13Cに示す主方向の候補においては、図19Bに示すように、所定の基準軸に垂直な軸(y軸とする)のy1≦y≦y2の範囲に含まれる第1線分L1の長さは、α*Lmax以上となっている。この場合、経路作成部553は、図13Cの走行領域TAに含まれる第1線分L1のうち、y1≦y≦y2の範囲に存在する第1線分L1の長さを積算する。すなわち、第1線分L1の長さの積算値として0でない値が算出される。図19Bは、第1線分の長さの積算値が0でない場合の一例を示す図である。 On the other hand, in the candidate in the main direction shown in FIG. 13C, as shown in FIG. 19B, the first line segment L1 included in the range of y1 ≦ y ≦ y2 of the axis perpendicular to the predetermined reference axis (referred to as the y-axis). The length of is greater than or equal to α * L max . In this case, the route creation unit 553 integrates the lengths of the first line segment L1 existing in the range of y1 ≦ y ≦ y2 among the first line segment L1 included in the traveling region TA of FIG. 13C. That is, a non-zero value is calculated as the integrated value of the length of the first line segment L1. FIG. 19B is a diagram showing an example when the integrated value of the length of the first line segment is not 0.
 第1線分L1の長さの積算値を算出後、経路作成部553は、ステップS703において、算出された積算値が最大であるか否かを判定する。算出された積算値が最大でない場合、例えば、図19Aに示すように0の積算値が算出された場合(ステップS703で「No」)、経路作成部553は、ステップS704において、最大でない積算値を算出した主方向の候補、例えば、図13Aに示す主方向の候補について第2条件を満たさないと決定する。 After calculating the integrated value of the length of the first line segment L1, the route creation unit 553 determines in step S703 whether or not the calculated integrated value is the maximum. When the calculated integrated value is not the maximum, for example, when the integrated value of 0 is calculated as shown in FIG. 19A (“No” in step S703), the route creation unit 553 performs the integrated value that is not the maximum in step S704. It is determined that the second condition is not satisfied for the principal direction candidate for which the calculation is performed, for example, the principal direction candidate shown in FIG. 13A.
 一方、算出された積算値が最大である場合、例えば、図19Bに示すように0でない積算値が算出された場合(ステップS703で「No」)、経路作成部553は、ステップS705において、最大の積算値を算出した主方向の候補、例えば、図13Cに示す主方向の候補について第2条件を満たすと決定する。すなわち、図13Cに示す走行領域TAの回転角度を主方向に対応した角度であると決定する。 On the other hand, when the calculated integrated value is the maximum, for example, when a non-zero integrated value is calculated as shown in FIG. 19B (“No” in step S703), the route creation unit 553 has the maximum in step S705. It is determined that the second condition is satisfied for the candidate in the main direction for which the integrated value of the above is calculated, for example, the candidate in the main direction shown in FIG. 13C. That is, it is determined that the rotation angle of the traveling region TA shown in FIG. 13C is an angle corresponding to the main direction.
 上記のステップS701~S705を実行することにより、第1条件を満たす走行領域TAの回転角度が複数存在する場合であっても、本来の主方向に対応する適切な回転角度を決定できる。 By executing the above steps S701 to S705, it is possible to determine an appropriate rotation angle corresponding to the original main direction even when there are a plurality of rotation angles of the traveling region TA satisfying the first condition.
 図12のフローチャートに戻り、第1条件及び第2条件の両方を満たす走行領域TAの回転角度を決定後、経路作成部553は、ステップS515において、第1条件及び第2条件の両方を満たすときの走行領域TAの回転角度に基づいて、走行領域TAの主方向を決定する。具体的には、例えば、第1条件及び第2条件の両方を満たすときの走行領域TAの回転角度(例えば、図13Cに示すθ2)とは符号が反対となる角度(-θ2)を、走行領域TAの主方向と決定できる。 Returning to the flowchart of FIG. 12, after determining the rotation angle of the traveling region TA that satisfies both the first condition and the second condition, the route creating unit 553 satisfies both the first condition and the second condition in step S515. The main direction of the traveling region TA is determined based on the rotation angle of the traveling region TA. Specifically, for example, the vehicle travels at an angle (−θ2) whose sign is opposite to the rotation angle of the traveling region TA (for example, θ2 shown in FIG. 13C) when both the first condition and the second condition are satisfied. It can be determined as the main direction of the region TA.
 図11のフローチャートに戻り、ステップS51で走行領域TAの主方向を決定後、経路作成部553は、ステップS52において、走行領域TAを領域RAに分割する。走行領域TAの分割は、図20Aに示すフローチャートに従って実行される。図20Aは、走行領域の分割処理を示すフローチャートである。まず、経路作成部553は、ステップS521において、ステップS51で決定した主方向に延びる領域(特定領域と呼ぶ)を決定する。この特定領域は、主方向に延びていれば任意形状の領域とできる。 Returning to the flowchart of FIG. 11, after determining the main direction of the traveling area TA in step S51, the route creating unit 553 divides the traveling area TA into the area RA in step S52. The division of the traveling area TA is executed according to the flowchart shown in FIG. 20A. FIG. 20A is a flowchart showing the division processing of the traveling region. First, in step S521, the route creation unit 553 determines a region (referred to as a specific region) extending in the main direction determined in step S51. This specific region can be an arbitrary shape region as long as it extends in the main direction.
 特定領域を決定後、経路作成部553は、ステップS522において、ステップS521で決定した特定領域の周囲に、他の特定領域に合体されていない所定の面積以下の小領域が存在しているか否かを判定する。 After determining the specific area, the route creation unit 553 determines in step S522 whether or not there is a small area of a predetermined area or less that is not combined with another specific area around the specific area determined in step S521. To judge.
 決定した特定領域の周囲に小領域が存在している場合(ステップS522で「Yes」)、経路作成部553は、ステップS523において、決定した特定領域に当該小領域を合体して一つの領域を作成し、当該一つの領域にて走行領域TAを分割する。一方、決定した特定領域の周囲に小領域が存在していない場合(ステップS522で「No」)、経路作成部553は、ステップS521で決定した特定領域にて走行領域TAを分割する。 When a small area exists around the determined specific area (“Yes” in step S522), the route creation unit 553 combines the small area with the determined specific area in step S523 to form one area. It is created, and the traveling area TA is divided in the one area. On the other hand, when the small area does not exist around the determined specific area (“No” in step S522), the route creation unit 553 divides the traveling area TA in the specific area determined in step S521.
 上記のステップS521~S523を実行することにより、図10に示す走行領域TAに対しては、例えば、図20Bに示すように、走行領域TAの一部がステップS51で決定した主方向に長い矩形の領域RA1に分割される。図20Bの太矢印は、領域RA1の主方向を示す。図20Bは、走行領域の一部が分割して作成された領域の一例を示す図である。 By executing the above steps S521 to S523, for the traveling area TA shown in FIG. 10, for example, as shown in FIG. 20B, a part of the traveling area TA is a rectangle long in the principal direction determined in step S51. It is divided into the region RA1 of. The thick arrow in FIG. 20B indicates the main direction of the region RA1. FIG. 20B is a diagram showing an example of an area created by dividing a part of the traveling area.
 走行領域TAの一部から領域RA1を分割後、経路作成部553は、ステップS53において、走行領域TAにおいて主方向を決定していない領域があるか否かを判定する。主方向を決定していない領域がある場合(ステップS53で「Yes」)、経路作成部553は、走行領域TAの全ての領域について主方向を決定するまで、上記のステップS51~S52を繰り返し実行する。 After dividing the region RA1 from a part of the travel region TA, the route creation unit 553 determines in step S53 whether or not there is an region in the travel region TA whose principal direction has not been determined. When there is an area for which the principal direction has not been determined (“Yes” in step S53), the route creation unit 553 repeatedly executes the above steps S51 to S52 until the principal direction is determined for all the regions of the traveling region TA. do.
 図10に示す走行領域TAの全ての領域について主方向を決定するまで、上記のステップS51~S52を繰り返し実行することで、図21に示すように、走行領域TAが複数の領域RA1~RA3に分割される。図21の太矢印は、各領域RA1~RA3の主方向を示す。図21は、走行領域が複数の領域に分割された状態の一例を示す図である。図21に示すように、本実施形態においては、分割されて作成された複数の領域の各々について主方向が決定される。すなわち、上記のステップS51は複数の領域の各々について実行される。 By repeatedly executing the above steps S51 to S52 until the main direction is determined for all the regions of the traveling region TA shown in FIG. 10, the traveling region TA becomes a plurality of regions RA1 to RA3 as shown in FIG. It is divided. The thick arrow in FIG. 21 indicates the main direction of each region RA1 to RA3. FIG. 21 is a diagram showing an example of a state in which the traveling region is divided into a plurality of regions. As shown in FIG. 21, in the present embodiment, the principal direction is determined for each of the plurality of divided regions. That is, the above step S51 is executed for each of the plurality of regions.
 このように、走行領域TAを複数の領域RA1~RA3に分割し、各領域RA1~RA3に対して主方向を決定することで、分割された各領域RA1~RA2に対して適切な主方向を決定できる。 In this way, the traveling region TA is divided into a plurality of regions RA1 to RA3, and the principal direction is determined for each region RA1 to RA3, so that an appropriate principal direction is determined for each of the divided regions RA1 to RA2. Can be decided.
 走行領域TAの全ての領域について主方向を決定後(ステップS53で「No」)、経路作成部553は、ステップS54において、走行領域TAが複数の領域に分割された場合に、主方向が同じでありかつ互いに隣接する領域が存在するか否かを判定する。主方向が同じでありかつ互いに隣接する領域が存在しない場合(ステップS54で「No」)、走行スケジュール500の作成処理は、ステップS56に進む。 After determining the principal direction for all the regions of the travel region TA (“No” in step S53), the route creation unit 553 has the same principal direction when the travel region TA is divided into a plurality of regions in step S54. And it is determined whether or not there are regions adjacent to each other. When the principal directions are the same and there are no regions adjacent to each other (“No” in step S54), the process of creating the travel schedule 500 proceeds to step S56.
 一方、主方向が同じでありかつ互いに隣接する領域が存在する場合(ステップS54で「Yes」)、経路作成部553は、ステップS55において、主方向が同じでありかつ互いに隣接する領域を結合する。図21のように走行領域TAが複数の領域RA1~RA3に分割されているとき、領域RA1と領域RA2は主方向が同じであり互いに隣接している。この場合、経路作成部553は、図22に示すように、領域RA1と領域RA2とを結合し新たな領域RA4を作成する。図22は、複数の領域を結合して新たな領域を作成した状態の一例を示す図である。 On the other hand, when the regions having the same principal direction and adjacent to each other exist (“Yes” in step S54), the route creation unit 553 joins the regions having the same principal direction and adjacent to each other in step S55. .. When the traveling region TA is divided into a plurality of regions RA1 to RA3 as shown in FIG. 21, the regions RA1 and RA2 have the same principal direction and are adjacent to each other. In this case, as shown in FIG. 22, the route creation unit 553 combines the region RA1 and the region RA2 to create a new region RA4. FIG. 22 is a diagram showing an example of a state in which a plurality of regions are combined to create a new region.
 主方向が同じであり互いに隣接している複数の領域を結合することで、走行効率の高い塗り潰し走行経路を作成できる。具体的には、主方向が同じであり互いに隣接している複数の領域を結合することで、同じ主方向を有し互いに隣接する複数の領域において、1つの領域を塗り潰した後に他の領域に移動する経路を無くすことができる。 By combining multiple areas that have the same principal direction and are adjacent to each other, it is possible to create a filled travel route with high travel efficiency. Specifically, by joining a plurality of regions having the same principal direction and adjacent to each other, in a plurality of regions having the same principal direction and adjacent to each other, one region is filled and then the other region is used. You can eliminate the route to move.
 上記のステップS51~S55を実行して、走行領域TAに対して主方向を決定し複数の領域RA3、RA4を作成後、経路作成部553は、走行領域TAに含まれる各領域RA3、RA4に対して、各領域RA3、RA4を塗り潰すような塗り潰し走行経路を作成する。具体的には、塗り潰し走行経路は、以下のようにして作成される。 After executing the above steps S51 to S55 to determine the principal direction with respect to the traveling region TA and creating a plurality of regions RA3 and RA4, the route creation unit 553 transfers the main directions to the regions RA3 and RA4 included in the traveling region TA. On the other hand, a filled travel path that fills each area RA3 and RA4 is created. Specifically, the filled travel route is created as follows.
 まず、経路作成部553は、ステップS56において、各領域に対してセルCを配置する。セルCは、移動環境EVにおいては、所定の面積を有する領域に対応するものである。また、制御部5を構成するコンピュータシステムにおいては、セルCを、例えばセルCに関するパラメータ(例えば、セルCを識別するパラメータ、セルCの位置情報、セルCの有効無効、セルCに付与されたスコア、など)を含む「構造体」として定義できる。例えば、図23に示すように、1つの領域RAに複数のセルCを配置できる。図23は、領域にセルを配置した状態の一例を示す図である。 First, the route creation unit 553 arranges the cell C for each area in step S56. The cell C corresponds to a region having a predetermined area in the mobile environment EV. Further, in the computer system constituting the control unit 5, the cell C is assigned to, for example, a parameter relating to the cell C (for example, a parameter for identifying the cell C, the position information of the cell C, valid / invalid of the cell C, and the cell C). It can be defined as a "structure" that includes scores, etc.). For example, as shown in FIG. 23, a plurality of cells C can be arranged in one region RA. FIG. 23 is a diagram showing an example of a state in which cells are arranged in an area.
 次に、経路作成部553は、ステップS57において、塗り潰し走行経路を作成する領域に、塗り潰し走行経路の始点となるセルC(始点セルSCと呼ぶ)を決定する。経路作成部553は、例えば、領域の四隅のいずれかに存在するセルCを始点セルSCとする。 Next, in step S57, the route creation unit 553 determines a cell C (referred to as a start point cell SC) that is the start point of the filled travel route in the area for creating the filled travel route. The route creation unit 553 uses, for example, the cell C existing at any of the four corners of the region as the starting point cell SC.
 始点セルSCを決定後、経路作成部553は、ステップS58において、当該始点セルSCから開始し、対象の領域RAに含まれる全てのセルCを通過する走行経路を、塗り潰し走行経路として作成する。経路作成部553は、図24のフローチャートに示す処理に従って塗り潰し走行経路を作成する。図24は、塗り潰し走行経路の作成方法を示すフローチャートである。以下の説明においては、図23に示す領域RAに対して塗り潰し走行経路を作成する方法を例にとって説明する。 After determining the start point cell SC, the route creation unit 553 creates, in step S58, a travel route that starts from the start point cell SC and passes through all the cells C included in the target area RA as a filled travel route. The route creation unit 553 creates a filled travel route according to the process shown in the flowchart of FIG. 24. FIG. 24 is a flowchart showing a method of creating a filled traveling route. In the following description, a method of creating a filled travel path for the region RA shown in FIG. 23 will be described as an example.
 経路作成部553は、まず、ステップS581において、領域RAのセルCにスコアを付与する。具体的には、経路作成部553は、始点セルSCから、主方向とは垂直な方向に離れたセルCほど高いスコアを付与する。その一方、主方向に沿って配置されるセルCに対しては、同一のスコアを付与する。その結果、経路作成部553は、領域RAのセルCに対しては、図25に示すようなスコアを付与する。図25は、領域内のセルに付与したスコアの一例を示す図である。 First, in step S581, the route creation unit 553 assigns a score to the cell C of the region RA. Specifically, the route creation unit 553 gives a higher score to the cell C, which is farther from the starting point cell SC in the direction perpendicular to the main direction. On the other hand, the same score is given to the cells C arranged along the main direction. As a result, the route creation unit 553 gives a score as shown in FIG. 25 to the cell C of the region RA. FIG. 25 is a diagram showing an example of a score given to a cell in the area.
 図25に示す例において、始点セルSCから主方向に沿った方向に配置されたセルCには、「11」とのスコアが付与されている。これは、領域RAにおいては、主方向に11個の有効セルが存在することを意味している。他のセルCについては、始点セルSCから主方向とは垂直な方向に離れるに従い、11の倍数でスコアが増加する。具体的には、主方向とは垂直な方向に始点セルSCと隣接するセルCに対しては、「22」とのスコアが付与されている。また、当該「22」のスコアが付与されたセルCに対して主方向に沿った方向に配置されたセルCには、これと同じ「22」とのスコアが付与されている。以後、「22」とのスコアが付与されたセルCよりも始点セルSCから離れたセルCに対しては「33」、「44」、「55」と始点セルSCから離れるに従って値が増加するスコアが付与され、主方向と同じ方向に並ぶセルCには同じスコアが付与される。 In the example shown in FIG. 25, a score of "11" is given to the cell C arranged in the direction along the main direction from the starting point cell SC. This means that in the region RA, there are 11 valid cells in the main direction. For the other cells C, the score increases by a multiple of 11 as the distance from the starting cell SC is perpendicular to the main direction. Specifically, a score of "22" is given to the cell C adjacent to the starting point cell SC in the direction perpendicular to the main direction. Further, the cell C arranged in the direction along the main direction with respect to the cell C to which the score of "22" is given is given the same score of "22". After that, for the cell C farther from the start point cell SC than the cell C to which the score of "22" is given, the value increases as the distance from the start point cell SC becomes "33", "44", "55". A score is given, and the same score is given to cells C arranged in the same direction as the main direction.
 次に、経路作成部553は、ステップS582において、始点セルSCから各セルCへと経路を延ばしていく。具体的には、経路作成部553は、始点セルSCからは、始点セルSCの主方向又は主方向とは垂直な方向に存在するセルCのうち、最大スコアが付与されたセルCへ経路を延ばす。また、経路作成部553は、経路がすでに延びたセルCに対しては、当該セルCを再度通過しないと経路が計画できないなど特別な事情がない限り、当該セルCに再度経路が延びないようにする。 Next, the route creation unit 553 extends the route from the starting point cell SC to each cell C in step S582. Specifically, the route creation unit 553 routes a route from the start point cell SC to the cell C to which the maximum score is given among the cells C existing in the principal direction of the start point cell SC or in the direction perpendicular to the principal direction. extend. Further, the route creation unit 553 does not extend the route to the cell C again unless there are special circumstances such as the route cannot be planned unless the route passes through the cell C again. To.
 領域RA内に経路が通過していないセルCが存在する限り(ステップS583において「No」である限り)、上記のステップS582は繰り返し実行される。 As long as the cell C through which the route has not passed exists in the region RA (as long as it is "No" in step S583), the above step S582 is repeatedly executed.
 経路作成部553が上記のステップS581~S583を実行することにより、領域RAに対して、図26に示すような塗り潰し走行経路が作成される。図26においては、太矢印が塗り潰し走行経路を表す。図26は、塗り潰し走行経路の一例を示す図である。 When the route creation unit 553 executes the above steps S581 to S583, a filled travel route as shown in FIG. 26 is created for the region RA. In FIG. 26, the thick arrow indicates the filled travel path. FIG. 26 is a diagram showing an example of a filled travel path.
 図26に示すように、塗り潰し走行経路は、領域RAの主方向に延びる第1経路と、主方向に対して垂直に延び第1経路の始点及び/又は終点に接続される第2経路と、を組み合わせることにより作成されている。これにより、領域RAをまんべんなく塗り潰す塗り潰し走行経路を、自律走行装置100が直進と方向転換との単純な動作で走行可能な経路として作成できる。 As shown in FIG. 26, the filled travel path includes a first path extending in the main direction of the region RA and a second path extending perpendicular to the main direction and connected to the start point and / or the end point of the first path. It is created by combining. As a result, a filled travel route that evenly fills the region RA can be created as a route that the autonomous traveling device 100 can travel by a simple operation of going straight and changing direction.
 また、図26に示す塗り潰し走行経路の例においては、第1経路は主方向に沿って複数のセルCにわたり延びる一方、第2経路は、始点セルSCとその反対側の第1経路の始点とを接続する経路を除き、1つのセルC分しか延びていない。すなわち、上記のステップS581~S583を実行することにより作成される塗り潰し走行経路は、領域の主方向に沿った経路が長くなっている。このように、領域の主方向に沿った経路を長くすることにより、塗り潰し走行経路における自律走行装置100の方向転換の回数を少なくできる。 Further, in the example of the filled travel path shown in FIG. 26, the first path extends over a plurality of cells C along the main direction, while the second path is the start point cell SC and the start point of the first path on the opposite side thereof. Except for the route connecting the cells, only one cell C is extended. That is, the filled travel path created by executing the above steps S581 to S583 has a long path along the main direction of the region. By lengthening the path along the principal direction of the region in this way, the number of turns of the autonomous traveling device 100 in the filled traveling path can be reduced.
 なお、1つのセルC分しか延びていない第2経路は、互いに隣接する2つの第1経路を連結し、かつ、自律走行装置100の走行方向を転換するものであれば、主方向に対して垂直な方向に延びる経路に限られない。例えば、隣接する2つの第1経路を連結するU形状の経路、隣接する2つの第1経路を連結する回転移動による経路などを第2経路とすることもできる。 If the second path extending by only one cell C connects two adjacent first paths and changes the traveling direction of the autonomous traveling device 100, the second path is relative to the main direction. It is not limited to a path extending in a vertical direction. For example, a U-shaped path connecting two adjacent first paths, a path by rotational movement connecting two adjacent first paths, and the like can be used as the second path.
 1つの領域RA内に塗り潰し走行経路を作成後、経路作成部553は、ステップS59において、塗り潰し走行経路を未だ作成していない領域が存在するか否かを判定する。塗り潰し走行経路を作成していない領域が存在していない場合(ステップS59において「No」の場合)には、走行スケジュール500の作成処理はステップS62に進む。 After creating the filled travel route in one area RA, the route creating unit 553 determines in step S59 whether or not there is an area for which the filled traveling route has not been created yet. If there is no area for which the filled travel path has not been created (in the case of "No" in step S59), the process of creating the travel schedule 500 proceeds to step S62.
 その一方、塗り潰し走行経路を作成していない領域が存在する場合(ステップS59において「Yes」の場合)、経路作成部553は、ステップS60において、次に作成する塗り潰し走行経路の新たな始点セルSCを決定する。経路作成部553は、例えば、領域RA内に作成された塗り潰し走行経路の終点である終点セルECから最短距離にて到達できるセルCを新たな始点セルSCと決定する。これにより、当該新たな始点セルSCを含む領域を、次に塗り潰し走行経路を作成する領域と決定できる。 On the other hand, when there is an area for which the filled travel route has not been created (in the case of "Yes" in step S59), the route creation unit 553 sets the new start point cell SC of the filled travel route to be created next in step S60. To decide. The route creation unit 553 determines, for example, the cell C that can be reached at the shortest distance from the end point cell EC, which is the end point of the filled travel path created in the region RA, as the new start point cell SC. Thereby, the area including the new start point cell SC can be determined as the area for creating the next filled travel path.
 例えば、図22のように領域RA3、RA4が作成され、領域RA3に対して最初に塗り潰し走行経路を作成した場合に、図27に示すように領域RA3の紙面左下に終点セルECが設定されると、当該終点セルECに隣接し領域RA4に含まれるセルCを新たな始点セルSCと決定し、当該新たな始点セルSCを含む領域RA4を次に塗り潰し走行経路を作成する領域と決定する。図27は、新たな始点セルと次に塗り潰し走行経路を作成する領域の決定方法の一例を模式的に示す図である。 For example, when the regions RA3 and RA4 are created as shown in FIG. 22 and the travel path is first filled with respect to the region RA3, the end point cell EC is set at the lower left of the paper surface of the region RA3 as shown in FIG. 27. Then, the cell C adjacent to the end point cell EC and included in the region RA4 is determined as the new start point cell SC, and the region RA4 including the new start point cell SC is determined as the region for creating the next filled travel route. FIG. 27 is a diagram schematically showing an example of a method of determining a new starting point cell and a region for creating a next filled travel path.
 このように、作成した塗り潰し走行経路の終点である終点セルECと最短距離にて接続できるセルCを新たな始点セルSCと決定し、当該新たな始点セルSCを含む領域RA4を次に塗り潰し走行経路を作成する領域と決定することにより、最短距離である走行効率が高い走行スケジュール500を作成できる。 In this way, the cell C that can be connected to the end point cell EC, which is the end point of the created filled travel path, at the shortest distance is determined as the new start point cell SC, and the area RA4 including the new start point cell SC is next filled and traveled. By determining the area for creating a route, it is possible to create a travel schedule 500 having a high travel efficiency, which is the shortest distance.
 新たな始点セルSCと次に塗り潰し走行経路を作成する領域を決定後、経路作成部553は、ステップS61において、作成した塗り潰し走行経路の終点である終点セルECと、決定した新たな始点セルSCとを接続経路にて接続する。 After determining the new start point cell SC and the area for creating the next filled travel route, the route creation unit 553 sets the end point cell EC, which is the end point of the created filled travel route, and the determined new start point cell SC in step S61. And are connected by the connection path.
 その後、走行スケジュール500の作成処理は、ステップS58に戻る。すなわち、新たな始点セルSCを含む領域において塗り潰し走行経路が作成される。塗り潰し走行経路が全ての領域RA3、RA4において作成されるまで(すなわち、ステップS59が「No」となるまで)、上記のステップS58(ステップS581~S583)~S61が繰り返し実行される。 After that, the process of creating the travel schedule 500 returns to step S58. That is, a filled travel path is created in the area including the new starting point cell SC. The above steps S58 (steps S581 to S583) to S61 are repeatedly executed until the filled travel path is created in all the regions RA3 and RA4 (that is, until step S59 becomes "No").
 上記のステップS51~S61を実行することにより、図10などにて示した走行領域TA全体に対して、図28に示すような走行領域TAをまんべんなく塗り潰す塗り潰し走行経路が作成される。図28において、走行領域TAの全体に対して作成された塗り潰し走行経路は矢印にて示されている。図28は、走行領域全体に作成された塗り潰し走行経路の一例を示す図である。 By executing the above steps S51 to S61, a filled traveling route is created in which the traveling area TA as shown in FIG. 28 is evenly filled with respect to the entire traveling area TA shown in FIG. 10 and the like. In FIG. 28, the filled travel path created for the entire travel area TA is indicated by an arrow. FIG. 28 is a diagram showing an example of a filled travel path created in the entire travel area.
 塗り潰し走行経路を作成後、経路作成部553は、ステップS62において、作成した塗り潰し走行経路を、自律走行装置100が通過する通過点の集合に変換する。また、経路作成部553は、塗り潰し走行経路を変換して生成した各通過点に対して当該通過点を通過する時間を関連付ける。さらに、各通過点における清掃条件を対応する通過点に関連付けることで、図29に示すような走行スケジュール500を作成する。図29は、走行スケジュールの一例を示す図である。 After creating the filled travel route, the route creating unit 553 converts the created filled travel route into a set of passing points through which the autonomous traveling device 100 passes in step S62. Further, the route creation unit 553 associates the time for passing through the passing point with each passing point generated by converting the filled traveling route. Further, by associating the cleaning conditions at each passing point with the corresponding passing points, the traveling schedule 500 as shown in FIG. 29 is created. FIG. 29 is a diagram showing an example of a running schedule.
 図29に示す走行スケジュール500において、T、T、・・・Tは、塗り潰し走行経路の各通過点を通過する時間である。(x,y)、(x,y)、・・・(x,y)は、塗り潰し走行経路の各通過点を座標値として表したものである。θ、θ、・・・θは、塗り潰し走行経路の各通過点における自律走行装置100の姿勢である。 In the travel schedule 500 shown in FIG. 29, T 0 , T 1 , ... Tn are times for passing through each passing point of the filled travel route. (X 0 , y 0 ), (x 1 , y 1 ), ... (X n , y n ) represent each passing point of the filled travel path as a coordinate value. θ 0 , θ 1 , ... θ n are the postures of the autonomous traveling device 100 at each passing point of the filled traveling path.
 走行スケジュール500において、S、S、・・・Sは、塗り潰し走行経路の各通過点における洗浄液の供給量である。W、W、・・・Wは、塗り潰し走行経路の各通過点における床面Fの洗浄力である。P、P、・・・Pは、塗り潰し走行経路の各通過点における吸引口33aの吸引力である。 In the running schedule 500, S 0 , S 1 , ... Sn are the supply amounts of the cleaning liquid at each passing point of the filled running path. W 0 , W 1 , ... W n is the cleaning power of the floor surface F at each passing point of the filled traveling path. P 0 , P 1 , ... P n are suction forces of the suction port 33a at each passing point of the filled traveling path.
(5-4)自律走行モードの動作
 次に、図30を用いて、図7のステップS2において実行される、走行スケジュール500に記録された走行経路(塗り潰し走行経路)を再現する自律走行モードの実行時における自律走行装置100の動作を説明する。図30は、自律走行モードの実行時の自律走行装置の動作を示すフローチャートである。
(5-4) Operation of Autonomous Driving Mode Next, using FIG. 30, an autonomous driving mode for reproducing the traveling route (filled traveling route) recorded in the traveling schedule 500, which is executed in step S2 of FIG. The operation of the autonomous traveling device 100 at the time of execution will be described. FIG. 30 is a flowchart showing the operation of the autonomous traveling device when the autonomous traveling mode is executed.
 自律走行モードの実行前に、ユーザは、自律走行装置100を自律走行の開始位置に移動させる。自律走行の開始位置は、走行スケジュール500において経過時間Tに関連付けられている通過点である Prior to the execution of the autonomous travel mode, the user moves the autonomous travel device 100 to the start position of the autonomous travel. The start position of autonomous running is the passing point associated with the elapsed time T0 in the running schedule 500.
 切替部91において「自動」が選択されると自律走行モードが開始される。自律走行モードが開始されると、ステップS21において、走行再現部555は、自律走行装置100が自律走行する目標位置を決定する。具体的には、走行再現部555は、走行スケジュール500において、現在位置に最も近い通過点に関連付けられている現在の経過時間を決定し、現在の経過時間の次の経過時間に関連付けられている通過点を、次の目標位置と決定する。 When "automatic" is selected in the switching unit 91, the autonomous driving mode is started. When the autonomous travel mode is started, in step S21, the travel reproduction unit 555 determines the target position in which the autonomous travel device 100 autonomously travels. Specifically, the travel reproduction unit 555 determines the current elapsed time associated with the passing point closest to the current position in the travel schedule 500, and is associated with the next elapsed time of the current elapsed time. The passing point is determined as the next target position.
 目標位置を決定後、走行再現部555は、自律走行のための制御を開始する。まず、走行再現部555は、ステップS22において、自律走行装置100の現在位置を把握する。具体的には、SLAM部551が、エンコーダ111にて測定された前回の自己位置推定から今回の自己位置推定までの間の走行モータ11の回転量、現在位置で取得した障害物情報に基づいて作成されたローカルマップ、及び、記憶部57に記憶されているグローバルマップGMに基づいて、上記にて説明した処理により現在の自律走行装置100の自己位置を推定する。その後、走行再現部555が、SLAM部551が推定した自己位置を入力する。 After determining the target position, the travel reproduction unit 555 starts control for autonomous travel. First, the traveling reproduction unit 555 grasps the current position of the autonomous traveling device 100 in step S22. Specifically, the SLAM unit 551 is based on the rotation amount of the traveling motor 11 between the previous self-position estimation measured by the encoder 111 and the current self-position estimation, and the obstacle information acquired at the current position. Based on the created local map and the global map GM stored in the storage unit 57, the self-position of the current autonomous traveling device 100 is estimated by the process described above. After that, the traveling reproduction unit 555 inputs the self-position estimated by the SLAM unit 551.
 自律走行装置100の現在位置を把握後、現在位置から目標位置への走行制御が実行される。走行制御を実行するに際し、走行再現部555は、ステップS23において、障害物検出部43が検出可能範囲内に障害物を検出しているか否かを判断する。 After grasping the current position of the autonomous traveling device 100, traveling control from the current position to the target position is executed. When executing the travel control, the travel reproduction unit 555 determines in step S23 whether or not the obstacle detection unit 43 has detected an obstacle within the detectable range.
 検出可能範囲内に障害物の存在が認められない場合(ステップS23で「No」)、走行再現部555は、ステップS24において、現在位置からステップS21で決定した目標位置まで自律走行装置100を走行させる再現走行制御指令を算出し、走行制御部53に出力する。 When the presence of an obstacle is not recognized within the detectable range (“No” in step S23), the traveling reproduction unit 555 travels the autonomous traveling device 100 from the current position to the target position determined in step S21 in step S24. The reproduction running control command to be caused is calculated and output to the running control unit 53.
 一方、検出可能範囲内に障害物の存在が認められる場合(ステップS23で「Yes」)、走行再現部555は、ステップS25において、検出された障害物を回避する経路を計画し、自律走行装置100に当該経路を走行させる再現走行制御指令を算出し、走行制御部53に出力する。ステップS25において、走行再現部555は、計画された回避経路によっては、上記のステップS21で決定した目標位置を変更する。例えば、走行スケジュール500に記憶された通過点のうち、現在位置よりも所定の距離だけ離れた通過点を新たな目標位置とする。 On the other hand, when the presence of an obstacle is recognized within the detectable range (“Yes” in step S23), the traveling reproduction unit 555 plans a route for avoiding the detected obstacle in step S25, and the autonomous traveling device. A reproduction travel control command for traveling the route to 100 is calculated and output to the travel control unit 53. In step S25, the traveling reproduction unit 555 changes the target position determined in step S21 above, depending on the planned avoidance route. For example, among the passing points stored in the traveling schedule 500, a passing point separated by a predetermined distance from the current position is set as a new target position.
 上記の再現走行制御指令を受信した走行制御部53は、受信した再現走行制御指令に基づいて走行モータ11を制御することで、当該再現走行制御指令に従って自律走行装置100を走行させる。また、走行再現部555は、現在の経過時間に関連付けられた清掃条件に基づいて再現清掃条件を算出し、当該再現清掃条件を清掃制御部51に出力する。これにより、算出された再現清掃条件に従って、清掃部3を制御できる。 The travel control unit 53 that has received the above-mentioned reproduction travel control command controls the travel motor 11 based on the received reproduction travel control command, and causes the autonomous travel device 100 to travel in accordance with the reproduction travel control command. Further, the traveling reproduction unit 555 calculates the reproduction cleaning condition based on the cleaning condition associated with the current elapsed time, and outputs the reproduction cleaning condition to the cleaning control unit 51. As a result, the cleaning unit 3 can be controlled according to the calculated reproduction cleaning conditions.
 ステップS24又はS25の走行制御後、走行再現部555は、ステップS26において、決定した目標位置に自律走行装置100が到達したか否かを判断する。例えば、現在位置が目標位置と一致するか所定の範囲内にある場合に、自律走行装置100が目標位置に到達したと判断できる。自律走行装置100が目標位置に未だ到達していない場合(ステップS26で「No」)、自律走行動作は、ステップS22に戻る。すなわち、目標位置に到達するまで上記のステップS22~S25が繰り返し実行される。なお、上記のステップS22~S25は、制御部5による制御周期毎に実行される。 After the travel control in step S24 or S25, the travel reproduction unit 555 determines in step S26 whether or not the autonomous travel device 100 has reached the determined target position. For example, when the current position coincides with the target position or is within a predetermined range, it can be determined that the autonomous traveling device 100 has reached the target position. If the autonomous traveling device 100 has not yet reached the target position (“No” in step S26), the autonomous traveling operation returns to step S22. That is, the above steps S22 to S25 are repeatedly executed until the target position is reached. The above steps S22 to S25 are executed for each control cycle by the control unit 5.
 一方、上記の走行制御の結果、自律走行装置100が目標位置に到達したと判断した場合(ステップS26で「Yes」)、走行再現部555は、ステップS27において、走行スケジュール500に記憶された走行動作を全て実行したかどうかを判断する。走行スケジュール500に記憶された走行動作が全て終了したかどうかは、例えば、走行スケジュール500の末尾にある識別子(例えば、「エンド・オブ・ファイル」を示す識別子など)を検出することにより判断できる。 On the other hand, when it is determined that the autonomous traveling device 100 has reached the target position as a result of the traveling control described above (“Yes” in step S26), the traveling reproduction unit 555 may execute the traveling stored in the traveling schedule 500 in step S27. Determine if all actions have been performed. Whether or not all the traveling operations stored in the traveling schedule 500 have been completed can be determined, for example, by detecting an identifier at the end of the traveling schedule 500 (for example, an identifier indicating an "end of file").
 走行スケジュール500に記憶された走行動作が全て実行されていないと判断される限り(ステップS27において「No」である限り)、自律走行動作はステップS21に戻る。すなわち、走行スケジュール500に記憶された走行動作が全て実行されるまで上記のステップS21~S26が繰り返し実行される。 As long as it is determined that all the traveling operations stored in the traveling schedule 500 have not been executed (as long as "No" in step S27), the autonomous traveling operation returns to step S21. That is, the above steps S21 to S26 are repeatedly executed until all the traveling operations stored in the traveling schedule 500 are executed.
 一方、走行スケジュール500に記憶された全ての走行動作が実行されたと判断された場合(ステップS27で「Yes」)、自律走行モードの実行を終了する。 On the other hand, when it is determined that all the running operations stored in the running schedule 500 have been executed (“Yes” in step S27), the execution of the autonomous running mode is terminated.
 上記のように、本実施形態で作成される走行スケジュール500(塗り潰し走行経路)は、走行領域TA(領域)の適切な主方向を決定して作成されている。つまり、走行スケジュール500には、自律走行装置100の走行速度を低下させる方向転換経路の数が少ない。従って、上記のステップS21~S27を実行して本実施形態の走行スケジュール500に従って走行領域TA内を自律走行することで、自律走行装置100は、方向転換の回数を少なく効率よく走行領域TAを塗り潰す走行経路を自律走行できる。 As described above, the travel schedule 500 (filled travel route) created in this embodiment is created by determining an appropriate main direction of the travel region TA (region). That is, in the travel schedule 500, the number of turning routes that reduce the travel speed of the autonomous travel device 100 is small. Therefore, by executing the above steps S21 to S27 and autonomously traveling in the traveling area TA according to the traveling schedule 500 of the present embodiment, the autonomous traveling device 100 efficiently paints the traveling area TA with a small number of turns. You can drive autonomously on the crushing route.
 一例として、本実施形態の方法で適切な主方向を決定した状態で走行領域TAに塗り潰し走行経路が作成された場合、従来の主方向の決定方法で誤った主方向が決定された状態で走行領域TAに塗り潰し走行経路が作成された場合と比較して、塗り潰し走行経路を全て自律走行するまでにかかる時間が20%程度減少した。 As an example, when a traveling route is created by filling the traveling area TA in a state where an appropriate principal direction is determined by the method of the present embodiment, traveling in a state where an erroneous principal direction is determined by the conventional principal direction determining method. Compared with the case where the filled travel route is created in the area TA, the time required to autonomously travel all the filled travel routes is reduced by about 20%.
2.第2実施形態
 上記の第1実施形態においては、走行領域TAの主方向は、走行領域TAを所定の角度だけ回転させ、走行領域TAの回転角度毎に、第1線分L1(走行領域TAの2つの境界を結び、かつ、所定の基準軸と平行な線分)と走行領域TAの境界とが直交するとの第1条件を満たすか否か、及び、第1条件を満たす第1線分L1のうち、長さが最大長さ線分LMの長さの所定割合以上であるとの第2条件を満たすか否か、を判定することで決定されていた。このため、第1実施形態においては、主方向として明らかに選択されない可能性の高い回転角度においても第1条件と第2条件の判断が行われていた。すなわち、第1条件と第2条件の判断が不必要に実行されていた。
2. 2. Second Embodiment In the first embodiment described above, the main direction of the traveling region TA is to rotate the traveling region TA by a predetermined angle, and for each rotation angle of the traveling region TA, the first line segment L1 (traveling region TA). The first line segment that connects the two boundaries and is parallel to the predetermined reference axis) and the boundary of the traveling region TA is orthogonal to each other, and whether or not the first condition is satisfied, and the first line segment that satisfies the first condition. It was determined by determining whether or not the second condition that the length of L1 is equal to or more than a predetermined ratio of the length of the maximum length line segment LM is satisfied. Therefore, in the first embodiment, the determination of the first condition and the second condition is performed even at the rotation angle which is likely not to be clearly selected as the main direction. That is, the judgment of the first condition and the second condition was unnecessarily executed.
 従って、第2実施形態においては、主方向となり得る回転角度の候補を予め決定し、その後、第1実施形態で説明した主方向の決定処理(すなわち、ステップS511~S515)を実行する。上記のとおり、第2実施形態においては、主方向の決定に際して、回転角度の候補を予め決定しておくことが第1実施形態と異なるのみである。従って、以下では、回転角度の候補の決定方法を以下で説明し、自律走行装置100に関するその他の説明は省略する。 Therefore, in the second embodiment, the candidates for the rotation angle that can be the main direction are determined in advance, and then the main direction determination process (that is, steps S511 to S515) described in the first embodiment is executed. As described above, in the second embodiment, the candidate for the rotation angle is determined in advance when determining the main direction, which is different from the first embodiment. Therefore, in the following, a method for determining a candidate for a rotation angle will be described below, and other description regarding the autonomous traveling device 100 will be omitted.
 走行領域TAのように、複数の境界線により閉じられた領域の長手方向(すなわち、主方向)は、当該複数の境界線のうち比較的長い境界線が延びる方向であることが一般的である。従って、第2実施形態においては、走行領域TAの境界線(外周境界BO)のうち、比較的長い境界線が延びる方向を、ステップS511における走行領域TAの回転角度の候補とする。回転角度の候補は、具体的には、図31に示すフローチャートに従った処理により決定できる。図31は、回転角度の候補の決定動作を示すフローチャートである。 The longitudinal direction (that is, the main direction) of the region closed by the plurality of boundary lines, such as the traveling region TA, is generally the direction in which the relatively long boundary line of the plurality of boundary lines extends. .. Therefore, in the second embodiment, the direction in which the relatively long boundary line extends out of the boundary line (outer peripheral boundary BO) of the traveling area TA is used as a candidate for the rotation angle of the traveling area TA in step S511. Specifically, the rotation angle candidate can be determined by processing according to the flowchart shown in FIG. FIG. 31 is a flowchart showing an operation of determining a candidate for a rotation angle.
 以下の説明では、図32に示すような走行領域TAに対して、回転方向の候補を決定する方法を説明する。図32は、走行領域の一例を示す図である。図32に示す走行領域TAは、外周境界BOが、n-1個の点(P1、P2、・・・Pk、・・・Pn-1)の点群から構成されている。なお、点P1は点Pnとも表すことができる。 In the following description, a method of determining a candidate for the rotation direction with respect to the traveling region TA as shown in FIG. 32 will be described. FIG. 32 is a diagram showing an example of a traveling region. In the traveling region TA shown in FIG. 32, the outer peripheral boundary BO is composed of a point cloud having n-1 points (P1, P2, ... Pk, ... Pn-1). The point P1 can also be expressed as a point Pn.
 最初に、経路作成部553は、ステップS801において、外周境界BOを構成する複数の点のうち特定の点(点Pkとする)と、当該特定の点Pkに隣接する点(点Pk+1とする)とを結ぶ線分について、当該線分が延びる方向と長さとを算出する。なお、2つの点を結ぶ線分PkPk+1が延びる方向は、例えば、当該線分PkPk+1の基準軸に平行な方向の長さと基準軸に垂直な方向の長さとの比のアークタンジェント(arctan)から算出できる。 First, in step S801, the route creation unit 553 sets a specific point (referred to as a point Pk) among a plurality of points constituting the outer peripheral boundary BO and a point adjacent to the specific point Pk (referred to as a point Pk + 1). For the line segment connecting with, the direction and length in which the line segment extends are calculated. The direction in which the line segment PkPk + 1 connecting the two points extends is calculated from, for example, the arctangent of the ratio of the length in the direction parallel to the reference axis of the line segment PkPk + 1 to the length in the direction perpendicular to the reference axis. can.
 次に、経路作成部553は、ステップS802において、線分PkPk+1が延びる方向(角度)と同じ方向に延びる線分の累積長さを算出する。具体的には、線分PkPk+1と同じ方向に延びる線分についてこれまでに算出された累積長さに、今回算出された線分PkPk+1の長さを加算する。 Next, in step S802, the route creation unit 553 calculates the cumulative length of the line segment extending in the same direction (angle) as the line segment PkPk + 1 extends. Specifically, the length of the line segment PkPk + 1 calculated this time is added to the cumulative length calculated so far for the line segment extending in the same direction as the line segment PkPk + 1.
 上記の線分PkPk+1の延びる方向と累積長さの算出とを、k=1から開始しkを1ずつ増加させてk=n-1となるまで繰り返し実行する。これにより、外周境界BOを構成する全ての点について、線分の延びる方向と累積長さとが算出され、基準軸に対する角度と、当該角度の方向に延びる線分の累積長さと、の関係を表すヒストグラムが生成される。図32に示す走行領域TAに対しては、例えば、図33に示すようなヒストグラムが生成される。図33は、基準軸に対する角度と、当該角度の方向に延びる線分の累積長さと、の関係を表すヒストグラムの一例を示す図である。 The above-mentioned extension direction of the line segment PkPk + 1 and the calculation of the cumulative length are repeatedly executed starting from k = 1 and increasing k by 1 until k = n-1. As a result, the extending direction of the line segment and the cumulative length are calculated for all the points constituting the outer peripheral boundary BO, and the relationship between the angle with respect to the reference axis and the cumulative length of the line segment extending in the direction of the angle is represented. A histogram is generated. For the traveling region TA shown in FIG. 32, for example, a histogram as shown in FIG. 33 is generated. FIG. 33 is a diagram showing an example of a histogram showing the relationship between the angle with respect to the reference axis and the cumulative length of the line segment extending in the direction of the angle.
 図33に示すヒストグラムでは、4つの角度(θ’、 θ’+90°、θ’+180°、θ’+270°)に有意な累積長さが存在する。これは、図32に示す走行領域TAの外周境界BOは、基準軸に対して角度θ’だけ傾いた辺と、角度θ’+90°だけ傾いた辺と、角度θ’+180°だけ傾いた辺と、角度θ’+270°だけ傾いた辺と、により構成されていることを示している。つまり、図33に示すようなヒストグラムは、外周境界BOを構成する辺が延びる方向と、同じ方向に延びる辺の長さの合計と、の関係を表す。 In the histogram shown in FIG. 33, there are significant cumulative lengths at four angles (θ', θ'+ 90 °, θ'+ 180 °, θ'+ 270 °). This is because the outer peripheral boundary BO of the traveling region TA shown in FIG. 32 has a side tilted by an angle θ'with respect to the reference axis, a side tilted by an angle θ'+ 90 °, and a side tilted by an angle θ'+ 180 °. And, it is shown that it is composed of a side inclined by an angle θ'+ 270 °. That is, the histogram as shown in FIG. 33 shows the relationship between the direction in which the sides constituting the outer peripheral boundary BO extend and the total length of the sides extending in the same direction.
 なお、角度θ’と角度θ’+180°とは線分の延びる方向として同じとみなすことができ、角度θ’+90°と角度θ’+270°とは線分の延びる方向として同じとみなすことができる。従って、図32に示すような角度範囲を0°~360°とするヒストグラムの代わりに、角度θ’における累積長さとθ’+180°における累積長さとを加算して角度θ’の累積長さとし、θ’+90°における累積長さとθ’+270°における累積長さを加算してθ’+90°の累積長さとし、角度範囲を0°~180°の範囲に制限したヒストグラムを生成してもよい。 The angle θ'and the angle θ'+ 180 ° can be regarded as the same as the extending direction of the line segment, and the angle θ'+ 90 ° and the angle θ'+ 270 ° can be regarded as the same as the extending direction of the line segment. can. Therefore, instead of the histogram in which the angle range is 0 ° to 360 ° as shown in FIG. 32, the cumulative length at the angle θ'and the cumulative length at θ'+ 180 ° are added to obtain the cumulative length of the angle θ'. The cumulative length at θ'+ 90 ° and the cumulative length at θ'+ 270 ° may be added to obtain a cumulative length of θ'+ 90 °, and a histogram may be generated in which the angle range is limited to the range of 0 ° to 180 °.
 上記にて説明したように、複数の境界線により閉じられた領域の主方向は、当該複数の境界線のうち比較的長い境界線が延びる方向であることが一般的である。上記のヒストグラムでは、「複数の境界線のうち比較的長い線が延びる方向」は、累積長さが所定の閾値以上となる角度に対応する。 As explained above, the main direction of the area closed by the plurality of boundary lines is generally the direction in which the relatively long boundary line extends among the plurality of boundary lines. In the above histogram, "the direction in which a relatively long line out of a plurality of boundary lines extends" corresponds to an angle at which the cumulative length is equal to or greater than a predetermined threshold value.
 従って、経路作成部553は、ステップS803において、上記のようにして作成したヒストグラムにおいて、累積長さが所定の閾値VTH以上である角度を、ステップS511における走行領域TAの回転角度の候補として決定する。図33に示すヒストグラムでは、角度θ’と角度θ’+180°(角度θ’とみなすこともできる)、 θ’+90°とθ’+270°(角度θ’+90°とみなすこともできる)が回転角度の候補となる。 Therefore, in step S803, the route creation unit 553 determines an angle at which the cumulative length is equal to or greater than a predetermined threshold value VTH in the histogram created as described above as a candidate for the rotation angle of the traveling region TA in step S511. do. In the histogram shown in FIG. 33, the angles θ'and the angle θ'+ 180 ° (which can also be regarded as the angle θ') and θ'+ 90 ° and θ'+ 270 ° (which can also be regarded as the angle θ'+ 90 °) rotate. Candidate for angle.
 上記のように、外周境界BOを構成する辺が延びる方向(角度)と、同じ方向に延びる辺の長さの合計(つまり、累積長さ)と、の関係を表すヒストグラムを生成し、当該ヒストグラムにおいて、同じ方向に延びる辺の長さの合計(累積長さ)が所定の閾値以上である方向(角度)を、走行領域TAの回転角度の候補として決定することで、「複数の境界線で閉じられた領域の主方向は、当該複数の境界線のうち比較的長く延びる境界線が延びる方向である」ことに基づいて、適切に回転角度の候補を決定できる。すなわち、「複数の境界線のうち比較的長い線が延びる方向」ではない角度、例えば、走行領域TA内を横切るような対角方向の角度を適切に回転角度の候補から除外できる。 As described above, a histogram showing the relationship between the direction (angle) in which the sides constituting the outer peripheral boundary BO extend and the total length of the sides extending in the same direction (that is, the cumulative length) is generated, and the histogram is generated. In, by determining a direction (angle) in which the total length (cumulative length) of the sides extending in the same direction is equal to or larger than a predetermined threshold value as a candidate for the rotation angle of the traveling region TA, "at a plurality of boundary lines". The main direction of the closed region is the direction in which the relatively long boundary line of the plurality of boundary lines extends. ”The candidate rotation angle can be appropriately determined. That is, an angle that is not "a direction in which a relatively long line out of a plurality of boundary lines extends", for example, a diagonal angle that crosses the traveling region TA can be appropriately excluded from the candidates for the rotation angle.
 上記においては、線分PkPk+1(k=1,2,・・・n-1)の長さを同じ方向に延びる線分毎に累積して累積長さを算出し、線分が延びる方向(角度)と、累積長さとの関係に基づいて、回転角度の候補が決定されていた。しかし、これに限られず、外周境界BOを構成する複数の辺を特定し、特定した複数の辺のそれぞれについて延びる方向と長さとを分類し、そのうち所定の閾値以上の長さを有する辺が延びる方向を回転角度の候補としてもよい。 In the above, the length of the line segment PkPk + 1 (k = 1, 2, ... n-1) is accumulated for each line segment extending in the same direction to calculate the cumulative length, and the direction (angle) in which the line segment extends. ) And the cumulative length, the candidates for the rotation angle were determined. However, the present invention is not limited to this, and a plurality of sides constituting the outer peripheral boundary BO are specified, the extending direction and length are classified for each of the specified plurality of sides, and the side having a length equal to or more than a predetermined threshold is extended. The direction may be a candidate for the rotation angle.
 外周境界BOにおいては、例えば、線分PkPk+1(k=1,2,・・・n-1)の延びる方向(角度)と、他の線分(線分Pk+1Pk+2、線分Pk+2Pk+3、・・・・)の延びる方向(角度)と、の間の差の絶対値が所定の角度(例えば、5°以内)であれば、線分PkPk+1と当該他の線分とで構成される線分(上記では、点Pk、Pk+1、Pk+2、Pk+3、・・・の点群で構成される辺)は、外周境界BOの同じ辺に含まれるものと判断できる。 In the outer peripheral boundary BO, for example, the extending direction (angle) of the line segment PkPk + 1 (k = 1, 2, ... n-1) and other line segments (line segment Pk + 1Pk + 2, line segment Pk + 2Pk + 3, ... ) And the absolute value of the difference between them is a predetermined angle (for example, within 5 °), a line segment composed of the line segment PkPk + 1 and the other line segment (in the above description). , A side composed of a point group of points Pk, Pk + 1, Pk + 2, Pk + 3, ...) Can be determined to be included in the same side of the outer peripheral boundary BO.
 例えば、図32に示す外周境界BOからは、図34に示すように、8つの辺LIN1~LIN8が特定される。図34は、外周境界を構成する辺を特定した状態の一例を示す図である。特定された辺LIN1~LIN8のそれぞれについて、辺の延びる方向と長さとを分類すると、図35に示すようなヒストグラムが生成される。図35は、辺の延びる方向と長さとを辺毎に分類したヒストグラムの一例を示す図である。 For example, from the outer peripheral boundary BO shown in FIG. 32, eight sides LIN1 to LIN8 are specified as shown in FIG. 34. FIG. 34 is a diagram showing an example of a state in which the sides constituting the outer peripheral boundary are specified. When the extending direction and length of the sides are classified for each of the specified sides LIN1 to LIN8, a histogram as shown in FIG. 35 is generated. FIG. 35 is a diagram showing an example of a histogram in which the extending direction and the length of the sides are classified for each side.
 図35に示すヒストグラムからは、最も長い辺LIN1の延びる方向がθ’であり、短い辺LIN2、LIN4、LIN6の延びる方向がθ’+270°であり、短い辺LIN3、LIN5、LIN7の延びる方向がθ’+180°であり、比較的長い辺LIN8の延びる方向がθ’+90°であると分類できる。このように、外周境界BOを構成する辺毎に延びる方向と長さとを分類することで、走行領域TAの形状がより正確に反映されたヒストグラムを生成できる。 From the histogram shown in FIG. 35, the extending direction of the longest side LIN1 is θ', the extending direction of the short sides LIN2, LIN4, and LIN6 is θ'+ 270 °, and the extending direction of the short sides LIN3, LIN5, and LIN7 is. It can be classified as θ'+ 180 ° and the extension direction of the relatively long side LIN8 is θ'+ 90 °. In this way, by classifying the extending direction and the length for each side constituting the outer peripheral boundary BO, it is possible to generate a histogram in which the shape of the traveling region TA is more accurately reflected.
 この結果、例えば、走行領域TAが、特定の方向に延びる長い辺と、別の方向に延びる多数の短い辺と、により構成される場合に、「別の方向」の線分の累積長さの方が「特定の方向」の線分の累積長さよりも大きくなる結果、「別の方向」が回転方向の候補であると誤って認識されることを抑制できる。例えば、上記の図33に示す角度と累積長さとの関係を示すヒストグラムでは、角度θ’、角度θ’+90°、角度θ’+180°とθ’+270°が回転角度の候補と特定される一方、図35で示す辺毎の角度と辺の長さとの関係を示すヒストグラムでは、角度θ’の方向に延びる辺LIN1と、角度θ’+90°の方向に延びる辺LIN8の長さのみが所定の閾値VTHを超えていると認識できる。この結果、回転角度の候補として、1つの辺、すなわち、同じ角度で連続している長い辺である角度θ’と角度θ’+90°のみが特定される。 As a result, for example, when the traveling region TA is composed of a long side extending in a specific direction and a large number of short sides extending in another direction, the cumulative length of the line segment in the "other direction" As a result of the fact that the length is larger than the cumulative length of the line segment in the "specific direction", it is possible to prevent the "other direction" from being mistakenly recognized as a candidate for the rotation direction. For example, in the histogram showing the relationship between the angle and the cumulative length shown in FIG. 33 above, the angles θ', the angle θ'+ 90 °, and the angles θ'+ 180 ° and θ'+ 270 ° are specified as candidates for the rotation angle. In the histogram showing the relationship between the angle of each side and the length of the side shown in FIG. 35, only the lengths of the side LIN1 extending in the direction of the angle θ'and the side LIN8 extending in the direction of the angle θ'+ 90 ° are predetermined. It can be recognized that the threshold value VTH is exceeded. As a result, only one side, that is, the angle θ'and the angle θ'+ 90 °, which are continuous long sides at the same angle, are specified as candidates for the rotation angle.
3.他の実施形態
 以上、本発明の複数の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。また、フローチャートにて示した各処理の内容、処理の順番等は、発明の要旨を逸脱しない範囲で変更できる。また、必要に応じてフローチャートにて示した処理のいずれかを省略できる。
3. 3. Other Embodiments Although the plurality of embodiments of the present invention have been described above, the present invention is not limited to the above embodiments, and various modifications can be made without departing from the gist of the invention. In particular, the plurality of embodiments and modifications described herein can be arbitrarily combined as needed. Further, the content of each process shown in the flowchart, the order of the processes, and the like can be changed without departing from the gist of the invention. Further, any of the processes shown in the flowchart can be omitted if necessary.
 (A)上記の第1実施形態においては、主方向が同じでかつ互いに隣接した領域を結合して1つの新たな領域としていたが、これに限られず、領域を結合せずに塗り潰し走行経路を作成してもよい。 (A) In the above-mentioned first embodiment, regions having the same principal direction and adjacent to each other are combined to form one new region, but the present invention is not limited to this, and the traveling route is filled without combining the regions. You may create it.
 (B)上記の第1実施形態においては、第1線分L1は、外周境界BOの2点を結ぶ線分、外周境界BOの1点と外周領域の2点間を補間する1点とを結ぶ線分、外周境界BOの2点間を補間する1点と外周境界BOの他の2点間を補間する他の1点とを結ぶ線分のいずれかであった。しかし、これに限られず、第1線分L1を定義する際に、塗り潰し走行経路を生成する際に配置されるセルCに類似の複数のセルを走行領域TAに配置し、走行領域TAの外周境界BO上に存在する2つのセルの代表点を結ぶ線分を第1線分L1と定義してもよい。セルの代表点は、例えば、セルの中心点である。また、最大長さ線分LMを、外周境界BO上に存在する2つのセルの代表点を結ぶ線分のうち最大の長さを有する線分としてもよい。これにより、第1線分L1と最大長さ線分LMとをセルを用いて容易に定義できる。 (B) In the above first embodiment, the first line segment L1 is a line segment connecting two points of the outer peripheral boundary BO, and one point of interpolating between one point of the outer peripheral boundary BO and two points of the outer peripheral region. It was one of a line segment connecting one point that interpolates between two points of the outer peripheral boundary BO and another one point that interpolates between the other two points of the outer peripheral boundary BO. However, the present invention is not limited to this, and when defining the first line segment L1, a plurality of cells similar to the cell C arranged when the filled traveling path is generated are arranged in the traveling area TA, and the outer circumference of the traveling area TA is arranged. The line segment connecting the representative points of the two cells existing on the boundary BO may be defined as the first line segment L1. The representative point of the cell is, for example, the center point of the cell. Further, the maximum length line segment LM may be a line segment having the maximum length among the line segments connecting the representative points of the two cells existing on the outer peripheral boundary BO. Thereby, the first line segment L1 and the maximum length line segment LM can be easily defined by using a cell.
 (C)上記の第1実施形態においては、第1線分L1の長さが最大長さ線分LMの長さの所定の割合以上である第2条件を満たすか否かを、第1線分L1の長さの積算値から算出していたが、これに限られない。第1条件(第1線分L1と第2線分L2とが直交する)を満たす主方向の候補のうち第1線分L1の長さ(の平均値)が最大である候補を、第2条件を満たす主方向の候補としてもよい。これにより、第2条件を満たすか否かを容易に判断できる。 (C) In the above first embodiment, whether or not the second condition that the length of the first line segment L1 is equal to or more than a predetermined ratio of the length of the maximum length line segment LM is satisfied is determined by the first line. It was calculated from the integrated value of the length of the minute L1, but it is not limited to this. Among the candidates in the main direction satisfying the first condition (the first line segment L1 and the second line segment L2 are orthogonal to each other), the candidate having the maximum length (average value) of the first line segment L1 is selected as the second candidate. It may be a candidate for the main direction that satisfies the conditions. Thereby, it can be easily determined whether or not the second condition is satisfied.
 (D)上記の第1実施形態においては、最大長さ線分LMの長さの所定の割合以上の長さを有する第1線分L1を選択して第1線分L1の長さの積算値を算出し、当該積算値が最大であるか否かにより第2条件を満たすか否かが判定されていた。第1実施形態においては、長さの積算値の算出に用いる第1線分L1を選択するための所定の割合(α)は固定値とされていた。しかし、これに限られず、上記の所定の割合(α)を走行領域TAの回転角度毎に可変としてもよい。 (D) In the above-mentioned first embodiment, the first line segment L1 having a length equal to or more than a predetermined ratio of the length of the maximum length line segment LM is selected, and the length of the first line segment L1 is integrated. The value was calculated, and it was determined whether or not the second condition was satisfied depending on whether or not the integrated value was the maximum. In the first embodiment, the predetermined ratio (α) for selecting the first line segment L1 used for calculating the integrated value of the length is a fixed value. However, the present invention is not limited to this, and the above-mentioned predetermined ratio (α) may be made variable for each rotation angle of the traveling region TA.
 この場合、例えば、所定の割合(α)を回転角度毎に変化させて、長さの積算値の算出に用いる第1線分L1を、所定の基準軸と平行でありかつ所定の距離(回転角度に対して変化しない距離)だけ離れた2つの直線で定められる領域内に含まれる第1線分L1としてもよい。これにより、長さの積算値の算出に用いる第1線分L1が含まれる範囲を固定できるので、積算値を容易に算出できる。 In this case, for example, a predetermined ratio (α) is changed for each rotation angle, and the first line segment L1 used for calculating the integrated value of the length is parallel to the predetermined reference axis and is a predetermined distance (rotation). It may be the first line segment L1 included in the region defined by two straight lines separated by a distance (distance that does not change with respect to an angle). As a result, the range including the first line segment L1 used for calculating the integrated value of the length can be fixed, so that the integrated value can be easily calculated.
 (E)自律走行装置100は、自律的に清掃作業を実行する清掃機以外の走行装置であってもよい。例えば、自律走行装置100は、宣伝用ロボットであってもよい。その他、自律走行装置100は、自律的に走行するための走行部(とそれを制御する制御部)のみにて構成されていてもよい。この場合は、例えば、当該自律走行装置と、所望の機能を発揮するためのロボットシステムと、を組み合わせて、所望の機能を有するロボット(装置)を構成できる。 (E) The autonomous traveling device 100 may be a traveling device other than the cleaning machine that autonomously executes the cleaning work. For example, the autonomous traveling device 100 may be a promotional robot. In addition, the autonomous traveling device 100 may be composed of only a traveling unit (and a control unit that controls the traveling unit) for autonomously traveling. In this case, for example, a robot (device) having a desired function can be configured by combining the autonomous traveling device and a robot system for exerting a desired function.
 自律走行装置100が清掃作業を自律的に行う装置以外である場合には、走行スケジュール500には、清掃条件が記憶されない。または、清掃条件に代えて、自律走行装置100の用途に応じた制御に関する情報が記憶されていてもよい。 When the autonomous traveling device 100 is other than the device that autonomously performs the cleaning work, the cleaning condition is not stored in the traveling schedule 500. Alternatively, instead of the cleaning conditions, information regarding control according to the application of the autonomous traveling device 100 may be stored.
 (F)上記の第1実施形態においては、グローバルマップGM及び外周境界BOの作成は、手動操作教示モードを実行して、自律走行装置100を走行領域TAの外周BO’に沿って移動させ、走行領域TAの外周BO’に沿って移動中に通過した通過点を推定し、当該通過点を集合して外周境界BOを作成することで実現されていた。すなわち、外周境界BOの作成は、自律走行装置100を実際に走行領域TAの外周BO’沿って走行させることで行われていた。また、グローバルマップGMは、外周BO’の教示を実行しつつ取得されていた。 (F) In the first embodiment described above, the creation of the global map GM and the outer peripheral boundary BO is performed by executing the manual operation teaching mode and moving the autonomous traveling device 100 along the outer peripheral BO'of the traveling region TA. It was realized by estimating the passing points that passed while moving along the outer peripheral BO'of the traveling region TA, and collecting the passing points to create the outer peripheral boundary BO. That is, the creation of the outer peripheral boundary BO was performed by actually running the autonomous traveling device 100 along the outer peripheral BO'of the traveling region TA. Further, the global map GM was acquired while executing the teaching of the outer peripheral BO'.
 しかし、これに限られず、CADソフトウェアなどの画像編集ソフトウェア、外周境界BO描画用の専用のソフトウェアなどを用いて、グローバルマップGMに外周境界BOに対応する境界線を描画することで、外周境界BOを作成してもよい。また、グローバルマップGMは、第1実施形態と同様に手動操作教示モードを実行することで作成してもよいし、CADソフトウェアなどの画像編集ソフトウェア、グローバルマップGM作成用の専用のソフトウェアなどを用いて作成してもよい。 However, the present invention is not limited to this, and by drawing the boundary line corresponding to the outer peripheral boundary BO on the global map GM using image editing software such as CAD software, dedicated software for drawing the outer peripheral boundary BO, etc., the outer peripheral boundary BO is drawn. May be created. Further, the global map GM may be created by executing the manual operation teaching mode as in the first embodiment, or image editing software such as CAD software, dedicated software for creating the global map GM, or the like may be used. You may create it.
 (G)上記の第2実施形態においては、外周境界BOの複数の境界線のうち比較的長い境界線が延びる方向を選択するために、外周境界BOを構成する複数の点から、基準軸に対する角度と、角度の方向に延びる線分の累積長さ、との関係を表すヒストグラムを生成して、回転角度の候補を決定していた。 (G) In the above-mentioned second embodiment, in order to select the direction in which the relatively long boundary line extends from the plurality of boundary lines of the outer peripheral boundary BO, from a plurality of points constituting the outer peripheral boundary BO with respect to the reference axis. A histogram showing the relationship between the angle and the cumulative length of the line segment extending in the direction of the angle was generated to determine the candidate rotation angle.
 しかし、これに限られず、外周境界BOを構成する複数の点から、主成分分析やハフ変換などで直線成分(線分)を検出したのち、当該線分が延びる方向と長さを算出して、回転角度の候補を決定してもよい。これにより回転角度の候補を高い分解能で決定できる。 However, not limited to this, after detecting a linear component (line segment) from a plurality of points constituting the outer peripheral boundary BO by main component analysis or Hough transform, the direction and length of the line segment are calculated. , Rotation angle candidates may be determined. This makes it possible to determine rotation angle candidates with high resolution.
 本発明は、移動環境内に定められた走行領域を塗り潰すように自律走行可能であり、当該走行領域に存在する障害物を回避しながら走行する自律走行装置に広く適用できる。 The present invention can autonomously travel so as to fill a traveling area defined in a moving environment, and can be widely applied to an autonomous traveling device that travels while avoiding obstacles existing in the traveling area.
100 自律走行装置
B     本体
1     走行部
11   走行モータ
111 エンコーダ
13   主輪
3     清掃部
31   洗浄液吐出口
311 洗浄液供給タンク
313 洗浄液供給ポンプ
33   スキージ
331 吸引モータ
333 回収部材
33a 吸引口
35   洗浄用部材
351 洗浄用部材回転モータ
5     制御部
41a 前方検出器
41b 後方検出器
43   障害物検出部
51   清掃制御部
53   走行制御部
531 走行切替部
533 モータ制御部
55   制御統括部
551 SLAM部
553 経路作成部
555 走行再現部
57   記憶部
7     走行経路教示部
71a、71b       ハンドル
73   筐体
75   走行制御指令算出部
8     取付部材
9     設定部
91   切替部
92   手動操作記憶スイッチ
93   設定操作部
94   設定変換部
95   ディスプレイ
96   清掃条件教示部
97   清掃制御指令算出部
500 走行スケジュール
EV   移動環境
TA   走行領域
W     壁
WI   障害物情報
BO’ 外周
GM   グローバルマップ
SM  経路作成用マップ
BO   外周境界
L1   第1線分
L2   第2線分
LM   最大長さ線分
RA   領域
RA1~RA4       領域
100 Autonomous traveling device B Main body 1 Traveling unit 11 Traveling motor 111 Encoder 13 Main wheel 3 Cleaning unit 31 Cleaning liquid discharge port 311 Cleaning liquid supply tank 313 Cleaning liquid supply pump 33 Squeegee 331 Suction motor 333 Recovery member 33a Suction port 35 Cleaning member 351 Cleaning Member rotation motor 5 Control unit 41a Front detector 41b Rear detector 43 Obstacle detection unit 51 Cleaning control unit 53 Travel control unit 531 Travel switching unit 533 Motor control unit 55 Control control unit 551 SLAM unit 555 Route creation unit 555 Travel reproduction unit 57 Storage unit 7 Travel route teaching unit 71a, 71b Handle 73 Housing 75 Travel control command calculation unit 8 Mounting member 9 Setting unit 91 Switching unit 92 Manual operation storage switch 93 Setting operation unit 94 Setting conversion unit 95 Display 96 Cleaning condition teaching unit 97 Cleaning control command calculation unit 500 Travel schedule EV Travel environment TA Travel area W Wall WI Obstacle information BO'Outer circumference GM Global map SM Route creation map BO Outer circumference boundary L1 First line segment L2 Second line segment LM Maximum length line Minute RA area RA1 to RA4 area

Claims (8)

  1.  移動環境内に定められた走行領域を塗り潰すように自律走行可能な自律走行体のための自律走行経路計画方法であって、
     前記走行領域を所定の角度ごと回転させて、各角度における前記走行領域の2つの境界を結ぶ線分であって所定の基準軸と平行な第1線分と前記走行領域の境界とが直交するとの第1条件を満たすか否かを判定するステップと、
     前記第1線分の長さが、前記走行領域の2つの境界を結ぶ線分のうち最大の長さを有する最大長さ線分の長さの所定割合以上であるとの第2条件を満たすか否かを判定するステップと、
     前記第1条件と前記第2条件とを満たすときの前記走行領域の回転角度に基づいて、前記走行領域の長手方向である主方向を決定するステップと、
     前記主方向に延びる第1経路と前記第1経路の始点及び/又は終点と接続される第2経路とを組み合わせて前記走行領域内を塗り潰すように塗り潰し走行経路を作成するステップと、
     を備えた自律走行経路計画方法。
    It is an autonomous travel route planning method for an autonomous vehicle that can autonomously travel so as to fill the travel area defined in the moving environment.
    When the traveling region is rotated by a predetermined angle, the first line segment connecting the two boundaries of the traveling region at each angle and parallel to the predetermined reference axis and the boundary of the traveling region are orthogonal to each other. And the step of determining whether or not the first condition of
    The second condition that the length of the first line segment is equal to or more than a predetermined ratio of the length of the maximum length line segment having the maximum length among the line segments connecting the two boundaries of the traveling region is satisfied. Steps to determine whether or not
    A step of determining the principal direction, which is the longitudinal direction of the traveling region, based on the rotation angle of the traveling region when the first condition and the second condition are satisfied.
    A step of combining the first path extending in the main direction and the second path connected to the start point and / or the end point of the first path to create a filled traveling path so as to fill the inside of the traveling area.
    Autonomous driving route planning method equipped with.
  2.  前記走行領域に複数のセルを配置するステップをさらに備え、
     前記第1線分は、前記走行領域の境界上に存在する2つのセルの代表点を結ぶ線分であり、
     前記最大長さ線分は、前記走行領域の境界上に存在する2つのセルの代表点を結ぶ線分のうち最大の長さを有する線分である、
     請求項1に記載の自律走行経路計画方法。
    Further provided with a step of arranging a plurality of cells in the traveling area,
    The first line segment is a line segment connecting representative points of two cells existing on the boundary of the traveling region.
    The maximum length line segment is a line segment having the longest length among the line segments connecting the representative points of the two cells existing on the boundary of the traveling region.
    The autonomous travel route planning method according to claim 1.
  3.  前記第1条件を満たすか否かを判定するステップは、
     各角度における走行領域に対して定められた2つの前記第1線分のうちの一方と当該角度における走行領域の第1境界とが交わる第1交点と、2つの前記第1線分のうちの他方と前記第1境界とが交わる第2交点と、を結ぶ第2線分を決定するステップと、
     前記第2線分と前記第1線分とが直交する場合に前記第1条件を満たすと決定するステップと、
     を有する、請求項1又は2に記載の自律走行経路計画方法。
    The step of determining whether or not the first condition is satisfied is
    Of the first intersection where one of the two first line segments defined for the traveling region at each angle intersects with the first boundary of the traveling region at that angle, and of the two first line segments. A step of determining a second line segment connecting the other and the second intersection where the first boundary intersects.
    A step of determining that the first condition is satisfied when the second line segment and the first line segment are orthogonal to each other.
    The autonomous travel route planning method according to claim 1 or 2.
  4.  前記第2条件を満たすか否かを判定するステップは、
     各角度における走行領域に対して定められた複数の前記第1線分のうち、前記最大長さ線分の長さの所定割合以上の長さを有する前記第1線分の長さの積算値を算出するステップと、
     前記積算値が最大である場合に前記第2条件を満たすと決定するステップと、
     を有する、請求項1~3のいずれかに記載の自律走行経路計画方法。
    The step of determining whether or not the second condition is satisfied is
    An integrated value of the lengths of the first line segments having a length equal to or greater than a predetermined ratio of the lengths of the maximum length line segments among the plurality of first line segments defined for the traveling region at each angle. And the steps to calculate
    The step of determining that the second condition is satisfied when the integrated value is the maximum, and
    The autonomous travel route planning method according to any one of claims 1 to 3.
  5.  前記第1線分の長さの積算値を算出するステップは、
     前記所定の基準軸と平行でありかつ所定の距離だけ離れた2つの直線で定められる領域内に含まれる前記第1線分を、前記積算値の算出に用いる前記第1線分として選択するステップを含む、
     請求項4に記載の自律走行経路計画方法。
    The step of calculating the integrated value of the length of the first line segment is
    A step of selecting the first line segment included in a region defined by two straight lines parallel to the predetermined reference axis and separated by a predetermined distance as the first line segment used for calculating the integrated value. including,
    The autonomous travel route planning method according to claim 4.
  6.  前記第2条件を満たすか否かを判定するステップは、
     前記第1条件を満たす主方向の候補のうち前記第1線分の長さが最大である候補を、前記第2条件を満たす主方向の候補とするステップを含む、請求項1~3のいずれかに記載の自律走行経路計画方法。
    The step of determining whether or not the second condition is satisfied is
    Any of claims 1 to 3, including a step of making a candidate having the maximum length of the first line segment among the candidates for the principal direction satisfying the first condition as a candidate for the principal direction satisfying the second condition. The autonomous travel route planning method described in Crab.
  7.  前記走行領域を複数の領域に分割するステップをさらに備え、前記主方向を決定するステップは、前記複数の領域の各々について実行される、請求項1~6のいずれかに記載の自律走行経路計画方法。 The autonomous travel route plan according to any one of claims 1 to 6, further comprising a step of dividing the travel region into a plurality of regions, and the step of determining the principal direction is executed for each of the plurality of regions. Method.
  8.  前記主方向が同じでありかつ互いに隣接する複数の領域を結合するステップをさらに備える、請求項7に記載の自律走行経路計画方法。 The autonomous travel route planning method according to claim 7, further comprising a step of connecting a plurality of regions having the same principal direction and adjacent to each other.
PCT/JP2021/034563 2020-09-23 2021-09-21 Autonomous travel route planning method WO2022065297A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-158881 2020-09-23
JP2020158881A JP2023164760A (en) 2020-09-23 2020-09-23 Autonomous travel route planning method

Publications (1)

Publication Number Publication Date
WO2022065297A1 true WO2022065297A1 (en) 2022-03-31

Family

ID=80845443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034563 WO2022065297A1 (en) 2020-09-23 2021-09-21 Autonomous travel route planning method

Country Status (2)

Country Link
JP (1) JP2023164760A (en)
WO (1) WO2022065297A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018116614A (en) * 2017-01-20 2018-07-26 株式会社クボタ Traveling route generating device and traveling route generating program
JP2019101932A (en) * 2017-12-06 2019-06-24 ヤンマー株式会社 Target route generation system for work vehicle

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018116614A (en) * 2017-01-20 2018-07-26 株式会社クボタ Traveling route generating device and traveling route generating program
JP2019101932A (en) * 2017-12-06 2019-06-24 ヤンマー株式会社 Target route generation system for work vehicle

Also Published As

Publication number Publication date
JP2023164760A (en) 2023-11-13

Similar Documents

Publication Publication Date Title
JP6673486B2 (en) Travel route creation method, autonomous traveling device, and program
US9931010B2 (en) Autonomously traveling floor washer, cleaning schedule data structure, storage medium, method for creating cleaning schedule, and program
EP3602223B1 (en) System and method for robotic path planning
JP3217281B2 (en) Robot environment recognition apparatus and control method thereof
KR102504729B1 (en) Autonomous map driving using waypoint matching
CN106535614A (en) Robotic mowing of separated lawn areas
US20160274588A1 (en) Autonomous traveling vehicle and reproduction travel method
EP2296072A2 (en) Asymmetric stereo vision system
JP2011138502A (en) System and method for area coverage using sector decomposition
JP2004326692A (en) Autonomous travelling robot
US11537141B2 (en) Robotic cleaning device with dynamic area coverage
WO2021106331A1 (en) Autonomous traveling dolly, control method, and program
WO2022065297A1 (en) Autonomous travel route planning method
WO2022054647A1 (en) Traveling region determination method and autonomous traveling body
US20230195121A1 (en) Path generating method, program, path generating device, and autonomous mobile body
JP7459497B2 (en) Route planning device, route planning method, and autonomous traveling trolley
WO2022038823A1 (en) Autonomous travel route planning method, autonomous traveling method, and program
EP4242770A1 (en) Autonomous travel path planning method
JP7484669B2 (en) Method for storing driving instruction for autonomous vehicle, autonomous vehicle, and recording medium
JP7461801B2 (en) Cleaning device, program and display terminal
JP2024076018A (en) Autonomous driving device and method for evaluating its validity
CN116687271A (en) Intelligent ground garbage detection and quick cleaning system and method
JP2024062748A (en) Autonomous mobile body control system, autonomous mobile body control method, and autonomous mobile body control program
Azkune et al. A navigation system for a high-speed professional cleaning robot

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21872426

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21872426

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP