[go: up one dir, main page]

WO2019240208A1 - ロボットおよびその制御方法、ならびにプログラム - Google Patents

ロボットおよびその制御方法、ならびにプログラム Download PDF

Info

Publication number
WO2019240208A1
WO2019240208A1 PCT/JP2019/023433 JP2019023433W WO2019240208A1 WO 2019240208 A1 WO2019240208 A1 WO 2019240208A1 JP 2019023433 W JP2019023433 W JP 2019023433W WO 2019240208 A1 WO2019240208 A1 WO 2019240208A1
Authority
WO
WIPO (PCT)
Prior art keywords
marker
robot
unit
event
movement
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2019/023433
Other languages
English (en)
French (fr)
Inventor
要 林
博教 小川
秀哉 南地
泰士 深谷
芳樹 松浦
浩平 高田
直人 吉岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Groove X Inc
Original Assignee
Groove X Inc
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 Groove X Inc filed Critical Groove X Inc
Priority to JP2020525643A priority Critical patent/JPWO2019240208A1/ja
Publication of WO2019240208A1 publication Critical patent/WO2019240208A1/ja
Anticipated expiration legal-status Critical
Priority to JP2023202283A priority patent/JP2024020582A/ja
Priority to JP2025141799A priority patent/JP2025172863A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions

Definitions

  • the present invention relates to a robot, a control method thereof, and a program.
  • a robot that takes an image with a camera while moving autonomously inside a house, recognizes the indoor space from the captured image, and sets the movement route based on the recognized space to move indoors.
  • the robot movement route is set by a user creating a map that defines the route along which the robot moves.
  • the robot can move along a route determined based on the created map (see, for example, Patent Document 1).
  • the robot can move autonomously in the space in the autonomous behavior type robot, for example, the robot may enter a dangerous range when the user moves or the robot moves.
  • the present invention has been made in view of the above circumstances, and an object of one embodiment is to provide a robot, a control method thereof, and a program that allow a user to control the movement of the robot.
  • the robot according to the embodiment includes a moving mechanism, a photographing unit that photographs a surrounding space, and a marker that recognizes a predetermined marker included in a photographed image photographed by the photographing unit.
  • a recognition unit and a movement control unit that controls movement by the movement mechanism based on the recognized marker.
  • the movement control unit prohibits entry by the movement based on the recognized marker.
  • the movement control unit limits the speed of the movement based on the recognized marker.
  • the movement control unit controls the movement based on the recognized installation position of the marker.
  • the movement control unit sets a limit range based on the installation position, and limits the movement in the limit range.
  • the movement control unit sets a predetermined range on the back side of the installation position or around the installation position as the limit range.
  • the movement control unit restricts the movement based on the plurality of recognized installation positions.
  • the movement control unit restricts the movement based on a line segment connecting the recognized first marker installation position and the recognized second marker installation position.
  • the movement control unit controls the movement based on the recognized type of the marker.
  • the movement control unit controls the movement based on the recorded marker.
  • the movement control unit controls the movement based on the recorded marker when the marker is not recognized in the captured image.
  • a spatial data generation unit that generates spatial data recognizing the space, and based on the generated spatial data
  • a visualization data generation unit that generates visualization data that visualizes the spatial elements included in the space
  • a visualization data provision unit that provides the generated visualization data to a user terminal.
  • the robot further includes a designation acquisition unit that acquires designation of an area included in the provided visualization data from the user terminal, and the spatial data generation unit includes the obtained designation The space is re-recognized based on the photographed image re-photographed in the area related to.
  • the robot further includes a state information acquisition unit that acquires state information indicating a state of a movement destination in the movement, and the movement control unit further controls the movement based on the state information.
  • a marker information storage unit that stores the position of the marker, a first event detection unit that detects a first event, a second event detection unit that detects a second event, An action execution unit that executes an action, and when the first event is detected, moves to the vicinity of the position of the marker, and when the second event is detected, the marker and the first event And executing the action corresponding to at least one of the second events.
  • the robot control method includes a shooting step of shooting a surrounding space, and a marker recognition step of recognizing a predetermined marker included in the shot image shot in the shooting step. And a movement control step for controlling movement by the movement mechanism based on the recognized marker.
  • the robot control program recognizes a photographing function for photographing a surrounding space and a predetermined marker included in a photographed image photographed by the photographing function.
  • a marker recognition function and a movement control function for controlling movement by a movement mechanism based on the recognized marker are realized.
  • FIG. 3 is a block diagram illustrating an example of a software configuration of the autonomous behavior robot in the first embodiment.
  • FIG. 2 is a block diagram illustrating an example of a hardware configuration of the autonomous behavior robot in the first embodiment.
  • FIG. 6 is a flowchart illustrating an example of an operation of the autonomous behavior robot control program according to the first embodiment. It is a flowchart which shows another example of operation
  • FIG. It is a figure which shows an example of the display of the user terminal in Embodiment 1.
  • FIG. It is a figure which shows an example of the display of the user terminal in Embodiment 1.
  • FIG. It is a figure which shows an example of the display of the user terminal in Embodiment 1.
  • FIG. 12A is a flowchart illustrating a processing procedure in the marker registration phase of the second embodiment.
  • FIG. 12B is a flowchart illustrating a processing procedure in the action phase of the second embodiment.
  • FIG. 13A is a flowchart illustrating a processing procedure in the marker registration phase of the first embodiment.
  • FIG. 13B is a flowchart illustrating a processing procedure in the action phase according to the first embodiment.
  • FIG. 14A is a flowchart illustrating a processing procedure in the marker registration phase of the second embodiment.
  • FIG. 14B is a flowchart illustrating a processing procedure in the action phase of the second embodiment.
  • FIG. 15A is a flowchart illustrating a processing procedure in the marker registration phase of the third embodiment.
  • FIG. 15B is a flowchart illustrating a processing procedure in the action phase of the third embodiment.
  • FIG. 16A is a flowchart illustrating a processing procedure in the marker registration phase of the fourth embodiment.
  • FIG. 16B is a flowchart illustrating a processing procedure in the action phase of the fourth embodiment.
  • FIG. 16A is a flowchart illustrating a processing procedure in the marker registration phase of the fourth embodiment.
  • FIG. 17A is a flowchart illustrating a processing procedure in the marker registration phase of the fifth embodiment.
  • FIG. 17B is a flowchart illustrating a processing procedure in the action phase of the fifth embodiment.
  • FIG. 18A is a flowchart illustrating a processing procedure in the marker registration phase of the sixth embodiment.
  • FIG. 18B is a flowchart illustrating a processing procedure in the action phase of the sixth embodiment.
  • FIG. 1 is a block diagram illustrating an example of a software configuration of the autonomous behavior robot 1 according to the embodiment.
  • the autonomous behavior type robot 1 includes a data providing device 10 and a robot 2.
  • the data providing apparatus 10 and the robot 2 are connected by communication and function as the autonomous behavior type robot 1.
  • the robot 2 is a mobile robot having each of the imaging unit 21, the marker recognition unit 22, the movement control unit 23, the state information acquisition unit 24, and the movement mechanism 29.
  • the data providing apparatus 10 includes functional units such as a first communication control unit 11, a point cloud data generation unit 12, a spatial data generation unit 13, a visualization data generation unit 14, an imaging target recognition unit 15, and a second communication control unit 16.
  • the first communication control unit 11 includes functional units such as a captured image acquisition unit 111, a spatial data providing unit 112, and an instruction unit 113.
  • the second communication control unit 16 includes functional units such as a visualization data providing unit 161 and a designation acquiring unit 162.
  • Each functional unit of the data providing device 10 of the autonomous behavior robot 1 in the present embodiment will be described as a functional module realized by a data providing program (software) that controls the data providing device 10.
  • the functional units of the marker recognition unit 22, the movement control unit 23, and the state information acquisition unit 24 of the robot 2 are assumed to be functional modules realized by a program for controlling the robot 2 in the autonomous behavior robot 1. To do.
  • the data providing apparatus 10 is an apparatus that can execute a part of the functions of the autonomous behavior robot 1.
  • the data providing apparatus 10 is installed in a place physically close to the robot 2, communicates with the robot 2, and This is an edge server that distributes the processing load.
  • the autonomous behavior robot 1 will be described as being configured by the data providing device 10 and the robot 2, but the function of the data providing device 10 is included in the function of the robot 2. Also good.
  • the robot 2 is a robot that can move based on the spatial data, and is a mode of the robot in which the movement range is determined based on the spatial data.
  • the data providing apparatus 10 may be configured with one casing or may be configured with a plurality of casings.
  • the first communication control unit 11 controls a communication function with the robot 2.
  • the communication method with the robot 2 is arbitrary, and for example, wireless LAN (Local Area Network), Bluetooth (registered trademark), near field communication such as infrared communication, wired communication, or the like can be used.
  • Each function of the captured image acquisition unit 111, the spatial data providing unit 112, and the instruction unit 113 included in the first communication control unit 11 communicates with the robot 2 using a communication function controlled by the first communication control unit 11.
  • the captured image acquisition unit 111 acquires a captured image captured by the imaging unit 21 of the robot 2.
  • the imaging unit 21 is provided in the robot 2 and can change the imaging range as the robot 2 moves.
  • the imaging unit 21, the marker recognition unit 22, the movement control unit 23, the state information acquisition unit 24, and the movement mechanism 29 of the robot 2 will be described.
  • the photographing unit 21 can be composed of one or a plurality of cameras.
  • the photographing unit 21 can three-dimensionally photograph a spatial element that is a photographing target from different photographing angles.
  • the imaging unit 21 is a video camera using an image sensor such as a CCD (Charge-Coupled Device) sensor or a CMOS (Complementary Metal Oxide Semiconductor) sensor.
  • the shape of the spatial element can be measured by photographing the spatial element with two cameras (stereo cameras).
  • the photographing unit 21 may be a camera using ToF (Time of Flight) technology.
  • ToF Time of Flight
  • the shape of the spatial element can be measured by irradiating the spatial element with modulated infrared light and measuring the distance to the spatial element.
  • the photographing unit 21 may be a camera using a structured light.
  • a structured light is a light that projects light in a stripe or lattice pattern onto a spatial element.
  • the imaging unit 21 can measure the shape of the spatial element from the distortion of the projected pattern by imaging the spatial element from a different angle from the structured light.
  • the imaging unit 21 may be any one of these cameras or a combination of two or more.
  • the photographing unit 21 is attached to the robot 2 and moves in accordance with the movement of the robot 2.
  • the photographing unit 21 may be installed separately from the robot 2.
  • the captured image captured by the capturing unit 21 is provided to the captured image acquisition unit 111 in a communication method corresponding to the first communication control unit 11.
  • the captured image is temporarily stored in the storage unit of the robot 2, and the captured image acquisition unit 111 acquires the captured image temporarily stored in real time or at a predetermined communication interval.
  • the marker recognition unit 22 recognizes a predetermined marker included in the photographed image photographed by the photographing unit 21.
  • the marker is a spatial element that indicates a restriction on movement of the robot 2.
  • the marker is a shape, pattern or color of an article recognizable from a captured image, a character or a figure attached to the article, or a combination thereof.
  • the marker may be a planar article or a three-dimensional article.
  • the marker is, for example, a seal or paper on which a two-dimensional code or a specific color combination or shape is printed.
  • the marker may be a figurine or a rug having a specific color or shape.
  • the movement of the robot can be restricted by the user's intention without impairing the atmosphere of the room.
  • the movement restriction range can be grasped intuitively, and the restriction range can be easily changed.
  • the marker is set by the user, for example, by being affixed to a wall or furniture, or placed on the floor.
  • the marker recognizing unit 17 can recognize that the movement of the robot 2 is restricted by recognizing the marker image included in the captured image.
  • the marker when the marker is flat, it can be attached to a wall or furniture, so installation in a space-saving manner is possible.
  • the marker When the marker is planar, if the plane of the marker is photographed from the horizontal direction (when the photographing angle is small), the marker in the photographed image is distorted, making recognition difficult.
  • the plane of the marker is photographed from the vertical direction (when the photographing angle is large), the marker is easily recognized. Therefore, for example, when a marker is attached to the hallway, the imaging angle is small at a position far from the marker, so that the robot 2 can be prevented from recognizing the marker. When the robot moves along the corridor and approaches the marker, the shooting angle increases, so that the marker is recognized.
  • the marker installation position (described later) can be brought close to the position where the robot can recognize the marker, so that the robot can accurately grasp the marker installation position. .
  • installation in the center of a room etc. becomes easy.
  • the marker can be recognized from various shooting angles. Therefore, by installing a three-dimensional marker, it is possible to cause the robot 2 at a position far from the marker installation position to recognize the marker.
  • the marker recognition unit 22 stores the visual characteristics of the marker in advance.
  • the marker recognition unit 22 stores in advance a two-dimensional code or a three-dimensional object to be recognized as a marker.
  • the marker recognizing unit 22 may recognize an object registered in advance by the user as a marker. For example, when a user registers a flower pot photographed with the camera of the user terminal 3 as a marker, the flower pot installed in the hallway or the like can be recognized as the marker. Therefore, the user can install an object that does not feel uncomfortable as a marker at the place where the marker is installed.
  • the marker recognizing unit 22 may recognize a spatial element other than an object as a marker.
  • the marker recognizing unit 22 may recognize a user's gesture as a marker such that the user crosses his arm in front of the body.
  • the marker recognizing unit 22 recognizes a position where the user has made a gesture as a marker installation position.
  • the marker recognition unit 22 recognizes the position where the marker is attached or installed (hereinafter referred to as “installation position”).
  • the installation position is a position in the space where the marker in the spatial data is installed.
  • the installation position can be recognized based on, for example, the distance between the current position of the robot 2 and the photographed marker based on the spatial data recognized by the robot 2. For example, when the size of the marker is known in advance, the marker recognition unit 22 calculates the distance between the robot 2 and the marker from the size of the marker image included in the captured image, and the current position of the robot 2 and the imaging direction ( For example, the marker installation position can be recognized based on an orientation (not shown).
  • the installation position may be recognized from a relative position from a spatial element whose position in the space is already known to the marker.
  • the marker recognition unit 22 may recognize the installation position from the relative position of the marker and the door.
  • the installation position can be recognized based on the photographing depth of the marker photographed by the depth camera.
  • the marker recognition unit 22 may recognize a plurality of markers included in the captured image. For example, when it is desired to set a range for restricting movement in a straight line, the user can install a marker composed of a pair of two markers including a first marker and a second marker.
  • the marker recognizing unit 22 can recognize the position of the line segment (straight line or curve) connecting the start point and the end point by recognizing the installation position (start point) of the first marker and the installation position (end point) of the second marker. Good.
  • the marker recognition unit 22 can recognize the position of the line segment in the spatial data by mapping the positions of the first marker and the second marker to the spatial data.
  • the user can easily set a line segment that restricts movement by installing a marker at a predetermined position.
  • Three or more markers may be installed. For example, when there are three or more markers, the marker recognition unit 22 can recognize a polygonal line or a polygon (area) based on the installation positions of the respective markers.
  • the movement control unit 23 restricts movement based on the marker installation position recognized by the marker recognition unit 22.
  • the movement control unit 23 includes a restriction range setting unit 231 that sets a restriction range for restricting movement according to the recognized marker installation position.
  • the movement control unit 23 restricts the movement of the robot 2 with respect to the restriction range set in the restriction range setting unit 231.
  • the marker installation position is a point, line, surface, or space set based on the installation position of one or more markers.
  • the restriction range setting unit 231 can set the restriction range by recognizing the marker installation position as coordinate data in the spatial data, for example.
  • the restriction range setting unit 231 may set a restriction range based on the installation position and restrict movement in the restriction range.
  • the restriction range setting unit 231 defines a line segment that divides a space element such as a corridor or the area of a circle or a sphere in a space centered on the marker as a restriction range that restricts movement based on the installation position of one marker. Can be set. That is, the limited range setting unit 231 sets the limited range by arranging a geometrically determined range such as a rectangle, a circle, and a straight line in the space based on the marker installation position. For example, if the range is set in a circular shape, the limited range setting unit 231 may set a circular range having a predetermined radius around the marker installation position as the limited range.
  • the limit range setting unit 231 may determine the rectangular limit range by arranging the marker installation position so as to be at the center of one side of the rectangle.
  • the limited range is, for example, about 1 to 3 m from the marker, and is a range narrower than the range in which the marker recognition unit 22 can recognize the marker.
  • the limit range may be determined in advance for each marker, or may be arbitrarily adjusted by the user by using an application described later.
  • the limited range setting unit 231 may set a line, a surface, or a space set by a plurality of markers as the limited range. For example, the limited range setting unit 231 sets a predetermined range on the back side of the marker installation position or around the installation position as the limited range with reference to the position of the robot 2 when the marker recognition unit 22 recognizes the marker. May be.
  • the limit range setting unit 231 sets the limit range in a line
  • the movement control unit 23 limits the movement of the robot 2 so as not to exceed the line.
  • the limit range setting unit 231 may set the limit range based on a rule determined in advance with the marker installation position as a reference.
  • the restriction range setting unit 231 may recognize a spatial feature around the marker and set a restriction range according to the spatial feature.
  • the limit range setting unit 231 may recognize the floor plan and set the limit range according to the floor plan. For example, if the marker is near the entrance of the passage (within a predetermined range), the restriction range setting unit 231 may set the passage as the restriction range.
  • the limited range setting unit 231 may set a circular range centered on the marker as the limited range.
  • the limit range setting unit 231 may set a predetermined range as the limit range from the wall if the marker is attached to the wall and there is no door in the vicinity.
  • the marker may be set with a type. For example, a marker that restricts movement only when the marker can be visually recognized (referred to as “temporary marker”), and a marker that stores the position of the marker and permanently restricts movement even if the marker cannot be visually recognized (referred to as “permanent marker”). ) And the marker type.
  • temporary marker a marker that restricts movement only when the marker can be visually recognized
  • permanent marker a marker that stores the position of the marker and permanently restricts movement even if the marker cannot be visually recognized
  • the marker type When the permanent marker is visually recognized, the robot 2 stores the position of the marker in a storage unit (not shown), and even when the marker disappears from the location, the movement is limited based on the stored marker position. . In addition, when the temporary marker is visually recognized, the robot 2 does not store the position of the temporary marker, so that the restriction range is canceled if the temporary marker is removed.
  • the marker recognition unit 22 recognizes the set marker type.
  • the types of markers can be determined in advance by, for example, marker shapes, patterns, colors, characters or figures, or a combination thereof. In addition, the types of markers may be classified according to the number of markers installed, the marker installation method (for example, installation by changing the vertical direction of the markers), or the like.
  • the marker includes a two-dimensional code
  • information specifying the type of marker is written in the information of the two-dimensional code.
  • the marker recognizing unit 22 can identify the temporary marker or the permanent marker by reading the two-dimensional code.
  • identification information (referred to as “marker identification information”) for identifying a marker may be written in the two-dimensional code.
  • the marker recognizing unit 22 reads the marker identification information from the two-dimensional code, refers to a table prepared in advance, and identifies the type of marker associated with the marker identification information.
  • the marker recognizing unit 22 may be configured to read information attached to the marker itself when information attached to the marker itself is included like a two-dimensional code.
  • the marker recognizing unit 22 may be configured to read the marker identification information from the marker and read the incidental information by referring to the table using the marker identification information as a key.
  • the marker recognizing unit 22 has a marker information storage unit (not shown) that holds the supplementary information of the marker in association with the marker identification information, and the marker information storage unit refers to the marker information storage unit. The case where it is comprised so that incidental information for every may be acquired is illustrated.
  • the marker recognition unit 22 may read the marker identification information from the two-dimensional code, or may acquire the marker identification information by specifying the marker by general object recognition.
  • the action of the robot 2 can be restricted (referred to as “behavior restriction”). For example, when it is not desired to allow the robot 2 to enter the dressing room during the time in which the bathroom is used, an entry prohibited time zone is associated with the marker. If the robot 2 is not desired to enter the kitchen when using the kitchen, a condition for prohibiting the entry is associated with the marker when there is a person (when a person is detected).
  • An instruction for restricting the behavior of the robot may be associated as incidental information. That is, the supplementary information may include information for specifying the type of marker or information for defining the behavior of the robot in the limited range.
  • the information that regulates the behavior is information for restricting the robot's behavior, and if prohibiting movement within the restricted range, in addition to prohibiting it, information specifying the prohibited time zone is included. May be.
  • the accompanying information may include information (referred to as “behavioral conditions”) for specifying the conditions in addition to the permission if the movement within the restricted range is permitted with a condition. .
  • the movement control unit 23 may restrict the movement based on the stored installation position when the marker recognition unit 22 does not recognize the marker. For example, when the command by the marker sets a permanent marker that sets a permanent limit, the movement control unit 23 moves based on the marker even when the marker is removed and cannot be recognized from the captured image. Permanently restrict Note that the markers set in the limit range setting unit 231 may be edited, for example, according to an instruction from the user terminal 3, such as deletion, position change, or command change.
  • the user terminal 3 may have an application program (not shown) (hereinafter referred to as “application”) that can edit the marker.
  • the application may display the marker so as to be selectable on the display screen of the user terminal 3 described above, and edit the marker selected by the user.
  • the application may change the marker to a permanent marker.
  • the user can cancel the restriction range by removing the installed temporary marker, and even after removing the installed marker by changing the temporary marker to a permanent marker with the app.
  • the limited range can be maintained.
  • the application may have a registration function for registering a spatial element photographed by the camera of the user terminal 3 described above as a marker. Further, the application may have a function of setting or changing the content of the restriction range adjustment or the action restriction described above.
  • the app may be connected to a marker information storage unit included in the robot 2 and have a function of referring to and updating behavior restrictions and behavior conditions for each marker.
  • the restriction on the movement of the robot 2 set by the marker can coexist with the setting of the restriction range by the state information described later.
  • the entry prohibition area to the corridor can be set by setting a marker, and entry into the dressing room can be prohibited from the status information.
  • the contents of restriction in the area may be set based on the state information.
  • the state information acquisition unit 24 acquires state information indicating the state of the movement destination in movement.
  • the state information is information for restricting the movement of the robot 2 according to the state of the movement destination detected by the robot 2.
  • the destination state is, for example, the presence / absence of a person, the presence / absence of a pet, the temperature / humidity of a room, the door locking state, or the lighting state of the lighting, etc. May be included.
  • the state information is information for limiting the moving speed in the area (range) when, for example, a person is detected in the moving range.
  • status information prohibits entry in the area on a predetermined day of the week or time, prohibits movement through the door when the door is locked, or shoots in an area where lighting is lit. It may be prohibited.
  • State information can be provided in conjunction with spatial data.
  • the spatial data providing unit 112 provides the spatial data generated by the spatial data generating unit 13 to the robot 2.
  • Spatial data is data obtained by converting spatial elements recognized by the robot in the space where the robot 2 exists.
  • the robot 2 can move within a range determined by the spatial data. That is, the spatial data functions as a map for determining the movable range in the robot 2.
  • the robot 2 is provided with spatial data from the spatial data providing unit 112.
  • the spatial data can include position data of spatial elements such as walls, furniture, electrical appliances, and steps that the robot 2 cannot move.
  • the robot 2 can determine whether or not the robot 2 can move based on the provided spatial data. Further, the robot 2 may be able to recognize whether or not an ungenerated range is included in the spatial data. Whether or not an ungenerated range is included can be determined, for example, based on whether or not a space having no spatial element is included in part of the spatial data.
  • the instruction unit 113 instructs the robot 2 to shoot based on the spatial data generated by the spatial data generation unit 13. Since the spatial data generation unit 13 creates spatial data based on the captured image acquired by the captured image acquisition unit 111, for example, when creating indoor spatial data, spatial data is not generated for a portion that has not been captured. May be included. Further, if the captured image is unclear, noise may be included in the created spatial data, and an inaccurate part may be included in the spatial data. When there is an ungenerated part in the spatial data, the instructing unit 113 may issue an imaging instruction for the ungenerated part. In addition, when the spatial data includes an inaccurate portion, the instructing unit 113 may instruct the imaging for the inaccurate portion. The instruction unit 113 may voluntarily instruct photographing based on the spatial data.
  • the instruction unit 113 may instruct photographing based on an explicit instruction from a user who has confirmed visualization data (described later) generated based on the spatial data.
  • the user can recognize the space and generate the spatial data by designating the area included in the visualization data and instructing the robot 2 to perform photographing.
  • the point cloud data generation unit 12 generates three-dimensional point cloud data of spatial elements based on the captured image acquired by the captured image acquisition unit 111.
  • the point cloud data generation unit 12 generates point cloud data by converting a spatial element included in the captured image into a three-dimensional set of points in a predetermined space.
  • the spatial elements are room walls, steps, doors, furniture placed in the room, home appliances, luggage, houseplants, and the like. Since the point cloud data generation unit 12 generates point cloud data based on the captured image of the spatial element, the point cloud data represents the shape of the surface of the captured spatial element.
  • the photographed image is generated by the photographing unit 21 of the robot 2 photographing at a predetermined photographing angle at a predetermined photographing position.
  • the spatial data generation unit 13 generates spatial data that determines the movable range of the robot 2 based on the point cloud data of the spatial elements generated by the point cloud data generation unit 12. Since the spatial data is generated based on the point cloud data in the space, the spatial element included in the spatial data also has three-dimensional coordinate information.
  • the coordinate information may include point position, length (including height), area, or volume information.
  • the robot 2 can determine a movable range based on the position information of the spatial elements included in the generated spatial data. For example, when the robot 2 has a moving mechanism 29 that horizontally moves on the floor surface, the robot 2 has a level difference from the floor surface that is a spatial element in the spatial data at a predetermined height or higher (for example, 1 cm or higher).
  • the robot 2 determines, in the spatial data, a range in which the space between the wall, which is a spatial element, and the furniture is a predetermined width or more (for example, 40 cm or more) as a movable range in consideration of the clearance with its own width. To do.
  • the spatial data generation unit 13 may set attribute information for a predetermined area in the space.
  • the attribute information is information that defines the movement condition of the robot 2 for a predetermined area.
  • the movement condition is, for example, a condition that defines a clearance from a space element that the robot 2 can move.
  • attribute information in which the clearance for a predetermined area is 5 cm or more can be set.
  • information for restricting the movement of the robot may be set.
  • the movement restriction is, for example, movement speed restriction or entry prohibition.
  • attribute information that reduces the moving speed of the robot 2 may be set in an area where the clearance is small or an area where people exist.
  • the movement condition set in the attribute information may be determined by the floor material of the area.
  • the attribute information may be set to change the operation of the moving mechanism 29 (travel speed or travel means, etc.) when the floor is a cushion floor, a flow long, a tatami mat, or a carpet.
  • the above conditions may be set at the charging spot where the robot 2 can move and charge, the step where the movement of the robot 2 is unstable and the movement is restricted, or the end of the carpet.
  • the area in which the attribute information is set may be understood by the user, for example, by changing the display method in the visualization data described later.
  • the spatial data generation unit 13 performs, for example, a Hough transform on the point cloud data generated by the point cloud data generation unit 12 to extract a common line, curve, or other graphic in the point cloud data.
  • Spatial data is generated by the contour of the spatial element to be expressed.
  • the Hough transform is a coordinate transformation method for extracting a figure that passes through the feature points most when the point cloud data is a feature point. Since the point cloud data expresses the shape of a spatial element such as furniture placed in a room in the point cloud, the user can determine what the spatial element is represented by the point cloud data (for example, Recognition of tables, chairs, walls, etc.) may be difficult.
  • the spatial data generation unit 13 can express the outline of furniture or the like by performing the Hough transform on the point cloud data, the user can easily determine the spatial elements.
  • the spatial data generation unit 13 converts the point cloud data generated by the point cloud data generation unit 12 into a basic shape in a spatial element (for example, a table, a chair, a wall, etc.) recognized in the image recognition. Data may be generated.
  • a spatial element such as a table is a table by image recognition
  • the shape of the table is determined from a part of point cloud data of the spatial element (for example, point cloud data when the table is viewed from the front). It can be predicted accurately.
  • the spatial data generation unit 13 can generate spatial data that accurately grasps the spatial elements by combining point cloud data and image recognition.
  • the spatial data generation unit 13 generates spatial data based on point cloud data included in a predetermined range from the position where the robot 2 has moved.
  • the predetermined range from the position to which the robot 2 has moved includes the position where the robot 2 has actually moved, and may be, for example, a range at a distance such as 30 cm from the position to which the robot 2 has moved. Since the point cloud data is generated based on the captured image captured by the capturing unit 21 of the robot 2, the captured image may include a spatial element at a position away from the robot 2. When the imaging unit 21 is far away from the space element, there may be a portion where the robot 2 is not moved due to the presence of an uncaptured portion or the presence of an obstacle that is not captured.
  • the spatial element extracted at the feature point may be distorted.
  • the spatial data generation unit 13 may generate spatial data that does not include a spatial element with low accuracy or a distorted spatial element by ignoring feature points that are far apart.
  • the spatial data generation unit 13 deletes point cloud data outside a predetermined range from the position where the robot 2 has moved to generate spatial data, thereby preventing the occurrence of an enclave where no data actually exists.
  • the spatial data generation unit 13 sets a limit range for the generated spatial data. By setting a limit range for spatial data, the limit range can be visualized as part of the visualization data.
  • the spatial data generation unit 13 sets state information for the spatial data. By setting the state information for the spatial data, the state information can be made part of the visualization data.
  • the visualization data generation unit 14 generates visualization data that is visualized based on the spatial data generated by the spatial data generation unit 13 so that a person can intuitively determine the spatial elements included in the space.
  • a robot has various sensors such as a camera and a microphone, and recognizes surrounding conditions by comprehensively judging information obtained from these sensors.
  • the robot In order for the robot to move, it is necessary to recognize various objects existing in the space and determine the moving route in the spatial data, but the moving route may not be appropriate because the object cannot be recognized correctly. Due to misrecognition, for example, even if a person thinks that there is a sufficiently large space, the robot may recognize that there is an obstacle and that only a narrow range can move.
  • the self-supporting action robot in the present embodiment visualizes and provides spatial data, which is its own recognition state, to the person in order to reduce the recognition error between the person and the robot, and again to the point indicated by the person. Recognition processing can be performed.
  • Spatial data is data including spatial elements recognized by the autonomous behavior type robot 1, whereas visualization data is used for the user to visually recognize the spatial elements recognized by the autonomous behavior type robot 1. It is data. Spatial data may include misrecognized spatial elements. By visualizing the spatial data, it becomes easy for a person to confirm the recognition state (presence / absence of misrecognition) of the spatial element in the autonomous behavior robot 1.
  • Visualized data is data that can be displayed on the display device.
  • the visualization data is a so-called floor plan, and a spatial element recognized as a table, chair, sofa, or the like is included in an area surrounded by a spatial element recognized as a wall.
  • the visualization data generation unit 14 generates the shape of furniture or the like formed in the graphic extracted by the Hough transform as visualization data expressed by RGB data, for example.
  • the spatial data generation unit 13 generates visualization data in which the plane drawing method is changed based on the direction of the plane in three dimensions of the spatial element.
  • the direction of the three-dimensional plane of the spatial element is, for example, the normal direction of the plane formed by the figure generated in the point cloud data by Hough transforming the point cloud data generated in the point cloud data generation unit 12 It is.
  • the visualization data generation unit 14 generates visualization data in which the plane drawing method is changed according to the normal direction.
  • the drawing method is, for example, a hue attributed to a plane, a color attribute such as brightness or saturation, a pattern imparted to a plane, a texture, or the like.
  • the visualization data generation unit 14 when the normal line of the plane is the vertical direction (the plane is the horizontal direction), the visualization data generation unit 14 renders the plane with high brightness and draws in a bright color.
  • the visualization data generation unit 14 renders the plane with low brightness and draws in a dark color.
  • the visualization data may include coordinate information (referred to as “visualization coordinate information”) in the visualization data associated with the coordinate information of each spatial element included in the spatial data. Since the visualization coordinate information is associated with the coordinate information, the point in the visualization coordinate information corresponds to the point in the actual space, and the surface in the visualization coordinate information corresponds to the surface in the actual space. Therefore, when the user specifies the position of a certain point in the visualization data, the position of the point in the actual room corresponding to the point can be specified.
  • a conversion function for converting the coordinate system may be prepared so that the coordinate system in the visualization data and the coordinate system in the spatial data can be mutually converted.
  • the coordinate system in the visualization data and the coordinate system in the actual space may be mutually convertible.
  • the visualization data generation unit 14 generates visualization data as stereoscopic (3D (Dimensions)) data.
  • the visualization data generation unit 14 may generate the visualization data as planar (2D) data.
  • the visualization data generation unit 14 may generate the visualization data in 3D when the spatial data generation unit 13 generates sufficient data to generate the visualization data in 3D.
  • the visualization data generation unit 14 may generate the visualization data in 3D based on the 3D viewpoint position (viewpoint height, viewpoint elevation angle, etc.) designated by the user. By making it possible to specify the viewpoint position, the user can easily check the shape of furniture or the like.
  • the visualization data generation unit 14 may generate visualization data in which the wall or ceiling of the room is colored only for the back wall and the front wall or ceiling is transparent (not colored). By making the near wall transparent, the user can easily confirm the shape of the furniture or the like arranged at the end (inside the room) of the near wall.
  • the visualization data generation unit 14 generates visualization data to which a color attribute corresponding to the captured image acquired by the captured image acquisition unit 111 is added. For example, when the captured image includes woodgrain furniture and the color of the wood (for example, brown) is detected, the visualization data generation unit 14 gives a color approximate to the detected color to the extracted furniture figure. Generate visualization data. By assigning a color attribute according to the photographed image, the user can easily check the type of furniture or the like.
  • the visualization data generation unit 14 generates visualization data in which the drawing method between the fixed object that is fixed and the moving object that moves is changed.
  • the fixed object is, for example, a wall of a room, a step, furniture that is fixed, and the like.
  • the moving object is, for example, a chair, a trash can, furniture with casters, or the like.
  • the moving object may include a temporary object temporarily placed on the floor, such as a luggage or a bag.
  • the drawing method is, for example, a hue attributed to a plane, a color attribute such as brightness or saturation, a pattern imparted to a plane, a texture, or the like.
  • the classification of fixed, moving or temporary items can be identified by the time period existing at the location.
  • the spatial data generation unit 13 identifies the classification of the fixed object, the moving object, or the temporary object based on the time-dependent change of the point cloud data generated by the point cloud data generation unit 12, and obtains the spatial data. Generate.
  • the spatial data generation unit 13 determines that the spatial element is a fixed object when the spatial element has not changed from the difference between the spatial data generated at the first time and the spatial data generated at the second time. to decide. Further, the spatial data generation unit 13 may determine that the spatial element is a moving object when the position of the spatial element changes from the difference of the spatial data.
  • the spatial data generation unit 13 may determine that the spatial element is a primary object when the spatial element is lost or appears from the difference of the spatial data.
  • the visualization data generation unit 14 changes the drawing method based on the classification identified by the spatial data generation unit 13.
  • the drawing method change includes, for example, color coding, addition of hatching, addition of a predetermined mark, and the like.
  • the spatial data generation unit 13 may display a fixed object in black, a moving object in blue, or a temporary object in yellow.
  • the spatial data generation unit 13 generates spatial data by identifying a classification of a fixed object, a moving object, or a temporary object.
  • the visualization data generation unit 14 may generate visualization data in which the drawing method is changed based on the classification identified by the spatial data generation unit 13. Further, the spatial data generation unit 13 may generate visualization data obtained by changing the drawing method of the spatial element recognized by the image recognition.
  • the visualization data generation unit 14 can generate visualization data in a plurality of divided areas. For example, the visualization data generation unit 14 generates visualization data for each of the spaces partitioned by walls such as a living room, a bedroom, a dining room, and a hallway as one room. By generating visualization data for each room, for example, generation of spatial data or visualization data can be performed separately for each room, and generation of spatial data or the like is facilitated. In addition, it is possible to create spatial data or the like only for an area where the robot 2 may move.
  • the visualization data providing unit 161 provides visualization data that allows the user to select an area. For example, the visualization data providing unit 161 may enlarge the visualization data of the area selected by the user or provide detailed visualization data of the area selected by the user.
  • the imaging object recognition unit 15 recognizes a spatial element based on the captured image acquired by the captured image acquisition unit. Spatial element recognition can be performed by using an image recognition engine that determines what a spatial element is based on, for example, image recognition results accumulated in machine learning. The image recognition of the space element can be recognized, for example, in the shape, color, pattern, character or figure attached to the space element. For example, the imaging target recognition unit 15 may be able to recognize a spatial element by using an image recognition service provided in a cloud server (not shown).
  • the visualization data generation unit 14 generates visualization data in which the drawing method is changed in accordance with the spatial element recognized by the imaging target recognition unit 15.
  • the visualization data generation unit 14 when the image-recognized space element is a sofa, the visualization data generation unit 14 generates visualization data in which a texture having a cloth texture is added to the space element.
  • the visualization data generation unit 14 may generate visualization data with a wallpaper color attribute (for example, white).
  • the second communication control unit 16 controls communication with the user terminal 3 owned by the user.
  • the user terminal 3 is, for example, a smartphone, a tablet PC, a notebook PC, a desktop PC, or the like.
  • the communication method with the user terminal 3 is arbitrary, and for example, wireless LAN, Bluetooth (registered trademark), short-range wireless communication such as infrared communication, or wired communication can be used.
  • Each function of the visualization data providing unit 161 and the designation acquiring unit 162 included in the second communication control unit 16 communicates with the user terminal 3 using a communication function controlled by the second communication control unit 16.
  • the visualization data providing unit 161 provides the visualization data generated by the visualization data generation unit 14 to the user terminal 3.
  • the visualization data providing unit 161 is, for example, a Web server, and provides visualization data as a Web page to the browser of the user terminal 3.
  • the visualization data providing unit 161 may provide visualization data to a plurality of user terminals 3. By visually recognizing the visualization data displayed on the user terminal 3, the user can confirm the range in which the robot 2 can move as a 2D or 3D display. In the visualization data, the shape of furniture or the like is drawn by a predetermined drawing method. By operating the user terminal 3, the user can switch between 2D display and 3D display, zoom in or out of the visualization data, or move the viewpoint in 3D display, for example.
  • the user can visually check the visualization data displayed on the user terminal 3 and can confirm the generation state of the spatial data and the attribute information of the area.
  • the user can instruct the creation of the spatial data by designating an area where the spatial data is not generated from the visualization data.
  • An area can be specified to instruct the regeneration of spatial data.
  • the visualization coordinate information in the visualization data is associated with the coordinate information in the spatial data, the area in the visualization data that is specified to be regenerated by the user can be uniquely identified as the area in the spatial data. . Is associated with the coordinate information.
  • the regenerated spatial data is provided from the visualization data providing unit 161 after the visualization data is regenerated in the visualization data generation unit 14.
  • the generation state of the spatial data may not change, for example, the spatial element may be misrecognized in the regenerated visualization data.
  • the user may instruct generation of spatial data by changing the operation parameter of the robot 2.
  • the operation parameters are, for example, shooting conditions (exposure amount, shutter speed, etc.) in the shooting unit 21 in the robot 2, sensitivity of a sensor (not shown), clearance conditions when allowing the robot 2 to move, and the like.
  • the operation parameter may be included in the spatial data as area attribute information.
  • the visualization data generation unit 14 generates visualization data including a display of a button for instructing creation of spatial data (including “re-creation”), for example.
  • the user terminal 3 can transmit an instruction to create spatial data to the autonomous behavior robot 1 by the user operating the displayed button.
  • the designation acquisition unit 162 acquires the spatial data creation instruction transmitted from the user terminal 3.
  • the designation obtaining unit 162 obtains an instruction to create spatial data of an area designated by the user based on the visualization data provided by the visualization data providing unit 161.
  • the designation acquisition unit 162 may acquire an instruction to set (including change) the attribute information of the area.
  • the designation acquisition unit 162 acquires the position of the area and the direction when the robot approaches the area, that is, the direction to be photographed. Acquisition of a creation instruction can be executed, for example, in the operation of a Web page provided by the visualization data providing unit 161. Thereby, the user can grasp how the robot 2 recognizes the space, and can instruct the robot 2 to redo the recognition process according to the recognition state.
  • the instruction unit 113 instructs the robot 2 to shoot in the area where the creation of spatial data is instructed.
  • the instruction unit 113 may instruct photographing of a marker installed in the area.
  • the shooting in the area instructed to create the spatial data may include, for example, shooting conditions such as the coordinate position of the robot 2 (shooting unit 21), the shooting direction of the shooting unit 21, and the resolution.
  • the spatial data generation unit 13 adds the newly created spatial data to the existing spatial data when the spatial data for which creation is instructed relates to an ungenerated region, and the spatial data generation unit 13 If the instructed spatial data relates to re-creation, spatial data obtained by updating the existing spatial data is generated. Further, when a marker is included in the captured image, spatial data including the recognized marker may be generated.
  • FIG. 1 illustrates the case where the autonomous behavior robot 1 includes the data providing device 10 and the robot 2, but the function of the data providing device 10 is included in the function of the robot 2. It may be a thing.
  • the robot 2 may include all the functions of the data providing apparatus 10.
  • the data providing apparatus 10 may temporarily substitute a function when the robot 2 has insufficient processing capability.
  • “acquisition” may be acquired by the acquiring entity actively, or may be acquired passively by the acquiring entity.
  • the designation acquisition unit 162 may acquire the designation by receiving a spatial data creation instruction transmitted from the user terminal 3 by the user, and the user stores the data in a storage area (not shown) that is not shown.
  • An instruction to create the spatial data may be obtained by reading from the storage area.
  • the data providing apparatus 10 includes a first communication control unit 11, a point cloud data generation unit 12, a spatial data generation unit 13, a visualization data generation unit 14, an imaging target recognition unit 15, a second communication control unit 16, and a captured image.
  • the functional units of the acquisition unit 111, the spatial data provision unit 112, the instruction unit 113, the visualization data provision unit 161, and the designation acquisition unit 162 are examples of functions of the autonomous behavior robot 1 in the present embodiment.
  • the functions of the autonomous behavior robot 1 are not limited.
  • the autonomous behavior robot 1 does not need to have all the functional units that the data providing apparatus 10 has, and may have some functional units.
  • the autonomous behavior type robot 1 may have a function part other than the above.
  • the functional units of the marker recognition unit 22, the movement control unit 23, the restriction range setting unit 231, and the state information acquisition unit 24 included in the robot 2 are examples of functions of the autonomous behavior robot 1 according to the present embodiment.
  • the functions of the autonomous behavior robot 1 are not limited.
  • the autonomous behavior robot 1 does not have to have all the functional units that the robot 2 has, and may have some functional units.
  • the above-described functional units included in the autonomous behavior robot 1 have been described as being realized by software as described above. However, at least one of the functions of the autonomous behavior robot 1 may be realized by hardware.
  • any one of the above functions that the autonomous behavior robot 1 has may be implemented by dividing one function into a plurality of functions. Further, any two or more functions of the autonomous behavior robot 1 may be integrated into one function. That is, FIG. 1 represents the functions of the autonomous behavior robot 1 by function blocks, and does not indicate that each function is configured by a separate program file, for example.
  • the autonomous behavior robot 1 may be a device realized by a single housing or a system realized by a plurality of devices connected via a network or the like.
  • the autonomous behavior robot 1 may be realized by a virtual device such as a cloud service provided by a cloud computing system, part or all of its functions. That is, the autonomous behavior robot 1 may realize at least one or more of the above functions in another device.
  • the autonomous behavior robot 1 may be a general-purpose computer such as a tablet PC, or may be a dedicated device with limited functions.
  • the autonomous behavior type robot 1 may realize part or all of the functions in the robot 2 or the user terminal 3.
  • FIG. 2 is a block diagram illustrating an example of a hardware configuration of the autonomous behavior robot 1 according to the embodiment.
  • the autonomous behavior type robot 1 includes a CPU (Central Processing Unit) 101, a RAM (Random Access Memory) 102, a ROM (Read Only Memory) 103, a touch panel 104, a communication I / F (Interface) 105, a sensor 106, and a clock 107. .
  • the autonomous behavior type robot 1 is a device that executes the autonomous behavior type robot control program described in FIG.
  • the CPU 101 controls the autonomous behavior robot 1 by executing the autonomous behavior robot control program stored in the RAM 102 or the ROM 103.
  • the autonomous behavior type robot control program is acquired from, for example, a recording medium that records the autonomous behavior type robot control program or a program distribution server via a network, installed in the ROM 103, read from the CPU 101, and executed.
  • the touch panel 104 has an operation input function and a display function (operation display function).
  • the touch panel 104 enables operation input using a fingertip or a touch pen to the user of the autonomous behavior robot 1.
  • the autonomous behavior robot 1 in this embodiment will be described using a touch panel 104 having an operation display function.
  • the autonomous behavior robot 1 has a display device having a display function and an operation input device having an operation input function separately. You may have.
  • the display screen of the touch panel 104 can be implemented as a display screen of the display device, and the operation of the touch panel 104 can be implemented as an operation of the operation input device.
  • the touch panel 104 may be realized in various forms such as a head mount type, a glasses type, and a wristwatch type display.
  • the communication I / F 105 is a communication I / F.
  • the communication I / F 105 executes short-range wireless communication such as a wireless LAN, a wired LAN, and infrared rays. Although only the communication I / F 105 is illustrated in FIG. 2 as the communication I / F, the autonomous behavior robot 1 may have each communication I / F in a plurality of communication methods.
  • the communication I / F 105 may communicate with a control unit that controls the photographing unit 21 (not shown) or a control unit that controls the moving mechanism 29.
  • the sensor 106 is hardware such as a camera of the photographing unit 21, a TOF or a thermo camera, a microphone, a thermometer, an illuminometer, or a proximity sensor. Data acquired by these hardware is stored in the RAM 102 and processed by the CPU 101.
  • the clock 107 is an internal clock for acquiring time information.
  • the time information acquired by the clock 107 is used, for example, for confirmation of a time zone in which entry is prohibited.
  • FIG. 3 is a flowchart illustrating an example of the operation of the robot control program in the embodiment.
  • the execution subject of the operation is the autonomous behavior type robot 1, but each operation is executed in each function of the autonomous behavior type robot 1 described above.
  • the autonomous behavior robot 1 determines whether a captured image has been acquired (step S11). Whether or not a captured image has been acquired can be determined by whether or not the captured image acquisition unit 111 has acquired a captured image from the robot 2. The determination as to whether or not a captured image has been acquired is made on a per-process basis for captured images. For example, since the moving image is continuously transmitted from the robot 2 when the captured image is a moving image, the determination as to whether or not the captured image has been acquired is based on whether the number of frames or the data amount of the acquired moving image is a predetermined value It can be done by whether or not.
  • the acquired captured image may be acquired by the mobile robot as a main component for transmitting the captured image or may be acquired by the captured image acquisition unit 111 as the main component for taking the captured image from the mobile robot. If it is determined that a captured image has not been acquired (step S11: NO), the autonomous behavior robot 1 repeats the process of step S11 and waits for a captured image to be acquired.
  • the autonomous behavior robot 1 when it is determined that a captured image has been acquired (step S12: NO), the autonomous behavior robot 1 generates point cloud data (step S12).
  • the point cloud data is generated by the point cloud data generation unit 12 detecting, for example, a point having a large change in luminance in the captured image as a feature point, and giving three-dimensional coordinates to the detected feature point. Can be executed.
  • the feature point may be detected by, for example, performing a differentiation process on the captured image to detect a portion having a large gradation change. Moreover, you may perform the provision of the coordinate with respect to a feature point by detecting the same feature point image
  • Whether or not a captured image is acquired in step S11 can be determined based on whether or not captured images captured from a plurality of directions have been acquired.
  • step S13 the autonomous behavior type robot 1 generates spatial data (step S13).
  • the generation of the spatial data can be executed by the spatial data generation unit 13 by, for example, Hough transforming the point cloud data. Details of step S13 will be described with reference to FIG.
  • the autonomous behavior robot 1 After executing the process of step S13, the autonomous behavior robot 1 provides the generated spatial data to the robot 2 (step S14).
  • the provision of the spatial data to the robot 2 may be sequentially provided as the spatial data is generated as shown in FIG. 3, or may be provided asynchronously with the processing shown in steps S11 to S18. Good.
  • the robot 2 provided with the spatial data can grasp the movable range based on the spatial data.
  • the autonomous behavior robot 1 determines whether or not to recognize a spatial element (step S15).
  • the determination of whether or not to recognize a spatial element can be executed by, for example, setting the imaging target recognition unit 15 whether or not to recognize a spatial element. Even if it is determined that the spatial element is recognized, if the recognition fails, it may be determined that the spatial element is not recognized.
  • the autonomous behavior robot 1 If it is determined that the spatial element is recognized (step S15: YES), the autonomous behavior robot 1 generates first visualization data (step S16).
  • the generation of the first visualization data can be executed in the visualization data generation unit 14.
  • the first visualization data is visualization data generated after the imaging object recognition unit 15 recognizes a spatial element. For example, when the imaging target recognition unit 15 determines that the spatial element is a table, the visualization data generation unit 14 does not have point cloud data even if the top surface of the table is not captured. Visualization data can be generated as if the top surface is flat. Further, when it is determined that the spatial element is a wall, the visualization data generation unit 14 can generate visualization data by assuming that a portion that has not been shot is also a plane.
  • the autonomous behavior robot 1 If it is determined that the spatial element is not recognized (step S15: NO), the autonomous behavior robot 1 generates second visualization data (step S17).
  • the generation of the second visualization data can be executed in the visualization data generation unit 14.
  • the second visualization data is visualization data that is generated based on the point cloud data and the spatial data generated from the captured image without the imaging target recognition unit 15 recognizing the spatial element.
  • the autonomous behavior robot 1 can reduce the processing load by not performing the spatial element recognition process.
  • the autonomous behavior type robot 1 After executing the process of step S16 or the process of step S17, the autonomous behavior type robot 1 provides visualization data (step S18).
  • the provision of the visualization data is executed when the visualization data provision unit 161 provides the visualization data generated by the visualization data generation unit 14 to the user terminal 3.
  • the autonomous behavior type robot 1 may generate and provide visualization data in response to a request from the user terminal 3, for example.
  • the autonomous behavior robot 1 ends the operation shown in the flowchart.
  • FIG. 4 is a flowchart illustrating another example of the operation of the robot control program in the embodiment.
  • the autonomous behavior type robot 1 generates spatial data (step S121).
  • the generation of the spatial data can be executed by the spatial data generation unit 13 by, for example, Hough transforming the point cloud data.
  • the autonomous behavior robot 1 determines whether or not the marker has been recognized (step S122). Whether or not the marker has been recognized can be determined by whether or not the marker recognizing unit 22 has recognized the marker image in the captured image captured by the imaging unit 21.
  • the robot 2 can notify the data providing apparatus 10 of the marker recognition result.
  • step S122 If it is determined that the marker has been recognized (step S122: YES), the autonomous behavior robot 1 sets a restriction range in which movement is restricted to the spatial data generated in step S121 (step S123).
  • the autonomous behavior robot 1 determines whether or not the state information is acquired (step S124). Whether or not the state information is acquired can be determined by whether or not the state information is acquired in the state information acquisition unit 24. When it is determined that the state information has been acquired (step S124: YES), the autonomous behavior robot 1 sets the acquired state information corresponding to the spatial data (step S125). The set state information is provided from the visualization data providing unit 161 in correspondence with the visualization data.
  • step S124 when it is determined that the state information has not been acquired (step S124: NO), after executing the process of step S123 or after executing the process of step S125, the autonomous behavior robot 1 performs the steps shown in the flowchart. The operation of providing provided data in S12 is terminated.
  • FIG. 5 is a diagram illustrating a method of setting an entry prohibition line in the embodiment.
  • the user installs the marker 2 on the side of the wall 1 near the passage in the passage between the wall 1 and the wall 3.
  • the marker 2 is recognized as a single marker by the marker recognition unit 22.
  • the limit range setting unit 231 checks whether or not there is a passage near the marker 2. When there is a passage, the restriction range setting unit 231 sets a straight line on the passage as the entry prohibition line 2 from the installation position of the marker 2 and the position of the passage. Since the restriction range setting unit 231 can confirm whether or not there is a passage in the vicinity of the marker 2, the user can prohibit the robot from entering the passage even with a single marker.
  • the user attaches the marker 3 to the wall 3.
  • the marker 3 is recognized as a single marker by the marker recognition unit 22.
  • the limit range setting unit 231 checks whether or not there is a passage near the marker 3. When there is no passage, the limited range setting unit 231 sets a predetermined range from the installation position of the marker 2 (for example, a semicircle centering on the installation position of the marker 3) as the first entry prohibition area.
  • the user installs the marker 4 in the center of the room.
  • the marker 4 is, for example, a three-dimensional marker.
  • the marker 4 is recognized as a single marker by the marker recognition unit 22.
  • the restriction range setting unit 231 sets a predetermined range around the marker 4 (for example, a circle centered on the installation position of the marker 4) as the second entry prohibition area.
  • FIGS. 6-7 is a figure which shows an example of the display of the user terminal 3 in embodiment.
  • 6 to 7 are display examples in which a Web page provided as visualization data from the visualization data providing unit 161 is displayed on a touch panel of a smartphone exemplified as the user terminal 3.
  • 2D display data generated by the visualization data generation unit 14 is displayed on the user terminal 3 based on the captured image of the living room captured by the robot 2.
  • the visualization data generation unit 14 rasterizes a line segment (straight line or curve) extracted by the Hough transform of the point cloud data, and draws a boundary line of a spatial element such as a wall or furniture in 2D.
  • the visualization data generation unit 14 displays the entry prohibition line 36 based on the pair of marker images recognized by the marker recognition unit 22 or the state information acquired by the state information acquisition unit 24.
  • the entry prohibition line 36 can be set by designating a start point and an end point. The start point and the end point can be set by setting a pair of markers or setting from the user terminal 3.
  • An entry prohibition mark is displayed at the center of the entry prohibition line 36.
  • a delete button 37 is displayed.
  • the delete button 37 is pressed, the entry prohibition line 36 once set can be deleted.
  • the house-shaped icon h shown in the figure represents the home position where the robot 2 returns for charging.
  • the area on the right side of the entry prohibition line 36 is an area for which no spatial data has been created.
  • the user can set, confirm, or delete the entry prohibition line 36 from the visualization data displayed on the user terminal 3. That is, the autonomous behavior type robot 1 can generate a visualized map that defines the range in which the robot 2 can move from the image captured by the imaging unit 21, and can enter the entry prohibited area where the robot 2 cannot enter the user terminal 3. It is possible to set from.
  • the user terminal 3 may be able to set conditions for restricting the movement of the robot 2.
  • the user terminal 3 allows the user to set the time zone during which the robot 2 is prohibited from entering, the details of movement restrictions on the presence / absence of a person, the lighting state when the movement is restricted, and the like. Also good.
  • the user terminal 3 sets conditions such that entry into the kitchen is prohibited in the morning and evening hours when a person prepares a meal, or entry into the study is prohibited when the light is off. You may be able to do it.
  • 2D visualization data generated by the visualization data generation unit 14 is displayed on the user terminal 3 based on the captured image of the living room captured by the robot 2 in the same manner as in FIG. 6.
  • the Western room visualization data is displayed on the right side of the entry prohibition line 36, and it can be confirmed by the entry prohibition line 36 that the robot 2 is prohibited from entering the western room 38.
  • the user can set the Western room 38 as an area where entry is prohibited by installing a marker for prohibiting the entry of a pair at the entrance of the Western room 38 or by setting the entry prohibition line 36 from the user terminal 3. It becomes possible. Since the Western room 38 has already generated spatial data, the user can confirm that the robot 2 can be moved to the western room 38 by deleting the entry prohibition line 36. Note that the user can enlarge or reduce the display by pinching in or out the touch panel of the user terminal 3.
  • the visualization data providing unit 161 in FIG. 1 may provide the user terminal 3 with the visualization data and the original image.
  • an image obtained by capturing a part of the floor plan displayed on the user terminal 3 may be displayed by the user. That is, an image used for specifying each spatial element is accumulated, and when the user designates a spatial element, an image associated with the spatial element is provided. Accordingly, when the user cannot determine the recognition state from the visualization data, the user can determine the recognition state using the image.
  • the user can slide the fingertip in the manner of drawing a circle with the fingertip on the touch panel screen of the user terminal 3. Specify by moving your fingertips around the restricted range. In conjunction with this operation, the fingertip trajectory is drawn on the screen, and the fingertip trajectory is visualized so as to be superimposed on the visualization data.
  • the marker may not be recognized depending on the shooting angle of the marker as described above.
  • the marker in the case of a road sign, it is installed so as to be substantially perpendicular to the traveling direction so that the driver can easily see the vehicle traveling.
  • a marker may be affixed to the wall in the path along which the robot 2 moves, and the marker may be overlooked depending on the shooting direction of the camera.
  • the marker 2 shown in FIG. 5 is affixed to the wall 1, if the robot 2 moves toward the marker 3 along the wall 3, there is a possibility of entering the passage before checking the marker. .
  • a space for example, a passage provided in a wall
  • a marker may be installed near the entrance of the space.
  • the robot 2 moves to a position where the marker which may be installed on the entrance wall of the passage is easy to visually recognize, for example, a position in front of the passage, and performs an active confirmation operation of photographing the wall, thereby overlooking the marker. Can be prevented.
  • the environmental conditions are, for example, the illuminance, temperature, humidity or noise level of the space in which the robot 2 moves, and changes in the environmental conditions may include changes in spatial elements such as wall colors.
  • the limited range setting unit 231 may set the limited range based on the surrounding feature points where the marker is installed, instead of the spatial data of the installation position where the marker is installed.
  • the peripheral feature points are, for example, spatial elements such as cables and steps arranged on the floor.
  • the content of movement restriction may be set differently for each robot.
  • the entry prohibition areas restricted by the robot may be set differently.
  • the robot may learn the contents of restrictions once set by the marker. For example, the robot may learn that the entry prohibition area has been set by the temporary marker, and then lower the entry frequency even after the marker is removed.
  • the marker recognizing unit 22 stores the positions of the temporary marker and the permanent marker in association with information specifying the marker type. In this way, by storing the position of the temporary marker, the robot acts to hesitate to enter the area where the temporary marker was installed, or to reduce the frequency of entering the area. Can be executed.
  • the marker is used to cause the autonomous behavior robot 1 to recognize the place where entry is prohibited.
  • the marker may be used to cause the autonomous behavior robot 1 to recognize an arbitrary location. That is, a marker may be installed at an arbitrary place in a residence or facility, and the autonomous behavior robot 1 may be made to recognize the position of the place where the marker is installed.
  • Housing includes any area such as the entrance, children's room and bedroom.
  • Facilities include any areas such as reception counters, rest areas and emergency exits.
  • a marker that can identify an area type (for example, an entrance type or a reception counter type described later) associated with these areas is used.
  • the marker may be any shape as long as it has a feature that allows the area type to be identified by image recognition, such as a shape, pattern, color, character or figure attached to the marker, or a combination thereof.
  • a graphic code obtained by converting an area type code into a graphic by a general conversion method such as a barcode method or a two-dimensional barcode method
  • the marker recognizing unit 22 can read the area type code from the graphic code by the conversion method.
  • the marker recognizing unit 22 specifies the type of the graphic when the shape of the graphic included in the captured image is a predetermined shape, and specifies the area type corresponding to the specified graphic type. May be. Assume that the data providing apparatus 10 or the robot 2 stores data that associates graphic types with area types. That is, the marker in the second embodiment can specify any area type.
  • the autonomous behavior robot 1 can recognize that the marker installation location corresponds to the area identified by the area type. For example, if an entrance type marker is installed at the entrance, the autonomous behavior type robot 1 can recognize that the entrance type marker is installed at the entrance.
  • the autonomous behavior robot 1 stores marker information that associates a predetermined event with an area type.
  • the robot 2 moves to a place where a marker of an area type corresponding to the predetermined event is installed (referred to as marker installation place).
  • a predetermined event that triggers the robot 2 to move to the marker installation location is referred to as a first event.
  • the first event may be detected by the robot 2 or may be detected by the data providing apparatus 10.
  • the robot 2 executes a predetermined action.
  • An event that triggers the robot 2 to execute a predetermined action is referred to as a second event.
  • the second event may be detected by the robot 2 or detected by the data providing apparatus 10.
  • the action to be executed corresponds to at least one of the first event, the area type, and the second event.
  • the autonomous behavior robot 1 stores event information that associates at least one of the first event, the area type, and the second event with an action.
  • the event information may be stored.
  • FIG. 8 is a block diagram illustrating an example of a module configuration of the robot 2 according to the second embodiment.
  • FIG. 8 also shows functional units related to Examples 1 to 6 described later.
  • the robot 2 includes functional units such as a marker recognition unit 22, a position measurement unit 25, a movement control unit 23, a communication control unit 26, a first event detection unit 210, a second event detection unit 220, and an action execution unit 230.
  • Each functional unit of the robot 2 according to the second embodiment will be described as a functional module realized by a program that controls the robot 2.
  • the marker recognizing unit 22 recognizes the marker included in the captured image and identifies the area type indicated by the marker.
  • the position measuring unit 25 measures the current position and direction of the robot 2.
  • the position measurement unit 25 may measure the current position and direction based on the captured image, or may measure the current position based on radio waves received from a wireless communication device installed at a predetermined position.
  • the method for measuring the current position may be a conventional technique.
  • the position measurement unit 25 may use SLAM (Simultaneous Localization and Mapping) technology that simultaneously estimates the self-location and creates an environment map.
  • the movement control unit 23 controls the movement of the robot 2.
  • the movement control unit 23 sets a route to the destination, drives the moving mechanism 29 to follow the route, and moves itself to the destination.
  • the communication control unit 26 communicates with the data providing apparatus 10.
  • the first event detection unit 210 detects the first event.
  • the first event detection unit 210 may detect the first event based on the result of recognition processing such as voice recognition or image recognition. That is, the first event detection unit 210 may detect the first event when it is determined that the sound input from the microphone included in the robot 2 includes a characteristic that is estimated to correspond to the predetermined sound.
  • the first event detection unit 210 records, for example, a predetermined sound as a sample in advance, analyzes the sound, and extracts characteristic data such as a frequency distribution, an inflection and a period in which the volume increases.
  • the first event detection unit 210 performs the same analysis on the sound input by the microphone, and when the feature data such as the frequency distribution, the inflection and the period in which the volume is increased matches or approximates the case of the sample, It may be estimated that the sound input with the microphone corresponds to the predetermined sound.
  • the first event detection unit 210 may detect the first event when it is estimated that an arbitrary person, a predetermined person, or a predetermined object is reflected in the image captured by the imaging unit 21.
  • the first event detection unit 210 captures, for example, an arbitrary person, a predetermined person, or a predetermined object as a sample in advance by the image capturing unit 21, analyzes the captured image, and analyzes the size, shape, and arrangement of parts of the subject.
  • the feature data is extracted.
  • the first event detection unit 210 analyzes the image captured by the imaging unit 21 and determines that the sample includes a subject whose feature data such as size, shape, and part arrangement is common or approximate.
  • the first event detection unit 210 may detect the first event based on measurement results of various sensors such as a temperature sensor, a contact sensor, or an acceleration sensor.
  • the first event detection unit 210 detects when the sensor measurement value falls below a predetermined lower limit, when the sensor measurement value falls within a predetermined range, when the sensor measurement value falls outside the predetermined range, or when the sensor The first event may be detected when the measured value exceeds a predetermined upper limit value.
  • the first event detector 210 may detect the first event when, for example, a temperature sensor measures a temperature corresponding to a human body temperature.
  • the first event detection unit 210 may detect the first event when, for example, a contact corresponding to a human touch is measured by a contact sensor.
  • the first event detection unit 210 may detect the first event when an acceleration sensor measures a change in acceleration corresponding to a large shake such as a traffic accident impact or an earthquake.
  • the first event detection unit 210 may detect the first event based on the communication state in the communication process.
  • the first event detection unit 210 indicates a communication state when a characteristic value indicating a communication state such as a radio wave intensity in wireless communication, a communication time with a predetermined communication partner, or a transmission amount per predetermined time is below a lower limit value.
  • the first event is detected when the characteristic value falls within a predetermined range, when the characteristic value indicating the communication state is out of the predetermined range, or when the characteristic value indicating the communication state exceeds a predetermined upper limit value. May be.
  • the first event detection unit 210 may detect the first event based on data received from the data providing device 10, the user terminal 3, or another external device.
  • the first event detection unit 210 may detect the first event when, for example, a predetermined notification is received from the data providing device 10 or another external device.
  • the first event detection unit 210 may detect the first event when a predetermined request from the user is received from the user terminal 3.
  • the voice recognition unit 211, the radio wave state detection unit 213, the tour event detection unit 215, and the wake-up event detection unit 217 are examples of the first event detection unit 210.
  • the voice recognition unit 211 will be described in a second embodiment (application example of babysitting).
  • the radio wave state detection unit 213 will be described in Example 4 (application example of call support).
  • the tour event detection unit 215 will be described in Example 5 (application example of security).
  • the wake-up event detection unit 217 will be described in Example 6 (an application example of an alarm clock).
  • the second event detection unit 220 detects the second event. Similarly to the case of the first event detection unit 210, the second event detection unit 220 may detect the second event based on the result of recognition processing such as voice recognition and image recognition. Similar to the case of the first event detection unit 210, the second event detection unit 220 may detect the second event based on measurement results of various sensors such as a temperature sensor, a contact sensor, or an acceleration sensor. Similar to the case of the first event detection unit 210, the second event detection unit 220 may detect the second event based on the communication state in the communication process. Similarly to the case of the first event detection unit 210, the second event detection unit 220 may detect a second event based on data received from the data providing device 10, the user terminal 3, or another external device. Good.
  • User recognition unit 221, call request reception unit 223, person recognition unit 225, and posture recognition unit 227 are examples of second event detection unit 220.
  • the user recognition unit 221 will be described in the first embodiment (application example of welcome).
  • the call request receiving unit 223 will be described in Example 4 (application example of call support).
  • the person recognition unit 225 will be described in Example 5 (an application example of security).
  • the body position recognizing unit 227 will be described in Example 6 (an application example of an alarm clock).
  • the action execution unit 230 executes an action triggered by the second event.
  • the action execution unit 230 may execute an action involving the movement of the robot 2 itself.
  • the action execution unit 230 may execute an action associated with input processing such as image, sound or communication in the robot 2.
  • the action execution unit 230 may execute an action accompanied by output processing such as image, sound, or communication in the robot 2.
  • the attitude control unit 231, the voice output unit 232, the remote control unit 233, the message output unit 235, and the telephone communication unit 237 are examples of the action execution unit 230.
  • the movement control unit 23 may function as the action execution unit 230.
  • the movement control unit 23 controls the movement mechanism 29 to perform an action related to the movement of the robot 2.
  • the posture control unit 231 performs an action related to the posture of the robot 2. If the robot 2 has a shape imitating a person or a virtual character and can move its neck and arm with an actuator, the posture control unit 231 drives the actuator to cause the robot 2 to take various poses. Or various gestures may be performed. If the robot 2 has a shape imitating a quadruped animal and each leg can be moved by an actuator provided at the joint, the posture control unit 231 drives the actuator to The user may be allowed to take a pose or perform various gestures.
  • the remote control unit 233 will be described in Example 2 (application example for babysitting) and Example 6 (application example for alarm).
  • the message output unit 235 will be described in Example 3 (application example of customer service).
  • the telephone communication unit 237 will be described in Example 4 (application example of call support).
  • FIG. 9 is a block diagram illustrating an example of a module configuration of the data providing apparatus 10 according to the second embodiment.
  • FIG. 9 also shows functional units related to Examples 1 to 6 described later.
  • the robot 2 includes functional units such as a first communication control unit 11, a second communication control unit 16, a marker registration unit 110, a first event detection unit 120, a second event detection unit 130, and an action selection unit 140.
  • Each functional unit of the data providing apparatus 10 according to the second embodiment will be described as a functional module realized by a program that controls the data providing apparatus 10.
  • the first communication control unit 11 controls wireless communication with the robot 2.
  • the second communication control unit 16 controls wireless communication or wired communication with the user terminal 3 and other external devices.
  • the marker registration unit 110 registers marker information including the marker position and orientation in a marker information storage unit 153 described later.
  • the first event detection unit 120 detects the first event.
  • the first event detection unit 120 may detect the first event based on the result of recognition processing such as voice recognition and image recognition, as in the case of the first event detection unit 210 of the robot 2.
  • the first event detection unit 120 detects the first event based on measurement results of various sensors such as a temperature sensor, a contact sensor, or an acceleration sensor of the robot 2. May be.
  • the first event detection unit 120 may detect the first event based on the communication state in the communication process, as in the case of the first event detection unit 210 of the robot 2.
  • the first event detection unit 120 may detect the first event based on data received from the user terminal 3 or another external device, as in the case of the first event detection unit 210 of the robot 2.
  • the first event detection unit 120 may detect the first event based on the data received from the robot 2.
  • the return home event detection unit 121 and the visitor event detection unit 123 are examples of the first event detection unit 120.
  • the return home event detection unit 121 will be described in Example 1 (application example of welcome).
  • the customer event detection unit 123 will be described in Example 3 (application example of customer service).
  • the second event detection unit 130 detects the second event. Similarly to the case of the first event detection unit 210 of the robot 2, the second event detection unit 130 may detect the second event based on the result of recognition processing such as voice recognition and image recognition. Similar to the case of the first event detection unit 210 of the robot 2, the second event detection unit 130 detects the second event based on the measurement results of various sensors such as the temperature sensor, contact sensor, or acceleration sensor of the robot 2. May be. The second event detection unit 130 may detect the second event based on the communication state in the communication process, as in the case of the first event detection unit 210 of the robot 2. Similarly to the case of the first event detection unit 210 of the robot 2, the second event detection unit 130 may detect the second event based on data received from the user terminal 3 or another external device. The second event detection unit 130 may detect the second event based on the data received from the robot 2.
  • the empty room event detection unit 131 is an example of the second event detection unit 130.
  • the vacant room event detection unit 131 will be described in Example 3 (application example of customer service).
  • the action selection unit 140 selects an action corresponding to at least one of the first event, the area type, and the second event. In the following, an example in which an action corresponding to a combination of the first event and the second event is mainly selected will be described.
  • the robot 2 further includes an event information storage unit 151 and a marker information storage unit 153.
  • the event information storage unit 151 stores event information including an area type corresponding to the first event, a second event, and an action.
  • the event information storage unit 151 will be described later with reference to FIG.
  • the marker information storage unit 153 stores marker information that associates an area type with a marker position and orientation.
  • the marker information storage unit 153 will be described later with reference to FIG.
  • FIG. 10 is a block diagram illustrating an example of a data configuration of the event information storage unit 151 according to the second embodiment.
  • Each record in FIG. 10 defines that when the first event is detected, the robot 2 moves to the place where the marker of the area type corresponding to the first event is installed. Further, each record in FIG. 10 defines that the robot 2 executes an action corresponding to, for example, a combination of the first event and the second event when the second event is detected. Details of each record will be described in the first to sixth embodiments.
  • the event information may be set as a default, or may be set by a user using an application of the user terminal 3.
  • FIG. 11 is a block diagram illustrating an example of a data configuration of the marker information storage unit 153 according to the second embodiment.
  • the position and orientation of the marker of the area type are set in association with the area type.
  • the user pastes in advance an area type marker for identifying an area near the position at an arbitrary position of a house or facility.
  • the data providing apparatus 10 registers the marker information.
  • FIG. 12A is a flowchart showing a processing procedure in the marker registration phase of the second embodiment.
  • an unknown marker may be detected when the robot 2 is moving autonomously (S21).
  • the marker recognition unit 22 of the robot 2 recognizes the marker included in the image captured by the imaging unit 21 and identifies the area type indicated by the marker.
  • the marker recognition unit 22 stores a marker that has been detected in the past, and can determine an undetected marker by comparing the stored marker with the detected marker.
  • the marker recognizing unit 22 determines that an undetected marker has been recognized, the marker recognizing unit 22 identifies the relative positional relationship and direction between the robot 2 and the marker by image recognition. The marker recognizing unit 22 obtains the distance between the robot 2 and the marker based on the size of the marker included in the captured image. The marker recognizing unit 22 determines the orientation of the marker with respect to the robot 2 based on how the marker included in the captured image is distorted. Then, the marker recognizing unit 22 obtains the marker position and orientation based on the current position and direction of the robot 2 measured by the position measuring unit 25. The communication control unit 26 transmits marker information including the area type and the position and orientation of the marker of the area type to the data providing apparatus 10.
  • the marker registration unit 110 registers the position and orientation of the marker of the area type in the marker information storage unit 153 in association with the area type (Step S1). S22).
  • the robot 2 moves to the marker installation location triggered by the first event, and the robot 2 performs a predetermined action triggered by the second event.
  • FIG. 12B is a flowchart showing a processing procedure in the action phase of the second embodiment.
  • the action selection unit 140 of the data providing device 10 displays a mark corresponding to the first event.
  • the type is specified, and the robot 2 is instructed to move to the mark type mark position.
  • the movement control unit 23 of the robot 2 sets the path to the mark position according to the movement instruction and controls the movement mechanism 29.
  • the robot 2 moves to the vicinity of the mark by the operation of the moving mechanism 29 (S24).
  • the action selection unit 140 of the data providing device 10 may, for example, combine the first event and the second event. The action corresponding to is selected, and the selected action is instructed to the robot 2. Then, the robot 2 executes the instructed action (S26). Examples 1 to 6 relating to the second embodiment will be described below.
  • Example 1 An application example of the welcome by the autonomous behavior robot 1 will be described.
  • the robot 2 goes to the entrance and greets the user. If an area type marker that identifies the entrance as an area is installed at the entrance, the autonomous behavior robot 1 can recognize that the installation location of the marker is the entrance.
  • the area type that identifies the entrance is called the entrance type.
  • the timing when the user returns home can be determined by the fact that the position measured by the GPS device (Global Positioning System) of the user terminal 3 held by the user approaches the home. For example, when the distance between the position of the user terminal 3 and the entrance (or the data providing device 10) is shorter than the reference length, it is determined that it is time for the user to go home.
  • An event for determining the timing when the user returns home is called a user return event. That is, the user return home event corresponds to the first event in the application example of the welcome.
  • the robot 2 arriving at the entrance recognizes the user by the image taken by the photographing unit 21, it performs an action that reacts to the user's return home.
  • An event in which the robot 2 recognizes a user is called a user recognition event.
  • An action that reacts to the user's return home is called a welcome action.
  • the user recognition event is an opportunity to perform a welcome action.
  • the user recognition event corresponds to the second event in the application example of the greeting.
  • the voice output unit 232 outputs a voice from a speaker included in the robot 2.
  • the voice to be output may be a natural language such as “return” or a non-language such as a cheer.
  • the movement control unit 23 may control the moving mechanism 29 as a welcome action to perform an action of moving the robot 2 back and forth in small increments or rotating it. If the robot 2 has a shape imitating a person or a virtual character and can move the arm with an actuator, the posture control unit 231 may drive the actuator to raise and lower the arm. If the robot 2 can move the neck with an actuator, the posture control unit 231 may swing the head by driving the actuator.
  • the posture control unit 231 will stand up with only the rear foot as a welcome action. You may be allowed to take Thereby, it can produce that the robot 2 is pleased of a user's return home. The user becomes familiar with the robot 2 waiting for him and deepens his attachment.
  • the home return event detection unit 121 of the data providing apparatus 10 shown in FIG. 9 detects a user home return event when it is determined that the user has approached home based on the location information of the user terminal 3 as described above.
  • the return home event detection unit 121 may detect a return home event when receiving a notification from the user terminal 3 that indicates that the user terminal 3 has communicated with a beacon transmitter installed at the entrance.
  • the return home event detection unit 121 may detect a return home event when the user is recognized based on an image captured by an interphone with a camera or an input voice. Further, the return home event detection unit 121 may detect a return home event when a home return notice mail is received from the user terminal 3.
  • the user recognition unit 221 of the robot 2 shown in FIG. 8 detects a user by, for example, recognizing a face part included in a captured image or recognizing an input voice.
  • the user recognizing unit 221 takes a user's face as a sample in advance by the photographing unit 21, analyzes the photographed image, and arranges the size, shape, and parts (parts such as eyes, nose and mouth). Extract feature data.
  • the person recognition unit 225 analyzes the image captured by the imaging unit 21 and determines that a subject whose feature data such as the size, shape, and part arrangement is common or approximate to the sample is included. It may be estimated that the user's face is reflected in the captured image.
  • the user recognition unit 221 records, for example, a user's voice as a sample in advance, analyzes the user's voice, and extracts characteristic data such as frequency distribution and intonation. Then, the user recognition unit 221 performs the same analysis on the sound input by the microphone, and when the feature data such as the frequency distribution and the inflection is the same as or approximates the case of the user voice sample, It may be inferred that the sound input in step 1 corresponds to the voice of the user.
  • the first record in the data structure of the event information storage unit 151 shown in FIG. 10 is provided with a marker whose area type is the entrance type when a user return event is detected as the first event for the application example of the greeting. It is determined that the robot 2 moves to the place where it is placed (that is, the entrance). The first record further defines that the robot 2 performs a welcome action when a user recognition event is detected as the second event.
  • a marker whose area type is the entrance type is called an entrance marker.
  • the position and orientation of the entrance marker are set in association with the entrance type of the area type with respect to the application example of the greeting.
  • FIG. 13A is a flowchart illustrating a processing procedure in the marker registration phase of the first embodiment.
  • the communication control unit 26 includes the entrance type including the area type entrance type and the location and orientation of the entrance marker. Information is transmitted to the data providing apparatus 10.
  • the marker registration unit 110 registers the position and orientation of the entrance marker in the marker information storage unit 153 in association with the area type entrance type ( Step S32).
  • FIG. 13B is a flowchart illustrating a processing procedure in the action phase of the first embodiment.
  • the home return event detection unit 121 of the data providing apparatus 10 detects the user home return event (step S33)
  • the event information storage unit 151 is referred to and the entrance type of the area type corresponding to the user home return event is specified.
  • the return home event detection unit 121 further refers to the marker information storage unit 153 to identify the position and orientation of the entrance marker corresponding to the entrance type of the area type.
  • the first communication control unit 11 transmits a movement instruction to the entrance including the position and orientation of the entrance marker to the robot 2.
  • the return home event detection unit 121 notifies the action selection unit 140 of the user return home event.
  • the movement control unit 23 of the robot 2 controls the moving mechanism 29, and the robot 2 moves to the entrance (step). S34).
  • the robot 2 stays at least for the first predetermined time before the position of the entrance marker.
  • the first predetermined time corresponds to an upper limit value of an assumed interval from when a user return event is detected until a user recognition event is detected. If the user recognition event is not detected when the first predetermined time has elapsed, the processing in the action phase of the first embodiment may be interrupted.
  • the robot 2 recognizes the user. Specifically, the user recognition unit 221 detects a user recognition event by recognizing a user's face included in an image captured by the image capturing unit 21 or by recognizing sound input with a microphone ( Step S35). When the user recognition unit 221 of the robot 2 detects a user recognition event, the communication control unit 26 transmits the user recognition event to the data providing apparatus 10.
  • the action selection unit 140 refers to the event information storage unit 151 and determines the first event corresponding to the user recognition event of the second event. Identify user return events.
  • the action selection unit 140 refers to the event information storage unit 151 and selects a welcome action corresponding to the combination of the user return event of the first event and the user recognition event of the second event.
  • the first communication control unit 11 transmits an instruction of the selected greeting action to the robot 2.
  • the action execution unit 230 of the robot 2 executes the welcome action (step S36).
  • Example 2 An application example of lullaby by the autonomous behavior robot 1 will be described.
  • the robot 2 when an infant starts crying in a children's room, the robot 2 goes to the children's room and takes care of the infant. If an area type marker for identifying a child room as an area is installed in the child room, the autonomous behavior robot 1 can recognize that the marker is installed in the child room.
  • An area type for identifying a child room is called a child room type.
  • the robot 2 moves to the child room and produces a state of worrying about the infant.
  • the infant's cry is detected by analyzing the sound input to the microphone of the robot 2. That is, the detection of the infant cry corresponds to the first event in the application example of babysitting. This event is called an infant crying event.
  • the robot 2 behaves like an infant.
  • the behavior that nurtures an infant is called Ayashi Action.
  • the absence of an adult is detected by recognizing an image photographed by the photographing unit 21.
  • the detection of the absence of an adult corresponds to the second event in the application example of babysitting. This event is called an adult absence event.
  • the Ayashi action for example, a sound (for example, a crushing voice, a laughing voice, and a sound that makes a paper bag rustle) effective to stop the crying of the infant is output from a speaker provided in the robot 2.
  • the Ayashi action may be a behavior that moves the components of the robot 2 such as the robot 2 tilting its head or raising or lowering its arm, or it is an image that is effective for preventing infants from crying.
  • An action such as displaying a predetermined image on the display may be used.
  • the shadow action may be a remote control for controlling a device different from the robot 2, such as activating a television nearby or causing the audio device to output music. If the robot 2 calms the toddler by the action, the parent user is relieved.
  • the voice recognition unit 211 of the robot 2 shown in FIG. 8 detects an infant cry event when the sound input to the microphone is determined to be an infant cry. For example, the voice recognition unit 211 records an infant cry as a sample in advance, analyzes the infant cry, and extracts feature data such as a frequency distribution and a period in which the volume increases. Then, the voice recognition unit 211 performs the same analysis on the sound input to the microphone, and when the feature data such as the frequency distribution and the period when the volume increases matches or approximates the case of the infant cry sample, You may guess that the sound input into the microphone corresponds to the infant cry.
  • the human recognition unit 225 of the robot 2 shown in FIG. 8 recognizes that an adult is not shown in the image captured by the imaging unit 21, the human absence event is detected.
  • the human recognizing unit 225 for example, previously captures a plurality of adult videos having different genders and body shapes as samples, and analyzes the captured images to extract feature data such as size and shape. Then, when the person recognition unit 225 analyzes the image captured by the capturing unit 21 and determines that a subject whose feature data such as size and shape is the same as or similar to that of the sample is included, an adult is included in the captured image. You may guess that it is reflected.
  • the remote control unit 233 of the robot 2 shown in FIG. 8 transmits a remote control wireless signal to control a device different from the robot 2 such as starting a nearby television or outputting music to an audio device. Perform remote control.
  • the second record in the data structure of the event information storage unit 151 shown in FIG. 10 is provided with a marker whose area type is a child room type when an infant crying event is detected as the first event for the application example of babysitting. It is determined that the robot 2 moves to a place where it is placed (that is, a child room). The second record further defines that the robot 2 performs a masquerade action when an adult absence event is detected as the second event.
  • a marker whose area type is a child room type is called a child room marker.
  • the position and orientation of the child room marker are set in association with the child room type of the area type with respect to the application example of babysitting.
  • FIG. 14A is a flowchart illustrating a processing procedure in the marker registration phase of the second embodiment. For example, if the marker recognizing unit 22 detects a child room marker while the robot 2 is moving autonomously (step S41), the communication control unit 26 determines the position and orientation of the child room type of the area type and the child room marker. The child room marker information is transmitted to the data providing apparatus 10.
  • the marker registration unit 110 registers the position and orientation of the entrance marker in the marker information storage unit 153 in association with the entrance type of the area type. (Step S42).
  • FIG. 14B is a flowchart illustrating a processing procedure in the action phase of the second embodiment.
  • the voice recognition unit 211 of the robot 2 detects an infant crying event (step S43)
  • the communication control unit 26 notifies the data providing apparatus 10 of the infant crying event.
  • the action selection unit 140 refers to the event information storage unit 151 and the area type child room associated with the infant crying event Identify the type.
  • the action selection unit 140 further refers to the marker information storage unit 153 to specify the position and orientation of the child room marker corresponding to the child room type of the area type.
  • the first communication control unit 11 transmits to the robot 2 an instruction to move to the child room including the position and orientation of the child room marker.
  • the movement control unit 23 controls the moving mechanism 29 and the robot 2 moves to the child room (step). S44).
  • the robot 2 stays at least for a second predetermined time before the position of the child room marker.
  • the second predetermined time corresponds to an upper limit value of an assumed time required for the robot 2 to recognize the absence of an adult after entering the child room. If the adult absence event is not detected when the second predetermined time has elapsed, the processing in the action phase of the second embodiment may be interrupted.
  • step S45 When the person recognition unit 225 detects an adult absence event (step S45), the communication control unit 26 transmits the adult absence event to the data providing apparatus 10.
  • the action selection unit 140 refers to the event information storage unit 151 and the infant cry of the first event corresponding to the adult absence event of the second event. Identify the event.
  • the action selection unit 140 refers to the event information storage unit 151, and selects a beating action corresponding to the combination of the infant cry event of the first event and the adult absence event of the second event.
  • the first communication control unit 11 transmits an instruction of the selected remedy action to the robot 2.
  • step S46 When the communication control unit 26 of the robot 2 receives the instruction for the mist action, the action execution unit 230 of the robot 2 executes the mist action (step S46).
  • Example 3 An application example of customer service by the autonomous behavior type robot 1 will be described.
  • customer service for example, a store that provides a food service in a guest room is assumed.
  • the robot 2 goes to the reception counter and guides it to the guest room. If an area type marker for identifying a reception counter as an area is installed in the reception counter, the autonomous behavior robot 1 can recognize that the marker is installed at the reception counter.
  • An area type for identifying a reception counter is called a reception counter type.
  • the robot 2 moves to the reception counter and directs the customer.
  • a visitor is detected when the customer who enters a shop is reflected in the image image
  • the robot 2 behaves to guide the customer to the vacant room.
  • the behavior of guiding customers to vacant rooms is called guidance action.
  • Vacant room information is obtained from a guest room management system (not shown).
  • the detection of a vacant room corresponds to the second event in the application example of customer service. This event is called a vacant room event.
  • the robot 2 leads the customer to an empty room.
  • the message output unit 235 may output a guidance message “Please enter room ⁇ ” or may be displayed on a display device included in the robot 2.
  • the customer feels a taste that is not in human service.
  • the visitor event detection unit 123 of the data providing apparatus 10 shown in FIG. 9 detects a visitor event when, for example, a customer entering the store is recognized from an image taken by a camera provided at the entrance of the store.
  • the vacant room event detection unit 131 of the data providing apparatus 10 shown in FIG. 9 inquires of the guest room status to a guest room management system (not shown) and detects a vacant room event if there is a vacant guest room.
  • the movement control unit 23 of the robot 2 shown in FIG. 8 drives the movement mechanism 29 so as to move slowly to the cabin.
  • the robot 2 may control the speed of movement so as to keep the distance from the customer constant while measuring the time between the customer and the customer photographed by the photographing unit 21 of the robot 2.
  • the message output unit 235 of the data providing apparatus 10 shown in FIG. 9 outputs a guidance message “Please enter room No.” as a voice, or displays it on the display device of the robot 2. A guidance message is output at.
  • the third record in the data structure of the event information storage unit 151 shown in FIG. 10 is provided with a marker whose area type is a reception counter type when a visitor event is detected as the first event for the customer service application example. It is determined that the robot 2 moves to a place where it is located (that is, a reception counter). The third record further defines that the robot 2 performs a guidance action when an empty room event is detected as the second event.
  • a marker whose area type is a reception counter type is called a reception counter marker.
  • the position and orientation of the reception counter marker are set in association with the reception counter type of the area type for the application example of customer service.
  • FIG. 15A is a flowchart illustrating a processing procedure in the marker registration phase of the third embodiment. For example, if the marker recognition unit 22 detects the reception counter marker while the robot 2 is moving autonomously (step S51), the communication control unit 26 determines the area type reception counter type and the position and orientation of the reception counter marker. Is received to the data providing apparatus 10.
  • the marker registration unit 110 associates the position and orientation of the reception counter marker with the marker information storage unit 153 in association with the reception counter type of the area type. Register (step S52).
  • FIG. 15B is a flowchart illustrating a processing procedure in the action phase of the third embodiment.
  • the visitor event detection unit 123 of the data providing apparatus 10 detects a visitor event (step S53)
  • the event information storage unit 151 is referred to and the reception counter type of the area type associated with the visitor event is specified.
  • the visitor event detection unit 123 further refers to the marker information storage unit 153 to identify the position and orientation of the reception counter marker corresponding to the area type reception counter type.
  • the first communication control unit 11 transmits to the robot 2 an instruction to move to the reception counter including the position and orientation of the reception counter marker. At this time, the visitor event detection unit 123 notifies the action selection unit 140 of the visitor event.
  • the movement control unit 23 controls the moving mechanism 29, and the robot 2 moves to the reception counter (step). S54).
  • the robot 2 stays at least for a third predetermined time before the position of the reception counter marker.
  • the third predetermined time corresponds to the upper limit value of the switching time until the store clerk responds to the customer instead of the robot 2. If a vacant room event is not detected when the third predetermined time has elapsed, the processing in the action phase of the third embodiment may be interrupted.
  • the action selecting unit 140 refers to the event information storage unit 151 and visits the first event corresponding to the vacant room event of the second event. Identify the event.
  • the action selection unit 140 refers to the event information storage unit 151 and selects the customer service action corresponding to the combination of the visitor event of the first event and the empty room event of the second event.
  • the first communication control unit 11 transmits an instruction of the selected customer service action to the robot 2.
  • the action execution unit 230 of the robot 2 executes the customer service action (step S56).
  • Example 4 An application example of call support by the autonomous behavior robot 1 will be described.
  • the robot 2 has a telephone function.
  • there are places where the radio wave used for the telephone function is easy to reach and places where the robot 2 is located are difficult to reach.
  • the robot 2 moves from a place where the radio wave condition is poor to a place where the radio wave condition is good (hereinafter referred to as a place where the radio wave is good), and starts a call in response to a call request.
  • a place where the radio wave is good a place where the radio wave is good
  • an area type marker for identifying a place with good radio wave is installed as an area in a place with good radio wave
  • the autonomous behavior type robot 1 can recognize that the marker is placed in a place with good radio wave.
  • An area type for identifying a place with good radio wave is called a radio wave good type.
  • radio wave deterioration event when the radio wave condition deteriorates, the robot 2 moves to a place where the radio wave is good so that wireless communication is not hindered. That is, detection of radio wave deterioration corresponds to the first event in the application example of call support. This event is called a radio wave deterioration event.
  • Robot 2 starts a call when it receives a call request from a user.
  • the processing operation for starting a call is called a call start action.
  • the reception of a call request is detected by a recognition process such as recognizing a voice such as “Please make a call” or recognizing a gesture or pose for making a call from a photographed image.
  • the reception of the call request corresponds to the second event in the application example of the call support. This event is called a call request event.
  • the radio wave state detection unit 213 of the robot 2 shown in FIG. 8 monitors the radio wave state of wireless communication used in the telephone function, and detects a radio wave deterioration event when the intensity of the radio wave is below an acceptable standard.
  • the call request reception unit 223 of the robot 2 shown in FIG. 8 recognizes the utterance of “Please call me” or recognizes a gesture or pose for making a call based on a photographed image. Accept a call request from.
  • the call request receiving unit 223 may specify a telephone number or a call partner by voice recognition.
  • the telephone communication unit 237 of the robot 2 illustrated in FIG. 8 controls telephone communication and performs call processing.
  • a marker whose area type is a radio wave good type is displayed. It is defined that the robot 2 moves to a place where it is installed (that is, a place where radio waves are good).
  • the fourth record further defines that the robot 2 starts a call when a call request event is detected as the second event.
  • a marker whose area type is a good radio wave type is called a good radio wave marker.
  • the position and orientation of the radio wave good marker are set in association with the radio wave good type of the area type for the application example of call support.
  • FIG. 16A is a flowchart illustrating a processing procedure in the marker registration phase of the fourth embodiment.
  • the communication control unit 26 determines the position and direction of the good radio wave type of the area type and the good radio wave marker.
  • the included radio wave good marker information is transmitted to the data providing apparatus 10.
  • the marker registration unit 110 associates the position and direction of the radio wave good marker with the marker information storage unit 153 in association with the area type radio wave good type. Registration is performed (step S62).
  • FIG. 16B is a flowchart illustrating a processing procedure in the action phase of the fourth embodiment.
  • the radio wave state detection unit 213 of the robot 2 detects a radio wave deterioration event (step S63)
  • the communication control unit 26 notifies the data providing device 10 of the radio wave deterioration event.
  • the action selection unit 140 refers to the event information storage unit 151 and the radio wave condition of the area type associated with the radio wave deterioration event is good. Identify the type.
  • the action selection unit 140 further refers to the marker information storage unit 153 to identify the position and orientation of the radio wave good marker corresponding to the area type radio wave good type.
  • the first communication control unit 11 transmits to the robot 2 an instruction to move to a place with good radio wave including the position and orientation of the radio wave good marker.
  • the movement control unit 23 controls the movement mechanism 29 and the robot 2 moves to a place with good radio wave.
  • the robot 2 stays at least for a fourth predetermined time before the position of the radio wave good marker.
  • the fourth predetermined time corresponds to an upper limit length of a period during which it is assumed that the user is requested to talk. If the call request event is not detected when the fourth predetermined time has elapsed, the processing in the action phase of the fourth embodiment may be interrupted.
  • step S65 When the call request receiving unit 223 detects a call request event (step S65), the communication control unit 26 transmits the call request event to the data providing device 10.
  • the action selection unit 140 refers to the event information storage unit 151 and selects a call start action corresponding to the call request event of the second event. .
  • the first communication control unit 11 transmits an instruction of the selected call start action to the robot 2. Therefore, the call start action is transmitted regardless of whether or not the radio wave deterioration event has been previously notified.
  • the telephone communication 237 of the robot 2 executes the call start action (step S66).
  • the telephone communication unit 237 makes a call and enters a call state, a signal obtained by converting the input voice of the microphone included in the robot 2 is transmitted, and the other party voice converted from the received signal is output from the microphone.
  • Example 5 An application example of security by the autonomous behavior robot 1 will be described.
  • the robot 2 looks around assuming that the safe vandalism is warned in a residence or facility where the safe is placed. If an area type marker for identifying a safe storage area is installed in the safe storage area, the autonomous behavior robot 1 can recognize that the marker is installed in the safe storage area.
  • the area type for identifying the safe storage area is called a safe type.
  • the robot 2 instructed to look around behaves like moving to the vicinity of the safe and grasping the situation.
  • the reception of the look-in instruction may be performed by recognition processing such as recognition of a voice such as “Visit to the safe” or recognition of a predetermined pose or gesture from the photographed image.
  • the data providing apparatus 10 may receive a watch instruction from the application of the user terminal 3 and transfer it to the robot 2 so that the robot 2 receives the watch instruction.
  • the data providing apparatus 10 may automatically send a look-in instruction to the robot 2 and the robot 2 may receive the watch instruction.
  • a look around instruction to the robot 2 corresponds to the first event. This event is called a tour event.
  • the robot 2 executes a warning action. That is, in the security application example, the recognition of the person near the safe corresponds to the second event. This event is called a human recognition event. Assume that people near the safe may be suspicious.
  • the communication control unit 26 transmits the video (moving image or still image) captured by the imaging unit 21 to the data providing apparatus 10. Regarding this processing, the communication control unit 26 is an example of the action execution unit 230.
  • the data providing apparatus 10 may record the received video as evidence. Further, the data providing apparatus 10 may transmit data to the application of the user terminal 3 by transmitting a warning message to the application of the user terminal 3 or transferring a video received from the robot 2. .
  • the voice output unit 232 of the robot 2 may emit a warning sound.
  • the roundabout event detection unit 215 of the robot 2 shown in FIG. 8 detects the roundabout event when the roundabout instruction is received in the above recognition process or when the roundabout instruction is received from the data providing apparatus 10.
  • the person recognition unit 225 of the robot 2 illustrated in FIG. 8 recognizes the appearance of a person included in the captured image. The presence of a person may be recognized by voice recognition of the person's speaking voice. The person recognizing unit 225 may determine that the voice is a human voice when a frequency corresponding to a standard human voice is extracted from the sound input to the microphone.
  • the fifth record in the data structure of the event information storage unit 151 shown in FIG. 10 includes a marker whose area type is a safe type when a roundabout event is detected as the first event in the security application example. It is determined that the robot 2 moves to a certain place (that is, a safe storage area). The fifth record further defines that the robot 2 performs a warning action when a human recognition event is detected as the second event.
  • a marker whose area type is a safe type is called a safe marker.
  • the position and orientation of the safe marker are set in association with the safe type of the area type regarding the security application example.
  • FIG. 17A is a flowchart illustrating a processing procedure in the marker registration phase of the fifth embodiment.
  • the marker recognizing unit 22 detects a safe marker when the robot 2 is moving autonomously (step S71)
  • the communication control unit 26 includes a safe marker including the area type safe type and the position and orientation of the safe marker. Information is transmitted to the data providing apparatus 10.
  • the marker registration unit 110 registers the position and orientation of the safe marker in the marker information storage unit 153 in association with the safe type of the area type ( Step S72).
  • FIG. 17B is a flowchart illustrating a processing procedure in the action phase of the fifth embodiment.
  • the action selection unit 140 refers to the event information storage unit 151 and specifies the safe type of the area type associated with the tour event. To do.
  • the action selection unit 140 further refers to the marker information storage unit 153 to specify the position and orientation of the safe marker corresponding to the safe type of area type.
  • the first communication control unit 11 transmits to the robot 2 an instruction to move to the safe storage area including the position and orientation of the safe marker.
  • the movement control unit 23 controls the moving mechanism 29 and the robot 2 moves to the vicinity of the safe (step S74). ).
  • the robot 2 stays at least for a fifth predetermined time before the position of the safe marker.
  • the fifth predetermined time corresponds to an upper limit value of an assumed time required for the robot 2 to move to the vicinity of the safe and recognize a person. If a human recognition event is not detected when the fifth predetermined time has elapsed, the processing in the action phase of the fifth embodiment may be interrupted.
  • step S75 the communication control unit 26 transmits the human recognition event to the data providing apparatus 10.
  • the action selection unit 140 refers to the event information storage unit 151 and looks around the first event corresponding to the person recognition event of the second event. Is identified.
  • the action selection unit 140 refers to the event information storage unit 151 and selects a warning action corresponding to the combination of the tour event of the first event and the human recognition event of the second event.
  • the first communication control unit 11 transmits an instruction of the selected alert action to the robot 2.
  • the action execution unit 230 of the robot 2 executes the warning action (step S76).
  • Example 6 An application example of alarming by the autonomous behavior type robot 1 will be described. For example, the robot 2 wakes up a user sleeping in the bedroom in the morning. If an area type marker for identifying a bedroom as an area is installed in the bedroom, the autonomous behavior robot 1 can recognize that the marker is installed in the bedroom. An area type for identifying a bedroom is called a bedroom type.
  • the robot 2 moves to the bedroom and performs an alarm action at the timing when the user wakes up.
  • the timing to wake up the user is determined by, for example, a scheduled wake-up time.
  • the user is woken up by recognition processing such as recognition of voices such as “Please wake up dad (user)” issued by the user's family and recognition of a predetermined pose or gesture from the captured image.
  • Timing may be determined. That is, the determination of the timing to wake up the user corresponds to the first event in the application example of the alarm clock. This event is called a wake-up event.
  • the robot 2 When the robot 2 recognizes that the user is lying down on the bed in the bedroom (roaring position), the robot 2 performs an alarm action. When the user is not lying down, such as when there is no user on the bed or when the user has already woken up, the robot 2 does not execute the alarm action. That is, detecting the user lying on the bed in the application example of the alarm clock corresponds to the second event. This event is called a user position event.
  • the audio output unit 232 outputs an audio such as an alarm sound or a call from a speaker.
  • the remote control unit 233 may cause the external device to output sound, such as activating a television or outputting music to the audio device.
  • the remote control unit 233 may turn on the lighting device.
  • the movement control unit 23 may control the moving mechanism 29 so that the robot 2 moves violently around the bed.
  • the wake-up event detection unit 217 of the robot 2 shown in FIG. 8 detects the wake-up event at the scheduled wake-up time as described above or by the above-described recognition processing.
  • the posture recognition unit 227 of the robot 2 shown in FIG. 8 recognizes the posture of a person sleeping on a bed in a bedroom (actually, it is regarded as a user).
  • the body position recognition unit 227 detects a user position event if the person sleeping on the bed is in the supine position.
  • the body position recognizing unit 227 takes a sample of a supine user as a sample in advance by the photographing unit 21, analyzes the photographed image, and analyzes the size, shape, and parts (head, hand, Feature data such as the arrangement of parts such as feet is extracted in advance.
  • the body position recognizing unit 227 analyzes the image photographed by the photographing unit 21, and when it is determined that a subject whose feature data such as size, shape, and part arrangement is common or approximate to the sample is included. It may be determined that the recumbent user is reflected in the captured image.
  • the sixth record in the data configuration of the event information storage unit 151 illustrated in FIG. 10 includes a marker whose area type is a bedroom type when a wake-up event is detected as the first event in the application example of the alarm clock. It is determined that the robot 2 moves to a certain place (that is, a bedroom). The sixth record further defines that the robot 2 performs a wake-up action when a user depression event is detected as the second event.
  • a marker that is a bedroom type is called a bedroom marker.
  • the position and orientation of the bedroom marker are set in association with the bedroom type of the area type for the application example of the alarm.
  • FIG. 18A is a flowchart illustrating a processing procedure in the marker registration phase of the sixth embodiment.
  • the communication control unit 26 includes the bedroom type including the bedroom type of the area type and the position and orientation of the bedroom marker. Information is transmitted to the data providing apparatus 10.
  • the marker registration unit 110 registers the position and orientation of the bedroom marker in the marker information storage unit 153 in association with the bedroom type of the area type ( Step S82).
  • FIG. 18B is a flowchart illustrating a processing procedure in the action phase of the sixth embodiment.
  • the action selection unit 140 refers to the event information storage unit 151 and identifies the bedroom type of the area type associated with the wake-up event. To do.
  • the action selection unit 140 further refers to the marker information storage unit 153 to specify the position and orientation of the bedroom marker corresponding to the bedroom type of the area type.
  • the first communication control unit 11 transmits an instruction to move to the bedroom including the position and orientation of the bedroom marker to the robot 2.
  • the movement control unit 23 controls the moving mechanism 29, and the robot 2 moves to the bedroom (step S84).
  • the robot 2 stays at least for a sixth predetermined time before the position of the bedroom marker.
  • the sixth predetermined time corresponds to an upper limit value of an assumed time required for the robot 2 to enter the bedroom and detect a user depression event. If a user depression event is not detected when the sixth predetermined time has elapsed, the processing in the action phase of the sixth embodiment may be interrupted.
  • step S85 the communication control unit 26 transmits the user position event to the data providing apparatus 10.
  • the action selection unit 140 refers to the event information storage unit 151 and corresponds to the first event corresponding to the user position event. Identify wake-up events.
  • the action selection unit 140 refers to the event information storage unit 151 and selects a wake-up action corresponding to the combination of the wake-up event of the first event and the user depression event of the second event.
  • the first communication control unit 11 transmits an instruction of the selected alarm action to the robot 2.
  • the action execution unit 230 of the robot 2 executes the alarm action (step S86).
  • the processing described as being performed by the first event detection unit 210 of the robot 2 may be performed by the first event detection unit 120 of the data providing apparatus 10.
  • the processing described as being performed by the second event detection unit 220 of the robot 2 may be performed by the second event detection unit 130 of the data providing apparatus 10.
  • the processing described as being performed by the first event detection unit 120 of the data providing apparatus 10 may be performed by the first event detection unit 210 of the robot 2.
  • the processing described as being performed by the second event detection unit 130 of the data providing apparatus 10 may be performed by the second event detection unit 220 of the robot 2.
  • the robot 2 is moved to a predetermined location at a predetermined timing, and a predetermined action is executed when a predetermined condition is satisfied. It is convenient that such a series of operations can be easily realized by installing the marker at a predetermined place.
  • the robot 2 may execute an action instructed by the marker.
  • a marker in which an action identifier is made into a graphic is used.
  • a graphic code obtained by converting an action identifier into a graphic by a general conversion method such as a barcode method or a two-dimensional barcode method
  • the marker recognizing unit 22 can read the action identifier from the graphic code by the conversion method. Or you may use the figure designed uniquely as a marker.
  • the marker recognizing unit 22 specifies the type of the graphic when the shape of the graphic included in the captured image is a predetermined shape, and specifies the identifier of the action corresponding to the specified graphic type. It may be. It is assumed that the marker recognizing unit 22 stores data that associates graphic types with action identifiers. That is, the marker in the third embodiment can specify an identifier of any action.
  • the robot 2 does not enter the child room when it recognizes the marker in front of the child room. Immediately move to the living room.
  • the action indicated by the marker may be a search for another predetermined marker. If the action indicated by the marker A is a search for the marker B, the robot 2 searches for the marker B when the marker A is recognized and starts moving. Furthermore, if the action instructed by the marker B is a search for the marker C, the robot 2 searches for the marker C and starts moving when the marker B is recognized. If a series of markers instructing to search for the markers in sequence is arranged at points on the route, the robot 2 is caused to search for a route through the series of markers in order. If it does in this way, the way of the play which makes the indoor game imitating orienteering compete with the child with the robot 2 can be performed. In addition, a plurality of robots 2 can be run to perform an indoor race.
  • the user instructs the autonomous behavior type robot 1 from the application of the user terminal 3 so that the robot 2 first searches for the marker A. Also good.
  • the robot 2 may recognize a user's voice such as “Start” or “Find” and start searching for a marker triggered by an event in which the user's voice is detected.
  • the robot 2 may recognize the pose or gesture that the user instructs to start from the captured image, and may start searching for a marker triggered by an event in which the pose or gesture is detected.
  • the user sets a start time for the autonomous behavior type robot 1 from the application of the user terminal 3, and the robot 2 starts searching for a starting marker when the start time is reached. Also good.
  • the robot 2 may be made to recognize an article that should not be approached by using a marker for instructing prohibition of approach.
  • a marker in which an access prohibition code is made into a graphic such as a decorative article or a precision instrument is installed.
  • a graphic code obtained by converting an access prohibition code into a graphic by a general conversion method (such as a barcode method or a two-dimensional barcode method) may be used as a marker.
  • the marker recognizing unit 22 stores the type of figure corresponding to access prohibition, and determines that the type of figure specified from the captured image corresponds to access prohibition.
  • the marker recognition unit 22 of the robot 2 measures the interval with the recognized marker.
  • the movement control unit 23 controls the movement mechanism 29 so as to move the robot 2 in a direction away from the marker when it is determined that the distance from the marker is shorter than the first reference distance.
  • the first reference distance is a distance necessary for controlling the robot 2 to change its direction so as not to reach the marker position by the movement of the robot 2. In this way, the risk of the robot 2 colliding with a fragile article can be reduced.
  • a marker for instructing the prohibition of access to an article that is likely to move such as a balance ball or a vacuum cleaner body, may be installed so that the robot 2 can recognize an article that is likely to move.
  • the movement control unit 23 controls the movement mechanism 29 so as to move the robot 2 in a direction away from the marker when it is determined that the distance from the marker is shorter than the second reference distance.
  • the second reference distance is a distance necessary for controlling the robot 2 to increase the distance to the article before the article moves and reaches the position of the robot 2. In this way, the risk of the article moving and colliding with the robot 2 can be reduced.
  • the type of the article may be identified by the marker, and the approach of the robot 2 may be restricted according to the type of the article.
  • a marker indicating the type of article may be used, or article management data that associates the marker ID with the type of article may be held in the data providing apparatus 10.
  • the type of article is also detected when the marker recognition unit 22 recognizes the marker.
  • the marker recognizing unit 22 stores article management data that associates the marker ID with the type of article.
  • the marker recognizing unit 22 detects the marker ID from the marker and identifies the type of the article corresponding to the marker ID with reference to the article management data.
  • the article management data may be set by the user from the application of the user terminal 3.
  • the marker recognizing unit 22 may store access control data in which the accessibility of the robot 2 is set for each type of article, and determine the accessibility of the type of article specified by the marker ID.
  • access control data for example, an access permission is set for an article that is not easily broken such as a table or a chair and has a low possibility of moving.
  • Access prohibition is set for an article that is likely to move. Since the cleaner body always moves forward and never moves backward, the cleaner body may be allowed to approach the rear. In other words, it is only necessary to prohibit the approach of the vacuum cleaner main body to the front. If the front and back of the vacuum cleaner main body can be recognized by the direction of the marker, only the forward approach of the vacuum cleaner main body may be prohibited.
  • the robot 2 can determine the range in which the approach is prohibited based on the marker. If a rule that prohibits the approach indicated by the arrow is provided, there is no operational problem if attention is paid to the direction of the marker at the stage of attaching the marker.
  • an access prohibition range based on the arrow may be set in the access control data, or similar access may be performed from the application of the user terminal 3. A prohibited range may be set.
  • the marker recognition unit 22 may store marker definition information that associates a marker ID with an area type, detects the marker ID from the marker, and specifies the area type corresponding to the marker ID.
  • the association between the marker ID and the area type may be set by the user from the application of the user terminal 3.
  • the first event is not limited to the example described above.
  • the first event is optional.
  • the first event detection unit 210 of the robot 2 and the first event detection unit 120 of the data providing apparatus 10 may detect the first event when a person other than the user is recognized.
  • the first event detection unit 210 of the robot 2 and the first event detection unit 120 of the data providing apparatus 10 may detect the first event when an unknown person who has never been recognized is recognized for the first time.
  • the first event detection unit 210 of the robot 2 and the first event detection unit 120 of the data providing apparatus 10 may detect the first event when a known person who has been recognized in the past is recognized again.
  • the first event detection unit 210 of the robot 2 and the first event detection unit 120 of the data providing device 10 may detect the first event when the same person is repeatedly recognized within a predetermined time.
  • the first event detection unit 210 of the robot 2 and the first event detection unit 120 of the data providing apparatus 10 may detect the first event when recognizing a person who has not recognized within a predetermined time. Further, when the first event detection unit 210 of the robot 2 and the first event detection unit 120 of the data providing apparatus 10 determine that the positional relationship and orientation between the recognized person and the marker in the captured image satisfy a predetermined condition. The first event may be detected.
  • the second event is not limited to the example described above.
  • the second event is optional.
  • the second event detection unit 220 of the robot 2 and the second event detection unit 130 of the data providing apparatus 10 may detect the second event when a person other than the user is recognized.
  • the second event detection unit 220 of the robot 2 and the second event detection unit 130 of the data providing apparatus 10 may detect the second event when an unknown person who has never been recognized is recognized for the first time.
  • the second event detection unit 220 of the robot 2 and the second event detection unit 130 of the data providing device 10 may detect the second event when recognizing a known person who has been recognized in the past.
  • the second event detection unit 220 of the robot 2 and the second event detection unit 130 of the data providing apparatus 10 may detect the second event when the same person is repeatedly recognized within a predetermined time.
  • the second event detection unit 220 of the robot 2 and the second event detection unit 130 of the data providing apparatus 10 may detect the second event when recognizing a person who has not recognized within a predetermined time. Furthermore, when the second event detection unit 220 of the robot 2 and the second event detection unit 130 of the data providing apparatus 10 determine that the positional relationship and orientation between the recognized person and the marker in the captured image satisfy a predetermined condition. A second event may be detected.
  • the first event and the second event may be a combination of events in a plurality of stages.
  • the return home event detection unit 121 of the data providing device 10 detects the first stage event when the position of the user terminal 3 approaches the home, and the user terminal A second stage event may be detected when 3 communicates with a beacon transmitter installed at the entrance.
  • the home return event detection unit 121 may determine that the first event has been detected when both the first stage event and the second stage event are detected.
  • the action selection unit 140 may select the action corresponding to the second event.
  • the action selection unit 140 may select an action corresponding to the area type.
  • the action selection unit 140 may select an action corresponding to the first event.
  • the action selection unit 140 may select an action corresponding to the combination of the area type and the second event.
  • the action selection unit 140 may select an action corresponding to the combination of the first event and the area type.
  • the action selection unit 140 may select an action corresponding to a combination of the first event, the area type, and the second event.
  • the action execution unit 230 may perform an action for a specific person.
  • the action execution unit 230 may guide a vacant room to a specific customer.
  • the content of the action executed by the action execution unit 230 may be set by the user from the application of the user terminal 3.
  • the first event detection unit 210 of the robot 2 may detect the first event when the communication control unit 26 communicates with another robot 2.
  • the second event detection unit 220 of the robot 2 may detect the second event when the communication control unit 26 communicates with another robot 2.
  • the first event detection unit 210 of the robot 2 and the first event detection unit 120 of the data providing device 10 may detect a first event when a predetermined instruction or data is received from the user terminal 3 or another external device. Good.
  • the second event detection unit 220 of the robot 2 and the second event detection unit 130 of the data providing device 10 may detect a second event when a predetermined instruction or data is received from the user terminal 3 or another external device. Good.
  • the visitor event detection unit 123 of the data providing apparatus 10 notifies the reception tablet terminal that the reception tablet terminal has accepted the guest room conditions such as the number of customers and smoking cessation.
  • the first event may be detected when it is done.
  • the detection conditions of the first event and the second event may be different for each of the plurality of robots 2. For example, only the specific robot 2 may detect the first event or the second event later than the timing at which the first event or the second event is normally detected. If the detection timing of the first event or the second event is delayed, the passive character of the robot 2 can be produced. Conversely, only the specific robot 2 may detect the first event or the second event earlier than the timing at which the first event or the second event is normally detected. If the detection timing of the first event or the second event is advanced, a positive character of the robot 2 can be produced. The contents of the first event and the second event may be set by the user from the application on the user terminal 3.
  • event information may be set for each robot 2 in the event information storage unit 151. That is, event information applicable only to a specific robot 2 may be provided. For example, in a home where two robots 2 are operated, event information may be set so that only one robot performs a welcome action and only the other robot performs a babysitting action.
  • marker information recognized by one robot 2 may be notified to the other robot 2. By doing so, the area type, marker position and orientation can be quickly shared.
  • the robot 2 may regard feature points and feature shapes detected by the SLAM technology as markers.
  • a device that emits light may be used as a marker.
  • a marker may be installed at a charging station for supplying power to the storage battery included in the robot 2 so that the robot 2 detects the positional relationship and orientation with the charging station based on the marker. When the robot 2 approaches the charging station for automatic connection, the positional relationship and orientation of the charging station detected by the marker may be used.
  • the marker recognizing unit 22 may measure the position of the same marker a plurality of times, and obtain an average value regarding those positions. If the marker recognizing unit 22 uses the average value of the marker positions, the influence of errors in measuring the marker positions can be reduced. Similarly, the marker recognizing unit 22 may measure the direction of the same marker a plurality of times and obtain an average value regarding the direction. If the marker recognizing unit 22 uses the average value of the marker direction, the influence of the error in the measurement of the marker position can be reduced.
  • the application of the user terminal 3 may display the marker position and orientation on the output device of the user terminal 3. From the application of the user terminal 3, the user sets the content of the marker (such as entry prohibition, area type, action identifier or access prohibition), the position and orientation of the marker via the input device of the user terminal 3, Or you may enable it to correct.
  • the content of the marker such as entry prohibition, area type, action identifier or access prohibition
  • the robot 2 may include a beacon receiver, receive a beacon signal transmitted from a beacon transmitter installed at a predetermined position at the beacon receiver, and specify the ID of the beacon transmitter.
  • the robot 2 may further include a beacon analysis unit, and the beacon analysis unit may identify the position of the beacon transmitter by analyzing the radio wave intensity of the beacon signal. Therefore, the autonomous behavior type robot 1 may consider the ID of the beacon transmitter as the marker ID and the position of the beacon transmitter as the marker position, and may be applied to the above-described embodiment.
  • a program for realizing the functions constituting the apparatus described in this embodiment is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed.
  • the various processes described above in the present embodiment may be performed.
  • the “computer system” may include an OS and hardware such as peripheral devices.
  • the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
  • the “computer-readable recording medium” means a flexible disk, a magneto-optical disk, a ROM, a writable nonvolatile memory such as a flash memory, a portable medium such as a CD-ROM, a hard disk built in a computer system, etc. This is a storage device.
  • the “computer-readable recording medium” refers to a volatile memory (for example, DRAM (Dynamic) in a computer system serving as a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. Random Access Memory)), etc. that hold a program for a certain period of time.
  • the program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium.
  • the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
  • the program may be for realizing a part of the functions described above. Furthermore, what implement

Landscapes

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

Abstract

ロボットは、移動機構と、周囲の空間を撮影する撮影部と、撮影部において撮影された撮影画像に含まれる所定のマーカを認識するマーカ認識部と、認識されたマーカに基づき移動機構による移動を制御する移動制御部とを備える。

Description

ロボットおよびその制御方法、ならびにプログラム
 本発明は、ロボットおよびその制御方法、ならびにプログラムに関する。
 従来から、家屋内を自律的に移動しながらカメラで画像を撮影し、撮影画像から屋内の空間を認識し、認識している空間に基づき移動経路を設定して屋内を移動するロボットがある。ロボット移動経路の設定は、ロボットが移動する経路を定めたマップを利用者が予め作成することにより行われる。ロボットは作成されたマップに基づき定められた経路を移動することができる(例えば、特許文献1を参照)。
特開2016-103277号公報
 しかし、自律行動型ロボットにおいては、ロボットが空間を自律的に移動できるため、例えば、利用者が進入して欲しくない範囲やロボットが移動すると危険な範囲にロボットが進入することがある。
 また、自律的な移動だけでなく、所定の場所へロボットを移動させて、所定のアクションを行わせたいこともある。
 本発明は上記事情に鑑みてなされたものであり、1つの実施形態において、利用者がロボットの移動を制御できる、ロボットおよびその制御方法、ならびにプログラムを提供することを一つの目的とする。
 (1)上記の課題を解決するため、実施形態のロボットは、移動機構と、周囲の空間を撮影する撮影部と、前記撮影部において撮影された撮影画像に含まれる所定のマーカを認識するマーカ認識部と、認識された前記マーカに基づき前記移動機構による移動を制御する移動制御部とを備える。
 (2)また、実施形態のロボットにおいて、前記移動制御部は、認識された前記マーカに基づき前記移動による進入を禁止する。
 (3)また、実施形態のロボットにおいて、前記移動制御部は、認識された前記マーカに基づき前記移動の速度を制限する。
 (4)また、実施形態のロボットにおいて、前記移動制御部は、認識された前記マーカの設置位置に基づき前記移動を制御する。
 (5)また、実施形態のロボットにおいて、前記移動制御部は、前記設置位置に基づく制限範囲を設定し、前記制限範囲における前記移動を制限する。
 (6)また、実施形態のロボットにおいて、前記移動制御部は、前記設置位置より奥側、又は前記設置位置の周囲における所定の範囲を前記制限範囲として設定する。
 (7)また、実施形態のロボットにおいて、前記移動制御部は、認識された前記マーカが複数である場合、認識された複数の前記設置位置に基づき前記移動を制限する。
 (8)また、実施形態のロボットにおいて、前記移動制御部は、認識された第1マーカの設置位置と認識された第2マーカの設置位置とを結ぶ線分に基づき前記移動を制限する。
 (9)また、実施形態のロボットにおいて、前記移動制御部は、認識された前記マーカの種類に基づき前記移動を制御する。
 (10)また、実施形態のロボットにおいて、前記移動制御部は、記録されているマーカに基づき前記移動を制御する。
 (11)また、実施形態のロボットにおいて、前記移動制御部は、前記撮影画像において前記マーカが認識されない場合、前記記録されているマーカに基づき前記移動を制御する。
 (12)また、実施形態のロボットにおいて、前記撮影部において撮影された撮影画像に基づいて、前記空間を認識した空間データを生成する空間データ生成部と、生成された前記空間データに基づいて、前記空間に含まれる空間要素を可視化した可視化データを生成する可視化データ生成部と、生成された前記可視化データを利用者端末に対して提供する可視化データ提供部とをさらに備える。
 (13)また、実施形態のロボットにおいて、提供された前記可視化データに含まれる領域の指定を前記利用者端末から取得する指定取得部をさらに備え、前記空間データ生成部は、取得された前記指定に係る領域において再撮影された前記撮影画像に基づいて前記空間を再認識する。
 (14)また、実施形態のロボットにおいて、前記移動における移動先の状態を示す状態情報を取得する状態情報取得部をさらに備え、前記移動制御部は、前記状態情報にさらに基づき前記移動を制御する。
 (15)また、実施形態のロボットにおいて、前記マーカの位置を記憶するマーカ情報記憶部と、第1イベントを検出する第1イベント検出部と、第2イベントを検出する第2イベント検出部と、アクションを実行するアクション実行部とをさらに備え、前記第1イベントが検出されると、前記マーカの前記位置の付近へ移動し、前記第2イベントが検出されると、前記マーカ、前記第1イベント及び前記第2イベントのうちの少なくとも1つに対応する前記アクションを実行する。
 (16)上記の課題を解決するため、実施形態のロボット制御方法は、周囲の空間を撮影する撮影ステップと、前記撮影ステップにおいて撮影された撮影画像に含まれる所定のマーカを認識するマーカ認識ステップと、認識された前記マーカに基づき移動機構による移動を制御する移動制御ステップとを含む。
 (17)上記の課題を解決するため、実施形態のロボット制御プログラムは、コンピュータに、周囲の空間を撮影する撮影機能と、前記撮影機能において撮影された撮影画像に含まれる所定のマーカを認識するマーカ認識機能と、認識された前記マーカに基づき移動機構による移動を制御する移動制御機能とを実現させる。
 一つの実施形態によれば、利用者がロボットの移動を制御できる、ロボットおよびその制御方法、ならびにプログラムを提供することができる。
実施形態1における自律行動型ロボットのソフトウェア構成の一例を示すブロック図である。 実施形態1における自律行動型ロボットのハードウェア構成の一例を示すブロック図である。 実施形態1における自律行動型ロボット制御プログラムの動作の一例を示すフローチャートである。 実施形態1における自律行動型ロボット制御プログラムの動作の他の一例を示すフローチャートである。 実施形態1における進入禁止ラインの設定方法を示す図である。 実施形態1における利用者端末の表示の一例を示す図である。 実施形態1における利用者端末の表示の一例を示す図である。 実施形態2におけるロボットのモジュール構成の一例を示すブロック図である。 実施形態2におけるデータ提供装置のモジュール構成の一例を示すブロック図である。 実施形態2におけるイベント情報記憶部のデータ構成の一例を示すブロック図である。 実施形態2におけるマーカ情報記憶部のデータ構成の一例を示すブロック図である。 図12(A)は、実施形態2のマーカ登録フェーズにおける処理手順を示すフローチャートである。図12(B)は、実施形態2のアクションフェーズにおける処理手順を示すフローチャートである。 図13(A)は、実施例1のマーカ登録フェーズにおける処理手順を示すフローチャートである。図13(B)は、実施例1のアクションフェーズにおける処理手順を示すフローチャートである。 図14(A)は、実施例2のマーカ登録フェーズにおける処理手順を示すフローチャートである。図14(B)は、実施例2のアクションフェーズにおける処理手順を示すフローチャートである。 図15(A)は、実施例3のマーカ登録フェーズにおける処理手順を示すフローチャートである。図15(B)は、実施例3のアクションフェーズにおける処理手順を示すフローチャートである。 図16(A)は、実施例4のマーカ登録フェーズにおける処理手順を示すフローチャートである。図16(B)は、実施例4のアクションフェーズにおける処理手順を示すフローチャートである。 図17(A)は、実施例5のマーカ登録フェーズにおける処理手順を示すフローチャートである。図17(B)は、実施例5のアクションフェーズにおける処理手順を示すフローチャートである。 図18(A)は、実施例6のマーカ登録フェーズにおける処理手順を示すフローチャートである。図18(B)は、実施例6のアクションフェーズにおける処理手順を示すフローチャートである。
 以下、図面を参照して本発明の実施形態における自律行動型ロボット、データ提供装置およびデータ提供プログラムについて詳細に説明する。
[実施形態1]
 先ず、図1を用いて、自律行動型ロボット1のソフトウェア構成を説明する。図1は、実施形態における自律行動型ロボット1のソフトウェア構成の一例を示すブロック図である。
 図1において、自律行動型ロボット1は、データ提供装置10およびロボット2を有する。データ提供装置10とロボット2は通信にて接続されて、自律行動型ロボット1として機能する。ロボット2は、撮影部21、マーカ認識部22、移動制御部23、状態情報取得部24および移動機構29の各機能部を有する移動式ロボットである。データ提供装置10は、第1通信制御部11、点群データ生成部12、空間データ生成部13、可視化データ生成部14、撮影対象認識部15および第2通信制御部16の各機能部を有する。第1通信制御部11は、撮影画像取得部111、空間データ提供部112および指示部113の各機能部を有する。第2通信制御部16は、可視化データ提供部161、指定取得部162の各機能部を有する。本実施形態における自律行動型ロボット1のデータ提供装置10の上記各機能部は、データ提供装置10を制御するデータ提供プログラム(ソフトウェア)によって実現される機能モジュールであるものとして説明する。また、ロボット2の、マーカ認識部22、移動制御部23および状態情報取得部24の各機能部は、自律行動型ロボット1におけるロボット2を制御するプログラムによって実現される機能モジュールであるものとして説明する。
 データ提供装置10は、自律行動型ロボット1の機能の一部を実行することができる装置であって、例えば、ロボット2と物理的に近い場所に設置され、ロボット2と通信し、ロボット2の処理の負荷を分散させるエッジサーバである。なお、本実施形態において自律行動型ロボット1は、データ提供装置10とロボット2とにおいて構成される場合を説明するが、データ提供装置10の機能は、ロボット2の機能に含まれるものであってもよい。また、ロボット2は、空間データに基づき移動可能なロボットであって、空間データに基づき移動範囲が定められるロボットの一態様である。データ提供装置10は、1つの筐体において構成されるものであっても、複数の筐体から構成されるものであってもよい。
 第1通信制御部11は、ロボット2との通信機能を制御する。ロボット2との通信方式は任意であり、例えば、無線LAN(Local Area Network)、Bluetooth(登録商標)、または赤外線通信等の近距離無線通信、もしくは有線通信等を用いることができる。第1通信制御部11が有する、撮影画像取得部111、空間データ提供部112および指示部113の各機能は、第1通信制御部11において制御される通信機能を用いてロボット2と通信する。
 撮影画像取得部111は、ロボット2の撮影部21により撮影された撮影画像を取得する。撮影部21は、ロボット2に設けられて、ロボット2の移動に伴い撮影範囲を変更することができる。ここで、ロボット2の撮影部21、マーカ認識部22、移動制御部23、状態情報取得部24および移動機構29について説明する。
 撮影部21は、1台または複数台のカメラで構成することができる。例えば、撮影部21が2台のカメラで構成されるステレオカメラである場合、撮影部21は撮影対象である空間要素を異なる撮影角度から立体的に撮影することが可能となる。撮影部21は、例えば、CCD(Charge-Coupled Device)センサまたはCMOS(Complementary Metal Oxide Semiconductor)センサ等の撮像素子を用いたビデオカメラである。2台のカメラ(ステレオカメラ)で空間要素を撮影することにより、空間要素の形状を測定することができる。また、撮影部21は、ToF(Time of Flight)技術を用いたカメラであってもよい。ToFカメラにおいては、変調された赤外光を空間要素に照射して、空間要素までの距離を測定することにより、空間要素の形状を測定することができる。また、撮影部21は、ストラクチャードライトを用いるカメラであってもよい。ストラクチャードライトは、ストライプ、または格子状のパターンの光を空間要素に投影するライトである。撮影部21は、ストラクチャードライトと別角度から空間要素を撮影することにより、投影されたパターンの歪みから空間要素の形状を測定することができる。撮影部21は、これらのカメラのいずれか1つ、または2つ以上の組合せであってもよい。
 また、撮影部21は、ロボット2に取付けられてロボット2の移動に合わせて移動するものである。しかし、撮影部21は、ロボット2とは分離して設置されるものであってもよい。
 撮影部21で撮影された撮影画像は、第1通信制御部11に対応する通信方式において撮影画像取得部111に対して提供される。撮影された撮影画像は、ロボット2の記憶部に一時的に記憶されて、撮影画像取得部111は、リアルタイムにまたは所定の通信間隔で一時記憶された撮影画像を取得する。
 マーカ認識部22は、撮影部21において撮影された撮影画像に含まれる所定のマーカを認識する。マーカとは、ロボット2の移動の制限を示す空間要素である。マーカは、撮影画像から認識可能な物品の形状、模様若しくは色彩若しくは物品に付された文字若しくは図形又はこれらの結合である。利用者がロボット2の移動を制限する位置にマーカを設置することにより、ロボット2が撮影部21で空間を撮影したときに、家具等とともに撮影される。マーカは、平面的な物品であっても立体的な物品であってもよい。マーカは、例えば、2次元コードまたは特定の色の組合せもしくは形状が印刷されたシールまたは用紙等である。また、マーカは特定の色や形状の置物または敷物等であってもよい。このように、印刷物や身の回りにある物をマーカとして利用することにより、利用者はマーカの電源を確保したり、設置場所を確保したりする必要がない。また、部屋の雰囲気を損なうこと無く、利用者の意思でロボットの移動を制限できる。また、利用者もマーカを視認できるので、移動制限範囲を直観的に把握でき、制限範囲の変更も容易にできる。マーカは利用者によって、例えば壁や家具に貼付され、または床に載置されることにより設置される。マーカ認識部17は、撮影画像に含まれるマーカの画像を認識することにより、ロボット2の移動が制限されることを認識することができる。
 ここで、マーカが平面的である場合、壁や家具への貼付等が可能となるため、省スペースでの設置が可能となる。マーカが平面的である場合、マーカの平面を水平方向から撮影すると(撮影角度が小さいとき)、撮影画像におけるマーカが歪んでしまうため認識が難くなる。一方、マーカの平面を垂直方向から撮影すると(撮影角度が大きいとき)、マーカを認識しやすくなる。したがって、例えばマーカを廊下に貼付した場合、マーカから遠い位置では撮影角度が小さいためロボット2にマーカを認識させないようにすることができる。ロボットが廊下を移動してマーカに近付くと撮影角度が大きくなるため、マーカが認識される。このため、平面的なマーカにおいては、マーカの設置位置(後述)とロボットがマーカを認識できる位置を近づけることが可能となるため、マーカの設置位置をロボットが正確に把握することが可能となる。また、マーカが立体的である場合、部屋の中央等への設置が容易となる。マーカが立体的である場合、マーカは様々な撮影角度から認識可能になる。したがって、立体的なマーカを設置することにより、マーカの設置位置から遠い位置にあるロボット2にマーカを認識させることが可能となる。
 マーカ認識部22は、マーカの視覚的な特徴を予め記憶しておく。例えば、マーカ認識部22は、マーカとして認識すべき2次元コードや立体物を予め記憶しておく。マーカ認識部22は、利用者によって予め登録された物をマーカとして認識するようにしてもよい。例えば、利用者が利用者端末3のカメラで撮影した植木鉢をマーカとして登録した場合、廊下等に設置された植木鉢をマーカとして認識することができる。したがって、利用者はマーカを設置する場所において違和感が無い物をマーカとして設置することが可能となる。なお、マーカ認識部22は、物以外の空間要素をマーカとして認識するようにしてもよい。例えば、マーカ認識部22は、利用者が腕を体の正面でクロスさせる等の利用者のジェスチャーをマーカとして認識するようにしてもよい。マーカ認識部22は、利用者がジェスチャーをした位置をマーカの設置位置として認識する。
 マーカ認識部22は、マーカが貼付されまたは設置等された位置(以下、「設置位置」という。)を認識する。設置位置とは、空間データにおけるマーカが設置された空間の中の位置である。設置位置は、例えば、ロボット2が認識している空間データに基づき、ロボット2の現在位置と撮影されたマーカとの距離において認識することができる。例えば、マーカの大きさが予め分かっている場合、マーカ認識部22は、撮影画像に含まれるマーカ画像の大きさから、ロボット2とマーカの距離を算出し、ロボット2の現在位置と撮影方向(例えば、図示しない方位計による方位)に基づき、マーカの設置位置を認識することができる。また、設置位置は空間における位置が既に分かっている空間要素からマーカまでの相対的な位置から認識するようにしてもよい。例えば、ドアの位置が既に分かっている場合、マーカ認識部22は、マーカとドアの相対的な位置から設置位置を認識するようにしてもよい。また、撮影画像がデプスカメラにおいて撮影されたものである場合、設置位置はデプスカメラで撮影されたマーカの撮影深度に基づき認識することが可能となる。
 また、マーカ認識部22は、撮影画像に含まれる複数のマーカを認識するようにしてもよい。例えば、移動を制限する範囲を直線で設定したい場合、利用者は第1マーカと第2マーカからなる、2つのマーカの対(ペア)で構成されるマーカを設置することができる。マーカ認識部22は、第1マーカの設置位置(始点)と第2マーカの設置位置(終点)を認識することにより、始点と終点を結ぶ線分(直線又は曲線)の位置を認識してもよい。マーカ認識部22は、第1マーカと第2マーカの位置を空間データにマッピングすることにより空間データにおける線分の位置を認識することができる。利用者は、マーカを所定の位置に設置等することにより、移動を制限する線分を簡単に設定することが可能となる。マーカの設置は3つ以上を可能としてもよい。例えば、マーカが3つ以上であった場合、マーカ認識部22は、それぞれのマーカの設置位置に基づき、折れ線または多角形(エリア)を認識することができる。
 移動制御部23は、マーカ認識部22において認識されたマーカの設置位置に基づき移動を制限する。移動制御部23は、認識されたマーカの設置位置に応じて移動を制限する制限範囲を設定する、制限範囲設定部231を有する。移動制御部23は、制限範囲設定部231に設定された制限範囲に対するロボット2の移動を制限する。マーカの設置位置とは、1つまたは複数のマーカの設置位置に基づき設定される点、線、面または空間である。制限範囲設定部231は、マーカの設置位置を、例えば、空間データにおける座標データとして認識することにより、制限範囲を設定することができる。制限範囲設定部231は、設置位置に基づく制限範囲を設定し、制限範囲における移動を制限してもよい。例えば、制限範囲設定部231は、1つのマーカの設置位置に基づき、廊下等の空間要素を区切る線分、またはマーカを中心とした空間における円もしくは球体のエリアを、移動を制限する制限範囲として設定することができる。つまり、制限範囲設定部231は、矩形、円、直線などの幾何学的に決められる範囲をマーカの設置位置に基づいて空間に配置することで制限範囲を設定する。例えば、円状に範囲を設定するのであれば、制限範囲設定部231はマーカの設置位置を中心とし、所定の半径の円状の範囲を制限範囲としてもよい。また、矩形状に範囲を設定するのであれば、制限範囲設定部231はマーカの設置位置を矩形の一辺の中央になるように配置することで矩形状の制限範囲を決めてもよい。制限範囲は、例えば、マーカから1~3m程度であり、マーカ認識部22がマーカを認識できる範囲より狭い範囲である。制限範囲は、マーカ毎に予め決められていてもよいし、後述のアプリケーションを利用することで利用者が任意に調整できてもよい。
 また、制限範囲設定部231は、複数のマーカによって設定される線、面または空間を制限範囲として設定してもよい。例えば、制限範囲設定部231は、マーカ認識部22がマーカを認識したときのロボット2の位置を基準として、マーカの設置位置より奥側、又は設置位置の周囲における所定の範囲を制限範囲として設定してもよい。制限範囲設定部231が線状に制限範囲を設定した場合、移動制御部23はその線を越えないようにロボット2の移動を制限する。このように、制限範囲設定部231は、マーカの設置位置を基準として予め定められたルールに基づいて制限範囲を設定してもよい。
 また、制限範囲設定部231は、マーカ周辺の空間的な特徴を認識し、空間的な特徴に応じて制限範囲を設定してもよい。言い換えれば、制限範囲設定部231は、間取りを認識し、間取りに応じて制限範囲を設定してもよい。例えば、制限範囲設定部231は、マーカが通路の入口周辺(所定範囲内)にあれば、その通路を制限範囲として設定するようにしてもよい。また、制限範囲設定部231は、部屋の中央(壁から所定距離離れている)にマーカが配置されている場合は、そのマーカを中心とする円形状の範囲を制限範囲として設定してもよい。また、制限範囲設定部231は、マーカが壁に貼り付けられており、周辺にドアがなければ、壁から所定範囲を制限範囲として設定してもよい。
 マーカには種類が設定されてもよい。例えば、マーカが視認できるときだけ移動を制限するマーカ(「一時マーカ」という)と、マーカの位置を記憶し、マーカが視認できなくても恒久的に移動を制限するマーカ(「恒久マーカ」という)とをマーカの種類として設定する。恒久マーカを視認した場合、ロボット2は、マーカの位置を記憶部(図示せず)に記憶して、マーカがその場所から無くなった場合でも、記憶したマーカの位置に基づいて移動が制限される。また、一時マーカを視認した場合、ロボット2は、一時マーカの位置を記憶しないため、一時マーカが撤去されれば制限範囲は解除される。
 マーカ認識部22は、設定されたマーカの種類を認識する。マーカの種類は、例えば、マーカの形状、模様、色彩、文字若しくは図形又はこれらの結合によって予め区分されるようにしておくことができる。また、マーカの種類は、マーカの設置個数、またはマーカの設置方法(例えば、マーカの上下方向を変えた設置)等において区分されてもよい。マーカが2次元コードを含む場合、2次元コードの情報にマーカの種類を特定する情報が書き込まれる。この場合、マーカ認識部22は、2次元コードを読み込むことで、一時マーカか恒久マーカかを特定できる。また、2次元コードに、マーカを特定する識別情報(「マーカ識別情報」という)が書き込まれてもよい。この場合、マーカ認識部22は、2次元コードからマーカ識別情報を読み込み、予め用意されたテーブルを参照して、マーカ識別情報に対応付けられたマーカの種類を特定する。
 すなわち、マーカ認識部22は、2次元コードのようにマーカ自体に付帯する情報が含まれている場合にマーカ自体から付帯する情報を読み込むように構成されてもよい。また、マーカ認識部22は、マーカからマーカ識別情報を読み込み、マーカ識別情報をキーとしてテーブルを参照することにより付帯する情報を読み込むように構成されてもよい。本実施の形態では、マーカ認識部22は、マーカ識別情報に対応付けて、マーカの付帯情報を保持するマーカ情報格納部(図示せず)を有し、マーカ情報格納部を参照することでマーカ毎の付帯情報を取得できるように構成される場合を例示している。マーカ認識部22は、マーカ識別情報を2次元コードから読み込んでもよいし、一般的な物体認識によりマーカを特定することで、マーカ識別情報を取得してもよい。
 このように、マーカに付帯する情報を管理できるよう構成することで、単にマーカの周囲に制限範囲を設定し、ロボット2の移動を制限するだけでなく、利用者の希望に応じて様々な条件でロボット2の行動を制限(「行動制限」という。)することができる。例えば、浴室を使う時間帯にロボット2を脱衣所に進入させたくない場合に、マーカに進入禁止の時間帯を関連付けておく。また、キッチンを使っているときにロボット2をキッチンに進入させたくないのであれば、人がいる場合(人を検出した場合)は進入を禁止する条件をマーカに関連付けておく。また、ロボットの進入を禁止するのではなく、進入を許可する場合であっても、制限範囲内では行動を抑制し静かにしなければならない、音を発してはならない、または、ゆっくり走行しなければならない等のロボットの行動を制限する指示を付帯情報として関連付けてもよい。つまり、付帯情報には、マーカの種類を特定する情報、または制限範囲におけるロボットの振る舞いを規定する情報を含めるようにしてもよい。振る舞いを規定する情報は、ロボットの行動を制限するための情報であり、制限範囲内での移動を禁止するのであれば、禁止することの他に、禁止の時間帯を指定する情報等が含まれてもよい。付帯する情報には、制限範囲内での移動を条件付きで許可するのであれば、許可することの他に、その条件を指定する情報(「行動条件」という。)などが含まれてもよい。
 移動制御部23は、マーカ認識部22においてマーカが認識されなかった場合、記憶された設置位置に基づき移動を制限してもよい。例えば、マーカによるコマンドが恒久的な制限を設定する恒久的なマーカを設定するものである場合、移動制御部23は、マーカが撤去されて撮影画像から認識できない場合であってもマーカに基づく移動を恒久的に制限する。なお、制限範囲設定部231において設定されたマーカは、例えば、利用者端末3からの指示により消去、位置の変更またはコマンドの変更等のマーカを編集できるようにしてもよい。例えば、利用者端末3は、マーカを編集することができる不図示のアプリケションプログラム(以下、「アプリ」という。)を有するものであってもよい。例えば、アプリは、上述した利用者端末3の表示画面にマーカを選択可能に表示して、利用者が選択したマーカを編集するようにしてもよい。また、アプリは、マーカが一時マーカである場合、マーカを恒久マーカに変更できるようにしてもよい。これにより、利用者は、設置された一時マーカを撤去することにより制限範囲を解除することができるとともに、アプリで一時マーカを恒久マーカに変更することにより、設置されたマーカを撤去した後においても制限範囲を維持させることが可能となる。なお、アプリは、上述した利用者端末3のカメラで撮影した空間要素をマーカとして登録する登録機能を有していてもよい。また、アプリは、制限範囲の調整、または上述した行動制限の内容を設定もしくは変更する機能を有していてもよい。アプリは、ロボット2が有するマーカ情報格納部に接続し、マーカ毎の行動制限や行動条件を参照し、更新する機能を有してもよい。
 なお、マーカにより設定されるロボット2の移動の制限は、後述する状態情報による制限範囲の設定と併存させることができる。例えば、廊下への進入禁止エリアの設定をマーカの設置によって行うことができるとともに、脱衣所への立ち入り禁止を状態情報によって行うことができるようにしてもよい。また、移動が制限されるエリアの設定をマーカで行うとともに、状態情報によって当該エリアにおける制限の内容(例えば、進入が制限される時間等の条件)を設定できるようにしてもよい。
 状態情報取得部24は、移動における移動先の状態を示す状態情報を取得する。状態情報とは、ロボット2が検出した移動先の状態に応じてロボット2の移動を制限するための情報である。移動先の状態とは、例えば、移動範囲に係る、人の有無、ペットの有無、部屋の温度もしくは湿度、ドアの施錠状態、または照明の点灯状態等であり、時間、曜日、天候等の状態を含んでいてもよい。状態情報は、例えば、移動範囲に人を検知したときに、そのエリア(範囲)における移動速度を制限するための情報である。また、状態情報は、所定の曜日または時間において、そのエリアにおける進入を禁止し、ドアが施錠されているときにそのドアを通過する移動を禁止し、または照明が点灯されているエリアにおいて撮影を禁止するものであってよい。状態情報は、空間データと併せて提供することができる。
 再び、データ提供装置10について説明する。空間データ提供部112は、ロボット2に対して空間データ生成部13において生成された空間データを提供する。空間データは、ロボット2が存在している空間において、ロボットが認識している空間要素をデータ化したものである。ロボット2は、空間データに定められた範囲内において移動することができる。すなわち、空間データはロボット2において移動可能範囲を定めるための地図として機能する。ロボット2は、空間データ提供部112から空間データを提供される。例えば、空間データには、ロボット2が移動できない壁、家具、電化製品、段差等の空間要素の位置データを含めることができる。ロボット2は、提供された空間データに基づき、自身が移動できる場所か否かの判断をすることができる。また、ロボット2は、空間データの中に未生成の範囲が含まれるか否かを認識できるようにしてもよい。未生成の範囲が含まれるか否かは、例えば、空間データの一部に空間要素がない空間が含まれているか否かで判断することができる。
 指示部113は、ロボット2に対して、空間データ生成部13において生成された空間データに基づく撮影を指示する。空間データ生成部13は、撮影画像取得部111において取得された撮影画像に基づき空間データを作成するため、例えば、室内の空間データを作成する場合、撮影されていない部分については空間データが未作成の部分を含む場合がある。また、撮影画像が不鮮明等であると、作成された空間データにノイズが含まれてしまい空間データに不正確な部分が含まれてしまう場合がある。指示部113は、空間データに未生成の部分がある場合、未生成の部分についての撮影指示をするようにしてもよい。また、指示部113は、空間データが不正確な部分が含まれている場合、不正確な部分についての撮影指示をするようにしてもよい。指示部113は、空間データに基づき、自発的に撮影を指示してもよい。なお、指示部113は、空間データに基づき生成された可視化データ(後述)を確認した利用者からの明示的な指示に基づき、撮影を指示してもよい。利用者は、可視化データに含まれる領域を指定して、ロボット2に対して、撮影を指示することにより、空間を認識して空間データを生成させることができる。
 点群データ生成部12は、撮影画像取得部111において取得された撮影画像に基づき空間要素の三次元の点群データを生成する。点群データ生成部12は、撮影画像に含まれる空間要素を所定の空間における三次元の点の集合に変換して点群データを生成する。空間要素は、上述のように、部屋の壁、段差、扉、部屋に置いてある家具、家電、荷物、観葉植物等である。点群データ生成部12は、空間要素の撮影画像に基づき点群データを生成するため、点群データは撮影された空間要素の表面の形状を表すことになる。撮影画像は、ロボット2の撮影部21が、所定の撮影位置において所定の撮影角度で撮影することにより生成される。したがって、ロボット2が正面の位置から家具等の空間要素を撮影した場合、撮影されていない家具の裏側等の形状については点群データを生成することができず、家具の裏側にロボット2が移動可能な空間があったとしても、ロボット2はそれを認識することができない。一方、ロボット2が移動して側面の撮影位置から家具を撮影すると、家具等の空間要素の裏側の形状について点群データを生成することができるので、空間を正しく把握することが可能となる。
 空間データ生成部13は、点群データ生成部12において生成された空間要素の点群データに基づきロボット2の移動可能範囲を定める空間データを生成する。空間データは空間における点群データに基づき生成されるため、空間データに含まれる空間要素に関しても三次元の座標情報を有している。座標情報には、点の位置、長さ(高さを含む)、面積、または体積の情報が含まれていてもよい。ロボット2は、生成された空間データに含まれる空間要素の位置情報に基づき、移動が可能な範囲を判断することが可能となる。例えば、ロボット2が床面を水平移動する移動機構29を有するものである場合、ロボット2は、空間データにおいて空間要素である床面からの段差が所定の高さ以上(例えば、1cm以上)である場合移動が不可能であると判断することができる。一方、空間データにおいて、空間要素であるテーブルの天板またはベッド等が床面から所定の高さを有する場合、ロボット2は、床面からの高さが所定の高さ以上(例えば、60cm以上)の範囲を自身の高さとのクリアランスを考慮して移動可能な範囲として判断する。また、ロボット2は、空間データにおいて、空間要素である壁と家具の隙間が所定の幅以上(例えば、40cm以上)である範囲を自身の幅とのクリアランスを考慮して移動可能な範囲として判断する。
 空間データ生成部13は、空間における所定のエリアについて属性情報を設定してもよい。属性情報とは、所定のエリアについてロボット2の移動条件を定めた情報である。移動条件とは、例えば、ロボット2が移動可能な空間要素とのクリアランスを定めた条件である。例えば、ロボット2が移動可能な通常の移動条件が、クリアランスが30cm以上である場合、所定のエリアについてのクリアランスが5cm以上とした属性情報を設定することができる。また、属性情報において設定する移動条件は、ロボットの移動を制限する情報を設定してもよい。移動の制限とは、例えば、移動速度の制限、または進入の禁止等である。例えば、クリアランスが小さいエリアや人が存在しているエリアにおいて、ロボット2の移動速度を落とした属性情報を設定してもよい。また、属性情報において設定する移動条件は、エリアの床材によって定められるものであってもよい。例えば、属性情報は、床がクッションフロア、フローロング、畳、またはカーペットにおいて移動機構29の動作(走行速度または走行手段等)の変更を設定するものであってもよい。また、属性情報には、ロボット2が移動して充電できる充電スポット、ロボット2の姿勢が不安定になるため移動が制限される段差またはカーペットの端等における以上条件を設定できるようにしてもよい。なお、属性情報を設定したエリアは、後述する可視化データにおいて表示方法を変更する等、利用者が把握できるようにしてもよい。
 空間データ生成部13は、点群データ生成部12において生成された点群データを、例えば、ハフ変換して、点群データにおいて共通する直線や曲線等の図形を抽出し、抽出された図形により表現される空間要素の輪郭によって空間データを生成する。ハフ変換は、点群データを特徴点とした場合、特徴点を最も多く通過する図形を抽出する座標変換方法である。点群データは、部屋に置いてある家具等の空間要素の形状を点群において表現するものであるため、利用者は、点群データで表現される空間要素が何なのかの判別(例えば、テーブル、椅子、壁等の認識)をするのが困難な場合がある。空間データ生成部13は、点群データをハフ変換することにより、家具等の輪郭を表現することができるので、利用者が空間要素を判別しやすくすることができる。なお、空間データ生成部13は、点群データ生成部12において生成された点群データを、画像認識において認識された空間要素(例えば、テーブル、椅子、壁等)における基本形状に変換して空間データを生成してもよい。テーブル等の空間要素は、画像認識でテーブルであることが認識されることにより、空間要素の一部の点群データ(例えば、テーブルを正面から見たときの点群データ)からテーブルの形状を正確に予測することができる。空間データ生成部13は、点群データと画像認識を組み合わせることにより、空間要素を正確に把握した空間データを生成することが可能となる。
 空間データ生成部13は、ロボット2の移動した位置から所定の範囲に含まれる点群データに基づき空間データを生成する。ロボット2の移動した位置からの所定の範囲とは、ロボット2が実際に移動した位置を含み、例えば、ロボット2が移動した位置から30cm等の距離にある範囲であってもよい。点群データは、ロボット2の撮影部21により撮影された撮影画像に基づき生成されるため、撮影画像にはロボット2から離れた位置にある空間要素が含まれる場合がある。撮影部21から空間要素までが離れている場合、撮影されていない部分が存在し、または撮影されていない障害物の存在によって実際にはロボット2が移動できない範囲が存在する場合がある。また、廊下等のように撮影部21から遠い位置にある空間要素が撮影画像に含まれる場合、特徴点において抽出された空間要素が歪んでしまう場合がある。また、撮影距離が大きい場合、撮影画像に含まれる空間要素が小さくなるため、点群データの精度が低くなる場合がある。空間データ生成部13は、大きく離れている特徴点を無視することにより、精度が低い空間要素、または歪んだ空間要素を含まない空間データを生成するようにしてもよい。空間データ生成部13は、ロボット2の移動した位置から所定の範囲の外側にある点群データを削除して空間データを生成することにより、実際にはデータが存在しない飛び地が発生することを防ぎ、ロボット2が移動できない範囲を含まず、またデータ精度の高い空間データを生成することが可能となる。また、空間データから生成される可視化データにおいて飛び地状の描画を防ぐことができ、視認性を向上させることができる。
 空間データ生成部13は、マーカ認識部22においてマーカが認識された場合、生成した空間データに対して制限範囲を設定する。空間データに対して制限範囲を設定することにより、制限範囲を可視化データの一部として可視化することが可能となる。また、空間データ生成部13は、状態情報取得部24において状態情報が取得された場合、空間データに対して状態情報を設定する。空間データに対して状態情報を設定することにより、状態情報を可視化データの一部とすることが可能となる。
 可視化データ生成部14は、空間データ生成部13において生成された空間データに基づいて、空間に含まれる空間要素を人が直観的に判別できるように可視化した可視化データを生成する。
 一般的に、ロボットは、カメラやマイク等の様々なセンサを有し、それらのセンサから得られる情報を総合的に判断することで周囲の状況を認識する。ロボットが移動するためには、空間に存在する種々の物体を認識し、空間データにおいて移動ルートを判断する必要があるが、物体を正しく認識できないために移動ルートが適切で無いことがある。誤認識が原因となり、例えば、人が十分に広い空間があると思っても、ロボットは障害物があり狭い範囲しか動けないとして認識してしまう場合がある。このように人とロボットとの間に認識の齟齬が生じると、人の期待に反した行動をロボットがおこなうことになり、人はストレスを感じる。本実施形態における自立型行動ロボットは、人とロボットの認識の齟齬を減らすために、自身の認識状態である空間データを可視化して人に提供するとともに、人に指摘された箇所に対して再度認識処理をおこなうことができる。
 空間データは、自律行動型ロボット1が認識している空間要素を含むデータであるのに対して、可視化データは、自律行動型ロボット1が認識している空間要素を利用者が視認するためのデータである。空間データには、誤認識された空間要素が含まれる場合がある。空間データを可視化することにより、自律行動型ロボット1における空間要素の認識状態(誤認識の有無等)を人が確認し易くなる。
 可視化データは、表示装置において表示可能なデータである。可視化データは、いわゆる間取りであり、壁として認識された空間要素に囲まれた領域の中に、テーブル、椅子、ソファー等として認識された空間要素が含まれる。可視化データ生成部14は、ハフ変換によって抽出された図形において形成される家具等の形状を、例えばRGBデータで表現される可視化データとして生成する。空間データ生成部13は、空間要素の三次元における平面の方向に基づき、平面の描画方法を変更した可視化データを生成する。空間要素の三次元における平面の方向とは、例えば、点群データ生成部12において生成された点群データをハフ変換して、点群データにおいて生成された図形で形成される平面の法線方向である。可視化データ生成部14は、法線方向に応じて平面の描画方法を変更した可視化データを生成する。描画方法とは、例えば、平面に付与する色相、明度または彩度等の色属性、平面に付与する模様、またはテクスチャ等である。例えば、可視化データ生成部14は、平面の法線が垂直方向(平面が水平方向)である場合、平面の明度を高くして明るい色で描画する。一方、可視化データ生成部14は、平面の法線が水平方向(平面が垂直方向)である場合、平面の明度を低くして暗い色で描画する。平面の描画方法を変更することにより、家具等の形状を立体的に表現することが可能となり、利用者が家具等の形状を確認しやすくすることができる。また、可視化データは、空間データに含まれる各空間要素の座標情報と対応づけられた可視化データにおける座標情報(「可視化座標情報」という。)を含んでいてもよい。可視化座標情報は、座標情報と対応付けられているため、可視化座標情報における点は実際の空間における点に対応し、また、可視化座標情報における面は実際の空間における面に対応している。したがって、利用者が可視化データにおいてある点の位置を特定すると、それに対応した実際の部屋における点の位置が特定できることになる。また、座標系を変換するための変換関数を用意し、可視化データにおける座標系と、空間データにおける座標系とを相互に変換できるようにしてもよい。もちろん、可視化データにおける座標系と、実際の空間における座標系とを相互に変換できるようにしてもよい。
 可視化データ生成部14は、可視化データを立体的(3D(Dimensions))データで生成する。また、可視化データ生成部14は、可視化データを平面的(2D)データで生成してもよい。可視化データを3Dで生成することにより、利用者が家具等の形状を確認しやすくすることができる。可視化データ生成部14は、空間データ生成部13において、可視化データを3Dで生成するために十分なデータが生成された場合に可視化データを3Dで生成するようにしてもよい。可視化データ生成部14は、利用者によって指定された3Dの視点位置(視点高さ、視点仰俯角等)によって可視化データを3Dで生成するようにしてもよい。視点位置を指定可能とすることにより、利用者が家具等の形状を確認しやすくすることができる。また、可視化データ生成部14は、部屋の壁または天井については、奥側の壁についてのみ着色し、手前側の壁または天井を透明にした(着色しない)可視化データを生成してもよい。手前側の壁を透明にすることにより、利用者が手前側の壁の先(室内)に配置された家具等の形状を確認しやすくすることができる。
 可視化データ生成部14は、撮影画像取得部111において取得された撮影画像に応じた色属性を付与した可視化データを生成する。例えば、可視化データ生成部14は、撮影画像に木目調の家具が含まれ、木目の色(例えば、茶色)を検出した場合、抽出された家具の図形に検出した色に近似した色を付与した可視化データを生成する。撮影画像に応じた色属性を付与することにより、利用者が家具等の種別を確認しやすくすることができる。
 可視化データ生成部14は、固定されている固定物と、移動する移動物との描画方法を変更した可視化データを生成する。固定物とは、例えば、部屋の壁、段差、固定されている家具等である。移動物とは、例えば、椅子、ごみ箱、キャスター付き家具等である。また、移動物には、例えば、荷物やカバン等の一時的に床に置かれた一時物を含んでいてもよい。描画方法とは、例えば、平面に付与する色相、明度または彩度等の色属性、平面に付与する模様、またはテクスチャ等である。
 固定物、移動物または一時物の区分は、その場所に存在している期間によって識別することができる。例えば、空間データ生成部13は、点群データ生成部12において生成された点群データの経時的な変化に基づき、空間要素が固定物、移動物または一時物の区分を識別して空間データを生成する。空間データ生成部13は、例えば、第1の時刻において生成した空間データと、第2の時刻において生成した空間データの差分から、空間要素が変化していない場合に空間要素が固定物であると判断する。また、空間データ生成部13は、空間データの差分から、空間要素の位置が変化している場合に空間要素が移動物であると判断してもよい。また、空間データ生成部13は、空間データの差分から、空間要素が無くなっている場合または出現した場合に空間要素が一次物であると判断してもよい。可視化データ生成部14は、空間データ生成部13において識別された区分に基づき描画方法を変更する。描画方法の変更とは、例えば、色分け、ハッチングの追加または所定のマークの追加等である。例えば、空間データ生成部13は、固定物を黒で表示し、移動物を青で表示し、または、一時物を黄で表示するようにしてもよい。空間データ生成部13は、固定物、移動物または一時物の区分を識別して空間データを生成する。可視化データ生成部14は、空間データ生成部13において識別された区分に基づき描画方法を変更した可視化データを生成してもよい。また、空間データ生成部13は、画像認識で認識された空間要素の描画方法を変更した可視化データを生成してもよい。
 可視化データ生成部14は、複数に区分されたエリアにおける可視化データを生成することができる。例えば、可視化データ生成部14は、リビングルーム、寝室、ダイニングルーム、廊下等の壁で仕切られた空間をひとつの部屋としてそれぞれ可視化データを生成する。部屋毎に可視化データを生成することにより、例えば、空間データまたは可視化データの生成を部屋ごとに分けて行うことが可能となり、空間データ等の生成が容易になる。また、ロボット2が移動する可能性があるエリアのみについて空間データ等を作成することが可能となる。可視化データ提供部161は、利用者がエリアを選択可能な可視化データを提供する。可視化データ提供部161は、例えば、利用者が選択したエリアの可視化データを拡大して、または利用者が選択したエリアの詳細な可視化データ提供するようにしてもよい。
 撮影対象認識部15は、撮影画像取得部において取得された撮影画像に基づき、空間要素を画像認識する。空間要素の認識は、例えば機械学習において蓄積された画像認識結果に基づき空間要素が何であるかを判断する画像認識エンジンを用いることにより実行することができる。空間要素の画像認識は、例えば、空間要素の形状、色、模様、空間要素に付された文字または図形等において、認識することができる。撮影対象認識部15は、例えば図示しないクラウドサーバにおいて提供される画像認識サービスを利用することにより空間要素を画像認識できるようにしてもよい。可視化データ生成部14は、撮影対象認識部15において画像認識された空間要素に応じて描画方法を変更した可視化データを生成する。例えば、画像認識された空間要素がソファーであった場合、可視化データ生成部14は、空間要素に布の質感を有するテクスチャを付与した可視化データを生成する。また、画像認識された空間要素が壁であった場合、可視化データ生成部14は、壁紙の色属性(例えば白色)を付与した可視化データを生成してもよい。このような可視化処理を施すことで、利用者はロボット2における空間の認識状態を直観的に把握できる。
 第2通信制御部16は、利用者が所有する利用者端末3との通信を制御する。利用者端末3は、例えば、スマートフォン、タブレットPC、ノートPC、デスクトップPC等である。利用者端末3との通信方式は任意であり、例えば、無線LAN、Bluetooth(登録商標)、または赤外線通信等の近距離無線通信、もしくは有線通信を用いることができる。第2通信制御部16が有する、可視化データ提供部161および指定取得部162の各機能は、第2通信制御部16において制御される通信機能を用いて利用者端末3と通信する。
 可視化データ提供部161は、可視化データ生成部14において生成された可視化データを利用者端末3に対して提供する。可視化データ提供部161は、例えば、Webサーバであり、利用者端末3のブラウザに対してWebページとして可視化データを提供する。可視化データ提供部161は、複数の利用者端末3に対して可視化データを提供するようにしてもよい。利用者は利用者端末3に表示された可視化データを視認することにより、ロボット2が移動可能な範囲を2D又は3Dの表示として確認することができる。可視化データには、家具等の形状が所定の描画方法において描画されている。利用者は利用者端末3を操作することにより、例えば、2D表示と3D表示の切り替え、可視化データのズームインもしくはズームアウト、または3D表示における視点の移動を行うことができる。
 利用者は、利用者端末3に表示された可視化データを視認し、空間データの生成状態やエリアの属性情報を確認することができる。利用者は可視化データの中から空間データが生成されていない領域を指定して、空間データの作成を指示することができる。また、利用者は、利用者端末3に表示された可視化データを視認し、家具等の空間要素の形状が不自然である等、空間データが不正確であると思われる領域があれば、その領域を指定して、空間データの再生成を指示することができる。上述のように、可視化データにおける可視化座標情報は、空間データの座標情報と対応付けられているため、利用者によって再生成が指定された可視化データにおける領域は、空間データにおける領域に一意に特定できる。の座標情報に対応付けられる。再生成された空間データは可視化データ生成部14において可視化データが再生成されて可視化データ提供部161から提供される。なお、再生成された可視化データにおいても空間要素が誤認識されている等、空間データの生成状態が変化しない場合がある。その場合、利用者は、ロボット2の動作パラメータを変化させることにより、空間データの生成を指示するようにしてもよい。動作パラメータとは、例えば、ロボット2における撮影部21における撮影条件(露光量またはシャッター速度等)、図示しないセンサの感度、ロボット2の移動を許可する際のクリアランス条件等である。動作パラメータは、例えばエリアの属性情報として空間データに含めるようにしてもよい。
 可視化データ生成部14は、例えば、空間データの作成(「再作成」を含む。)を指示するボタンの表示を含む可視化データを生成する。利用者端末3は、表示されたボタンを利用者が操作することにより、自律行動型ロボット1に対して空間データの作成の指示を送信することができる。利用者端末3から送信された空間データの作成指示は、指定取得部162において取得される。
 指定取得部162は、可視化データ提供部161において提供された可視化データに基づき利用者に指定された領域の空間データの作成の指示を取得する。指定取得部162は、エリアの属性情報を設定(変更を含む)する指示を取得してもよい。また、指定取得部162は、領域の位置と、ロボットがその領域にアプローチする際の方向、つまり撮影すべき方向を取得する。作成の指示の取得は、例えば可視化データ提供部161において提供されたWebページの操作において実行することができる。これにより、利用者は、ロボット2がどのように空間を認識しているのかを把握し、認識状態に応じて、認識処理のやり直しをロボット2に指示することができる。
 指示部113は、空間データの作成が指示された領域における撮影をロボット2に対して指示する。指示部113は、領域に設置されたマーカの撮影を指示するものであってもよい。空間データの作成が指示された領域における撮影は、例えば、ロボット2(撮影部21)の座標位置、撮影部21の撮影方向、解像度等の撮影条件を含んでいてもよい。空間データ生成部13は、作成が指示された空間データが未生成の領域に関するものである場合、既存の空間データに新たに作成された空間データを追加し、空間データ生成部13は、作成が指示された空間データが再作成に係るものである場合、既存の空間データを更新した空間データを生成する。また、撮影画像にマーカが含まれていた場合、認識されたマーカを含む空間データを生成するようにしてもよい。
 なお、上述のように、図1では自律行動型ロボット1は、データ提供装置10とロボット2とにおいて構成される場合を説明したが、データ提供装置10の機能は、ロボット2の機能に含まれるものであってもよい。例えば、ロボット2は、データ提供装置10の機能を全て含むものであってもよい。データ提供装置10は、例えば、ロボット2において処理能力が不足する場合に、一時的に機能を代替するものであってもよい。
 また、本実施形態において「取得」とは、取得する主体が能動的に取得するものであってもよく、また、取得する主体が受動的に取得するものであってもよい。例えば、指定取得部162は、利用者が利用者端末3から送信した空間データの作成の指示を受信することにより取得してもよく、また、利用者が図示しない記憶領域(不図示)に記憶させた空間データの作成の指示を記憶領域から読み出すことにより取得してもよい。
 また、データ提供装置10が有する、第1通信制御部11、点群データ生成部12、空間データ生成部13、可視化データ生成部14、撮影対象認識部15、第2通信制御部16、撮影画像取得部111、空間データ提供部112、指示部113、可視化データ提供部161、指定取得部162の各機能部は、本実施形態における自律行動型ロボット1の機能の一例を示したものであり、自律行動型ロボット1が有する機能を限定したものではない。例えば、自律行動型ロボット1は、データ提供装置10が有する全ての機能部を有している必要はなく、一部の機能部を有するものであってもよい。また、自律行動型ロボット1は、上記以外の他の機能部を有していてもよい。また、ロボット2が有する、マーカ認識部22、移動制御部23、制限範囲設定部231および状態情報取得部24の各機能部は、本実施形態における自律行動型ロボット1の機能の一例を示したものであり、自律行動型ロボット1が有する機能を限定したものではない。例えば、自律行動型ロボット1は、ロボット2が有する全ての機能部を有している必要はなく、一部の機能部を有するものであってもよい。
 また自律行動型ロボット1が有する上記各機能部は、上述の通り、ソフトウェアによって実現されるものとして説明した。しかし、自律行動型ロボット1が有する上記機能の中で少なくとも1つ以上の機能は、ハードウェアによって実現されるものであっても良い。
 また、自律行動型ロボット1が有する上記何れかの機能は、1つの機能を複数の機能に分割して実施してもよい。また、自律行動型ロボット1が有する上記何れか2つ以上の機能を1つの機能に集約して実施してもよい。すなわち、図1は、自律行動型ロボット1が有する機能を機能ブロックで表現したものであり、例えば、各機能がそれぞれ別個のプログラムファイルで構成されていることを示すものではない。
 また、自律行動型ロボット1は、1つの筐体によって実現される装置であっても、ネットワーク等を介して接続された複数の装置から実現されるシステムであってもよい。例えば、自律行動型ロボット1は、その機能の一部または全部をクラウドコンピューティングシステムによって提供されるクラウドサービス等、仮想的な装置によって実現するものであってもよい。すなわち、自律行動型ロボット1は、上記各機能のうち、少なくとも1以上の機能を他の装置において実現するようにしてもよい。また、自律行動型ロボット1は、タブレットPC等の汎用的なコンピュータであってもよく、また機能が限定された専用の装置であってもよい。
 また、自律行動型ロボット1は、その機能の一部または全部をロボット2または利用者端末3において実現するものであってもよい。
 次に、図2を用いて、自律行動型ロボット1(ロボット2の制御部)のハードウェア構成を説明する。図2は、実施形態における自律行動型ロボット1のハードウェア構成の一例を示すブロック図である。
 自律行動型ロボット1は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、タッチパネル104、通信I/F(Interface)105、センサ106および時計107を有する。自律行動型ロボット1は、図1で説明した自律行動型ロボット制御プログラムを実行する装置である。
 CPU101は、RAM102またはROM103に記憶された自律行動型ロボット制御プログラムを実行することにより、自律行動型ロボット1の制御を行う。自律行動型ロボット制御プログラムは、例えば、自律行動型ロボット制御プログラムを記録した記録媒体、又はネットワークを介したプログラム配信サーバ等から取得されて、ROM103にインストールされ、CPU101から読出されて実行される。
 タッチパネル104は、操作入力機能と表示機能(操作表示機能)を有する。タッチパネル104は、自律行動型ロボット1の利用者に対して指先又はタッチペン等を用いた操作入力を可能にする。本実施形態における自律行動型ロボット1は操作表示機能を有するタッチパネル104を用いる場合を説明するが、自律行動型ロボット1は、表示機能を有する表示装置と操作入力機能を有する操作入力装置とを別個有するものであってもよい。その場合、タッチパネル104の表示画面は表示装置の表示画面、タッチパネル104の操作は操作入力装置の操作として実施することができる。なお、タッチパネル104は、ヘッドマウント型、メガネ型、腕時計型のディスプレイ等の種々の形態によって実現されてもよい。
 通信I/F105は、通信用のI/Fである。通信I/F105は、例えば、無線LAN、有線LAN、赤外線等の近距離無線通信を実行する。図2において通信用のI/Fは通信I/F105のみを図示するが、自律行動型ロボット1は複数の通信方式においてそれぞれの通信用のI/Fを有するものであってもよい。通信I/F105は、図示しない撮影部21を制御する制御部または移動機構29を制御する制御部との通信を行うものであってもよい。
 センサ106は、撮影部21のカメラ、TOFもしくはサーモカメラ等のハードウェア、マイク、温度計、照度計、または近接センサ等のハードウェアである。これらのハードウェアによって取得されたデータは、RAM102に記憶されて、CPU101で処理される。
 時計107は、時刻情報を取得するための内部時計である。時計107で取得された時刻情報は、例えば、進入を禁止する時間帯の確認に使用される。
 次に、図3を用いて、ロボット制御プログラムの可視化データ提供に係る動作を説明する。図3は、実施形態におけるロボット制御プログラムの動作の一例を示すフローチャートである。以下のフローチャートの説明において、動作の実行主体は自律行動型ロボット1であるものとして説明するが、それぞれの動作は、上述した自律行動型ロボット1の各機能において実行される。
 図3において、自律行動型ロボット1は、撮影画像を取得したか否かを判断する(ステップS11)。撮影画像を取得したか否かの判断は、撮影画像取得部111がロボット2から、撮影画像を取得したか否かで判断することができる。撮影画像を取得したか否かの判断は、撮影画像の処理単位で判断される。例えば、撮影画像が動画である場合、動画はロボット2から連続して送信されるため、撮影画像を取得したか否かの判断は、取得された動画のフレーム数またはデータ量等が所定の値に達したか否かで行うことができる。撮影画像の取得は、移動式ロボットが主体となって撮影画像を送信するものであっても、撮影画像取得部111が主体となって移動式ロボットから撮影画像を引き取るものであってもよい。撮影画像を取得していないと判断した場合(ステップS11:NO)、自律行動型ロボット1は、ステップS11の処理を繰返し、撮影画像が取得されるのを待機する。
 一方、撮影画像を取得したと判断した場合(ステップS12:NO)、自律行動型ロボット1は、点群データを生成する(ステップS12)。点群データの生成は、点群データ生成部12が、例えば、撮影画像中の輝度の変化が大きい点を特徴点として検出し、検出された特徴点に対して三次元の座標を与えることにより実行することができる。特徴点の検出は、例えば、撮影画像に対して微分処理を行い、階調変化の大きい部分を検出するようにしてもよい。また、特徴点に対する座標の付与は、異なる撮影角度から撮影された同一の特徴点を検出することにより実行してもよい。ステップS11における撮影画像の取得の有無の判断は、複数の方向から撮影された撮影画像を取得したか否かで判断することができる。
 ステップS12の処理を実行した後、自律行動型ロボット1は、空間データを生成する(ステップS13)。空間データの生成は、空間データ生成部13が、例えば、点群データをハフ変換することにより実行することができる。なお、ステップS13の詳細は図4において説明する。
 ステップS13の処理を実行した後、自律行動型ロボット1は、生成した空間データをロボット2に対して提供する(ステップS14)。ロボット2に対する空間データの提供は、図3に示すように空間データ生成の都度、逐次提供するようにしてもよく、また、ステップS11~ステップS18で示す処理とは非同期に提供するようにしてもよい。空間データを提供されたロボット2は、空間データに基づき移動可能範囲を把握することが可能となる。
 ステップS14の処理を実行した後、自律行動型ロボット1は、空間要素を認識するか否かを判断する(ステップS15)。空間要素を認識するか否かの判断は、例えば、撮影対象認識部15に対して空間要素を認識するか否かの設定を行うことにより実行することができる。なお、空間要素を認識すると判断した場合であっても、認識に失敗した場合は、空間要素を認識しないと判断するようにしてもよい。
 空間要素を認識すると判断した場合(ステップS15:YES)、自律行動型ロボット1は、第1可視化データを生成する(ステップS16)。第1可視化データの生成は、可視化データ生成部14において実行することができる。第1可視化データとは、撮影対象認識部15が空間要素を認識した上で生成される可視化データである。例えば、撮影対象認識部15が空間要素をテーブルであると判断した場合、可視化データ生成部14は、テーブルの上面が撮影されておらず点群データを有さない場合であっても、テーブルの上面は平らであるものとして可視化データを生成することができる。また、空間要素が壁であると判断された場合、可視化データ生成部14は、撮影されていない部分も平面であるとして可視化データを生成することができる。
 空間要素を認識しないと判断した場合(ステップS15:NO)、自律行動型ロボット1は、第2可視化データを生成する(ステップS17)。第2可視化データの生成は、可視化データ生成部14において実行することができる。第2可視化データとは、撮影対象認識部15が空間要素を認識しないで、すなわち、撮影画像から生成された点群データ及び空間データに基づき生成される可視化データである。自律行動型ロボット1は、空間要素の認識処理を行わないことで、処理負荷を軽減することができる。
 ステップS16の処理またはステップS17の処理を実行した後、自律行動型ロボット1は、可視化データを提供する(ステップS18)。可視化データの提供は、可視化データ生成部14において生成された可視化データを可視化データ提供部161が利用者端末3に提供することにより実行される。自律行動型ロボット1は、例えば利用者端末3からの要求に応じて可視化データを生成して提供するようにしてもよい。ステップS18の処理を実行した後、自律行動型ロボット1は、フローチャートで示した動作を終了する。
 次に、図4を用いて、ロボット制御プログラムの空間データ生成に係る動作を説明する。図4は、実施形態におけるロボット制御プログラムの動作の他の一例を示すフローチャートである。
 図4において、自律行動型ロボット1は、空間データを生成する(ステップS121)。空間データの生成は、空間データ生成部13が、例えば、点群データをハフ変換することにより実行することができる。ステップS131を実行した後、自律行動型ロボット1は、マーカを認識したか否かを判断する(ステップS122)。マーカを認識したか否かは、マーカ認識部22が、撮影部21において撮影された撮影画像の中にマーカの画像を認識したか否かで判断することができる。ロボット2は、データ提供装置10に対してマーカの認識結果を通知することができる。
 マーカを認識したと判断した場合(ステップS122:YES)、自律行動型ロボット1は、ステップS121において生成した空間データに移動が制限される制限範囲を設定する(ステップS123)。
 マーカを認識していないと判断した場合(ステップS122:NO)、自律行動型ロボット1は、状態情報が取得されているか否かを判断する(ステップS124)。状態情報が取得されているか否かは、状態情報取得部24において状態情報が取得されているか否かで判断することができる。状態情報が取得されていると判断した場合(ステップS124:YES)、自律行動型ロボット1は取得された状態情報を空間データに対応させて設定する(ステップS125)。なお、設定された状態情報は、可視化データ提供部161から可視化データに対応させて提供される。
 一方、状態情報が取得されていない判断した場合(ステップS124:NO)、ステップS123の処理を実行した後、またはステップS125の処理を実行した後、自律行動型ロボット1は、フローチャートで示したステップS12の提供データ生成の動作を終了する。
 なお、本実施形態で説明したロボット制御プログラムの動作(ロボット制御方法)における各ステップにおける処理は、実行順序を限定するものではない。
 次に、図5を用いて、ペアのマーカの設置による進入禁止ラインの設定方法を説明する。図5は、実施形態における進入禁止ラインの設定方法を示す図である。
 <ペアのマーカによる通路への進入禁止ラインの設置>
 図5において、壁1と壁2の間、および壁1と壁3の間には、ロボット2が移動可能な通路(出入口)が存在しているものとする。利用者は、壁1と壁2の間において、壁1側に第1マーカとしてマーカ1aを設置し、さらに壁2側に第2マーカとしてマーカ1bを設置する。マーカ1aとマーカ1bはマーカ認識部22によってペアのマーカであると認識される。制限範囲設定部231は、マーカ1aとマーカ1bを直線で結んだ線を進入禁止ライン1として設定する。進入禁止ライン1を設定することにより、利用者はロボット2が進入禁止ライン1を越えて移動することを制限することができる。
 <単独のマーカによる通路への進入禁止ラインの設置>
 利用者は、壁1と壁3の間の通路において、通路の近くの壁1側にマーカ2を設置する。マーカ2はマーカ認識部22によって単独のマーカであると認識される。制限範囲設定部231は、マーカ2の近くに通路があるか否かを確認する。通路がある場合、制限範囲設定部231は、マーカ2の設置位置と通路の位置から、通路上の直線を進入禁止ライン2として設定する。制限範囲設定部231がマーカ2の付近に通路があるか否かを確認することができるので、利用者は、単独のマーカにおいても通路へのロボットの進入を禁止することが可能となる。
 <単独のマーカによる第1進入禁止エリアの設置>
 利用者は、壁3にマーカ3を貼り付ける。マーカ3はマーカ認識部22によって単独のマーカであると認識される。制限範囲設定部231は、マーカ3の近くに通路があるか否かを確認する。通路がない場合、制限範囲設定部231は、マーカ2の設置位置から所定の範囲(例えば、マーカ3の設置位置を中心とした半円形)を第1進入禁止エリアとして設定する。
 <単独のマーカによる第2進入禁止エリアの設置>
 利用者は、部屋の中央部にマーカ4を設置する。マーカ4は、例えば、立体的なマーカである。マーカ4はマーカ認識部22によって単独のマーカであると認識される。制限範囲設定部231は、マーカ4の周囲の所定の範囲(例えば、マーカ4の設置位置を中心とした円形)を第2進入禁止エリアとして設定する。
 次に、図6から図7を用いて、自律行動型ロボット1が提供する利用者端末3における制限範囲の設定を説明する。図6から図7は、実施形態における利用者端末3の表示の一例を示す図である。図6から図7は、可視化データ提供部161から可視化データとして提供されたWebページを、利用者端末3として例示するスマートフォンのタッチパネルにおいて表示した表示例である。
 図6において、利用者端末3には、ロボット2において撮影されたリビングルームの撮影画像に基づき、可視化データ生成部14において生成された2Dの表示データが表示される。可視化データ生成部14は、点群データがハフ変換されて抽出された線分(直線または曲線)をラスタライズし、壁や家具等の空間要素の境界線を2Dで描画している。可視化データ生成部14は、マーカ認識部22で認識されたペアのマーカ画像または状態情報取得部24で取得された状態情報に基づき、進入禁止ライン36を表示している。進入禁止ライン36は、始点と終点を指定することにより設定することができる。始点と終点の設定は、ペアのマーカの設置、または利用者端末3からの設定によって行うことができる。進入禁止ライン36の中央部には進入禁止のマークが表示されている。進入禁止のマークを押下すると削除ボタン37が表示される。削除ボタン37を押下すると一度設定した進入禁止ライン36を消去することができる。なお、図示する家型のアイコンhは、ロボット2が充電のために帰巣するホームポジションを表している。
 図6は、進入禁止ライン36より右側は空間データが未作成なエリアである。利用者は進入禁止ライン36を利用者端末3に表示された可視化データから設定し、確認し、または削除することができる。すなわち、自律行動型ロボット1は、撮影部21で撮影された画像からロボット2が移動可能な範囲を定めた可視化されたマップを生成できるとともに、ロボット2が進入できない進入禁止エリアを利用者端末3から設定することを可能にする。なお、利用者端末3は、ロボット2の移動を制限する条件を設定できるようにしてもよい。例えば、利用者端末3は、利用者に対して、ロボット2の進入を禁止する時間帯、人の有無に対する移動の制限の内容、移動を制限するときの照明の状態等を設定できるようにしてもよい。例えば、利用者端末3は、人が食事の準備をする朝夕の時間帯においてキッチンへの進入を禁止したり、照明が消えている場合において書斎への侵入を禁止したりするように条件を設定できるようにしてもよい。
 図7において、利用者端末3には、図6と同様にロボット2において撮影されたリビングルームの撮影画像に基づき、可視化データ生成部14において生成された2Dの可視化データが表示される。進入禁止ライン36の右側には洋室の可視化データが表示され、進入禁止ライン36によってロボット2が洋室38に進入が禁止されていることが確認できる。例えば、洋室38の撮影画像に基づき洋室38の空間データが生成された後に洋室38を進入禁止に設定したい場合がある。利用者はペアの進入禁止のためのマーカを洋室38の入り口に設置することにより、または利用者端末3から進入禁止ライン36を設定することにより、洋室38を進入禁止のエリアに設定することが可能となる。また、洋室38は既に空間データが生成されているため、利用者は、進入禁止ライン36を削除することにより、ロボット2を洋室38に移動できることが確認できる。なお、利用者は、利用者端末3のタッチパネルをピンチインまたはピンチアウトすることにより、表示の拡大縮小を行うことができる。
 実施形態1の変形例として、例えば、図1の可視化データ提供部161は、可視化データとともに、その元となった画像を利用者端末3に提供してもよい。例えば、利用者が利用者端末3に表示されている間取りの一部を指定することで、そこを撮影した画像が表示されるようにしてもよい。すなわち、空間要素毎にその特定に用いた画像が蓄積され、利用者が空間要素を指定した際は、その空間要素に対応付けられた画像が提供される。これにより、利用者は可視化データから認識状態を判断できないときに、画像を用いて認識状態を判断できる。
 更に別の変形例として、図6を用いて説明した進入禁止の制限範囲の指定方法として、利用者端末3のタッチパネルの画面に対して、指先で円を描く要領で指先を滑らせる操作でよく、制限範囲を囲むように指先を動かすことで指定する。この操作に連動して、画面には指先の軌跡が描かれ、可視化データに重ねるように指先の軌跡が可視化される。
 また、マーカが平面的である場合、上述のようにマーカの撮影角度によっては、マーカの認識ができない場合がある。例えば、道路標識の場合は、車の走行に対して運転者が視認しやすいように走行方向と略直角になるように設置される。しかし、ロボット2が移動する経路においては壁にマーカが貼り付けられる場合があり、カメラの撮影方向によってはマーカが見落とされる可能性がある。例えば、図5で示したマーカ2は壁1に貼り付けられるため、ロボット2が壁3沿いにマーカ3に向かって移動した場合、マーカを確認する前に通路に進入してしまう可能性がある。そこで、本実施形態の変形例として、ロボット2が進入可能な空間(例えば、壁に設けられた通路)を発見した場合、空間の入り口近くにマーカが設置されていないか否かの積極的な確認動作を行うようにする。例えば、空間の入り口が壁の間に設けられた通路である場合、マーカは通路の入り口近くの壁に貼り付けられている可能性がある。ロボット2は通路の入り口の壁に設置されている可能性があるマーカを視認しやすい位置、例えば通路正面の位置に移動して、壁を撮影する積極的な確認動作を行うことによりマーカの見落としを防止することが可能となる。なお、マーカの積極的な確認動作は、環境条件が異なるエリアの発見時またはそのエリアへの侵入時に行うようにしてもよい。環境条件とは、例えば、ロボット2が移動する空間の照度、温度、湿度もしくは騒音レベル等であり、環境条件の変化には壁の色等の空間要素の変化等を含んでいてもよい。
 また、制限範囲設定部231は、マーカが設置されている設置位置の空間データの代わりに、マーカが設置されている周辺の特徴点に基づき制限範囲を設定するようにしてもよい。周辺の特徴点とは、例えば、床に配置されたケーブル、段差等の空間要素である。マーカが設置されている特徴点を学習することにより、マーカが設置されていない他の同様な特徴点を有する場所においても移動を制限する学習効果を得ることが可能となる。
 また、ロボットが複数台存在する場合、移動の制限の内容をロボット毎に異なる内容で設定するようにしてもよい。例えば、同じマーカを認識した場合、ロボットによって制限される進入禁止エリアを異なるように設定してもよい。ロボット毎に制限内容を変えて設定することにより、ロボットの用途(例えば、掃除用ロボット、目覚まし用ロボット等)に応じた制限を設定することが可能となる。
 また、ロボットは、マーカによって一度設定された制限の内容を学習するようにしてもよい。例えば、ロボットは一時マーカによって進入禁止エリアが設定されたことを学習することにより、その後、マーカが撤去された後においても進入頻度を低くするようにしてもよい。これを実現するため、マーカ認識部22は、一時マーカや恒久マーカの位置を、それぞれマーカ種類を特定する情報に対応付けて記憶する。このように、一時マーカの位置も記憶しておくことで、ロボットは、一時マーカが設置されていたエリアへの進入をためらう振る舞いをしたり、エリアへの進入頻度を低くしたりする等の動作を実行することが可能となる。
[実施形態2]
 実施形態1では進入禁止の場所を自律行動型ロボット1に認識させるためにマーカを用いる例を示したが、任意の場所を自律行動型ロボット1に認識させるためにマーカを用いてもよい。つまり、住居や施設における任意の場所にマーカを設置し、自律行動型ロボット1に当該マーカが設置された場所の位置を認識させるようにしてもよい。
 住宅には、玄関、子供部屋や寝室のように任意のエリアが含まれる。施設には、受付カウンター、休憩所や非常口などの任意のエリアが含まれる。これらのエリアに対応付けられたエリア種別(例えば、後述する玄関タイプや受付カウンタータイプ)を識別可能なマーカを用いる。マーカは、形状、模様、色彩若しくはそのマーカに付された文字若しくは図形又はこれらの組み合わせなど、画像認識によりエリア種別が識別可能な特徴を有していれば、どのようなものであってもよい。例えば、汎用的な変換方式(バーコード方式あるいは2次元バーコード方式など)でエリア種別のコードを図形化した図形コードをマーカとして用いてもよい。この場合には、マーカ認識部22は、当該変換方式によって図形コードからエリア種別のコードを読み取ることができる。あるいは、独自にデザイン化した図形をマーカとして用いてもよい。この場合には、マーカ認識部22は、撮影画像に含まれる図形の形状が所定の形状である場合にその図形の種類を特定し、特定した図形の種類に対応するエリア種別を特定するようにしてもよい。データ提供装置10又はロボット2において、図形の種類とエリア種別を対応付けるデータを記憶しておくものとする。つまり、実施形態2におけるマーカは、いずれかのエリア種別を特定し得る。
 このようなマーカを、エリア種別によって識別されるエリアに設置しておけば、自律行動型ロボット1は、マーカの設置場所がエリア種別で識別されるエリアに該当すると認識できる。例えば、玄関に玄関タイプのマーカを設置しておけば、自律行動型ロボット1は玄関タイプのマーカの設置場所が玄関であると認識できる。
 実施形態2では、自律行動型ロボット1において、所定イベントとエリア種別とを対応付けるマーカ情報を記憶している。自律行動型ロボット1が所定イベントを検出すると、ロボット2は、所定イベントに対応するエリア種別のマーカが設置されている場所(マーカ設置場所という。)へ移動する。ロボット2が、マーカ設置場所へ移動する契機となる所定イベントを第1イベントという。第1イベントは、ロボット2で検出される場合とデータ提供装置10で検出される場合とがある。
 さらに、ロボット2がマーカ設置場所へ移動した後に、自律行動型ロボット1が別の所定イベントを検出すると、ロボット2は所定のアクションを実行する。ロボット2が、所定のアクションを実行する契機となるイベントを第2イベントという。第2イベントは、ロボット2で検出される場合とデータ提供装置10で検出される場合とがある。実行されるアクションは、第1イベント、エリア種別及び第2イベントのうちの少なくとも1つに対応する。実施形態2では、自律行動型ロボット1において、第1イベント、エリア種別及び第2イベントのうち少なくとも1つとアクションとを対応付けるイベント情報を記憶している。ロボット2において、当該イベント情報を記憶してもよい。
 図8は、実施形態2におけるロボット2のモジュール構成の一例を示すブロック図である。図8は、後述する実施例1~6に関する機能部についても示している。ロボット2は、マーカ認識部22、位置測定部25、移動制御部23、通信制御部26、第1イベント検出部210、第2イベント検出部220及びアクション実行部230の各機能部を有する。実施形態2におけるロボット2の上記各機能部は、ロボット2を制御するプログラムによって実現される機能モジュールであるものとして説明する。
 マーカ認識部22は、撮影画像に含まれるマーカを認識し、マーカが示すエリア種別を特定する。位置測定部25は、ロボット2の現在位置及び方向を測定する。位置測定部25は、撮影画像に基づいて現在位置及び方向を測定してもよいし、所定の位置に設置された無線通信デバイスから受信する電波に基づいて現在位置を測定してもよい。現在位置を測定する方法は、従来技術であってもよい。位置測定部25は、自己位置の推定と環境地図の作成を同時に行うSLAM(Simultaneous Localization and Mapping)技術を用いてもよい。移動制御部23は、ロボット2の移動を制御する。移動制御部23は、目的地までの経路を設定し、移動機構29を駆動して経路を辿って目的地へ自らを移動させる。通信制御部26は、データ提供装置10との通信を行う。
 第1イベント検出部210は、第1イベントを検出する。第1イベント検出部210は、音声認識や画像認識などの認識処理の結果に基づいて第1イベントを検出してもよい。つまり、第1イベント検出部210は、ロボット2が備えるマイクで入力した音が所定音声に該当すると推測される特性が含まれると判断した場合に、第1イベントを検出してもよい。第1イベント検出部210は、例えば予めサンプルとなる所定音声を録音して、その音声を分析して周波数分布、抑揚や音量が高まる周期などの特徴データを抽出しておく。そして、第1イベント検出部210は、マイクで入力した音に対しても同様の分析を行い、周波数分布、抑揚や音量が高まる周期などの特徴データがサンプルの場合と一致又は近似する場合に、マイクで入力した音が所定音声に該当すると推測してもよい。
 また、第1イベント検出部210は、撮影部21で撮影した画像に任意の人、所定の人あるいは所定の物が写っていると推測される場合に、第1イベントを検出してもよい。第1イベント検出部210は、例えば予めサンプルとなる任意の人、所定の人あるいは所定の物を撮影部21で撮影し、その撮影画像を分析して被写体の大きさ、形状及びパーツの配置などの特徴データを抽出しておく。そして、第1イベント検出部210は、撮影部21で撮影した画像を分析して、サンプルに大きさ、形状及びパーツの配置などの特徴データが共通又は近似する被写体が含まれると判定した場合に、撮影した画像に任意の人、所定の人あるいは所定の物が写っていると推測してもよい。
 第1イベント検出部210は、温度センサ、接触センサあるいは加速度センサなどの各種センサの計測結果に基づいて第1イベントを検出してもよい。第1イベント検出部210は、センサの計測値が所定の下限値を下回った場合、センサの計測値が所定の範囲に収まった場合、センサの計測値が所定の範囲から外れた場合、あるいはセンサの計測値が所定の上限値を上回った場合に、第1イベントを検出してもよい。第1イベント検出部210は、例えば温度センサによって人の体温に相当する温度を計測したときに第1イベントを検出してもよい。第1イベント検出部210は、例えば接触センサによって人のタッチに相当する接触を計測したときに第1イベントを検出してもよい。第1イベント検出部210は、交通事故の衝撃や地震などの大きな揺れに相当する加速度の変化を加速度センサによって計測したときに第1イベントを検出してもよい。
 第1イベント検出部210は、通信処理における通信状態に基づいて第1イベントを検出してもよい。第1イベント検出部210は、例えば無線通信における電波強度、所定の通信相手との通信時間あるいは所定時間当たりの伝送量などの通信状態を示す特性値が下限値を下回った場合、通信状態を示す特性値が所定の範囲に収まった場合、通信状態を示す特性値が所定の範囲から外れた場合、あるいは通信状態を示す特性値が所定の上限値を上回った場合に、第1イベントを検出してもよい。
 第1イベント検出部210は、データ提供装置10、利用者端末3あるいは他の外部装置から受信したデータに基づいて、第1イベントを検出してもよい。第1イベント検出部210は、例えばデータ提供装置10や他の外部装置から所定の通知を受信した場合に、第1イベントを検出してもよい。第1イベント検出部210は、利用者端末3から利用者による所定の要求を受け付けた場合に、第1イベントを検出してもよい。
 音声認識部211、電波状態検出部213、見回りイベント検出部215及び起床イベント検出部217は、第1イベント検出部210の例である。音声認識部211については、実施例2(子守の応用例)で説明する。電波状態検出部213については、実施例4(通話サポートの応用例)で説明する。見回りイベント検出部215については、実施例5(警備の応用例)で説明する。起床イベント検出部217については、実施例6(目覚ましの応用例)で説明する。
 第2イベント検出部220は、第2イベントを検出する。第2イベント検出部220は、第1イベント検出部210の場合と同様に、音声認識や画像認識などの認識処理の結果に基づいて第2イベントを検出してもよい。第2イベント検出部220は、第1イベント検出部210の場合と同様に、温度センサ、接触センサあるいは加速度センサなどの各種センサの計測結果に基づいて第2イベントを検出してもよい。第2イベント検出部220は、第1イベント検出部210の場合と同様に、通信処理における通信状態に基づいて第2イベントを検出してもよい。第2イベント検出部220は、第1イベント検出部210の場合と同様に、データ提供装置10、利用者端末3あるいは他の外部装置から受信したデータに基づいて、第2イベントを検出してもよい。
 利用者認識部221、通話要求受付部223、人認識部225及び体位認識部227は、第2イベント検出部220の例である。利用者認識部221については、実施例1(出迎えの応用例)で説明する。通話要求受付部223については、実施例4(通話サポートの応用例)で説明する。人認識部225については、実施例5(警備の応用例)で説明する。体位認識部227については、実施例6(目覚ましの応用例)で説明する。
 アクション実行部230は、第2イベントを契機とするアクションを実行する。アクション実行部230は、ロボット2自身の動きを伴うアクションを実行してもよい。アクション実行部230は、ロボット2における画像、音声あるいは通信などの入力処理を伴うアクションを実行してもよい。アクション実行部230は、ロボット2における画像、音声あるいは通信などの出力処理を伴うアクションを実行してもよい。
 姿勢制御部231、音声出力部232、リモートコントロール部233、メッセージ出力部235及び電話通信部237は、アクション実行部230の例である。また、移動制御部23が、アクション実行部230として機能することもある。移動制御部23がアクション実行部230として機能する場合、移動制御部23は、移動機構29を制御して、ロボット2の移動に関するアクションを行う。姿勢制御部231は、ロボット2の姿勢に関するアクションを行う。ロボット2が人や仮想キャラクタを模した形体を有し、首や腕をアクチュエータで動かすことができるものであれば、姿勢制御部231は、アクチュエータを駆動してロボット2に種々のポーズをとらせたり、種々のジェスチャーを行わせたりしてもよい。ロボット2が四足の動物を模した形体を有し、関節部分に設けられたアクチュエータで各足を動かすことができるものであれば、姿勢制御部231は、アクチュエータを駆動してロボット2に種々のポーズをとらせたり、種々のジェスチャーを行わせたりしてもよい。
 リモートコントロール部233については、実施例2(子守の応用例)及び実施例6(目覚ましの応用例)で説明する。メッセージ出力部235については、実施例3(接客の応用例)で説明する。電話通信部237については、実施例4(通話サポートの応用例)で説明する。
 図9は、実施形態2におけるデータ提供装置10のモジュール構成の一例を示すブロック図である。図9は、後述する実施例1~6に関する機能部についても示している。ロボット2は、第1通信制御部11、第2通信制御部16、マーカ登録部110、第1イベント検出部120、第2イベント検出部130及びアクション選択部140の各機能部を有する。実施形態2におけるデータ提供装置10の上記各機能部は、データ提供装置10を制御するプログラムによって実現される機能モジュールであるものとして説明する。
 第1通信制御部11は、ロボット2との無線通信を制御する。第2通信制御部16は、利用者端末3や他の外部機器などとの無線通信あるいは有線通信を制御する。マーカ登録部110は、後述するマーカ情報記憶部153にマーカの位置及び向きを含むマーカ情報を登録する。
 第1イベント検出部120は、第1イベントを検出する。第1イベント検出部120は、ロボット2の第1イベント検出部210の場合と同様に、音声認識や画像認識などの認識処理の結果に基づいて第1イベントを検出してもよい。第1イベント検出部120は、ロボット2の第1イベント検出部210の場合と同様に、ロボット2の温度センサ、接触センサあるいは加速度センサなどの各種センサの計測結果に基づいて第1イベントを検出してもよい。第1イベント検出部120は、ロボット2の第1イベント検出部210の場合と同様に、通信処理における通信状態に基づいて第1イベントを検出してもよい。第1イベント検出部120は、ロボット2の第1イベント検出部210の場合と同様に、利用者端末3あるいは他の外部装置から受信したデータに基づいて、第1イベントを検出してもよい。第1イベント検出部120は、ロボット2から受信したデータに基づいて、第1イベントを検出してもよい。
 帰宅イベント検出部121及び来客イベント検出部123は、第1イベント検出部120の例である。帰宅イベント検出部121については、実施例1(出迎えの応用例)で説明する。来客イベント検出部123については、実施例3(接客の応用例)で説明する。
 第2イベント検出部130は、第2イベントを検出する。第2イベント検出部130は、ロボット2の第1イベント検出部210の場合と同様に、音声認識や画像認識などの認識処理の結果に基づいて第2イベントを検出してもよい。第2イベント検出部130は、ロボット2の第1イベント検出部210の場合と同様に、ロボット2の温度センサ、接触センサあるいは加速度センサなどの各種センサの計測結果に基づいて第2イベントを検出してもよい。第2イベント検出部130は、ロボット2の第1イベント検出部210の場合と同様に、通信処理における通信状態に基づいて第2イベントを検出してもよい。第2イベント検出部130は、ロボット2の第1イベント検出部210の場合と同様に、利用者端末3あるいは他の外部装置から受信したデータに基づいて、第2イベントを検出してもよい。第2イベント検出部130は、ロボット2から受信したデータに基づいて、第2イベントを検出してもよい。
 空き室イベント検出部131は、第2イベント検出部130の例である。空き室イベント検出部131については、実施例3(接客の応用例)で説明する。アクション選択部140は、第1イベント、エリア種別及び第2イベントのうちの少なくとも1つに対応するアクションを選択する。以下では、主に第1イベントと第2イベントの組み合わせに対応するアクションを選択する例を示す。
 ロボット2は、さらにイベント情報記憶部151及びマーカ情報記憶部153を有する。イベント情報記憶部151は、第1イベントに対応するエリア種別、第2イベント及びアクションを含むイベント情報を記憶する。イベント情報記憶部151については、図10に関連して後述する。マーカ情報記憶部153は、エリア種別とマーカの位置及び向きを対応付けるマーカ情報を記憶する。マーカ情報記憶部153については、図11に関連して後述する。
 図10は、実施形態2におけるイベント情報記憶部151のデータ構成の一例を示すブロック図である。図10の各レコードは、第1イベントが検出された場合に、第1イベントに対応するエリア種別のマーカが設置されている場所へロボット2が移動することを定めている。さらに図10の各レコードは、第2イベントが検出された場合に、例えば第1イベントと第2イベントの組み合わせに対応するアクションをロボット2が実行することを定めている。各レコードの詳細については、実施例1~6で説明する。イベント情報は、デフォルトとして設定されていてもよいし、利用者端末3のアプリケーションで利用者が設定してもよい。
 図11は、実施形態2におけるマーカ情報記憶部153のデータ構成の一例を示すブロック図である。図11の各レコードには、エリア種別に対応付けて当該エリア種別のマーカの位置及び向きが設定される。
 予め利用者は、住宅や施設の任意の位置にその位置の付近のエリアを識別するエリア種別のマーカを貼り付けておく。そして、マーカ登録フェーズにおいて、ロボット1が未知のマーカを検出すると、データ提供装置10がマーカ情報を登録する。
 図12(A)は、実施形態2のマーカ登録フェーズにおける処理手順を示すフローチャートである。例えばロボット2が自律的に移動しているときに未知のマーカを検出することがある(S21)。具体的には、ロボット2のマーカ認識部22は、撮影部21で撮影した画像に含まれるマーカを認識し、当該マーカが示すエリア種別を特定する。マーカ認識部22は、過去に検出したことがあるマーカを記憶しており、記憶されているマーカと検出されたマーカとを比較することで、未検出のマーカを判別できる。
 マーカ認識部22は、未検出のマーカを認識したと判断した場合に、画像認識によってロボット2とマーカの相対的な位置関係と方向を特定する。マーカ認識部22は、撮影画像に含まれるマーカの大きさによって、ロボット2とマーカの距離を求める。また、マーカ認識部22は、撮影画像に含まれるマーカのゆがみ方によって、ロボット2に対するマーカの向きを判断する。そして、マーカ認識部22は、位置測定部25で測定したロボット2の現在位置及び方向を基準として、マーカの位置及び向きを求める。通信制御部26は、エリア種別と当該エリア種別のマーカの位置及び向きを含むマーカ情報をデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11がマーカ情報を受信すると、マーカ登録部110は、エリア種別に対応付けて当該エリア種別のマーカの位置及び向きをマーカ情報記憶部153に登録する(ステップS22)。
 マーカ登録フェーズを終えると、アクションフェーズにおいて、第1イベントを契機としてロボット2がマーカ設置場所へ移動して、第2イベントを契機としてロボット2が所定のアクションを行う。
 図12(B)は、実施形態2のアクションフェーズにおける処理手順を示すフローチャートである。ロボット2の第1イベント検出部210又はデータ提供装置10の第1イベント検出部120が第1イベントを検出すると(S23)、データ提供装置10のアクション選択部140は、第1イベントに対応するマーク種別を特定し、マーク種別のマークの位置への移動をロボット2へ指示する。ロボット2の移動制御部23は、移動の指示に従ってマーク位置への経路を設定して移動機構29を制御する。移動機構29の動作によって、ロボット2はマーク付近へ移動する(S24)。
 ロボット2の第2イベント検出部220又はデータ提供装置10の第2イベント検出部130が第2イベントを検出すると、データ提供装置10のアクション選択部140は、例えば第1イベントと第2イベントの組み合わせに対応するアクションを選択し、選択したアクションをロボット2に指示する。そして、ロボット2は、指示されたアクションを実行する(S26)。以下、実施形態2に関する実施例1~6について説明する。
[実施例1]
 自律行動型ロボット1による出迎えの応用例について説明する。出迎えの応用例では、ユーザが帰宅したときに、ロボット2が玄関へ向かい、ユーザを出迎えるようにする。エリアとして玄関を識別するエリア種別のマーカを玄関に設置しておけば、自律行動型ロボット1はそのマーカの設置場所が玄関であると認識できる。玄関を識別するエリア種別を玄関タイプという。
 利用者が帰宅するタイミングは、利用者が保持する利用者端末3のGPS装置(Global Positioning System)が計測した位置が自宅に近づいたことによって判断できる。例えば、利用者端末3の位置と玄関(又はデータ提供装置10)の距離が基準長よりも短くなった場合に、利用者が帰宅するタイミングであると判断される。利用者が帰宅するタイミングを判断するためのイベントを、利用者帰宅イベントという。つまり、利用者帰宅イベントが、出迎えの応用例における第1イベントに相当する。
 玄関に着いたロボット2は、撮影部21で撮影した画像によって利用者を認識すると、利用者の帰宅に反応するアクションを行う。ロボット2が利用者を認識するイベントを、利用者認識イベントという。また、利用者の帰宅に反応するアクションを、出迎えアクションという。利用者認識イベントは、出迎えアクションを行う契機となる。利用者認識イベントは、出迎えの応用例における第2イベントに相当する。
 出迎えアクションでは、例えば音声出力部232が、ロボット2が備えるスピーカから音声を出力する。出力する音声は、「おかえり」のような自然言語であってもよいし、歓声のような非言語であってもよい。移動制御部23は、出迎えアクションとして移動機構29を制御して、ロボット2を小刻みに前後させたり、回転させたりするアクションを行ってもよい。ロボット2が人や仮想キャラクタを模した形体を有し、腕をアクチュエータで動かすことができるものであれば、姿勢制御部231が、アクチュエータを駆動して腕を上げ下げしてもよい。ロボット2が首をアクチュエータで動かすことができるものであれば、姿勢制御部231が、アクチュエータを駆動して首を振ってもよい。ロボット2が四足の動物を模した形体を有し、関節部分に設けられたアクチュエータで各足を動かすことができるものであれば、姿勢制御部231は、出迎えアクションとして後足だけで立ち上がるポーズをとらせてもよい。これにより、ロボット2が利用者の帰宅を喜んでいることを演出できる。利用者は、自分を待っていてくれるロボット2に親近感を持ち、愛着を深めるようになる。
 図9に示したデータ提供装置10の帰宅イベント検出部121は、上述のとおり利用者端末3の位置情報に基づいて利用者が自宅に近づいたと判断したときに利用者帰宅イベントを検出する。帰宅イベント検出部121は、利用者端末3が玄関に設置されたビーコン発信器と通信を行ったことを示す通知を利用者端末3から受信したときに利用者帰宅イベントを検出してもよい。帰宅イベント検出部121は、カメラ付きインターフォンで撮影された画像や入力した音声に基づいて利用者を認識したときに利用者帰宅イベントを検出してもよい。また、帰宅イベント検出部121は、利用者端末3から帰宅予告のメールを受信したときに利用者帰宅イベントを検出してもよい。
 図8に示したロボット2の利用者認識部221は、例えば撮影画像に含まれる顔部分の認識や入力した音声の認識によって、利用者を検出する。利用者認識部221は、例えば予めサンプルとして利用者の顔を撮影部21で撮影し、その撮影画像を分析して大きさ、形状及びパーツ(目、鼻や口などの部位)の配置などの特徴データを抽出しておく。そして、人認識部225は、撮影部21で撮影した画像を分析して、大きさ、形状及びパーツの配置などの特徴データがサンプルと共通又は近似する被写体が含まれると判定した場合に、撮影した画像に利用者の顔が写っていると推測してもよい。また、利用者認識部221は、例えば予めサンプルとなる利用者の声を録音して、その利用者の声を分析して周波数分布や抑揚などの特徴データを抽出しておく。そして、利用者認識部221は、マイクで入力した音に対しても同様の分析を行い、周波数分布や抑揚などの特徴データが利用者の声のサンプルの場合と一致又は近似する場合に、マイクで入力した音が利用者の声に該当すると推測してもよい。
 図10に示したイベント情報記憶部151のデータ構成における第1レコードは、出迎えの応用例に関して、第1イベントとして利用者帰宅イベントが検出された場合に、エリア種別が玄関タイプであるマーカが設置されている場所(つまり、玄関)へロボット2が移動することを定めている。第1レコードは、さらに第2イベントとして利用者認識イベントが検出された場合に、ロボット2が出迎えアクションを行うことを定めている。エリア種別が玄関タイプであるマーカを玄関マーカという。
 図11に示したマーカ情報記憶部153のデータ構成における第1レコードには、出迎えの応用例に関して、エリア種別の玄関タイプに対応付けて玄関マーカの位置及び向きが設定される。
 図13(A)は、実施例1のマーカ登録フェーズにおける処理手順を示すフローチャートである。例えばロボット2が自律的に移動しているときにマーカ認識部22が玄関マーカを検出すると(ステップS31)、通信制御部26は、エリア種別の玄関タイプと玄関マーカの位置及び向きを含む玄関マーカ情報をデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が玄関マーカ情報を受信すると、マーカ登録部110は、エリア種別の玄関タイプに対応付けて玄関マーカの位置及び向きをマーカ情報記憶部153に登録する(ステップS32)。
 図13(B)は、実施例1のアクションフェーズにおける処理手順を示すフローチャートである。データ提供装置10の帰宅イベント検出部121は、利用者帰宅イベントを検出すると(ステップS33)、イベント情報記憶部151を参照して利用者帰宅イベントに対応するエリア種別の玄関タイプを特定する。帰宅イベント検出部121は、さらにマーカ情報記憶部153を参照してエリア種別の玄関タイプに対応する玄関マーカの位置と向きを特定する。第1通信制御部11は、玄関マーカの位置と向きを含む玄関への移動指示をロボット2へ送信する。このとき、帰宅イベント検出部121は、アクション選択部140へ利用者帰宅イベントを通知しておく。
 ロボット2の通信制御部26が玄関マーカの位置と向きを含む玄関への移動指示を受信すると、ロボット2の移動制御部23が移動機構29を制御して、ロボット2は玄関へ移動する(ステップS34)。ロボット2は、玄関マーカの位置の手前に少なくとも第1所定時間留まる。第1所定時間は、利用者帰宅イベントが検出されてからユーザ認識イベントが検出されるまでの想定間隔の上限値に相当する。第1所定時間を経過した時点で、利用者認識イベントが検出されていなければ、実施例1のアクションフェーズにおける処理を中断してもよい。
 利用者が扉を開けて入ってくると、ロボット2は利用者を認識する。具体的には、利用者認識部221が、撮影部21で撮影した画像に含まれる利用者の顔を認識し、あるいはマイクで入力した音を音声認識して、利用者認識イベントを検出する(ステップS35)。ロボット2の利用者認識部221が利用者認識イベントを検出すると、通信制御部26は利用者認識イベントをデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が利用者認識イベントを受信すると、アクション選択部140は、イベント情報記憶部151を参照して第2イベントの利用者認識イベントに対応する第1イベントの利用者帰宅イベントを特定する。アクション選択部140は、イベント情報記憶部151を参照して第1イベントの利用者帰宅イベントと第2イベントの利用者認識イベントの組み合わせに対応する出迎えアクションを選択する。第1通信制御部11は、選択された出迎えアクションの指示をロボット2へ送信する。
 ロボット2の通信制御部26が出迎えアクションの指示を受信すると、ロボット2のアクション実行部230は、出迎えアクションを実行する(ステップS36)。
[実施例2]
 自律行動型ロボット1による子守の応用例について説明する。子守の応用例では、子供部屋で幼児が泣き出したときに、ロボット2が子供部屋へ向かい幼児をあやすようにする。エリアとして子供部屋を識別するエリア種別のマーカを子供部屋に設置しておけば、自律行動型ロボット1はそのマーカの設置場所が子供部屋であると認識できる。子供部屋を識別するエリア種別を子供部屋タイプという。
 子守の応用例では、幼児が泣き声をあげたときに、ロボット2が子供部屋へ移動して幼児を心配する様子を演出する。幼児の泣き声は、ロボット2が備えるマイクに入力された音の分析によって検出される。つまり、幼児泣き声の検出が、子守の応用例における第1イベントに相当する。このイベントを、幼児泣き声イベントという。
 子供部屋に大人がいなければ、ロボット2が幼児をあやすように振舞う。幼児をあやす振る舞いを、あやしアクションという。大人の不在は、撮影部21で撮影した画像の認識によって検出される。大人の不在の検出は、子守の応用例における第2イベントに相当する。このイベントを、大人不在イベントという。
 あやしアクションでは、例えばロボット2が備えるスピーカから乳幼児の泣きやませに有効な音(例えば、あやし声、笑い声、紙袋をカサカサさせる音)が出力される。あやしアクションは、音声等の出力に加えて、ロボット2が頭を傾げたり、腕を上げ下げさせたりするような、ロボット2の構成要素を動かす振る舞いでもよいし、乳幼児の泣きやませに有効な画像などの所定の画像をディスプレイに表示するようなアクションであってもよい。あやしアクションは、近くテレビを起動させたり、オーディオ装置に音楽を出力させたりするなどの、ロボット2とは異なる機器を制御するリモートコントロールでもよい。あやしアクションによってロボット2が幼児を落ち着かせれば、親である利用者は安心する。
 図8に示したロボット2の音声認識部211は、マイクに入力された音が幼児の泣き声であると判断した場合に幼児泣き声イベントを検出する。音声認識部211は、例えば予めサンプルとなる幼児泣き声を録音して、その幼児泣き声を分析して周波数分布や音量が高まる周期などの特徴データを抽出しておく。そして、音声認識部211は、マイクに入力された音に対しても同様の分析を行い、周波数分布や音量が高まる周期などの特徴データが幼児泣き声のサンプルの場合と一致又は近似する場合に、マイクに入力された音が幼児泣き声に該当すると推測してもよい。
 図8に示したロボット2の人認識部225は、撮影部21で撮影した画像に大人が写っていないと認識した場合に大人不在イベントを検出する。人認識部225は、例えば予めサンプルとして性別や体型の異なる複数の大人の映像を撮影部21で撮影し、その撮影画像を分析して大きさや形状などの特徴データを抽出しておく。そして、人認識部225は、撮影部21で撮影した画像を分析して、サンプルと大きさや形状などの特徴データが共通又は近似する被写体が含まれると判定した場合に、撮影した画像に大人が写っていると推測してもよい。図8に示したロボット2のリモートコントロール部233は、リモートコントロールの無線信号を送信して、近くのテレビを起動させたり、オーディオ装置に音楽を出力させたりの、ロボット2とは異なる機器を制御するリモートコントロールを行う。
 図10に示したイベント情報記憶部151のデータ構成における第2レコードは、子守の応用例に関して、第1イベントとして幼児泣き声イベントが検出された場合に、エリア種別が子供部屋タイプであるマーカが設置されている場所(つまり、子供部屋)へロボット2が移動することを定めている。第2レコードは、さらに第2イベントとして大人不在イベントが検出された場合に、ロボット2があやしアクションを行うことを定めている。エリア種別が子供部屋タイプであるマーカを子供部屋マーカという。
 図11に示したマーカ情報記憶部153のデータ構成における第2レコードには、子守の応用例に関して、エリア種別の子供部屋タイプに対応付けて子供部屋マーカの位置及び向きが設定される。
 図14(A)は、実施例2のマーカ登録フェーズにおける処理手順を示すフローチャートである。例えばロボット2が自律的に移動しているときにマーカ認識部22が子供部屋マーカを検出すると(ステップS41)、通信制御部26は、エリア種別の子供部屋タイプと子供部屋マーカの位置及び向きを含む子供部屋マーカ情報をデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が子供部屋マーカ情報を受信すると、マーカ登録部110は、エリア種別の玄関タイプに対応付けて玄関マーカの位置及び向きをマーカ情報記憶部153に登録する(ステップS42)。
 図14(B)は、実施例2のアクションフェーズにおける処理手順を示すフローチャートである。ロボット2の音声認識部211が幼児泣き声イベントを検出すると(ステップS43)、通信制御部26は、データ提供装置10へ幼児泣き声イベントを通知する。
 データ提供装置10の第1通信制御部11が幼児泣き声イベントの通知を受信すると、アクション選択部140は、イベント情報記憶部151を参照して幼児泣き声イベントに対応付けられているエリア種別の子供部屋タイプを特定する。アクション選択部140は、さらにマーカ情報記憶部153を参照してエリア種別の子供部屋タイプに対応する子供部屋マーカの位置と向きを特定する。第1通信制御部11は、子供部屋マーカの位置と向きを含む子供部屋への移動指示をロボット2へ送信する。
 ロボット2の通信制御部26が子供部屋マーカの位置と向きを含む子供部屋への移動指示を受信すると、移動制御部23は移動機構29を制御して、ロボット2は子供部屋へ移動する(ステップS44)。ロボット2は、子供部屋マーカの位置の手前に少なくとも第2所定時間留まる。第2所定時間は、ロボット2が子供部屋に入ってから大人の不在を認識するまでに要する想定時間の上限値に相当する。第2所定時間を経過した時点で、大人不在イベントが検出されていなければ、実施例2のアクションフェーズにおける処理を中断してもよい。
 人認識部225が大人不在イベントを検出すると(ステップS45)、通信制御部26は大人不在イベントをデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が大人不在イベントを受信すると、アクション選択部140は、イベント情報記憶部151を参照して第2イベントの大人不在イベントに対応する第1イベントの幼児泣き声イベントを特定する。アクション選択部140は、イベント情報記憶部151を参照して第1イベントの幼児泣き声イベントと第2イベントの大人不在イベントの組み合わせに対応するあやしアクションを選択する。第1通信制御部11は、選択されたあやしアクションの指示をロボット2へ送信する。
 ロボット2の通信制御部26があやしアクションの指示を受信すると、ロボット2のアクション実行部230は、あやしアクションを実行する(ステップS46)。
[実施例3]
 自律行動型ロボット1による接客の応用例について説明する。接客の応用例は、例えば客室で飲食サービスを提供する店舗を想定している。店舗を利用する客が入店したときに、ロボット2が受付カウンターへ向かい、客室へ案内する。エリアとして受付カウンターを識別するエリア種別のマーカを受付カウンターに設置しておけば、自律行動型ロボット1はそのマーカの設置場所が受付カウンターであると認識できる。受付カウンターを識別するエリア種別を受付カウンタータイプという。
 接客の応用例では、来客を検知したときに、ロボット2が受付カウンターへ移動して客に応対する様子を演出する。来客は、店舗の入り口に設けられたカメラで撮影した画像に入店する客が写っていることによって検出される。つまり、来客の検出が、接客の応用例における第1イベントに相当する。このイベントを、来客イベントという。
 空き室があれば、ロボット2が客を空き室へ案内するように振舞う。客を空き室へ案内する振る舞いを、案内アクションという。空き室の情報は、客室管理システム(図示せず)から得られる。空き室の検出は、接客の応用例における第2イベントに相当する。このイベントを、空き室イベントという。
 案内アクションでは、例えばロボット2が空き室まで客を先導する。あるいは、メッセージ出力部235が、「○号室へお入りください。」の案内メッセージを音声出力してもよいし、ロボット2が備える表示装置に表示してもよい。ロボット2が接客すれば、客は人的サービスにはない趣向を感じる。無人化を図ることで、コストを軽減できる面もある。
 図9に示したデータ提供装置10の来客イベント検出部123は、例えば店舗の入り口に設けられたカメラで撮影した画像で入店する客を認識したときに、来客イベントを検出する。図9に示したデータ提供装置10の空き室イベント検出部131は、客室管理システム(図示せず)に客室の状況を問い合わせて、空いている客室があれば空き室イベントを検出する。図8に示したロボット2の移動制御部23は、ゆっくりと客室へ移動するように移動機構29を駆動させる。ロボット2は、ロボット2の撮影部21で撮影した客の姿によって客との間合いを計りながら、客との距離を一定に保つように移動の速さを制御してもよい。また、図9に示したデータ提供装置10のメッセージ出力部235が、「○号室へお入りください。」の案内メッセージを音声出力し、あるいはロボット2が備える表示装置に表示するように、出力デバイスにおいて案内メッセージを出力する。
 図10に示したイベント情報記憶部151のデータ構成における第3レコードは、接客の応用例に関して、第1イベントとして来客イベントが検出された場合に、エリア種別が受付カウンタータイプであるマーカが設置されている場所(つまり、受付カウンター)へロボット2が移動することを定めている。第3レコードは、さらに第2イベントとして空き室イベントが検出された場合に、ロボット2が案内アクションを行うことを定めている。エリア種別が受付カウンタータイプであるマーカを受付カウンターマーカという。
 図11に示したマーカ情報記憶部153のデータ構成における第3レコードには、接客の応用例に関して、エリア種別の受付カウンタータイプに対応付けて受付カウンターマーカの位置及び向きが設定される。
 図15(A)は、実施例3のマーカ登録フェーズにおける処理手順を示すフローチャートである。例えばロボット2が自律的に移動しているときにマーカ認識部22が受付カウンターマーカを検出すると(ステップS51)、通信制御部26は、エリア種別の受付カウンタータイプと受付カウンターマーカの位置及び向きとを含む受付カウンターマーカ情報をデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が受付カウンターマーカ情報を受信すると、マーカ登録部110は、エリア種別の受付カウンタータイプに対応付けて受付カウンターマーカの位置及び向きをマーカ情報記憶部153に登録する(ステップS52)。
 図15(B)は、実施例3のアクションフェーズにおける処理手順を示すフローチャートである。データ提供装置10の来客イベント検出部123は、来客イベントを検出すると(ステップS53)、イベント情報記憶部151を参照して来客イベントに対応付けられているエリア種別の受付カウンタータイプを特定する。来客イベント検出部123は、さらにマーカ情報記憶部153を参照してエリア種別の受付カウンタータイプに対応する受付カウンターマーカの位置と向きを特定する。第1通信制御部11は、受付カウンターマーカの位置と向きを含む受付カウンターへの移動指示をロボット2へ送信する。このとき、来客イベント検出部123は、アクション選択部140へ来客イベントを通知しておく。
 ロボット2の通信制御部26が受付カウンターマーカの位置と向きを含む受付カウンターへの移動指示を受信すると、移動制御部23は移動機構29を制御して、ロボット2は受付カウンターへ移動する(ステップS54)。ロボット2は、受付カウンターマーカの位置の手前に少なくとも第3所定時間留まる。第3所定時間は、ロボット2に代わって店員が客に応対するまでの切替り時間の上限値に相当する。第3所定時間を経過した時点で、空き室イベントが検出されていなければ、実施例3のアクションフェーズにおける処理を中断してもよい。
 データ提供装置10の空き室イベント検出部131が空き室イベントを検出すると(ステップS55)、アクション選択部140は、イベント情報記憶部151を参照して第2イベントの空き室イベントに対応する第1イベントの来客イベントを特定する。アクション選択部140は、イベント情報記憶部151を参照して第1イベントの来客イベントと第2イベントの空き室イベントの組み合わせに対応する接客アクションを選択する。第1通信制御部11は、選択された接客アクションの指示をロボット2へ送信する。
 ロボット2の通信制御部26が接客アクションの指示を受信すると、ロボット2のアクション実行部230は、接客アクションを実行する(ステップS56)。
[実施例4]
 自律行動型ロボット1による通話サポートの応用例について説明する。この例では、ロボット2が電話機能を有しているものとする。また、ロボット2が置かれている住居や施設の中で、電話機能で使用する無線通信の電波が届きやすいところと、届きにくいところがあると想定する。ロボット2は、電波の状態が悪い場所から電波の状態が良い場所(以下、電波良好の場所という。)へ移動して、通話要求に応じて通話を開始させる。エリアとして電波良好の場所を識別するエリア種別のマーカを電波良好の場所に設置しておけば、自律行動型ロボット1はそのマーカの設置場所が電波良好の場所であると認識できる。電波良好の場所を識別するエリア種別を電波良好タイプという。
 通話サポートの応用例では、電波の状態が悪化したときにロボット2が電波良好の場所へ移動して無線通信に支障がないようにする。つまり、電波悪化の検出が、通話サポートの応用例における第1イベントに相当する。このイベントを、電波悪化イベントという。
 ロボット2は利用者から通話要求を受け付ければ、通話を開始する。通話を開始する処理動作を通話開始アクションという。通話要求の受付は、「電話をかけてください。」のような音声を認識したり、撮影画像から電話をかけるジェスチャーやポーズを認識したりするなどの認識処理によって検知される。通話要求の受付は、通話サポートの応用例における第2イベントに相当する。このイベントを、通話要求イベントという。
 図8に示したロボット2の電波状態検出部213は、電話機能で使用する無線通信の電波の状態を監視し、電波の強度が許容基準以下になった場合に、電波悪化イベントを検出する。図8に示したロボット2の通話要求受付部223は、「電話をかけてください。」の発話を音声認識したり、撮影画像によって電話をかけるジェスチャーやポーズを認識したりすることで、利用者から通話の要求を受け付ける。通話要求受付部223は、音声認識によって電話番号や通話の相手を特定してもよい。図8に示したロボット2の電話通信部237は、電話の通信を制御し、通話処理を行う。
 図10に示したイベント情報記憶部151のデータ構成における第4レコードは、通話サポートの応用例に関して、第1イベントとして電波悪化イベントが検出された場合に、エリア種別が電波良好タイプであるマーカが設置されている場所(つまり、電波良好の場所)へロボット2が移動することを定めている。第4レコードは、さらに第2イベントとして通話要求イベントが検出された場合に、ロボット2が通話を開始することを定めている。エリア種別が電波良好タイプであるマーカを電波良好マーカという。
 図11に示したマーカ情報記憶部153のデータ構成における第4レコードには、通話サポートの応用例に関して、エリア種別の電波良好タイプに対応付けて電波良好マーカの位置及び向きが設定される。
 図16(A)は、実施例4のマーカ登録フェーズにおける処理手順を示すフローチャートである。例えばロボット2が自律的に移動しているときにマーカ認識部22が電波良好マーカを検出すると(ステップS61)、通信制御部26は、エリア種別の電波良好タイプと電波良好マーカの位置及び向きを含む電波良好マーカ情報をデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が電波良好マーカ情報を受信すると、マーカ登録部110は、エリア種別の電波良好タイプに対応付けて電波良好マーカの位置及び向きをマーカ情報記憶部153に登録する(ステップS62)。
 図16(B)は、実施例4のアクションフェーズにおける処理手順を示すフローチャートである。ロボット2の電波状態検出部213が電波悪化イベントを検出すると(ステップS63)、通信制御部26は、データ提供装置10へ電波悪化イベントを通知する。
 データ提供装置10の第1通信制御部11が電波悪化イベントの通知を受信すると、アクション選択部140は、イベント情報記憶部151を参照して電波悪化イベントに対応付けられているエリア種別の電波良好タイプを特定する。アクション選択部140は、さらにマーカ情報記憶部153を参照してエリア種別の電波良好タイプに対応する電波良好マーカの位置と向きを特定する。第1通信制御部11は、電波良好マーカの位置と向きを含む電波良好の場所への移動指示をロボット2へ送信する。
 ロボット2の通信制御部26が電波悪化マーカの位置と向きを含む電波良好の場所への移動指示を受信すると、移動制御部23は移動機構29を制御して、ロボット2は電波良好の場所へ移動する(ステップS64)。ロボット2は、電波良好マーカの位置の手前に少なくとも第4所定時間留まる。第4所定時間は、利用者に通話を要求されると想定される期間の上限長に相当する。第4所定時間を経過した時点で、通話要求イベントが検出されていなければ、実施例4のアクションフェーズにおける処理を中断してもよい。
 通話要求受付部223が通話要求イベントを検出すると(ステップS65)、通信制御部26は通話要求イベントをデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が通話要求イベントを受信すると、アクション選択部140は、イベント情報記憶部151を参照して第2イベントの通話要求イベントに対応する通話開始アクションを選択する。第1通信制御部11は、選択された通話開始アクションの指示をロボット2へ送信する。従って、先に電波悪化イベントが通知されているか否かに関わらず、通話開始アクションが送信される。
 ロボット2の通信制御部26が通話開始アクションの指示を受信すると、ロボット2の電話通信237は、通話開始アクションを実行する(ステップS66)。電話通信部237が発呼して通話状態になれば、ロボット2が備えるマイクの入力音声を変換した信号が送信され、受信した信号から変換された相手音声がマイクロフォンから出力される。
[実施例5]
 自律行動型ロボット1による警備の応用例について説明する。警備の応用例では、金庫が置かれている住居や施設において金庫荒らしを警戒することを想定し、ロボット2が見回りを行う。エリアとして金庫置き場を識別するエリア種別のマーカを金庫置き場に設置しておけば、自律行動型ロボット1はそのマーカの設置場所が金庫置き場であると認識できる。金庫置き場を識別するエリア種別を金庫タイプという。
 警備の応用例では、見回りを指示されたロボット2が、金庫付近へ移動して状況を把握するように振舞う。見回り指示の受付は、例えば「金庫を見て来い」などの音声の認識や、撮影画像から所定のポーズやジェスチャーを認識するなどの認識処理によって行われてもよい。データ提供装置10が利用者端末3のアプリケーションから見守り指示を受信してロボット2へ転送し、ロボット2が見守り指示を受信するようにしてもよい。所定時刻になったときに、データ提供装置10が自動的に見回り指示をロボット2へ発信し、ロボット2が見守り指示を受信するようにしてもよい。警備の応用例では、ロボット2に対する見回り指示が第1イベントに相当する。このイベントを、見回りイベントという。
 撮影画像の認識によって金庫の近くに人の姿を捉えたときに、ロボット2は警戒アクションを実行する。つまり警備の応用例で、金庫付近における人の認識は、第2イベントに相当する。このイベントを、人認識イベントという。金庫付近にいる人は、不審者である可能性があると想定する。警戒アクションとして、通信制御部26は、ロボット2は撮影部21で撮影した映像(動画あるいは静止画)をデータ提供装置10へ送信する。この処理に関して通信制御部26は、アクション実行部230の例である。データ提供装置10は、受信した映像を証拠として記録してもよい。また、データ提供装置10は、利用者端末3のアプリケーションへ警告メッセージを送信したり、ロボット2から受信した映像を転送したりして、利用者端末3のアプリケーションへのデータ送信を行ってもよい。警戒アクションとして、ロボット2の音声出力部232は、警報音を発してもよい。
 図8に示したロボット2の見回りイベント検出部215は、上述の認識処理で見回り指示を受け付けたときやデータ提供装置10から見回り指示を受信したときに、見回りイベントを検出する。図8に示したロボット2の人認識部225は、撮影画像に含まれる人の姿を認識する。人の話し声を音声認識することによって人の存在を認識してもよい。人認識部225は、マイクに入力された音から標準的な人の声に相当する周波数を抽出した場合に、人の話し声であると判定してもよい。
 図10に示したイベント情報記憶部151のデータ構成における第5レコードは、警備の応用例に関して、第1イベントとして見回りイベントが検出された場合に、エリア種別が金庫タイプであるマーカが設置されている場所(つまり、金庫置き場)へロボット2が移動することを定めている。第5レコードは、さらに第2イベントとして人認識イベントが検出された場合に、ロボット2が警戒アクションを行うことを定めている。エリア種別が金庫タイプであるマーカを金庫マーカという。
 図11に示したマーカ情報記憶部153のデータ構成における第5レコードには、警備の応用例に関して、エリア種別の金庫タイプに対応付けて金庫マーカの位置及び向きが設定される。
 図17(A)は、実施例5のマーカ登録フェーズにおける処理手順を示すフローチャートである。例えばロボット2が自律的に移動しているときにマーカ認識部22が金庫マーカを検出すると(ステップS71)、通信制御部26は、エリア種別の金庫タイプと金庫マーカの位置及び向きを含む金庫マーカ情報をデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が金庫マーカ情報を受信すると、マーカ登録部110は、エリア種別の金庫タイプに対応付けて金庫マーカの位置及び向きをマーカ情報記憶部153に登録する(ステップS72)。
 図17(B)は、実施例5のアクションフェーズにおける処理手順を示すフローチャートである。ロボット2の見回りイベント検出部215が見回りイベントを検出すると(ステップS73)、通信制御部26は、データ提供装置10へ見回りイベントを通知する。
 データ提供装置10の第1通信制御部11が見回りイベントの通知を受信すると、アクション選択部140は、イベント情報記憶部151を参照して見回りイベントに対応付けられているエリア種別の金庫タイプを特定する。アクション選択部140は、さらにマーカ情報記憶部153を参照してエリア種別の金庫タイプに対応する金庫マーカの位置と向きを特定する。第1通信制御部11は、金庫マーカの位置と向きを含む金庫置き場への移動指示をロボット2へ送信する。
 ロボット2の通信制御部26が金庫マーカの位置と向きを含む金庫置き場への移動指示を受信すると、移動制御部23は移動機構29を制御して、ロボット2は金庫付近へ移動する(ステップS74)。ロボット2は、金庫マーカの位置の手前に少なくとも第5所定時間留まる。第5所定時間は、ロボット2が金庫付近に移動してから人を認識するまでに要する想定時間の上限値に相当する。第5所定時間を経過した時点で、人認識イベントが検出されていなければ、実施例5のアクションフェーズにおける処理を中断してもよい。
 人認識部225が人認識イベントを検出すると(ステップS75)、通信制御部26は人認識イベントをデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が人認識イベントを受信すると、アクション選択部140は、イベント情報記憶部151を参照して第2イベントの人認識イベントに対応する第1イベントの見回りイベントを特定する。アクション選択部140は、イベント情報記憶部151を参照して第1イベントの見回りイベントと第2イベントの人認識イベントの組み合わせに対応する警戒アクションを選択する。第1通信制御部11は、選択された警戒アクションの指示をロボット2へ送信する。
 ロボット2の通信制御部26が警戒アクションの指示を受信すると、ロボット2のアクション実行部230は、警戒アクションを実行する(ステップS76)。
[実施例6]
 自律行動型ロボット1による目覚ましの応用例について説明する。例えば、朝に寝室で寝ている利用者を、ロボット2が起こす。エリアとして寝室を識別するエリア種別のマーカを寝室に設置しておけば、自律行動型ロボット1はそのマーカの設置場所が寝室であると認識できる。寝室を識別するエリア種別を寝室タイプという。
 目覚ましの応用例では、利用者を起床させるタイミングで、ロボット2が寝室へ移動して目覚ましアクションを行う。利用者を起床させるタイミングは、例えば予定の起床時刻によって判断される。あるいは、利用者の家族が発する「お父さん(利用者)を起こしてきてください。」のような音声の認識、撮影画像から所定のポーズやジェスチャーを認識するなどの認識処理によって、利用者を起床させるタイミングを判断してもよい。つまり、利用者を起床させるタイミングの判断が、目覚ましの応用例における第1イベントに相当する。このイベントを、起床イベントという。
 寝室のベッドの上で利用者が横になっている状態(臥位)を認識したときに、ロボット2は目覚ましアクションを実行する。ベッドの上に利用者がいない場合や利用者が既に起きている場合など利用者が臥位でないときには、ロボット2は目覚ましアクションを実行しない。つまり、目覚ましの応用例でベッド上の臥位の利用者を検出することは、第2イベントに相当する。このイベントを、利用者臥位イベントという。目覚ましアクションとして、たとえば音声出力部232は、スピーカから目覚まし音や呼びかけなどの音声を出力する。目覚ましアクションとして、リモートコントロール部233がテレビを起動させたり、オーディオ装置に音楽を出力させたりなど、外部機器に音声を出力させてもよい。リモートコントロール部233は、照明機器を点灯させてもよい。あるいは、移動制御部23が移動機構29を制御して、ロボット2がベッドの周囲を激しく動き回るようにしてもよい。
 図8に示したロボット2の起床イベント検出部217は、上述のように予定の起床時刻に至り、あるいは上述した認識処理などによって起床イベントを検出する。図8に示したロボット2の体位認識部227は、寝室のベッドの上で寝ている人(実際には、利用者であるとみなす)の体位を認識する。体位認識部227は、ベッドに寝ている人が臥位であれば、利用者臥位イベントを検出する。体位認識部227は、例えば予めサンプルとなる臥位の利用者の姿を撮影部21で撮影し、その撮影画像を分析して臥位の利用者の大きさ、形状及びパーツ(頭、手や足などの部位)の配置などの特徴データを抽出しておく。そして、体位認識部227は、撮影部21で撮影した画像を分析して、大きさ、形状及びパーツの配置などの特徴データがサンプルと共通又は近似する被写体が含まれると判定した場合に、撮影した画像に臥位の利用者が写っていると判定してもよい。
 図10に示したイベント情報記憶部151のデータ構成における第6レコードは、目覚ましの応用例に関して、第1イベントとして起床イベントが検出された場合に、エリア種別が寝室タイプであるマーカが設置されている場所(つまり、寝室)へロボット2が移動することを定めている。第6レコードは、さらに第2イベントとして利用者臥位イベントが検出された場合に、ロボット2が目覚ましアクションを行うことを定めている。寝室タイプであるマーカを寝室マーカという。
 図11に示したマーカ情報記憶部153のデータ構成における第6レコードには、目覚ましの応用例に関して、エリア種別の寝室タイプに対応付けて寝室マーカの位置及び向きが設定される。
 図18(A)は、実施例6のマーカ登録フェーズにおける処理手順を示すフローチャートである。例えばロボット2が自律的に移動しているときにマーカ認識部22が寝室マーカを検出すると(ステップS81)、通信制御部26は、エリア種別の寝室タイプと寝室マーカの位置及び向きを含む寝室マーカ情報をデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が寝室マーカ情報を受信すると、マーカ登録部110は、エリア種別の寝室タイプに対応付けて寝室マーカの位置及び向きをマーカ情報記憶部153に登録する(ステップS82)。
 図18(B)は、実施例6のアクションフェーズにおける処理手順を示すフローチャートである。ロボット2の起床イベント検出部217が起床イベントを検出すると(ステップS83)、通信制御部26は、データ提供装置10へ起床イベントを通知する。
 データ提供装置10の第1通信制御部11が起床イベントの通知を受信すると、アクション選択部140は、イベント情報記憶部151を参照して起床イベントに対応付けられているエリア種別の寝室タイプを特定する。アクション選択部140は、さらにマーカ情報記憶部153を参照してエリア種別の寝室タイプに対応する寝室マーカの位置と向きを特定する。第1通信制御部11は、寝室マーカの位置と向きを含む寝室への移動指示をロボット2へ送信する。
 ロボット2の通信制御部26が寝室マーカの位置と向きを含む寝室への移動指示を受信すると、移動制御部23は移動機構29を制御して、ロボット2は寝室へ移動する(ステップS84)。ロボット2は、寝室マーカの位置の手前に少なくとも第6所定時間留まる。第6所定時間は、ロボット2が寝室に入ってから利用者臥位イベントを検出するまでに要する想定時間の上限値に相当する。第6所定時間を経過した時点で、利用者臥位イベントが検出されていなければ、実施例6のアクションフェーズにおける処理を中断してもよい。
 体位認識部227が利用者臥位イベントを検出すると(ステップS85)、通信制御部26は利用者臥位イベントをデータ提供装置10へ送信する。
 データ提供装置10の第1通信制御部11が利用者臥位イベントを受信すると、アクション選択部140は、イベント情報記憶部151を参照して第2イベントの利用者臥位イベントに対応する第1イベントの起床イベントを特定する。アクション選択部140は、イベント情報記憶部151を参照して第1イベントの起床イベントと第2イベントの利用者臥位イベントの組み合わせに対応する目覚ましアクションを選択する。第1通信制御部11は、選択された目覚ましアクションの指示をロボット2へ送信する。
 ロボット2の通信制御部26が目覚ましアクションの指示を受信すると、ロボット2のアクション実行部230は、目覚ましアクションを実行する(ステップS86)。
 上述の実施例1~6において、ロボット2の第1イベント検出部210で行うと説明した処理を、データ提供装置10の第1イベント検出部120で行ってもよい。ロボット2の第2イベント検出部220で行うと説明した処理を、データ提供装置10の第2イベント検出部130で行ってもよい。データ提供装置10の第1イベント検出部120で行うと説明した処理を、ロボット2の第1イベント検出部210で行ってもよい。データ提供装置10の第2イベント検出部130で行うと説明した処理を、ロボット2の第2イベント検出部220で行ってもよい。
 以上述べた実施形態2では、所定のタイミングにおいてロボット2を所定の場所に移動させ、さらに所定の条件を満たす場合に所定のアクションを実行する。マーカを所定の場所に設置することにより、このような一連の動作を簡単に実現できるので便利である。
[実施形態3]
 ロボット2がマーカを認識したときにそのマーカによって指示されたアクションを、ロボット2が実行するようにしてもよい。そのために、アクションの識別子を図形化したマーカを用いる。例えば、汎用的な変換方式(バーコード方式あるいは2次元バーコード方式など)でアクションの識別子を図形化した図形コードをマーカとして用いてもよい。この場合には、マーカ認識部22は、当該変換方式によって図形コードからアクションの識別子を読み取ることができる。あるいは、独自にデザイン化した図形をマーカとして用いてもよい。この場合には、マーカ認識部22は、撮影画像に含まれる図形の形状が所定の形状である場合にその図形の種類を特定し、特定した図形の種類に対応するアクションの識別子を特定するようにしてもよい。マーカ認識部22において、図形の種類とアクションの識別子を対応付けるデータを記憶しておくものとする。つまり、実施形態3におけるマーカは、いずれかのアクションの識別子を特定し得る。
 例えば、子供部屋の入り口に、アクションとしてリビングルームへの移動を指示するマーカを設置しておけば、ロボット2が子供部屋の前でマーカを認識した段階で、子供部屋の中へ立ち入ることなく、直ぐにリビングルームへ移動する。
 マーカによって指示されるアクションは、別の所定マーカの探索であってもよい。マーカAによって指示されるアクションがマーカBの探索であれば、ロボット2は、マーカAを認識した段階でマーカBを探して移動を始める。さらに、マーカBによって指示されるアクションがマーカCの探索であれば、ロボット2は、マーカBを認識した段階でマーカCを探して移動を始める。順次マーカを探索するように指示する一連のマーカを経路上のポイントに配置すれば、ロボット2に一連のマーカを順にめぐる経路を探索させることになる。このようにすれば、オリエンテーリングを模した屋内ゲームを子供とロボット2で競わせる遊び方もできる。また、複数台のロボット2を走行させて、屋内レースを行わせることもできる。
 上述の屋内ゲームや屋内レースのような屋内プレイを行う場合に、利用者が利用者端末3のアプリケーションから自律行動型ロボット1に対して、ロボット2が最初にマーカAを探すように指示してもよい。ロボット2が、「始めろ」や「探せ」のような利用者の掛け声を音声認識し、利用者の掛け声を検出したイベントを契機としてマーカの探索を始めるようにしてもよい。ロボット2が、撮影画像から利用者がスタートを指示するポーズやジェスチャーを画像認識して、ポーズやジェスチャーを検出したイベントを契機としてマーカの探索を始めるようにしてもよい。あるいは、利用者が利用者端末3のアプリケーションから自律行動型ロボット1に対してスタート時刻を設定し、ロボット2は、スタート時刻に至ったことを契機として起点となるマーカの探索を始めるようにしてもよい。
 以上述べた実施形態3では、マーカを所定の場所に設置することにより、その場所におけるロボット2のアクションを簡単に指示することができる。
[実施形態4]
 接近禁止を指示するマーカを用いて、接近してはならない物品をロボット2に認識させるようにしてもよい。例えば装飾品や精密機器のように壊れやすい物品に接近禁止のコードを図形化したマーカを設置する。上述したように、汎用的な変換方式(バーコード方式あるいは2次元バーコード方式など)で接近禁止のコードを図形化した図形コードをマーカとして用いてもよい。あるいは、独自にデザイン化した図形をマーカとして用いてもよい。この場合、マーカ認識部22は、接近禁止に相当する図形の種類を記憶しており、撮影画像から特定した図形の種類が接近禁止に該当すると判定する。ロボット2のマーカ認識部22は、認識したマーカとの間隔を測定する。移動制御部23は、マーカとの間隔が第1基準距離よりも短くなったと判定した場合に、マーカから遠ざかる方向へロボット2を移動させるように、移動機構29を制御する。第1基準距離は、ロボット2が方向を転換して、ロボット2の移動によってマーカの位置に到達しないように制御するために必要な距離である。このようにすれば、ロボット2が壊れやすい物品に衝突するリスクを減らせる。
 また、バランスボールや掃除機本体のように移動する可能性が高い物品に接近禁止を指示するマーカを設置して、移動する可能性が高い物品をロボット2に認識させるようにしてもよい。移動制御部23は、マーカとの間隔が第2基準距離よりも短くなったと判定した場合に、マーカから遠ざかる方向へロボット2を移動させるように、移動機構29を制御する。第2基準距離は、物品が移動してロボット2の位置に到達する前に、ロボット2が物品との距離を広げるように制御するために必要な距離である。このようにすれば、物品が移動してロボット2に衝突するリスクを減らせる。
 マーカによって物品の種類を識別し、物品の種類に応じてロボット2の接近を規制してもよい。物品の種類を示すマーカを用いてもよいし、マーカIDと物品の種類を対応付ける物品管理データをデータ提供装置10で保持するようにしてもよい。物品の種類を示すマーカを用いる場合には、マーカ認識部22がマーカを認識した段階で物品の種類も検出する。マーカ認識部22は、マーカIDと物品の種類を対応付ける物品管理データを記憶している。マーカ認識部22は、マーカからマーカIDを検出し、物品管理データを参照してマーカIDに対応する物品の種類を特定する。物品管理データは、利用者が利用者端末3のアプリケーションから設定するようにしてもよい。
 さらに、マーカ認識部22が、物品の種類毎にロボット2の接近可否が設定された接近制御データを記憶し、マーカIDによって特定した物品の種類に関する接近可否を判定するようにしてもよい。接近制御データにおいて、例えばテーブルや椅子のように壊れにくく且つ移動する可能性が低い物品に対して接近許可が設定され、装飾品や精密機器のように壊れやすい物品及びバランスボールや掃除機本体のように移動する可能性が高い物品に対して接近禁止が設定されている。掃除機本体は常に前方に移動し、後方に移動することは無いので、掃除機本体の後方への接近を許可してもよい。つまり、掃除機本体の前方への接近のみを禁止すれば足りる。マーカの向きで掃除機本体の前後を認識できるようにすれば、掃除機本体の前方への接近のみを禁止してもよい。マーカが矢印を含み、矢印の先が掃除機の前方を指すようにマーカを貼り付ければ、ロボット2はマーカを基準として接近が禁止される範囲を判断することができる。矢印が指す先を接近禁止とするというルールが設けられていれば、マーカを貼り付ける段階でマーカの向きに注意すれば運用上問題がない。矢印が指す先に限らず接近禁止の範囲を設ける場合には、接近制御データに矢印を基準とした接近禁止の範囲を設定しておいてもよいし、利用者端末3のアプリケーションから同様の接近禁止の範囲を設定してもよい。
 以上述べた実施形態4では、壊れやすい物品や移動する可能性がある物品などロボット2との衝突のリスクがある物品にマークを設置することにより、ロボット2と物品との衝突を回避しやすくする。
[その他の変形例]
 実施形態2に関して、マーカ認識部22は、マーカIDとエリア種別を対応付けるマーカ定義情報を記憶し、マーカからマーカIDを検出し、マーカIDに対応するエリア種別を特定するようにしてもよい。マーカIDとエリア種別の対応付けは、利用者が利用者端末3のアプリケーションから設定してもよい。
 実施形態2に関して、第1イベントは上述した例に限らない。第1イベントは、任意である。ロボット2の第1イベント検出部210及びデータ提供装置10の第1イベント検出部120は、利用者以外の人を認識したときに第1イベントを検出してもよい。ロボット2の第1イベント検出部210及びデータ提供装置10の第1イベント検出部120は、認識したことがない未知の人を初めて認識したときに第1イベントを検出してもよい。ロボット2の第1イベント検出部210及びデータ提供装置10の第1イベント検出部120は、過去に認識したことがある既知の人を改めて認識したときに第1イベントを検出してもよい。ロボット2の第1イベント検出部210及びデータ提供装置10の第1イベント検出部120は、所定時間以内に同じ人を繰り返し認識した場合に第1イベントを検出してもよい。ロボット2の第1イベント検出部210及びデータ提供装置10の第1イベント検出部120は、所定時間以内に認識していなかった人を認識したときに第1イベントを検出してもよい。さらに、ロボット2の第1イベント検出部210及びデータ提供装置10の第1イベント検出部120は、撮影画像において認識した人とマーカとの位置関係や向きが所定の条件を満たすと判断したときに第1イベントを検出してもよい。
 実施形態2に関して、第2イベントは上述した例に限らない。第2イベントは、任意である。ロボット2の第2イベント検出部220及びデータ提供装置10の第2イベント検出部130は、利用者以外の人を認識したときに第2イベントを検出してもよい。ロボット2の第2イベント検出部220及びデータ提供装置10の第2イベント検出部130は、認識したことがない未知の人を初めて認識したときに第2イベントを検出してもよい。ロボット2の第2イベント検出部220及びデータ提供装置10の第2イベント検出部130は、過去に認識したことがある既知の人を改めて認識したときに第2イベントを検出してもよい。ロボット2の第2イベント検出部220及びデータ提供装置10の第2イベント検出部130は、所定時間以内に同じ人を繰り返し認識した場合に第2イベントを検出してもよい。ロボット2の第2イベント検出部220及びデータ提供装置10の第2イベント検出部130は、所定時間以内に認識していなかった人を認識したときに第2イベントを検出してもよい。さらに、ロボット2の第2イベント検出部220及びデータ提供装置10の第2イベント検出部130は、撮影画像において認識した人とマーカとの位置関係や向きが所定の条件を満たすと判断したときに第2イベントを検出してもよい。
 実施形態2に関して、第1イベント及び第2イベントは、複数段階のイベントの組み合わせであってもよい。例えば実施例1で説明した出迎えの応用例において、データ提供装置10の帰宅イベント検出部121は、利用者端末3の位置が自宅に近づいたときに第1段階のイベントを検出し、利用者端末3が玄関に設置されたビーコン発信器と通信を行ったときに第2段階のイベントを検出してもよい。そして、帰宅イベント検出部121は、第1段階のイベントと第2段階のイベントの両方を検出した場合に、第1イベントを検出したと判断してもよい。
 実施形態2に関して、アクション選択部140が第1イベントと第2イベントの組み合わせに対応するアクションを選択する例を説明したが、アクション選択部140は、第2イベントに対応するアクションを選択してもよい。アクション選択部140は、エリア種別に対応するアクションを選択してもよい。アクション選択部140は、第1イベントに対応するアクションを選択してもよい。アクション選択部140は、エリア種別と第2イベントの組み合わせに対応するアクションを選択してもよい。アクション選択部140は、第1イベントとエリア種別の組み合わせに対応するアクションを選択してもよい。アクション選択部140は、第1イベントとエリア種別と第2イベントの組み合わせに対応するアクションを選択してもよい。
 実施形態2に関して、アクション実行部230は、特定の人を対象としたアクションを行ってもよい。例えば実施例3で説明した接客の応用例において、アクション実行部230は、特定の客に対して空き室を案内してもよい。また、アクション実行部230が実行するアクションの内容は、利用者が利用者端末3のアプリケーションから設定してもよい。
 実施形態2に関して、ロボット2の第1イベント検出部210は、通信制御部26において他のロボット2と通信した場合に、第1イベントを検出してもよい。ロボット2の第2イベント検出部220は、通信制御部26において他のロボット2と通信した場合に、第2イベントを検出してもよい。ロボット2の第1イベント検出部210及びデータ提供装置10の第1イベント検出部120は、利用者端末3や他の外部装置から所定の指示やデータ受け付けたときに第1イベントを検出してもよい。ロボット2の第2イベント検出部220及びデータ提供装置10の第2イベント検出部130は、利用者端末3や他の外部装置から所定の指示やデータ受け付けたときに第2イベントを検出してもよい。例えば実施例3で説明した接客の応用例において、データ提供装置10の来客イベント検出部123は、受付用タブレット端末において来店人数や禁煙等の客室条件を受け付けたことを、受付用タブレット端末から通知されたときに第1イベントを検出してもよい。
 実施形態2に関して、第1イベント及び第2イベントの検出条件は、複数のロボット2毎に異なってもよい。例えば特定のロボット2に限って、通常第1イベント又は第2イベントを検出するタイミングよりも遅らせて第1イベント又は第2イベントを検出するようにしてもよい。第1イベント又は第2イベントの検出タイミングを遅くすれば、ロボット2の消極的な性格を演出することができる。逆に特定のロボット2に限って、通常第1イベント又は第2イベントを検出するタイミングよりも早く第1イベント又は第2イベントを検出するようにしてもよい。第1イベント又は第2イベントの検出タイミングを早くすれば、ロボット2の積極的な性格を演出することができる。尚、第1イベント及び第2イベントの内容は、利用者が利用者端末3のアプリケーションから設定してもよい。
 実施形態2に関して、イベント情報記憶部151において、ロボット2毎に異なるイベント情報を設定してもよい。つまり、特定のロボット2に限って適用されるイベント情報を設けてもよい。例えば2台のロボット2を動作させる家庭で、一方のロボットにだけ出迎えアクションを行わせ、他方のロボットにだけ子守アクションを行わせるように、イベント情報を設定してもよい。
 複数台のロボット2を動作させる場合には、一方のロボット2が認識したマーカ情報を、他方のロボット2に通知するようにしてもよい。そのようにすれば、エリア種別、マーカの位置及び向きを、早く共有できるようになる。
 ロボット2は、SLAM技術において検出される特徴点や特徴形状をマーカとみなしてもよい。また、マーカとして発光するデバイスを用いてもよい。ロボット2が備える蓄電池に給電するための充電ステーションにマーカを設置して、ロボット2がマーカに基づいて充電ステーションとの位置関係と向きを検出するようにしてもよい。ロボット2は、自動連結のために充電ステーションに近づくときに、マーカによって検出した充電ステーションの位置関係と向きを用いてもよい。
 マーカ認識部22は、同じマーカについて複数回位置を計測し、それらの位置に関する平均値を求めるようにしてもよい。マーカ認識部22がマーカの位置の平均値を用いれば、マーカの位置の計測における誤差の影響を軽減できる。同様にマーカ認識部22は、同じマーカについて複数回向きを計測し、それらの向きに関する平均値を求めるようにしてもよい。マーカ認識部22がマーカの向きの平均値を用いれば、マーカの位置の計測における誤差の影響を軽減できる。
 利用者端末3のアプリケーションは、利用者端末3の出力装置に、マーカの位置や向きを表示してもよい。利用者端末3のアプリケーションから利用者が、利用者端末3の入力装置を介して、マーカの内容(進入禁止、エリア種別、アクションの識別子又は接近禁止など)、マーカの位置や向きを設定し、あるいは修正できるようにしてもよい。
 ロボット2は、ビーコン受信器を備え、所定の位置に設置されたビーコン発信器が発信するビーコン信号をビーコン受信器において受信し、ビーコン発信器のIDを特定してもよい。ロボット2は、さらにビーコン分析部を備え、ビーコン分析部においてビーコン信号の電波強度を分析することによってビーコン発信器の位置を特定してもよい。従って、自律行動型ロボット1は、ビーコン発信器のIDをマーカIDとみなし、ビーコン発信器の位置をマーカの位置とみなして、上述の実施形態に適用してもよい。
 なお、本実施形態で説明した装置を構成する機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本実施形態の上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
 さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
 以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。

Claims (17)

  1.  移動機構と、
     周囲の空間を撮影する撮影部と、
     前記撮影部において撮影された撮影画像に含まれる所定のマーカを認識するマーカ認識部と、
     認識された前記マーカに基づき前記移動機構による移動を制御する移動制御部と
     を備える、ロボット。
  2.  前記移動制御部は、認識された前記マーカに基づき前記移動による進入を禁止する、請求項1に記載のロボット。
  3.  前記移動制御部は、認識された前記マーカに基づき前記移動の速度を制限する、請求項1又は2に記載のロボット。
  4.  前記移動制御部は、認識された前記マーカの設置位置に基づき前記移動を制御する、請求項1から3のいずれか一項に記載のロボット。
  5.  前記移動制御部は、前記設置位置に基づく制限範囲を設定し、前記制限範囲における前記移動を制限する、請求項4に記載のロボット。
  6.  前記移動制御部は、前記設置位置より奥側、又は前記設置位置の周囲における所定の範囲を前記制限範囲として設定する、請求項5に記載のロボット。
  7.  前記移動制御部は、認識された前記マーカが複数である場合、認識された複数の前記設置位置に基づき前記移動を制限する、請求項4から6のいずれか一項に記載のロボット。
  8.  前記移動制御部は、認識された第1マーカの設置位置と認識された第2マーカの設置位置とを結ぶ線分に基づき前記移動を制限する、請求項7に記載のロボット。
  9.  前記移動制御部は、認識された前記マーカの種類に基づき前記移動を制御する、請求項1から8のいずれか一項に記載のロボット。
  10.  前記移動制御部は、記録されているマーカに基づき前記移動を制御する、請求項1から9のいずれか一項に記載のロボット。
  11.  前記移動制御部は、前記撮影画像において前記マーカが認識されない場合、前記記録されているマーカに基づき前記移動を制御する、請求項10に記載のロボット。
  12.  前記撮影部において撮影された撮影画像に基づいて、前記空間を認識した空間データを生成する空間データ生成部と、
     生成された前記空間データに基づいて、前記空間に含まれる空間要素を可視化した可視化データを生成する可視化データ生成部と、
     生成された前記可視化データを利用者端末に対して提供する可視化データ提供部と
     をさらに備える、請求項1から11のいずれか一項に記載のロボット。
  13.  提供された前記可視化データに含まれる領域の指定を前記利用者端末から取得する指定取得部をさらに備え、
     前記空間データ生成部は、取得された前記指定に係る領域において再撮影された前記撮影画像に基づいて前記空間を再認識する、請求項12に記載のロボット。
  14.  前記移動における移動先の状態を示す状態情報を取得する状態情報取得部をさらに備え、
     前記移動制御部は、前記状態情報にさらに基づき前記移動を制御する、請求項1から13のいずれか一項に記載のロボット。
  15.  前記マーカの位置を記憶するマーカ情報記憶部と、
     第1イベントを検出する第1イベント検出部と、
     第2イベントを検出する第2イベント検出部と、
     アクションを実行するアクション実行部と
     をさらに備え、
     前記第1イベントが検出されると、前記マーカの前記位置の付近へ移動し、前記第2イベントが検出されると、前記マーカ、前記第1イベント及び前記第2イベントのうちの少なくとも1つに対応する前記アクションを実行する、請求項1から14のいずれか一項に記載のロボット。
  16.  周囲の空間を撮影する撮影ステップと、
     前記撮影ステップにおいて撮影された撮影画像に含まれる所定のマーカを認識するマーカ認識ステップと、
     認識された前記マーカに基づき移動機構による移動を制御する移動制御ステップと
     を含む、ロボット制御方法。
  17.  コンピュータに、
     周囲の空間を撮影する撮影機能と、
     前記撮影機能において撮影された撮影画像に含まれる所定のマーカを認識するマーカ認識機能と、
     認識された前記マーカに基づき移動機構による移動を制御する移動制御機能と
     を実現させるための、ロボット制御プログラム。
PCT/JP2019/023433 2018-06-13 2019-06-13 ロボットおよびその制御方法、ならびにプログラム Ceased WO2019240208A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020525643A JPWO2019240208A1 (ja) 2018-06-13 2019-06-13 ロボットおよびその制御方法、ならびにプログラム
JP2023202283A JP2024020582A (ja) 2018-06-13 2023-11-29 ロボットおよびその制御方法、ならびにプログラム
JP2025141799A JP2025172863A (ja) 2018-06-13 2025-08-27 ロボットおよびその制御方法、ならびにプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-113083 2018-06-13
JP2018113083 2018-06-13

Publications (1)

Publication Number Publication Date
WO2019240208A1 true WO2019240208A1 (ja) 2019-12-19

Family

ID=68842204

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/023433 Ceased WO2019240208A1 (ja) 2018-06-13 2019-06-13 ロボットおよびその制御方法、ならびにプログラム

Country Status (2)

Country Link
JP (3) JPWO2019240208A1 (ja)
WO (1) WO2019240208A1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022034686A1 (ja) * 2020-08-14 2022-02-17 日本電気株式会社 動作範囲設定装置、動作範囲設定方法及び記録媒体
CN114299392A (zh) * 2021-12-28 2022-04-08 深圳市杉川机器人有限公司 移动机器人及其门槛识别方法、装置及存储介质
US11493930B2 (en) * 2018-09-28 2022-11-08 Intrinsic Innovation Llc Determining changes in marker setups for robot localization
CN115705064A (zh) * 2021-08-03 2023-02-17 北京小米移动软件有限公司 足式机器人的跟随控制方法、装置及机器人
WO2023119566A1 (ja) * 2021-12-23 2023-06-29 本田技研工業株式会社 搬送システム
CN116755464A (zh) * 2023-05-17 2023-09-15 贵州师范学院 一种基于物联网的移动机器人的控制方法
JPWO2023204025A1 (ja) * 2022-04-20 2023-10-26
WO2024004453A1 (ja) * 2022-06-28 2024-01-04 ソニーグループ株式会社 移動体制御情報生成方法、移動体制御情報生成装置、および移動体、並びに移動体制御システム
WO2024014529A1 (ja) * 2022-07-15 2024-01-18 Thk株式会社 自律移動ロボット及び自律移動ロボットの制御システム
RU2825022C1 (ru) * 2024-04-05 2024-08-19 Общество С Ограниченной Ответственностью "Беспилотный Погрузчик" Программно-аппаратный комплекс для управления автономным мобильным роботом-погрузчиком
EP4407399A4 (en) * 2021-09-22 2024-11-06 Fuji Corporation Moving body and control method therefor
JP2025057665A (ja) * 2023-09-28 2025-04-09 キヤノン株式会社 情報処理方法、情報処理システムおよびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0854927A (ja) * 1994-08-10 1996-02-27 Kawasaki Heavy Ind Ltd ランドマークの決定方法および装置
JP2013508874A (ja) * 2009-10-30 2013-03-07 ユージン ロボット シーオー., エルティーディー. 移動ロボットの位置認識のための地図生成および更新方法
WO2016103562A1 (ja) * 2014-12-25 2016-06-30 村田機械株式会社 走行車システム、走行状態変更方法
JP2017041200A (ja) * 2015-08-21 2017-02-23 シャープ株式会社 自律移動装置、自律移動システム及び環境地図評価方法
WO2017169826A1 (ja) * 2016-03-28 2017-10-05 Groove X株式会社 お出迎え行動する自律行動型ロボット
JP2018068885A (ja) * 2016-11-02 2018-05-10 東芝ライフスタイル株式会社 自律型電気掃除装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1011135A (ja) * 1996-06-27 1998-01-16 Ohbayashi Corp 標識認識水平搬送システム
JPH11267074A (ja) * 1998-03-25 1999-10-05 Sharp Corp 掃除ロボット
JP4473849B2 (ja) * 2003-06-02 2010-06-02 パナソニック株式会社 物品取扱いシステムおよび物品取扱いサーバ
JP4555035B2 (ja) * 2004-03-30 2010-09-29 日本電気株式会社 掃除機制御装置、掃除機、ロボット、および掃除機制御方法
JP2008217741A (ja) * 2007-03-08 2008-09-18 Kenwood Corp 移動機器の移動設定方法および移動設定システム
US9014848B2 (en) * 2010-05-20 2015-04-21 Irobot Corporation Mobile robot system
JP5488930B2 (ja) * 2011-03-08 2014-05-14 独立行政法人科学技術振興機構 家事計画作成支援装置および家事計画作成支援方法
JP5862344B2 (ja) * 2012-02-10 2016-02-16 富士通株式会社 画像処理装置、事前情報更新方法及びプログラム
DE102012211071B3 (de) * 2012-06-27 2013-11-21 RobArt GmbH Interaktion zwischen einem mobilen Roboter und einer Alarmanlage
KR102094347B1 (ko) * 2013-07-29 2020-03-30 삼성전자주식회사 자동 청소 시스템, 청소 로봇 및 그 제어 방법
US10209080B2 (en) * 2013-12-19 2019-02-19 Aktiebolaget Electrolux Robotic cleaning device
JP2015121928A (ja) * 2013-12-24 2015-07-02 トヨタ自動車株式会社 自律移動ロボットの制御方法
DE102014110265A1 (de) * 2014-07-22 2016-01-28 Vorwerk & Co. Interholding Gmbh Verfahren zur Reinigung oder Bearbeitung eines Raumes mittels eines selbsttätig verfahrbaren Gerätes
US9868211B2 (en) * 2015-04-09 2018-01-16 Irobot Corporation Restricting movement of a mobile robot
JP6572618B2 (ja) * 2015-05-08 2019-09-11 富士通株式会社 情報処理装置、情報処理プログラム、情報処理方法、端末装置、設定方法、設定プログラム
EP3101889A3 (en) * 2015-06-02 2017-03-08 LG Electronics Inc. Mobile terminal and controlling method thereof
KR102427836B1 (ko) * 2015-06-26 2022-08-02 삼성전자주식회사 로봇 청소기, 정보 제공 시스템 및 정보 제공 방법
KR102526083B1 (ko) * 2016-08-30 2023-04-27 엘지전자 주식회사 이동 단말기 및 그의 동작 방법
JP6411585B2 (ja) * 2017-06-14 2018-10-24 みこらった株式会社 電気掃除装置及び電気掃除装置用のプログラム
JP7124280B2 (ja) * 2017-09-13 2022-08-24 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0854927A (ja) * 1994-08-10 1996-02-27 Kawasaki Heavy Ind Ltd ランドマークの決定方法および装置
JP2013508874A (ja) * 2009-10-30 2013-03-07 ユージン ロボット シーオー., エルティーディー. 移動ロボットの位置認識のための地図生成および更新方法
WO2016103562A1 (ja) * 2014-12-25 2016-06-30 村田機械株式会社 走行車システム、走行状態変更方法
JP2017041200A (ja) * 2015-08-21 2017-02-23 シャープ株式会社 自律移動装置、自律移動システム及び環境地図評価方法
WO2017169826A1 (ja) * 2016-03-28 2017-10-05 Groove X株式会社 お出迎え行動する自律行動型ロボット
JP2018068885A (ja) * 2016-11-02 2018-05-10 東芝ライフスタイル株式会社 自律型電気掃除装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11493930B2 (en) * 2018-09-28 2022-11-08 Intrinsic Innovation Llc Determining changes in marker setups for robot localization
JPWO2022034686A1 (ja) * 2020-08-14 2022-02-17
WO2022034686A1 (ja) * 2020-08-14 2022-02-17 日本電気株式会社 動作範囲設定装置、動作範囲設定方法及び記録媒体
CN115705064B (zh) * 2021-08-03 2024-05-24 北京小米移动软件有限公司 足式机器人的跟随控制方法、装置及机器人
CN115705064A (zh) * 2021-08-03 2023-02-17 北京小米移动软件有限公司 足式机器人的跟随控制方法、装置及机器人
EP4407399A4 (en) * 2021-09-22 2024-11-06 Fuji Corporation Moving body and control method therefor
WO2023119566A1 (ja) * 2021-12-23 2023-06-29 本田技研工業株式会社 搬送システム
CN114299392A (zh) * 2021-12-28 2022-04-08 深圳市杉川机器人有限公司 移动机器人及其门槛识别方法、装置及存储介质
JP7796371B2 (ja) 2022-04-20 2026-01-09 パナソニックIpマネジメント株式会社 移動管理システム、移動管理方法及びプログラム
JPWO2023204025A1 (ja) * 2022-04-20 2023-10-26
WO2023204025A1 (ja) * 2022-04-20 2023-10-26 パナソニックIpマネジメント株式会社 移動管理システム、移動管理方法及びプログラム
WO2024004453A1 (ja) * 2022-06-28 2024-01-04 ソニーグループ株式会社 移動体制御情報生成方法、移動体制御情報生成装置、および移動体、並びに移動体制御システム
WO2024014529A1 (ja) * 2022-07-15 2024-01-18 Thk株式会社 自律移動ロボット及び自律移動ロボットの制御システム
CN116755464B (zh) * 2023-05-17 2024-04-16 贵州师范学院 一种基于物联网的移动机器人的控制方法
CN116755464A (zh) * 2023-05-17 2023-09-15 贵州师范学院 一种基于物联网的移动机器人的控制方法
JP2025057665A (ja) * 2023-09-28 2025-04-09 キヤノン株式会社 情報処理方法、情報処理システムおよびプログラム
RU2825022C1 (ru) * 2024-04-05 2024-08-19 Общество С Ограниченной Ответственностью "Беспилотный Погрузчик" Программно-аппаратный комплекс для управления автономным мобильным роботом-погрузчиком

Also Published As

Publication number Publication date
JP2025172863A (ja) 2025-11-26
JPWO2019240208A1 (ja) 2021-06-24
JP2024020582A (ja) 2024-02-14

Similar Documents

Publication Publication Date Title
WO2019240208A1 (ja) ロボットおよびその制御方法、ならびにプログラム
CN109998421B (zh) 移动清洁机器人组合及持久性制图
US11341355B2 (en) Robot and method of controlling the same
US11257292B2 (en) Object holographic augmentation
JP7377837B2 (ja) ゲームプレイを介して環境の詳細データセットを生成する方法およびシステム
CN112714684B (zh) 清洁机器人及其执行任务的方法
CN106687850B (zh) 扫描激光平面性检测
US11475390B2 (en) Logistics system, package delivery method, and program
JP2022017301A (ja) サーマルイメージングシステムにおける位置判断の装置および方法
CN110178101A (zh) 虚拟传感器配置
JP2020101560A (ja) レーダ対応センサフュージョン
JP2024094366A (ja) ロボットならびにその制御方法および制御プログラム
US11657085B1 (en) Optical devices and apparatuses for capturing, structuring, and using interlinked multi-directional still pictures and/or multi-directional motion pictures
JP6517255B2 (ja) キャラクタ画像生成装置、キャラクタ画像生成方法、プログラム、記録媒体及びキャラクタ画像生成システム
US20200169705A1 (en) Vehicle system
CN109324693A (zh) Ar搜索装置、基于ar搜索装置的物品搜索系统及方法
TW201724022A (zh) 對象辨識系統,對象辨識方法及電腦記憶媒體
JP2005056213A (ja) 情報提供システム、情報提供サーバ、情報提供方法
US11233937B1 (en) Autonomously motile device with image capture
US11412133B1 (en) Autonomously motile device with computer vision
US11460994B2 (en) Information processing apparatus and information processing method
WO2019188697A1 (ja) 自律行動型ロボット、データ提供装置およびデータ提供プログラム
JP2019139793A (ja) キャラクタ画像生成装置、キャラクタ画像生成方法、プログラム及び記録媒体
KR20250051852A (ko) 로봇 청소기 및 그의 객체 이동 방법
WO2023204025A1 (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: 19819866

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020525643

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19819866

Country of ref document: EP

Kind code of ref document: A1