JP7247560B2 - Robot, robot control method and program - Google Patents

Robot, robot control method and program Download PDF

Info

Publication number
JP7247560B2
JP7247560B2 JP2018226978A JP2018226978A JP7247560B2 JP 7247560 B2 JP7247560 B2 JP 7247560B2 JP 2018226978 A JP2018226978 A JP 2018226978A JP 2018226978 A JP2018226978 A JP 2018226978A JP 7247560 B2 JP7247560 B2 JP 7247560B2
Authority
JP
Japan
Prior art keywords
action
predetermined
value
execution
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018226978A
Other languages
Japanese (ja)
Other versions
JP2020089929A (en
JP2020089929A5 (en
Inventor
浩良 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2018226978A priority Critical patent/JP7247560B2/en
Publication of JP2020089929A publication Critical patent/JP2020089929A/en
Publication of JP2020089929A5 publication Critical patent/JP2020089929A5/ja
Application granted granted Critical
Publication of JP7247560B2 publication Critical patent/JP7247560B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ロボット、ロボットの制御方法及びプログラムに関する。 The present invention relates to a robot, a robot control method, and a program.

従来、複数の所定動作の各々を実行可能に構成されたロボットとして、例えば、特許文献1に開示されたものが知られている。このロボットでは、自機の複数の所定動作を制御するためのプログラムが設定されており、確率オートマトンを用い、複数の所定動作の各々に対応して予め設定された遷移確率に基づいて、複数の所定動作の中から1つの動作を選択し、選択した動作を自機に実行させる。また、このロボットでは、圧力センサや視覚センサ等のセンサによって「叩かれた」、「怒られた」といった外部入力信号を検出し、この外部入力信号に基づいて、ロボットの感情パラメータが設定され、設定された感情パラメータに基づいて、上記の遷移確率を変更することもできる。 2. Description of the Related Art Conventionally, a robot disclosed in Patent Document 1, for example, is known as a robot configured to be able to execute each of a plurality of predetermined actions. In this robot, a program for controlling a plurality of predetermined motions of the robot is set, and a probabilistic automaton is used to generate a plurality of transition probabilities corresponding to each of the plurality of predetermined motions. One action is selected from the predetermined actions, and the selected action is executed by the machine itself. In addition, in this robot, sensors such as a pressure sensor and a visual sensor detect external input signals such as "hit" and "annoyed", and based on these external input signals, the robot's emotion parameters are set, The above transition probabilities can also be changed based on the set emotion parameters.

特開2010-149276号公報JP 2010-149276 A

特許文献1に記載のロボットにおける動作制御のような、従来のロボット制御においては、ロボットの動作の種類を選択するのに用いられる遷移確率が予め決められていることが多い。また、この遷移確率が変更可能になっている場合でも感情パラメータ等に基づいて変更されるだけであるため、ロボットの複数の所定動作のうち、遷移確率が小さい一部の実行頻度が極めて低くなり、それにより、ロボットの動作の多様性が低下してしまうおそれがあった。 In conventional robot control, such as the robot motion control described in Patent Document 1, transition probabilities used to select the type of robot motion are often predetermined. In addition, even if the transition probability is changeable, it is only changed based on the emotion parameter or the like. Therefore, among the plurality of predetermined motions of the robot, the execution frequency of some of the robot's predetermined motions with low transition probabilities becomes extremely low. , thereby reducing the diversity of robot motions.

本発明は、上記実情に鑑みてなされたものであり、ロボットの動作の多様性を高めることを目的とする。 SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and an object of the present invention is to increase the variety of motions of a robot.

上記目的を達成するため、本発明のロボットは、
複数の所定動作の各々を実行可能に構成されたロボットであって、
前記複数の所定動作の各々の実際の実行頻度を表す実行頻度パラメータを取得する取得手段と、
前記所定動作ごとに設定された行動要求値のうちの最大の行動要求値に対応する動作を実行用動作として、前記複数の所定動作から選択する選択手段と、
前記選択手段によって選択された実行用動作を自機に実行させる動作制御手段と、
前記動作制御手段により前記実行用動作が実行された後、前記所定動作ごとに設定された行動要求値のうち、前記取得された実行頻度パラメータで表される実行頻度が他の所定動作より低い所定動作に対応する行動要求値を増大させることにより、前記実行頻度が他の所定動作より低い所定動作が前記実行用動作として選択されやすくなるよう前記選択手段を制御する選択制御手段と、
を備えることを特徴とする。
In order to achieve the above object, the robot of the present invention
A robot configured to be able to execute each of a plurality of predetermined actions,
acquisition means for acquiring an execution frequency parameter representing the actual execution frequency of each of the plurality of predetermined actions;
selection means for selecting an action corresponding to a maximum required action value among the action required values set for each of the predetermined actions, from the plurality of predetermined actions as an action to be executed;
an operation control means for causing the machine to execute the action for execution selected by the selection means;
After the action for execution is executed by the action control means, among the action request values set for each of the predetermined actions, the execution frequency represented by the acquired execution frequency parameter is a predetermined action lower than the other predetermined actions. selection control means for controlling the selection means so that a predetermined action having a lower execution frequency than other predetermined actions is more likely to be selected as the action for execution by increasing an action request value corresponding to the action;
characterized by comprising

本発明によれば、ロボットの動作の多様性を高めることができる。 ADVANTAGE OF THE INVENTION According to this invention, the diversity of operation|movement of a robot can be improved.

本発明の実施形態1に係るロボットの外観を示す図である。It is a figure which shows the external appearance of the robot which concerns on Embodiment 1 of this invention. 実施形態1に係るロボットの機能構成を示す図である。2 is a diagram showing the functional configuration of the robot according to Embodiment 1; FIG. 実施形態1に係るロボットの記憶部に記憶される行動要求値テーブルの一例を示す図である。4 is a diagram showing an example of an action request value table stored in a storage unit of the robot according to Embodiment 1; FIG. 行動要求値の変化の一例を示す図である。It is a figure which shows an example of the change of an action required value. 実施形態1に係る動作制御処理のフローチャートである。4 is a flowchart of operation control processing according to the first embodiment; 変形例1に係る行動原理値更新スレッドのフローチャートである。10 is a flowchart of a behavioral principle value update thread according to Modification 1; 変形例1に係る行動要求値更新スレッドのフローチャートである。10 is a flowchart of an action request value update thread according to Modification 1; 変形例1に係る動作制御スレッドのフローチャートである。10 is a flowchart of an operation control thread according to Modification 1; 変形例2に係るロボットの記憶部に記憶される行動要求値テーブルの一例を示す図である。FIG. 11 is a diagram showing an example of an action request value table stored in a storage unit of a robot according to Modification 2; 変形例2に係る動作制御処理のフローチャートである。10 is a flowchart of operation control processing according to modification 2;

以下、本発明の実施形態について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. The same reference numerals are given to the same or corresponding parts in the drawings.

(実施形態1)
本発明の実施形態1に係るロボット100は、ウロウロする、キョロキョロする、ウトウトする等、複数の所定動作の各々を自律的に実行することができる電子ペット型のロボットである。図1に示すように、ロボット100は、例えば、かわいらしい動物の形状をしており、頭部10には鼻11、耳12、口13、目14を、胴体20には前足21、後ろ足22、尻尾23を、それぞれ備える。そして、頭部10と胴体20とは、破線で示される首関節15によって相互に連結されている。
(Embodiment 1)
The robot 100 according to the first embodiment of the present invention is an electronic pet type robot that can autonomously perform each of a plurality of predetermined actions such as wandering around, resting around, and dozing off. As shown in FIG. 1, the robot 100 has, for example, the shape of a cute animal, with a head 10 having a nose 11, ears 12, a mouth 13, and eyes 14, and a body 20 having front legs 21, rear legs 22, A tail 23 is provided respectively. The head 10 and the body 20 are interconnected by a neck joint 15 indicated by broken lines.

首関節15は、複数のモータを含む。後述する制御部110がこれら複数のモータを制御することにより、ロボット100の頭部10を上下方向の軸、左右方向の軸及び前後方向の軸を中心に回転させることができる。これにより、ロボット100は、例えばうなずきの動作をすることができる。 Neck joint 15 includes a plurality of motors. A controller 110, which will be described later, controls these motors, so that the head 10 of the robot 100 can be rotated about a vertical axis, a horizontal axis, and a longitudinal axis. This allows the robot 100 to perform, for example, a nodding motion.

そして、図示しないが、ロボット100は、頭部10の顔の表情を変えたり、前足21や後ろ足22や尻尾23を動かしたりするための駆動機構を備えており、制御部110がこの駆動機構を制御することによって感情を表現することができる。例えば、ロボット100は、顔を笑顔にしたり、前足21や後ろ足22をバタバタと前後左右に動かしたり、尻尾23を振ったりして、喜んでいることを表現できる。 Although not shown, the robot 100 has a driving mechanism for changing the facial expression of the head 10 and moving the front legs 21, the hind legs 22, and the tail 23. The control unit 110 controls the driving mechanism. Emotions can be expressed through control. For example, the robot 100 can express its happiness by making a smile on its face, flapping its front legs 21 and hind legs 22 back and forth, and wagging its tail 23 .

また、図2に示すように、ロボット100は、機能構成として、制御部110、記憶部120、画像入力部131、音声入力部132、センサ部133、音出力部134、感情表現部135、駆動部136、を備える。 In addition, as shown in FIG. 2, the robot 100 includes a control unit 110, a storage unit 120, an image input unit 131, a voice input unit 132, a sensor unit 133, a sound output unit 134, an emotion expression unit 135, a driving unit 135, and a driving unit 135. a portion 136;

制御部110は、CPU(Central Processing Unit)等で構成される。制御部110は、記憶部120に記憶されたプログラムを実行することにより、後述する取得部111、設定部112、選択部113及び動作制御部114として機能する。また、制御部110は、時計機能及びタイマー機能を備え、現在時刻や経過時間を取得することができる。 The control unit 110 is configured by a CPU (Central Processing Unit) and the like. By executing programs stored in the storage unit 120, the control unit 110 functions as an acquisition unit 111, a setting unit 112, a selection unit 113, and an operation control unit 114, which will be described later. The control unit 110 also has a clock function and a timer function, and can acquire the current time and elapsed time.

記憶部120は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、制御部110のCPUが実行するプログラム、各種データ等を記憶する。また、記憶部120は、図3に示すような行動要求値テーブル121を記憶する。行動要求値テーブル121の詳細については後述する。 The storage unit 120 includes a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and stores programs executed by the CPU of the control unit 110, various data, and the like. The storage unit 120 also stores an action request value table 121 as shown in FIG. Details of the action request value table 121 will be described later.

画像入力部131は、頭部10の前面の中央部の鼻11の位置に設けられている撮像装置(カメラ)である。画像入力部131は、ロボット100の正面の画像データを取得して制御部110に入力する。 The image input unit 131 is an imaging device (camera) provided at the position of the nose 11 in the center of the front surface of the head 10 . The image input unit 131 acquires image data of the front of the robot 100 and inputs it to the control unit 110 .

音声入力部132は、頭部10の左右の耳12の位置に複数設けられたマイクからなっており、アレーマイクを構成する。音声入力部132は、ロボット100の周囲にいるユーザが発話した音声を音声データとして取得して制御部110に入力する。 The voice input unit 132 is composed of a plurality of microphones provided at the positions of the left and right ears 12 of the head 10, and constitutes an array microphone. The voice input unit 132 acquires the voice uttered by the user around the robot 100 as voice data and inputs the voice data to the control unit 110 .

センサ部133は、人感センサ、温度センサ、触覚センサ等の各種センサを含む。ロボット100は、頭部10の目14の位置に人感センサや温度センサを備え、周囲の環境の情報を取得することができる。また、頭部10及び胴体20の表面の様々な位置に触覚センサを備え、ユーザに撫でられたことや、叩かれたことや、抱かれたこと等を検出することができる。 The sensor unit 133 includes various sensors such as a human sensor, a temperature sensor, and a tactile sensor. The robot 100 has human sensors and temperature sensors at the positions of the eyes 14 of the head 10, and can acquire information about the surrounding environment. In addition, tactile sensors are provided at various positions on the surface of the head 10 and the body 20, and it is possible to detect being stroked, hit, or held by the user.

音出力部134は、頭部10の口13の位置に設けられたスピーカであり、制御部110から制御されて音声や鳴き声等を出力する。 The sound output unit 134 is a speaker provided at the position of the mouth 13 of the head 10, and is controlled by the control unit 110 to output sounds, barks, and the like.

感情表現部135は、モータ等からなる駆動機構を備え、頭部10の顔の表情を変化させたり、前足21や後ろ足22や尻尾23を動かしたりすることにより、ロボット100の感情を表現する。 The emotion expression unit 135 has a driving mechanism such as a motor, and expresses the emotion of the robot 100 by changing the facial expression of the head 10 and moving the front legs 21, the rear legs 22, and the tail 23.

駆動部136は、4つの車輪(ホイール)と駆動モータとを含む。4つの車輪のうち、2つが前輪として胴体20の前側に、残り2つが後輪として胴体20の後ろ側に、それぞれ配置されている。前足21に前輪、後ろ足22に後輪が配置されていても良いし、前足21や後ろ足22とは別の位置に(例えば胴体20の下側に直接)4つの車輪が配置されていても良い。車輪としては、例えば、オムニホイール、メカナムホイール等を使用しても良い。駆動部136が制御部110に制御されて車輪を回転させると、ロボット100は移動する。また、駆動部136は、首関節15を動かすモータを含み、ロボット100は、制御部110で駆動部136を制御することにより、頷く動作をしたり、キョロキョロと周囲を見回す動作をしたり、ウトウトする動作をしたりすることができる。 Drive unit 136 includes four wheels and a drive motor. Of the four wheels, two are arranged on the front side of the body 20 as front wheels, and the remaining two are arranged on the rear side of the body 20 as rear wheels. The front wheels may be arranged on the front legs 21 and the rear wheels on the rear legs 22, or four wheels may be arranged at positions different from the front legs 21 and the rear legs 22 (for example, directly under the body 20). . As the wheel, for example, an omni wheel, a mecanum wheel, or the like may be used. When the drive unit 136 is controlled by the control unit 110 to rotate the wheels, the robot 100 moves. In addition, the drive unit 136 includes a motor that moves the neck joint 15 , and the robot 100 nods, looks around restlessly, and sleeps by controlling the drive unit 136 with the control unit 110 . You can do the action you want.

また、図示しないが、ロボット100は、例えば胴体20の背中に相当する位置に操作ボタンが設けられていても良い。操作ボタンは、ロボット100を操作するための各種ボタンであり、電源ボタンや、スピーカの音量調節ボタン等を含む。 Further, although not shown, the robot 100 may be provided with an operation button at a position corresponding to the back of the body 20, for example. The operation buttons are various buttons for operating the robot 100, and include a power button, a speaker volume control button, and the like.

次に、制御部110が実現する各機能について説明する。制御部110は、前述したように、記憶部120に記憶されたプログラムを実行することにより、取得部111、設定部112、選択部113及び動作制御部114として機能する。また、制御部110は、マルチスレッド機能に対応しており、複数のスレッド(異なる処理の流れ)を並行して実行することができる。 Next, each function realized by the control unit 110 will be described. As described above, the control unit 110 functions as an acquisition unit 111, a setting unit 112, a selection unit 113, and an operation control unit 114 by executing programs stored in the storage unit 120. FIG. In addition, the control unit 110 supports a multithread function, and can execute multiple threads (different processing flows) in parallel.

取得部111は、ロボット100が実行する複数の所定動作の各々の実際の実行頻度を表す実行頻度パラメータを取得する。ここで、所定動作とは、外部刺激(センサ部133が備える触覚センサで検出される、「撫でられた」、「叩かれた」、「抱かれた」等の刺激)がロボット100に作用していない場合にロボット100が行う各種の動作であり、例えば、「ウロウロする」、「キョロキョロする」、「鳴く」、「しょんぼりする」、「泣く」、「ウトウトする」、「寝る」等である。また、実行頻度パラメータは、各所定動作それぞれについての実際の実行頻度を表すパラメータであり、例えば、当該所定動作が実行された時間(実行時間:この実行時間が短いことは実行頻度が低いことを表す)、実行された回数(実行回数:この実行回数が小さいことは実行頻度が低いことを表す)、当該所定動作が実行されていない状態の継続時間(この継続時間が長いことは実行頻度が低いことを表す)等である。取得部111は、取得手段として機能する。 The acquiring unit 111 acquires an execution frequency parameter representing the actual execution frequency of each of the plurality of predetermined actions executed by the robot 100 . Here, the predetermined action means that the robot 100 is acted upon by an external stimulus (a stimulus such as “stroked”, “struck”, “held”, etc. detected by the tactile sensor provided in the sensor unit 133). These are various actions performed by the robot 100 when the robot 100 is not in motion, such as "walking around", "looking around", "crying", "dejected", "crying", "drowsy", "sleep", and the like. . Further, the execution frequency parameter is a parameter representing the actual execution frequency of each predetermined operation. ), the number of executions (the number of executions: a small number of executions indicates a low execution frequency), the duration of the state in which the predetermined action is not executed (a long duration indicates that the execution frequency is low). low), etc. Acquisition unit 111 functions as an acquisition unit.

設定部112は、複数の所定動作の中からロボット100に実行させる動作(以下「実行用動作」という)を選択する際に用いる選択用パラメータを、取得部111が取得した実行頻度パラメータに基づいて設定する。その際、設定部112は、実行頻度パラメータによって表される実行頻度がより低い所定動作が選択部113によって実行用動作として選択されやすくなるように、選択用パラメータを設定する。ここで、選択用パラメータは、各所定動作それぞれについて、当該所定動作を選択する際の基準にするパラメータである。選択用パラメータとしては、様々なパラメータを考えることができるが、本実施形態では、後述する行動要求値を選択用パラメータとして用いる。設定部112は、設定手段として機能する。 The setting unit 112 sets a selection parameter used when selecting a motion to be executed by the robot 100 (hereinafter referred to as an “execution motion”) from among a plurality of predetermined motions, based on the execution frequency parameter acquired by the acquisition unit 111. set. At this time, the setting unit 112 sets the selection parameter so that the selection unit 113 is likely to select the predetermined action with the lower execution frequency represented by the execution frequency parameter as the execution action. Here, the parameter for selection is a parameter used as a reference when selecting the predetermined action for each of the predetermined actions. Various parameters can be considered as the selection parameter, but in this embodiment, an action request value, which will be described later, is used as the selection parameter. The setting unit 112 functions as setting means.

選択部113は、設定部112が設定した選択用パラメータに基づいて、複数の所定動作の中からロボット100の実行用動作を選択する。選択用パラメータは実行頻度パラメータに基づいて設定されるので、選択部113は、取得部111が取得した実行頻度パラメータに応じて、複数の所定動作の中から実行用動作を選択していることになる。選択部113は、選択手段として機能する。 The selection unit 113 selects a motion for execution of the robot 100 from a plurality of predetermined motions based on the selection parameter set by the setting unit 112 . Since the selection parameter is set based on the execution frequency parameter, the selection unit 113 selects the execution action from among a plurality of predetermined actions according to the execution frequency parameter acquired by the acquisition unit 111. Become. The selection unit 113 functions as selection means.

動作制御部114は、音出力部134や感情表現部135や駆動部136を制御することによって、選択部113が選択した実行用動作(所定動作)をロボット100に実行させる。動作制御部114は、動作制御手段として機能する。 The motion control unit 114 controls the sound output unit 134 , the emotion expression unit 135 , and the drive unit 136 to cause the robot 100 to perform the execution motion (predetermined motion) selected by the selection unit 113 . The motion control unit 114 functions as motion control means.

次に、記憶部120が記憶する行動要求値テーブル121について図3を参照して説明する。ロボット100が実行可能な複数の所定動作(「ウロウロする」、「キョロキョロする」等)は、図3に示すように、複数の行動原理(「退屈」、「寂しい」、「眠い」等)のいずれかに属するように割り当てられている。そして、各所定動作の行動要求値(その所定動作を行わせる要求の強さを示す値)は、図3に示すように、その所定動作が属する行動原理の行動原理値(時間やその行動原理の動作が実行されたか否か等に基づいて変化する値)によって、様々な値が設定されている。このような、各行動原理についての行動原理値毎に各所定動作の行動要求値が定められたテーブルが、行動要求値テーブル121である。ロボット100においては、予めこれらの行動要求値のデフォルト値が行動要求値テーブル121に設定されている。 Next, the action request value table 121 stored in the storage unit 120 will be described with reference to FIG. As shown in FIG. 3, a plurality of predetermined actions ("walking around", "looking around", etc.) executable by the robot 100 are based on a plurality of action principles ("boring", "lonely", "sleepy", etc.). assigned to belong to either Then, as shown in FIG. 3, the action request value of each predetermined action (a value indicating the strength of the request to perform the predetermined action) is the action principle value of the action principle to which the predetermined action belongs (time and its action principle). Various values are set depending on whether or not the operation is executed). The action request value table 121 is such a table in which the action request value for each predetermined action is determined for each action principle value for each action principle. In the robot 100 , default values for these action request values are set in advance in the action request value table 121 .

ロボット100の実行用動作を選択する際には、選択部113が、行動要求値テーブル121を参照して、その時点の各行動原理の行動原理値に基づいて、各所定動作の行動要求値を求め、行動要求値が最も高い所定動作を実行用動作として選択する。そして、選択部113が選択した実行用動作としての所定動作が実行されるように、動作制御部114が音出力部134、感情表現部135及び駆動部136を制御することにより、ロボット100は、その所定動作(実行用動作)を実行する。なお、行動原理値は、例えば、所定の時間毎に所定の値(例えば1)が加算され、当該行動原理値が対応する行動原理に属する所定動作が実行されると、所定の値(例えば1)が減算される。 When selecting a motion for execution of the robot 100, the selection unit 113 refers to the action request value table 121 and selects the action request value of each predetermined motion based on the action principle value of each action principle at that time. Then, the predetermined action with the highest action requirement value is selected as the action for execution. Then, the motion control unit 114 controls the sound output unit 134, the emotion expression unit 135, and the driving unit 136 so that the predetermined motion selected by the selection unit 113 as the execution motion is executed. The predetermined operation (execution operation) is executed. Note that, for example, a predetermined value (for example, 1) is added to the action principle value every predetermined time, and when a predetermined action belonging to the action principle corresponding to the action principle value is executed, the predetermined value (for example, 1) is added. ) is subtracted.

例えば、今、図3に示す行動要求値テーブルにおいて、行動原理「退屈」の行動原理値が-2で、行動原理「寂しい」の行動原理値が-1で、行動原理「眠い」の行動原理値が1であるとする。この場合、行動原理「退屈」の所定動作としては「ウロウロする」(行動要求値20)が選択され、行動原理「寂しい」の所定動作としては「しょんぼりする」(行動要求値20)が選択され、行動原理「眠い」の所定動作としては「ウトウトする」(行動要求値40)が選択される。そして、選択部113は、選択したこれらの3つの所定動作のうち、行動要求値が最も高い所定動作である「ウトウトする」を最終的に実行用動作として選択し、ロボット100は、「ウトウトする」動作を行うことになる。 For example, in the action request value table shown in FIG. 3, the action principle value of the action principle "boredom" is -2, the action principle value of the action principle "lonely" is -1, and the action principle of "sleepy". Let the value be 1. In this case, "hang around" (action request value 20) is selected as the predetermined action for the action principle "boredom", and "depressed" (action request value 20) is selected as the predetermined action for the action principle "lonely". , "drowsiness" (behavior request value 40) is selected as the predetermined action of the action principle "sleepy". Then, the selecting unit 113 finally selects the predetermined action with the highest action request value, "to fall asleep", from among these three selected predetermined actions, and the robot 100 selects "to fall asleep" as an execution action. ” will perform the action.

ロボット100は、「ウトウトする」動作を行うと、「ウトウトする」の属する行動原理である「眠い」の行動原理値を小さくする(例えば1を減算して0にする)。そして、実行されなかった所定動作の属する行動原理である「退屈」や「寂しい」の行動原理値を大きくする(例えば1を加算して、「退屈」の行動原理値を-1に、「寂しい」の行動原理値を0にする)。すると、次の選択時には、行動原理「退屈」の所定動作としては「鳴く」(行動要求値50)が選択され、行動原理「寂しい」の所定動作としては「しょんぼりする」(行動要求値30)が選択され、行動原理「眠い」の所定動作としては「ウトウトする」(行動要求値20)が選択される。したがって、今度は、選択部113は、選択したこれらの3つの所定動作のうち、行動要求値が最も高い所定動作「鳴く」を最終的に実行用動作として選択し、ロボット100は、「鳴く」動作を行うことになる。 When the robot 100 performs the action of "drowsiness", the behavior principle value of "sleepy", which is the behavioral principle to which "drowsiness" belongs, is reduced (for example, by subtracting 1 to 0). Then, the action principle value of "boredom" or "lonely", which is the action principle to which the predetermined action that was not performed is increased (for example, by adding 1, the action principle value of "boredom" becomes -1, and the action principle value of "lonely" ” is set to 0). Then, at the time of the next selection, "cry" (action required value 50) is selected as the predetermined action of the action principle "boring", and "be depressed" (action required value 30) is selected as the prescribed action of the action principle "lonely". is selected, and "drowsiness" (action request value 20) is selected as the predetermined action of the action principle "sleepy". Therefore, this time, the selection unit 113 finally selects the predetermined action "cry" with the highest action requirement value among the three selected predetermined actions, and the robot 100 "cries". will take action.

なお、最も高い行動要求値を持つ所定動作が複数存在した場合には、選択部113は、その複数の所定動作の中からランダムに1つの所定動作を実行用動作として選択する。 Note that when there are a plurality of predetermined actions having the highest action requirement value, the selection unit 113 randomly selects one predetermined action from among the plurality of predetermined actions as an execution action.

ロボット100は、行動要求値テーブル121と適宜増減させる行動原理値とを用いることによって上述のように、様々な行動原理に属する所定動作を実行することができる。しかし、同じ行動原理に属する複数の所定動作に関しては、実行頻度にムラが生じる可能性がある。例えば、行動原理「退屈」に属する所定動作のうち、「ウロウロする」が選択されるのは、「退屈」の行動原理値が-2の時だけである。また、ユーザが新規の所定動作を追加する場合には当該所定動作の行動要求値を任意の値に設定することができるので、この場合も、当該所定動作の実行頻度が極端に高くなったり低くなったりする可能性がある。 By using the action request value table 121 and action principle values that are increased or decreased as appropriate, the robot 100 can perform predetermined actions belonging to various action principles, as described above. However, with respect to a plurality of predetermined actions that belong to the same action principle, there is a possibility that the execution frequency will be uneven. For example, among the predetermined actions belonging to the action principle "boredom", "hang around" is selected only when the action principle value of "boredom" is -2. Further, when the user adds a new predetermined action, the action request value of the predetermined action can be set to any value. It may become

そこで、設定部112は、実行されなかった所定動作の行動要求値を動的に増加させていく。そして、行動要求値を増加させた結果、最終的に当該所定動作が実行されたら、設定部112は、実行された当該所定動作の行動要求値を元に(デフォルト値に)戻すようにする。 Therefore, the setting unit 112 dynamically increases the action request value of the predetermined action that has not been executed. Then, when the predetermined action is finally executed as a result of increasing the action request value, the setting unit 112 restores the action request value of the executed predetermined action to the original value (to the default value).

図4を参照して具体例を説明する。まず、行動原理「退屈」の行動原理値が-1であるとすると、選択部113は、行動原理「退屈」の所定動作として行動要求値が最も高い「鳴く」(行動要求値は50)を選択する。ここでは、他の行動原理に属する行動要求値が50未満であるとする。すると、最終的に選択部113は、所定動作として「鳴く」を選択し、動作制御部114により「鳴く」動作が行われる。すると、設定部112は、「鳴く」以外(「ウロウロする」と「キョロキョロする」)の行動要求値を所定の値(例えば10)だけ増加させる。また、行動原理「退屈」に属する所定動作である「鳴く」動作が行われたので、行動原理「退屈」の行動原理値は減少する(ここでは、-2になったとする)。 A specific example will be described with reference to FIG. First, assuming that the action principle value of the action principle “boredom” is −1, the selection unit 113 selects “cry” with the highest action request value (action request value is 50) as the predetermined action of the action principle “boredom”. select. Here, it is assumed that the action requirement value belonging to another action principle is less than 50. Then, the selection unit 113 finally selects “crying” as the predetermined operation, and the operation control unit 114 performs the “crying” operation. Then, the setting unit 112 increases the action request values other than "crying" ("walking around" and "looking around") by a predetermined value (for example, 10). Also, since the action "crying", which is a predetermined action belonging to the action principle "boredom", has been performed, the action principle value of the action principle "boredom" is decreased (here, it is assumed to be -2).

すると、行動原理「退屈」に属する行動要求値は、図4の真ん中の表のようになる(ここでは、値が変化した所定動作「ウロウロする」と所定動作「キョロキョロする」の行動要求値を太字で示している)。行動原理値が-2であるとすると、選択部113は、行動原理「退屈」の所定動作として行動要求値が最も高い所定動作「ウロウロする」(行動要求値は30)を選択する。ここでは、他の行動原理に属する行動要求値が30未満であるとする。すると、最終的に選択部113は、実行用動作として所定動作「ウロウロする」を選択し、動作制御部114により所定動作「ウロウロする」が行われる。すると、設定部112は、「ウロウロする」以外の所定動作(「キョロキョロする」と「鳴く」)の行動要求値を所定の値(例えば10)だけ増加させるとともに、所定動作「ウロウロする」の行動要求値をデフォルト値に戻す。また、行動原理「退屈」に属する所定動作「ウロウロする」が行われたので、行動原理「退屈」の行動原理値は減少する(ここでは、-3になったとする)。 Then, the action requirement values belonging to the action principle "boredom" are shown in the table in the middle of FIG. shown in bold). Assuming that the action principle value is -2, the selection unit 113 selects the predetermined action "hanging around" (action demand value is 30) with the highest action demand value as the prescribed action of the action principle "boredom". Here, it is assumed that the action requirement value belonging to another action principle is less than 30. Then, the selection unit 113 finally selects the predetermined action “wander around” as the action for execution, and the action control unit 114 performs the predetermined action “wander around”. Then, the setting unit 112 increases the action request value of the predetermined action (“look around” and “cry”) other than “walk around” by a predetermined value (for example, 10), and sets the action of the predetermined action “walk around”. Revert request values to default values. In addition, since the predetermined action "hanging around" belonging to the behavior principle "boredom" has been performed, the behavior principle value of the behavior principle "boredom" is decreased (here, it is assumed to be -3).

すると、行動原理「退屈」に属する行動要求値は、図4の下の表のようになる(ここでは、値が変化した所定動作「キョロキョロする」と所定動作「鳴く」の行動要求値を太字で示している)。行動原理値が-3であるとすると、選択部113は、行動原理「退屈」の所定動作として行動要求値が最も高い所定動作「キョロキョロする」(行動要求値は30)を選択する。ここでは、他の行動原理に属する行動要求値が30未満であるとする。すると、最終的に選択部113は、実行用動作として所定動作「キョロキョロする」を選択し、動作制御部114により「キョロキョロする」動作が行われる。 Then, the action demand values belonging to the action principle "boredom" are shown in the lower table of FIG. ). Assuming that the action principle value is -3, the selection unit 113 selects the predetermined action "look around" (action demand value is 30) with the highest action demand value as the action principle "boredom" prescribed action. Here, it is assumed that the action requirement value belonging to another action principle is less than 30. Then, the selection unit 113 finally selects the predetermined action “look around” as the action for execution, and the action control unit 114 performs the action “look around”.

このように、行動要求値テーブル121に設定された値のままでは、実行頻度が極端に低い所定動作があったとしても、設定部112が動的にこの所定動作の行動要求値を増加させることによって、いずれはこの所定動作の行動要求値が最も高くなり、その結果、この所定動作が実行用動作として選択部113に選択されるようになる。また、実行頻度が極端に高い所定動作があったとしても、この所定動作の行動要求値が、実行されなかった所定動作の行動要求値よりもいずれは小さくなり、この実行頻度の高かった所定動作が実行用動作として選択部113に選択されない状況が発生するようになる。したがって、このように、行動要求値を動的に変化させることによって、同じ行動原理に属する複数の所定動作に関しても、動作の多様性を高くすることができる。 In this way, even if there is a predetermined action whose execution frequency is extremely low with the values set in the action request value table 121 as they are, the setting unit 112 can dynamically increase the action request value of this predetermined action. As a result, the action requirement value of this predetermined action eventually becomes the highest, and as a result, this predetermined action is selected by the selection unit 113 as the action for execution. Further, even if there is a predetermined action whose execution frequency is extremely high, the action request value of this predetermined action will eventually become smaller than the action request value of the predetermined action that was not executed, and this frequently executed predetermined action is not selected by the selection unit 113 as an action for execution. Therefore, by dynamically changing the action request value in this way, it is possible to increase the diversity of actions even for a plurality of predetermined actions belonging to the same action principle.

では、このように、ロボット100の動作の多様性を高める動作制御処理について、図5を参照して説明する。この処理は、ロボット100が起動すると実行が開始される。また、各行動原理の行動原理値はロボット100が起動した時に(例えば0に)初期化されるものとする。 Now, the motion control process for increasing the variety of motions of the robot 100 in this way will be described with reference to FIG. Execution of this process is started when the robot 100 is activated. It is also assumed that the action principle value of each action principle is initialized (to 0, for example) when the robot 100 is activated.

まず、制御部110は、タイマーの値Tを0にリセットする(ステップS101)。そして、制御部110は、センサ部133が備える触覚センサによる検出値に基づいて、外部刺激(撫でられた、叩かれた、抱かれた等)の有無を判定する(ステップS102)。 First, the control unit 110 resets the value T of the timer to 0 (step S101). Then, the control unit 110 determines whether or not there is an external stimulus (stroked, beaten, held, etc.) based on the detected value by the tactile sensor provided in the sensor unit 133 (step S102).

外部刺激があったら(ステップS102;Yes)、動作制御部114は、外部刺激に応じた動作(上述の所定動作には含まれない動作)を実行するように音出力部134、感情表現部135及び駆動部136を制御し(ステップS103)、ステップS101に戻る。ステップS103で動作制御部114によって制御される動作は、上述の所定動作ではない動作であり、具体例としては、撫でられたら感情表現部135によりロボット100の顔を笑顔にする、叩かれたら感情表現部135によりロボット100の顔を驚いた表情にして音出力部134により「キャン」と鳴かせる、等が挙げられる。 If there is an external stimulus (step S102; Yes), the motion control unit 114 causes the sound output unit 134 and the emotion expression unit 135 to perform a motion (a motion not included in the predetermined motion described above) in response to the external stimulus. and control the drive unit 136 (step S103), and return to step S101. The motion controlled by the motion control unit 114 in step S103 is a motion that is not the predetermined motion described above. For example, the expression unit 135 makes the robot 100 have a surprised expression, and the sound output unit 134 makes the robot 100 say “can”.

外部刺激がなかったら(ステップS102;No)、制御部110は、タイマーTにより所定時間(例えば1分間)が経過したか否かを判定する(ステップS104)。所定時間が経過していなければ(ステップS104;No)、ステップS102に戻る。 If there is no external stimulus (step S102; No), the controller 110 determines whether or not a predetermined period of time (for example, one minute) has elapsed using the timer T (step S104). If the predetermined time has not elapsed (step S104; No), the process returns to step S102.

所定時間が経過していたら(ステップS104;Yes)、取得部111は、各々の所定動作の実際の実行頻度を表す実行頻度パラメータを取得する(ステップS105)。実行頻度パラメータとしては、例えば、各所定動作について、最後に該所定動作が行われた後の経過時間(該所定動作が実行されていない状態の継続時間:この継続時間が長ければ実行頻度が低いことを表す)や、各所定動作の実行回数(例えば基準時刻(例えばロボット100の起動時刻)からの各所定動作の累積実行回数:この実行回数が小さければ実行頻度が低いことを表す)や、各所定動作の実行時間(例えば基準時刻(例えばロボット100の起動時刻)からの各所定動作の累積実行時間:この実行時間が短ければ実行頻度が低いことを表す)等が挙げられる。なお、実行頻度パラメータとして、単純に各々の所定動作の実際の実行の有無(実行されていれば実行頻度が高く、実行されていなければ実行頻度が低いことを表す)を用いてもよい。以下では、簡単のため、実際の実行の有無を実行頻度パラメータとした場合で説明する。 If the predetermined time has passed (step S104; Yes), the obtaining unit 111 obtains an execution frequency parameter representing the actual execution frequency of each predetermined action (step S105). As the execution frequency parameter, for example, for each predetermined action, the elapsed time after the predetermined action was last performed (the duration of the state in which the predetermined action is not executed: the longer the duration, the lower the execution frequency. ), the number of executions of each predetermined action (for example, the cumulative number of executions of each predetermined action from a reference time (for example, the start time of the robot 100): the smaller the number of executions, the lower the execution frequency), The execution time of each predetermined action (for example, the cumulative execution time of each predetermined action from a reference time (for example, the start time of the robot 100): the shorter the execution time, the lower the execution frequency). As the execution frequency parameter, simply whether or not each predetermined action is actually executed (if executed, the execution frequency is high; if not executed, the execution frequency is low) may be used. For the sake of simplicity, the following description assumes that the execution frequency parameter is the presence or absence of actual execution.

そして、設定部112は、取得部111が取得した各所定動作の実行頻度パラメータに応じて、その行動原理に属する所定動作の全ての実行頻度が基準値未満である(所定動作が全て実行されていない)行動原理の行動原理値を所定の値(例えば1)だけ増加させる(ステップS106)。なお、行動要求値テーブル121のサイズに基づいて、行動原理値には上限が存在するため、上限に達した行動原理値については、ステップS106では増加させずに上限の値のままにする。 Then, according to the execution frequency parameter of each predetermined action acquired by the acquisition unit 111, the setting unit 112 determines that the execution frequency of all the predetermined actions belonging to the action principle is less than the reference value (all the predetermined actions are executed). The action principle value of the action principle is increased by a predetermined value (for example, 1) (step S106). Since there is an upper limit to the action principle value based on the size of the action request value table 121, the action principle value that has reached the upper limit is left at the upper limit value without being increased in step S106.

次に、設定部112は、取得部111が取得した各所定動作の実行頻度パラメータに応じて、実行頻度が基準値以上である(例えば、一定時間又は一定回数実行された)所定動作が属する行動原理の行動原理値を所定の値(例えば1)だけ減少させる(ステップS107)。なお、行動要求値テーブル121のサイズに基づいて、行動原理値には下限が存在するため、下限に達した行動原理値については、ステップS107では減少させずに下限の値のままにする。なお、ステップS106では、取得部111が取得した各所定動作の実行頻度パラメータによらずに、全ての行動原理の行動原理値を所定の値(例えば1)だけ増加させても良いが、この場合、ステップS107では、実行頻度が基準値以上である所定動作が属する行動原理の行動原理値をステップS106での増加分を打ち消してさらに減少させる値(例えば2)だけ減少させる必要がある。 Next, according to the execution frequency parameter of each predetermined action acquired by the acquisition unit 111, the setting unit 112 determines the action to which the predetermined action whose execution frequency is equal to or higher than the reference value (for example, executed for a certain period of time or a certain number of times) belongs to. The action principle value of the principle is decreased by a predetermined value (for example, 1) (step S107). Since there is a lower limit to the action principle value based on the size of the action request value table 121, the action principle value that has reached the lower limit is left at the lower limit value without being reduced in step S107. Note that in step S106, the behavior principle values of all behavior principles may be increased by a predetermined value (for example, 1) regardless of the execution frequency parameter of each predetermined action acquired by the acquisition unit 111, but in this case In step S107, the action principle value of the action principle to which the predetermined action whose execution frequency is equal to or higher than the reference value belongs must be decreased by a value (for example, 2) to cancel the increase in step S106.

そして、選択部113は、行動要求値が最大の所定動作を実行用動作として選択する(ステップS108)。もし、行動要求値が最大の所定動作が複数存在する場合は、選択部113は、行動要求値が最大の所定動作の中からランダムに1つの所定動作を実行用動作として選択する。ステップS108は、選択ステップとも呼ばれる。 Then, the selection unit 113 selects the predetermined action with the largest action request value as the action for execution (step S108). If there are a plurality of predetermined motions with the maximum required action value, the selection unit 113 randomly selects one predetermined motion from among the predetermined motions with the maximum required action value as an action to be executed. Step S108 is also called a selection step.

そして、動作制御部114は、選択部113によって選択された実行用動作を実行するように、音出力部134、感情表現部135及び駆動部136を制御する(ステップS109)。ステップS109は、動作制御ステップとも呼ばれる。 Then, the motion control unit 114 controls the sound output unit 134, the emotion expression unit 135, and the driving unit 136 so as to execute the motion for execution selected by the selection unit 113 (step S109). Step S109 is also called an operation control step.

次に、設定部112は、ステップS108で選択部113により実行用動作として選択された所定動作が属する行動原理に属する所定動作のうち、選択部113により実行用動作として選択されなかった(実行されなかった)所定動作の行動要求値を、所定の値(例えば10)だけ増加させる(ステップS110)。行動要求値については特に上限を設けずに増加させて良い。そして、設定部112は、ステップS108で選択部113により実行用動作として選択された(実行された)所定動作の行動要求値を、デフォルト値(最初に行動要求値テーブル121に設定されている値)に戻し(ステップS111)、ステップS101に戻る。ステップS110及びステップS111は、設定ステップとも呼ばれる。 Next, the setting unit 112 determines that the predetermined action belonging to the action principle to which the predetermined action selected as the action to be performed by the selection unit 113 in step S108 belongs is not selected as the action to be performed by the selection unit 113 (the action that was not performed). The action request value of the predetermined action (which was not performed) is increased by a predetermined value (for example, 10) (step S110). The action request value may be increased without setting an upper limit. Then, the setting unit 112 sets the action request value of the predetermined action selected (executed) as the execution action by the selection unit 113 in step S108 to the default value (the value initially set in the action request value table 121). ) (step S111) and returns to step S101. Steps S110 and S111 are also called setting steps.

なお、ステップS110及びステップS111においては、上記の処理の代わりに、取得部111が、ロボット100の所定動作の実際の実行状態の情報(各所定動作が実行されていない状態の継続時間、各所定動作の実行時間、各所定動作の実行回数等の情報のうちの少なくとも1つ)を実行頻度パラメータとして取得し、取得した実行頻度パラメータに応じて行動要求値を増加させたり、デフォルト値に戻したりしても良い。例えば、実行されていない状態の継続時間が継続基準時間を超えたら当該所定動作の行動要求値を増加させ、実行時間が実行基準時間を超えるか実行回数が実行基準回数を超えたら、当該所定動作の行動要求値をデフォルト値に戻す。この場合の処理において、取得部111が実行頻度パラメータを取得するステップは、取得ステップとも呼ばれる。 In steps S110 and S111, instead of the above process, the acquisition unit 111 acquires information on the actual execution state of the predetermined motion of the robot 100 (the duration of the state in which each predetermined motion is not executed, each predetermined At least one of information such as the execution time of the action and the number of executions of each predetermined action) is acquired as an execution frequency parameter, and the action request value is increased or returned to the default value according to the acquired execution frequency parameter. You can For example, if the duration of the non-execution state exceeds the continuation reference time, the action request value of the predetermined action is increased, and if the execution time exceeds the execution reference time or the number of executions exceeds the execution reference number of times, the predetermined action 's call-to-action values to their default values. In the processing in this case, the step in which the acquisition unit 111 acquires the execution frequency parameter is also called an acquisition step.

以上の動作制御処理を行うことにより、ロボット100は、実行されていない状態の継続時間が継続基準時間を超えた所定動作の行動要求値を増加させることで、実行頻度が低い所定動作を実行用動作として選択されやすくすることができる。その結果、ロボット100は、上述のように、様々な行動原理の所定動作を実行することができるようになり、動作の多様性を高めることができる。そして、ユーザは、新規に所定動作を追加したい場合は、追加したい所定動作を、行動要求値テーブル121の関連する行動原理の下に割り当てて、行動要求値を任意の値に設定するだけで、ロボット100は、その追加された所定動作を確実に実行するようになる。つまり、ユーザは、行動要求値テーブル121に元々設定されていた値を変更する必要なく、容易に新規の所定動作を追加することができる。 By performing the motion control processing described above, the robot 100 can increase the action request value of a predetermined motion for which the duration of a non-executed state exceeds the continuation reference time, thereby allowing the robot 100 to perform a predetermined motion with a low execution frequency. It can be made easy to be selected as an action. As a result, the robot 100 can perform predetermined motions based on various behavioral principles as described above, thereby increasing the diversity of motions. Then, when the user wishes to add a new predetermined action, the user simply assigns the predetermined action to be added under the relevant action principle in the action request value table 121 and sets the action request value to an arbitrary value. The robot 100 will surely execute the added predetermined motion. In other words, the user can easily add a new predetermined action without changing the values originally set in the action request value table 121 .

なお、上述の動作制御処理(図5)では、ステップS109で、選択部113により実行用動作として選択された所定動作の実行を開始してから終了するまで行ってから、ステップS110に遷移することを想定している。しかし、ステップS109で、実行用動作としての所定動作の実行を開始したら、終了を待たずにすぐにステップS110に遷移してもよい。この場合は、ステップS102で外部刺激を検出したら、ステップS109で実行開始していた所定動作の動作途中でも、当該動作を終了して、ステップS103での動作を開始するようにする。 Note that in the above-described motion control process (FIG. 5), in step S109, the predetermined motion selected as the motion to be performed by the selection unit 113 is started and completed, and then the process proceeds to step S110. is assumed. However, in step S109, when the execution of the predetermined action as the execution action is started, the process may immediately proceed to step S110 without waiting for the end. In this case, when an external stimulus is detected in step S102, even if the predetermined action started in step S109 is in progress, the action is terminated and the action in step S103 is started.

ステップS109で実行開始していた実行用動作としての所定動作が途中で終了した場合は、ステップS111の処理は実行されないようにしてもよいし、所定動作の動作時間によってステップS111の処理を実行するか否かを決定してもよい。例えば、所定動作が本来の動作時間の半分以下しか行われずに実行終了(中断)した場合はステップS111の処理は実行せず、本来の動作時間の半分を超えた時間行われた場合はステップS111の処理を実行するようにしてもよい。また、設定部112は、所定動作の本来の実行時間と中断されるまでの時間との比で、行動要求値を現在の値とデフォルト値とを内分した値に設定するようにしてもよい。 If the predetermined action as the action for execution that has been started in step S109 ends in the middle, the process of step S111 may not be executed, or the process of step S111 may be executed depending on the operation time of the predetermined action. may decide whether or not For example, if the predetermined operation is completed (interrupted) after being performed for less than half of the original operation time, the process of step S111 is not executed, and if it is performed for more than half the original operation time, step S111. may be executed. Also, the setting unit 112 may set the action request value to a value obtained by internally dividing the current value and the default value by the ratio between the original execution time of the predetermined action and the time until it is interrupted. .

(変形例1)
実施形態1では、所定動作を実行する毎に行動原理値を所定の値だけ増加させていたが、所定動作の実行タイミングとは別個に、一定周期(例えば1分)毎に行動原理値を所定の値だけ増加させるようにしても良い。各々の所定動作の間で実行時間に差がある場合には、このように一定周期で行動原理値を更新することによって、行動原理値の更新頻度を安定化させることができる。また、行動原理毎に行動原理値を増加させる量や周期を変更したい場合にもそのような対応が可能になる。このような変形例1について説明する。
(Modification 1)
In the first embodiment, the action principle value is increased by a predetermined value each time the predetermined action is executed. may be increased by the value of When there is a difference in the execution time between the respective predetermined actions, updating the action principle value at a constant cycle in this way makes it possible to stabilize the update frequency of the action principle value. In addition, it is possible to change the amount or cycle of increasing the behavioral principle value for each behavioral principle. Such Modification 1 will be described.

変形例1では、ロボット100は、動作制御において、後述する複数のスレッドを並行動作させる。1つ目のスレッドは、行動原理値を更新する行動原理値更新スレッドである。2つ目のスレッドは、行動要求値を更新する行動要求値更新スレッドである。3つ目のスレッドは、周期的に更新されている行動原理値や行動要求値を参照して、多様な動作制御を行う動作制御スレッドである。これらのスレッドは全て、ロボット100が起動すると並行して実行が開始される。 In Modified Example 1, the robot 100 causes a plurality of threads, which will be described later, to operate in parallel in motion control. The first thread is an action principle value update thread that updates action principle values. The second thread is an action request value update thread that updates the action request value. The third thread is an action control thread that performs various action controls by referring to action principle values and action request values that are periodically updated. All of these threads start executing in parallel when the robot 100 is activated.

まず、行動原理値を更新する行動原理値更新スレッドについて、図6を参照して説明する。ロボット100は、全ての行動原理について共通の周期で行動原理値を更新する場合は行動原理値更新スレッドを1つだけ起動すれば良い。この場合、その1つの行動原理値更新スレッドが全ての行動原理の行動原理値の更新を担当する。また、異なる周期で更新したい行動原理値が存在する場合には、更新周期の種類の数だけ、行動原理値更新スレッドを起動する。この場合、各行動原理値更新スレッドは、その行動原理値更新スレッドが持つ周期で更新される行動原理の行動原理値の更新を担当する。行動原理値1つ1つに対して、1つの行動原理値更新スレッドを起動しても良い。この場合、各行動原理値更新スレッドは対応する行動原理値の更新を担当する。 First, the action principle value update thread for updating the action principle value will be described with reference to FIG. The robot 100 needs to activate only one behavior principle value update thread when updating the behavior principle values for all behavior principles at a common cycle. In this case, the one action principle value update thread takes charge of updating the action principle values of all the action principles. Also, if there are action principle values to be updated in different cycles, action principle value update threads are activated for the number of types of update cycles. In this case, each behavioral principle value update thread takes charge of updating the behavioral principle value of the behavioral principle that is updated at the cycle of the behavioral principle value update thread. One action principle value update thread may be activated for each action principle value. In this case, each action principle value update thread is in charge of updating the corresponding action principle value.

行動原理値更新スレッドが起動すると、まず設定部112は、その行動原理値更新スレッドが更新を担当する行動原理値を初期化する(ステップS201)。次に制御部110は、所定時間経過するのを待つ(ステップS202)。この所定時間は、その行動原理値更新スレッドが更新を担当する行動原理値を更新する周期に対応して設定されるが、例えば1分間である。 When the behavioral principle value update thread is activated, the setting unit 112 first initializes the behavioral principle value to be updated by the behavioral principle value update thread (step S201). Next, control unit 110 waits for a predetermined period of time to elapse (step S202). This predetermined period of time is set corresponding to the cycle of updating the behavioral principle value that the behavioral principle value update thread takes charge of updating, and is, for example, one minute.

次に、取得部111は、この行動原理値更新スレッドが更新を担当する行動原理に属する各所定動作の実行頻度パラメータを取得する(ステップS203)。ここでは、取得部111は、実行頻度パラメータとして、ステップS202で待った所定時間の間の各所定動作の実行の有無を取得する。そして、設定部112は、取得部111が取得した各所定動作の実行頻度パラメータに基づいて、ステップS202で待った所定時間の間に、その行動原理値更新スレッドが更新を担当する行動原理に属する所定動作のいずれもが実行されていない場合に、更新を担当する行動原理値を所定の値(例えば1)だけ増加させる(ステップS204)。ただし、上限に達した行動原理値については、ステップS204では増加させずに上限の値のままにする。 Next, the acquisition unit 111 acquires the execution frequency parameter of each predetermined action belonging to the behavioral principle updated by the behavioral principle value update thread (step S203). Here, the acquisition unit 111 acquires, as the execution frequency parameter, whether or not each predetermined action is executed during the predetermined time waited in step S202. Then, based on the execution frequency parameter of each predetermined action acquired by the acquisition unit 111, the setting unit 112 determines whether the behavior principle value update thread belongs to the behavior principle to be updated during the predetermined time waited in step S202. If none of the actions have been executed, the action principle value responsible for updating is increased by a predetermined value (eg, 1) (step S204). However, the action principle value that has reached the upper limit is left at the upper limit value without being increased in step S204.

次に、設定部112は、取得部111が取得した各所定動作の実行頻度パラメータに基づいて、ステップS202で待った所定時間の間に、その行動原理値更新スレッドが更新を担当する行動原理に属する所定動作が一定時間又は一定回数実行された場合に、更新を担当する行動原理値を所定の値(例えば1)だけ減少させ(ステップS205)、ステップS202に戻る。ただし、下限に達した行動原理値については、ステップS205では減少させずに下限の値のままにする。 Next, based on the execution frequency parameter of each predetermined action acquired by the acquisition unit 111, the setting unit 112 determines whether the action principle value update thread belongs to the action principle to be updated during the predetermined time waited in step S202. When the predetermined action has been performed for a predetermined period of time or a predetermined number of times, the action principle value to be updated is decreased by a predetermined value (eg, 1) (step S205), and the process returns to step S202. However, the action principle value that has reached the lower limit is not decreased in step S205, but remains at the lower limit value.

以上説明した行動原理値更新スレッドにより、各行動原理値は所定の周期で、所定の値で更新され続けることになる。次に、行動要求値を更新する行動要求値更新スレッドについて、図7を参照して説明する。基本的には、ロボット100は、起動時に、行動要求値更新スレッドを1つ起動する。この場合、その1つの行動要求値更新スレッドが行動要求値テーブル121に記憶されている全ての所定動作の行動要求値の更新を担当する。しかし、行動原理値更新スレッドと同様に、更新周期の異なる行動要求値を数種類用意する場合には、更新周期の種類の数だけ、行動要求値更新スレッドを起動する。この場合、各行動要求値更新スレッドは、行動要求値テーブル121に記憶されている行動要求値のうち、その行動要求値更新スレッドが持つ周期で更新される所定動作の行動要求値の更新を担当する。 By the action principle value update thread described above, each action principle value is continuously updated with a predetermined value at a predetermined cycle. Next, the action request value update thread for updating the action request value will be described with reference to FIG. Basically, the robot 100 activates one action request value update thread when activated. In this case, the one action request value update thread takes charge of updating the action request values of all the predetermined actions stored in the action request value table 121 . However, as with the action principle value update thread, if several types of action request values with different update cycles are prepared, the action request value update threads are activated as many times as the number of update cycle types. In this case, each action request value update thread is in charge of updating the action request value of a predetermined action that is updated at the cycle of the action request value update thread among the action request values stored in the action request value table 121. do.

行動要求値更新スレッドが起動すると、まず制御部110は、所定時間経過するのを待つ(ステップS301)。この所定時間は、その行動要求値更新スレッドが更新を担当する行動要求値を更新する周期に対応して設定されるが、例えば1分間である。 When the action request value update thread is activated, first, the control unit 110 waits for a predetermined period of time to pass (step S301). This predetermined period of time is set corresponding to the cycle of updating the action request value that the action request value update thread takes charge of updating, and is, for example, one minute.

次に、取得部111は、各々の所定動作の実行頻度パラメータを取得する(ステップS302)。なお、上述したように、実行頻度パラメータとしては、色々な値を用いることができるが、以下では、簡単のため、実際の実行の有無を実行頻度パラメータとすることとする。つまり、ステップS302で、取得部111は、実行頻度パラメータとして、ステップS301で待った所定時間の間の各所定動作の実行の有無を取得する。そして、設定部112は、取得部111が取得した各所定動作の実行頻度パラメータに基づいて、行動要求値テーブル121に記憶されている行動要求値について、ステップS301で待った所定時間の間に、一度も実行されなかった所定動作(複数の行動要求値更新スレッドが起動している場合には、その行動要求値更新スレッドが更新を担当している所定動作)の行動要求値を、所定の値(例えば1)だけ増加させる(ステップS303)。 Next, the acquisition unit 111 acquires the execution frequency parameter of each predetermined action (step S302). As described above, various values can be used as the execution frequency parameter, but for the sake of simplicity, the execution frequency parameter will be the presence or absence of actual execution. That is, in step S302, the acquisition unit 111 acquires, as an execution frequency parameter, whether or not each predetermined action is executed during the predetermined time waited in step S301. Then, based on the execution frequency parameter of each predetermined action acquired by the acquisition unit 111, the setting unit 112 sets the action request value stored in the action request value table 121 once during the predetermined time waited in step S301. The action request value of a predetermined action that was not executed (if multiple action request value update threads are running, the action request update thread is in charge of updating) is changed to a predetermined value ( For example, it is increased by 1) (step S303).

次に、設定部112は、取得部111が取得した各所定動作の実行頻度パラメータに基づいて、行動要求値テーブル121に記憶されている行動要求値について、ステップS301で待った所定時間の間に、その行動要求値更新スレッドが更新を担当する所定動作が一定時間(例えば実行基準時間を超える時間)又は一定回数(例えば実行基準回数を超える回数)実行された場合に、その所定動作の行動要求値をデフォルト値に戻し(ステップS304)、ステップS301に戻る。 Next, based on the execution frequency parameter of each predetermined action acquired by the acquisition unit 111, the setting unit 112 updates the action request value stored in the action request value table 121 during the predetermined time waited in step S301. When a predetermined action that the action request value update thread is in charge of updating is executed for a certain period of time (for example, the time exceeding the execution reference time) or a certain number of times (for example, the number of times exceeding the execution reference number), the action request value of the predetermined action is returned to the default value (step S304), and the process returns to step S301.

なお、開始した所定動作の実行を途中で中断するのは望ましくない場合もあるため、後述する動作制御スレッド(図8)では、行動要求値に所定の重みを乗算する処理をしているが、より確実に中断しないようにするために、ステップS303では、現在実行中の所定動作(実行を最後まで完了していない所定動作)の行動要求値も所定の値だけ増加させ、ステップS304では、現在実行中の所定動作(実行を最後まで完了していない所定動作)については、当該所定動作の行動要求値をデフォルト値に戻さないようにしてもよい。 Since it may not be desirable to interrupt the execution of a predetermined action that has already started, the action control thread (FIG. 8), which will be described later, multiplies the action request value by a predetermined weight. In order to more reliably prevent the interruption, in step S303, the action request value of the currently executed predetermined action (predetermined action that has not been completed to the end) is also increased by a predetermined value, and in step S304, the current For a predetermined action that is being executed (predetermined action that has not been completed to the end), the action request value of the predetermined action may not be returned to the default value.

また、上記「所定動作の実行を途中で中断しないようにするための処理」は、実行頻度がより低い所定行動(例えば、行動要求値テーブル121において、他の所定行動よりも行動要求値が大きくなる行動原理値の数が、行動原理値の総数の半分未満である所定行動)に限って行われるようにし、実行頻度がより高い所定行動(例えば、行動要求値テーブル121において、他の所定行動よりも行動要求値が大きくなる行動原理値の数が、行動原理値の総数の半分以上である所定行動)については、行われないようにしてもよい。 In addition, the above-mentioned "processing for preventing the execution of a predetermined action from being interrupted" is a predetermined action with a lower execution frequency (for example, in the action request value table 121, a (predetermined actions whose number of action principle values is less than half of the total number of action principle values) are performed, and predetermined actions with a higher execution frequency (for example, in the action request value table 121, other predetermined actions A predetermined action for which the number of action principle values with a larger action requirement value is equal to or more than half of the total number of action principle values) may not be performed.

以上説明した行動要求値更新スレッドにより、各行動要求値は所定の周期で更新され続けることになる。次に、これら周期的に更新されている行動原理値や行動要求値を参照して、多様な動作制御を行う動作制御スレッドについて、図8を参照して説明する。 Each action request value is continuously updated at a predetermined cycle by the action request value update thread described above. Next, referring to FIG. 8, an action control thread that performs various action controls with reference to these periodically updated action principle values and action request values will be described.

まず、制御部110は、タイマーTの値を0にリセットする(ステップS401)。そして、制御部110は、センサ部133が備える触覚センサによる検出値に基づいて、外部刺激(撫でられた、叩かれた、抱かれた等)の有無を判定する(ステップS402)。 First, the control unit 110 resets the value of the timer T to 0 (step S401). Then, the control unit 110 determines whether or not there is an external stimulus (stroked, beaten, held, etc.) based on the detected value by the tactile sensor provided in the sensor unit 133 (step S402).

外部刺激があったら(ステップS402;Yes)、制御部110は、外部刺激に応じた動作(上述の所定動作には含まれない動作)を次の動作候補に設定し(ステップS403)、ステップS407に進む。 If there is an external stimulus (step S402; Yes), the control unit 110 sets a motion corresponding to the external stimulus (a motion not included in the predetermined motion described above) as the next motion candidate (step S403), and step S407. proceed to

外部刺激がなかったら(ステップS402;No)、制御部110は、タイマーTにより所定時間(例えば1分間)が経過したか否かを判定する(ステップS404)。所定時間が経過していなければ(ステップS404;No)、ステップS402に戻る。 If there is no external stimulus (step S402; No), the controller 110 determines whether or not a predetermined period of time (for example, one minute) has elapsed using the timer T (step S404). If the predetermined time has not elapsed (step S404; No), the process returns to step S402.

所定時間が経過していたら(ステップS404;Yes)、選択部113は、行動要求値テーブル121を参照して、最大の行動要求値を抽出して変数Mに代入し、最大の行動要求値を持つ所定動作を次の実行用動作としての動作候補に設定する(ステップS405)。そして、選択部113は、現在実行中の所定動作の行動要求値の値に所定の重み(例えば1.2)を乗算した値より変数Mの方が大きいか又は現在実行中の所定動作が終了するか否かを判定する(ステップS406)。所定の重みを乗算するのは、一度実行を開始した所定動作については、動作終了までできるだけ継続した方が良いと考えられるからである。しかし、重みを設定せず(重みを1にして)、最大の行動要求値の所定動作にすぐに切り替わるようにしても良い。なお、各所定動作には予めそれぞれ動作時間が設定されており、所定動作を開始した時刻と現在時刻との差から、現在実行中の所定動作が終了するか否かの判定が可能である。 If the predetermined time has elapsed (step S404; Yes), the selection unit 113 refers to the action request value table 121, extracts the maximum action request value, substitutes it for the variable M, and extracts the maximum action request value. The predetermined motion that the user has is set as a motion candidate for the next execution motion (step S405). Then, the selection unit 113 determines whether the variable M is larger than the value obtained by multiplying the value of the action request value of the currently executed predetermined action by a predetermined weight (for example, 1.2), or the currently executed predetermined action ends. It is determined whether or not to do so (step S406). The reason why the predetermined weight is multiplied is that it is considered better to continue the predetermined motion once started until the motion ends as much as possible. However, the weight may not be set (the weight may be set to 1), and the action may be immediately switched to the predetermined action with the maximum action request value. An operation time is set in advance for each predetermined action, and it is possible to determine whether or not the currently executing predetermined action will end from the difference between the time when the predetermined action started and the current time.

現在実行中の所定動作の行動要求値の値に所定の重みを乗算した値が変数Mの値以上であり、かつ現在実行中の所定動作が終了しない場合は(ステップS406;No)、ステップS401に戻る。 If the value obtained by multiplying the value of the action request value of the currently executed prescribed action by the prescribed weight is equal to or greater than the value of the variable M, and if the currently executed prescribed action does not end (step S406; No), step S401 back to

現在実行中の所定動作の行動要求値の値に所定の重みを乗算した値より変数Mの方が大きいか又は現在実行中の所定動作が終了する場合は(ステップS406;Yes)、動作制御部114は、現在実行中の動作(所定動作又は外部刺激に応じた動作)を終了させる(ステップS407)。そして、動作制御部114は、音出力部134、感情表現部135及び駆動部136を制御して、ステップS405又はステップS403で「次の動作候補」として設定された動作(所定動作又は外部刺激に応じた動作)の実行を開始する(ステップS408)。そして、ステップS401に戻る。 If the variable M is larger than the value obtained by multiplying the value of the action request value of the currently executed prescribed action by a prescribed weight, or if the currently executed prescribed action ends (step S406; Yes), the action control unit 114 terminates the action currently being executed (predetermined action or action in response to an external stimulus) (step S407). Then, the motion control unit 114 controls the sound output unit 134, the emotional expression unit 135, and the driving unit 136 so that the motion set as the “next motion candidate” in step S405 or S403 (predetermined motion or external stimulus) corresponding operation) is started (step S408). Then, the process returns to step S401.

なお、煩雑になるため上記の説明では省略したが、動作制御スレッドが開始された直後等、何の動作も行われていない場合は、ステップS405の次に、ステップS406及びステップS407をスキップして、ステップS408に進む。または、動作制御スレッドが開始されると、特別なイニシャル動作(制御部110が内部的に動作と認識するだけで、ユーザからは動作と認識できないものであってもよい)が開始されることにしてもよい。 Although omitted in the above description to avoid complication, if no operation is performed, such as immediately after the operation control thread is started, steps S406 and S407 are skipped after step S405. , the process proceeds to step S408. Alternatively, when the motion control thread is started, a special initial motion (which may only be internally recognized as a motion by the control unit 110 and may not be recognized as a motion by the user) is started. may

以上説明した動作制御スレッドにより、変形例1に係るロボット100は、現在実行中の所定動作が終了するまではできるだけその動作を継続しつつ、より大きな行動要求値の所定動作が抽出された場合には、動作内容を行動要求値が最大の所定動作の実行に切り替える。そして、変形例1においても、ロボット100は様々な行動原理の所定動作を実行することができるが、行動原理値更新スレッド、行動要求値更新スレッド及び動作制御スレッドが並行して動くことにより、変形例1に係るロボット100では、行動原理値の更新周期、行動要求値の更新周期及び所定動作の切り替え周期を全て独立に設定可能になる。これにより、各所定動作の出現タイミングのバリエーションの自由度を向上させることができる。また、変形例1においても、ユーザは、新規の所定動作を追加したい場合、行動要求値テーブル121に元々設定されていた値を変更する必要なく、容易に新規の所定動作を追加することができる。 With the motion control thread described above, the robot 100 according to Modification 1 continues the motion as much as possible until the current predetermined motion is completed, and when a predetermined motion with a larger action request value is extracted, switches the action content to execution of a predetermined action with the maximum action request value. Also in Modified Example 1, the robot 100 can execute predetermined motions based on various behavioral principles. In the robot 100 according to Example 1, it is possible to independently set the update cycle of the action principle value, the update cycle of the action request value, and the switching cycle of the predetermined action. As a result, it is possible to improve the degree of freedom of variations in the appearance timing of each predetermined action. Also, in Modification 1, when the user wants to add a new predetermined action, the user can easily add the new predetermined action without changing the values originally set in the action request value table 121. .

なお、上述の動作制御スレッド(図8)のステップS406では、現在実行中の所定動作の行動要求値に乗算する所定の重みとして、1.2という定数を例示したが、この重みについても動的に変化させてもよい。例えば、現在実行中の所定動作について、その日初めて当該所定動作を実行している場合は重みを2.0とし、時間の経過に応じて当該重みの値を1.8、1.5、1.2のように下げていく(例えば1分経過する毎に0.1ずつ下げていき、最終的に1.0にする)ことが考えられる。またその日の既に実行したことがある所定動作の場合は重みを1.2とし、時間の経過に応じて当該重みの値を1.0まで下げていくことが考えられる。 In step S406 of the motion control thread (FIG. 8) described above, a constant of 1.2 was exemplified as the predetermined weight to be multiplied by the action request value of the predetermined motion currently being executed. may be changed to For example, for a predetermined action that is currently being executed, if the predetermined action is being executed for the first time on that day, the weight is set to 2.0, and the value of the weight is changed to 1.8, 1.5, 1.8, 1.5, 1.5, 1.8, 1.5, 1.5, 1.8, 1.5, 1.5, 1.8, 1.5, 1.5, 1.8, 1.5, 1.5, 1.8, 1.5, 1.5, 1.5, 1.8, 1.5, 1.5, 1.8, 1.5, 1.2. It is conceivable to decrease it like 2 (for example, decrease it by 0.1 each time one minute passes, and finally set it to 1.0). Also, in the case of a predetermined action that has already been performed on that day, the weight may be set to 1.2, and the value of the weight may be decreased to 1.0 as time passes.

また、所定動作の種類に応じて重みの値や、重みの値の変化のさせ方を変えてもよい。例えば、ある所定動作については、常に重みなし(重みの値は常に1.0)とし、別のある所定動作については、常に重み2.0(最初から2.0で、時間が経過しても2.0のまま)とする等としてもよい。 Also, the weight value and the method of changing the weight value may be changed according to the type of the predetermined action. For example, one predetermined action is always unweighted (the weight value is always 1.0), and another predetermined action is always weighted 2.0 (2.0 from the beginning and over time). 2.0).

また、実行頻度がより低い所定行動(例えば、行動要求値テーブル121において、他の所定行動よりも行動要求値が大きくなる行動原理値の数が、行動原理値の総数の半分未満である所定行動)に限って重み(この重みの値を実行頻度が低いほど大きな値にしてもよい)を乗算し、実行頻度がより高い所定行動(例えば、行動要求値テーブル121において、他の所定行動よりも行動要求値が大きくなる行動原理値の数が、行動原理値の総数の半分以上である所定行動)については、重みなし(重みの値は1.0)とするようにしてもよい。 In addition, a predetermined action with a lower execution frequency (for example, a predetermined action whose number of action principle values with larger action requirement values than other predetermined actions in the action request value table 121 is less than half of the total number of action principle values) ) is multiplied by a weight (this weight value may be set to a larger value as the execution frequency is lower), and a predetermined action with a higher execution frequency (for example, in the action request value table 121, A predetermined action in which the number of action principle values that increase the action requirement value is equal to or more than half of the total number of action principle values) may be given no weight (the weight value is 1.0).

(変形例2)
上述の実施形態1や変形例1では、全ての行動原理を対等に扱っていたが、周囲の環境(静か、騒がしい、寒い、暑い、ユーザが見つめてくれた、ユーザが撫でてくれた、ユーザが話しかけてくれた等)や、ロボット100の内部状態(バッテリー残存量、発熱量等)に応じて、所定動作の選択対象となる行動原理を絞り込むようにしてもよい。
(Modification 2)
In the above-described first embodiment and modified example 1, all behavioral principles were treated equally, but the surrounding environment (quiet, noisy, cold, hot, user stared at, user stroked, user , etc.) or the internal state of the robot 100 (remaining battery level, amount of heat generated, etc.), the action principles to be selected for the predetermined action may be narrowed down.

例えば、図9に示すように、行動要求値テーブル121として、ユーザにかまってもらえない場合の行動原理「退屈」、バッテリー残量が基準値を下回った場合の行動原理「空腹」、周囲の温度又はロボット100の発熱量が基準値を上回った場合の行動原理「暑い」、ユーザにかまってもらえた場合の行動原理「楽しい」等を定義して、それぞれの行動原理に応じた所定動作を行動要求値と共に設定することができる。このような変形例2について説明する。 For example, as shown in FIG. 9, the action request value table 121 includes the action principle "boredom" when the user does not care, the action principle "hungry" when the remaining battery level is below the reference value, and the ambient temperature. Alternatively, the robot 100 may define a behavioral principle of "hot" when the amount of heat generated by the robot 100 exceeds a reference value, a behavioral principle of "fun" when the user cares, etc., and perform a predetermined action according to each behavioral principle. Can be set with the requested value. Such a modification 2 will be described.

変形例2では、ロボット100は、周囲の環境やロボット100の内部状態に基づいて、行動原理を選択し、選択した行動原理の中で最も行動要求値が高い所定動作を選択して実行する。このための動作制御処理について、図10を参照して説明する。この動作制御処理は、ロボット100が起動すると実行が開始される。なお、変形例2では、センサ部133は、周囲環境の情報を取得するためのセンサ(人感センサ、触覚センサ、温度センサ、湿度センサ等)だけでなく、ロボット100の内部状態(バッテリー残存量、発熱量等)を取得するためのセンサも含んでいる。また、各行動原理の行動原理値はロボット100が起動した時に初期化されるものとする。 In Modified Example 2, the robot 100 selects an action principle based on the surrounding environment and the internal state of the robot 100, and selects and executes a predetermined action with the highest action requirement value among the selected action principles. Operation control processing for this will be described with reference to FIG. Execution of this motion control process is started when the robot 100 is activated. Note that in the second modification, the sensor unit 133 includes not only sensors (human sensor, touch sensor, temperature sensor, humidity sensor, etc.) for acquiring information on the surrounding environment, but also the internal state of the robot 100 (remaining battery level , calorific value, etc.). Further, it is assumed that the action principle value of each action principle is initialized when the robot 100 is activated.

まず、制御部110は、画像入力部131、音声入力部132、センサ部133から、周囲環境やロボットの内部状態を取得する(ステップS501)。 First, the control unit 110 acquires the surrounding environment and the internal state of the robot from the image input unit 131, the voice input unit 132, and the sensor unit 133 (step S501).

次に、制御部110は、取得した周囲環境及び内部状態に基づき、行動原理を選択する(ステップS502)。例えば、ユーザがロボット100を無視している状態がしばらく続いている場合等は、行動原理「退屈」が選択される。また、ユーザがロボット100を見つめたり、抱いたりした場合等は、行動原理「楽しい」が選択される。周囲環境や内部状態によっては、複数の行動原理が選択される場合もある。例えば、ユーザがロボット100を無視し続けていて、ロボット100のバッテリー残存量が20%以下になり、周囲の温度が30度以上になっている場合は、行動原理「退屈」、行動原理「空腹」、行動原理「暑い」という3つの行動原理が選択される。 Next, the control unit 110 selects an action principle based on the acquired ambient environment and internal state (step S502). For example, if the user has been ignoring the robot 100 for a while, the action principle "boredom" is selected. Also, when the user gazes at or holds the robot 100, the action principle "enjoyable" is selected. A plurality of action principles may be selected depending on the surrounding environment and internal state. For example, if the user keeps ignoring the robot 100, the remaining battery level of the robot 100 is 20% or less, and the ambient temperature is 30 degrees or higher, the action principle "boredom" and the action principle "hungry" , and action principle ``hot'' are selected.

次に、選択部113は、ステップS502で選択された行動原理に含まれる所定動作の中で、行動要求値が最大の所定動作を実行用動作として選択する(ステップS503)。もし、行動要求値が最大の所定動作が複数存在する場合は、選択部113は、行動要求値が最大の所定動作の中からランダムに1つの所定動作を実行用動作として選択する。 Next, the selection unit 113 selects, as a motion for execution, a predetermined motion having the largest action requirement value among the predetermined motions included in the action principle selected in step S502 (step S503). If there are a plurality of predetermined motions with the maximum required action value, the selection unit 113 randomly selects one predetermined motion from among the predetermined motions with the maximum required action value as an action to be executed.

次に、動作制御部114は、ステップS503で選択部113が実行用動作として選択した所定動作を実行するように、音出力部134、感情表現部135及び駆動部136を制御する(ステップS504)。 Next, the motion control unit 114 controls the sound output unit 134, the emotional expression unit 135, and the driving unit 136 so as to execute the predetermined motion selected by the selection unit 113 as the motion for execution in step S503 (step S504). .

次に、設定部112は、ステップS503で選択部113が実行用動作として選択した所定動作の属する行動原理に属する所定動作のうち、選択部113が選択した所定動作以外の所定動作(実行されなかった所定動作)の行動要求値を所定の値(例えば10)だけ増加させる(ステップS505)。そして、設定部112は、ステップS503で選択部113が選択した所定動作(実行用動作)の行動要求値をデフォルト値(最初に行動要求値テーブル121に設定されている値)に戻す(ステップS506)。なお、ステップS505やステップS506においては、取得部111が、ロボット100の所定動作の実際の実行状態の情報(各所定動作が実行されていない状態の継続時間並びに、各所定動作の実行時間及び実行回数等の情報)を実行頻度パラメータとして取得し、実行頻度パラメータに基づいて行動要求値を増加させたり、デフォルト値に戻したりしても良い。 Next, the setting unit 112 selects a predetermined action (not executed) other than the predetermined action selected by the selecting unit 113 from among the predetermined actions belonging to the action principle to which the predetermined action selected as the action to be performed by the selecting unit 113 in step S503 belongs. (predetermined action) is increased by a predetermined value (for example, 10) (step S505). Then, the setting unit 112 returns the action request value of the predetermined action (execution action) selected by the selection unit 113 in step S503 to the default value (the value initially set in the action request value table 121) (step S506). ). Note that in steps S505 and S506, the acquisition unit 111 obtains information on the actual execution state of the predetermined motion of the robot 100 (the duration of the state in which each predetermined motion is not executed, the execution time and execution time of each predetermined motion, etc.). information such as the number of times) as an execution frequency parameter, and based on the execution frequency parameter, the action request value may be increased or returned to the default value.

そして、設定部112は、ステップS502で選択された行動原理の中で、ステップS503で選択部113が選択した所定動作が含まれる行動原理以外の行動原理の行動原理値を所定の値(例えば1)だけ増加させる(ステップS507)。なお、上限に達した行動原理値については、ステップS507では増加させずに上限の値のままにする。 Then, the setting unit 112 sets a predetermined value (for example, 1 ) (step S507). Note that the action principle value that has reached the upper limit is left at the upper limit value without being increased in step S507.

次に、設定部112は、ステップS502で選択された行動原理の中で、ステップS503で選択部113が選択した所定動作が含まれる行動原理の行動原理値を所定の値(例えば1)だけ減少させ(ステップS508)、ステップS501に戻る。なお、下限に達した行動原理値については、ステップS508では減少させずに下限の値のままにする。 Next, the setting unit 112 decreases the action principle value of the action principle including the predetermined action selected by the selection unit 113 in step S503 by a predetermined value (for example, 1) among the action principles selected in step S502. (step S508) and returns to step S501. Note that the action principle value that has reached the lower limit is not decreased in step S508, but remains at the lower limit value.

なお、ステップS507やステップS508においては、取得部111がロボット100の所定動作の実際の実行状態の情報(各所定動作の実行時間及び実行回数、並びに各所定動作が実行されていない状態の継続時間等の情報)を実行頻度パラメータとして取得し、ステップS502で選択された行動原理の中で、実行頻度パラメータに基づいて行動原理値を増減(例えば、一定時間又は一定回数実行された所定動作が属する行動原理の行動原理値を所定の値(例えば1)だけ減少させ、それ以外の行動原理値を所定の値(例えば1)だけ増加)させても良い。 In steps S507 and S508, the acquisition unit 111 obtains information on the actual execution state of the predetermined motion of the robot 100 (the execution time and number of executions of each predetermined motion, and the duration of the state in which each predetermined motion is not performed). etc.) is acquired as an execution frequency parameter, and among the behavior principles selected in step S502, the behavior principle value is increased or decreased based on the execution frequency parameter (for example, a predetermined action executed for a certain period of time or a certain number of times belongs to The action principle value of the action principle may be decreased by a predetermined value (eg, 1), and the other action principle values may be increased by a predetermined value (eg, 1).

以上の動作制御処理を行うことにより、ロボット100は、上述のように、その時の周囲環境や内部状態に合った行動原理の中から、様々な所定動作を実行することができるようになる。そして、ユーザは、行動要求値テーブル121に元々設定されていた値を変更する必要なく、容易に新規の所定動作を追加することができる。 By performing the motion control processing described above, the robot 100 can perform various predetermined motions from behavioral principles that match the ambient environment and internal state at that time, as described above. Then, the user can easily add a new predetermined action without changing the values originally set in the action request value table 121 .

(変形例3)
上述の実施形態1や各変形例では、行動要求値テーブル121のデフォルト値は、予め設定されているものに固定されていた。また、ユーザが所定動作を追加する場合、行動要求値のデフォルト値とともに行動要求値テーブル121に追加した。そして、行動要求値のデフォルト値はロボット100が動作している最中に変更されることはなかった。ロボット100の所定動作のうち、ユーザに好まれる動作はユーザによって異なるが、所定動作を実行した後のユーザの反応により、行動要求値のデフォルト値を変更できるようにすると、ユーザに好まれる動作を出現しやすくすることができる。このような変形例3について説明する。
(Modification 3)
In the first embodiment and each modified example described above, the default value of the action request value table 121 is fixed to a preset value. When the user adds a predetermined action, it is added to the action request value table 121 together with the default value of the action request value. Also, the default value of the action request value was not changed while the robot 100 was operating. Among the predetermined actions of the robot 100, the actions preferred by the user differ depending on the user. It can be made easier to appear. Such a modification 3 will be described.

変形例3では、ロボット100は、選択部113に選択された所定動作を動作制御部114によって実行した後、制御部110が、当該所定動作の実行中における画像入力部131、音声入力部132、センサ部133からの入力に基づいて、ユーザの当該所定動作に対する反応を取得する。この反応が好意的な反応であれば、設定部112は、行動要求値テーブル121において、当該所定動作の行動要求値のデフォルト値を所定の値(例えば10)だけ増加させる。また、この反応が反感を示すものであれば、設定部112は、行動要求値テーブル121において、当該所定動作の行動要求値のデフォルト値を所定の値(例えば10)だけ減少させる。 In the third modification, the robot 100 performs the predetermined motion selected by the selection unit 113 by the motion control unit 114, and then the control unit 110 controls the image input unit 131, voice input unit 132, Based on the input from the sensor unit 133, the user's reaction to the predetermined action is acquired. If this reaction is a favorable reaction, the setting unit 112 increases the default value of the action demand value for the predetermined action in the action demand value table 121 by a predetermined value (for example, 10). Also, if this reaction indicates antipathy, the setting unit 112 decreases the default value of the action request value of the predetermined action in the action request value table 121 by a predetermined value (for example, 10).

変形例3では、このように、行動要求値テーブル121のデフォルト値をユーザの反応に応じて変化させることにより、ロボット100は、ユーザに好感を持たれる所定動作を行う確率を増加させることができ、また、ユーザに反感を持たれる所定動作を行う確率を減少させることができる。また、デフォルト値を変更する以外の処理は、上述の実施形態や各変形例と同様に行うことができるので、これにより、様々な所定動作を実行することができる。したがって、変形例3に係るロボット100は、ユーザに好感を持たれる所定動作を行う確率を高めつつ、様々な所定動作を実行することにより、ユーザに好感を持たれる所定動作の実行頻度の向上(ユーザに反感を持たれる所定動作の実行頻度の低下)と、動作の多様性の向上とを両立させることができる。 In Modified Example 3, by changing the default values of the action request value table 121 according to the user's response, the robot 100 can increase the probability of performing a predetermined action that is favorable to the user. Also, it is possible to reduce the probability that the user will perform a predetermined action that is offensive to the user. In addition, since processing other than changing the default value can be performed in the same manner as in the above-described embodiment and modifications, various predetermined operations can be performed. Therefore, the robot 100 according to Modification 3 performs various predetermined actions while increasing the probability of performing a predetermined action that is favorable to the user, thereby improving the execution frequency of the predetermined action that is favorable to the user ( It is possible to achieve both a decrease in the execution frequency of a predetermined action that causes an antipathy to the user and an improvement in the variety of actions.

(その他の変形例)
なお、以上説明した実施形態1や各変形例は、上述の内容に限られるものではなく、様々な変更が可能である。例えば、上述の実施形態1や各変形例では、ロボット100が行う各々の所定動作は、行動要求値テーブル121において、行動原理毎に分けられた小テーブル内に定義されているが、これに限られない。例えば、行動要求値テーブル121は、行動原理無しで(小テーブルに分けることなく)、すべての所定動作の行動要求値が定義された1つのテーブルであっても良い。
(Other modifications)
It should be noted that the first embodiment and each modified example described above are not limited to the contents described above, and various modifications are possible. For example, in the first embodiment and each modified example described above, each predetermined action performed by the robot 100 is defined in a small table divided for each action principle in the action request value table 121, but this is not the only option. can't For example, the action request value table 121 may be a single table in which action request values for all predetermined actions are defined without action principles (without dividing into small tables).

また、上述の各実施形態のうち、各々の所定動作の実行頻度に応じて行動要求値を変更する処理は、ある程度データがたまらないと適格な実行頻度を取得できないため、所定期間(例えば1時間:また、時間ではなく、例えば、各所定動作の実行回数を全ての所定動作若しくは実行回数が上位のいくつか(例えば10)の所定動作について平均した値が基準実行回数(例えば5回)を超えるまでとしてもよい)の間は、デフォルトの行動要求値をそのまま用い、所定期間経過後は実行頻度に応じて、最も低い実行頻度の所定動作を選択して実行し、それに伴って、当該所定動作の実行頻度をリセットするようにしてもよい。 Further, among the above-described embodiments, the process of changing the action request value according to the execution frequency of each predetermined action cannot obtain a suitable execution frequency unless the data accumulates to some extent. Also, instead of time, for example, until the average value of the number of executions of each predetermined action for all the predetermined actions or some of the predetermined actions with the highest number of executions (for example, 10) exceeds the reference number of executions (for example, 5 times) ), the default action request value is used as it is, and after the predetermined period of time has elapsed, according to the execution frequency, the predetermined action with the lowest execution frequency is selected and executed, and accordingly, the predetermined action The execution frequency may be reset.

また、所定動作の選択においては、常に行動要求値に応じて選択しなければいけないわけではなく、例えばランダムに所定動作を選択してもよいし、各々の所定動作に(行動要求値とは別に)設定された確率に応じて選択してもよいし、所定の順番で選択してもよい。 In addition, in the selection of the predetermined action, it is not always necessary to select according to the action request value. For example, the predetermined action may be selected at random. ) may be selected according to a set probability, or may be selected in a predetermined order.

また、上述の実施形態及び変形例では、ロボット100が画像入力部131、音声入力部132、センサ部133、音出力部134、感情表現部135、駆動部136を備えるものとして説明した。しかし、ロボット100が周囲環境等を取得する必要がない場合(周囲環境等の情報が無くても、所定動作を実行可能な場合)は、画像入力部131、音声入力部132、センサ部133のいずれか又は全てを備えなくても良い。 Further, in the above-described embodiment and modification, the robot 100 has been described as including the image input unit 131 , the voice input unit 132 , the sensor unit 133 , the sound output unit 134 , the emotion expression unit 135 and the driving unit 136 . However, when the robot 100 does not need to acquire the surrounding environment (when the predetermined operation can be executed without information on the surrounding environment), the image input unit 131, the voice input unit 132, and the sensor unit 133 Either or all of them may not be provided.

また、ロボット100が所定動作を行う上で音を出力する必要が無い場合は、音出力部134を備えなくても良い。そして、ロボット100が所定動作を行う上で、顔の表情を変化させたり、前足21や後ろ足22や尻尾23を動かしたりすることにより、感情を表現する必要が無い場合は、感情表現部135を備えなくても良い。また、ロボット100が所定動作を行う上で、移動したり、頷いたり、キョロキョロしたり、ウトウトしたりといった動作をする必要が無い場合は、駆動部136を備えなくても良い。 Further, when the robot 100 does not need to output sound when performing a predetermined action, the sound output unit 134 may not be provided. When the robot 100 does not need to express an emotion by changing the facial expression or moving the front legs 21, the hind legs 22, or the tail 23, the emotion expression unit 135 is activated. You don't have to prepare. Further, when the robot 100 does not need to move, nod, look around, or doze off when performing a predetermined action, the drive unit 136 may not be provided.

同様に、ロボット100は、必ずしもかわいらしい動物の形状をしている必要はなく、頭部10と胴体20とが首関節15で接続されている構造になっている必要もない。さらに言えば、ロボット100は、鼻11、耳12、口13、目14、前足21、後ろ足22、尻尾23のいずれか又は全てを備えなくても良いし、逆に、図示しないが、腕、翼等を備えていても良い。要するに、ロボット100の外観に特に制限はない。 Similarly, the robot 100 does not necessarily have the shape of a cute animal, nor does it need to have a structure in which the head 10 and the body 20 are connected by the neck joint 15 . Furthermore, the robot 100 may not have any or all of the nose 11, the ears 12, the mouth 13, the eyes 14, the front legs 21, the hind legs 22, and the tail 23; It may have wings or the like. In short, there are no particular restrictions on the appearance of the robot 100 .

また、ロボット100は、画像入力部131や音声入力部132によって、ユーザ識別を行って、行動要求値テーブル121を識別したユーザ毎に複数記憶するようにしても良い。このようにすると、上述の変形例3において、行動要求値テーブル121のデフォルト値がユーザ毎にそのユーザに適した値に設定されることになり、どのユーザがロボット100と接したとしても、ロボット100は接したユーザが好意的に感じる所定動作を行う確率を高めつつ、様々な所定動作を行うことが可能になる。 Further, the robot 100 may perform user identification by the image input unit 131 or the voice input unit 132 and store a plurality of action request value tables 121 for each identified user. By doing so, in the above-described modified example 3, the default value of the action request value table 121 is set to a value suitable for each user. 100 makes it possible to perform various predetermined actions while increasing the probability of performing a predetermined action that a user who comes in contact with will feel favorably.

なお、ロボット100の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、ロボット100が行う動作制御処理等のプログラムが、記憶部120のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。 Each function of the robot 100 can also be implemented by a computer such as a normal PC (Personal Computer). Specifically, in the above embodiment, it is assumed that the programs such as the motion control process performed by the robot 100 are stored in advance in the ROM of the storage unit 120 . However, the program may be stored in a computer-readable storage medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), DVD (Digital Versatile Disc), MO (Magneto-Optical Disc), memory card, USB (Universal Serial Bus) memory, etc. By storing and distributing the program in a recording medium, and reading and installing the program in the computer, a computer capable of realizing each of the functions described above may be configured.

また、ロボット100とは別に通常のPC等のコンピュータをロボット100を制御するための制御装置として用意して、当該制御装置により、制御部110や記憶部120の機能を実現させてもよい。この場合、ロボット100と当該制御装置とを、無線又は有線で接続することにより、当該制御装置は、ロボット100の画像入力部131、音声入力部132、センサ部133からの入力データを受信可能にし、また、ロボット100の音出力部134、感情表現部135、駆動部136を制御可能にする。 Alternatively, a computer such as a normal PC may be prepared as a control device for controlling the robot 100 separately from the robot 100, and the functions of the control unit 110 and the storage unit 120 may be realized by the control device. In this case, by connecting the robot 100 and the control device wirelessly or by wire, the control device can receive input data from the image input unit 131, the voice input unit 132, and the sensor unit 133 of the robot 100. Also, the sound output unit 134, the emotion expression unit 135, and the driving unit 136 of the robot 100 can be controlled.

以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。 Although the preferred embodiments of the present invention have been described above, the present invention is not limited to such specific embodiments, and the present invention includes the invention described in the claims and their equivalents. be The invention described in the original claims of the present application is appended below.

(付記1)
複数の所定動作の各々を実行可能に構成されたロボットであって、
前記複数の所定動作の各々の実際の実行頻度を表す実行頻度パラメータを取得する取得手段と、
前記取得された実行頻度パラメータに応じて、前記複数の所定動作からの自機に実行させる実行用動作の選択を、実行頻度がより低い所定動作が前記実行用動作としてより選択されやすくなるように、行う選択手段と、
前記実行用動作として選択された所定動作を自機に実行させる動作制御手段と、
を備えることを特徴とするロボット。
(Appendix 1)
A robot configured to be able to execute each of a plurality of predetermined actions,
acquisition means for acquiring an execution frequency parameter representing the actual execution frequency of each of the plurality of predetermined actions;
According to the acquired execution frequency parameter, selection of an execution action to be executed by the device from the plurality of predetermined actions is performed so that a predetermined action with a lower execution frequency is more likely to be selected as the execution action. , a selection means that performs
an operation control means for causing the device to execute the predetermined operation selected as the execution operation;
A robot characterized by comprising:

(付記2)
前記取得手段は、前記実行頻度パラメータとして、前記複数の所定動作の各々が実行されていない状態の継続時間を取得することを特徴とする、付記1に記載のロボット。
(Appendix 2)
The robot according to appendix 1, wherein the acquiring means acquires a duration of a state in which each of the plurality of predetermined actions is not performed as the execution frequency parameter.

(付記3)
前記取得手段は、前記実行頻度パラメータとして、前記複数の所定動作の各々が実行された回数である実行回数を取得することを特徴とする、付記1に記載のロボット。
(Appendix 3)
The robot according to Supplementary Note 1, wherein the obtaining means obtains, as the execution frequency parameter, the number of executions, which is the number of times each of the plurality of predetermined actions is executed.

(付記4)
前記選択手段は、前記複数の所定動作に対応する複数の選択用パラメータの間の比較結果に基づいて、前記複数の所定動作から前記実行用動作を選択し、
前記複数の所定動作の各々の実行頻度パラメータに基づいて、前記複数の所定動作からの前記実行用動作の選択を、実行頻度がより低い所定動作が前記実行用動作として選択されやすくなるように、前記複数の選択用パラメータの各々を設定する設定手段をさらに備えることを特徴とする、付記1から3のいずれか1つに記載のロボット。
(Appendix 4)
The selecting means selects the execution motion from the plurality of predetermined motions based on comparison results between the plurality of selection parameters corresponding to the plurality of predetermined motions;
Based on the execution frequency parameter of each of the plurality of predetermined actions, the selection of the action for execution from the plurality of predetermined actions is performed so that a predetermined action with a lower execution frequency is more likely to be selected as the action for execution. 4. The robot according to any one of appendices 1 to 3, further comprising setting means for setting each of the plurality of selection parameters.

(付記5)
前記動作制御手段は、現在実行中の前記実行用動作としての所定動作に対応する実行頻度パラメータと、前記複数の所定動作のうちの、前記実行用動作としての所定動作以外の他の所定動作に対応する実行頻度パラメータとの比較結果に応じて、前記実行用動作としての前記所定動作の実行頻度がより低い場合に、現在実行中の前記所定動作を、中断せずに完了させるように前記自機に実行させることを特徴とする、付記1から4のいずれか1つに記載のロボット。
(Appendix 5)
The action control means controls an execution frequency parameter corresponding to a predetermined action currently being executed as the action to be executed, and a predetermined action other than the predetermined action as the action to be executed among the plurality of predetermined actions. According to the comparison result with the corresponding execution frequency parameter, when the execution frequency of the predetermined action as the action for execution is lower, the predetermined action currently being executed is completed without interruption. 5. The robot according to any one of the appendices 1 to 4, characterized in that it is executed by a machine.

(付記6)
複数の所定動作の各々を実行可能に構成されたロボットの制御方法であって、
前記複数の所定動作の各々の実際の実行頻度を表す実行頻度パラメータを取得する取得ステップと、
前記取得ステップで取得された実行頻度パラメータに応じて、前記複数の所定動作からの前記ロボットに実行させる実行用動作の選択を、実行頻度がより低い所定動作が前記実行用動作としてより選択されやすくなるように、行う選択ステップと、
前記選択ステップで前記実行用動作として選択された所定動作を前記ロボットに実行させる動作制御ステップと、
を含むロボットの制御方法。
(Appendix 6)
A robot control method configured to be able to execute each of a plurality of predetermined actions, comprising:
an acquisition step of acquiring an execution frequency parameter representing the actual execution frequency of each of the plurality of predetermined actions;
According to the execution frequency parameter obtained in the obtaining step, when selecting an action to be executed by the robot from among the plurality of predetermined actions, a predetermined action with a lower execution frequency is more likely to be selected as the action to be executed. a selection step performed so that
a motion control step of causing the robot to perform the predetermined motion selected as the execution motion in the selection step;
How to control the robot, including

(付記7)
複数の所定動作の各々を実行可能に構成されたロボットを制御するための制御装置のコンピュータに、
前記複数の所定動作の各々の実際の実行頻度を表す実行頻度パラメータを取得する取得ステップ、
前記取得ステップで取得された実行頻度パラメータに応じて、前記複数の所定動作からの前記ロボットに実行させる実行用動作の選択を、実行頻度がより低い所定動作が前記実行用動作としてより選択されやすくなるように、行う選択ステップ、及び、
前記選択ステップで前記実行用動作として選択された所定動作を前記ロボットに実行させる動作制御ステップ、
を実行させるためのプログラム。
(Appendix 7)
A computer of a control device for controlling a robot configured to be able to execute each of a plurality of predetermined actions,
an acquisition step of acquiring an execution frequency parameter representing the actual execution frequency of each of the plurality of predetermined actions;
According to the execution frequency parameter obtained in the obtaining step, when selecting an action to be executed by the robot from among the plurality of predetermined actions, a predetermined action with a lower execution frequency is more likely to be selected as the action to be executed. a selection step performed so that
a motion control step of causing the robot to perform the predetermined motion selected as the execution motion in the selection step;
program to run the

10…頭部、11…鼻、12…耳、13…口、14…目、15…首関節、20…胴体、21…前足、22…後ろ足、23…尻尾、100…ロボット、110…制御部、111…取得部、112…設定部、113…選択部、114…動作制御部、120…記憶部、121…行動要求値テーブル、131…画像入力部、132…音声入力部、133…センサ部、134…音出力部、135…感情表現部、136…駆動部 10 Head 11 Nose 12 Ears 13 Mouth 14 Eyes 15 Neck Joint 20 Torso 21 Front Legs 22 Hind Legs 23 Tail 100 Robot 110 Control Unit , 111... acquisition unit, 112... setting unit, 113... selection unit, 114... operation control unit, 120... storage unit, 121... action request value table, 131... image input unit, 132... voice input unit, 133... sensor unit , 134... Sound output unit, 135... Emotion expression unit, 136... Driving unit

Claims (5)

複数の所定動作の各々を実行可能に構成されたロボットであって、
前記複数の所定動作の各々の実際の実行頻度を表す実行頻度パラメータを取得する取得手段と、
前記所定動作ごとに設定された行動要求値のうちの最大の行動要求値に対応する動作を実行用動作として、前記複数の所定動作から選択する選択手段と、
前記選択手段によって選択された実行用動作を自機に実行させる動作制御手段と、
前記動作制御手段により前記実行用動作が実行された後、前記所定動作ごとに設定された行動要求値のうち、前記取得された実行頻度パラメータで表される実行頻度が他の所定動作より低い所定動作に対応する行動要求値を増大させることにより、前記実行頻度が他の所定動作より低い所定動作が前記実行用動作として選択されやすくなるよう前記選択手段を制御する選択制御手段と、
を備えることを特徴とするロボット。
A robot configured to be able to execute each of a plurality of predetermined actions,
acquisition means for acquiring an execution frequency parameter representing the actual execution frequency of each of the plurality of predetermined actions;
selection means for selecting an action corresponding to a maximum required action value among the action required values set for each of the predetermined actions, from the plurality of predetermined actions as an action to be executed;
operation control means for causing the machine to execute the execution operation selected by the selection means;
After the action for execution is executed by the action control means, among the action request values set for each of the predetermined actions, the execution frequency represented by the acquired execution frequency parameter is a predetermined action lower than the other predetermined actions. selection control means for controlling the selection means so that a predetermined action having a lower execution frequency than other predetermined actions is more likely to be selected as the action for execution by increasing an action request value corresponding to the action;
A robot characterized by comprising:
前記取得手段は、前記実行頻度パラメータとして、前記複数の所定動作の各々が実行されていない状態の継続時間を取得することを特徴とする、請求項1に記載のロボット。 2. The robot according to claim 1, wherein said obtaining means obtains, as said execution frequency parameter, a duration of a state in which each of said plurality of predetermined actions is not executed. 前記取得手段は、前記実行頻度パラメータとして、前記複数の所定動作の各々が実行された回数である実行回数を取得することを特徴とする、請求項1に記載のロボット。 2. The robot according to claim 1, wherein said obtaining means obtains, as said execution frequency parameter, the number of times each of said plurality of predetermined actions has been executed. 複数の所定動作の各々を実行可能に構成されたロボットの制御方法であって、
前記複数の所定動作の各々の実際の実行頻度を表す実行頻度パラメータを取得する取得ステップと、
前記所定動作ごとに設定された行動要求値のうちの最大の行動要求値に対応する動作を実行用動作として、前記複数の所定動作から選択する選択ステップと、
前記選択ステップにて選択された実行用動作を自機に実行させる動作制御ステップと、
前記動作制御ステップにて前記実行用動作が実行された後、前記所定動作ごとに設定された行動要求値のうち、前記取得された実行頻度パラメータで表される実行頻度が他の所定動作より低い所定動作に対応する行動要求値を増大させることにより、前記実行頻度が他の所定動作より低い所定動作が前記実行用動作として選択されやすくなるよう制御する制御ステップと、
を含むロボットの制御方法。
A robot control method configured to be able to execute each of a plurality of predetermined actions, comprising:
an acquisition step of acquiring an execution frequency parameter representing the actual execution frequency of each of the plurality of predetermined actions;
a selection step of selecting, as an action for execution, an action corresponding to a maximum required action value among the action required values set for each of the predetermined actions, from the plurality of predetermined actions;
an operation control step of causing the self-machine to execute the execution operation selected in the selection step;
After the action for execution is executed in the action control step, among the action request values set for each of the predetermined actions, the execution frequency represented by the acquired execution frequency parameter is lower than that of other predetermined actions. a control step of increasing the action request value corresponding to the predetermined action so that the predetermined action whose execution frequency is lower than that of other predetermined actions is more likely to be selected as the action for execution;
How to control the robot, including
複数の所定動作の各々を実行可能に構成されたロボットを制御するための制御装置のコンピュータを、
前記複数の所定動作の各々の実際の実行頻度を表す実行頻度パラメータを取得する取得手段、
前記所定動作ごとに設定された行動要求値のうちの最大の行動要求値に対応する動作を実行用動作として、前記複数の所定動作から選択する選択手段、
前記選択手段によって選択された実行用動作を自機に実行させる動作制御手段
前記動作制御手段により前記実行用動作が実行された後、前記所定動作ごとに設定された行動要求値のうち、前記取得された実行頻度パラメータで表される実行頻度が他の所定動作より低い所定動作に対応する行動要求値を増大させることにより、前記実行頻度が他の所定動作より低い所定動作が前記実行用動作として選択されやすくなるよう前記選択手段を制御する選択制御手段、
として機能させるためのプログラム。
a computer of a control device for controlling a robot configured to be able to execute each of a plurality of predetermined actions;
Acquisition means for acquiring an execution frequency parameter representing the actual execution frequency of each of the plurality of predetermined actions;
selection means for selecting an action corresponding to a maximum required action value among the action required values set for each of the predetermined actions as an execution action from the plurality of predetermined actions;
Operation control means for causing the machine to execute the execution operation selected by the selection means ;
After the action for execution is executed by the action control means, among the action request values set for each of the predetermined actions, the execution frequency represented by the acquired execution frequency parameter is a predetermined action lower than the other predetermined actions. selection control means for controlling the selection means so that a predetermined action having a lower execution frequency than other predetermined actions is more likely to be selected as the action for execution by increasing an action request value corresponding to the action;
A program to function as
JP2018226978A 2018-12-04 2018-12-04 Robot, robot control method and program Active JP7247560B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018226978A JP7247560B2 (en) 2018-12-04 2018-12-04 Robot, robot control method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018226978A JP7247560B2 (en) 2018-12-04 2018-12-04 Robot, robot control method and program

Publications (3)

Publication Number Publication Date
JP2020089929A JP2020089929A (en) 2020-06-11
JP2020089929A5 JP2020089929A5 (en) 2022-01-04
JP7247560B2 true JP7247560B2 (en) 2023-03-29

Family

ID=71012217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018226978A Active JP7247560B2 (en) 2018-12-04 2018-12-04 Robot, robot control method and program

Country Status (1)

Country Link
JP (1) JP7247560B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023037609A1 (en) * 2021-09-10 2023-03-16 ソニーグループ株式会社 Autonomous mobile body, information processing method, and program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163631A (en) 2000-11-29 2002-06-07 Toshiba Corp Dummy creature system, action forming method for dummy creature for the same system and computer readable storage medium describing program for making the same system action
JP2003191187A (en) 2001-12-21 2003-07-08 Sony Corp Robot device and method of controlling it
JP2004283957A (en) 2003-03-20 2004-10-14 Sony Corp Robot device, method of controlling the same, and program
JP2009136967A (en) 2007-12-06 2009-06-25 Honda Motor Co Ltd Communication robot
JP2010149276A (en) 1999-01-20 2010-07-08 Sony Corp Robot device and motion control method
JP2017226044A (en) 2016-06-23 2017-12-28 カシオ計算機株式会社 Robot, control method, and program of the robot

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010149276A (en) 1999-01-20 2010-07-08 Sony Corp Robot device and motion control method
JP2002163631A (en) 2000-11-29 2002-06-07 Toshiba Corp Dummy creature system, action forming method for dummy creature for the same system and computer readable storage medium describing program for making the same system action
JP2003191187A (en) 2001-12-21 2003-07-08 Sony Corp Robot device and method of controlling it
JP2004283957A (en) 2003-03-20 2004-10-14 Sony Corp Robot device, method of controlling the same, and program
JP2009136967A (en) 2007-12-06 2009-06-25 Honda Motor Co Ltd Communication robot
JP2017226044A (en) 2016-06-23 2017-12-28 カシオ計算機株式会社 Robot, control method, and program of the robot

Also Published As

Publication number Publication date
JP2020089929A (en) 2020-06-11

Similar Documents

Publication Publication Date Title
JP7231924B2 (en) Autonomous action robot whose activity level is controlled
CN110024000B (en) Behavior autonomous robot for changing pupil
JP2003340759A (en) Robot device and robot control method, recording medium and program
JP7452568B2 (en) Device control device, device control method and program
TWI413938B (en) Emotion engine, emotion engine system and electronic device control method
JP7081619B2 (en) Device control device, device, device control method and program
JP7247560B2 (en) Robot, robot control method and program
JP2003334785A (en) Robot behavior control system and behavior control method and robot device
JP7364016B2 (en) Robot, control method and program
JP2003305677A (en) Robot device, robot control method, recording medium and program
JP2023099625A (en) Equipment control device, equipment control method, and program
WO2020202540A1 (en) Characteristic data setting device, robot, terminal device, and characteristic data setting method
WO2019088160A1 (en) Autonomously acting robot capable of executing reflex action
JP7415989B2 (en) Robot, robot control method and program
WO2020009098A1 (en) Robot
JP7314967B2 (en) Electronic devices, robots, control methods and programs
JP7312511B1 (en) Behavior control method, behavior control program, behavior control device, and communication robot
JP7287411B2 (en) Equipment control device, equipment control method and program
JP7323729B1 (en) game device and program
JP2023160829A (en) Power supply control device of equipment, control method of equipment, and program
JP2003305674A (en) Robot device, robot control method, recording medium and program
JP2002192485A (en) Robot device, information display system and method, robot system, and recording medium
JP2024044691A (en) Equipment control device, equipment, equipment control method and program
US20190314732A1 (en) Emotionally Responsive Electronic Toy
JP2005074593A (en) Robot control device and method, recording medium, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230227

R150 Certificate of patent or registration of utility model

Ref document number: 7247560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150