WO2018047802A1 - 自然な距離感を保つ自律行動型ロボット - Google Patents

自然な距離感を保つ自律行動型ロボット Download PDF

Info

Publication number
WO2018047802A1
WO2018047802A1 PCT/JP2017/031890 JP2017031890W WO2018047802A1 WO 2018047802 A1 WO2018047802 A1 WO 2018047802A1 JP 2017031890 W JP2017031890 W JP 2017031890W WO 2018047802 A1 WO2018047802 A1 WO 2018047802A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
distance
user
movement
control unit
Prior art date
Application number
PCT/JP2017/031890
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 JP2018538413A priority Critical patent/JP6472113B2/ja
Priority to CN201780054987.7A priority patent/CN109690435A/zh
Priority to GB1902513.9A priority patent/GB2570584B/en
Priority to DE112017004512.6T priority patent/DE112017004512T5/de
Publication of WO2018047802A1 publication Critical patent/WO2018047802A1/ja
Priority to US16/283,818 priority patent/US11148294B2/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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
    • 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/39Robotics, robotics to robotics hand
    • 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.
  • the present invention is an invention completed based on the above problem recognition, and its main object is to provide a control technology for giving a sense of life to a robot.
  • One embodiment of the present invention is an autonomous behavior robot.
  • the robot includes an imaging unit for imaging the surroundings, and a movement control unit for controlling the distance to the object according to the size of the imaged object.
  • Another aspect of the present invention is an action control program of an autonomous action robot.
  • This program has a function of acquiring a captured image of the surroundings of the robot, a function of specifying a predetermined target in the captured image, and a position at which the robot and the target should be taken according to the size of the imaged target.
  • a computer realizes a function of calculating a relation and a function of controlling movement of a robot so as to realize the calculated positional relation.
  • FIG. 2 is a cross-sectional view schematically illustrating the structure of a robot. It is a side view showing the structure of a robot centering on a frame. 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 schematic diagram showing the method of controlling distance with a user. It is a figure which shows an example of the setting method of look-up angle. It is a figure which shows the other example of the setting method of look-up angle. It is a figure showing the setting table referred when determining a look-up angle. It is a flowchart which illustrates operation control of a robot.
  • FIG. 1 is a view showing the appearance of a robot 100 according to the embodiment.
  • Fig.1 (a) is a front view
  • FIG.1 (b) is a side view.
  • 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, and takes, for example, 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 left and right.
  • the robot 100 can turn left or rotate counterclockwise.
  • the rotation 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) described later. 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 seats on the floor surface as the wheels are stored. 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.
  • Two eyes 110 are provided on the front of the head (face) of the robot 100.
  • the eye 110 incorporates a high resolution camera 402.
  • the eye 110 can also display an image with a liquid crystal element or an organic EL element.
  • the robot 100 has a built-in speaker and can emit a simple voice.
  • a horn 112 is attached to the top of 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.
  • the omnidirectional camera 400 (first camera) is built in the horn 112.
  • the omnidirectional camera 400 can shoot all directions in the vertical and horizontal directions (360 degrees: particularly, substantially the entire area above the robot 100) at one time by the fisheye lens (see FIG. 8).
  • the high resolution camera 402 (second camera) built in the eye 110 can capture only the front direction of the robot 100.
  • the omnidirectional camera 400 has a wide shooting range but lower resolution than the high resolution camera 402.
  • the robot 100 includes various sensors such as a temperature sensor (thermo sensor) for imaging the ambient temperature distribution, a microphone array having a plurality of microphones, a shape measurement sensor (depth sensor) capable of measuring the shape of the measurement object, and an ultrasonic sensor. Built-in sensor.
  • a temperature sensor thermo sensor
  • a microphone array having a plurality of microphones
  • a shape measurement sensor depth sensor
  • ultrasonic sensor Built-in sensor.
  • FIG. 2 is a cross-sectional view schematically showing the structure of the robot 100.
  • FIG. 3 is a side view showing the structure of the robot 100 centering on a frame.
  • FIG. 2 corresponds to a cross section taken along line AA of FIG.
  • the body 104 of the robot 100 includes a base frame 308, a body frame 310, a pair of wheel covers 312 and an outer 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, various actuators and the like 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 portion of the trunk frame 318 so as to be capable of relative displacement.
  • the head frame 316 is provided with three axes of a yaw axis 321, a pitch axis 322, and a roll axis 323, and actuators 324, 325 for rotationally driving each axis.
  • the actuator 324 includes a servomotor for driving the yaw axis 321.
  • the actuator 325 includes a plurality of servomotors for driving the pitch axis 322 and the roll axis 323, respectively.
  • the yaw shaft 321 is driven for the swinging operation
  • the pitch shaft 322 is driven for the peeping operation
  • the roll shaft 323 is driven for the tilting operation.
  • a plate 326 supported by the yaw axis 321 is fixed to the top of the head frame 316.
  • the plate 326 is formed with a plurality of vents 327 for ensuring ventilation between the top and bottom.
  • a metal base plate 328 is provided to support the head frame 316 and its internal mechanism from below.
  • the base plate 328 is connected to the upper plate 332 (base frame 308) through the joint 330.
  • a support base 335 is provided on the base plate 328, and the actuators 324 and 325 and the cross link mechanism 329 (pantograph mechanism) are supported.
  • the cross link mechanism 329 may connect the actuators 325 and 326 up and down, and change their distance.
  • the roll shaft 323 of the actuator 325 is connected to the support 335 via a gear mechanism (not shown).
  • the pitch axis 322 of the actuator 325 is connected to the lower end of the cross link mechanism 329.
  • an actuator 324 is fixed to the upper end portion of the cross link mechanism 329.
  • the yaw axis 321 of the actuator 324 is coupled to the plate 326.
  • the actuator 325 is provided with a rotary drive mechanism (not shown) for driving the cross link mechanism 329 to extend and retract.
  • the actuator 325 and the head frame 316 can be integrally rotated (rolling), and an operation of tilting the neck can be realized.
  • the pitch shaft 322 the cross link mechanism 329 and the head frame 316 can be integrally rotated (pitching), and a loosening operation and the like can be realized.
  • the plate 326 and the head frame 316 can be integrally rotated (yawed), and a swinging motion can be realized.
  • the cross link mechanism 329 By expanding and contracting the cross link mechanism 329, the expansion and contraction operation of the neck can be realized.
  • Torso frame 318 houses base frame 308 and wheel drive mechanism 370.
  • the wheel drive mechanism 370 includes a front wheel drive mechanism 374 and a rear wheel drive mechanism 376.
  • the upper half 380 has a smooth curved surface shape so that the outline of the body 104 may be rounded.
  • the upper half 380 is formed to have a gradually smaller width toward the upper portion corresponding to the neck.
  • the lower half 382 of the body frame 318 is narrowed to form a storage space S of the front wheel 102 with the wheel cover 312.
  • the boundary between the upper half 380 and the lower half 382 has a stepped shape.
  • the left and right side walls constituting the lower half portion 382 are parallel to each other, and penetrate and support a pivot shaft 378 described later of the front wheel drive mechanism 374.
  • a lower plate 334 is provided to close the lower end opening of the lower half 382.
  • the base frame 308 is fixed to and supported by the lower end of the body frame 318.
  • the pair of wheel covers 312 is provided to cover the lower half 382 of the body frame 318 from the left and right.
  • the wheel cover 312 is made of resin and assembled so as to form a smooth outer surface (curved surface) continuous with the upper half 380 of the body frame 318.
  • the upper end of the wheel cover 312 is connected along the lower end of the upper half 380.
  • a storage space S opened downward is formed between the side wall of the lower half 382 and 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.
  • the front wheel drive mechanism 374 includes a rotational drive mechanism for rotating the front wheel 102 and a storage operation mechanism for advancing and retracting the front wheel 102 from the storage space S. That is, the front wheel drive mechanism 374 includes a pivot 378 and an actuator 379.
  • the front wheel 102 has a direct drive motor (hereinafter referred to as "DD motor") 396 at its center.
  • the DD motor 396 has an outer rotor structure, and the stator is fixed to the axle 398, and the rotor is coaxially fixed to the wheel 397 of the front wheel 102.
  • the axle 398 is integrated with the pivot 378 via an arm 350.
  • a bearing 352 is rotatably embedded while penetrating the pivot shaft 378.
  • the bearing 352 is provided with a seal structure (bearing seal) for sealing the inside and the outside of the body frame 318 in an airtight manner.
  • Rear wheel drive mechanism 376 includes a pivot shaft 354 and an actuator 356. Two arms 358 extend from the pivot shaft 354 and an axle 360 is integrally provided at the tip thereof.
  • the rear wheel 103 is rotatably supported by the axle 360.
  • a bearing (not shown) is rotatably supported while penetrating the pivot shaft 354.
  • the bearing is also provided with a shaft seal structure.
  • the actuators 379 and 356 are driven in one direction.
  • the arm 350 pivots about the pivot shaft 378, and the front wheel 102 ascends from the floor surface F.
  • the arm 358 pivots about the pivot shaft 354, and the rear wheel 103 ascends from the floor surface F.
  • the body 104 descends and the seating surface 108 contacts the floor surface F.
  • the state in which the robot 100 is seated is realized.
  • the drive mechanism for driving the hand 106 includes a wire 134 embedded in the outer skin 314 and a drive circuit 340 (energization circuit) thereof.
  • the wire 134 is formed of a shape memory alloy wire in the present embodiment, and shrinks and hardens when heated, and relaxes and elongates when heated. Leads drawn from both ends of the wire 134 are connected to the drive circuit 340. When the switch of the drive circuit 340 is turned on, the wire 134 (shape memory alloy wire) is energized.
  • the wire 134 is molded or braided to extend from the skin 314 to the hand 106. Leads are drawn from both ends of the wire 134 to the inside of the body frame 318. One wire 134 may be provided on each of the left and right of the outer covering 314, or a plurality of wires 134 may be provided in parallel.
  • the hand 106 can be raised by energizing the wire 134, and the hand 106 can be lowered by interrupting the energization.
  • the robot 100 can adjust the angle of the line of sight (see a dotted arrow) by controlling the rotation angle of the pitch axis 322.
  • the direction of the imaginary straight line passing through the pitch axis 322 and the eye 110 is taken as the direction of the line of sight.
  • the optical axis of the high resolution camera 402 coincides with the line of sight.
  • the line connecting the omnidirectional camera 400 and the pitch axis 322 and the line of sight are set to be at a right angle.
  • the movable range (rotational range) of the head frame 316 centered on the pitch axis 322 can be made large.
  • the movable range is set to 90 degrees, and 45 degrees in the vertical direction from the state where the line of sight is horizontal. That is, the limit value of the angle at which the line of sight of the robot 100 rises (look-up angle) is 45 degrees, and the limit value of the angle at which the line of sight downwards (look-down angle) is 45 degrees.
  • FIG. 4 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. 5 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.
  • the emotion map 116 indicates the size of the evil emotion 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 rotations of the wheel (front wheel 102) to specify the current position, or the current position may be specified based on the image obtained from the camera. You may When the emotion map 116 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.
  • various behavior maps can be defined such as curiosity, feeling of fear avoidance, feeling of relief, feeling of quietness and dimness, feeling of physical comfort such as coolness and warmth.
  • 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 may have 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 may be set large, and the value of the emotion parameter may be 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. 6 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 secondary battery such as a lithium ion 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, in addition to the camera 410 (the omnidirectional camera 400 and the high resolution camera 402), the microphone array 404, the temperature sensor 406, and the shape measurement sensor 408, an infrared sensor, a touch sensor, an acceleration sensor, an 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), the head (head frame 316) and the torso (hand 106).
  • the drive mechanism 120 changes the moving direction and the moving speed of the robot 100 by changing the rotational speed and the rotational direction of each of the two front wheels 102.
  • 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 at the seating surface 108 to be in a sitting state.
  • the drive mechanism 120 can lift the hand 106 by pulling the hand 106 through the wire 134. It is also possible to shake the hand by vibrating the hand 106. More complex gestures can also be expressed using multiple wires 134.
  • FIG. 7 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 data storage unit 206 includes a motion storage unit 232, a map storage unit 216, and a personal data storage unit 218.
  • 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, etc.
  • 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 behavior characteristics of the robot 100 are defined by a motion selection algorithm, a motion selection probability, a motion file, and the like.
  • the map storage unit 216 stores a plurality of action maps.
  • 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 100 identifies the user based on physical and behavioral features 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 100 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).
  • 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 determination unit 222, and a closeness management unit 220.
  • the position management unit 208 specifies the position coordinates of the robot 100 by the method described using FIG. 4.
  • the position management unit 208 may also track the user's position coordinates in real time.
  • the map management unit 210 changes the parameter of each coordinate in the method described with reference to FIG. 5 for a plurality of action maps.
  • the map management unit 210 manages a temperature map, which is a type of action map.
  • the map management unit 210 may select one of the plurality of behavior maps, or may perform weighted averaging of z values of the plurality of behavior maps.
  • the coordinates R1 and z values at the coordinates R2 are 4 and 3
  • the coordinates R1 and z values at the coordinates R2 are ⁇ 1 and 3, respectively.
  • 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 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.
  • 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 cats and dogs that are pets, for example.
  • 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, holding is an affirmative response that indicates the user's pleasant emotion, and kicking is a negative response that indicates the user's unpleasant emotion.
  • the motion determination unit 222 cooperates with the control unit 150 of the robot 100 to determine the motion of the robot 100.
  • the movement determination unit 222 creates a movement target point of the robot 100 and a movement route therefor based on the action map selection by the map management unit 210.
  • the operation determination unit 222 may create a plurality of movement routes, and then select one of the movement routes.
  • the motion determination 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 a movement route are determined in the action map, and a motion is selected by various events described later.
  • 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 an internal sensor 128, a communication unit 142, a data processing unit 136, a data storage unit 148, and a drive mechanism 120.
  • the internal sensor 128 is a collection of various sensors.
  • the internal sensor 128 includes a microphone array 404, a camera 410, a temperature sensor 406 and a shape measurement sensor 408.
  • the microphone array 404 is a unit in which a plurality of microphones are joined together, and is an audio sensor that detects a sound.
  • the microphone array 404 may be any device capable of detecting sound and detecting the direction of the sound source.
  • Microphone array 404 is embedded in head frame 316. Since the distance between the sound source and each microphone does not match, the sound collection timing varies. Therefore, the position of the sound source can be specified from the strength and phase of the sound in each microphone.
  • the robot 100 detects the position of the sound source, in particular the direction of the sound source, by means of the microphone array 404.
  • the camera 410 is a device for photographing the outside.
  • the camera 410 includes an omnidirectional camera 400 and a high resolution camera 402.
  • the temperature sensor 406 detects the temperature distribution of the external environment and forms an image.
  • the shape measurement sensor 408 is an infrared depth sensor that reads near-infrared rays from a projector and detects near-infrared reflected light with a near-infrared camera to read the depth of the target object and, consequently, the uneven shape.
  • the communication unit 142 corresponds to the communication device 126 (see FIG. 6), 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. 6).
  • 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.
  • Various motion files are downloaded from the motion storage unit 232 of the server 200 to the motion storage unit 160.
  • 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 motions 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 data processing unit 136 includes a recognition unit 156, a control unit 150, and a sensor control unit 172.
  • Control unit 150 includes a movement control unit 152 and an operation control unit 154.
  • the movement control unit 152 determines the movement direction of the robot 100 together with the operation determination 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 an obstacle may be determined by the robot 100.
  • the drive mechanism 120 drives the front wheel 102 according to the instruction of the movement control unit 152 to direct the robot 100 to the movement target point.
  • the motion control unit 154 determines the motion of the robot 100 in cooperation with the motion determination 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 operation control unit 154 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 154 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 154.
  • the sensor control unit 172 controls the internal sensor 128. Specifically, the measurement directions of the high resolution camera 402, the temperature sensor 406, and the shape measurement sensor 408 are controlled. In accordance with the direction of the head frame 316, the measurement directions of the high resolution camera 402, the temperature sensor 406, and the shape measurement sensor 408 mounted on the head of the robot 100 change.
  • the sensor control unit 172 controls the imaging direction of the high resolution camera 402 (that is, controls the movement of the head in accordance with the imaging direction).
  • the sensor control unit 172 and the camera 410 function as an “imaging unit”.
  • the recognition unit 156 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 acquires detection information of the camera 410, the temperature sensor 406, and the shape measurement sensor 408, and detects a moving object such as a person or a pet. These pieces of information are 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.
  • a series of recognition processing including detection / analysis / judgment 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 may perform the above-mentioned recognition while sharing roles. Processing may be performed.
  • 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.
  • the robot 100 newly recognizes a moving object (user) in a state where cluster analysis by such feature extraction 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.
  • 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 an action influenced by 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.
  • the robot 100 emulates a biologically natural behavior by appropriately maintaining a sense of distance to the user according to the user's attribute or closeness (preference) in the field of view.
  • the recognition unit 156 also functions as a “preference determination unit”. Also, by making the user look up at the user's face at a natural angle according to the distance, the user is made to feel attached. The details will be described below.
  • FIG. 8 is a schematic view showing a method of controlling the distance to the user.
  • the robot 100 extracts the user (object) from the subject of the camera 410, analyzes the image, refers to the corresponding user information, and moves so as to make the distance to the user appropriate.
  • the height (height) of the robot 100 in this embodiment is assumed to be about 50 centimeters. When the robot 100 of this height visually recognizes the user's face, the head necessarily tilts and looks up.
  • the robot 100 needs to approach the user in order to enlarge the angle to look up and visually recognize the user's face, and the robot 100 needs to move away from the user if the angle to look up is reduced.
  • the robot 100 follows the user while maintaining a natural sense of distance from the user by controlling the forward / backward movement of the robot 100 so as to maintain the viewing state of the user's face at a constant angle of looking up. It can be done. That is, a natural sense of distance can be maintained without measuring a clear distance between the robot 100 and the user.
  • the celestial imaging range 418 is an imaging range by the omnidirectional camera 400.
  • the omnidirectional camera 400 can capture the upper hemisphere of the robot 100 at one time.
  • the recognition unit 156 analyzes an image (captured image) of the imaging region 420 which is a predetermined range including the direction of the object 414 in the celestial imaging range 418.
  • creatures such as humans (users) and animals (pets) that are targets of dialogue and skinship are referred to as “target objects”, but it is also possible to use only humans as objects in particular. .
  • the recognition unit 156 performs image analysis to determine whether a subject having a predetermined feature is present in the imaging region 420.
  • the recognition unit 156 of the robot 100 executes the process of recognizing the image of the object 414 from the imaging region 420.
  • the recognition unit 212 of the server 200 may execute the image recognition, or both the recognition unit 212 of the server 200 and the recognition unit 156 of the robot 100 may execute.
  • the recognition unit 156 When identifying the object 414 from the subject, the recognition unit 156 measures the temperature distribution around the subject using the temperature sensor 406, and the subject is a heating element, in particular, whether it is a heating element at about 30 to 40 degrees Celsius. Determine if The recognition unit 156 also functions as a “temperature determination unit”. Since temperature-controlled animals such as humans and pets are heating elements, audio, television, a wall, a mirror and the like can be excluded from candidates for the object 414 by this temperature measurement.
  • the recognition unit 156 further measures the three-dimensional shape of the subject using the shape measurement sensor 408, and determines whether the subject is an object having a predetermined shape. For example, the recognition unit 156 determines whether the subject has a concavo-convex shape. When the subject does not have the uneven shape, the subject is considered to be a flat body such as a television, a wall, a mirror, and the like, so these can be excluded from candidates for the subject 414. More preferably, it is desirable that the shape measurement sensor 408 detect features of the three-dimensional shape of the subject.
  • the shape measurement sensor 408 also stores feature information of the face of each cluster. For this reason, more preferably, the shape measurement sensor 408 may identify who the object 414 is.
  • the high-resolution camera 402 picks up the target candidate.
  • the angle of view is adjusted so that the entire object candidate is included at the center of the screen.
  • the optical axis of the high resolution camera 402 coincides with the line of sight. For this reason, an object candidate is present in the direction of the line of sight of the robot 100.
  • the recognition unit 156 specifies that the object candidate is the object 414 based on the image of the high resolution camera 402.
  • a candidate object having physical / behavioral characteristics specific to a living being such as skin color, moving, wearing clothes, etc. having a part corresponding to two eyes and one mouth It is recognized as an object 414.
  • known face recognition technology is used to identify the face of the object 414.
  • face recognition for example, an edge portion of a face is detected from an image of the object 414 to specify a face area, and a pattern of feature amounts preset for the image of the face area (arrangement of eyes, nose, and mouth Etc.). If the degree of similarity in this comparison is equal to or greater than the reference value, it can be determined to be a face. If there are multiple objects 414, multiple faces are identified.
  • the recognition unit 156 further identifies the height of the object 414 and the size of the face. Specifically, the feature point of the object 414 is extracted from the imaging screen, and the height of the feature point is specified as the “height of the object”. In the present embodiment, a nose protruding forward in the center of the face is extracted as a feature point, and the height of the object 414 is specified. In addition, the contour of the face is extracted, and the length in the vertical direction is specified as “face size”.
  • the forward and backward movement of the robot 100 is controlled so that the size of the area recognized as a face (also referred to as a “face area”), that is, the area of the face area, falls within a predetermined range on the imaging screen. If the area of the face area is increased, the sense of distance to the object 414 is closer, and if the area of the face area is decreased, the sense of distance to the object 414 is farther.
  • the object 414 to be adjusted for the sense of distance is specified based on the height and face size information.
  • this is to be adjusted.
  • a look-up angle is set in accordance with the attribute and closeness of the target object 414 which has been adjusted, and when the target object 414 is faced, the target 414 is placed so that the face of the target object 414 is on the line of sight at the look-up angle.
  • the distance to the object 414 (also referred to as “face-to-face distance”) is controlled. For example, in the situation where parents and a child gather, when approaching a child, it is difficult to measure an accurate distance with the child using an ultrasonic sensor. However, if the face of the child is visually recognized and the look-up angle is made constant, the sense of distance can be adjusted according to the child by controlling the area of the face region of the child to be within a certain range.
  • FIG. 9 is a diagram showing an example of a method of setting a look-up angle.
  • the upper and lower range of the line of sight of the robot 100 (that is, the movable range of the head) is set to ⁇ 45 degrees to +45 degrees (refer to the dotted line) with respect to the horizontal direction (refer to the two-dot chain line).
  • the look-up angle ⁇ (upward angle with respect to the horizontal direction) of the robot 100 is adjusted in the range of 0 to 45 degrees.
  • 30 degrees is set as a reference value.
  • the facing distance d differs depending on the attribute such as whether the object 414 is an adult or a child, or a male or a female. That is, the distance between the child 414c is shorter than that of the adults 414m and 414f. Moreover, if it is an adult, distance changes according to the height. In the illustrated example, the distance df to the female 414 f is closer than the distance dm to the adult male 414 m, and the distance dc to the child 414 c is closer.
  • the robot 100 prioritizes the distance dc with the small child 414c. That is, the movement control unit 152 moves the robot 100 so as to have a distance dc from the child 414c. At this time, when the robot 100 approaches the child 414 c within a predetermined distance (for example, within 5 m) in order to make the robot 100 behave naturally, the driving of the head is started and the look-up angle ⁇ is gradually set Control to approach.
  • a predetermined distance for example, within 5 m
  • the speed at which the robot 100 approaches the object 414 may be slow. Thereby, the object 414 can touch the robot 100 while the facing distance is set. That is, the skinship with the robot 100 according to the user's intention is secured.
  • FIG. 10 is a diagram showing another example of the setting method of the look-up angle.
  • FIG. 10A shows the case where a plurality of objects exist, and FIG.
  • FIG. 10 (a) for example, when the father 414m squats near the child 414c and calls for the robot 100, it is natural to respond to the father 414m in intimacy expression, and sympathy is obtained. It is believed that Therefore, when there are a plurality of target objects 414 in this way, if the specified difference ⁇ h between the two heights is equal to or less than a reference value (for example, the height on the screen corresponding to 20 cm or less), the larger face An object 414 is used as a reference for distance control.
  • a reference value for example, the height on the screen corresponding to 20 cm or less
  • the movement control unit 152 causes the robot 100 to face the father 414m, and moves the robot 100 to a position where the look-up angle ⁇ is a set value (for example, 30 degrees).
  • the operation control unit 154 drives the head such that the look-up angle ⁇ gradually approaches the set value in the process of the movement.
  • the “height difference ⁇ h” and the “reference value” may be set by the number of pixels in image processing.
  • the look-up angle ⁇ is variable according to the closeness of the object 414. That is, when the closeness degree of the object 414 becomes higher than before, as shown in FIG. 10B, the look-up angle ⁇ is larger than the previous angle (for example, 30 degrees: see thin dashed-dotted line) The setting is changed so that it becomes 40 degrees: thick dashed dotted line). As a result, the distance between the robot 100 and the object 414 decreases from d1 to d2. Thereby, it is possible to express that the robot 100 is more favored with the object 414 than before, just as a pet gets used to the owner and reduces the sense of distance.
  • FIG. 11 is a diagram showing a setting table referred to when determining the look-up angle.
  • This setting table is a data table in which the correspondence between the look-up angle and the closeness is defined.
  • the standard closeness (referred to as “standard closeness”) is 21 or more and 40 or less, and the corresponding look-up angle ⁇ is 30 degrees.
  • the look-up angle ⁇ becomes larger than 30 degrees.
  • the robot 100 gestures to approach and stare at the object 414 more than before. Thereby, it can be expressed that the robot 100 has a favor with the object 414 than before.
  • the look-up angle ⁇ becomes smaller than 30 degrees.
  • the robot 100 gestures to look away from the object 414 more than before. This makes it possible to express dissatisfaction and caution against lack of love of the object 414.
  • the action selection of the robot 100 can be made human or biological.
  • FIG. 12 is a flowchart illustrating the operation control of the robot 100. The process of this figure is repeatedly performed with a predetermined
  • a case where the object 414 is a user will be described as an example.
  • the internal sensor 128 periodically images the periphery of the robot 100 to measure the ambient temperature.
  • the recognition unit 156 determines whether the subject is a user based on the detection information of the temperature sensor 406 and the shape measurement sensor 408. If the subject is a user (Y in S10), the recognition unit 156 recognizes the user's face by the high resolution camera 402 and tracks the user's face (S12).
  • the recognition unit 156 determines the height h of the user based on the image of the high resolution camera 402 (S14), and determines the size of the face of the user (S16). If there are a plurality of users (Y of S18), the lower user is set as the target of distance adjustment if the difference ⁇ h of heights of the plurality of users is not within the reference value (N of S20) (S22) . On the other hand, if the height difference ⁇ h is within the reference value (Y in S20), the user with the larger face is set (S24). If there is only one user (N in S18), the processing in S20 to S24 is skipped. The user set at this time is also called a "setting user".
  • the recognition unit 156 acquires information of the set user, and determines the closeness (S26). If there is no information of the setting user, the intimacy degree is provisionally determined as the standard intimacy degree. Then, the look-up angle ⁇ is set with reference to the setting table (FIG. 11) using the closeness (S28).
  • the movement control unit 152 causes the robot 100 to face the setting user (S30), and moves the robot 100 in the direction of the setting user (S32). At this time, the operation control unit 154 drives the head such that the look-up angle ⁇ gradually approaches the set value in the process of the movement. When the user approaches the robot 100 more than the distance corresponding to the look-up angle ⁇ , the movement control unit 152 moves the robot 100 away from the setting user so as to be the distance. When the user is not detected (N in S10), the process of S12 to S32 is skipped and the process is temporarily ended.
  • the robot 100 controls the sense of distance to the user according to the height of the user and the size of the face. It takes a distance to a large person and a distance to a small person. Such an operation can maintain a natural sense of distance from the robot 100 as viewed from the user. This sense of distance is due to the setting of the look-up angle, and the robot 100 looks at the user at a natural angle. Therefore, the user can feel comfortable.
  • the look-up angle changes according to the degree of closeness. As the closeness degree increases, the look-up angle changes in the direction of increasing. Thereby, it is also possible to express such a gesture that the robot 100 requests the user for the skinship. Conversely, when the closeness degree decreases, the look-up angle decreases. As a result, it is possible to express gestures such as the robot 100 showing a sense of caution to the user or making a stranger.
  • 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. It is also possible to grasp the collection of each function of the robot 100 and each function of the server 200 described in FIG. 7 as one “robot” as a whole. 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 configuration including the omnidirectional camera 400 and the high resolution camera 402 has been exemplified.
  • the high resolution camera 402 may be omitted for cost reduction and the like. That is, an imaging screen including the object 414 may be cut out as a part of the celestial imaging range 418 by the omnidirectional camera 400.
  • the adjustment of the look-up angle is also the adjustment of the optical axis direction, and the control becomes simple.
  • the omnidirectional camera 400 may be omitted, and the high resolution camera 402 may identify the object 414. In that case, however, it is necessary to drive the head constantly to capture the surroundings. Also, as soon as the object 414 enters the imaging field of view of the high resolution camera 402, tracking starts to start, and the operation of the robot 100 tends to be awkward. In this regard, according to the omnidirectional camera 400, detection of the object 414 is easy without moving the camera itself. Therefore, it is preferable to use the omnidirectional camera 400 and the high resolution camera 402 in combination as in the above embodiment.
  • the object 414 is sensed by the camera 410, the temperature sensor 406, and the shape measurement sensor 408, and the recognition unit 156 of the robot 100 executes recognition processing.
  • part or all of the recognition process may be performed by the recognition unit 212 of the server 200.
  • part of the function of the internal sensor 128 may be mounted on the external sensor 114.
  • the camera 410 may be mounted on the external sensor 114
  • the server 200 may analyze the image information of the external sensor 114
  • the robot 100 may specify the position of the object 414 based on the analysis result.
  • the omnidirectional camera 400 is provided on the tongue 112 so as to move integrally with the head of the robot 100.
  • the omnidirectional camera 400 may be provided at a part independent of the head (a position not influenced by the movement of the line of sight).
  • the omnidirectional camera 400 may be fixed to the base plate 328 so as to protrude above the head.
  • a microphone array 404 may be used in combination to recognize the object 414.
  • the microphone array 404 may detect the object 414 and identify the direction to the object 414.
  • microphones may be arranged at a plurality of locations of the robot 100.
  • the robot 100 faces the object 414 and adjusts the sense of distance (closely to the main).
  • control may be performed to obtain a similar sense of distance.
  • the robot 100 may be controlled to escape while maintaining a distance corresponding to the height of the object 414.
  • the distance can be controlled using the image of the omnidirectional camera 400.
  • the approach of the object 414 from the back of the robot 100 may be detected by the omnidirectional camera 400, and control may be performed to turn the robot 100 to face the object 414. Then, control such as causing the robot 100 to move backward may be performed according to the closeness of the object 414.
  • the line of sight of the robot 100 basically faces the opposite side of the object 414, but in order to simplify the control algorithm, it is calculated on the "virtual look-up angle" assuming that there is a face on the back of the head It may be set. This makes it possible to use the same setting table as when facing the user. Such control can be easily realized by cutting out the imaging screen of the omnidirectional camera 400.
  • the distance may be controlled in accordance with the size including the width of the object 414.
  • Body size takes into account not only height but also widthwise volume. It takes a relatively large distance to large users of the body, and controls to be relatively close to small users of the body. Such motion is generally consistent with biological motion.
  • the nose of the object 414 is extracted as a feature point, and the height of the nose is specified as the height of the object 414.
  • other feature points may be set to specify the height of the object 414.
  • the contour of the head (face) of the object 414 may be identified, and the height of the top of the head may be the height of the object 414.
  • the contour of the face is extracted, and the length in the vertical direction is specified as the “size of the face”.
  • the area of the face calculated from the outline of the face may be specified as the “face size”.
  • the head starts to be driven when approaching within a predetermined distance, and the example of gradually approaching the look-up angle to the set value is shown.
  • the look-up angle of the robot 100 may be basically fixed and the object 414 may be approached with the look-up angle. Then, when the entire body of the object 414 enters the angle of view (viewing angle) of the high resolution camera 402, the robot 100 may be stopped. With such a configuration, the frequency of moving the head of the robot 100 can be reduced, and the control load can be reduced.
  • the distance to the object 414 is controlled so that the look-up angle ⁇ of the robot 100 becomes constant.
  • the robot 100 may be provided with a distance measuring sensor for detecting the distance to the subject. Then, the distance (set distance) to the object 414 when the look-up angle becomes a set value may be calculated, and the robot 100 may be moved so that the set distance is satisfied.
  • the detection information of the distance measuring sensor may be sequentially acquired, and the head may be driven from the near side of the set distance to start looking up at 414. Then, control may be performed so that the look-up angle becomes a set value at the timing when the set distance is reached.
  • the object 414 is a user (human), but animals such as dogs and cats may be included. As a result, it is possible to express such an effect that the robot 100 faces the animal at an appropriate distance.
  • correction processing may be performed on the captured image so that the robot 100 can accurately recognize the object 414 even in a backlit state.
  • exposure correction may be performed to brighten the entire captured image.
  • correction may be made to raise (brighten) the exposure except for bright portions of the captured image.
  • the exposure may be raised centering on the features (such as the face) of the object 414.
  • Correction by HDR High-dynamic-range rendering
  • the recognition unit 156 may perform the above-described recognition processing such as extracting the feature of the object 414 based on the image after such correction. Since the captured image is not provided to the user but is used for internal processing (image recognition) of the robot 100, “color skipping” or “color loss” for an image portion unrelated to the object 414 is There is no particular problem.
  • the omnidirectional camera 400 is illustrated in the above embodiment, a semi-spherical camera may be employed instead. Alternatively, only the upper sphere of the omnidirectional camera 400 may be taken as an imaging target. However, since these celestial camera generally have large distortion of the captured image (celestial image), it is preferable that the recognition unit 156 perform image recognition after correcting so as to reduce distortion of the celestial image.
  • the “look-up angle” corresponds to the rotation angle of the pitch axis (also referred to as “pitch angle”).
  • the imaging range in the vertical direction (look-up / look-down direction) by the camera can be changed by adjusting the pitch angle. That is, when controlling the distance to the object while keeping the look-up angle of the robot constant, the specific region of the object appearing on the screen with the pitch angle constant is the setting area on the screen (setting position and setting range) It is sufficient to control the movement of the robot so as to be maintained.

Landscapes

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

Abstract

ロボット100は、周囲を撮像する撮像部と、撮像された対象物414の大きさに応じて対象物414との距離を制御する移動制御部と、を備える。ロボット100は、頭部の動作を制御する動作制御部と、撮像された対象物414の顔を認識する認識部と、をさらに備えてもよい。動作制御部は、頭部の視線が対象物414の顔に向けた見上げ角θとなるよう、頭部の動作を制御してもよい。移動制御部は、対象物414の高さに応じて対象物414との距離を制御してもよい。

Description

自然な距離感を保つ自律行動型ロボット
 本発明は、内部状態または外部環境に応じて自律的に行動選択するロボットに関する。
 ヒューマノイドロボットやペットロボット等、人間との対話や癒しを提供する自律行動型ロボットの開発が進められている(例えば特許文献1参照)。このようなロボットは、制御プログラムにしたがって動作するが、周囲の状況に基づいて自律的に学習することで行動を進化させ、生命体に近い存在となっていくものもある。
特開2000-323219号公報
 近年、このようなロボット技術が急速に進歩しつつあるが、ペットのような伴侶としての存在感を実現するには至っていない。ロボットがいかに高性能になろうとも、生物のような生身の温かさを有するものではない。そうした固定観念に基づく設計がなされ、動作制御がなされるからである。
 本発明は上記課題認識に基づいて完成された発明であり、その主たる目的は、ロボットに生命感を与えるための制御技術を提供することにある。
 本発明のある態様は、自律行動型ロボットである。このロボットは、周囲を撮像する撮像部と、撮像された対象物の大きさに応じて対象物との距離を制御する移動制御部と、を備える。
 本発明の別の態様は、自律行動型ロボットの行動制御プログラムである。このプログラムは、ロボットの周囲の撮像画像を取得する機能と、撮像画像において所定の対象物を特定する機能と、撮像された対象物の大きさに応じて、ロボットと対象物とがとるべき位置関係を演算する機能と、演算された位置関係を実現するようにロボットの移動を制御する機能と、をコンピュータに実現させる。
 本発明によれば、ロボットに生命感を与えるための制御技術を提供できる。
実施形態に係るロボットの外観を表す図である。 ロボットの構造を概略的に表す断面図である。 ロボットの構造をフレームを中心に表す側面図である。 ロボットシステムの構成図である。 感情マップの概念図である。 ロボットのハードウェア構成図である。 ロボットシステムの機能ブロック図である。 ユーザとの距離を制御する方法を表す模式図である。 見上げ角の設定方法の一例を示す図である。 見上げ角の設定方法の他の例を示す図である。 見上げ角を決定する際に参照される設定テーブルを表す図である。 ロボットの動作制御を例示するフローチャートである。
 以下、本発明の実施形態を、図面を参照して詳細に説明する。なお、以下の説明においては便宜上、図示の状態を基準に各構造の位置関係を表現することがある。また、以下の実施形態およびその変形例について、ほぼ同一の構成要素については同一の符号を付し、その説明を適宜省略することがある。
 図1は、実施形態に係るロボット100の外観を表す図である。図1(a)は正面図であり、図1(b)は側面図である。
 本実施形態におけるロボット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が降下し、床面に着座する。この着座状態においては、ボディ104の底部に形成された平坦状の着座面108(接地底面)が床面Fに当接する。
 ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
 ロボット100の頭部正面(顔)には2つの目110が設けられている。目110には高解像度カメラ402が内蔵される。目110は、液晶素子または有機EL素子による画像表示も可能である。ロボット100は、スピーカーを内蔵し、簡単な音声を発することもできる。ロボット100の頭頂部にはツノ112が取り付けられる。上述のようにロボット100は軽量であるため、ユーザはツノ112をつかむことでロボット100を持ち上げることも可能である。
 本実施形態のロボット100は、ツノ112に全天球カメラ400(第1のカメラ)が内蔵される。全天球カメラ400は、魚眼レンズにより上下左右全方位(360度:特に、ロボット100の上方略全域)を一度に撮影できる(図8参照)。目110に内蔵される高解像度カメラ402(第2のカメラ)は、ロボット100の正面方向のみを撮影できる。全天球カメラ400は撮影範囲が広いが高解像度カメラ402よりは解像度が低い。
 このほか、ロボット100は、周辺温度分布を画像化する温度センサ(サーモセンサ)、複数のマイクロフォンを有するマイクロフォンアレイ、計測対象の形状を測定可能な形状測定センサ(深度センサ)、超音波センサなどさまざまなセンサを内蔵する。
 図2は、ロボット100の構造を概略的に表す断面図である。図3は、ロボット100の構造をフレームを中心に表す側面図である。図2は図3のA-A矢視断面に対応する。
 図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には、ヨー軸321、ピッチ軸322およびロール軸323の3軸と、各軸を回転駆動するアクチュエータ324,325が設けられている。アクチュエータ324は、ヨー軸321を駆動するためのサーボモータを含む。アクチュエータ325は、ピッチ軸322およびロール軸323をそれぞれ駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸321が駆動され、頷き動作,見上げ動作および見下ろし動作のためにピッチ軸322が駆動され、首を傾げる動作のためにロール軸323が駆動される。
 頭部フレーム316の上部には、ヨー軸321に支持されるプレート326が固定されている。プレート326には、上下間の通気を確保するための複数の通気孔327が形成されている。
 頭部フレーム316およびその内部機構を下方から支持するように、金属製のベースプレート328が設けられている。ベースプレート328は、ジョイント330を介してアッパープレート332(ベースフレーム308)と連結されている。ベースプレート328には支持台335が設けられ、アクチュエータ324,325およびクロスリンク機構329(パンタグラフ機構)が支持されている。クロスリンク機構329は、アクチュエータ325,326を上下に連結し、それらの間隔を変化させることができる。
 より詳細には、アクチュエータ325のロール軸323が、図示略のギア機構を介して支持台335に連結されている。アクチュエータ325のピッチ軸322は、クロスリンク機構329の下端部に連結されている。一方、クロスリンク機構329の上端部にアクチュエータ324が固定されている。アクチュエータ324のヨー軸321が、プレート326に連結されている。なお、アクチュエータ325には、クロスリンク機構329を伸縮駆動するための図示略の回転駆動機構が設けられている。
 このような構成により、ロール軸323を回転させることにより、アクチュエータ325と頭部フレーム316とを一体に回転(ローリング)させることができ、首を傾げる動作を実現できる。また、ピッチ軸322を回転させることにより、クロスリンク機構329と頭部フレーム316とを一体に回転(ピッチング)させることができ、頷き動作等を実現できる。ヨー軸321を回転させることにより、プレート326と頭部フレーム316とを一体に回転(ヨーイング)させることができ、首振り動作を実現できる。さらに、クロスリンク機構329を伸縮させることにより、首の伸縮動作を実現できる。
 胴部フレーム318は、ベースフレーム308および車輪駆動機構370を収容している。図3にも示すように、車輪駆動機構370は、前輪駆動機構374および後輪駆動機構376を含む。胴部フレーム318は、ボディ104のアウトラインに丸みをもたせるよう、上半部380が滑らかな曲面形状とされている。上半部380は、首部に対応する上部に向けて徐々に小幅となるように形成されている。胴部フレーム318の下半部382は、ホイールカバー312との間に前輪102の収納スペースSを形成するために小幅とされている。上半部380と下半部382との境界は段差形状となっている。
 下半部382を構成する左右の側壁は互いに平行とされ、前輪駆動機構374の後述する回動軸378を貫通させ、これを支持している。下半部382の下端開口部を閉止するようにロアプレート334が設けられている。言い換えれば、ベースフレーム308は、胴部フレーム318の下端部に固定され、支持されている。
 一対のホイールカバー312は、胴部フレーム318の下半部382を左右から覆うように設けられている。ホイールカバー312は、樹脂からなり、胴部フレーム318の上半部380と連続した滑らかな外面(曲面)を形成するように組み付けられている。ホイールカバー312の上端部が、上半部380の下端部に沿って連結されている。それにより、下半部382の側壁とホイールカバー312との間に、下方に向けて開放される収納スペースSが形成されている。
 外皮314は、ウレタンゴムからなり、本体フレーム310およびホイールカバー312を外側から覆う。手106は、外皮314と一体成形される。外皮314の上端部には、外気を導入するための開口部390が設けられる。
 前輪駆動機構374は、前輪102を回転させるための回転駆動機構と、前輪102を収納スペースSから進退させるための収納作動機構とを含む。すなわち、前輪駆動機構374は、回動軸378およびアクチュエータ379を含む。前輪102は、その中心部にダイレクトドライブモータ(以下「DDモータ」と表記する)396を有する。DDモータ396は、アウターロータ構造を有し、ステータが車軸398に固定され、ロータが前輪102のホイール397に同軸状に固定されている。車軸398は、アーム350を介して回動軸378と一体化されている。胴部フレーム318の下部側壁には、回動軸378を貫通させつつ回動可能に支持する軸受352が埋設されている。軸受352には、胴部フレーム318の内外を気密にシールするためのシール構造(軸受シール)が設けられている。アクチュエータ379の駆動により、前輪102を収納スペースSから外部へ向けて進退駆動できる。
 後輪駆動機構376は、回動軸354およびアクチュエータ356を含む。回動軸354からは2本のアーム358が延び、その先端に車軸360が一体に設けられている。車軸360に後輪103が回転可能に支持されている。胴部フレーム318の下部側壁には、回動軸354を貫通させつつ回動可能に支持する図示略の軸受が埋設されている。その軸受にも軸シール構造が設けられている。アクチュエータ356の駆動により、後輪103を収納スペースSから外部へ向けて進退駆動できる。
 車輪収納時には、アクチュエータ379,356が一方向に駆動される。このとき、アーム350が回動軸378を中心に回動し、前輪102が床面Fから上昇する。また、アーム358が回動軸354を中心に回動し、後輪103が床面Fから上昇する。それにより、ボディ104が降下し、着座面108が床面Fに接地する。これにより、ロボット100がお座りした状態が実現される。アクチュエータ379,356を反対方向に駆動することにより、各車輪を収納スペースSから進出させ、ロボット100を立ち上がらせることができる。
 手106を駆動するための駆動機構は、外皮314に埋設されたワイヤ134と、その駆動回路340(通電回路)を含む。ワイヤ134は、本実施形態では形状記憶合金線からなり、加熱されると収縮硬化し、徐熱されると弛緩伸長する。ワイヤ134の両端から引き出されたリード線が、駆動回路340に接続されている。駆動回路340のスイッチがオンされるとワイヤ134(形状記憶合金線)に通電がなされる。
 ワイヤ134は、外皮314から手106に延びるようにモールド又は編み込まれている。ワイヤ134の両端から胴部フレーム318の内方にリード線が引き出されている。ワイヤ134は外皮314の左右に1本ずつ設けてもよいし、複数本ずつ並列に設けてもよい。ワイヤ134に通電することで手106を上げることができ、通電遮断することで手106を下げることができる。
 ロボット100は、ピッチ軸322の回転角度を制御することにより、視線(点線矢印参照)の角度を調整できる。なお、本実施形態では便宜上、ピッチ軸322と目110とを通る仮想直線の方向を視線の方向とする。高解像度カメラ402の光軸は視線と一致する。また、後述の演算処理を容易にするため、全天球カメラ400とピッチ軸322とを結ぶ直線と視線とが直角となるように設定されている。
 頭部フレーム316の前後には、胴部フレーム318の上端部を挿通可能なスリット362,364が設けられている。このため、ピッチ軸322を中心とする頭部フレーム316の可動範囲(回転範囲)を大きくとることができる。本実施形態では、この可動範囲を90度とし、視線が水平となる状態から上下に45度ずつとしている。すなわち、ロボット100の視線が上向く角度(見上げ角)の限界値が45度とされ、視線が下向く角度(見下ろし角)の限界値も45度とされている。
 図4は、ロボットシステム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に送信する方式でもよい。
 図5は、感情マップ116の概念図である。
 感情マップ116は、サーバ200に格納されるデータテーブルである。ロボット100は、感情マップ116にしたがって行動選択する。感情マップ116は、ロボット100の場所に対する好悪感情の大きさを示す。感情マップ116のx軸とy軸は、二次元空間座標を示す。z軸は、好悪感情の大きさを示す。z値が正値のときにはその場所に対する好感が高く、z値が負値のときにはその場所を嫌悪していることを示す。
 感情マップ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)の回転数からロボット100の移動距離を算出して、現在位置を特定してもよいし、カメラから得られる画像に基づいて現在位置を特定してもよい。感情マップ116が与えられた場合、ロボット100は好意地点(座標P1)に引き寄せられる方向、嫌悪地点(座標P2)から離れる方向に移動する。
 感情マップ116は動的に変化する。ロボット100が座標P1に到達すると、座標P1におけるz値(好感情)は時間とともに低下する。これにより、ロボット100は好意地点(座標P1)に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標P2における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット100は新たな行動選択を行う。ロボット100は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
 感情マップ116は、ロボット100の内部状態として、感情の起伏を表現する。ロボット100は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット100の行動選択を人間的・生物的なものにできる。
 なお、ロボット100の行動に影響を与えるマップ(以下、「行動マップ」と総称する)は、図3に示したようなタイプの感情マップ116に限らない。例えば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのz値を重み付け平均することにより、ロボット100の目的地点を決定してもよい。
 ロボット100は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有してもよい。例えば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させてもよい。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
 図6は、ロボット100のハードウェア構成図である。
 ロボット100は、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。駆動機構120は、上述した車輪駆動機構370を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン電池などの二次電池であり、ロボット100の動力源である。
 内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ410(全天球カメラ400と高解像度カメラ402)、マイクロフォンアレイ404、温度センサ406、形状測定センサ408のほか、赤外線センサ、タッチセンサ、加速度センサ、ニオイセンサなどである。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。ニオイセンサは、さまざまな匂いを複数種類のカテゴリ(以下、「ニオイカテゴリ」とよぶ)に分類する。
 通信機126は、サーバ200や外部センサ114、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置124は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ122は、コンピュータプログラムの実行手段である。駆動機構120は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
 プロセッサ122は、通信機126を介してサーバ200や外部センサ114と通信しながら、ロボット100の行動選択を行う。内部センサ128により得られるさまざまな外部情報も行動選択に影響する。
 駆動機構120は、主として、車輪(前輪102)、頭部(頭部フレーム316)および胴部(手106)を制御する。駆動機構120は、2つの前輪102のそれぞれの回転速度や回転方向を変化させることにより、ロボット100の移動方向や移動速度を変化させる。また、駆動機構120は、車輪(前輪102および後輪103)を昇降させることもできる。車輪が上昇すると、車輪はボディ104に完全に収納され、ロボット100は着座面108にて床面に当接し、着座状態となる。
 駆動機構120がワイヤ134を介して手106を引っ張ることにより、手106を持ち上げることができる。手106を振動させることで手を振るような仕草も可能である。多数のワイヤ134を利用すればさらに複雑な仕草も表現可能である。
 図7は、ロボットシステム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のインタフェースとしても機能する。
 データ格納部206は、モーション格納部232、マップ格納部216および個人データ格納部218を含む。ロボット100は、複数の動作パターン(モーション)を有する。手を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
 モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、サーバ200で決定されることもあるし、ロボット100で決定されることもある。
 ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。例えば、ロボット100がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような4つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット100に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル(アクチュエータ制御情報)にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
 先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット100の行動制御にかかわる設定のことを「行動特性」と総称する。ロボット100の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
 マップ格納部216は、複数の行動マップを格納する。個人データ格納部218は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度やユーザの身体的特徴・行動的特徴など各種のパラメータを格納する。年齢や性別などの他の属性情報を格納してもよい。
 ロボット100はユーザの身体的特徴や行動的特徴に基づいてユーザを識別する。ロボット100は、内蔵のカメラで常時周辺を撮像する。そして、画像に写る人物の身体的特徴と行動的特徴を抽出する。身体的特徴とは、背の高さ、好んで着る服、メガネの有無、肌の色、髪の色、耳の大きさなど身体に付随する視覚的特徴であってもよいし、平均体温や匂い、声質、などその他の特徴も含めてもよい。行動的特徴とは、具体的には、ユーザが好む場所、動きの活発さ、喫煙の有無など行動に付随する特徴である。例えば、父親として識別されるオーナーは在宅しないことが多く、在宅時にはソファで動かないことが多いが、母親は台所にいることが多く、行動範囲が広い、といった行動上の特徴を抽出する。ロボット100は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
 ユーザIDでユーザを識別する方式は簡易かつ確実であるが、ユーザがユーザIDを提供可能な機器を保有していることが前提となる。一方、身体的特徴や行動的特徴によりユーザを識別する方法は画像認識処理負担が大きいものの携帯機器を保有していないユーザでも識別できるメリットがある。2つの方法は一方だけを採用してもよいし、補完的に2つの方法を併用してユーザ特定を行ってもよい。本実施形態においては、身体的特徴と行動的特徴からユーザをクラスタリングし、ディープラーニング(多層型のニューラルネットワーク)によってユーザを識別する。
 ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
 データ処理部202は、位置管理部208、マップ管理部210、認識部212、動作判断部222および親密度管理部220を含む。位置管理部208は、ロボット100の位置座標を、図4を用いて説明した方法にて特定する。位置管理部208はユーザの位置座標もリアルタイムで追跡してもよい。
 マップ管理部210は、複数の行動マップについて図5に関連して説明した方法にて各座標のパラメータを変化させる。マップ管理部210は、行動マップの一種である温度マップを管理する。
 マップ管理部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は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。認識部212は、更に、人物認識部214と応対認識部228を含む。人物認識部214は、ロボット100の内蔵カメラによる撮像画像から人物を認識し、その人物の身体的特徴や行動的特徴を抽出する。そして、個人データ格納部218に登録されている身体特徴情報や行動特徴情報に基づいて、撮像されたユーザ、すなわち、ロボット100が見ているユーザが、父親、母親、長男などのどの人物に該当するかを判定する。人物認識部214は、表情認識部230を含む。表情認識部230は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。なお、人物認識部214は、人物以外、例えば、ペットである猫や犬についても特徴抽出を行う。
 応対認識部228は、ロボット100になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部228は、また、ロボット100の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。例えば、抱っこされることはロボット100にとって快行為であり、蹴られることはロボット100にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。例えば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
 動作判断部222は、ロボット100の制御部150と協働して、ロボット100のモーションを決定する。動作判断部222は、マップ管理部210による行動マップ選択に基づいて、ロボット100の移動目標地点とそのための移動ルートを作成する。動作判断部222は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
 動作判断部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。例えば、オーナーから快行為がなされたときには、モーションAを20%の確率で実行する、気温が30度以上となったとき、モーションBを5%の確率で実行する、といった選択方法が定義される。行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。
 親密度管理部220は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
(ロボット100)
 ロボット100は、内部センサ128、通信部142、データ処理部136、データ格納部148および駆動機構120を含む。内部センサ128は、各種センサの集合体である。内部センサ128は、マイクロフォンアレイ404、カメラ410、温度センサ406および形状測定センサ408を含む。
 マイクロフォンアレイ404は、複数のマイクロフォンをつなぎ合わせたユニットであり、音を検出する音声センサである。マイクロフォンアレイ404は、音を検出し、音源の方向を検出可能なデバイスであればよい。マイクロフォンアレイ404は、頭部フレーム316に内蔵される。音源と各マイクロフォンの距離は一致しないため、集音タイミングにばらつきが生じる。このため、各マイクロフォンにおける音の強さと位相から音源の位置を特定できる。ロボット100は、マイクロフォンアレイ404により音源の位置、特に音源の方向を検出する。
 カメラ410は外部を撮影するデバイスである。カメラ410は、全天球カメラ400と高解像度カメラ402を含む。温度センサ406は、外部環境の温度分布を検出し、画像化する。形状測定センサ408は、プロジェクタから近赤外線を照射し、近赤外線カメラにて近赤外線の反射光を検出することにより、対象物体の深度、ひいては、凹凸形状を読み取る赤外線深度センサである。
 通信部142は、通信機126(図6参照)に該当し、外部センサ114およびサーバ200との通信処理を担当する。データ格納部148は各種データを格納する。データ格納部148は、記憶装置124(図6参照)に該当する。データ処理部136は、通信部142により取得されたデータおよびデータ格納部148に格納されているデータに基づいて各種処理を実行する。データ処理部136は、プロセッサ122およびプロセッサ122により実行されるコンピュータプログラムに該当する。データ処理部136は、通信部142、内部センサ128、駆動機構120およびデータ格納部148のインタフェースとしても機能する。
 データ格納部148は、ロボット100の各種モーションを定義するモーション格納部160を含む。モーション格納部160には、サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。前輪102を収容して着座する、手106を持ち上げる、2つの前輪102を逆回転させることで、あるいは、片方の前輪102だけを回転させることでロボット100を回転行動させる、前輪102を収納した状態で前輪102を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
 データ処理部136は、認識部156、制御部150およびセンサ制御部172を含む。制御部150は、移動制御部152および動作制御部154を含む。移動制御部152は、サーバ200の動作判断部222とともにロボット100の移動方向を決める。行動マップに基づく移動をサーバ200で決定し、障害物をよけるなどの即時的移動をロボット100で決定してもよい。駆動機構120は、移動制御部152の指示にしたがって前輪102を駆動することで、ロボット100を移動目標地点に向かわせる。
 動作制御部154は、サーバ200の動作判断部222と協働してロボット100のモーションを決める。一部のモーションについてはサーバ200で決定し、他のモーションについてはロボット100で決定してもよい。また、ロボット100がモーションを決定するが、ロボット100の処理負荷が高いときにはサーバ200がモーションを決定するとしてもよい。サーバ200においてベースとなるモーションを決定し、ロボット100において追加のモーションを決定してもよい。モーションの決定処理をサーバ200およびロボット100においてどのように分担するかはロボットシステム300の仕様に応じて設計すればよい。動作制御部154は選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
 動作制御部154は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部154の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100にさまざまなモーションを表現させる。
 センサ制御部172は、内部センサ128を制御する。具体的には、高解像度カメラ402、温度センサ406および形状測定センサ408の計測方向を制御する。頭部フレーム316の方向に合わせて、ロボット100の頭部に搭載される高解像度カメラ402、温度センサ406および形状測定センサ408の計測方向が変化する。センサ制御部172は、高解像度カメラ402の撮像方向を制御する(つまり、その撮像方向に合わせて頭部の動きを制御する)。センサ制御部172およびカメラ410が、「撮像部」として機能する。
 認識部156は、内部センサ128から得られた外部情報を解釈する。認識部156は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。認識部156は、カメラ410、温度センサ406および形状測定センサ408の検出情報を定期的に取得し、人やペットなどの移動物体を検出する。これらの情報はサーバ200に送信され、サーバ200の人物認識部214は移動物体の身体的特徴を抽出する。また、ユーザの匂いやユーザの声も検出する。匂いや音(声)は既知の方法にて複数種類に分類される。
 ロボット100に対する強い衝撃が与えられたとき、認識部156は内蔵の加速度センサによりこれを認識し、サーバ200の応対認識部228は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ112を掴んでロボット100を持ち上げるときにも、乱暴行為と認識してもよい。ロボット100に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ200の応対認識部228は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ104を持ち上げるときの物理的接触をセンシングしてもよいし、前輪102にかかる荷重が低下することにより抱っこを認識してもよい。
 サーバ200の応対認識部228は、ロボット100に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット100の行動選択に影響する。
 検出・分析・判定を含む一連の認識処理は、サーバ200の認識部212だけで行ってもよいし、ロボット100の認識部156だけで行ってもよいし、双方が役割分担をしながら上記認識処理を実行してもよい。
 認識部156により認識された応対行為に応じて、サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
 サーバ200の認識部212は、応対に応じて快・不快を判定し、マップ管理部210は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のz値を変化させてもよい。例えば、リビングにおいて快行為がなされたとき、マップ管理部210はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット100はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
 サーバ200の人物認識部214は、外部センサ114または内部センサ128から得られた各種データから移動物体を検出し、その特徴(身体的特徴と行動的特徴)を抽出する。そして、これらの特徴に基づいて複数の移動物体をクラスタ分析する。移動物体としては、人間だけでなく、犬や猫などのペットが分析対象となることがある。
 ロボット100は、定期的に画像撮影を行い、人物認識部214はそれらの画像から移動物体を認識し、移動物体の特徴を抽出する。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。例えば、画像に移動物体が写っているとき、ひげが生えている、早朝活動している、赤い服を着ている、香水の匂いがする、声が大きい、メガネをかけている、スカートを履いている、白髪である、背が高い、太っている、日焼けしている、ソファにいる、といったさまざまな特徴が抽出される。
 このような特徴抽出によるクラスタ分析が完了している状態において、ロボット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がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
 次に、ロボット100がユーザと自然な距離感を保つための制御について説明する。
 本実施形態のロボット100は、視野に入ったユーザの属性や親密度(選好性)に応じてそのユーザとの距離感を適度に保ち、生物的に自然な行動をエミュレートする。認識部156は「選好性判定部」としても機能する。また、その距離に応じて自然な角度でユーザの顔を見上げる仕草をとることにより、ユーザに愛着を感じさせる。以下、その詳細について説明する。
 図8は、ユーザとの距離を制御する方法を表す模式図である。
 ロボット100は、カメラ410の被写体からユーザ(対象物)を抽出してその画像を分析するとともに、対応するユーザ情報があればそれを参照し、ユーザとの距離が適切となるよう移動する。本実施形態におけるロボット100の身長(高さ)は、50センチメートル程度を想定している。この身長のロボット100がユーザの顔を視認するとき、必然的に頭部を傾けて見上げる状態になる。見上げる角度を大きくし、ユーザの顔を視認するためには、ロボット100はユーザに近づく必要があるし、見上げる角度を小さくすれば、ロボット100はユーザから離れる必要がある。見上げる角度を一定にして、その時のユーザの顔の視認状態を維持するようにロボット100の前進後退動作を制御することで、ユーザとの自然な距離感を維持しながら、ロボット100をユーザに追従させることができる。つまり、ロボット100とユーザとの明確な距離を測定しなくとも、自然な距離感を維持することができる。
 図8において、天球撮像範囲418は、全天球カメラ400による撮像範囲である。全天球カメラ400は、ロボット100の上方半球略全域を一度に撮像可能である。認識部156は、天球撮像範囲418のうち対象物414の方向を含む所定範囲である撮像領域420の画像(撮像画像)を分析する。なお、本実施形態では、被写体のうち、人間(ユーザ)や動物(ペット)のように対話やスキンシップの対象となる生物を「対象物」とよぶが、特に人間のみを対象物としてもよい。
 認識部156は、撮像領域420に所定の特徴を有する被写体が存在するか画像分析を行う。本実施形態では、撮像領域420から対象物414を画像認識する処理をロボット100の認識部156が実行する。変形例においては、その画像認識をサーバ200の認識部212が実行してもよいし、サーバ200の認識部212およびロボット100の認識部156の双方が実行してもよい。
 認識部156は、被写体からの対象物414の特定に際し、温度センサ406によりその被写体の周辺温度分布を計測し、その被写体が発熱体、特に、摂氏30~40度程度の発熱体であるか否かを判定する。認識部156は「温度判定部」としても機能する。人間やペットなどの恒温動物は発熱体であるため、この温度計測によりオーディオやテレビ、壁、鏡などを対象物414の候補から除外できる。
 認識部156は、さらに、形状測定センサ408により被写体の三次元形状を測定し、その被写体が所定の形状を有する物体であるか否かを判定する。例えば、認識部156は、被写体が凹凸形状を有するか否かを判定する。凹凸形状を有しないとき、被写体はテレビ、壁、鏡などの平面体であると考えられるため、これらを対象物414の候補から除外できる。より好ましくは、形状測定センサ408により、被写体の立体形状の特徴を検出することが望ましい。人間の顔や動物の顔の形状上の特徴(鼻の位置や口の形など)を認識できれば、オーディオやテレビなどの無生物を対象物414の候補からより確実に除外しやすい。個人データ格納部218には、形状測定センサ408により各クラスタの顔の特徴情報も格納される。このため、さらに好ましくは、形状測定センサ408により、対象物414が誰であるかを特定してもよい。
 このようにして温度センサ406および形状測定センサ408により対象物414の候補(「対象物候補」という)が特定されると、その対象物候補を高解像度カメラ402にて撮像する。このとき、画面中央にその対象物候補の全体が含まれるよう画角を調整する。既に述べたように、高解像度カメラ402の光軸は視線と一致する。このため、ロボット100の視線の方向に対象物候補が存在することとなる。認識部156は、その高解像度カメラ402の画像に基づき、その対象物候補が対象物414であることを特定する。
 例えば、2つの目と1つの口に相当する部分を有している、肌色である、動いている、服を着ているなど、生物に特有の身体的・行動的特徴を有する対象物候補が対象物414として認識される。そして、この対象物414の顔を特定するために、公知の顔認識技術が用いられる。この顔認識では、例えば対象物414の画像から顔のエッジ部分を検出して顔領域を特定し、その顔領域の画像に対して予め設定された特徴量のパターン(目、鼻、口の配置など)を対比する。この対比における類似度が基準値以上であれば、顔であると判定できる。対象物414が複数ある場合、複数の顔を特定する。
 認識部156は、このように対象物414を特定した後、さらに対象物414の高さと顔の大きさを特定する。具体的には、撮像画面から対象物414における特徴点を抽出し、その特徴点の高さを「対象物の高さ」として特定する。本実施形態では、顔の中心で前方に突き出る鼻を特徴点として抽出し、対象物414の高さを特定する。また、顔の輪郭を抽出し、その縦方向の長さを「顔の大きさ」として特定する。撮像画面において、顔として認識した領域(「顔領域」ともいう)の大きさ、つまり顔領域の面積が所定の範囲になるようにロボット100の前進後退動作を制御する。顔領域の面積を大きくすれば、対象物414との距離感は近くなり、顔領域の面積を小さくすれば対象物414との距離感は遠くなる。
 対象物414が複数あるときには、その高さおよび顔の大きさ情報に基づき、距離感の調整対象となる対象物414を特定する。対象物414が単数であるときは、これを調整対象とする。そして、調整対象となった対象物414の属性や親密度に応じて見上げ角を設定し、対象物414に対面したときにその見上げ角での視線上に対象物414の顔がくるよう、対象物414との距離(「対面距離」ともいう)を制御する。例えば、両親と子供が集合している状況で、子供にアプローチする場合、超音波センサーを使って子供との正確な距離を計測することは難しい。しかし、子供の顔を視認し、見上げ角を一定にした上で、子供の顔領域の面積が一定の範囲内に収まるように制御すれば、子供にあわせて距離感を調整できる。
 図9は、見上げ角の設定方法の一例を示す図である。
 ロボット100の視線の上下範囲(つまり頭部の可動範囲)は、水平方向(二点鎖線参照)に対して-45度~+45度(点線参照)とされている。生物のように、頭部の可動域で被写体を快適な視野角に入れる感覚を再現するものである。このため、ロボット100の見上げ角θ(水平方向に対する上向き角度)は、0~45度の範囲で調整される。見上げる仕草を自然に見せるため、基準値として30度(一点鎖線参照)が設定される。
 ロボット100にて認識される親密度が同じである場合、対象物414が大人であるか子供であるか、また男性であるか女性であるか等の属性に応じて対面距離dが異なる。すなわち、大人414m,414fよりも子供414cのほうが距離は近くなる。また、大人であれば、その身長に応じて距離が異なる。図示の例では、大人の男性414mとの距離dmよりも女性414fとの距離dfが近くなり、子供414cとの距離dcはさらに近くなっている。このように、大きいものからは離れ、小さいものには近づくという動物の本能的な距離感の調整を、見上げ角を一定にした状態で、顔領域の面積が所定の範囲内に収まるように前進後退制御をおこなうという画一的な処理で実現できる。
 仮にこの三人が横並びである場合(図8参照)、ロボット100は、高さの小さい子供414cとの距離dcを優先する。すなわち、移動制御部152は、子供414cとの距離dcとなるようロボット100を移動させる。このとき、ロボット100の仕草を自然に見せるために、ロボット100が子供414cに所定距離以内(例えば5m以内)に近づいたときに、頭部の駆動を開始して見上げ角θが徐々に設定値に近づくよう制御する。
 なお、ロボット100が対象物414に近づく速度は緩やかでよい。それにより、対面距離が設定されつつも、対象物414がロボット100に触れることができる。すなわち、ユーザの意向に応じたロボット100とのスキンシップが確保される。
 図10は、見上げ角の設定方法の他の例を示す図である。図10(a)は対象物が複数存在する場合を示し、図10(b)は親密度に応じた見上げ角の変化を示す。
 図10(a)に示すように、例えば子供414cの傍で父親414mがしゃがみ、ロボット100に呼びかけているような場合、親密表現をしている父親414mに応えるのが自然であり、共感が得られるものと考えられる。そこで、このように対象物414が複数存在する場合、特定された両者の高さの差Δhが基準値以下(例えば20cm以下に相当する画面上の高さ)であれば、顔が大きいほうの対象物414を距離制御の基準とする。図示の例では、移動制御部152は、ロボット100を父親414mに対して正対させ、見上げ角θが設定値(例えば30度)となる位置に移動させる。動作制御部154は、その移動の過程で見上げ角θが徐々にその設定値に近づくように頭部を駆動する。「高さの差Δh」および「基準値」は、画像処理におけるピクセル数で設定してもよい。
 見上げ角θは、対象物414の親密度に応じて可変とされる。すなわち、対象物414の親密度が以前よりも高くなった場合、図10(b)に示すように、見上げ角θが以前の角度(例えば30度:細い一点鎖線参照)よりも大きな角度(例えば40度:太い一点鎖線参照)となるように設定変更される。その結果、ロボット100と対象物414との距離がd1からd2へと小さくなる。それにより、ペットが飼い主に慣れて距離感を縮めるのと同様、ロボット100が対象物414に対して以前よりも好意をもっていることを表現できる。
 図11は、見上げ角を決定する際に参照される設定テーブルを表す図である。
 この設定テーブルは、見上げ角と親密度との対応関係が定義されたデータテーブルである。図示の例では、標準的な親密度(「標準親密度」という)を21以上40以下とし、それに対応する見上げ角θを30度としている。対象物414の親密度がその標準親密度よりも高くなると、見上げ角θは30度よりも大きくなる。このとき、ロボット100は以前よりも対象物414に近づいて見つめる仕草をする。それにより、ロボット100が対象物414に対して以前よりも好意をもっていることを表現できる。
 逆に、対象物414の親密度がその標準親密度よりも低くなると、見上げ角θは30度よりも小さくなる。このとき、ロボット100は以前よりも対象物414から遠ざかって見つめる仕草をする。それにより、対象物414の愛情不足に対する不満や警戒心を表現できる。このように、親密度に応じて距離感を変化させることにより、ロボット100の行動選択を人間的・生物的なものにできる。
 図12は、ロボット100の動作制御を例示するフローチャートである。
 本図の処理は、所定の制御周期にて繰り返し実行される。以下、対象物414がユーザである場合を例に説明する。
 内部センサ128は、定期的にロボット100の周囲を撮像し、周辺温度を計測する。全天球カメラ400により被写体が捉えられると、認識部156は、温度センサ406および形状測定センサ408の検出情報に基づいてその被写体がユーザであるか否かを判定する。その被写体がユーザであった場合(S10のY)、認識部156は、高解像度カメラ402によりユーザの顔を認識し、これを追尾する(S12)。
 認識部156は、高解像度カメラ402の画像に基づき、ユーザの高さhを判定し(S14)、またそのユーザの顔の大きさを判定する(S16)。ユーザが複数存在する場合(S18のY)、その複数のユーザの高さの差Δhが基準値以内でなければ(S20のN)、距離調整の対象として低い方のユーザを設定する(S22)。一方、高さの差Δhが基準値以内であれば(S20のY)、顔が大きい方のユーザを設定する(S24)。ユーザが一人である場合(S18のN)、S20~S24の処理をスキップする。このとき設定されたユーザを「設定ユーザ」ともよぶ。
 認識部156は、設定ユーザの情報を取得し、その親密度を判定する(S26)。設定ユーザの情報がなければ、親密度を標準親密度として仮判定する。そして、その親密度を用いて設定テーブル(図11)を参照し、見上げ角θを設定する(S28)。
 移動制御部152は、ロボット100を設定ユーザに正対させ(S30)、その設定ユーザの方向へ移動させる(S32)。このとき、動作制御部154は、その移動の過程で見上げ角θが徐々にその設定値に近づくように頭部を駆動する。なお、ユーザがその見上げ角θに相当する距離よりもロボット100に接近している場合、移動制御部152は、その距離となるようロボット100を設定ユーザから遠ざける。ユーザを検出しない場合(S10のN)、S12~S32の処理をスキップして一旦処理を終了する。
 以上、実施形態に基づいてロボット100およびロボット100を含むロボットシステム300について説明した。本実施形態によれば、ロボット100が、ユーザの高さや顔の大きさに応じてそのユーザとの距離感を制御する。大きい人とは距離をとり、小さい人とは距離を近づける。このような動作により、ユーザからみてロボット100との自然な距離感を保つことができる。この距離感は見上げ角の設定によるものであり、ロボット100は自然な角度でユーザに眼差しを向ける。そのため、ユーザに心地よさを感じさせることもできる。
 このように見上げ角が一定(設定値)となるように制御するため、ユーザがしゃがんでロボット100との触れ合いを求めると、ロボット100はそのユーザに近づく行為をとる。このため、ロボット100に近寄ってほしいというユーザの気持ちに素直に応えることができる。
 また、その見上げ角が親密度の高低に応じて変化する。親密度が高くなると、見上げ角は大きくなる方向に変化する。それにより、ロボット100がユーザに対してスキンシップを求めるような仕草も表現できる。逆に、親密度が低くなると、見上げ角は小さくなる方向に変化する。それにより、ロボット100がユーザに対して警戒感を示す、あるいは人見知りをするなどの仕草も表現できる。
 例えばペット等の動物と人との関係を想定した場合、人が立っているときには動物とある程度の距離感を保つのが自然である。動物が人に接近してじゃれ付くのは、よほど好意があるときである。本実施形態によれば、親密度に応じてロボット100の見上げ角を制御することにより、このような生物的に自然な行動(感覚的でシンプルな行動)をエミュレートできる。
 なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
 1つのロボット100と1つのサーバ200、複数の外部センサ114によりロボットシステム300が構成されるとして説明したが、ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部がロボット100に割り当てられてもよい。1つのサーバ200が複数のロボット100をコントロールしてもよいし、複数のサーバ200が協働して1以上のロボット100をコントロールしてもよい。
 ロボット100やサーバ200以外の第3の装置が、機能の一部を担ってもよい。図7において説明したロボット100の各機能とサーバ200の各機能の集合体は大局的には1つの「ロボット」として把握することも可能である。1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム300に求められる仕様等に鑑みて決定されればよい。
 上述したように、「狭義におけるロボット」とはサーバ200を含まないロボット100のことであるが、「広義におけるロボット」はロボットシステム300のことである。サーバ200の機能の多くは、将来的にはロボット100に統合されていく可能性も考えられる。
 上記実施形態では、カメラ410として、全天球カメラ400と高解像度カメラ402を含む構成を例示した。変形例においては、コスト低減等のため、高解像度カメラ402を省略してもよい。すなわち、全天球カメラ400による天球撮像範囲418の一部として、対象物414を含む撮像画面を切り出してもよい。ただし、対象物414(ユーザ)の顔認識を高精度に維持するためには、上記実施形態のように、高解像度カメラ402を併用するのが好ましい。上記本実施形態では、高解像度カメラ402の光軸とロボット100の視線とを一致させているため、見上げ角の調整は光軸方向の調整にもなり、制御がシンプルになる。
 あるいは逆に、全天球カメラ400を省略し、高解像度カメラ402によって対象物414を特定してもよい。ただしその場合、頭部を常時駆動して周囲を撮像する必要がある。また、高解像度カメラ402の撮像視野に対象物414が入った途端に追尾を開始するようになり、ロボット100の動作がぎこちないものとなりやすい。この点、全天球カメラ400によれば、カメラ自体を動かさなくとも、対象物414の検出が容易である。このため、上記実施形態のように、全天球カメラ400と高解像度カメラ402とを併用するのが好ましい。
 本実施形態では、対象物414をカメラ410,温度センサ406および形状測定センサ408によりセンシングし、ロボット100の認識部156により認識処理を実行している。変形例においては、認識処理の一部または全部がサーバ200の認識部212により実行されてもよい。また、内部センサ128の機能の一部は外部センサ114に搭載されてもよい。例えば、外部センサ114にカメラ410を搭載し、外部センサ114の画像情報をサーバ200にて分析し、その分析結果に基づいてロボット100が対象物414の位置を特定する実装も可能である。
 上記実施形態では、全天球カメラ400をツノ112に設け、ロボット100の頭部と一体に動く構成とした。変形例においては、全天球カメラ400を頭部と独立した部位(視線の動きに左右されない位置)に設けてもよい。例えば、全天球カメラ400をベースプレート328に固定し、頭部の上方に突き出る構成としてもよい。それにより、全天球カメラ400による画像を頭部の動きと切り離すことができ、対象物414の位置を特定するための演算処理がシンプルになり、その処理負荷を低減できる。
 本実施形態では述べなかったが、対象物414の認識のためにマイクロフォンアレイ404を併用してもよい。マイクロフォンアレイ404により対象物414を検出し、対象物414への方向を特定してもよい。また、マイクロフォンアレイ404をロボット100に装着する代わりにロボット100の複数箇所にマイクロフォンを配置してもよい。
 上記実施形態では、ロボット100が対象物414に正対して距離感を調整する(主に近づける)例を示した。変形例においては、ロボット100が対象物414から離れる場合に、同様の距離感が得られるよう制御してもよい。例えば、ロボット100が対象物414に追いかけられた際に、その対象物414の高さに応じた距離を保ちつつ逃げるよう制御してもよい。その場合、ロボット100は対象物414に対して背を向けることとなるが、全天球カメラ400の画像を用いて距離を制御することができる。あるいは、ロボット100の背後から対象物414が接近することを全天球カメラ400により検出し、ロボット100を対象物414に正対させるように向き直す制御を実行してもよい。そして、その対象物414の親密度に応じてロボット100に後ずさりをさせるなどの制御を実行してもよい。
 その場合、ロボット100の視線は基本的に対象物414の反対側を向くこととなるが、制御アルゴリズムをシンプルにするために、後頭部に顔があると仮定した「仮想の見上げ角」を演算上設定してもよい。それにより、ユーザと正対したときと同様の設定テーブルを使用することが可能となる。このような制御は、全天球カメラ400の撮像画面を切り出すことで容易に実現できる。
 上記実施形態では、対象物414の高さに応じて距離を調整する例を示した。変形例においては、対象物414の幅を含む大きさに応じて距離を制御してもよい。体の大きさは、身長のみならず、幅方向のボリュームからも感じ取れることを考慮する。体の大きなユーザとは相対的に距離を大きくとり、体の小さなユーザには相対的に近づくよう制御する。このような動作は、概ね生物的動作に合致したものとなる。
 上記実施形態では、対象物414の鼻を特徴点として抽出し、その鼻の高さを対象物414の高さとして特定した。変形例においては、その他の特徴点を設定して対象物414の高さを特定してもよい。例えば、対象物414の頭部(顔)の輪郭を特定し、その頭頂部の高さを対象物414の高さとしてもよい。また、上記実施形態では、顔の輪郭を抽出し、その縦方向の長さを「顔の大きさ」として特定した。変形例においては、例えば顔の輪郭から算出される顔の面積を「顔の大きさ」として特定してもよい。
 上記実施形態では、カメラの撮像領域に入る対象物414が複数存在する場合として、親子がほぼ同位置にいる例を示したが、複数の対象物が互いに離れているときのように遠近感を考慮すべき場合にも、同様の制御を行うことができる。例えばロボット100の近くにユーザC、遠くにユーザDがいる場合、撮像画面上においてユーザCのほうが高く、顔も大きくなる。このため、近いほうのユーザに対して距離制御を実行する。生物的動作を考慮しても、自身に近いものに反応するのが自然であり、理にかなっている。
 上記実施形態では、ロボット100が対象物414に接近する際、所定距離以内に近づいたときに頭部の駆動を開始し、見上げ角を徐々に設定値に近づける例を示した。変形例においては、ロボット100の見上げ角を基本的に固定し、その見上げ角のまま対象物414に接近させてもよい。そして、対象物414の全身が高解像度カメラ402の画角(視野角)に入ったときに、ロボット100を停止させてもよい。このような構成により、ロボット100の頭部を動かす頻度を下げることができ、制御負荷が低減される。
 上記実施形態では、ロボット100の見上げ角θが一定となるよう対象物414との距離を制御した。具体的には、ロボット100が対象物414に対して所定距離以内に近づいたときに頭部の駆動を開始し、見上げ角を徐々に設定値に近づけつつ、ロボット100そのものが対象物414に徐々に近づき、見上げ角が設定値となったときに停止するようにした。したがって、具体的に距離を測ってロボット100の移動を制御してはいない。変形例においては、ロボット100が被写体までの距離を検出する測距センサを備えてもよい。そして、見上げ角が設定値となるときの対象物414との距離(設定距離)を演算し、その設定距離が満たされるようロボット100を移動させてもよい。その際、測距センサの検出情報を逐次取得し、設定距離となる手前から頭部を駆動して414を見上げる動作を開始してもよい。そして、設定距離となったタイミングで見上げ角が設定値となるように制御してもよい。
 上記実施形態では、対象物414をユーザ(人間)としたが、犬や猫などの動物を含めてもよい。それにより、ロボット100が動物と適度な距離で対面するような演出を表現できる。
 上記実施形態では述べなかったが、ロボット100が見上げ動作をする場合、カメラの撮像状態が逆光状態となることが多い。このため、逆光状態でもロボット100が対象物414を正確に認識できるよう、撮像画像に対して補正処理を行ってもよい。具体的には、撮像画像の全体を明るくするよう露出補正してもよい。あるいは、撮像画像の明るい箇所を除いて露出を上げる(明るくする)補正をしてもよい。対象物414の特徴部分(顔など)を中心に露出を上げてもよい。HDR(High-dynamic-range rendering)による補正を行ってもよい。認識部156は、このような補正後の画像に基づいて対象物414の特徴を抽出するなど、上述した認識処理を行ってもよい。その撮像画像がユーザに提供されるものではなく、ロボット100の内部処理(画像認識)に用いられるものであるため、対象物414と無関係の画像部分についての「色飛び」や「色潰れ」は特に問題とならない。
 上記実施形態では、全天球カメラ400を例示したが、これに代わり、半天球カメラを採用してもよい。あるいは、全天球カメラ400の上天球のみを撮像対象としてもよい。ただし、これらの天球カメラは、一般にその撮像画像(天球画像)の歪みが大きいため、認識部156は、その天球画像の歪みを小さくするよう補正した後、画像認識を行うことが好ましい。
 ロボットの見上げ角を一定にして対象物との距離を保つ場合、画面上の対象物の特定部位(顔や特徴点)の位置および大きさが維持されるようにロボットの前進および後進を制御する。ここで、「見上げ角」は、ピッチ軸の回転角度(「ピッチ角」ともいう)に対応する。カメラによる上下方向(見上げ/見下ろし方向)の撮像範囲は、ピッチ角の調整により変化させることができる。すなわち、ロボットの見上げ角を一定にしつつ対象物との距離を制御する場合、ピッチ角を一定にした状態で画面に映りこむ対象物の特定部位が画面上の設定領域(設定位置および設定範囲)に維持されるようにロボットを移動制御すればよい。

Claims (10)

  1.  周囲を撮像する撮像部と、
     撮像された対象物の大きさに応じて前記対象物との距離を制御する移動制御部と、
     を備えることを特徴とする自律行動型ロボット。
  2.  頭部の動作を制御する動作制御部と、
     撮像された対象物の顔を認識する認識部と、
     をさらに備え、
     前記動作制御部は、前記頭部が前記対象物の顔を見上げる角度となるよう、前記頭部の動作を制御し、
     前記移動制御部は、前記対象物の高さに応じて前記対象物との距離を制御することを特徴とする請求項1に記載の自律行動型ロボット。
  3.  前記移動制御部は、前記頭部の見上げ角が予め設定した角度範囲に収まるよう、前記対象物との距離を制御することを特徴とする請求項2に記載の自律行動型ロボット。
  4.  撮像画面に複数の対象物が存在する場合、
     前記移動制御部は、低いほうの対象物の高さに応じて前記対象物との距離を制御することを特徴とする請求項2または3に記載の自律行動型ロボット。
  5.  撮像画面に複数の対象物が存在する場合、
     前記移動制御部は、顔が大きいほうの対象物の高さに応じて前記対象物との距離を制御することを特徴とする請求項2または3に記載の自律行動型ロボット。
  6.  前記移動制御部は、距離制御の基準となった対象物に正対するように制御することを特徴とする請求項4または5に記載の自律行動型ロボット。
  7.  前記撮像部が、周辺の略全域を撮像可能なカメラを含み、
     前記カメラが前記頭部の視線の動きに左右されない位置に設けられていることを特徴とする請求項2~6のいずれかに記載の自律行動型ロボット。
  8.  対象物に対する選好性を判定する選好性判定部をさらに備え、
     前記移動制御部は、前記対象物の選好性に応じて前記対象物の大きさと制御対象である距離との対応関係を変更することを特徴とする請求項1~7のいずれかに記載の自律行動型ロボット。
  9.  対象物の温度を判定する温度判定部をさらに備え、
     前記移動制御部は、前記対象物の温度に基づいて距離制御の対象であることを判定することを特徴とする請求項1~8のいずれかに記載の自律行動型ロボット。
  10.  ロボットの周囲の撮像画像を取得する機能と、
     前記撮像画像において所定の対象物を特定する機能と、
     撮像された対象物の大きさに応じて、前記ロボットと前記対象物とがとるべき位置関係を演算する機能と、
     演算された位置関係を実現するように前記ロボットの移動を制御する機能と、
     をコンピュータに実現させるためのプログラム。
PCT/JP2017/031890 2016-09-08 2017-09-05 自然な距離感を保つ自律行動型ロボット WO2018047802A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018538413A JP6472113B2 (ja) 2016-09-08 2017-09-05 自然な距離感を保つ自律行動型ロボットおよびプログラム
CN201780054987.7A CN109690435A (zh) 2016-09-08 2017-09-05 保持自然的距离感的行为自主型机器人
GB1902513.9A GB2570584B (en) 2016-09-08 2017-09-05 Autonomously acting robot that maintains a natural distance
DE112017004512.6T DE112017004512T5 (de) 2016-09-08 2017-09-05 Autonom agierender Roboter, der einen natürlichen Abstand hält
US16/283,818 US11148294B2 (en) 2016-09-08 2019-02-25 Autonomously acting robot that maintains a natural distance

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016175163 2016-09-08
JP2016-175163 2016-09-08

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/283,818 Continuation US11148294B2 (en) 2016-09-08 2019-02-25 Autonomously acting robot that maintains a natural distance

Publications (1)

Publication Number Publication Date
WO2018047802A1 true WO2018047802A1 (ja) 2018-03-15

Family

ID=61562098

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/031890 WO2018047802A1 (ja) 2016-09-08 2017-09-05 自然な距離感を保つ自律行動型ロボット

Country Status (6)

Country Link
US (1) US11148294B2 (ja)
JP (2) JP6472113B2 (ja)
CN (1) CN109690435A (ja)
DE (1) DE112017004512T5 (ja)
GB (1) GB2570584B (ja)
WO (1) WO2018047802A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020022122A1 (ja) * 2018-07-27 2020-01-30 ソニー株式会社 情報処理装置、行動決定方法及びプログラム
JP7320240B2 (ja) 2019-04-01 2023-08-03 国立大学法人豊橋技術科学大学 ロボット

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489638B2 (en) * 2016-11-09 2019-11-26 Nanjing Avatarmind Robot Technology Co., Ltd. Visual tracking method and robot based on monocular gesture recognition
NL2022442B1 (nl) * 2019-01-24 2020-01-07 Lely Patent Nv Positiebepalingsinrichting
US11883963B2 (en) * 2019-06-03 2024-01-30 Cushybots Corporation Robotic platform for interactive play using a telepresence robot surrogate
CN110757477A (zh) * 2019-10-31 2020-02-07 昆山市工研院智能制造技术有限公司 一种陪护机器人的高度方位自适应调整方法及陪护机器人
CN111300437B (zh) * 2019-12-06 2022-01-04 西南石油大学 一种图书馆图书智能收集存储集运机器人
US11806881B1 (en) * 2020-06-09 2023-11-07 Multimedia Led, Inc. Artificial intelligence system for automatic tracking and behavior control of animatronic characters
WO2022138474A1 (ja) * 2020-12-23 2022-06-30 パナソニックIpマネジメント株式会社 ロボット制御方法、ロボット、プログラム、及び記録媒体
US11297247B1 (en) * 2021-05-03 2022-04-05 X Development Llc Automated camera positioning for feeding behavior monitoring
WO2022259595A1 (ja) * 2021-06-10 2022-12-15 ソニーグループ株式会社 介護ロボット
CN114489133B (zh) * 2022-01-26 2023-12-26 深圳市奥拓电子股份有限公司 一种无人机自动校正led显示屏的距离保持方法
WO2024004623A1 (ja) * 2022-06-29 2024-01-04 ソニーグループ株式会社 ロボット及びロボットの制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036710A (ja) * 1989-06-05 1991-01-14 Toshiba Corp 追随移動ロボット制御装置
WO2000067959A1 (fr) * 1999-05-10 2000-11-16 Sony Corporation Dispositif robotique et procede de commande associe
JP2003275976A (ja) * 2002-03-22 2003-09-30 Matsushita Electric Ind Co Ltd 移動作業ロボット
JP2004230480A (ja) * 2003-01-28 2004-08-19 Sony Corp ロボット装置およびロボット制御方法、記録媒体、並びにプログラム
JP2011054082A (ja) * 2009-09-04 2011-03-17 Hitachi Ltd 自律移動装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6367959A (ja) 1986-09-10 1988-03-26 Mitsubishi Electric Corp プリンタ制御装置
JP2000323219A (ja) 1999-05-10 2000-11-24 Sony Corp 接続装置及びロボットシステム
JP4689107B2 (ja) * 2001-08-22 2011-05-25 本田技研工業株式会社 自律行動ロボット
JP2003205482A (ja) * 2002-01-08 2003-07-22 Fuji Photo Film Co Ltd ペット型ロボット
WO2007041295A2 (en) * 2005-09-30 2007-04-12 Irobot Corporation Companion robot for personal interaction
ES2358139B1 (es) * 2009-10-21 2012-02-09 Thecorpora, S.L. Robot social.
CN102134022B (zh) * 2011-03-31 2013-09-25 浙江天下实业有限公司 紧急自锁宠物牵引器
US9517559B2 (en) * 2013-09-27 2016-12-13 Honda Motor Co., Ltd. Robot control system, robot control method and output control method
CN106096373A (zh) * 2016-06-27 2016-11-09 旗瀚科技股份有限公司 机器人与用户的交互方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036710A (ja) * 1989-06-05 1991-01-14 Toshiba Corp 追随移動ロボット制御装置
WO2000067959A1 (fr) * 1999-05-10 2000-11-16 Sony Corporation Dispositif robotique et procede de commande associe
JP2003275976A (ja) * 2002-03-22 2003-09-30 Matsushita Electric Ind Co Ltd 移動作業ロボット
JP2004230480A (ja) * 2003-01-28 2004-08-19 Sony Corp ロボット装置およびロボット制御方法、記録媒体、並びにプログラム
JP2011054082A (ja) * 2009-09-04 2011-03-17 Hitachi Ltd 自律移動装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020022122A1 (ja) * 2018-07-27 2020-01-30 ソニー株式会社 情報処理装置、行動決定方法及びプログラム
US11986959B2 (en) 2018-07-27 2024-05-21 Sony Corporation Information processing device, action decision method and program
JP7320240B2 (ja) 2019-04-01 2023-08-03 国立大学法人豊橋技術科学大学 ロボット

Also Published As

Publication number Publication date
GB2570584B (en) 2021-12-08
GB201902513D0 (en) 2019-04-10
GB2570584A (en) 2019-07-31
JP2019089197A (ja) 2019-06-13
CN109690435A (zh) 2019-04-26
US20190184572A1 (en) 2019-06-20
JPWO2018047802A1 (ja) 2018-10-18
DE112017004512T5 (de) 2019-06-13
US11148294B2 (en) 2021-10-19
JP6472113B2 (ja) 2019-02-20

Similar Documents

Publication Publication Date Title
WO2018047802A1 (ja) 自然な距離感を保つ自律行動型ロボット
JP7068709B2 (ja) 瞳を変化させる自律行動型ロボット
JP7320239B2 (ja) 音源の方向を認識するロボット
CN109414623B (zh) 行为自主型机器人
JP7177497B2 (ja) 相手を見つめる自律行動型ロボット
JP6884401B2 (ja) 服を着る自律行動型ロボット
JP6671577B2 (ja) 人を識別する自律行動型ロボット
JP7236142B2 (ja) 自律行動型ロボット
JP7055402B2 (ja) ゲストを受け入れる自律行動型ロボット
WO2018181640A1 (ja) ロボットの関節に好適なジョイント構造

Legal Events

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

Ref document number: 2018538413

Country of ref document: JP

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

Ref document number: 17848742

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 201902513

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20170905

122 Ep: pct application non-entry in european phase

Ref document number: 17848742

Country of ref document: EP

Kind code of ref document: A1