WO2018043180A1 - 走行経路作成方法、自律走行装置、及びプログラム - Google Patents

走行経路作成方法、自律走行装置、及びプログラム Download PDF

Info

Publication number
WO2018043180A1
WO2018043180A1 PCT/JP2017/029788 JP2017029788W WO2018043180A1 WO 2018043180 A1 WO2018043180 A1 WO 2018043180A1 JP 2017029788 W JP2017029788 W JP 2017029788W WO 2018043180 A1 WO2018043180 A1 WO 2018043180A1
Authority
WO
WIPO (PCT)
Prior art keywords
route
travel
traveling
unit
area
Prior art date
Application number
PCT/JP2017/029788
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 JP2018537141A priority Critical patent/JP6673486B2/ja
Publication of WO2018043180A1 publication Critical patent/WO2018043180A1/ja

Links

Images

Classifications

    • 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
    • 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/02Floor surfacing or polishing machines
    • A47L11/10Floor surfacing or polishing machines motor-driven
    • A47L11/14Floor surfacing or polishing machines motor-driven with rotating tools
    • A47L11/16Floor surfacing or polishing machines motor-driven with rotating tools the tools being disc brushes
    • A47L11/162Floor surfacing or polishing machines motor-driven with rotating tools the tools being disc brushes having only a single disc brush
    • 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/02Floor surfacing or polishing machines
    • A47L11/10Floor surfacing or polishing machines motor-driven
    • A47L11/14Floor surfacing or polishing machines motor-driven with rotating tools
    • A47L11/16Floor surfacing or polishing machines motor-driven with rotating tools the tools being disc brushes
    • A47L11/162Floor surfacing or polishing machines motor-driven with rotating tools the tools being disc brushes having only a single disc brush
    • A47L11/1625Floor surfacing or polishing machines motor-driven with rotating tools the tools being disc brushes having only a single disc brush with supply of cleaning agents
    • 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/28Floor-scrubbing machines, motor-driven
    • A47L11/282Floor-scrubbing machines, motor-driven having rotary tools
    • A47L11/283Floor-scrubbing machines, motor-driven having rotary tools the tools being disc brushes
    • 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/29Floor-scrubbing machines characterised by means for taking-up dirty liquid
    • A47L11/292Floor-scrubbing machines characterised by means for taking-up dirty liquid having rotary tools
    • A47L11/293Floor-scrubbing machines characterised by means for taking-up dirty liquid having rotary tools the tools being disc brushes
    • 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/29Floor-scrubbing machines characterised by means for taking-up dirty liquid
    • A47L11/30Floor-scrubbing machines characterised by means for taking-up dirty liquid by suction
    • 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/29Floor-scrubbing machines characterised by means for taking-up dirty liquid
    • A47L11/30Floor-scrubbing machines characterised by means for taking-up dirty liquid by suction
    • A47L11/302Floor-scrubbing machines characterised by means for taking-up dirty liquid by suction having rotary tools
    • A47L11/305Floor-scrubbing machines characterised by means for taking-up dirty liquid by suction having rotary tools the tools being disc brushes
    • 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
    • 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/4036Parts or details of the surface treating tools
    • A47L11/4044Vacuuming or pick-up tools; Squeegees
    • 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/408Means for supplying cleaning or surface treating agents
    • A47L11/4088Supply pumps; Spraying devices; Supply conduits
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • 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
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • 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
    • 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/06Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning

Definitions

  • the present invention relates to a method for creating a travel route of an autonomous travel device that travels autonomously in a travel environment, an autonomous travel device that travels according to the travel route creation method, and a program for causing a computer to execute the travel route creation method About.
  • an autonomous traveling device that autonomously travels according to a route plan from a travel start position to a travel end position.
  • autonomous travel that autonomously travels along the taught travel route and autonomously performs cleaning according to the taught cleaning condition by reproducing the travel route and cleaning conditions taught by the user's operation
  • a type floor washer is known (see, for example, Patent Document 1).
  • An object of the present invention is to easily and accurately create a travel route for traveling in a specific region evenly in an autonomous traveling device.
  • a travel route creation method is a travel route creation method for an autonomous travel device that travels autonomously in a travel environment.
  • the travel route creation method includes the following steps. A step of creating an environment map representing a driving environment as an aggregate of a plurality of cells. A step of demarcating on the environment map a traveling area representing an area where the autonomous traveling device travels in the traveling environment. ⁇ Step of dividing the travel area into rectangular areas. A step of determining a start point cell that is a start point of the route in the rectangular area. The rectangular area route is a traveling route of the autonomous traveling device in each rectangular area.
  • Running starting from the starting point cell and passing through all the cells included in the rectangular area by combining the straight traveling route corresponding to the straight traveling of the autonomous traveling device and the direction changing route corresponding to the right turn or left turning of the autonomous traveling device.
  • Creating a route as a rectangular region route A step of creating a route within the travel area by connecting the end point cell corresponding to the end point of the route within the rectangular area and the start point cell within the rectangular area to be traveled next by the connection route.
  • the rectangular area that should be traveled next is adjacent to the rectangular area that created the route within the rectangular area.
  • the travel region route is a travel route of the autonomous traveling device in the travel region.
  • the travel route creation method described above is included in the specified travel area among many cells included in the environment map representing the travel environment. It is possible to accurately create a travel route that passes through all the cells. That is, a travel route (route within the travel region) that allows the autonomous traveling device to travel evenly in the travel region can be accurately created by an easy method of designating the travel region.
  • the step of creating the rectangular intra-region path may include the following steps.
  • the path extending from the start point cell may be a path extending in a direction perpendicular to the longitudinal direction of the rectangular area. This makes it possible to efficiently create a route in the rectangular area with the minimum number of direction change routes and the shortest distance.
  • the travel route creation method may further include the following steps.
  • the step of creating the route within the rotating rectangular area includes the step of creating the route by combining the third route extending in the first direction of the traveling environment and the fourth route extending in the second direction perpendicular to the first direction. May be included. As a result, the route within the rotating rectangular area can be created more easily.
  • An autonomous traveling device includes a traveling unit and a control unit that controls the traveling unit based on the traveling region route created by the traveling route creation method described above.
  • a program according to still another aspect of the present invention is a program for causing a computer to execute the travel route creation method described above.
  • a travel route that allows the autonomous traveling device to travel evenly within a specific area can be created easily and accurately.
  • the figure which shows the whole structure of an example of an autonomous traveling apparatus The figure which shows an example of a structure of a driving route teaching part.
  • movement of an autonomous traveling apparatus The flowchart which shows operation
  • FIG. 6 is a diagram schematically illustrating a search method for a main direction of a rectangular area (part 3); The figure which shows an example of the state which divided
  • the flowchart which shows the creation method of the path
  • route in a rectangular area The figure which shows typically an example of the determination method of the rectangular area which should drive
  • the autonomous traveling device 100 is a cleaning machine that autonomously reproduces the set cleaning condition and traveling route.
  • the autonomous traveling device 100 includes a traveling unit 1.
  • the traveling unit 1 is a device that causes the autonomous traveling device 100 to travel.
  • the traveling unit 1 has a main body B that constitutes a main body of the autonomous traveling device 100.
  • the traveling unit 1 includes a traveling motor 11 and a main wheel 13 that is attached to the output rotation shaft of the traveling motor 11 and rotates according to the rotation of the traveling motor 11 at the left and right ends of the bottom of the main body B, respectively.
  • the traveling unit 1 may have auxiliary wheels 15 that are rotatably attached to the left and right ends of the bottom of the main body B behind the main wheels 13, for example.
  • the autonomous mobile device 100 can be made more stable.
  • the auxiliary wheel 15 may be attached in front of the main wheel 13 in consideration of the position of the center of gravity of the autonomous traveling device 100 and the like.
  • the autonomous traveling device 100 includes a cleaning unit 3.
  • the cleaning unit 3 is a device that is provided at the bottom of the main body B and cleans the floor surface F in accordance with designated cleaning conditions.
  • the cleaning unit 3 according to the present embodiment includes 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 from the cleaning liquid supply tank 311 by the cleaning liquid supply pump 313 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 cleans the floor surface F by rotating on the floor surface F where the cleaning liquid exists by the rotation of the cleaning member rotating motor 351.
  • the autonomous mobile device 100 can perform a cleaning operation of polishing the floor surface F with the cleaning member 35 using a cleaning liquid.
  • the squeegee 33 may be provided with a suction port O2.
  • the suction port O ⁇ b> 2 can suck the cleaning liquid or dust 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 mobile device 100 has a control unit 5.
  • the control unit 5 is a computer system that includes a CPU, a storage device (RAM, ROM, hard disk drive, SSD, etc.), various interfaces, and the like.
  • the control unit 5 performs various controls relating to the autonomous traveling device 100. The configuration of the control unit 5 will be described in detail later.
  • the autonomous traveling device 100 includes a traveling route teaching unit 7.
  • the travel route teaching unit 7 is a device that receives an operation of moving the travel unit 1 by an operator.
  • the travel route teaching unit 7 is attached to the upper rear side of the main body B via the attachment member 8. Thereby, the operator can operate the travel route teaching unit 7 to move the travel unit 1. Details of the travel route teaching unit 7 of the present embodiment will be described later.
  • the travel route teaching unit 7 may not be attached to the main body B.
  • the travel route teaching unit 7 can be, for example, a controller such as a joystick. Thereby, the operator can remotely operate the autonomous mobile device 100.
  • the autonomous traveling device 100 may be operable by both the traveling route teaching unit 7 and a controller that is not attached to the main body B.
  • the autonomous traveling device 100 includes a setting unit 9.
  • the setting unit 9 is an operation panel for performing various settings related to the autonomous mobile device 100, and is attached to the upper rear surface of the main body B.
  • the setting unit 9 is provided in the vicinity of the travel route teaching unit 7. Thus, the operator can operate the setting unit 9 while operating the traveling unit 1 by operating the traveling route teaching unit 7.
  • the setting unit 9 may not be attached to the main body B.
  • the setting unit 9 can be a console capable of wireless communication such as a portable terminal. Thereby, the operator can set the autonomous traveling apparatus 100 remotely.
  • the travel route teaching unit 7 and the setting unit 9 may be integrated. Thereby, it is possible to easily operate the traveling unit 1 and the setting unit at the same time.
  • FIG. 2 is a diagram illustrating an example of the configuration of the travel route teaching unit.
  • the travel route teaching unit 7 includes 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 user operates the autonomous mobile device 100.
  • the operator holding the handles 71a and 71b may apply either a force that pulls the autonomous traveling device 100 toward the operator or a force that pushes the autonomous traveling device 100 through the handles 71a and 71b. it can.
  • the operator can adjust the traveling direction of the autonomous traveling device 100. For example, when a force for pulling the autonomous traveling device 100 is applied to the left handle 71a when viewed from the front direction of the autonomous traveling device 100, the autonomous traveling device 100 turns to the left.
  • Handles 71a and 71b are rotatably attached to the casing 73.
  • the handles 71 a and 71 b are connected to the control unit 5 via a travel control command calculation unit 75.
  • the travel control command calculation unit 75 converts the rotation of the handles 71 a and 71 b into an electrical signal and outputs it to the control unit 5.
  • the operator can operate the autonomous traveling device 100 (the traveling unit 1) by rotating the handles 71a and 71b.
  • the operator may be able to switch between forward and backward movement of the autonomous traveling device 100 by adjusting the rotation direction of the handles 71a and 71b.
  • the traveling speed of the autonomous traveling device 100 may be adjustable by adjusting the amount of rotation of the handles 71a and 71b.
  • the traveling direction of the autonomous traveling device 100 may be changed by changing the amount of rotation of the handle 71a and the amount of rotation of the handle 71b.
  • the handle 71a may be an input interface for instructing the traveling speed in the traveling direction
  • the handle 71b may be an input interface for instructing the steering angle
  • FIG. 3 is a diagram illustrating a configuration of the setting unit.
  • the setting unit 9 includes 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.
  • the operation modes of the autonomous mobile device 100 include an autonomous travel mode and a manual operation mode.
  • the autonomous traveling mode is an operation mode in which the autonomous traveling device 100 travels autonomously 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 an operator.
  • the switching unit 91 can be configured by a changeover switch as shown in FIG. 3, for example.
  • the autonomous traveling mode can be selected, for example, by switching the switching unit 91 configured by a changeover switch to “automatic” shown in FIG.
  • the manual operation mode can be selected, for example, by switching the switching unit 91 to “manual” 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 storage of manual operation of the autonomous mobile 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 autonomous traveling device 100 determines the cleaning condition and the travel route executed by the manual operation of the operator.
  • the manual operation teaching mode taught in (1) is started as a sub operation mode of the manual operation mode. On the other hand, when the manual operation storage switch 92 is switched during execution of the manual operation teaching mode, the manual operation teaching mode is stopped.
  • the manual operation teaching mode can be started and stopped at an arbitrary timing by enabling the manual operation teaching mode to be started and stopped by the manual operation storage switch 92.
  • a travel schedule 500 (an example of a route within the travel region) desired by the operator can be created.
  • the manual operation storage switch 92 for example, a push button switch as shown in FIG. 3 can be used. In this case, the manual operation storage switch 92 is switched by pressing the push button switch.
  • the operation mode may be switched from the manual operation teaching mode to the manual operation mode. Thereby, even if the manual operation teaching mode is switched to the manual operation mode, the operator can manually operate the autonomous mobile device 100 continuously.
  • the setting unit 9 includes a setting operation unit 93.
  • the setting operation unit 93 is configured by, for example, a push switch, receives an input of various settings related to the autonomous mobile 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 related to the currently set autonomous traveling device 100.
  • the display 95 is a display such as a liquid crystal display or an organic EL display.
  • the display 95 may further display the current operation mode (autonomous driving mode / manual operation mode / manual operation teaching mode), driving time, remaining battery level for driving the autonomous mobile device 100, and the like.
  • the display 95 may display various setting procedures when performing various settings of the autonomous mobile device 100 using the setting operation unit 93. Thereby, the information regarding the autonomous mobile 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 include a cleaning condition teaching unit 96.
  • the cleaning condition teaching unit 96 receives an 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 that converts the cleaning condition received by the cleaning condition teaching unit 96 into a signal that can be read by the control unit 5 and outputs the signal to the control unit 5 or a computer system. Thereby, the operator can set the cleaning condition for the autonomous mobile device 100 using the cleaning condition teaching unit 96 or can teach the cleaning condition.
  • FIG. 4 is a diagram illustrating the overall configuration of the control unit. All or some of the functional blocks of the control unit 5 described below may be realized by a program that can be executed by a computer system that configures the control unit 5. In this case, the program may be stored in the memory unit and / or the storage device. All or a part of each functional block of the control unit 5 may be realized as a custom IC such as 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.
  • functions realized by a plurality of functional blocks of the control unit 5 can be distributed and executed by a plurality of computer systems at an arbitrary ratio.
  • the control unit 5 includes a cleaning control unit 51.
  • the cleaning control unit 51 supplies power for controlling the rotation speed and output 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 performs cleaning based on the teaching cleaning condition.
  • the member rotation motor 351, the cleaning liquid supply pump 313, and the suction motor 331 may be controlled.
  • the cleaning control unit 51 inputs a reproduction cleaning condition indicating a set value of the cleaning condition in the autonomous traveling mode from the control supervision unit 55 when the autonomous traveling mode is executed, and based on the reproduced cleaning condition.
  • the cleaning unit 3 may be controlled.
  • the control unit 5 includes a travel control unit 53.
  • the travel control unit 53 controls the travel motor 11 based on the travel control command input from the travel route teaching unit 7 based on the travel control command based on the rotation amount and the rotation direction of the handles 71 a and 71 b or the control control unit 55.
  • the traveling control unit 53 calculates the rotational speed of the traveling motor 11 based on a pulse signal output from the encoder 111 attached to the output rotation shaft of the traveling motor 11. Thereby, the traveling control unit 53 can control the traveling motor 11 while monitoring the rotational speed of the traveling motor 11 (that is, the rotational speed of the main wheel 13).
  • the control unit 5 has a control supervision unit 55.
  • the control supervision unit 55 supervises traveling by the autonomous traveling device 100. Specifically, the control supervising unit 55 moves the position of the floor F on which the autonomous traveling device 100 moves based on the information acquired by the front detector 5551a, the rear detector 5551b, and / or the encoder 111. Position information indicating whether or not
  • the control supervision unit 55 creates the travel schedule 500 using the position information when the manual operation teaching mode is executed. In another embodiment, the control supervision unit 55 may calculate the cleaning condition in the autonomous traveling mode and associate it with the traveling schedule 500.
  • the control supervising unit 55 calculates a reproduction traveling control command based on the data stored in the traveling schedule 500 and outputs it to the traveling control unit 53.
  • traveling control part 53 can move autonomous traveling device 100 autonomously by controlling traveling motor 11 based on reproduction traveling control instructions.
  • the control supervision unit 55 is based on the cleaning condition stored in the travel schedule 500 when the autonomous travel mode is executed. May be controlled. Thereby, the autonomous traveling apparatus 100 can autonomously perform a cleaning operation according to the cleaning condition while traveling autonomously 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 that constitutes the control unit 5, and stores various information related to the autonomous mobile device 100. Specifically, the storage unit 57 stores the travel schedule 500 created by the control supervision unit 55 and various settings regarding the autonomous traveling device 100 input from the setting operation unit 93 and the setting conversion unit 94.
  • the traveling control unit 53 and the control supervising unit 55 read various settings related to the autonomous traveling device 100 stored in the storage unit 57 and / or the traveling schedule 500 as necessary, and perform various adjustments based on these settings. Control can be executed.
  • control unit 5 may include a data writing device (not shown) for storing information such as the travel schedule 500 stored in the storage unit 57 in another storage medium.
  • control unit 5 may have a connection terminal to which a data writing device can be connected, such as a USB (Universal Serial Bus) port.
  • a data writing device such as a USB (Universal Serial Bus) port.
  • FIG. 5 is a diagram illustrating a detailed configuration of the travel control unit.
  • the travel control unit 53 includes a travel switching unit 531.
  • the travel switching unit 531 has three terminals d, e, and f.
  • the terminal d is connected to the travel 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 the connection between the terminal e and the terminal d or the connection between the terminal e and the terminal f based on the operation mode selected by 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. .
  • the travel switching unit 531 transmits a signal indicating the amount of rotation and / or the direction of rotation of the handles 71a and 71b of the travel route teaching unit 7 to the motor control unit 533 when the manual operation mode or the manual operation teaching mode is executed. it can.
  • the traveling switching unit 531 connects the control control unit 55 to the motor control unit 533 by connecting the terminal e and the terminal f. Thereby, the traveling switching unit 531 can transmit the reproduction traveling control command output from the control supervision unit 55 to the motor control unit 533 when the autonomous traveling mode is executed.
  • the motor control unit 533 calculates the target rotation speed of the travel motor 11 based on the input rotation amount / rotation direction of the handles 71a and 71b or the reproduction travel control command, and the travel motor is driven at the target rotation speed. Driving power for rotating the motor 11 is output to the traveling motor 11.
  • the motor control unit 533 calculates the actual rotational 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 using, for example, PI (Proportional Integral) control theory, PID (Proportional Integral Differential) control theory, or the like.
  • the traveling motor 11 and the main wheel 13 are provided on the left and right ends of the bottom of the main body B, respectively.
  • the motor control unit 533 determines the traveling direction of the autonomous traveling device 100 by independently controlling the rotational speed and rotational direction of the two left and right traveling motors 11.
  • 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 a motor control device using, for example, PI control theory or PID control theory.
  • FIG. 6 is a diagram illustrating a detailed configuration of the control supervision unit.
  • the control supervision unit 55 includes a travel area acquisition unit 551.
  • the travel area acquisition unit 551 receives position information (estimated by the SLAM unit 555 from the SLAM unit 555 (described later) every predetermined time (for example, every control cycle in the control unit 5). Enter (see below).
  • the traveling region acquisition unit 551 acquires a traveling region TA representing a region where the autonomous traveling device 100 travels in a traveling environment as a point sequence of the plurality of acquired positional information.
  • the travel area acquisition unit 551 outputs the acquired point sequence of the plurality of position information to the intra-travel area route creation unit 553 as a point sequence representing the boundary of the travel area TA.
  • the travel area acquisition unit 551 may display a global map (map information representing a travel environment) created in advance on the display 95. At this time, the travel area acquisition unit 551 may instruct the operator to draw a closed area representing the travel area TA on the global map displayed on the display 95.
  • a global map map information representing a travel environment
  • the travel area acquisition unit 551 acquires, for example, the coordinate value (for example, the pixel coordinate value of the display 95) of the travel area TA drawn on the display 95, and converts the coordinate value into the travel environment by coordinate conversion. It is possible to obtain a point sequence (coordinate value) representing the travel area TA by converting the coordinate value into the coordinate value.
  • the coordinate value for example, the pixel coordinate value of the display 95
  • the control supervision unit 55 includes a travel area route creation unit 553.
  • the travel area route creation unit 553 creates a travel schedule 500 in which the autonomous traveling device 100 travels evenly (“fills”) the travel area TA in the travel area TA acquired from the travel area acquisition unit 551, Store in the storage unit 57. A specific method for creating the travel schedule 500 will be described in detail later.
  • the control supervision unit 55 has a SLAM unit 555.
  • the SLAM unit 555 includes information regarding obstacles existing in front of the autonomous mobile 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 about 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. Information on the position (position information) is estimated.
  • the front detector 5551a and the rear detector 5551b are, for example, a laser range finder (LRF) having a detection range of 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 an obstacle on a predetermined plane, or the presence of an obstacle in the height direction. It may be three-dimensional information including information representing the position.
  • the detection range (detection angle and / or detection distance) of the front detector 5551a may be wider than the detection range of the rear detector 5551b. Therefore, the information regarding the obstacle which exists in the front direction of the autonomous mobile device 100 and exists more widely can be acquired.
  • the front detector 5551a and the rear detector 5551b may be a TOF (Time Of Flight) camera or the like.
  • TOF Time Of Flight
  • the control supervision unit 55 has a travel reproduction unit 557.
  • the traveling reproduction unit 557 indicates that the autonomous traveling device 100 indicates the traveling schedule 500 based on the information stored in the traveling schedule 500 and the estimated position information acquired from the SLAM unit 555.
  • a control command for autonomously traveling along the travel 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 condition associated with the travel schedule 500 to the cleaning control unit 51.
  • the SLAM unit 555 executes position (position information) estimation of the traveling unit 1 (autonomous traveling device 100) and creation of map information by a SLAM (Simultaneous Localization and Mapping) method.
  • the SLAM unit 555 has a map creation unit 5553.
  • the map creation unit 5553 uses the information about the front obstacle (for example, a wall) acquired by the front detector 5551a and the information about the rear obstacle acquired by the rear detector 5551b, to map information. Create The map information is used when the position estimation unit 5555 estimates position information.
  • map information there are a local map and a global map (an example of an environmental map).
  • the local map is map information related to obstacles (existing positions) around the traveling unit 1.
  • the local map is created by coordinate-converting 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.
  • the global map is map information related to obstacles (locations present) in the environment (traveling environment) in which the traveling unit 1 travels.
  • the global map is generated based on the local map acquired when the point information point sequence representing the travel area TA is acquired when the manual operation teaching mode is executed.
  • the map creation unit 5553 creates a global map by placing a local map acquired together with a point sequence of position information representing the travel area TA at a position corresponding to the position information.
  • the map creation unit 5553 modifies the global map created by placing the local map at the corresponding position. Specifically, for example, the global map is corrected as follows.
  • the map creation unit 5553 has information on the obstacle acquired by the front detector 5551a and / or information on the obstacle acquired by the rear detector 5551b at the start and end of the manual operation teaching mode. To get.
  • 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 arrangement position of the local map using an algorithm such as GraphSLAM based on the calculated deviation of the actual position, and arranges the local map at the corrected new arrangement position. Create a new global map.
  • the map creating unit 5553 simultaneously corrects the position information (coordinate values) of the point sequence representing the travel area TA acquired by executing the manual operation teaching mode using an algorithm such as GraphSLAM, and the corrected new
  • the point sequence of the position information may be a point sequence representing the travel area TA.
  • the global map may be created 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 includes a position estimation unit 5555.
  • the position estimation unit 5555 is based on the global map generated by the map creation unit 5553, the local map, and the rotation amount of the travel motor 11, and the location of the travel unit 1 on a predetermined coordinate and the travel unit at the position. Position information related to one posture is estimated.
  • the position information is estimated as follows. Here, go from the (estimated) position given time there is a travel unit 1 (the time t k), to estimate the position of the travel unit 1 reaches at next time (the time t k + 1)
  • the position estimation unit 5555 the number of pulses output from the encoder 111 during the period from the time t k until the time t k + 1, to calculate the amount of rotation of the main wheel 13 between the time t k until the time t k + 1, Based on the rotation amount, the travel distance and the posture change of the traveling unit 1 due to the rotation of the main wheel 13 are estimated (dead reckoning).
  • the position estimating unit 5555 the posterior probability at time t k (the position of the running portion 1, the traveling unit 1 to the position corresponding to the probability distribution representing the probability, the relationships that exist at the time t k) Is moved by the moving distance and the posture change of the traveling unit 1 due to the rotation of the main wheel 13, and the prior probability at the time t k + 1 is calculated.
  • the position estimation unit 5555 expands the width (standard deviation) of the probability distribution of the posterior probability after movement by the movement distance and the posture change due to the rotation of the main wheel 13, and the advance at the time t k + 1 . It may be a probability. Thereby, the prior probability considering the slip between the main wheel 13 and the floor surface F can be calculated.
  • the position estimating unit 5555 obtains a local map and the global map from the mapping unit 5553 at time t k + 1, and map matching and a local map and a global map at time t k + 1, the running portion 1 at time t k + 1 Estimate location information.
  • local maps at time t k + 1 are arranged at several positions in the vicinity of the estimated position calculated based on the rotation amount of the main wheel 13, and the local map is Map matching is performed by rotating by an angle corresponding to the posture change that can be taken around the center.
  • the position estimation unit 5555 is based on the result of the map matching, and the likelihood (corresponding to the relationship between the position where the local map information is arranged and the degree of coincidence between the global map and the local map information at the position) Is calculated.
  • the position estimation unit 5555 by multiplying the prior probability of the likelihood and the time t k + 1, to calculate the posterior probability at time t k + 1.
  • the position estimation unit 5555 is the position and posture at which the posterior probability at the time t k + 1 is the maximum value, that is, the position where the traveling unit 1 is most likely to exist, and the traveling unit 1 takes the position at the position.
  • the most likely posture is estimated as the presence position (estimated position) of the traveling unit 1 at time t k + 1 and the posture (estimated posture) at the present position.
  • the posterior probability at time t k + 1 is used as the prior probability in the next position estimation.
  • the position estimation unit 5555 performs position estimation using the movement distance based on the rotation amount of the main wheel 13 and the map information obtained using the front detector 5551a and the rear detector 5551b.
  • an error included in the movement distance based on the rotation amount of the main wheel 13 mainly due to slippage between the main wheel 13 and the floor surface F
  • an error included in the map information mainly
  • the position estimation can be performed with a small amount of compensation in a complementary manner (due to noise components included in the information acquired by the front detector 5551a and the rear detector 5551b).
  • the SLAM unit 555 includes an elapsed time determination unit 5557.
  • the elapsed time determination unit 5557 determines an elapsed time from the start of execution of the autonomous travel mode. Specifically, the elapsed time determination unit 5557 determines the elapsed time from the start of execution of the autonomous travel mode based on the position information estimated by the position estimation unit 5555.
  • the time associated with the position information closest to the position information of the traveling unit 1 estimated by the position estimating unit 5555 The elapsed time from the start of running the travel mode.
  • the elapsed time is extracted from the travel schedule 500 as two pieces of position information close to the position information estimated by the position estimation unit 5555, and is associated with the two pieces of position information in the travel schedule 500. It may be calculated by linear interpolation of time. Thereby, a more accurate elapsed time can be calculated.
  • FIG. 7 is a flowchart showing the basic operation of the autonomous mobile device.
  • the control unit 5 confirms the state of the switching unit 91 (step S1).
  • switching unit 91 has selected “automatic” (in the case of “autonomous driving mode” in step S1)
  • autonomous driving mode is executed (step S2), and autonomously according to driving schedule 500 stored in storage unit 57.
  • the traveling device 100 autonomously performs a cleaning operation.
  • the control unit 5 determines that the operation mode to be executed is the manual operation mode.
  • the control unit 5 shifts the operation mode to the manual operation teaching mode (step S4). .
  • the operation of the traveling unit 1 by the operator after the timing when the manual operation storage switch 92 is pressed is stored.
  • control supervision unit 55 creates a travel schedule 500 for causing the autonomous traveling device 100 to travel in the travel area TA determined by the operation of the travel unit 1 by the operator.
  • step S3 when the manual operation storage switch 92 is not pressed (in the case of “No” in step S3), execution of the manual operation mode in which the operation of the operator is not stored is maintained (step S5).
  • step S4 the control unit 5 monitors whether or not the manual operation storage switch 92 has been 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 execution of the manual operation teaching mode, the operator can stop the storage (teaching) at an arbitrary timing during the cleaning operation.
  • the autonomous traveling device 100 has the autonomous traveling mode, the manual operation mode, the operation mode selection in the switching unit 91, and whether the manual operation storage switch 92 is pressed.
  • the manual operation teaching mode can be executed.
  • FIG. 8 is a flowchart showing the operation in the manual operation teaching mode.
  • a route within the travel area that is “painted out” throughout the travel area TA set in the travel environment as shown in FIG. 9 is planned and created as a travel schedule 500.
  • FIG. 9 is an example of a traveling environment.
  • the control supervision unit 55 creates a global map representing the travel environment (step S41). Specifically, a global map is created as follows.
  • manual operation of the autonomous mobile device 100 is started after the manual operation storage switch 92 is pressed, or when the manual operation storage switch 92 is pressed during manual operation and the manual operation teaching mode is started.
  • the operator operates the autonomous traveling device 100 using the traveling route teaching unit 7.
  • the operator causes the autonomous mobile device 100 to travel along the boundary line of the region desired to be the travel region TA.
  • the map creation unit 5553 acquires a local map every predetermined time. As shown in FIG. 9, the vehicle travels from the start point ST at which the autonomous traveling device 100 starts traveling to a closed route that is a boundary line of the travel area TA, and returns to the start point ST or its vicinity again.
  • the map creation unit 5553 creates a global map by placing the acquired local map at a corresponding position. Thereafter, the map creating unit 5553 modifies the global map using a GraphSLAM algorithm or the like as necessary.
  • the map creation unit 5553 may acquire CAD data representing a moving environment created using CAD or the like as a global map by performing appropriate data conversion and coordinate conversion.
  • the map creation unit 5553 converts the acquired global map into an aggregate of many cells.
  • the cells constituting the global map correspond to small areas having a predetermined area in the traveling environment.
  • a cell-related parameter for example, a parameter for identifying the cell, cell position information, cell validity / invalidity, score assigned to the cell, etc. It can be defined as a “structure” containing.
  • the map creation unit 5553 places a cell on a coordinate plane that defines a global map, and projects the global map on the coordinate plane on which the cell is placed.
  • the map creation unit 5553 determines that cells in the area on the coordinate map where there are no obstacles are valid cells (white cells in FIG. 10), and invalid cells for other cells. (It is a gray cell in FIG. 10).
  • FIG. 10 is a diagram illustrating an example in which a global map is converted into a collection of cells.
  • the surface (such as a wall surface) of an obstacle is represented as a point sequence in which information acquired by the front detector 5551a and / or the rear detector 5551b is arranged in a straight line.
  • the space without an obstacle is generally formed between two surfaces (wall surfaces) arranged with a space therebetween.
  • the map creation unit 5553 when there are two point sequences in which the information acquired by the front detector 5551a and / or the rear detector 5551b is arranged in a straight line with an interval, the two points A cell existing between the columns is determined as a valid cell.
  • the cell existing on the opposite side of the area where the effective cell exists is defined as an invalid cell with respect to the surface of the obstacle.
  • a “score” (for example, a negative number such as 0 or ⁇ 1) indicating that the autonomous mobile device 100 cannot travel is assigned to a cell that is determined to be an invalid cell.
  • the map creating unit 5553 can determine whether a cell is valid or invalid from information acquired by the front detector 5551a and / or the rear detector 5551b (for example, only the surface of one obstacle). A cell in an unrecognizable area) is regarded as a valid cell.
  • the map creation unit 5553 may pre-assign a “score” indicating that the cell is determined to be a valid cell. In this case, it is not possible to determine whether the cell is a valid cell or an invalid cell from the information acquired by the front detector 5551a and / or the rear detector 5551b, indicating that the cell is valid for a cell regarded as a valid cell. A score may be given in advance or may not be given.
  • a “score” is also applied to the cell that is regarded as a valid cell when creating a path within the rectangular area described later. Is given. As a result, the path within the rectangular area also passes through the cell that is regarded as the valid cell.
  • a travel area TA representing an area where the autonomous mobile device 100 travels in the travel environment is defined on the global map (step S42).
  • the traveling area TA is defined on the global map as follows.
  • the travel area acquisition unit 551 causes the position estimation unit 5555 to perform every predetermined time.
  • the estimated position information is acquired as a point representing the boundary of the travel area TA.
  • the traveling region acquisition unit 551 acquires the autonomous traveling device 100 while traveling along the route indicated by the dotted line from the starting point ST (FIG. 9) and returning to the starting point ST or the vicinity thereof.
  • a plurality of pieces of position information can be acquired as a point sequence representing the boundary line of the travel area TA.
  • the travel area acquisition unit 551 outputs a point sequence of position information representing the boundary line of the travel area TA to the intra-travel area route creation unit 553.
  • the travel area acquisition unit 551 may display a global map on the display 95 and draw a boundary line of the travel area TA on the display 95 on which the global map is displayed to the user. Good.
  • the traveling area acquisition unit 551 may acquire the drawn boundary line of the traveling area TA as a point sequence that represents the boundary line of the traveling area TA by performing appropriate coordinate conversion or the like.
  • the travel area acquisition unit 551 performs a process of deleting the surface boundary line and the connection line from the route indicated by the alternate long and short dash line, that is, the outer peripheral boundary line of the travel area TA, the surface boundary line of the obstacle, and the connection line connecting them. It is possible to cut out only the outer boundary line.
  • FIG. 11 is a diagram illustrating an example when an inappropriate route is formed.
  • the intra-travel area route creation unit 553 arranges a point sequence representing the boundary line of the travel area TA on a global map configured with a large number of cells.
  • the position information indicating the boundary line of the travel area TA is arranged depends on, for example, the coordinate value in which the cell exists in the coordinate system defining the position information (global map). Can be determined.
  • the in-travel area route creation unit 553 has an effective cell in which the boundary line of the travel area TA is arranged, and the opposite side of the space without an obstacle with respect to the boundary line of the travel area TA. And the valid cell existing in is newly invalidated. In FIG. 12, the cells indicated by hatching are newly invalidated cells.
  • FIG. 12 is a diagram illustrating an example of a state in which a travel area is defined on the global map. In this way, the in-travel area route creation unit 553 newly sets a cell that is not included in the travel area TA as an invalid cell, thereby changing the travel area TA into a number of valid cells (white cells in FIG. 12). ) Can be defined on the global map.
  • the intra-travel area route creation unit 553 After demarcating the travel area TA on the global map, the intra-travel area route creation unit 553 divides the travel area TA into rectangular areas (rectangular areas RA) (step S43). In dividing the travel area TA into the rectangular areas RA, the intra-travel area route creation unit 553 searches in which part of the travel area TA the rectangular area RA exists.
  • FIG. 13A In a rectangle inclined by a predetermined angle with respect to a predetermined reference axis (axis perpendicular to the y-axis in FIG. 13A), the length between the boundaries of the rectangle in the reference axis direction (referred to as “straight length”)
  • the graph is convex upward as shown in (1) of FIG. 13A.
  • the shape is similar to an upwardly convex triangle.
  • FIG. 13A to FIG. 13B are diagrams schematically showing a method of searching for the main direction of the rectangular area.
  • the linear length and the position in the y-axis direction are As shown in (2) of FIG. 13A, the graph representing the relationship is an upward convex rectangle. That is, the straight line length is constant over a predetermined position range in the y-axis direction.
  • an angle (- ⁇ in the example of FIG. 13A) whose sign is opposite to the rotation angle of the rectangle when the straight line length is constant is the main direction of the rectangle.
  • the straight line length is the maximum value (for example, the length of the diagonal line of the rectangular region) (L max in FIG. 13B) and a length shorter than the maximum value by a predetermined ratio ( ⁇ * L max in FIG. 13B).
  • the area of the rectangular area in the range of the y-axis coordinate value included between the two is maximum when the longitudinal direction of the rectangular area is parallel to the reference axis.
  • a graph representing the relationship between the straight line length and the y coordinate value is obtained by calculating the y coordinate value included between the maximum value (L max ) of the straight line length and the length ( ⁇ * L max ) shorter by a predetermined ratio.
  • the value obtained by definite integration in the range becomes maximum when the longitudinal direction of the rectangular area is parallel to the reference axis.
  • the travel area route creation unit 553 rotates the travel area TA defined on the global map to determine the distance between the boundaries of the travel area TA in the x-axis direction of the travel area TA after being rotated by a specific angle.
  • the straight line length is calculated for each position in the y-axis direction (each coordinate value in the y-axis direction).
  • the in-travel area route creation unit 553 integrates the straight line length within the range of the y coordinate value included in the straight angle between L max and ⁇ * L max at the specific angle.
  • the travel area TA defined on the global map is rotated within a predetermined angle range (for example, a range of 0 ° to 180 °)
  • the intra-travel area route creation unit 553 performs the above-described straight line length for a certain rectangular area RA.
  • the rotation angle of the travel area TA when the integrated value becomes the maximum is determined as the main direction of the certain rectangular area RA.
  • the in-travel area route creation unit 553 determines the straight line length (constant value) at the rotation angle (an angle opposite to the sign) of the travel area TA when the integrated value of the straight line length is maximized.
  • the length in the longitudinal direction of RA is the length between the position ranges in the y-axis direction where the straight line length is constant.
  • the section 553 can divide the traveling area TA defined as shown in FIG. 12 into three rectangular areas RA1 to RA3 as shown in FIG.
  • FIG. 14 is a diagram illustrating an example of a state in which the travel area is divided into rectangular areas.
  • the intra-travel area route creation unit 553 After dividing the travel area TA into the rectangular areas RA1 to RA3, the intra-travel area route creation unit 553 starts, for each rectangular area RA1 to RA3, a rectangular area internal path (described later) in each of the rectangular areas RA1 to RA3. Is determined (referred to as a start-point cell SC) (step S44).
  • the in-travel area route creation unit 553 determines the start cell SC at any one of the four corners of each of the rectangular areas RA1 to RA3. For example, as shown in FIG. 15, the rectangular area RA ⁇ b> 1 that first creates a path within the rectangular area is located at a position where the autonomous traveling device 100 has started traveling when acquiring a point sequence representing the boundary line of the traveling area TA. The corresponding valid cell is set as the start point cell SC of the rectangular area RA1.
  • FIG. 15 is a diagram illustrating an example of the start point cell determined in the rectangular area in which the path within the rectangular area is first created.
  • the start point cells SC of the other rectangular areas RA2 and RA3 are determined in step S47 described later.
  • the running area route creation unit 553 After determining the start point cell SC for the rectangular areas RA1 to RA3 to be created for the rectangular area route, the running area route creation unit 553 starts from the start cell SC and is included in each of the target rectangular areas RA1 to RA2. A rectangular area route that is a travel route that passes through all valid cells is created (step S45). Specifically, the in-travel area route creation unit 553 creates the in-rectangular route according to the process shown in the flowchart of FIG. FIG. 16 is a flowchart showing a method of creating a rectangular area route.
  • the in-travel area route creation unit 553 first determines the main direction of the rectangular area RA1 in which a rectangular area route is to be created (step S451).
  • the main direction of the rectangular area RA1 can be, for example, the main direction determined when the travel area TA is divided into the rectangular areas RA1 to RA3 in step S43. As shown in FIG. 15, the main direction of the rectangular area RA1 is a direction parallel to the x-axis.
  • the in-travel area route creation unit 553 assigns a score to the valid cell in the rectangular area RA1 (step S452). Specifically, the in-travel area route creation unit 553 assigns a higher score to an effective cell that is away from the start point cell in a direction perpendicular to the main direction. On the other hand, the same score is given to the effective cells arranged along the main direction. As a result, the in-travel area route creation unit 553 gives a score as shown in FIG. 17 to the valid cells in the rectangular area RA1.
  • FIG. 17 is a diagram illustrating an example of scores assigned to cells in a rectangular area.
  • a score of “11” is given to the effective cell arranged in the direction along the main direction from the start point cell SC. This means that there are 11 valid cells in the main direction in the rectangular area RA1.
  • the score increases by a multiple of 11 as the cell moves away from the start cell SC in a direction perpendicular to the main direction. Specifically, a score of “22” is assigned to a valid cell adjacent to the start point cell SC in a direction perpendicular to the main direction. Further, the same score as “22” is given to the valid cell arranged in the direction along the main direction with respect to the valid cell to which the score of “22” is given.
  • a score of “33” is assigned to an effective cell that is separated from the start cell SC in a direction perpendicular to the main direction. Further, the same score “33” is given to the valid cell arranged in the direction along the main direction with respect to the valid cell to which the score “33” is given.
  • a score of “44” is assigned to an effective cell that is three cells away from the start cell SC in a direction perpendicular to the main direction. Further, the same score “44” is given to the valid cell arranged in the direction along the main direction with respect to the valid cell to which the score “44” is given.
  • a score of “55” is given to an effective cell that is separated from the start cell SC by 4 cells in a direction perpendicular to the main direction.
  • the same score “55” is assigned to the valid cell arranged in the direction along the main direction with respect to the valid cell to which the score “55” is assigned.
  • the in-travel area route creation unit 553 extends the route from the start point cell SC to each valid cell. Specifically, the intra-travel area route creation unit 553 determines the valid cell having the highest score from valid cells existing in the main direction of the start cell SC or in a direction perpendicular to the main direction from the start cell SC. The route is extended to the cell (step S453).
  • the in-travel area route creation unit 553 extends the route from the start point cell SC to an effective cell adjacent in the y-axis direction.
  • the in-travel area route creation unit 553 further extends the route to the effective cell to which the score of “33” is assigned adjacent to the effective cell to which the score of “22” is assigned in the y-axis direction. . Further, the effective cell to which the score of “33” is assigned is extended to the effective cell to which the score of “44” adjacent in the y-axis direction is assigned, and the score of “44” is assigned. The route is extended from the effective cell to the effective cell to which the score of “55” adjacent in the y-axis direction is given.
  • the in-travel area route creation unit 553 prevents the route from extending again for an effective cell whose route has already been extended unless there is a special circumstance such as the route cannot be planned unless it passes through the effective cell again.
  • FIG. 18 is a diagram illustrating an example of a rectangular area path.
  • the route When the route is extended according to the above rule, from the effective cell at the opposite end in the y-axis direction to the start point cell SC, which is given a score of “55”, as shown in FIG.
  • the route extends to a valid cell to which a score of “55” exists adjacent to the valid cell in the main direction. That is, in the effective cell at the end opposite to the starting point cell SC in the y-axis direction, the direction in which the path extends changes from the y-axis direction to the x-axis direction.
  • the traveling direction of the autonomous traveling device 100 can be changed by combining the route extending in the y-axis direction and the route extending in the x-axis direction.
  • a route formed by combining a route extending in the y-axis direction and a route extending in the x-axis direction will be referred to as a “direction changing route” corresponding to a right turn or a left turn of the autonomous traveling device 100.
  • a straight path that extends in the main direction is referred to as a “first path”.
  • the in-travel region route creation unit 553 extends the route according to the above rules, In the rectangular area RA1, a path within the rectangular area is created that starts from the start point cell SC and passes through all the valid cells included in the rectangular area RA1, as indicated by the thick arrows in FIG.
  • the travel area route creation unit 553 may set a cleaning condition for each effective cell when creating a rectangular area route, and associate the cleaning condition with the rectangular region route. .
  • the rectangular intra-region path is created by combining a first path extending in the main direction and a second path extending perpendicular to the main direction. That is, the rectangular area route is created by combining the straight traveling route corresponding to the autonomous traveling device 100 traveling straight and the direction changing route corresponding to the right or left turn of the autonomous traveling device 100. As a result, a rectangular intra-area route that passes through the rectangular area RA1 can be created by a combination of simple operations of the autonomous traveling device 100 such as going straight and turning.
  • the first path extends over a plurality of effective cells along the main direction, while the second path extending in the direction perpendicular to the main direction starts from the start point cell SC. Except for the route to be extended, only one cell extends. In this way, the direction included in the in-rectangular area path is obtained by extending the first path along the main direction of the rectangular area RA1 over a plurality of effective cells, that is, by creating a longer path along the main direction. The number of conversion paths can be minimized.
  • the traveling area route creation unit 553 creates rectangular areas RA1 to RA3 that have not yet created a rectangular area route. It is determined whether or not it exists (step S46).
  • step S46 If there is no rectangular area RA1 to RA3 in which the path within the rectangular area has not been created (“No” in step S46), the manual operation teaching mode is terminated. On the other hand, when there are rectangular areas RA1 to RA3 for which no route within the rectangular area has been created (in the case of “Yes” in step S46), which rectangular area RA2 and RA3 are to be driven next by the autonomous mobile device 100 Is determined (step S47). In the following, a case will be described as an example where the creation of the rectangular area path of the rectangular area RA1 is completed.
  • the intra-travel area route creation unit 553 is created in the rectangular area RA1 in consideration of the presence of obstacles and the like.
  • a connection route is planned between the end point cell EC, which is the end point of the route in the rectangular region, and each of the valid cells corresponding to the four corners of the rectangular region RA2 and the rectangular region RA3.
  • the in-travel area route creation unit 553 determines the effective cell connected to the end point cell EC of the rectangular area RA1 through the shortest connection path among the planned connection paths as the start point cell SC for the next rectangular area.
  • a valid cell adjacent to the end point cell EC of the rectangular area RA1 and included in the rectangular area RA3 can be determined as the start point cell SC. That is, the rectangular area RA3 can be determined as a rectangular area in which the autonomous traveling device 100 travels next.
  • FIG. 19 is a diagram schematically illustrating an example of a method for determining a rectangular region to be traveled next.
  • the intra-travel area route creation unit 553 determines the end point cell EC1 of the rectangular area RA1 and the start point cell SC of the rectangular area RA3 determined to travel next. Are connected via the connection path planned above (step S48). Thereafter, a path within the rectangular area is created in the rectangular area RA3.
  • FIG. 20 is a diagram illustrating an example of a route within a travel area.
  • the travel area route creation unit 553 converts the created travel area route into a set of passing points through which the autonomous traveling device 100 passes. Thereafter, the in-travel area route creation unit 553 associates each passing point generated by converting the in-travel area route with the time to pass the passing point, and further, if necessary, the cleaning condition at each passing point. Is associated with the corresponding passing point to create a travel schedule 500 as shown in FIG.
  • FIG. 21 is a diagram illustrating an example of a travel schedule.
  • T 0 , T 1 ,... T n are times for passing through each passing point of the route in the travel route.
  • (X 0 , y 0 ), (x 1 , y 1 ),... (X n , y n ) are coordinate values of each passing point of the route in the travel route.
  • ⁇ 0 , ⁇ 1 ,... ⁇ n are postures of the autonomous traveling device 100 at each passing point of the route in the traveling route.
  • S 0 , S 1 ,... S n are supply amounts of the cleaning liquid at each passing point of the intra-travel route.
  • W 0 , W 1 ,... W n are the cleaning power of the floor surface F at each passing point of the route in the travel route.
  • P 0 , P 1 ,... P n are suction forces of the suction port O2 at each passing point of the route in the travel route.
  • the autonomous traveling device 100 can be operated by an easy method of designating the traveling area TA on the global map representing the traveling environment. However, it is possible to accurately create a travel route that can travel evenly in the travel region TA, that is, a route within the travel region.
  • FIG. 22 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 it is determined that the autonomous traveling mode is to be executed, the autonomous traveling device 100 starts the autonomous traveling mode in which the vehicle travels autonomously according to the traveling schedule 500. Specifically, the autonomous running mode is executed as follows.
  • 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 S21).
  • the position estimation unit 5555 is based on the rotation amount of the travel motor 11 measured by the encoder 111, the global map, and the local map obtained based on the information acquired in step S21. Is estimated on the xy coordinates (step S22). For example, it is assumed that the position of the autonomous mobile device 100 is estimated as (x m ′, y m ′, ⁇ m ′) on the xy coordinates.
  • the elapsed time determining unit 5557 determines the elapsed time t m from the start of execution of the autonomous traveling mode (step S23), and the traveling reproducing unit 557 reproduces the traveling control at the elapsed time t m .
  • the command is calculated as follows (step S24).
  • the travel reproduction unit 557 reads the position information (x L + 1 , y L + 1 , ⁇ L + 1 ) associated with the next time T L + 1 from the travel schedule 500 and estimates the reproduction travel control command at the elapsed time t m . It is calculated based on the difference (x L + 1 ⁇ x m ′, y L + 1 ⁇ y m ′, ⁇ L + 1 ⁇ m ′) between the obtained position information and the target position information.
  • the travel reproduction unit 557 After calculating the reproduction travel control command, the travel reproduction unit 557 outputs the reproduction travel control command to the travel control unit 53 (step S25). Thereby, the traveling control unit 53 moves the traveling unit 1 autonomously according to the traveling schedule 500 by controlling the traveling motor 11 based on the received reproduced traveling control command.
  • the travel reproduction unit 557 calculates the reproduction cleaning condition in steps S24 to S25 described above, and performs cleaning based on the reproduction cleaning condition.
  • the control unit 51 may be controlled.
  • the traveling reproducing unit 557 the cleaning condition associated with time T L (S L, W L , P L) reads from the travel schedule 500, the cleaning conditions (S L, W L, P L) determining a reproduction cleaning conditions at the elapsed time t m a. Thereafter, the travel reproduction unit 557 outputs the reproduced cleaning condition to the cleaning control unit 51. Thereby, the cleaning part 3 is controllable according to reproduction cleaning conditions.
  • the traveling reproducing unit 557 After controlling the traveling unit 1 based on the reproduction traveling control command, the traveling reproducing unit 557 checks whether or not all the traveling operations stored in the traveling schedule 500 have been executed (step S26). Whether or not all the travel operations stored in the travel schedule 500 have been completed can be confirmed, for example, by detecting an identifier at the end of the travel schedule 500 (for example, an identifier indicating “end of file”).
  • step S26 As long as it is determined that all the travel operations stored in the travel schedule 500 are not executed (as long as “No” in step S26), the above steps S21 to S25 are repeatedly executed. On the other hand, when it is determined that all the travel operations stored in the travel schedule 500 have been executed, that is, when it is determined that the autonomous traveling device 100 has traveled all the routes in the travel region (“Yes” in step S26). In the case), the execution of the autonomous driving mode is terminated.
  • the autonomous traveling device 100 can faithfully reproduce the traveling operation stored in the traveling schedule 500 and travel autonomously and evenly within the set traveling region.
  • the user is instructed to stop execution of the autonomous travel mode. In some cases, the execution of the autonomous traveling mode may be stopped.
  • Second Embodiment (1) Outline of Second Embodiment
  • the route within the travel region once created as the travel schedule 500 has not been changed.
  • the autonomous mobile device 100 can autonomously reproduce the route within the same travel region.
  • the surface of the same travel route is soft by the main wheels 13 of the travel unit 1 in order to travel repeatedly on the same travel route. There are things you can do.
  • the autonomous traveling mode is executed a predetermined number of times or every time the autonomous traveling mode is executed in order to avoid wrinkling due to traveling on the same traveling route.
  • the route on which the autonomous traveling device 100 travels is autonomously changed.
  • the autonomous traveling device 100 according to the second embodiment is the same as the autonomous traveling device 100 according to the first embodiment, except that the traveling route is changed every time the autonomous traveling mode is executed or every time the autonomous traveling mode is executed a predetermined number of times. Has the same structure and function. Therefore, in the following, only how the travel route is changed each time the autonomous travel mode is executed or each time the autonomous travel mode is executed will be described, and the components and functions of the autonomous travel device 100 will be described. Description is omitted.
  • FIG. 23 is a flowchart showing a method for changing the route within the travel area.
  • the path in the rectangular area created in the rectangular area RA4 that is arranged on the xy coordinate plane where the cell is arranged and whose main direction extends in the y-axis direction is changed.
  • FIG. 24 is a diagram illustrating an example of the route within the travel area before the change.
  • the change in the rectangular area route described below may be executed after the autonomous traveling mode is started until the autonomous traveling device 100 starts traveling, or may be performed a plurality of times when the manual operation teaching mode is executed.
  • the travel schedule 500 may be stored for each created rectangular area route.
  • the traveling area route creation unit 553 creates the rotated rectangular area RA4 ′ by rotating the rectangular area RA4 by a predetermined angle using, for example, a mathematical expression representing the rotation of coordinates. (Step S201).
  • a rotation rectangular area RA4 ′ as shown by a thick solid line in FIG. 25 is created on the xy coordinate plane.
  • FIG. 25 is a diagram illustrating an example of the rotation rectangular area.
  • the predetermined angle for rotating the rectangular area is changed every time a path in the rectangular area (path in the rotating rectangular area) is created. Thereby, a different travel route can be created every time the route in the rectangular region (route in the rotating rectangular region) is changed.
  • the in-travel area route creation unit 553 assigns scores to the cells included in the rotation rectangular area RA4 ′ (step S202).
  • the in-travel area route creation unit 553 determines that, among the cells included in the rotation rectangular area RA4 ′, the cells arranged in the x-axis direction are given higher scores as the distance from the start point cell SC increases.
  • the cells arranged in the y-axis direction are determined to be given the same score.
  • the in-travel area route creation unit 553 gives a score as shown in FIG. 26 to, for example, cells included in the rotation rectangular area RA4 '.
  • FIG. 26 is a diagram illustrating an example of scores assigned to cells included in the rotation rectangular area.
  • the in-travel area route creation unit 553 extends the route from the start point cell SC to each cell (step S203). Specifically, the in-travel area route creation unit 553 extends the route according to the following conditions (i) to (iv), for example.
  • a route is extended to a cell having the highest score among cells adjacent in the x-axis direction or the y-axis direction.
  • the extension extends in the shortest direction.
  • the route is extended to the cell.
  • the route is not extended again unless there is a special situation such as the route cannot be planned unless it passes through the cell again.
  • the in-travel area route creation unit 553 extends the route between the cells according to the above conditions.
  • FIG. 27 is a diagram illustrating an example of a route in the rotation rectangular area.
  • the route within the rotating rectangular area includes a route (an example of a third route) extending in the y-axis direction (an example of the first direction of the traveling environment) and an x-axis direction (perpendicular to the first direction). And a route extending in the second direction) (an example of the fourth route). That is, the route in the rotation rectangular area is formed by combining a straight traveling route corresponding to the straight traveling of the autonomous traveling device 100 and a direction changing route corresponding to the right turn or the left turning of the autonomous traveling device 100 (the third route and the fourth route). ), And a combination. As a result, a route in the rotating rectangular area that passes through the rotating rectangular area RA4 ′ can be easily created by a combination of simple operations of the straight traveling and the direction change of the autonomous traveling device 100.
  • the autonomous traveling device 100 may be a traveling device other than a cleaning machine that autonomously performs a cleaning operation.
  • the autonomous traveling device 100 may be an advertising robot.
  • the autonomous traveling device 100 may be configured only by a traveling unit (and a control unit that controls the traveling unit) for traveling autonomously.
  • a robot (device) having a desired function can be configured by combining the autonomous traveling device and a robot system for exhibiting a desired function.
  • the traveling schedule 500 does not store the cleaning condition.
  • the information regarding the control according to the use of the autonomous mobile device 100 may be memorize
  • the position estimation unit 5555 may perform position estimation of the traveling unit 1 by position estimation by laser odometry, using only information obtained from the front detector 5551a and the rear detector 5551b.
  • a position estimation method by laser odometry for example, there is an ICP (Iterative Closest Point) method.
  • the unit 5555 may estimate the position of the traveling unit 1 based only on the rotation amount of the traveling motor 11.
  • the in-travel area route creation unit 553 determines which of the x-axis direction component and the y-axis direction component in the main direction (ie, the longitudinal direction) of the rectangular area is longer.
  • the y-axis direction component in the main direction is longer, a cell that is arranged in the x-axis direction among the cells included in the rectangular area is given a higher score as the distance from the start point cell SC increases.
  • the same score is assigned to the cells arranged in the y-axis direction.
  • the cells arranged in the y-axis direction among the cells included in the rectangular area are given higher scores as they move away from the start cell SC, and x The same score is assigned to the cells arranged in the axial direction.
  • the present invention can be widely applied to an autonomous traveling device that autonomously travels according to a route plan from a movement start position to a movement end position.

Landscapes

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

Abstract

自律走行装置100を、特定の領域内にてまんべんなく走行させるための走行経路を容易かつ精度よく作成する。走行経路作成方法は、環境地図を複数のセルの集合体として作成するステップS41と、走行領域TAを環境地図上に画定するステップS42と、走行領域TAを矩形領域RAに分割するステップS43と、矩形領域内経路の始点セルSCを決定するステップS44と、直進経路と方向転換経路とを組み合わせることにより矩形領域RA内に矩形領域RAに含まれる全てのセルを通過する矩形領域内経路を作成するステップS45と、矩形領域内経路の終点セルECと、次に走行すべき矩形領域RA内の始点セルSCと、を接続経路にて接続して走行領域内経路を作成するステップS46~S48と、を含む。

Description

走行経路作成方法、自律走行装置、及びプログラム
 本発明は、走行環境を自律的に走行する自律走行装置の走行経路を作成する方法、当該走行経路作成方法に従って走行する自律走行装置、及び、当該走行経路作成方法をコンピュータに実行させるためのプログラムに関する。
 従来、走行開始位置から走行終了位置までの経路計画に従って自律的に走行する自律走行装置が知られている。例えば、ユーザの操作により教示された走行経路及び清掃条件とを再現することにより、教示された走行経路を自律的に走行し、教示された清掃条件に従った清掃を自律的に実行する自律走行式床洗浄機が知られている(例えば、特許文献1を参照)。
特開2015-58131号公報
 上記の自律走行式洗浄機のような自律的に走行する自律走行装置において、走行環境中のある特定の領域内をまんべんなく自律的に走行させたいとの要望がある。しかしながら、ユーザにより教示された走行経路を自律的に走行する従来の自律走行装置においては、特定の領域内をまんべんなく走行させるような走行経路を精度よく教示することは困難であった。
 本発明の目的は、自律走行装置において、特定の領域内をまんべんなく走行させるための走行経路を容易かつ精度よく作成することにある。
 本発明の一見地に係る走行経路作成方法は、走行環境を自律的に走行する自律走行装置のための走行経路の作成方法である。走行経路作成方法は、以下のステップを含む。
 ◎走行環境を表す環境地図を複数のセルの集合体として作成するステップ。
 ◎走行環境において自律走行装置が走行する領域を表す走行領域を環境地図上に画定するステップ。
 ◎走行領域を矩形領域に分割するステップ。
 ◎矩形領域内経路の始点である始点セルを決定するステップ。矩形領域内経路は、各矩形領域内における自律走行装置の走行経路である。
 ◎自律走行装置の直進に対応する直進経路と、自律走行装置の右折又は左折に対応する方向転換経路と、を組み合わせることにより、始点セルから開始し矩形領域に含まれる全てのセルを通過する走行経路を矩形領域内経路として作成するステップ。
 ◎矩形領域内経路の終点に対応する終点セルと、次に走行すべき矩形領域内の始点セルと、を接続経路にて接続することで、走行領域内経路を作成するステップ。次に走行すべき矩形領域は、矩形領域内経路を作成した矩形領域に隣接する。走行領域内経路は、走行領域内の自律走行装置の走行経路である。
 上記の走行経路作成方法は、走行環境において自律走行装置を走行させたい領域(走行領域)を指定すれば、走行環境を表す環境地図に含まれる多数のセルのうち、指定された走行領域に含まれるセルの全てを通過する走行経路を精度よく作成できる。すなわち、走行領域を指定するとの容易な方法により、自律走行装置が当該走行領域をまんべんなく走行できる走行経路(走行領域内経路)を精度よく作成できる。
 矩形領域内経路を作成するステップは、以下のステップを含んでいてもよい。
 ◎矩形領域の長手方向である主方向を決定するステップ。
 ◎主方向に延びる第1経路と、主方向に対して垂直な方向に延びる第2経路と、を組み合わせることにより、矩形領域内経路を作成するステップ。
 これにより、方向転換経路の数が最小であり、かつ、最短距離の矩形領域内経路を作成できる。
 始点セルから延びる経路は、矩形領域の長手方向に対して垂直な方向に延びる経路であってもよい。これにより、方向転換経路の数が最小であり、かつ、最短距離の矩形領域内経路を効率よく作成できる。
 走行経路作成方法は、以下のステップをさらに含んでいてもよい。
 ◎矩形領域を所定の角度だけ回転して回転矩形領域を作成するステップ。
 ◎直進経路と方向転換経路とを組み合わせることにより、回転矩形領域に含まれる全てのセルを通過する回転矩形領域内経路を作成するステップ。
 これにより、1つの矩形領域に対して、矩形領域内経路と、当該矩形領域内経路とは異なる走行経路(回転矩形領域内経路)と、を作成できる。その結果、1つの矩形領域において、異なる走行経路を自律走行装置に走行させることができる。
 回転矩形領域内経路を作成するステップは、走行環境の第1方向に延びる第3経路と、第1方向に対して垂直な第2方向に延びる第4経路と、を組み合わせることにより作成するステップを含んでいてもよい。
 これにより、より簡単に回転矩形領域内経路を作成できる。
 終点セルと始点セルとを接続するステップにおいて、次に走行すべき矩形領域として複数の矩形領域が候補として存在する場合には、当該複数の矩形領域の候補のうち、終点セルと最短距離にて接続される始点セルを有する矩形領域を、次に走行すべき矩形領域と決定してもよい。
 これにより、最短距離である走行効率がよい走行領域内経路を作成できる。
 本発明の他の見地に係る自律走行装置は、走行部と、上記の走行経路作成方法にて作成した走行領域内経路に基づいて、走行部を制御する制御部と、を備える。
 本発明のさらなる他の見地に係るプログラムは、上記の走行経路作成方法をコンピュータに実行させるためのプログラムである。
 自律走行装置に特定の領域内をまんべんなく走行させる走行経路を、容易かつ精度よく作成できる。
自律走行装置の一例の全体構成を示す図。 走行経路教示部の構成の一例を示す図。 設定部の構成を示す図。 制御部の全体構成を示す図。 走行制御部の詳細構成を示す図。 制御統括部の詳細構成を示す図。 自律走行装置の基本的な動作を示すフローチャート。 手動操作教示モードの動作を示すフローチャート。 走行環境の一例を示す図。 グローバルマップをセルの集合体に変換した一例を示す図。 不適切な経路が形成されたときの一例を示す図。 グローバルマップ上に走行領域を画定する様子の一例を示す図。 矩形領域の主方向の探索方法を模式的に示す図(その1)。 矩形領域の主方向の探索方法を模式的に示す図(その2)。 矩形領域の主方向の探索方法を模式的に示す図(その3)。 走行領域を矩形領域に分割した状態の一例を示す図。 各矩形領域において決定された始点セルの一例を示す図。 矩形領域内経路の作成方法を示すフローチャート。 矩形領域内のセルに付与したスコアの一例を示す図。 矩形領域内経路の一例を示す図。 次に走行すべき矩形領域の決定方法の一例を模式的に示す図。 走行領域内経路の一例を示す図。 走行スケジュールの一例を示す図。 自律走行モードの実行時の自律走行装置の動作を示すフローチャート。 走行領域内経路を変更する方法を示すフローチャート。 変更前の走行領域内経路の一例を示す図。 回転矩形領域の一例を示す図。 回転矩形領域に含まれるセルに付与したスコアの一例を示す図。 回転矩形領域内経路の一例を示す図。
1.第1実施形態
(1)自律走行装置の全体構成
 まず、本実施形態に係る自律走行装置100の全体構成について、説明する。本実施形態に係る自律走行装置100は、設定された清掃条件と走行経路とを自律的に再現する清掃機である。
 自律走行装置100は、走行部1を備える。走行部1は、自律走行装置100を走行させる装置である。走行部1は、自律走行装置100の本体を構成する本体Bを有する。走行部1は、本体Bの底部の左右端にそれぞれ、走行モータ11と、走行モータ11の出力回転軸に取り付けられ、走行モータ11の回転に従って回転する主輪13と、を有する。
 他の実施形態において、走行部1は、例えば、本体Bの底部の左右端に主輪13よりも後方に、回転可能に取り付けられた補助輪15を有してもよい。これにより、自律走行装置100をより安定にできる。さらなる他の実施形態として、自律走行装置100の重心位置などを考慮して、補助輪15を主輪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には吸引口O2が設けられていてもよい。吸引口O2は、吸引モータ331により回収部材333を負圧状態にすることにより、スキージ33により収集された洗浄液やゴミなどを吸引して、回収部材333へと搬送できる。
 自律走行装置100は、制御部5を有する。制御部5は、CPU、記憶装置(RAM、ROM、ハードディスクドライブ、SSDなど)、各種インターフェースなどを備えたコンピュータシステムである。制御部5は、自律走行装置100に関する各種制御を行う。制御部5の構成については後ほど詳しく説明する。
 自律走行装置100は、走行経路教示部7を備える。走行経路教示部7は、操作者による走行部1の移動操作を受け付ける装置である。走行経路教示部7は、取付部材8を介して、本体Bの上方後側に取り付けられている。これにより、操作者は、走行経路教示部7を操作して走行部1を移動操作できる。本実施形態の走行経路教示部7の詳細については、後ほど説明する。
 他の実施形態として、走行経路教示部7は、本体Bに取り付けられていなくともよい。この場合、走行経路教示部7は、例えば、ジョイスティックなどのコントローラとできる。これにより、操作者は、自律走行装置100を遠隔操作できる。
 さらなる他の実施形態として、自律走行装置100は、上記の走行経路教示部7と、本体Bに取り付けられていないコントローラとの両方により操作可能となっていてもよい。
 自律走行装置100は、設定部9を備える。設定部9は、自律走行装置100に関する各種設定を行うための操作盤であり、本体Bの上方後側の表面に取り付けられている。また、設定部9は、走行経路教示部7の近傍に設けられている。これにより、操作者は、走行経路教示部7を操作して走行部1を操作しつつ、設定部9を操作できる。
 他の実施形態として、設定部9は、本体Bに取り付けられていなくてもよい。この場合、設定部9は、例えば、ポータブル端末などの無線通信可能なコンソールとできる。これにより、操作者は、自律走行装置100を遠隔にて設定できる。
 さらなる他の実施形態として、上記の走行経路教示部7と設定部9とを一体としてもよい。これにより、走行部1と設定部とを同時に操作しやすくできる。
(2)走行経路教示部の構成
 次に、本実施形態に係る走行経路教示部7の構成の一例について、図2を用いて説明する。図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の進行方向を変更してもよい。
 他の実施形態として、ハンドル71aを進行方向への走行速度を指示するための入力インターフェースとし、ハンドル71bを操舵角を指示するための入力インターフェースとしてもよい。
(3)設定部の構成
 次に、設定部9の構成について、図3を用いて説明する。図3は、設定部の構成を示す図である。
 設定部9は、切替部91を有する。切替部91は、自律走行装置100の動作モードを選択し、制御部に出力する。自律走行装置100の動作モードとしては、自律走行モードと手動操作モードとがある。自律走行モードは、自律走行装置100が、自律的に走行し床面Fを洗浄する動作モードである。一方、手動操作モードは、自律走行装置100が操作者により手動操作可能な状態にある動作モードである。
 切替部91は、例えば、図3に示すような切り替えスイッチにて構成できる。この場合、自律走行モードの選択は、例えば、切り替えスイッチにて構成された切替部91を図3に示す「自動」に切り替えることにより可能となる。一方、手動操作モードの選択は、例えば、切替部91を図3に示す「手動」に切り替えることにより可能となる。
 設定部9は、手動操作記憶スイッチ92を有する。手動操作記憶スイッチ92は、操作者による自律走行装置100の手動操作の記憶を開始又は終了するためのスイッチである。具体的には、切替部91により動作モードが手動操作モードに設定された後に手動操作記憶スイッチ92が押されると、操作者の手動操作により実行された清掃条件および走行経路を、自律走行装置100に教示する手動操作教示モードが、手動操作モードのサブ動作モードとして開始される。一方、手動操作教示モードを実行中に手動操作記憶スイッチ92が切り替わると、手動操作教示モードが停止される。
 手動操作記憶スイッチ92により手動操作教示モードの開始と停止とが可能となることにより、手動操作教示モードを任意のタイミングにて開始又は停止できる。その結果、操作者が所望する走行スケジュール500(走行領域内経路の一例)を作成できる。
 手動操作記憶スイッチ92としては、例えば、図3に示すような押ボタンスイッチとすることができる。この場合、手動操作記憶スイッチ92の切り替えは、当該押ボタンスイッチを押すことにより切り替わる。
 他の実施形態において、手動操作教示モードの実行時に手動操作記憶スイッチ92が切り替わったら、動作モードが手動操作教示モードから手動操作モードに切り替わってもよい。これにより、操作者は、手動操作教示モードが手動操作モードに切り替わっても、継続して自律走行装置100を手動操作できる。
 設定部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に出力する信号変換回路、又は、コンピュータシステムである。
 これにより、操作者は、清掃条件教示部96を用いて、自律走行装置100に対して清掃条件を設定するか、又は、清掃条件を教示できる。
(4)制御部の構成
(4-1)制御部の全体構成
 以下、制御部5の構成について説明する。まず、制御部5の全体構成について、図4を用いて説明する。図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の回転速度を算出する。これにより、走行制御部53は、走行モータ11の回転速度(すなわち、主輪13の回転速度)をモニターしながら、走行モータ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を必要に応じて読み出して、これらに基づいて各種の調整及び制御を実行できる。
 他の実施形態において、制御部5は、記憶部57に記憶された走行スケジュール500などの情報を他の記憶媒体に記憶するためのデータ書き込み装置(図示せず)を有していてもよい。さらなる他の実施形態において、制御部5は、例えば、USB(Universal Serial Bus)ポートなどの、データ書き込み装置を接続可能な接続端子を有していてもよい。
 これにより、記憶部57に記憶された走行スケジュール500などの情報を、他の記憶媒体に記憶できる。
(4-2)走行制御部の構成
 以下、走行部1を制御する走行制御部53の構成について、図5を用いて詳細に説明する。図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)制御統括部の構成
 以下、制御統括部55の構成について、図6を用いて詳細に説明する。図6は、制御統括部の詳細構成を示す図である。
 制御統括部55は、走行領域取得部551を有する。走行領域取得部551は、手動操作教示モードの実行時に、所定時間毎(例えば、制御部5における制御周期毎)に、SLAM部555(後述)から、SLAM部555にて推定された位置情報(後述)を入力する。
 走行領域取得部551は、走行環境において自律走行装置100が走行する領域を表す走行領域TAを、取得した複数の位置情報の点列として取得する。走行領域取得部551は、取得した複数の位置情報の点列を、走行領域TAの境界を表す点列として、走行領域内経路作成部553に出力する。
 他の実施形態において、走行領域取得部551は、予め作成したグローバルマップ(走行環境を表す地図情報)をディスプレイ95に表示させてもよい。このとき、走行領域取得部551は、操作者に対して、ディスプレイ95に表示されたグローバルマップ上に、走行領域TAを表す閉じられた領域を描画するように指示をしてもよい。
 この場合、走行領域取得部551は、例えば、ディスプレイ95上にて描画された走行領域TAの座標値(例えば、ディスプレイ95のピクセル座標値)を取得し、当該座標値を座標変換により走行環境上の座標値に変換して、走行領域TAを表す(座標値の)点列を取得してもよい。
 制御統括部55は、走行領域内経路作成部553を有する。走行領域内経路作成部553は、走行領域取得部551から取得した走行領域TA内に、自律走行装置100が当該走行領域TAをまんべんなく(「塗りつぶす」ように)走行する走行スケジュール500を作成し、記憶部57に記憶する。走行スケジュール500の具体的な作成方法については、後ほど詳しく説明する。
 制御統括部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にて取得される情報は、所定の平面上における障害物の存在位置を表す二次元的な情報であってもよいし、さらに高さ方向における障害物の存在位置を表す情報を含めて三次元的な情報であってもよい。
 他の実施形態において、前方検出器5551aの検出範囲(検出角度及び/又は検出距離)を、後方検出器5551bの検出範囲よりも広くしてもよい。これにより、自律走行装置100の前方方向であってより広範囲に存在する障害物に関する情報を取得できる。
 さらなる他の実施形態において、前方検出器5551a及び後方検出器5551bは、TOF(Time Of Flight)カメラなどであってもよい。
 制御統括部55は、走行再現部557を有する。走行再現部557は、自律走行モードを実行する時に、走行スケジュール500に記憶された情報と、SLAM部555から取得した推定された位置情報とに基づいて、自律走行装置100が走行スケジュール500に示された走行経路を自律的に走行すための制御指令(再現走行制御指令)を算出する。走行再現部557は、算出した再現走行制御指令を走行制御部53に出力する。
 他の実施形態において、走行再現部557は、走行スケジュール500に関連付けられた清掃条件を、清掃制御部51に出力してもよい。
(4-4)SLAM部の構成
 以下、SLAM部555の構成の詳細について、図6を用いて説明する。本実施形態に係るSLAM部555は、SLAM(Simultaneous Localization and Mapping)法にて、走行部1(自律走行装置100)の位置(位置情報)推定と地図情報の作成とを実行する。
 SLAM部555は、地図作成部5553を有する。地図作成部5553は、前方検出器5551aにて取得された前方の障害物(例えば、壁など)に関する情報、後方検出器5551bにて取得された後方の障害物に関する情報と、を用いて地図情報を作成する。地図情報は、位置推定部5555において位置情報を推定する際に用いられる。地図情報としては、ローカルマップとグローバルマップ(環境地図の一例)とが存在する。
 ローカルマップは、走行部1の周囲に存在する障害物(の存在位置)に関する地図情報である。ローカルマップは、前方検出器5551aにて取得された前方の障害物に関する情報と、後方検出器5551bにて取得された後方の障害物に関する情報とを、必要に応じて座標変換することにより作成される。
 グローバルマップは、走行部1が走行する環境(走行環境)に存在する障害物(の存在位置)に関する地図情報である。本実施形態において、グローバルマップは、手動操作教示モードの実行時に走行領域TAを表す位置情報の点列を取得したときに取得したローカルマップに基づいて生成される。
 具体的には、地図作成部5553は、走行領域TAを表す位置情報の点列とともに取得したローカルマップを、当該位置情報に対応する位置に配置することでグローバルマップを作成する。
 走行領域TAを表す位置情報の点列を取得する際に、手動操作教示モードの初期に取得した位置情報と、手動操作教示モードの終盤に取得した位置情報との間には、誤差が生じる場合がある。具体的には、例えば、閉じられた領域である走行領域TAを位置情報の点列として取得する際に、手動操作教示モードの開始時の走行部1の位置と終了時の走行部1の位置とが同一であるかからわず、推定された位置情報が一致しないことがある(いわゆる、環状経路問題)。
 上記の推定された位置情報の不一致を解消するため、地図作成部5553は、ローカルマップを対応する位置に配置して作成したグローバルマップを修正する。具体的には、例えば、以下のようにしてグローバルマップを修正する。
 まず、地図作成部5553は、手動操作教示モードの開始時と終了時に、前方検出器5551aにて取得された障害物に関する情報、及び/又は、後方検出器5551bにて取得された障害物に関する情報を取得する。
 次に、地図作成部5553は、手動操作教示モードの開始時に得られた障害物に関する情報と終了時に得られた障害物に関する情報との差分などに基づいて、手動操作教示モードの開始時と終了時における走行部1の実際の位置のずれを算出する。
 その後、地図作成部5553は、算出した実際の位置のずれに基づいて、例えばGraphSLAMなどのアルゴリズムを用いて、ローカルマップの配置位置を修正し、修正した新たな配置位置にローカルマップを配置して、新たなグローバルマップを作成する。
 このとき、地図作成部5553は、手動操作教示モードを実行することにより取得した走行領域TAを表す点列の位置情報(座標値)も、GraphSLAMなどのアルゴリズムを用いて同時に修正し、修正した新たな位置情報の点列を走行領域TAを表す点列としてもよい。
 上記のようにしてグローバルマップを修正することにより、走行環境をより適切に表したグルーバルマップを作成できる。また、グローバルマップの修正時に、走行領域TAを表す位置情報を修正することにより、閉じられた領域である走行領域TAをより適切に表した位置情報の点列を取得できる。
 他の実施形態において、グローバルマップは、専用のソフトウェア又はCADなどを用いて作成されて記憶部57に記憶されてもよい。この場合、当該ソフトウェアなどで作成したグローバルマップは、走行部1の制御部5が解釈できるようなデータに変換される。
 SLAM部555は、位置推定部5555を有する。位置推定部5555は、地図作成部5553が生成したグローバルマップと、ローカルマップと、走行モータ11の回転量と、に基づいて、所定の座標上の走行部1の存在位置及び当該位置における走行部1の姿勢に関する位置情報を推定する。
 具体的には、以下のようにして位置情報が推定される。ここでは、走行部1がある所定の時刻(時刻tとする)における(推定)位置から移動して、次の時刻(時刻tk+1とする)にて走行部1が到達する位置を推定する場合を例として考える。
 まず、位置推定部5555は、時刻tから時刻tk+1までの間にエンコーダ111から出力されたパルス数から、時刻tから時刻tk+1までの間の主輪13の回転量を算出し、当該回転量に基づいて、主輪13の回転による走行部1の移動距離と姿勢変化とを推定する(デッドレコニング)。
 次に、位置推定部5555は、時刻tにおける事後確率(走行部1の位置と、時刻tにおいて当該位置に走行部1が存在する確率と、の関係を表した確率分布に対応する)を、主輪13の回転による走行部1の移動距離分及び姿勢変化分だけ移動させて、時刻tk+1における事前確率を算出する。
 他の実施形態において、位置推定部5555は、主輪13の回転による移動距離分及び姿勢変化分だけ移動後の事後確率の確率分布の幅(標準偏差)を拡大して、時刻tk+1における事前確率としてもよい。これにより、主輪13と床面Fとの滑りを考慮した事前確率を算出できる。
 その後、位置推定部5555は、時刻tk+1におけるローカルマップとグローバルマップとを地図作成部5553から取得し、時刻tk+1におけるローカルマップとグローバルマップとをマップマッチングし、時刻tk+1における走行部1の位置情報を推定する。
 具体的には、例えば、グローバルマップ上において、主輪13の回転量に基づいて算出された推定位置の近傍のいくつかの位置に、時刻tk+1におけるローカルマップを配置し、当該ローカルマップをその中心回りに取りうる姿勢変化に対応する角度だけ回転させて、マップマッチングを行う。
 位置推定部5555は、当該マップマッチングの結果に基づいて、尤度(ローカルマップ情報を配置した位置と、当該位置におけるグローバルマップとローカルマップ情報との一致度と、の関係を表すものに対応)を算出する。
 その後、位置推定部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の位置情報に最も近い位置情報に関連付けられている時間を、自律走行モードの実行開始からの経過時間とする。
 他の実施形態において、上記の経過時間は、位置推定部5555にて推定された位置情報に近い2つの位置情報を走行スケジュール500から抽出し、走行スケジュール500において当該2つの位置情報に関連付けられた時間の線形補間により算出されてもよい。これにより、より正確な経過時間を算出できる。
(5)自律走行装置の動作
(5-1)基本動作
 以下、自律走行装置100の動作について説明する。まず、自律走行装置100の基本的な動作を、図7を用いて説明する。図7は、自律走行装置の基本的な動作を示すフローチャートである。
 自律走行装置100が動作を開始すると、制御部5は、切替部91の状態を確認する(ステップS1)。切替部91が「自動」を選択している場合(ステップS1において「自律走行モード」の場合)、自律走行モードが実行され(ステップS2)、記憶部57に記憶された走行スケジュール500に従って、自律走行装置100は自律的に清掃作業を実行する。
 一方、切替部91が「手動」を選択している場合(ステップS1において「手動操作モード」の場合)、制御部5は、実行すべき動作モードが手動操作モードと判断する。
 手動操作モードを実行中に手動操作記憶スイッチ92が押されたことを検知すると(ステップS3において「Yes」の場合)、制御部5は、動作モードを手動操作教示モードに移行させる(ステップS4)。その結果、手動操作記憶スイッチ92が押されたタイミング以降の操作者による走行部1の操作が記憶される。
 また、手動操作教示モードにおいては、制御統括部55は、操作者による走行部1の操作にて決定した走行領域TA内を自律走行装置100に走行させるための走行スケジュール500を作成する。
 一方、手動操作記憶スイッチ92が押されない場合(ステップS3において「No」の場合)には、操作者の操作を記憶しない手動操作モードの実行を維持する(ステップS5)。
 上記のステップS4において手動操作教示モードを実行中に、制御部5は、手動操作記憶スイッチ92が押されたか否かをモニターする。手動操作教示モードの実行中に手動操作記憶スイッチ92が押された場合には、そのタイミングで動作モードが手動操作モードに切り替わり、当該タイミング以降の清掃作業が走行スケジュール500に記憶されなくなる。すなわち、手動操作教示モードの実行時に手動操作記憶スイッチ92を押すことにより、操作者は、清掃作業の途中の任意のタイミングにてその記憶(教示)を停止できる。
 上記のように、本実施形態に係る自律走行装置100は、切替部91における動作モードの選択、及び、手動操作記憶スイッチ92が押されたか否かに応じて、自律走行モード、手動操作モード、及び手動操作教示モードを実行できる。
(5-2)手動操作教示モードの動作
 以下、上記のステップS4において実行される手動操作教示モードの動作について、図8を用いて説明する。図8は、手動操作教示モードの動作を示すフローチャートである。
 以下の説明では、図9に示すような走行環境において設定された走行領域TA内をまんべんなく「塗りつぶす」走行領域内経路を計画し、走行スケジュール500として作成する。図9は、走行環境の一例である。
 手動操作教示モードにおいて走行スケジュール500を作成するにあたり、制御統括部55は、走行環境を表すグローバルマップを作成する(ステップS41)。具体的には、以下のようにしてグローバルマップを作成する。
 まず、手動操作記憶スイッチ92が押された後に自律走行装置100の手動操作を開始するか、又は、手動操作中に手動操作記憶スイッチ92が押されて、手動操作教示モードが開始されると、操作者は、走行経路教示部7を用いて自律走行装置100を操作する。操作者は、走行領域TAとしたい領域の境界線に沿って、自律走行装置100を走行させる。
 操作者による操作により自律走行装置100が走行中、地図作成部5553が、所定の時間毎に、ローカルマップを取得する。図9に示すように、自律走行装置100が走行を開始した開始点STから、走行領域TAの境界線とする閉じられた経路を走行し、再度開始点ST又はその近傍まで戻ってきた後、地図作成部5553は、取得したローカルマップを対応する位置に配置してグローバルマップを作成する。その後、地図作成部5553は、必要に応じて、GraphSLAMアルゴリズムなどを用いて、当該グローバルマップを修正する。
 他の実施形態において、地図作成部5553は、CADなどを用いて作成された移動環境を表すCADデータなどを、適切なデータ変換と座標変換とを行って、グローバルマップとして取得してもよい。
 上記のようにしてグローバルマップを取得後、地図作成部5553は、取得したグローバルマップを、多数のセルの集合体に変換する。グローバルマップを構成する当該セルは、走行環境においては、所定の面積を有する小領域に対応するものである。また、制御部5を構成するコンピュータシステムにおいては、当該セルを、例えばセルに関するパラメータ(例えば、セルを識別するパラメータ、セルの位置情報、セルの有効無効、セルに付与されたスコア、など)を含む「構造体」として定義できる。
 具体的には、例えば図10に示すように、地図作成部5553は、グローバルマップを定義する座標平面上にセルを配置し、セルを配置した当該座標平面上にグローバルマップを投影する。地図作成部5553は、座標平面上のセルのうち、グローバルマップにおいて障害物がない領域のセルについては有効セル(図10では白色のセル)であると決定し、それ以外のセルについては無効セル(図10では灰色のセル)であると決定する。
 図10は、グローバルマップをセルの集合体に変換した一例を示す図である。
 グローバルマップは、図10に示すように、x-y平面上に定義するものとする。
 グローバルマップにおいて、障害物の表面(壁面など)は、前方検出器5551a及び/又は後方検出器5551bにて取得された情報が直線状に配置された点列として表される。また、障害物のない空間は、一般的に、間隔を空けて配置された2つの表面(壁面)間に形成される。
 従って、地図作成部5553は、前方検出器5551a及び/又は後方検出器5551bにて取得された情報が直線状に配置された点列が間隔を空けて2つ存在するときに、当該2つの点列の間に存在するセルを有効セルと決定する。
 その一方、障害物の表面に対して、有効セルが存在する領域とは反対側に存在するセルを無効セルとする。無効セルとされたセルに対しては、自律走行装置100が走行できないことを示す「スコア」(例えば、0、又は、-1などの負数)を付与しておく。
 本実施形態において、地図作成部5553は、前方検出器5551a及び/又は後方検出器5551bにて取得された情報からは有効セルか無効セルかが判定できないセル(例えば、1つの障害物の表面しか認識できない領域内にあるセル)については、有効セルであると見なす。
 他の実施形態において、地図作成部5553は、有効セルと決定したセルに対して、有効であることを示す「スコア」を予め付与してもよい。この場合、前方検出器5551a及び/又は後方検出器5551bにて取得された情報からは有効セルか無効セルかが判定できず有効セルと見なしたセルに対して、有効であることを示す「スコア」を予め付与してもよいし、付与しなくともよい。
 この場合、有効であると見なしたセルに予め「スコア」を付与するかしないかに関わらず、後述する矩形領域内経路の作成時には、当該有効セルと見なしたセルに対しても「スコア」が付与される。その結果、矩形領域内経路は、当該有効セルと見なしたセルも通過することとなる。
 多数のセルの集合体として表されたグローバルマップを作成後、走行環境において自律走行装置100が走行する領域を表す走行領域TAを、グローバルマップ上に画定する(ステップS42)。具体的には、以下のようにして、走行領域TAをグローバルマップ上に画定する。
 まず、上記のステップS41を実行中、すなわち、自律走行装置100を走行領域TAの境界線に沿って走行させる間に、走行領域取得部551が、所定の時間毎に、位置推定部5555にて推定された位置情報を走行領域TAの境界を表す点として取得する。
 これにより、走行領域取得部551は、自律走行装置100が開始点ST(図9)から点線にて示す経路に沿って走行し、開始点ST又はその近傍まで戻ってくるまでの間に取得した複数の位置情報を、走行領域TAの境界線を表す点列として取得できる。走行領域取得部551は、走行領域TAの境界線を表す位置情報の点列を、走行領域内経路作成部553に出力する。
 他の実施形態において、走行領域取得部551は、例えば、ディスプレイ95にグローバルマップを表示させ、ユーザに対してグローバルマップが表示されたディスプレイ95上にて走行領域TAの境界線を描画させてもよい。走行領域取得部551は、当該描画された走行領域TAの境界線を、適切な座標変換などを行って走行領域TAの境界線を表す点列として取得してもよい。
 また、例えば、広い空間にある柱などの障害物の周りに対して走行領域TAの境界線を画定するために、図11の一点鎖線のような経路を自律走行装置100が走行した場合に、走行領域取得部551は、当該一点鎖線にて示す経路、つまり走行領域TAの外周境界線と障害物の表面境界線とこれらを接続する接続線のうち表面境界線と接続線を削除する処理を実行して、外周境界線のみを切り出してもよい。図11は、不適切な経路が形成されたときの一例を示す図である。
 走行領域TA(矩形領域RA)内に障害物が存在する場合には、柱などの障害物上を走行するような矩形領域内経路を作成することになるが、自律走行時には自律走行装置100の障害物回避機能を利用して当該障害物を避けながら走行すればよい。
 次に、走行領域内経路作成部553は、多数のセルにて構成したグローバルマップ上に、走行領域TAの境界線を表す点列を配置する。走行領域TAの境界線を表す位置情報が、グローバルマップ中のどのセルに配置されるかは、例えば、位置情報(グローバルマップ)を定義した座標系において、セルがどの座標値に存在するかにより決定できる。
 その後、走行領域内経路作成部553は、図12に示すように、走行領域TAの境界線が配置された有効セルと、走行領域TAの境界線に対して障害物のない空間とは反対側に存在する有効セルと、を新たに無効とする。図12においては、ハッチングにて示したセルが新たに無効となったセルである。図12は、グローバルマップ上に走行領域を画定する様子の一例を示す図である。
 このようにして、走行領域内経路作成部553は、走行領域TAには含まれないセルを新たに無効セルとすることにより、走行領域TAを多数の有効セル(図12においては、白色のセル)にて構成される領域として、グローバルマップ上に画定できる。
 グローバルマップ上に走行領域TAを画定後、走行領域内経路作成部553は、走行領域TAを矩形の領域(矩形領域RA)に分割する(ステップS43)。走行領域TAを矩形領域RAに分割するにあたり、走行領域内経路作成部553は、走行領域TAのどの部分に矩形領域RAが存在するかを探索する。
 所定の基準軸(図13Aではy軸に垂直な軸)に対して所定の角度だけ傾いた矩形において、基準軸方向の矩形の境界間の長さ(「直線長さ」と呼ぶことにする)と、基準軸に垂直な軸方向(y軸)における位置との関係をグラフに表すと、図13Aの(1)に示すように、上に凸形状のグラフとなる。図13Aに示す例では、上に凸の三角形に類似した形状となっている。
 図13A~図13Bは、矩形領域の主方向の探索方法を模式的に示す図である。
 一方、所定の角度だけ傾いた矩形を回転させて、矩形の長手方向が基準軸と平行になったとき(図13Aの例では、Θだけ左に回転)、直線長さとy軸方向の位置との関係を表すグラフは、図13Aの(2)に示すように上に凸の矩形となる。すなわち、所定のy軸方向の位置範囲にわたり、直線長さが一定となっている。
 なお、直線長さが一定となったときの矩形の回転角度とは符号が反対となる角度(図13Aの例では、-Θ)を、当該矩形の主方向とする。
 また、直線長さが最大値(例えば、矩形領域の対角線の長さ)(図13Bでは、Lmax)と当該最大値に対して所定の割合だけ短い長さ(図13Bではα*Lmax)との間に含まれるy軸座標値の範囲における矩形領域の面積は、図13Bに示すように、矩形領域の長手方向が基準軸と平行になったときに最大となる。すなわち、直線長さとy座標値との関係を表すグラフを、直線長さが最大値(Lmax)と所定の割合だけ短い長さ(α*Lmax)との間に含まれるy座標値の範囲にて定積分したときの値は、矩形領域の長手方向が基準軸と平行になったときに最大となる。
 なお、図13Cに示すように、矩形領域の短手方向が基準軸と平行となるときには、上記の定積分値は0となる。なぜなら、どのy座標値においても、直線長さがα*Lmaxを下回るからである。
 従って、走行領域内経路作成部553は、グローバルマップ上に画定した走行領域TAを回転させて、ある特定角度だけ回転後の走行領域TAのx軸方向における走行領域TAの境界線間の距離を、直線長さとして、各y軸方向の位置(y軸方向の各座標値)に対して算出する。
 その後、走行領域内経路作成部553は、当該特定角度において、直線長さがLmaxとα*Lmaxとの間に含まれるy座標値の範囲内の直線長さを積算する。グローバルマップ上に画定した走行領域TAを所定の角度範囲(例えば、0°~180°の範囲)で回転させた後、走行領域内経路作成部553は、ある矩形領域RAについて上記の直線長さの積算値が最大となったときの走行領域TAの回転角度(とは符号が逆の角度)を、当該ある矩形領域RAの主方向と決定する。
 走行領域内経路作成部553は、直線長さの積算値が最大となったときの走行領域TAの回転角度(とは符号が逆の角度)における直線長さ(一定値)を、この矩形領域RAの長手方向の長さとし、直線長さが一定であるy軸方向の位置範囲間の長さをこの矩形領域RAの短手方向の長さとする。
 走行領域TAの回転角度を変化させつつ、直線長さとy軸方向の位置との関係とを算出しつつ上記のようにして各矩形領域RAの主方向を探索することで、走行領域内経路作成部553は、例えば、図12に示すように画定された走行領域TAを、図14に示すように3つの矩形領域RA1~RA3に分割できる。
 図14は、走行領域を矩形領域に分割した状態の一例を示す図である。
 走行領域TAを矩形領域RA1~RA3に分割後、走行領域内経路作成部553は、各矩形領域RA1~RA3に対して、当該各矩形領域RA1~RA3内おける矩形領域内経路(後述)の始点となる有効セル(始点セルSCと呼ぶことにする)を決定する(ステップS44)。
 走行領域内経路作成部553は、各矩形領域RA1~RA3の四隅のいずれかに始点セルSCを定める。最初に矩形領域内経路を作成する矩形領域RA1については、例えば、図15に示すように、走行領域TAの境界線を表す点列を取得する際に自律走行装置100が走行を開始した位置に対応する有効セルを、当該矩形領域RA1の始点セルSCとする。
 図15は、最初に矩形領域内経路を作成する矩形領域において決定された始点セルの一例を示す図である。
 他の矩形領域RA2、RA3の始点セルSCは、後述するステップS47において決定される。
 矩形領域内経路を作成する対象の矩形領域RA1~RA3について始点セルSCを決定後、走行領域内経路作成部553は、当該始点セルSCから開始し、対象の各矩形領域RA1~RA2に含まれる全ての有効セルを通過する走行経路である矩形領域内経路を作成する(ステップS45)。
 走行領域内経路作成部553は、具体的には、図16のフローチャートに示す処理に従って、矩形領域内経路を作成する。図16は、矩形領域内経路の作成方法を示すフローチャートである。
 以下の説明においては、矩形領域RA1について矩形領域内経路を作成する方法を例にとって説明する。他の矩形領域RA2、RA3についても、矩形領域RA1に対して実行される作成方法により、矩形領域内経路を作成できる。
 走行領域内経路作成部553は、まず、矩形領域内経路を作成しようとしている矩形領域RA1の主方向を決定する(ステップS451)。矩形領域RA1の主方向は、例えば、上記のステップS43において走行領域TAを矩形領域RA1~RA3に分割するときに決定した主方向とできる。図15に示すように、矩形領域RA1の主方向は、x軸に平行な方向である。
 次に、走行領域内経路作成部553は、矩形領域RA1内の有効セルにスコアを付与する(ステップS452)。具体的には、走行領域内経路作成部553は、始点セルから、主方向とは垂直な方向に離れた有効セルほど高いスコアを付与する。その一方、主方向に沿って配置される有効セルに対しては、同一のスコアを付与する。
 その結果、走行領域内経路作成部553は、矩形領域RA1内の有効セルに対しては、図17に示すようなスコアを付与する。図17は、矩形領域内のセルに付与したスコアの一例を示す図である。
 図17に示す例において、始点セルSCから主方向に沿った方向に配置された有効セルには、「11」とのスコアが付与されている。これは、矩形領域RA1においては、主方向に11個の有効セルが存在することを意味している。
 他の有効セルについては、始点セルSCから主方向とは垂直な方向に離れる従い、11の倍数でスコアが増加する。
 具体的には、主方向とは垂直な方向に始点セルSCと隣接する有効セルに対しては、「22」とのスコアが付与されている。また、当該「22」のスコアが付与された有効セルに対して主方向に沿った方向に配置された有効セルには、これと同じ「22」とのスコアが付与されている。
 主方向とは垂直な方向に始点セルSCから2セル分離れた有効セルに対しては、「33」とのスコアが付与されている。また、当該「33」のスコアが付与された有効セルに対して主方向に沿った方向に配置された有効セルには、これと同じ「33」とのスコアが付与されている。
 主方向とは垂直な方向に始点セルSCから3セル分離れた有効セルに対しては、「44」とのスコアが付与されている。また、当該「44」のスコアが付与された有効セルに対して主方向に沿った方向に配置された有効セルには、これと同じ「44」とのスコアが付与されている。
 主方向とは垂直な方向に始点セルSCから4セル分離れた有効セルに対しては、「55」とのスコアが付与されている。また、当該「55」のスコアが付与された有効セルに対して主方向に沿った方向に配置された有効セルには、これと同じ「55」とのスコアが付与されている。
 次に、走行領域内経路作成部553は、始点セルSCから、各有効セルへと経路を延ばしていく。具体的には、走行領域内経路作成部553は、始点セルSCからは、始点セルSCの主方向又は主方向とは垂直な方向に存在する有効セルのうち、最高のスコアが付与された有効セルへ経路を延ばす(ステップS453)。
 図17に示す例では、始点セルSCから主方向(x軸方向)に隣接する有効セルには「11」とのスコアが付与され、主方向に対して垂直な方向(y軸方向)に隣接する有効セルには「22」とのスコアが付与されている。従って、走行領域内経路作成部553は、始点セルSCからy軸方向に隣接する有効セルに経路を延ばす。
 その後、走行領域内経路作成部553は、当該「22」とのスコアが付与された有効セルに対してy軸方向に隣接した「33」とのスコアが付与された有効セルに経路をさらに延ばす。さらに、当該「33」とのスコアが付与された有効セルに対してy軸方向に隣接した「44」とのスコアが付与された有効セルに経路を延ばし、当該「44」とのスコアが付与された有効セルからy軸方向に隣接した「55」とのスコアが付与された有効セルに経路を延ばす。
 走行領域内経路作成部553は、経路がすでに延びた有効セルに対しては、当該有効セルを再度通過しないと経路が計画できないなど特別な事情がない限り、再度経路が延びないようにする。
 走行領域内経路作成部553が上記の規則に沿って経路を延ばすことにより、図18において太矢印にて示すようなy軸方向(主方向に対して垂直な方向)に延びる経路が、始点セルSCから、矩形領域RA1において始点セルSCに対してy軸方向の反対側の端部にある有効セルへと延びる。このように、自律走行装置100を直進させる経路のことを「直進経路」と呼ぶ。また、直進経路のうち、主方向に対して垂直な方向に延びる経路を「第2経路」と呼ぶ。
 図18は、矩形領域内経路の一例を示す図である。
 上記の規則に従って経路を延ばした場合、「55」とのスコアが付与された、始点セルSCに対してy軸方向の反対側の端部にある有効セルからは、図18に示すように、当該有効セルに対して主方向に隣接して存在する「55」とのスコアが付与された有効セルへと経路が延びる。
 すなわち、始点セルSCに対してy軸方向の反対側の端部にある有効セルにおいては、経路が延びる方向が、y軸方向からx軸方向へと転換している。このように、y軸方向に延びる経路とx軸方向に延びる経路とを組み合わせることにより、自律走行装置100の走行方向を転換できる。
 上記にように、y軸方向に延びる経路とx軸方向に延びる経路とを組み合わせて形成される経路を、自律走行装置100の右折又は左折に対応する「方向転換経路」と呼ぶことにする。また、直進経路のうち、主方向に延びる経路を「第1経路」と呼ぶ。
 その後も、矩形領域RA1内に経路が通過していない有効セルが存在する限り(ステップS454において「No」である限り)、走行領域内経路作成部553が上記の規則に従って経路を延ばすことにより、矩形領域RA1内には、図18の太矢印に示すような、始点セルSCから開始し矩形領域RA1に含まれる全ての有効セルを通過する矩形領域内経路が作成される。
 他の実施形態において、走行領域内経路作成部553は、矩形領域内経路を作成するときに、各有効セルに対して清掃条件を設定し、当該清掃条件を矩形領域内経路と関連付けてもよい。
 図18に示すように、矩形領域内経路は、主方向に延びる第1経路と、主方向に対して垂直に延びる第2経路と、を組み合わせることにより作成されている。すなわち、矩形領域内経路は、自律走行装置100の直進に対応する直進経路と、自律走行装置100の右折又は左折に対応する方向転換経路と、を組み合わせることにより作成されている。
 これにより、矩形領域RA1をまんべんなく通過する矩形領域内経路を、自律走行装置100の直進と方向転換との単純な動作の組み合わせにより作成できる。
 また、図18に示す矩形領域内経路においては、第1経路は主方向に沿って複数の有効セルにわたり延びる一方、主方向に対して垂直な方向に延びる第2経路は、始点セルSCから開始される経路を除き、1つのセル分しか延びていない。このように、矩形領域RA1の主方向に沿って第1経路を複数の有効セルにわたり延ばすことにより、すなわち、主方向に沿ってより長い経路を作成することにより、矩形領域内経路に含まれる方向転換経路の数を最小にできる。
 上記のステップS451~S454を実行して1つの矩形領域RA1内に矩形領域内経路を作成後、走行領域内経路作成部553は、矩形領域内経路を未だ作成していない矩形領域RA1~RA3が存在するか否かを判定する(ステップS46)。
 矩形領域内経路を作成していない矩形領域RA1~RA3が存在していない場合(ステップS46において「No」の場合)には、手動操作教示モードを終了する。
 その一方、矩形領域内経路を作成していない矩形領域RA1~RA3が存在する場合(ステップS46において「Yes」の場合)、次にどの矩形領域RA2、RA3内を自律走行装置100に走行させるかを決定する(ステップS47)。以下では、矩形領域RA1の矩形領域内経路の作成が終了した場合を例にとって説明する。
 次にどの矩形領域RA2、RA3内を自律走行装置100に走行させるかを決定するにあたり、走行領域内経路作成部553は、障害物の存在などを考慮して、矩形領域RA1内に作成された矩形領域内経路の終点である終点セルECと、矩形領域RA2及び矩形領域RA3の四隅に対応する有効セルのそれぞれとの間に接続経路を計画する。
 走行領域内経路作成部553は、計画された接続経路のうち、最短の接続経路にて矩形領域RA1の終点セルECと接続する有効セルを次の矩形領域についての始点セルSCと決定する。図19に示す例では、矩形領域RA1の終点セルECに隣接し矩形領域RA3に含まれる有効セルを始点セルSCと決定できる。すなわち、矩形領域RA3を、次に自律走行装置100を走行させる矩形領域と決定できる。
 図19は、次に走行すべき矩形領域の決定方法の一例を模式的に示す図である。
 このように、自律走行装置100が次に走行すべき矩形領域RA2、RA3として複数の矩形領域RA2、RA3が候補として存在する場合に、複数の矩形領域RA2、RA3の候補のうち、矩形領域RA1の終点セルECと最短距離にて接続される始点セルSCを有する矩形領域RA3を、次に走行すべき矩形領域と決定することにより、最短距離である走行効率がよい走行領域内経路を作成できる。
 上記のようにして次に走行すべき矩形領域を決定後、走行領域内経路作成部553は、矩形領域RA1の終点セルEC1と、当該次に走行すべきと決定した矩形領域RA3の始点セルSCとを、上記にて計画した接続経路にて接続する(ステップS48)。
 その後、矩形領域RA3において矩形領域内経路が作成される。
 その後、矩形領域内経路が全ての矩形領域RA1~RA3において作成されるまで、上記のステップS45(ステップS451~S454)~S48が繰り返し実行される。その結果、図12などにて示した走行領域TAに対して、最終的に図20の太矢印にて示すような、設定された走行領域TA内を自律走行装置100がまんべんなく走行する走行領域内経路が作成される。
 図20は、走行領域内経路の一例を示す図である。
 走行領域内経路を作成後、走行領域内経路作成部553は、作成した走行領域内経路を、自律走行装置100が通過する通過点の集合に変換する。その後、走行領域内経路作成部553は、走行領域内経路を変換して生成した各通過点に対して当該通過点を通過する時間を関連付け、さらに、必要に応じて、各通過点における清掃条件を対応する通過点に関連付けることで、図21に示すような走行スケジュール500を作成する。
 図21は、走行スケジュールの一例を示す図である。
 図21に示す走行スケジュール500において、T、T、・・・Tは、走行経路内経路の各通過点を通過する時間である。(x,y)、(x,y)、・・・(x,y)は、走行経路内経路の各通過点の座標値である。θ、θ、・・・θは、走行経路内経路の各通過点における自律走行装置100の姿勢である。
 走行スケジュール500において、S、S、・・・Sは、走行経路内経路の各通過点における洗浄液の供給量である。W、W、・・・Wは、走行経路内経路の各通過点における床面Fの洗浄力である。P、P、・・・Pは、走行経路内経路の各通過点における吸引口O2の吸引力である。
 手動操作教示モードにおいて、上記のステップS41~S48(及び、ステップS451~S454)を実行することにより、走行環境を表すグローバルマップ上において走行領域TAを指定するとの容易な方法により、自律走行装置100が走行領域TAをまんべんなく走行できる走行経路、すなわち、走行領域内経路を精度よく作成できる。
(5-3)自律走行モードの動作
 次に、図7のステップS2において実行される、手動操作教示モードにおいて作成された走行領域内経路を再現する自律走行モードの実行時における自律走行装置100の動作について、図22を用いて説明する。図22は、自律走行モードの実行時の自律走行装置の動作を示すフローチャートである。
 切替部91において「自動」が選択されて自律走行モードを実行すると決定すると、自律走行装置100は、走行スケジュール500に従って自律的に走行する自律走行モードを開始する。自律走行モードは、具体的には、以下のようにして実行される。
 以下の説明においては、自律走行モードの実行開始からの経過時間tm-1までの走行が実行済みであるとする。ここで、mは、m番目の走行のための制御を示す。まず、SLAM部555が、前方検出器5551a及び後方検出器5551bから、前方の障害物に関する情報及び後方の障害物に関する情報を取得する(ステップS21)。
 その後、位置推定部5555が、エンコーダ111にて測定された走行モータ11の回転量、グローバルマップ、及び上記のステップS21において取得された情報に基づいて得られたローカルマップに基づいて、走行部1のx-y座標上の位置を推定する(ステップS22)。例えば、自律走行装置100の位置が、x-y座標上において、(x’,y’、θ’)と推定されたとする。
 走行部1の位置を推定後、経過時間決定部5557が、自律走行モードの実行開始からの経過時間tを決定し(ステップS23)、走行再現部557が、経過時間tにおける再現走行制御指令を、以下のように算出する(ステップS24)。
 今、経過時間tが、走行スケジュール500に記憶された時間T(に最も近い)であると決定されたとする。この場合、走行再現部557は、次の時間TL+1に関連付けられた位置情報(xL+1,yL+1,θL+1)を、走行スケジュール500から読み出し、経過時間tにおける再現走行制御指令を、推定された位置情報と目標とする位置情報との差分(xL+1-x’,yL+1-y’,θL+1-θ’)に基づいて算出する。
 再現走行制御指令を算出後、走行再現部557は、再現走行制御指令を走行制御部53に出力する(ステップS25)。これにより、走行制御部53は、受信した再現走行制御指令に基づいて走行モータ11を制御することで、走行部1を走行スケジュール500に従って自律的に移動させる。
 他の実施形態において、走行スケジュール500に清掃条件が関連付けられている場合には、上記のステップS24~S25において、走行再現部557は、再現清掃条件を算出し、当該再現清掃条件に基づいて清掃制御部51を制御してもよい。
 具体的には、走行再現部557は、時間Tに関連付けられた清掃条件(S,W,P)を走行スケジュール500から読み出し、当該清掃条件(S,W,P)を経過時間tにおける再現清掃条件として決定する。その後、走行再現部557は、再現清掃条件を清掃制御部51に出力する。これにより、再現清掃条件に従って、清掃部3を制御できる。
 走行部1を再現走行制御指令に基づいて制御後、走行再現部557は、走行スケジュール500に記憶された走行動作を全て実行したかどうかを確認する(ステップS26)。
 走行スケジュール500に記憶された走行動作が全て終了したかどうかは、例えば、走行スケジュール500の末尾にある識別子(例えば、「エンド・オブ・ファイル」を示す識別子など)を検出することにより確認できる。
 走行スケジュール500に記憶された走行動作が全て実行されていないと判定される限り(ステップS26において「No」である限り)、上記のステップS21~S25が繰り返し実行される。
 一方、走行スケジュール500に記憶された全ての走行動作が実行されたと判定されたとき、すなわち、自律走行装置100が走行領域内経路を全て走行したと判定されたとき(ステップS26において「Yes」の場合)に、自律走行モードの実行を終了する。
 これにより、自律走行装置100は、走行スケジュール500に記憶された走行動作を忠実に再現して、設定された走行領域内を自律的にまんべんなく走行できる。
 他の実施形態において、走行スケジュール500に記憶された走行動作を全て実行した場合のみでなく、例えば、自律走行装置100にて異常が発生した場合、ユーザにより自律走行モードの実行停止が指令された場合などにおいても、自律走行モードの実行が停止されてもよい。
2.第2実施形態
(1)第2実施形態の概要
 上記の第1実施形態においては、走行スケジュール500として一度作成された走行領域内経路は、変更されることはなかった。これにより、自律走行装置100は、同じ走行領域内経路を自律的に再現走行できる。
 ただし、例えば柔らかい表面(例えば、地表面)などを自律走行装置100が走行すると、同一の走行経路を繰り返し走行するために、走行部1の主輪13により当該同一の走行経路の轍が柔らかい表面にできることがある。
 従って、第2実施形態に係る自律走行装置100においては、同一の走行経路を走行することによって轍ができることを回避するために、自律走行モードの実行毎、又は、自律走行モードを所定の回数実行する毎に、自律走行装置100が走行する経路を自律的に変更する。
 第2実施形態に係る自律走行装置100においては、自律走行モードの実行毎、又は、所定の回数実行する毎に、走行経路を変更すること以外は、第1実施形態に係る自律走行装置100と同じ構成及び機能を有する。従って、以下においては、自律走行モードの実行毎、又は、所定の回数実行する毎に、どのように走行経路を変更するかについてのみを説明し、自律走行装置100の構成要素及びその機能などの説明は省略する。
(2)走行経路の変更方法
 以下、一度作成された走行領域内経路を変更する方法について、図23を用いて説明する。図23は、走行領域内経路を変更する方法を示すフローチャートである。以下の説明では、図24に示すように、セルが配置されたx-y座標平面上に配置され、主方向がy軸方向に延びる矩形領域RA4に作成された矩形領域内経路を変更する実施例について説明する。
 図24は、変更前の走行領域内経路の一例を示す図である。
 以下に説明する矩形領域内経路の変更は、自律走行モードが開始されてから自律走行装置100が走行開始するまでの間に実行されてもよいし、手動操作教示モードの実行時に複数回実行され、作成された矩形領域内経路毎に走行スケジュール500として記憶されてもよい。
 矩形領域内経路の変更を開始すると、走行領域内経路作成部553は、例えば座標の回転を表す数式などを用いて、矩形領域RA4を所定の角度だけ回転して回転矩形領域RA4’を作成する(ステップS201)。
 ステップS201を実行することにより、例えば、図25の太実線に示すような回転矩形領域RA4’が、x-y座標平面上に作成される。図25は、回転矩形領域の一例を示す図である。
 上記の矩形領域(あるいは、回転矩形領域)を回転させる所定の角度は、矩形領域内経路(回転矩形領域内経路)の作成毎に変化させる。これにより、矩形領域内経路(回転矩形領域内経路)の変更毎に、異なる走行経路を作成できる。
 次に、走行領域内経路作成部553は、回転矩形領域RA4’に含まれるセルにスコアを付与する(ステップS202)。
 本実施形態において、走行領域内経路作成部553は、回転矩形領域RA4’に含まれるセルのうち、x軸方向に配置されるセルについては始点セルSCから離れるほど高いスコアを付与すると決定する。一方、y軸方向に配置されるセルについては同一のスコアを付与すると決定する。
 その結果、走行領域内経路作成部553は、例えば、回転矩形領域RA4’内に含まれるセルに対して、図26に示すようなスコアを付与する。図26は、回転矩形領域に含まれるセルに付与したスコアの一例を示す図である。
 次に、走行領域内経路作成部553は、始点セルSCから各セルへと経路を延ばしていく(ステップS203)。具体的には、走行領域内経路作成部553は、例えば、以下の条件(i)~(iv)に従って経路を延ばしていく。
(i)x軸方向又はy軸方向に隣接するセルのうち、最高のスコアが付与されたセルへ経路を延ばす。
(ii)経路が複数方向に延びることができるときは延びが最短の方向に延ばす。
(iii)y軸の負方向に同一スコアのセルがある場合には当該セルに経路を延ばす。
(iv)経路がすでに延びたセルに対しては、当該セルを再度通過しないと経路が計画できないなど特別な事情がない限り、再度経路を延ばさない。
 回転矩形領域RA4’内の全てのセルを経路が通過するまで(ステップS204において「Yes」となるまで)、走行領域内経路作成部553は、上記の条件に従ってセル間に経路を延ばす。
 上記のステップS201~S204を実行することにより、図25などに示した回転矩形領域RA4’に対しては、図27の太矢印にて示すような、回転前の矩形領域RA4に対して作成されていた矩形領域内経路とは異なる回転矩形領域内経路が作成される。
 図27は、回転矩形領域内経路の一例を示す図である。
 図27に示すように、回転矩形領域内経路は、y軸方向(走行環境の第1方向の一例)に延びる経路(第3経路の一例)と、x軸方向(第1方向に対して垂直な第2方向の一例)に延びる経路(第4経路の一例)と、を組み合わせることにより作成されている。すなわち、回転矩形領域内経路は、自律走行装置100の直進に対応する直進経路と、自律走行装置100の右折又は左折に対応する方向転換経路(第3経路と第4経路を組み合わせて形成される)と、を組み合わせることにより作成されている。
 これにより、回転矩形領域RA4’をまんべんなく通過する回転矩形領域内経路を、自律走行装置100の直進と方向転換との単純な動作の組み合わせにより簡単に作成できる。
3.他の実施形態
 以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。また、上記の第1実施形態においてフローチャートにて示した各処理の内容、処理の順番等は、発明の要旨を逸脱しない範囲で変更できる。また、必要に応じてフローチャートにて示した処理のいずれかを省略できる。
 (A)自律走行装置100は、自律的に清掃作業を実行する清掃機以外の走行装置であってもよい。例えば、自律走行装置100は、宣伝用ロボットであってもよい。その他、自律走行装置100は、自律的に走行するための走行部(とそれを制御する制御部)のみにて構成されていてもよい。この場合は、例えば、当該自律走行装置と、所望の機能を発揮するためのロボットシステムと、を組み合わせて、所望の機能を有するロボット(装置)を構成できる。
 自律走行装置100が清掃作業を自律的に行う装置以外である場合には、走行スケジュール500には、清掃条件が記憶されない。または、清掃条件の代えて、自律走行装置100の用途に応じた制御に関する情報が記憶されていてもよい。
 (B)位置推定部5555は、前方検出器5551a、後方検出器5551bから得られた情報のみを用いて、レーザーオドメトリによる位置推定により走行部1の位置推定を実行してもよい。レーザオドメトリによる位置推定方法としては、例えば、ICP(Iterative Closest Point)法などがある。
 (C)例えば、床面Fと主輪13との間の滑りが少ない場合、前方検出器5551a及び後方検出器5551bにより得られる情報から十分な地図情報が得られない場合などには、位置推定部5555は、走行モータ11の回転量のみに基づいて、走行部1の位置推定を行ってもよい。
 (D)第1実施形態においては、主方向がx軸方向又はy軸方向に対して平行な矩形領域RA1~RA3のみが存在していた。例えば、第1実施形態において、主方向がx軸方向にもy軸方向にも平行ではない矩形領域が作成された場合には、以下のようにして当該矩形領域内の有効セルにスコアを付与し、第1実施形態及び第2実施形態において説明した条件に従って経路を延ばすことにより矩形領域内経路を作成できる。
 まず、走行領域内経路作成部553は、当該矩形領域の主方向(すなわち、長手方向)のx軸方向成分及びy軸方向成分のいずれが長いかを決定する。主方向のy軸方向成分の方が長い場合には、当該矩形領域に含まれるセルのうち、x軸方向に配置されるセルについては始点セルSCから離れるほど高いスコアを付与する。一方、y軸方向に配置されるセルについては同一のスコアを付与する。
 一方、主方向のx軸方向成分の方が長い場合には、当該矩形領域に含まれるセルのうち、y軸方向に配置されるセルについては始点セルSCから離れるほど高いスコアを付与し、x軸方向に配置されるセルについては同一のスコアを付与する。
 本発明は、移動開始位置から移動終了位置までの経路計画に従って自律的に走行する自律走行装置に、広く適用できる。
100 自律走行装置
1     走行部
11   走行モータ
111 エンコーダ
13   主輪
15   補助輪
3     清掃部
31   洗浄液吐出口
311 洗浄液供給タンク
313 洗浄液供給ポンプ
33   スキージ
331 吸引モータ
333 回収部材
35   洗浄用部材
351 洗浄用部材回転モータ
5     制御部
51   清掃制御部
53   走行制御部
531 走行切替部
533 モータ制御部
55   制御統括部
551 走行領域取得部
553 走行領域内経路作成部
555 SLAM部
5551a    前方検出器
5551b    後方検出器
5553      地図作成部
5555      位置推定部
5557      経過時間決定部
557 走行再現部
57   記憶部
7     走行経路教示部
71a、71bハンドル
73   筐体
75   走行制御指令算出部
8     取付部材
9     設定部
91   切替部
92   手動操作記憶スイッチ
93   設定操作部
94   設定変換部
95   ディスプレイ
96   清掃条件教示部
97   清掃制御指令算出部
B     本体
F     床面
O2   吸引口
500 走行スケジュール
EC、EC1  終点セル
RA   矩形領域
RA1~RA4矩形領域
RA4'       回転矩形領域
SC   始点セル
ST   開始点
TA   走行領域

Claims (8)

  1.  走行環境を自律的に走行する自律走行装置の走行経路作成方法であって、
     前記走行環境を表す環境地図を複数のセルの集合体として作成するステップと、
     前記走行環境において前記自律走行装置が走行する領域を表す走行領域を、前記環境地図上に画定するステップと、
     前記走行領域を矩形領域に分割するステップと、
     各矩形領域内おける前記自律走行装置の走行経路である矩形領域内経路の始点である始点セルを決定するステップと、
     前記自律走行装置の直進に対応する直進経路と、前記自律走行装置の右折又は左折に対応する方向転換経路と、を組み合わせることにより、前記始点セルから開始し前記矩形領域に含まれる全ての前記セルを通過する走行経路を前記矩形領域内経路として作成するステップと、
     前記矩形領域内経路の終点に対応する終点セルと、当該矩形領域内経路を作成した前記矩形領域に隣接し次に走行すべき矩形領域内の前記始点セルと、を接続経路にて接続することで、前記走行領域内の前記自律走行装置の走行経路である走行領域内経路を作成するステップと、
     を含む走行経路作成方法。
  2.  前記矩形領域内経路を作成するステップは、
     前記矩形領域の長手方向である主方向を決定するステップと、
     前記主方向に延びる第1経路と、前記主方向に対して垂直な方向に延びる第2経路と、を組み合わせることにより前記矩形領域内経路を作成するステップと、
     を含む、請求項1に記載の走行経路作成方法。
  3.  前記始点セルから延びる経路は、前記矩形領域の長手方向に対して垂直な方向に延びる経路である、請求項1又は2に記載の走行経路作成方法。
  4.  前記矩形領域を所定の角度だけ回転して回転矩形領域を作成するステップと、
     前記直進経路と前記方向転換経路とを組み合わせることにより、前記回転矩形領域に含まれる全ての前記セルを通過する回転矩形領域内経路を作成するステップと、
     をさらに含む、請求項1に記載の走行経路作成方法。
  5.  前記回転矩形領域内経路を作成するステップは、
     前記走行環境の第1方向に延びる第3経路と、前記第1方向に対して垂直な第2方向に延びる第4経路と、を組み合わせることにより、前記回転矩形領域内経路を作成するステップ、
     を含む、請求項4に記載の走行経路作成方法。
  6.  前記終点セルと前記始点セルとを接続するステップにおいて、前記次に走行すべき矩形領域として複数の矩形領域が候補として存在する場合には、当該複数の矩形領域の候補のうち、前記終点セルと最短距離にて接続される前記始点セルを有する矩形領域を、前記次に走行すべき矩形領域と決定する、
     請求項1~5のいずれかに記載の走行経路作成方法。
  7.  走行部と、
     請求項1~6のいずれかに記載の走行経路作成方法にて作成した前記走行領域内経路に基づいて、前記走行部を制御する制御部と、
     を備える自律走行装置。
  8.  請求項1~6のいずれかに記載の走行経路作成方法をコンピュータに実行させるためのプログラム。
PCT/JP2017/029788 2016-08-31 2017-08-21 走行経路作成方法、自律走行装置、及びプログラム WO2018043180A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018537141A JP6673486B2 (ja) 2016-08-31 2017-08-21 走行経路作成方法、自律走行装置、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-169668 2016-08-31
JP2016169668 2016-08-31

Publications (1)

Publication Number Publication Date
WO2018043180A1 true WO2018043180A1 (ja) 2018-03-08

Family

ID=61300558

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/JP2017/028440 WO2018043033A1 (ja) 2016-08-31 2017-08-04 自律走行式床洗浄機
PCT/JP2017/029438 WO2018043128A1 (ja) 2016-08-31 2017-08-16 自律走行装置
PCT/JP2017/029788 WO2018043180A1 (ja) 2016-08-31 2017-08-21 走行経路作成方法、自律走行装置、及びプログラム

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PCT/JP2017/028440 WO2018043033A1 (ja) 2016-08-31 2017-08-04 自律走行式床洗浄機
PCT/JP2017/029438 WO2018043128A1 (ja) 2016-08-31 2017-08-16 自律走行装置

Country Status (5)

Country Link
US (1) US10980387B2 (ja)
EP (1) EP3508104B1 (ja)
JP (3) JP6711405B2 (ja)
CN (1) CN109640775B (ja)
WO (3) WO2018043033A1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020009414A (ja) * 2018-06-28 2020-01-16 パナソニックIpマネジメント株式会社 移動ロボット、及び、制御方法
WO2020116948A1 (en) * 2018-12-06 2020-06-11 Samsung Electronics Co., Ltd. Robot vacuum cleaner and cleaning route planning method thereof
JP2020154719A (ja) * 2019-03-20 2020-09-24 村田機械株式会社 自律走行台車、及び、制御方法
JP2020160056A (ja) * 2019-03-22 2020-10-01 株式会社安藤・間 移動式ひび割れ検出装置、及びひび割れ検出方法
WO2021106331A1 (ja) 2019-11-25 2021-06-03 村田機械株式会社 自律走行台車、制御方法、及び、プログラム
JP2022060311A (ja) * 2019-12-05 2022-04-14 オムロン株式会社 自律走行システム、自律走行方法、及び自律走行プログラム
JP2022540160A (ja) * 2019-07-11 2022-09-14 エルジー エレクトロニクス インコーポレイティド 人工知能を利用した移動ロボット及び移動ロボットの制御方法
WO2023089886A1 (ja) * 2021-11-18 2023-05-25 パナソニックIpマネジメント株式会社 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム
US11674809B2 (en) 2019-07-05 2023-06-13 Lg Electronics Inc. Moving robot and control method thereof
WO2023157345A1 (ja) * 2022-02-21 2023-08-24 パナソニックIpマネジメント株式会社 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム
US11774976B2 (en) 2019-07-05 2023-10-03 Lg Electronics Inc. Moving robot and control method thereof
US11774982B2 (en) 2019-07-11 2023-10-03 Lg Electronics Inc. Moving robot and control method thereof

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3439522B1 (en) * 2016-04-08 2023-06-07 A&K Robotics Inc. Autoscrubber convertible between manual and autonomous operation
JP7063738B2 (ja) * 2018-06-14 2022-05-09 東芝ライフスタイル株式会社 自律走行式掃除機および掃除システム
CN110568848B (zh) * 2019-09-10 2022-09-23 东风商用车有限公司 清扫车的示教自动驾驶作业系统
TWI716127B (zh) * 2019-10-01 2021-01-11 東元電機股份有限公司 機器人及其路徑插值規劃命令產生系統
CN112621739B (zh) * 2019-10-08 2022-03-15 东元电机股份有限公司 机器人及其路径插值规划命令产生系统
KR20210123932A (ko) * 2020-04-06 2021-10-14 엘지전자 주식회사 로봇청소기 및 그 제어방법
US20220233046A1 (en) * 2021-01-22 2022-07-28 John Mortensen Robotic mop
CN113616117B (zh) * 2021-08-13 2022-08-16 珠海格力电器股份有限公司 清扫区域确定方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816241A (ja) * 1994-07-01 1996-01-19 Minolta Co Ltd マップ記憶方法及びそのマップを使用する経路作成方法
WO2003040846A1 (en) * 2001-11-03 2003-05-15 Dyson Ltd An autonomous machine
JP2009165823A (ja) * 2008-01-11 2009-07-30 Samsung Electronics Co Ltd 移動ロボットの経路計画方法および装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08326025A (ja) * 1995-05-31 1996-12-10 Tokico Ltd 清掃ロボット
JP2005078415A (ja) * 2003-09-01 2005-03-24 Fuji Heavy Ind Ltd 走行経路生成方法、走行経路生成装置およびコンピュータプログラム
JP4264009B2 (ja) * 2004-01-23 2009-05-13 シャープ株式会社 自走式掃除機
JP2007004434A (ja) * 2005-06-23 2007-01-11 Yoichiro Sawa 移動ロボットシステム
DE102009052629A1 (de) * 2009-11-10 2011-05-12 Vorwerk & Co. Interholding Gmbh Verfahren zur Steuerung eines Roboters
JP5759810B2 (ja) * 2011-07-08 2015-08-05 アマノ株式会社 床面洗浄機
JP6227948B2 (ja) * 2013-09-18 2017-11-08 村田機械株式会社 自律走行式床洗浄機、清掃スケジュールのデータ構造、記憶媒体、清掃スケジュールの生成方法、及びプログラム
EP3094228A1 (en) * 2014-01-13 2016-11-23 Tennant Company Water recycling system for mobile surface cleaners
JP5676039B1 (ja) * 2014-05-28 2015-02-25 シャープ株式会社 自走式装置、自走式装置の制御方法、および、自走式装置の制御プログラム
JP6564725B2 (ja) * 2016-03-18 2019-08-21 ヤンマー株式会社 走行指示装置
US20170329347A1 (en) * 2016-05-11 2017-11-16 Brain Corporation Systems and methods for training a robot to autonomously travel a route

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816241A (ja) * 1994-07-01 1996-01-19 Minolta Co Ltd マップ記憶方法及びそのマップを使用する経路作成方法
WO2003040846A1 (en) * 2001-11-03 2003-05-15 Dyson Ltd An autonomous machine
JP2009165823A (ja) * 2008-01-11 2009-07-30 Samsung Electronics Co Ltd 移動ロボットの経路計画方法および装置

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020009414A (ja) * 2018-06-28 2020-01-16 パナソニックIpマネジメント株式会社 移動ロボット、及び、制御方法
US11977161B2 (en) 2018-06-28 2024-05-07 Panasonic Intellectual Property Management Co., Ltd. Mobile robot and control method
JP7262076B2 (ja) 2018-06-28 2023-04-21 パナソニックIpマネジメント株式会社 移動ロボット、及び、制御方法
WO2020116948A1 (en) * 2018-12-06 2020-06-11 Samsung Electronics Co., Ltd. Robot vacuum cleaner and cleaning route planning method thereof
KR102616863B1 (ko) * 2018-12-06 2023-12-21 삼성전자주식회사 로봇 청소기 및 로봇 청소기의 청소 경로 계획 방법
CN113164000B (zh) * 2018-12-06 2022-09-27 三星电子株式会社 机器人真空吸尘器及其清洁路线规划方法
US11647885B2 (en) 2018-12-06 2023-05-16 Samsung Electronics Co., Ltd. Robot vacuum cleaner and cleaning route planning method thereof
CN113164000A (zh) * 2018-12-06 2021-07-23 三星电子株式会社 机器人真空吸尘器及其清洁路线规划方法
KR20220031587A (ko) * 2018-12-06 2022-03-11 삼성전자주식회사 로봇 청소기 및 로봇 청소기의 청소 경로 계획 방법
JP2020154719A (ja) * 2019-03-20 2020-09-24 村田機械株式会社 自律走行台車、及び、制御方法
JP2020160056A (ja) * 2019-03-22 2020-10-01 株式会社安藤・間 移動式ひび割れ検出装置、及びひび割れ検出方法
JP7441067B2 (ja) 2019-03-22 2024-02-29 株式会社安藤・間 移動式ひび割れ検出装置、及びひび割れ検出方法
US11774976B2 (en) 2019-07-05 2023-10-03 Lg Electronics Inc. Moving robot and control method thereof
US11674809B2 (en) 2019-07-05 2023-06-13 Lg Electronics Inc. Moving robot and control method thereof
US11774982B2 (en) 2019-07-11 2023-10-03 Lg Electronics Inc. Moving robot and control method thereof
JP7365486B2 (ja) 2019-07-11 2023-10-19 エルジー エレクトロニクス インコーポレイティド 人工知能を利用した移動ロボット及び移動ロボットの制御方法
US11700989B2 (en) 2019-07-11 2023-07-18 Lg Electronics Inc. Mobile robot using artificial intelligence and controlling method thereof
JP2022540160A (ja) * 2019-07-11 2022-09-14 エルジー エレクトロニクス インコーポレイティド 人工知能を利用した移動ロボット及び移動ロボットの制御方法
JP7272461B2 (ja) 2019-11-25 2023-05-12 村田機械株式会社 自律走行台車、制御方法、及び、プログラム
JPWO2021106331A1 (ja) * 2019-11-25 2021-06-03
WO2021106331A1 (ja) 2019-11-25 2021-06-03 村田機械株式会社 自律走行台車、制御方法、及び、プログラム
JP7342985B2 (ja) 2019-12-05 2023-09-12 オムロン株式会社 自律走行システム、自律走行方法、及び自律走行プログラム
JP2022060311A (ja) * 2019-12-05 2022-04-14 オムロン株式会社 自律走行システム、自律走行方法、及び自律走行プログラム
WO2023089886A1 (ja) * 2021-11-18 2023-05-25 パナソニックIpマネジメント株式会社 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム
WO2023157345A1 (ja) * 2022-02-21 2023-08-24 パナソニックIpマネジメント株式会社 走行用地図作成装置、自律走行型ロボット、走行用地図作成方法、及び、プログラム

Also Published As

Publication number Publication date
US20190208978A1 (en) 2019-07-11
CN109640775B (zh) 2021-03-30
JPWO2018043033A1 (ja) 2019-06-24
JPWO2018043180A1 (ja) 2019-06-24
EP3508104A1 (en) 2019-07-10
EP3508104A4 (en) 2020-06-17
WO2018043033A1 (ja) 2018-03-08
JPWO2018043128A1 (ja) 2019-06-24
JP6610797B2 (ja) 2019-11-27
EP3508104B1 (en) 2021-07-21
JP6673486B2 (ja) 2020-03-25
US10980387B2 (en) 2021-04-20
JP6711405B2 (ja) 2020-06-17
CN109640775A (zh) 2019-04-16
WO2018043128A1 (ja) 2018-03-08

Similar Documents

Publication Publication Date Title
WO2018043180A1 (ja) 走行経路作成方法、自律走行装置、及びプログラム
US9931010B2 (en) Autonomously traveling floor washer, cleaning schedule data structure, storage medium, method for creating cleaning schedule, and program
JP6772604B2 (ja) 移動経路作成方法、及び、移動経路作成装置
JP2017211825A (ja) 自己位置推定装置、及び、自己位置推定方法
US20170168492A1 (en) Autonomous travel vehicle and reproduction travel method
JP2017182175A (ja) 自律走行装置及びその開始位置判定プログラム
JP2015111336A (ja) 移動ロボット
JP7459497B2 (ja) 経路計画装置、経路計画方法及び自律走行台車
JP2007249631A (ja) 折線追従移動ロボットおよび折線追従移動ロボットの制御方法
JP2018022215A (ja) 移動教示装置、及び、移動教示方法
JP7272461B2 (ja) 自律走行台車、制御方法、及び、プログラム
WO2022054647A1 (ja) 走行領域決定方法及び自律走行体
WO2022065297A1 (ja) 自律走行経路計画方法
US20230397789A1 (en) Autonomous travel path planning method
WO2022038823A1 (ja) 自律走行経路計画方法、自律走行方法、及び、プログラム
WO2022097342A1 (ja) 自律走行体の走行教示記憶方法、自律走行体、記録媒体
KR101634519B1 (ko) 로봇 청소기 및 이의 제어 방법
KR20160059473A (ko) 로봇 청소기 및 이의 제어 방법
CN116974269A (zh) 多足机器人的行走控制方法、设备及存储介质
KR20160058076A (ko) 로봇 청소기 및 이의 제어 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018537141

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17846188

Country of ref document: EP

Kind code of ref document: A1