WO2018043274A1 - 自律行動型ロボット、サーバ及び行動制御プログラム - Google Patents

自律行動型ロボット、サーバ及び行動制御プログラム Download PDF

Info

Publication number
WO2018043274A1
WO2018043274A1 PCT/JP2017/030277 JP2017030277W WO2018043274A1 WO 2018043274 A1 WO2018043274 A1 WO 2018043274A1 JP 2017030277 W JP2017030277 W JP 2017030277W WO 2018043274 A1 WO2018043274 A1 WO 2018043274A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
trajectory
planned
event
point
Prior art date
Application number
PCT/JP2017/030277
Other languages
English (en)
French (fr)
Inventor
林要
Original Assignee
Groove X株式会社
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株式会社 filed Critical Groove X株式会社
Priority to JP2018537194A priority Critical patent/JP6557840B2/ja
Priority to GB1902492.6A priority patent/GB2570405B/en
Priority to DE112017004414.6T priority patent/DE112017004414T5/de
Priority to CN201780053741.8A priority patent/CN109643126A/zh
Publication of WO2018043274A1 publication Critical patent/WO2018043274A1/ja
Priority to US16/290,817 priority patent/US20190202054A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • B25J11/001Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means with emotions simulating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/026Acoustical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision

Definitions

  • the present invention relates to a robot that autonomously selects an action according to an internal state or an external environment.
  • Instinct characterizes the behavioral characteristics of living things. Instinct is a response that is triggered by environmental stimuli without conscious judgment, and risk avoidance is a representative example. When living things detect danger, they try to avoid danger unconsciously and reflexively. It is thought that if the robot is made to take a risk avoiding action similar to that of a living thing when it recognizes the danger, it can enhance the "living sense as a living thing" of the robot.
  • the present invention is an invention completed on the basis of the above problem recognition, and its main object is to provide a technique for efficiently controlling the reflexive behavior of a robot with respect to various events occurring outside. .
  • the autonomous action type robot includes a motion control unit that determines an execution trajectory that is a movement route of the robot, a drive mechanism that moves the robot along the execution trajectory, and an event before it occurs. And a trajectory generation unit that generates a planned trajectory corresponding to the event. When an event occurs while the robot is moving along the execution trajectory, the motion control unit moves the robot along the planned trajectory instead of the movement route.
  • the server in one aspect of the present invention is connected to the autonomous behavior robot via a communication line.
  • the server includes a trajectory generation unit that generates a planned trajectory corresponding to the position and event of the autonomous behavior robot, and a trajectory notification unit that notifies the autonomous behavior robot of the planned trajectory before an event occurs.
  • the autonomous action type robot has a motion control unit that selects a motion of the robot, a drive mechanism that executes the motion selected by the motion control unit, and a point satisfying a predetermined safety condition as a safety point. And a safety point detection unit for detecting.
  • the motion control unit moves the robot to a safe point when a predetermined event occurs.
  • FIG. 2 is a cross-sectional view schematically illustrating the structure of a robot. It is a block diagram of a robot system. It is a conceptual diagram of an emotion map. It is a hardware block diagram of a robot. It is a functional block diagram of a robot system. It is a data structure figure of a motion selection table. It is a data structure figure of a plan orbit selection table. It is a schematic diagram which shows the production
  • FIG. 1A is a front external view of the robot 100.
  • FIG. FIG. 1 (b) is a side external view of the robot 100.
  • the robot 100 in the present embodiment is an autonomous action robot that determines an action or gesture (gesture) based on an external environment and an internal state.
  • the external environment is recognized by various sensors such as a camera and a thermo sensor.
  • the internal state is quantified as various parameters representing the emotion of the robot 100. These will be described later.
  • the robot 100 is premised on indoor behavior.
  • the robot 100 takes an indoor range of an owner's home.
  • a human being related to the robot 100 is referred to as a "user”
  • a user who is a member of a home to which the robot 100 belongs is referred to as an "owner”.
  • the body 104 of the robot 100 has an overall rounded shape, and includes an outer shell formed of a soft and elastic material such as urethane, rubber, resin, or fiber.
  • the robot 100 may be dressed. By making the body 104 round and soft and have a good touch, the robot 100 provides the user with a sense of security and a pleasant touch.
  • the robot 100 has a total weight of 15 kilograms or less, preferably 10 kilograms or less, and more preferably 5 kilograms or less.
  • the average weight of a 13-month-old baby is just over 9 kilograms for boys and less than 9 kilograms for girls. Therefore, if the total weight of the robot 100 is 10 kilograms or less, the user can hold the robot 100 with almost the same effort as holding a baby that can not walk alone.
  • the average weight of babies less than 2 months old is less than 5 kilograms for both men and women. Therefore, if the total weight of the robot 100 is 5 kg or less, the user can hold the robot 100 with the same effort as holding an infant.
  • the various attributes such as appropriate weight, roundness, softness, and good touch realize an effect that the user can easily hold the robot 100 and can not hold it.
  • it is desirable that the height of the robot 100 is 1.2 meters or less, preferably 0.7 meters or less.
  • being able to hold it is an important concept.
  • the robot 100 includes three wheels for traveling three wheels. As shown, a pair of front wheels 102 (left wheel 102a, right wheel 102b) and one rear wheel 103 are included.
  • the front wheel 102 is a driving wheel
  • the rear wheel 103 is a driven wheel.
  • the front wheel 102 does not have a steering mechanism, but its rotational speed and rotational direction can be individually controlled.
  • the rear wheel 103 is a so-called omni wheel, and is rotatable in order to move the robot 100 back and forth and right and left.
  • the robot 100 can turn left or rotate counterclockwise.
  • the rotational speed of the left wheel 102a larger than that of the right wheel 102b, the robot 100 can turn right or rotate clockwise.
  • the front wheel 102 and the rear wheel 103 can be completely housed in the body 104 by a drive mechanism (a rotation mechanism, a link mechanism). Even when traveling, most of the wheels are hidden by the body 104, but when the wheels are completely housed in the body 104, the robot 100 can not move. That is, the body 104 descends and is seated on the floor surface F along with the storing operation of the wheels. In this sitting state, the flat seating surface 108 (grounding bottom surface) formed on the bottom of the body 104 abuts on the floor surface F.
  • a drive mechanism a rotation mechanism, a link mechanism
  • the robot 100 has two hands 106.
  • the hand 106 does not have the function of gripping an object.
  • the hand 106 can perform simple operations such as raising, shaking and vibrating.
  • the two hands 106 are also individually controllable.
  • the eye 110 incorporates a camera.
  • the eye 110 can also display an image with a liquid crystal element or an organic EL element.
  • the robot 100 incorporates various sensors such as a microphone array and an ultrasonic sensor that can identify the sound source direction.
  • it has a built-in speaker and can emit a simple voice.
  • a horn 112 is attached to the head of the robot 100. As described above, since the robot 100 is lightweight, the user can lift the robot 100 by grasping the tongue 112. An omnidirectional camera is attached to the horn 112 so that the entire upper portion of the robot 100 can be imaged at one time.
  • FIG. 2 is a cross-sectional view schematically showing the structure of the robot 100.
  • the body 104 of the robot 100 includes a base frame 308, a body frame 310, a pair of resin wheel covers 312 and a shell 314.
  • the base frame 308 is made of metal and constitutes an axial center of the body 104 and supports an internal mechanism.
  • the base frame 308 is configured by connecting an upper plate 332 and a lower plate 334 by a plurality of side plates 336 up and down.
  • the plurality of side plates 336 is sufficiently spaced to allow air flow.
  • a battery 118, a control circuit 342 and various actuators are accommodated.
  • the body frame 310 is made of a resin material and includes a head frame 316 and a body frame 318.
  • the head frame 316 has a hollow hemispherical shape and forms a head skeleton of the robot 100.
  • the body frame 318 has a stepped cylindrical shape and forms the body frame of the robot 100.
  • the body frame 318 is integrally fixed to the base frame 308.
  • the head frame 316 is assembled to the upper end of the body frame 318 so as to be relatively displaceable.
  • the head frame 316 is provided with three axes of a yaw axis 320, a pitch axis 322 and a roll axis 324, and an actuator 326 for rotationally driving each axis.
  • the actuator 326 includes a plurality of servomotors for individually driving each axis.
  • the yaw shaft 320 is driven for swinging motion
  • the pitch shaft 322 is driven for loosening motion
  • the roll shaft 324 is driven for tilting motion.
  • a plate 325 supporting the yaw axis 320 is fixed to the top of the head frame 316.
  • the plate 325 is formed with a plurality of vents 327 for ensuring ventilation between the top and bottom.
  • a metallic base plate 328 is provided to support the head frame 316 and its internal features from below.
  • the base plate 328 is connected to the plate 325 via the cross link mechanism 329 (pantograph mechanism), and is connected to the upper plate 332 (base frame 308) via the joint 330.
  • Torso frame 318 houses base frame 308 and wheel drive mechanism 370.
  • the wheel drive mechanism 370 includes a pivot shaft 378 and an actuator 379.
  • the lower half of the body frame 318 is narrow to form a storage space S of the front wheel 102 with the wheel cover 312.
  • the outer cover 314 is made of urethane rubber and covers the body frame 310 and the wheel cover 312 from the outside.
  • the hand 106 is integrally molded with the skin 314.
  • an opening 390 for introducing external air is provided at the upper end of the shell 314.
  • FIG. 3 is a block diagram of the robot system 300.
  • the robot system 300 includes a robot 100, a server 200 and a plurality of external sensors 114.
  • a plurality of external sensors 114 (external sensors 114a, 114b, ..., 114n) are installed in advance in the house.
  • the external sensor 114 may be fixed to the wall of the house or may be mounted on the floor.
  • position coordinates of the external sensor 114 are registered. The position coordinates are defined as x, y coordinates in a house assumed as the action range of the robot 100.
  • the server 200 is installed in the home.
  • the server 200 and the robot 100 in the present embodiment correspond one to one.
  • the server 200 determines the basic behavior of the robot 100 based on the information obtained from the sensors contained in the robot 100 and the plurality of external sensors 114.
  • the external sensor 114 is for reinforcing the senses of the robot 100, and the server 200 is for reinforcing the brain of the robot 100.
  • the external sensor 114 periodically transmits a wireless signal (hereinafter referred to as a “robot search signal”) including the ID of the external sensor 114 (hereinafter referred to as “beacon ID”).
  • a wireless signal hereinafter referred to as a “robot search signal”
  • the robot 100 sends back a radio signal (hereinafter referred to as a “robot reply signal”) including a beacon ID.
  • the server 200 measures the time from when the external sensor 114 transmits the robot search signal to when the robot reply signal is received, and measures the distance from the external sensor 114 to the robot 100. By measuring the distances between the plurality of external sensors 114 and the robot 100, the position coordinates of the robot 100 are specified. Of course, the robot 100 may periodically transmit its position coordinates to the server 200.
  • FIG. 4 is a conceptual view of the emotion map 116.
  • the emotion map 116 is a data table stored in the server 200.
  • the robot 100 selects an action according to the emotion map 116.
  • An emotion map 116 shown in FIG. 4 indicates the size of a bad feeling for the location of the robot 100.
  • the x-axis and y-axis of emotion map 116 indicate two-dimensional space coordinates.
  • the z-axis indicates the size of the bad feeling. When the z value is positive, the preference for the location is high, and when the z value is negative, it indicates that the location is disliked.
  • the coordinate P1 is a point (hereinafter, referred to as a “favory point”) in the indoor space managed by the server 200 as the action range of the robot 100, in which the favorable feeling is high.
  • the favor point may be a "safe place” such as a shade of a sofa or under a table, a place where people easily gather like a living, or a lively place. In addition, it may be a place which has been gently boiled or touched in the past.
  • the definition of what kind of place the robot 100 prefers is arbitrary, generally, it is desirable to set a place favored by small children such as small children and dogs and cats.
  • a coordinate P2 is a point at which a bad feeling is high (hereinafter, referred to as a “disgust point”).
  • Aversion points are places with loud noise such as near a television, places that are easy to get wet like baths and washrooms, closed spaces or dark places, places that lead to unpleasant memories that have been roughly treated by users, etc. It may be.
  • the definition of what place the robot 100 hates is also arbitrary, it is generally desirable to set a place where small animals such as small children, dogs and cats are scared as a disappointment point.
  • the coordinate Q indicates the current position of the robot 100.
  • the server 200 may grasp how far the robot 100 is from which external sensor 114 and in which direction.
  • the movement distance of the robot 100 may be calculated from the number of revolutions of the front wheel 102 or the rear wheel 103 to specify the current position, or the current position may be determined based on an image obtained from a camera. It may be specified.
  • the emotion map 116 shown in FIG. 4 is given, the robot 100 moves in the direction in which it is drawn to the favor point (coordinate P1) and in the direction away from the aversion point (coordinate P2).
  • the emotion map 116 changes dynamically.
  • the z-value (favorable feeling) at the coordinate P1 decreases with time.
  • the robot 100 can reach the favor point (coordinate P1), and emulate the biological behavior of "feeling of emotion” being satisfied and eventually "being bored” at the place.
  • bad feelings at coordinate P2 are also alleviated with time.
  • new favor points and aversion points are created, whereby the robot 100 makes a new action selection.
  • the robot 100 has an "interest" at a new favor point and continuously selects an action.
  • the emotion map 116 expresses the ups and downs of emotion as the internal state of the robot 100.
  • the robot 100 aims at the favor point, avoids the disgust point, stays at the favor point for a while, and then takes the next action again.
  • Such control can make the behavior selection of the robot 100 human and biological.
  • the map that affects the behavior of the robot 100 (hereinafter collectively referred to as “action map”) is not limited to the emotion map 116 of the type shown in FIG. 4.
  • action map is not limited to the emotion map 116 of the type shown in FIG. 4.
  • various action maps such as curiosity, fear of fear, feeling of relief, feeling of calmness and dimness, feeling of physical comfort such as coolness and warmth, and so on.
  • the destination point of the robot 100 may be determined by weighted averaging the z values of each of the plurality of action maps.
  • the robot 100 has parameters indicating the magnitudes of various emotions and senses separately from the action map. For example, when the value of the emotion parameter of loneliness is increasing, the weighting coefficient of the behavior map for evaluating a safe place is set large, and the value of the emotion parameter is lowered by reaching the target point. Similarly, when the value of the parameter indicating a feeling of being boring is increasing, the weighting coefficient of the behavior map for evaluating a place satisfying the curiosity may be set large.
  • FIG. 5 is a hardware configuration diagram of the robot 100.
  • the robot 100 includes an internal sensor 128, a communicator 126, a storage device 124, a processor 122, a drive mechanism 120 and a battery 118.
  • the drive mechanism 120 includes the wheel drive mechanism 370 described above.
  • Processor 122 and storage 124 are included in control circuit 342.
  • the units are connected to each other by a power supply line 130 and a signal line 132.
  • the battery 118 supplies power to each unit via the power supply line 130. Each unit transmits and receives control signals through a signal line 132.
  • the battery 118 is a lithium ion secondary battery and is a power source of the robot 100.
  • the internal sensor 128 is an assembly of various sensors incorporated in the robot 100. Specifically, the camera (high resolution camera and omnidirectional camera), microphone array, infrared sensor, thermo sensor, touch sensor, acceleration sensor, odor sensor, and the like.
  • the odor sensor is a known sensor to which the principle that the electric resistance is changed by the adsorption of the molecule that is the source of the odor is applied.
  • the odor sensor classifies various odors into a plurality of categories (hereinafter referred to as "odor category").
  • the communication device 126 is a communication module that performs wireless communication for various external devices such as the server 200, the external sensor 114, and a portable device owned by a user.
  • the storage device 124 is configured by a non-volatile memory and a volatile memory, and stores a computer program and various setting information.
  • the processor 122 is an execution means of a computer program.
  • the drive mechanism 120 is an actuator that controls an internal mechanism. In addition to this, indicators and speakers will also be installed.
  • the processor 122 performs action selection of the robot 100 while communicating with the server 200 and the external sensor 114 via the communication device 126.
  • Various external information obtained by the internal sensor 128 also affects behavior selection.
  • the drive mechanism 120 mainly controls the wheel (front wheel 102) and the head (head frame 316).
  • the drive mechanism 120 changes the rotational direction and the rotational direction of the two front wheels 102 to change the moving direction and the moving speed of the robot 100.
  • the drive mechanism 120 can also raise and lower the wheels (the front wheel 102 and the rear wheel 103). When the wheel ascends, the wheel is completely housed in the body 104, and the robot 100 abuts on the floor surface F at the seating surface 108 to be in the seating state.
  • FIG. 6 is a functional block diagram of the robot system 300.
  • robot system 300 includes robot 100, server 200, and a plurality of external sensors 114.
  • Each component of the robot 100 and the server 200 includes computing devices such as a CPU (Central Processing Unit) and various co-processors, storage devices such as memory and storage, hardware including wired or wireless communication lines connecting them, and storage It is stored in the device and implemented by software that supplies processing instructions to the computing unit.
  • the computer program may be configured by a device driver, an operating system, various application programs located in the upper layer of them, and a library that provides common functions to these programs.
  • Each block described below indicates not a hardware unit configuration but a function unit block.
  • Some of the functions of the robot 100 may be realized by the server 200, and some or all of the functions of the server 200 may be realized by the robot 100.
  • the server 200 includes a communication unit 204, a data processing unit 202, and a data storage unit 206.
  • the communication unit 204 takes charge of communication processing with the external sensor 114 and the robot 100.
  • the data storage unit 206 stores various data.
  • the data processing unit 202 executes various processes based on the data acquired by the communication unit 204 and the data stored in the data storage unit 206.
  • the data processing unit 202 also functions as an interface of the communication unit 204 and the data storage unit 206.
  • the communication unit 204 includes a track notification unit 240.
  • the trajectory notification unit 240 notifies the robot 100 of a planned trajectory and a planned trajectory selection table generated by a trajectory generation unit 242 described later.
  • the planned orbit and the planned orbit selection table will also be described later.
  • the data storage unit 206 includes a motion storage unit 232, a map storage unit 216, a personal data storage unit 218, and a planned trajectory storage unit 224.
  • the robot 100 has a plurality of motion patterns (motions). A variety of motions are defined, such as shaking hands, approaching the owner while meandering, staring at the owner with a sharp neck, and the like.
  • the motion storage unit 232 stores a "motion file" that defines control content of motion. Each motion is identified by a motion ID. The motion file is also downloaded to the motion storage unit 160 of the robot 100. Which motion is to be performed may be determined by the server 200 or the robot 100.
  • the motions of the robot 100 are configured as complex motions including a plurality of unit motions.
  • the robot 100 may be expressed as a combination of a unit motion that turns toward the owner, a unit motion that approaches while raising the hand, a unit motion that approaches while shaking the body, and a unit motion that sits while raising both hands. .
  • the combination of such four motions realizes a motion of “close to the owner, raise your hand halfway, and finally sit down with your body shaking”.
  • the rotation angle and angular velocity of an actuator provided in the robot 100 are defined in association with the time axis.
  • Various motions are represented by controlling each actuator with the passage of time according to a motion file (actuator control information).
  • the transition time when changing from the previous unit motion to the next unit motion is called “interval".
  • the interval may be defined according to the time required for unit motion change and the contents of the motion.
  • the length of the interval is adjustable.
  • settings relating to behavior control of the robot 100 such as when to select which motion, output adjustment of each actuator for realizing the motion, and the like are collectively referred to as “behavior characteristics”.
  • the action characteristic of the robot 100 is defined by a motion selection algorithm, a motion selection probability, a motion file, a planned trajectory, a planned trajectory selection table and the like.
  • the motion storage unit 232 stores, in addition to the motion file, a motion selection table that defines motion to be executed when various events occur.
  • the motion selection table will be described later with reference to FIG.
  • the map storage unit 216 stores, in addition to a plurality of action maps, a map indicating the arrangement of obstacles such as chairs and tables.
  • the planned orbit storage unit 224 stores the planned orbit.
  • the planned trajectory storage unit 224 stores a planned trajectory and a planned trajectory selection table (described later).
  • the personal data storage unit 218 stores information of the user, in particular, the owner. Specifically, various parameters such as familiarity with the user, physical characteristics and behavioral characteristics of the user are stored. Other attribute information such as age and gender may be stored.
  • the robot system 300 (the robot 100 and the server 200) identifies the user based on the physical or behavioral characteristics of the user.
  • the robot 100 always images the surroundings with a built-in camera. Then, physical features and behavioral features of the person shown in the image are extracted. Physical features may be visual features associated with the body, such as height, preferred clothes, glasses, skin color, hair color, ear size, average body temperature or Other features such as smell, voice quality, etc. may also be included.
  • the behavioral feature is a feature that accompanies the action, such as the place the user likes, the activity activity, and the presence or absence of smoking.
  • the robot system 300 clusters users who frequently appear as “owners” based on physical features and behavioral features obtained from a large amount of image information and other sensing information.
  • the method of identifying a user by a user ID is simple and reliable, it is premised that the user has a device capable of providing the user ID.
  • the method of identifying the user based on the physical characteristics and the behavioral characteristics has an advantage that even a user who does not possess a portable device although it has a large image recognition processing load can identify it. Only one of the two methods may be adopted, or the user identification may be performed using the two methods in combination in a complementary manner.
  • users are clustered from physical features and behavioral features, and the users are identified by deep learning (multilayer neural network). Details will be described later.
  • the robot 100 has an internal parameter called familiarity for each user.
  • familiarity for each user.
  • an action indicating favor with itself such as raising itself or giving a voice
  • familiarity with the user is increased.
  • the closeness to the user who is not involved in the robot 100, the user who is violent, and the user who is infrequently encountered is low.
  • the data processing unit 202 includes a position management unit 208, a map management unit 210, a recognition unit 212, an operation control unit 222, a closeness management unit 220, an emotion management unit 244, and a trajectory generation unit 242.
  • the position management unit 208 specifies the position coordinates of the robot 100 by the method described with reference to FIG.
  • the position management unit 208 may also track the user's position coordinates in real time.
  • the emotion management unit 244 manages various emotion parameters that indicate the emotion (the loneliness, the fun, the fear, etc.) of the robot 100. These emotional parameters are constantly fluctuating. The importance of the plurality of action maps changes according to the emotion parameter, the movement target point of the robot 100 changes according to the action map, and the emotion parameter changes according to the movement of the robot 100 or the passage of time. For example, when the emotion parameter indicating loneliness is high, the emotion management unit 244 sets the weighting coefficient of the behavior map for evaluating a safe place large. When the robot 100 reaches a point at which loneliness can be eliminated in the action map, the emotion management unit 244 reduces the emotion parameter indicating the loneliness. In addition, various emotional parameters are also changed by the response action described later. For example, the emotion parameter indicating loneliness declines when being "held" from the owner, and the emotion parameter indicating loneliness gradually increases when the owner is not viewed for a long time.
  • the map management unit 210 changes the parameter of each coordinate in the method described with reference to FIG. 4 for a plurality of action maps.
  • the recognition unit 212 recognizes the external environment.
  • the recognition of the external environment includes various recognitions such as recognition of weather and season based on temperature and humidity, recognition of an object shade (safety area) based on light quantity and temperature.
  • the recognition unit 156 of the robot 100 acquires various types of environment information by the internal sensor 128, performs primary processing on the environment information, and transfers the information to the recognition unit 212 of the server 200. Specifically, the recognition unit 156 of the robot 100 extracts an image corresponding to a moving object, in particular, a person or an animal from the image, and sends the extracted image to the server 200.
  • the recognition unit 212 of the server 200 extracts the feature of the person appearing in the extracted image.
  • the recognition unit 212 further includes a person recognition unit 214 and a response recognition unit 228.
  • the person recognition unit 214 recognizes a person from an image captured by the built-in camera of the robot 100, and extracts physical features and behavioral features of the person. Then, based on the body feature information and the action feature information registered in the personal data storage unit 218, the captured user, ie, the user who is looking at the robot 100 corresponds to any person such as a father, a mother, a eldest son, etc. Determine if you want to
  • the person recognition unit 214 includes an expression recognition unit 230.
  • the facial expression recognition unit 230 estimates the user's emotion by performing image recognition on the user's facial expression.
  • the person recognition unit 214 also performs feature extraction on a moving object other than a person, for example, a cat or a dog that is a pet.
  • the response recognition unit 228 recognizes various response actions made to the robot 100, and classifies them as pleasant and unpleasant actions.
  • the response recognition unit 228 also classifies into a positive / negative response by recognizing the owner's response to the behavior of the robot 100.
  • the pleasant and unpleasant behavior is determined depending on whether the user's response behavior is comfortable or unpleasant as a living thing. For example, holding is a pleasant act for the robot 100, and kicking is an unpleasant act for the robot 100.
  • the positive / negative response is determined depending on whether the user's response indicates a user's pleasant emotion or an unpleasant emotion. For example, being held is a positive response indicating the user's pleasant feeling, and kicking is a negative response indicating the user's unpleasant feeling.
  • the motion control unit 222 of the server 200 cooperates with the motion control unit 150 of the robot 100 to determine the motion of the robot 100. Further, the motion control unit 222 of the server 200 creates a movement target point of the robot 100 and an execution trajectory (movement route) therefor based on the action map selection by the map management unit 210. In the present embodiment, the operation control unit 222 creates a plurality of execution trajectories, and then selects one of the execution trajectories.
  • the “execution trajectory” is route information specifying a movement target point and a route to the movement target point, and the robot 100 moves along the selected execution trajectory.
  • the execution trajectory defines not only a movement target point but also a passing point and a movement speed.
  • the motion control unit 222 selects the motion of the robot 100 from the plurality of motions of the motion storage unit 232.
  • Each motion is associated with a selection probability for each situation. For example, a selection method is defined such that motion A is executed with a probability of 20% when a pleasant action is made by the owner, and motion B is executed with a probability of 5% when the temperature reaches 30 degrees or more. .
  • a movement target point and an execution trajectory are determined in the action map, and a motion is selected by various events described later.
  • the trajectory generation unit 242 generates a planned trajectory which defines a moving route of the robot 100 when an event occurs, and a planned trajectory selection table showing a method of selecting the planned trajectory.
  • the method of generating the planned trajectory will be described in detail later with reference to FIGS.
  • the "planned trajectory” is route information that specifies a movement target point and a route to the movement target point.
  • the planned trajectory in this embodiment defines not only a movement target point but also a passing point and a movement speed.
  • the "performed trajectory” is a trajectory that is always adopted when selected, but the “scheduled trajectory” is a trajectory that is not adopted unless an event occurs.
  • the planned trajectory selection table of the planned trajectory storage unit 224 is updated, and the trajectory notification unit 240 notifies the robot 100 of this.
  • the planned trajectory storage unit 154 of the robot 100 also holds a planned trajectory selection table.
  • the change of the planned trajectory selection table of the server 200 is reflected in the planned trajectory selection table of the robot 100 by the trajectory notification unit 240.
  • the closeness management unit 220 manages closeness for each user. As described above, the intimacy degree is registered in the personal data storage unit 218 as part of the personal data. When a pleasant act is detected, the closeness management unit 220 increases the closeness to the owner. The intimacy is down when an offensive act is detected. In addition, the closeness of the owner who has not viewed for a long time gradually decreases.
  • the robot 100 includes a communication unit 142, a data processing unit 136, a data storage unit 148, an internal sensor 128, and a drive mechanism 120.
  • the communication unit 142 corresponds to the communication device 126 (see FIG. 5), and takes charge of communication processing with the external sensor 114 and the server 200.
  • the data storage unit 148 stores various data.
  • the data storage unit 148 corresponds to the storage device 124 (see FIG. 5).
  • the data processing unit 136 executes various processes based on the data acquired by the communication unit 142 and the data stored in the data storage unit 148.
  • the data processing unit 136 corresponds to a processor 122 and a computer program executed by the processor 122.
  • the data processing unit 136 also functions as an interface of the communication unit 142, the internal sensor 128, the drive mechanism 120, and the data storage unit 148.
  • the data storage unit 148 includes a motion storage unit 160 that defines various motions of the robot 100, and a planned trajectory storage unit 154 that stores planned trajectory data.
  • Various motion files are downloaded from the motion storage unit 232 of the server 200 to the motion storage unit 160 of the robot 100.
  • Motion is identified by motion ID.
  • a state in which the front wheel 102 is accommodated which causes the robot 100 to rotate by having only the front wheel 102 housed and seated, lifting the hand 106, rotating the two front wheels 102 in reverse, or rotating only one front wheel 102
  • various actuators such as shaking by rotating the front wheel 102 at a time, stopping and turning back once when leaving the user, operation timing, operation time, operation direction, etc. of various actuators (drive mechanism 120) Temporarily defined in motion file.
  • the planned trajectory of the robot 100 is generated by both the trajectory generation unit 172 of the robot 100 and the trajectory generation unit 242 of the server 200.
  • the planned trajectory and the planned trajectory selection table generated by the trajectory generation unit 172 of the robot 100 are stored in the planned trajectory storage unit 154.
  • the planned orbit and the planned orbit selection table generated by the orbit generation unit 242 of the server 200 are stored in the planned orbit storage unit 224.
  • the planned trajectory selection table stored in the planned trajectory storage unit 224 of the server 200 and the data defining the planned trajectory are downloaded by the trajectory notification unit 240 to the planned trajectory storage unit 154 of the robot 100 as needed.
  • the data processing unit 136 includes a recognition unit 156, an operation control unit 150, a safety zone detection unit 152, and a trajectory generation unit 172.
  • the motion control unit 150 of the robot 100 determines the motion of the robot 100 in cooperation with the motion control unit 222 of the server 200. Some motions may be determined by the server 200, and other motions may be determined by the robot 100. Also, although the robot 100 determines the motion, the server 200 may determine the motion when the processing load of the robot 100 is high. The base motion may be determined at server 200 and additional motion may be determined at robot 100. How to share the motion determination process in the server 200 and the robot 100 may be designed according to the specification of the robot system 300.
  • the motion control unit 150 of the robot 100 determines the moving direction of the robot 100 together with the motion control unit 222 of the server 200.
  • the movement based on the action map may be determined by the server 200, and the immediate movement such as turning off the obstacle may be determined by the movement control unit 150 of the robot 100.
  • the operation control unit 150 may determine the execution trajectory.
  • the drive mechanism 120 drives the front wheel 102 in accordance with an instruction from the operation control unit 150 to direct the robot 100 to the movement target point.
  • the operation control unit 150 of the robot 100 instructs the drive mechanism 120 to execute the selected motion.
  • the drive mechanism 120 controls each actuator according to the motion file.
  • the motion control unit 150 can also execute a motion to lift both hands 106 as a gesture that encourages "hug” when a user with high intimacy is nearby, and when the "hug” gets tired, the left and right front wheels 102 By alternately repeating reverse rotation and stop while being accommodated, it is also possible to express a motion that annoys you.
  • the drive mechanism 120 causes the robot 100 to express various motions by driving the front wheel 102, the hand 106, and the neck (head frame 316) according to the instruction of the operation control unit 150.
  • the trajectory generation unit 172 generates the planned trajectory of the robot 100 together with the trajectory generation unit 242 of the server 200, and updates the planned trajectory selection table.
  • the planned trajectory and the planned trajectory selection table generated by the trajectory generation unit 172 of the robot 100 are stored in the planned trajectory storage unit 154.
  • the planned trajectories stored in the planned trajectory storage unit 154 include one generated by the trajectory generation unit 172 of the robot 100 and one generated by the trajectory generation unit 242 of the server 200.
  • the planned trajectory selection table of the planned trajectory storage unit 154 is updated by the trajectory generation unit 172 and also updated by the trajectory generation unit 242 of the server 200.
  • the safe zone detection unit 152 detects a safe zone.
  • the safe zone and its detection method will be described later.
  • the recognition unit 156 of the robot 100 interprets external information obtained from the internal sensor 128.
  • the recognition unit 156 is capable of visual recognition (visual unit), odor recognition (olfactory unit), sound recognition (hearing unit), and tactile recognition (tactile unit).
  • the recognition unit 156 periodically images the outside world with the built-in camera (internal sensor 128), and detects a moving object such as a person or a pet.
  • the image of the moving object is transmitted to the server 200, and the person recognition unit 214 of the server 200 extracts physical features of the moving object. It also detects the smell of the user and the voice of the user. Smells and sounds (voices) are classified into multiple types by known methods.
  • the recognition unit 156 recognizes this by the built-in acceleration sensor, and the response recognition unit 228 of the server 200 recognizes that the "abuse act" is performed by the user in the vicinity. Even when the user holds the tongue 112 and lifts the robot 100, it may be recognized as a violent act.
  • the response recognition unit 228 of the server 200 may recognize that the “voice call action” has been performed on itself.
  • the temperature around the body temperature is detected, it is recognized that the user has made “contact action”, and when the upward acceleration is detected in the state where the contact is recognized, it is recognized that "handing” is made.
  • the physical contact when the user lifts the body 104 may be sensed, or the holding on the front wheel 102 may be recognized by lowering the load.
  • the response recognition unit 228 of the server 200 recognizes various responses of the user to the robot 100.
  • some typical response actions correspond to pleasure or discomfort, affirmation or denial.
  • most pleasurable actions are positive responses, and most offensive actions are negative.
  • Pleasure and discomfort are related to intimacy, and affirmative and negative responses affect the action selection of the robot 100.
  • the recognition unit 156 of the robot 100 selects and classifies information necessary for recognition, and interpretation processes such as analysis and judgment are executed by the recognition unit 212 of the server 200. Be done.
  • the recognition processing may be performed only by the recognition unit 212 of the server 200, or may be performed only by the recognition unit 156 of the robot 100, or both perform the above-mentioned recognition processing while sharing roles. It is also good.
  • the closeness management unit 220 of the server 200 changes the closeness to the user.
  • the intimacy with the user who has performed pleasure is increased, and the intimacy with the user who has performed offensive activity decreases.
  • the recognition unit 212 of the server 200 determines the comfort / discomfort according to the response, and the map management unit 210 changes the z value of the point where the comfort / discommitment was performed in the action map expressing “attachment to a place”. May be For example, when a pleasant act is performed in the living, the map management unit 210 may set a favor point in the living with a high probability. In this case, a positive feedback effect is realized in that the robot 100 prefers a living and enjoys an activity in the living, and thus prefers a living more and more.
  • the person recognition unit 214 of the server 200 detects a moving object from various data obtained from the external sensor 114 or the internal sensor 128, and extracts its features (physical features and behavioral features). Then, a plurality of moving objects are subjected to cluster analysis based on these features. As moving objects, not only humans but also pets such as dogs and cats may be analyzed.
  • the robot 100 periodically takes an image, and the person recognition unit 214 recognizes a moving object from those images, and extracts features of the moving object.
  • a moving object is detected, physical features and behavioral features are also extracted from an odor sensor, a built-in sound collection microphone, a temperature sensor, and the like. For example, when moving objects appear in the image, bearded, working in the early morning, wearing red clothes, smelling of perfume, loud voice, wearing glasses, wearing skirts A variety of features are extracted, such as white-haired, tall, fat, tan, and being on a couch.
  • a moving object with a beard (user) is likely to be active early in the morning (early rising) and less likely to wear a red dress, so a cluster with a beard growing early and not wearing much red dress (user)
  • the first profile of can be made.
  • moving objects wearing glasses often wear skirts, but if these moving objects have no beards, clusters wearing glasses wearing skirts but no absolute beards
  • the second profile (user) can be created.
  • the robot 100 does not have to recognize that the first profile is "father". It is only necessary to be able to recognize the figure of "a cluster with a beard and often getting up early, and a cluster that rarely wears red clothes”.
  • the robot 100 newly recognizes a moving object (user) while such cluster analysis is completed.
  • the person recognition unit 214 of the server 200 performs feature extraction from sensing information such as an image obtained from the robot 100, and a cluster is used for moving objects in the vicinity of the robot 100 by dive learning (multilayer neural network). Determine if it is applicable. For example, when a moving object with a beard is detected, the moving object is likely to be a father. If this moving object is acting in the early morning, it is more certain that it corresponds to the father. On the other hand, when detecting a moving object wearing glasses, the moving object may be a mother. If the moving object has a beard, it is not a mother but a father, so it is determined to be a new person not subjected to cluster analysis.
  • cluster analysis cluster analysis
  • fitting to clusters involved in feature extraction deep learning
  • the robot 100 sets a high degree of intimacy for people who frequently meet, people who frequently touch, and people who frequently speak. On the other hand, the intimacy with the people who rarely see, those who do not touch very much, the violent people, the people who speak loudly becomes low.
  • the robot 100 changes the intimacy degree of each user based on various external information detected by sensors (vision, touch, hearing).
  • the actual robot 100 autonomously performs complex action selection in accordance with the action map.
  • the robot 100 acts while being influenced by a plurality of action maps based on various parameters such as loneliness, boredom and curiosity.
  • the robot 100 tries to approach people with high intimacy and leaves people with low intimacy, in principle, when the influence of the action map is excluded or in an internal state where the influence of the behavior map is small. I assume.
  • the behavior of the robot 100 is categorized as follows according to closeness.
  • Cluster robot 100 with very high intimacy approaches the user (hereinafter referred to as “proximity action”), and by performing a love behavior pre-defined as a gesture showing favor with people Express strongly.
  • Cluster robot 100 with relatively high intimacy performs only proximity action.
  • Cluster robot 100 with relatively low intimacy does not take any particular action.
  • the cluster robot 100 with particularly low intimacy performs a leaving action.
  • the robot 100 when the robot 100 finds a user with high intimacy, it approaches that user, and conversely, when finding a user with low intimacy, it leaves the user.
  • it is possible to express so-called "human sight" behavior.
  • the robot 100 may move away from the visitor and head toward the family (user B with high intimacy).
  • the user B can feel that the robot 100 is aware of strangers and feels uneasy, and relies on himself.
  • Such a behavioral expression evokes the user B the joy of being selected and relied upon, and the accompanying attachment.
  • the user A who is a visitor frequently visits, calls and makes a touch the intimacy with the user A of the robot 100 gradually increases, and the robot 100 does not act as an acquaintance with the user A (disengagement behavior) .
  • the user A can also have an attachment to the robot 100 by feeling that the robot 100 has become familiar with himself.
  • the robot 100 may not select the behavior influenced by the intimacy because the action map for finding a place satisfying the curiosity is emphasized. .
  • the external sensor 114 installed at the entrance detects that the user has returned home, the user may be asked to give priority to the user's meeting action.
  • FIG. 7 is a data structure diagram of the motion selection table 180.
  • the motion selection table 180 defines motions to be executed when various events occur. When an event occurs, the robot 100 selects one or more motions from a plurality of types of motions.
  • the motion selection table 180 is stored in both the motion storage unit 232 of the server 200 and the motion storage unit 160 of the robot 100.
  • the motion selection table 180 of the server 200 and the motion selection table 180 of the robot 100 synchronize with each other.
  • the “event” is defined in advance as an event that triggers the robot 100 to execute a motion.
  • the setting contents of the event are optional, such as when the owner is visually recognized, when the owner is held, when kicked, when a loud sound is heard, when no one visually recognizes for a predetermined time or more.
  • a selection probability is associated with each of motion (C01) to motion (Cx). For example, when the event J1 occurs, the motion control unit 222 does not select the motion (C01), and selects the motion (C02) with a probability of 0.1%. When the event J2 occurs, the motion control unit 222 selects motion (C01) with a probability of 0.1%, and selects motion (C02) with a probability of 0.4%.
  • Some simple events are detected by the recognition unit 156 of the robot 100, and some complex events need to be interpreted by the person recognition unit 214 of the server 200.
  • the motion control unit 150 selects a motion with reference to the motion selection table 180, and instructs the drive mechanism 120 to execute the motion.
  • the operation control unit 222 of the server 200 refers to the motion selection table 180 stored in the motion storage unit 232 to select a motion, and notifies the robot 100 of a motion ID. .
  • the motion control unit 150 of the robot 100 instructs the drive mechanism 120 to execute the motion corresponding to the notified motion ID.
  • the selection probability in the motion selection table 180 does not have to be a fixed value.
  • the operation control unit 222 randomly changes the selection probability in a predetermined range.
  • the selection probability of the motion selection table 180 is updated in the server 200, the updated motion selection table 180 is downloaded to the robot 100.
  • a positive event is an event when pleasure is performed, for example, when pleasure is done. Specifically, it can be used by the owner, favorite music is played, and the user moves to a cool place when the outside temperature is high.
  • Negative events are events that are associated with discomfort or danger. Specifically, violent behavior, detecting unpleasant noise such as falling or destruction of an object, contact with an extremely hot or cold object, or the like. It is also possible to define negative events based on speech recognition such as yells and screams, screeches and rebukes. Neutral events are other events that are neither positive nor negative events.
  • FIG. 8 is a data structure diagram of the planned trajectory selection table 162.
  • the planned orbit selection table 162 defines planned orbits to be selected when various events occur.
  • an event in particular a negative event occurs, the robot 100 moves along a planned trajectory after executing a motion corresponding to the event.
  • the robot 100 exerts a violent act (negative event), it escapes from the violent actor (event source).
  • This escape route is also a kind of planned orbit.
  • the robot 100 selects one of the predetermined orbits from one or more predetermined orbits.
  • immediate events are often required for negative events. When they recognize negative events such as discomfort or danger, they try to leave the danger immediately.
  • the event is generated by calculating one or more movement routes (planned trajectories) in advance before the occurrence of the event, instead of calculating the movement route corresponding to the event after the occurrence of the event. Realize an immediate move when it occurs.
  • the planned trajectory differs depending on what event occurred and where.
  • the planned trajectory selection table 162 shown in FIG. 8 when the robot 100 is at the position coordinate Q1, an event J1 is in a short distance within E1 (m) from Q1 and in the D1 direction (for example, front right direction) R1 to R3 are set as planned orbits when occurrence of. These planned trajectories are calculated before the event J1 actually occurs.
  • the operation control unit 150 selects one of the planned orbits R1 to R3 and moves the robot 100 along the selected planned orbit. Selection probabilities may be set for a plurality of planned trajectories.
  • the trajectory generation unit 172 of the robot 100 sequentially generates planned trajectories for various events.
  • the trajectory generation unit 242 of the server 200 also sequentially generates scheduled trajectories. For example, before the event occurrence status [Q1, (J1, E1, D1)] actually occurs, the trajectory creation unit 172 of the robot 100 generates a planned trajectory R1 corresponding to the event occurrence status, and another event occurrence status
  • the trajectory generation unit 242 of the server 200 may generate the planned trajectory R4 of [Q1, (J1, E1, D2)].
  • the trajectory generation unit 172 of the robot 100 transmits, to the server 200, an instruction (hereinafter, referred to as “orbit generation instruction”) of generating a planned trajectory of the event occurrence status [Q1, (J1, E1, D1)].
  • the server 200 generates a planned trajectory corresponding to the event occurrence state indicated by the trajectory generation instruction, on the condition that the trajectory generation instruction has been received.
  • the trajectory generation unit 242 of the server 200 updates the planned trajectory of the planned trajectory storage unit 224 and the planned trajectory selection table, and the trajectory notification unit 240 notifies the robot 100 of the generated planned trajectory R4.
  • the robot 100 may itself generate the planned trajectory R1, and may transmit a trajectory generation instruction of the planned trajectories R2 and R3 to the server 200. Only the trajectory generation unit 172 of the robot 100 may calculate the planned trajectory, or only the trajectory generation unit 242 of the server 200 may calculate the planned trajectory. The calculation of the planned trajectory may be shared according to the processing load of the robot 100 and the server 200. In the present embodiment, the planned trajectory based on the behavior map is generated by the trajectory generation unit 242 of the server 200, and a simple planned trajectory not using the behavior map is generated by the safety zone detection unit 152 of the robot 100.
  • the planned trajectory data defines various moving methods such as where to move, through which route to move, swiftly moving, and slowly moving.
  • motions to be simultaneously executed when moving along a predetermined trajectory may be set. For example, it is possible to set various motions, such as running away with both hands 106 lifted, and then a dash and then a dash.
  • FIG. 9 is a schematic view showing a method of generating a planned trajectory.
  • FIG. 9 shows the event occurrence status [Q1, (J1, E1, D1)]. Planned orbits R1 to R3 are generated corresponding to this situation (see FIG. 8).
  • the planned trajectory R1 is a simple route that does not consider an action map that runs straight in the opposite direction to the occurrence point S1 of the event.
  • the robot 100 moves away from the event generation source by a predetermined distance or more while performing obstacle avoidance operation.
  • the planned trajectory R2 is a moving route leaving from the event occurrence point S1 while securing a predetermined distance or more from the aversion point P2.
  • the planned trajectory R3 is a moving route toward the nearest favor point P1.
  • the trajectory generation unit 172 of the robot 100 generates a planned trajectory R1. Since the planned trajectory R1 is simple, it may be preset as a selectable moving route whenever a negative event occurs.
  • the planned trajectory R2 is generated by the trajectory generation unit 242 of the server 200.
  • the trajectory generation unit 242 refers to the action map such as the emotion map 116 and generates a movement route avoiding the aversion point P2. For example, after setting conditions so as not to fall within the predetermined range from the aversion point P2, the planned trajectory R2 is set in the direction in which the distance from the event occurrence point is expanded.
  • the planned trajectory R3 is also generated by the trajectory generation unit 242 of the server 200.
  • the trajectory generation unit 242 refers to the behavior map, and generates, as a planned trajectory R3, a moving route which goes away from the event occurrence point S1 and goes to the favor point P1 closest to the current point Q1.
  • the planned trajectory R3 is generated after the generation of the planned trajectory R2 is completed.
  • the trajectory generation unit 172 of the robot 100 generates a planned trajectory R1 and transmits a trajectory generation instruction to the trajectory generation unit 242 of the server 200.
  • the trajectory generation unit 242 first generates a planned trajectory R2, and then generates a planned trajectory R3.
  • the planned orbits R2 and R3 are sequentially notified from the server 200 to the robot 100. As a result, it is assumed that they are generated in the order of planned orbits R1, R2 and R3.
  • the motion control unit 150 of the robot 100 moves the robot 100 along the planned trajectory R1.
  • event J1 occurs while both planned trajectory R1 and planned trajectory R2 are generated, motion control unit 150 of robot 100 randomly selects either planned trajectory R1 or planned trajectory R2.
  • the operation control unit 150 of the robot 100 randomly selects one of the three planned trajectories R1 to R3.
  • a plurality of planned trajectories are generated before the occurrence of the event occurrence condition [Q1, (J1, E1, D1)], so when the event J1 actually occurs, the occurrence time point
  • one of the selectable planned orbits is selected.
  • the robot 100 and the server 200 may generate a planned trajectory at any time as background processing with a low execution priority.
  • Planned orbits R2 and R3 in consideration of the favor point P1 and the aversion point P2 are generated by the server 200 with reference to the action map.
  • the behavior map may also be downloaded to the robot 100.
  • the robot 100 can also generate the planned trajectories R2 and R3 based on the action map.
  • the robot 100 may generate various planned trajectories that do not rely on the action map, such as orbiting the current point Q1 or trying to slightly approach the event occurrence point S1. .
  • the response behavior of the robot 100 to an event can be diversified by generating a plurality of planned trajectories in advance corresponding to a certain event occurrence situation.
  • generating a planned trajectory based on the behavior map it is possible to generate a planned trajectory based on the behavior characteristic of the robot 100.
  • the server 200 sequentially generates various planned trajectories in response to a plurality of types of event occurrence situations, in particular, a plurality of types of events.
  • the generated planned trajectory is notified to the robot 100 when an event has not occurred.
  • the robot 100 can be prepared for events that may occur in the future.
  • the server 200 may generate planned orbits on the condition that the orbit generation instruction has been received, or generate planned orbits corresponding to various event occurrence situations even when the orbit generation instruction is not received, It may be recorded in the planned trajectory storage unit 154 of the robot 100 as needed.
  • the planned trajectory may be generated as a route hidden in the safety point.
  • a safety point is a place where it is easy to protect yourself near the owner, behind the wall, behind the sofa, in a small room such as a bathroom or toilet, or with a ceiling such as under a desk or table.
  • the map storage unit 216 of the server 200 stores a map in which the position coordinates of the safety point are registered in advance.
  • the trajectory generation unit 242 of the server 200 can also generate a planned trajectory with the nearest safety point as the movement target point.
  • the robot 100 can search for a safety point by itself.
  • the safety zone detection unit 152 of the robot 100 detects a point satisfying the predetermined safety condition as a “safe point”. Specifically, there is a “ceiling” under the table, a “close owner” with a closeness of more than a predetermined value, a dark place like a sofa, three or more directions like a bathroom The place where it was surrounded by a wall, etc.
  • the robot 100 detects a place where a safety condition is established by recognizing an owner, a ceiling, and a wall by an internal sensor 128, in particular, a camera.
  • the safety zone detection unit 152 notifies the server 200 when a place satisfying the safety condition is found during the normal action.
  • the map management unit 210 of the robot 100 registers the position coordinates of the robot 100 at the notification time point as a safety point.
  • the robot 100 executes a motion corresponding to the event. Thereafter, the robot 100 immediately moves along any of the predetermined trajectories. For example, when a loud plosive sound is heard, it is possible to express behavioral characteristics such as running away from the sound source immediately after executing a motion that shakes viciously. Motion may be performed while moving the planned trajectory. For example, it is possible to express an action of slowly running away while gazing at the event source.
  • FIG. 10 is a schematic diagram illustrating an event assumed during movement and a planned trajectory for the event.
  • the robot 100 sets a normal movement (execution trajectory) from the start point Qs to the end point Qe. It may be a move for Qe to be a favor point, or it may be a move for leaving Qs because Qs has become an aversion point.
  • Various events may occur while moving. There is a television at the coordinate S3, and the television may generate an event of "big sound”. There is a child at coordinate S4, and the child may generate a "big sound", or may cause the robot 100 to act violently.
  • Priorities are set in advance for events.
  • the priority may be arbitrarily initialized at design time based on the frequency of occurrence and the degree of importance.
  • the robot system 300 calculates the planned trajectory for the event J3 earlier than the planned trajectory for the event J4.
  • the robot 100 or the server 200 first calculates a planned trajectory corresponding to the event J3. For example, a planned orbit corresponding to the event occurrence status [Qm, (J3, E1, D3)] is calculated.
  • Qm is a passing point from Qs to Qe.
  • planned orbits corresponding to other event occurrence conditions [Qm, (J3, E1, D4)] or [Qm, (J4, E1, D2)] may be calculated.
  • a plurality of planned trajectories are generated in response to various situations, and in preparation for situations where events J3 and J4 actually occur. As more planned trajectories have been generated, various behavioral expressions corresponding to events become possible.
  • FIG. 11 is a flowchart showing a process of planned trajectory generation processing.
  • the planned trajectory generation process is executed by both the robot 100 and the server 200.
  • the trajectory generation unit 242 of the server 200 is described, the same applies to the trajectory generation unit 172 of the robot 100. Since the planned trajectory generation process of the server 200 has a low execution priority, it is executed in a time zone in which the processing load of the server 200 is light.
  • the planned trajectory generation process may be performed periodically, or may be performed each time the robot 100 moves a predetermined distance.
  • the trajectory generation unit 242 selects position coordinates of the robot 100 when an event occurs (S10).
  • the trajectory generation unit 242 specifies a plurality of candidate points where the robot 100 can be positioned in the future, and selects one of the candidate points as a calculation target.
  • the trajectory generation unit 242 selects an event to be calculated among a plurality of types of events (S12). As described above, events may be sequentially selected based on priority.
  • the trajectory generation unit 242 selects one of the points where an event can occur (S14). As described with reference to FIGS.
  • the possible occurrence points of the event include a plurality of distance ranges (for example, two types “less than E1” and “less than E1 and less than E2”) and plural directions (for example, One of the eight directions D1 to D8 is selected.
  • the trajectory generation unit 242 generates a planned trajectory corresponding to the event occurrence status specified above (S16).
  • the planned orbit is routed after selecting whether to leave or approach the event occurrence point, then randomly select a plurality of parameters such as the movement target point and the movement speed, and taking into consideration the presence of the action map and the indoor obstacle.
  • the approach to the movement target point may be randomly selected from a combination of a plurality of movement methods such as turning, meandering, and straight movement.
  • the generated planned trajectory data is registered in the planned trajectory storage unit 224, and the trajectory generation unit 242 updates the planned trajectory selection table 162 (S18). In addition, the trajectory generation unit 242 may delete the planned trajectory which has been calculated in the past and has become unnecessary from the planned trajectory selection table 162.
  • Information of the planned trajectory storage unit 224 is reflected by the trajectory notification unit 240 on the planned trajectory storage unit 154 of the robot 100 as needed.
  • FIG. 12 is a flowchart showing the process of generating an event.
  • the process shown in FIG. 12 is executed in the robot 100.
  • the motion control unit 150 of the robot 100 selects a motion with reference to the motion selection table 180 (S20), and causes the drive mechanism 120 to execute the selected motion (S22). If one or more planned orbits corresponding to the event occurrence situation that has appeared has been generated (Y in S24), the operation control unit 150 selects the planned orbits (S26), and instructs the drive mechanism 120 to set the planned orbits. The movement along is performed (S28).
  • the operation control unit 150 moves the robot 100 in the direction away from the event generation source by a predetermined distance (S30). As described above, even when an event occurrence state in which the planned trajectory is not generated occurs, the basic movement corresponding to the event occurrence can be executed. The robot 100 may be moved along the planned trajectory without executing the motion corresponding to the event.
  • the robot 100 and the robot system 300 including the robot 100 have been described above based on the embodiment.
  • One or more action maps are difficult to pattern and difficult to predict, and represent biological action choices. Similar to a living thing, the robot 100 changes its behavior not only by the behavior map but also by various events. In the present embodiment, after the robot 100 executes the motion corresponding to the event, it moves along the planned trajectory. Such a control method makes it possible to express an action of running away in a surprising manner when a dangerous or unpleasant event is recognized.
  • the calculation load of the robot 100 can be reduced by calculating the planned trajectory by both the server 200 and the robot 100.
  • the server 200 may calculate all planned trajectories. Since the planned trajectory is generated and accumulated while assuming various event occurrence situations, and the robot 100 is moved along the planned trajectory when the event actually occurs, it is possible to realize an immediate action to the event. Further, by generating a plurality of planned trajectories for a certain event occurrence situation, reactions of the robot 100 with respect to the same event are diversified.
  • the robot 100 can also find a safety point that satisfies the safety condition during normal action.
  • the map management unit 210 may register such a safety point as "a place giving a sense of security" in the action map. In this case, it is possible to realize the behavior characteristic of preferring the safety point.
  • the present invention is not limited to the above-described embodiment and modification, and the components can be modified and embodied without departing from the scope of the invention.
  • Various inventions may be formed by appropriately combining a plurality of components disclosed in the above-described embodiment and modifications. Moreover, some components may be deleted from all the components shown in the above-mentioned embodiment and modification.
  • the robot system 300 is described as being configured of one robot 100, one server 200, and a plurality of external sensors 114, part of the functions of the robot 100 may be realized by the server 200, or the functions of the server 200 A part or all of may be assigned to the robot 100.
  • One server 200 may control a plurality of robots 100, or a plurality of servers 200 may cooperate to control one or more robots 100.
  • a third device other than the robot 100 or the server 200 may have a part of the function.
  • An aggregate of the functions of the robot 100 and the functions of the server 200 described with reference to FIG. 6 can also be generally understood as one “robot”. How to allocate a plurality of functions necessary to realize the present invention to one or more hardwares will be considered in view of the processing capability of each hardware, the specifications required of the robot system 300, etc. It should be decided.
  • the “robot in a narrow sense” refers to the robot 100 not including the server 200
  • the “robot in a broad sense” refers to the robot system 300.
  • Many of the functions of the server 200 may be integrated into the robot 100 in the future.
  • the robot 100 may calculate a simple planned trajectory, and the server 200 may calculate a complex planned trajectory.
  • the planned trajectory toward the safety point or the planned trajectory based on the action map may be calculated by the server 200.
  • the planned trajectory calculation by the robot 100 and the planned trajectory calculation by the server 200 may be performed concurrently and in parallel.
  • the robot 100 may specify the event occurrence status, notify the server 200 of the event occurrence status for which it is desired to calculate the planned trajectory, and the server 200 may calculate the corresponding scheduled trajectory.
  • the robot 100 may positively transfer the planned trajectory calculation to the server 200. Also, the robot 100 does not have to constantly move in response to the event. For example, when an impact sound is heard from a distance, "surprise” may be acted by standing on the spot.
  • planned trajectories In addition to simply escaping negative events, it is possible to set various planned trajectories such as approaching slowly and then moving away quickly, orbiting around the event source, and so on. Also, planned orbits may be generated in advance not only for negative events but also for positive events. For example, even when the owner returns home, various planned trajectories may be prepared such as going straight to the front door, waiting in front of the front door, hiding in the kitchen, etc.
  • the priority of events can be arbitrarily set at the time of design of the robot system 300.
  • the trajectory generation unit 242 of the server 200 may set a high priority of an event relating to a person, in particular, an event relating to an owner with high intimacy.
  • the trajectory generation unit 242 may set a high priority to events that have occurred a lot in the past predetermined period. By setting priorities to events, it is possible to assign computational resources for planned trajectory calculation to important events.
  • the trajectory generation unit 242 may delete the calculated trajectory once calculated after a predetermined time has elapsed.
  • the server 200 may control a plurality of robots 100 simultaneously.
  • the trajectory generation unit 242 of the server 200 generates respective planned trajectories according to the action map and closeness of each robot 100. For example, when an event "a thing falls and is broken" occurs, the first robot 100A may run behind the father and the second robot 100B may run behind the sofa.
  • the planned trajectory may be calculated based on various parameters such as the size of the robot and the moving speed, in addition to the behavior map and the closeness.
  • a variety of behavioral expressions can be made that reflect the individuality of the robot 100, such as a character that is less likely to be upset by a negative event, or a timid character who immediately escapes to a safe spot.
  • the robot system 300 does not need to have a planned trajectory calculation function, a safety point detection function, and the like from the factory shipment time.
  • the functional enhancement of the robot system 300 may be realized by downloading an action control program for realizing the planned trajectory calculation function and the like via the communication network.
  • the motion control unit 222 of the server 200 or the motion control unit 150 of the robot 100 has been described as generating the execution trajectory.
  • the trajectory generation unit 242 of the server 200 or the trajectory generation unit 172 of the robot 100 may generate not only a planned trajectory but an execution trajectory, and the operation control unit 222 or the like may select the generated execution trajectory.
  • the trajectory generation unit 242 of the server 200 or the trajectory generation unit 172 of the robot 100 generates planned trajectory data and registers it in the planned trajectory selection table 162.
  • the operation control unit 150 sets a movement target point according to the planned trajectory data.
  • the recognition unit 156 captures an image of the periphery with a camera and detects an obstacle present at a visible short distance. An "obstacle" is determined as an object having a predetermined height.
  • the orbit generation unit 172 calculates a new planned orbit for avoiding the obstacle and reaching the movement target point. If an obstacle is found while the robot 100 is moving along the execution trajectory (normal movement route), the operation control unit 150 similarly generates a new execution trajectory that avoids the obstacle.
  • the safety zone detection unit 152 periodically detects a safety point based on an image captured by a camera.
  • the safety zone detection unit 152 registers safety points within a predetermined range from the current point of the robot 100 in a list (hereinafter referred to as “safe point list”), and updates the safety point list at any time as the robot 100 moves.
  • the safety point list includes not only the safety points newly detected by the safety zone detection unit 152 but also the safety points registered in advance in the map. In the additional example, up to five safety points are registered in the safety point list in order of proximity to the robot 100.
  • the safety point list is a list of the nearest safety points to escape when an event occurs.
  • the trajectory generation unit 242 or the like generates a planned trajectory at any time with the one or more safety points registered in the safety point list as the movement target point. These planned trajectories are generated and stocked at each safety point for each event.
  • the operation control unit 150 selects one of safety points from the safety point list as the movement target point.
  • the operation control unit 150 may select the closest safety point from the current point, or may select it at random.
  • priorities may be set in advance as safety points. For example, where there is a "close owner", a higher priority may be set in advance than "the shade of the sofa".
  • the operation control unit 150 selects a safety point from the safety point list, and sets a planned trajectory with the safety point as a movement target point.
  • the operation control unit 150 sets the movement target point in the direction away from the direction in which the event occurs.
  • the operation control unit 150 selects a safety point from the safety point list and sets it as a new movement target point B. Set At this time, the execution trajectory for the movement target point A is canceled, and the robot 100 moves toward the new movement target point B (safety point).
  • the operation control unit 150 may select a safety point after an event occurs, or may select a safety point in advance before an event occurs. In any case, by causing the robot 100 to express the action of escaping quickly to the safety point at the time of the event occurrence, by selecting the safety point before the event occurrence and generating a planned trajectory with the safety point as the movement target point Can.
  • the trajectory generation unit 172 when the operation control unit 150 determines a movement path (execution trajectory), the trajectory generation unit 172 generates a planned trajectory in preparation for an event. If an event actually occurs while the robot 100 moves along the execution trajectory, the motion control unit 150 moves the robot 100 along the planned trajectory, not the execution trajectory. At this time, the execution trajectory is canceled. On the other hand, when one of the safety points is deleted from the destination candidate as the robot 100 moves, the planned trajectory generated corresponding to the safety point is also discarded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Toys (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

ロボットは、ロボットの移動経路である実行軌道を決定する動作制御部と、実行軌道に沿ってロボットを移動させる駆動機構を備える。ロボットは、イベントが発生する前に、イベントに対応する予定軌道を生成する。実行軌道に沿って移動している最中に実際にイベントが発生したときには、ロボットは実行軌道ではなく予定軌道に沿って移動する。1つのイベントに対して複数の予定軌道が順次生成され、イベントが発生したときに複数の予定軌道が生成済みのときには、それらの中からいずれかの予定軌道が選択される。

Description

[規則37.2に基づきISAが決定した発明の名称] 自律行動型ロボット、サーバ及び行動制御プログラム
 本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
 人間は、感覚器官を通して外部環境からさまざまな情報を取得し、行動を選択する。意識的に行動選択することもあれば、無意識的な行動選択もある。繰り返し行動はやがて無意識的行動となり、そうでない行動は意識領域にとどまる。
 人間は、自らの行動を自由に選択する意志、すなわち、自由意志をもっていると信じている。人間が他人に対して愛情や憎しみといった感情を抱くのは、他人にも自由意志があると信じているからである。自由意志を持つ者、少なくとも自由意志を持っていると想定可能な存在は、人の寂しさを癒す存在にもなる。
 人間がペットを飼う理由は、人間の役に立つか否かよりも、ペットが癒しを与えてくれるからである。ペットは、多かれ少なかれ自由意志を感じさせる存在であるからこそ、人間のよき伴侶となることができる。
 その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒しを与えられるかもしれない(特許文献1、2参照)。
特開2001-246580号公報 特開2006-39760号公報
 自由意志だけでなく、「本能」も生物の行動特性を特徴づけるものである。本能とは、意識的な判断をともなわず環境からの刺激によって引き起こされる反応であり、危険回避はその代表例である。生物は危険を察知すると、無意識的・反射的に危険を回避しようとする。危険を認識したときに、ロボットに生物と同じような危険回避行動を取らせることができれば、ロボットの「生物としての存在感」を高めることができると考えられる。
 しかし、ロボットが危険を認識したあと即時に適切な回避行動を実行するのは容易ではない。危険を認識したあと、どうやって逃げるか、どこに逃げるかを決めるための計算処理に時間がかかりすぎると、不自然な動きになってしまう。危険事象に限らず、なんらかの事象に対して素早く反応することは生物に近い行動特性をロボットで表現する上で重要である。
 本発明は上記課題認識に基づいて完成された発明であり、その主たる目的は、外部で発生するさまざまな事象に対するロボットの反射的行動を効率的に制御するための技術、を提供することにある。
 本発明のある態様における自律行動型ロボットは、ロボットの移動経路である実行軌道を決定する動作制御部と、前記実行軌道に沿って前記ロボットを移動させる駆動機構と、イベントが発生する前に、イベントに対応する予定軌道を生成する軌道生成部と、を備える。
 動作制御部は、実行軌道をロボットが移動しているときにイベントが発生した場合には、移動経路ではなく予定軌道に沿ってロボットを移動させる。
 本発明のある態様におけるサーバは、自律行動型ロボットと通信回線を介して接続される。
 サーバは、自律行動型ロボットの位置およびイベントに対応する予定軌道を生成する軌道生成部と、イベントが発生する前に、自律行動型ロボットに予定軌道を通知する軌道通知部と、を備える。
 本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、所定の安全条件を満たす地点を安全地点として検出する安全地点検出部と、を備える。
 動作制御部は、所定のイベントが発生したとき、安全地点にロボットを移動させる。
 本発明によれば、ロボットに対する共感を高めやすくなる。
ロボットの正面外観図である。 ロボットの側面外観図である。 ロボットの構造を概略的に表す断面図である。 ロボットシステムの構成図である。 感情マップの概念図である。 ロボットのハードウェア構成図である。 ロボットシステムの機能ブロック図である。 モーション選択テーブルのデータ構造図である。 予定軌道選択テーブルのデータ構造図である。 予定軌道の生成方法を示す模式図である。 移動中に想定されるイベントと、イベントに対する予定軌道を説明する模式図である。 予定軌道生成処理の処理過程を示すフローチャートである。 イベント発生時の処理過程を示すフローチャートである。
 図1(a)は、ロボット100の正面外観図である。図1(b)は、ロボット100の側面外観図である。
 本実施形態におけるロボット100は、外部環境および内部状態に基づいて行動や仕草(ジェスチャー)を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット100の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。
 ロボット100は、屋内行動が前提とされており、たとえば、オーナー家庭の家屋内を行動範囲とする。以下、ロボット100に関わる人間を「ユーザ」とよび、ロボット100が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。
 ロボット100のボディ104は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット100に服を着せてもよい。丸くてやわらかく、手触りのよいボディ104とすることで、ロボット100はユーザに安心感とともに心地よい触感を提供する。
 ロボット100は、総重量が15キログラム以下、好ましくは10キログラム以下、更に好ましくは、5キログラム以下である。生後13ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後13ヶ月の赤ちゃんの平均体重は、男児が9キログラム強、女児が9キログラム弱である。このため、ロボット100の総重量が10キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット100を抱きかかえることができる。生後2ヶ月未満の赤ちゃんの平均体重は男女ともに5キログラム未満である。したがって、ロボット100の総重量が5キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット100を抱っこできる。
 適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット100を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット100の身長は1.2メートル以下、好ましくは、0.7メートル以下であることが望ましい。本実施形態におけるロボット100にとって、抱きかかえることができるというのは重要なコンセプトである。
 ロボット100は、3輪走行するための3つの車輪を備える。図示のように、一対の前輪102(左輪102a,右輪102b)と、一つの後輪103を含む。前輪102が駆動輪であり、後輪103が従動輪である。前輪102は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪103は、いわゆるオムニホイールからなり、ロボット100を前後左右へ移動させるために回転自在となっている。左輪102aよりも右輪102bの回転数を大きくすることで、ロボット100は左折したり、左回りに回転できる。右輪102bよりも左輪102aの回転数を大きくすることで、ロボット100は右折したり、右回りに回転できる。
 前輪102および後輪103は、駆動機構(回動機構、リンク機構)によりボディ104に完全収納できる。走行時においても各車輪の大部分はボディ104に隠れているが、各車輪がボディ104に完全収納されるとロボット100は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ104が降下し、床面Fに着座する。この着座状態においては、ボディ104の底部に形成された平坦状の着座面108(接地底面)が床面Fに当接する。
 ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
 目110にはカメラが内蔵される。目110は、液晶素子または有機EL素子による画像表示も可能である。ロボット100は、目110に内蔵されるカメラのほか、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
 ロボット100の頭部にはツノ112が取り付けられる。上述のようにロボット100は軽量であるため、ユーザはツノ112をつかむことでロボット100を持ち上げることも可能である。ツノ112には全天球カメラが取り付けられ、ロボット100の上部全域を一度に撮像可能である。
 図2は、ロボット100の構造を概略的に表す断面図である。
 図2に示すように、ロボット100のボディ104は、ベースフレーム308、本体フレーム310、一対の樹脂製のホイールカバー312および外皮314を含む。ベースフレーム308は、金属からなり、ボディ104の軸芯を構成するとともに内部機構を支持する。ベースフレーム308は、アッパープレート332とロアプレート334とを複数のサイドプレート336により上下に連結して構成される。複数のサイドプレート336間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム308の内方には、バッテリー118、制御回路342および各種アクチュエータが収容されている。
 本体フレーム310は、樹脂材からなり、頭部フレーム316および胴部フレーム318を含む。頭部フレーム316は、中空半球状をなし、ロボット100の頭部骨格を形成する。胴部フレーム318は、段付筒形状をなし、ロボット100の胴部骨格を形成する。胴部フレーム318は、ベースフレーム308と一体に固定される。頭部フレーム316は、胴部フレーム318の上端部に相対変位可能に組み付けられる。
 頭部フレーム316には、ヨー軸320、ピッチ軸322およびロール軸324の3軸と、各軸を回転駆動するためのアクチュエータ326が設けられる。アクチュエータ326は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸320が駆動され、頷き動作のためにピッチ軸322が駆動され、首を傾げる動作のためにロール軸324が駆動される。
 頭部フレーム316の上部には、ヨー軸320を支持するプレート325が固定されている。プレート325には、上下間の通気を確保するための複数の通気孔327が形成される。
 頭部フレーム316およびその内部機構を下方から支持するように、金属製のベースプレート328が設けられる。ベースプレート328は、クロスリンク機構329(パンタグラフ機構)を介してプレート325と連結される一方、ジョイント330を介してアッパープレート332(ベースフレーム308)と連結されている。
 胴部フレーム318は、ベースフレーム308と車輪駆動機構370を収容する。車輪駆動機構370は、回動軸378およびアクチュエータ379を含む。胴部フレーム318の下半部は、ホイールカバー312との間に前輪102の収納スペースSを形成するために小幅とされている。
 外皮314は、ウレタンゴムからなり、本体フレーム310およびホイールカバー312を外側から覆う。手106は、外皮314と一体成形される。外皮314の上端部には、外気を導入するための開口部390が設けられる。
 図3は、ロボットシステム300の構成図である。
 ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。家屋内にはあらかじめ複数の外部センサ114(外部センサ114a、114b、・・・、114n)が設置される。外部センサ114は、家屋の壁面に固定されてもよいし、床に載置されてもよい。サーバ200には、外部センサ114の位置座標が登録される。位置座標は、ロボット100の行動範囲として想定される家屋内においてx,y座標として定義される。
 サーバ200は、家庭内に設置される。本実施形態におけるサーバ200とロボット100は1対1で対応する。ロボット100の内蔵するセンサおよび複数の外部センサ114から得られる情報に基づいて、サーバ200がロボット100の基本行動を決定する。
 外部センサ114はロボット100の感覚器を補強するためのものであり、サーバ200はロボット100の頭脳を補強するためのものである。
 外部センサ114は、定期的に外部センサ114のID(以下、「ビーコンID」とよぶ)を含む無線信号(以下、「ロボット探索信号」とよぶ)を送信する。ロボット100はロボット探索信号を受信するとビーコンIDを含む無線信号(以下、「ロボット返答信号」とよぶ)を返信する。サーバ200は、外部センサ114がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ114からロボット100までの距離を測定する。複数の外部センサ114とロボット100とのそれぞれの距離を計測することで、ロボット100の位置座標を特定する。
 もちろん、ロボット100が自らの位置座標を定期的にサーバ200に送信する方式でもよい。
 図4は、感情マップ116の概念図である。
 感情マップ116は、サーバ200に格納されるデータテーブルである。ロボット100は、感情マップ116にしたがって行動選択する。図4に示す感情マップ116は、ロボット100の場所に対する好悪感情の大きさを示す。感情マップ116のx軸とy軸は、二次元空間座標を示す。z軸は、好悪感情の大きさを示す。z値が正値のときにはその場所に対する好感が高く、z値が負値のときにはその場所を嫌悪していることを示す。
 図4の感情マップ116において、座標P1は、ロボット100の行動範囲としてサーバ200が管理する屋内空間のうち好感情が高い地点(以下、「好意地点」とよぶ)である。好意地点は、ソファの陰やテーブルの下などの「安全な場所」であってもよいし、リビングのように人が集まりやすい場所、賑やかな場所であってもよい。また、過去にやさしく撫でられたり、触れられたりした場所であってもよい。
 ロボット100がどのような場所を好むかという定義は任意であるが、一般的には、小さな子どもや犬や猫などの小動物が好む場所を好意地点として設定することが望ましい。
 座標P2は、悪感情が高い地点(以下、「嫌悪地点」とよぶ)である。嫌悪地点は、テレビの近くなど大きな音がする場所、お風呂や洗面所のように濡れやすい場所、閉鎖空間や暗い場所、ユーザから乱暴に扱われたことがある不快な記憶に結びつく場所などであってもよい。
 ロボット100がどのような場所を嫌うかという定義も任意であるが、一般的には、小さな子どもや犬や猫などの小動物が怖がる場所を嫌悪地点として設定することが望ましい。
 座標Qは、ロボット100の現在位置を示す。複数の外部センサ114が定期的に送信するロボット探索信号とそれに対するロボット返答信号により、サーバ200はロボット100の位置座標を特定する。たとえば、ビーコンID=1の外部センサ114とビーコンID=2の外部センサ114がそれぞれロボット100を検出したとき、2つの外部センサ114からロボット100の距離を求め、そこからロボット100の位置座標を求める。
 あるいは、ビーコンID=1の外部センサ114は、ロボット探索信号を複数方向に送信し、ロボット100はロボット探索信号を受信したときロボット返答信号を返す。これにより、サーバ200は、ロボット100がどの外部センサ114からどの方向のどのくらいの距離にいるかを把握してもよい。また、別の実施の形態では、前輪102または後輪103の回転数からロボット100の移動距離を算出して、現在位置を特定してもよいし、カメラから得られる画像に基づいて現在位置を特定してもよい。
 図4に示す感情マップ116が与えられた場合、ロボット100は好意地点(座標P1)に引き寄せられる方向、嫌悪地点(座標P2)から離れる方向に移動する。
 感情マップ116は動的に変化する。ロボット100が座標P1に到達すると、座標P1におけるz値(好感情)は時間とともに低下する。これにより、ロボット100は好意地点(座標P1)に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標P2における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット100は新たな行動選択を行う。ロボット100は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
 感情マップ116は、ロボット100の内部状態として、感情の起伏を表現する。ロボット100は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット100の行動選択を人間的・生物的なものにできる。
 なお、ロボット100の行動に影響を与えるマップ(以下、「行動マップ」と総称する)は、図4に示したようなタイプの感情マップ116に限らない。たとえば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのz値を重み付け平均することにより、ロボット100の目的地点を決定してもよい。
 ロボット100は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有する。たとえば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させる。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
 図5は、ロボット100のハードウェア構成図である。
 ロボット100は、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。駆動機構120は、上述した車輪駆動機構370を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン二次電池であり、ロボット100の動力源である。
 内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ(高解像度カメラと全天球カメラ)、マイクロフォンアレイ、赤外線センサ、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。ニオイセンサは、さまざまな匂いを複数種類のカテゴリ(以下、「ニオイカテゴリ」とよぶ)に分類する。
 通信機126は、サーバ200や外部センサ114、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置124は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ122は、コンピュータプログラムの実行手段である。駆動機構120は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
 プロセッサ122は、通信機126を介してサーバ200や外部センサ114と通信しながら、ロボット100の行動選択を行う。内部センサ128により得られるさまざまな外部情報も行動選択に影響する。駆動機構120は、主として、車輪(前輪102)と頭部(頭部フレーム316)を制御する。駆動機構120は、2つの前輪102それぞれの回転速度や回転方向を変化させることにより、ロボット100の移動方向や移動速度を変化させる。また、駆動機構120は、車輪(前輪102および後輪103)を昇降させることもできる。車輪が上昇すると、車輪はボディ104に完全に収納され、ロボット100は着座面108にて床面Fに当接し、着座状態となる。
 図6は、ロボットシステム300の機能ブロック図である。
 上述のように、ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。ロボット100およびサーバ200の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
 ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部はロボット100により実現されてもよい。
(サーバ200)
 サーバ200は、通信部204、データ処理部202およびデータ格納部206を含む。
 通信部204は、外部センサ114およびロボット100との通信処理を担当する。データ格納部206は各種データを格納する。データ処理部202は、通信部204により取得されたデータおよびデータ格納部206に格納されるデータに基づいて各種処理を実行する。データ処理部202は、通信部204およびデータ格納部206のインタフェースとしても機能する。
 通信部204は、軌道通知部240を含む。軌道通知部240は、後述の軌道生成部242により生成される予定軌道および予定軌道選択テーブルをロボット100に通知する。予定軌道および予定軌道選択テーブルについても後述する。
 データ格納部206は、モーション格納部232、マップ格納部216、個人データ格納部218および予定軌道格納部224を含む。
 ロボット100は、複数の動作パターン(モーション)を有する。手を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義されている。
 モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、サーバ200で決定されることもあるし、ロボット100で決定されることもある。
 ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット100がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような4つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット100に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル(アクチュエータ制御情報)にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
 先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
 以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット100の行動制御にかかわる設定のことを「行動特性」と総称する。ロボット100の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル、予定軌道、予定軌道選択テーブル等により定義される。
 モーション格納部232は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルについては、図7に関連して後述する。
 マップ格納部216は、複数の行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。予定軌道格納部224は、予定軌道を格納する。予定軌道格納部224は、予定軌道および予定軌道選択テーブルを格納する(後述)。個人データ格納部218は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度やユーザの身体的特徴・行動的特徴など各種のパラメータを格納する。年齢や性別などの他の属性情報を格納してもよい。
 ロボットシステム300(ロボット100およびサーバ200)はユーザの身体的特徴や行動的特徴に基づいてユーザを識別する。ロボット100は、内蔵のカメラで常時周辺を撮像する。そして、画像に写る人物の身体的特徴と行動的特徴を抽出する。身体的特徴とは、背の高さ、好んで着る服、メガネの有無、肌の色、髪の色、耳の大きさなど身体に付随する視覚的特徴であってもよいし、平均体温や匂い、声質、などその他の特徴も含めてもよい。行動的特徴とは、具体的には、ユーザが好む場所、動きの活発さ、喫煙の有無など行動に付随する特徴である。たとえば、父親として識別されるオーナーは在宅しないことが多く、在宅時にはソファで動かないことが多いが、母親は台所にいることが多く、行動範囲が広い、といった行動上の特徴を抽出する。
 ロボットシステム300は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
 ユーザIDでユーザを識別する方式は簡易かつ確実であるが、ユーザがユーザIDを提供可能な機器を保有していることが前提となる。一方、身体的特徴や行動的特徴によりユーザを識別する方法は画像認識処理負担が大きいものの携帯機器を保有していないユーザでも識別できるメリットがある。2つの方法は一方だけを採用してもよいし、補完的に2つの方法を併用してユーザ特定を行ってもよい。
 本実施形態においては、身体的特徴と行動的特徴からユーザをクラスタリングし、ディープラーニング(多層型のニューラルネットワーク)によってユーザを識別する。詳細は後述する。
 ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
 データ処理部202は、位置管理部208、マップ管理部210、認識部212、動作制御部222、親密度管理部220、感情管理部244および軌道生成部242を含む。
 位置管理部208は、ロボット100の位置座標を、図3を用いて説明した方法にて特定する。位置管理部208はユーザの位置座標もリアルタイムで追跡してもよい。
 感情管理部244は、ロボット100の感情(寂しさ、楽しさ、恐怖など)を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット100の移動目標地点が変化し、ロボット100の移動や時間経過によって感情パラメータが変化する。たとえば、寂しさを示す感情パラメータが高いときには、感情管理部244は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット100が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部244は寂しさを示す感情パラメータを低下させる。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
 マップ管理部210は、複数の行動マップについて図4に関連して説明した方法にて各座標のパラメータを変化させる。マップ管理部210は、複数の行動マップのいずれかを選択してもよいし、複数の行動マップのz値を加重平均してもよい。たとえば、行動マップAでは座標R1、座標R2におけるz値が4と3であり、行動マップBでは座標R1、座標R2におけるz値が-1と3であるとする。単純平均の場合、座標R1の合計z値は4-1=3、座標R2の合計z値は3+3=6であるから、ロボット100は座標R1ではなく座標R2の方向に向かう。
 行動マップAを行動マップBの5倍重視するときには、座標R1の合計z値は4×5-1=19、座標R2の合計z値は3×5+3=18であるから、ロボット100は座標R1の方向に向かう。
 認識部212は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。ロボット100の認識部156は、内部センサ128により各種の環境情報を取得し、これを一次処理した上でサーバ200の認識部212に転送する。具体的には、ロボット100の認識部156は、画像から移動物体、特に、人物や動物に対応する画像を抽出し、これらの抽出画像をサーバ200に送る。サーバ200の認識部212は、抽出画像に映っている人物の特徴を抽出する。
 認識部212は、更に、人物認識部214と応対認識部228を含む。人物認識部214は、ロボット100の内蔵カメラによる撮像画像から人物を認識し、その人物の身体的特徴や行動的特徴を抽出する。そして、個人データ格納部218に登録されている身体特徴情報や行動特徴情報に基づいて、撮像されたユーザ、すなわち、ロボット100が見ているユーザが、父親、母親、長男などのどの人物に該当するかを判定する。人物認識部214は、表情認識部230を含む。表情認識部230は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
 なお、人物認識部214は、人物以外の移動物体、たとえば、ペットである猫や犬についても特徴抽出を行う。
 応対認識部228は、ロボット100になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部228は、また、ロボット100の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
 快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット100にとって快行為であり、蹴られることはロボット100にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
 サーバ200の動作制御部222は、ロボット100の動作制御部150と協働して、ロボット100のモーションを決定する。また、サーバ200の動作制御部222は、マップ管理部210による行動マップ選択に基づいて、ロボット100の移動目標地点とそのための実行軌道(移動ルート)を作成する。本実施形態においては、動作制御部222は、複数の実行軌道を作成し、その上で、いずれかの実行軌道を選択する。「実行軌道」とは、移動目標地点と、移動目標地点に至るまでの経路を指定するルート情報であり、選択された実行軌道に沿ってロボット100は移動する。実行軌道は、移動目標地点等のほか、経由地点および移動速度も定義する。
 動作制御部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションAを20%の確率で実行する、気温が30度以上となったとき、モーションBを5%の確率で実行する、といった選択方法が定義される。
 行動マップに移動目標地点や実行軌道が決定され、後述の各種イベントによりモーションが選択される。
 軌道生成部242は、イベントが発生したときのロボット100の移動ルートを定義する予定軌道と、予定軌道の選択方法を示す予定軌道選択テーブルを生成する。予定軌道の生成方法については図9,図10等に関連して後に詳述する。「予定軌道」とは、移動目標地点と、移動目標地点に至るまでの経路を指定するルート情報である。本実施形態における予定軌道は、移動目標地点等のほか、経由地点および移動速度も定義する。「実行軌道」は選択されると必ず採用される軌道であるが、「予定軌道」はイベントが発生しなければ採用されない軌道である。予定軌道の生成時には予定軌道格納部224の予定軌道選択テーブルが更新され、軌道通知部240によりロボット100に通知される。ロボット100の予定軌道格納部154も予定軌道選択テーブルを保有する。サーバ200の予定軌道選択テーブルの変更は、軌道通知部240によりロボット100の予定軌道選択テーブルに反映される。
 親密度管理部220は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
(ロボット100)
 ロボット100は、通信部142、データ処理部136、データ格納部148、内部センサ128および駆動機構120を含む。
 通信部142は、通信機126(図5参照)に該当し、外部センサ114およびサーバ200との通信処理を担当する。データ格納部148は各種データを格納する。データ格納部148は、記憶装置124(図5参照)に該当する。データ処理部136は、通信部142により取得されたデータおよびデータ格納部148に格納されているデータに基づいて各種処理を実行する。データ処理部136は、プロセッサ122およびプロセッサ122により実行されるコンピュータプログラムに該当する。データ処理部136は、通信部142、内部センサ128、駆動機構120およびデータ格納部148のインタフェースとしても機能する。
 データ格納部148は、ロボット100の各種モーションを定義するモーション格納部160と、予定軌道データを格納する予定軌道格納部154を含む。
 ロボット100のモーション格納部160には、サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。前輪102を収容して着座する、手106を持ち上げる、2つの前輪102を逆回転させることで、あるいは、片方の前輪102だけを回転させることでロボット100を回転行動させる、前輪102を収納した状態で前輪102を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
 ロボット100の予定軌道は、ロボット100の軌道生成部172およびサーバ200の軌道生成部242の双方により生成される。ロボット100の軌道生成部172により生成された予定軌道および予定軌道選択テーブルは予定軌道格納部154に格納される。サーバ200の軌道生成部242により生成された予定軌道および予定軌道選択テーブルは予定軌道格納部224に格納される。サーバ200の予定軌道格納部224に格納される予定軌道選択テーブルおよび予定軌道を定義するデータは、軌道通知部240によりロボット100の予定軌道格納部154に随時ダウンロードされる。
 データ処理部136は、認識部156、動作制御部150、安全地帯検出部152および軌道生成部172を含む。
 ロボット100の動作制御部150は、サーバ200の動作制御部222と協働してロボット100のモーションを決める。一部のモーションについてはサーバ200で決定し、他のモーションについてはロボット100で決定してもよい。また、ロボット100がモーションを決定するが、ロボット100の処理負荷が高いときにはサーバ200がモーションを決定するとしてもよい。サーバ200においてベースとなるモーションを決定し、ロボット100において追加のモーションを決定してもよい。モーションの決定処理をサーバ200およびロボット100においてどのように分担するかはロボットシステム300の仕様に応じて設計すればよい。
 ロボット100の動作制御部150は、サーバ200の動作制御部222とともにロボット100の移動方向を決める。行動マップに基づく移動をサーバ200で決定し、障害物をよけるなどの即時的移動をロボット100の動作制御部150により決定してもよい。動作制御部150が実行軌道を決定してもよい。駆動機構120は、動作制御部150の指示にしたがって前輪102を駆動することで、ロボット100を移動目標地点に向かわせる。
 ロボット100の動作制御部150は選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
 動作制御部150は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部150の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100にさまざまなモーションを表現させる。
 軌道生成部172は、サーバ200の軌道生成部242とともにロボット100の予定軌道を生成し、予定軌道選択テーブルを更新する。ロボット100の軌道生成部172が生成した予定軌道と予定軌道選択テーブルは予定軌道格納部154に格納される。予定軌道格納部154に格納される予定軌道には、ロボット100の軌道生成部172に生成されるものとサーバ200の軌道生成部242により生成されるものがある。また、予定軌道格納部154の予定軌道選択テーブルは軌道生成部172により更新されるとともに、サーバ200の軌道生成部242によっても更新される。
 安全地帯検出部152は、安全地帯を検出する。安全地帯およびその検出方法については後述する。
 ロボット100の認識部156は、内部センサ128から得られた外部情報を解釈する。認識部156は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。
 認識部156は、内蔵カメラ(内部センサ128)により定期的に外界を撮像し、人やペットなどの移動物体を検出する。移動物体の画像はサーバ200に送信され、サーバ200の人物認識部214は移動物体の身体的特徴を抽出する。また、ユーザの匂いやユーザの声も検出する。匂いや音(声)は既知の方法にて複数種類に分類される。
 ロボット100に対する強い衝撃が与えられたとき、認識部156は内蔵の加速度センサによりこれを認識し、サーバ200の応対認識部228は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ112を掴んでロボット100を持ち上げるときにも、乱暴行為と認識してもよい。ロボット100に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ200の応対認識部228は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ104を持ち上げるときの物理的接触をセンシングしてもよいし、前輪102にかかる荷重が低下することにより抱っこを認識してもよい。
 サーバ200の応対認識部228は、ロボット100に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット100の行動選択に影響する。
 検出・分析・判定を含む一連の認識処理のうち、ロボット100の認識部156は認識に必要な情報の取捨選択や分類を行い、分析・判定等の解釈処理はサーバ200の認識部212により実行される。認識処理は、サーバ200の認識部212だけで行ってもよいし、ロボット100の認識部156だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
 認識部156により認識された応対行為に応じて、サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
 サーバ200の認識部212は、応対に応じて快・不快を判定し、マップ管理部210は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のz値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部210はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット100はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
 サーバ200の人物認識部214は、外部センサ114または内部センサ128から得られた各種データから移動物体を検出し、その特徴(身体的特徴と行動的特徴)を抽出する。そして、これらの特徴に基づいて複数の移動物体をクラスタ分析する。移動物体としては、人間だけでなく、犬や猫などのペットが分析対象となることがある。
 ロボット100は、定期的に画像撮影を行い、人物認識部214はそれらの画像から移動物体を認識し、移動物体の特徴を抽出する。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。たとえば、画像に移動物体が写っているとき、ひげが生えている、早朝活動している、赤い服を着ている、香水の匂いがする、声が大きい、メガネをかけている、スカートを履いている、白髪である、背が高い、太っている、日焼けしている、ソファにいる、といったさまざまな特徴が抽出される。
 ひげが生えている移動物体(ユーザ)は早朝に活動すること(早起き)が多く、赤い服を着ることが少ないのであれば、早起きでひげが生えていて赤い服をあまり着ないクラスタ(ユーザ)、という第1のプロファイルができる。一方、メガネをかけている移動物体はスカートを履いていることが多いが、この移動物体にはひげが生えていない場合、メガネをかけていてスカートを履いているが絶対ひげは生えていないクラスタ(ユーザ)、という第2のプロファイルができる。
 以上は、簡単な設例であるが、上述の方法により、父親に対応する第1のプロファイルと母親に対応する第2のプロファイルが形成され、この家には少なくとも2人のユーザ(オーナー)がいることをロボット100は認識する。
 ただし、ロボット100は第1のプロファイルが「父親」であると認識する必要はない。あくまでも、「ひげが生えていて早起きすることが多く、赤い服を着ることはめったにないクラスタ」という人物像を認識できればよい。
 このようなクラスタ分析が完了している状態において、ロボット100が新たに移動物体(ユーザ)を認識したとする。
 このとき、サーバ200の人物認識部214は、ロボット100から得られる画像等のセンシング情報から特徴抽出を行い、ディーブラーニング(多層型ニューラルネットワーク)により、ロボット100の近くにいる移動物体がどのクラスタに該当するかを判断する。たとえば、ひげが生えている移動物体を検出したとき、この移動物体は父親である確率が高い。この移動物体が早朝行動していれば、父親に該当することはいっそう確実である。一方、メガネをかけている移動物体を検出したときには、この移動物体は母親である可能性もある。この移動物体にひげが生えていれば、母親ではなく父親でもないので、クラスタ分析されていない新しい人物であると判定する。
 特徴抽出によるクラスタの形成(クラスタ分析)と、特徴抽出にともなうクラスタへの当てはめ(ディープラーニング)は同時並行的に実行されてもよい。
 移動物体(ユーザ)からどのような行為をされるかによってそのユーザに対する親密度が変化する。
 ロボット100は、よく出会う人、よく触ってくる人、よく声をかけてくれる人に対して高い親密度を設定する。一方、めったに見ない人、あまり触ってこない人、乱暴な人、大声で叱る人に対する親密度は低くなる。ロボット100はセンサ(視覚、触覚、聴覚)によって検出するさまざまな外界情報にもとづいて、ユーザごとの親密度を変化させる。
 実際のロボット100は行動マップにしたがって自律的に複雑な行動選択を行う。ロボット100は、寂しさ、退屈さ、好奇心などさまざまなパラメータに基づいて複数の行動マップに影響されながら行動する。ロボット100は、行動マップの影響を除外すれば、あるいは、行動マップの影響が小さい内部状態にあるときには、原則的には、親密度の高い人に近づこうとし、親密度の低い人からは離れようとする。
 ロボット100の行動は親密度に応じて以下に類型化される。
(1)親密度が非常に高いクラスタ
 ロボット100は、ユーザに近づき(以下、「近接行動」とよぶ)、かつ、人に好意を示す仕草としてあらかじめ定義される愛情仕草を行うことで親愛の情を強く表現する。
(2)親密度が比較的高いクラスタ
 ロボット100は、近接行動のみを行う。
(3)親密度が比較的低いクラスタ
 ロボット100は特段のアクションを行わない。
(4)親密度が特に低いクラスタ
 ロボット100は、離脱行動を行う。
 以上の制御方法によれば、ロボット100は、親密度が高いユーザを見つけるとそのユーザに近寄り、逆に親密度が低いユーザを見つけるとそのユーザから離れる。このような制御方法により、いわゆる「人見知り」を行動表現できる。また、来客(親密度が低いユーザA)が現れたとき、ロボット100は、来客から離れて家族(親密度が高いユーザB)の方に向かうこともある。この場合、ユーザBはロボット100が人見知りをして不安を感じていること、自分を頼っていること、を感じ取ることができる。このような行動表現により、ユーザBは、選ばれ、頼られることの喜び、それにともなう愛着の情を喚起される。
 一方、来客であるユーザAが頻繁に訪れ、声を掛け、タッチをするとロボット100のユーザAに対する親密度は徐々に上昇し、ロボット100はユーザAに対して人見知り行動(離脱行動)をしなくなる。ユーザAも自分にロボット100が馴染んできてくれたことを感じ取ることで、ロボット100に対する愛着を抱くことができる。
 なお、以上の行動選択は、常に実行されるとは限らない。たとえば、ロボット100の好奇心を示す内部パラメータが高くなっているときには、好奇心を満たす場所を求める行動マップが重視されるため、ロボット100は親密度に影響された行動を選択しない可能性もある。また、玄関に設置されている外部センサ114がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
 図7は、モーション選択テーブル180のデータ構造図である。
 モーション選択テーブル180は、各種のイベントが発生したときに実行すべきモーションを定義する。ロボット100は、イベントが発生したとき、複数種類のモーションから1以上のモーションを選択する。モーション選択テーブル180は、サーバ200のモーション格納部232およびロボット100のモーション格納部160の双方に格納される。サーバ200のモーション選択テーブル180と、ロボット100のモーション選択テーブル180は互いに同期する。「イベント」は、ロボット100がモーションを実行する契機となる事象としてあらかじめ定義される。オーナーを視認したとき、オーナーに抱っこされたとき、蹴られたとき、大きな音が聞こえたとき、所定時間以上誰も視認しないときなど、イベントの設定内容は任意である。
 図7を参照すると、イベントJ1においては、モーション(C01)~モーション(Cx)それぞれに選択確率が対応づけられている。たとえば、イベントJ1が発生したとき、動作制御部222はモーション(C01)を選択することはなく、モーション(C02)を0.1%の確率にて選択する。イベントJ2が発生したとき、動作制御部222はモーション(C01)を0.1%の確率で選択し、モーション(C02)を0.4%の確率にて選択する。
 ロボット100の認識部156により検出される単純なイベントもあれば、サーバ200の人物認識部214による解釈が必要な複雑なイベントもある。ロボット100の認識部156がイベントを認識したときには、動作制御部150はモーション選択テーブル180を参照してモーションを選択し、駆動機構120にモーション実行を指示する。サーバ200の認識部212がイベントを認識したときには、サーバ200の動作制御部222はモーション格納部232に格納されるモーション選択テーブル180を参照してモーションを選択し、ロボット100にモーションIDを通知する。ロボット100の動作制御部150は、通知されたモーションIDに対応するモーションを駆動機構120に実行指示する。
 モーション選択テーブル180における選択確率は固定値である必要はない。動作制御部222は、一定範囲にてランダムに選択確率を変化させる。サーバ200においてモーション選択テーブル180の選択確率が更新されると、更新後のモーション選択テーブル180はロボット100にダウンロードされる。
 イベントは、ポジティブ・イベントとネガティブ・イベント、ニュートラル・イベントに分類される。ポジティブ・イベントは、快感、たとえば、快行為がなされたときのイベントである。具体的には、オーナーになでられる、好きな音楽が流れる、外気温が高い時に涼しい場所に移動する、などである。ネガティブ・イベントは、不快や危険に関連づけられるイベントである。具体的には、乱暴行為をされる、物の落下や破壊などの不快音を検出する、極端に高温または低温の物体に接触する、などである。怒鳴り声や悲鳴、金切り声、叱責など音声認識に基づくネガティブ・イベントの定義も可能である。ニュートラル・イベントは、ポジティブ・イベントでもネガティブ・イベントでもないその他のイベントである。
 各イベントに対応して、イベントの発生方向を凝視する、手106をばたつかせる、イベント発生源となっている物体に体当たりする、イベントの発生方向に体を向ける、などさまざまなモーションを定義可能である。
 図8は、予定軌道選択テーブル162のデータ構造図である。
 予定軌道選択テーブル162は、各種のイベントが発生したときに選択すべき予定軌道を定義する。ロボット100は、イベント、特に、ネガティブ・イベントが発生したときには、イベントに対応するモーションを実行したあとに予定軌道に沿って移動する。たとえば、ロボット100は乱暴行為を働かれたときには(ネガティブ・イベント)、乱暴行為者(イベント発生源)から逃げる。この逃げ道も予定軌道の一種である。ロボット100は、イベントが発生したとき、1以上の予定軌道からいずれかの予定軌道を選択する。
 特に、ネガティブ・イベントに対しては即時移動が必要となることが多い。生物は、不快や危険などのネガティブ・イベントを認識したとき、すぐに危険から離れようとする。ロボット100の場合、ネガティブ・イベントを検出してから逃走ルートを計算するのでは行動に遅延が生じる可能性がある。本実施形態においては、イベントが発生してからイベントに対応する移動ルートを計算するのではなく、イベントが発生する前にあらかじめ1以上の移動ルート(予定軌道)を計算しておくことにより、イベント発生時の即時移動を実現する。
 ロボット100がどこにいるとき、どんなイベントがどこで発生したかにより予定軌道は異なる。図8に示す予定軌道選択テーブル162においては、ロボット100が位置座標Q1にあるとき、Q1からE1(m)以内の近距離かつロボット100から見てD1方向(たとえば、正面右方向)においてイベントJ1が発生したときの予定軌道としてR1~R3が設定されている。これらの予定軌道は、イベントJ1が実際に発生する前に算出される。実際にイベントJ1が発生したときには、動作制御部150は予定軌道R1~R3のいずれかを選択し、選択した予定軌道に沿ってロボット100を移動させる。複数の予定軌道には選択確率を設定してもよい。
 以下、ロボット100が位置座標Q1にあるとき、Q1からE1(m)以内の近距離かつロボット100から見てD1方向においてイベントJ1が発生するというイベント発生状況を[Q1,(J1,E1,D1)]と表記する。
 ロボット100の軌道生成部172は、さまざまなイベントについて予定軌道を順次生成する。同様にして、サーバ200の軌道生成部242も予定軌道を順次生成する。たとえば、イベント発生状況[Q1,(J1,E1,D1)]が実際に生じる前に、このイベント発生状況に対応する予定軌道R1をロボット100の軌道生成部172が生成し、別のイベント発生状況[Q1,(J1,E1,D2)]の予定軌道R4をサーバ200の軌道生成部242が生成するとしてもよい。この場合、ロボット100の軌道生成部172は、イベント発生状況[Q1,(J1,E1,D1)]の予定軌道の生成指示(以下、「軌道生成指示」とよぶ)をサーバ200に送信する。サーバ200は、軌道生成指示を受信したことを条件として、軌道生成指示に示されるイベント発生状況に対応する予定軌道を生成する。サーバ200の軌道生成部242は、予定軌道格納部224の予定軌道および予定軌道選択テーブルを更新し、軌道通知部240は生成した予定軌道R4をロボット100に通知する。
 ロボット100は、予定軌道R1を自ら生成し、予定軌道R2,R3の軌道生成指示をサーバ200に送信してもよい。ロボット100の軌道生成部172のみが予定軌道を計算してもよいし、サーバ200の軌道生成部242のみが予定軌道を計算してもよい。ロボット100およびサーバ200の処理負荷に応じて予定軌道の計算を分担すればよい。
 本実施形態においては、行動マップに基づく予定軌道はサーバ200の軌道生成部242により生成し、行動マップを利用しない簡単な予定軌道はロボット100の安全地帯検出部152により生成するものとして説明する。
 予定軌道データには、どこに移動するか、どのようなルートを通って移動するか、急いで動くか、ゆっくりと動くかなど、さまざまな移動方法が定義される。また、予定軌道を沿って動くときに同時実行されるべきモーションも設定してもよい。たとえば、両方の手106を挙げたまま逃げる、少し後ずさりをしたあとダッシュするなど、さまざまなモーションを設定可能である。
 図9は、予定軌道の生成方法を示す模式図である。
 図9は、イベント発生状況[Q1,(J1,E1,D1)]を示す。この状況に対応して、予定軌道R1~R3が生成される(図8参照)。予定軌道R1は、イベントの発生地点S1の逆方向にまっすぐ逃げる行動マップを考慮しない単純なルートである。予定軌道R1上に障害物があるときには、ロボット100は障害物回避動作をしながら、イベント発生源から所定距離以上離れるように動く。予定軌道R2は嫌悪地点P2から所定距離以上を確保しながらイベント発生地点S1から離れる移動ルートである。予定軌道R3は、最寄りの好意地点P1に向かう移動ルートである。
 ロボット100の軌道生成部172は、予定軌道R1を生成する。予定軌道R1は単純であるため、ネガティブ・イベントが発生したときには必ず選択可能な移動ルートとしてあらかじめ設定されてもよい。予定軌道R2は、サーバ200の軌道生成部242により生成される。軌道生成部242は、感情マップ116等の行動マップを参照し、嫌悪地点P2を避ける移動ルートを生成する。たとえば、嫌悪地点P2から所定範囲内に入らないように条件設定をした上で、イベント発生地点からの距離を拡大する方向に予定軌道R2を設定する。予定軌道R3も、サーバ200の軌道生成部242により生成される。軌道生成部242は行動マップを参照して、イベント発生地点S1から離れ、かつ、現在地点Q1に最も近い好意地点P1に向かう移動ルートを予定軌道R3として生成する。予定軌道R3は、予定軌道R2の生成完了後に生成される。
 ロボット100の軌道生成部172は、予定軌道R1を生成するとともに、サーバ200の軌道生成部242に軌道生成指示を送信する。軌道生成部242は、まず、予定軌道R2を生成し、次に、予定軌道R3を生成する。予定軌道R2,R3は、サーバ200からロボット100に順次通知される。結果的に、予定軌道R1,R2およびR3の順に生成されたとする。
 予定軌道R1のみが生成されているときにイベントJ1が発生したときには、ロボット100の動作制御部150は予定軌道R1に沿ってロボット100を移動させる。予定軌道R1および予定軌道R2の双方が生成されているときにイベントJ1が発生したときには、ロボット100の動作制御部150は予定軌道R1または予定軌道R2のいずれかをランダムに選択する。予定軌道R1~R3の生成後にイベントJ1が発生したときには、ロボット100の動作制御部150は3つの予定軌道R1~R3のいずれかをランダムに選択する。
 このような制御方法によれば、イベント発生状況[Q1,(J1,E1,D1)]が現出する前に複数の予定軌道を生成しておくため、実際にイベントJ1が発生したときには発生時点において選択可能な予定軌道の中からいずれかが選ばれる。ロボット100およびサーバ200は、実行優先度の低いバックグラウンド処理として予定軌道を随時生成すればよい。
 好意地点P1や嫌悪地点P2を考慮した予定軌道R2,R3は、行動マップを参照しつつサーバ200により生成される。
 変形例として、行動マップもロボット100にダウンロードされてもよい。この場合には、ロボット100も行動マップに基づいて予定軌道R2,R3を生成可能である。また、イベント発生地点S1から離れるだけではなく、現在地点Q1を周回する、イベント発生地点S1に少しだけ近づいてみるなど、ロボット100においても行動マップに頼らないさまざまな予定軌道が生成されてもよい。
 また、単純で計算処理時間の短い予定軌道を先に計算し、行動マップを考慮した複雑な予定軌道を後で計算するとしてもよい。この場合には、イベント発生時において複数の予定軌道が計算済みであるときには、最新の、いいかえれば、もっとも複雑な予定軌道を採用してもよい。
 あるイベント発生状況に対応して複数の予定軌道を事前に生成することにより、イベントに対するロボット100の対応行動を多様化できる。また、行動マップに基づいて予定軌道を生成することにより、ロボット100の行動特性に基づく予定軌道を生成可能である。
 サーバ200は、複数種類のイベント発生状況、特に、複数種類のイベントに対応してさまざまな予定軌道を順次生成する。生成された予定軌道は、イベントが未発生の段階でロボット100に通知される。このような制御方法により、ロボット100は将来的に発生するかもしれないイベントに備えることができる。
 サーバ200は、軌道生成指示を受信したことを条件として予定軌道を生成してもよいし、軌道生成指示を受信していないときでもさまざまなイベント発生状況に対応する予定軌道を生成し、それらを随時、ロボット100の予定軌道格納部154に記録させてもよい。
 予定軌道は、安全地点に隠れるルートとして生成されることもある。安全地点とは、オーナーの近く、壁の後ろ、ソファの後ろ、浴室やトイレなどの小部屋、机やテーブルの下などの天井のあるところ、など身を守りやすい場所である。サーバ200のマップ格納部216は、あらかじめ安全地点の位置座標が登録されたマップを格納する。サーバ200の軌道生成部242は、最寄りの安全地点を移動目標地点とする予定軌道を生成することもできる。
 ロボット100は、自ら安全地点を探すことができる。ロボット100の安全地帯検出部152は、所定の安全条件を満たす地点を「安全地点」として検出する。具体的には、テーブルの下のように「天井」があるところ、親密度が所定値以上となる「親しいオーナー」のいるところ、ソファの陰のように暗いところ、浴室のように3方向以上を壁で囲まれたところ、などである。ロボット100は、内部センサ128、特に、カメラによってオーナーや天井、壁を認識することにより、安全条件が成立する場所を検出する。安全地帯検出部152は、通常行動時において安全条件を満たす場所を発見したとき、サーバ200に通知する。ロボット100のマップ管理部210は通知時点におけるロボット100の位置座標を安全地点として登録する。
 上述したように、イベントが発生すると、ロボット100はイベントに対応するモーションを実行する。そのあと、ロボット100はいずれかの予定軌道に沿ってすぐに移動する。たとえば、大きな破裂音が聞こえたときにはビクッと震えるモーションを実行したあと、音源からすぐに逃げるといった行動特性が表現可能となる。予定軌道を移動しつつモーションを実行してもよい。たとえば、イベント発生源を凝視したまま、ゆっくりと逃げるという行動表現も可能である。
 図10は、移動中に想定されるイベントと、イベントに対する予定軌道を説明する模式図である。
 図10においては、ロボット100は、開始点Qsから終着点Qeへ通常移動(実行軌道)を設定している。Qeが好意地点であるための移動かもしれないし、Qs付近が嫌悪地点となったためQsから離れるための移動かもしれない。移動中にさまざまなイベントが発生する可能性がある。座標S3にはテレビがあり、テレビにより「大きな音」というイベントが発生する可能性がある。座標S4には子どもがおり、子どもは「大きな音」を発生させるかもしれないし、ロボット100に乱暴行為を働くかもしれない。
 イベントにはあらかじめ優先順位が設定される。優先順位は、発生頻度や重要度をもとに設計時において任意に初期設定されればよい。ここでは、座標S3において発生可能なイベントJ3と座標S4において発生可能なイベントJ4があり、イベントJ3の優先順位はイベントJ4よりも高いとする。この場合には、ロボットシステム300はイベントJ3を対象とした予定軌道を、イベントJ4を対象とした予定軌道よりも先に計算する。
 ロボット100またはサーバ200は、まず、イベントJ3に対応する予定軌道を計算する。たとえば、イベント発生状況[Qm,(J3,E1,D3)]に対応する予定軌道を計算する。ここでQmは、QsからQeへの経由地点である。計算完了後、別のイベント発生状況[Qm,(J3,E1,D4)]や[Qm,(J4,E1,D2)]に対応する予定軌道を計算してもよい。このようにさまざまな状況に対応して複数の予定軌道を生成し、実際にイベントJ3、J4が発生する状況に備えておく。多くの予定軌道が生成済みであるほど、イベントに対応する多様な行動表現が可能となる。
 図11は、予定軌道生成処理の処理過程を示すフローチャートである。
 予定軌道生成処理は、ロボット100およびサーバ200の双方により実行される。ここでは、サーバ200の軌道生成部242を対象として説明するが、ロボット100の軌道生成部172についても同様である。サーバ200の予定軌道生成処理は実行優先度が低いため、サーバ200の処理負荷が軽い時間帯に実行される。予定軌道生成処理は、定期的に実行されてもよいし、ロボット100が所定距離を移動するごとに実行されるとしてもよい。
 軌道生成部242は、ロボット100のイベント発生時における位置座標を選択する(S10)。軌道生成部242は、ロボット100が移動中または移動予定であれば、将来的にロボット100が位置可能な複数の候補地点を特定し、いずれかの候補地点を計算対象として選択する。次に、軌道生成部242は複数種類のイベントのうち、計算対象となるイベントを選択する(S12)。上述のようにイベントは優先順位に基づいて順次選択されればよい。軌道生成部242は、イベントが発生可能な地点のうちいずれかを選択する(S14)。イベントの発生可能地点は、図8、図9に関連して説明したように、複数の距離範囲(たとえば、「E1未満」と「E1以上E2未満」の2種類)と複数の方向(たとえば、D1~D8の8方向)の中からいずれかを選択する。
 軌道生成部242は、以上により特定されたイベント発生状況に対応して予定軌道を生成する(S16)。予定軌道は、イベント発生地点から離れるのか近づくのかを選んだあと、移動目標地点、移動速度など複数のパラメータをランダムに選択し、行動マップや屋内障害物の存在を考慮しつつルート設定される。移動目標地点への近づき方も旋回、蛇行、直進など複数の移動方法の組み合わせをランダムに選択してもよい。生成された予定軌道のデータは予定軌道格納部224に登録され、軌道生成部242は予定軌道選択テーブル162を更新する(S18)。また、軌道生成部242は、過去に算出されて不要になった予定軌道を予定軌道選択テーブル162から削除してもよい。予定軌道格納部224の情報は、軌道通知部240によりロボット100の予定軌道格納部154に随時反映される。
 図12は、イベント発生時の処理過程を示すフローチャートである。
 図12に示す処理はロボット100において実行される。イベントが発生したとき、ロボット100の動作制御部150はモーション選択テーブル180を参照してモーションを選択し(S20)、選択されたモーションを駆動機構120に実行させる(S22)。現出したイベント発生状況に対応する1以上の予定軌道が生成済みであれば(S24のY)、動作制御部150は予定軌道を選択し(S26)、駆動機構120に指示して予定軌道に沿った移動を実行させる(S28)。一方、イベント発生状況に対応する予定軌道が生成されていないときには(S24のN)、動作制御部150はイベント発生源からまっすぐ所定距離だけ離れる方向にロボット100を移動させる(S30)。
 このように、予定軌道を生成していないイベント発生状況が生じたときにも、イベント発生に対応した基本移動を実行可能である。イベントに対応したモーションを実行することなく、予定軌道に沿ってロボット100を移動させてもよい。
 以上、実施形態に基づいてロボット100およびロボット100を含むロボットシステム300について説明した。
 1以上の行動マップによりパターン化できず予測しづらい、かつ、生物的な行動選択を表現している。生物と同様、ロボット100は行動マップだけではなく各種のイベントによっても行動が変化する。本実施形態においては、ロボット100はイベントに対応するモーションを実行したあと、予定軌道に沿って移動する。このような制御方法により、危険や不快なイベントを認識したとき、驚いて逃げる、という行動表現が可能となる。
 サーバ200とロボット100の双方で予定軌道を計算することにより、ロボット100の計算負荷を軽減できる。全ての予定軌道をサーバ200が計算してもよい。さまざまなイベント発生状況を想定しながら予定軌道を生成・蓄積し、実際にイベントが発生したときに予定軌道に沿ってロボット100を移動させるため、イベントに対する即時的行動を実現できる。また、あるイベント発生状況に対して複数の予定軌道を生成することにより、同一イベントに対してロボット100の反応が多様化される。
 イベントが発生する前に多数の予定軌道を事前生成しておく必要はなく、計算負荷状況に応じて軽負荷時間に複数の予定軌道を順次生成すればよい。そして、イベント発生時点に生成済みの予定軌道の中からいずれかを選択する。このような制御方法により、行動の多様性と即時反応を両立させている。
 安全地点を移動目標地点とする予定軌道を生成することにより、危険を察知した時に安全な場所に避難するという行動特性を表現できる。ロボット100は、通常行動時に安全条件を満たす安全地点を見つけることもできる。マップ管理部210は、このような安全地点を行動マップにおいて「安心感を与えてくれる場所」として登録してもよい。この場合には、安全地点を好むという行動特性を実現できる。
 なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
 1つのロボット100と1つのサーバ200、複数の外部センサ114によりロボットシステム300が構成されるとして説明したが、ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部がロボット100に割り当てられてもよい。1つのサーバ200が複数のロボット100をコントロールしてもよいし、複数のサーバ200が協働して1以上のロボット100をコントロールしてもよい。
 ロボット100やサーバ200以外の第3の装置が、機能の一部を担ってもよい。図6において説明したロボット100の各機能とサーバ200の各機能の集合体は大局的には1つの「ロボット」として把握することも可能である。1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム300に求められる仕様等に鑑みて決定されればよい。
 上述したように、「狭義におけるロボット」とはサーバ200を含まないロボット100のことであるが、「広義におけるロボット」はロボットシステム300のことである。サーバ200の機能の多くは、将来的にはロボット100に統合されていく可能性も考えられる。
 ロボット100は単純な予定軌道を計算し、サーバ200により複雑な予定軌道を計算してもよい。たとえば、安全地点に向かう予定軌道や行動マップに基づく予定軌道はサーバ200により計算するとしてもよい。ロボット100による予定軌道計算とサーバ200による予定軌道計算は同時並行的に実行されてもよい。ロボット100がイベント発生状況を特定し、予定軌道を計算したいイベント発生状況をサーバ200に通知し、サーバ200が対応する予定軌道を計算してもよい。
 ロボット100の計算負荷が大きいときや、プロセッサ122の発熱量が大きいときにはロボット100は予定軌道計算をサーバ200に積極的に委譲してもよい。また、イベントに対応してロボット100は常に移動する必要はない。たとえば、遠方から衝撃音が聞こえたときには、その場で立ちすくむことにより、「驚き」を行動表現してもよい。
 ネガティブ・イベントから単純に逃げるだけではなく、ゆっくりと少し近づいてから高速で離れる、イベント発生源の周りを周回するなどさまざまな予定軌道を設定可能である。また、ネガティブ・イベントだけではなく、ポジティブ・イベントについても予定軌道を事前に生成してもよい。たとえば、オーナーが帰宅したときにも、玄関までまっすぐ向かう、玄関の手前で待ち受ける、台所に隠れるなど、さまざまな予定軌道を用意してもよい。
 イベントの優先順位は、ロボットシステム300の設計時において任意に設定可能である。あらかじめ定義される複数種類のイベントのうち、サーバ200の軌道生成部242は、人に関するイベント、特に、親密度の高いオーナーに関するイベントの優先順位を高く設定してもよい。軌道生成部242は、過去所定期間において多く発生したイベントには高い優先順位を設定してもよい。イベントに優先順位を設定することにより、予定軌道計算のための計算リソースを重要なイベントに重点配分できる。
 軌道生成部242は、いったん計算した予定軌道を、所定時間経過後に削除してもよい。
 サーバ200は、複数のロボット100を同時に制御してもよい。サーバ200の軌道生成部242は各ロボット100の行動マップや親密度にしたがってそれぞれの予定軌道を生成する。たとえば、「モノが落下して壊れる」というイベントが発生したときには、1台目のロボット100Aは父親の後ろに逃げ、2台目のロボット100Bはソファの後ろに逃げるかもしれない。
 行動マップや親密度のほか、ロボットのサイズや移動速度などさまざまなパラメータに基づいて予定軌道を計算してもよい。ネガティブ・イベントに動揺しにくい性格や、すぐに安全地点に逃げる臆病な性格などロボット100の個性を反映させたさまざまな行動表現が可能である。
 ロボットシステム300は、工場出荷時から予定軌道計算機能や安全地点検出機能等を備える必要はない。ロボットシステム300の出荷後に、通信ネットワークを介して予定軌道計算機能等を実現する行動制御プログラムをダウンロードすることにより、ロボットシステム300の機能強化が実現されてもよい。
 本実施形態においては、サーバ200の動作制御部222またはロボット100の動作制御部150が実行軌道を生成するとして説明した。変形例として、サーバ200の軌道生成部242またはロボット100の軌道生成部172が予定軌道だけではなく実行軌道を生成し、動作制御部222等は生成された実行軌道を選択するとしてもよい。
[追加例]
 サーバ200の軌道生成部242またはロボット100の軌道生成部172は、予定軌道データを生成し、予定軌道選択テーブル162に登録する。イベントが発生したとき、動作制御部150は、予定軌道データにしたがって移動目標地点を設定する。認識部156は、カメラにより周辺を撮影し、視認可能な近距離に存在する障害物を検出する。「障害物」は、所定の高さを有する物体として判定される。予定軌道上に障害物が検出されたときには、軌道生成部172は障害物を回避して移動目標地点に到達するための新たな予定軌道を計算する。ロボット100が実行軌道(通常の移動ルート)を移動しているときに障害物が発見されたときには、動作制御部150は同様にして障害物を回避する新たな実行軌道を生成する。
 また、安全地帯検出部152は、カメラによる撮像画像に基づいて、安全地点を定期的に検出する。安全地帯検出部152は、ロボット100の現在地点から所定範囲内にある安全地点をリスト(以下、「安全地点リスト」とよぶ)に登録し、ロボット100の移動にともなって安全地点リストを随時更新する。安全地点リストは、安全地帯検出部152により新たに検出された安全地点だけでなく、あらかじめマップに登録されている安全地点も含まれる。追加例においては、安全地点リストには、ロボット100から近い順に最大5地点の安全地点が登録される。安全地点リストは、イベントが生じたときに逃げ込むべき最寄りの安全地点の一覧である。追加例においては、軌道生成部242等は、安全地点リストに登録されている1以上の安全地点を移動目標地点とする予定軌道を随時生成する。これらの予定軌道は、イベントごと、安全地点ごとに生成されてストックされる。
 物が落下する、大きな音が発生する、叩かれるなどの所定のイベントが発生したとき、動作制御部150は安全地点リストからいずれかの安全地点を移動目標地点として選ぶ。安全地点リストに複数の安全地点が登録されているときには、動作制御部150は現在地点からもっとも近い安全地点を選んでもよいし、ランダムに選んでもよい。また、安全地点にあらかじめ優先度が設定されてもよい。たとえば、「親しいオーナー」のいるところは「ソファの陰」よりも高い優先度があらかじめ設定されてもよい。
 ロボット100の静止中に所定のイベント、たとえば、ネガティブ・イベントが発生したときには、動作制御部150は安全地点リストから安全地点を選び、その安全地点を移動目標地点とする予定軌道を設定する。安全地点リストに安全地点が登録されていないときには、動作制御部150はイベントの発生した方向から遠ざかる方向に移動目標地点を設定する。ロボット100が移動目標地点Aを設定してあらかじめ定められた移動中にあるときにイベントが発生した場合にも、動作制御部150は安全地点リストから安全地点を選んで新たな移動目標地点Bとして設定する。このとき、移動目標地点Aを対象とした実行軌道はキャンセルされ、ロボット100は新たな移動目標地点B(安全地点)に向かって移動する。このような制御方法によれば、静止中、あるいは、移動中であっても、イベントが発生したときには安全地点への移動に目標変更させることができる。なお、動作制御部150は、イベントを発生してから安全地点を選択してもよいし、イベント発生前にあらかじめ安全地点を選んでおいてもよい。いずれの場合においても、イベント発生前に安全地点を選択し、安全地点を移動目標地点とする予定軌道を生成しておくことにより、イベント発生時にすばやく安全地点に逃げ込む行動をロボット100に表現させることができる。
 上述したように、動作制御部150が移動経路(実行軌道)を決定するとき、軌道生成部172はイベントに備えて予定軌道を生成する。ロボット100が実行軌道を移動中において実際にイベントが発生すれば、動作制御部150は実行軌道ではなく、予定軌道に沿ってロボット100を移動させる。このとき、実行軌道はキャンセルされる。一方、ロボット100の移動にともなって、安全地点リストからいずれかの安全地点が移動先候補から削除されたときには、その安全地点に対応して生成されていた予定軌道も破棄される。

Claims (19)

  1.  ロボットの移動経路である実行軌道を決定する動作制御部と、
     前記実行軌道に沿って前記ロボットを移動させる駆動機構と、
     イベントが発生する前に、イベントに対応する予定軌道を生成する軌道生成部と、を備え、
     前記動作制御部は、前記実行軌道を前記ロボットが移動しているときに前記イベントが発生した場合には、前記実行軌道ではなく前記予定軌道に沿って前記ロボットを移動させることを特徴とする自律行動型ロボット。
  2.  前記軌道生成部は、前記イベントに対応する複数の予定軌道を順次生成し、
     前記動作制御部は、前記イベントが発生したときに複数の予定軌道が生成済みのときには、前記複数の予定軌道のうちいずれかの予定軌道を選択することを特徴とする請求項1に記載の自律行動型ロボット。
  3.  前記軌道生成部は、複数種類のイベントに対応する複数の予定軌道を生成し、
     前記動作制御部は、前記複数種類のイベントのうちのいずれかのイベントが発生したとき、発生したイベントに対応する予定軌道に沿って前記ロボットを移動させることを特徴とする請求項1に記載の自律行動型ロボット。
  4.  前記軌道生成部は、複数種類のイベントの優先順位に基づいて、前記複数の予定軌道を順次生成することを特徴とする請求項3に記載の自律行動型ロボット。
  5.  前記軌道生成部は、イベントの発生が想定される複数の地点に対応して複数の予定軌道を生成し、
     前記動作制御部は、前記イベントの発生地点に対応する予定軌道に沿って前記ロボットを移動させることを特徴とする請求項1に記載の自律行動型ロボット。
  6.  前記動作制御部は、イベントが発生したときにはあらかじめ定められたモーションを実行し、前記モーションの実行後に前記イベントに対応する予定軌道に沿って前記ロボットを移動させることを特徴とする請求項1に記載の自律行動型ロボット。
  7.  所定の安全条件を満たす地点を安全地点として検出する安全地点検出部と、を更に備え、
     前記軌道生成部は、安全地点を移動目的地点とする予定軌道を生成することを特徴とする請求項1に記載の自律行動型ロボット。
  8.  自律行動型ロボットと通信回線を介して接続され、
     前記自律行動型ロボットの位置およびイベントに対応する予定軌道を生成する軌道生成部と、
     前記イベントが発生する前に、前記自律行動型ロボットに前記予定軌道を通知する軌道通知部と、を備えることを特徴とするサーバ。
  9.  前記軌道生成部は、前記自律行動型ロボットから軌道生成指示を受信したことを条件として予定軌道を生成することを特徴とする請求項8に記載のサーバ。
  10.  前記軌道生成部は、前記自律行動型ロボットの行動特性に応じた予定軌道を生成することを特徴とする請求項8に記載のサーバ。
  11.  前記軌道生成部は、複数種類のイベントに対応する複数の予定軌道を計算し、
     前記軌道通知部は、前記複数種類のイベントのいずれも発生していないときにも、前記複数の予定軌道を通知することを特徴とする請求項8に記載のサーバ。
  12.  前記軌道生成部は、イベントの発生が想定される複数の地点に対応して複数の予定軌道を生成し、
     前記軌道通知部は、前記イベントが発生する前に、前記複数の地点に対応する前記複数の予定軌道を通知することを特徴とする請求項8に記載のサーバ。
  13.  前記軌道生成部は、所定の安全条件を満たす安全地点を前記予定軌道の移動目標地点として設定することを特徴とする請求項8に記載のサーバ。
  14.  ロボットのモーションを選択する動作制御部と、
     前記動作制御部により選択されたモーションを実行する駆動機構と、
     所定の安全条件を満たす地点を安全地点として検出する安全地点検出部と、を備え、
     前記動作制御部は、所定のイベントが発生したとき、前記安全地点に前記ロボットを移動させることを特徴とする自律行動型ロボット。
  15.  前記安全地点検出部は、前記検出された安全地点をリストに登録し、
     前記動作制御部は、移動目標地点を選択してからロボットが前記移動目標地点に到達するまでの期間に前記イベントが発生したときには、前記リストに登録されている安全地点からいずれかの安全地点を新たな移動目標地点として設定することを特徴とする請求項14に記載の自律行動型ロボット。
  16.  前記動作制御部は、所定のイベントが発生したとき、イベント発生前に特定された予定軌道に沿って前記安全地点に前記ロボットを移動させることを特徴とする請求項14に記載の自律行動型ロボット。
  17.  ロボットの移動方向を決定するためのコンピュータプログラムであって、
     イベントが発生する前に、イベントに対応する予定軌道を生成する機能と、
     前記イベントが発生したとき、事前に決定された移動経路ではなく前記予定軌道に沿って前記ロボットを移動させる機能と、をコンピュータに発揮させることを特徴とする行動制御プログラム。
  18.  ロボットの移動方向を決定するためのコンピュータプログラムであって、
     所定の安全条件を満たす地点を安全地点として検出する機能と、
     安全地点の位置座標を登録する機能と、
     所定のイベントが発生したとき、前記安全地点に前記ロボットを移動させる機能と、をコンピュータに発揮させることを特徴とする行動制御プログラム。
  19.  自律行動型ロボットの位置を検出する機能と、
     前記自律行動型ロボットの位置およびイベントに対応する予定軌道を計算する機能と、
     前記イベントが発生する前に、前記自律行動型ロボットに前記予定軌道を通知する機能と、をコンピュータに発揮させることを特徴とする行動制御プログラム。
PCT/JP2017/030277 2016-09-02 2017-08-24 自律行動型ロボット、サーバ及び行動制御プログラム WO2018043274A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018537194A JP6557840B2 (ja) 2016-09-02 2017-08-24 ロボット、サーバ及び行動制御プログラム
GB1902492.6A GB2570405B (en) 2016-09-02 2017-08-24 Autonomously acting robot, server, and behavior control program
DE112017004414.6T DE112017004414T5 (de) 2016-09-02 2017-08-24 Autonom handelnder roboter, server und verhaltenssteuerungsprogramm
CN201780053741.8A CN109643126A (zh) 2016-09-02 2017-08-24 行为自主型机器人、服务器及行为控制程序
US16/290,817 US20190202054A1 (en) 2016-09-02 2019-03-01 Autonomously acting robot, server, and behavior control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016171432 2016-09-02
JP2016-171432 2016-09-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/290,817 Continuation US20190202054A1 (en) 2016-09-02 2019-03-01 Autonomously acting robot, server, and behavior control program

Publications (1)

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

Family

ID=61301389

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/030277 WO2018043274A1 (ja) 2016-09-02 2017-08-24 自律行動型ロボット、サーバ及び行動制御プログラム

Country Status (6)

Country Link
US (1) US20190202054A1 (ja)
JP (2) JP6557840B2 (ja)
CN (1) CN109643126A (ja)
DE (1) DE112017004414T5 (ja)
GB (1) GB2570405B (ja)
WO (1) WO2018043274A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019169189A (ja) * 2016-09-02 2019-10-03 Groove X株式会社 自律行動型ロボット、サーバ及び行動制御プログラム
WO2022149496A1 (ja) * 2021-01-05 2022-07-14 ソニーグループ株式会社 エンタテインメントシステムおよびロボット

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10427305B2 (en) * 2016-07-21 2019-10-01 Autodesk, Inc. Robotic camera control via motion capture
US11154991B2 (en) * 2018-09-26 2021-10-26 Disney Enterprises, Inc. Interactive autonomous robot configured for programmatic interpretation of social cues
DE102019201045B4 (de) * 2019-01-28 2020-11-26 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters
DE102019213032A1 (de) * 2019-08-29 2021-03-04 navel robotics GmbH Roboter mit einer verhaltenssteuerungseinheit und verfahren zur verhaltenssteuerung eines roboters

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281754A (ja) * 1994-04-08 1995-10-27 Nishimatsu Constr Co Ltd 遠隔操縦式建設車両およびその非常時運行方法
JP2002244735A (ja) * 2001-02-14 2002-08-30 Sanyo Electric Co Ltd 自律走行ロボット
JP2005271152A (ja) * 2004-03-25 2005-10-06 Funai Electric Co Ltd 自走式掃除機および自走ロボット

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001246580A (ja) 2000-03-03 2001-09-11 Sony Corp 情報通信ロボット装置、情報通信方法および情報通信ロボットシステム
JP2005304516A (ja) 2004-04-16 2005-11-04 Funai Electric Co Ltd 自走式掃除機
JP2006039760A (ja) 2004-07-23 2006-02-09 Victor Co Of Japan Ltd 移動ロボット
JP2008158868A (ja) 2006-12-25 2008-07-10 Toyota Motor Corp 移動体、及びその制御方法
KR101053875B1 (ko) * 2008-07-14 2011-08-03 삼성전자주식회사 휴대 단말기와 동기화된 로봇의 이벤트 실행 방법 및 그시스템
CN101648378A (zh) * 2008-08-11 2010-02-17 悠进机器人股份公司 基于机器人中间件结构及情节的控制系统
JP5968627B2 (ja) * 2012-01-17 2016-08-10 シャープ株式会社 掃除機、制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体
WO2018043274A1 (ja) 2016-09-02 2018-03-08 Groove X株式会社 自律行動型ロボット、サーバ及び行動制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281754A (ja) * 1994-04-08 1995-10-27 Nishimatsu Constr Co Ltd 遠隔操縦式建設車両およびその非常時運行方法
JP2002244735A (ja) * 2001-02-14 2002-08-30 Sanyo Electric Co Ltd 自律走行ロボット
JP2005271152A (ja) * 2004-03-25 2005-10-06 Funai Electric Co Ltd 自走式掃除機および自走ロボット

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019169189A (ja) * 2016-09-02 2019-10-03 Groove X株式会社 自律行動型ロボット、サーバ及び行動制御プログラム
JP7236142B2 (ja) 2016-09-02 2023-03-09 Groove X株式会社 自律行動型ロボット
WO2022149496A1 (ja) * 2021-01-05 2022-07-14 ソニーグループ株式会社 エンタテインメントシステムおよびロボット

Also Published As

Publication number Publication date
GB201902492D0 (en) 2019-04-10
GB2570405A (en) 2019-07-24
US20190202054A1 (en) 2019-07-04
CN109643126A (zh) 2019-04-16
JP7236142B2 (ja) 2023-03-09
GB2570405B (en) 2022-05-11
JPWO2018043274A1 (ja) 2018-10-25
DE112017004414T5 (de) 2019-05-16
JP6557840B2 (ja) 2019-08-14
JP2019169189A (ja) 2019-10-03

Similar Documents

Publication Publication Date Title
JP6467674B2 (ja) スキンシップを理解する自律行動型ロボット
WO2018012446A1 (ja) 活動量をコントロールされる自律行動型ロボット
JP6508864B2 (ja) 瞳を変化させるロボット
JP6402320B2 (ja) 人見知りする自律行動型ロボット
JP7236142B2 (ja) 自律行動型ロボット
WO2018043235A1 (ja) 音源の方向を認識する自律行動型ロボット
JP6884401B2 (ja) 服を着る自律行動型ロボット
WO2018047802A1 (ja) 自然な距離感を保つ自律行動型ロボット
JP6671577B2 (ja) 人を識別する自律行動型ロボット
JP6409209B2 (ja) 涼しさを求める自律行動型ロボット
WO2018047900A1 (ja) ゲストを受け入れる自律行動型ロボット
JP6734607B2 (ja) ロボット、携帯品及びロボット制御プログラム
JP2019214119A (ja) ロボットの関節に好適なジョイント構造
JP2018192559A (ja) 曲面形状のボディに対するタッチを検出する自律行動型ロボット

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018537194

Country of ref document: JP

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

Ref document number: 17846279

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 201902492

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20170824

122 Ep: pct application non-entry in european phase

Ref document number: 17846279

Country of ref document: EP

Kind code of ref document: A1