WO2018193653A1 - 移動装置、物体検出方法及びプログラム - Google Patents

移動装置、物体検出方法及びプログラム Download PDF

Info

Publication number
WO2018193653A1
WO2018193653A1 PCT/JP2017/036297 JP2017036297W WO2018193653A1 WO 2018193653 A1 WO2018193653 A1 WO 2018193653A1 JP 2017036297 W JP2017036297 W JP 2017036297W WO 2018193653 A1 WO2018193653 A1 WO 2018193653A1
Authority
WO
WIPO (PCT)
Prior art keywords
stack
image
moving device
unit
mobile device
Prior art date
Application number
PCT/JP2017/036297
Other languages
English (en)
French (fr)
Inventor
カン グエン
智英 石上
サブラマニアン カルティック ハリハラ
ビン ジョウ
シェンメイ シェン
ジャヤシュリー カルレカー
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Publication of WO2018193653A1 publication Critical patent/WO2018193653A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions

Definitions

  • the present disclosure relates to a mobile device, an object detection method for the mobile device, and a program.
  • Patent Document 1 has a learning function that detects an obstacle (object) from information of a camera and various sensors and corrects a travel rule so as to avoid the obstacle when it is determined that the degree of danger is high.
  • a mobile device is disclosed.
  • Patent Document 1 can detect only objects that have been learned in advance.
  • objects other than previously learned objects also referred to as unknown objects
  • an object of the present disclosure is to provide a mobile device, an object detection method, and a program that can recognize an unknown object.
  • a mobile device is a mobile device that moves while avoiding a stack object specified by specific information stored in advance in a database, and an imaging unit that captures an image in the traveling direction of the mobile device;
  • the memory that stores the image information related to the image captured by the imaging unit and the image information related to the image including the object are read from the memory, and the specific information is
  • a stack object extraction unit that adds information indicating that the object is a stack object that causes a stack of the mobile device.
  • an object detection method is an object detection method performed by a mobile device that moves while avoiding a stack object specified by specific information stored in advance in a database.
  • a program according to an aspect of the present disclosure is a program for causing a computer to execute the object detection method.
  • a mobile device an object detection method, and a program that can recognize an unknown object are realized.
  • FIG. 1 is a perspective view showing the overall configuration of the moving apparatus according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a functional configuration of the mobile device according to the first embodiment.
  • FIG. 3 is a flowchart showing the operation of the mobile device according to the first embodiment.
  • FIG. 4 is a flowchart showing the operation of the mobile device according to the first modification of the first embodiment.
  • FIG. 5 is a diagram illustrating an example in which the mobile device according to the first modification of the first embodiment captures a plurality of images.
  • FIG. 6 is a block diagram illustrating a functional configuration of the mobile device according to the second modification of the first embodiment.
  • FIG. 7 is a block diagram illustrating a functional configuration of the mobile device according to the second embodiment.
  • FIG. 1 is a perspective view showing the overall configuration of the moving apparatus according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a functional configuration of the mobile device according to the first embodiment.
  • FIG. 3 is a flowchart showing
  • FIG. 8 is a flowchart showing the operation of the mobile device according to the second embodiment.
  • FIG. 9 is a block diagram illustrating a functional configuration of a mobile device according to a modification of the second embodiment.
  • FIG. 10 is a flowchart showing the operation of the mobile device according to the modification of the second embodiment.
  • FIG. 11 is a block diagram illustrating a functional configuration of a mobile device according to another embodiment.
  • coordinate axes may be shown.
  • the negative side of the Z axis represents the floor surface side, and the positive side of the Z axis represents the ceiling side.
  • the X-axis direction and the Y-axis direction are directions perpendicular to each other on a plane perpendicular to the Z-axis direction.
  • “plan view” means viewing from the Z-axis direction.
  • FIG. 1 is a perspective view showing an overall configuration of a moving apparatus 10 according to the present embodiment.
  • FIG. 2 is a block diagram showing a functional configuration of mobile device 10 according to the present embodiment.
  • the mobile device 10 is a robot-type vacuum cleaner that autonomously cleans while traveling on the floor of a room in a building such as a general house.
  • the moving device 10 autonomously determines whether or not to avoid an object present on the floor surface of the room by observing the state of the room using a camera and a sensor such as a cliff sensor, and cleans it.
  • the moving device 10 moves (runs) avoiding an object (may be referred to as “stack object”) specified by specific information stored in advance in the database 80.
  • the room is an example of a space in which the moving device 10 is arranged.
  • the moving device 10 has a substantially triangular shape in plan view, but the shape of the moving device 10 in plan view is not particularly limited. For example, a substantially rectangular shape may be used. A substantially circular shape may be used.
  • the mobile device 10 includes a camera 20, a memory 30, a sensor 40, a stack detection unit 50, an object detection unit 60, a stack object extraction unit 70, a database 80, and a travel control unit. 90 and a traveling unit 100.
  • the camera 20 is a camera module that captures a room in which the mobile device 10 is arranged. Specifically, the camera 20 captures at least an image ahead of the moving device 10 in the traveling direction. The camera 20 continuously photographs the front of the moving device 10 during traveling (cleaning). For example, when an object is present in front of the moving device 10, the object is reflected in an image captured by the camera 20.
  • the camera 20 is an example of a photographing unit. Further, the image captured by the camera 20 may be a still image or a moving image.
  • the memory 30 is a storage device that stores information related to images taken by the camera 20.
  • the memory 30 is an image buffer that temporarily stores an image captured by the camera 20.
  • the memory 30 sequentially stores information related to images taken by the camera 20.
  • the memory 30 sequentially stores images taken by the camera 20.
  • the image taken by the camera 20 is an example of image information.
  • the memory 30 is realized by a flash memory or a semiconductor memory.
  • the capacity of the memory 30 is not particularly limited, but may be any capacity as long as it can store information about an image captured by the camera 20 for about several seconds.
  • the sensor 40 is various sensors that the moving device 10 has. As shown in FIG. 1, in the present embodiment, the sensor 40 detects a distance to an object, a cliff sensor 41 that measures the distance from the installation position to the floor, a slip sensor 42 that detects the movement of the moving device 10, and the like. An ultrasonic sensor 43 and a range sensor (infrared sensor) 44.
  • the slip sensor 42 is an example of a first detection unit that detects the movement of the moving device 10.
  • the cliff sensor 41 is disposed, for example, at a height of about 2 cm from the floor surface. When there is no object on the floor, the detection result of the cliff sensor 41 is 2 cm. On the other hand, when there is an object on the floor, the detection result of the cliff sensor 41 differs depending on the height of the object, but is smaller than the detection result (for example, 2 cm) when there is no object.
  • a plurality of cliff sensors 41 are arranged on the floor side surface of the moving device 10 along the outline of the moving device 10 in plan view.
  • the slip sensor 42 detects whether or not an auxiliary wheel (not shown) arranged on the floor side surface is moving, for example.
  • the slip sensor 42 detects that the auxiliary wheel is moving. In other words, the slip sensor 42 detects that the moving device 10 is moving because the auxiliary wheel is moving.
  • the slip sensor 42 detects that the auxiliary wheel is not moving. In other words, the slip sensor 42 detects that the moving device 10 is not moving because the motor is driven but the auxiliary wheel is not moving.
  • the auxiliary wheel is a wheel that is not connected to the motor.
  • a plurality of ultrasonic sensors 43 and range sensors 44 are arranged in front of the traveling direction.
  • the ultrasonic sensor 43 and the range sensor 44 detect a distance to an object or a wall.
  • the senor with which the moving apparatus 10 is not limited to the above.
  • it may be a sensor that detects the rotational speed of a motor, a pressure sensor that detects whether it is in contact with an object (for example, a touch sensor), or a sensor that is used in other autonomous mobile devices.
  • the stack detection unit 50 detects whether or not the mobile device 10 is stacked based on the detection result of the sensor 40. For example, the stack detection unit 50 detects that the moving device 10 is stuck by detecting that the motor is operating but the auxiliary wheel is not moving by the slip sensor 42.
  • the stack in the specification of the present application refers to a state in which the traveling device 100 is driven by the motor (as controlled by the traveling control unit 90) in a state where the moving device 10 overlaps at least a part of the object in plan view. It means that you ca n’t drive.
  • the stack means a state in which the motor is driven but the moving device 10 is not moving.
  • the stack means, for example, a state in which the moving device 10 is riding on an object or sliding on the object. In other words, the state in which the moving device 10 is colliding with a wall or an object with a height is not included in the stack in the present specification.
  • the stack detection unit 50 is specifically a microcomputer, but may be realized by a dedicated circuit or the like.
  • the stack detection unit 50 may include a storage unit that stores a control program executed by the stack detection unit 50.
  • the object detection unit 60 is a processing device that detects an object using an image captured by the camera 20. Specifically, using the image captured by the camera 20 and the specific information that is stored in advance in the database 80 and that identifies the stack object that causes the stack of the mobile device 10, it exists in front of the mobile device 10. It is detected whether the object to be performed (in other words, the object shown in the image taken by the camera 20) is a stack object.
  • the object detection unit 60 may detect an object using the detection result detected by the sensor 40 in addition to the image captured by the camera 20.
  • the object detection unit 60 includes a feature extraction unit 61 and a discriminator 62.
  • the feature extraction unit 61 extracts information indicating the feature of the object from the image captured by the camera 20. Since the camera 20 continuously captures images while traveling, the feature extraction unit 61 extracts the features of the object when an object is captured in each image.
  • the discriminator 62 determines whether or not a stack object is included in the image captured by the camera 20 from the feature extracted by the feature extraction unit 61 and the specific information stored in the database 80.
  • the database 80 stores a feature relating to the stack object and an object name having the feature in association with each other. For example, a feature of an object having a white color and a rectangular shape is stored in association with paper as an object name. Accordingly, when the feature extracted by the feature extraction unit 61 is white in color and rectangular in shape, the classifier 62 determines that the object is paper and a stack object. If the discriminator 62 determines that the object is a stack object, the traveling control unit 90 controls the traveling of the mobile device 10 so as to avoid the object.
  • the processing method performed by the object detection unit 60 is learned in advance by machine learning (for example, deep learning) or the like.
  • the characteristics of the object to be extracted are learned in advance by machine learning.
  • the feature of the object is, for example, information on color and information on shape (for example, two-dimensional shape, three-dimensional shape or edge shape).
  • the object detection unit 60 is specifically a microcomputer, but may be realized by a dedicated circuit or the like.
  • the object detection unit 60 may incorporate a storage unit that stores a control program executed by the object detection unit 60.
  • the object detection unit 60 performs the above processing based on an object stored in advance in the database 80 (hereinafter also referred to as a known object). However, when the mobile device 10 is running, there is an object that is not stored in the database 80 (an object that does not have some or all of the features stored in the database 80 and is hereinafter also referred to as an unknown object). There is. In this case, the object detection unit 60 cannot determine that the unknown object is the object causing the stack, and the moving device 10 travels without avoiding the unknown object (for example, travels over the unknown object). There is a case. At this time, the moving device 10 may be stacked on an unknown object.
  • the stacked object extraction unit 70 described below is a processing device that performs processing when the moving device 10 is stacked on an unknown object.
  • the stack object extraction unit 70 is a processing device that extracts features of an object using an image stored in the memory 30 when the stack detection unit 50 detects a stack of the moving device 10 with respect to the object.
  • the stack object extraction unit 70 includes an image collection unit 71 and a feature extraction unit 72.
  • the image collection unit 71 reads a predetermined image from the image stored in the memory 30 when the stack detection unit 50 detects the stack.
  • the predetermined image is an image taken when stacked.
  • the image read by the image collection unit 71 from the memory 30 is an example of image information.
  • the feature extraction unit 72 extracts the feature of the object causing the stacking of the moving device 10 from the image read by the image collection unit 71.
  • the feature extraction process performed by the feature extraction unit 72 is the same as the feature extraction unit 61.
  • the feature extraction unit 72 updates the specific information in the database 80 using the extracted features. That is, the feature extraction unit 72 associates the extracted feature with the name of the object having the feature, and stores the new feature in the database 80, assuming that the object having the extracted feature is a stack object.
  • the stack object extraction unit 70 is specifically a microcomputer, but may be realized by a dedicated circuit or the like.
  • the stack object extraction unit 70 may include a storage unit that stores a control program executed by the stack object extraction unit 70.
  • the database 80 is a storage device in which specific information for specifying a stack object is stored in advance.
  • the database 80 stores feature information indicating the features of the stack object as the specific information.
  • the specific information may be associated with the feature of the stack object and the name of the object having the feature.
  • feature information an example of specific information
  • the stack object extraction unit 70 updates the specific information in the database 80 using information indicating the characteristics of the object causing the extracted stack.
  • the database 80 is realized by a flash memory or a semiconductor memory.
  • the traveling control unit 90 is a control device that controls the traveling unit 100 based on the detection result of the object detection unit 60. For example, when the object detection unit 60 determines that an object in front is a stack object (for example, paper), the traveling control unit 90 avoids the object (for example, a known object) and travels so as to travel. To control. For example, when the object detection unit 60 determines that the object in front is not a stack object, the traveling control unit 90 controls the traveling unit 100 to get over the object.
  • a stack object for example, paper
  • the traveling control unit 90 controls the traveling unit 100 to get over the object.
  • the travel control unit 90 is specifically a microcomputer, but may be realized by a dedicated circuit or the like.
  • the traveling control unit 90 may include a storage unit that stores a control program executed by the traveling control unit 90.
  • the traveling unit 100 has wheels (not shown) for moving the moving device 10 based on the control by the traveling control unit 90.
  • the traveling unit 100 is attached to a surface on the floor surface side of the moving device 10 so as to be rotatable about an axle, and the moving device 10 moves when the traveling unit 100 is rotated by driving a motor.
  • the traveling unit 100 is not particularly limited as long as it can move the moving device 10 under the control of the traveling control unit 90.
  • FIG. 3 is a flowchart showing the operation of the mobile device 10 according to the present embodiment. Specifically, it is a flowchart showing an operation when the mobile device 10 is stacked on an object while traveling.
  • the image collecting unit 71 is stored in the memory 30.
  • a predetermined image is read (collected) from the existing images (S11).
  • the predetermined image includes at least one of an image taken at the moment when the stack is detected and an image taken before the stack is detected and including an object that causes the stack.
  • the image shot when the stack is detected is, for example, an image of a part of the object that causes the stack.
  • the image taken before detecting the stack is, for example, an image that has a wider shooting area for the object that caused the stack than the image taken when the stack was detected. In some cases, the entire object is captured. “Before detecting the stack” is determined by the image collecting unit 71 based on the moving speed and the traveling direction of the moving device 10, for example, a few seconds before stacking.
  • the image collection unit 71 may read an image captured when a stack is detected, and may read an image captured before detecting the stack when no object is included in the read image.
  • the image taken when the stack is detected is, for example, an image taken at a time closest to the time when the stack is detected.
  • the whole object means a portion where the object can be seen when the object is viewed from the traveling direction of the moving device 10.
  • a plurality of images may be read from the memory 30 by the image collecting unit 71.
  • the image read from the memory 30 by the image collecting unit 71 is an example of image information.
  • the feature extraction unit 72 extracts features from the image (specifically, an object included in the image) (S12).
  • the feature extraction unit 72 extracts features for each image.
  • the feature extraction unit 72 updates the specific information in the database 80 using the extracted features (S13). That is, the specific information stored in the database 80 is updated. Specifically, information indicating that the object having the feature extracted in step S12 is a stack object is added to the specific information stored in advance in the database 80. That is, when the mobile device 10 is stacked on an object, the specific information in the database 80 is updated using information indicating the characteristics of the object.
  • the feature extraction unit 72 specifies the object (for example, paper) related to the feature of the object. You may memorize
  • the object detection unit 60 updates the image including the object and the update in step S13. It is possible to detect whether or not the object is a stack object using the specified information in the database 80 (S14). In other words, when the object that caused the stacking once exists ahead in the traveling direction, the object detection unit 60 determines that the object is a stacking object from the image captured by the camera 20 and the updated specific information. Can be determined. That is, even when an object that is not stored in advance in the database 80 exists, it is possible to learn that the object is a stacked object by stacking once (in other words, performing additional learning). Therefore, the mobile device 10 can suppress stacking again on the same object. That is, the moving apparatus 10 according to the present embodiment can recognize an unknown object.
  • the stack detection unit 50 does not detect the stack (No in S10), the running (cleaning) is continued.
  • the mobile device 10 is a mobile device 10 that moves while avoiding the stack object specified by the specific information stored in advance in the database 80, and is in the traveling direction of the mobile device 10.
  • a camera 20 that captures an image (an example of a capturing unit), a memory 30 that stores image information related to an image captured by the camera 20, and an image including the object from the memory 30 when the moving device 10 is stacked on the object
  • a stack object extracting unit 70 that adds information indicating that the object is a stack object causing the stack of the moving apparatus 10 to the specific information using the read image information.
  • the specific information stored in the database 80 is updated each time the mobile device 10 is stacked.
  • the mobile device 10 stacks once for an object (for example, an unknown object), but the feature of the object that caused the stack is added to the specific information in the database 80, so the cause of the stack once It is possible to prevent the object that has become stuck again.
  • the mobile device is a mobile device that memorizes the stack position when the mobile device is stacked and travel is controlled so as to avoid the position, the object itself is recognized when the object causing the stack is moved. (In other words, the feature of the object that caused the stack is not added to the database), so the same object may be stacked again.
  • the mobile device 10 when the mobile device 10 is stacked on an object (for example, an unknown object), the mobile device 10 according to the present embodiment extracts features of the object and uses the features to specify specific information in the database 80. Since the update is performed, it is possible to determine that the object is a stack object even when the object is moved. That is, it is possible to travel avoiding the object that caused the stack once. Therefore, if it is the moving apparatus 10 which concerns on this Embodiment, an unknown object can be recognized.
  • the mobile device 10 can be realized that stacking during use is reduced (in other words, smarter).
  • the image information is an image taken by the camera 20.
  • the stack object extraction unit 70 reads the image from the memory 30 and extracts the feature of the object included in the image. In other words, the stack object extraction unit 70 performs the above processing when stacked. That is, the processing amount of the stack object extraction unit 70 can be reduced.
  • a slip sensor 42 (an example of a first detection unit) that detects the movement of the moving device 10 and a stack detection unit 50 that detects a stack from the detection result of the slip sensor 42 are provided.
  • the moving device 10 can automatically detect the stack from the detection result of the slip sensor 42.
  • the image information read from the memory 30 by the stack object extraction unit 70 is an image taken when the stack detection unit 50 detects the stack, and is taken before the stack detection unit 50 detects the stack. It includes information on at least one of the images including the causative object.
  • the specific information in the database 80 can be updated using the image when the stack is detected or before the stack is detected. For example, if the object is not included in the image when the stack is detected, such as when the traveling unit 100 is stuck by spinning on the object, the feature of the object is used by using the image before the stack is detected. Can be extracted. Note that “before detecting a stack” is determined by the stack object extraction unit 70 based on the moving speed and moving direction of the moving device 10 and is, for example, several seconds before stacking.
  • the object detection method is an object detection method for the moving apparatus 10 that moves while avoiding a stack object specified by specific information stored in advance in the database 80, and is an image capturing method for capturing an image of the moving direction of the moving apparatus 10.
  • a step a storage step for storing image information relating to the photographed image, and, when the moving device 10 is stacked on an object, the image information relating to the image including the object is read out, and the read image information is used as specific information.
  • an extraction step of adding information indicating that the object is a stack object that causes a stack of the mobile device 10.
  • the specific information is updated each time the mobile device 10 is stacked.
  • the mobile device 10 stacks once with respect to the object, but the specific information is updated using the characteristics of the object that caused the stack (for example, an unknown object). It is possible to suppress the stacking of the object that has become defective. Therefore, if it is the object detection method of the moving apparatus 10 which concerns on this Embodiment, an unknown object can be recognized.
  • the present disclosure may be realized as a program for causing a computer to execute the object detection method described above. Further, a program for causing a computer to execute the object detection method described above can be stored in a computer-readable storage medium.
  • FIG. 4 is a flowchart showing the operation of the mobile device 10 according to this modification.
  • the traveling control unit 90 moves.
  • the traveling unit 100 is controlled to move the device 10 (S20).
  • the traveling control unit 90 controls the traveling unit 100 so that the moving device 10 moves in the reverse direction (also referred to as a backward direction) with respect to the traveling direction before stacking.
  • the traveling control unit 90 performs control to move the moving device 10 backward by reversing the rotation direction of the wheels of the traveling unit 100.
  • the distance traveled backward in step S20 is not particularly limited.
  • the distance that travels in the backward direction may be a distance that allows shooting an object (for example, an unknown object) that causes the stack from that position.
  • step S20 When the moving device 10 moves backward in step S20, the traveling control unit 90 moves the moving device 10 relative to the object causing the stack, and the camera 20 moves in a different direction with respect to the object causing the stack.
  • a plurality of images are taken from (S21).
  • S21 an example of capturing an image in step S21 will be described with reference to FIG.
  • FIG. 5 is a diagram illustrating an example in which the mobile device 10 according to the present modification captures a plurality of images. Specifically, it is a diagram illustrating an example in which the moving device 10 captures a plurality of images in plan view.
  • the stacked position of the object O causing the stacking is indicated by a broken line.
  • the moving device 10 after moving backward from the stacked position in step S20 is shown by a solid line, and the moving device 10 after moving with respect to the object O causing the stacking in step S21. Is indicated by a broken line.
  • the traveling control unit 90 moves the moving device 10 around the stacked position.
  • the traveling control unit 90 moves on a circular arc centered on the stacked position.
  • the traveling control unit 90 may control the traveling unit 100 using the ultrasonic sensor 43 and the range sensor 44 so that the distance between the stacked position and the moving device 10 becomes substantially equal.
  • the travel control unit 90 may store the stacked position.
  • step S ⁇ b> 21 the camera 20 captures the object O causing the stack from various directions according to the movement of the moving device 10. That is, in step S21, a plurality of images are taken.
  • the direction in which the moving device 10 has photographed the object O that caused the stacking is indicated by a solid arrow, and the shooting is performed once at a position advanced backward from the stacked position.
  • a case where one image is taken from a position moved in the circumferential direction at the center is shown.
  • three images can be acquired for the object O that caused the stack. For example, if the shape of the object O that caused the stack differs depending on the viewing direction, the features can be extracted from the images photographed in the respective directions by photographing from the different directions.
  • the object detection unit 60 determines that the object O is a stack object. be able to. Note that the number of images captured in step S21 is not limited to three, and the more images the better.
  • the position moved backward from the stacked position (the position of the moving device 10 indicated by a solid line in FIG. 5), and the position moved in the circumferential direction around the stacked position with respect to the position advanced backward (
  • the example in which one image is taken from each of the positions of the moving device 10 indicated by broken lines in FIG. 5 toward the position where the object O is stacked has been described. That is, although the example which image
  • the moving device 10 may shoot a plurality of images in one direction in which the object O is imaged (for example, a direction from the position of the moving device 10 indicated by the solid line in FIG. 5 toward the stacked position of the object O). Good.
  • the moving device 10 may capture a plurality of images while changing the distance between the moving device 10 and the stacked position in one direction in which an image of the object O is captured.
  • the moving device 10 may capture a plurality of images while changing the distance between the moving device 10 and the stacked position in each direction in which the image of the object O is captured.
  • the traveling control part 90 demonstrated the example which moves the movement apparatus 10 in order to image
  • the traveling control unit 90 may rotate the moving device 10 at a position where the moving device 10 is moved backward (for example, the position of the moving device 10 indicated by a solid line).
  • the control for moving the moving device 10 performed by the travel control unit 90 includes control for rotating the moving device 10.
  • Steps S11 to S14 are executed for the plurality of images taken in step S21. Since the specific information in the database 80 is updated using images obtained by photographing the object O causing the stack from various directions, the object detection unit 60 can determine the object O as a stack object with higher accuracy. it can.
  • the mobile device 10 further includes the travel control unit 90 that controls the travel of the mobile device 10, and the travel control unit 90 is configured so that the mobile device 10 is stacked on an object.
  • the moving device 10 is moved around the stacked position, and the camera 20 (an example of an imaging unit) captures a plurality of images from different directions with respect to the object according to the movement of the moving device 10.
  • the object detection unit 60 can determine the object O as a stack object with higher accuracy. In other words, the accuracy of the determination performed by the object detection unit 60 can be improved.
  • FIG. 6 is a block diagram showing a functional configuration of the mobile device 10a according to the present modification.
  • the mobile device 10a according to the present modification is different from the mobile device 10 according to the first embodiment in the information stored in the memory 30.
  • the memory 30 stores an image captured by the camera 20, but in the mobile device 10a, the memory 30 stores information indicating the characteristics of the object extracted from the image.
  • the image of the image taken by the camera 20 is extracted by the object detection unit 60.
  • the feature extraction unit 61 extracts features for an object included in the image.
  • the memory 30 stores information indicating the feature of the object extracted by the feature extraction unit 61 from the image.
  • the stack object extraction unit 70a When the stack detection unit 50 detects a stack from the detection result of the sensor 40, the stack object extraction unit 70a reads information indicating the feature of the object causing the stack from the memory 30, and uses the information indicating the read feature. The specific information in the database 80 is updated. In other words, feature extraction is not performed in the stack object extraction unit 70a.
  • the information indicating the feature of the object read from the memory 30 by the stack object extraction unit 70a is an example of image information.
  • the moving device 10a further includes the feature extraction unit 61 that extracts information indicating the feature of the object from the image captured by the camera 20 (an example of the imaging unit), and stack object extraction
  • the image information used by the unit 70a is information indicating the feature of the object extracted by the feature extraction unit 61 with respect to the image captured by the camera 20.
  • FIG. 7 is a block diagram showing a functional configuration of the mobile device 10b according to the present embodiment.
  • the moving device 10b according to the present embodiment is characterized in that an acquisition unit 110 is provided.
  • Other configurations are the same as those of the moving apparatus 10 according to the first embodiment.
  • the acquisition unit 110 is a user interface that acquires an instruction from the user.
  • the acquisition unit 110 is, for example, a push button provided in the moving device 10b.
  • the user gives a predetermined instruction to travel of the moving device 10b by pressing the push button.
  • the user instructs the acquisition unit 110 to avoid the object.
  • the user has an object in the traveling direction of the moving device 10b, but the object is an object that the moving device 10b wants to clean, so an instruction to adjust the output of the motor to get over the object. May be performed. For example, an instruction to increase the output of the motor may be given.
  • the acquisition unit 110 may be provided with a plurality of push buttons, and a user instruction may be assigned to each push button, or a user instruction may be acquired from the number of times the push button is pressed. For example, when the push button is pressed once, an instruction to get over the object is given, and when the push button is pushed twice, an instruction to avoid the object is given.
  • the stack object extraction unit 70 uses the image stored in the memory 30 and the user instruction acquired by the acquisition unit 110 to use the database 80. Update specific information for.
  • the mobile device 10b may acquire that it is stacked from the user via the acquisition unit 110.
  • the acquisition unit 110 is not limited to being a push button.
  • the acquisition unit 110 may acquire the user's voice.
  • the acquisition unit 110 is realized by a voice detection device such as a microphone, for example.
  • the stack object extraction unit 70 updates the specific information in the database 80 using the image (image including the object) stored in the memory 30 and the instruction based on the sound acquired by the acquisition unit 110. That is, the stack object extraction unit 70 updates the specific information using the image (image including the object) stored in the memory 30 and the instruction based on the sound acquired by the acquisition unit 110.
  • the acquisition unit 110 may acquire a predetermined operation of the user with respect to the mobile device 10b.
  • the predetermined operation is, for example, an operation such as touching the moving device 10b.
  • the acquisition unit 110 is realized by, for example, a touch sensor (for example, a capacitive touch sensor).
  • the acquisition unit 110 may acquire a user instruction from a terminal device (not shown) that remotely operates the mobile device 10b. In this case, the acquisition unit 110 receives a control signal based on a user instruction from the terminal device.
  • the acquisition unit 110 includes a communication circuit (communication module), and receives a control signal by wireless communication from a transmission unit included in the terminal device.
  • the terminal device is a portable terminal such as a controller terminal, a smart phone, that is, a high-function mobile phone terminal, a mobile phone terminal, etc., that has been developed specifically for the mobile device.
  • the wireless communication method between the acquisition unit 110 and the terminal device is not particularly limited. As an example, wireless communication using a communication standard such as Bluetooth (registered trademark) or Wi-Fi (registered trademark) may be performed.
  • FIG. 8 is a flowchart showing the operation of the mobile device 10b according to the present embodiment. Specifically, this is a flowchart illustrating an operation when there is an object (for example, an unknown object) while the mobile device 10b is traveling and an instruction for traveling is acquired from the user. That is, the operation of the mobile device 10b when the user gives an instruction for traveling when the user is near the mobile device 10b and the mobile device 10b is likely to be stacked is shown.
  • an object for example, an unknown object
  • steps S11 to S14 are performed.
  • the instruction from the user is an instruction such as “avoid”, “do not avoid”, or “get over” an object ahead.
  • the stack object extraction unit 70 acquires an instruction from the user via the acquisition unit 110.
  • Steps S11 to S14 will be described in the case where the instruction from the user is “avoid”.
  • the stack object extraction unit 70 reads an image including an object in front from the memory 30 (S11), and extracts the feature of the object from the read image. (S12). Then, the stack object extraction unit 70 updates the specific information in the database 80 by associating the feature extracted in step S12 with “avoid” that is an instruction from the user (S13). Specifically, information indicating that the object having the feature extracted in step S12 is an object to be avoided (in other words, a stack object) is added to the specific information stored in advance in the database 80. That is, the stack object extraction unit 70 updates the specific information in the database 80 using the features extracted in step S12.
  • the object detection unit 60 detects the object having the feature extracted in step S12, the object detection unit 60 can detect that the object is a stack object using the updated specific information in the database 80 (S14). . Then, the traveling control unit 90 controls traveling so as to avoid the object.
  • the object detection unit 60 may not be able to detect the unknown object. Even in this case, by acquiring an instruction from the user with respect to the unknown object, the moving device 10b can be avoided before stacking on the unknown object, and further, the specific information in the database 80 can be updated. . That is, by acquiring the instruction from the user provided with the acquisition unit 110, the moving device 10b does not stack the unknown object causing the stack, and the unknown object is the object causing the stack. Can be added to the specific information.
  • the stack object extraction unit 70 may register the object ahead in the database 80 as not being a stack object.
  • the stack object extraction unit 70 updates the specific information in the database 80, assuming that the object in front is an object that needs to get over. For example, when the object detection unit 60 detects that the object is over the front object, the traveling control unit 90 performs control for overcoming the object, such as control for increasing the power of the motor.
  • the mobile device 10b further includes the acquisition unit 110 that acquires an instruction from the user, and the stack object extraction unit 70 includes the acquisition unit 110 in the traveling direction of the mobile device 10b.
  • the specific information is used to indicate that the object is a stack object using the instruction from the user in addition to the image information regarding the image including the object. Add information.
  • the specific information in the database 80 can be updated in accordance with an instruction from the user during traveling (during cleaning). Further, the specific information in the database 80 can be updated so as to perform travel reflecting the user's intention such as an object that the user wants to clean.
  • FIG. 9 is a block diagram showing a functional configuration of the moving apparatus 10c according to the present modification.
  • the mobile device 10c according to the present modification is characterized in that it further includes a notification unit 120, compared to the mobile device 10b according to the second embodiment.
  • Other configurations are the same as those of the moving device 10b according to the second embodiment.
  • the notification unit 120 is a user interface that displays an image captured by the camera 20 to the user.
  • the notification unit 120 is a display device (an example of a display unit) such as a liquid crystal display.
  • the notification unit 120 displays an image captured by the camera 20 that is stored in the memory 30.
  • the notification unit 120 displays an image under the control of the stack object extraction unit 70.
  • the notification unit 120 displays an image including an object (for example, an unknown object).
  • the notification unit 120 may transmit an image (for example, image information) taken by the camera 20 to a terminal device that remotely operates the mobile device 10c.
  • the notification unit 120 includes a communication circuit (communication module), and transmits image information to the reception unit included in the terminal device by wireless communication.
  • the notification unit 120 may have a function of emitting sound or light.
  • the notification unit 120 includes a speaker and emits sound.
  • the notification unit 120 includes a light emitting device and emits light.
  • the notification unit 120 may emit a sound (for example, a warning sound) or light (for example, a warning light such as red) indicating that the object is present.
  • a sound for example, a warning sound
  • light for example, a warning light such as red
  • the acquisition unit 110 may acquire an instruction regarding the travel of the mobile device 10c from the user with respect to the image including the object displayed on the notification unit 120.
  • FIG. 10 is a flowchart showing the operation of the moving apparatus 10c according to this modification.
  • the object detection unit 60 detects an object that may be stacked, presents an image of an object that may be stacked, and updates specific information in the database 80 based on an instruction from the user. It is characterized in that
  • the object detection unit 60 determines that an object included in the camera 20 (for example, an object in front of the moving device 10c) is a stack object from the object included in the image captured by the camera 20 and the specific information stored in the database 80.
  • the probability that is is calculated. For example, when the probability of being a stack object is 70% (an example of the first threshold value) or more, the object detection unit 60 determines that the object included in the image is a stack object, and the probability is 50% (second threshold value). Example) When it is more than 70%, it is determined that the object included in the image has a possibility of stacking.
  • the probabilities 50% and 70% are examples, and are determined as appropriate depending on the usage environment of the mobile device 10c. In the following description, the probability will be described when the first threshold is 70% and the second threshold is 50%. Note that the second threshold value is lower than the first threshold value.
  • the object detecting unit 60 when the moving device 10c is traveling (cleaning) and the object detecting unit 60 detects an object in the forward direction of the moving device 10c (Yes in S41), the object detecting unit 60 indicates that the object is a stack object. Probability is calculated. For example, the object detection unit 60 calculates the probability that the object is a stack object from the image captured by the camera 20 and the specific information stored in the database 80. The probability calculation may be performed by the feature extraction unit 61 or the classifier 62.
  • the object detection unit 60 determines that the object in front of the moving device 10c is a stack object. Then, the traveling control unit 90 controls the traveling of the moving device 10c so as to avoid the object (S43).
  • Step S44 is performed.
  • the object detection unit 60 determines that the object is an object that may be stacked.
  • the traveling control unit 90 controls the traveling of the moving device 10c so as to avoid the object (S45).
  • the moving device 10c collects images of the objects determined to be objects that may be stacked in step S44 and presents them to the user (S46).
  • the stack object extraction unit 70 may cause the notification unit 120 to display an image of an object that may be stacked captured by the camera 20 or may transmit the image to the terminal device.
  • the stacked object extraction unit 70 may display, for example, on the notification unit 120 in order from an image of an object with a high probability of being a stacked object. Moreover, the alerting
  • the stack object extraction unit 70 extracts the feature of the object from the image displayed to the user (S12) and extracts it.
  • the specific information in the database 80 is updated using the feature and the user's instruction (S13).
  • the instruction from the user is the same as in the case of the mobile device 10b according to the second embodiment. Thereby, it is detected whether or not a stack object is included in the image captured after updating the specific information in the database 80 using the updated specific information (S14).
  • the moving device 10c may travel so as to avoid an object that has been determined to be stacked, You may travel to get over the road. Or you may wait until the instruction
  • the object detection unit 60 determines that the possibility of stacking on the object is low. Then, the traveling control unit 90 controls the traveling of the moving device 10c so as to get over the object. That is, the traveling control unit 90 performs control to continue the same traveling as before detecting an object (S48).
  • Steps S46 to S47 and Steps S12 to S14 may be performed after the moving device 10c finishes running (cleaning). For example, the user is not in a space where the mobile device 10c travels (for example, is going out) while the mobile device 10c is traveling, and is in the space after the travel of the mobile device 10c is completed (for example, returned home). ), The moving device 10c may detect that the user has operated or touched the moving device 10c, and may execute steps S46 to S47 and steps S12 to S14.
  • the object detection unit 60 uses the detection result detected by the sensor 40 for the object (for example, an unknown object) in addition to the image captured by the camera 20 and the specific information stored in the database 80 to calculate the probability. It may be calculated. That is, the probability may be calculated by combining the image captured by the camera 20 and the detection result (sensor value) detected by the sensor 40. For example, the object detection unit 60 may calculate the probability using the detection result of the cliff sensor 41.
  • the object detection unit 60 may calculate the probability such that the higher the height of the object detected by the cliff sensor 41, the higher the probability that the object is a stack object.
  • the height of the object detected by the cliff sensor 41 is an example of the characteristics of the object, and the cliff sensor 41 is an example of the second detection unit.
  • the characteristics of the object indicate, for example, the shape of the object, the size of the object, or the positional relationship between the object and the moving device 10c.
  • the sensor 40 for calculating the probability that the object detection unit 60 is a stack object is not limited to the cliff sensor 41.
  • the object detection unit 60 may calculate the probability of being a stack object using a plurality of sensors included in the moving device 10c.
  • the object detection unit 60 includes an ultrasonic sensor 43, a range sensor 44, a sensor that detects the rotational speed of the motor (for example, the output of the motor), a pressure sensor that detects whether the object is in contact with the object, or other autonomous mobile device.
  • the probability may be calculated using a detection result of at least one sensor (an example of a second detection unit) of the sensors used in the above.
  • the detection result detected by the ultrasonic sensor 43 and the range sensor 44 is an example of the characteristic of the object, and the detection result detected by the sensor that detects the rotation speed of the motor is an example of the characteristic of the moving device.
  • the characteristics of the moving device indicate characteristics that specify the movement of the moving device 10c, such as the moving speed, moving direction, or motor output of the moving device 10c.
  • the second detection unit may be composed of a plurality of sensors.
  • the object detection unit 60 calculates the probability of being a stack object from the image captured by the camera 20 and the specific information stored in the database 80, or the image captured by the camera 20 is stored in the database 80.
  • the calculation method for calculating the probability of being a stack object from the specific information and the detection result detected by the sensor 40 is learned in advance by machine learning (for example, deep learning). Further, when calculating the probability of being a stack object from the image captured by the camera 20 and the detection result detected by the sensor 40, the probability is calculated so that the image captured by the camera 20 has a greater influence on the probability. The In other words, in the calculation of the probability, the image taken by the camera 20 has priority over the detection result of the sensor 40.
  • the object detection unit 60 calculates the probability that the object is a stack object from the image captured by the camera 20, and the calculated probability is 50% (an example of the second threshold) or more and 70% (an example of the first threshold). If it is less (No in S42 and Yes in S44), it may be determined whether to avoid the object or continue traveling based on the detection result of the sensor 40. For example, when the height of the object detected by the cliff sensor 41 is greater than or equal to a predetermined value, the object detection unit 60 may determine to avoid the object. That is, when determining whether or not the object is a stack object, the object detection unit 60 uses one of the image captured by the camera 20 and the detection result of the sensor to determine whether or not the object is likely to be stacked. Sometimes, the other of the image taken by the camera 20 and the detection result of the sensor 40 may be used.
  • step S44 presents an image of an object that has been determined to be stacked in step S44 (in other words, highly likely to be stacked) to the user
  • the present invention is not limited to this.
  • the image of the object determined as Yes in step S42 may be presented to the user, or the image of the object determined as No in step S44 may be presented to the user.
  • the moving device 10c further includes a notification unit 120 (an example of a display unit) that displays an image including an object captured by the camera 20 (an example of an imaging unit) to the user.
  • the acquisition unit 110 acquires an instruction related to traveling of the moving device 10c for the object displayed on the notification unit 120 from the user.
  • an instruction to the object can be acquired from the user. That is, the specific information in the database 80 can be updated based on a user instruction.
  • the feature extraction unit 61 included in the moving device 10c calculates a probability indicating the possibility that the object is a stack object, and when the probability is 70% (an example of a first threshold) or more, the object is a stack object. If the probability is 50% lower than 70% (an example of the second threshold) and less than 70%, it is determined that the object is likely to be stacked, and the notification unit 120 displays it.
  • the image is an image including an object that may be stacked.
  • the image including the object that may be stacked needs to be stored in the memory 30, so that the capacity of the memory 30 can be reduced. Further, since the user's instruction can be acquired for an object that has a possibility of stacking (in other words, an object that has a high possibility of stacking), the specific information in the database 80 can be updated efficiently.
  • the moving device 10c further includes a cliff sensor 41 (an example of a second detection unit) that detects the thickness of the object (an example of the characteristics of the object or the moving device), and the feature extraction unit 61 includes the object.
  • the probability is calculated from the thickness of the object detected by the cliff sensor 41 (an example of the detection result).
  • FIG. 11 is a block diagram illustrating a functional configuration of a mobile device 10d according to another embodiment.
  • the memory 30 stores the characteristics of the object extracted from the image captured by the camera 20 and the image to be displayed by the notification unit 120.
  • the image to be stored may be a thumbnail image or a representative image.
  • the capacity of the memory 30 can be reduced as compared with the mobile device according to the first embodiment.
  • working of the moving apparatus 10d from a user can be acquired, and the specific information of the database 80 can be updated based on the acquired instruction
  • the object detection unit 60 and the travel control unit 90 are separate has been described, but the present invention is not limited to this.
  • the object detection unit and the travel control unit may be configured integrally.
  • the feature extraction unit 61 has shown an example of extracting features from an object included in an image.
  • the feature extraction unit extracts features from an object included in a specific part of an image.
  • the specific portion may be determined according to the position where the ultrasonic sensor closest to the object is arranged.
  • the feature extraction unit sets the right half of the image captured by the camera as the specific part, and the object included in the image of the specific part Features may be extracted from Thereby, since the image of the object can be acquired more accurately, the recognition accuracy of the object is improved.
  • the stack object extraction unit has described the example in which the mobile device extracts the feature of the object causing the stack and updates the specific information in the database.
  • the present invention is not limited to this.
  • features of an image in which no object is shown may be extracted and stored in the database as features that can be safely traveled. That is, the database may store information that allows the mobile device to travel safely.
  • the slip sensor 42 has been described as an example of the first detection unit, but the first detection unit is not limited to the slip sensor 42.
  • the first detection unit is not particularly limited as long as it is a sensor that can detect the movement of the mobile device.
  • the first detection unit may be configured using two or more sensors.
  • each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the processor includes one or a plurality of electronic circuits including a semiconductor integrated circuit (IC) or an LSI (Large Scale Integration).
  • the plurality of electronic circuits may be integrated on one chip or provided on a plurality of chips.
  • the plurality of chips may be integrated into one device, or may be provided in a plurality of devices.
  • general or specific aspects of the present disclosure may be realized by a system, an apparatus, a method, an integrated circuit, a computer program or a computer-readable CD-ROM, a non-transitory recording medium such as an optical disc, and the like.
  • the program may be stored in advance in a storage medium, or may be supplied to the storage medium via a wide area communication network including the Internet.
  • the present invention may be realized by any combination of a system, an apparatus, a method, an integrated circuit, a computer program, and a recording medium.
  • the order of the plurality of processes in the operation of the mobile device described in the embodiment and the modification is an example.
  • the order of the plurality of processes may be changed, and the plurality of processes may be executed in parallel.
  • the moving device may be a moving device that moves by a human operation. In this case, it is usually moved by a human operation, but autonomous control may be performed as in the present invention when there is a possibility of stacking or after stacking.
  • information indicating that there is an object that causes a stack may be presented to the person.
  • This disclosure is widely applicable to robots that move autonomously while avoiding objects. In particular, it is useful in a cleaner or a monitoring robot that moves autonomously.

Abstract

本開示の一態様に係る移動装置は、データベースに予め記憶された特定情報により特定されるスタック物体を避けて移動する移動装置であって、移動装置の進行方向の画像を撮影する撮影部と、撮影部が撮影した画像に関する画像情報を記憶するメモリと、移動装置が物体に対してスタックした場合、メモリから当該物体を含む画像に関する画像情報を読み出し、読み出した画像情報を用いて特定情報に当該物体が移動装置のスタックの原因となるスタック物体であることを示す情報を追加するスタック物体抽出部と、を備える。

Description

移動装置、物体検出方法及びプログラム
 本開示は、移動装置、移動装置の物体検出方法及びプログラムに関する。
 近年、自律的に走行が可能な移動装置が開発されている。例えば、特許文献1には、カメラ及び各種センサの情報から障害物(物体)を検知し、危険度が高いと判定した場合には当該障害物を回避するように走行ルールを修正する学習機能を持つ移動装置が開示されている。
特開2007―316799号公報
 しかしながら、上記特許文献1に記載の移動装置は、予め学習された物体しか検知できない。一方、実使用環境においては、予め学習された物体以外の物体(未知物体とも記載する)が存在するので、移動装置は未知物体を認識できることが望まれる。
 そこで、本開示は、未知物体を認識することができる移動装置、物体検出方法、及び、プログラムを提供することを目的とする。
 本開示の一態様に係る移動装置は、データベースに予め記憶された特定情報により特定されるスタック物体を避けて移動する移動装置であって、移動装置の進行方向の画像を撮影する撮影部と、撮影部が撮影した画像に関する画像情報を記憶するメモリと、移動装置が物体に対してスタックした場合、メモリから当該物体を含む画像に関する画像情報を読み出し、読み出した画像情報を用いて特定情報に当該物体が移動装置のスタックの原因となるスタック物体であることを示す情報を追加するスタック物体抽出部と、を備える。
 また、本開示の一態様に係る物体検出方法は、データベースに予め記憶された特定情報により特定されるスタック物体を避けて移動する移動装置が行う物体検出方法であって、移動装置の進行方向の画像を撮影する撮影ステップと、撮影された画像に関する画像情報を記憶する記憶ステップと、移動装置が物体に対してスタックした場合、物体を含む画像に関する画像情報を読み出し、読み出した画像情報を用いて特定情報に当該物体が前記移動装置のスタックの原因となるスタック物体であることを示す情報を追加する抽出ステップと、を備える。
 また、本開示の一態様に係るプログラムは、上記の物体検出方法をコンピュータに実行させるためのプログラムである。
 本開示によれば、未知物体を認識することができる移動装置、物体検出方法、及び、プログラムが実現される。
図1は、実施の形態1に係る移動装置の全体構成を示す斜視図である。 図2は、実施の形態1に係る移動装置の機能構成を示すブロック図である。 図3は、実施の形態1に係る移動装置の動作を示すフローチャートである。 図4は、実施の形態1の変形例1に係る移動装置の動作を示すフローチャートである。 図5は、実施の形態1の変形例1に係る移動装置が複数枚の画像を撮影する一例を示す図である。 図6は、実施の形態1の変形例2に係る移動装置の機能構成を示すブロック図である。 図7は、実施の形態2に係る移動装置の機能構成を示すブロック図である。 図8は、実施の形態2に係る移動装置の動作を示すフローチャートである。 図9は、実施の形態2の変形例に係る移動装置の機能構成を示すブロック図である。 図10は、実施の形態2の変形例に係る移動装置の動作を示すフローチャートである。 図11は、その他の実施の形態に係る移動装置の機能構成を示すブロック図である。
 以下では、本開示の移動装置について、図面を用いて詳細に説明する。なお、以下に説明する実施の形態及び変形例は、いずれも本開示の好ましい一具体例を示すものである。したがって、以下の実施の形態及び変形例で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。よって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 なお、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
 また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。
 また、以下の実施の形態で説明に用いられる図面においては座標軸が示される場合がある。Z軸のマイナス側が床面側、Z軸のプラス側が天井側を表している。また、X軸方向及びY軸方向は、Z軸方向に垂直な平面上において、互いに直交する方向である。また、以下の実施の形態において、「平面視」とは、Z軸方向から見ることを意味する。
 (実施の形態1)
 以下、本実施の形態に係る移動装置10について、図1~図3を参照しながら説明する。
 [1-1.移動装置の構成]
 まず、本実施の形態に係る移動装置10の構成について、図1及び図2を参照しながら説明する。
 図1は、本実施の形態に係る移動装置10の全体構成を示す斜視図である。図2は、本実施の形態に係る移動装置10の機能構成を示すブロック図である。
 図1に示すように、本実施の形態に係る移動装置10とは、自律して例えば一般家屋等の建物内の部屋の床面を走行しながら掃除するロボット型の掃除機である。移動装置10は、部屋の様子をカメラ、及び、クリフセンサ等のセンサを用いて観測することにより、部屋の床面に存在する物体を避けるかを自律的に判定し掃除する。例えば、移動装置10は、データベース80に予め記憶された特定情報により特定される物体(「スタック物体」と称する場合がある)を避けて移動する(走行する)。なお、部屋は、移動装置10が配置される空間の一例である。
 移動装置10は、平面視において、略三角形状を有するが、移動装置10の平面視における形状は、特に限定されない。例えば、略矩形状でもよく。略円形状でもよい。
 図2に示すように、移動装置10は、カメラ20と、メモリ30と、センサ40と、スタック検出部50と、物体検出部60と、スタック物体抽出部70と、データベース80と、走行制御部90と、走行部100とを備える。
 カメラ20は、移動装置10が配置された部屋を撮影するカメラモジュールである。具体的には、カメラ20は、少なくとも移動装置10の進行方向の前方の画像を撮影する。カメラ20は、走行中(掃除中)に移動装置10の前方を継続して撮影する。例えば、移動装置10の前方に物体が存在している場合、カメラ20が撮影した画像には当該物体が写っている。なお、カメラ20は撮影部の一例である。また、カメラ20が撮影する画像は、静止画でもよいし動画でもよい。
 メモリ30は、カメラ20が撮影した画像に関する情報を記憶する記憶装置である。例えば、メモリ30は、カメラ20が撮影した画像を一時的に記憶する画像バッファである。メモリ30は、カメラ20が撮影した画像に関する情報を逐次記憶する。本実施の形態では、メモリ30は、カメラ20が撮影した画像を逐次記憶する。なお、カメラ20が撮影した画像は、画像情報の一例である。
 メモリ30は、フラッシュメモリ又は半導体メモリなどにより実現される。なお、メモリ30の容量は特に限定されないが、カメラ20が撮影した画像に関する情報を数秒程度記憶できる容量であればよい。
 センサ40は、移動装置10が有する各種センサである。図1に示すように、本実施の形態では、センサ40は、設置位置から床面までの距離を計測するクリフセンサ41、移動装置10の移動を検知するスリップセンサ42、物体までの距離を検知する超音波センサ43及びレンジセンサ(赤外線センサ)44を有する。なお、スリップセンサ42は、移動装置10の移動を検知する第1の検知部の一例である。
 クリフセンサ41は、例えば、床面から約2cmの高さに配置されている。床面に物体がない場合は、クリフセンサ41の検知結果は2cmとなる。一方、床面に物体がある場合は、クリフセンサ41の検知結果は物体の高さに応じて異なるが、物体がない場合の検知結果(例えば、2cm)より小さくなる。クリフセンサ41は、平面視において移動装置10の外郭に沿って移動装置10の床面側の面に複数配置されている。
 また、スリップセンサ42は、例えば、床面側の面に配置されている補助輪(図示しない)が動いているか否かを検知する。モータ(図示しない)が駆動することで移動装置10が移動している場合、スリップセンサ42は補助輪が動いていることを検知する。言い換えると、スリップセンサ42は、補助輪が動いていることで、移動装置10が移動していることを検知する。一方、モータは動作しているが移動装置10が移動していない場合、スリップセンサ42は補助輪が動いていないことを検知する。言い換えると、スリップセンサ42は、モータは駆動しているが補助輪が動いていないことで、移動装置10が移動していないことを検知する。なお、補助輪とは、モータと接続されていない車輪である。
 また、超音波センサ43及びレンジセンサ44は、進行方向の前方に複数配置されている。超音波センサ43及びレンジセンサ44は、物体又は壁までの距離を検知する。
 なお、移動装置10が備えるセンサは、上記に限定されない。例えば、モータの回転速度を検知するセンサ又は物体に接しているかを検知する圧力センサ(例えば、タッチセンサ)であってもよいし、その他の自律移動装置に使用されるセンサであってもよい。
 スタック検出部50は、センサ40の検知結果に基づいて移動装置10がスタックしているか否かを検出する。例えば、スタック検出部50は、スリップセンサ42によりモータは動作しているが補助輪が動いていないことが検知されることで、移動装置10がスタックしていることを検出する。
 なお、本願明細書におけるスタック(Stuck)とは、平面視において、移動装置10が物体の少なくとも一部と重なっている状態で、走行部100がモータの駆動通り(走行制御部90の制御通り)に走行できない状態を意味する。スタックは、例えば、モータは駆動しているが、移動装置10が移動していない状態を意味する。また、スタックは、例えば、移動装置10が物体に乗り上げている、又は物体上で滑っている状態を意味する。言い換えると、移動装置10が壁や高さのある物体などに衝突している状態は、本願明細書におけるスタックには含まれない。
 スタック検出部50は、具体的には、マイクロコンピュータであるが、専用回路などにより実現されてもよい。なお、スタック検出部50は、スタック検出部50が実行する制御プログラムを記憶する記憶部などを内蔵していてもよい。
 物体検出部60は、カメラ20が撮影した画像を用いて、物体の検出を行う処理装置である。具体的には、カメラ20が撮影した画像と、データベース80に予め記憶されている、移動装置10のスタックの原因となるスタック物体を特定する特定情報とを用いて、移動装置10の前方に存在する物体(言い換えると、カメラ20が撮影した画像に写っている物体)がスタック物体であるか否かを検出する。なお、物体検出部60は、カメラ20が撮影した画像に加え、センサ40が検知した検知結果を用いて、物体の検出を行ってもよい。物体検出部60は、特徴抽出部61及び識別器62から構成される。
 特徴抽出部61は、カメラ20が撮影した画像から物体の特徴を示す情報を抽出する。カメラ20は走行中に継続して画像を撮影しているので、特徴抽出部61は、それぞれの画像に対して物体が写っている場合には当該物体の特徴を抽出する。
 識別器62は、特徴抽出部61が抽出した特徴と、データベース80に記憶されている特定情報とから、カメラ20が撮影した画像にスタック物体が含まれるか否かの判定を行う。データベース80には、スタック物体に関する特徴と、当該特徴を有する物体名とが関係づけて記憶されている。例えば、色が白く、形状が矩形状であるという物体の特徴と、物体名としての紙とが関係づけて記憶されている。これにより、特徴抽出部61が抽出した特徴が、色が白く、形状が矩形状である場合、識別器62は当該物体が紙でありスタック物体であると判定する。識別器62がスタック物体であると判定すると、走行制御部90は当該物体を避けるように移動装置10の走行を制御する。
 なお、物体検出部60が行う処理方法は、機械学習(例えば、ディープラーニング)などにより予め学習されている。例えば、抽出する物体の特徴は、機械学習により予め学習されている。物体の特徴とは、例えば色に関する情報、及び、形状(例えば、2次元形状、3次元形状又はエッジ形状)に関する情報などである。
 物体検出部60は、具体的には、マイクロコンピュータであるが、専用回路などにより実現されてもよい。なお、物体検出部60は、物体検出部60が実行する制御プログラムを記憶する記憶部などを内蔵していてもよい。
 物体検出部60は、データベース80に予め記憶されている物体(以降、既知物体とも記載する)に基づいて上記の処理を行う。しかし、移動装置10の走行中、データベース80に記憶されていない物体(データベース80に記憶されている特徴の一部又は全てを有さない物体であり、以降未知物体とも記載する)が存在する場合がある。この場合、物体検出部60は、未知物体をスタックの原因となる物体であると判定できず、移動装置10は当該未知物体を避けずに走行する(例えば、未知物体を乗り越えるように走行する)場合がある。このとき、移動装置10は、未知物体に対してスタックする場合がある。以下で説明するスタック物体抽出部70は、移動装置10が未知物体に対してスタックした場合に処理を行う処理装置である。
 スタック物体抽出部70は、スタック検出部50が物体に対する移動装置10のスタックを検出した場合、メモリ30に記憶されている画像を用いて、当該物体の特徴を抽出する処理装置である。スタック物体抽出部70は、画像収集部71及び特徴抽出部72を有する。
 画像収集部71は、スタック検出部50がスタックを検出すると、メモリ30に記憶されている画像から所定の画像を読み出す。例えば、所定の画像とは、スタックしたときに撮影された画像である。画像収集部71がメモリ30から読み出す画像は、画像情報の一例である。
 特徴抽出部72は、画像収集部71が読み出した画像から移動装置10がスタックの原因となった物体の特徴を抽出する。特徴抽出部72が行う特徴を抽出する処理は、特徴抽出部61と同様である。さらに、特徴抽出部72は、抽出した特徴を用いて、データベース80の特定情報を更新する。つまり、特徴抽出部72は、抽出した特徴を有する物体はスタック物体であるとして、抽出した特徴とその特徴を有する物体名とを関係づけて新たにデータベース80に記憶させる。
 スタック物体抽出部70は、具体的には、マイクロコンピュータであるが、専用回路などにより実現されてもよい。なお、スタック物体抽出部70は、スタック物体抽出部70が実行する制御プログラムを記憶する記憶部などを内蔵していてもよい。
 データベース80は、スタック物体を特定する特定情報が予め記憶された記憶装置である。例えば、データベース80は、特定情報として、スタック物体の特徴を示す特徴情報を記憶している。特定情報には、スタック物体の特徴と、当該特徴を有する物体名が関係づけられていてもよい。また、移動装置10が物体に対してスタックした場合に、データベース80には、さらにスタック物体抽出部70により抽出された当該物体の特徴を含む特徴情報(特定情報の一例)が追加される。つまり、データベース80に記憶されている特定情報に、移動装置10が物体にスタックするたびに当該物体がスタック物体であることを示す情報が追加される。言い換えると、スタック物体抽出部70は、抽出したスタックの原因となった物体の特徴を示す情報を用いて、データベース80の特定情報を更新する。
 データベース80は、フラッシュメモリ又は半導体メモリなどにより実現される。
 走行制御部90は、物体検出部60の検出結果に基づいて走行部100を制御する制御装置である。例えば、物体検出部60が前方にある物体をスタック物体(例えば、紙など)であると判定した場合、走行制御部90は当該物体(例えば、既知物体)を避けて走行するように走行部100を制御する。また、例えば、物体検出部60が前方にある物体をスタック物体ではないと判定した場合、走行制御部90は当該物体を乗り越えるように走行部100を制御する。
 走行制御部90は、具体的には、マイクロコンピュータであるが、専用回路などにより実現されてもよい。なお、走行制御部90は、走行制御部90が実行する制御プログラムを記憶する記憶部などを内蔵していてもよい。
 走行部100は、走行制御部90による制御に基づいて移動装置10を移動させるための車輪(図示しない)を有する。走行部100は、移動装置10の床面側の面に車軸を中心に回転可能に取り付けられており、モータの駆動により走行部100が回転することで移動装置10が移動する。走行部100は、走行制御部90の制御により移動装置10を移動させることができれば、態様は特に限定されない。
 [1-2.移動装置の動作]
 続いて、移動装置10の動作について、図3を参照しながら説明する。
 図3は、本実施の形態に係る移動装置10の動作を示すフローチャートである。具体的には、移動装置10が走行中に物体に対してスタックした場合の動作を示すフローチャートである。
 まず、移動装置10が走行中(掃除中)にスタック検出部50がセンサ40の検知結果により移動装置10のスタックを検出する(S10でYes)と、画像収集部71はメモリ30に記憶されている画像の中から、所定の画像を読み出す(収集する)(S11)。所定の画像とは、スタックを検出した瞬間に撮影された画像及びスタックを検出する前に撮影され、かつスタックの原因となった物体を含む画像の少なくとも一方を含む。
 スタックを検出したときに撮影された画像は、例えばスタックの原因となった物体の一部が撮影された画像である。また、スタックを検出する前に撮影された画像とは、例えば、スタックを検出したときに撮影された画像より、スタックの原因となった物体に対する撮影領域が広い画像であり、スタックの原因となった物体の全体が撮影された画像の場合もある。スタックを検出する前とは、例えば、移動装置10の移動速度及び進行方向などから画像収集部71により決定され、例えば、スタックする数秒前などである。
 例えば、画像収集部71は、スタックを検出したときに撮影された画像を読み出し、読み出した画像に物体が含まれていない場合に、スタックを検出する前に撮影された画像を読み出してもよい。なお、スタックを検出したときに撮影された画像とは、例えば、スタックを検出した時刻と最も近い時刻に撮影された画像である。
 なお、物体の全体とは、移動装置10の進行方向から当該物体を見た場合に、当該物体の見える部分を意味する。
 ここで、画像収集部71によりメモリ30から読み出される画像は、複数枚であるとよい。また、画像収集部71によりメモリ30から読み出される画像は、画像情報の一例である。
 画像収集部71により画像が読み出されると、特徴抽出部72により当該画像(具体的には、当該画像に含まれる物体)に対して特徴の抽出が行われる(S12)。画像収集部71が複数の画像を読み出した場合、それぞれの画像に対して特徴抽出部72により特徴の抽出が行われる。
 特徴抽出部72は、抽出した特徴を用いてデータベース80の特定情報を更新する(S13)。つまり、データベース80に記憶されている特定情報が更新される。具体的には、データベース80に予め記憶されている特定情報に、ステップS12で抽出した特徴を有する物体がスタック物体であることを示す情報が追加される。つまり、移動装置10が物体に対してスタックした場合、当該物体の特徴を示す情報を用いてデータベース80の特定情報が更新される。
 なお、このとき物体の特徴に対して近い特徴を有する特定情報が既にデータベース80に記憶されている場合、特徴抽出部72は、当該物体の特徴と関係づける物体(例えば、紙など)を、特定情報に含まれ当該物体と近い特徴を有する物体であるとして記憶させてもよい。
 さらに、ステップS13でデータベース80に記憶されている特定情報の更新が行われた後に、移動装置10が物体を検知した場合、物体検出部60は、当該物体が含まれる画像と、ステップS13で更新されたデータベース80の特定情報とを用いて当該物体がスタック物体であるか否かを検出することができる(S14)。言い換えると、1回スタックの原因となった物体が進行方向前方に存在している場合、物体検出部60は、カメラ20が撮影した画像と、更新された特定情報とから、当該物体をスタック物体であると判定できる。つまり、データベース80に予め記憶されていない物体が存在している場合であっても、1回スタックすることで当該物体がスタック物体であると学習することができる(言い換えると、追加学習を行うことができる)ので、移動装置10は同じ物体に対して再度スタックすることを抑制できる。つまり、本実施の形態に係る移動装置10は、未知物体を認識することができる。
 なお、スタック検出部50がスタックを検出しない場合(S10でNo)、走行(掃除)を継続する。
 [1-3.効果など]
 以上のように、本実施の形態に係る移動装置10は、データベース80に予め記憶された特定情報により特定されるスタック物体を避けて移動する移動装置10であって、移動装置10の進行方向の画像を撮影するカメラ20(撮影部の一例)と、カメラ20が撮影した画像に関する画像情報を記憶するメモリ30と、移動装置10が物体に対してスタックした場合、メモリ30から当該物体を含む画像に関する画像情報を読み出し、読み出した画像情報を用いて特定情報に当該物体が移動装置10のスタックの原因となるスタック物体であることを示す情報を追加するスタック物体抽出部70と、を備える。
 これにより、データベース80に記憶されている特定情報は、移動装置10がスタックするたびに更新される。言い換えると、移動装置10は物体(例えば、未知物体)に対して1回はスタックするが、スタックの原因となった物体の特徴がデータベース80の特定情報に追加されるので、1回スタックの原因となった物体に対して、再度スタックすることを抑制できる。
 例えば、移動装置がスタックした場合にスタックした位置を記憶し、その位置を避けるように走行制御される移動装置である場合、スタックの原因となった物体が移動されたとき、物体自体を認識していない(言い換えると、データベースにスタックの原因となった物体の特徴が追加されない)ので再び同じ物体に対してスタックしてしまうことがある。一方、本実施の形態に係る移動装置10は、移動装置10が物体(例えば、未知物体)に対してスタックしたとき、当該物体の特徴を抽出し、当該特徴を用いてデータベース80の特定情報を更新するので、当該物体が移動された場合であっても、当該物体をスタック物体であると判定できる。つまり、1度スタックの原因となった物体を避けて走行することができる。よって、本実施の形態に係る移動装置10であれば、未知物体を認識することができる。
 さらに、物体にスタックするたびにデータベース80の特定情報が更新されるので、使用しているうちにスタックすることが低減される(言い換えると、賢くなる)移動装置10を実現できる。
 また、画像情報は、カメラ20が撮影した画像である。
 これにより、スタック物体抽出部70は、スタック検出部50がスタックを検出したときにメモリ30から画像を読み出し当該画像に含まれる物体の特徴を抽出する。言い換えると、スタック物体抽出部70はスタックしたときに上記の処理を行う。つまり、スタック物体抽出部70の処理量を低減することができる。
 また、さらに、移動装置10の移動を検知するスリップセンサ42(第1の検知部の一例)と、スリップセンサ42の検知結果からスタックを検出するスタック検出部50と、を備える。
 これにより、移動装置10は、スリップセンサ42の検知結果から自動的にスタックを検出することができる。
 また、スタック物体抽出部70がメモリ30から読み出す画像情報は、スタック検出部50がスタックを検出したときに撮影された画像、及びスタック検出部50がスタックを検出する前に撮影され、かつスタックの原因となった物体が含まれた画像のうち、少なくとも一方に関する情報を含む。
 これにより、スタックを検出したとき又はスタックを検出する前の画像を用いてデータベース80の特定情報を更新できる。例えば、走行部100が物体上で空回りすることでスタックした場合などスタックを検出したときの画像に当該物体が含まれていない場合に、スタックを検出する前の画像を用いることで当該物体の特徴の抽出が行える。なお、スタックを検出する前とは、移動装置10の移動速度及び移動方向からスタック物体抽出部70により決定され、例えば、スタックする数秒前などである。
 また、物体検出方法は、データベース80に予め記憶された特定情報により特定されるスタック物体を避けて移動する移動装置10の物体検出方法であって、移動装置10の進行方向の画像を撮影する撮影ステップと、撮影された画像に関する画像情報を記憶する記憶ステップと、移動装置10が物体に対してスタックした場合、当該物体を含む画像に関する画像情報を読み出し、読み出した画像情報を用いて特定情報に当該物体が移動装置10のスタックの原因となるスタック物体であることを示す情報を追加する抽出ステップと、を備える。
 これにより、特定情報は、移動装置10がスタックするたびに更新される。言い換えると、移動装置10は物体に対して1回はスタックするが、スタックの原因となった物体(例えば、未知物体)の特徴を用いて特定情報が更新されるので、1回スタックの原因となった物体に対して、再度スタックすることを抑制できる。よって、本実施の形態に係る移動装置10の物体検出方法であれば、未知物体を認識することができる。
 また、本開示は、上記の物体検出方法をコンピュータに実行させるためのプログラムとして実現されてもよい。また、上記の物体検出方法をコンピュータに実行させるためのプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されることができる。
 これにより、物体検出方法と同様の効果を奏する。
 (実施の形態1の変形例1)
 以下、本変形例の形態に係る移動装置10について、図4及び図5を参照しながら説明する。なお、本変形例に係る移動装置10の機能構成は、実施の形態1と同様であり説明を省略する。また、図4において実施の形態1と同様の動作については図3と同一の符号を付し、説明を省略又は簡略化する。
 図4は、本変形例に係る移動装置10の動作を示すフローチャートである。
 図4に示すように、移動装置10が走行中(掃除中)にスタック検出部50がセンサ40の検知結果により移動装置10のスタックを検出する(S10でYes)と、走行制御部90は移動装置10を移動させるために走行部100を制御する(S20)。具体的には、走行制御部90は、スタックする前の進行方向に対して逆方向(後ろ方向とも記載する)に移動装置10が移動するように走行部100を制御する。例えば、走行制御部90は走行部100の車輪の回転方向を逆にすることで移動装置10を後ろ方向に移動させる制御を行う。マットや絨毯などの毛先が走行部100の車輪に絡まってスタックしている場合などでは、スタックした後でも後ろ方向に移動することが可能なときがあるためである。なお、ステップS20で後ろ方向に進む距離は特に限定されない。後ろ方向に進む距離は、その位置からスタックの原因となった物体(例えば、未知物体)が撮影可能な距離であればよい。
 ステップS20において移動装置10が後ろ方向に移動すると、走行制御部90はスタックの原因となった物体に対して移動装置10を移動させ、カメラ20はスタックの原因となった物体に対して異なる方向から複数の画像を撮影する(S21)。ここで、ステップS21で画像を撮影する例について図5を用いて説明する。
 図5は、本変形例に係る移動装置10が複数枚の画像を撮影する一例を示す図である。具体的には、平面視において、移動装置10が複数枚の画像を撮影する一例を示す図である。図5では、スタックの原因となった物体Oにおいて、スタックした位置を破線で示している。また、図5では、スタックした位置からステップS20で後ろ方向に移動した後の移動装置10を実線で図示し、ステップS21でスタックの原因となった物体Oに対して移動した後の移動装置10を破線で示している。
 図5に示すように、スタックの原因となった物体Oに対してステップS20で後ろ方向に移動した後、スタックの原因となった物体Oに対して移動し、スタックの原因となった物体Oを異なる方向から撮影する。例えば、走行制御部90は、スタックした位置を中心に移動装置10を移動させる。例えば、走行制御部90は、スタックした位置を中心とする円の円弧上を移動させる。例えば、超音波センサ43及びレンジセンサ44を用いて、スタックした位置と移動装置10との距離が略等しくなるように走行制御部90は走行部100を制御してもよい。なお、例えば、スタックした位置は、走行制御部90が記憶していてもよい。
 ステップS21では、カメラ20により、移動装置10の移動に応じてスタックの原因となった物体Oが様々な方向から撮影される。つまり、ステップS21では、複数枚の画像が撮影される。図5では、移動装置10がスタックの原因となった物体Oを撮影した方向を実線の矢印で示しており、スタックした位置から後ろ方向に進んだ位置で1回撮影を行い、スタックした位置を中心に周方向に移動した位置からそれぞれ1枚ずつ撮影した場合を示している。これにより、スタックの原因となった物体Oに対して3枚の画像が取得できる。例えば、スタックの原因となった物体Oが見る方向により形状が異なる場合、異なる方向から撮影を行うことで、それぞれの方向において撮影した画像から特徴を抽出できる。よって、ステップS10でスタックしたときの進行方向と異なる方向からスタックの原因となった物体Oに向かって走行した場合であっても、物体検出部60は、物体Oをスタック物体であると判定することができる。なお、ステップS21で撮影する画像は3枚に限定されず、画像は多いほどよい。
 上記では、スタックした位置から後ろに進んだ位置(図5において実線で示した移動装置10の位置)、及び、後ろに進んだ位置に対してスタックした位置を中心に周方向に移動した位置(図5において破線で示した移動装置10の位置)のそれぞれから、物体Oのスタックした位置に向かって1枚の画像を撮影する例について説明した。つまり、物体Oに対して1つの方向から、1枚の画像を撮影する例について説明したが、これに限定されない。移動装置10は、物体Oを撮影する1つの方向(例えば、図5において実線で示した移動装置10の位置から物体Oのスタックした位置に向かう方向)において、複数枚の画像を撮影してもよい。例えば、移動装置10は、物体Oの画像を撮影する1つの方向において、移動装置10とスタックした位置との距離を変えながら、複数枚の画像を撮影してもよい。移動装置10は、物体Oの画像を撮影する方向のそれぞれにおいて、移動装置10とスタックした位置との距離を変えながら、複数枚の画像を撮影してもよい。
 なお、図5ではスタックの原因となった物体Oを異なる方向から撮影するために走行制御部90は移動装置10を移動させる例について説明したがこれに限定されない。例えば、走行制御部90は、移動装置10を後ろ方向に移動させた位置(例えば、実線で示している移動装置10の位置)で移動装置10を回転させてもよい。なお、走行制御部90が行う移動装置10を移動させる制御には、移動装置10を回転させる制御も含まれる。
 ステップS21で撮影した複数枚の画像に対して、ステップS11~ステップS14が実行される。スタックの原因となった物体Oを様々な方向から撮影した画像を用いてデータベース80の特定情報が更新されるので、物体検出部60はより精度よく物体Oをスタック物体であると判定することができる。
 以上のように、本変形例に係る移動装置10は、さらに、移動装置10の走行を制御する走行制御部90を備え、走行制御部90は、移動装置10が物体に対してスタックした場合、スタックした位置を中心に移動装置10を移動させ、カメラ20(撮影部の一例)は、移動装置10の移動に応じて当該物体に対して互いに異なる方向から複数の画像を撮影する。
 これにより、スタックの原因となった物体O(例えば、未知物体)に対して異なる方向から複数枚の画像を撮影し、撮影した画像を用いてデータベース80の特定情報を更新できる。つまり、特定情報に物体Oがスタック物体であることを示す複数の情報を追加することができる。よって、物体Oが見る方向によって形状が異なっている場合であっても、物体検出部60はより精度よく物体Oをスタック物体であると判定することができる。言い換えると、物体検出部60が行う判定の精度を向上させることができる。
 (実施の形態1の変形例2)
 続いて、本変形例に係る移動装置10aについて、図6を参照しながら説明する。なお、本変形例では、実施の形態1との相違点を中心に説明し、実質的に共通の構成については同一の符号を付し、説明を省略又は簡略化する場合がある。
 図6は、本変形例に係る移動装置10aの機能構成を示すブロック図である。
 図6に示すように、本変形例に係る移動装置10aは、メモリ30が記憶する情報が実施の形態1に係る移動装置10と異なる。具体的には、移動装置10ではメモリ30はカメラ20が撮影した画像を記憶していたが、移動装置10aでは、メモリ30は画像から抽出された物体の特徴を示す情報を記憶する。
 カメラ20が撮影した画像は、物体検出部60により特徴の抽出が行われる。具体的には、特徴抽出部61により画像に含まれる物体に対する特徴の抽出が行われる。メモリ30は、画像から特徴抽出部61が抽出した物体の特徴を示す情報を記憶する。
 スタック検出部50がセンサ40の検知結果からスタックを検出した場合、スタック物体抽出部70aは、メモリ30からスタックの原因となった物体の特徴を示す情報を読み出し、読み出した特徴を示す情報を用いてデータベース80の特定情報を更新する。言い換えると、スタック物体抽出部70aでは、特徴の抽出は行われない。なお、スタック物体抽出部70aがメモリ30から読み出す物体の特徴を示す情報は、画像情報の一例である。
 以上のように、本変形例に係る移動装置10aは、さらに、カメラ20(撮影部の一例)が撮影した画像から物体の特徴を示す情報を抽出する特徴抽出部61を有し、スタック物体抽出部70aが用いる画像情報は、カメラ20が撮影した画像に対して特徴抽出部61が抽出した物体の特徴を示す情報である。
 これにより、メモリ30に記憶される画像情報の情報量が減るので、メモリ30の容量を低減することができる。
 (実施の形態2)
 次に、本実施の形態に係る移動装置10bについて、図7及び図8を参照しながら説明する。なお、本実施の形態では、実施の形態1との相違点を中心に説明し、実質的に共通の構成については同一の符号を付し、説明を省略又は簡略化する場合がある。
 [2-1.移動装置の構成]
 まず、本実施の形態に係る移動装置10bの構成について、図7を参照しながら説明する。
 図7は、本実施の形態に係る移動装置10bの機能構成を示すブロック図である。
 図7に示すように、本実施の形態に係る移動装置10bは、取得部110を備える点に特徴を有する。その他の構成は、実施の形態1に係る移動装置10と同様である。
 取得部110は、ユーザからの指示を取得するユーザインタフェースである。取得部110は、例えば、移動装置10bに設けられた押しボタンである。ユーザは、押しボタンを押すことにより移動装置10bの走行に対して所定の指示を行う。例えば、ユーザは、移動装置10bの進行方向にスタックしそうな物体が存在している場合、取得部110を介して当該物体を避けるように指示を行う。また、例えば、ユーザは、移動装置10bの進行方向に物体が存在しているが、当該物体は移動装置10bにより掃除してほしい物体であるので、当該物体を乗り越えるためモータの出力を調整する指示を行ってもよい。例えば、モータの出力を上げる指示を行ってもよい。例えば、取得部110は、押しボタンが複数設けられ押しボタンごとにユーザの指示が割り当てられてもよいし、押しボタンを押す回数からユーザの指示を取得してもよい。例えば、押しボタンを1回押すと物体を乗り越える指示となり、押しボタンを2回押すと物体を避ける指示となる。
 スタック物体抽出部70は、取得部110がユーザからの移動装置10bの走行に関する指示を取得すると、メモリ30に記憶されている画像と取得部110が取得したユーザの指示とを用いて、データベース80の特定情報を更新する。
 なお、移動装置10bは、取得部110を介してユーザからスタックしていることを取得してもよい。
 なお、取得部110は押しボタンであることに限定されない。例えば、取得部110はユーザの音声を取得してもよい。この場合、取得部110は、例えば、マイクロフォン等の音声検出装置により実現される。スタック物体抽出部70は、メモリ30に記憶されている画像(物体を含む画像)と、取得部110により取得された音声に基づく指示とを用いて、データベース80の特定情報を更新する。つまり、スタック物体抽出部70は、メモリ30に記憶されている画像(物体を含む画像)と、取得部110により取得された音声に基づく指示とを用いて、特定情報を更新する。
 また、取得部110は移動装置10bに対するユーザの所定の操作を取得してもよい。所定の操作とは、例えば、移動装置10bをタッチするなどの操作である。この場合、取得部110は、例えば、タッチセンサ(例えば、静電容量式のタッチセンサ)により実現される。
 また、取得部110は、移動装置10bを遠隔操作する端末装置(図示しない)からユーザの指示を取得してもよい。この場合、取得部110は、端末装置からユーザの指示に基づく制御信号を受信する。取得部110は、具体的には、通信回路(通信モジュール)を含み、端末装置が備える送信部から無線通信によって制御信号を受信する。
 なお、端末装置とは、専用に開発されたコントローラ端末、スマートフォンつまり高機能携帯電話端末、携帯電話端末など、持ち運びが可能な携帯端末である。また、取得部110と端末装置との無線通信方法は特に限定されない。一例として、Bluetooth(登録商標)、または、Wi-Fi(登録商標)などの通信規格を用いた無線通信が行われてもよい。
 [2-2.移動装置の動作]
 続いて、移動装置10bの動作について、図8を参照しながら説明する。
 図8は、本実施の形態に係る移動装置10bの動作を示すフローチャートである。具体的には、移動装置10bが走行中に物体(例えば、未知物体)があり、ユーザから走行に対する指示を取得した場合の動作を示すフローチャートである。つまり、ユーザが移動装置10bの近くにおり、移動装置10bがスタックしそうなときに、ユーザから走行に対する指示をした場合の移動装置10bの動作を示す。
 まず、移動装置10bが走行中(掃除中)に、ユーザから物体(例えば、進行方向前方にある物体)に対する走行の指示を取得した場合(S31でYes)、ステップS11~ステップS14が行われる。ユーザからの指示とは、前方にある物体を「回避する」、「回避しない」、又は「乗り越える」などの指示である。また、スタック物体抽出部70は、取得部110を介してユーザからの指示を取得する。
 ユーザからの指示が「回避する」であった場合について、ステップS11~ステップS14を説明する。取得部110を介してユーザから「回避する」の指示を取得すると、スタック物体抽出部70は、メモリ30から前方にある物体を含む画像を読み出し(S11)、読み出した画像から物体の特徴を抽出する(S12)。そして、スタック物体抽出部70は、ステップS12で抽出した特徴と、ユーザからの指示である「回避する」とを関係づけてデータベース80の特定情報を更新する(S13)。具体的には、データベース80が予め記憶している特定情報に、ステップS12で抽出した特徴を有する物体は回避する物体である(言い換えると、スタック物体である)ことを示す情報を追加する。つまり、スタック物体抽出部70は、ステップS12で抽出した特徴を用いて、データベース80の特定情報を更新する。
 これにより、ステップS12で抽出した特徴を有する物体を物体検出部60が検知した場合、物体検出部60は更新したデータベース80の特定情報を用いて当該物体をスタック物体であると検出できる(S14)。そして、走行制御部90は、当該物体を回避するように走行を制御する。
 前方にある物体が未知物体(例えば、スタックの原因となる未知物体)である場合、物体検出部60は当該未知物体を検出できていない場合がある。この場合であっても、未知物体に対するユーザからの指示を取得することで、移動装置10bは当該未知物体にスタックする前に回避することができ、さらにデータベース80の特定情報を更新することができる。つまり、取得部110を備えユーザからの指示を取得することで、移動装置10bは、スタックの原因となる未知物体に対してスタックすることなく、当該未知物体がスタックの原因となる物体であることを特定情報に追加することができる。
 なお、取得部110が「回避しない」の指示を取得すると、スタック物体抽出部70は、前方にある物体はスタック物体ではないとしてデータベース80に登録してもよい。また、取得部110が「乗り越える」の指示を取得すると、スタック物体抽出部70は、前方にある物体は乗り越える必要がある物体であるとしてデータベース80の特定情報を更新する。例えば、物体検出部60が前方の物体を乗り越える物体であると検出した場合、走行制御部90はモータのパワーを上げる制御など、物体を乗り越えるための制御を行う。
 なお、ユーザからの物体に対する指示を取得していない場合(S31でNo)、移動装置10bは走行を継続する。
 [2-3.効果など]
 以上のように、本実施の形態に係る移動装置10bは、さらに、ユーザからの指示を取得する取得部110を備え、スタック物体抽出部70は、取得部110が移動装置10bの進行方向にある物体に対してユーザからの移動装置10bの走行に関する指示を取得した場合、当該物体を含む画像に関する画像情報に加えてユーザからの指示を用いて特定情報に当該物体がスタック物体であることを示す情報を追加する。
 これにより、走行中(掃除中)にユーザからの指示に応じて、データベース80の特定情報の更新を行うことができる。また、ユーザが掃除をしてほしい物体などユーザの意図を反映した走行を行うようにデータベース80の特定情報の更新を行うことができる。
 (実施の形態2の変形例)
 続いて、本変形例に係る移動装置10cについて、図9及び図10を参照しながら説明する。なお、本変形例では、実施の形態2との相違点を中心に説明し、実質的に共通の構成については同一の符号を付し、説明を省略又は簡略化する場合がある。
 まず、本変形例に係る移動装置10cの構成について、図9を参照しながら説明する。
 図9は、本変形例に係る移動装置10cの機能構成を示すブロック図である。
 図9に示すように、本変形例に係る移動装置10cは、実施の形態2に係る移動装置10bに比べ、さらに報知部120を備える点に特徴を有する。その他の構成は、実施の形態2に係る移動装置10bと同様である。
 報知部120は、カメラ20が撮影した画像をユーザに対して表示するユーザインタフェースである。報知部120は、例えば液晶ディスプレイなどの表示デバイス(表示部の一例)である。例えば、報知部120は、メモリ30に記憶されている、カメラ20が撮影した画像を表示する。例えば、報知部120は、スタック物体抽出部70の制御により、画像を表示する。報知部120は、物体(例えば、未知物体)を含む画像を表示する。
 報知部120は、移動装置10cを遠隔操作する端末装置にカメラ20が撮影した画像(例えば、画像情報)を送信してもよい。報知部120は、具体的には、通信回路(通信モジュール)を含み、端末装置が備える受信部へ無線通信によって画像情報を送信する。
 なお、報知部120は、音又は光を発する機能を有してしてもよい。具体的には、報知部120はスピーカーなどを有し、音を発する。または、報知部120は発光装置などを有し、光を発する。例えば、報知部120は、物体(例えば、未知物体)が存在すると、当該物体が存在することを示す音(例えば、警告音)又は光(例えば、赤色などの警告光)を発してもよい。これにより、ユーザが近くにいる場合、ユーザに物体があることを報知することができる。
 なお、取得部110は、報知部120に表示された物体を含む画像に対するユーザからの移動装置10cの走行に関する指示を取得してもよい。
 続いて、本変形例に係る移動装置10cの動作について、図10を参照しながら説明する。
 図10は、本変形例に係る移動装置10cの動作を示すフローチャートである。本変形例では、物体検出部60がスタックする可能性がある物体を検出し、スタックする可能性がある物体の画像をユーザに提示し、ユーザからの指示に基づいてデータベース80の特定情報を更新する点に特徴を有する。
 ここで、スタックする可能性がある物体について説明する。物体検出部60は、カメラ20が撮影した画像に含まれる物体とデータベース80に記憶されている特定情報とから、カメラ20に含まれる物体(例えば、移動装置10cの前方にある物体)がスタック物体である確率を算出する。物体検出部60は、例えば、スタック物体である確率が70%(第1閾値の一例)以上である場合、画像に含まれる物体をスタック物体であると判定し、確率が50%(第2閾値の一例)以上70%未満である場合、画像に含まれる物体をスタックする可能性がある物体であると判定する。なお、確率50%及び70%は一例であり、移動装置10cの使用環境などにより適宜決定される。以下の説明では、確率は、第1閾値が70%、第2閾値が50%である場合について説明する。なお、第2閾値は、第1閾値より低い値である。
 まず、移動装置10cが走行中(掃除中)に、物体検出部60が移動装置10cの進行方向前方に物体を検出する(S41でYes)と、物体検出部60は当該物体がスタック物体である確率を算出する。例えば、物体検出部60は、カメラ20が撮影した画像とデータベース80に記憶されている特定情報とから、物体がスタック物体である確率を算出する。なお、確率の算出は特徴抽出部61が行ってもよいし、識別器62が行ってもよい。
 なお、移動装置10cが走行中(掃除中)に、物体検出部60が物体を検出していない(S41でNo)場合、走行が継続される。
 物体検出部60が算出した確率が70%以上である場合(S42でYes)、物体検出部60は移動装置10cの前方にある物体をスタック物体であると判定する。そして、走行制御部90は、当該物体を回避するように移動装置10cの走行を制御する(S43)。
 物体検出部60が算出した確率が70%未満である場合(S42でNo)、ステップS44が行われる。物体検出部60が算出した確率が50%以上70%未満である場合(S44でYes)、物体検出部60は物体がスタックする可能性がある物体であると判定する。そして、走行制御部90は、当該物体を回避するように移動装置10cの走行を制御する(S45)。さらに、移動装置10cは、ステップS44でスタックする可能性がある物体であると判定した物体の画像を収集し、ユーザに提示する(S46)。例えば、スタック物体抽出部70は、報知部120にカメラ20が撮影したスタックする可能性がある物体の画像を表示させてもよいし、端末装置に当該画像を送信してもよい。スタック物体抽出部70は、スタックする可能性がある物体が複数ある場合、例えば、スタック物体である確率が高い物体の画像から順に報知部120に表示してもよい。また、報知部120は物体を含む画像と、ステップS44で算出した確率とを合わせて表示してもよい。なお、この時点では、スタック物体抽出部70は、スタックする可能性があると判定した物体の画像を用いて、データベース80の特定情報を更新していない。
 取得部110を介してステップS46で表示した物体に対するユーザの指示を取得する(S47でYes)と、スタック物体抽出部70はユーザに表示した画像から物体の特徴を抽出し(S12)、抽出した特徴及びユーザの指示を用いてデータベース80の特定情報を更新する(S13)。なお、ユーザからの指示は、実施の形態2に係る移動装置10bの場合と同様である。これにより、データベース80の特定情報を更新した後に撮影された画像に対して、更新された特定情報を用いてスタック物体が含まれるかの検出が行われる(S14)。
 なお、取得部110がユーザの指示を取得していない(S47でNo)場合、移動装置10cはスタックする可能性があると判定した物体を回避するように走行してもよいし、当該物体を乗り越えて進むように走行してもよい。または、ユーザからの指示を取得するまで待機してもよい。
 なお、物体検出部60が算出した確率が50%未満である(S44でNo)場合、物体検出部60は物体に対してスタックする可能性が低いと判定する。そして、走行制御部90は、当該物体を乗り越えるように移動装置10cの走行を制御する。つまり、走行制御部90は、物体を検出する前と同様の走行を継続する制御を行う(S48)。
 なお、ステップS46~ステップS47及びステップS12~ステップS14は、移動装置10cが走行(掃除)を終了した後に行われてもよい。例えば、移動装置10cの走行中にユーザは移動装置10cが走行する空間におらず(例えば、外出しているなど)、移動装置10cの走行が終了した後に当該空間にいる(例えば、帰宅したなど)場合、移動装置10cはユーザが移動装置10cを操作した又は触れたことを検知し、ステップS46~ステップS47及びステップS12~ステップS14を実行してもよい。
 なお、上記では、カメラ20が撮影した画像からスタック物体である確率を算出する例を示したが、これに限定されない。例えば、物体検出部60は、カメラ20が撮影した画像及びデータベース80に記憶されている特定情報に加えて、センサ40が物体(例えば、未知物体)に対して検知した検知結果を用いて確率を算出してもよい。つまり、確率は、カメラ20が撮影した画像と、センサ40が検知した検知結果(センサ値)とを組み合わせて算出されてもよい。例えば、物体検出部60は、クリフセンサ41の検知結果を用いて確率を算出してもよい。例えば、物体検出部60は、クリフセンサ41が検知した物体の高さが高いほどスタック物体である確率が高くなるように確率を算出してもよい。なお、クリフセンサ41が検知した物体の高さは物体の特性の一例であり、クリフセンサ41は第2の検知部の一例である。物体の特性は、例えば、物体の形状、物体の大きさ又は物体と移動装置10cとの位置関係などを示す。
 なお、物体検出部60がスタック物体である確率を算出するためのセンサ40はクリフセンサ41に限定されない。また、物体検出部60は、移動装置10cが備える複数のセンサを用いてスタック物体である確率を算出してもよい。例えば、物体検出部60は、超音波センサ43、レンジセンサ44、モータの回転速度(例えば、モータの出力)を検知するセンサ、物体に接しているかを検知する圧力センサ、又はその他の自律移動装置に使用されるセンサの少なくとも1つ以上のセンサ(第2の検知部の一例)の検知結果を用いて、確率を算出してもよい。超音波センサ43及びレンジセンサ44が検知した検知結果は、物体の特性の一例であり、モータの回転速度を検知するセンサが検知した検知結果は、移動装置の特性の一例である。移動装置の特性は、例えば、移動装置10cの移動速度、移動方向又はモータの出力など移動装置10cの移動を特定する特性を示す。この場合、第2の検知部は、複数のセンサから構成されてもよい。
 なお、物体検出部60がカメラ20により撮影された画像及びデータベース80に記憶されている特定情報からスタック物体である確率を算出する、又は、カメラ20により撮影された画像、データベース80に記憶されている特定情報及びセンサ40が検知した検知結果からスタック物体である確率を算出する算出の仕方は、予め機械学習(例えば、ディープラーニング)により学習されている。また、カメラ20により撮影された画像及びセンサ40が検知した検知結果からスタック物体である確率を算出する場合、カメラ20が撮影した画像の方が確率に与える影響が大きくなるように確率が算出される。言い換えると、確率の算出において、センサ40の検知結果よりカメラ20が撮影した画像の方が優先される。
 また、物体検出部60は、カメラ20が撮影した画像から物体がスタック物体である確率を算出し、算出した確率が50%(第2閾値の一例)以上、70%(第1閾値の一例)未満である場合(S42でNo及びS44でYes)、センサ40の検知結果に基づいて当該物体を回避するか走行を継続するかを判定してもよい。例えば、クリフセンサ41が検知した物体の高さが予め定められた値以上である場合、物体検出部60は当該物体を回避すると判定してもよい。つまり、物体検出部60は、スタック物体であるか否かを判定するときにはカメラ20が撮影した画像及びセンサの検知結果の一方を用い、スタックする可能性がある物体であるか否かを判定するときにはカメラ20が撮影した画像及びセンサ40の検知結果の他方を用いてもよい。
 また、移動装置10cはステップS44でスタックする可能性がある(言い換えるとスタックする可能性が高い)と判定した物体の画像をユーザに提示する例について説明したが、これに限定されない。例えば、ステップS42でYesと判定された物体の画像をユーザに提示してもよいし、ステップS44でNoと判定された物体の画像をユーザに提示してもよい。
 以上のように、本変形例に係る移動装置10cは、さらに、ユーザに対してカメラ20(撮影部の一例)が撮影した物体を含む画像を表示する報知部120(表示部の一例)を備え、取得部110は、報知部120に表示された物体に対する移動装置10cの走行に関する指示をユーザから取得する。
 これにより、移動装置10cが物体を検知したときにユーザが近くにいない場合であっても、ユーザから物体に対する指示を取得することができる。つまり、ユーザの指示に基づいてデータベース80の特定情報を更新することができる。
 また、移動装置10cが備える特徴抽出部61は、物体がスタック物体である可能性を示す確率を算出し、確率が70%(第1閾値の一例)以上である場合に当該物体をスタック物体であると判定し、確率が70%より低い50%(第2閾値の一例)以上70%未満である場合に当該物体をスタックする可能性がある物体であると判定し、報知部120が表示する画像は、スタックする可能性がある物体を含む画像である。
 これにより、スタックする可能性がある物体を含む画像のみをメモリ30に記憶しておけばよいので、メモリ30の容量を低減することができる。また、スタックする可能性がある物体(言い換えると、スタックする可能性が高い物体)に対してユーザの指示を取得できるので、効率的にデータベース80の特定情報を更新できる。
 また、移動装置10cは、さらに、物体の厚み(物体又は移動装置の特性の一例)を検知するクリフセンサ41(第2の検知部の一例)を備え、特徴抽出部61は、当該物体を含む画像及び特定情報に加え、クリフセンサ41が検知した物体の厚み(検知結果の一例)から確率を算出する。
 これにより、特徴抽出部61が算出する確率の精度を向上させることができる。
 (他の実施の形態)
 以上のように、本開示における技術の例示として、実施の形態及び変形例を説明した。そのために、添付図面および詳細な説明を提供した。
 したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 また、上述の実施の形態及び変形例は、本開示における技術を例示するためのものであるから、請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
 例えば、図11に示すように、実施の形態1の変形例2に係る移動装置の機能構成と実施の形態2に係る移動装置の機能構成とを組み合わせてもよい。図11は、その他の実施の形態に係る移動装置10dの機能構成を示すブロック図である。なお、この場合、メモリ30は、カメラ20が撮影した画像から抽出した物体の特徴、及び、報知部120が表示するための画像を記憶する。記憶する画像は、サムネイル画像又は代表画像でもよい。これにより、実施の形態1に係る移動装置に比べ、メモリ30の容量を低減することができる。さらに、ユーザからの移動装置10dの走行に関する指示を取得し、取得した指示に基づいてデータベース80の特定情報を更新することができる。
 また、上記実施の形態及び変形例では、物体検出部60及び走行制御部90は別体である例について説明したが、これに限定されない。例えば、物体検出部及び走行制御部は一体で構成されていてもよい。
 また、上記実施の形態及び変形例では、特徴抽出部61は画像に含まれる物体から特徴を抽出する例を示したが、特徴抽出部は画像の特定部分に含まれる物体から特徴を抽出してもよい。例えば、3つの超音波センサが検知した物体までの距離のうち、最も物体までの距離が近い超音波センサが配置されている位置に応じて特定部分を決定してもよい。例えば、右側に位置している超音波センサが最も物体までの距離が近かった場合、特徴抽出部はカメラが撮影した画像のうちの右半分を特定部分とし、当該特定部分の画像に含まれる物体から特徴を抽出してもよい。これにより、より正確に物体の画像を取得することができるので、物体の認識精度が向上する。
 また、上記実施の形態及び変形例では、スタック物体抽出部は移動装置がスタックの原因となった物体の特徴を抽出し、データベースの特定情報を更新する例について説明したが、これに限定されない。例えば、物体が写っていない画像の特徴を抽出し、当該特徴を安全に走行できる特徴としてデータベースに記憶してもよい。つまり、データベースは、移動装置が安全に走行できるような情報を記憶していてもよい。
 また、上記実施の形態及び変形例では、スリップセンサ42を第1の検知部の一例として説明したが、第1の検知部はスリップセンサ42に限定されない。第1の検知部は、移動装置の移動を検知できるセンサであれば特に限定されない。また、第1の検知部は、2以上のセンサを用いて構成されていてもよい。
 また、上記実施の形態及び変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、プロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。プロセッサは、半導体集積回路(IC)、又はLSI(Large scale integration)を含む一つ又は複数の電子回路で構成される。複数の電子回路は、一つのチップに集積されていてもよいし、複数のチップに設けられてもよい。複数のチップは一つの装置に集約されていてもよし、複数の装置に備えられていてもよい。
 また、本開示の全般的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラムまたはコンピュータが読み取り可能なCD-ROM、光ディスクなどの非一時的記録媒体などで実現されてもよい。プログラムは、記憶媒体に予め記憶されていてもよいし、インターネット等を含む広域通信網を介して記憶媒体に供給されてもよい。また、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 また、上記実施の形態及び変形例において説明された移動装置の動作における複数の処理の順序は一例である。複数の処理の順序は、変更されてもよいし、複数の処理は、並行して実行されてもよい。
 また、上記実施の形態及び変形例で示した構成要素及び機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
 なお、上記実施の形態及び変形例で示した移動装置は、自律移動する自律移動掃除機を例示したが、その他の自律移動ロボットでもよい。さらに、移動装置は、人の操作によって移動する移動装置であってもよい。この場合、通常は人の操作で移動するが、スタックの可能性があるとき、又はスタックした後などに、本発明のように自律制御するとしてもよい。また、人の操作で移動しているが、スタックの原因となるスタック物体があるときに、人にスタックの原因となる物体があることを示す情報を提示してもよい。
 本開示は、物体を回避しながら自律移動するロボットに広く利用可能である。特に、自律移動する掃除機又は監視ロボットなどにおいて有用である。
 10,10a,10b,10c,10d  移動装置
 20  カメラ(撮影部)
 30  メモリ
 40  センサ
 41  クリフセンサ(第2の検知部)
 42  スリップセンサ(第1の検知部)
 43  超音波センサ
 44  レンジセンサ
 50  スタック検出部
 60  物体検出部
 61  特徴抽出部
 62  識別器
 70,70a  スタック物体抽出部
 71  画像収集部
 72  特徴抽出部
 80  データベース
 90  走行制御部
 100  走行部
 110  取得部
 120  報知部(表示部)
 O  物体

Claims (12)

  1.  データベースに予め記憶された特定情報により特定されるスタック物体を避けて移動する移動装置であって、
     前記移動装置の進行方向の画像を撮影する撮影部と、
     前記撮影部が撮影した前記画像に関する画像情報を記憶するメモリと、
     前記移動装置が物体に対してスタックした場合、前記メモリから当該物体を含む前記画像に関する前記画像情報を読み出し、読み出した前記画像情報を用いて前記特定情報に当該物体が前記移動装置のスタックの原因となる前記スタック物体であることを示す情報を追加するスタック物体抽出部と、を備える、
    移動装置。
  2.  さらに、前記移動装置の走行を制御する走行制御部を備え、
     前記走行制御部は、前記移動装置が前記物体に対してスタックした場合、スタックした位置を中心に前記移動装置を移動させ、
     前記撮影部は、前記移動装置の移動に応じて前記物体に対して互いに異なる方向から複数の画像を撮影する、
    請求項1に記載の移動装置。
  3.  前記画像情報は、前記撮影部が撮影した前記画像である、
    請求項1又は2に記載の移動装置。
  4.  さらに、前記画像から物体の特徴を示す情報を抽出する特徴抽出部を有し、
     前記画像情報は、前記画像に対して前記特徴抽出部が抽出した前記物体の特徴を示す情報である、
    請求項1又は2に記載の移動装置。
  5.  さらに、前記移動装置の移動を検知する第1の検知部と、
     前記第1の検知部の検知結果からスタックを検出するスタック検出部と、を備える、
    請求項1~4のいずれか1項に記載の移動装置。
  6.  前記スタック物体抽出部が前記メモリから読み出す前記画像情報は、前記スタック検出部がスタックを検出したときに撮影された画像、及び前記スタック検出部がスタックを検出する前に撮影されかつ前記物体が含まれた画像のうち、少なくとも一方に関する情報を含む、
    請求項5に記載の移動装置。
  7.  さらに、ユーザからの指示を取得する取得部を備え、
     前記スタック物体抽出部は、前記取得部が前記移動装置の進行方向にある物体に対して前記ユーザからの前記移動装置の走行に関する指示を取得した場合、当該物体を含む前記画像に関する前記画像情報に加えて前記ユーザからの前記指示を用いて前記特定情報に当該物体が前記スタック物体であることを示す情報を追加する、
    請求項1~6のいずれか1項に記載の移動装置。
  8.  さらに、前記ユーザに対して撮影部が撮影した物体を含む画像を表示する表示部を備え、
     前記取得部は、前記表示部に表示された前記物体に対する前記移動装置の走行に関する指示を前記ユーザから取得する、
    請求項7に記載の移動装置。
  9.  さらに、前記画像から物体の特徴を示す情報を抽出する特徴抽出部を有し、
     前記特徴抽出部は、前記物体が前記スタック物体である可能性を示す確率を算出し、前記確率が第1閾値以上である場合に前記物体を前記スタック物体であると判定し、前記確率が前記第1閾値より低い第2閾値以上前記第1閾値未満である場合に前記物体をスタックする可能性がある物体であると判定し、
     前記表示部が表示する画像は、前記スタックする可能性がある物体を含む画像である、
    請求項8に記載の移動装置。
  10.  さらに、前記物体又は前記移動装置の特性を検知する第2の検知部を備え、
     前記特徴抽出部は、前記物体を含む画像及び前記特定情報に加え、前記第2の検知部が検知した検知結果から前記確率を算出する、
    請求項9に記載の移動装置。
  11.  データベースに予め記憶された特定情報により特定されるスタック物体を避けて移動する移動装置が行う物体検出方法であって、
     前記移動装置の進行方向の画像を撮影する撮影ステップと、
     撮影された前記画像に関する画像情報を記憶する記憶ステップと、
     前記移動装置が物体に対してスタックした場合、前記物体を含む前記画像に関する前記画像情報を読み出し、読み出した前記画像情報を用いて前記特定情報に当該物体が前記移動装置のスタックの原因となる前記スタック物体であることを示す情報を追加する追加ステップと、を備える、
    物体検出方法。
  12.  請求項11に記載の物体検出方法をコンピュータに実行させるためのプログラム。
PCT/JP2017/036297 2017-04-21 2017-10-05 移動装置、物体検出方法及びプログラム WO2018193653A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-084786 2017-04-21
JP2017084786A JP2020106872A (ja) 2017-04-21 2017-04-21 移動装置、物体検出方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2018193653A1 true WO2018193653A1 (ja) 2018-10-25

Family

ID=63855681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/036297 WO2018193653A1 (ja) 2017-04-21 2017-10-05 移動装置、物体検出方法及びプログラム

Country Status (2)

Country Link
JP (1) JP2020106872A (ja)
WO (1) WO2018193653A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021027884A (ja) * 2019-08-09 2021-02-25 パナソニックIpマネジメント株式会社 自律走行型掃除機、自律走行型掃除機の制御方法、及び、プログラム
JP2021101811A (ja) * 2019-12-25 2021-07-15 日立グローバルライフソリューションズ株式会社 自律走行型掃除機
US11966227B2 (en) 2019-08-09 2024-04-23 Irobot Corporation Mapping for autonomous mobile robots

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63251814A (ja) * 1987-04-08 1988-10-19 Toyota Autom Loom Works Ltd 走行コ−ス作成装置
JP2004133846A (ja) * 2002-10-15 2004-04-30 Matsushita Electric Ind Co Ltd 走行装置
JP2007316799A (ja) * 2006-05-24 2007-12-06 Tottori Univ 学習機能をもつ自律移動ロボット
US20130211704A1 (en) * 2010-07-28 2013-08-15 Deere & Company Robotic Mower Boundary Sensing System
JP2015052988A (ja) * 2013-09-09 2015-03-19 シャープ株式会社 自走式電子機器
JP2016185182A (ja) * 2015-03-27 2016-10-27 東芝ライフスタイル株式会社 電気掃除機およびその情報表示方法
JP2017006247A (ja) * 2015-06-18 2017-01-12 シャープ株式会社 自走式電子機器および前記自走式電子機器の走行方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63251814A (ja) * 1987-04-08 1988-10-19 Toyota Autom Loom Works Ltd 走行コ−ス作成装置
JP2004133846A (ja) * 2002-10-15 2004-04-30 Matsushita Electric Ind Co Ltd 走行装置
JP2007316799A (ja) * 2006-05-24 2007-12-06 Tottori Univ 学習機能をもつ自律移動ロボット
US20130211704A1 (en) * 2010-07-28 2013-08-15 Deere & Company Robotic Mower Boundary Sensing System
JP2015052988A (ja) * 2013-09-09 2015-03-19 シャープ株式会社 自走式電子機器
JP2016185182A (ja) * 2015-03-27 2016-10-27 東芝ライフスタイル株式会社 電気掃除機およびその情報表示方法
JP2017006247A (ja) * 2015-06-18 2017-01-12 シャープ株式会社 自走式電子機器および前記自走式電子機器の走行方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021027884A (ja) * 2019-08-09 2021-02-25 パナソニックIpマネジメント株式会社 自律走行型掃除機、自律走行型掃除機の制御方法、及び、プログラム
JP7345132B2 (ja) 2019-08-09 2023-09-15 パナソニックIpマネジメント株式会社 自律走行型掃除機、自律走行型掃除機の制御方法、及び、プログラム
US11966227B2 (en) 2019-08-09 2024-04-23 Irobot Corporation Mapping for autonomous mobile robots
JP2021101811A (ja) * 2019-12-25 2021-07-15 日立グローバルライフソリューションズ株式会社 自律走行型掃除機
JP7282668B2 (ja) 2019-12-25 2023-05-29 日立グローバルライフソリューションズ株式会社 自律走行型掃除機

Also Published As

Publication number Publication date
JP2020106872A (ja) 2020-07-09

Similar Documents

Publication Publication Date Title
EP3048502B1 (en) Robot cleaner and method for controlling robot cleaner
KR20210125974A (ko) 로봇 청소기 및 이를 구비하는 로봇 청소 시스템
KR101629649B1 (ko) 로봇 청소기 및 로봇 청소기의 제어방법
KR101366860B1 (ko) 이동 로봇 및 이의 제어 방법
JP5898022B2 (ja) 自走式機器
JP2019171017A (ja) 自律移動掃除機、自律移動掃除機による掃除方法、及び自律移動掃除機用プログラム
SE525628C2 (sv) Extern laddningsanordning för uppladdning av en rengöringsrobot
KR20130030932A (ko) 로봇 청소기
SE523438C2 (sv) Mobilt robotsystem med användning av RF-modul
WO2018193653A1 (ja) 移動装置、物体検出方法及びプログラム
JP2013154457A (ja) ワーク移載システム、ワーク移載方法及びプログラム
JP2007309921A (ja) 構造光を用いた物体検出方法及びこれを用いたロボット
JP2019171001A (ja) 自律移動掃除機、掃除方法、及びプログラム
KR20160048750A (ko) 로봇 청소기 및 로봇 청소기의 제어방법
US10437251B2 (en) Method for specifying position, terminal device, autonomous device, and program
US20200293050A1 (en) Mobile robot and method of controlling the same
KR20080101131A (ko) 이동로봇 및 그 동작방법
JP2014106638A (ja) 移動装置および制御方法
KR20160089835A (ko) 로봇 청소기 및 로봇 청소기의 제어 방법
US20220280007A1 (en) Mobile robot and method of controlling the same
KR20180090565A (ko) 이동 로봇 및 그 제어방법
JP2014154010A (ja) 物体検索システム及び物体検索装置
JP2019185500A (ja) 自律型電気掃除機
JP2020052601A (ja) 自律走行掃除機及び制御方法
JP7345132B2 (ja) 自律走行型掃除機、自律走行型掃除機の制御方法、及び、プログラム

Legal Events

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

Ref document number: 17906667

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17906667

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP