WO2022097335A1 - 自律走行経路計画方法 - Google Patents

自律走行経路計画方法 Download PDF

Info

Publication number
WO2022097335A1
WO2022097335A1 PCT/JP2021/029314 JP2021029314W WO2022097335A1 WO 2022097335 A1 WO2022097335 A1 WO 2022097335A1 JP 2021029314 W JP2021029314 W JP 2021029314W WO 2022097335 A1 WO2022097335 A1 WO 2022097335A1
Authority
WO
WIPO (PCT)
Prior art keywords
traveling
autonomous
travel
route
unit
Prior art date
Application number
PCT/JP2021/029314
Other languages
English (en)
French (fr)
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 村田機械株式会社
Priority to EP21888888.1A priority Critical patent/EP4242770A1/en
Priority to US18/033,852 priority patent/US20230397789A1/en
Publication of WO2022097335A1 publication Critical patent/WO2022097335A1/ja

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/20Control system inputs
    • G05D1/22Command input arrangements
    • G05D1/229Command input data, e.g. waypoints
    • G05D1/2297Command input data, e.g. waypoints positional data taught by the user, e.g. paths
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • 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
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/246Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
    • G05D1/2464Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM] using an occupancy grid
    • 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/60Intended control result
    • G05D1/648Performing a task within a working area or space, e.g. cleaning
    • G05D1/6482Performing a task within a working area or space, e.g. cleaning by dividing the whole area or space in sectors to be processed separately
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2105/00Specific applications of the controlled vehicles
    • G05D2105/10Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles

Definitions

  • the present invention relates to an autonomous traveling route planning method, and more particularly to a method of planning a traveling route of an autonomous traveling body.
  • an autonomous traveling body that autonomously travels according to a route plan from a traveling start position to a traveling end position.
  • the autonomous traveling floor scrubber follows the instructed cleaning conditions while autonomously traveling on the instructed traveling route by reproducing the traveling route and the cleaning conditions taught by the user's operation. Perform cleaning autonomously.
  • a traveling schedule is created by projecting a filled traveling target area of an environmental map onto grid coordinates of a predetermined size and determining the order of passing through the grid (for example, Patent Document). See 1).
  • the body of an autonomous vehicle has different length and width sizes, for example, it is rectangular in a plan view. Therefore, when the filled route plan is grid-based, the vehicle travels in a place where the orientation of the aircraft during teaching driving and the orientation of the aircraft during painted traveling are different (for example, in a place where the aircraft makes a U-turn). The aircraft may deviate outward from the outer boundary of the area. In addition, if the painting plan is performed within the range where the body of the autonomous vehicle does not deviate (for example, simply shrinking the target area for painting), unpainted parts will be left near the outer periphery.
  • An object of the present invention is to prevent the autonomous traveling body from deviating from the outer peripheral boundary of the traveling region in the grid-based autonomous traveling route planning.
  • the seemingly autonomous travel route planning method of the present invention is a method of planning a route in which an autonomous traveling body autonomously travels, and includes the following steps.
  • ⁇ Step to create a grid area with the position corresponding to the innermost inner circumference path as the boundary.
  • the rotational movement distance is the movement locus of the midpoint of the wheel when the vehicle body turns.
  • one or a plurality of inner circuit routes corresponding to at least a part of the deviation width are created, and further, a filled traveling route is created in the grid area.
  • a travel route is planned in which the autonomous vehicle can travel so as not to deviate from the outer peripheral boundary of the travel region.
  • the inner circuit paths may be independent of each other in a plurality of cases, or some of them may overlap with each other.
  • the maximum number required to cover the entire deviation width may be calculated.
  • the deviation width is surely covered by the inner circumference path.
  • the size of the deviation width may change depending on the location, but by creating the maximum number of inner circumference paths required to cover the deviation width, unpainted areas will not occur.
  • the traveling area may be acquired by teaching the boundary of the traveling area by the autonomous traveling body and creating the outer peripheral teaching route.
  • the method may further comprise the following steps: ⁇ A step of continuously connecting the outer peripheral circuit route, the filled traveling route, and the inner peripheral circuit route created based on the outer peripheral teaching route to determine as an autonomous traveling route.
  • an autonomous traveling route including an outer peripheral circuit route is planned.
  • the method may further comprise the following steps: ⁇ Step to set the start position of the filled travel route on the outer peripheral circuit route ⁇ Step to set the end position of the filled travel route to the vicinity of the start position inside the outer peripheral circuit route.
  • ⁇ Step to set the end position of the filled travel route to the vicinity of the start position inside the outer peripheral circuit route.
  • the method may further comprise the following steps: ⁇ Steps to create a test drive route for detecting environmental changes.
  • ⁇ Steps to make an autonomous vehicle travel a test route Conventionally, when an environmental change occurs in a filled-in running, the self-position is lost on the way, and the running is stopped in order to prevent the autonomous traveling body from being unable to follow the planned running route. In this case, it is necessary to re-instruct the traveling range and create a route for the unpainted areas including the vicinity of the stop point. In this method, by letting the autonomous vehicle travel on the test travel route, it is possible to detect environmental changes in advance of the filled-in travel. Therefore, unlike the conventional case, it is less likely to be affected by environmental changes during actual autonomous driving.
  • the method may further comprise the following steps: ⁇ A step to notify the environmental change detected by the autonomous vehicle while traveling on the test driving route. In this way, the user can immediately notice the environmental change.
  • the method may further comprise the following steps: ⁇ A step to stop the test drive after the autonomous vehicle detects environmental changes while traveling on the test drive route.
  • the user can immediately start re-teaching the traveling range.
  • the method may further comprise the following steps: ⁇ A step to return the autonomous vehicle to a point on the test drive route after stopping the test drive.
  • the user can immediately start re-teaching the traveling range.
  • the method may further comprise the following steps: ⁇ A step to move the autonomous vehicle to a point in the travel area after stopping the test drive.
  • ⁇ A step to move the autonomous vehicle to a point in the travel area after stopping the test drive for example, when the test run start position and the fill start position are different, the autonomous traveling body can be moved to the fill start position.
  • the autonomous traveling body in the grid-based autonomous travel route planning, can be prevented from deviating from the outer peripheral boundary of the traveling region.
  • the figure which shows an example of a driving environment. A diagram showing a state in which a grid layer is projected on a global map and the traveling area is further overlapped.
  • the figure which shows an example of the route in a traveling area. A flowchart showing the operation of the autonomous driving device when the autonomous driving mode is executed.
  • a flowchart showing a route creation control operation in a rectangular area. A schematic plan view showing the relationship between the outer peripheral circuit path, the first grid area, the second grid area, the inner circuit path, and the filled path.
  • FIG. 1 An environmental map showing the travel route in the conventional example.
  • the flowchart which shows the test run path creation and test run control operation of 3rd Embodiment.
  • Schematic plan view of the test drive path The schematic plan view of the test running path of the 1st modification.
  • the schematic plan view of the test running path of the 2nd modification The schematic plan view of the test running path of the 3rd modification.
  • the schematic plan view of the test running path of the 4th modification The schematic plan view of the test running path of the 5th modification.
  • the schematic plan view of the test running path of the 6th modification The schematic plan view of the test running path of the 7th modification.
  • 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 autonomous traveling device 100 can perform a cleaning operation of polishing the floor surface F with the cleaning member 35 using the cleaning liquid.
  • 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.
  • 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. As a result, 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 a configuration of a 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, the cleaning condition and the traveling route executed by the manual operation of the operator are set to the autonomous traveling device 100.
  • the manual operation teaching mode to be taught in is started as a sub-operation mode of the manual operation mode. On the other hand, if the manual operation storage switch 92 is switched while the manual operation teaching mode is being executed, the manual operation teaching mode is stopped.
  • the manual operation storage switch 92 can 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 or the like, 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 display various setting procedures when various settings of the autonomous traveling device 100 are performed by the setting operation unit 93. As a result, information about the autonomous traveling device 100 is visually provided to the user, and the user can operate the setting unit 9 based on the displayed information.
  • 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 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 which position of the floor surface F based on the information acquired by the front detector 5551a, the rear detector 5551b, 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 travel mode and associate it with the travel 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.
  • FIG. 5 is a diagram showing a detailed configuration 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
  • 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 feeds it back to calculate the driving power to be output to the traveling motor 11. Therefore, 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.
  • PI Proportional Integral
  • PID Proportional Integral Differential
  • a traveling motor 11 and a main wheel 13 are provided at each of the left and right ends of the bottom 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.
  • the motor control unit 533 may be one of the plurality of computer systems. That is, only the function of the motor control unit 533 may be realized by one computer system.
  • the motor control unit 533 is, for example, a motor control device using PI control theory or PID control theory.
  • FIG. 6 is a diagram showing a detailed configuration of the control control unit.
  • the control control unit 55 has a traveling area acquisition unit 551.
  • the traveling area acquisition unit 551 receives position information estimated by the SLAM unit 555 from the SLAM unit 555 (described later) at predetermined time intervals (for example, every control cycle in the control unit 5) when the manual operation teaching mode is executed. Enter (described later).
  • the traveling area acquisition unit 551 acquires the traveling area TA representing the area in which the autonomous traveling device 100 travels in the traveling environment as a sequence of points of a plurality of acquired position information.
  • the traveling area acquisition unit 551 outputs the acquired point sequence of the plurality of position information to the traveling area route creating unit 553 as a point sequence representing the outer peripheral boundary of the traveling area TA.
  • the traveling area acquisition unit 551 may display the global map GM (map information representing the traveling environment) created in advance on the display 95. At this time, the traveling area acquisition unit 551 may instruct the operator to draw a closed area representing the traveling area TA on the global map GM displayed on the display 95.
  • the traveling area acquisition unit 551 may instruct the operator to draw a closed area representing the traveling area TA on the global map GM displayed on the display 95.
  • the control control unit 55 has an in-travel area route creation unit 553 (an example of a route planning device).
  • the route creation unit 553 in the travel area 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 acquired from the travel area acquisition unit 551. , Stored in the storage unit 57.
  • the travel area route creation unit 553 has a grid creation unit 5531, a travel order determination unit 5532, a deviation width calculation unit 5533, a deviation determination unit 5534, and a travel route planning unit 5535.
  • the grid creation unit 5531 divides the target area to be filled and run in the global map GM with a grid of a predetermined size. Specifically, the grid creation unit 5531 projects the global map GM on the grid layer GL, which is a coordinate axis different from the global map GM, and divides the target area on the grid layer GL by a grid GR of a predetermined size. Since the grid layer GL and the global map GM can be managed separately in this way, work efficiency is good. One or more target areas on the grid layer GL are set in the global map GM.
  • the running order determination unit 5532 determines the running order on the grid GR, which is the running target.
  • the traveling order is the order of the grid GR through which the autonomous traveling device 100 passes.
  • the travel route planning unit 5535 plans a travel route that passes through the grid that is the selected travel target (described later).
  • the control control unit 55 has a SLAM unit 555.
  • the SLAM unit 555 contains information on obstacles existing in front of the autonomous traveling device 100 acquired by the front detector 5551a (FIG. 1) provided in front of the main body B, and rear detection provided in the rear of the main body B.
  • On the predetermined coordinates of the autonomous traveling device 100 based on the information on the obstacle existing behind the autonomous traveling device 100 acquired by the device 5551b (FIG. 1) and the rotation amount of the traveling motor 11 acquired by the encoder 111. Estimate the information (position information) about the position of.
  • the front detector 5551a and the rear detector 5551b are, for example, laser range finders (Laser Range Finder, LRF) whose detection range is 180 ° or more.
  • LRF Laser Range Finder
  • the information acquired by the front detector 5551a and the rear detector 5551b may be two-dimensional information indicating the position of the obstacle on a predetermined plane, or may be the presence of the obstacle in the height direction. It may be three-dimensional information including information indicating a position.
  • the control control unit 55 has a travel reproduction unit 557.
  • the autonomous travel device 100 When the travel reproduction unit 557 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 555. A control command (reproduced driving control command) for autonomously traveling on the traveled route is calculated.
  • the travel reproduction unit 557 outputs the calculated reproduction travel control command to the travel control unit 53.
  • the travel reproduction unit 557 may output the cleaning conditions associated with the travel schedule 500 to the cleaning control unit 51.
  • the details of the configuration of the SLAM unit 555 will be described with reference to FIG.
  • the SLAM unit 555 executes the estimation of the position (position information) of the traveling unit 1 (autonomous traveling device 100) and the creation of map information by the SLAM (Simultaneus Localization and Mapping) method.
  • the SLAM unit 555 has a map creation unit 5553.
  • the map creation unit 5553 uses map information using information on the front obstacle (for example, a wall) acquired by the front detector 5551a and information on the rear obstacle acquired by the rear detector 5551b. To create.
  • the map information is used when the position estimation unit 5555 estimates the position information.
  • map information there are a local map and a global map GM (an example of an environmental map).
  • the local map is map information about obstacles (existence positions) existing around the traveling unit 1.
  • the local map is created by converting the coordinates of the information about the front obstacle acquired by the front detector 5551a and the information about the rear obstacle acquired by the rear detector 5551b as necessary. To.
  • the global map GM is map information regarding obstacles (existence positions) existing in the environment (driving environment) in which the traveling unit 1 travels.
  • the global map GM is generated based on the local map acquired when the point sequence of the position information representing the traveling area TA is acquired at the time of executing the manual operation teaching mode of traveling by the operation of the operator. That is, the global map GM is created by the autonomous traveling device 100 performing the teaching traveling, and the target area to be filled and traveling is defined by the traveling locus at the time of the teaching traveling.
  • the map creation unit 5553 creates a global map GM by arranging the local map acquired together with the point sequence of the position information representing the traveling area TA at the position corresponding to the position information.
  • the map creation unit 5553 modifies the global map GM created by arranging the local map at the corresponding position.
  • the global map is modified as follows.
  • the cartographic unit 5553 relates to information about obstacles acquired by the front detector 5551a and / or obstacles acquired by the rear detector 5551b at the start and end of the manual operation teaching mode. Get information.
  • the map creation unit 5553 starts and ends the manual operation teaching mode based on the difference between the information about the obstacle obtained at the start of the manual operation teaching mode and the information about the obstacle obtained at the end.
  • the deviation of the actual position of the traveling unit 1 at the time is calculated.
  • the map creation unit 5553 corrects the placement position of the local map using an algorithm such as GraphSLAM based on the calculated deviation of the actual position, and places the local map at the corrected new placement position. , Create a new global map GM.
  • the map creation unit 5553 also corrected the position information (coordinate value) of the point sequence representing the traveling area TA acquired by executing the manual operation teaching mode at the same time by using an algorithm such as Graph SLAM.
  • the point sequence of new position information may be a point sequence representing the traveling area TA.
  • the global map GM may be created by using dedicated software, CAD, or the like and stored in the storage unit 57.
  • the global map created by the software or the like is converted into data that can be interpreted by the control unit 5 of the traveling unit 1.
  • the SLAM unit 555 has a position estimation unit 5555.
  • the position estimation unit 5555 is based on the global map generated by the map creation unit 5555, the local map, and the rotation amount of the traveling motor 11, and the existing position of the traveling unit 1 on predetermined coordinates and the traveling unit at the position. Estimate the position information related to the posture of 1.
  • the location information is estimated as follows.
  • the case where the traveling unit 1 moves from the (estimated) position at a predetermined time (time tk) and the position where the traveling unit 1 arrives at the next time (time tk + 1) is estimated.
  • the position estimation unit 5555 calculates the rotation amount of the main wheel 13 from the time tk to the time tk + 1 from the number of pulses output from the encoder 111 between the time tk and the time tk + 1, and the rotation amount is the same. Based on the above, the movement distance and the attitude change of the traveling portion 1 due to the rotation of the main wheel 13 are estimated (dead reckoning).
  • the position estimation unit 5555 determines the posterior probability at time tk (corresponding to the probability distribution representing the relationship between the position of the traveling unit 1 and the probability that the traveling unit 1 exists at the position at time tk).
  • the prior probability at time tk + 1 is calculated by moving the traveling portion 1 by the movement distance and the posture change due to the rotation of the main wheel 13.
  • the position estimation unit 5555 expands the width (standard deviation) of the probability distribution of posterior probabilities after movement by the amount of movement distance and attitude change due to the rotation of the main wheel 13, and the prior probability at time tk + 1. May be. Thereby, the prior probability considering the slip between the main wheel 13 and the floor surface F can be calculated.
  • the position estimation unit 5555 acquires the local map and the global map at the time tk + 1 from the map creation unit 5553, map-matches the local map and the global map GM at the time tk + 1, and position information of the traveling unit 1 at the time tk + 1. To estimate.
  • a local map at time tk + 1 is placed at some positions near the estimated position calculated based on the rotation amount of the main wheel 13, and the local map is used as the local map.
  • Map matching is performed by rotating the map by an angle corresponding to the attitude change that can be taken around the center.
  • the position estimation unit 5555 corresponds to the likelihood (the relationship between the position where the local map information is arranged and the degree of matching between the global map GM and the local map information at the position). ) Is calculated.
  • the position estimation unit 5555 calculates the posterior probability at time tk + 1 by multiplying the likelihood by the prior probability at time tk + 1.
  • the position estimation unit 5555 may take a position and a posture in which the posterior probability at time tk + 1 is the maximum value, that is, a position where the traveling unit 1 is most likely to exist, and a traveling unit 1 at that position.
  • the most probable posture is estimated to be the existing position (estimated position) of the traveling unit 1 at time tk + 1 and the posture (estimated posture) at the existing position.
  • the posterior probabilities at time tk + 1 are used as prior probabilities in the next position estimation.
  • the position estimation unit 5555 estimates the position using the movement distance based on the rotation amount of the main wheel 13 and the map information obtained by using the front detector 5551a and the rear detector 5551b.
  • the error included in the movement distance based on the rotation amount of the main wheel 13 mainly due to the slip between the main wheel 13 and the floor surface F
  • the error included in the map information mainly.
  • Due to the noise component included in the information acquired by the front detector 5551a and the rear detector 5551b), and the position estimation can be performed with high accuracy.
  • the SLAM unit 555 has an elapsed time determination unit 5557.
  • the elapsed time determination unit 5557 determines the elapsed time from the start of execution of the autonomous driving mode. Specifically, the elapsed time determination unit 5557 determines the elapsed time from the start of execution of the autonomous traveling mode based on the position information estimated by the position estimation unit 5555. More specifically, for example, among the position information stored in the travel schedule 500, the time associated with the position information closest to the position information of the travel unit 1 estimated by the position estimation unit 5555 is autonomously set. It is the elapsed time from the start of execution of the driving mode.
  • FIG. 8 is a flowchart showing the basic operation of the autonomous traveling device.
  • the control unit 5 confirms the state of the switching unit 91.
  • the switching unit 91 selects "automatic” (in the case of "autonomous driving mode")
  • the process shifts to step S2 and the autonomous driving mode is executed.
  • the autonomous traveling device 100 autonomously executes the cleaning work according to the traveling schedule 500 stored in the storage unit 57.
  • the control unit 5 determines that the operation mode to be executed is the manual operation mode.
  • step S3 it is determined whether or not it is detected that the manual operation storage switch 92 is pressed while the manual operation mode is being executed. If detected, the process proceeds to step S4, and the operation mode is switched to the manual operation teaching mode. As a result, the operation of the traveling unit 1 by the operator after the timing when the manual operation storage switch 92 is pressed is stored.
  • control control unit 55 creates a travel schedule 500 for the autonomous travel device 100 to travel in the travel area TA determined by the operation of the travel unit 1 by the operator.
  • step S5 the process proceeds to step S5 and maintains the execution of the manual operation mode in which the operation of the operator is not memorized.
  • the control unit 5 monitors whether or not the manual operation storage switch 92 is pressed.
  • the operation mode is switched to the manual operation mode at that timing, and the cleaning work after that timing is not stored in the travel schedule 500. That is, by pressing the manual operation storage switch 92 during the execution of the manual operation teaching mode, the operator can stop the storage (teaching) at an arbitrary timing during the cleaning work.
  • 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. 9 is a flowchart showing the operation of the manual operation teaching mode.
  • FIG. 10 is an example of a driving environment.
  • FIG. 11 is a diagram showing a state in which a grid layer is projected on a global map and a traveling area is further overlapped.
  • FIG. 12 is a diagram showing an example of how the traveling area is defined on the global map.
  • FIG. 13 is a diagram showing an example of a route in the traveling region. In the following description, a route within the traveling area that "fills" the inside of the traveling area TA set in the traveling environment as shown in FIG. 10 is planned and created as a traveling schedule 500.
  • step S11 in creating the travel schedule 500 in the manual operation teaching mode, the control control unit 55 creates a global map GM representing the travel environment.
  • the manual operation teaching mode is started.
  • the operator operates the autonomous traveling device 100 by using the traveling route teaching unit 7.
  • the operator drives the autonomous traveling device 100 along the outer peripheral boundary of the region desired to be the traveling region TA.
  • the map creation unit 5553 acquires a local map at predetermined time intervals. As shown in FIG. 10, after the autonomous traveling device 100 travels from the starting point ST where the traveling starts, travels on a closed route as the outer peripheral boundary of the traveling region TA, and returns to the starting point ST or its vicinity again.
  • the map creation unit 5553 arranges the acquired local map at a corresponding position and creates a global map GM. After that, the map creation unit 5553 modifies the global map GM by using the Graph SLAM algorithm or the like, if necessary.
  • a grid layer GL corresponding to the global map GM is prepared.
  • the grid layer GL is appropriately created by the grid creation unit 5531.
  • the grid layer GL is an aggregate of a large number of grid GRs.
  • the grid GR corresponds to a small area having a predetermined area in the traveling environment.
  • the grid size is, for example, 50 ⁇ 50 cm. Since the grid layer GL, which is a coordinate axis different from the global map GM, is used in this way, both can be managed separately, and therefore the work efficiency is good.
  • the grid GR is assigned to, for example, a parameter related to the grid (for example, a parameter for identifying the grid GR, position information of the grid GR, valid / invalid of the grid GR, and the grid GR). It can be defined as a "structure" that includes scores, etc.).
  • step S12 after the global map GM is created, the traveling area TA representing the area in which the autonomous traveling device 100 travels in the traveling environment is defined on the global map GM.
  • the traveling area TA is defined on the global map GM as follows.
  • the traveling region acquisition unit 551 informs the position estimation unit 5555 at predetermined time intervals.
  • the estimated position information is acquired as a point representing the outer peripheral boundary of the traveling region TA.
  • the traveling area acquisition unit 551 acquires the traveling area acquisition unit 551 until the autonomous traveling device 100 travels along the route shown by the dotted line from the starting point ST (FIG. 10) and returns to the starting point ST or its vicinity.
  • a plurality of position information can be acquired as a dotted line representing the outer peripheral boundary of the traveling area TA.
  • the traveling area acquisition unit 551 outputs a point sequence of position information representing the outer peripheral boundary of the traveling area TA to the traveling area in-route creation unit 553.
  • the route creation unit 553 in the traveling area arranges a sequence of points representing the outer peripheral boundary of the traveling area TA on the global map GM (actually, the grid layer GL).
  • Which grid of the grid layer GL the position information representing the outer boundary of the traveling area TA is arranged is determined, for example, at which coordinate value the grid GR exists in the coordinate system in which the position information (global map) is defined. Can be determined by
  • the route creation unit 553 in the traveling area has a grid GR in the traveling area TA (white grid in FIG. 12) and a grid in which the dotted lines of the traveling area TA are on the grid (FIG. 12).
  • the white grid is determined to be the valid grid, and the other grid GRs are determined to be the invalid grid (gray grid in FIG. 12).
  • the route creation unit 553 in the traveling area makes the traveling area TA a large number of effective grids (white in FIG. 12) by newly setting the grid GR not included in the traveling area TA as an invalid grid. It can be defined on the global map GM as an area composed of grid GR).
  • the route creation unit 553 in the travel area divides the travel area TA into a rectangular area (rectangular area RA). In dividing the traveling region TA into the rectangular region RA, the route creating unit 553 in the traveling region searches for a portion of the traveling region TA in which the rectangular region RA exists.
  • the route creating unit 553 in the traveling area sets the path in the rectangular area (in the rectangular area RA1 to RA3) in the rectangular areas RA1 to RA3 with respect to the rectangular areas RA1 to RA3.
  • Determine the starting point grid (described later).
  • the starting point grids of the other rectangular regions RA2 and RA3 are determined in step S17 described later.
  • step S15 the route creation unit 553 in the traveling region starts from the starting point grid and creates a route in the rectangular region which is a traveling route passing through all the effective grids included in each of the target rectangular regions RA1 to RA3.
  • step S16 the route creation unit 553 in the traveling region determines whether or not there are rectangular regions RA1 to RA3 for which the route in the rectangular region has not been created yet. If the rectangular areas RA1 to RA3 for which the path in the rectangular area is not created does not exist, the manual operation teaching mode is terminated.
  • step S17 it is determined which rectangular regions RA2 and RA3 are to be driven by the autonomous traveling device 100.
  • step S18 the route creation unit 553 in the travel region creates a travel route (connection travel route) connecting the end point grid of the rectangular region RA1 and the start point grid of the rectangular region RA3 determined to be traveled next. ..
  • the above steps S15 to S18 are repeatedly executed until the route in the rectangular region is created in all the rectangular regions RA1 to RA3.
  • the autonomous traveling device 100 travels evenly in the set traveling area TA as shown by the thick arrow in FIG. A route is created.
  • the route creating unit in the traveling area 553 converts the created route in the traveling area into a set of passing points (for example, subgoals) through which the autonomous traveling device 100 passes (described later). After that, the route creation unit 553 in the traveling area associates the time for passing the passing point with each passing point generated by converting the route in the traveling area, and further, if necessary, cleaning conditions at each passing point. Is associated with the corresponding passing point to create a travel schedule 500.
  • the autonomous traveling device 100 travels evenly in the traveling area TA by an easy method of designating the traveling area TA on the global map GM representing the driving environment. It is possible to accurately create a travel route that can be created, that is, a route within the travel region.
  • FIG. 14 is a flowchart showing the operation of the autonomous traveling device when the autonomous traveling mode is executed.
  • the autonomous traveling device 100 When “automatic” is selected in the switching unit 91 and the autonomous driving mode is executed, the autonomous traveling device 100 starts the autonomous traveling mode in which the vehicle autonomously travels according to the traveling schedule 500. Specifically, the autonomous driving mode is executed as follows.
  • m indicates the control for the m-th run.
  • step S21 the SLAM unit 555 acquires information on the front obstacle and information on the rear obstacle from the front detector 5551a and the rear detector 5551b.
  • step S22 the position estimation unit 5555 is based on the rotation amount of the traveling motor 11 measured by the encoder 111, the global map GM, and the local map obtained based on the information acquired in step S21 above.
  • the position of the traveling unit 1 on the xy coordinates is estimated. For example, it is assumed that the position of the autonomous traveling device 100 is estimated to be (xm', ym', ⁇ m') on the xy coordinates.
  • step S23 after estimating the position of the traveling unit 1, the elapsed time determining unit 5557 determines the elapsed time tm from the start of execution of the autonomous traveling mode.
  • step S24 the travel reproduction unit 557 calculates the reproduction travel control command at the elapsed time tm as follows.
  • the travel reproduction unit 557 reads the position information (xL + 1, yL + 1, ⁇ L + 1) associated with the next time TL + 1 from the travel schedule 500, and uses the reproduction travel control command at the elapsed time tm as the estimated position information. It is calculated based on the difference from the target position information (xL + 1-xm', yL + 1-ym', ⁇ L + 1- ⁇ m').
  • step S25 after calculating the reproduction travel control command, the travel reproduction unit 557 outputs the reproduction travel control command to the travel control unit 53.
  • the travel control unit 53 autonomously moves the travel unit 1 according to the travel schedule 500 by controlling the travel motor 11 based on the received reproduction travel control command.
  • the running reproduction unit 557 calculates the reproduction cleaning conditions and cleans based on the reproduction cleaning conditions.
  • the control unit 51 may be controlled.
  • the travel reproduction unit 557 reads the cleaning conditions (SL, WL, PL) associated with the time TL from the travel schedule 500, and reproduces and cleans the cleaning conditions (SL, WL, PL) in the elapsed time tm. Determined as a condition. After that, the traveling reproduction unit 557 outputs the reproduction cleaning condition to the cleaning control unit 51. As a result, the cleaning unit 3 can be controlled according to the reproduction cleaning conditions.
  • step S26 after controlling the traveling unit 1 based on the reproduction traveling control command, the traveling reproduction unit 557 confirms whether or not all the traveling operations stored in the traveling schedule 500 have been executed. Whether or not all the running operations stored in the running schedule 500 have been completed can be confirmed by detecting, for example, an identifier at the end of the running schedule 500 (for example, an identifier indicating "end of file"). ..
  • step S26 As long as it is determined that all the running operations stored in the running schedule 500 have not been executed (as long as "No" in step S26), the above steps S21 to S25 are repeatedly executed.
  • step S26 when it is determined that all the traveling operations stored in the traveling schedule 500 have been executed, that is, when it is determined that the autonomous traveling device 100 has traveled all the routes in the traveling region ("Yes" in step S26). In the case), the execution of the autonomous driving mode is terminated. As a result, the autonomous traveling device 100 can faithfully reproduce the traveling operation stored in the traveling schedule 500 and autonomously and evenly travel within the set traveling area.
  • the user commands the execution of the autonomous running mode to be stopped. Even in some cases, the execution of the autonomous driving mode may be stopped.
  • FIG. 15 is a flowchart showing a route creation control operation in a rectangular region.
  • 16 to 18 are schematic plan views showing the relationship between the outer peripheral teaching path, the first grid area, the second grid area, the inner peripheral circuit path, and the fill path.
  • the global map GM is acquired by performing the outer circumference teaching running by the autonomous running device 100.
  • FIG. 16 shows the outer peripheral circuit path 21 by the autonomous traveling device 100, and the lower side of the outer peripheral circuit path 21 is the traveling area TA.
  • the outer peripheral circumference path 21 is a path that goes around the outer circumference from the start position of the outer circumference teaching. This is not a grid route, but a route planned by a free route plan based on an outer peripheral teaching route (actual traveling locus at the time of teaching traveling). In this embodiment, the outer peripheral circuit path 21 uses the outer peripheral teaching path as it is.
  • the outer peripheral circuit path is created from the outer peripheral teaching path.
  • a traveling area is specified on the GUI (that is, an outer peripheral teaching route is created), and then an outer peripheral circumference route is created based on the taught outer circumference.
  • the autonomous traveling device 100 can travel smoothly.
  • the control operation for creating a route in a rectangular region is an autonomous travel route planning method for planning a route for autonomous travel by the autonomous travel device 100, and includes the following steps.
  • step S31 the first grid area GA1 is created corresponding to the traveling area TA.
  • the above-mentioned grid layer GL is used.
  • the grid creation unit 5531 an example of the grid creation unit
  • the route creation unit 553 in the traveling region obtains, for example, a first rectangle including the outer peripheral teaching route, and then a second rectangle having a margin larger than the first rectangle.
  • a rectangle is obtained, then the first grid GR is placed at a position where the second rectangle and the center of the grid coincide with each other, and finally a plurality of grid GRs are spread up to a position including the second rectangle.
  • the first grid region GA1 is generated.
  • FIG. 17 shows the first grid region GA1.
  • the outermost grid GR covers the outer peripheral circuit path 21.
  • the first grid area GA1 is formed independently of the traveling area TA. In reality, the first grid region GA1 is formed so as to extend beyond the traveling region TA. Further, the first grid region GA1 may be formed by invalidating a part of the grid of the grid layer GL and validating the rest.
  • step S32 when the autonomous traveling device 100 changes direction based on the vehicle body size, the turning radius, the rotational moving distance, and the size of the grid of the autonomous traveling device 100, the main body B of the autonomous traveling device 100 is moved from the outer peripheral circuit path 21.
  • the deviation width DW that deviates is calculated.
  • the deviation width calculation unit 5533 performs the above calculation.
  • FIG. 17 shows the deviation width DW (distance to the maximum deviation region boundary BL) in which the autonomous traveling device 100 protrudes from the outer peripheral circuit path 21 due to a change of direction.
  • the deviation width DW differs depending on the position, and in the present embodiment, it is in the range of the minimum deviation amount D1 to the maximum deviation amount D2 (minimum deviation amount D1 + grid length GRL).
  • step S33 it is determined whether or not there is a deviation. Specifically, the deviation determination unit 5534 makes the above determination. If there is a deviation, the process proceeds to step S34, and if there is no deviation, the process skips step S34 and proceeds to step S35.
  • the inner circumference route 23 is created.
  • the travel route planning unit 5535 (an example of the inner circumference route creation unit) creates the inner circumference route 23.
  • the inner peripheral circuit path 23 is a path located inward by the grid width from the outer peripheral circuit path 21 (a path obtained by reducing the outer peripheral circuit path 21) and is parallel to each other.
  • the inner orbital route 23 is created by a free route plan based on the outer peripheral orbital route 21.
  • two inner peripheral paths 23 extend in parallel.
  • the distance between the two inner peripheral paths 23 may not be the grid widths, may be changed in the middle, or may be partially matched.
  • the inner circumference route 23 may be created by a free route plan based on the outer circumference teaching route. Further, the inner peripheral circuit path 23 may be processed so as to be smooth while shrinking the outer peripheral circuit path 21.
  • the maximum number of inner circuit paths 23 required to prevent unpainted areas is calculated.
  • the size of the deviation width DW may change depending on the location, but by creating the maximum number of inner circumference routes 23 required to cover the deviation width DW, a travel route that does not leave unpainted areas is planned. can do.
  • the second grid area GA2 (an example of the grid area) is created.
  • the second grid area GA2 is a target area for planning a filled travel route.
  • the second grid region GA2 is created by using the innermost inner peripheral circuit path 23 and the first grid region GA1. Specifically, among the grid GRs in the first grid area GA1, the ones containing the innermost inner peripheral circuit path 23 and the ones inside them are determined to be the grid GRs in the second grid area GA2. That is, a part of the first grid area GA1 is invalidated, and the rest is left as valid to make the second grid area GA2.
  • those having the center C inside from the innermost inner peripheral path 23 and those inside the grid GRs are determined to be the grid GRs in the second grid region GA2. You may.
  • step S36 a filled travel path 25 is created so as to fill the inside of the second grid area GA2.
  • the travel route planning unit 5535 (an example of the filled travel route creation unit) creates the filled travel route 25.
  • the running order of each grid GR of the grid layer GL is determined, and then it is created as a grid path passing through the center C of the grid GR.
  • FIG. 18 shows a part of the filled travel path 25.
  • the autonomous traveling device 100 changes direction in the second grid region GA2
  • the autonomous traveling device 100 deviates from the second grid region GA2 as shown in the figure, but the deviating portion is the innermost peripheral path. It is located inside 23.
  • the filled travel path 25 may be formed so as to fill the deviation width DW in addition to the second grid region GA2.
  • the grid arrangement of the boundary that is, the actual boundary shape of the second grid region GA2 becomes a straight line, so that a highly efficient straight line filling traveling path can be obtained. It will be easier to plan.
  • step S37 the outer peripheral circuit path 21, the inner peripheral circuit path 23, and the filled travel path 25 on which the outer peripheral instruction travel is performed are continuously connected. Specifically, the travel route planning unit 5535 makes the above determination. As a result, the autonomous travel route is completed.
  • the start position of the filled traveling path 25 is set on the outer peripheral circuit path 21.
  • the end position of the filled traveling path 25 becomes clear, and the autonomous traveling device 100 can be easily collected.
  • the end position of the painting becomes explicit to the user, for example, by determining the start position of the teaching to be realized next, the autonomous traveling device 100 can smoothly and continuously travel.
  • the end position of the filled travel path 25 is set near the start position (about several tens of cm) inside the outer peripheral circuit path 21.
  • the start position the end position
  • the inner peripheral circuit path 23 traveling in the deviation width DW is created, then the second grid region GA2 is created, and further, the filled traveling route 25 is created in the second grid region GA2.
  • an autonomous traveling route is planned in which the autonomous traveling device 100 can travel so as not to deviate from the outer peripheral boundary BO of the traveling region TA.
  • the inner circuit path 23 may be singular or plural, may be independent of each other in the case of a plurality, or may partially overlap each other.
  • the plurality of inner peripheral paths 23 may be parallel to each other, or may be partially or completely non-parallel. Further, the number of the inner peripheral circuit paths 23 may be a predetermined fixed value.
  • FIG. 19 is an environmental map showing a traveling route in the first embodiment.
  • FIG. 20 is an environmental map showing a traveling route in the conventional example.
  • FIG. 19 shows the outer peripheral boundary BO, the outer peripheral circuit path 21, the two inner circuit paths 23, and the filled travel path 25 in the present embodiment.
  • FIG. 20 shows the outer peripheral circuit path 21 and the filled travel path 25 in the prior art.
  • the region A indicated by the alternate long and short dash line is the region in which the autonomous traveling device 100 travels due to the change of direction of the filled traveling path 25, and deviates to the outside of the outer peripheral circuit path 21.
  • the 1st grid area was created before the inner peripheral traveling route creation and the 2nd grid area creation, but the creation of the 1st grid area (step S31 in FIG. 15) is omitted. You may. That is, even if the first grid in the first embodiment is not created, the following steps are executed to form the second grid area GA2 (an example of the grid area, corresponding to the second grid area GA2 in the first embodiment). It should be done.
  • step S31 is deleted from the flowchart of FIG. 15 of the first embodiment.
  • step S32 when the autonomous traveling device 100 changes direction based on the vehicle body size, the turning radius, the rotational moving distance, and the size of the grid of the autonomous traveling device 100, the main body B of the autonomous traveling device 100 is moved from the outer peripheral circuit path 21.
  • the deviation width DW that deviates is calculated.
  • the deviation width calculation unit 5533 performs the above calculation.
  • step S33 it is determined whether or not there is a deviation. Specifically, the deviation determination unit 5534 makes the above determination. If there is a deviation, the process proceeds to step S34, and if there is no deviation, the process skips step S34 and proceeds to step S35.
  • step S34 one or a plurality of inner circumference paths 23 corresponding to at least a part of the deviation width are created.
  • the travel route planning unit 5535 (an example of the inner circumference route creation unit) creates the inner circumference route 23.
  • the inner peripheral circuit path 23 is a path located inward by the grid width from the outer peripheral circuit path 21 (a path obtained by reducing the outer peripheral circuit path 21) and is parallel to each other.
  • the inner orbital route 23 is created by a free route plan based on the outer peripheral orbital route 21.
  • the second grid area GA2 is created.
  • the second grid area GA2 is a target area for planning a filled travel route.
  • the grid creation unit 5531 (an example of the grid creation unit) of the route creation unit 553 in the traveling area invalidates a part of the grid of the grid layer GL and enables the rest to enable the second grid. Create region GA2.
  • the second grid region GA2 is created using the innermost inner circumference path. That is, the second grid region GA2 is formed so that the innermost inner peripheral path 23 enters the outermost grid GR. As a modification, the second grid region GA2 may be formed so that the innermost inner peripheral circuit path 23 is inside the center C of the outermost grid GR.
  • the description of step S36 and step S37 is the same as that of the first embodiment, and is therefore omitted.
  • the autonomous traveling device loses its own position on the way and the traveling is stopped in order to prevent the autonomous traveling device from following the planned traveling route. rice field.
  • the environmental change is the position movement (including addition and deletion) of the obstacle recorded on the environmental map at the time of teaching and the obstacle detected by the sensor during autonomous driving.
  • FIG. 21 is a flowchart showing the test travel route creation and test travel control operation of the third embodiment.
  • the environmental change detection operation is started by, for example, a designation method (UI or the like) that allows the user to explicitly select a test drive after planning an autonomous drive route.
  • UI designation method
  • the test run may be automatically performed when the time between the arbitrary time between the start time and the end of the teaching and the start time of the filled run is longer than a predetermined time.
  • step S41 a test travel route 41 for detecting environmental changes is created.
  • the route creation unit 553 in the travel area creates the test travel route 41.
  • the test travel path 41 coincides with the outer peripheral circuit path 45 in the entire area 43. In this case, the test running time, which will be described later, is shortened.
  • FIG. 22 is a schematic plan view of the test travel path.
  • step S42 the autonomous travel device 100 is made to start a test travel route. Specifically, the travel control unit 53 executes the above operation.
  • step S43 it is determined whether or not the autonomous traveling device 100 has reached the goal G. Specifically, the detection information from the sensor (for example, the information about the obstacle existing in front of the autonomous traveling device 100 acquired by the front detector 5551a and the autonomy acquired by the rear detector 5551b) by the control control unit 55. The situation is determined based on information about obstacles existing behind the traveling device 100). If the goal G has not been reached, the process proceeds to step S44, and if the goal G has been reached, the process proceeds to step S48.
  • the detection information from the sensor for example, the information about the obstacle existing in front of the autonomous traveling device 100 acquired by the front detector 5551a and the autonomy acquired by the rear detector 5551b
  • step S44 it is determined whether or not there is an environmental change during the test run. Specifically, the control control unit 55 makes the above determination as the environmental change determination unit based on the detection information from the sensor. If there is an environmental change, the process proceeds to step S45, and if there is no environmental change, the process returns to step S43. In this way, the presence or absence of environmental changes is constantly checked until the autonomous traveling device 100 reaches the goal G.
  • step S45 the user is notified of the environmental change detected during the test run.
  • the notification unit (not shown) gives a notification.
  • Notification means when environmental changes are detected include screen display, sound, light, and e-mail. As a result, the user can immediately notice the environmental change.
  • step S46 the test run is stopped. Specifically, the travel control unit 53 executes the above operation.
  • step S47 the autonomous traveling device 100 is returned to the starting point S. Specifically, the travel control unit 53 executes the above operation. This allows the user to immediately start reteaching.
  • the route returning to the start point S may be a route that reverses the route that has been taken so far and returns to the start point S (near), or a route that returns to the start point S by the shortest route.
  • the former is a route that has not changed in the environment, so you can safely return to the starting point S.
  • the latter has a shorter return time.
  • the autonomous traveling device 100 is returned not only at the starting point of the test traveling but also at any point on the test traveling route.
  • step S48 the test run ends. After that, a painting run is carried out.
  • a step of stopping on the spot or a step of continuing the test run may be executed.
  • a step of stopping on the spot or a step of continuing the test run may be executed.
  • cleaning may be performed during a test run.
  • a test run may be performed in each area.
  • the environmental change may be notified, the test run may be stopped, the autonomous running device 100 may be returned to the start point of the test run, or all of them may be performed. You may run the test run to the final area without doing so. Further, the area where the environmental change is not detected may be filled and cleaned.
  • the traveling device 100 may be filled and moved to a point in the traveling region such as a start position or an end position of autonomous traveling.
  • the filled run is automatically started when the environmental change is not detected. Although it is desirable to do so, the user may determine the start of the filled-in running just in case.
  • test travel path 41A goes around the outer periphery of the entire area 43. It coincides with the outer peripheral circuit path 45A.
  • test travel path 41B is a part of the outer peripheral circuit path 45A in the first area 43A and the second area 43B. It is consistent with and at least part of the outer peripheral route of each area.
  • the test travel path 41C is a single or a plurality of inner circuit paths in which the outer peripheral circuit path 45A is shifted inward. In this case, the internal situation can be recognized more accurately.
  • each inner circumference path is formed so as to go around the inner circumference of the entire area.
  • the test travel path may be a single or a plurality of inner orbital paths in which the outer peripheral orbital path is shifted inward.
  • the test travel path 41D is a singular or a plurality of orbital paths in which the outer peripheral orbital path is shifted inward, as shown in FIG. 26. In this case, the internal situation can be recognized more accurately.
  • the test travel path 41D is similar to a part of the outer peripheral circuit path 45A in the first area 43A and the second area 43B.
  • the test travel path 41E is a route traveling in the central portion of the entire area 43 as shown in FIG. 27. Specifically, the test travel path 41E extends linearly along the longitudinal direction of the entire area 43. In this case, the internal situation can be recognized more accurately.
  • test travel path 41F is continuously formed between the first area 43A and the second area 43B.
  • test travel path 41G is separately formed in the first area 43A and the second area 43B.
  • the autonomous traveling device may be a traveling device other than the cleaning machine that autonomously executes the cleaning work.
  • the autonomous traveling device may be a promotional robot.
  • the autonomous traveling device may be composed of only a traveling unit (and a control unit that controls the traveling unit) for autonomously traveling.
  • the autonomous traveling device and the robot system for exerting a desired function can be combined to form a robot (device) having a desired function.
  • the grid layer was a layer different from the global map, but both may be managed as one. This embodiment can be applied to other than "a perfect circle and a super-credit turning".
  • the present invention can be widely applied to an autonomous travel route planning method for planning a travel route of an autonomous vehicle.
  • Traveling unit 3 Cleaning unit 5: Control unit 7: Traveling route teaching unit 8: Mounting member 9: Setting unit 11: Traveling motor 13: Main wheel 15: Auxiliary wheel 21: Outer peripheral circuit route 23: Inner peripheral circuit path 25 : Filled travel path 31: Cleaning liquid discharge port 33: Squeegee 33a: Suction port 35: Cleaning member 41: Test travel path 51: Cleaning control unit 53: Travel control unit 55: Control control unit 57: Storage unit 71a: Handle 71b: Handle 73: Housing 75: Travel control command calculation 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 100: Autonomous traveling device 111: Encoder 311: Cleaning liquid supply tank 313: Cleaning liquid supply pump 331: Suction motor 333: Recovery member 351: Cleaning member rotary motor 500: Travel schedule 531 : Travel switching unit 533 : Motor control unit 551 : Acquisition of traveling area Unit 553:

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (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

グリッドベースによる自律走行経路計画において、走行領域の外周境界から外側に自律走行体が逸脱しないようにする。自律走行経路計画方法は、自律走行装置(100)が自律走行する経路を計画する方法であって、グローバルマップ(GM)において塗り潰し走行を行う走行領域を取得するステップ、自律走行装置(100)の車体サイズと回転半径と回転移動距離及びグリッド(GR)のサイズに基づいて、自律走行装置(100)が方向転換を行う際に自律走行装置(100)の本体(B)が逸脱する逸脱幅(DW)を算出するステップ(S32)、少なくとも逸脱幅(DW)の一部に相当する内周周回経路(23)を作成するステップ(S34)、及び、第2グリッド領域(GA2)内を塗り潰すように塗り潰し走行経路(25)を作成するステップ(S35)、を備えている。

Description

自律走行経路計画方法
 本発明は、自律走行経路計画方法に関し、特に、自律走行体の走行経路を計画する方法に関する。
 従来、走行開始位置から走行終了位置までの経路計画に従って自律的に走行する自律走行体が知られている。一例として、自律走行式床洗浄機は、ユーザの操作により教示された走行経路及び清掃条件を再現することにより、教示された走行経路を自律的に走行しつつ、教示された清掃条件に従った清掃を自律的に実行する。
 また、別の経路計画方法では、環境地図の塗り潰し走行対象領域を所定の大きさのグリッド座標に投影し、グリッドを通過する順番を決めることで、走行スケジュールを作成している(例えば、特許文献1を参照)。
 また、環境領域の内側に作業対象領域を設け、その外周に収穫機の方向転換を行う外周領域を設ける走行経路計画装置が知られている(例えば、特許文献2を参照)。
国際公開第2018/043180号公報 特開2018-099113号公報
 一般に自律走行体の機体は、長さと幅のサイズが異なっており、例えば平面視で矩形である。したがって、塗り潰し経路計画がグリッドベースである場合に、教示走行時の機体の向きと塗り潰し走行時の機体の向きとが異なる場所において(例えば、機体がUターンする場所において)、塗り潰し走行時に、走行領域の外周境界から外側に機体が逸脱することがある。また、自律走行体の機体が逸脱しない範囲で塗り潰し計画を行うと(例えば単に塗り潰しの対象領域を縮めると)、外周付近に塗り残しが出てしまう。
 本発明の目的は、グリッドベースによる自律走行経路計画において、走行領域の外周境界から外側に自律走行体が逸脱しないようにすることにある。
 以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
 本発明の一見地に係る自律走行経路計画方法は、自律走行体が自律走行する経路を計画する方法であって、下記のステップを備えている。
 ◎環境地図において塗り潰し走行を行う走行領域を取得するステップ。
 ◎自律走行体の車体サイズと回転半径と回転移動距離及びグリッドのサイズに基づいて、自律走行体が方向転換を行う際に走行領域から自律走行体の車体が逸脱する逸脱幅を算出するステップ。
 ◎少なくとも逸脱幅の一部に相当する一又は複数の内周周回経路を作成するステップ。
 ◎最内周の内周周回経路に対応する位置を境界とするグリッド領域を作成するステップ。
 ◎グリッド領域内を塗り潰すように塗り潰し走行経路を作成するステップ。
 なお、回転移動距離とは、車体が旋回したときの車輪中点の移動軌跡である。
 この方法では、少なくとも逸脱幅の一部に相当する一又は複数の内周周回経路が作成され、さらにグリッド領域内に塗り潰し走行経路が作成される。その結果、グリッドベースによる自律走行経路において、走行領域の外周境界から逸脱しないように自律走行体が走行できる走行経路が計画される。
 なお、内周周回経路は、複数の場合に互いに独立していてもよいし、一部同士が重複していてもよい。
 内周周回経路を作成するステップでは、逸脱幅を全て覆うために必要な最大本数を算出してもよい。この方法では、逸脱幅は内周周回経路によって全体にわたって確実に覆われる。つまり、逸脱幅の大きさは場所によって変わる可能性があるが、逸脱幅を覆うために必要な最大本数の内周周回経路を作成することで、塗り残しが生じなくなる。
 走行領域を取得するステップは、自律走行体によって走行領域の境界を教示して外周教示経路を作成することで走行領域を取得してもよい。
 この方法は、下記のステップをさらに備えていてもよい。
 ◎外周教示経路に基づいて作成される外周周回経路、塗り潰し走行経路、及び内周周回経路を連続的に繋いで自律走行経路として決定するステップ。
 この方法では、外周周回経路を含んだ自律走行経路が計画される。
 この方法は、下記のステップをさらに備えていてもよい。
 ◎塗り潰し走行経路の開始位置を外周周回経路上に設定するステップ
 ◎塗り潰し走行経路の終了位置を外周周回経路より内側の開始位置付近に設定するステップ。
 これにより、塗り潰し走行経路の終了位置が明確になる。さらに、終了位置が開始位置付近に設定されるので、連続走行をスムーズに行うことができる。また、開始位置から内側にずらした位置を終了位置にすることで、外周周回経路上の終了位置(=開始位置)に戻る経路を計画するときに、教示範囲から経路が逸脱することが防止される。
 この方法は、下記のステップをさらに備えていてもよい。
 ◎環境変動検出用のテスト走行経路を作成するステップ。
 ◎自律走行体にテスト走行経路を走行させるステップ。
 従来、塗り潰し走行において環境変動が発生した場合、途中で自己位置を見失い、計画された走行経路に自律走行体が追従できないことを防止するために走行を停止させていた。この場合、停止地点の周辺を含む以降の塗り残し箇所について、走行範囲の再度教示や経路作成が必要となる。この方法では、自律走行体にテスト走行経路を走行させることで、塗り潰し走行の事前に環境変動を検出できる。したがって、従来とは異なり、実際の自律走行時に環境変動による影響を受けにくい。
 この方法は、下記のステップをさらに備えていてもよい。
 ◎自律走行体がテスト走行経路を走行中に検出した環境変動を通知するステップ。
 この方法では、ユーザが環境変動に直ちに気付くことができる。
 この方法は、下記のステップをさらに備えていてもよい。
 ◎自律走行体がテスト走行経路を走行中に環境変動を検出した後に、テスト走行を中止するステップ。
 この方法では、ユーザが走行範囲の再教示を直ちに開始できる。
 この方法は、下記のステップをさらに備えていてもよい。
 ◎テスト走行を中止した後に、自律走行体をテスト走行経路上の地点に戻すステップ。
 この方法では、ユーザが走行範囲の再教示を直ちに開始できる。
 この方法は、下記のステップをさらに備えていてもよい。
 ◎テスト走行を中止した後に、自律走行体を走行領域内の地点に移動するステップ。
 この方法では、例えば、テスト走行スタート位置と塗り潰しスタート位置が異なる場合に、自律走行体を塗り潰しスタート位置に移動させることができる。
 本発明に係る自律走行経路計画方法では、グリッドベースによる自律走行経路計画において、走行領域の外周境界から外側に自律走行体が逸脱しないようにできる。
第1実施形態の自律走行装置の一例の全体構成を示す図。 走行経路教示部の構成の一例を示す図。 設定部の構成を示す図。 制御部の全体構成を示す図。 走行制御部の詳細構成を示す図。 制御統括部の詳細構成を示す図。 走行領域内経路作成部の詳細構成を示す図。 自律走行装置の基本的な動作を示すフローチャート。 手動操作教示モードの動作を示すフローチャート。 走行環境の一例を示す図。 グローバルマップにグリッドレイヤーを投影しさらに走行領域を重ねた状態を示す図。 走行領域を矩形領域に分割した状態の一例を示す図。 走行領域内経路の一例を示す図。 自律走行モードの実行時の自律走行装置の動作を示すフローチャート。 矩形領域内経路作成制御動作を示すフローチャート。 外周周回経路、第1グリッド領域、第2グリッド領域、内周周回経路、塗り潰し経路の関係を示す模式的平面図。 外周周回経路、第1グリッド領域、第2グリッド領域、内周周回経路、塗り潰し経路の関係を示す模式的平面図。 外周周回経路、第1グリッド領域、第2グリッド領域、内周周回経路、塗り潰し経路の関係を示す模式的平面図。 第1実施形態において走行経路が表された環境地図。 従来例において走行経路が表された環境地図。 第3実施形態のテスト走行経路作成及びテスト走行制御動作を示すフローチャート。 テスト走行経路の模式的平面図。 第1変形例のテスト走行経路の模式的平面図。 第2変形例のテスト走行経路の模式的平面図。 第3変形例のテスト走行経路の模式的平面図。 第4変形例のテスト走行経路の模式的平面図。 第5変形例のテスト走行経路の模式的平面図。 第6変形例のテスト走行経路の模式的平面図。 第7変形例のテスト走行経路の模式的平面図。
1.第1実施形態
(1)自律走行装置の全体構成
 図1を用いて、第1実施形態に係る自律走行装置100(自律走行体の一例)の全体構成を説明する。図1は、自律走行装置の一例の全体構成を示す図である。自律走行装置100は、設定された清掃条件と走行経路とを自律的に再現する清掃機である。
 自律走行装置100は、走行部1を備える。走行部1は、自律走行装置100を走行させる装置である。走行部1は、自律走行装置100の本体を構成する本体Bを有する。走行部1は、本体Bの底部の左右端にそれぞれ、走行モータ11と、走行モータ11の出力回転軸に取り付けられ、走行モータ11の回転に従って回転する主輪13と、を有する。
 自律走行装置100は、清掃部3を備える。清掃部3は、本体Bの底部に設けられ、指定された清掃条件に従って床面Fを清掃する装置である。本実施形態の清掃部3は、洗浄液吐出口31と、スキージ33と、洗浄用部材35と、を有する。
 洗浄液吐出口31は、洗浄液供給タンク311から洗浄液供給ポンプ313により供給された洗浄液(例えば、水)を、本体Bの前方側の床面Fに吐出する。スキージ33は、本体Bの底面後方に設けられ、床面F上に残留する洗浄液を収集する。洗浄用部材35は、本体Bの底面の前方側に設けられ、洗浄用部材回転モータ351の回転にて洗浄液が存在する床面F上にて回転することにより、床面Fを洗浄する。
 上記の清掃部3を備えることにより、自律走行装置100は、洗浄液を用いて床面Fを洗浄用部材35にて磨く清掃作業を実行できる。
 他の実施形態において、スキージ33には吸引口33aが設けられていてもよい。吸引口33aは、吸引モータ331により回収部材333を負圧状態にすることにより、スキージ33により収集された洗浄液やゴミなどを吸引して、回収部材333へと搬送できる。
 自律走行装置100は、制御部5を有する。制御部5は、CPU、記憶装置(RAM、ROM、ハードディスクドライブ、SSDなど)、各種インターフェースなどを備えたコンピュータシステムである。制御部5は、自律走行装置100に関する各種制御を行う(後述)。
 自律走行装置100は、走行経路教示部7を備える。走行経路教示部7は、操作者による走行部1の移動操作を受け付ける装置である。走行経路教示部7は、取付部材8を介して、本体Bの上部後側に取り付けられている。これにより、操作者は、走行経路教示部7を操作して走行部1を移動操作できる(後述)。
 他の実施形態として、走行経路教示部7は、本体Bに取り付けられていなくともよい。この場合、走行経路教示部7は、例えば、ジョイスティックなどのコントローラである。これにより、操作者は、自律走行装置100を遠隔操作できる。
 自律走行装置100は、設定部9を備える。設定部9は、自律走行装置100に関する各種設定を行うための操作盤であり、本体Bの上方後側の表面に取り付けられている。また、設定部9は、走行経路教示部7の近傍に設けられている。これにより、操作者は、走行経路教示部7を操作して走行部1を操作しつつ、設定部9を操作できる。
 他の実施形態として、設定部9は、本体Bに取り付けられていなくてもよい。この場合、設定部9は、例えば、ポータブル端末などの無線通信可能なコンソールとできる。これにより、操作者は、自律走行装置100を遠隔にて設定できる。
(2)走行経路教示部の構成
 図2を用いて、走行経路教示部7の構成の一例を説明する。図2は、走行経路教示部の構成の一例を示す図である。
 走行経路教示部7は、ハンドル71a、71bを有する。ハンドル71a、71bは、それぞれ、筐体73の左右側面に取り付けられている。ハンドル71a、71bは、操作者が自律走行装置100を操作するときに使用される。
 例えば、ハンドル71a、71bを把持する操作者は、ハンドル71a、71bを介して、自律走行装置100を操作者の方へ引張る力、又は、自律走行装置100を押し出す力のいずれかを加えることができる。ハンドル71a、71bのそれぞれにかける力を調節することにより、操作者は、自律走行装置100の走行方向を調整できる。例えば、自律走行装置100の前方方向から見て右側のハンドル71aに対して、自律走行装置100を引張る力を加えれば、自律走行装置100は左へと方向転換する。
 ハンドル71a、71bは、筐体73に回動可能に取り付けられている。また、ハンドル71a、71bは、走行制御指令算出部75を介して制御部5に接続されている。走行制御指令算出部75は、ハンドル71a、71bの回動を電気信号に変換し、制御部5に出力する。これにより、操作者は、ハンドル71a、71bの回動操作によって、自律走行装置100(走行部1)を操作できる。
 例えば、ハンドル71a、71bの回動方向を調整することにより、操作者は、自律走行装置100の前進と後進とを切り替え可能となっていてもよい。また、ハンドル71a、71bの回動量を調節することにより、自律走行装置100の走行速度を調整可能となっていてもよい。さらに、ハンドル71aの回動量と、ハンドル71bの回動量とを異ならせて、自律走行装置100の進行方向を変更してもよい。
(3)設定部の構成
 図3を用いて、設定部9の構成を説明する。図3は、設定部の構成を示す図である。
 設定部9は、切替部91を有する。切替部91は、自律走行装置100の動作モードを選択し、制御部5に出力する。自律走行装置100の動作モードとしては、自律走行モードと手動操作モードとがある。自律走行モードは、自律走行装置100が、自律的に走行し床面Fを洗浄する動作モードである。手動操作モードは、自律走行装置100が操作者により手動操作可能な状態にある動作モードである。切替部91は、例えば、図3に示すような切り替えスイッチにて構成できる。
 設定部9は、手動操作記憶スイッチ92を有する。手動操作記憶スイッチ92は、操作者による自律走行装置100の手動操作の記憶を開始又は終了するためのスイッチである。具体的には、切替部91により動作モードが手動操作モードに設定された後に手動操作記憶スイッチ92が押されると、操作者の手動操作により実行された清掃条件及び走行経路を、自律走行装置100に教示する手動操作教示モードが、手動操作モードのサブ動作モードとして開始する。一方、手動操作教示モードを実行中に手動操作記憶スイッチ92が切り替わると、手動操作教示モードが停止される。
 手動操作記憶スイッチ92としては、例えば、図3に示すような押ボタンスイッチとすることができる。この場合、手動操作記憶スイッチ92の切り替えは、当該押ボタンスイッチを押すことにより切り替わる。
 設定部9は、設定操作部93を有する。設定操作部93は、例えば押圧スイッチなどにより構成され、自律走行装置100に関する各種設定の入力を受け付けて、設定変換部94を介して、制御部5に出力する。設定変換部94は、設定操作部93にて受け付けた入力を、制御部5が解読可能な信号に変換する信号変換回路、又は、コンピュータシステムである。
 設定部9はディスプレイ95を有する。ディスプレイ95は、現在設定されている自律走行装置100に関する各種設定情報を表示する。ディスプレイ95は、例えば、液晶ディスプレイ、有機ELディスプレイなどのディスプレイである。
 他の実施形態において、ディスプレイ95は、現在の動作モード(自律走行モード/手動操作モード/手動操作教示モード)、運転時間、自律走行装置100を駆動するバッテリー残量などをさらに表示してもよい。
 さらなる他の実施形態において、ディスプレイ95は、設定操作部93により自律走行装置100の各種設定を行う際に、各種設定手順を表示してもよい。これにより、自律走行装置100に関する情報を視覚的にユーザに提供し、ユーザは表示された情報に基づいて、設定部9を操作できる。
 他の実施形態において、ディスプレイ95にはタッチパネルが設けられていてもよい。この場合、上記の切替部91、手動操作記憶スイッチ92、及び/又は設定操作部93は、当該タッチパネルにより実現されてもよい。
 設定部9は、清掃条件教示部96を有してもよい。清掃条件教示部96は、操作者による清掃条件の入力を受け付けて、清掃制御指令算出部97へ出力する。清掃制御指令算出部97は、清掃条件教示部96にて受け付けた清掃条件を、制御部5が解読可能な信号に変換して制御部5に出力する信号変換回路、又は、コンピュータシステムである。
(4)制御部の構成
(4-1)制御部の全体構成
 図4を用いて、制御部5の全体構成を説明する。図4は、制御部の全体構成を示す図である。以下に説明する制御部5の各機能ブロックの全部又は一部は、制御部5を構成するコンピュータシステムにて実行可能なプログラムにより実現されてもよい。この場合、当該プログラムは、メモリ部及び/又は記憶装置に記憶されていてもよい。制御部5の各機能ブロックの全部又は一部は、SoC(System on Chip)などのカスタムICとして実現されていてもよい。
 制御部5は、1つのコンピュータシステムにより構成されていてもよいし、複数のコンピュータシステムにより構成されていてもよい。複数のコンピュータシステムにより制御部5を構成する場合、例えば、制御部5の複数の機能ブロックにて実現される機能を複数のコンピュータシステムに任意の割合で振り分けて実行させることができる。
 制御部5は、清掃制御部51を有する。清掃制御部51は、洗浄用部材回転モータ351と、洗浄液供給ポンプ313と、吸引モータ331に対して、回転速度や出力などを制御する電力を供給する。
 設定部9が清掃条件教示部96を有する実施例では、清掃制御部51は、清掃制御指令算出部97を介して清掃条件教示部96から教示清掃条件を入力し、当該教示清掃条件に基づいて、洗浄用部材回転モータ351と、洗浄液供給ポンプ313と、吸引モータ331と、を制御してもよい。
 他の実施形態において、清掃制御部51は、自律走行モードの実行時に、制御統括部55から、自律走行モードにおける清掃条件の設定値を示す再現清掃条件を入力し、当該再現清掃条件に基づいて、清掃部3を制御してもよい。
 制御部5は、走行制御部53を有する。走行制御部53は、走行経路教示部7から入力したハンドル71a、71bの回動量及び回動方向に基づく走行制御指令、又は、制御統括部55から入力した走行制御指令に基づき、走行モータ11を制御する。また、走行制御部53は、走行モータ11の出力回転軸に取り付けられたエンコーダ111から出力されるパルス信号に基づいて、走行モータ11の回転速度を算出する。
 制御部5は、制御統括部55を有する。制御統括部55は、自律走行装置100による走行を統括する。具体的には、制御統括部55は、前方検出器5551a、後方検出器5551b、及び/又はエンコーダ111にて取得された情報に基づいて、自律走行装置100が床面Fのどの位置を移動しているかを示す位置情報を算出する。制御統括部55は、手動操作教示モードの実行時における上記の位置情報を用いて、走行スケジュール500を作成する。他の実施形態において、制御統括部55は、自律走行モードにおける清掃条件を算出し、走行スケジュール500と関連付けてもよい。
 一方、自律走行モードの実行時においては、制御統括部55は、走行スケジュール500に記憶されたデータに基づいて再現走行制御指令を算出し、走行制御部53に出力する。これにより、自律走行モードの実行時においては、走行制御部53は、再現走行制御指令に基づいて走行モータ11を制御することで、自律走行装置100を自律的に移動させることができる。
 走行スケジュール500に清掃条件が関連付けられている実施形態では、制御統括部55は、自律走行モードの実行時において、走行スケジュール500に記憶された清掃条件に基づいて、清掃制御部51を制御してもよい。これにより、自律走行装置100は、走行スケジュール500に従って自律的に走行中に、当該清掃条件に従って自律的に清掃作業を実行できる。
 制御部5は、記憶部57を有する。記憶部57は、制御部5を構成するコンピュータシステムの記憶装置の記憶領域の一部又は全部であり、自律走行装置100に関する各種情報を記憶する。具体的には、記憶部57は、制御統括部55において作成された走行スケジュール500、及び、設定操作部93や設定変換部94から入力された自律走行装置100に関する各種設定を記憶する。
 走行制御部53、及び制御統括部55は、記憶部57に記憶された自律走行装置100に関する各種設定、及び/又は、走行スケジュール500を必要に応じて読み出して、これらに基づいて各種の調整及び制御を実行できる。
 (4-2)走行制御部の構成
 図5を用いて、走行制御部53の構成を詳細に説明する。図5は、走行制御部の詳細構成を示す図である。走行制御部53は、走行切替部531を有する。走行切替部531は、3つの端子d、e、及びfを有している。端子dは走行経路教示部7に接続され、端子eはモータ制御部533に接続され、端子fは制御統括部55に接続されている。
 走行切替部531は、切替部91により選択されている動作モードに基づいて、端子eと端子dとを接続するか、あるいは、端子eと端子fとを接続するかのいずれかを選択する。具体的には、切替部91において手動操作モードが選択されていれば、走行切替部531は、端子eと端子dとを接続することで、走行経路教示部7をモータ制御部533に接続する。これにより、走行切替部531は、手動操作モード又は手動操作教示モードの実行時には、走行経路教示部7のハンドル71a、71bの回動量及び/又は回転方向を示す信号を、モータ制御部533に送信できる。
 一方、切替部91において自律走行モードが選択されていれば、走行切替部531は、端子eと端子fとを接続することで、制御統括部55をモータ制御部533に接続する。これにより、走行切替部531は、自律走行モードの実行時には、制御統括部55から出力される再現走行制御指令を、モータ制御部533に送信できる。
 モータ制御部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の進行方向を決定する。
 他の実施形態において、制御部5が複数のコンピュータシステムにて構成される場合、モータ制御部533は、当該複数のコンピュータシステムのうちの1つであってもよい。すなわち、モータ制御部533の機能のみを1つのコンピュータシステムにて実現してもよい。この場合、モータ制御部533は、例えば、PI制御理論又はPID制御理論を用いたモータ制御装置である。
 (4-3)制御統括部の構成
 図6を用いて、制御統括部55の構成を詳細に説明する。図6は、制御統括部の詳細構成を示す図である。制御統括部55は、走行領域取得部551を有する。走行領域取得部551は、手動操作教示モードの実行時に、所定時間毎(例えば、制御部5における制御周期毎)に、SLAM部555(後述)から、SLAM部555にて推定された位置情報(後述)を入力する。
 走行領域取得部551は、走行環境において自律走行装置100が走行する領域を表す走行領域TAを、取得した複数の位置情報の点列として取得する。走行領域取得部551は、取得した複数の位置情報の点列を、走行領域TAの外周境界を表す点列として、走行領域内経路作成部553に出力する。
 他の実施形態において、走行領域取得部551は、予め作成したグローバルマップGM(走行環境を表す地図情報)をディスプレイ95に表示させてもよい。このとき、走行領域取得部551は、操作者に対して、ディスプレイ95に表示されたグローバルマップGM上に、走行領域TAを表す閉じられた領域を描画するように指示をしてもよい。
 制御統括部55は、走行領域内経路作成部553(経路計画装置の一例)を有する。走行領域内経路作成部553は、走行領域取得部551から取得した走行領域TA内に、自律走行装置100が当該走行領域TAをまんべんなく(「塗り潰す」ように)走行する走行スケジュール500を作成し、記憶部57に記憶する。図7に示すように、走行領域内経路作成部553は、グリッド作成部5531、走行順番決定部5532、逸脱幅算出部5533、逸脱判定部5534、及び走行経路計画部5535を有している。
 グリッド作成部5531は、グローバルマップGMにおいて塗り潰し走行を行う対象領域を所定サイズのグリッドで区画する。具体的には、グリッド作成部5531は、グローバルマップGMとは別の座標軸であるグリッドレイヤーGLにグローバルマップGMを投影し、グリッドレイヤーGL上で対象領域を所定サイズのグリッドGRで区画する。このようにグリッドレイヤーGLとグローバルマップGMを別々に管理できるので、作業効率が良い。なお、グリッドレイヤーGL上の対象領域は、グローバルマップGM内に一又は複数設定される。
 走行順番決定部5532は、走行対象であるグリッドGRに走行順を決定する。なお、走行順とは、自律走行装置100が通過するグリッドGRの順番である。
 走行経路計画部5535は、選択した走行対象であるグリッドを通る走行経路を計画する(後述)。
 制御統括部55は、SLAM部555を有する。SLAM部555は、本体Bの前方に設けられた前方検出器5551a(図1)にて取得した自律走行装置100の前方に存在する障害物に関する情報と、本体Bの後方に設けられた後方検出器5551b(図1)にて取得した自律走行装置100の後方に存在する障害物に関する情報と、エンコーダ111にて取得した走行モータ11の回転量に基づいて、自律走行装置100の所定の座標上の位置に関する情報(位置情報)を推定する。
 前方検出器5551a及び後方検出器5551bは、例えば、その検出範囲が180°以上のレーザーレンジファインダ(Laser Range Finder、LRF)である。レーザーレンジファインダを前方検出器5551a及び後方検出器5551bとして用いた場合、走行部1と障害物との距離と、当該障害物が存在する方向とが、障害物に関する情報として取得される。
 前方検出器5551a及び後方検出器5551bにて取得される情報は、所定の平面上における障害物の存在位置を表す二次元的な情報であってもよいし、さらに高さ方向における障害物の存在位置を表す情報を含む三次元的な情報であってもよい。
 制御統括部55は、走行再現部557を有する。走行再現部557は、自律走行モードを実行する時に、走行スケジュール500に記憶された情報と、SLAM部555から取得した推定された位置情報とに基づいて、自律走行装置100が走行スケジュール500に示された走行経路を自律的に走行するための制御指令(再現走行制御指令)を算出する。走行再現部557は、算出した再現走行制御指令を走行制御部53に出力する。
 他の実施形態において、走行再現部557は、走行スケジュール500に関連付けられた清掃条件を、清掃制御部51に出力してもよい。
 (4-4)SLAM部の構成
 図6を用いて、SLAM部555の構成の詳細を説明する。本実施形態に係るSLAM部555は、SLAM(Simultaneous Localization and Mapping)法にて、走行部1(自律走行装置100)の位置(位置情報)推定と地図情報の作成とを実行する。
 SLAM部555は、地図作成部5553を有する。地図作成部5553は、前方検出器5551aにて取得された前方の障害物(例えば、壁など)に関する情報、後方検出器5551bにて取得された後方の障害物に関する情報と、を用いて地図情報を作成する。地図情報は、位置推定部5555において位置情報を推定する際に用いられる。地図情報としては、ローカルマップとグローバルマップGM(環境地図の一例)とが存在する。
 ローカルマップは、走行部1の周囲に存在する障害物(の存在位置)に関する地図情報である。ローカルマップは、前方検出器5551aにて取得された前方の障害物に関する情報と、後方検出器5551bにて取得された後方の障害物に関する情報とを、必要に応じて座標変換することにより作成される。
 グローバルマップGMは、走行部1が走行する環境(走行環境)に存在する障害物(の存在位置)に関する地図情報である。本実施形態において、グローバルマップGMは、操作者の操作によって走行する手動操作教示モードの実行時に走行領域TAを表す位置情報の点列を取得したときに取得したローカルマップに基づいて生成される。つまり、グローバルマップGMは、自律走行装置100が教示走行を行うことで作成され、塗り潰し走行を行う対象領域は教示走行時の走行軌跡で画定される。
 具体的には、地図作成部5553は、走行領域TAを表す位置情報の点列とともに取得したローカルマップを、当該位置情報に対応する位置に配置することでグローバルマップGMを作成する。
 走行領域TAを表す位置情報の点列を取得する際に、手動操作教示モードの初期に取得した位置情報と、手動操作教示モードの終盤に取得した位置情報との間には、誤差が生じる場合がある。具体的には、例えば、閉じられた領域である走行領域TAを位置情報の点列として取得する際に、手動操作教示モードの開始時の走行部1の位置と終了時の走行部1の位置とが同一であるに関わらず、推定された位置情報が一致しないことがある(いわゆる、環状経路問題)。
 上記の推定された位置情報の不一致を解消するため、地図作成部5553は、ローカルマップを対応する位置に配置して作成したグローバルマップGMを修正する。具体的には、例えば、以下のようにしてグローバルマップを修正する。
 最初に、地図作成部5553は、手動操作教示モードの開始時と終了時に、前方検出器5551aにて取得された障害物に関する情報、及び/又は、後方検出器5551bにて取得された障害物に関する情報を取得する。
 次に、地図作成部5553は、手動操作教示モードの開始時に得られた障害物に関する情報と終了時に得られた障害物に関する情報との差分などに基づいて、手動操作教示モードの開始時と終了時における走行部1の実際の位置のずれを算出する。
 その後、地図作成部5553は、算出した実際の位置のずれに基づいて、例えばGraphSLAMなどのアルゴリズムを用いて、ローカルマップの配置位置を修正し、修正した新たな配置位置にローカルマップを配置して、新たなグローバルマップGMを作成する。
 このとき、地図作成部5553は、手動操作教示モードを実行することにより取得した走行領域TAを表す点列の位置情報(座標値)も、Graph SLAMなどのアルゴリズムを用いて同時に修正し、修正した新たな位置情報の点列を走行領域TAを表す点列としてもよい。上記のようにしてグローバルマップGMを修正することにより、走行環境をより適切に表したグローバルマップGMを作成できる。また、グローバルマップGMの修正時に、走行領域TAを表す位置情報を修正することにより、閉じられた領域である走行領域TAをより適切に表した位置情報の点列を取得できる。
 他の実施形態において、グローバルマップGMは、専用のソフトウェア又はCADなどを用いて作成されて記憶部57に記憶されてもよい。この場合、当該ソフトウェアなどで作成したグローバルマップは、走行部1の制御部5が解釈できるようなデータに変換される。
 SLAM部555は、位置推定部5555を有する。位置推定部5555は、地図作成部5553が生成したグローバルマップと、ローカルマップと、走行モータ11の回転量と、に基づいて、所定の座標上の走行部1の存在位置及び当該位置における走行部1の姿勢に関する位置情報を推定する。
 具体的には、以下のようにして位置情報が推定される。ここでは、走行部1がある所定の時刻(時刻tkとする)における(推定)位置から移動して、次の時刻(時刻tk+1とする)にて走行部1が到達する位置を推定する場合を例として考える。
 最初に、位置推定部5555は、時刻tkから時刻tk+1までの間にエンコーダ111から出力されたパルス数から、時刻tkから時刻tk+1までの間の主輪13の回転量を算出し、当該回転量に基づいて、主輪13の回転による走行部1の移動距離と姿勢変化とを推定する(デッドレコニング)。
 次に、位置推定部5555は、時刻tkにおける事後確率(走行部1の位置と、時刻tkにおいて当該位置に走行部1が存在する確率と、の関係を表した確率分布に対応する)を、主輪13の回転による走行部1の移動距離分及び姿勢変化分だけ移動させて、時刻tk+1における事前確率を算出する。
 他の実施形態において、位置推定部5555は、主輪13の回転による移動距離分及び姿勢変化分だけ移動後の事後確率の確率分布の幅(標準偏差)を拡大して、時刻tk+1における事前確率としてもよい。これにより、主輪13と床面Fとの滑りを考慮した事前確率を算出できる。
 その後、位置推定部5555は、時刻tk+1におけるローカルマップとグローバルマップとを地図作成部5553から取得し、時刻tk+1におけるローカルマップとグローバルマップGMとをマップマッチングし、時刻tk+1における走行部1の位置情報を推定する。
 具体的には、例えば、グローバルマップGM上において、主輪13の回転量に基づいて算出された推定位置の近傍のいくつかの位置に、時刻tk+1におけるローカルマップを配置し、当該ローカルマップをその中心回りに取りうる姿勢変化に対応する角度だけ回転させて、マップマッチングを行う。位置推定部5555は、当該マップマッチングの結果に基づいて、尤度(ローカルマップ情報を配置した位置と、当該位置におけるグローバルマップGMとローカルマップ情報との一致度と、の関係を表すものに対応)を算出する。
 その後、位置推定部5555は、尤度と時刻tk+1における事前確率とを乗算することにより、時刻tk+1における事後確率を算出する。位置推定部5555は、時刻tk+1における事後確率が最大値となる位置及び姿勢、すなわち、走行部1が存在する可能性が最も高いと推定される位置、及び、当該位置において走行部1がとりうる最も可能性が高い姿勢を、時刻tk+1における走行部1の存在位置(推定位置)及び当該存在位置における姿勢(推定姿勢)と推定する。時刻tk+1における事後確率は、次の位置推定において事前確率として使用される。
 上記のように、位置推定部5555が、主輪13の回転量に基づいた移動距離と、前方検出器5551a及び後方検出器5551bとを用いて得られた地図情報と、を用いて位置推定を実行することにより、主輪13の回転量に基づいた移動距離に含まれる誤差(主に、主輪13と床面Fとの間の滑りに起因)と、地図情報に含まれる誤差(主に、前方検出器5551a及び後方検出器5551bにて取得した情報に含まれるノイズ成分に起因)とを相補的に減少させて、精度のよい位置推定を実行できる。
 SLAM部555は、経過時間決定部5557を有する。経過時間決定部5557は、自律走行モードの実行開始からの経過時間を決定する。具体的には、経過時間決定部5557は、自律走行モードの実行開始からの経過時間を、位置推定部5555にて推定された位置情報に基づき決定する。より具体的には、例えば、走行スケジュール500に記憶されている位置情報のうち、位置推定部5555にて推定された走行部1の位置情報に最も近い位置情報に関連付けられている時間を、自律走行モードの実行開始からの経過時間とする。
(5)自律走行装置の動作
 (5-1)基本動作
 図8を用いて、自律走行装置100の基本的な動作を説明する。図8は、自律走行装置の基本的な動作を示すフローチャートである。自律走行装置100が動作を開始すると、ステップS1では、制御部5が、切替部91の状態を確認する。切替部91が「自動」を選択している場合(「自律走行モード」の場合)、プロセスはステップS2に移行して自律走行モードが実行される。具体的には、記憶部57に記憶された走行スケジュール500に従って、自律走行装置100は自律的に清掃作業を実行する。
 一方、切替部91が「手動」を選択している場合(「手動操作モード」の場合)、制御部5は、実行すべき動作モードが手動操作モードと判断する。
 ステップS3では、手動操作モードを実行中に手動操作記憶スイッチ92が押されたことを検知したか否かが判断される。検知した場合、プロセスはステップS4に移行し、動作モードが手動操作教示モードに切り替わる。その結果、手動操作記憶スイッチ92が押されたタイミング以降の操作者による走行部1の操作が記憶される。
 また、手動操作教示モードにおいては、制御統括部55は、操作者による走行部1の操作にて決定した走行領域TA内を自律走行装置100に走行させるための走行スケジュール500を作成する。
 一方、手動操作記憶スイッチ92が押されたことが検知されない場合には、プロセスはステップS5に移行して操作者の操作を記憶しない手動操作モードの実行を維持する。
 上記のステップS4において手動操作教示モードを実行中に、制御部5は、手動操作記憶スイッチ92が押されたか否かをモニターする。手動操作教示モードの実行中に手動操作記憶スイッチ92が押された場合には、そのタイミングで動作モードが手動操作モードに切り替わり、当該タイミング以降の清掃作業が走行スケジュール500に記憶されなくなる。すなわち、手動操作教示モードの実行時に手動操作記憶スイッチ92を押すことにより、操作者は、清掃作業の途中の任意のタイミングにてその記憶(教示)を停止できる。
 上記のように、本実施形態に係る自律走行装置100は、切替部91における動作モードの選択、及び、手動操作記憶スイッチ92が押されたか否かに応じて、自律走行モード、手動操作モード、及び手動操作教示モードを実行できる。
 (5-2)手動操作教示モードの動作(概略説明)
 図9~図13を用いて、上記のステップS4において実行される手動操作教示モードの動作を説明する。図9は、手動操作教示モードの動作を示すフローチャートである。図10は、走行環境の一例である。図11は、グローバルマップにグリッドレイヤーを投影しさらに走行領域を重ねた状態を示す図である。図12は、グローバルマップ上に走行領域を画定する様子の一例を示す図である。図13は、走行領域内経路の一例を示す図である。以下の説明では、図10に示すような走行環境において設定された走行領域TA内をまんべんなく「塗り潰す」走行領域内経路を計画し、走行スケジュール500として作成する。
 ステップS11では、手動操作教示モードにおいて走行スケジュール500を作成するにあたり、制御統括部55は、走行環境を表すグローバルマップGMを作成する。
 最初に、手動操作記憶スイッチ92が押された後に自律走行装置100の手動操作を開始するか、又は、手動操作中に手動操作記憶スイッチ92が押されて、手動操作教示モードが開始されると、操作者は、走行経路教示部7を用いて自律走行装置100を操作する。操作者は、走行領域TAとしたい領域の外周境界に沿って、自律走行装置100を走行させる。
 操作者による操作により自律走行装置100が走行中、地図作成部5553が、所定の時間毎に、ローカルマップを取得する。図10に示すように、自律走行装置100が走行を開始した開始点STから、走行領域TAの外周境界とする閉じられた経路を走行し、再度開始点ST又はその近傍まで戻ってきた後、地図作成部5553は、取得したローカルマップを対応する位置に配置してグローバルマップGMを作成する。その後、地図作成部5553は、必要に応じて、Graph SLAMアルゴリズムなどを用いて、当該グローバルマップGMを修正する。
 一方、グローバルマップGMに対応するグリッドレイヤーGLが用意されている。グリッドレイヤーGLは、グリッド作成部5531によって適宜作成される。グリッドレイヤーGLは、多数のグリッドGRの集合体である。グリッドGRは、走行環境においては、所定の面積を有する小領域に対応する。グリッドサイズは、例えば、50×50cmである。このようにグローバルマップGMとは別の座標軸であるグリッドレイヤーGLを用いているので、両者を別々に管理することができ、そのため作業効率が良い。
 また、制御部5を構成するコンピュータシステムにおいては、当該グリッドGRを、例えばグリッドに関するパラメータ(例えば、グリッドGRを識別するパラメータ、グリッドGRの位置情報、グリッドGRの有効無効、グリッドGRに付与されたスコア、など)を含む「構造体」として定義できる。
 ステップS12では、グローバルマップGMを作成後、走行環境において自律走行装置100が走行する領域を表す走行領域TAが、グローバルマップGM上に画定される。具体的には、以下のようにして、走行領域TAがグローバルマップGM上に画定される。
 最初に、上記のステップS11を実行中、すなわち、自律走行装置100を走行領域TAの外周境界に沿って走行させる間に、走行領域取得部551が、所定の時間毎に、位置推定部5555にて推定された位置情報を走行領域TAの外周境界を表す点として取得する。
 これにより、走行領域取得部551は、自律走行装置100が開始点ST(図10)から点線にて示す経路に沿って走行し、開始点ST又はその近傍まで戻ってくるまでの間に取得した複数の位置情報を、走行領域TAの外周境界を表す点列として取得できる。走行領域取得部551は、走行領域TAの外周境界を表す位置情報の点列を、走行領域内経路作成部553に出力する。
 次に、図11に示すように、走行領域内経路作成部553は、グローバルマップGM(実際には、グリッドレイヤーGL)上に、走行領域TAの外周境界を表す点列を配置する。走行領域TAの外周境界を表す位置情報が、グリッドレイヤーGLのいずれのグリッドに配置されるかは、例えば、位置情報(グローバルマップ)を定義した座標系において、グリッドGRがどの座標値に存在するかにより決定できる。
 その後、走行領域内経路作成部553は、図12に示すように、走行領域TA内のグリッドGR(図12では白色のグリッド)と、走行領域TAの点列がグリッド上にあるグリッド(図12では白色のグリッド)が有効グリッドであると決定し、それ以外のグリッドGRについては無効グリッド(図12では灰色のグリッド)であると決定する。
 このようにして、走行領域内経路作成部553は、走行領域TAには含まれないグリッドGRを新たに無効グリッドとすることにより、走行領域TAを多数の有効グリッド(図12においては、白色のグリッドGR)にて構成される領域として、グローバルマップGM上に画定できる。
 グローバルマップGM上に走行領域TAを画定後、ステップS13では、走行領域内経路作成部553は、走行領域TAを矩形の領域(矩形領域RA)に分割する。走行領域TAを矩形領域RAに分割するにあたり、走行領域内経路作成部553は、走行領域TAのどの部分に矩形領域RAが存在するかを探索する。
 走行領域TAを矩形領域RA1~RA3に分割後、ステップS14では、走行領域内経路作成部553は、各矩形領域RA1~RA3に対して、当該各矩形領域RA1~RA3内おける矩形領域内経路(後述)の始点グリッドを決定する。他の矩形領域RA2、RA3の始点グリッドは、後述するステップS17において決定される。
 ステップS15では、走行領域内経路作成部553は、当該始点グリッドから開始し、対象の各矩形領域RA1~RA3に含まれる全ての有効グリッドを通過する走行経路である矩形領域内経路を作成する。
 ステップS16では、走行領域内経路作成部553は、矩形領域内経路を未だ作成していない矩形領域RA1~RA3が存在するか否かを判定する。矩形領域内経路を作成していない矩形領域RA1~RA3が存在していない場合には、手動操作教示モードを終了する。
 その一方、矩形領域内経路を作成していない矩形領域RA1~RA3が存在する場合、ステップS17では、次にどの矩形領域RA2、RA3内を自律走行装置100に走行させるかを決定する。
 ステップS18では、走行領域内経路作成部553は、矩形領域RA1の終点グリッドと、当該次に走行すべきと決定した矩形領域RA3の始点グリッドとを接続する走行経路(接続走行経路)を作成する。
 その後、矩形領域内経路が全ての矩形領域RA1~RA3において作成されるまで、上記のステップS15~S18が繰り返し実行される。その結果、図12などにて示した走行領域TAに対して、最終的に図13の太矢印にて示すような、設定された走行領域TA内を自律走行装置100がまんべんなく走行する走行領域内経路が作成される。
 走行領域内経路を作成後、走行領域内経路作成部553は、作成した走行領域内経路を、自律走行装置100が通過する通過点(例えば、サブゴール)の集合に変換する(後述)。その後、走行領域内経路作成部553は、走行領域内経路を変換して生成した各通過点に対して当該通過点を通過する時間を関連付け、さらに、必要に応じて、各通過点における清掃条件を対応する通過点に関連付けることで、走行スケジュール500を作成する。
 手動操作教示モードにおいて、上記のステップS11~S18を実行することにより、走行環境を表すグローバルマップGM上において走行領域TAを指定するとの容易な方法により、自律走行装置100が走行領域TAをまんべんなく走行できる走行経路、すなわち、走行領域内経路を精度よく作成できる。
 (5-3)自律走行モードの動作
 図14を用いて、図8のステップS2において実行される、手動操作教示モードにおいて作成された走行領域内経路を再現する自律走行モードの実行時における自律走行装置100の動作を説明する。図14は、自律走行モードの実行時の自律走行装置の動作を示すフローチャートである。
 切替部91において「自動」が選択されて自律走行モードを実行すると、自律走行装置100は、走行スケジュール500に従って自律的に走行する自律走行モードを開始する。自律走行モードは、具体的には、以下のようにして実行される。
 以下の説明においては、自律走行モードの実行開始からの経過時間tm-1までの走行が実行済みであるとする。ここで、mは、m番目の走行のための制御を示す。
 ステップS21では、SLAM部555が、前方検出器5551a及び後方検出器5551bから、前方の障害物に関する情報及び後方の障害物に関する情報を取得する。
 ステップS22では、位置推定部5555が、エンコーダ111にて測定された走行モータ11の回転量、グローバルマップGM、及び上記のステップS21において取得された情報に基づいて得られたローカルマップに基づいて、走行部1のx-y座標上の位置を推定する。例えば、自律走行装置100の位置が、x-y座標上において、(xm’,ym’、θm’)と推定されたとする。
 ステップS23では、走行部1の位置を推定後、経過時間決定部5557が、自律走行モードの実行開始からの経過時間tmを決定する。
 ステップS24では、走行再現部557が、経過時間tmにおける再現走行制御指令を、以下のように算出する。
 今、経過時間tmが、走行スケジュール500に記憶された時間TL(に最も近い)であると決定されたとする。この場合、走行再現部557は、次の時間TL+1に関連付けられた位置情報(xL+1,yL+1,θL+1)を、走行スケジュール500から読み出し、経過時間tmにおける再現走行制御指令を、推定された位置情報と目標とする位置情報との差分(xL+1-xm’,yL+1-ym’,θL+1-θm’)に基づいて算出する。
 ステップS25では、再現走行制御指令を算出後、走行再現部557は、再現走行制御指令を走行制御部53に出力する。これにより、走行制御部53は、受信した再現走行制御指令に基づいて走行モータ11を制御することで、走行部1を走行スケジュール500に従って自律的に移動させる。
 他の実施形態において、走行スケジュール500に清掃条件が関連付けられている場合には、上記のステップS24~S25において、走行再現部557は、再現清掃条件を算出し、当該再現清掃条件に基づいて清掃制御部51を制御してもよい。
 具体的には、走行再現部557は、時間TLに関連付けられた清掃条件(SL,WL,PL)を走行スケジュール500から読み出し、当該清掃条件(SL,WL,PL)を経過時間tmにおける再現清掃条件として決定する。その後、走行再現部557は、再現清掃条件を清掃制御部51に出力する。これにより、再現清掃条件に従って、清掃部3を制御できる。
 ステップS26では、走行部1を再現走行制御指令に基づいて制御後、走行再現部557は、走行スケジュール500に記憶された走行動作を全て実行したか否かを確認する。走行スケジュール500に記憶された走行動作が全て終了したか否かは、例えば、走行スケジュール500の末尾にある識別子(例えば、「エンド・オブ・ファイル」を示す識別子など)を検出することにより確認できる。
 走行スケジュール500に記憶された走行動作が全て実行されていないと判定される限り(ステップS26において「No」である限り)、上記のステップS21~S25が繰り返し実行される。
 一方、走行スケジュール500に記憶された全ての走行動作が実行されたと判定されたとき、すなわち、自律走行装置100が走行領域内経路を全て走行したと判定されたとき(ステップS26において「Yes」の場合)に、自律走行モードの実行を終了する。これにより、自律走行装置100は、走行スケジュール500に記憶された走行動作を忠実に再現して、設定された走行領域内を自律的にまんべんなく走行できる。
 他の実施形態において、走行スケジュール500に記憶された走行動作を全て実行した場合のみでなく、例えば、自律走行装置100にて異常が発生した場合、ユーザにより自律走行モードの実行停止が指令された場合などにおいても、自律走行モードの実行が停止されてもよい。
(6)矩形領域内経路作成の制御動作
 図9~図13を用いて説明した手動操作教示モードの変形例として、図15~図18を用いて、矩形領域内経路作成の制御動作を説明する。なお、以下の説明は、図9のステップS15に概ね対応している。図15は、矩形領域内経路作成制御動作を示すフローチャートである。図16~図18は、外周教示経路、第1グリッド領域、第2グリッド領域、内周周回経路、塗り潰し経路の関係を示す模式的平面図である。
 グローバルマップGMは、自律走行装置100によって外周教示走行を行うことで取得されている。例えば、図16では、自律走行装置100による外周周回経路21が示されており、外周周回経路21の図下側が走行領域TAになっている。なお、外周周回経路21は、外周教示のスタート位置から外周を一周する経路である。これは、グリッド経路ではなく、外周教示経路(教示走行時の実際の走行軌跡)を基にした自由経路計画によって計画される経路である。なお、本実施例では、外周周回経路21は、外周教示経路をそのまま利用している。
 変形例では、外周教示経路から外周周回経路が作成される。例えば、GUI上で走行領域を指定し(つまり、外周教示経路を作成し)、次に、教示された外周を基に外周周回経路が作成される。これにより、自律走行装置100が滑らかに走行できる。
 矩形領域内経路作成の制御動作は、自律走行装置100が自律走行する経路を計画する自律走行経路計画方法であって、下記のステップを備えている。
 ステップS31では、走行領域TAに対応して第1グリッド領域GA1が作成される。このときに前述のグリッドレイヤーGLが用いられる。具体的には、走行領域内経路作成部553のグリッド作成部5531(グリッド作成部の一例)が、例えば、外周教示経路を含む第1矩形を求め、次に第1矩形よりマージン分大きな第2矩形を求め、次に第2矩形とグリッド中心が一致する位置に最初のグリッドGRを配置し、最後に複数のグリッドGRを第2矩形を含む位置まで敷き詰める。これにより、第1グリッド領域GA1が生成される。例えば、図17では、第1グリッド領域GA1が示されている。ここで、第1グリッド領域GA1は、最外側のグリッドGRが外周周回経路21をカバーしている。
 なお、第1グリッド領域GA1は、走行領域TAとは独立して形成されている。実際は、第1グリッド領域GA1は走行領域TAをはみ出して形成される。また、第1グリッド領域GA1は、グリッドレイヤーGLのグリッドの一部を無効として、残りを有効とすることで形成されてもよい。
 ステップS32では、自律走行装置100の車体サイズと回転半径と回転移動距離及びグリッドのサイズに基づいて、自律走行装置100が方向転換を行う際に外周周回経路21から自律走行装置100の本体Bが逸脱する逸脱幅DWを算出する。具体的には、逸脱幅算出部5533が上記計算を行う。例えば、図17では、自律走行装置100が方向転換によって外周周回経路21からはみ出す逸脱幅DW(最大逸脱領域境界BLまでの距離)が示されている。逸脱幅DWは、位置によって異なり、本実施形態においては最小逸脱量D1~最大逸脱量D2(最小逸脱量D1+グリッド長GRL)の範囲である。
 ステップS33では、逸脱があったか否かが判断される。具体的には、逸脱判定部5534が上記判断を行う。逸脱があればプロセスはステップS34に移行し、逸脱がなければプロセスはステップS34をスキップしてステップS35に移行する。
 ステップS34では、内周周回経路23が作成される。具体的には、走行経路計画部5535(内周周回経路作成部の一例)が内周周回経路23を作成する。内周周回経路23は、外周周回経路21からグリッド幅ずつ内側に位置する経路(外周周回経路21を縮小した経路)であり、互いに平行になっている。内周周回経路23は、外周周回経路21を基にした自由経路計画によって作成される。例えば、図18では、2本の内周周回経路23が平行に延びている。ただし、2本の内周周回経路23同士の距離はグリッド幅ずつでなくてもよいし、途中で変化してもよいし、部分的に一致してもよい。なお、内周周回経路23は、外周教示経路を元にした自由経路計画によって作成されてもよい。また、内周周回経路23は、外周周回経路21を縮めつつ滑らかになるように加工されてもよい。
 なお、このステップでは、塗り残しが生じないようにするために必要な内周周回経路23の最大本数が算出される。つまり、逸脱幅DWの大きさは場所によって変わる可能性があるが、逸脱幅DWを覆うために必要な最大本数の内周周回経路23を作成することで、塗り残しが生じない走行経路を計画することができる。
 ステップS35では、第2グリッド領域GA2(グリッド領域の一例)が作成される。第2グリッド領域GA2は、塗り潰し走行経路を計画する対象エリアである。第2グリッド領域GA2は、最も内側の内周周回経路23と第1グリッド領域GA1とを用いて作成される。具体的には、第1グリッド領域GA1のグリッドGRのうち最も内側の内周周回経路23が入っているもの及びそれらより内側のものを第2グリッド領域GA2のグリッドGRと判定される。つまり、第1グリッド領域GA1の一部を無効として、残りを有効として残すことで第2グリッド領域GA2とする。
 なお、変形例として、第1グリッド領域GA1のグリッドGRのうち最も内側の内周周回経路23より中心Cが内側に入っているもの及びそれらより内側ものを第2グリッド領域GA2のグリッドGRと判定してもよい。
 ステップS36では、第2グリッド領域GA2内を塗り潰すように塗り潰し走行経路25が作成される。具体的には、走行経路計画部5535(塗り潰し走行経路作成部の一例)が塗り潰し走行経路25を作成する。最初に、グリッドレイヤーGLの各グリッドGRの走行順番が決定され、次にグリッドGRの中心Cを通るグリッド経路として作成される。
 例えば、図18では、塗り潰し走行経路25の一部が示されている。この場合、自律走行装置100が第2グリッド領域GA2において方向転換をすれば、自律走行装置100は図に示すように第2グリッド領域GA2を逸脱するが、逸脱部分は最外周の内周周回経路23の内側に位置している。
 なお、ステップS36において、塗り潰し走行経路25は、第2グリッド領域GA2に加えて逸脱幅DWも塗り潰すように形成されてもよい。この場合、グリッドが外周教示経路の境界に跨って配置される条件において、境界のグリッド配置、すなわち実際の第2グリッド領域GA2の境界形状が直線になるため、効率の高い直線の塗り潰し走行経路が計画されやすくなる。
 ステップS37では、外周教示走行を行った外周周回経路21、内周周回経路23、及び塗り潰し走行経路25を連続的に繋ぐ。具体的には、走行経路計画部5535が上記決定を行う。この結果、自律走行経路が完成する。
 上記において、塗り潰し走行経路25の開始位置は、外周周回経路21上に設定される。これにより、塗り潰し走行経路25の終了位置が明確になり、自律走行装置100の回収が容易になる。また、塗潰しの終了位置がユーザにとって明示的になるので、例えば次に実現したい教示の開始位置が決まることで、自律走行装置100がスムーズに連続走行できる。
 さらに具体的には、その場合、塗り潰し走行経路25の終了位置は、外周周回経路21より内側の開始位置付近(数十cm程度)に設定される。開始位置から内側にずらした位置を終了位置にすることで、外周周回経路21上の終了位置(=開始位置)に戻る塗り潰し走行経路25を計画するときに教示範囲から逸脱することが防止される。それに比べて、開始位置=終了位置とすると、外周周回経路21上の終了位置(=開始位置)に移動で戻る経路を計画する場合、自律走行装置100の走行部1の形状により、上記の逸脱が生じることが想定される。
 以上に述べたように、逸脱幅DWを走行する内周周回経路23が作成され、次に第2グリッド領域GA2が作成され、さらに第2グリッド領域GA2内に塗り潰し走行経路25が作成される。その結果、グリッドベースよる自律走行経路において、走行領域TAの外周境界BOから逸脱しないように自律走行装置100が走行できる自律走行経路が計画される。
 なお、内周周回経路23は、単数又は複数でよいし、複数の場合に互いに独立していてもよいし、一部同士が重複していてもよい。複数の内周周回経路23は互いに平行でもよいし、一部又は全部が非平行でもよい。また、内周周回経路23の本数はあらかじめ定まった固定値でもよい。
 図19及び図20を用いて、実際のグローバルマップ(環境地図)に形成された走行経路を説明する。図19は、第1実施形態において走行経路が表された環境地図である。図20は、従来例において走行経路が表された環境地図である。図19には、本実施形態において、外周境界BO、外周周回経路21、2本の内周周回経路23、塗り潰し走行経路25が示されている。図20には、従来技術において、外周周回経路21、及び塗り潰し走行経路25が示されている。図20において二点鎖線で示す領域Aが塗り潰し走行経路25の方向転換によって自律走行装置100が走行する領域であり、外周周回経路21の外側に逸脱している。
2.第2実施形態
 第1実施形態では内周走行経路作成及び第2グリッド領域作成の前に第1グリッド領域が作成されていたが、第1グリッド領域の作成(図15のステップS31)は省略されてもよい。つまり、第1実施形態における第1グリッドは作成されなくても、下記のステップが実行されて第2グリッド領域GA2(グリッド領域の一例、第1実施形態の第2グリッド領域GA2に対応)が形成されればよい。
 以下、第1実施形態の図15のフローチャートからステップS31を削除した制御動作を説明する。
 ステップS32では、自律走行装置100の車体サイズと回転半径と回転移動距離及びグリッドのサイズに基づいて、自律走行装置100が方向転換を行う際に外周周回経路21から自律走行装置100の本体Bが逸脱する逸脱幅DWを算出する。具体的には、逸脱幅算出部5533が上記計算を行う。
 ステップS33では、逸脱があったか否かが判断される。具体的には、逸脱判定部5534が上記判断を行う。逸脱があればプロセスはステップS34に移行し、逸脱がなければプロセスはステップS34をスキップしてステップS35に移行する。
 ステップS34では、少なくとも逸脱幅の一部に相当する一又は複数の内周周回経路23が作成される。具体的には、走行経路計画部5535(内周周回経路作成部の一例)が内周周回経路23を作成する。内周周回経路23は、外周周回経路21からグリッド幅ずつ内側に位置する経路(外周周回経路21を縮小した経路)であり、互いに平行になっている。内周周回経路23は、外周周回経路21を基にした自由経路計画によって作成される。
 ステップS35では、第2グリッド領域GA2が作成される。第2グリッド領域GA2は、塗り潰し走行経路を計画する対象エリアである。具体的には、走行領域内経路作成部553のグリッド作成部5531(グリッド作成部の一例)が、例えば、グリッドレイヤーGLのグリッドの一部を無効として、残りを有効とすることで第2グリッド領域GA2を作成する。
 さらに具体的には、第2グリッド領域GA2は、最も内側の内周周回経路を用いて作成される。つまり、最も外側のグリッドGR内に最も内側の内周周回経路23が入るように、第2グリッド領域GA2が形成される。なお、変形例として、最も外側のグリッドGRの中心Cよりも内側に最も内側の内周周回経路23が入るように、第2グリッド領域GA2が形成されてもよい。ステップS36及びステップS37の説明は、第1実施形態と同じであるので、省略される。
3.第3実施形態
 従来、塗り潰し走行において環境変動が発生した場合、途中で自律走行装置が自己位置を見失い、計画された走行経路に自律走行装置が追従できないことを防止するために走行を停止させていた。なお、環境変動とは、教示時に環境地図に記録された障害物と、自律走行時にセンサで検出された障害物の位置移動(追加、削除を含む)である。
 この場合、停止地点の周辺を含む以降の塗り残し箇所について走行範囲の再度教示や経路作成が必要となる。上記技術の問題点として、停止地点以降が塗り残し(例えば、未清掃エリア)になり、自律走行装置にその範囲を塗り潰し走行させたい場合には、再教示が必要になり、環境変動を検出するまでにかかった塗り潰し走行時間(清掃時間)が無駄になる。そこで、なるべく早い時点で環境変動を検出して、ユーザに通知することが望ましい。
 上記問題を解決するために、本実施形態では、塗り潰し走行の前に環境変動検出用のテスト走行を行うことで、塗り潰し走行の事前に環境変動を検出し、ユーザに通知することを可能にする。したがって、従来とは異なり、環境変動を検出する前に行った自律走行時間を無駄にすることがない。なお、本実施形態は第1実施形態の自律移動経路作成の後だけでなく、前にでも実行可能である。自律移動経路作成の前でも、走行領域が取得された後であればテスト走行経路の計画が可能だからである。以下、図21を用いて、環境変動検出制御動作をさらに詳細に説明する。図21は、第3実施形態のテスト走行経路作成及びテスト走行制御動作を示すフローチャートである。
 (1)テスト走行経路作成
 環境変動検出動作は、自律走行経路を計画した後に、例えば、ユーザが明示的にテスト走行を選択できる指定方法(UIなど)で開始される。なお、外周直接教示方式の場合、教示の開始時から終了時の間の任意の時刻と塗り潰し走行の開始時刻との間が所定時間より長い場合に自動的にテスト走行を行うようにしてもよい。
 ステップS41では、環境変動検出用のテスト走行経路41が作成される。具体的には、走行領域内経路作成部553がテスト走行経路41を作成する。テスト走行経路41は、図22に示すように、全体エリア43において、外周周回経路45と一致している。この場合、後述するテスト走行時間が短くなる。図22は、テスト走行経路の模式的平面図である。
 (2)テスト走行
 テスト走行では、下記のステップが実行される。
 ステップS42では、自律走行装置100にテスト走行経路を開始させる。具体的には、走行制御部53が上記動作を実行する。
 ステップS43では、自律走行装置100がゴールGに到達したか否かが判断される。具体的には、制御統括部55がセンサからの検出情報(例えば、前方検出器5551aにて取得した自律走行装置100の前方に存在する障害物に関する情報と、後方検出器5551bにて取得した自律走行装置100の後方に存在する障害物に関する情報)に基づいて状況判断を行う。ゴールGに到達していなければプロセスはステップS44に移行し、ゴールGに到達していればプロセスはステップS48に移行する。
 ステップS44では、テスト走行中に環境変動があるか否かが判断される。具体的には、制御統括部55が、センサからの検出情報に基づいて、環境変動判定部として上記判断を行う。環境変動があればプロセスはステップS45に移行し、環境変動がなければプロセスはステップS43に戻る。このように、自律走行装置100がゴールGに到達するまでは、常に環境変動の有無が調べられる。
 ステップS45では、テスト走行中に検出した環境変動がユーザに通知される。具体的には、通知部(図示せず)が通知を行う。環境変動を検出した場合の通知手段としては,画面表示,音,光,メールなどがある。これにより、ユーザが環境変動に直ちに気付くことができる。ステップS46では、テスト走行が中止される。具体的には、走行制御部53が上記動作を実行する。
 ステップS47では、自律走行装置100はスタート地点Sに戻される。具体的には、走行制御部53が上記動作を実行する。これにより、ユーザが再教示をすぐに開始できる。
 なお、スタート地点Sに戻るルートは、今まで通ってきた経路を逆転してスタート地点S(付近)に戻るルートでもよいし、最短経路でスタート地点Sに戻るルートでもよい。前者は、環境変動していない経路なので、安全にスタート地点Sに戻れる。後者は、戻る時間が短くなる。なお、自律走行装置100が戻されるのは、テスト走行のスタート地点に限られず、テスト走行経路上のいずれかの地点でもよい。
 その後、プロセスはステップS48に移行する。ステップS48では、テスト走行が終了する。その後、塗り潰し走行が実施される。
 なお、変形例としては、スタート地点Sに戻すステップ(ステップS47)の代わりに、その場で停止するステップ又はテスト走行を継続するステップを実行してもよい。別の変形例としては、環境変動があった場合は、塗り潰し走行を開始しなくてもよい。さらに別の変形例としては、テスト走行時にも清掃を行ってもよい。
 なお、塗り潰しエリアが分割された場合は、各エリアでテスト走行を行ってもよい。この場合、最初に変動を検知したときに、環境変動を通知、テスト走行を中止、自律走行装置100をテスト走行のスタート地点に戻す等のいずれか又は全てを行ってもよいし、それらを行わずに最終エリアまでテスト走行を実行してもよい。また、環境変動が検出されなかったエリアは塗り潰し清掃を行ってもよい。
 なお、環境変動が検知された場合には、テスト走行を完了させた後、テスト走行を中止した後、あるいは、テスト走行のスタート位置に戻した後で、あるいは、それらの動作の代りに、自律走行装置100を塗り潰し自律走行の開始位置や終了位置などの走行領域内の地点に移動させてもよい。また、ユーザが明示的にテスト走行を選択する形態ではなく、塗り潰し自律走行の実施前にテスト走行を自動的に行う形態の場合、環境変動が検出されなかった場合は自動的に塗り潰し走行を開始することが望ましいが、ユーザが念のため塗り潰し走行の開始を判断する形態でもよい。
(3)テスト走行経路の変形例
 第1の変形例では、図23に示すように、エリアが2つに分割されている場合に、テスト走行経路41Aは、全体エリア43の外周を一回りする外周周回経路45Aと一致している。
 第2の変形例では、図24に示すように、エリアが2つに分割されている場合に、テスト走行経路41Bは、第1エリア43A及び第2エリア43Bにおいて、外周周回経路45Aの一部と一致しておりかつ少なくとも各エリアの外周経路の一部になっている。
 第3の変形例では、テスト走行経路41Cは、図25に示すように、外周周回経路45Aを内側にシフトした単数又は複数の内周周回経路である。この場合、内部の状況をより正確に認識できる。なお、図25では、エリアが2つに分割されている場合に、各内周周回経路は全体エリアの内周を一回りするように形成されている。また、エリアが分割されていない場合に、テスト走行経路は、外周周回経路を内側にシフトした単数又は複数の内周周回経路であってもよい。
 第4の変形例では、テスト走行経路41Dは、図26に示すように、外周周回経路を内側にシフトした単数又は複数の周回経路である。この場合、内部の状況をより正確に認識できる。なお、図26では、エリアが2つに分割されている場合に、テスト走行経路41Dは、第1エリア43A及び第2エリア43Bにおいて、外周周回経路45Aの一部と相似している。
 第5の変形例では、テスト走行経路41Eは、図27に示すように、全体エリア43内の中心部を走行する経路である。具体的には、テスト走行経路41Eは、全体エリア43の長手方向に沿って直線状に延びている。この場合、内部の状況をより正確に認識できる。
 第6の変形例では、図28に示すように、エリアが2つに分割されている場合に、テスト走行経路41Fは第1エリア43A及び第2エリア43B間で連続して形成されている。
 第7の変形例では、図29に示すように、エリアが2つに分割されている場合に、テスト走行経路41Gは第1エリア43A及び第2エリア43B内に別々に形成されている。
4.他の実施形態
 以上、本発明の複数の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
 自律走行装置は、自律的に清掃作業を実行する清掃機以外の走行装置であってもよい。例えば、自律走行装置は、宣伝用ロボッ卜であってもよい。
 自律走行装置は、自律的に走行するための走行部(とそれを制御する制御部)のみにて構成されていてもよい。この場合は、例えば、当該自律走行装置と、所望の機能を発揮するためのロボッ卜システムと、を組み合わせて、所望の機能を有するロボッ卜(装置)を構成できる。
 第1実施形態ではグリッドレイヤーはグローバルマップとは別のレイヤーであったが、両者を一体として管理してもよい。本実施形態は、自律走行体の機体が「真円であって超信地旋回するもの」以外には適用できる。
 本発明は、自律走行体の走行経路を計画する自律走行経路計画方法に広く適用できる。
1     :走行部
3     :清掃部
5     :制御部
7     :走行経路教示部
8     :取付部材
9     :設定部
11    :走行モータ
13    :主輪
15    :補助輪
21    :外周周回経路
23    :内周周回経路
25    :塗り潰し走行経路
31    :洗浄液吐出口
33    :スキージ
33a   :吸引口
35    :洗浄用部材
41    :テスト走行経路
51    :清掃制御部
53    :走行制御部
55    :制御統括部
57    :記憶部
71a   :ハンドル
71b   :ハンドル
73    :筐体
75    :走行制御指令算出部
91    :切替部
92    :手動操作記憶スイッチ
93    :設定操作部
94    :設定変換部
95    :ディスプレイ
96    :清掃条件教示部
97    :清掃制御指令算出部
100   :自律走行装置
111   :エンコーダ
311   :洗浄液供給タンク
313   :洗浄液供給ポンプ
331   :吸引モータ
333   :回収部材
351   :洗浄用部材回転モータ
500   :走行スケジュール
531   :走行切替部
533   :モータ制御部
551   :走行領域取得部
553   :走行領域内経路作成部
555   :SLAM部
557   :走行再現部
5531  :グリッド作成部
5532  :走行順番決定部
5535  :走行経路計画部
5551a :前方検出器
5551b :後方検出器
5553  :地図作成部
5555  :位置推定部
5557  :経過時間決定部
B     :本体
C     :中心
DW    :逸脱幅
F     :床面
GR     :グリッド
GA1   :第1グリッド領域
GA2   :第2グリッド領域
GL    :グリッドレイヤー
GM    :グローバルマップ
RA    :矩形領域
RA1   :矩形領域
RA2   :矩形領域
RA3   :矩形領域
ST    :開始点
TA    :走行領域

Claims (9)

  1.  自律走行体が自律走行する経路を計画する自律走行経路計画方法であって、
     環境地図において塗り潰し走行を行う走行領域を取得するステップと、
     前記自律走行体の車体サイズと回転半径と回転移動距離及びグリッドのサイズに基づいて、前記自律走行体が方向転換を行う際に前記走行領域から前記自律走行体の車体が逸脱する逸脱幅を算出するステップと、
     少なくとも前記逸脱幅の一部に相当する一又は複数の内周周回経路を作成するステップと、
     最内周の前記内周周回経路に対応する位置を境界とするグリッド領域を作成するステップと、
     前記グリッド領域内を塗りつぶすように塗り潰し走行経路を作成するステップと、
    を備えた自律走行経路計画方法。
  2.  前記内周周回経路を作成するステップでは、前記逸脱幅を全て覆うために必要な最大本数を算出する、請求項1に記載の自律走行経路計画方法。
  3.  前記走行領域を取得するステップは、前記自律走行体によって前記走行領域の境界を教示して外周教示経路を作成することで前記走行領域を取得し、
     前記外周教示経路に基づいて作成される外周周回経路、前記塗り潰し走行経路、及び前記内周周回経路を連続的に繋いで自律走行経路として決定するステップをさらに備える、請求項1又は2に記載の自律走行経路計画方法。
  4.  前記塗り潰し走行経路の開始位置を前記外周周回経路上に設定するステップと、
     前記塗り潰し走行経路の終了位置を前記外周周回経路より内側の前記開始位置付近に設定するステップと、をさらに備える、請求項3に記載の自律走行経路計画方法。
  5.  環境変動検出用のテスト走行経路を作成するステップと、
     前記自律走行体に前記テスト走行経路を走行させるステップと、をさらに備えている、請求項1~4のいずれかに記載の自律走行経路計画方法。
  6.  前記自律走行体が前記テスト走行経路を走行中に検出した環境変動を通知するステップをさらに備えている、請求項5に記載の自律走行経路計画方法。
  7.  前記自律走行体が前記テスト走行経路を走行中に環境変動を検出した後に、テスト走行を中止するステップをさらに備えている、請求項5又は6に記載の自律走行経路計画方法。
  8.  前記テスト走行を中止した後に、前記自律走行体を前記テスト走行経路上の地点に戻すステップをさらに備えている、請求項7に記載の自律走行経路計画方法。
  9.  前記テスト走行を中止した後に、前記自律走行体を前記走行領域内の地点に移動するステップをさらに備えている、請求項7に記載の自律走行経路計画方法。
     
PCT/JP2021/029314 2020-11-04 2021-08-06 自律走行経路計画方法 WO2022097335A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21888888.1A EP4242770A1 (en) 2020-11-04 2021-08-06 Autonomous travel path planning method
US18/033,852 US20230397789A1 (en) 2020-11-04 2021-08-06 Autonomous travel path planning method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020184308A JP2022074349A (ja) 2020-11-04 2020-11-04 自律走行経路計画方法
JP2020-184308 2020-11-04

Publications (1)

Publication Number Publication Date
WO2022097335A1 true WO2022097335A1 (ja) 2022-05-12

Family

ID=81457670

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/029314 WO2022097335A1 (ja) 2020-11-04 2021-08-06 自律走行経路計画方法

Country Status (4)

Country Link
US (1) US20230397789A1 (ja)
EP (1) EP4242770A1 (ja)
JP (1) JP2022074349A (ja)
WO (1) WO2022097335A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017211758A (ja) * 2016-05-24 2017-11-30 シャープ株式会社 自律走行装置
JP2018073008A (ja) * 2016-10-26 2018-05-10 株式会社クボタ 走行経路生成装置
JP2018099113A (ja) 2016-12-19 2018-06-28 株式会社クボタ 走行経路決定装置
JP2018116614A (ja) * 2017-01-20 2018-07-26 株式会社クボタ 走行経路生成装置及び走行経路生成プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017211758A (ja) * 2016-05-24 2017-11-30 シャープ株式会社 自律走行装置
JP2018073008A (ja) * 2016-10-26 2018-05-10 株式会社クボタ 走行経路生成装置
JP2018099113A (ja) 2016-12-19 2018-06-28 株式会社クボタ 走行経路決定装置
JP2018116614A (ja) * 2017-01-20 2018-07-26 株式会社クボタ 走行経路生成装置及び走行経路生成プログラム

Also Published As

Publication number Publication date
EP4242770A1 (en) 2023-09-13
JP2022074349A (ja) 2022-05-18
US20230397789A1 (en) 2023-12-14

Similar Documents

Publication Publication Date Title
JP6610797B2 (ja) 自律走行装置
CN106535614B (zh) 分离的草坪区块的机器人割刈
US9931010B2 (en) Autonomously traveling floor washer, cleaning schedule data structure, storage medium, method for creating cleaning schedule, and program
JP6867120B2 (ja) 地図作成方法及び地図作成装置
US8364309B1 (en) User-assisted robot navigation system
WO2014178272A1 (ja) 自律移動体
JP6708828B2 (ja) 自律走行装置及びその開始位置判定プログラム
JP2010092147A (ja) 自律移動装置
JP6074205B2 (ja) 自律移動体
KR20190130511A (ko) 바닥 청소기의 루트 결정 방법
JP7342985B2 (ja) 自律走行システム、自律走行方法、及び自律走行プログラム
JP7272461B2 (ja) 自律走行台車、制御方法、及び、プログラム
WO2015141445A1 (ja) 移動体
JP7459497B2 (ja) 経路計画装置、経路計画方法及び自律走行台車
WO2022054647A1 (ja) 走行領域決定方法及び自律走行体
WO2022097335A1 (ja) 自律走行経路計画方法
JP7381240B2 (ja) 自律走行作業装置
WO2022038823A1 (ja) 自律走行経路計画方法、自律走行方法、及び、プログラム
US20240188784A1 (en) Floor-cleaning system, floor-cleaning apparatus, and method for operating a floor-cleaning system or a floor-cleaning apparatus
JPH07253815A (ja) 自律走行作業車
US20230400861A1 (en) Travel teaching recording method for autonomous traveling body, autonomous traveling body, and recording medium
WO2022065297A1 (ja) 自律走行経路計画方法
WO2023089886A1 (ja) 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム
JP2023121291A (ja) 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム
JP2004227473A (ja) 自走機器およびそのプログラム

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: 21888888

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021888888

Country of ref document: EP

Effective date: 20230605