WO2021256062A1 - 自律移動装置、自律移動方法及びプログラム - Google Patents

自律移動装置、自律移動方法及びプログラム Download PDF

Info

Publication number
WO2021256062A1
WO2021256062A1 PCT/JP2021/015009 JP2021015009W WO2021256062A1 WO 2021256062 A1 WO2021256062 A1 WO 2021256062A1 JP 2021015009 W JP2021015009 W JP 2021015009W WO 2021256062 A1 WO2021256062 A1 WO 2021256062A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
autonomous
teaching
data
mobile device
Prior art date
Application number
PCT/JP2021/015009
Other languages
English (en)
French (fr)
Inventor
章 大島
宏泰 城吉
茂 阪東
索 柄川
Original Assignee
株式会社Doog
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 株式会社Doog filed Critical 株式会社Doog
Priority to US18/002,029 priority Critical patent/US20230266762A1/en
Priority to JP2022532332A priority patent/JPWO2021256062A1/ja
Publication of WO2021256062A1 publication Critical patent/WO2021256062A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/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
    • 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
    • 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/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser

Definitions

  • the autonomous mobile device is Transportation and Memories and Control means and It is an autonomous mobile device equipped with The control means is
  • the taught teaching data is stored in the storage means, and the teaching data is stored.
  • the moving means is controlled to automatically drive the autonomous moving device.
  • the holding point which is the point where the automatic traveling of the autonomous moving device is temporarily stopped
  • the moving means is controlled to cause the autonomous moving device to travel in a traveling mode other than the automatic traveling.
  • the paused automatic traveling is restarted.
  • the control means is At the hold point where the automatic traveling of the autonomous mobile device is temporarily stopped, the traveling direction of the autonomous mobile device is stored in the storage means as the hold direction.
  • the autonomous moving device reaches the vicinity of the hold point in a traveling mode other than the automatic traveling, it is determined whether the traveling direction of the autonomous moving device is opposite to the holding direction. If the traveling direction is opposite to the holding direction, the automatic traveling is restarted so as to travel to the starting point on a route in which the route from the start point where the automatic traveling is started to the hold point is reversed. , You may do so.
  • the control means is When the user's operation is acquired by the operation acquisition means during the automatic driving, the automatic driving is temporarily stopped, the position of the autonomous moving device at that time is set as the hold point, and the traveling direction of the autonomous moving device is set as the hold direction. , Each stored in the storage means, You may do so.
  • the control means is Recognize the following object from the objects detected by the detection means, When creating map data of the surrounding environment based on the data of the point cloud detected by the detection means, the map data is created by using the data other than the follower without using the data of the follower. do, You may do so.
  • the control means is When the storage of the teaching data is completed, the output means is made to output a signal indicating that the teaching process is completed. You may do so.
  • the control means is Based on the teaching data, the traveling route is adjusted when the autonomous moving device is automatically driven. You may do so.
  • the autonomous movement method is: It is an autonomous movement method for autonomous mobile devices.
  • the taught teaching data is stored in the storage means, and the teaching data is stored.
  • the moving means is controlled to automatically drive the autonomous moving device.
  • the holding point which is the point where the automatic traveling of the autonomous moving device is temporarily stopped, the moving means is controlled to cause the autonomous moving device to travel in a traveling mode other than the automatic traveling.
  • the paused automatic traveling is restarted.
  • the program according to the third aspect of the present invention is To the computer of the autonomous mobile device,
  • the taught teaching data is stored in the storage means, and the teaching data is stored.
  • the moving means is controlled to automatically drive the autonomous moving device.
  • the holding point which is the point where the automatic traveling of the autonomous moving device is temporarily stopped
  • the moving means is controlled to cause the autonomous moving device to travel in a traveling mode other than the automatic traveling.
  • the paused automatic traveling is restarted.
  • FIG. 1 It is a block diagram which shows the functional structure of the autonomous mobile device which concerns on Embodiment 1 of this invention. It is a figure which shows the appearance of the autonomous mobile device which concerns on Embodiment 1.
  • FIG. It is a figure explaining the appearance of the detection part and the laser which irradiates from the detection part of the autonomous movement device which concerns on Embodiment 1.
  • FIG. It is a figure which looked at the detection part and the operation acquisition part of the autonomous movement device which concerns on Embodiment 1 from the side of the autonomous movement device. It is a figure explaining the surrounding environment detected by the detection part which concerns on Embodiment 1.
  • FIG. It is a figure explaining an example of the operation acquisition part which concerns on Embodiment 1.
  • FIG. It is explanatory drawing of the surrounding environment data in the positive direction. It is explanatory drawing of the surrounding environment data in the reverse direction. It is a figure explaining an example of the traveling mode of the autonomous mobile device which concerns on Embodiment 1.
  • FIG. It is a flowchart of the teaching process of the autonomous mobile device which concerns on Embodiment 1.
  • FIG. It is a figure explaining the case where the autonomous mobile device which concerns on Embodiment 1 is taught the route from the 1st point to the 2nd point, and the route from the 3rd point to the 4th point.
  • This is the first part of the flowchart of the reproduction process of the autonomous mobile device according to the first embodiment.
  • This is the second part of the flowchart of the reproduction process of the autonomous mobile device according to the first embodiment.
  • the autonomous mobile device receives instruction from a user about a traveling route, stores teaching data, and reproduces the stored teaching data, based on the taught traveling route (teaching route). It is a device that autonomously moves from the start point to the goal point of the teaching route. Driving by reproducing teaching data is called automatic driving, and it is a general term for driving other than automatic driving (line tracing, manual control, automatic tracking, hand pushing, remote control, running based on instructions from other systems, etc.) It is called running.
  • FIG. 1 shows an example of the functional configuration of the autonomous mobile device 100 according to the first embodiment
  • FIG. 2 shows an example of the appearance.
  • the control unit 10 is composed of a CPU (Central Processing Unit) or the like, and by executing a program stored in the storage unit 20, each unit (peripheral information acquisition unit 11, map creation unit 12, self-position estimation unit 13) described later is executed. , Teaching data recording unit 14, peripheral information conversion unit 15, movement control unit 16) are realized. Further, the control unit 10 includes a clock (not shown), and can acquire the current date and time and count the elapsed time. The control unit 10 functions as a control means.
  • a CPU Central Processing Unit
  • the storage unit 20 is composed of a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and a part or all of the ROM is composed of an electrically rewritable memory (flash memory, etc.).
  • the ROM stores a program executed by the CPU of the control unit 10 and data necessary for executing the program in advance. Data that is created or modified during program execution is stored in the RAM.
  • the storage unit 20 functions as a storage means. Further, the storage unit 20 includes, as a functional configuration, a point storage unit 21, a map storage unit 22, and a teaching data storage unit 23, which will be described later.
  • the detection unit 31 is composed of a scanner-type laser range finder or the like as a sensing device, and is an object such as a person, a wall, an obstacle, or a reflective material existing around the autonomous moving device 100 (left and right and front in this embodiment). An object is detected as a collection of points (point cloud). As shown in FIG. 3, the detection unit 31 irradiates the laser 312 from the light emitting unit inside the optical window 311 and emits the laser reflected by an object such as a person, a wall, an obstacle, or a reflective material to the optical window 311.
  • the light emitting unit irradiates the laser 312 while changing the scan angle by rotating 320 degrees ( ⁇ 160 degrees when the direction directly in front of the autonomous moving device 100 is 0 degrees) around the rotation axis 313. Scan around.
  • the detection unit 31 can measure the distance to the object existing in that direction and the light receiving intensity for each scan angle.
  • the range of the rotation angle (scan angle) of the light emitting part is set to " ⁇ 160 degrees when the direction directly in front is 0 degrees", and the light emitting part is specified to rotate by, for example, ⁇ 180 degrees. It may be a specification that rotates ⁇ 100 degrees. Further, the scan angle does not have to be symmetrical.
  • the rotation axis 313 of the scan extends in the vertical direction, and the laser 312 has objects (people, walls, obstacles, reflections) existing on the left, right, front, and left of the autonomous moving device 100. Materials, etc.) are scanned three-dimensionally.
  • the detection unit 31 can detect the object if the light receiving unit can receive the laser reflected by the object, and can detect the object even if the object is located at a distance of, for example, 200 m from the detection unit 31. Further, by scanning three-dimensionally with the detection unit 31, the three-dimensional shape of the object can be detected.
  • the detection unit 31 functions as a detection means.
  • the configuration of the detection unit 31 is not limited to the scanner type laser rangefinder, and may be configured by a camera or another device capable of measuring the distance and the light receiving intensity.
  • the detection unit 31 has a wall 71 and a reflector 63 on the left side of the autonomous mobile device 100, a person 61 on the front, and an obstacle 72 and a reflector 64 on the right side. Detects if it exists at the position of.
  • the dotted line 60 indicates the angle (320 degrees) of the irradiation range of the laser irradiated from the detection unit 31, and does not indicate the irradiation distance.
  • the laser is irradiated to a range exceeding the dotted line 60 in terms of distance, and for example, the reflective material 63 is also detected. However, as shown by the dotted line 60, the laser is not irradiated in the angle range of 40 degrees behind the autonomous moving device 100.
  • the control unit 10 obtains data of a collection (point cloud) of coordinates (X, Y) of the point based on this distance and angle.
  • a collection point cloud
  • X the distance from the autonomous moving device 100 to the point in the front front direction
  • Y the deviation width from the autonomous moving device 100 in the lateral direction
  • control unit 10 may recognize the object detected by the detection unit 31 based on the information (distance to the object, light receiving intensity, etc.) acquired from the detection unit 31. For example, the control unit 10 may recognize that the object is a reflective material (so-called retroreflective material) when the condition for recognizing it as a reflective material is satisfied, such as the light receiving intensity being higher than a predetermined reference intensity. Further, the control unit 10 may recognize that the object is a person when the condition for recognizing the object is satisfied, such as the width of the object being about the width of a person (for example, 30 cm to 1 m).
  • control unit 10 may recognize that the object is a wall when the condition for recognizing the object is satisfied, such as the width of the object being longer than a predetermined reference value. Further, if the control unit 10 does not satisfy any of the conditions for recognizing a reflective material, a person, a wall, or the like, the control unit 10 may recognize the object as an obstacle.
  • control unit 10 may recognize that some object exists at the position based on the information acquired from the detection unit 31 without recognizing the type of the object or the like.
  • the control unit 10 performs initial detection based on the information acquired from the detection unit 31, scans the detected object every short time (for example, 50 milliseconds), and a mass of point clouds with small coordinate changes.
  • short time for example, 50 milliseconds
  • mass of point clouds with small coordinate changes By tracking), a wider variety of objects can be detected in a stable manner (for example, in the tracking mode described later, it is possible not only to follow a person but also to follow another autonomous mobile device 100). ..
  • the object recognition method described above is an example, and other recognition methods may be used.
  • the reflective material which is one of the objects to be detected by the detection unit 31, is made of a retroreflective material, and when the laser beam hits it, the laser beam is reflected in the incident direction. Therefore, when the light receiving intensity detected by the detection unit 31 is higher than the predetermined reference intensity, the control unit 10 can recognize that the reflective material is present in the direction of the scan angle of the detection unit 31 at that time. can. For example, in a place with a small amount of features such as a long corridor, even if the corridor is moved in the longitudinal direction, the information detected by the detection unit 31 does not change much, and the control unit 10 determines how much the movement is in the longitudinal direction. It becomes difficult to recognize. Even in such a case, by installing the reflective material 63 on the wall 71, the control unit 10 can recognize how much the corridor has moved in the longitudinal direction based on the number and arrangement of the detected reflective materials. , Enables more accurate map construction and stable driving.
  • the reflective material 63 is installed at a position where the laser beam emitted from the detection unit 31 hits (in this embodiment, a position at an altitude similar to the altitude of the detection unit 31).
  • a paint containing a retroreflective material may be applied to a wall or the like, an adhesive tape containing a retroreflective material may be attached to a wall or the like, or a rope or the like containing a retroreflective material (retroreflective to a normal rope or the like). It may be created by applying a paint containing the material or wrapping an adhesive tape containing the retroreflective material) by hanging it in the air.
  • the reproduction correction is a reproduction process in which the map data is also corrected during the reproduction of the teaching data.
  • loop reproduction is possible when the goal point of the teaching route is the same as or near the start point, and by repeatedly reproducing the teaching data, the goal is reached from the start point of the teaching route. It is a reproduction process that repeatedly travels to a point.
  • the operation acquisition unit 32 may include a touch panel that displays a UI (User Interface) that accepts user's instructions instead of the push button or in addition to the push button.
  • the operation menu (setting of maximum speed, acceleration, etc., selection of the set value, designation of destination, instruction to stop moving, instruction, playback, reverse playback, instruction to start and end loop playback, etc., is displayed on the touch panel display.
  • a menu for selecting a running mode (reproduction mode, manual control mode, etc.) is displayed, and the user can give each instruction to the autonomous mobile device 100 by touching them.
  • the autonomous mobile device 100 may include a communication unit that communicates with an external system (PC (Personal Computer), smartphone, etc.). Then, the communication unit transmits the current state and various data (for example, map data and teaching data) to an external system, and various data (for example, modified map data and teaching data) are transmitted from the external system. You may receive it.
  • PC Personal Computer
  • the communication unit transmits the current state and various data (for example, map data and teaching data) to an external system, and various data (for example, modified map data and teaching data) are transmitted from the external system. You may receive it.
  • the teaching includes not only the follow-up teaching taught by making the follow-up object follow, but also the manual teaching that teaches by manually manipulating the autonomous moving device 100 with the joystick 321 or the like of the operation acquisition unit 32.
  • the user can switch between the follow-up teaching and the manual teaching with the start button 3226 of the operation acquisition unit 32.
  • a teaching process capable of arbitrarily switching between follow-up teaching and manual teaching will be described.
  • the follow-up teaching and manual teaching whether the teaching data is acquired by following the follow-up object or acquired by the operation acquisition unit 32.
  • the present invention is not limited to these teachings, but can be applied to teachings by other arbitrary operations (hand push, input from an external system, etc.).
  • the drive unit 40 uses the position of the autonomous movement device 100 (based on the position and orientation at the start of movement) as a reference. It is possible to grasp the position and orientation of the device.
  • a crawler may be provided instead of the wheel 41, or a plurality of (for example, two) legs may be provided and the movement may be performed by walking with the legs.
  • the position and orientation of the autonomous moving device 100 can be measured based on the movements of the two crawlers, the movements of the legs, and the like, as in the case of the wheels 41.
  • the autonomous moving device 100 is provided with a loading platform 51, and can carry articles and the like on the loading platform 51 to a destination. Then, by attaching a tow receiving metal fitting to the end of the rear central portion of the loading platform 51, the trolley or the like can be towed. Further, the autonomous moving device 100 is provided with a bumper 52, and can be stopped when colliding with another object to soften the impact of the collision. Further, the autonomous mobile device 100 is provided with an emergency stop button 323 and can be manually stopped by the user.
  • control unit 10 functions as a peripheral information acquisition unit 11, a map creation unit 12, a self-position estimation unit 13, a teaching data recording unit 14, a peripheral information conversion unit 15, and a movement control unit 16, respectively. , Controls the movement of the autonomous moving device 100, and the like.
  • the peripheral information acquisition unit 11 acquires the position of the object detected by the detection unit 31 as point cloud data. Further, when the start button 3226 is pressed and the autonomous movement device 100 enters the automatic follow-up mode or the follow-up teaching mode, the peripheral information acquisition unit 11 is a mass of point clouds existing in front (people, other autonomous movement devices 100, etc.). Is recognized as a follower.
  • the map creation unit 12 creates map data of the surrounding environment of the autonomous mobile device 100 based on the point cloud data detected by the detection unit 31.
  • the point cloud data obtained by one scan of the laser 312 of the detection unit 31 becomes the map data for one frame.
  • the point cloud data is, for example, surrounding environment data showing the existence status (distance, direction, etc.) of surrounding objects (walls, obstacles, reflective materials, etc.).
  • the data format of the map data is arbitrary.
  • the map creation unit 12 may create map data by, for example, SLAM (Simultaneus Localization And Mapping) using the data detected by the detection unit 31.
  • SLAM Simultaneus Localization And Mapping
  • the map creation unit 12 collects data of a point cloud for one frame (surrounding environment data indicating the existence status of surrounding objects) detected by the detection unit 31 at predetermined intervals.
  • the map data is constructed by recording in the map storage unit 22 described later.
  • the predetermined interval for recording data for one frame is every predetermined movement amount (for example, 50 cm), every predetermined time (for example, 0.2 seconds), every rotation at a predetermined angle (for example, 45 degrees), and the like. be able to.
  • the map data for each frame is stored, and the frames are switched one after another at predetermined intervals during traveling to prevent the problem of cumulative error (closed loop problem) in so-called SLAM. There is. Therefore, more robust and reliable map-based autonomous movement can be achieved even on large routes.
  • the self-position estimation unit 13 collates the point cloud data detected by the detection unit 31 with the map data recorded in the map storage unit 22, and estimates the self-position of the autonomous moving device 100 within the collated frame.
  • the self-position estimation unit 13 may acquire information on the current position (self-position) of the autonomous moving device 100 by using the value of the mecha domemetry obtained from the drive unit 40.
  • the teaching data recording unit 14 records the teaching data acquired by the teaching process described later in the teaching data storage unit 23.
  • the teaching data is composed of map data recorded in frame units at predetermined intervals and continuous point sequences of coordinates of the positions of the autonomous mobile devices 100 actually traveled as data sequentially recorded during the teaching process. Has been done. For example, as shown in FIG. 5, when the autonomous mobile device 100 is traveling straight following the person 61, the point sequence 65 is included in the teaching data. Further, when the user gives an instruction such as pausing and turning on / off the LED 331 during the teaching, the instruction content is also sequentially recorded in the teaching data. By executing the teaching process for a plurality of routes, the teaching data recording unit 14 may record a plurality of teaching data in the teaching data storage unit 23.
  • the control unit 10 frames the sensor data (data of the point cloud at the time of reproduction detected by the detection unit 31) and the map data recorded in the teaching data storage unit 23. After collating in units and estimating the position of the autonomous moving device 100 in the frame, the vehicle travels along the point cloud recorded in the teaching data storage unit 23 (the point cloud of the route actually traveled at the time of teaching). The drive unit 40 is controlled in such a manner. Then, when a predetermined condition (for example, traveling 50 cm) is satisfied, the process moves to the next frame in the teaching data, and the control unit 10 performs the same processing using the data in the next frame. By repeating this, autonomous driving is performed.
  • a predetermined condition for example, traveling 50 cm
  • the movement control unit 16 controls the drive unit 40 to move the autonomous movement device 100. For example, from the time when the instruction to start teaching is input to the operation acquisition unit 32 until the instruction to end teaching is input, the movement control unit 16 is as instructed by the operation acquisition unit 32 or a follower. The drive unit 40 is controlled so as to follow. Further, when an instruction to start reproduction is input to the operation acquisition unit 32, the movement control unit 16 controls the drive unit 40 so as to move according to the teaching data stored in the teaching data storage unit 23.
  • the storage unit 20 includes a point storage unit 21, a map storage unit 22, and a teaching data storage unit 23.
  • the point storage unit 21 records data for determining the position of the autonomous mobile device 100 (for example, the position of the start point, the position of the goal point, etc.) based on the user's operation acquired by the operation acquisition unit 32. Will be done. For example, when an instruction to start teaching is input to the operation acquisition unit 32, the surrounding environment data detected from the detection unit 31 at the current position and direction of the autonomous mobile device 100 is stored at the start point (first point). It is recorded in the point storage unit 21 as point data (first point data).
  • the map storage unit 22 records the map data created by the map creation unit 12 based on the surrounding environment data detected by the detection unit 31 in the teaching process described later.
  • the teaching data storage unit 23 stores teaching data (map data recorded during teaching, a sequence of points of positions of the autonomous mobile device 100, data related to pauses and the like taught by the user) acquired by the teaching process described later.
  • the sequence is stored as teaching data.
  • the traveling mode of the autonomous mobile device 100 will be described with reference to FIG.
  • the power button is pressed while the power of the autonomous mobile device 100 is off, the power is turned on and the manual control mode is set.
  • the manual control mode the user can manually control the autonomous movement device 100 by operating the joystick 321 of the operation acquisition unit 32.
  • the manual control mode when the user stands in front of the autonomous movement device 100 and presses the start button 3226, the autonomous movement device 100 recognizes the user standing in front as a follower and switches to the automatic follow-up mode.
  • the automatic follow-up mode when the user walks, the autonomous mobile device 100 moves after the user (automatically follows the user), and when the user stops, the autonomous mobile device 100 stops at a certain distance from the user.
  • the autonomous movement device 100 switches to the manual control mode. Further, in the manual control mode, when the start button 3226 is pressed twice, the autonomous moving device 100 switches to the line trace mode. In the line trace mode, the autonomous moving device 100 traces a line set by a retroreflective material or the like and travels. In the line trace mode, when the user presses the start button 3226 twice again, the autonomous mobile device 100 switches to the manual control mode.
  • the LED 331 of the memory button 3221 lights up and the mode is switched to the manual teaching mode.
  • the manual teaching mode the user can teach the route by operating the joystick 321.
  • the manual teaching mode when the user stands in front of the autonomous moving device 100 and presses the start button 3226, the autonomous moving device 100 recognizes the user standing in front as a follower and switches to the follow-up teaching mode.
  • the follow-up teaching mode when the user walks along the route to be taught, the autonomous moving device 100 moves after the user, and the route walked by the user is stored as the teaching route.
  • the start button 3226 again in the follow-up teaching mode, the autonomous moving device 100 switches to the manual teaching mode.
  • the autonomous moving device 100 switches to the line trace teaching mode.
  • the autonomous moving device 100 travels so as to follow a line set by a retroreflective material or the like, and stores this traveling route as teaching data.
  • the autonomous mobile device 100 switches to the manual teaching mode.
  • the follow-up teaching mode, and the line trace teaching mode when the user presses the storage button 3221 again, the teaching is terminated, the LED 331 of the storage button 3221 is turned off, and the manual control mode is returned.
  • the manual teaching mode, the follow-up teaching mode, and the line trace teaching mode are collectively called the storage mode.
  • the autonomous mobile device 100 switches to the play mode.
  • the teaching data is reproduced, and the autonomous moving device 100 automatically travels (runs or pauses) based on the teaching data.
  • the autonomous mobile device 100 stores the current position as the hold point and enters the hold state.
  • the autonomous movement device 100 may temporarily travel in the guide travel mode (manual control mode, automatic follow-up mode, line trace mode, hand push, etc.) while retaining the information on how far the reproduction has been performed. can.
  • the autonomous mobile device 100 When the user drives the autonomous mobile device 100 until it returns to the hold position in the hold state and then presses the play button 3222, the autonomous mobile device 100 returns to the playback mode, and playback from the continuation of the teaching data is continued. Further, when the user presses the play button 3222 with the direction of the autonomous mobile device 100 in the hold position reversed, the autonomous mobile device 100 reproduces the teaching data in the reverse direction and returns to the start point. You may. If the user presses the start button 3226 during the reproduction of the teaching data, the reproduction is terminated and the autonomous movement device 100 switches to the manual control mode. When the reproduction is stopped, when the reproduction button 3222 is pressed again, the autonomous mobile device 100 reproduces the teaching data from the beginning (from the starting point).
  • the autonomous mobile device 100 switches to the reverse play mode.
  • the reverse playback mode playback is performed in the reverse direction from the goal point to the start point of the teaching route.
  • the peripheral information conversion unit 15 converts the information (peripheral environment data) of surrounding objects recorded in the map storage unit 22 into data from the reverse direction.
  • the autonomous mobile device 100 teaches by reproducing the teaching data when the route from the start point to the goal point is taught from the reverse direction. It is possible to play the route in the opposite direction.
  • the autonomous movement device 100 switches to the play correction mode.
  • the reproduction correction mode the reproduction correction process described later is performed, and the autonomous mobile device 100 reproduces the teaching data while correcting the map data as necessary.
  • the operation method of the push button 322 of the operation acquisition unit 32 in each of the above running modes is an example, and the operation for switching each running mode is not limited to the above-mentioned push button 322.
  • the memory button 3221, the play button 3222, and the loop play button 3223 are integrated into one button (temporarily referred to as a universal button), and when the universal button is pressed when the teaching data is not recorded, the teaching mode is set and the teaching mode is set. If the universal button is pressed while the data has been recorded, the playback mode may be set. Further, when the goal point of the teaching route is the same as the start point or a point near the start point, the loop reproduction mode may be set when the reproduction button 3222 (or the universal button) is pressed.
  • control unit 10 switches the traveling mode of the autonomous moving device 100 to the manual teaching mode (step S101). Then, the control unit 10 records the surrounding environment data detected by the detection unit 31 in the point storage unit 21 as the point data (first point data) at the start point (first point) (step S102). If the map data has already been recorded in the map storage unit 22, the control unit 10 grasps which position on the map data the start point corresponds to.
  • control unit 10 determines whether or not the start button 3226 has been pressed (step S103). If the start button 3226 is pressed (step S103; Yes), the control unit 10 determines whether or not the traveling mode of the autonomous mobile device 100 is the manual teaching mode (step S104).
  • step S104 If the traveling mode is the manual teaching mode (step S104; Yes), the peripheral information acquisition unit 11 recognizes the user existing in front of the autonomous mobile device 100 as a follower by the detection unit 31 (step S105). Then, the control unit 10 switches the traveling mode of the autonomous moving device 100 to the follow-up teaching mode (step S106), and proceeds to step S108.
  • step S104 If the travel mode is not the manual instruction mode (that is, the follow-up instruction mode) (step S104; No), the control unit 10 switches the travel mode of the autonomous mobile device 100 to the manual instruction mode (step S107), and proceeds to step S108.
  • step S103 if the start button 3226 is not pressed (step S103; No), the control unit 10 scans with the detection unit 31 and acquires information around the autonomous mobile device 100 (step S108). Then, the control unit 10 determines whether or not the traveling mode is the manual teaching mode (step S109).
  • step S109 the control unit 10 acquires the user's operation (mainly the movement operation by the joystick 321) in the operation acquisition unit 32 (step S110). Then, while the movement control unit 16 controls the drive unit 40 according to the operation of the user, the map creation unit 12 maps the surrounding environment of the autonomous movement device 100 (data of the point cloud detected by the detection unit 31 in step S108). Is recorded in the map storage unit 22 in frame units, and the teaching data recording unit 14 records the map data in the frame units and the point cloud of the coordinates of the traveling position of the autonomous moving device 100 as teaching data in the teaching data storage unit 23. (Step S111), and the process proceeds to step S114.
  • the map creation unit 12 records the position and number of the reflective material in the map storage unit 22 in step S111. Therefore, even in a place with a small amount of features such as a long corridor, information on the location and number of reflective materials can be recorded in the map storage unit 22 by installing the reflective material in places (pasting it on the wall, etc.). Will be done. As a result, the control unit 10 can more accurately grasp the self-position of the autonomous moving device 100 by matching with the information on the position and the number of the reflective materials during the reproduction process described later.
  • the movement control unit 16 controls the drive unit 40 so as to follow the follow-up object recognized by the peripheral information acquisition unit 11.
  • the map creation unit 12 records the map data of the surrounding environment of the autonomous mobile device 100 (data of the point cloud detected by the detection unit 31 in step S108) in the map storage unit 22 in frame units, and the teaching data recording unit 14 corresponds to the same.
  • the map data in frame units and the point cloud of the coordinates of the traveling position of the autonomous moving device 100 are recorded in the teaching data storage unit 23 as teaching data (step S112). Similar to the process in step S111 described above, when the peripheral information acquisition unit 11 recognizes the reflective material, the map creation unit 12 also performs map data on the position and number of the reflective material in step S112. And record it in the map storage unit 22.
  • control unit 10 deletes the point cloud data of the follower recognized by the peripheral information acquisition unit 11 from the map data recorded in the map storage unit 22 (step S113), and proceeds to step S114.
  • step S113 does not necessarily have to be performed separately from step S112, and when the map creation unit 12 creates map data in step S112, the point cloud data of the follower is not used and the follower is other than the follower. Map data may be created using point cloud data.
  • step S112 the movement control unit 16 controls the drive unit 40 so that the autonomous movement device 100 does not retreat (for example, stops) even if the following object retreats. That is, while following the following object, the movement control unit 16 does not instruct the drive unit 40 to retreat.
  • the movement control unit 16 may control the drive unit 40 so as not to retract the autonomous movement device 100 in step S111.
  • step S114 the control unit 10 determines whether or not the user's operation has been acquired by the operation acquisition unit 32. If the user operation is acquired (step S114; Yes), the teaching data recording unit 14 records the information of the user operation as teaching data in the teaching data storage unit 23 (step S115), and proceeds to step S116. Specifically, the user operation acquired in step S114 is instructed as a "pause” instruction by pressing the play button 3222 once (the time until the play button 3222 is pressed again is the "pause time". (Recorded in the data storage unit 23), instruction of "hold position setting" by pressing the play button 3222 twice in succession (pauses at this position during playback, and when the user presses the play button 3222, the hold state is set. (Transition), an instruction of "LED on / off switching” by pressing the loop reproduction button 3223 (switching on / off of the LED 331 at this position during reproduction), and the like.
  • step S114 if the user operation is not acquired (step S114; No), the process proceeds to step S116.
  • step S116 the control unit 10 determines whether or not an instruction to end teaching has been input from the operation acquisition unit 32 (that is, whether the memory button 3221 has been pressed). If the instruction to end the teaching is not input (step S116; No), the process returns to step S103.
  • step S116; Yes the control unit 10 inputs the surrounding environment data detected by the detection unit 31 to the point data (second point data) at the goal point (second point) of the teaching route. Is recorded in the point storage unit 21 (step S117).
  • the control unit 10 outputs a sound (sound effect, melody, etc.) indicating that the recording of the teaching data is completed from the speaker of the output unit 33 (step S118), and ends the teaching process.
  • a sound sound effect, melody, etc.
  • the control unit 10 turns on the LED 331 during teaching to indicate to the user that it is operating in the teaching mode, and in step S118, turns off the LED 331 to indicate that the recording of the teaching data is completed. May be good.
  • Teaching data data for controlling the autonomous mobile device 100 so as to travel from the start point to the goal point according to the teaching route by this teaching process. Control data such as pausing in the middle and turning on / off the LED is also included. .
  • the start point is described as the first point and the goal point is described as the second point, but this is a story when these points are first recorded in the point storage unit 21.
  • the start point where the teaching is started is set as the third point, and the goal point where the teaching is finished is set.
  • each is recorded in the point storage unit 21. In this way, the point where the instruction to start teaching (start point) and the point where the instruction to end teaching is input (goal point) can be cumulatively recorded in the point storage unit 21.
  • the teaching data storage unit 23 can also record a plurality of teaching routes.
  • the autonomous mobile device 100 receives an instruction to start teaching from the user 66 at the position of the first point 81. Then, the control unit 10 records the surrounding environment data 60a detected by the detection unit 31 as the point data (first point data) of the start point in the point storage unit 21 (step S102). Then, when the user stands in front of the autonomous mobile device and presses the start button 3226, the peripheral information acquisition unit 11 recognizes the user 66 as a follower (step S105).
  • the position information of the third point is recorded in the point storage unit 21 as the position information of the hold point, and the teaching data "pause at the third point" is the teaching data. It is recorded in the storage unit 23 (step S115).
  • the control unit 10 uses the surrounding environment data 60e detected by the detection unit 31 as the second point data. Record in the point storage unit 21 (step S117). Further, during this teaching process, teaching data for advancing the route from the first point 81 to the second point 82 (first teaching route) is recorded in the teaching data storage unit 23.
  • the control unit 10 records the surrounding environment data 60h detected by the detection unit 31 as the point data (third point data) of the start point in the point storage unit 21 (step S102). Then, when the user stands in front of the autonomous mobile device and presses the start button 3226, the peripheral information acquisition unit 11 recognizes the user 67 as a follower (step S105).
  • the autonomous mobile device 100 also follows the user 67 and moves to the fourth point 84, but the map creation unit 12 is detected by the detection unit 31 during the movement. Map data of the surrounding environment is created based on the data (for example, peripheral environment data 60i) and recorded in the map storage unit 22 (step S112).
  • step S116 when the user 67 inputs an instruction to end teaching at the fourth point 84 to the operation acquisition unit 32 (step S116), the control unit 10 inputs the surrounding environment data 60j detected by the detection unit 31 to the point data of the goal point (step S116). It is recorded in the point storage unit 21 as the fourth point data) (step S117). Further, during this teaching process, the teaching data for advancing the route from the third point 83 to the fourth point 84 (second teaching route) is recorded in the teaching data storage unit 23.
  • the point data of each point is recorded in the point storage unit 21, the map data is recorded in the map storage unit 22, and the teaching data is recorded in the teaching data storage unit 23.
  • the running mode during the teaching process is described as two types, the manual teaching mode and the follow-up teaching mode, but the running mode during the teaching process is not limited to these two types.
  • No. Teaching processing is also possible by line tracing, hand pushing, remote control, running based on instructions from other systems, and the like.
  • the number of branches based on the type of traveling mode is increased in the determination of step S109 in FIG.
  • the process of recording the map data and the teaching data may be performed while traveling in each of the traveling modes.
  • the reproduction process of the autonomous mobile device 100 will be described with reference to FIGS. 11, 12, and 13. Execution of this reproduction process is started when the user presses the reproduction button 3222 of the operation acquisition unit 32.
  • the reverse reproduction process is executed, and when the user presses the acceleration button 3225 at the same time as the play button 3222, the reproduction correction process is executed. Since the reverse reproduction process and the reproduction correction process are processes in which only a part of the reproduction process is changed, additional explanations will be given as appropriate in the following explanation of the reproduction process.
  • the control unit 10 acquires the current location of the autonomous mobile device 100 (step S201).
  • the method of acquiring the current location is arbitrary.
  • the control unit 10 may acquire the current location of the autonomous mobile device 100 by using SLAM.
  • the control unit 10 may acquire the current location by collating the data acquired by the detection unit 31 with the data of each point recorded in the point storage unit 21.
  • the method of acquiring the current location by collating the data acquired by the detection unit 31 with the data of each point recorded in the point storage unit 21 will be supplementarily described below.
  • the current location is set to the point storage unit 21 by matching the overlapping portions. It is possible to determine whether or not it is a recorded point, and if it is a recorded point, which of them it is.
  • the detection unit 31 has acquired data in an angle range of 320 degrees and the current position of the autonomous moving device 100 is the second point 82, the position is located at the second point 82 as shown in FIG.
  • the data detected by the detection unit 31 when the autonomous mobile device 100 is facing in the direction opposite to the first point 81 is the surrounding environment data 60e, and the detection unit is when facing the direction of the first point 81.
  • the data detected in 31 is the surrounding environment data 60f, and there is an overlapping portion of 280 degrees (140 degrees each on the left and right) between the two as shown in the shaded portion 60ef.
  • one of the surrounding environment data is collated while rotating little by little, and if more than half (for example, 280 degrees or more) are matched, it is obtained from the same point. It can be estimated that it is the surrounding environment data.
  • control unit 10 records the current location in the point storage unit 21 by collating the surrounding environment data detected by the detection unit 31 with the data of each point recorded in the point storage unit 21. You can get which of the points you are in. If it does not match any of the points recorded in the point storage unit 21, the current location cannot be acquired, and in step S201, for example, the value "current location cannot be acquired" is acquired.
  • control unit 10 determines whether or not the current location acquired in step S201 is the start point recorded in the point storage unit 21 (step S202). If it is not the start point (step S202; No), it means that the teaching route starting from that position is not taught, so the control unit 10 outputs a sound indicating an error from the speaker of the output unit 33 (step S203). End the playback process.
  • control unit 10 scans with the detection unit 31 and acquires information around the autonomous mobile device 100 (step S204).
  • the control unit 10 determines whether or not an obstacle exists within the passable width in the traveling direction of the autonomous mobile device 100 based on the peripheral information acquired in step S204 (step S205).
  • the passable width is a value (1.1 m in this example) obtained by adding the left and right allowances (for example, 5 cm each on the left and right) to the width (for example, 1 m) of the autonomous moving device 100.
  • the judgment in step S205 is Yes. .. This is because if the autonomous mobile device 100 travels as it is in this case, at least one of the left and right sides of the autonomous mobile device 100 may collide with a wall or an obstacle.
  • step S205 the control unit 10 determines whether or not the autonomous mobile device 100 can avoid the obstacle (step S206). In the present embodiment, if the following two conditions are satisfied, the control unit 10 determines that the obstacle can be avoided. (1) The control unit 10 does not lose track of the current position (self-position) of the autonomous mobile device 100 (for example, the surrounding environment data detected by the detection unit 31 is collated with the map data recorded in the map storage unit 22. Obstacles can be avoided within the range (where the self-position can be grasped). (2) There is a width between the obstacle and the obstacle or the wall so that the autonomous mobile device 100 can pass through.
  • the avoidable width is the maximum value of deviation from the teaching route within a range in which the autonomous mobile device 100 can estimate its own position based on the map data or the like stored in the map storage unit 22. For example, it is 0.9 m.
  • the autonomous movement device 100 moves laterally beyond this avoidable width, it becomes difficult to estimate its own position based on the surrounding information and map data obtained by scanning with the detection unit 31, and thus the vehicle travels.
  • the obstacle is avoided if the obstacle can be avoided within the avoidable width, but if the obstacle is exceeded the avoidable width, the vehicle stops without avoiding it. Therefore, even if an obstacle moves to some extent within the range below the avoidable width, the autonomous moving device 100 can travel while avoiding the obstacle.
  • an obstacle such as a cone directly above the teaching route, the user can intentionally stop the autonomous mobile device 100 in front of the obstacle.
  • step S206 If the autonomous mobile device 100 can avoid the obstacle (step S206; Yes), the control unit 10 acquires the lateral movement amount (adjustment width) necessary for avoiding the obstacle as the avoidance amount. (Step S207), the process proceeds to step S213. For example, as shown in FIG. 14, when the obstacle 73 is approaching the point sequence 75 of the teaching route and the autonomous mobile device 100 may collide with the obstacle 73 if the autonomous mobile device 100 travels as it is, the control unit 10 may perform the control unit 10.
  • the width Wo between the obstacle 73 and the obstacle 74 is equal to or greater than the passable width Wv, and the avoidance amount Wa required to avoid the obstacle 73 is If it is equal to or less than the avoidable width, it is determined that avoidance is possible, and Wa is acquired as the avoidance amount.
  • the control unit 10 adjusts the instructed travel path shown by the point sequence 75 by the amount of this avoidance amount Wa, so that the autonomous mobile device 100 travels while avoiding the obstacle 73. Can be done.
  • step S208 the movement control unit 16 controls the drive unit 40 to stop the traveling of the autonomous mobile device 100 (step S208).
  • the control unit 10 may output an alarm sound or the like from the speaker of the output unit 33 to notify the user that the vehicle has stopped traveling. Then, the control unit 10 determines whether or not the user's operation has been acquired from the operation acquisition unit 32 (step S209). If the user's operation is not acquired (step S209; No), the process proceeds to step S204. This is because obstacles may have been removed over time.
  • step S241 if the user's instruction is a hold instruction (step S241; Yes), if the autonomous mobile device 100 is still traveling, the movement control unit 16 controls the drive unit 40 to stop the travel of the autonomous mobile device 100. (Step S243). Then, the control unit 10 records the current position and orientation of the autonomous mobile device 100 as the hold position and hold direction in the storage unit 20 (step S244). Then, the control unit 10 determines whether or not the restart instruction (the play button 3222 is pressed) has been acquired from the operation acquisition unit 32 (step S245). When the restart instruction is acquired (step S245; Yes), the process proceeds to step S204 of FIG.
  • step S245 the process proceeds to step S226 in FIG.
  • the autonomous moving device 100 can travel in an arbitrary traveling mode other than automatic traveling in the hold state.
  • the user temporarily causes the autonomous moving device 100, which is automatically traveling by the reproduction process, to another place to carry a load that is not normally carried, or to travel a route that is not normally carried. can do.
  • the details of the process of FIG. 12 will be described later.
  • step S205 if there is no obstacle in step S205 of FIG. 11 (step S205; No), the control unit 10 resets the avoidance amount for avoiding the obstacle to 0 (step S210). As a result, the subsequent autonomous mobile device 100 is controlled so that the adjustment range of the traveling route becomes small, and returns to the original teaching route.
  • the self-position estimation unit 13 collates the data of the point cloud detected by the detection unit 31 in step S204 with the map data recorded in the map storage unit 22, and determines the self-position and orientation of the autonomous mobile device 100.
  • the estimated movement control unit 16 travels along the point cloud of the coordinates of the position of the autonomous moving device 100 at the time of teaching recorded in the teaching data storage unit 23 for the self-position estimated by the self-position estimation unit 13.
  • the drive unit 40 is controlled so as to (automatically travel) (step S213).
  • the control unit 10 adjusts the point sequence (traveling path) of the coordinates of the position of the autonomous moving device 100 at the time of teaching by the amount of the avoidance amount.
  • the movement control unit 16 causes the autonomous movement device 100 to travel from the point sequence 75 of the original teaching route according to the adjusted route 76 avoiding the obstacle 73 by the avoidance amount Wa. Controls the drive unit 40.
  • the control unit 10 obtains peripheral information when grasping the current position and orientation of the autonomous moving device 100 in step S213. Priority is given to the information of the reflective material (position and number of reflective materials) recognized in step 1 and matched with the map data. If the information of the reflectors does not match (for example, the number of reflectors is different) continues for a predetermined time (for example, 10 seconds) or a predetermined movement distance (for example, 10 m), the control unit 10 autonomously moves. The device 100 may be stopped. Compared with other ordinary objects, the reflective material can accurately recognize its position and number by the detection unit 31, and the fact that the non-matching state continues for a predetermined time or moving distance means that the autonomous moving device 100 Is likely to deviate from the original route.
  • step S213 if the surrounding environment data detected by the detection unit 31 and the map data recorded in the map storage unit 22 do not match during the traveling in step S213, control is performed.
  • the unit 10 determines that there is a high possibility that the autonomous mobile device 100 deviates from the original route.
  • the reproduction correction process when the peripheral environment data detected by the detection unit 31 and the map data recorded in the map storage unit 22 do not match, the peripheral environment detected by the detection unit 31 The process of correcting the map data recorded in the map storage unit 22 by regarding the data as correct data is performed immediately after step S213.
  • Map data can be corrected. Further, it is possible to improve the accuracy of the subsequent regeneration process by adding a reflective material installed on the wall of the corridor or the like.
  • control unit 10 collates the surrounding environment data detected by the detection unit 31 with the point data recorded in the point storage unit 21, and the autonomous mobile device 100 arrives at the goal point. Whether or not it is determined (step S214). This determination can be performed by the same process as the determination of the start point in step S202 described above.
  • step S214 When the goal point is reached (step S214; Yes), the movement control unit 16 stops the drive unit 40 (step S215) and ends the reproduction process.
  • control unit 10 autonomously moves by collating the surrounding environment data detected by the detection unit 31 with the point data recorded in the point storage unit 21. It is determined whether or not the current position of the device 100 is the hold point (step S216). This determination can also be performed by the same process as the determination of the start point in step S202 described above.
  • step S216 determines whether or not the user's operation has been acquired from the operation acquisition unit 32 (step S217). If the user's operation is not acquired (step S217; No), the process proceeds to step S204. When the user's operation is acquired (step S217; Yes), the process proceeds to step S241 of FIG.
  • step S216 if the current location is the hold point in step S216 (step S216; Yes), the process proceeds to step S221 in FIG. 12, and the movement control unit 16 stops the drive unit 40 (step S221). Then, the control unit 10 records the current position and orientation of the autonomous mobile device 100 as the hold position and hold direction in the storage unit 20 (step S222). Then, the control unit 10 determines whether or not the hold instruction (the play button 3222 is pressed) has been acquired from the operation acquisition unit 32 (step S223).
  • the hold instruction the play button 3222 is pressed
  • step S223; No the control unit 10 determines whether or not the restart instruction (the play button 3222 has been pressed twice in succession) has been acquired from the operation acquisition unit 32 (step S223; No). Step S224). When the restart instruction is acquired (step S224; Yes), the process proceeds to step S204 of FIG. If the restart instruction is not acquired (step S224; No), the control unit 10 determines whether or not the discontinuation instruction (the start button 3226 is pressed) has been acquired from the operation acquisition unit 32 (step S225).
  • step S225; No If the discontinuation instruction is not obtained (step S225; No), the process returns to step S223.
  • the discontinuation instruction is acquired (step S225; Yes)
  • the process proceeds to step S215 in FIG.
  • step S223 when the hold instruction is acquired in step S223 (step S223; Yes), the control unit 10 switches the state of the autonomous mobile device 100 to the hold state (step S226).
  • the control unit 10 may, for example, turn on the LED 331 of the output unit 33 to notify the user that the autonomous mobile device 100 is currently in the hold state.
  • control unit 10 scans with the detection unit 31 and acquires information around the autonomous mobile device 100 (step S227). Then, the control unit 10 collates the surrounding environment data detected by the detection unit 31 with the information of the hold position recorded in step S222, so that the current position of the autonomous mobile device 100 is in the vicinity of the hold point (for example, the hold point). It is determined whether or not the position is less than 10 cm from the front, back, left and right (step S228).
  • step S228 If it is not near the hold point (step S228; No), the process proceeds to step S230. If it is near the hold point (step S228; Yes), the control unit 10 outputs a notification sound from the speaker of the output unit 33 (step S229), and tells the user, "From this position, the hold state returns to the playback mode. Is possible. "
  • step S230 the control unit 10 determines whether or not the restart instruction (play button 3222 is pressed) has been acquired from the operation acquisition unit 32 (step S232). If the restart instruction is not acquired (step S232; No), the control unit 10 determines whether or not the discontinuation instruction (the start button 3226 is pressed) has been acquired from the operation acquisition unit 32 (step S233).
  • step S233; No If the discontinuation instruction is not obtained (step S233; No), the process returns to step S227.
  • the discontinuation instruction is acquired (step S233; Yes)
  • the process proceeds to step S215 in FIG.
  • step S232 when the restart instruction is acquired in step S232 (step S232; Yes), the autonomous mobile device 100 is collated with the hold position information recorded in step S222 or step S244 with the surrounding environment data detected in step S227. It is determined whether or not the current position of is near the hold point (step S234). If the current position is not near the hold position (step S234; No), the playback mode cannot be returned from that position, so that the control unit 10 outputs a sound indicating an error from the speaker of the output unit 33 (step S235). ), Return to step S227.
  • step S234 If the current position is near the hold position (step S234; Yes), the control unit 10 has the control unit 10 that the current orientation of the autonomous mobile device 100 substantially coincides with the hold direction recorded in step S222 or step S244 (for example, 10 degrees or less). (Step S236).
  • step S236 If the current orientation of the autonomous mobile device 100 substantially matches the hold direction (step S236; Yes), the mode returns from the hold state to the reproduction mode (step S240), and the process proceeds to step S204 of FIG. If the current orientation of the autonomous mobile device 100 does not match the hold direction (step S236; No), the control unit 10 determines that the current orientation of the autonomous mobile device 100 is the opposite of the hold direction recorded in step S222 or step S244. It is determined whether or not the orientation is substantially the same (for example, there is only a deviation of 10 degrees or less) (step S237).
  • step S237 If the current orientation of the autonomous mobile device 100 is not the opposite of the hold direction (step S237; No), the movement control unit 16 controls the drive unit 40 so that the orientation of the autonomous mobile device 100 matches the hold direction. It is turned (so that the position is the hold position) (step S238). Then, the state returns to the reproduction mode from the hold state (step S240), and the process proceeds to step S204 of FIG.
  • step S237 If the current orientation of the autonomous mobile device 100 is the opposite of the hold direction (step S237; Yes), the peripheral information conversion unit 15 converts the peripheral environment data recorded in the map storage unit 22 into data from the opposite direction. , The control unit 10 sets the teaching data used for reproduction from the start point to the hold point in the opposite direction so as to return to the start point (step S239). Then, the state returns to the reproduction mode from the hold state (step S240), and the process proceeds to step S204 of FIG.
  • step S237 when the deviation between the current direction and the hold direction is ⁇ 90 degrees or less, the process proceeds to step S238, in other cases, the process proceeds to step S239, and in step S239, the movement control unit 16 is driven.
  • a process may be performed in which the unit 40 is controlled to turn the direction of the autonomous moving device 100 in the direction opposite to the hold direction (and the position is set to the hold position).
  • the control unit 10 controls the drive unit 40 based on the teaching data to automatically drive the autonomous moving device 100 (step S213).
  • the hold point which is the point where the traveling of the autonomous mobile device 100 is temporarily stopped
  • the drive unit 40 is controlled based on the user's operation acquired by the operation acquisition unit 32 to control the autonomous mobile device 100.
  • the vehicle is driven (manually driven) in a running mode other than the automatic running (step S231).
  • the autonomous moving device reaches the vicinity of the hold point in a traveling mode other than the automatic traveling (step S234; Yes)
  • the paused automatic traveling is restarted (steps S240 to S213).
  • the autonomous mobile device 100 shifts from the reproduction mode to the hold state at the hold point, and the user can freely drive the autonomous mobile device 100 in any driving mode (guided driving mode) other than automatic driving.
  • driving mode guided driving mode
  • an operator operates the autonomous moving device 100 at an arbitrary point to put it in a hold state, then departs from the automatic driving route (teaching route) and reaches the vicinity of the object to be transported in the automatic following mode. After moving and loading and unloading the object to be transported, it is possible to return to the hold point in the automatic follow-up mode. Then, at the hold point, the autonomous mobile device 100 can be returned from the hold state to the reproduction mode.
  • control unit 10 stores the traveling direction at the hold point as the hold direction (step S222), and when the autonomous moving device reaches the vicinity of the hold point (step S234; Yes), the current direction matches the hold direction. It is determined whether to do so (step S236), and if they do not match (step S236; No), the drive unit 40 is controlled to turn so as to match (step S238), and then the paused automatic driving is restarted (step S238). S240 to step S213). Therefore, the user can return the autonomous mobile device 100 from the hold state to the reproduction mode without worrying about the orientation of the autonomous mobile device 100 in the hold state.
  • control unit 10 stores the traveling direction at the hold point as the hold direction (step S222), and when the autonomous moving device reaches the vicinity of the hold point (step S234; Yes), the current direction is opposite to the hold direction. It is determined whether the direction is the same (step S237), and if it is in the opposite direction (step S237; Yes), the route that has been automatically traveled up to that point is set in the reverse direction so as to return to the start point (step S239), and the automatic travel is restarted. (Step S240 to Step S213). Therefore, the user can easily return the autonomous mobile device 100 to the start point of the teaching route by reversing the direction of the autonomous mobile device 100 and returning it to the hold point.
  • control unit 10 acquires the user's operation by the operation acquisition unit 32 during the automatic driving (step S217; Yes)
  • the control unit 10 suspends the automatic driving (step S243), and the position of the autonomous moving device 100 at that time and The orientation is stored in the storage unit 20 as the hold position and the hold direction (step S244).
  • the user can set an arbitrary point as the hold point at the time of reproduction without having to teach the hold position in advance at the time of teaching.
  • control unit 10 when the control unit 10 switches to the hold state, the control unit 10 outputs a signal such as turning on the LED 331 to the output unit 33 (step S226), and tells the user that the automatic driving can be restarted (return to the reproduction mode). I can tell you. As a result, the user can easily know whether or not the reproduction process can be restarted after the manual control.
  • control unit 10 recognizes the following object during the following instruction (step S105), and deletes the point cloud data of the following object from the map data when creating the map data of the surrounding environment (step S112). Thereby (step S113), the map data can be created by using the point cloud data other than the following object without using the point cloud data of the following object. Since the follower does not exist during the reproduction process, the point cloud data of the follower becomes noise-like data in the map data, but by performing the above-mentioned processing, this noise-like data Can be deleted, and the accuracy of self-position estimation during reproduction processing can be improved.
  • control unit 10 outputs a completion sound as a signal indicating that the teaching process is completed (step S118). As a result, the user can easily know that the teaching data has been normally recorded.
  • control unit 10 adjusts the traveling route so as not to collide with an obstacle existing in the traveling direction when the autonomous moving device 100 is automatically traveled based on the teaching data by the reproduction process (step S207).
  • the control unit 10 adjusts the traveling route so as not to collide with an obstacle existing in the traveling direction when the autonomous moving device 100 is automatically traveled based on the teaching data by the reproduction process (step S207).
  • the device is temporarily stopped (step S208). ) Therefore, the user can put the autonomous moving device 100 in the hold state at the paused position and freely run in any running mode.
  • the operation acquisition unit 32 for example, joystick 321 and push button 322
  • how to set the operation method for example, when the play button 3222 is pressed during the playback process, it is temporary.
  • What to select as a signal to notify the user is only an example.
  • the LED 331 may be made to blink, or the LED for notifying the error separately from the LED 331. May be provided separately and turned on.
  • the autonomous mobile device 100 follows the user from the first point 81 to the second point 82, and the teaching is performed, and the third point 83 on the way is designated as the hold point. It shall be. Then, as a result of this teaching process, the point data of the start point (first point data), the point data of the goal point (second point data), and the point data of the hold point (third point data) are stored in the point storage unit 21.
  • the surrounding environment data when moving the route from the first point 81 to the second point 82 (first teaching route) is recorded in the map storage unit 22 and recorded in the map storage unit 22 from the first point 81 to the second point 82.
  • the teaching data taught by the route is recorded in the teaching data storage unit 23.
  • the control unit 10 acquires the current location of the autonomous mobile device 100 (step S201).
  • the control unit 10 collates the surrounding environment data 60a detected by the detection unit 31 with each point data (peripheral environment data) recorded in the point storage unit 21.
  • step S202 the determination in step S202 is Yes.
  • the control unit 10 scans with the detection unit 31 (step S204).
  • the determination in step S205 is No, and the peripheral environment data detected by the detection unit 31 and the peripheral environment data recorded in the map storage unit 22 (for example, peripheral environment data 60b, 60c). , 60d, 60e), and while grasping the current position and orientation of the autonomous mobile device 100, the movement control unit 16 controls the drive unit 40 so as to travel according to the teaching data (step S213).
  • step S216 when the autonomous mobile device 100 arrives at the hold point (third point 83) (step S216; Yes), it temporarily stops (step S221).
  • step S223 when the user presses the play button 3222 to issue a hold instruction (step S223; Yes), the autonomous mobile device 100 is in the hold state (step S226), and the user uses the joystick 321 or the like (not limited to the manual control mode).
  • the autonomous moving device 100 can be freely moved (in any running mode including automatic tracking mode, manual pushing, etc.) (step S231).
  • the user can freely move the autonomous movement device 100 in any driving mode such as a manual control mode, an automatic follow-up mode, and a hand push, as shown in the path 68 shown in FIG. 10, and then hold the hold point (third point) again.
  • any driving mode such as a manual control mode, an automatic follow-up mode, and a hand push
  • the play button 3222 is pressed in the vicinity of (83) (step S232; Yes)
  • the player turns in the hold direction (step S238) as necessary, and returns from the hold state to the play mode (step S240).
  • the autonomous mobile device 100 restarts scanning (step S204) and traveling (step S213) again, and when it arrives at the goal point (second point 82) (step S214; Yes), it stops (step S215). , Ends the playback process.
  • the control unit 10 automatically causes the autonomous moving device 100 to travel along the instructed route, and temporarily guides the traveling mode (line trace, manual control, etc.) in the middle of the route (hold point). It is possible to drive in a driving mode other than automatic driving, such as automatic tracking, hand pushing, remote control, and driving based on instructions from other systems.
  • a driving mode other than automatic driving such as automatic tracking, hand pushing, remote control, and driving based on instructions from other systems.
  • the travel mode can be flexibly temporarily changed even while the autonomous mobile device 100 is automatically traveling, so that flexible operation is possible. ..
  • even during automatic driving it is possible to pause at any point and switch to the hold state to perform arbitrary work, and after work, it is possible to easily return to the original automatic driving from the hold state, so it is smooth. Enables collaborative transportation work.
  • the control unit 10 will change the control unit 10.
  • the current position of the autonomous mobile device 100 is set to the first point. It is 81, and it is grasped that the autonomous mobile device 100 is facing in the direction opposite to the second point 82.
  • the movement control unit 16 controls the drive unit 40 so that the direction of the autonomous movement device 100 is opposite to that of the autonomous movement device 100, turns the autonomous movement device 100, and then makes the second point 82 as described above. Will be driven to.
  • the autonomous mobile device 100 has been taught the second teaching route from the third point 83 to the fourth point 84 by the above-mentioned teaching process.
  • the point data (third point data) of the start point of the second teaching route and the point data (fourth point data) of the goal point are also recorded in the point storage unit 21.
  • the surrounding environment data when traveling the route from the third point 83 to the fourth point 84 (second teaching route) is recorded in the map storage unit 22, and the route from the third point 83 to the fourth point 84 is recorded.
  • the taught teaching data is recorded in the teaching data storage unit 23.
  • the control unit 10 collates the surrounding environment data 60k detected by the detection unit 31 with each point data recorded in the point storage unit 21 (for example, the surrounding environment data 60j of the fourth point 84).
  • the control unit 10 can determine that the current location is the fourth point 84. Therefore, the determination in step S202 is Yes. Then, the peripheral information conversion unit 15 detects the peripheral environment data 60h and 60i detected by the detection unit 31 during the teaching process among the data stored in the map storage unit 22 from the reverse direction.
  • the reverse direction data (reverse direction data 60h', 60i') is generated by converting into the data in the case of the above, and is recorded in the map storage unit 22.
  • control unit 10 reproduces the teaching data of the second teaching route from the reverse while grasping the current position and orientation of the autonomous moving device 100, thereby causing the autonomous moving device 100 to move from the fourth point 84 to the third point. Drive to 83. In this way, the autonomous mobile device 100 can reverse-regenerate the taught route.
  • control unit 10 can store the pause location P1 and the pause time T1 in step S115 of the teaching process.
  • the autonomous mobile device 100 can be controlled so as to stop for the time T1 of the pause at the place P1 of the pause during the reproduction process (when automatically traveling according to the recorded teaching data). For example, if there is an automatic shutter on the travel path stored by the autonomous mobile device 100, the location of the automatic shutter is memorized, and the autonomous mobile device 100 is temporarily stopped before the automatic shutter until all the doors are opened. , It is possible to operate more flexibly.
  • the place to pause P1 and the time to pause T1 can be stored during the teaching process, but the teaching data may be edited after the teaching process is completed. Then, for example, this editing may be performed by transmitting the teaching data to a PC or a smartphone and performing it on the screen of the PC or the smartphone.
  • control unit 10 not only turns on / off the LED 331, but also outputs the control signal S to a predetermined device (and pauses if necessary).
  • the control signal S is output at the output location P2 that stores the time T2) and outputs the signal to the predetermined device during the reproduction process (when traveling according to the recorded teaching data) to operate the predetermined device. It may be controlled (or not activated).
  • the control unit 10 can store a 4-bit output pattern of 0000 to 1111, the output pattern of the control signal S1 that disconnects the connection mechanism from the traction pallet or the like connected to the autonomous mobile device 100 (for example). It is assumed that the output pattern (for example, 0000) of the control signal S2 that does not disconnect the connection mechanism is defined. Then, by outputting the control signal S1 of the output pattern of 0001 at the predetermined output location P2, the connection mechanism with the traction pallet or the like connected to the autonomous mobile device 100 is disconnected (and only the time T2 required for the disconnection). By outputting the control signal S2 of the output pattern of 0000), it is possible to store settings such as not disconnecting the connection mechanism with the traction pallet or the like connected to the autonomous moving device 100.
  • control signal S, the output location P2 for outputting the control signal, and the pause time T2 may be stored during the teaching process, or the teaching data may be edited after the teaching process is completed. You may do it.
  • the autonomous mobile device 100 may be able to control the ultraviolet irradiation lamp as a predetermined device. Then, the above-mentioned "output of the control signal to a predetermined device" can be used for on / off control of the ultraviolet irradiation lamp.
  • the control signal S can be output at the output location P2 to operate (or stop) the ultraviolet irradiation lamp.
  • the predetermined device may be changed between the time of teaching and the time of reproduction. For example, if you want to irradiate with ultraviolet rays during playback, but do not want to irradiate with ultraviolet rays at the time of teaching (however, you want to check how the ultraviolet irradiation is performed with a pilot lamp etc.), you can use the specified device as " It may be possible to set in a format such as "at the time of teaching: pilot lamp, at the time of reproduction: ultraviolet irradiation lamp".
  • the autonomous mobile device 100 can be configured to stop the ultraviolet irradiation during teaching, confirm the output signal by another pilot lamp or the like, and irradiate the ultraviolet light during reproduction. As a result, it is possible to irradiate the ultraviolet rays only to a specific place, and it is possible to stop the irradiation of the ultraviolet rays while the person is teaching in the vicinity.
  • the control unit 10 stores and reproduces the control speed set by the user (for example, with the deceleration button 3224 or the acceleration button 3225) in step S115 of the teaching process described above.
  • the autonomous moving device 100 may be controlled so as to travel at the stored control speed.
  • the control unit 10 stores the actual speed during the teaching running in the above-mentioned teaching process, and runs according to the recorded teaching data during the reproduction process. At that time, the autonomous moving device 100 may be controlled so as to have the same speed as at the time of teaching.
  • the control unit 10 stores the speed mode selected by the user and the control speed set by the user, and during the reproduction process (when traveling according to the recorded teaching data).
  • the drive unit 40 may be controlled so as to control the traveling speed based on the stored speed mode or the control speed. This makes it possible to operate at a suitable speed during reproduction.
  • the control speed or the speed mode may be stored during the teaching process, or the teaching data may be edited after the teaching process is completed.
  • control speed the speed at any place on the traveling route may be stored.
  • the control speed when going straight may store a relatively high speed
  • the control speed when turning may store a relatively slow speed.
  • a plurality of control speeds may be stored so that different control speeds can be set depending on the conditions.
  • a relatively slow speed may be stored as a control speed when the load is heavier than the reference weight (for example, 10 kg)
  • a relatively high speed may be stored as a control speed when the load is less than the reference weight.
  • teaching that various data (pause place P1, time T1, control signal S, output place P2, condition C, speed mode, control speed, etc.) as described above are additionally stored in the teaching data. This can be done in step S115 of the process. Therefore, whether it is a follow-up teaching that is taught by recognizing and following a follow-up object or a manual teaching that is taught by using an operation acquisition unit 32 such as a joystick 321 or the like, these teaching data are taught by the teaching data storage unit. It can be stored in 23.
  • the detection unit 31 is above the operation acquisition unit 32, but the installation position of the detection unit 31 is not limited to this.
  • the autonomous mobile device 101 according to the modified example of the first embodiment includes a detection unit 31 below the loading platform 51. As described above, even in the autonomous mobile device 100, the obstacle can be detected only by the detection unit 31, but in the autonomous mobile device 101 according to the modified example, the obstacle can be detected at a lower position, so that the obstacle is relatively small. Even things can be avoided.
  • a dedicated sensor for detecting obstacles may be provided separately from the detection unit 31.
  • a dedicated sensor for detecting an obstacle for example, it is conceivable to install a bumper sensor on the bumper 52. In this case, when the control unit 10 detects that the bumper sensor has come into contact with an obstacle, the control unit 10 can perform processing such as stopping the autonomous moving devices 100 and 101 or retreating a little.
  • the effect of dramatically improving the setup cost and flexibility of the autonomous mobile device can be expected.
  • Conventional technologies such as autonomous vehicles and automated guided vehicles using the aforementioned SLAM, generally require specialized technicians to set up operations, and even if the route to be automated is a simple route, it takes several hours. The large route required several days to set up.
  • the work of checking the consistency of the map and the work of correcting when the cumulative error is large require specialized knowledge, and even if the position of the load changes a little, a large-scale setup is required every time the environment changes. It had to be done again, which was costly.
  • the control unit 10 saves a map for each frame, and performs position estimation and running control within the frame. Therefore, the cumulative error stays within the frame, and when the frame is moved, the position is estimated and the route is run on the new frame map, so that the so-called closed loop problem does not occur in principle.
  • This method has the aspect that it is difficult to estimate the global self-position, but in the operation of many customers, there are many simple round-trip automatic driving between two points, so the global self-position estimation is basically unnecessary. be. In the operation of many customers, the environment and operation such as the position and order of cargo change frequently, so there are many needs for easy setup.
  • the operator can set up the operation of the autonomous mobile device without any specialized knowledge by walking once on the route for which automatic transportation is desired and performing follow-up instruction. Further, by temporarily stopping at an arbitrary point during automatic driving and switching to the hold state, it is possible to return to automatic driving after performing another work, and it is possible to construct a simple and flexible automatic transportation.
  • each function of the autonomous mobile devices 100 and 101 can also be performed by a computer such as a normal PC.
  • the programs such as the follow-up teaching process and the reproduction process performed by the autonomous mobile devices 100 and 101 have been described as being stored in the ROM of the storage unit 20 in advance.
  • the program can be a flexible disk, CD-ROM (Compact Disc Read Only Memory), DVD (Digital Versaille Disc), MO (Magnet-Optical Disc), memory card, USB (Universal Serial Computer), etc.
  • a computer capable of realizing the above-mentioned functions may be configured by storing and distributing the program in a recording medium, reading the program into a computer, and installing the program. Further, a computer capable of realizing the above-mentioned functions may be configured by distributing the program via a communication network such as the Internet, reading the program into a computer, and installing the program.
  • Dotted line 60a, 60b, 60c, 60d, 60e, 60f, 60h, 60i, 60j, 60k, 60m, 60n ...
  • Surrounding environment data 60a', 60b', 60c' , 60d', 60h', 60i' ... reverse direction data, 60ef ... shaded part, 61 ... person, 63,64 ... reflective material, 65,75 ... point sequence, 66,67 ... user, 68,76 ... route, 71 ... wall, 72,73,74 ... obstacle, 81,82,83,84 ... point, 100,101 ... autonomous mobile device, 311 ... optical window, 312 ... laser, 313 ... rotation axis, 321 ...

Landscapes

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

Abstract

自律移動装置(100)は、駆動部(40)と、記憶部(20)と、制御部(10)と、を備える。制御部(10)は、教示された教示データを記憶部(20)に記憶させ、教示データに基づいて、駆動部(40)を制御して自律移動装置(100)を自動走行させ、自律移動装置(100)の自動走行を一時停止させる地点であるホールド地点で、駆動部(40)を制御して自律移動装置(100)を自動走行以外の走行モードで走行させ、自動走行以外の走行モードにより自律移動装置(100)がホールド地点の近傍に到達したら、一時停止した自動走行を再開させる。

Description

自律移動装置、自律移動方法及びプログラム
 本発明は、自律移動装置、自律移動方法及びプログラムに関する。
 従来から、工場内の物品搬送や施設内の人の誘導等に移動ロボットが使われている。このような移動ロボットの走行経路を設定する方法として、人が移動ロボットに対して走行経路を教示する方法がある。例えば、特許文献1には、手動走行モードで教示走行を実行し、自動走行モードでは、教示走行で記憶された走行データに基づいて、教示された走行経路を自動的に走行することができる自律走行作業装置が開示されている。
特開2018-112917号公報
 特許文献1に開示されている自律走行作業装置は、自動走行モードにおいては、走行経路を自動的に走行することができるが、教示された走行経路以外の経路を走行することはできない。このため、例えば、走行経路の途中で一時的に他の場所に走行してもらいたいような状況(例えば、経路から少し外れたところを清掃して欲しい、経路から少し外れたところから荷物をピックアップして欲しい、等)が発生した場合には、ユーザ等が、教示データを修正するか、教示走行をし直すか、自動走行モードを用いずに経路の最初から最後まで手動で走行させる必要があった。
 本発明は、上記実情に鑑みてなされたものであり、教示された走行経路を自動走行中であっても経路の途中で一時的に自動走行以外の走行モードで走行させることができる自律移動装置等を提供することを目的とする。
 上記目的を達成するため、本発明の第1の観点に係る自律移動装置は、
 移動手段と、
 記憶手段と、
 制御手段と、
 を備える自律移動装置であって、
 前記制御手段は、
 教示された教示データを前記記憶手段に記憶させ、
 前記教示データに基づいて、前記移動手段を制御して前記自律移動装置を自動走行させ、
 前記自律移動装置の自動走行を一時停止させる地点であるホールド地点で、前記移動手段を制御して前記自律移動装置を前記自動走行以外の走行モードで走行させ、
 前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記一時停止した自動走行を再開させる。
 前記制御手段は、
 前記自律移動装置の自動走行を一時停止させる前記ホールド地点で、前記自律移動装置の走行方向をホールド方向として前記記憶手段に記憶し、
 前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記自律移動装置の走行方向が前記ホールド方向と一致するか判定し、
 前記走行方向が前記ホールド方向と一致していなければ、前記走行方向が前記ホールド方向と一致するように前記移動手段を制御して前記自律移動装置を旋回させてから、前記一時停止した自動走行を再開させる、
 ようにしてもよい。
 前記制御手段は、
 前記自律移動装置の自動走行を一時停止させる前記ホールド地点で、前記自律移動装置の走行方向をホールド方向として前記記憶手段に記憶し、
 前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記自律移動装置の走行方向が前記ホールド方向と逆方向であるか判定し、
 前記走行方向が前記ホールド方向と逆方向であれば、前記自動走行を開始したスタート地点から前記ホールド地点までの経路を逆向きにした経路で前記スタート地点まで走行するように前記自動走行を再開させる、
 ようにしてもよい。
 ユーザの操作を取得する操作取得手段をさらに備え、
 前記制御手段は、
 前記自動走行中に前記操作取得手段でユーザの操作を取得したら、自動走行を一時停止し、その時点における、前記自律移動装置の位置をホールド地点として、前記自律移動装置の走行方向をホールド方向として、それぞれ前記記憶手段に記憶する、
 ようにしてもよい。
 ユーザの操作を取得する操作取得手段をさらに備え、
 前記制御手段は、
 前記操作取得手段で同一の操作を取得した場合でも、その時点での前記自律移動装置の状態に応じた異なる制御を前記自律移動装置に対して行う、
 ようにしてもよい。
 出力手段をさらに備え、
 前記制御手段は、
 前記自動走行を一時停止している間は、自動走行を再開可能であることを示す信号を前記出力手段に出力させる、
 ようにしてもよい。
 周辺の物体を検出する検出手段をさらに備え、
 前記制御手段は、
 前記検出手段で検出した物体の中から追従物を認識し、
 前記検出手段で検出した点群のデータに基づいて周辺環境の地図データを作成する際に、前記追従物の前記データは用いずに、前記追従物以外の前記データを用いて前記地図データを作成する、
 ようにしてもよい。
 出力手段をさらに備え、
 前記制御手段は、
 前記教示データの記憶が完了したら、教示処理が完了したことを示す信号を前記出力手段に出力させる、
 ようにしてもよい。
 前記制御手段は、
 前記教示データに基づいて、前記自律移動装置を自動走行させる際に、走行経路を調整する、
 ようにしてもよい。
 また、本発明の第2の観点に係る自律移動方法は、
 自律移動装置の自律移動方法であって、
 教示された教示データを記憶手段に記憶し、
 前記教示データに基づいて、移動手段を制御して前記自律移動装置を自動走行させ、
 前記自律移動装置の自動走行を一時停止させる地点であるホールド地点で、前記移動手段を制御して前記自律移動装置を前記自動走行以外の走行モードで走行させ、
 前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記一時停止した自動走行を再開させる。
 また、本発明の第3の観点に係るプログラムは、
 自律移動装置のコンピュータに、
 教示された教示データを記憶手段に記憶させ、
 前記教示データに基づいて、移動手段を制御して前記自律移動装置を自動走行させ、
 前記自律移動装置の自動走行を一時停止させる地点であるホールド地点で、前記移動手段を制御して前記自律移動装置を前記自動走行以外の走行モードで走行させ、
 前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記一時停止した自動走行を再開させる。
 本発明によれば、教示された走行経路を自動走行中であっても経路の途中で一時的に自動走行以外の走行モードで走行させることができる。
本発明の実施形態1に係る自律移動装置の機能構成を示すブロック図である。 実施形態1に係る自律移動装置の外観を示す図である。 実施形態1に係る自律移動装置が備える検出部の外観及び検出部から照射されるレーザを説明する図である。 実施形態1に係る自律移動装置が備える検出部及び操作取得部を自律移動装置の側面から見た図である。 実施形態1に係る検出部で検出される周辺の環境を説明する図である。 実施形態1に係る操作取得部の一例を説明する図である。 正方向の周辺環境データの説明図である。 逆方向の周辺環境データの説明図である。 実施形態1に係る自律移動装置の走行モードの一例を説明する図である。 実施形態1に係る自律移動装置の教示処理のフローチャートである。 実施形態1に係る自律移動装置が第1地点から第2地点までの経路や第3地点から第4地点までの経路を教示された場合を説明する図である。 実施形態1に係る自律移動装置の再生処理のフローチャートの第1の部分である。 実施形態1に係る自律移動装置の再生処理のフローチャートの第2の部分である。 実施形態1に係る自律移動装置の再生処理のフローチャートの第3の部分である。 実施形態1の係る自律移動装置の再生処理における経路調整を説明する図である。 変形例に係る自律移動装置の外観を示す図である。
 以下、本発明の実施形態に係る自律移動装置について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
(実施形態1)
 本発明の実施形態に係る自律移動装置は、走行経路についてユーザから教示を受けて教示データを記憶し、記憶した教示データを再生することで、教示された走行経路(教示ルート)に基づいて、教示ルートのスタート地点からゴール地点まで自律的に移動する装置である。教示データの再生による走行を自動走行といい、自動走行以外の走行(ライントレース、手動操縦、自動追従、手押し、遠隔操縦、他のシステムからの指示に基づいて走行する等)を総称してガイド走行という。実施形態1に係る自律移動装置100の機能構成の一例を図1に、外観の一例を図2に示す。
 図1に示すように、自律移動装置100は、制御部10と、記憶部20と、検出部31と、操作取得部32と、出力部33と、駆動部40と、を備える。
 制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(周辺情報取得部11、地図作成部12、自己位置推定部13、教示データ記録部14、周辺情報変換部15、移動制御部16)の機能を実現する。また、制御部10は、時計(図示せず)を備え、現在日時の取得や経過時間のカウントをすることができる。制御部10は、制御手段として機能する。
 記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、ROMの一部又は全部は電気的に書き換え可能なメモリ(フラッシュメモリ等)で構成されている。ROMには制御部10のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが記憶されている。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。記憶部20は、記憶手段として機能する。また、記憶部20は、機能的構成として、後述する、地点記憶部21と、地図記憶部22と、教示データ記憶部23と、を備える。
 検出部31は、センシングデバイスとしてのスキャナ式レーザ距離計等で構成され、自律移動装置100の周辺(本実施形態では左右及び前方)に存在する、人、壁、障害物、反射材等の対象物を点の集まり(点群)として検出する。検出部31は、図3に示すように、光学窓311の内部にある発光部からレーザ312を照射し、人、壁、障害物、反射材等の対象物で反射されたレーザを光学窓311の内部にある受光部が捉える。また、発光部(及び受光部)は回転軸313を中心に320度(自律移動装置100の真正面の方向を0度とすると±160度)回転することによってスキャン角度を変えながらレーザ312を照射して周囲をスキャンする。反射されたレーザを捉えた受光部からの信号を処理することにより、検出部31は、スキャン角度毎に、その方向に存在する対象物との距離及び受光強度を計測することができる。なお、上記で発光部の回転角度(スキャン角度)の範囲を「真正面の方向を0度とすると±160度」としたのは一例であり、発光部は、例えば±180度回転する仕様であってもよいし、±100度回転する仕様であってもよい。また、スキャン角度は左右対称でなくてもよい。
 検出部31は、図4に示すように、スキャンの回転軸313が鉛直方向に伸びており、レーザ312は自律移動装置100の左右及び前方に存在する対象物(人、壁、障害物、反射材等)を3次元的にスキャンするようになっている。検出部31は、対象物で反射されたレーザを受光部で受光できれば当該対象物を検出でき、検出部31から例えば200m離れた場所にある対象物であっても検出可能である。また、検出部31で3次元的にスキャンすることにより、対象物の3次元的な形状を検出することができる。検出部31は、検出手段として機能する。なお、検出部31の構成はスキャナ式レーザ距離計に限るわけではなく、カメラで構成されてもよいし、距離及び受光強度を計測できるその他のデバイスで構成されてもよい。
 検出部31は、例えば、図5に示すように、自律移動装置100の左側に壁71と反射材63が、正面に人61が、右側に障害物72と反射材64が、それぞれどのくらいの距離の位置に存在するかを検出する。なお、点線60は、検出部31から照射されるレーザの照射範囲の角度(320度)を示すものであり、照射距離を示すものではない。レーザは距離的には点線60を超えた範囲まで照射されており、例えば反射材63も検出される。ただし、レーザは、点線60に示すように、自律移動装置100の後方40度の角度範囲には照射されていない。検出部31は、レーザが反射した点までの距離と角度を取得できるため、この距離及び角度に基づき、制御部10は、当該点の座標(X,Y)の集まり(点群)のデータを、例えば、自律移動装置100から当該点までの正面前方方向における距離をXとして、横方向における自律移動装置100からのずれ幅をYとして、取得することができる。
 また、制御部10は、検出部31から取得した情報(対象物までの距離、受光強度等)に基づき、検出部31が検出した対象物を認識してもよい。例えば、制御部10は、受光強度が所定の基準強度よりも高い等、反射材と認識する条件を満たした場合に対象物が反射材(いわゆる再帰反射材)であると認識してもよい。また、制御部10は、対象物の幅が人の横幅(例えば30cmから1m)程度である等、人と認識する条件を満たした場合に対象物が人であると認識してもよい。また、制御部10は、対象物の幅が所定の基準値よりも長い等、壁と認識する条件を満たした場合に対象物が壁であると認識してもよい。また、制御部10は、反射材、人、壁等と認識する条件をいずれも満たさない場合は、当該対象物を障害物であると認識してもよい。
 また、制御部10は、対象物の種類等の認識は行わずに、検出部31から取得した情報に基づいて、何らかの対象物がその位置に存在することを認識してもよい。制御部10は、検出部31から取得した情報をもとに初期検出を行い、検出した対象物をトラッキング(短時間(例えば50ミリ秒)毎にスキャンして、座標変化の小さい点群の塊を追跡)したりすることで、より多様な対象を安定して検出できる(例えば後述する追従モードにおいて、人の追従だけでなく、他の自律移動装置100の追従を行うことも可能である)。なお、以上説明した対象物の認識手法は一例であり、他の認識手法を用いてもよい。
 また、検出部31が検出する対象物の一つである反射材は、再帰反射素材からなり、レーザ光が当たると、そのレーザ光を入射した方向に反射させる。したがって、検出部31が検出した受光強度が所定の基準強度よりも高い場合に、制御部10は、そのときの検出部31でのスキャン角度の方向に反射材が存在することを認識することができる。例えば長い廊下のような特徴量が少ない場所では、廊下を長手方向に移動しても、検出部31で検出される情報にあまり変化が生じず、長手方向にどれくらい移動したかを制御部10が認識しにくくなる。このような場合でも、壁71に反射材63を設置することにより、検出される反射材の個数や配置に基づいて、制御部10は廊下を長手方向にどれくらい移動したかを認識できるようになり、より正確な地図の構築と安定した走行を可能にする。
 なお、反射材63は、検出部31から照射されるレーザ光が当たる位置(本実施形態では検出部31の高度と同程度の高度の位置)に設置される。また、反射材は、再帰反射素材を含む塗料を壁等に塗布したり、再帰反射素材を含む粘着テープを壁等に貼り付けたり、再帰反射素材を含むロープ等(通常のロープ等に再帰反射素材を含む塗料を塗布したり、再帰反射素材を含む粘着テープを巻いたりして作成してもよい)を空中にぶら下げたりして設置することができる。また再帰反射素材でなくても、レーザの反射強度を用いることで対象物体の明暗を検出し、後述する地図記憶部22に保存することで、特徴量として地図データとのマッチングに用いることもできる。例えば形状的な特徴が少ない長い廊下においても、明るい色や暗い色はレーザの反射強度によってある程度検出することができる。そこでその強度の明暗をパターンとして認識して、地図データのマッチングに用いることで、環境側に特別な準備を必要としない自動走行を実現することもできる。
 図1に戻り、操作取得部32は、ジョイスティック等の入力デバイスを備え、ユーザの操作を取得する。操作取得部32は、操作取得手段として機能する。図4に示すように、操作取得部32は、ジョイスティック321や押しボタン322を備える。そしてユーザは、ジョイスティック321を倒す方向で進行方向を、倒す量(倒し角)で移動速度を、それぞれ自律移動装置100に指示することができる。また、押しボタン322として、図6に示すように、教示開始/終了を指示する記憶ボタン3221、再生開始/終了を指示する再生ボタン3222、ループ再生開始を指示するループ再生ボタン3223、逆再生及び減速を指示する減速ボタン3224、再生補正及び加速を指示する加速ボタン3225、手動/追従/ライントレース切替を指示するスタートボタン3226、等が用意されている。このような押しボタン322は、屋外の作業現場などでは視認性が高く、利便性が向上する。なお、逆再生とは、教示データを逆向きに用いて再生することにより、自律移動装置100を教示ルートのゴール地点からスタート地点に戻すような移動をさせる再生処理である。また、再生補正とは、教示データの再生中に地図データの補正も行う再生処理である。また、ループ再生は、教示ルートのゴール地点がスタート地点と同一又はスタート地点の近傍の地点である場合に可能になるものであり、教示データを繰り返し再生することにより、教示ルートのスタート地点からゴール地点までの走行を繰り返し行う再生処理である。
 なお、操作取得部32は、押しボタンの代わりに、又は押しボタンに加えて、ユーザの指示を受け付けるUI(User Interface)を表示するタッチパネルを備えてもよい。この場合、タッチパネルのディスプレイに操作メニュー(最大速度、加速度等の設定や当該設定値の選択、目的地の指定、移動停止指示、教示、再生、逆再生、ループ再生等の開始及び終了の指示、走行モード(再生モード、手動操縦モード等)の選択等を行うメニュー)が表示され、ユーザはそれらにタッチすることによって、自律移動装置100に各指示を与えることができる。
 出力部33は、スピーカやLED(Light Emitting Diode)を備え、自律移動装置100の状態等をユーザに知らせる信号を出力する。本実施形態ではLEDは操作取得部32の押しボタン322の中に組み込まれており、図6に示すように、記憶ボタン3221にLED331が組み込まれている。例えば、後述する教示処理中は、LED331が点灯し、教示が終了して経路が記憶されるとLED331が消灯する。また、図示しないが、バッテリー残量を表示するLEDや、走行速度を表示するLEDが備えられていてもよい。出力部33は、出力手段として機能し、LEDの点灯状況や、スピーカから出力される音により、自律移動装置100の現在の状態等をユーザに知らせることができる。
 また、図示しないが、自律移動装置100は外部のシステム(PC(Personal Computer)、スマートフォン等)と通信する通信部を備えてもよい。そして、通信部により、現在の状態や各種データ(例えば地図データや教示データ等)を外部のシステムに送信したり、外部のシステムから各種データ(例えば、修正された地図データや教示データ等)を受信したりしてもよい。
 また、教示には、追従物を追従させることによって教示する追従教示だけでなく、操作取得部32のジョイスティック321等で自律移動装置100を手動操縦することによって教示する手動教示がある。ユーザは、追従教示と手動教示のどちらの教示を行うかについても、操作取得部32のスタートボタン3226で切り替えることができる。本実施形態では、追従教示と手動教示を任意に切り替え可能な教示処理について説明するが、追従教示と手動教示とは、教示データを追従物の追従によって取得するのか、操作取得部32で取得するのかが異なるだけであり、本発明は、これらの教示に限らず、その他の任意の動作による教示(手押し、外部システムからの入力等)にも適用可能である。
 図1に戻り、駆動部40は、制御部10からの指示(制御)により自律移動装置100を移動させる。駆動部40は、移動手段として機能する。図2に示すように、駆動部40は、独立2輪駆動の車輪41とモータ42とキャスター43とを備える。自律移動装置100は、2つの車輪41の同一方向駆動により前後の平行移動(並進移動)を、2つの車輪41の逆方向駆動によりその場での回転(向き変更)を、2つの車輪41のそれぞれ速度を変えた駆動により旋回移動(並進+回転(向き変更)移動)を、行うことができる。また、各々の車輪41にはロータリエンコーダが備えられており、制御部10は、ロータリエンコーダで計測した車輪41の回転数と、車輪41の直径や車輪41間の距離等とを用いることによって並進移動量及び回転量を計算できる。
 例えば、車輪41の直径をD、回転数をCとすると、その車輪41の接地部分での並進移動量はπ・D・Cとなる。また、車輪41の直径をD、車輪41間の距離をI、右の車輪41の回転数をCR、左の車輪41の回転数をCLとすると、向き変更の回転量は(右回転を正とすると)360°×D×(CL-CR)/(2×I)となる。この並進移動量及び回転量をそれぞれ逐次足し合わせていくことで、駆動部40はメカオドメトリとしても機能し、制御部10は、自律移動装置100の位置(移動開始時の位置及び向きを基準とした位置及び向き)を把握することができる。
 なお、車輪41の代わりにクローラを備えるようにしても良いし、複数(例えば二本)の足を備えて足で歩行することによって移動を行うようにしても良い。これらの場合も、二つのクローラの動き、足の動き等に基づいて、車輪41の場合と同様に自律移動装置100の位置及び向きの計測が可能である。
 また、図2に示すように、自律移動装置100は、荷台51を備え、搬送物品等を荷台51に搭載して目的地に運ぶことができる。そして、荷台51の後方中央部の端部に牽引受金具を取り付けることにより、台車等を牽引することもできる。また、自律移動装置100は、バンパー52を備え、他の物体に衝突した時に停止し、衝突の衝撃を和らげることができる。また、自律移動装置100は、非常停止ボタン323を備え、ユーザにより手動で非常停止させることができる。
 次に、自律移動装置100の制御部10の機能的構成について説明する。図1に示すように、制御部10は、周辺情報取得部11、地図作成部12、自己位置推定部13、教示データ記録部14、周辺情報変換部15、移動制御部16、としてそれぞれ機能し、自律移動装置100の移動制御等を行う。
 周辺情報取得部11は、検出部31が検出した物体の位置を点群のデータとして取得する。また、スタートボタン3226が押されて自律移動装置100が自動追従モードや追従教示モードになると、周辺情報取得部11は、前方に存在する点群の塊(人、他の自律移動装置100等)を追従物として認識する。
 地図作成部12は、検出部31で検出した点群のデータに基づいて自律移動装置100の周辺環境の地図データを作成する。本実施形態では、検出部31のレーザ312の1回のスキャンで得られる点群のデータが1フレーム分の地図データとなる。点群のデータは、例えば、周辺の物体(壁、障害物、反射材等)の位置(距離、方向等)等の存在状況を示す周辺環境データとなる。地図データのデータ形式は任意である。地図作成部12は、検出部31で検出したデータを用いて、例えば、SLAM(Simultaneous Localization And Mapping)により地図データを作成してもよい。
 本実施形態では、地図作成部12は、自律移動装置100が所定の間隔毎に、検出部31で検出した1フレーム分の点群のデータ(周辺の物体の存在状況を示す周辺環境データ)を、後述する地図記憶部22に記録していくことによって、地図データを構成する。1フレーム分のデータを記録する所定の間隔としては、所定の移動量(例えば50cm)毎、所定の時間(例えば0.2秒)毎、所定の角度(例えば45度)の回転毎等とすることができる。本実施例では、フレーム単位の地図データを保存し、走行時には所定の間隔毎にフレームを次々に切り替えて使用することにより、いわゆるSLAMにおける累積誤差の問題(閉ループ問題)が発生することを防いでいる。したがって、大規模なルートにおいても、よりロバストで信頼性のある地図ベース自律移動を実現することができる。
 自己位置推定部13は、検出部31で検出した点群のデータを地図記憶部22に記録された地図データと照合して、照合したフレーム内での自律移動装置100の自己位置を推定する。なお、自己位置推定部13は、自律移動装置100の現在の位置(自己位置)の情報については、駆動部40から得られるメカオドメトリの値を用いて取得してもよい。
 教示データ記録部14は、後述する教示処理によって取得した教示データを教示データ記憶部23に記録する。教示データは、所定の間隔毎にフレーム単位で記録された地図データと、実際に走行した自律移動装置100の位置の座標の連続した点列とが、教示処理中に逐次記録されたデータとして構成されている。例えば、図5に示すように、人61に追従して自律移動装置100が直進しているときには、点列65が教示データに含まれる。また、教示中にユーザから一時停止、LED331の点灯/消灯等の指示が行われたときには、その指示内容も教示データに逐次記録される。教示処理を複数の経路について実行することによって、教示データ記録部14は、複数の教示データを教示データ記憶部23に記録してもよい。また、教示ルートのスタート地点の位置情報及び向きの情報、ゴール地点の位置情報、ホールド地点の位置情報は、後述する地点記憶部21に記憶されるが、各教示データにもこれらの情報が含まれていてもよい。なお、スタート地点とは、教示処理の開始を指示された地点であり、ゴール地点とは、教示処理の終了を指示された地点である。また、ホールド地点とは、教示処理の際に、自律移動装置100が教示データを再生時に一時停止する地点として指示された地点である。
 教示データを再生する際には、制御部10は、センサデータ(検出部31で検出した再生時のその時点での点群のデータ)と教示データ記憶部23に記録された地図データとをフレーム単位で照合し、当該フレーム内での自律移動装置100の位置を推定した上で、教示データ記憶部23に記録された点列(教示時に実際に走行した経路の点列)に沿って走行するように駆動部40を制御する。そして、所定の条件(例えば50cm走行)を満たすと教示データ中の次のフレームに移り、制御部10は、次のフレームのデータを用いて同様の処理を行う。これを繰り返すことで自律走行を行う。
 周辺情報変換部15は、地図記憶部22に記録されている周辺の物体の情報(周辺環境データ)を、逆方向からのデータに変換する。周辺情報変換部15によるデータの変換について図7A及び図7Bを用いて説明する。地図記憶部22には、まず図7Aに示すような正方向の周辺環境データが記録される。そして、逆方向からのデータとは、自律移動装置100の向きを、当該周辺の物体を検出部31で検出したときの向きとは逆にしたときに、検出部31で検出されるはずの周辺環境データである(図7Bに示す周辺環境データ)。このデータは元のデータ(図7Aに示す周辺環境データ)の前後左右を逆にする(前方に観測された物体が後方に観測されるように、また、左側に観測された物体が右側に観測されるようにする)ことによって得られる。
 移動制御部16は、駆動部40を制御して、自律移動装置100を移動させる。例えば、操作取得部32に教示開始の指示が入力されてから教示終了の指示が入力されるまでの間は、移動制御部16は、操作取得部32で指示された通りに、又は、追従物を追従するように、駆動部40を制御する。また、操作取得部32に再生開始の指示が入力されると、移動制御部16は、教示データ記憶部23に記憶されている教示データにしたがって移動するように、駆動部40を制御する。
 次に、記憶部20の機能的構成について説明する。記憶部20は、地点記憶部21と、地図記憶部22と、教示データ記憶部23と、を備える。
 地点記憶部21には、操作取得部32で取得されたユーザの操作に基づいて、自律移動装置100の位置(例えば、スタート地点の位置やゴール地点の位置等)を判定するためのデータが記録される。例えば、操作取得部32に教示開始の指示が入力されると、自律移動装置100のその時点での位置及び方向で検出部31から検出される周辺環境データが、スタート地点(第1地点)における地点データ(第1地点データ)として地点記憶部21に記録される。
 地図記憶部22には、後述する教示処理において、検出部31で検出された周辺環境データに基づいて地図作成部12で作成された地図データが記録される。
 教示データ記憶部23には、後述する教示処理によって取得される教示データ(教示中に記録された地図データ及び自律移動装置100の位置の点列並びにユーザから教示される一時停止等に関するデータ)のシーケンスが教示データとして記憶される。
 次に、自律移動装置100の走行モードについて図8を参照して説明する。自律移動装置100は、電源オフ状態で電源ボタンが押されると、電源が入り、手動操縦モードになる。手動操縦モードでは、ユーザは操作取得部32のジョイスティック321を操作することにより、自律移動装置100を手動で操縦することができる。手動操縦モードにおいて、ユーザが自律移動装置100の正面に立ち、スタートボタン3226を押すと、自律移動装置100は正面に立っているユーザを追従物として認識し、自動追従モードに切り替わる。自動追従モードでは、ユーザが歩くと、自律移動装置100はユーザの後について動き(ユーザを自動的に追従し)、ユーザが止まると自律移動装置100はユーザと一定の距離を保って停止する。自動追従モードにおいて、ユーザが再度スタートボタン3226を押すと、自律移動装置100は手動操縦モードに切り替わる。また、手動操縦モードにおいて、スタートボタン3226を2回押すと、自律移動装置100はライントレースモードに切り替わる。ライントレースモードでは、自律移動装置100は再帰反射材等で設定されたラインをトレースして走行する。ライントレースモードにおいて、ユーザが再度スタートボタン3226を2回押すと、自律移動装置100は手動操縦モードに切り替わる。
 また、自律移動装置100は、手押し(ユーザが手等で自律移動装置100を押すことによって走行させること)、遠隔操縦(通信部を介して自律移動装置100から離れた場所にいるユーザの操縦指示を取得して走行すること)、他のシステムからの指示に基づく走行(通信部を介して取得した他のシステムからの指示に基づいて走行すること)を行うこともできる。手動操縦、自動追従、ライントレース、手押し、遠隔操縦、他のシステムからの指示による走行等、自動走行(教示データの再生による走行)以外の走行を総称してガイド走行といい、自律移動装置100がガイド走行で走行するモードをガイド走行モードという。
 また、手動操縦モードにおいて、ユーザが記憶ボタン3221を押すと、記憶ボタン3221のLED331が点灯し、手動教示モードに切り替わる。手動教示モードでは、ユーザはジョイスティック321を操作することにより、経路を教示することができる。手動教示モードにおいて、ユーザが自律移動装置100の正面に立ち、スタートボタン3226を押すと、自律移動装置100は正面に立っているユーザを追従物として認識し、追従教示モードに切り替わる。追従教示モードでは、ユーザは教示させたい経路に沿って歩くと、自律移動装置100はユーザの後について動き、ユーザの歩いた経路が教示ルートとして記憶される。追従教示モードにおいて、ユーザが再度スタートボタン3226を押すと、自律移動装置100は、手動教示モードに切り替わる。
 また、手動教示モードにおいて、スタートボタン3226を2回押すと、自律移動装置100はライントレース教示モードに切り替わる。ライントレース教示モードでは、自律移動装置100は再帰反射材等で設定されたラインの上を辿るように走行し、この走行経路を教示データとして記憶する。ライントレース教示モードにおいて、ユーザが再度スタートボタン3226を2回押すと、自律移動装置100は手動教示モードに切り替わる。また、手動教示モードでも追従教示モードでもライントレース教示モードでも、ユーザが記憶ボタン3221を再度押すと、教示を終了して、記憶ボタン3221のLED331が消灯し、手動操縦モードに戻る。手動教示モード、追従教示モード、ライントレース教示モードを総称して記憶モードという。
 また、手動操縦モードにおいて、ユーザが再生ボタン3222を押すと、自律移動装置100は再生モードに切り替わる。再生モードでは教示データの再生が行われ、自律移動装置100は、教示データに基づいて、自動走行(走行したり一時停止したり)する。教示データの再生中にユーザが再生ボタン3222を押すと、自律移動装置100は現在地点をホールド地点として記憶してホールド状態になる。ホールド状態では、自律移動装置100は、再生がどこまで行われたかの情報を保持したまま、一時的にガイド走行モード(手動操縦モード、自動追従モード、ライントレースモード、手押し等)で走行を行うことができる。ホールド状態でユーザが自律移動装置100をホールド位置に戻るまで走行させてから再生ボタン3222を押すと、自律移動装置100は再生モードに復帰し、教示データの続きからの再生が継続される。また、ユーザがホールド位置での自律移動装置100の向きを逆向きにして再生ボタン3222を押した場合には、自律移動装置100は教示データを逆向きに再生して、スタート地点に戻るようにしてもよい。なお、教示データの再生中にユーザがスタートボタン3226を押すと、再生は打ち切りになり、自律移動装置100は、手動操縦モードに切り替わる。再生が打ち切られた場合は、その後、再度再生ボタン3222が押されると、自律移動装置100は、教示データを最初から(スタート地点から)再生する。
 また、図8では省略しているが、手動操縦モードにおいて、ユーザがループ再生ボタン3223を押すと、自律移動装置100はループ再生モードに切り替わる。ループ再生モードは、教示ルートの走行を繰り返し行う(教示ルートのゴール地点で、自動的に再度再生ボタン3222が押されたのと同様の動作が行われる)ものであり、教示ルートのゴール地点がスタート地点と同一又はスタート地点の近傍の地点である必要がある。ループ再生モードでも、再生モードと同様に、教示データの再生中にユーザが再生ボタン3222を押すと、自律移動装置100は現在地点をホールド地点として記憶してホールド状態になる。ホールド状態でユーザがループ再生ボタン3223を押すと、ループ再生モードに復帰する。なお、ホールド状態でユーザが再生ボタン3222を押すと、ループ再生モードではなく、再生モードに復帰し、自律移動装置100は、教示ルートのゴール地点で停止する。
 また、図8では省略しているが、手動操縦モードにおいて、ユーザが再生ボタン3222を押しながら減速ボタン3224を押すと、自律移動装置100は逆再生モードに切り替わる。逆再生モードでは、教示ルートのゴール地点からスタート地点まで、逆方向に再生が行われる。逆再生モードでは、周辺情報変換部15が、地図記憶部22に記録されている周辺の物体の情報(周辺環境データ)を、逆方向からのデータに変換する。これにより、ゴール地点からスタート地点までの経路が教示されていなくても、スタート地点からゴール地点までの経路を教示された時の教示データを逆から再生することによって、自律移動装置100は、教示ルートを逆方向に再生することが可能である。
 また、図8では省略しているが、手動操縦モードにおいて、ユーザが再生ボタン3222を押しながら加速ボタン3225を押すと、自律移動装置100は再生補正モードに切り替わる。再生補正モードでは、後述する再生補正処理が行われ、自律移動装置100は、必要に応じて地図データを補正しながら教示データの再生を行う。
 なお、以上の各走行モードにおける操作取得部32の押しボタン322の操作方法は一例であり、各走行モードを切り替える際の操作が、上述の押しボタン322に限定されるわけではない。例えば、記憶ボタン3221、再生ボタン3222、ループ再生ボタン3223を1つのボタン(仮にユニバーサルボタンとする)に集約し、教示データが記録されていないときにユニバーサルボタンが押されると教示モードになり、教示データが記録済みのときにユニバーサルボタンが押されると再生モードになるようにしてもよい。また、教示ルートのゴール地点がスタート地点と同一又はスタート地点の近傍の地点の場合には、再生ボタン3222(又はユニバーサルボタン)が押されると、ループ再生モードになるようにしてもよい。
 次に、自律移動装置100の教示処理について、図9を参照して説明する。この教示処理は、ユーザが操作取得部32の記憶ボタン3221を押すと、実行が開始される。
 まず、制御部10は、自律移動装置100の走行モードを手動教示モードに切り替える(ステップS101)。そして、制御部10は、検出部31で検出された周辺環境データをスタート地点(第1地点)における地点データ(第1地点データ)として地点記憶部21に記録する(ステップS102)。なお、既に地図記憶部22に地図データが記録されていた場合には、制御部10は、スタート地点が地図データ上のどの位置に対応するかを把握する。
 次に制御部10は、スタートボタン3226が押されたか否かを判定する(ステップS103)。スタートボタン3226が押されたなら(ステップS103;Yes)、制御部10は、自律移動装置100の走行モードが手動教示モードであるか否かを判定する(ステップS104)。
 走行モードが手動教示モードなら(ステップS104;Yes)、周辺情報取得部11は、検出部31により、自律移動装置100の前方に存在するユーザを追従物として認識する(ステップS105)。そして、制御部10は、自律移動装置100の走行モードを追従教示モードに切り替え(ステップS106)、ステップS108に進む。
 走行モードが手動教示モードでない(すなわち追従教示モード)なら(ステップS104;No)、制御部10は、自律移動装置100の走行モードを手動教示モードに切り替え(ステップS107)、ステップS108に進む。
 一方、スタートボタン3226が押されていないなら(ステップS103;No)、制御部10は、検出部31でスキャンを行い、自律移動装置100の周辺の情報を取得する(ステップS108)。そして、制御部10は、走行モードが手動教示モードか否かを判定する(ステップS109)。
 走行モードが手動教示モードなら(ステップS109;Yes)、制御部10は、操作取得部32でユーザの操作(主にジョイスティック321による移動操作)を取得する(ステップS110)。そして、移動制御部16が当該ユーザの操作に従って駆動部40を制御しながら、地図作成部12が自律移動装置100の周辺環境の地図データ(ステップS108で検出部31が検出した点群のデータ)をフレーム単位で地図記憶部22に記録し、教示データ記録部14が当該フレーム単位の地図データと、自律移動装置100の走行位置の座標の点列とを教示データとして教示データ記憶部23に記録し(ステップS111)、ステップS114に進む。
 なお、周辺情報取得部11で反射材が認識された場合は、地図作成部12は、ステップS111で、当該反射材の位置や個数の情報も地図データに含めて地図記憶部22に記録する。したがって、長い廊下等のように、特徴量が少ない場所においても、反射材をところどころに設置(壁に貼る等)することにより、地図記憶部22に反射材の存在する場所や個数の情報が記録される。これにより、後述する再生処理の際に、制御部10は、反射材の位置や個数の情報とのマッチングを取り、自律移動装置100の自己位置をより正確に把握することができる。
 走行モードが手動教示モードでない(すなわち追従教示モード)なら(ステップS109;No)、周辺情報取得部11に認識された追従物を追従するように、移動制御部16が駆動部40を制御しながら、地図作成部12が自律移動装置100の周辺環境の地図データ(ステップS108で検出部31が検出した点群のデータ)をフレーム単位で地図記憶部22に記録し、教示データ記録部14が当該フレーム単位の地図データと、自律移動装置100の走行位置の座標の点列とを教示データとして教示データ記憶部23に記録する(ステップS112)。なお、上述のステップS111での処理と同様に、周辺情報取得部11で反射材が認識された場合は、地図作成部12は、ステップS112で、当該反射材の位置や個数の情報も地図データに含めて地図記憶部22に記録する。
 そして、制御部10は、周辺情報取得部11に認識された追従物の点群データを地図記憶部22に記録された地図データから削除し(ステップS113)、ステップS114に進む。なお、ステップS113の処理は、必ずしもステップS112と別個に行う必要はなく、ステップS112で地図作成部12が地図データを作成する際に、追従物の点群データを用いずに、追従物以外の点群データを用いて地図データを作成するようにしてもよい。
 また、ステップS112では、移動制御部16は、追従物が後退しても自律移動装置100は後退しない(例えば停止する)ように駆動部40を制御する。すなわち、追従物を追従している間は、移動制御部16は、駆動部40に対して後退を指示しないようにする。後述する再生処理の際、走行経路として用いた教示ルートに後退処理が含まれていると、移動制御処理が複雑になる可能性があるからである。したがって、追従教示の場合だけでなく、手動教示の場合においても、移動制御部16は、ステップS111で、自律移動装置100を後退させないように駆動部40を制御してもよい。
 ステップS114では、制御部10は、操作取得部32でユーザの操作が取得されたか否かを判定する。ユーザ操作が取得されたなら(ステップS114;Yes)、教示データ記録部14は、当該ユーザ操作の情報を教示データとして教示データ記憶部23に記録し(ステップS115)、ステップS116に進む。ステップS114で取得されるユーザ操作は、具体的には、再生ボタン3222を1回押すことによる「一時停止」の指示(もう一度再生ボタン3222が押されるまでの時間が「一時停止する時間」として教示データ記憶部23に記録される)、再生ボタン3222を連続して2回押すことによる「ホールド位置設定」の指示(再生時にこの位置で一時停止し、ユーザが再生ボタン3222を押すとホールド状態に移行する)、ループ再生ボタン3223を押すことによる「LED点灯/消灯切替」の指示(再生時にこの位置でLED331の点灯/消灯を切り替える)等である。
 一方、ユーザ操作が取得されなかったなら(ステップS114;No)、ステップS116に進む。
 ステップS116では、制御部10は、操作取得部32から、教示終了の指示が入力されたか(すなわち、記憶ボタン3221が押されたか)否かを判定する。教示終了の指示が入力されなければ(ステップS116;No)、ステップS103に戻る。教示終了の指示が入力されたら(ステップS116;Yes)、制御部10は、検出部31で検出された周辺環境データを教示ルートのゴール地点(第2地点)における地点データ(第2地点データ)として地点記憶部21に記録する(ステップS117)。
 そして、制御部10は、教示データの記録が完了したことを示す音(効果音、メロディ等)を出力部33のスピーカから出力し(ステップS118)、教示処理を終了する。なお、教示データの記録が完了したことを示す信号としては、上述の音だけでなく、光を用いることもできる。例えば、制御部10は、教示中はLED331を点灯させて教示モードで動作していることをユーザに示し、ステップS118では、教示データの記録が完了したことを示すために、LED331を消灯させてもよい。
 以上、教示処理について説明した。この教示処理によって教示データ(教示ルートに従ってスタート地点からゴール地点まで走行するように自律移動装置100を制御するためのデータ。途中で一時停止したりLEDを点灯/消灯したりする制御データも含まれる。)が、作成される。なお、上ではスタート地点を第1地点、ゴール地点を第2地点と記載したが、これは、地点記憶部21にこれらの地点が最初に記録された場合の話である。例えば、最初の教示処理で地点記憶部21に第1地点及び第2地点が記録された後の次の教示処理では、教示を開始したスタート地点は第3地点として、教示を終了したゴール地点は第4地点として、それぞれ地点記憶部21に記録される。このように、教示開始の指示が入力された地点(スタート地点)と教示終了の指示が入力された地点(ゴール地点)とは、累積的に地点記憶部21に記録することが可能であり、教示データ記憶部23にも、複数の教示ルートを記録することが可能である。
 教示処理の一例について、図10を参照して説明する。最初に自律移動装置100が第1地点81の位置で、ユーザ66から教示開始の指示を受けたものとする。すると、制御部10は、検出部31で検出された周辺環境データ60aをスタート地点の地点データ(第1地点データ)として、地点記憶部21に記録する(ステップS102)。そして、ユーザが自律移動装置の正面に立ってスタートボタン3226を押すと、周辺情報取得部11は、ユーザ66を追従物として認識する(ステップS105)。
 その後ユーザ66が第2地点82まで歩いていくと、自律移動装置100もユーザ66に追従して第2地点82まで移動するが、移動中に地図作成部12は、検出部31で検出されたデータ(例えば、周辺環境データ60b、60c、60d)に基づいて周辺環境の地図データを作成して地図記憶部22に記録する(ステップS112)。また、第2地点82までの移動中に、例えば第3地点83で、ユーザが再生ボタン3222を2回連続して押すと(ステップS114;Yes)、第3地点83がホールド地点として認識され、第3地点で検出された周辺環境データ等に基づいて第3地点の位置情報がホールド地点の位置情報として地点記憶部21に記録され、「第3地点で一時停止する」という教示データが教示データ記憶部23に記録される(ステップS115)。
 そして、ユーザ66が第2地点82で教示終了の指示を操作取得部32に入力すると(ステップS116)、制御部10は、検出部31で検出された周辺環境データ60eを第2地点データとして、地点記憶部21に記録する(ステップS117)。また、この教示処理の間に、第1地点81から第2地点82までの経路(第1教示ルート)を進むための教示データが、教示データ記憶部23に記録される。
 その後、例えば、自律移動装置100が第3地点83の位置で第4地点84の方向を向いている状態で、ユーザ67から教示開始の指示を受けたものとする。すると、制御部10は、検出部31で検出された周辺環境データ60hをスタート地点の地点データ(第3地点データ)として、地点記憶部21に記録する(ステップS102)。そして、ユーザが自律移動装置の正面に立ってスタートボタン3226を押すと、周辺情報取得部11は、ユーザ67を追従物として認識する(ステップS105)。
 その後ユーザ67が第4地点84まで歩いていくと、自律移動装置100もユーザ67に追従して第4地点84まで移動するが、移動中に地図作成部12は、検出部31で検出されたデータ(例えば、周辺環境データ60i)に基づいて周辺環境の地図データを作成して地図記憶部22に記録する(ステップS112)。
 そして、ユーザ67が第4地点84で教示終了の指示を操作取得部32に入力すると(ステップS116)、制御部10は、検出部31で検出された周辺環境データ60jをゴール地点の地点データ(第4地点データ)として、地点記憶部21に記録する(ステップS117)。また、この教示処理の間に、第3地点83から第4地点84までの経路(第2教示ルート)を進むための教示データは、教示データ記憶部23に記録される。
 このようにして、教示処理により、地点記憶部21には各地点の地点データが、地図記憶部22には地図データが、教示データ記憶部23には教示データが、それぞれ記録されていく。なお、上述の教示処理(図9)では、教示処理中の走行モードを手動教示モードと追従教示モードの2種類として説明したが、教示処理中の走行モードはこの2種類に限定されるわけではない。ライントレース、手押し、遠隔操縦、他のシステムからの指示に基づく走行等によっても教示処理は可能である。これらの走行モードによる教示処理を実現するには、例えば、図9のステップS109の判定で走行モードの種類に基づく分岐を増やし、ステップS110及びS111の処理に相当する処理として、ライントレース、手押し等のそれぞれの走行モードで走行しながら、地図データ及び教示データを記録する処理を行えばよい。
 次に、自律移動装置100の再生処理について、図11、図12及び図13を参照して説明する。この再生処理は、ユーザが操作取得部32の再生ボタン3222を押すと、実行が開始される。なお、ユーザが、再生ボタン3222と同時に減速ボタン3224を押すと、逆再生処理が実行され、再生ボタン3222と同時に加速ボタン3225を押すと再生補正処理が実行される。逆再生処理及び再生補正処理は、再生処理の一部が変更になるだけの処理であるため、以下の再生処理の説明中で、適宜追加説明を行う。
 まず、制御部10は、自律移動装置100の現在地を取得する(ステップS201)。ここで、現在地の取得方法は任意である。例えば、制御部10は、SLAMを用いて自律移動装置100の現在地を取得してもよい。また、制御部10は、検出部31で取得されるデータを地点記憶部21に記録されている各地点のデータと照合することによって現在地を取得してもよい。検出部31で取得されるデータを地点記憶部21に記録されている各地点のデータと照合することによって現在地を取得する方法について、以下に補足説明する。
 検出部31で取得されるデータの角度範囲は、自律移動装置100がどの方向を向いていても、ある程度の重複が生じるので、重複する部分についてマッチングを行うことにより、現在地が地点記憶部21に記録されている地点であるか否か、及び、記録されている地点であるなら、そのうちのどの地点なのかを判定できる。
 例えば、検出部31が角度範囲320度のデータを取得しており、自律移動装置100の現在位置が第2地点82である場合を想定すると、図10に示すように、第2地点82に位置する自律移動装置100が、第1地点81とは反対の方向を向いている時に検出部31で検出されるデータは周辺環境データ60eであり、第1地点81の方向を向いている時に検出部31で検出されるデータは周辺環境データ60fであり、両者の間には網掛け部分60efに示すように280度分(左右それぞれ140度分)の重複部分がある。したがって、周辺環境データ同士を照合する際には、例えば一方の周辺環境データを少しずつ回転させながら照合させていき、半分以上(例えば280度分以上)がマッチングしたら、同一の地点から得られた周辺環境データであると推定することができる。
 このようにして、制御部10は、検出部31で検出された周辺環境データを地点記憶部21に記録されている各地点のデータと照合することによって、現在地が地点記憶部21に記録されている地点のうちのどの地点なのかを取得することができる。なお、もし地点記憶部21に記録されているどの地点ともマッチングしない場合には、現在地の取得は不可能となり、ステップS201では、例えば「現在地取得不可能」という値を取得する。
 図11に戻り、制御部10は、ステップS201で取得した現在地が地点記憶部21に記録されているスタート地点であるか否かを判定する(ステップS202)。スタート地点でなければ(ステップS202;No)、その位置からスタートする教示ルートは教示されていないということなので、制御部10は出力部33のスピーカからエラーを示す音を出力し(ステップS203)、再生処理を終了する。
 なお、再生処理ではなく、逆再生処理が行われている場合は、ステップS202での判定は「現在地がゴール地点?」となり、現在地がゴール地点でなければステップS203に進み、現在地がゴール地点なら周辺情報変換部15が地図記憶部22に記録されている周辺の物体の情報(周辺環境データ)を、逆方向からのデータに変換し、ステップS204に進む。
 現在地がスタート地点なら(ステップS202;Yes)、制御部10は、検出部31でスキャンを行い、自律移動装置100の周辺の情報を取得する(ステップS204)。
 そして、制御部10は、ステップS204で取得した周辺の情報に基づき、自律移動装置100の進行方向の通過可能幅内に障害物が存在するか否かを判定する(ステップS205)。通過可能幅とは、自律移動装置100の横幅(例えば1m)に、左右のゆとり分(例えば、左右それぞれ5cm)を加えた値(この例では1.1m)である。進行方向の真正面に障害物が存在する場合だけでなく、進行方向の走行経路の両わきの壁や障害物が、通過可能幅内に入り込んでいる場合は、ステップS205での判定がYesとなる。この場合に自律移動装置100がそのまま走行すると、自律移動装置100の左右の少なくとも一方が壁や障害物に衝突する可能性があるためである。
 障害物が存在するなら(ステップS205;Yes)、制御部10は、自律移動装置100が当該障害物を回避可能か否かを判定する(ステップS206)。本実施形態では、次の2つの条件を満たせば、制御部10は、障害物を回避可能と判定する。
(1)制御部10が自律移動装置100の現在の位置(自己位置)を見失わない(例えば検出部31で検出される周辺環境データを地図記憶部22に記録されている地図データと照合することにより自己位置を把握できる)範囲で障害物を回避できる。
(2)障害物と障害物又は壁との間に自律移動装置100が通り抜けられるだけの幅が存在する。
 より、具体的には、この判定は、ステップS204で取得した周辺の情報に基づき、当該障害物を回避するのに必要な横方向の移動量が、回避可能幅以下であり、かつ、自律移動装置100の走行方向において障害物が存在しない空間の横幅が通過可能幅以上であるなら、当該障害物を回避可能と判定し、そうでないなら回避不可能と判定する。ここで、回避可能幅とは、自律移動装置100が、地図記憶部22に記憶されている地図データ等に基づいて自己位置を推定することが可能な範囲での教示ルートからのずれの最大値であり、例えば、0.9mである。
 自律移動装置100は、横方向にこの回避可能幅を超えて移動すると、検出部31でスキャンして取得した周辺の情報と地図データとに基づいて自己位置を推定することが難しくなるため、走行方向に障害物を検出した場合、回避可能幅以下で当該障害物を回避可能の場合には当該障害物を回避するが、回避可能幅を超える場合は回避せずに停止することになる。したがって、回避可能幅以下の範囲で障害物が多少移動しても、自律移動装置100は当該障害物を避けて走行することが可能である。また逆に、例えば教示ルートの真上にコーン等の障害物を置くことにより、ユーザは故意に自律移動装置100をその障害物の手前で停止させることも可能である。
 自律移動装置100が当該障害物を回避可能であれば(ステップS206;Yes)、制御部10は、障害物を回避するために必要な横方向の移動量(調整幅)を回避量として取得し(ステップS207)、ステップS213に進む。例えば、図14に示すように、障害物73が教示ルートの点列75に近づいており、自律移動装置100がこのまま走行すると障害物73に衝突する可能性がある場合は、制御部10は、ステップS204で取得した周辺の情報に基づいて、障害物73と障害物74との間の幅Woが通過可能幅Wv以上であり、かつ、障害物73を回避するのに必要な回避量Waが回避可能幅以下であれば、回避可能と判断して、回避量としてWaを取得する。後述するステップS213で制御部10は、点列75で示される教示された走行経路をこの回避量Waの分だけ調整することにより、自律移動装置100は、障害物73を回避して走行することができる。
 自律移動装置100が当該障害物を回避可能でなければ(ステップS206;No)、移動制御部16は駆動部40を制御して自律移動装置100の走行を停止させる(ステップS208)。ステップS208では、制御部10は、出力部33のスピーカからアラーム音等を出力して走行を停止したことをユーザに知らせてもよい。そして、制御部10は、操作取得部32からユーザの操作が取得されたか否かを判定する(ステップS209)。ユーザの操作が取得されなければ(ステップS209;No)、ステップS204に進む。時間の経過により、障害物が取り払われている可能性があるからである。
 ユーザの操作が取得されたら(ステップS209;Yes)、図13のステップS241に進み、ユーザの操作がホールド指示(再生ボタン3222が押された、ジョイスティック321が操作された等)であるか否かを判定する(ステップS241)。ホールド指示でないなら(ステップS241;No)、ユーザの操作が打ち切り指示(スタートボタン3226が押された)であるか否かを判定する(ステップS242)。ユーザの指示が打ち切り指示なら(ステップS242;Yes)、図11のステップS215に進み、移動制御部16は駆動部40を制御して自律移動装置100の走行を停止させ(ステップS215)、再生処理を終了する。ユーザの指示が打ち切り指示でなければ(ステップS242;No)、図11のステップS204に進む。
 一方、ユーザの指示がホールド指示なら(ステップS241;Yes)、自律移動装置100は、まだ走行中の場合は、移動制御部16は駆動部40を制御して自律移動装置100の走行を停止させる(ステップS243)。そして、制御部10は、現在の自律移動装置100の位置及び向きを、ホールド位置及びホールド方向として、記憶部20に記録する(ステップS244)。そして、制御部10は、操作取得部32から再開指示(再生ボタン3222が押された)が取得されたか否かを判定する(ステップS245)。再開指示が取得されたら(ステップS245;Yes)、図11のステップS204に進む。
 再開指示が取得されなければ(ステップS245;No)、図12のステップS226に進む。図12の処理により、自律移動装置100はホールド状態で、自動走行以外の任意の走行モードで走行することが可能になる。これにより、例えばユーザは、再生処理で自動走行中の自律移動装置100を、一時的に他の場所まで走行させて、通常は運ばない荷物を運ばせたり、通常は走行しない経路を走行させたりすることができる。図12の処理の詳細については後述する。
 一方、図11のステップS205で、障害物がなければ(ステップS205;No)、制御部10は、障害物を避けるための回避量を0にリセットする(ステップS210)。これにより、その後の自律移動装置100は、走行経路の調整幅が小さくなるように制御され、元々の教示ルートに復帰することになる。
 そして、自己位置推定部13は、ステップS204で検出部31により検出された点群のデータを地図記憶部22に記録されている地図データと照合して、自律移動装置100の自己位置及び向きを推定し、移動制御部16は、自己位置推定部13が推定した自己位置が、教示データ記憶部23に記録されている教示時の自律移動装置100の位置の座標の点列に沿って走行(自動走行)するように駆動部40を制御する(ステップS213)。ただし、ステップS207で回避量が設定されていたら、ステップS213では、制御部10は、教示時の自律移動装置100の位置の座標の点列(走行経路)をその回避量の分だけ調整する。これにより、図14に示すように、移動制御部16は、元の教示ルートの点列75から、回避量Waだけ障害物73を回避した調整後の経路76に従って自律移動装置100が走行するように駆動部40を制御する。
 なお、地図データに反射材の配置や個数の情報が記録されている場合は、制御部10は、ステップS213で自律移動装置100の現在の位置及び向きを把握する際に、周辺情報取得部11で認識された反射材の情報(反射材の位置や個数)を優先して地図データとマッチングさせる。もし、反射材の情報がマッチングしない(例えば反射材の個数が異なる)状態が所定の時間(例えば10秒間)や所定の移動距離(例えば10m)続いた場合には、制御部10は、自律移動装置100を停止させてもよい。反射材は、他の通常の物体と比較して、検出部31でその位置や個数を精度良く認識でき、マッチングしない状態が所定の時間や移動距離の間続いたということは、自律移動装置100が本来の経路から外れている可能性が高いことを意味するからである。
 また、再生処理においては、上述のように、ステップS213での走行中に、検出部31で検出された周辺環境データと地図記憶部22に記録されている地図データとがマッチングしない場合は、制御部10は、自律移動装置100が本来の経路から外れている可能性が高いと判断する。これに対し、再生補正処理では、検出部31で検出された周辺環境データと地図記憶部22に記録されている地図データとがマッチングしなかった場合には、検出部31で検出された周辺環境データの方を正しいデータとみなして、地図記憶部22に記録されている地図データを補正する処理を、ステップS213の直後に行う。
 再生補正処理において、この補正を常に行うと、自律移動装置100の走行がかえって不安定になるおそれもあるため、補正に用いる対象は、反射材に限定してもよい。すなわち、周辺環境データと地図データとがマッチングしなかった場合、周辺環境データに含まれる反射材の情報については地図データの補正に用い、周辺環境データに含まれる反射材以外の情報は地図データと照合して自律移動装置100の現在の位置及び向きの補正に用いるようにしてもよい。
 このように再生補正処理では、周辺環境の一部が変化した場合(例えば物流倉庫において、パレットに山積みされた荷物が、昨日までは存在していたが、本日はなくなっていた場合等)にも、地図データを補正することができる。また、廊下の壁等に設置されている反射材を追加する等して、その後の再生処理の精度を向上させることができる。
 図11の説明に戻り、制御部10は、検出部31で検出された周辺環境データを地点記憶部21に記録されている地点データと照合することによって、自律移動装置100がゴール地点に到着したか否かを判定する(ステップS214)。この判定は、上述したステップS202でのスタート地点の判定と同様の処理により行うことができる。
 ゴール地点に到着したら(ステップS214;Yes)、移動制御部16は駆動部40を停止させ(ステップS215)、再生処理を終了する。
 ゴール地点に到着していなければ(ステップS214;No)、制御部10は、検出部31で検出された周辺環境データを地点記憶部21に記録されている地点データと照合することによって、自律移動装置100の現在の位置がホールド地点であるか否かを判定する(ステップS216)。この判定も、上述したステップS202でのスタート地点の判定と同様の処理により行うことができる。
 現在地がホールド地点でなければ(ステップS216;No)、制御部10は、操作取得部32からユーザの操作が取得されたか否かを判定する(ステップS217)。ユーザの操作が取得されなければ(ステップS217;No)、ステップS204に進む。ユーザの操作が取得されたら(ステップS217;Yes)、図13のステップS241に進む。
 一方、ステップS216で現在地がホールド地点なら(ステップS216;Yes)、図12のステップS221に進み、移動制御部16は駆動部40を停止させる(ステップS221)。そして、制御部10は、現在の自律移動装置100の位置及び向きを、ホールド位置及びホールド方向として、記憶部20に記録する(ステップS222)。そして、制御部10は、操作取得部32からホールド指示(再生ボタン3222が押された)が取得されたか否かを判定する(ステップS223)。
 ホールド指示が取得されなければ(ステップS223;No)、制御部10は、操作取得部32から再開指示(再生ボタン3222が2回連続して押された)が取得されたか否かを判定する(ステップS224)。再開指示が取得されたら(ステップS224;Yes)、図11のステップS204に進む。再開指示が取得されなければ(ステップS224;No)、制御部10は、操作取得部32から打ち切り指示(スタートボタン3226が押された)が取得されたか否かを判定する(ステップS225)。
 打ち切り指示が取得されなければ(ステップS225;No)、ステップS223に戻る。打ち切り指示が取得されたら(ステップS225;Yes)、図11のステップS215に進む。
 一方ステップS223でホールド指示が取得されたら(ステップS223;Yes)、制御部10は、自律移動装置100の状態をホールド状態に切り替える(ステップS226)。ステップS226では制御部10は、例えば出力部33のLED331を点灯させて、自律移動装置100が現在ホールド状態であることをユーザに知らせてもよい。
 そして、制御部10は、検出部31でスキャンを行い、自律移動装置100の周辺の情報を取得する(ステップS227)。そして、制御部10は、検出部31で検出された周辺環境データをステップS222で記録したホールド位置の情報と照合することによって、自律移動装置100の現在の位置がホールド地点の近傍(例えばホールド地点から前後左右に10cm未満のずれしかない位置)であるか否かを判定する(ステップS228)。
 ホールド地点の近傍でないなら(ステップS228;No)、ステップS230に進む。ホールド地点の近傍なら(ステップS228;Yes)、制御部10は、出力部33のスピーカから通知音を出力して(ステップS229)、ユーザに「この位置からならホールド状態から再生モードに復帰することが可能」ということを知らせる。
 そして、制御部10は、操作取得部32からユーザによる移動指示(例えばジョイスティック321の操作)が取得されたか否かを判定する(ステップS230)。移動指示が取得されたら(ステップS230;Yes)、制御部10は、取得した移動指示にしたがって駆動部40を制御して自律移動装置100を走行(ガイド走行)させる(ステップS231)。なお、この走行は手動操縦に限らず、他の任意のガイド走行(自動追従、手押し、遠隔操縦、他のシステムからの指示に基づく走行等)でも良い。そして、ステップS227に戻る。
 移動指示が取得されなければ(ステップS230;No)、制御部10は、操作取得部32から再開指示(再生ボタン3222が押された)が取得されたか否かを判定する(ステップS232)。再開指示が取得されなければ(ステップS232;No)、制御部10は、操作取得部32から打ち切り指示(スタートボタン3226が押された)が取得されたか否かを判定する(ステップS233)。
 打ち切り指示が取得されなければ(ステップS233;No)、ステップS227に戻る。打ち切り指示が取得されたら(ステップS233;Yes)、図11のステップS215に進む。
 一方、ステップS232で再開指示が取得されたら(ステップS232;Yes)、ステップS227で検出された周辺環境データをステップS222又はステップS244で記録したホールド位置の情報と照合することによって、自律移動装置100の現在の位置がホールド地点の近傍であるか否かを判定する(ステップS234)。現在位置がホールド位置の近傍でなければ(ステップS234;No)、その位置から再生モードに復帰することはできないため、制御部10は出力部33のスピーカからエラーを示す音を出力し(ステップS235)、ステップS227に戻る。
 現在位置がホールド位置の近傍なら(ステップS234;Yes)、制御部10は、自律移動装置100の現在の向きが、ステップS222又はステップS244で記録したホールド方向とほぼ一致する(例えば、10度以下のずれしかない)か否かを判定する(ステップS236)。
 自律移動装置100の現在の向きがホールド方向とほぼ一致するなら(ステップS236;Yes)、ホールド状態から再生モードに復帰して(ステップS240)、図11のステップS204に進む。自律移動装置100の現在の向きがホールド方向と一致しないなら(ステップS236;No)、制御部10は、自律移動装置100の現在の向きが、ステップS222又はステップS244で記録したホールド方向の逆の向きとほぼ一致する(例えば、10度以下のずれしかない)か否かを判定する(ステップS237)。
 自律移動装置100の現在の向きがホールド方向の逆の向きでないなら(ステップS237;No)、移動制御部16は駆動部40を制御して自律移動装置100の向きをホールド方向に一致させるように(しかも、位置をホールド位置にするように)旋回させる(ステップS238)。そして、ホールド状態から再生モードに復帰して(ステップS240)、図11のステップS204に進む。
 自律移動装置100の現在の向きがホールド方向の逆の向きなら(ステップS237;Yes)、周辺情報変換部15は地図記憶部22に記録されている周辺環境データを逆方向からのデータに変換し、制御部10はスタート地点からホールド地点までの再生に用いた教示データを逆向きにしてスタート地点まで戻るように設定する(ステップS239)。そして、ホールド状態から再生モードに復帰して(ステップS240)、図11のステップS204に進む。
 なお、ステップS237での判定においては、現在の向きとホールド方向とのずれが±90度以下の時にはステップS238に進み、それ以外の場合はステップS239に進み、ステップS239では移動制御部16が駆動部40を制御して自律移動装置100の向きをホールド方向とは逆の向きに(しかも、位置をホールド位置にするように)旋回させる処理も行うようにしてもよい。
 以上、再生処理について説明した。この再生処理では、制御部10は、教示データに基づいて、駆動部40を制御して、自律移動装置100を自動走行させる(ステップS213)。そして、自律移動装置100の走行を一時停止させる地点であるホールド地点で(ステップS216;Yes)、操作取得部32で取得したユーザの操作に基づいて駆動部40を制御して自律移動装置100を自動走行以外の走行モードで走行(手動走行)させる(ステップS231)。そして、自動走行以外の走行モードにより自律移動装置がホールド地点の近傍に到達したら(ステップS234;Yes)、一時停止した自動走行を再開させる(ステップS240~ステップS213)。
 したがって、自律移動装置100は、ホールド地点で再生モードからホールド状態に移行し、ユーザは自律移動装置100を自動走行以外の任意の走行モード(ガイド走行モード)で自由に走行させることができる。例えば、自動走行中に、任意の地点で作業者が自律移動装置100を操作しホールド状態にしたうえで、自動走行の経路(教示ルート)から離脱し、自動追従モードで搬送対象物の付近まで移動し、搬送対象物の載せ降ろしした後に自動追従モードでホールド地点まで戻ることができる。そして、その後、ホールド地点で、自律移動装置100をホールド状態から再生モードに復帰させることができる。なお、上述の再生処理では、ホールド状態での移動指示については、主に操作取得部32のジョイスティック321によるものを説明したが、ホールド状態での移動指示はジョイスティック321によるものに限られない。図9の教示処理で説明したのと同様に、スタートボタン3226を押すことによって、手動操縦モード、自動追従モード、ライントレースモード等を切り替えることが可能であり、ホールド状態でも、手動操縦モードに限らず、ユーザは自動走行以外の任意の走行モード(ライントレース、手動操縦、自動追従、手押し、遠隔操縦、他のシステムからの指示に基づく走行等のガイド走行モード)で自律移動装置100を走行させることができる。
 また、制御部10は、ホールド地点での走行方向をホールド方向として記憶し(ステップS222)、自律移動装置がホールド地点の近傍に到達したら(ステップS234;Yes)、現在の向きがホールド方向と一致するか判定し(ステップS236)、一致していなければ(ステップS236;No)、一致するように駆動部40を制御して旋回させて(ステップS238)から一時停止した自動走行を再開させる(ステップS240~ステップS213)。したがって、ユーザはホールド状態における自律移動装置100の向きを気にせずに、自律移動装置100を、ホールド状態から再生モードに復帰させることができる。
 また、制御部10は、ホールド地点での走行方向をホールド方向として記憶し(ステップS222)、自律移動装置がホールド地点の近傍に到達したら(ステップS234;Yes)、現在の向きがホールド方向と逆方向であるか判定し(ステップS237)、逆方向なら(ステップS237;Yes)、それまで自動走行した経路をスタート地点まで戻るように逆向きに設定して(ステップS239)から自動走行を再開させる(ステップS240~ステップS213)。したがって、ユーザは自律移動装置100の向きを逆向きにしてホールド地点に戻すことにより、自律移動装置100を、容易に教示ルートのスタート地点に戻すことができる。
 また、制御部10は、自動走行中に操作取得部32でユーザの操作を取得したら(ステップS217;Yes)、自動走行を一時停止し(ステップS243)、その時点における自律移動装置100の位置及び向きをホールド位置及びホールド方向として記憶部20に記憶する(ステップS244)。これにより、ユーザは予め教示の際にホールド位置を教示させなくても、再生時に任意の地点をホールド地点として設定することができる。
 また、自律移動装置100は、走行モードがガイド走行モード(手動操縦モード、自動追従モード等)のときに再生ボタン3222が押されると、再生モードに切り替わり、自動走行(再生処理による走行)が行われる(ステップS201~)が、再生処理で一時停止中に再生ボタン3222が押されると(ステップS223;Yes)、ホールド状態に切り替わり(ステップS226)、自動走行を一時中断して、ユーザが自由に自律移動装置100を手動操縦したり、自動追従させたりすることができる(ステップS231)。そしてさらにホールド状態で再生ボタン3222が押されると(ステップS232;Yes)、再生モードに切り替わり(ステップS240)、自動走行が再開される(ステップS204~)。このように、同一の操作(例えば、再生ボタン3222の押下)でも、自律移動装置100の状態に応じて、異なる制御(再生処理の実行、ホールド状態への切り替え、再生モードへの復帰)が行われるので、ユーザは操作方法に迷うことなく、自律移動装置100を操作することができる。
 また、制御部10は、ホールド状態に切り替わったら、LED331を点灯させる等の信号を出力部33に出力させて(ステップS226)、自動走行を再開(再生モードに復帰)可能であることをユーザに知らせることができる。これにより、ユーザは手動操縦の後に再生処理を再開できるのか否かを容易に知ることができる。
 また、制御部10は、追従教示の際に、追従物を認識し(ステップS105)、周辺環境の地図データを作成する際に(ステップS112)、追従物の点群データを地図データから削除することにより(ステップS113)、追従物の点群データを用いずに、追従物以外の点群データを用いて地図データを作成することができる。追従物は、再生処理の際には存在しないため、追従物の点群データは地図データ内でノイズ的なデータとなってしまうが、上述のような処理を行うことにより、このノイズ的なデータを削除することができ、再生処理時の自己位置推定等の精度を向上させることができる。
 また、制御部10は、教示データの記憶が完了すると、教示処理が完了したことを示す信号として、完了音を出力する(ステップS118)。これにより、ユーザは教示データが正常に記録されたことを容易に知ることができる。
 また、制御部10は、再生処理によって、教示データに基づいて自律移動装置100を自動走行させる際に、走行方向に存在する障害物に衝突しないように走行経路を調整する(ステップS207)。これにより、障害物の位置が教示時から少し移動した場合や、積み荷等の量、タイヤのすり減り具合、センサの誤差、モータ制御の誤差等の影響によって、教示時の経路をそのまま走行すると障害物に衝突する可能性がある場合でも、回避可能な場合には、障害物を回避するように経路を調整して走行することができる。また、回避不可能な場合(自己位置を推定できなくなるほど回避しないと障害物を避けきれないときや、障害物間の間隔が狭すぎて通り抜けられないとき等)には一時停止する(ステップS208)ので、一時停止した位置でユーザは自律移動装置100をホールド状態にして任意の走行モードで自由に走行させることができる。
 なお上述の実施形態において、操作取得部32として何を用いるか(例えばジョイスティック321、押しボタン322等)、操作方法をどのように設定するか(例えば再生処理中に再生ボタン3222が押されると一時停止する等)、ユーザへ通知する信号として何を選択するか(例えば、LED331の点灯/消灯や音の出力)は、一例に過ぎない。例えば、再生処理のステップS203やS235でエラー音を出力する代わりに、又は、エラー音の出力に加えて、LED331を点滅させるようにしてもよいし、LED331とは別にエラーを通知するためのLEDを別途設けて、それを点灯させるようにしてもよい。
 再生処理の一例について、図10を参照して説明する。まず、事前に上述の教示処理によって、自律移動装置100が第1地点81から第2地点82までユーザを追従して、教示が行われ、途中の第3地点83がホールド地点として指定されているものとする。すると、この教示処理の結果、スタート地点の地点データ(第1地点データ)、ゴール地点の地点データ(第2地点データ)、ホールド地点の地点データ(第3地点データ)が、それぞれ地点記憶部21に記録され、第1地点81から第2地点82までの経路(第1教示ルート)を移動した際の周辺環境データが地図記憶部22に記録され、第1地点81から第2地点82までの経路で教示された教示データが教示データ記憶部23に記録される。
 そして、自律移動装置100が、第2地点82の方向を向いた状態で第1地点81に位置している状態で、ユーザから再生開始の指示を受けたものとする。すると、制御部10は、自律移動装置100の現在地を取得する(ステップS201)。この例では、制御部10は、検出部31で検出された周辺環境データ60aを、地点記憶部21に記録されている各地点データ(周辺環境データ)と照合する。
 すると、周辺環境データ60aは、地点記憶部21に記録されているスタート地点の地点データ(第1地点データ)と一致するため、制御部10は、現在地が第1地点81であると判定できる。したがって、ステップS202での判定はYesとなる。
 そして、制御部10は検出部31でスキャンを行う(ステップS204)。図10の例では障害物はないのでステップS205での判定はNoとなり、検出部31で検出される周辺環境データと地図記憶部22に記録されている周辺環境データ(例えば周辺環境データ60b,60c,60d,60e)とを照合して自律移動装置100の現在の位置及び向きを把握しつつ、移動制御部16は教示データに従って走行するように駆動部40を制御する(ステップS213)。
 そして、自律移動装置100がホールド地点(第3地点83)に到着する(ステップS216;Yes)と、一時停止する(ステップS221)。ここで、ユーザが再生ボタン3222を押してホールド指示を出すと(ステップS223;Yes)、自律移動装置100はホールド状態になり(ステップS226)、ユーザはジョイスティック321等で(手動操縦モードに限らず、自動追従モード、手押し等も含む任意の走行モードで)自律移動装置100を自由に移動させることができる(ステップS231)。
 そして、ユーザは自律移動装置100を例えば図10に示す経路68のように、手動操縦モード、自動追従モード、手押し等の任意の走行モードで自由に移動させた後に、再度ホールド地点(第3地点83)の近傍で再生ボタン3222を押すと(ステップS232;Yes)、必要に応じてホールド時の向きに旋回して(ステップS238)、ホールド状態から再生モードに復帰する(ステップS240)。
 そして、自律移動装置100は、再度スキャン(ステップS204)や走行(ステップS213)を再開し、ゴール地点(第2地点82)に到着する(ステップS214;Yes)と、停止して(ステップS215)、再生処理を終了する。
 このようにして、制御部10は、自律移動装置100を、教示された経路に沿って自動走行させるとともに、経路の途中(ホールド地点)で、一時的にガイド走行モード(ライントレース、手動操縦、自動追従、手押し、遠隔操縦、他のシステムからの指示に基づく走行等、自動走行以外の走行モード)で走行させることができる。従来技術においては、自動走行中に自動走行の経路から離脱した作業を行う場合には自動走行をキャンセルせざるを得ず、再スタートさせる手順が煩雑であったり、再スタートさせることができなかったりした。本発明によれば、人と自律移動装置100との協働運搬作業において、自律移動装置100が自動走行中でも柔軟に走行モードを一時的に変更することができるため、柔軟な運用を可能にする。また自動走行中でも任意の地点で一時停止してホールド状態に切り替えて任意の作業を行うことができ、作業後はホールド状態から元の自動走行への復帰を容易に行うことができるため、スムーズな協働運搬作業を可能にする。
 なお、自律移動装置100が、第2地点82とは反対方向を向いた状態で第1地点81に位置している状態で、ユーザから再生開始の指示を受けた場合は、制御部10は、検出部31で検出された周辺環境データ60gを、地点記憶部21に記録されている第1地点データ(周辺環境データ60a)と照合することにより、自律移動装置100の現在の位置が第1地点81であり、自律移動装置100が第2地点82とは反対方向を向いていることを把握する。この場合は、移動制御部16は自律移動装置100の向きを反対方向にするように駆動部40を制御して、自律移動装置100を旋回させてから、上述のようにして、第2地点82に走行させることになる。
 また、その後、上述の教示処理によって、自律移動装置100が第3地点83から第4地点84まで第2教示ルートの教示が行われたものとする。すると、この教示処理の結果、第2教示ルートのスタート地点の地点データ(第3地点データ)とゴール地点の地点データ(第4地点データ)も地点記憶部21に記録される。そして、第3地点83から第4地点84までの経路(第2教示ルート)を走行した際の周辺環境データが地図記憶部22に記録され、第3地点83から第4地点84までの経路で教示された教示データが教示データ記憶部23に記録される。
 そして、自律移動装置100が、第3地点83の方向を向いた状態で第4地点84に位置している状態で、ユーザから逆再生開始の指示を受けたものとする。すると、制御部10は、検出部31で検出された周辺環境データ60kを、地点記憶部21に記録されている各地点データ(例えば、第4地点84の周辺環境データ60j)と照合する。
 すると、周辺環境データ60kと周辺環境データ60jとは、上述したように左右それぞれ140度の角度範囲においてマッチングが取れるため、制御部10は、現在地が第4地点84であると判定できる。したがって、ステップS202での判定はYesとなる。そして、周辺情報変換部15は、地図記憶部22に記憶されているデータのうち、教示処理の際に検出部31で検出された周辺環境データ60h,60iを、当該周辺環境を逆方向から検出した場合のデータに変換して逆方向データ(逆方向データ60h’,60i’)を生成し、地図記憶部22に記録する。
 そして、制御部10は、自律移動装置100の現在の位置及び向きを把握しつつ、第2教示ルートの教示データを逆から再生することによって、自律移動装置100を第4地点84から第3地点83に走行させる。このようにして、自律移動装置100は、教示された経路を、逆再生させることができる。
 また、上述したように、制御部10は、教示処理のステップS115において、一時停止する場所P1と一時停止する時間T1を記憶することができる。これにより、再生処理の際(記録された教示データに従って自動走行する際)に一時停止する場所P1で一時停止する時間T1だけ停止するように自律移動装置100を制御することができる。例えば、自律移動装置100が記憶した走行経路上に、自動シャッターがある場合に、自動シャッターの場所を記憶し、扉が全て開くまで、自動シャッターの手前で自律移動装置100を一時停止させることで、より柔軟に動作させることが可能である。
 一時停止する場所P1や一時停止する時間T1の記憶は、教示処理の最中に行えるが、教示処理の終了後に教示データを編集する形で行えるようにしてもよい。そして、この編集は、例えば、教示データをPCやスマートフォンに送信し、PCやスマートフォンの画面上で行えるようにしてもよい。
 また、制御部10は、上述の教示処理のステップS115において、例えばLED331の点灯/消灯等だけでなく、所定の機器への制御信号Sを出力する出力場所P2(と必要な場合は一時停止する時間T2)を記憶して、再生処理の際(記録された教示データに従って走行する際)に所定の機器への信号を出力する出力場所P2で制御信号Sを出力し、所定の機器を作動させる(又は作動させない)ように制御してもよい。
 例えば、制御部10で、0000~1111の4bitの出力パターンを記憶することができる場合に、自律移動装置100に接続されている牽引パレット等との接続機構を切り離す制御信号S1の出力パターン(例えば0001)や、接続機構を切り離さない制御信号S2の出力パターン(例えば0000)が定義されているものとする。すると、所定の出力場所P2で、0001の出力パターンの制御信号S1を出力することにより、自律移動装置100に接続されている牽引パレット等との接続機構を切り離し(さらに切り離しに必要な時間T2だけ一時停止する)、0000の出力パターンの制御信号S2を出力することにより、自律移動装置100に接続されている牽引パレット等との接続機構を切り離さない等の設定を記憶することができる。
 これにより、自律移動装置100が記憶した走行経路上の所定の場所で、自律移動装置100に接続されている牽引パレット等との接続機構を切り離して荷物を置いてくるか否かを選択する等、より柔軟に動作させることが可能となる。制御信号S、制御信号を出力する出力場所P2、一時停止する時間T2の記憶は、教示処理の最中に行えるようにしてもよいし、教示処理の終了後に教示データを編集する形で行えるようにしてもよい。
 また、自律移動装置100は、所定の機器として、紫外線照射ランプを制御可能にしてもよい。すると、上述の「所定の機器への制御信号の出力」を紫外線照射ランプのオンオフ制御に使うことができる。例えば、出力場所P2で制御信号Sを出力し、紫外線照射ランプを作動させる(又は停止する)ように制御することができる。
 また、自律移動装置100は、出力場所P2の代わりに制御信号Sを出力する条件Cを記憶できるようにしてもよい。すなわち、上述の教示処理のステップS115において、所定の機器への制御信号Sを出力する条件Cを記憶して、再生処理の際(記録された教示データに従って走行する際)に、条件Cが満たされたら所定の機器へ制御信号Sを出力し、所定の機器を作動させる(又は作動させない)ように制御してもよい。
 例えば「検出部31で人が近づいたことを検知」という条件Cを記憶させることで、検出部31で人が近づいてくることを検知すると、紫外線照射を止めるように制御することができる。また、教示時と再生時とで、所定の機器を変更可能にしてもよい。例えば、再生時においては紫外線照射を行いたいが、教示時には紫外線を照射したくない(ただし、紫外線照射がどのように行われるかをパイロットランプ等で確認したい)場合には、所定の機器を「教示時:パイロットランプ、再生時:紫外線照射ランプ」というような形式で設定可能にしてもよい。
 このようにすると、自律移動装置100は、教示中においては、紫外線照射を止めて、別のパイロットランプ等により出力信号を確認でき、再生中においては紫外線照射するように構成可能である。これにより、特定の箇所にだけ紫外線の照射を行うことができ、人が付近にいる教示中においては紫外線の照射を止めることができる。
 さらに、自律移動装置100は、速度モードを選択できるようにしてもよい。速度モードとしては、例えば、教示速度モード(追従教示や手動教示が行われた時の実際の速度を記憶して、再生時には教示時と同じ速度で走行するモード)や、設定速度モード(ユーザが再生時の速度として、任意の制御速度を記憶させることができ、再生時には記憶された制御速度で走行するモード)が考えられる。そして、制御部10は、上述の教示処理において、速度モードを選択することができ、選択した速度モードを地図データと合わせて記憶する。
 速度モードとして設定速度モードが選択された場合には、制御部10は、上述の教示処理のステップS115において、ユーザが(例えば減速ボタン3224や加速ボタン3225で)設定した制御速度を記憶し、再生処理の際(記録された教示データに従って走行する際)は、記憶した制御速度で走行するように自律移動装置100を制御してもよい。または、速度モードとして教示速度モードが選択された場合には、制御部10は、上述の教示処理において、教示走行時の実際の速度を記憶し、再生処理の際(記録された教示データに従って走行する際)には、教示時と同じ速度になるように自律移動装置100を制御してもよい。
 このように、制御部10は、上述の教示処理において、ユーザが選択した速度モードやユーザが設定した制御速度を記憶して、再生処理の際(記録された教示データに従って走行する際)に、記憶した速度モード又は制御速度に基づいて走行速度を制御するように駆動部40を制御してもよい。これにより、再生する際に好適な速度で動作させることが可能になる。制御速度もしくは速度モードの記憶は、教示処理の最中に行えるようにしてもよいし、教示処理の終了後に教示データを編集する形で行えるようにしてもよい。
 また、制御速度としては、走行経路上の任意の場所における速度を記憶できるようにしてもよい。例えば直進する際の制御速度は比較的速い速度を記憶し、曲がる際の制御速度は比較的遅い速度を記憶してもよい。また、条件によって異なる制御速度を設定できるように複数の制御速度を記憶できるようにしてもよい。例えば、積み荷が基準重量(例えば10kg)よりも重い場合の制御速度として比較的遅い速度を記憶し、積み荷が基準重量以下の場合の制御速度として比較的速い速度を記憶するようにしてもよい。
 なお、上述したような様々なデータ(一時停止する場所P1、時間T1、制御信号S、出力場所P2、条件C、速度モード、制御速度等)を教示データに追加記憶させるのは、例えば、教示処理のステップS115で行うことが可能である。したがって、追従物を認識させて追従させることによって教示する追従教示であっても、ジョイスティック321等の操作取得部32を用いて教示させる手動教示であっても、これらの教示データを教示データ記憶部23に記憶することができる。
(変形例)
 自律移動装置100は、図2に示すように、検出部31が操作取得部32の上方にあるが、検出部31の設置位置はこれに限定されない。例えば、図15に示すように、実施形態1の変形例に係る自律移動装置101は、検出部31を荷台51の下方に備える。自律移動装置100でも、検出部31のみで障害物を検出できることは上述したとおりであるが、変形例に係る自律移動装置101においては、より低い位置で障害物を検出できるため、比較的小さい障害物であっても回避可能になる。
 なお、障害物に関しては、検出部31とは別に、障害物を検出するための専用のセンサを設けてもよい。障害物を検出するための専用のセンサとしては、例えば、バンパー52に、バンパーセンサを設置することが考えられる。この場合、制御部10は、バンパーセンサで障害物に接触したことを検出したら、自律移動装置100,101を停止させたり、少し後退させたり等の処理を行うことができる。
 本発明においては、自律移動装置におけるセットアップコストと柔軟性を飛躍的に改善する効果が期待できる。従来の技術、たとえば前述のSLAMを用いた自律移動装置や自動搬送車は、一般的に、運用のセットアップに専門の技術者を必要とし、自動走行させるルートが簡単なルートであっても数時間、大規模なルートでは数日間、セットアップに必要とされていた。従来技術においては、地図の整合性の確認作業、累積誤差が大きい場合の修正作業は専門的な知識を必要とし、また積み荷の位置が少し変わるだけでも、環境が変化する度に大掛かりなセットアップを再度行う必要があり、コストが発生していた。
 また、上述の実施形態では、制御部10は、フレーム毎に地図を保存し、フレーム内で位置推定と走行制御を行っている。このため、累積誤差はフレーム内に留まり、フレームを移った際には新しいフレーム地図での位置推定と経路走行を行うため、いわゆる閉ループ問題は原理的に発生しない。この方法では、大局的自己位置推定が難しくなるといった側面はあるが、多くの顧客の運用では単純な2地点間の往復の自動走行が多いため、大局的自己位置推定は基本的には不要である。そして、多くの顧客の運用では、積み荷の位置や順番等、環境や運用が頻繁に変化するので、セットアップを簡単に行いたいニーズが多い。本発明においては、操作者(ユーザ)は自動搬送を行いたいルートで一度歩いて追従教示を行うことで、専門的な知識が無くても自律移動装置の運行をセットアップすることができる。また、自動走行中に任意の地点で一時停止させてホールド状態に切り替えることで、別の作業を行ってから自動走行に復帰することができ、簡単で柔軟な自動搬送を構築することができる。
 なお、自律移動装置100,101の各機能は、通常のPC等のコンピュータによっても実施することができる。具体的には、上記実施形態では、自律移動装置100,101が行う追従教示処理、再生処理等のプログラムが、記憶部20のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の機能を実現することができるコンピュータを構成してもよい。また、プログラムをインターネット等の通信ネットワークを介して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の機能を実現することができるコンピュータを構成してもよい。
 以上、本発明の好ましい実施形態について説明したが、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
 本出願は、2020年6月15日に出願された国際出願PCT/JP2020/23468に基づく。本明細書中に国際出願PCT/JP2020/23468の明細書、請求の範囲、図面全体を参照として取り込むものとする。
 10…制御部、11…周辺情報取得部、12…地図作成部、13…自己位置推定部、14…教示データ記録部、15…周辺情報変換部、16…移動制御部、20…記憶部、21…地点記憶部、22…地図記憶部、23…教示データ記憶部、31…検出部、32…操作取得部、33…出力部、40…駆動部、41…車輪、42…モータ、43…キャスター、51…荷台、52…バンパー、60…点線、60a,60b,60c,60d,60e,60f,60h,60i,60j,60k,60m,60n…周辺環境データ、60a’,60b’,60c’,60d’,60h’,60i’…逆方向データ、60ef…網掛け部分、61…人、63,64…反射材、65,75…点列、66,67…ユーザ、68,76…経路、71…壁、72,73,74…障害物、81,82,83,84…地点、100,101…自律移動装置、311…光学窓、312…レーザ、313…回転軸、321…ジョイスティック、322…押しボタン、323…非常停止ボタン、331…LED、3221…記憶ボタン、3222…再生ボタン、3223…ループ再生ボタン、3224…減速ボタン、3225…加速ボタン、3226…スタートボタン

Claims (11)

  1.  移動手段と、
     記憶手段と、
     制御手段と、
     を備える自律移動装置であって、
     前記制御手段は、
     教示された教示データを前記記憶手段に記憶させ、
     前記教示データに基づいて、前記移動手段を制御して前記自律移動装置を自動走行させ、
     前記自律移動装置の自動走行を一時停止させる地点であるホールド地点で、前記移動手段を制御して前記自律移動装置を前記自動走行以外の走行モードで走行させ、
     前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記一時停止した自動走行を再開させる、
     自律移動装置。
  2.  前記制御手段は、
     前記自律移動装置の自動走行を一時停止させる前記ホールド地点で、前記自律移動装置の走行方向をホールド方向として前記記憶手段に記憶し、
     前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記自律移動装置の走行方向が前記ホールド方向と一致するか判定し、
     前記走行方向が前記ホールド方向と一致していなければ、前記走行方向が前記ホールド方向と一致するように前記移動手段を制御して前記自律移動装置を旋回させてから、前記一時停止した自動走行を再開させる、
     請求項1に記載の自律移動装置。
  3.  前記制御手段は、
     前記自律移動装置の自動走行を一時停止させる前記ホールド地点で、前記自律移動装置の走行方向をホールド方向として前記記憶手段に記憶し、
     前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記自律移動装置の走行方向が前記ホールド方向と逆方向であるか判定し、
     前記走行方向が前記ホールド方向と逆方向であれば、前記自動走行を開始したスタート地点から前記ホールド地点までの経路を逆向きにした経路で前記スタート地点まで走行するように前記自動走行を再開させる、
     請求項1に記載の自律移動装置。
  4.  ユーザの操作を取得する操作取得手段をさらに備え、
     前記制御手段は、
     前記自動走行中に前記操作取得手段でユーザの操作を取得したら、自動走行を一時停止し、その時点における、前記自律移動装置の位置をホールド地点として、前記自律移動装置の走行方向をホールド方向として、それぞれ前記記憶手段に記憶する、
     請求項1から3のいずれか1項に記載の自律移動装置。
  5.  ユーザの操作を取得する操作取得手段をさらに備え、
     前記制御手段は、
     前記操作取得手段で同一の操作を取得した場合でも、その時点での前記自律移動装置の状態に応じた異なる制御を前記自律移動装置に対して行う、
     請求項1から4のいずれか1項に記載の自律移動装置。
  6.  出力手段をさらに備え、
     前記制御手段は、
     前記自動走行を一時停止している間は、自動走行を再開可能であることを示す信号を前記出力手段に出力させる、
     請求項1から5のいずれか1項に記載の自律移動装置。
  7.  周辺の物体を検出する検出手段をさらに備え、
     前記制御手段は、
     前記検出手段で検出した物体の中から追従物を認識し、
     前記検出手段で検出した点群のデータに基づいて周辺環境の地図データを作成する際に、前記追従物の前記データは用いずに、前記追従物以外の前記データを用いて前記地図データを作成する、
     請求項1から6のいずれか1項に記載の自律移動装置。
  8.  出力手段をさらに備え、
     前記制御手段は、
     前記教示データの記憶が完了したら、教示処理が完了したことを示す信号を前記出力手段に出力させる、
     請求項1から7のいずれか1項に記載の自律移動装置。
  9.  前記制御手段は、
     前記教示データに基づいて、前記自律移動装置を自動走行させる際に、走行経路を調整する、
     請求項1から8のいずれか1項に記載の自律移動装置。
  10.  自律移動装置の自律移動方法であって、
     教示された教示データを記憶手段に記憶し、
     前記教示データに基づいて、移動手段を制御して前記自律移動装置を自動走行させ、
     前記自律移動装置の自動走行を一時停止させる地点であるホールド地点で、前記移動手段を制御して前記自律移動装置を前記自動走行以外の走行モードで走行させ、
     前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記一時停止した自動走行を再開させる、
     自律移動方法。
  11.  自律移動装置のコンピュータに、
     教示された教示データを記憶手段に記憶させ、
     前記教示データに基づいて、移動手段を制御して前記自律移動装置を自動走行させ、
     前記自律移動装置の自動走行を一時停止させる地点であるホールド地点で、前記移動手段を制御して前記自律移動装置を前記自動走行以外の走行モードで走行させ、
     前記自動走行以外の走行モードにより前記自律移動装置が前記ホールド地点の近傍に到達したら、前記一時停止した自動走行を再開させる、
     プログラム。
PCT/JP2021/015009 2020-06-15 2021-04-09 自律移動装置、自律移動方法及びプログラム WO2021256062A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/002,029 US20230266762A1 (en) 2020-06-15 2021-04-09 Autonomous Movement Device, Autonomous Movement Method, And Program
JP2022532332A JPWO2021256062A1 (ja) 2020-06-15 2021-04-09

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPPCT/JP2020/023468 2020-06-15
PCT/JP2020/023468 WO2021255797A1 (ja) 2020-06-15 2020-06-15 自律移動装置、自律移動方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2021256062A1 true WO2021256062A1 (ja) 2021-12-23

Family

ID=79267715

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2020/023468 WO2021255797A1 (ja) 2020-06-15 2020-06-15 自律移動装置、自律移動方法及びプログラム
PCT/JP2021/015009 WO2021256062A1 (ja) 2020-06-15 2021-04-09 自律移動装置、自律移動方法及びプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/023468 WO2021255797A1 (ja) 2020-06-15 2020-06-15 自律移動装置、自律移動方法及びプログラム

Country Status (4)

Country Link
US (2) US20230341862A1 (ja)
EP (1) EP4167043A4 (ja)
JP (2) JP7495154B2 (ja)
WO (2) WO2021255797A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11418950B1 (en) * 2019-12-12 2022-08-16 Amazon Technologies, Inc. System for establishing a secure data connection with an autonomous mobile device
EP4202368A1 (en) * 2021-12-24 2023-06-28 Ricoh Company, Ltd. Information processing apparatus, route generation system, route generating method, and carrier means

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107207013B (zh) * 2014-12-12 2020-01-21 索尼公司 自动驾驶控制设备以及自动驾驶控制方法和程序
WO2023235622A2 (en) * 2022-06-03 2023-12-07 Seegrid Corporation Lane grid setup for autonomous mobile robot

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016009356A (ja) * 2014-06-25 2016-01-18 シャープ株式会社 自律移動装置
JP2016168883A (ja) * 2015-03-11 2016-09-23 株式会社クボタ 作業車両
WO2019048030A1 (en) * 2017-09-05 2019-03-14 Aktiebolaget Electrolux METHOD OF A ROBOTIC CLEANING DEVICE

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62272307A (ja) * 1986-05-21 1987-11-26 Komatsu Ltd 無人移動体の誘導位置補正装置
JP2000305625A (ja) * 1999-04-16 2000-11-02 Honda Motor Co Ltd 自動走行車
JP4079792B2 (ja) * 2003-02-06 2008-04-23 松下電器産業株式会社 ロボットの教示方法と教示機能付きロボット
JP3710451B2 (ja) * 2003-03-03 2005-10-26 川崎重工業株式会社 移動体の位置計測方法及び装置
JP4464912B2 (ja) * 2004-12-03 2010-05-19 パナソニック株式会社 ロボット制御装置及び自律移動ロボット
JP2008084135A (ja) 2006-09-28 2008-04-10 Toshiba Corp 移動制御方法、移動ロボットおよび移動制御プログラム
JP5396983B2 (ja) * 2009-04-14 2014-01-22 株式会社安川電機 移動体及び移動体の教示方法
JP6846737B2 (ja) * 2017-01-12 2021-03-24 国立大学法人豊橋技術科学大学 自律走行作業装置およびデータ管理方法
JP6882092B2 (ja) * 2017-06-22 2021-06-02 株式会社日立製作所 経路探索装置および経路探索方法
JP7003531B2 (ja) * 2017-09-26 2022-01-20 株式会社豊田自動織機 地図情報更新方法
CN111212588B (zh) * 2017-11-16 2021-07-13 千叶工业大学 自走式扫除机

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016009356A (ja) * 2014-06-25 2016-01-18 シャープ株式会社 自律移動装置
JP2016168883A (ja) * 2015-03-11 2016-09-23 株式会社クボタ 作業車両
WO2019048030A1 (en) * 2017-09-05 2019-03-14 Aktiebolaget Electrolux METHOD OF A ROBOTIC CLEANING DEVICE

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11418950B1 (en) * 2019-12-12 2022-08-16 Amazon Technologies, Inc. System for establishing a secure data connection with an autonomous mobile device
EP4202368A1 (en) * 2021-12-24 2023-06-28 Ricoh Company, Ltd. Information processing apparatus, route generation system, route generating method, and carrier means

Also Published As

Publication number Publication date
US20230266762A1 (en) 2023-08-24
JP7495154B2 (ja) 2024-06-04
US20230341862A1 (en) 2023-10-26
EP4167043A1 (en) 2023-04-19
JPWO2021256062A1 (ja) 2021-12-23
JPWO2021255797A1 (ja) 2021-12-23
EP4167043A4 (en) 2024-02-21
WO2021255797A1 (ja) 2021-12-23

Similar Documents

Publication Publication Date Title
WO2021256062A1 (ja) 自律移動装置、自律移動方法及びプログラム
US7996126B2 (en) Apparatus and method for navigation based on illumination intensity
WO2019026761A1 (ja) 移動体およびコンピュータプログラム
CN107636546A (zh) 自主移动系统
JP7081881B2 (ja) 移動体および移動体システム
JPH10149217A (ja) 自動搬送装置
WO2014156501A1 (ja) 自動搬送車
US20200257311A1 (en) Cart having leading and following function
JP2018142154A (ja) 自律走行装置
KR20120046583A (ko) 인휠 차량의 자동 주차 시스템 및 그 방법
JP7489463B2 (ja) 自律移動ロボット連係システム及び自律移動ロボット
JP2009251922A (ja) 自動運転車および自動運転車運行システム
JPH02244206A (ja) 運搬手段及びその案内システム並びにその案内方法
JP2019179497A (ja) 移動体および移動体システム
JP2004094298A (ja) 自走車両利用の搬送装置
JP2003316439A (ja) 移動台車の制御装置
JP7112803B1 (ja) 搬送システム、及び搬送制御方法
CN112987709A (zh) 一种路径规划方法、系统及作业机器人
US20210232153A1 (en) Traveling body, traveling system and traveling control method
WO2022149285A1 (ja) 搬送システム、及び搬送制御方法
CN108803629B (zh) 基于毫米波雷达的跟随搬运车及其控制方法
JP6863049B2 (ja) 自律移動ロボット
JP2021056764A (ja) 移動体
JPWO2019069921A1 (ja) 移動体
KR20200055164A (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: 21825517

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022532332

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

Country of ref document: EP

Kind code of ref document: A1