Autonomous Movement Device, Autonomous Movement Method, And Program

An autonomous movement device includes a sensor to detect a surrounding object, driven wheels, and a processor. The processor acquires teaching control data, generates route data of a surrounding environment based on a point cloud detected by the sensor while controlling the driven wheels in accordance with the acquired teaching control data, and memorizes a movement path along which the autonomous movement device moves in the generated route data.

FIELD OF THE INVENTION

The present disclosure relates to an autonomous movement device, an autonomous movement method, and a program.

BACKGROUND OF THE INVENTION

Conventionally, mobile robots have been used for article transportation in factories, guidance of persons in facilities, and the like. As a method for setting a movement path for such a mobile robot, a method in which a person teaches a movement path to the mobile robot has been used. For example, in Patent Literature 1, a movement path from a start point to a destination is set by causing the mobile robot to detect a person and follow the person until reaching the destination.

CITATION LIST

Patent Literature

Patent Literature 1: Unexamined Japanese Patent Application Publication No. 2008-84135.

SUMMARY OF THE INVENTION

Technical Problem

Although the mobile robot described in Patent Literature 1 is capable of setting a route by following a person, the routes that can be set include only a one-way route from a start point to a destination at the time of route setting. In order for the mobile robot to, for example, return from the destination to the start point, the mobile robot is required to be taught a return route by a person again.

The present disclosure has been made in consideration of the above-described situation, and an objective of the present disclosure is to provide an autonomous movement device and the like that are capable of using a taught route also in the opposite direction to the direction of movement at the time when the route was taught.

Solution to Problem

In order to achieve the above-described objective, an autonomous movement device according to a first aspect of the present disclosure includes:detection means for detecting a surrounding object;movement means; andcontrol means,in which the control meansacquires teaching control data,generates route data of a surrounding environment based on a point cloud detected by the detection means while controlling the movement means in accordance with the acquired teaching control data, and data.memorizes a movement path, based on the generated route data.

The control means may,recognize a following target from among objects detected by the detection means, andacquire data for controlling the movement means to cause the autonomous movement device to follow the recognized following target as the teaching control data.

The control means may,generate route data of a surrounding environment based on a point cloud detected by the detection means while controlling the movement means to cause the autonomous movement device to follow the recognized following target,memorize a movement path along which the movement means moves in the generated route data, andcontrol the movement means to cause the autonomous movement device to move along the memorized movement path, andthe memorized movement path may include a movement path in a direction other than a direction of movement at a time when the autonomous movement device followed the following target.

The autonomous movement device further includes operation acquisition means for acquiring a user operation,in which the control means may acquire the teaching control data by the operation acquisition means.

The movement means may,at a time of controlling the movement means in accordance with the acquired teaching control data, perform control in such a way as to prevent the autonomous movement device from moving backward.

The control means may,register a first point based on input of an instruction to start teaching, generate route data of a surrounding environment based on a point cloud detected by the detection means while controlling the movement means in accordance with the acquired teaching control data, and memorize a movement path along which the movement means moves in the generated route data,register a second point based on input of an instruction to end teaching and terminates teaching,record a movement path from the first point to the second point as a first teaching route,generate a movement path from a predetermined point existing on the first teaching route to the first point or the second point, andcontrol the movement means to cause the autonomous movement device to move along the generated movement path.

The control means may,by using the first teaching route in a backward direction, generate a movement path from the second point to the first point.

The control means may,on the first teaching route, register a third point based on an instruction to start teaching, generate route data of a surrounding environment based on a point cloud detected by the detection means while controlling the movement means in accordance with the acquired teaching control data, and memorize a movement path along which the movement means moves in the generated route data,register a fourth point based on an instruction to end teaching and terminate teaching,record a movement path from the third point to the fourth point as a second teaching route, andby using the first teaching route and the second teaching route, generate a movement path from a predetermined point existing on the first teaching route or the second teaching route to a point selected from among the first point, the second point, the third point, and the fourth point.

The control means may,in a case of generating a movement path in an opposite direction to a direction of movement at a time of having controlled the movement means in accordance with the teaching control data,convert data relating to a location of an object detected by the detection means to data in a case of detecting the object in a backward direction, andbased on the converted data, control the movement means to cause the autonomous movement device to move along the generated movement path.

The control means mayrecognize an obstacle from among objects detected by the detection means, andwhen the recognized obstacle is avoidable, control the movement means to cause the autonomous movement device to deviate from the movement path in order to avoid the obstacle and, after avoiding the obstacle, return to the movement path.

The detection means may detect a retro reflective material installed in surroundings, andthe control means mayrecord information about a retro reflective material detected by the detection means in the route data while controlling the movement means in accordance with the teaching control data, andcorrect a location and direction of the autonomous movement device by comparing information about a retro reflective material detected by the detection means with information about a retro reflective material recorded in the route data while the autonomous movement device moves along the movement path.

The control means maycorrect the route data by comparing data relating to a location of a surrounding object detected by the detection means with the route data while the autonomous movement device moves along the movement path.

The control means maymemorize a temporary stop position and a temporary stop time at a time of controlling the movement means in accordance with the teaching control data, andwhen the autonomous movement device moves along the memorized movement path, the autonomous movement device may stop at the temporary stop position for the temporary stop time.

The control means maymemorize an output position at which a control signal to a predetermined device is output at a time of controlling the movement means in accordance with the teaching control data, andwhen the autonomous movement device moves along the memorized movement path, output the control signal to the predetermined device at the output position.

The control means maymemorize a control velocity or a velocity mode at a time of controlling the movement means in accordance with the teaching control data, andwhen the autonomous movement device moves along the memorized movement path, control the movement means to control movement velocity based on the memorized control velocity or velocity mode.

In addition, an autonomous movement method according to a second aspect of the present disclosure includes:a teaching control data acquisition step of acquiring teaching control data;a route generation step of generating route data of a surrounding environment based on a point cloud detected by detection means while controlling movement means in accordance with the acquired teaching-control-data; anda movement path storage step of storing a movement path along which the movement means moves in the generated route data.

In addition, a program according to a third aspect of the present disclosure causes a computer to execute:a teaching control data acquisition step of acquiring teaching control data;a route generation step of generating route data of a surrounding environment based on a point cloud detected by detection means while controlling movement means in accordance with the acquired teaching control data; anda movement path storage step of storing a movement path along which the movement means moves in the generated route data.

Advantageous Effects of Invention

The present disclosure enables a taught route to be used also in the opposite direction to the direction of movement at the time when the route was taught.

DETAILED DESCRIPTION OF THE INVENTION

An autonomous movement device according to an embodiment of the present disclosure is described below with reference to the drawings. Note that, in the drawings, the same or equivalent constituent elements are designated by the same reference numerals.

The autonomous movement device according to the embodiment of the present disclosure is a device that is taught a movement path and autonomously moves based on the taught movement path. An example of a functional configuration and an example of an external appearance of an autonomous movement device100according to Embodiment 1 are illustrated inFIGS.1and2, respectively.

As illustrated inFIG.1, the autonomous movement device100includes a processor10, a storage20, a sensor31, an operation acquirer32, and driven wheels40.

The processor10includes a central processing unit (CPU) and the like and achieves functions of respective units (a surrounding information acquirer11, a route generator12, a movement path generator13, a surrounding information converter14, and a movement controller15), which are described later, by executing programs memorized in the storage20. The processor10also includes a clock (not illustrated) and is capable of acquiring a current date and time and counting elapsed time. The processor10functions as control means.

The storage20includes a read only memory (ROM), a random access memory (RAM), and the like, and a portion or all of the ROM is constituted by an electrically rewritable memory (a flash memory or the like). In the ROM, programs that the CPU of the processor10executes and data that are required in advance for the CPU to execute the programs are memorized. In the RAM, data that are generated or changed during execution of programs are memorized. The storage20functions as storage means. The storage20also includes a point storage21and a route storage22, which are described later, as functional constituent elements.

The sensor31includes a scanner-type LiDER (Light Detection and Ranging) and the like serving as sensing devices and detects objects, such as a person, a wall, an obstacle, and a retro reflective material, that exist in the surroundings of the autonomous movement device100(in the present embodiment, in the right, left, and front directions of the autonomous movement device100) as a group of points (point cloud). The sensor31radiates a laser312from a light emitter that is disposed inside an optical window311, as illustrated inFIG.3and captures a laser reflected by an object, such as a person, a wall, an obstacle, and a retro reflective material, by a light receiver that is disposed inside the optical window311. In addition, the light emitter (and the light receiver) radiates the laser312while changing a scan angle by rotating 270 degrees (plus and minus 135 degrees when the straight forward direction of the autonomous movement device100is assumed to be 0 degrees) about a rotational axis313and thereby scans the surroundings. By processing a signal from the light receiver that captures a reflected laser, the sensor31is capable of, with respect to each scan angle, measuring distance to an object existing in the direction of the angle and received light intensity. Note that the above-described setting in which the range of rotation angle (scan angle) of the light emitter is set to “plus and minus 135 degrees when the straight forward direction of the autonomous movement device100is assumed to be 0 degrees” is only an example and a specification may stipulate that the light emitter rotates plus and minus 180 degrees or rotates plus and minus 100 degrees. In addition, the scan angle does not have to be bilaterally symmetric.

The sensor31has the rotational axis313of scan extending in the vertical direction, as illustrated inFIG.4, and the laser312is configured to three-dimensionally scan an object (such as a person, a wall, an obstacle, and a retro reflective material) existing in the right and left directions and the forward direction of the autonomous movement device100. The sensor31is capable of detecting an object when the sensor31can receive a laser reflected by the object by the light receiver, and is capable of detecting even an object existing at a position located, for example, 200 m away from the sensor31. In addition, the three-dimensional scan performed by the sensor31enables a three-dimensional shape of an object to be detected. The sensor31functions as detection means. Note that the constituent element of the sensor31is not limited to a scanner-type LiDER (Light Detection and Ranging) and the sensor31may be constituted by a camera or another device capable of measuring distance and received light intensity.

The sensor31, for example, detects how far each of locations at which a wall71and a retro reflective material63, a person61, and an obstacle72and a retro reflective material64exist on the left side, in front, and on the right side of the autonomous movement device100, respectively, is from the autonomous movement device100, as illustrated inFIG.5. Note that a dotted line60indicates an angle of a radiation range (270 degrees) of the laser radiated from the sensor31and does not indicate radiation distance. The laser is radiated to a range beyond the dotted line60in terms of distance, and, for example, the retro reflective material63is also detected. Note, however, that the laser is not radiated to an angular range of 90 degrees behind the autonomous movement device100, as illustrated by the dotted line60.

In addition, the processor10recognizes an object that the sensor31detected, based on information (distance to the object, received light intensity, and the like) that the processor10acquired from the sensor31. For example, the processor10recognizes that an object is a retro reflective material (a so-called retro reflective materials) when a condition for recognizing the object as a retro reflective material, such as a condition requiring received light intensity to be more intense than a predetermined standard intensity, is satisfied. In addition, the processor10recognizes that an object is a person when a condition for recognizing the object as a person, such as a condition requiring width of the object to be approximately a width of a person (for example, 30 cm to 1 m), is satisfied. Further, the processor10recognizes that an object is a wall when a condition for recognizing the object as a wall, such as a condition requiring width of the object to be longer than a predetermined standard value, is satisfied. Furthermore, the processor10recognizes that an object is an obstacle when any conditions for recognizing the object as a retro reflective material, a person, and a wall are not satisfied. The processor10is capable of detecting more various objects in a stable manner by performing initial detection based on information acquired from the sensor31and tracking a detected object and, in the case of having lost sight of a detected object in the tracking, returning to a tracking state (returning from a tracking lost state). Note that the recognition method of an object described above is only an example and another recognition method may be used.

A retro reflective material that is one of objects that the sensor31detects is made of a retro reflective material and, when being irradiated with laser light, reflects the laser light in a direction in which the laser light is incident. Therefore, when received light intensity that the sensor31detected is higher than the predetermined standard intensity, the processor10can recognize that a retro reflective material exists in a direction at a scan angle at that moment in the scan by the sensor31. For example, at a place with few features, such as a long corridor, little change occurs in information detected by the sensor31even when the autonomous movement device100moves along the corridor in the longitudinal direction, and it becomes difficult for the processor10to recognize how far the autonomous movement device100has moved in the longitudinal direction. Even in such a case, installing the retro reflective materials63on the wall71enables the processor10to recognize how far the autonomous movement device100has moved along the corridor in the longitudinal direction, based on the number of and an arrangement of detected retro reflective materials, as illustrated inFIG.6, which enables construction of a more accurate map and stable travel.

Note that the retro reflective materials63are installed at locations that are irradiated with laser light radiated from the sensor31(in the present embodiment, locations having approximately the same height as the height of the sensor31). In addition, the retro reflective material can be installed by applying paint including a retro reflective materials to a wall or the like, sticking a pressure sensitive adhesive tape including a retro reflective materials on a wall or the like, or suspending a rope or the like including a retro reflective materials (which may be produced by applying paint including a retro reflective materials to a general rope or the like or winding a pressure sensitive adhesive tape including a retro reflective materials around a general rope or the like) in the air.

Returning toFIG.1, the operation acquirer32includes a joystick and the like that serve as input devices, and acquires a user operation. The operation acquirer32functions as operation acquisition means. As illustrated inFIG.4, the operation acquirer32includes a lever321and a touch panel322that is integrated with a display panel. The user can instruct the autonomous movement device100on a travel direction and movement velocity by a direction in which the user tilts the lever321and a tilt amount (tilt angle), respectively. In addition, on the touch panel322, an operation menu that serves as a user interface (UI) through which an instruction from the user is accepted (a menu for performing setting of a maximum velocity, a maximum acceleration, and the like and selection of a setting value for each thereof, specification of a destination, movement stop instruction, instruction of start and end of teaching, playback, playback correction, reverse playback, auto-determination playback, loop playback, or the like, selection of a movement mode (an autonomous movement mode, a manual movement mode, or the like), and the like) is displayed, and the user can provide the autonomous movement device100with each instruction by touching one of the instructions in the operation menu. The operation acquirer32functions as operation acquisition means.

Note that the operation acquirer32may be configured into an operation acquirer through which the user can, using physical buttons instead of a touch panel, provide instructions on teaching start, teaching end, playback start/end, playback correction start/end, reverse playback start/end, auto-determination playback start/end, loop playback start/end, and the like. Such physical buttons have high visibility at an outdoor work site or the like and improve convenience. Note that the reverse playback is playback processing that, by reproducing, in the backward direction, memorized data that is finally acquired through teaching, causes the autonomous movement device100to move in such a manner as to return from the teaching end point to the teaching start point. In addition, the auto-determination playback is playback processing performed to cause the autonomous movement device100to recognize the self-location. Further, the loop playback is playback processing that, by reproducing memorized data repeatedly, causes the autonomous movement device100to perform movement from the teaching start point to the teaching end point repeatedly (in order to normally perform the loop playback, it is required to perform teaching in such a way that the teaching end point coincides with the teaching start point).

In addition, types of teaching include not only target following teaching in which teaching is performed by causing the autonomous movement device100to follow a following target but also manual operation teaching in which teaching is performed by manually operating the autonomous movement device100using the joystick or the like of the operation acquirer32. The user can also provide an instruction on which one of the target following teaching and the manual operation teaching is to be performed, through the operation acquirer32. Although processing of the target following teaching is mainly described hereinbelow, since only difference between the target following teaching and the manual operation teaching is whether teaching control data is acquired by following a following target or acquired through the operation acquirer32, the present disclosure is applicable to not only the target following teaching but also teaching through other arbitrary motion (teaching through hand-pushing travel, teaching based on input from an external system, or the like) including the manual operation teaching.

Returning toFIG.1, the driven wheels40causes the autonomous movement device100to move, based on instructions (control) from the processor10. The driven wheels40functions as movement means. As illustrated inFIG.2, the driven wheels40includes wheels41of an independent two-wheel drive type, motors42, and casters43. The autonomous movement device100is capable of performing parallel movement (translational movement) in the longitudinal direction by driving the two wheels41in the same direction, rotation (direction change) on the spot by driving the two wheels41in the opposite directions, and turning movement (translational movement and rotation (direction change) movement) by individually driving the two wheels41at different velocities. In addition, a rotary encoder is attached to each of the wheels41, and the processor10is capable of calculating the amount of translational movement and the amount of rotation by use of the numbers of rotations of the wheels41measured by the rotary encoders, diameter of the wheels41, distance between the wheels41, and the like.

For example, when diameter and the number of rotations of each of the wheels41are denoted by D and C, respectively, the amount of translational movement covered by ground contact points of the wheel41is calculated by π·D·C. In addition, when the diameter of each of the wheels41is denoted by D, the distance between the wheels41is denoted by I, the number of rotations of the right wheel41is denoted by CR, and the number of rotations of the left wheel41is denoted by CL, the amount of rotation in the direction change is calculated by 360°×D×(CL−CR)/(2×I) (when the clockwise rotation is defined to be positive). The driven wheels40also functions as mechanical odometry by respectively adding the amounts of translational movement and the amounts of rotation successively, which enables the processor10to grasp the location (a location and direction based on a location and direction at the time of movement start) of the autonomous movement device100.

Note that the autonomous movement device100may be configured to include crawlers instead of the wheels41or may be configured to include a plurality of (for example, two) legs and perform movement by walking using the legs. In these cases, as with the case of the wheels41, it is also possible to measure a location and direction of the autonomous movement device100based on motion of the two crawlers, motion of the legs, or the like.

In addition, as illustrated inFIG.2, the autonomous movement device100includes a loading platform51and is capable of mounting a transportation article and the like on the loading platform51and transporting the transportation article and the like to a destination. Further, the autonomous movement device100includes a bumper52and is capable of stopping when the autonomous movement device100collides with another object and mitigating impact of the collision.

Next, a functional configuration of the processor10of the autonomous movement device100is described. As illustrated inFIG.1, the processor10functions as each of the surrounding information acquirer11, the route generator12, the movement path generator13, the surrounding information converter14, and the movement controller15and performs movement control and the like of the autonomous movement device100.

The surrounding information acquirer11recognizes an object that the sensor31detected and acquires, as information about the object, type (classification as a person, an obstacle, a retro reflective material, or the like), distance, direction, and the like. In addition, when an instruction to start teaching is input to the operation acquirer32, the surrounding information acquirer11recognizes a person existing in front of the autonomous movement device100as a following target.

The route generator12generates route data of a surrounding environment around the autonomous movement device100based on point cloud data detected by the sensor31(for example, a surrounding environment indicating an existence situation of objects (a wall, an obstacle, a retro reflective material, and the like) around the autonomous movement device100including locations (distance, direction, and the like) and the like of the objects). Any data format can be employed for the route data. The route generator12may generate route data by, for example, simultaneous localization and mapping (SLAM), using data detected by the sensor31. The route generator12may also construct route data by, every time the autonomous movement device100moves a predetermined distance (for example, 10 cm), recording data detected by the sensor31(a surrounding environment indicating an existence situation of objects around the autonomous movement device100) in the route storage22, which is described later, in conjunction with information about a present location (self-location) of the autonomous movement device100. In addition, the route generator12may acquire information about the present location (self-location) of the autonomous movement device100, using values of the mechanical odometry obtainable from the driven wheels40.

When the movement path generator13is provided with a destination, the movement path generator13generates a movement path from the present location of the autonomous movement device100to the provided destination based on the route data recorded in the route storage22. Any generation method can be employed for the generation of a movement path. For example, when the present location of the autonomous movement device100is a location at which the autonomous movement device100was instructed to start teaching in past target following memorizing processing and the destination is a location at which the autonomous movement device100was instructed to end the teaching in the past target following memorizing processing, the movement path generator13may generate a route (teaching route) along which the autonomous movement device100followed a following target in the past target following memorizing processing as a movement path. In this case, the movement path generator13is to memorize a route along which the autonomous movement device100moved in the route data recorded in the route storage22as a movement path. In addition, the teaching route is not limited to a route along which the autonomous movement device100followed a following target, and, for example, a route along which the autonomous movement device100moved while being manually operated by use of the operation acquirer32may be set as a teaching route.

The surrounding information converter14converts information about objects in the surroundings of the autonomous movement device100(a surrounding environment) recorded in the route storage22to data in the backward direction. Data conversion performed by the surrounding information converter14is described below usingFIGS.7A and7B. In the route storage22, first, a surrounding environment in the forward direction as illustrated inFIG.7Ais recorded. The data in the backward direction is a surrounding environment (a surrounding environment illustrated inFIG.7B) that is to be detected by the sensor31when the direction of the autonomous movement device100is set to a direction opposite to the direction of the autonomous movement device100at the time when the objects in the surroundings were detected by the sensor31. The data in the backward direction are acquired by, with respect to the original data (the surrounding environment illustrated inFIG.7A), reversing the forward direction to the backward direction and vice versa and the right direction to the left direction and vice versa (reversing the directions in such a way that an object having been observed ahead is observed behind and an object having been observed on the left side is observed on the right side).

The movement controller15controls the driven wheels40to cause the autonomous movement device100to move. For example, the movement controller15controls the driven wheels40in such a way that the autonomous movement device100follows a following target during a period from when an instruction to start teaching is input until an instruction to end teaching is input to the operation acquirer32. In addition, when an instruction to start playback is input to the operation acquirer32, the movement controller15controls the driven wheels40in such a way that the autonomous movement device100moves along a movement path that the movement path generator13generated. Further, when the operation mode is a manual movement mode, the movement controller15controls the driven wheels40based on an instruction from the user that is acquired by the operation acquirer32.

Next, a functional configuration of the storage20is described. The storage20includes the point storage21and the route storage22.

In the point storage21, data for determining the location (for example, a movement start location and a movement end location (destination)) of the autonomous movement device100, based on a user operation acquired by the operation acquirer32, are registered. For example, when an instruction to start teaching is input to the operation acquirer32, a surrounding environment that is detected by the sensor31at the location and direction of the autonomous movement device100at that moment are registered in the point storage21as point data (first point data) at a teaching start point (first point).

In the route storage22, route data that is generated by the route generator12based on a surrounding environment detected by the sensor31is recorded. A route (teaching route) at the time when the autonomous movement device100follows a following target in target following memorizing processing, which is described later, is also memorized in the route storage22.

Next, the target following memorizing processing of the autonomous movement device100is described below with reference toFIG.8. Note that, when the autonomous movement device100is activated, the target following memorizing processing and playback processing, playback correction processing, and the like, which are described later, are started in parallel with one another and the autonomous movement device100is brought into a state of waiting for input of a user instruction from the operation acquirer32.

First, the processor10determines whether or not an instruction to start teaching has been input from the operation acquirer32(step S101). When no instruction to start teaching has been input (step S101; No), the process returns to step S101. When an instruction to start teaching is input (step S101; Yes), the processor10registers a surrounding environment detected by the sensor31in the point storage21as point data (first point data) at a teaching start point (first point) (step S102). Note that, when route data have already been recorded in the route storage22, the processor10grasps to what location in the route data the teaching start point corresponds.

The surrounding information acquirer11recognizes the user existing in front of the autonomous movement device100as a following target by the sensor31(step S103). Step S103is also referred to as a following target recognition step. Note that steps S102and S103do not have to be executed in this order and, for example, step S102may be executed after step S103has been executed. In addition, when the manual operation teaching is performed, the processing in step S103is unnecessary.

Next, the processor10acquires data for controlling the driven wheels40to cause the autonomous movement device100to follow the following target recognized by the surrounding information acquirer11as teaching control data, the route generator12generates route data of a surrounding environment around the autonomous movement device100while the movement controller15controls the driven wheels40in accordance with the teaching control data (step S104), and the route generator12records the route data in the route storage22. Note that, in the case of manual operation teaching, the processor10acquires teaching control data for controlling the driven wheels40from the operation acquirer32. Among the processing in step S104, the processing in which the processor10acquires the teaching control data is referred to as a teaching control data acquisition step and the processing in which the route generator12generates route data is referred to as a route generation step. Note that, when retro reflective materials are recognized by the surrounding information acquirer11, the route generator12also records the locations and the number of the retro reflective materials in the route storage22by including the locations and the number in the route data.

Even at a position with few features, such as a long corridor, installing retro reflective materials at some places (sticking the retro reflective materials on a wall or the like) enables information about locations at which the retro reflective materials exist and the number of the retro reflective materials to be recorded in the route storage22. This configuration enables the processor10to match recognized information about retro reflective materials with the recorded information about the locations and the number of the retro reflective materials and thereby grasp the self-location of the autonomous movement device100more accurately at the time of playback processing, which is described later.

In addition, in step S104, the movement path generator13records, in the route storage22, a route itself along which the autonomous movement device100follows the following target as a teaching route. The processing is referred to as a movement path storage step. In step S104, the movement controller15controls the driven wheels40in such a way that, even when the following target moves backwards, the autonomous movement device100does not move backwards (for example, stops). That is, the movement controller15is configured not to instruct the driven wheels40to move backwards while the autonomous movement device100follows the following target. This is because, when a section in which backward movement processing is performed is included in a teaching route that is used as a movement path, there is a possibility that the movement processing becomes complex at the time of playback processing, which is described later. Therefore, in the case of not only the target following teaching but also the manual operation teaching, the movement controller15may control the driven wheels40to prevent the autonomous movement device100from moving backwards.

Next, the processor10determines whether or not an instruction to end teaching has been input from the operation acquirer32(step S105). When no instruction to end teaching has been input (step S105; No), the process returns to step S104. When an instruction to end teaching is input (step S105; Yes), the processor10registers a surrounding environment detected by the sensor31in the point storage21as point data (second point data) at a teaching end point (second point) (step S106), and the process returns to step S101.

The target following memorizing processing was described above. The target following memorizing processing causes final memorized data (data for controlling the autonomous movement device100to move from the teaching start point to the teaching end point along the teaching route) to be generated. Note that, although, in the above description, the teaching start point and the teaching end point were described as a first point and a second point, respectively, the description only applies to a case where such points are registered in the point storage21for the first time. For example, when, after the first point and the second point were registered in the point storage21, the process returns to step S101and an instruction to start teaching is further input, a teaching start point and a teaching end point in the new teaching are registered as a third point and a fourth point, respectively, in the point storage21. As described above, a point at which an instruction to start teaching is input and a point at which an instruction to end teaching is input are to be registered in the point storage21in a cumulative manner.

An example of the target following memorizing processing is described below with reference toFIG.9. It is assumed that, first, the autonomous movement device100receives an instruction to start teaching from a user65at a location of a first point81(step S101). Then, the processor10registers a surrounding environment60adetected by the sensor31in the point storage21as first point data (step S102). The surrounding information acquirer11recognizes the user65as a following target (step S103).

Although, when the user65subsequently walks to a second point82, the autonomous movement device100, following the user65, also moves to the second point82, the route generator12generates route data of a surrounding environment based on data detected by the sensor31(for example, surrounding environments60b,60c, and60d) during movement (step S104) and records the generated route data in the route storage22.

When the user65inputs an instruction to end teaching in the operation acquirer32at the second point82(step S105), the processor10registers a surrounding environment60edetected by the sensor31in the point storage21as second point data (step S105). In addition, the processor10also records a route from the first point81to the second point82(first teaching route) in the route storage22.

It is assumed that, subsequently, the autonomous movement device100receives an instruction to start teaching from a user66while the autonomous movement device100faces in a direction toward a fourth point84at a location of a third point83(step S101). Then, the processor10registers a surrounding environment60hdetected by the sensor31in the point storage21as third point data (step S102). The surrounding information acquirer11recognizes the user66as a following target (step S103).

Although, when the user66subsequently walks to the fourth point84, the autonomous movement device100, following the user66, also moves to the fourth point84, the route generator12generates route data of a surrounding environment based on data detected by the sensor31(for example, a surrounding environment60i) during movement (step S104) and records the generated route data in the route storage22.

When the user66inputs an instruction to end teaching in the operation acquirer32at the fourth point84(step S105), the processor10registers a surrounding environment60jdetected by the sensor31in the point storage21as fourth point data (step S105). In addition, the processor10also records a route from the third point83to the fourth point84(second teaching route) in the route storage22.

In this way, point data of respective points are registered in the point storage21, and route data and teaching routes are recorded in the route storage22.

Next, the playback processing of the autonomous movement device100is described below with reference toFIG.10. As described above, execution of the playback processing is also started when the autonomous movement device100is activated, and the autonomous movement device100is brought into a state of waiting for input of a user instruction from the operation acquirer32.

First, the processor10determines whether or not an instruction to start playback has been input from the operation acquirer32(step S201). When no instruction to start playback has been input (step S201; No), the process returns to step S201. When an instruction to start playback is input (step S201; Yes), the processor10determines whether or not the present location of the autonomous movement device100can be acquired (step S202).

In this processing, any acquisition method can be employed for the acquisition of the present location. For example, the processor10may acquire the present location of the autonomous movement device100, using SLAM. The processor10may also acquire the present location by comparing data acquired by the sensor31with data of the respective points registered in the point storage21. A supplementary description on a method for acquiring the present location by comparing data acquired by the sensor31with data of the respective points registered in the point storage21is provided below.

Since, in whatever direction the autonomous movement device100faces, there occurs some degree of overlap between angular ranges of data acquired by the sensor31, matching overlapping portions with each other enables whether or not the present location is a point registered in the point storage21to be determined and, when the present location is one of the registered points, also enables which one of the registered points the present location is to be determined. For example, a case is assumed where the sensor31has acquired data in an angular range of 270 degrees and the present location of the autonomous movement device100is the second point82.

In this case, as illustrated inFIG.9, data detected by the sensor31when the autonomous movement device100located at the second point82faces in a direction opposite to the direction toward the first point81is a surrounding environment60eand data detected by the sensor31when the autonomous movement device100faces in the direction toward the first point is a surrounding environment60f, as a result of which there is an overlapping portion between the surrounding environment60eand the surrounding environment60f, as illustrated by shaded portions60ef. Therefore, when surrounding environments are compared with each other, the comparison is, for example, performed while one of the surrounding environments is gradually rotated, and, when halves or more (portions equivalent to 180 degrees or more) of the surrounding environments match with each other, the surrounding environment can be estimated to be surrounding environment acquired at an identical point.

In this way, the processor10is capable of acquiring which one of the points registered in the point storage21the present location of the autonomous movement device100is by comparing a surrounding environment detected by the sensor31with data of the respective points registered in the point storage21. Note that, when data detected by the sensor31do not match with data of any point registered in the point storage21, it is impossible to acquire the present location and the determination in step S202results in No.

Returning to step S202inFIG.10, when the processor10cannot acquire the present location of the autonomous movement device100(step S202; No), the process returns to step S201. When the processor10can acquire the present location of the autonomous movement device100(step S202; Yes), the processor10acquires the present location (step S203).

The movement path generator13generates a movement path from the present location of the autonomous movement device100to a destination (step S204). Step S204is also referred to as a movement path generation step. In this processing, any point registered in the point storage21can be selected as the destination. When only two points are registered in the point storage21and one the two points is the present location, the destination is the other point, which is not the present location. In the other cases, the user is required to input which one of the registered points (except the present location) is selected as a destination, from the operation acquirer32.

The movement path generator13generates a movement path from the present location to the destination based on the route data recorded in the route storage22. Any generation method can be employed for the generation of a movement path. The movement path generator13may generate a shortest route from the present location to the destination, using a path acquired from the route data along which the autonomous movement device100can move or may generate a movement path based on a teaching route that was recorded at the time of target following memorizing processing. In addition, when, for example, the present location is the teaching end point and the destination is the teaching start point, the movement path generator13may generate, as a movement path, a route that tracks the teaching route recorded at the time of target following memorizing processing in the backward direction. The following description is made assuming that the movement path generator13generates a movement path, using a teaching route and a route that tracks the teaching route in the backward direction.

When the movement path generator13generates, as a movement path, a route that tracks a teaching route recorded at the time of target following memorizing processing in the backward direction, the surrounding information converter14converts, among route data related to the teaching route memorized in the route storage22, a surrounding environment detected by the sensor31to data in the case where the surrounding environment is detected in the backward direction (backward direction data) and records the converted data in the route storage22. The backward direction data enables the autonomous movement device100to easily track the teaching route in the backward direction.

When a movement path is generated by the movement path generator13in step S204, the movement controller15controls the driven wheels40to cause the autonomous movement device100to move along the movement path (step S205). Step S205is also referred to as a route movement step. During this movement, the processor10grasps the present location and direction of the autonomous movement device100, using the surrounding environment detected by the sensor31and the route data recorded in the route storage22.

Note that, when information about an arrangement and the number of retro reflective materials is recorded in the route data, the processor10preferentially matches information about retro reflective materials (locations and the number of the retro reflective materials) recognized by the surrounding information acquirer11with the route data when the processor10grasps the present location and direction of the autonomous movement device100. When a state in which the information about retro reflective materials does not match with the route data (for example, the numbers of retro reflective materials differ from each other) persists for a predetermined period (for example, 10 seconds) or for a predetermined movement distance (for example, 10 m), the processor10may cause the autonomous movement device100to stop. This is because the locations and the number of retro reflective materials can be recognized by the sensor31with high precision compared with other general objects and the fact that, despite the advantage, the state in which the information about retro reflective materials does not match with the route data has persisted for a predetermined period or movement distance means that it is highly possible that the autonomous movement device100has deviated from the original route.

The processor10determines whether or not an obstacle exists in a travel direction, using the surrounding environment detected by the sensor31(step S206). When the processor10determines that no obstacle exists in the travel direction (step S206; No), the processor10determines whether or not the autonomous movement device100has arrived at the destination by comparing the surrounding environment detected by the sensor31with the point data registered in the point storage21(step S207). This determination can be performed by determining whether or not the acquired present location is the same as the destination in a similar manner to the above-described present location acquisition in step S203.

When the autonomous movement device100has not arrived at the destination (step S207; No), the process returns to step S205. When the autonomous movement device100arrives at the destination (step S207; Yes), the movement controller15causes the driven wheels40to stop (step S208), and the process returns to step S201.

In contrast, when, in step S206, the processor10determines that an obstacle exists in the travel direction (step S206; Yes), the processor10determines whether or not the obstacle is avoidable (step S209). In the present embodiment, when the following two conditions are satisfied, the processor10determines that the obstacle is avoidable.(1) The obstacle can be avoided as long as the processor10does not lose sight of the present location (self-location) of the autonomous movement device100(for example, the processor10is able to grasp the self-location by comparing the surrounding environment detected by the sensor31with the route data recorded in the route storage22).(2) Between the obstacle and another obstacle or a wall, a space having width that allows the autonomous movement device100to pass through the space exists.

When the processor10determines that the obstacle is avoidable (step S209; Yes), the autonomous movement device100moves while avoiding the obstacle by the movement controller15controlling the driven wheels40to avoid the obstacle (step S210). The processor10determines whether or not an obstacle exists in the travel direction again, using data detected by the sensor31(step S211). When an obstacle exists (step S211; Yes), the process returns to step S209.

When no obstacle exists (step S211; No), the autonomous movement device100returns to the original movement path by the movement controller15controlling the driven wheels40to return to the original movement path (step S212), and the process returns to step S205. Since, as described above, avoidance of an obstacle is performed as long as the processor10does not lose sight of the present location of the autonomous movement device100, the autonomous movement device100is capable of returning to the original movement path by moving with the movement controller15controlling the driven wheels40in such a way as to reduce a difference between the present location and a location on the original movement path.

In contrast, when, in step S209, the processor10determines that the obstacle is unavoidable (step S209; No), the movement controller15causes the driven wheels40to stop (step S213). The processor10determines whether or not a user instruction has been input from the operation acquirer32(step S214). When no user instruction has been input (step S214; No), the process returns to step S211. This is because there is a possibility that the obstacle has been removed as time passes.

When a user instruction has been input (step S214; Yes), the processor10fulfills the user instruction (step S215), and the process proceeds to step S211. In step S215, it is conceivable that, for example, a user instruction causes the autonomous movement device100to move to a position where there is no obstacle or a position where the obstacle is avoidable.

A supplementary description on obstacle avoidance in the above-described playback processing is provided below with reference toFIG.11. For example, a case is assumed where the autonomous movement device100detects an obstacle73and an obstacle74during movement from the first point81to the second point82. In this case, as illustrated inFIG.11, in order to avoid the obstacles, the autonomous movement device100is required to shift the travel direction slightly rightward (move along an avoidance path67instead of the original movement path62). Since a difference between the surrounding environments60band60cthat are detected by the sensor31at the time when the autonomous movement device100moves along the original movement path62and a surrounding environment60mthat is detected by the sensor31at the time when the autonomous movement device100moves along the avoidance path67is small, it is considered that there is no chance that the processor10loses sight of the self-location of the autonomous movement device100. In addition, as illustrated inFIG.11, between the obstacle73and the obstacle74, a space having width that allows the autonomous movement device100to pass through the space exists. Therefore, in this case, the processor10determines that the obstacles are avoidable.

As a next example, a case where the autonomous movement device100cannot avoid the obstacle73unless the autonomous movement device100moves along an avoidance path68, such as a case where the obstacle73protrudes to the right side of the avoidance path67illustrated inFIG.11, is assumed. In this case, since a difference between the surrounding environments60band60cthat are detected by the sensor31at the time when the autonomous movement device100moves along the original movement path62and a surrounding environment60nthat is detected by the sensor31at the time when the autonomous movement device100moves along the avoidance path68is large and it is highly possible that the processor10loses sight of the self-location of the autonomous movement device100, the processor10determines that the obstacle is unavoidable.

In addition, when no space having width that allows the autonomous movement device100to pass through the space exists between the obstacle73and the obstacle74, such as a case where, even though the autonomous movement device100can avoid the obstacle73as long as the processor10does not lose sight of the self-location of the autonomous movement device100, the obstacle74exists at a location closer to the obstacle73than the above-described case, the processor10determines that the obstacles are unavoidable.

The playback processing was described above. An example of the playback processing is described below with reference toFIG.9. First, it is assumed that teaching has been performed in advance by the above-described target following memorizing processing, in which the autonomous movement device100followed the user from the first point81to the second point82. It is also assumed that, as a result of the target following memorizing processing, the first point data and the second point data are registered in the point storage21and a route from the first point81to the second point82(first teaching route) and a surrounding environment along the route are recorded in the route storage22.

It is assumed that the autonomous movement device100receives an instruction to start playback from the user when the autonomous movement device100is located at the second point82while facing in the direction toward the first point81(step S201). Then, the processor10determines whether or not the present location of the autonomous movement device100can be acquired (step S202). In this example, the processor10compares the surrounding environment60fdetected by the sensor31with the first point data (the surrounding environment60a) and the second point data (the surrounding environment60e) that are registered in the point storage21.

Then, since, as described above, the surrounding environment60fand the surrounding environment60ematch with each other in portions indicated by the shaded portions60efinFIG.9, the processor10can determine that the present location is the second point82. Therefore, the determination in step S202results in Yes, and the processor10acquires the second point82as the present location (step S203).

The movement path generator13generates a movement path from the present location to the destination (step S204). In this example, since only the first point data and the second point data are registered in the point storage21and the present location is the second point82, the first point81is set as the destination. The movement path generator13generates, as a movement path from the second point82to the first point81, a route that tracks the first teaching route, which was recorded in the route storage22at the time of the target following memorizing processing, in the backward direction.

The surrounding information converter14converts, among the data memorized in the route storage22, the surrounding environments60a,60b,60c, and60d, which were detected by the sensor31when the autonomous movement device100followed the user, to data in the case where the surrounding environments are detected in the backward direction and thereby generates backward direction data (backward direction data60a′,60b′,60c′, and60d′), and records the backward direction data in the route storage22.

Note that, in the present embodiment, since the sensor31detects a surrounding environment within an angular range of 270 degrees, the sensor31cannot detect data in an angular range of 90 degrees behind the autonomous movement device100. Therefore, as illustrated inFIG.9, when the surrounding environments are converted to data in the case where surrounding environments are detected in the backward direction, data in an angular range of 90 degrees in front of the autonomous movement device100cannot be generated, and the backward direction data60a′,60b′,60c′, and60d′ become data in an angular range of 90 degrees on each of the right and left sides. Even such data can be matched with a surrounding environment detected by the sensor31, as described in the above-described present location acquisition in step S203. Needless to say, when a device capable of detecting a surrounding environment in an angular range of 360 degrees is used as the sensor31, it is possible to convert a surrounding environment acquired at the time of target following teaching to backward direction data in the angular range of 360 degrees.

In addition, the autonomous movement device100is capable of, by moving, detecting surrounding environments by the sensor31at various positions and from various directions. Thus, even when an angular range that the sensor31can detect is limited (for example, to 180 degrees or less), integrating surrounding environments detected at various positions and from various directions by using a plurality of pieces of detection data or the like enables a surrounding environment in the forward direction as illustrated inFIG.7Ato be acquired, and the surrounding information converter14is capable of converting the surrounding environment in the forward direction to surrounding environment in the backward direction. Note that, even when the sensor31is a device capable of acquiring 3D data, the surrounding information converter14is capable of converting a surrounding environment in a similar manner.

While the processor10, by comparing a surrounding environment detected by the sensor31with the backward direction data (for example, the backward direction data60a′,60b′,60c′, and60d′) generated by the surrounding information converter14, grasps the present location and direction of the autonomous movement device100, the movement controller15controls the driven wheels40to cause the autonomous movement device100to move along the movement path (step S205). In the example inFIG.9, since there exists no obstacle, the determination in step S206results in No, and the autonomous movement device100keeps moving along the movement path until reaching the destination (first point81) and, when arriving at the destination (first point81) (step S207; Yes), stops (step S208).

In this way, the autonomous movement device100is capable of moving along a taught route, using the taught route in a direction (in the above-described example, the backward direction) other than the direction of movement at the time when the route was taught. Because of this configuration, the autonomous movement device100enables a more flexible route generation and operation.

Note that, when the autonomous movement device100receives an instruction to start playback from the user while facing in a direction opposite to the direction toward the first point81and being located at the second point82, the processor10grasps that the present location of the autonomous movement device100is the second point82and the autonomous movement device100faces in the direction opposite to the direction toward the first point81by comparing the surrounding environment60edetected by the sensor31with the first point data (the surrounding environment60a) and the second point data (the surrounding environment60e) registered in the point storage21. In this case, the movement controller15is to, after controlling the driven wheels40to change the direction of the autonomous movement device100to the opposite direction, control the driven wheels40to cause the autonomous movement device100to move to the first point81along the movement path as described above.

In addition, it is assumed that, subsequently, teaching in which the autonomous movement device100follows the user from the third point83to the fourth point84is performed through the above-described target following memorizing processing. Then, as a result of the target following memorizing processing, the third point data and the fourth point data are also registered in the point storage21in addition to the first point data and the second point data. A route from the third point83to the fourth point84(second teaching route) and a surrounding environment along the route are also recorded in the route storage22. In addition, since the third point83exists on the route from the first point81to the second point82(first teaching route) that was first taught, the processor10grasps the fact that the third point83is a point existing on the first teaching route, which is recorded in the route storage22.

It is assumed that the autonomous movement device100receives an instruction to start playback from the user when the autonomous movement device100is located at the fourth point84while facing in the direction toward the third point83(step S201). As with the above-described case where playback is started from the second point82, the processor10compares a surrounding environment60kdetected by the sensor31with the first point data (the surrounding environment60a), the second point data (the surrounding environment60e), the third point data (the surrounding environment60h), and the fourth point data (the surrounding environment60j) that are registered in the point storage21.

Then, since, as described above, the surrounding environment60kand the surrounding environment60jmatch with each other in an angular range of 90 degrees on each of the right and left sides, the processor10is able to determine that the present location is the fourth point84. Therefore, the determination in step S202results in Yes, and the processor10acquires the fourth point84as the present location (step S203).

The movement path generator13generates a movement path from the present location to the destination (step S204). In this example, since the first point data, the second point data, the third point data, and the fourth point data are registered in the point storage21and the present location is the fourth point84, the user is requested to determine which one of the first point81, the second point82, and the third point83is to be set as a destination and to input the determined destination from the operation acquirer32. In this example, it is assumed that the user specifies the second point82as the destination.

Then, the movement path generator13generates, as a movement path from the fourth point84to the second point82, a route that tracks the second teaching route, which was recorded in the route storage22at the time of target following memorizing processing, in the backward direction until reaching the third point83and subsequently tracks the first teaching route, which was recorded in the route storage22, to the second point82in the direction in which the autonomous movement device100followed the user from an intermediate point on the first teaching route. Note that, since, when the third point83is registered in the point storage21in the above-described teaching playback processing, the processor10grasps the fact that the third point83is a point on the first teaching route, the processor10can recognize that the second teaching route is connected to the first teaching route at the third point83. In this way, the movement path generator13is capable of generating a movement path that is formed by arbitrarily connecting teaching routes having been recorded up to that time to one another.

The surrounding information converter14converts, among the route data memorized in the route storage22, the surrounding environments60hand60i, which were detected by the sensor31when the autonomous movement device100followed the user along the second teaching route, to data in the case where the surrounding environments are detected in the backward direction and thereby generates backward direction data (backward direction data60h′ and60i′), and records the backward direction data in the route storage22.

While the processor10grasps the present location and direction of the autonomous movement device100, the movement controller15controls the driven wheels40in such a way that the autonomous movement device100moves along the movement path (step S205). In the example inFIG.9, since there exists no obstacle, the determination in step S206results in No, and the autonomous movement device100keeps moving along the movement path until reaching the destination (second point82) and, when arriving at the destination (second point82) (step S207; Yes), stops (step S208).

Note that, since, in step S205, the autonomous movement device100tracks the second teaching route in the backward direction between the fourth point84and the third point83, the processor10, by comparing a surrounding environment detected by the sensor31with the backward direction data (for example, the backward direction data60h′ and60i′) generated by the surrounding information converter14, grasps the present location and direction of the autonomous movement device100. In addition, since the autonomous movement device100tracks the first teaching route in the forward direction between the third point83and the second point82, the processor10, by comparing a surrounding environment detected by the sensor31with the surrounding environment (for example, the surrounding environments60c,60d, and60e) memorized in the route storage22, grasps the present location and direction of the autonomous movement device100.

In this way, the autonomous movement device100is capable of not only moving along a taught route, using the taught route in a direction (in the above-described example, the backward direction) other than the direction of movement at the time when the route was taught but also moving along a route that is formed by combining a plurality of taught routes.

Next, the playback correction processing of the autonomous movement device100is described below with reference toFIG.12. As described above, execution of the playback correction processing is also started when the autonomous movement device100is activated, and the autonomous movement device100is brought into a state of waiting for input of a user instruction from the operation acquirer32.

In addition, only difference between the playback correction processing and the above-described playback processing (FIG.10) is that step S221is executed between step S205and step S206. Therefore, description is made focusing on step S221.

As described above, while the autonomous movement device100moves in step S205, the processor10grasps the present location and direction of the autonomous movement device100, using a surrounding environment detected by the sensor31and the route data recorded in the route storage22. On that occasion, in the above-described playback processing, when, in particular, information about retro reflective materials does not match with the route data, the processor10determines that it is highly possible that the autonomous movement device100has deviated from the original route.

In contrast, in the playback correction processing, when a surrounding environment detected by the sensor31and the route data recorded in the route storage22do not match with each other, the processor10considers the surrounding environment detected by the sensor31as correct data and corrects the route data recorded in the route storage22(step S221).

Since, when this correction is constantly performed, there is a possibility that movement of the autonomous movement device100becomes unstable rather than stable, objects to be used in the correction may be limited to retro reflective materials. That is, it may be configured such that, when a surrounding environment and the route data do not match with each other, information about retro reflective materials included in the surrounding environment is used for correction of the route data and information about objects included in the surrounding environment other than retro reflective materials is used for correction of the present location and direction of the autonomous movement device100by comparing the information with the route data.

As described above, in the playback correction processing, it is also possible to correct the route data when a portion of the surrounding environment has changed (for example, a case where, in a distribution warehouse, loads piled up on a pallet that had existed until yesterday have disappeared today). In addition, by adding retro reflective materials to retro reflective materials having already been installed on a wall of a corridor, or the like, it is possible to improve precision of subsequent playback processing.

In addition, the processor10may memorize a temporary stop position P1 and a temporary stop time T1 at the time when the autonomous movement device100follows a recognized following target (at the time of controlling the driven wheels40in accordance with teaching control data) in the above-described target following memorizing processing, and, when the autonomous movement device100moves along a memorized movement path (at the time of the playback processing or the playback correction processing), control the autonomous movement device100to stop at the temporary stop position P1 for the temporary stop time T1. This is because, when, for example, an automatic shutter exists on a movement path that the autonomous movement device100memorized, by storing the location of the automatic shutter and causing the autonomous movement device100to temporarily stop in front of the automatic shutter until the shutter door is fully opened, it is possible to cause the autonomous movement device100to move more flexibly. It may be configured such that storage of the temporary stop position P1 and the temporary stop time T1 can be performed while the target following memorizing processing is performed or can be performed in the form of editing memorized data after the target following memorizing processing is finished.

In addition, the processor10may memorize an output position P2 at which a control signal S is output to a predetermined device (and a temporary stop time T2, when necessary) at the time when the autonomous movement device100follows a recognized following target (at the time of controlling the driven wheels40in accordance with teaching control data) in the above-described target following memorizing processing, and, when the autonomous movement device100moves along a memorized movement path (at the time of the playback processing or the playback correction processing), perform control in such a way as to output the control signal S at the output position P2 at which a signal is output to the predetermined device and thereby cause the predetermined device to operate (or prevent the predetermined device from operating). For example, it is assumed that, when the processor10is capable of storing 4-bits output patterns “0000” to “1111”, “0001” and “0000” are defined as an output pattern of a control signal S1 for disconnecting a connection mechanism by which a towable pallet dolly or the like is connected to the autonomous movement device100and an output pattern of a control signal S2 for not disconnecting the connection mechanism, respectively. Then, it is possible to memorize a setting for, by outputting the control signal S1 having the output pattern “0001” at the predetermined output position P2, disconnecting the connection mechanism by which the towable pallet dolly or the like is connected to the autonomous movement device100(and, further, temporarily stopping for the time T2 required for the disconnection), a setting for, by outputting the control signal S2 having the output pattern “0000”, not disconnecting the connection mechanism by which the towable pallet dolly or the like is connected to the autonomous movement device100, or the like. Because of this configuration, it becomes possible to select whether or not the autonomous movement device100disconnects the connection mechanism by which the towable pallet dolly or the like is connected to the autonomous movement device100and leaves the loads at a predetermined position on a movement path that the autonomous movement device100memorized, and thereby cause the autonomous movement device100to move more flexibly. It may be configured such that storage of the output position P2 at which a control signal is output and the temporary stop time T2 can be performed while the target following memorizing processing is performed or can be performed in the form of editing memorized data after the target following memorizing processing is finished. Note that the autonomous movement device100may include an ultraviolet radiation lamp as the predetermined device. Then, the “output of a control signal to a predetermined device” can be used for on/off control of the ultraviolet radiation lamp in a similar manner to the above-described example. For example, it is possible to, by outputting the control signal S at the output position P2, perform control in such a manner as to cause the ultraviolet radiation lamp to operate (or stop operating).

In addition, the autonomous movement device100may be configured to be capable of storing, in place of the output position P2, a condition C for outputting the control signal S. That is, the processor10may memorize the condition C for outputting the control signal S to a predetermined device at the time when the autonomous movement device100follows a recognized following target (at the time of controlling the driven wheels40in accordance with teaching control data) in the above-described target following memorizing processing, and, when the autonomous movement device100moves along a memorized movement path (at the time of the playback processing or the playback correction processing), perform control in such a way as to output the control signal S to the predetermined device when the condition C is satisfied and thereby cause the predetermined device to operate (or prevent the predetermined device from operating). For example, by causing a condition C requiring that “the sensor31detects that a person has come close to the autonomous movement device100” to be memorized, the processor10can perform control in such a way as to stop radiation of ultraviolet rays when the sensor31detects that a person is coming close to the autonomous movement device100. In addition, the predetermined device may be configured to be changeable between at the time of teaching and at the time of playback. For example, when, while it is desirable to radiate ultraviolet rays at the time of playback, it is desirable not to radiate ultraviolet rays at the time of teaching (however, it is desirable to confirm how the ultraviolet radiation is performed, using a pilot lamp or the like), the predetermined device may be able to be set in such a way that “a pilot lamp is turned on at the time of teaching and an ultraviolet radiation lamp is turned on at the time of playback”. This setting enables the autonomous movement device100to be configured to stop the ultraviolet radiation and allow an output signal to be confirmed by another pilot lamp or the like during teaching and to radiate ultraviolet rays during playback. This configuration enables ultraviolet rays to be radiated to only a specific site and radiation of ultraviolet rays to be stopped when a person is present near the autonomous movement device100.

Further, the autonomous movement device100may be configured to be capable of selecting a velocity mode. Examples of the velocity mode include a teaching velocity mode (a mode in which an actual velocity at the time when the target following teaching or the manual operation teaching is performed is memorized and, at the time of playback, the autonomous movement device100moves at the same velocity as the velocity at the time of teaching) and a set velocity mode (a mode in which the user can memorize an arbitrary control velocity as a velocity at the time of playback and, at the time of playback, the autonomous movement device100moves at the memorized control velocity). The processor10can select a velocity mode in the above-described target following memorizing processing and memorizes the selected velocity mode in conjunction with the route data.

When the set velocity mode is selected as a velocity mode, the processor10may memorize a control velocity that the user sets at the time when the autonomous movement device100follows a recognized following target (at the time of controlling the driven wheels40in accordance with teaching control data) in the above-described target following memorizing processing, and, when the autonomous movement device100moves along a memorized movement path (at the time of the playback processing or the playback correction processing), control the autonomous movement device100to move at the control velocity memorized at the time when the autonomous movement device100followed a recognized following target. Alternatively, when the teaching velocity mode is selected as a velocity mode, the processor10may memorize an actual velocity at the time when the autonomous movement device100follows a following target in the above-described target following memorizing processing, and, when the autonomous movement device100moves along a movement path (at the time of the playback processing or the playback correction processing), control the autonomous movement device100to move at the same velocity as the velocity at the time of teaching.

As described above, the processor10may memorize a velocity mode that the user selects or a control velocity that the user sets at the time when the autonomous movement device100follows a recognized following target (at the time of controlling the driven wheels40in accordance with teaching control data) in the above-described target following memorizing processing, and, when the autonomous movement device100moves along a movement path (at the time of the playback processing or the playback correction processing), control the driven wheels40to control movement velocity based on the memorized velocity mode or control velocity. Because of this configuration, it becomes possible to cause the autonomous movement device100to move at a desirable velocity at the time of playback. It may be configured such that storage of a control velocity or a velocity mode can be performed while the target following memorizing processing is performed or can be performed in the form of editing memorized data after the target following memorizing processing is finished. It may also be configured such that, as the control velocity, velocity at an arbitrary position on a movement path can be memorized. For example, as control velocity at the time of traveling straight, a comparatively high velocity may be memorized, and, as control velocity at the time of turning, a comparatively low velocity may be memorized. In addition, it may be configured such that a plurality of control velocities can be memorized in such a way that a different control velocity can be set depending on a condition. For example, it may be configured to memorize a comparatively low velocity as control velocity in the case where a load is heavier than a standard weight (for example, 10 kg) and memorize a comparatively high velocity as control velocity in the case where a load is less than or equal to the standard weight.

Note that causing various data as described above (the temporary stop position P1, the time T1, the control signal S, the output position P2, the condition C, the velocity mode, the control velocity, and the like) to be additionally memorized in memorized data is applicable to not only the case of target following teaching in which teaching is performed by causing the autonomous movement device100to recognize and follow a following target but also the case of manual operation teaching in which teaching is performed using the operation acquirer32, such as a joystick.

Variations

Although, in the autonomous movement device100, the sensor31is disposed above the operation acquirer32, as illustrated inFIG.2, the installation position of the sensor31is not limited to this position. For example, as illustrated inFIG.13, an autonomous movement device101according to a variation of Embodiment 1 includes a sensor31below a loading platform51. Although, as described above, the autonomous movement device100is capable of detecting an obstacle, using only the sensor31, since the autonomous movement device101according to the variation is capable of detecting an obstacle from a lower position, it becomes possible to avoid even a comparatively small obstacle.

Note that, regarding an obstacle, a dedicated sensor to detect an obstacle may be installed separately from the sensor31. As for the dedicated sensor to detect an obstacle, installing, for example, a bumper sensor in the bumper52is conceivable. In this case, when the processor10, using the bumper sensor, detects that the autonomous movement device100or101has come into contact with an obstacle, the processor10is capable of performing processing like causing the autonomous movement device100or101to stop, to slightly retreat, and the like.

Note that the respective functions of the autonomous movement device100or101can also be implemented by a general computer, such as a personal computer (PC). Specifically, in the above-described embodiment, the description was made assuming that programs of the target following memorizing processing, the playback processing, and the like that the autonomous movement device100or101performs are memorized in advance in the ROM in the storage20. However, a computer capable of achieving the above-described functions may be configured by storing programs in a non-transitory computer-readable recording medium, such as a flexible disk, a compact disc read only memory (CD-ROM), a digital versatile disc (DVD), a magneto-optical disc (MO), a memory card, and a universal serial bus (USB) memory, and distributing the recording medium and reading and installing the programs in the computer. A computer capable of achieving the above-described functions may also be configured by distributing programs via a communication network, such as the Internet, and reading and installing the programs in the computer.

REFERENCE SIGNS LIST