This invention relates to a robot device which acts naturally like a living body, a control method for a robot device, and a program recording medium.
Conventionally, there have been developed robot devices in the shape of a multi-limb living animal, such as a dog or a cat. Such conventionally proposed robot devices are programmed simply to keep doing predetermined works or can only behave in accordance with a simple sequence.
In some portable terminals, virtual pets having emotion models are provided. However, such virtual pets cannot live in the actual world and, therefore, lack reality and a sense of living.
In view of the foregoing status of the art, it is an object of the present invention to provide a robot device which can act with reality and a sense of living in the actual world, a control method for a robot device, and a program recording medium.
A robot device according to the present invention includes: an emotion module in which a plurality of emotion units representing various emotions affect one another to output an emotion; and, action means for acting on the basis of the emotion outputted by the emotion module.
This robot device behaves naturally, like a living body having reality and a sense of living, on the basis of the output of the emotion module including a plurality of emotion units.
A control method for a robot device according to the present invention includes: an emotion-output step of outputting an emotion as a plurality of emotion units representing various emotions that affect one another; and an action-control step of controlling the action of the robot device on the basis of the emotion outputted at the emotion-output step.
In this control method for a robot device, a robot device which behaves naturally like a living body having reality and a sense of living is controlled on the basis of the output at the emotion-output step using a plurality of emotion units.
A program recording medium according to the present invention has recorded therein a program for carrying out: an emotion-output step of outputting an emotion as a plurality of emotion units representing various emotions that affect one another; and an action-control step of controlling the action of the robot device on the basis of the emotion outputted at the emotion-output step.
In this program recording medium, a robot device which behaves naturally, like a living body having reality and a sense of living, is controlled on the basis of the output at the emotion-output step using a plurality of emotion units.
Also, a robot device according to the present invention includes: an instinct module in which a plurality of instinct units representing various instincts output individual instincts; and an action means for acting on the basis of the instinct outputted by the instinct module.
This robot device behaves naturally, like a living body having reality and a sense of living, on the basis of the output of the instinct module including a plurality of instinct units.
A control method for a robot device according to the present invention includes: an instinct output step of outputting an instinct as a plurality of instinct units representing various instincts that affect one another; and an action-control step of controlling the action of the robot device on the basis of the instinct outputted at the instinct output step.
In this control method for a robot device, a robot device which behaves naturally, like a living body having reality and a sense of living, is controlled on the basis of the output at the instinct output step using a plurality of instinct units.
A program recording medium according to the present invention has recorded therein a program for carrying out: an instinct output step of outputting an instinct as a plurality of instinct units representing various instincts that affect one another; and an action-control step of controlling the action of the robot device on the basis of the instinct outputted at the instinct output step.
In this program recording medium, a robot device which behaves naturally like a living body having reality and a sense of living is controlled on the basis of the output at the instinct output step using a plurality of instinct units.
Also, a robot device according to the present invention includes: an emotion module in which a plurality of emotion units representing emotions output individual emotions; an instinct module in which a plurality of instinct units representing instincts output individual instincts; and, an action means for acting on the basis of the emotion outputted by the emotion module and the instinct outputted by the instinct module.
This robot device behaves naturally, like a living body having reality and a sense of living, on the basis of the output of the emotion module including a plurality of emotion units and the output of the instinct module including a plurality of instinct units.
A control method for a robot device according to the present invention includes: an emotion-output step of outputting individual emotions by a plurality of emotion units representing emotions; an instinct output step of outputting individual instincts by a plurality of instinct units representing instincts; and an action-control step of controlling the action of the robot device on the basis of the emotion outputted at the emotion-output step and the instinct outputted at the instinct output step.
In this control method for a robot device, a robot device which behaves naturally, like a living body having reality and a sense of living, is controlled on the basis of the output at the emotion-output step using a plurality of emotion units and the output at the instinct output step using a plurality of instinct units.
A program recording medium according to the present invention has recorded therein a program for carrying out: an emotion-output step of outputting individual emotions by a plurality of emotion units representing emotions; an instinct output step of outputting individual instincts by a plurality of instinct units representing instincts; and, an action-control step of controlling the action of the robot device on the basis of the emotion outputted at the emotion-output step and the instinct outputted at the instinct output step.
In this program recording medium, a robot device which behaves naturally, like a living body having reality and a sense of living is controlled on the basis of the output at the emotion-output step using a plurality of emotion units and the output at the instinct output step using a plurality of instinct units.
A preferred embodiment of the present invention will now be described in detail with reference to the drawings.
The present invention is applied to a robot device 1 having the structure as shown in
The robot device 1 includes a central processing unit (hereinafter referred to as CPU) 11 for controlling the entire system, a video camera 12 having a CCD (charge coupled device) image sensor, a storage section 13 for storing video data from the video camera 12, and a large-scale integrated circuit (hereinafter referred to as LSI) 14 which collectively includes a host controller of a serial bus and the like.
The LSI 14 has a communication section 14a constituted by an interface for serial communication, parallel communication or USB communication, and is connected to an external personal computer 100 via the communication section 14a. In this case, the personal computer 100 can change a program for causing the CPU 11 to operate or can manipulate the CPU 11 via the LSI 14.
The LSI 14 has a PC card interface 15 and is thus connected to various devices of the PC card standard, for example, a storage device 200, such as an ATA (advanced technology attachment) flash memory card, and a communication device 300, such as a radio communication card.
In the storage device 200, various parameters for controlling the emotion level of emotion units and the instinct level of instinct units are stored. Specifically, an emotion parameter, an input action parameter, an attenuation parameter, an interaction parameter and the like, which are elements for changing and controlling the emotion level of the emotion units are stored. Also, an instinct parameter, an input action parameter, an increase parameter and the like, which are elements for changing and controlling the instinct level of the instinct units are stored. At the time of execution, these parameters are read out and used from the storage device 200.
The LSI 14 has a timer, not shown, for obtaining real-time information, and a battery manager, not shown, for managing the remaining quantity of the battery and carrying out control in cooperation with the timer so as to turn on the power at a certain time point.
The robot device 1 also has first to fourth CPC (configurable physical component) devices 20, 30, 40 and 40, which constitute limbs, ears and mouth. Each CPC device is connected to a serial bus hub (SBH) 14b in the LSI 14. While the four CPC devices are shown in this embodiment, it is a matter of course that the number of CPC devices is not particularly limited.
The first CPC device 20 has a hub 21 for controlling each circuit within the device in response to a control command from the LSI 14, a memory 22 for temporarily storing a control signal and a detection signal, an acceleration sensor 23 for detecting the acceleration, a potentiometer 24, and an actuator 25 which serves as a junction or the like. The acceleration sensor 23 detects the acceleration in three axial directions by several ten milliseconds and supplies the results of detection to the CPU 11 via the hub 21 and the serial bus hub 14b.
The second CPC device 30 has a hub 31, a memory 32, a rotation angular velocity sensor 33 made up of a gyro sensor for detecting the rotation angular velocity, a potentiometer 34, and an actuator 35. The rotation angular velocity 33 detects the rotation angular velocity in three angular directions by several ten milliseconds and supplies the results of detection to the LSI 14 via the hub 31 and the serial bus hub 14b.
The third CPC device 40 has a hub 41, a memory 42, a light-emitting diode (LED) 43 for emitting a light to indicate the reception of an external stimulus, and a touch sensor 44 for detecting whether the exterior is touched or not.
The fourth CPC device 50 has a hub 51, a memory 52, a speaker 53 which serves as a “mouth” for outputting a sound to the outside, and a microphone 54 which serves as an “ear” for detecting an external sound.
The appearance of the robot device 1 is the shape of a multi-limb walking robot. Specifically, the robot device 1 is a multi-joint robot of a multi-limb walking type and is in the shape of an animal having four limbs. However, the robot device is not limited to this. For example, a multi-joint robot of a two-limb walking type may also be used.
The acceleration sensor 23 detects the acceleration with respect to the directions of the X-axis, the Y-axis and the Z-axis. The rotation angular velocity sensor 33 detects the rotation angular velocity with respect to angle R, angle P and angle Y for rotations about the X-axis, the Y-axis and the Z-axis as rotation axes.
A program for controlling the robot device 1 is designed in a hierarchical configuration, as shown in
The system software layer includes a device driver for directly controlling the device and a server object for providing a service to objects of upper layers.
The middleware layer includes a recognition object for processing sensor information such as image, sound and touch, a motion control object for controlling the motion of the robot, such as walking and posture, and an action production object for moving the limbs, head and tail to express actions.
The application layer includes a learning object for learning, an emotion/instinct model object for handling emotions and instincts, a behavior-production object for determining the behavior, and a scenario object for characterizing the entire robot device.
The emotion/instinct model object includes an emotion module and an instinct module.
The emotion module handles a plurality of types of emotion units as data. An emotion unit is constituted by a current level of emotion (hereinafter referred to as emotion level), a minimum emotion level, a maximum emotion level, and a threshold value as a reference for notification of the emotion. The emotion units are prepared corresponding to the types of emotions to be handled, including emotions such as delight, grief, anger, horror, surprise and hatred. The emotion level of each of these emotions is first initialized by the value of an emotion parameter and then is varied in accordance with external information from the recognition object or the like and with the lapse of time.
The respective emotion units have such a nature as to affect one another by mutually enhancing or lowering the emotion levels. For example, when the emotion unit of grief has a high emotion level, the emotion unit of anger also has a high emotion level. When the emotion unit of delight has a high emotion level, the emotion units of anger and hatred have low emotion levels. The above-described emotion units are only typical examples, and this invention is not limited to these examples.
The instinct module handles instinct units as data, similarly to the emotion module.
An instinct unit is constituted by a current level of instinct (hereinafter referred to as instinct level), a minimum instinct level, a maximum instinct level, and a threshold value as a reference for notification of the instinct. The instinct units are prepared corresponding to the types of instincts to be handled, including instinctive desires, such as a desire to eat, desire to exercise, desire to rest, desire for affection, desire to learn and sexual desire. The instinct level of each of these instincts is first initialized by the value of an instinct parameter and then is varied in accordance with external information from the recognition object or the like and with the lapse of time. Unlike the emotion units, the instinct units do not mutually enhance the instinct levels. However, the instinct module and the emotion module may affect each other. For example, when the robot device “feels hungry” in terms of the instinct, it is likely to be “angry” as an expression of the emotion.
The above-described objects are configured by an object-oriented design. Regardless of an upper layer or a lower layer, the state of an object is changed in accordance with the reception of information from another object, and the information corresponding to its own state is outputted to another object. That is, the objects mutually communicate information and affect one another. As such objects, various elements related to the behaviors of a living body can be applied, such as the elements of behaviors of a living body (e.g., learning, thinking, recognition) and the means for performing the behaviors of a living body (limbs, joints, motion control).
The behavior based on the output of the emotion module will now be described.
In the emotion module, the emotion level of each emotion unit may be changed by inputting external information or may change by itself with the lapse of time.
First, the above-described recognition object handles input information, such as color information of an image from a color sensor, sound information of the speaker from a sound sensor and touch information from a touch sensor, as various sensor information of the first to fourth CPC devices 20, 30, 40, 50, which are hardware, as shown in
When the information is inputted from the recognition object, the emotion module discriminates the type of the inputted information (step ST1) and changes the emotion level of each emotion unit using the parameter corresponding to the inputted information (step ST2), as shown in
The behavior-production object controls the hardware via the action production object or the like. Specifically, the behavior-production object controls the first to fourth CPC devices 20, 30, 40, 50 shown in
Meanwhile, as the time elapses, the emotion module carries out the processing of step ST11 and the subsequent steps shown in
At step ST11, the emotion module initializes the emotion level and parameter and then proceeds to step ST12.
At step ST12, the emotion module discriminates whether a predetermined time has elapsed or not, using the timer provided in the LSI 14. If the predetermined time has not elapsed, the emotion module waits at step ST12. If the predetermined time has elapsed, the emotion module proceeds to step ST13.
At step ST13, the emotion module attenuates the emotion level of each emotion unit and proceeds to step ST14. The degree of attenuation is determined by an attenuation parameter stored in the storage section 13.
At step ST14, the emotion module changes the emotion level by mutual restraint/simulation of the respective emotions and proceeds to step ST15. For example, increased horror reduces delight, and increased hatred increases anger. The relation and degree of interaction is determined by a mutual parameter stored in the storage section 13.
At step ST15, the emotion module discriminates whether there is any emotion unit having an emotion level exceeding the threshold value. If there is no such emotion unit, the emotion module returns to step ST12. If there is such an emotion unit, the emotion module proceeds to step ST16.
At step ST16, the emotion module selects the emotion unit having the maximum emotion level from among the emotion units having the emotion levels exceeding the threshold value and then proceeds to step ST17.
At step ST17, the emotion module notifies the behavior-production object of the information of the selected emotion unit. The selected emotion unit notifies the object which is requesting the output, for example, the behavior-production object, of that information. The emotion module may accept an input from an object which does not directly handle the sensor information, for example, by accepting a message to the effect that the instinct module has solved frustration.
The behavior-production object controls the hardware via the action production object or the like. Specifically, the behavior-production object controls the first to fourth CPC devices 20, 30, 40, 50 shown in
As the emotion module thus notifies another object of the information of the emotion unit having the maximum emotion level, from among the emotion units having the emotion levels changed by external information or internal changes, the behavior-production object can be notified of the state where various emotions get complicated with one another. On the basis of the information from the emotion module, the behavior-production object controls the first to fourth CPC devices 20, 30, 40, 50, which are hardware, via the system software and OS.
As described above, in the robot device 1, since the emotion module notifies the behavior-production object of the information of the emotion unit having the highest emotion level when various emotions are organically associated with one another in a complicated manner, the optimum emotional expression corresponding to the status can be realized.
In addition to the emotion module which reacts to the input from the external world, the robot device 1 has the instinct module in which desires are gradually increased from inside. Thus, behavior based on the output of the instinct module will now be described.
In the instinct module, the instinct level of each instinct unit may be changed by inputting external information or may be changed by itself with the lapse of time.
First, the above-described recognition object handles input information, such as color information of an image from a color sensor, sound information of the speaker from a sound sensor and touch information from a touch sensor, as various sensor information of the first to fourth CPC devices 20, 30, 40, 50, which are hardware, as shown in
When the information is inputted from the recognition object, the instinct module discriminates the type of the inputted information (step ST21) and changes the instinct level of each instinct unit using the parameter corresponding to the inputted information (step ST22), as shown in
The instinct module selects the instinct unit having the maximum instinct level from among the instinct units having the instinct levels exceeding the threshold value. The selected instinct unit notifies the object which is requesting the output, for example, the behavior-production object, of that information. The object which is requesting the output must register itself as an observer to the instinct module, using an object-oriented observer pattern.
The behavior-production object controls the hardware via the action production object or the like. Specifically, the behavior-production object controls the first to fourth CPC devices 20, 30, 40, 50 shown in
Meanwhile, as the time elapses, the instinct module carries out the processing of step ST31 and the subsequent steps shown in
At step ST31, the instinct module initializes the instinct level and parameter and then proceeds to step ST32.
At step ST32, the instinct module discriminates whether a predetermined time has elapsed or not, using the timer provided in the LSI 14. If the predetermined time has not elapsed, the instinct module waits at step ST32. If the predetermined time has elapsed, the instinct module proceeds to step ST33.
At step ST33, the instinct module increases the instinct level of each instinct unit and proceeds to step ST34. The degree of increase is determined by an increase parameter stored in the storage section 13.
At step ST34, the instinct module discriminates whether there is any instinct unit having the instinct level exceeding the threshold value. If there is no such instinct unit, the instinct module returns to step ST32. If there is such an instinct unit, the instinct module proceeds to step ST35.
At step ST35, the instinct module selects the instinct unit having the maximum instinct level from among the instinct units having the instinct levels exceeding the threshold value and then proceeds to step ST36.
At step ST36, the instinct module notifies the client module, such as the behavior-production object of the information of the selected instinct unit. The selected instinct unit notifies the object which is requesting the output, for example, the behavior-production object, of that information.
The behavior-production object controls the hardware via the action production object or the like and then returns to step ST32.
As the instinct module thus notifies another object of the information of the instinct unit having the maximum instinct level, from among the instinct units having the instinct levels changed by external information or internal changes, the behavior-production object can be notified of the state where an instinct is enhanced. On the basis of the information from the instinct module, the behavior-production object controls the first to fourth CPC devices 20, 30, 40, 50, which are hardware, via the system software and OS. Thus, the optimum instinctive expression corresponding to the status can be realized.
As is described above, both the emotion module and the instinct module operate on the basis of the information from the various objects, but they are controlled independently in parallel. Thus, a complicated psychological condition in which various emotions and instincts coexist can be expressed by the robot device 1 in a natural way.
The robot device 1 also has a learning function. That is, emotion parameters and instinct parameters, which are elements for changing the emotion level of each emotion unit and the instinct level of each instinct unit, are stored in the storage device 200, as described above. In the case where the robot device 1 itself learns and grows, the character and behavior can be changed as the learning object rewrites various parameters in the storage device 200.
Also, the robot device 1 can communicate with another robot device 1A, not shown, via the communication device 300.
Specifically, the emotion module of the robot device 1 notifies the communication device 300 (e.g., a radio communication card) of the information of the emotion unit of the highest emotion level. The communication device 300 transmits the information of this emotion unit through radio communication to the other robot device 1A that is designated in advance. Thus, the other robot device 1A can read the emotion of the robot device 1, and communication with emotions can be realized between the robot device 1 and the other robot device 1A.
For example, if the robot device 1 is angry, the other robot device 1A can behave accordingly. Specifically, when the robot device 1 determines that the other robot device 1A is breaking into the territory of the robot device 1, the robot device 1 behaves on the basis of anger and takes an action, such as barking, as shown in
The other robot device 1A, having received the emotion of anger of the robot device 1, takes the action of running away in response thereto, as shown in
In this manner, the communication with emotions between the robot device 1 and the other robot device 1A and the corresponding behaviors can be taken. However, such behaviors are not limited to the above-described behaviors.
For example, if the robot device 1 is delighted, the other robot device 1A can behave delightedly in response thereto. Specifically, the other robot device 1A, having received the emotion of delight of the robot device 1, has its own emotion level of delight enhanced in response to the emotion of delight transmitted from the robot device 1 and behaves delightedly together with the robot device 1.
The information of the instinct units can be similarly transmitted from the robot device 1 to the other robot device 1A. Thus, communication between the robot devices can be realized with respect to the information of the instinct units.
Moreover, not only the communication between the robot devices but also the communication between the robot device and a personal computer (PC) 400 may be carried out, as shown in
Wired communication also may be carried out as well as radio communication. As a matter of course, the information of the emotion units in the robot device 1 may be recorded on a recording medium, such as a memory card, which can be loaded into the other robot device 1A.
The robot device 1 can communicate with an electronic pet in a virtual pet device described in the Japanese Patent Application No. H10-030793, as long as it has the same interface.
In addition, in order to operate the robot device 1 of the above-described hardware structure, a recording medium, such as a memory card, may be loaded into the robot device 1 so as to install therein a control program recorded on the recording medium. The control program recorded on the recording medium may be a control program configured by an OS, system software, middleware and a application, as shown in
With the robot device, the control method for a robot device and the program recording medium according to the present invention, an emotion is outputted as a plurality of emotion units representing various emotions of the object-oriented design affect one another, and the robot device acts on the basis of the outputted emotion. Thus, it can behave naturally like a living body having reality and a sense of living.
Number | Date | Country | Kind |
---|---|---|---|
P10-340716 | Nov 1998 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP99/06713 | 11/30/1999 | WO | 00 | 11/27/2000 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO00/32361 | 6/8/2000 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4657104 | Holland | Apr 1987 | A |
5367454 | Kawamoto et al. | Nov 1994 | A |
5963712 | Fujita et al. | Oct 1999 | A |
6038493 | Tow | Mar 2000 | A |
6058385 | Koza et al. | May 2000 | A |
6249780 | Mizokawa | Jun 2001 | B1 |
6275773 | Lemelson et al. | Aug 2001 | B1 |
6321140 | Fujita et al. | Nov 2001 | B1 |
Number | Date | Country |
---|---|---|
62-24988 | Feb 1987 | JP |
6-12401 | Jan 1994 | JP |
10-235019 | Sep 1998 | JP |
10-289006 | Oct 1998 | JP |