JP7141614B2 - device - Google Patents
device Download PDFInfo
- Publication number
- JP7141614B2 JP7141614B2 JP2018093127A JP2018093127A JP7141614B2 JP 7141614 B2 JP7141614 B2 JP 7141614B2 JP 2018093127 A JP2018093127 A JP 2018093127A JP 2018093127 A JP2018093127 A JP 2018093127A JP 7141614 B2 JP7141614 B2 JP 7141614B2
- Authority
- JP
- Japan
- Prior art keywords
- state information
- state
- information group
- partial
- legs
- 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
Links
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、例えば、ロボットの脚部の動きを制御するための、状態変数群に対する解探索を行うデバイス等に関するものである。 The present invention relates to, for example, a device or the like that performs solution search for a group of state variables for controlling the motion of a leg of a robot.
一般的なコンピュータによるSAT(satisfiability problem:充足可能性問題)等の解探索では、状態変数の数が増えると、計算量が爆発的に増え、正解の取得に長い時間を要するようになる。そこで、従来、アメーバ型コンピュータが提案された(例えば、特許文献1参照)。アメーバ型コンピュータでは、状態変数の数が増えても、計算量は、例えば、線形に増えるに過ぎず、効率的な解探索が期待できる。 In a search for a solution such as a satisfiability problem (SAT) by a general computer, as the number of state variables increases, the amount of calculation increases explosively, and it takes a long time to obtain a correct answer. Therefore, conventionally, an amoeba-type computer has been proposed (see, for example, Patent Document 1). In amoeba-type computers, even if the number of state variables increases, the amount of computation increases, for example, only linearly, and efficient solution search can be expected.
本願の発明者らは、その脚部の動きを制御するデバイスに、アメーバ型コンピュータの原理を用いたロボット(以下、アメーバ型ロボットと記す)を発案した。 The inventors of the present application have devised a robot (hereinafter referred to as an amoeba-type robot) that uses the principle of an amoeba-type computer as a device for controlling the movement of its legs.
しかし、従来のアメーバ型コンピュータでは、特に、例えば、アメーバ型ロボットの脚部の動きを制御するための状態変数群に関し、コントローラからのフィードバックに対して解が更新されず、定常解を繰り返し取得する状態や解探索が不可能になる状態に陥る結果、効率的な解探索が困難となる場合があった。 However, in the conventional amoeba-type computer, the solution is not updated in response to the feedback from the controller, especially regarding the state variable group for controlling the movement of the legs of the amoeba-type robot, and the steady-state solution is obtained repeatedly. Efficient solution search may become difficult as a result of falling into a state or a state where solution search becomes impossible.
また、他の従来のデバイスでも、ロボット等の装置の状態情報群に対して効率的な解探索が行えない場合があった。 Also, other conventional devices may not be able to efficiently search for solutions for state information groups of devices such as robots.
本第一の発明のデバイスは、1または2以上の状態情報の集合である部分状態情報群に対応付けられたルールであり、禁止事項を示す1以上の負ルールを格納している格納部と、ダイオードとコンデンサとスイッチとを有する2以上の部分回路を有するコア回路と、2以上の各部分回路の状態を少なくとも示す状態情報の集合である状態情報群を取得し、状態情報群が有する1以上の各部分状態情報群に対応する負ルールに合致しない状態情報群を取得し、状態情報群に基づいて2以上の各部分回路に電流を流すまたは電流を止める、のいずれかの動作ための制御を行う制御部とを具備し、2以上の各部分回路が有する1以上のコンデンサの少なくとも一部のコンデンサの充電または放電の時定数が異なり、時定数が異なることにより、コア回路が有する2以上の部分回路のうち少なくとも一部の部分回路は、少なくとも一時的に、部分状態情報群に基づいた動作を行わないデバイスである。 A device according to a first aspect of the present invention is a rule associated with a group of partial state information, which is a set of one or more pieces of state information, and stores one or more negative rules indicating prohibited matters. , a core circuit having two or more partial circuits each having a diode, a capacitor, and a switch; Acquiring a state information group that does not match the negative rule corresponding to each of the above partial state information groups, and based on the state information group, supplying or stopping the current to each of the two or more partial circuits. and a control unit that performs control, and the time constants of charging or discharging of at least a part of the one or more capacitors included in each of the two or more partial circuits are different, and the time constants are different so that the two capacitors included in the core circuit are controlled. At least some of the above partial circuits are devices that do not operate based on the partial state information group, at least temporarily.
かかる構成により、定常解を繰り返し取得する状態や解探索が不可能になる状態に陥り難くなる結果、効率的な解探索が行える。 With this configuration, it becomes difficult to fall into a state in which a steady solution is repeatedly obtained or a state in which the solution search becomes impossible, and as a result, an efficient solution search can be performed.
また、本第二の発明のデバイスは、第一の発明に対して、2以上の部分回路は、ハブを介して接続され、ハブの中心から2以上の各部分回路に電流が供給されるデバイスである。 In addition, the device of the second invention is a device in which two or more partial circuits are connected via a hub, and current is supplied to each of the two or more partial circuits from the center of the hub, in contrast to the first invention. is.
かかる構成により、ハブ内の総電流は、キルヒホッフの法則に従って保存される。 With such a configuration, the total current in the hub is conserved according to Kirchhoff's law.
また、本第三の発明のデバイスは、第一または二の発明に対して、制御部は、2以上の各部分回路の状態を少なくとも示す状態情報の集合である状態情報群を取得する状態情報群取得手段と、状態情報群が有する1以上の各部分状態情報群に対応する1以上の負ルールを格納部から取得する負ルール取得手段と、負ルール取得手段が取得した1以上の負ルールのいずれにも合致しない正例の状態情報群を取得する正例取得手段と、正例の状態情報群に基づいて2以上の各部分回路に電流を流すまたは電流を止める、のいずれかの動作ための制御を行う制御手段とを具備するデバイスである。 Further, in the device of the third invention, in contrast to the first or second invention, the control unit acquires a state information group, which is a set of state information indicating at least the state of each of the two or more partial circuits. group acquisition means; negative rule acquisition means for acquiring, from a storage unit, one or more negative rules corresponding to one or more partial status information groups of the status information group; and one or more negative rules acquired by the negative rule acquisition means. a positive case acquisition means for acquiring a positive case state information group that does not match any of the above; and a control means for performing control for.
かかる構成により、例えば、アメーバ型ロボットの脚部の動きを制御するための状態変数群に関して、効率的な解探索が行える。 With such a configuration, for example, efficient solution search can be performed with respect to the state variable group for controlling the movement of the legs of the amoeba robot.
また、本第四の発明のデバイスは、第一から第三いずれか1つの発明に対して、コンデンサの容量の充電時間または放電時間が、制御部が状態情報群を取得した結果に応じた制御を行うまでの時間より長いデバイスである。 Further, in the device of the fourth invention, in contrast to any one of the first to third inventions, the charging time or discharging time of the capacity of the capacitor is controlled according to the result of the state information group acquired by the control unit. It is a device that takes longer than the time to do
かかる構成により、状態変化が制御に追い付かず、結果として動作が行われない場合が生じ、正解を発見できる可能性が高まる。 With such a configuration, the state change may not catch up with the control, and as a result, the operation may not be performed, increasing the possibility of finding the correct answer.
また、本第五の発明のデバイスは、第三の発明に対して、正例取得手段は、試行錯誤により、正例の状態情報群を取得するデバイスである。 In addition, in the device of the fifth invention, in contrast to the third invention, the positive example obtaining means is a device that obtains a state information group of positive cases by trial and error.
かかる構成により、効率よく正例の状態情報群を取得できる。 With such a configuration, it is possible to efficiently acquire a group of status information of positive cases.
また、本第六の発明のデバイスは、第一から第五いずれか1つの発明に対して、2以上の部分回路は、ロボットが有する2以上の脚部の動きを制御する回路であり、2以上の各脚部は、脚部が着地している状態か否かを検知するセンサ31を有し、状態情報群は、2以上の各脚部のセンサ31による検知結果を示す状態情報も含むデバイスである。
In addition, in the device of the sixth invention, in contrast to any one of the first to fifth inventions, the two or more partial circuits are circuits for controlling movements of the two or more legs of the robot; Each leg has a
かかる構成により、アメーバ型ロボットの脚部の動きを制御するための状態変数群に関して、効率的な解探索が行える。 With such a configuration, efficient solution search can be performed with respect to the state variable group for controlling the movement of the legs of the amoeba robot.
また、本第七の発明のデバイスは、第六の発明に対して、格納部は、着地している状態を示す脚部の数が予め決められた数以下である場合に、脚を上げることを禁止する第一の負ルールを格納しているデバイスである。 In addition, in the device of the seventh invention, in contrast to the sixth invention, the storage unit raises the leg when the number of legs indicating the state of landing is equal to or less than a predetermined number. is a device that stores the first negative rule that prohibits
かかる構成により、アメーバ型ロボットの脚部の動きを的確に制御できる。 With such a configuration, the movement of the legs of the amoeba robot can be accurately controlled.
また、本第八の発明のデバイスは、第六または第七の発明に対して、2以上の各脚部は、前後に移動可能であり、格納部は、2以上の脚部間の前後の位置関係に対応して、2以上の脚部のうち1以上の脚部の前後の動きを禁止する第二の負ルールを格納しているデバイスである。 Further, in the device of the eighth invention, in contrast to the sixth or seventh invention, each of the two or more legs can move back and forth, and the storage part can move back and forth between the two or more legs. It is a device that stores a second negative rule that prohibits back-and-forth movement of one or more legs out of two or more legs, corresponding to the positional relationship.
かかる構成により、アメーバ型ロボットの脚部の動きを的確に制御できる。 With such a configuration, the movement of the legs of the amoeba robot can be accurately controlled.
また、本第九の発明のデバイスは、第六から第八いずれか1つの発明に対して、2以上の各脚部は、上げ下げ可能であり、格納部は、2以上の各脚部に関し、脚部が着地している状態に対応して、脚部を下げた状態で前方に移動させることを禁止する第三の負ルール、および脚部が着地していない状態に対応して、脚部を上げた状態で後方に移動させることを禁止する第四の負ルールを格納しているデバイスである。 Further, in the device of the ninth invention, in the device of any one of the sixth to eighth inventions, each of the two or more legs can be raised and lowered, and the storage section relates to each of the two or more legs, A third negative rule that prohibits forward movement with the leg down, corresponding to the state of the leg being on the ground, and a leg It is a device that stores a fourth negative rule that prohibits backward movement with the up.
かかる構成により、アメーバ型ロボットの脚部の動きを的確に制御できる。 With such a configuration, the movement of the legs of the amoeba robot can be accurately controlled.
また、本第十の発明のデバイスは、第六から第九いずれか1つの発明に対して、格納部は、2以上の各脚部に関し、脚部の位置が前方または後方にある場合に、脚部と予め決められた位置関係にある他の脚部の動きを禁止する第五の負ルールを格納しているデバイスである。 In addition, in the device of the tenth invention, in contrast to any one of the sixth to ninth inventions, the storage part relates to each of the two or more legs, and when the legs are positioned forward or backward, A device that stores a fifth negative rule that prohibits the movement of other legs that have a predetermined positional relationship with the leg.
かかる構成により、アメーバ型ロボットの脚部の動きを的確に制御できる。 With such a configuration, the movement of the legs of the amoeba robot can be accurately controlled.
また、本第十一の発明のデバイスは、第六から第十いずれか1つの発明に対して、格納部は、2以上の各脚部に関し、脚部の上げ下げの状態と接地している状態か否かとの組み合わせに応じて、禁止されている移動を許可する第六の負ルールを格納しているデバイスである。 In addition, in the device of the eleventh invention, in the device of any one of the sixth to tenth inventions, the storage part has two or more legs, and the legs are raised and lowered and grounded. A device storing a sixth negative rule that permits prohibited movements according to a combination of whether or not.
かかる構成により、アメーバ型ロボットの脚部の動きを的確に制御できる。 With such a configuration, the movement of the legs of the amoeba robot can be accurately controlled.
また、本第十二の発明のデバイスは、第十一の発明に対して、第六の負ルールは、同じ状態情報群に対して、2種類以上の動きを許可し得るデバイスである。 In addition, the device of the twelfth invention is a device in which, in contrast to the eleventh invention, the sixth negative rule permits two or more types of movement for the same state information group.
かかる構成により、定常解を繰り返し取得する状態や解探索が不可能になる状態から脱出できる可能性が高まり、その結果、アメーバ型ロボットの脚部の動きを的確に制御できる。 Such a configuration increases the possibility of escaping from a state in which steady solutions are repeatedly obtained or a state in which solution search is impossible, and as a result, the leg movements of the amoeba robot can be controlled accurately.
本発明によれば、例えば、ロボット等の装置の状態変数群に対して効率的な解探索が行える。 According to the present invention, for example, efficient solution search can be performed for a group of state variables of a device such as a robot.
以下、デバイスを有するロボットの実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。 An embodiment of a robot having a device will be described below with reference to the drawings. It should be noted that, since components denoted by the same reference numerals in the embodiments perform similar operations, repetitive description may be omitted.
図1は、本実施の形態におけるロボットのブロック図である。ロボットは、デバイス1、胴体2、2以上(例えば、4つ、8つ等)の脚部3、および駆動機構4を備える。
FIG. 1 is a block diagram of the robot according to this embodiment. The robot comprises a
デバイス1については後述する。胴体2は、例えば、柔軟性を有する素材で構成され、図示しない中空部を有し、その中空部内が与圧されていてもよい。ただし、胴体2の素材や構造は問わない。
脚部3は、上下および前後に移動可能である。脚部3もまた、例えば、ゴムやエストラマ等の柔軟性を有する素材で構成され、図示しない中空部を有し、その中空部内が与圧されていてもよい。この場合、脚部3の上下および前後の移動は、その伸縮および屈曲によって実現される。または、脚部3は、金属や炭素繊維等の固い素材で構成され、関節を有していてもよい。この場合における上下および前後の移動は、関節の折り曲げによって実現される。
The
また、脚部3は、センサ31を備える。センサ31は、脚部3が着地している状態か否かを検知し、検知結果を出力する。検知結果とは、例えば、脚部3が着地している状態か否かを示す情報(例えば、着地している状態を示す“on”,着地していない状態を示す“off”等)である。または、検出結果は、接地を検知していない状態では出力されず、接地を検知したことに応じて出力される信号でもよいし、接地を検知していない状態で継続的に出力され、接地を検知したことに応じて停止される信号でも構わない。ただし、脚部3の素材や構成は問わない。
The
また、センサ31は、例えば、タッチセンサであるが、距離センサや押しボタン等でもよく、着地している状態か否かを検知し得る素子であれば、その種類は問わない。また、センサ31が出力する検知結果の態様も問わない。
Further, the
駆動機構4は、2以上の各脚部3の上下および前後の移動を実現するための機構(例えば、アクチュエータ)である。駆動機構4は、例えば、2以上の脚部3ごとに、その中空部内に対して空気の注入および排出を行うブロワと、その中空部内に取り付けられた1以上のワイヤと、1以上のワイヤの巻取りを行う電動リールとを有している。または、駆動機構4は、2以上の脚部3ごとに、その関節を折り曲げるための1以上のモータを有していてもよい。ただし、駆動機構4の構成は問わない。
The
デバイス1は、駆動機構4を介して、2以上の各脚部3を駆動する。具体的には、デバイス1は、駆動機構4を構成する電動リールやモータ等の2以上の電動素子の電流を制御することにより、2以上の各脚部3を駆動し、それによって、ロボットの移動を実現する。
The
なお、ロボットは、例えば、市販の多脚ロボットでもよく、そのハードウェア構成は問わない。また、デバイス1は、ロボット以外の装置に設けられても構わない。ロボット以外の装置とは、例えば、化学反応シミュレータである。化学反応シミュレータは、例えば、共有結合する有機分子化合物の化学反応プロセスのシミュレート、および反応生成物の予測を行う。ここでは、物理原理または一般化学反応則のうち1以上に反する結合状態が、負ルールとされる。
Note that the robot may be, for example, a commercially available multi-legged robot, and its hardware configuration does not matter. Also, the
図2は、デバイス1のブロック図である。デバイス1は、格納部11、コア回路12、および制御部13を備える。
FIG. 2 is a block diagram of the
コア回路12は、2以上の部分回路121を備える。2以上の部分回路121は、例えば、ハブを介して接続され、このハブの中心から2以上の各部分回路121に、電流が供給される。かかる構成により、ハブ内の総電流は、キルヒホッフの法則に従って保存される結果、例えば、体積が保存されるアメーバに相当するアメーバ型ロボットの動きが実現できる。
The
制御部13は、状態情報群取得手段131、負ルール取得手段132、正例取得手段133、および制御手段134を備える。
The
デバイス1を構成する格納部11は、各種の情報を格納し得る。各種の情報とは、例えば、1または2以上の負ルールである。負ルールとは、禁止事項に関するルールである。禁止事項とは、行っていけない事柄である。負ルールは、例えば、1または2以上の状態情報の集合である部分状態情報群に対応付けられたルールであり、禁止事項を示すルールである。部分状態情報群とは、状態情報群の一部分である。状態情報群とは、1または2以上の状態情報の集合である。状態情報とは、状態を示す情報である。なお、状態情報、状態情報群、および部分状態情報群の詳細については後述する。
The storage unit 11 configuring the
禁止事項は、例えば、ロボットの転倒を回避するために、2以上の脚部3の動作に関して禁止された事項であるといってもよい。負ルールは、具体的には、例えば、「一度に3本以上の足を上げることは禁止」といったルールである。
Prohibited items may be, for example, prohibited items related to the movement of two or
なお、格納部11は、例えば、正ルールも格納し得る。正ルールとは、守るべきルールである。ただし、格納部11は、正ルールを格納しないことは好適である。または、正ルールがなくても、ロボットは、負ルールに基づいて的確な動きを行うことができる、といってもよい。 Note that the storage unit 11 can also store, for example, regular rules. A positive rule is a rule that must be followed. However, it is preferable that the storage unit 11 does not store the correct rule. Alternatively, even if there is no positive rule, it can be said that the robot can perform accurate movements based on the negative rule.
格納部11は、例えば、第一の負ルールを格納している。第一の負ルールとは、ロボットが有する2以上の脚部3のうち、着地している状態を示す脚部3の数が、予め決められた数以下である場合に、脚を上げることを禁止するルールである。予め決められた数とは、例えば、2であるが、ロボットが2つの脚部3しか有さない場合は、1でもよい。
The storage unit 11 stores, for example, a first negative rule. The first negative rule is that when the number of
第一の負ルールは、例えば、“if(センサonの脚が2本以下),then(脚を上げることを禁止)”等であるが、その表現形式は問わない。 The first negative rule is, for example, "if (the number of legs with the sensor on is two or less), then (the leg is prohibited from being lifted)", but the form of expression does not matter.
また、格納部11は、例えば、第二の負ルールを格納している。第二の負ルールとは、2以上の脚部3の間の前後の位置関係に対応して、2以上の脚部3のうち1以上の脚部3の前後の動きを禁止するルールである。
The storage unit 11 also stores, for example, a second negative rule. The second negative rule is a rule that prohibits forward and backward movement of one or
第二の負ルールは、例えば、“if(右、左前脚のどちらかが後方にある),then(片方の脚が後方に動くことを禁止)”、“if(右、左後脚のどちらかが前方にある),then(片方の脚が前方に動くことを禁止)”等であるが、許可の取消でもよく、その表現形式は問わない。 The second negative rule is, for example, "if (either right or left front leg is behind), then (one leg is prohibited from moving backward)", "if (either right or left rear leg is One leg is in front), then (one leg is prohibited from moving forward)”, etc., but it may be a revocation of permission, and the form of expression does not matter.
また、格納部11は、第三および第四の2つの負ルールを格納している。第三の負ルールとは、2以上の各脚部3に関し、脚部3が着地している状態に対応して、脚部3を下げた状態で前方に移動させることを禁止するルールである。第四の負ルールとは、同じく2以上の各脚部3に関し、脚部3が着地していない状態に対応して、脚部3を上げた状態で後方に移動させることを禁止するルールである。
The storage unit 11 also stores two negative rules, the third and the fourth. The third negative rule is a rule that prohibits moving forward with the
第三の負ルールは、例えば、“if(センサon),then(前方に動くこと+下げた状態を禁止、and後方に動くこと+下げた状態を許可)”であり、第四の負ルールは、例えば、“if(センサoff),then(後方に動くこと+上げた状態を禁止、and前方に動くこと+上げた状態を許可)であるが、その表現形式は問わない。 The third negative rule is, for example, "if (sensor on), then (moving forward + prohibiting lowered state, and allowing backward movement + lowered state)", and the fourth negative rule is, for example, "if (sensor off), then (prohibit backward movement + raised state, and allow forward movement + raised state), but the expression format is not limited.
また、格納部11は、例えば、第五の負ルールを格納している。第五の負ルールとは、2以上の各脚部3に関し、脚部3の位置が前方または後方にある場合に、脚部3と予め決められた位置関係にある他の脚部3の動きを禁止するルールである。
The storage unit 11 also stores, for example, a fifth negative rule. The fifth negative rule is that for each of two or
第五の負ルールは、例えば、“if(脚が前方にある),then(点対称な位置にある脚が前方以外に動くことを禁止)”、“if(脚が後方にある),then(点対称な位置にある脚が後方以外に動くことを禁止)”等であるが、その表現形式は問わない。 The fifth negative rule is, for example, "if (the leg is in front), then (the leg in the point-symmetrical position is prohibited from moving other than forward)", "if (the leg is in the back), then (It is prohibited for the leg in a point-symmetrical position to move in any direction other than backward)”, but the form of expression does not matter.
また、格納部11は、例えば、第六の負ルールを格納している。第六の負ルールとは、2以上の各脚部3に関し、脚部3の上げ下げの状態と、接地している状態か否かとの組み合わせに応じて、禁止されている移動を許可するルールである。組み合わせとは、例えば、脚の上げ下げと接地の有無に関し、“脚を下げた状態かつ接地した状態(センサon)”、“脚を上げた状態かつ接地していない状態(センサoff)”、“脚を下げた状態かつ接地した状態(センサon)”、および“脚を上げた状態かつ接地した状態(センサon)”の4通りである。
The storage unit 11 also stores, for example, a sixth negative rule. The sixth negative rule is a rule that permits prohibited movements for each of two or
第六の負ルールは、例えば、禁止された動き“脚を下ろしたまま方向を変えること”を許可するルール“if(脚を下げた状態かつセンサoff),then(脚を下ろしたまま方向を変えることを許可)”である。 The sixth negative rule is, for example, the rule "if (with leg down and sensor off), then (change direction with leg down") that permits the prohibited movement "change direction with leg down". permission to change)”.
または、第六の負ルールは、禁止された動き“その方向のまま脚を下ろすこと”を許可するルール“if(脚を上げた状態かつセンサoff),then(その方向のまま脚を下ろすことを許可)”でもよい。 Alternatively, the sixth negative rule is a rule that permits the prohibited movement "lowering the leg in that direction", "if (with the leg raised and the sensor off), then (lowering the leg in that direction"). allowed)”.
または、第六の負ルールは、禁止された動き“方向を変えて脚を下ろすこと”を許可するルール“if(脚を上げた状態かつセンサoff),then(方向を変えて脚を下ろすことを許可)”でもよい。 Or, the sixth negative rule is the rule "if (leg up and sensor off), then (change direction and drop leg") that permits the prohibited movement "change direction and drop leg". allowed)”.
または、第六の負ルールは、禁止された動き“その方向のまま脚を上げること”を許可するルール“if(脚を下げた状態かつセンサon)”,then(その方向のまま脚を上げることを許可)でもよい。 Alternatively, the sixth negative rule is the rule "if (with the leg lowered and the sensor on)" that permits the prohibited movement "raising the leg in that direction", then (raising the leg in that direction allowed).
または、第六の負ルールは、禁止された動き“方向を変えて脚を上げること”を許可するルール“if(脚を下げた状態かつセンサon),then(方向を変えて脚を上げることを許可)”でもよい。 Or, the sixth negative rule is the rule "if (leg down and sensor on), then (change direction and lift leg") that allows the prohibited movement "turn leg up". allowed)”.
または、第六の負ルールは、禁止された動き“その方向のまま脚を下ろすこと”を許可するルール“if(脚を上げた状態かつセンサon),then(その方向のまま脚を下ろすことは禁止)”でもよい。 Alternatively, the sixth negative rule is a rule that permits the prohibited movement “lowering the leg in that direction”, “if (with the leg raised and the sensor on), then (lowering the leg in that direction”). is prohibited)” is acceptable.
ただし、第六の負ルールの表現形式は問わない。また、第六の負ルールは、例えば、上記6例のうち2例以上に対応するルール群を含んでいてもよい。 However, the expression form of the sixth negative rule does not matter. Also, the sixth negative rule may include, for example, rule groups corresponding to two or more of the above six examples.
なお、第六の負ルールは、例えば、上記6例のうち、2つ目と3つ目、4つ目と5つ目がそうであるように、同じ状態情報群に対して、2種類以上の動きを許可し得る。これによって、例えば、後述する具体例において、定常解を繰り返し取得する状態や解探索が不可能になる状態から脱出できる可能性が高まり、その結果、アメーバ型ロボットの脚部3の動きを的確に制御できる。なお、解探索が不可能になる状態とは、同時刻に全ての変数が同値をとろうとして、コンフリクトを起こした状態である。この状態でシステムがロックされる結果、ロボット1は、動作を停止したり、不安定な場所で転倒したりする。
It should be noted that the sixth negative rule, for example, the second and third, fourth and fifth of the above six examples, for the same state information group, two or more movement. As a result, for example, in a specific example to be described later, the possibility of escaping from a state in which steady-state solutions are repeatedly obtained or a state in which solution search is impossible increases, and as a result, the movement of the
コア回路12を構成する2以上の部分回路121の各々は、ダイオードとコンデンサとスイッチとを有する。ダイオードは、一の方向(順方向)にのみ電流を流し、逆の方向には電流を流さない。コンデンサは、ダイオードを介して流れ込む電気を蓄え、蓄えた電気を、スイッチを介して放出する。
Each of the two or more
2以上の部分回路121の間で、コンデンサの充電または放電の時定数(以下、充放電時時定数、または単に時定数と記す場合がある)が異なることは好適である。充放電時時定数は、基本的には、当該コンデンサの静電容量で決まるが、当該コンデンサと接続されている他の回路要素(例えば、ダイオード、抵抗、スイッチ等)によっても変化する。従って、2以上の部分回路121の間で、たとえコンデンサの静電容量が同一であっても、例えば、抵抗の値やダイオードの特性が異なっていたり、スイッチを実現するNOTゲート等の閾値が異なっていたりしていれば、充放電時時定数が異なる結果となる。
It is preferable that the two or more
スイッチは、コンデンサへの充電が可能な状態と、コンデンサからの放電が可能な状態とを切り替える。つまり、コンデンサは、スイッチがOFFの状態で充電可能であり、スイッチがONの状態で放電可能である。 The switch switches between a state in which the capacitor can be charged and a state in which the capacitor can be discharged. That is, the capacitor can be charged when the switch is OFF and discharged when the switch is ON.
部分回路121は、通常、抵抗も有する。抵抗は、例えば、コンデンサの充放電の時定数を大きくする。時定数とは、コンデンサの充放電に要する時間である。スイッチがONされたタイミングに対し、コンデンサへの充電が完了するタイミングは、時定数に応じた時間だけ遅延する。同様に、スイッチがOFFされたタイミングに対し、充電されたコンデンサからの放電が完了するタイミングもまた、時定数に応じた時間だけ遅延する。
なお、スイッチは、例えば、NOTゲートで構成されるが、インバータを用いてもよく、その実現手段は問わない。また、部分回路121は、その他の素子も有してよいことは言うまでもない。その他の素子とは、例えば、具体例で説明する電界効果トランジスタ(FET)であるが、その種類は問わない。
Note that the switch is composed of, for example, a NOT gate, but an inverter may be used, and any means for realizing it may be used. It goes without saying that the
制御部13は、コア回路12を構成する2以上の部分回路121介して、2以上の脚部3の動きを制御する。詳しくは、制御部13は、コア回路12を構成する2以上の各部分回路121の状態を少なくとも示す状態情報の集合である状態情報群を取得し、当該状態情報群が有する1以上の各部分状態情報群に対応する負ルールに合致しない状態情報群を取得し、当該状態情報群に基づいて2以上の各部分回路121に電流を流すまたは電流を止める、のいずれかの動作ための制御を行う。
The
状態情報とは、状態を示す情報である。状態とは、例えば、部分回路121の状態である。部分回路121の状態を示す情報とは、例えば、コンデンサに蓄えられている電気量、充電中か放電中かを示す情報等であるが、抵抗を流れる電流の値や電圧等でもよい。
State information is information indicating a state. The state is, for example, the state of the
または、状態とは、センサ31の状態でもよい。センサ31の状態を示す状態情報は、例えば、前述した“on”や“off”等であるが、その表現形式は問わない。
Alternatively, the state may be the state of the
または、状態とは、脚部3の状態であってもよい。脚部3の状態を示す状態情報とは、例えば、“脚を上げた状態”、“脚を下ろした状態”、“後方に移動した状態”、前方に移動した状態、“接地した状態”、“接地していない状態”等である。
Alternatively, the state may be the state of the
なお、“接地した状態”および“接地していない状態”は、センサ31の“on”および“off”と同等である。それ以外の“脚を上げた状態”等の情報は、例えば、部分回路121の状態を示す状態情報を用いて取得されてもよい。ただし、状態情報は、例えば、駆動機構4の状態を示す情報(例えば、電動リールの電流値、関節の角度等)など、ロボットの構成要素の状態を示す情報であれば何でもよい。また、ロボット以外の装置の構成要素の状態を示す情報でも構わない。
The “grounded state” and “non-grounded state” are equivalent to “on” and “off” of the
状態情報群とは、上記のような各種の状態情報の集合である。状態情報群は、コア回路12を構成する2以上の各部分回路121の状態情報を少なくとも含む。また、図1に示したロボットの場合、状態情報群は、通常、センサ31の状態情報も含む。
A state information group is a set of various types of state information as described above. The state information group includes at least state information of each of the two or more
なお、状態情報群は、例えば、具体例で説明する状態変数群{X1,X2,X3,X4・・・}でもよい。状態変数群を構成する各状態変数“X1”,“X2”等は、真(例えば“1”)または偽(例えば“0”)のいずれかの値をとる。 The state information group may be, for example, a state variable group {X1, X2, X3, X4, . . . } described in a specific example. Each of the state variables "X1", "X2", etc. forming the state variable group takes a value of either true (eg "1") or false (eg "0").
この場合、格納部11には、例えば、図3に示すような2以上の負ルールが格納されていてもよい。図3は、負ルールのデータ構造図である。負ルールは、状態情報群と、禁止事項とを有する。状態情報群は、1または2以上の状態変数X1~X4等で構成される。 In this case, the storage unit 11 may store, for example, two or more negative rules as shown in FIG. FIG. 3 is a data structure diagram of a negative rule. A negative rule has a state information group and prohibited matters. The state information group is composed of one or more state variables X1 to X4.
状態変数X1は、例えば、脚部3を上げている状態か否かを示す変数であり、真“脚を上げた状態”に対応する“1”、または偽“脚を下げた状態”に対応する“0”のいずれかの値をとる。なお、真偽と“0”,“1”の対応は逆でもよい(以下同様)。
The state variable X1 is, for example, a variable indicating whether or not the
また、状態変数X2は、例えば、脚部3を前に移動した状態か否かを示す変数であり、真“前に移動した状態”に対応する“1”、または偽“前に移動していない状態”に対応する“0”のいずれかの値をとる。同様に、状態変数X3は、例えば、脚部3を後ろに移動した状態か否かを示す変数であり、真“後ろに移動した状態”に対応する“1”、または偽“後ろに移動していない状態”に対応する“0”のいずれかの値をとる。
The state variable X2 is, for example, a variable indicating whether or not the
さらに、状態変数X4は、例えば、脚部3が接地している状態か否かを示す変数であり、真“接地した状態”に対応する“1”、または偽“接地していない状態”に対応する“0”のいずれかの値をとる。
Further, the state variable X4 is, for example, a variable indicating whether or not the
格納されている2以上の負ルールには、ID(例えば、“1”,“2”等)が対応付いている。例えば、ID“1”に対応する負ルール(以下、負ルール1と記す場合がある)は、状態情報群“0,1,0,1・・・”と禁止事項“点対称な位置にある脚が前方以外に動くことを禁止”とを有する。また、ID“2”に対応する負ルール(負ルール2)は、状態情報群“0,0,1,1・・・”と禁止事項“点対称な位置にある脚が前方以外に動くことを禁止”とを有する。 Two or more stored negative rules are associated with IDs (for example, "1", "2", etc.). For example, the negative rule corresponding to ID "1" (hereinafter sometimes referred to as negative rule 1) is positioned symmetrically with the state information group "0, 1, 0, 1..." It is forbidden to move the legs other than forward.” In addition, the negative rule (negative rule 2) corresponding to the ID "2" is the state information group "0, 0, 1, 1..." have a "forbidden".
同様に、負ルール3は、状態情報群“Null,0,0,1・・・”と禁止事項“前方に動くこと+下げた状態を禁止、and後方に動くこと+下げた状態を許可”とを有し、負ルール4は、状態情報群“Null,0,0,0・・・”と禁止事項“後方に動くこと+上げた状態を禁止、and前方に動くこと+上げた状態を許可”とを有する。なお、“Null”は、当該状態変数の値が“0”または“1”のどちらでもよいことを示す。
Similarly, the
ただし、負ルールのデータ構造は問わない。負ルールは、後述する具体例におけるバウンスバックルールでもよい。 However, the data structure of the negative rule does not matter. A negative rule may be a bounceback rule in a specific example described later.
状態情報群取得手段131は、例えば、2以上の部分回路121ごとに、当該部分回路121の1以上の状態情報を含む状態情報群を取得する。
The state information
または、状態情報群取得手段131は、2以上の脚部3ごとに、当該脚部3に対応する部分回路121の1以上の状態情報と、当該脚部3に対応するセンサ31の状態情報とを含む状態情報群を取得してもよい。
Alternatively, the state information group acquisition means 131 obtains, for each of two or
負ルール取得手段132は、状態情報群取得手段131が取得した2以上の状態情報群ごとに、当該状態情報群が有する1または2以上の各部分状態情報群に対応する1または2以上の負ルールを格納部11から取得する。 Negative rule obtaining means 132 obtains, for each of two or more status information groups obtained by status information group obtaining means 131, one or two or more negative rules corresponding to one or two or more partial status information groups possessed by the status information group. A rule is acquired from the storage unit 11 .
部分状態情報群とは、各種の状態情報の集合である状態情群の部分集合である、といってもよい。例えば、状態変数群{X1,X2,X3,X4}の場合、その1以上の部分状態情報群は、{X1},{X2}・・・,{X1,X2},{X2,X3}・・・,{X1,X2,X3},{X1,X2,X4}・・・,{X1,X2,X3,X4}等である。 It can be said that the partial state information group is a subset of the state information group, which is a set of various types of state information. For example, in the case of the state variable group {X1, X2, X3, X4}, the one or more partial state information groups are {X1}, {X2}, {X1, X2}, {X2, X3}. . . , {X1, X2, X3}, {X1, X2, X4} . . . , {X1, X2, X3, X4}.
負ルール取得手段132は、例えば、上記のような1以上の部分状態変数群ごとに、当該状態情報群をキーとして格納部11を検索し、当該状態変数群に対応する負ルールを取得する。従って、一の状態情報群に対して、1以上の部分状態情報群が取得され、その各々に対して、1以上の負ルールが取得され得る。
For example, the negative
正例取得手段133は、正例の状態情報群を取得する。正例の状態情報群とは、負ルール取得手段132が取得した1以上の負ルールのいずれにも合致しない状態情報群である。 The positive case obtaining means 133 obtains a state information group of positive cases. A positive example state information group is a state information group that does not match any of the one or more negative rules acquired by the negative rule acquisition means 132 .
正例取得手段133は、例えば、試行錯誤により、正例の状態情報群を取得する。試行錯誤とは、試行錯誤とは、未知の課題に対して、既知の解決法がない場合に、試みと失敗を繰り返しながら、最後には課題を解決するに至るプロセスをいう。試行錯誤は、例えば、具体例で説明するような、状態変数群に対する解探索でもよい。
The positive
すなわち、正例取得手段133は、例えば、取得された1以上の負ルールのいずれにも合致しない状態変数群(これを{X1=1,X2=0,X3=0,X4=1}とする)を構成する1以上の各状態変数を反転し、その反転した状態変数群(すなわち{X1=0,X2=1,X3=1,X4=0})を用いて、単位時間Δt後の状態変数群を計算する処理を、前回の計算結果と今回の計算結果とが一致するまで繰り返す。 That is, the positive example acquiring means 133, for example, obtains a state variable group that does not match any of the one or more negative rules (this is {X1=1, X2=0, X3=0, X4=1} ), and using the inverted state variable group (that is, {X1 = 0, X2 = 1, X3 = 1, X4 = 0}), the state after a unit time Δt The process of calculating the variable group is repeated until the previous calculation result and the current calculation result match.
そして、正例取得手段133は、前回の計算結果と今回の計算結果とが一致した状態変数群を、正例の状態情報群として取得する。なお、正例取得手段133は、こうして取得した正例の状態情報群を格納部11に蓄積してもよい。
Then, the positive
制御手段134は、正例取得手段133が取得した正例の状態情報群に基づいて、2以上の各部分回路121に電流を流すまたは電流を止める、のいずれかの動作ための制御を行っても良い。詳しくは、例えば、上述した第六の負ルールを構成する条件(if・・・)および許可事項(then・・・)のうち、前者(例えば、“足を上げた下げた状態かつセンサoff”等)が正例の状態情報群に該当し、後者(例えば、“足を下ろしたまま方向を変えることを許可”等)が正例の状態情報群に基づく制御に対応する。
The control means 134 controls the operation of either supplying or stopping the current to each of the two or more
以上のように構成されたデバイス1において、コア回路12を構成する2以上の各部分回路121が有する1以上のコンデンサの少なくとも一部のコンデンサの静電容量が異なることは好適である。静電容量が異なることは、例えば、2以上の部分回路121が、各々一のコンデンサのみを有する場合に、当該2以上のコンデンサの間で静電容量がばらついていることである。または、静電容量が異なることは、2以上の部分回路121が、各々2以上のコンデンサを有する場合には、例えば、一の部分回路121が有する2以上のコンデンサの間で静電容量がばらついていることでもよいし、2以上の部分回路121の間で静電容量のばらつきの程度が異なることでもよい。静電容量が異なることにより、コア回路12が有する2以上の部分回路121のうち少なくとも一部の部分回路121は、少なくとも一時的に、部分状態情報群に基づいた動作を行わない。
In the
なお、動作を行わないことは、例えば、制御手段134の制御に対する当該一部の部分回路121の状態変化が遅く、結果として、当該一部の部分回路121の動作が行われない場合も含む。
It should be noted that not operating includes, for example, a case where the
または、コア回路12を構成する2以上の部分回路121の間で、コンデンサの充放電時定数が異なっていてもよい。なお、充放電時定数は、例えば、コンデンサの静電容量によって、または、コンデンサの静電容量と抵抗の値との組み合わせによって、変化する。
Alternatively, the charge/discharge time constants of the capacitors may be different between the two or more
コンデンサの充放電時定数が異なることにより、少なくとも一部の部分回路121では、コンデンサの容量の充電時間または放電時間が、制御部13が正例の状態情報群を取得した結果に応じた制御を行うまでの時間より長くなり、結果として、当該一部の部分回路121の動作が行われない場合がある。
Due to the difference in the charging and discharging time constants of the capacitors, in at least some of the
なお、後述する具体例では、コンデンサの充放電時定数が、コントローラからコア回路12へのフィードバック時間より長いことによっても、少なくとも一部の部分回路121の動作が行われない結果をもたらす場合がある。
In a specific example described later, even if the charge/discharge time constant of the capacitor is longer than the feedback time from the controller to the
こうして、少なくとも一部の部分回路121の動作が行われないことにより、ロボットの2以上の各脚部3の動きを制御するための状態変数群に関して、定常解を繰り返し取得する状態や解探索が不可能になる状態に陥り難くなる結果、効率的な解探索が行える。
In this way, at least a portion of the
格納部11は、例えば、フラッシュメモリ等の不揮発性の記録媒体が好適であるが、RAMなど揮発性の記録媒体でも実現可能である。 The storage unit 11 is preferably a non-volatile recording medium such as a flash memory, but can also be realized by a volatile recording medium such as a RAM.
格納部11等に情報が記憶される過程は問わない。例えば、メモリカード等の記録媒体を介して情報が格納部11等で記憶されるようになってもよく、ネットワークや通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。入力デバイスは、例えば、タッチパネル、キーボード等、何でもよい。 It does not matter how the information is stored in the storage unit 11 or the like. For example, information may be stored in the storage unit 11 or the like via a recording medium such as a memory card, or information transmitted via a network, a communication line, or the like may be stored in the storage unit 11 or the like. Alternatively, information input via an input device may be stored in the storage unit 11 or the like. Any input device such as a touch panel, a keyboard, or the like may be used.
制御部13、状態情報群取得手段131、負ルール取得手段132、正例取得手段133、および制御手段134は、通常、MPUやメモリ等から実現され得る。制御部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。ただし、処理手順は、ハードウェア(専用回路)で実現してもよい。
The
次に、デバイス1の動作について図4のフローチャートを用いて説明する。なお、このフローチャートの処理は、例えば、マイコン等のコンピュータによってソフト的に実行されるが、論理ゲートによるデジタル回路または論理演算を行うアナログ回路でハード的に実行されてもよい。
Next, the operation of the
(ステップS401)制御部13は、変数iに初期値1をセットする。変数iとは、コア回路12を構成する2以上の部分回路121のうち、未選択の部分回路121を順番に選択していくための変数である。なお、アナログ回路の場合、連続時間で動作するため、変数iは理解のための便宜的なものになる。
(Step S401) The
(ステップS402)制御部13は、i番目の部分回路121があるか否かを判別する。i番目の部分回路121がある場合はステップS403に進み、i番目の部分回路121がない場合はステップS401に戻る。
(Step S402) The
(ステップS403)状態情報群取得手段131は、i番目の部分回路121に対応する状態情報群を取得する。
(Step S403) The state information
(ステップS404)負ルール取得手段132は、ステップS403で取得された状態情報群に対応する1以上の負ルールを格納部11から取得する。
(Step S404) The negative
(ステップS405)正例取得手段133は、ステップS404で取得された1以上の負ルールのいずれにも合致しない正例の状態情報群を取得する。
(Step S405) The positive
(ステップS406)制御手段134は、ステップS405で取得された正例の状態情報群を用いて、i番目の部分回路121に電流を流す又は電流を止める、のいずれかの動作ための制御を行う。
(Step S406) The control means 134 uses the state information group of the positive example acquired in step S405 to control the operation of either supplying or stopping the current to the i-th
(ステップS407)制御部13は、変数iをインクリメントする。その後、ステップS402に戻る。
(Step S407) The
なお、図4のフローチャートにおいて、デバイス1の電源オフや処理終了の割り込みにより処理は終了する。
In the flowchart of FIG. 4, the process ends when the power of the
以下、本実施の形態におけるロボットの具体的な動作例について説明する。本例のロボットは、図4に示すようなアメーバ型ロボットである。なお、このロボットの脚数は4であるが、8や6等、2以上であれば何脚でもよい。このロボットの各脚(仮足ユニット:pseudopod unit)は、図1に示したロボットの各脚部3に相当する。各脚は、関節を有し、上下および前後の各方向に移動可能である。各脚の先端には、センサ31に相当するタッチセンサが設けられている。
A specific operation example of the robot according to the present embodiment will be described below. The robot of this example is an amoeba type robot as shown in FIG. Although this robot has four legs, it may have any number of legs, such as eight or six, as long as it has two or more legs. Each leg (pseudopod unit) of this robot corresponds to each
そして、このロボットは、デバイス1に相当する電子アメーバ(Electronic amoeba)を有する。電子アメーバは、単細胞のアメーバ生物(amoeboid organism:以下、単細胞アメーバ)の餌食行動からインスピレーションを得て、組合せ最適化問題の解を探索するように設計されている。単細胞アメーバは、与えられた制約を満たしながら、食物摂取量を最大限にしようとする。
This robot then has an Electronic amoeba that corresponds to
詳しくは、第一に、単細胞アメーバは、仮足を、ある程度のゆらぎを以て、一方向に拡張する。電子アメーバは、状態変数に対応して、仮足ユニット内のダイオードを流れる一方向の電流によって、かかる仮足の動きを表す。単細胞アメーバの変形のゆらぎおよび誤差は、電子アメーバにおいては、ランダムビット発生器を用いて電子的に実現される。または、電源などに雑音をいれることでも、同様なゆらぎおよび誤差が得られる。 Specifically, first, single-celled amoeba extend pseudopodia in one direction with some degree of fluctuation. Electronic amoeba exhibit such pseudopodic movements by means of unidirectional currents flowing through diodes within the pseudopodia unit, corresponding to state variables. Deformation fluctuations and errors in single-celled amoeba are realized electronically in electronic amoeba using a random bit generator. Alternatively, similar fluctuations and errors can be obtained by introducing noise into the power supply or the like.
第二に、単細胞アメーバは、体積保存によって、その変形が制約される。体積保存による変形の制約は、仮足間の時空間相関を生じさせる。電子アメーバにおいて、体積保存は、仮足ユニットの星形ネットワークの中心におけるキルヒホッフの法則によって表現される。 Second, unicellular amoebae are constrained in their deformation by volume conservation. Constraints on deformation by volume conservation give rise to spatiotemporal correlations between pseudopodia. In the electronic amoeba, volume conservation is expressed by Kirchhoff's law at the center of the star-shaped network of pseudopodia units.
第三に、単細胞アメーバは、光の照射を受けると、その仮足が収縮する。この光回避は、アメーバ形状を意図的に変形させるために用いられる。光回避の特性は、各仮足ユニット内におけるコンデンサを有する電界効果トランジスタによる電流制御によって表現される。 Third, unicellular amoebae contract their pseudopodia when exposed to light. This light avoidance is used to intentionally deform the amoeba shape. The property of light avoidance is represented by current control by field effect transistors with capacitors in each pseudopod.
図6には、上記のような電子アメーバの回路構成が、単細胞アメーバと共に示されている。電子アメーバは、コア回路12に相当するアメーバコア(amoeba core)と、制御部13に相当するコントローラと、格納部11に相当する図示しないメモリとを有する。
FIG. 6 shows the circuitry of an electronic amoeba as described above, together with a unicellular amoeba. The electronic amoeba has an amoeba core corresponding to the
メモリには、負ルールに対応するバウンスバックルールが格納されている。なお、バウンスバックルールは、単細胞アメーバの「与えられた制約」に相当するルールであるといってもよい。また、バウンスバックルールは、プログラムに組み込まれていても構わない。さらに、プログラムで記載されている論理関数を、論理ゲートによる回路で直接実装しても構わない。 Stored in memory is a bounceback rule that corresponds to the negative rule. The bounceback rule can be said to be a rule corresponding to the "given constraints" of the single-celled amoeba. Bounceback rules may also be built into the program. Furthermore, a logic function written in a program may be directly implemented by a circuit of logic gates.
アメーバコアは、部分回路121に相当する2以上(図6では8つ)の仮足ユニット(pseudopod unit)を有する。これら2以上の仮足ユニットは、ハブに相当する星形ネットワーク(star-topology network)を介して接続されている。星形ネットワークの中心(ハブ)に電流が供給され、供給された電流は、2以上の各仮足ユニットに分配される。各仮足ユニットには、電流Iiが入力され、各仮足ユニットの出力Xiが、コントローラに与えられる。コントローラは、各仮足ユニットからの出力Xiに対し、バウンスバックルール基づくフィードバック信号yiを生成して、各仮足ユニットに与える。フィードバック信号とは、状態変数を更新するための信号であり、バウンスバック信号とも呼ばれる。
The amoeba core has two or more (eight in FIG. 6) pseudopod units corresponding to
各仮足ユニットにはまた、図示しないランダムビット発生器が発生するエラー信号eiも与えられる。エラー信号とは、単細胞アメーバの変形の誤差ないしはゆらぎを実現する信号である、といってもよい。 Each pseudopod is also provided with an error signal ei generated by a random bit generator (not shown). It can be said that the error signal is a signal that realizes the deformation error or fluctuation of the single-celled amoeba.
図7には、各仮足ユニットの回路構成と、各仮足ユニットに与えられる、異なる特性の3つのエラー信号の波形とが示される。まず、回路構成に関し、仮足ユニットの入力端は、抵抗Rを介して、ダイオードのアノード側に接続され、ダイオードのカソード側は、NOTゲートを介して出力端に接続される。ダイオードのカソード側はまた、コンデンサCを介して接地されており、ダイオードのカソード側とコンデンサCとの間に第一のFFTが、コンデンサCと接地との間に、第一のFETと直列の第二のFETが、それぞれ接続されている。そして、第一のFETにフィードバック信号yiが、第二のFETにはエラー信号eiが、それぞれ与えられる。 FIG. 7 shows the circuit configuration of each pseudopodia unit and the waveforms of three error signals with different characteristics given to each pseudopodia unit. First, regarding the circuit configuration, the input terminal of the pseudopod unit is connected to the anode side of the diode via the resistor R, and the cathode side of the diode is connected to the output terminal via the NOT gate. The cathode side of the diode is also grounded through a capacitor C, and a first FFT is connected between the cathode side of the diode and capacitor C, and in series with the first FET between capacitor C and ground. A second FET is connected respectively. A feedback signal yi is applied to the first FET, and an error signal ei is applied to the second FET.
例えば、各仮足ユニットのコンデンサCの静電容量は10nFであり、抵抗Rは100Ωである。ただし、静電容量また抵抗値のうち1種類以上は、仮足ユニット間でばらついていることは好適である。例えば、仮足ユニット間での静電容量等の相対ばらつきは、100%未満であることが望ましい。相対ばらつきとは、例えば、単位や平均等が異なる2以上の集団におけるばらつきの程度を相対的に示す値であるといってもよい。相対ばらつきは、例えば、標準偏差を算術平均で割った相対標準偏差(変動係数ともいう)であるが、ばらつきの程度を相対的に表現し得る値であれば、その種類は問わない。ばらつきが大きすぎると、デバイス1が動作しなくなる場合があるからである。
For example, the capacitance of the capacitor C of each pseudopod unit is 10 nF and the resistance R is 100Ω. However, it is preferable that one or more of the capacitance and resistance values vary among the pseudopod units. For example, it is desirable that the relative variation in capacitance, etc. between pseudopodia units be less than 100%. The relative variability can be said to be a value that relatively indicates the degree of variability in two or more groups with different units, averages, or the like, for example. The relative variation is, for example, the relative standard deviation (also referred to as coefficient of variation) obtained by dividing the standard deviation by the arithmetic mean, but any value can be used as long as it can relatively express the degree of variation. This is because if the variation is too large, the
ハブに注入される電流は10μAである。変数の数Nは12であり、冗長変数の数は2N=24である。コントローラのクロック周波数は84MHzであり、コンデンサCの充放電速度よりも十分に速い。 The current injected into the hub is 10 μA. The number of variables N is 12 and the number of redundant variables is 2N=24. The clock frequency of the controller is 84 MHz, which is sufficiently faster than the charging/discharging speed of the capacitor C.
ゆらぎの原因となるエラー信号としては、Xorshift法で生成したランダムビット列を用いる。エラー信号は、バウンスバック信号とは無関係に“0”を生成する。 A random bit string generated by the Xorshift method is used as the error signal that causes the fluctuation. The error signal produces a "0" regardless of the bounceback signal.
図7下段に示されたe1~e3のような異なる特性のエラー信号は、解探索に影響を及ぼす。エラー確率pは、一度にどれくらいの仮足ユニットがエラー信号を受信したかを意味する。エラー周期λは、エラービット幅と隣接ビット間の平均時間間隔との和である。λを増加させると、誤差のビット幅と時間間隔の両方が増加する。電子アメーバの状態変数Xiは、仮足ユニットの出力端(つまり、NOTゲートの出力電圧)から取得される。 Error signals with different characteristics such as e1 to e3 shown in the lower part of FIG. 7 affect the solution search. The error probability p means how many pseudopodia units received an error signal at one time. The error period λ is the sum of the error bit width and the average time interval between adjacent bits. Increasing λ increases both the bit width and the time interval of the error. The state variable Xi of the electronic amoeba is obtained from the output of the pseudopod unit (ie the output voltage of the NOT gate).
図8には、4変数の時間発展(a)と、エラー確率ごとの、エラー期間λの変化に応じた探索時間の変動(b)とが示される。 FIG. 8 shows the time evolution of the four variables (a) and the search time variation (b) according to the change in the error period λ for each error probability.
図8(a)において、エラー確率pは0.65、状態変数の数は24である。すべてのiとjについて、初期状態Xi_j=1から探索プロセスを開始すると、状態変数はそれぞれ変化し、時々振動的挙動を示す。エラー信号が仮足ユニットにランダムに課されると、電子アメーバは別の状態になる。エラー信号を数回与えた後、系は定常状態に達し安定する。これにより、安定状態の状態変数が常に制約式を満たしていること、すなわちアメーバコアが解を見つけ得ることが確認できる。 In FIG. 8(a), the error probability p is 0.65 and the number of state variables is 24. Starting the search process from the initial state Xi_j=1 for all i and j, each of the state variables changes and sometimes shows an oscillatory behavior. When an error signal is randomly imposed on the pseudopodia unit, the electronic amoeba goes into another state. After applying the error signal several times, the system reaches a steady state and stabilizes. This confirms that the steady-state state variables always satisfy the constraints, that is, the amoeba core can find a solution.
一方、振動状態は、アメーバコアが変数間の不一致を解決できないことを示唆している。系はローカライズされた状態になり、ローカライズされた状態から逃れるために、系にエラー信号を与えることが必要となる。言い換えれば、アメーバコアは、最終的な解が見出されるまで、ダイナミクスを維持する。これは、すべての状態変数が制約式を満たすまで、バウンスバックルールが状態変数の少なくとも1つを反転し続けるためである。 On the other hand, the oscillatory state suggests that the amoeba core cannot resolve discrepancies between variables. The system becomes localized and it becomes necessary to provide an error signal to the system in order to escape from the localized state. In other words, the amoeba core maintains its dynamics until a final solution is found. This is because the bounceback rule continues to flip at least one of the state variables until all state variables satisfy the constraint.
また、図8(b)からは、エラー確率が解の検索効率に関連することがわかる。各曲線は最小値を有し、それによって、解探索時間を最小にする最適誤差周期の存在が示される。このデータは、最適誤差周期は誤差確率に依存すること、および、静電容量の充電時定数程度の時間であることを示しており、それによって、解探索時間も最小化する最適なエラー確率pの値が存在することがわかる。 Also, from FIG. 8(b), it can be seen that the error probability is related to the solution retrieval efficiency. Each curve has a minimum value, which indicates the existence of an optimal error period that minimizes the solution search time. This data shows that the optimal error period depends on the error probability and is of the order of the charging time constant of the capacitance, thereby minimizing the optimal error probability p It can be seen that there exists a value of
このように、本例の電子アメーバは、センサ31信号と以前の状態に応じて、まっすぐ歩く適切な状態を見出す。電子アメーバに転倒や迷いを避けるための制約を与えておけば、歩く方法をプログラムしておく必要はない。
Thus, the electronic amoeba of the present example finds the proper state of walking straight, depending on the
以上、本実施の形態によれば、デバイス1は、1または2以上の状態情報の集合である部分状態情報群に対応付けられたルールであり、禁止事項を示す1以上の負ルールを格納している格納部11と、ダイオードとコンデンサとスイッチとを有する2以上の部分回路121を有するコア回路12と、2以上の各部分回路121の状態を少なくとも示す状態情報の集合である状態情報群を取得し、状態情報群が有する1以上の各部分状態情報群に対応する負ルールに合致しない状態情報群を取得し、状態情報群に基づいて2以上の各部分回路121に電流を流すまたは電流を止める、のいずれかの動作ための制御を行う制御部13とを具備する。そして、2以上の各部分回路121が有する1以上のコンデンサの少なくとも一部のコンデンサの充電または放電の時定数が異なることにより、コア回路12が有する2以上の部分回路121のうち少なくとも一部の部分回路121は、少なくとも一時的に、部分状態情報群に基づいた動作を行わない。かかるデバイス1によれば、例えば、アメーバ型ロボットの脚部3の動きを制御するための状態変数群に関しても、定常解を繰り返し取得する状態や解探索が不可能になる状態に陥り難くなる結果、効率的な解探索が行える。
As described above, according to the present embodiment, the
また、上記デバイス1において、2以上の部分回路121は、ハブを介して接続され、ハブの中心から2以上の各部分回路121に電流が供給されることにより、ハブ内の総電流は、キルヒホッフの法則に従って保存される結果、例えば、体積が保存されるアメーバに相当するロボットの動きが実現できる。
In the
また、上記デバイス1において、制御部13は、2以上の各部分回路121の状態を少なくとも示す状態情報の集合である状態情報群を取得する状態情報群取得手段131と、状態情報群が有する1以上の各部分状態情報群に対応する1以上の負ルールを格納部11から取得する負ルール取得手段132と、負ルール取得手段132が取得した1以上の負ルールのいずれにも合致しない正例の状態情報群を取得する正例取得手段133と、正例の状態情報群に基づいて2以上の各部分回路121に電流を流すまたは電流を止める、のいずれかの動作ための制御を行う制御手段134とを具備することにより、例えば、アメーバ型ロボットの脚部3の動きを制御するための状態変数群に関して、効率的な解探索が行える。
In the
また、上記デバイス1において、コンデンサの容量の充電時間または放電時間が、制御部13が状態情報群を取得した結果に応じた制御を行うまでの時間より長いことにより、状態変化が制御に追い付かず、結果として動作が行われない場合が生じ、正解を発見できる可能性が高まる。
In addition, in the
また、上記デバイス1において、正例取得手段133は、試行錯誤により、正例の状態情報群を取得することにより、効率よく正例の状態情報群を取得できる。
In the
また、上記デバイス1において、2以上の部分回路121は、ロボットが有する2以上の脚部3の動きを制御する回路であり、2以上の各脚部3は、脚部3が着地している状態か否かを検知するセンサ31を有し、状態情報群は、2以上の各脚部3のセンサ31による検知結果を示す状態情報も含むことにより、アメーバ型ロボットの脚部3の動きを制御するための状態変数群に関して、効率的な解探索が行える。
In the
また、上記デバイス1において、格納部11は、着地している状態を示す脚部3の数が予め決められた数以下である場合に、脚を上げることを禁止する第一の負ルールを格納していることにより、アメーバ型ロボットの脚部3の動きを的確に制御できる。
Further, in the
また、上記デバイス1において、2以上の各脚部3は、前後に移動可能であり、格納部11は、2以上の脚部3間の前後の位置関係に対応して、2以上の脚部3のうち1以上の脚部3の前後の動きを禁止する第二の負ルールを格納していることにより、アメーバ型ロボットの脚部3の動きを的確に制御できる。
In addition, in the
また、上記デバイス1において、2以上の各脚部3は、上げ下げ可能であり、格納部11は、2以上の各脚部3に関し、脚部3が着地している状態に対応して、脚部3を下げた状態で前方に移動させることを禁止する第三の負ルール、および脚部3が着地していない状態に対応して、脚部3を上げた状態で後方に移動させることを禁止する第四の負ルールを格納していることにより、アメーバ型ロボットの脚部3の動きを的確に制御できる。
In addition, in the
また、上記デバイス1において、格納部11は、2以上の各脚部3に関し、脚部3の位置が前方または後方にある場合に、脚部3と予め決められた位置関係にある他の脚部3の動きを禁止する第五の負ルールを格納していることにより、アメーバ型ロボットの脚部3の動きを的確に制御できる。
Further, in the
また、上記デバイス1において、格納部11は、2以上の各脚部3に関し、脚部3の上げ下げの状態と接地している状態か否かとの組み合わせに応じて、禁止されている移動を許可する第六の負ルールを格納していることにより、アメーバ型ロボットの脚部3の動きを的確に制御できる。
In the
また、上記デバイス1において、第六の負ルールは、同じ状態情報群に対して、2種類以上の動きを許可し得ることにより、定常解を繰り返し取得する状態や解探索が不可能になる状態から脱出できる可能性が高まり、その結果、アメーバ型ロボットの脚部3の動きを的確に制御できる。
In the
なお、本実施の形態では、コア回路12を構成する2以上の各部分回路121はアナログ回路であり、かかる部分回路121間でコンデンサの充電または放電の時定数が異なることにより、少なくとも一部の部分回路121は、少なくとも一時的に、部分状態情報群に基づいた動作を行わない結果となったが、コア回路12を構成する2以上の各部分回路121がデジタル回路であっても、かかる部分回路121間で、例えば、その出力に異なる遅延を付加したり、その出力を確率論的に遅れさせたりすることにより、少なくとも一部の部分回路121は、少なくとも一時的に、部分状態情報群に基づいた動作を行わない結果となるようにすることができる。
In the present embodiment, the two or more
従って、本実施の形態、および上記のような変形例(変形例1)によれば、2以上の各部分回路121がアナログ回路かデジタル回路かによらず、少なくとも一部の部分回路121は、少なくとも一時的に、部分状態情報群に基づいた動作を行わない結果を得ることが可能であり、状態情報群に対し効率的な解探索が行える。
Therefore, according to the present embodiment and the above modification (modification 1), regardless of whether the two or more
また、デバイス1が上記のような2以上の部分回路121で構成されたコア回路12を有さないような変形例(変形例2)においても、例えば、制御部13が、2以上の各脚部3の動きを制御する際に、脚部間で異なる遅延が生じるような処理をソフト的に行うことによって、2以上の脚部3のうち少なくとも一部の脚部3は、少なくとも一時的に、部分状態情報群に基づいた動作を行わない結果となるようにすることができる。
Further, even in a modification (modification 2) in which the
脚部間で異なる遅延が生じるような処理とは、例えば、各脚部3への制御信号を0と1の間で変化させるタイミングを、MPUの動作クロックに基づく周期(以下、単位時間と記す場合がある)の整数倍だけ遅延させる処理であるが、結果的に脚部間で異なる遅延が生じるような処理であれば、その手順は問わない。ここで、単位時間は、例えば、数マイクロ秒程度である。ただし、単位時間は、マイクロ秒より短いオーダーの時間でもよいし、10マイクロ秒以上の時間でもよく、その値は問わない。
The processing that causes different delays between the legs means, for example, that the timing of changing the control signal to each
これに対して、実施の形態で説明したアナログのコア回路12を構成する2以上の各部分回路121で生じる遅延は、例えば、数ミリ秒~数百ミリ秒の範囲で揺らいでいる。ただし、各部分回路121で生じる遅延は、例えば、ミリ秒より短いオーダーの時間でもよいし、1秒以上の時間でもよく、その値や揺らぎの範囲は問わない。
On the other hand, the delay generated in each of the two or more
従って、コア回路12で生じる上記のような遅延と同等の遅延をソフト的に実現するには、各脚部3への制御信号を、例えば、単位時間の1千~10万倍程度の範囲で、ランダムに又は所定のアルゴリズムで遅延させればよい。
Therefore, in order to realize a delay equivalent to the above-described delay generated in the
すなわち、ロボットにおける動作のタイムスケールは、デバイス1の内部における動作のタイムスケールと異なるため、ロボットの動作が不安定になることを回避するには、制御部13は、ロボットにおける動作のタイムスケールに応じた長さの遅延であり、かつ揺らいだ遅延を生じさせればよい。
That is, since the timescale of the motion of the robot is different from the timescale of the motion inside the
脚部間で異なる遅延が生じることは、例えば、2以上の脚部3のうち、1以上の脚部3においてのみ、予め決められた長さ(例えば、10万単位時間)の遅延が生じ、他の1以上の脚部3においては、何ら遅延が生じないことでもよい。
A delay of a predetermined length (eg, 100,000 units of time) occurs only in one or
そのための処理として、制御部13は、例えば、2以上の脚部3ごとに、乱数を発生させ、当該乱数(例えば、5390、1253、5326等)を予め決められた数(例えば、10)で除算し、その剰余(例えば、0、3、6等)が、予め決められた値(例えば、0)である場合は、当該脚部3への制御信号を予め決められた時間(例えば、10万単位時間)だけ遅延させ、予め決められた値とは異なる値(例えば、3、6等)である場合は、当該脚部3への制御信号を遅延させない、といった処理を行う。これにより、2以上の各脚部3は、一定の確率(例えば、10分の1の確率)で、その動きが予め決められた時間(例えば、10万単位時間)だけ遅延する結果となる。
As a process therefor, the
なお、制御部13は、除算を行う際の上記予め決められた数を変更することによって、確率を変化させてもよい(例えば、予め決められた数が100の場合、各脚部3の動きが遅延する確率は100分の1となる)。
Note that the
または、脚部間で異なる遅延が生じることは、2以上の脚部3のうち、少なくとも一部の脚部3において、予め決められた範囲(例えば、1万単位時間~9万単位時間)内で、ランダムな長さの遅延が生じることでもよい。
Alternatively, the occurrence of different delays between the legs is within a predetermined range (for example, 10,000 unit time to 90,000 unit time) in at least some of the two or
そのための処理として、制御部13は、例えば、2以上の脚部3ごとに、乱数を発生させ、当該乱数(例えば、5390、1253、5326等)を予め決められた数(例えば、10)で除算し、その剰余(例えば、0、3、6等)に応じた長さ(例えば、0、3万単位時間、6万単位時間)だけ、当該脚部3への制御信号を遅延させる、といった処理を行う。これにより、2以上の各脚部3は、その動きが、例えば、0~9万単位時間の範囲内で、ランダムな長さだけ遅延する結果となる。
As a process therefor, the
従って、変形例2によっても、状態情報群に対し効率的な解探索が行える結果、動作が不安定になり難いロボットが実現される。 Therefore, according to the modified example 2 as well, as a result of efficient solution search for the state information group, a robot whose motion is less likely to become unstable is realized.
そして、変形例2によれば、デバイス1をロボット以外の装置に用いる場合にも、制御部1は、その装置における動作のタイムスケールに応じた長さの遅延であり、かつ揺らいだ遅延を生じさせることによって、装置の動作の安定化を図ることができる。また、デバイス1の内部において、そのデバイスの動作のタイムスケールに応じた長さ(例えば、単位時間の数倍程度)の遅延であり、かつ揺らいだ遅延を生じさせることによって、デバイス1自体の動作の安定化を図ることもできる。
According to
ただし、デバイス1がコア回路12を有していれば、当該デバイス1における又はそれを有するロボット等の装置における動作のタイムスケールに応じた充放電時定数であり、かつ揺らいだ充放電時定数を有するコンデンサ群を用いることで、制御部13が上記のような処理を行う必要がなくなり、制御部13を実現するMPU等への負荷が軽減される。
However, if the
または、予め決められた条件を満たした場合に、制御部13は、2以上の脚部3のうち少なくとも一部の脚部3を、少なくとも一時的に、部分状態情報群に基づいた動作を行わないように制御してもよい。予め決められた条件は、通常、部分状態情報群以外の情報に関する条件である。部分状態情報群以外の情報は、例えば、カメラからの画像、湿度センサや温度センサからの情報といった、ロボットの外部の情報(環境情報といってもよい)である。
Alternatively, when a predetermined condition is satisfied, the
詳しくは、例えば、ロボットが移動する範囲を撮影するカメラが、ロボット自体又はその外部に設けられている。カメラからの画像に関する条件は、「高周波成分が閾値より多い又は閾値以上である」という条件である。それによって、例えば、地面が荒れている場合は、部分状態情報群に基づく動作が行われず、ロボットの転倒を回避できる可能性が高まる。 Specifically, for example, a camera that captures the range in which the robot moves is provided on the robot itself or on the outside thereof. The condition for the image from the camera is that "high frequency components are greater than or equal to the threshold". As a result, for example, when the ground is rough, the motion based on the partial state information group is not performed, increasing the possibility of avoiding the overturning of the robot.
また、例えば、ロボット自体又はロボットが移動する範囲に、温度センサが設けられている。温度センサからの温度情報に関する条件は、「温度が閾値より低い又は閾値以下である」という条件である。それによって、例えば、地面が凍結している場合は、部分状態情報群に基づく動作が行われず、ロボットのスリップによる衝突や転倒を回避できる可能性が高まる。 Also, for example, a temperature sensor is provided on the robot itself or in the range in which the robot moves. The condition regarding the temperature information from the temperature sensor is that "the temperature is lower than or equal to the threshold". As a result, for example, when the ground is frozen, the motion based on the partial state information group is not performed, increasing the possibility of avoiding a collision or overturn due to the robot slipping.
さらに、例えば、ロボット自体又はロボットが移動する範囲に、湿度センサが設けられている。湿度センサからの湿度情報に関する条件は、「湿度が閾値より高い又は閾値以上であること」である。それによって、例えば、雨で地面が濡れている場合に、部分状態情報群に基づく動作が行われないことで、ロボットのスリップによる衝突や転倒を回避できる可能性が高まる。 Furthermore, humidity sensors are provided, for example, on the robot itself or in the area in which it moves. The condition for humidity information from the humidity sensor is "the humidity is higher than or equal to the threshold". As a result, for example, when the ground is wet due to rain, the motion based on the partial state information group is not performed, thereby increasing the possibility of avoiding a collision or falling due to a slip of the robot.
また、本実施の形態では、1または2以上の状態情報の集合である部分状態情報群に対応付けられたルールであり、禁止事項を示す1以上の負ルールを格納している格納部11、ダイオードとコンデンサとスイッチとを有する2以上の部分回路121を有するコア回路12、および制御部13によって、例えば、以下のような制御方法が実現される。前記制御部13は、状態情報群取得手段131、負ルール取得手段132、正例取得手段133、および制御手段134を具備し、この制御方法は、前記状態情報群取得手段131が、前記2以上の各部分回路121の状態を少なくとも示す状態情報の集合である状態情報群を取得する状態情報群取得ステップと、前記負ルール取得手段132が、当該状態情報群が有する1以上の各部分状態情報群に対応する1以上の負ルールを前記格納部11から取得する負ルール取得ステップと、前記正例取得手段133が、前記負ルール取得手段132が取得した1以上の負ルールのいずれにも合致しない正例の状態情報群を取得する正例取得ステップと、前記制御手段134が、前記正例の状態情報群に基づいて前記2以上の各部分回路121に電流を流すまたは電流を止める、のいずれかの動作ための制御を行う制御ステップと含み、前記2以上の各部分回路121が有する1以上のコンデンサの少なくとも一部のコンデンサの充電または放電の時定数が異なり、当該時定数が異なることにより、前記コア回路12が有する2以上の部分回路121のうち少なくとも一部の部分回路121は、少なくとも一時的に、前記部分状態情報群に基づいた動作を行わない制御方法である。
In addition, in the present embodiment, the storage unit 11 stores one or more negative rules indicating prohibited items, which are rules associated with a partial state information group that is a set of one or more state information, For example, the following control method is realized by the
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。 Furthermore, the processing in this embodiment may be realized by software. Then, this software may be distributed by software download or the like. Also, this software may be recorded on a recording medium such as a CD-ROM and distributed.
なお、本実施の形態におけるデバイス1を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、ダイオードとコンデンサとスイッチとを有する2以上の部分回路121を有するコア回路12を具備するデバイス1のコンピュータは、1または2以上の状態情報の集合である部分状態情報群に対応付けられたルールであり、禁止事項を示す1以上の負ルールを格納している格納部11にアクセス可能であり、このプログラムは、前記コンピュータを、前記2以上の各部分回路121の状態を少なくとも示す状態情報の集合である状態情報群を取得する状態情報群取得手段131と、当該状態情報群が有する1以上の各部分状態情報群に対応する1以上の負ルールを前記格納部11から取得する負ルール取得手段132と、前記負ルール取得手段132が取得した1以上の負ルールのいずれにも合致しない正例の状態情報群を取得する正例取得手段133と、前記正例の状態情報群に基づいて前記2以上の各部分回路121に電流を流すまたは電流を止める、のいずれかの動作ための制御を行う制御手段134として機能させ、前記2以上の各部分回路121が有する1以上のコンデンサの少なくとも一部のコンデンサの充電または放電の時定数が異なり、当該時定数が異なることにより、前記コア回路12が有する2以上の部分回路121のうち少なくとも一部の部分回路121は、少なくとも一時的に、前記部分状態情報群に基づいた動作を行わない、プログラムである。
Note that the software that implements the
図9は、実施の形態におけるプログラムを実行して、デバイス1を実現するコンピュータシステム900の内部構成の一例を示す図である。図9において、コンピュータシステム900は、プログラムを実行するコンピュータであるMPU911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、およびデータを記憶するストレージ914と、MPU911、ROM912等を相互に接続するバス915と、外部ネットワークや内部ネットワーク等のネットワークへの接続を提供するネットワークカード916と、メモリカードスロット917と、コア回路12とを備える。ストレージ914は、例えば、フラッシュメモリやSSDなどである。なお、コンピュータシステム900全体をコンピュータと呼んでもよい。
FIG. 9 is a diagram showing an example of the internal configuration of a
コンピュータシステム900に、デバイス1の機能を実行させるプログラムは、例えば、メモリカード920に記憶されて、メモリカードスロット917に挿入され、ストレージ914に転送されてもよい。これに代えて、そのプログラムは、ネットワークを介してコンピュータシステム900に送信され、ストレージ914に記憶されてもよい。プログラムは、実行の際にRAM913にロードされる。なお、プログラムは、メモリカード920、またはネットワークから直接、ロードされてもよい。
A program that causes
プログラムは、コンピュータシステム900に、デバイス1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。ただし、以上は例示であり、デバイス1を実現するコンピュータのハードウェア構成は問わない。
The programs may not necessarily include an operating system (OS), third-party programs, etc. that cause the
なお、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。(ただし、複数のコンピュータで分散処理を行うことは、例えば、コンピュータ間で異なる遅延を容易に付加できる又は確率論的に異なる遅延の発生が予期できることから、好適である。また、一のコンピュータで集中処理(例えば、時分割処理)を行う場合にも、異なる遅延を付加したり、確率論的に異なる遅延の発生が予期されるような制御を行ったりすることは可能である。 The number of computers that execute the above programs may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed. (However, performing distributed processing on multiple computers is preferable because, for example, different delays can be easily added between computers, or the occurrence of different delays can be expected stochastically. Even when performing centralized processing (for example, time-division processing), it is possible to add different delays or perform control in which different delays are expected stochastically.
また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。ただし、複数の装置によって分散処理を行うことは、例えば、装置間で異なる遅延を容易に付加できる又は確率論的に異なる遅延の発生が予期できる点で、好適である。また、一の装置で集中処理を行う場合にも、異なる遅延を付加したり、確率論的に異なる遅延の発生が予期されるような制御を行ったりすることは可能である。 In the above embodiments, each process (each function) may be implemented by centralized processing by a single device (system), or may be implemented by distributed processing by a plurality of devices. may However, distributed processing by a plurality of devices is preferable in that, for example, it is possible to easily add different delays between the devices or to predict the occurrence of different delays stochastically. Also, even when centralized processing is performed by one device, it is possible to add different delays or perform control in which the occurrence of different delays can be expected stochastically.
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。 It goes without saying that the present invention is not limited to the above-described embodiments, and that various modifications are possible and are also included within the scope of the present invention.
以上のように、本発明にかかるデバイスは、ロボット等の装置の状態情報群に対して効率的な解探索が行えるという効果を有し、デバイス等として有用である。 INDUSTRIAL APPLICABILITY As described above, the device according to the present invention has the effect of being able to efficiently search for a solution for a state information group of a device such as a robot, and is useful as a device or the like.
1 デバイス
2 胴体
3 脚部
4 駆動機構
11 格納部
12 コア回路
13 制御部
31 センサ
121 部分回路
131 状態情報群取得手段
132 負ルール取得手段
133 正例取得手段
134 制御手段
REFERENCE SIGNS
Claims (5)
ダイオードとコンデンサとスイッチとを有する2以上の部分回路を有するコア回路と、
前記2以上の各部分回路の状態を少なくとも示す状態情報の集合である状態情報群を取得し、当該状態情報群が有する1以上の各部分状態情報群に対応する負ルールに合致しない状態情報群を取得し、当該状態情報群に基づいて前記2以上の各部分回路に電流を流すまたは電流を止める、のいずれかの動作ための制御を行う制御部とを具備し、
前記2以上の各部分回路が有する1以上のコンデンサの少なくとも一部のコンデンサの充電または放電の時定数が異なり、
当該時定数が異なることにより、前記コア回路が有する2以上の部分回路のうち少なくとも一部の部分回路は、少なくとも一時的に、前記部分状態情報群に基づいた動作を行わないデバイスであって、
前記2以上の部分回路は、ロボットが有する2以上の脚部の動きを制御する回路であり、
前記2以上の各脚部は、当該脚部が着地している状態か否かを検知するセンサを有し、
前記状態情報群は、前記2以上の各脚部のセンサによる検知結果を示す状態情報も含む、デバイス。 a storage unit that stores one or more negative rules that are rules associated with a partial state information group that is a set of one or two or more pieces of state information and that indicate prohibited items;
a core circuit having two or more sub-circuits with diodes, capacitors and switches;
Obtaining a state information group that is a set of state information indicating at least the state of each of the two or more partial circuits, and obtaining a state information group that does not match a negative rule corresponding to each of the one or more partial state information groups included in the state information group and a control unit that performs control for either passing or stopping the current to each of the two or more partial circuits based on the state information group,
At least some of the one or more capacitors included in each of the two or more partial circuits have different time constants for charging or discharging,
A device in which at least some of the two or more partial circuits included in the core circuit do not operate based on the group of partial state information at least temporarily due to the different time constants ,
The two or more partial circuits are circuits for controlling movements of two or more legs of the robot,
each of the two or more legs has a sensor for detecting whether or not the leg is on the ground;
The device, wherein the state information group also includes state information indicating detection results by the sensors of the two or more legs .
前記ハブの中心から前記2以上の各部分回路に電流が供給される請求項1記載のデバイス。 the two or more partial circuits are connected via a hub;
2. The device of claim 1, wherein current is supplied to each of said two or more sub-circuits from the center of said hub.
前記2以上の各部分回路の状態を少なくとも示す状態情報の集合である状態情報群を取得する状態情報群取得手段と、
当該状態情報群が有する1以上の各部分状態情報群に対応する1以上の負ルールを前記格納部から取得する負ルール取得手段と、
前記負ルール取得手段が取得した1以上の負ルールのいずれにも合致しない正例の状態情報群を取得する正例取得手段と、
前記正例の状態情報群に基づいて前記2以上の各部分回路に電流を流すまたは電流を止める、のいずれかの動作ための制御を行う制御手段とを具備する請求項1または2記載のデバイス。 The control unit
state information group acquisition means for acquiring a state information group, which is a set of state information indicating at least the state of each of the two or more partial circuits;
negative rule acquisition means for acquiring from the storage unit one or more negative rules corresponding to one or more partial state information groups included in the state information group;
positive example acquisition means for acquiring a positive example state information group that does not match any of the one or more negative rules acquired by the negative rule acquisition means;
3. The device according to claim 1 or 2, further comprising control means for controlling an operation of supplying or stopping current to each of the two or more partial circuits based on the state information group of the positive example. .
試行錯誤により、正例の状態情報群を取得する請求項3記載のデバイス。 The positive example acquisition means is
4. The device of claim 3, wherein the group of positive status information is obtained by trial and error.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018093127A JP7141614B2 (en) | 2018-05-14 | 2018-05-14 | device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018093127A JP7141614B2 (en) | 2018-05-14 | 2018-05-14 | device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019198902A JP2019198902A (en) | 2019-11-21 |
| JP7141614B2 true JP7141614B2 (en) | 2022-09-26 |
Family
ID=68612811
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018093127A Active JP7141614B2 (en) | 2018-05-14 | 2018-05-14 | device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7141614B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20250168212A (en) | 2024-04-26 | 2025-12-02 | 아메바 에너지 가부시키가이샤 | Path planning search method and processor |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002304205A (en) | 2001-01-30 | 2002-10-18 | Nec Corp | Program execution method for robot, robot system and program processor |
| JP2014085733A (en) | 2012-10-19 | 2014-05-12 | Institute Of Physical & Chemical Research | Solution search system and method and solution search program |
-
2018
- 2018-05-14 JP JP2018093127A patent/JP7141614B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002304205A (en) | 2001-01-30 | 2002-10-18 | Nec Corp | Program execution method for robot, robot system and program processor |
| JP2014085733A (en) | 2012-10-19 | 2014-05-12 | Institute Of Physical & Chemical Research | Solution search system and method and solution search program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019198902A (en) | 2019-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112152619B (en) | Analog-to-digital converter and neuromorphic computing device including the same | |
| US11620505B2 (en) | Neuromorphic package devices and neuromorphic computing systems | |
| CN110796241B (en) | Training method and training device of neural network based on memristor | |
| US12530570B2 (en) | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array | |
| Kim et al. | Integrated floating-gate programming environment for system-level ICs | |
| CN108734271B (en) | Neuromorphic weighting unit, method for forming same and artificial neural network | |
| US6577992B1 (en) | Transistor level circuit simulator using hierarchical data | |
| JP4758077B2 (en) | Temperature measuring circuit and method | |
| US20190044542A1 (en) | Apparatus and method including neural network learning to detect and correct quantum errors | |
| KR102111494B1 (en) | Temparature sensor having calibration function accoding to temparature, method thereof, and devices having the same | |
| US20220040852A1 (en) | Method for controlling a robot device and robot device controller | |
| KR102313796B1 (en) | Neuromorphic arithmetic device | |
| US20180247192A1 (en) | Mixed-Signal Circuitry For Computing Weighted Sum Computation | |
| US10380386B1 (en) | Accelerator for k-means clustering with memristor crossbars | |
| JP7141614B2 (en) | device | |
| KR102809043B1 (en) | Computing device and method using multiplier-accumulator circuit | |
| JP7141615B2 (en) | Robot, robot control method and program | |
| US20220318628A1 (en) | Hardware noise-aware training for improving accuracy of in-memory computing-based deep neural network hardware | |
| CN110262235A (en) | A Model-Free Optimal Switching Method for Switched Systems | |
| CN115796252B (en) | Weight writing method and device, electronic equipment and storage medium | |
| KR102684361B1 (en) | Precise digital-to-analog conversion in the presence of variable and uncertain fractional bit contributions | |
| US9785293B2 (en) | Input device, and information input method of the same | |
| US10839900B1 (en) | Parasitic voltage drop compensation in large cross-point arrays | |
| US20240202505A1 (en) | Monostable Multivibrators-based Spiking Neural Network Training Method | |
| CN116128035B (en) | Training methods and devices, electronic equipment and computer storage media |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210510 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220224 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220315 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220512 |
|
| 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: 20220816 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220830 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7141614 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |