(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-17
(45)【発行日】2024-01-25
(54)【発明の名称】制御装置、制御システム、および制御プログラム
(51)【国際特許分類】
G05B 13/02 20060101AFI20240118BHJP
B25J 13/00 20060101ALI20240118BHJP
【FI】
G05B13/02 A
B25J13/00 Z
(21)【出願番号】P 2019014886
(22)【出願日】2019-01-30
【審査請求日】2022-01-18
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度 国立研究開発法人新エネルギー・産業技術総合開発機構、次世代人工知能・ロボット中核技術開発事業、産業技術力強化法第19条の適用を受けるもの
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(74)【代理人】
【識別番号】100200872
【氏名又は名称】押谷 昌宗
(74)【代理人】
【識別番号】100210103
【氏名又は名称】奥村 光平
(73)【特許権者】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】米倉 将吾
(72)【発明者】
【氏名】國吉 康夫
【審査官】松浦 陽
(56)【参考文献】
【文献】米国特許出願公開第2014/0081895(US,A1)
【文献】米国特許出願公開第2013/0325768(US,A1)
【文献】米国特許出願公開第2007/0129648(US,A1)
【文献】米国特許第05471381(US,A)
【文献】特開2018-136918(JP,A)
【文献】特表2006-514759(JP,A)
【文献】平田 弘志 他,適応制御器を用いた回転型二重倒立振子の二段階による制御系 Control System with Two Stages Using Adaptive Controller for a Serial Rotary-Type Double Inverted Pendulum,電気学会論文誌C 電子・情報・システム部門誌,日本,(社)電気学会 The Institute of Electrical Engineers of Japan,2010年11月01日,第130巻 第11号,pp.1968-1978
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G05B 13/00 - 13/04
(57)【特許請求の範囲】
【請求項1】
制御装置であって、
基本制御信号生成部と、スパイク信号列生成部と、駆動信号生成部とを備え、
前記基本制御信号生成部は、制御対象の状態情報に基づいて、前記制御対象を制御するための非スパイク状の基本制御信号を生成可能に構成され、
前記状態情報とは、前記制御対象における注目する箇所において、前記制御対象の挙動および環境変動により変化する内部状態を示す情報で、
前記スパイク信号列生成部は、ニューロンネットワークを構成する複数のニューロンを有し、複数の前記ニューロンのそれぞれから生成されるスパイク信号に基づいてスパイク信号列を生成可能に構成され、
前記ニューロンのそれぞれは、前記基本制御信号を入力することにより、擾乱と当該ニューロンの発火閾値とに基づいて、前記スパイク信号を生成するように構成され、
前記駆動信号生成部は、前記スパイク信号列に基づいて時系列に連続変化する駆動信号を生成可能に構成され、ここで、前記駆動信号は、前記ニューロンネットワークにおけるシナプス後電位相当であり、前記制御対象に供給されることで前記制御対象を制御可能に構成され、
少なくとも前記基本制御信号生成部に内包されるパラメータは、
当該パラメータを更新することと、当該パラメータに基づいて前記制御対象に対して予め設定された基本タスクを実行させることと、前記基本タスクの実行結果に基づき評価値を計算することと、を含んだ繰り返し可能な最適化により、更新される、
制御装置。
【請求項2】
請求項1記載の制御装置において、
通信部をさらに備え、
前記通信部は、前記状態情報を受信可能に構成される、
制御装置。
【請求項3】
請求項1または請求項2に記載の制御装置において、
前記ニューロンは、生体における確率的なインパルス状の活動電位の生成をモデルとして、前記スパイク信号を生成可能に構成される、
制御装置。
【請求項4】
制御システムであって、
制御対象と、前記制御対象を制御する制御装置とを備え、
前記制御対象は、ロボット、移動体、ペースメーカー、電気回路系、化学反応系、通信ネットワーク、社会経済管理システム、金融システム、生体ネットワークおよび動植物の少なくとも1つであり、
前記制御装置は、請求項1~請求項3の何れか1つに記載の制御装置である、
制御システム。
【請求項5】
請求項4記載の制御システムにおいて、
前記制御対象は筋骨格ロボットであり、ロボット駆動部とロボット状態検知部とを備え、
前記ロボット駆動部は、複数の骨と、複数の関節と、近接する前記骨どうしの間に引っ張り力を与える筋および/または前記複数の骨にまたがり引っ張り力を与える多関節筋を備え、
前記ロボット状態検知部は、筋発生力、筋長、関節角、上体姿勢、重心位置、足裏反力、3軸姿勢、3軸加速度、3軸角速度の少なくとも1つの状態を検知可能に構成される、
制御システム。
【請求項6】
制御プログラムであって、
コンピュータを、請求項1~請求項3の何れか1つに記載の制御装置の各部として機能させる、
制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業用と医療用および家庭用などのロボットや移動システムの運動・制御、製造プラントなど、複雑で動的な状態変化を伴うシステムにおける制御装置、制御システム、および制御プログラムに関する。
【背景技術】
【0002】
工業、商業、農業などの産業界、手術や看護・介護などの医療界、さらには清掃など家庭におけるロボットや産業機械の複雑化・高機能化が急激に進んでいる。これら、ロボットや産業機械などの装置の構成要素は一様で無く、また作業対象や動作環境は必ずしも一定では無い。
【0003】
その様な中でニューロンネットワーク(ニューラルネットワーク)を適用した装置に繰り返し学習を行なうことで、個体毎の運動パターンを生成する二足歩行ロボットとして、特許文献1が提案されている。特許文献1では請求項1に記載の通り、ニューロンネットワークを備えており、
図3や[0004]に記載の通り、繰り返し学習により設計精度の向上や設計時間の短縮を図っている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1で利用されているニューロンネットワークは
図11や段落[0007]~[0008]に記載されている通り、複数の入力に対して一意の重み付け係数W_k_*をかけて出力信号を生成している。この重み付け係数W_k_*を繰り返し学習によって最適化しているものである。そのため、装置個体の構成が固定され、さらに環境が一定の条件下では最適化が可能であるが、外乱などによる予期しない環境の変化には追随出来ない。
【0006】
本発明は、かかる事情を鑑みてなされたものであり、予期しない外的環境の変化が発生しても、自律的に反応し、制御対象が所望の動作を安定的に行なうことを可能とする制御装置、制御システム、および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明によれば、制御装置であって、駆動信号を制御対象に供給することで前記制御対象を制御可能に構成されるもので、スパイク信号列生成部と駆動信号生成部とを備え、前記スパイク信号列生成部は、前記制御対象を制御するための基本制御信号と擾乱を含む内部状態、および内部状態に関するダイナミクスによって規定されるタイミングで、スパイク信号列を生成可能に構成され、前記駆動信号生成部は、前記スパイク信号列に基づいて時系列に連続変化する前記駆動信号を生成可能に構成される、制御装置が提供される。
【0008】
本発明に係る制御装置では、基本制御信号を、前記スパイク信号列生成部により一旦スパイク信号列に変換したのちに、前記駆動信号生成部にて生成した駆動信号を用いて制御対象に対する制御を行なう。このとき、予期しない外的環境の変化が発生しても、制御装置側が自律的に反応し、制御システム全体が所望の動作を行なうことが可能となるという有利な効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態に係る制御装置および制御対象からなる制御システムの機能ブロック図。
【
図3】スパイク信号列を用いた制御例として水平軸上の粒子位置を制御する構成図。
【
図4】水平軸上を移動する粒子に関する3重/2重/1重井戸ポテンシャルを示す状態図。
【
図5】秩序創発機能のうち、エントロピー減少・パターン形成機能に関するシミュレーション結果図。
【
図6】秩序創発機能のうち、目標状態への引き込み領域拡大機能に関するシミュレーション結果図。
【
図7】秩序創発機能のうち、自然周波数へのバインディング機能に関するシミュレーション結果図。
【
図8】制御システムの一例である筋骨格ロボット制御システムの構成図。
【
図9】筋骨格ロボット制御システムの低摩擦環境における移動速度シミュレーション結果図。
【
図10】筋骨格ロボット制御システムの低摩擦環境における協調運動能力シミュレーション結果図。
【
図11】スパイク信号列生成部と駆動信号生成部を外付け制御装置とした制御システムの機能ブロック図。
【発明を実施するための形態】
【0010】
以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。特に、本明細書において「部」とは、例えば、広義の回路によって実施されるハードウェア資源と、これらのハードウェア資源によって具体的に実現されうるソフトウェアの情報処理とを合わせたものも含みうる。また、本実施形態においては様々な情報を取り扱うが、これら情報は、0または1で構成される2進数のビット集合体として信号値の高低によって表されるデジタル信号情報と、電圧・電流が連続的に変化するアナログ信号情報、および時間軸上で瞬間的に電圧・電流が発生するスパイク信号情報で、広義の回路上で通信・演算が実行されうる。
【0011】
また、広義の回路とは、デジタル回路(Digital Circuit)、アナログ回路(Analog Circuit)、光回路(Optical Circuit)、回路類(Circuitry)、プロセッサ(Processor)、およびメモリ(Memory)等を少なくとも適当に組み合わせることによって実現される回路である。すなわち、デジタル回路としては、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、およびフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))等を含むものである。アナログ回路としては、抵抗、コンデンサ(Capasitor)、インダクタ(Inductor)などの受動素子(Passive Component)、ダイオード(Diode)、トランジスタ(Transistor)、サイリスタ(Thyristor)などのディスクリート半導体(Discrete Semiconductor)、およびコンパレータ(Comparator)などのアナログ集積回路(Analog Integrated Circuit)等を含むものである。また、デジタル回路とアナログ回路の境界部に、D/Aコンバータ(Digital-to-Analog Converter)もしくはA/Dコンバータ(Analog-to-Digital Converter)を使用する回路構成も可能である。さらに光回路としては、発光ダイオード(Light Emitting Diode)、半導体レーザー(Semiconductor Laser)などの発光素子(Light Emitter)、フォトダイオード(Photodiode)などの受光素子(Photodetector)、光ファイバー(Optiocal Fiber)などの光導波路(Optical Waveguide)さらには光集積回路(Optical Integrated Circuit)等を含むものである。
【0012】
1.全体構成
第1節では、本発明に係る制御装置を含む制御システム1の全体構成について図面を用いて説明する。
図1は、本実施形態に係る制御システム1の構成概要を示す図である。制御システム1は、制御装置2および制御対象3とを備え、これらが電気的に接続されたシステムである。制御対象3は二脚歩行などのロボット(後述)、移動体、ペースメーカー、電気回路系、化学反応系、通信ネットワーク、社会経済管理システム、金融システム、生体ネットワークおよび動植物など、運動・状態に関して周辺環境変化により、電気的、力学的もしくは化学的内部状態などが変動する特性を持ち、所望である動作を行なうために制御を必要とするものである。前記内部状態は、前記制御システム1の機能や動作に関わり、かつ検知可能なものであれば項目は限定されない。
【0013】
1.1 制御装置2
図1に示す通り、制御装置2は通信部21と、記憶部22と、制御部23とを有し、これらの構成要素が制御装置2内部において通信バス20を電気的に接続されている。以下、各構成要素についてさらに説明する。
【0014】
<通信部21>
通信部21は、制御対象3との間で情報の授受を行なうものである。USB、IEEE1394、Thunderbolt、有線LANネットワーク通信等といった有線型の通信手段が好ましいものの、無線LANネットワーク通信、5G/LTE/3G等のモバイル通信、Bluetooth(登録商標)通信等を必要に応じて含めてもよい。これらは一例であり、専用の通信規格を採用してもよい。すなわち、これら複数の通信手段の集合として実施することがより好ましい。
【0015】
図1においては、通信部21から制御対象3内の状態検知部31および駆動部30それぞれ別に接続している様子を示しているが、物理的な接続はまとめて1つとし、制御対象3内部で論理的に分配する構成としても良い。
【0016】
<記憶部22>
記憶部22は、様々な情報を記憶する揮発性または不揮発性の記憶媒体である。これは、例えばソリッドステートドライブ(Solid State Drive:SSD)等のストレージデバイスとして、あるいは、プログラムの演算に係る一時的に必要な情報(引数、配列等)を記憶するランダムアクセスメモリ(Random Access Memory:RAM)等のメモリとして実施されうる。また、これらの組合せであってもよい。
【0017】
特に、記憶部22は、制御実行内容に関する各種パラメータ、制御対象3に関する形状、寸法、材質、重量などの個別特徴情報、最適化途中を含む連続制御時における過去の設定情報を記憶している。
【0018】
また、記憶部22は、制御部23によって実行される制御装置2に係る種々のプログラム等を記憶している。具体的には例えば、二脚歩行ロボットの様に複数の筋・腱および関節など複数の駆動要素を有する制御対象3に関する動作手順や、制御部23を構成する基本制御信号生成部231、スパイク信号列生成部232、駆動信号生成部233で用いるパラメータ群の初期値や更新手順である。
【0019】
<制御部23>
制御部23は、制御装置2に関連する全体動作の処理・制御を行なう。制御部23は、例えば不図示の中央処理装置(Central Processing Unit:CPU)である。制御部23は、記憶部22に記憶された所定のプログラムを読み出すことによって、制御装置2に係る種々の機能を実現する。具体的には制御対象3毎に予め与えられた情報、制御対象3内状態検知部31から通信部21を介して受信した状態情報を元に、基本制御信号生成部231とスパイク信号列生成部232と駆動信号生成部233を通じて制御対象3への駆動信号ASを生成し制御を実施する機能が該当する。
【0020】
すなわち、ソフトウェア(記憶部22に記憶されている)による情報処理がハードウェア(制御部23)によって具体的に実現されることで、基本制御信号生成部231、スパイク信号列生成部232、および駆動信号生成部233として実行されうる。なお、
図1においては、単一の制御部23として表記されているが、実際の構成はこれに限るものではなく、機能毎に複数の制御部23を有するように実施してもよい。また、それらの組合せであっても良い。以下、基本制御信号生成部231、スパイク信号列生成部232、駆動信号生成部233についてさらに詳述する。
【0021】
[基本制御信号生成部231]
基本制御信号生成部231はソフトウェア(記憶部22に記憶されている)による情報処理がハードウェア(制御部23)によって具体的に実現されているものである。基本制御信号生成部231は、通信部21を介して制御対象3の状態検知部31から得た状態情報、および制御対象3毎に予め与えられたパラメータを元に、非スパイク信号状である基本制御信号CSを生成するものである。制御アルゴリズムは限定されるものではなく、フィードバック制御、フィードフォワード制御、モデル予測制御、深層学習を用いた制御など各種アルゴリズムが利用可能である。
【0022】
なお、後述する秩序創発機能を最大限利用するには、基本制御信号生成部231単体の周波数特性として、強い自然周波数/固有周波数ピークを持たない制御アルゴリズムとパラメータ設定が望ましい。
【0023】
[スパイク信号列生成部232]
スパイク信号列生成部232は、ソフトウェア(記憶部22に記憶されている)による情報処理がハードウェア(制御部23)によって具体的に実現されているもので、ハードウェアは前述したデジタル回路およびアナログ回路の組合せで構成される。
【0024】
スパイク信号列生成部232は、基本制御信号生成部231で生成された基本制御信号CSを入力とし、スパイク信号列STを生成する要素であるニューロン(
図1中不図示)を内包するものである。このスパイク信号列生成部232は、生体において確率的にインパルス状の活動電位を発生するニューロンネットワークすなわち確率的スパイキングニューロンネットワーク(Stochsastically Spiking Neuron Network:sSNN)と同等の動作をするものである。スパイク信号列生成部232内ニューロンとしては、LIF(leaky integrate-and-fire)ニューロンを始め、ポアソン(Poisson)スパイクモデルやホジキン-ハクスレイ(Hodgkin-Huxley)モデル、バースト発火可能なモデルなど、入力となる基本制御信号と擾乱を含む内部状態、および内部状態に関するダイナミクスによって規定されるタイミングでスパイク信号列を生成するモデルが適用可能である。
【0025】
スパイク信号列生成部232(sSNN)内に複数のニューロンが存在する場合は、それらニューロン同士の間に任意のシナプス結合を有することも可能である。その際、全てのニューロンは同期発火しない様に設計される。具体的には、例えばニューロン毎に独立のノイズを受ける、あるいはニューロン毎に異なる発火閾値(後述)やリセット電位(後述)を設定する、などである。
【0026】
ここでは、LIFニューロンの場合に関して数式を用いてより詳しく説明する。i番目のスパイク信号列生成部232(sSNN)におけるj番目のLIFニューロンは、下に記述する[数1][数2][数3]として表すことができる。
【数1】
【数2】
【数3】
ここに、v_ijは電位、変数上のドットは時間微分、γは減衰係数、b_ijはバイアス入力(電流)、Iは入力信号、D_iはi番目のスパイク信号列生成部232におけるノイズ強度、ξ_ijは単位強度のガウシアン(正規分布)ノイズ、v^θは発火閾値、v_ij^Rはリセット電位、τ_refは不能期間、kはスパイク信号発生順番号である。
【0027】
対象であるLIFニューロンの内部電位v_ijがv^θに到達すると発火し、数学的にはディラック(Dirac)のデルタ関数δで記述されるスパイク信号を生成すると共に、内部電位はv_ij^Rにリセットされ、τ_refの不能期に入る。[数1]で示したLIFニューロンではガウシアンノイズという形で擾乱を加える事により多数のLIFが同期発火することを防いでいる。[数1]から明らかな通り、ノイズ成分印加以外に発火閾値v^θやリセット電位v_ij^Rを個別に設定することでも同期発火を防ぐことが可能である。個々のLIFニューロンにおけるスパイク信号列σ_ijは形式的に[数4]で記述することが出来る。
【数4】
この際、i番目のスパイク信号列生成部232に複数のLIFニューロンが存在する場合は、各LIFニューロンから出力される全てのスパイク信号列を活用する。その際にはスパイク信号列の平均を用いる、あるいはLIFニューロン毎に線形の重み付けを行なう方式が適用できる。そうして得られた新たなスパイク信号列をスパイク信号列生成部232の出力であるスパイク信号列STとする。
【0028】
すなわち、スパイク信号列生成部232は、ニューロンネットワークを構成する複数のニューロンを有し、複数のニューロンそれぞれによって出力される信号に基づいて、スパイク信号列STを生成可能に構成される。
【0029】
[駆動信号生成部233]
駆動信号生成部233は、ソフトウェア(記憶部22に記憶されている)による情報処理がハードウェア(制御部23)によって具体的に実現されているもので、ハードウェアは前述したデジタル回路およびアナログ回路の組合せで構成される。
【0030】
駆動信号生成部233は前記スパイク信号列生成部232で生成されたスパイク信号列STを制御対象3の駆動部30に供給する駆動信号に変換する機能を有する。この駆動信号は生体ニューロンネットワークにおけるシナプス後電位(postsynaptic potential:PSP)に基づいて生成されるものである。
【0031】
スパイク信号列STからシナプス後電位相当である駆動信号ASを生成するにはシナプス類似の方式を用いることが出来る。具体的にはローパスフィルタ、古典的α関数状シナプスモデル、方形波シナプスモデル、ダイナミックシナプスモデルなどである。
【0032】
駆動信号生成部233における信号処理方式をローパスフィルタとした場合、出力の基となるシナプス後電位(postsynaptic potential:PSP)y_i、制御対象3駆動部30の活性度A_iは、それぞれ[数5][数6]で記述することが可能である。
【数5】
【数6】
ここに、τ_sはシナプス時定数、Nは対象とするi番目のスパイク信号列生成部232内のLIFニューロン数、g_i^Aは増幅ゲインで、A_i^0はオフセットである。
【0033】
なお、
図1では駆動信号ASを駆動信号生成部233から駆動部30間の直結線で伝えているが、A/D(Analog-to-Digital)変換を行った後、デジタル信号として通信部21を介して駆動部30に伝達する構成も可能である。
【0034】
1.2 制御対象3
制御対象3は具体的には例えば、機械的なタスクを実行するロボットや移動システムなどである。なお本発明の制御装置2はタスクの技術分野を限定するものでは無く、動的に作用するもので、かつ環境変動に伴う動作状態変化を検出可能なものであれば、電気回路システムや化学反応システムも制御対象3とすることが可能である。
【0035】
[駆動部30]
駆動部30は、タスクを実行する際に、外部からの制御信号に基づき制御対象3を動作させるものである。具体的には例えば、制御対象3がロボットの場合におけるモーター、空圧・油圧などのアクチュエータなどであるが、これらに限定されるものでは無い。
【0036】
[状態検知部31]
状態検知部31は、制御対象3が動作時に外乱などによる環境変動があった場合を含めて制御対象3の内部状態を検知するものである。内部状態としては、制御対象3における注目する箇所の位置、速度、加速度、回転、角速度、角加速度、力およびモーメントなどの機械的力学的情報、電圧、電流および抵抗などの電気的情報、音や光の物理的情報、温度、圧力、流速などの流体力学情報、濃度、pH、分子量などの化学的情報等であるが、これらに限定されるものでは無い。検知した内部状態は状態情報として通信部21に対して送信できる構成となっている。すなわち換言すると、状態情報とは、前記制御対象における注目する箇所において、制御対象の挙動および環境変動により変化する内部状態を示す情報である。
【0037】
2.制御システム1の最適化方法
第2節では、制御システム1において、制御装置2のパラメータ最適化方法について説明する。ここでは、例えば制御対象3が二脚歩行ロボットの場合であれば、指定した地点へ移動するという作業を実行するなどであるが、本発明の最適化方法は制御対象3やその作業の種類により限定されるものでは無い。
【0038】
外乱が少ない環境において、複数回の基本タスクを繰り返し実行することで、前記制御装置2のパラメータを最適化する際の最適化フローを
図2に示す。
【0039】
[最適化開始]
(ステップS1)
基本制御信号生成部231、スパイク信号列生成部232、駆動信号生成部233内の各パラメータ群を初期化する。初期化に用いるパラメータ値は記憶部22に記憶されている情報を用いることができる。記憶部22に記憶されている情報とは不揮発的に継続して記憶されている情報だけでなく、ユーザーが作業開始時に制御対象3の個々の特徴および外部環境状況を鑑みて外部から入力した情報も含む。
【0040】
基本制御信号生成部231では採用したアルゴリズムにて使用されるパラメータを初期設定する。具体的には、例えばフィードバック制御の一種であるPID(Proportional-Integral-Differential)制御では、比例ゲインK_P、積分ゲインK_I、微分ゲインK_Dなどである。
【0041】
スパイク信号列生成部232では確率的スパイキングニューロンネットワーク(sSNN)としてのあらゆるパラメータを初期設定する。例えばスパイク信号列生成部232をLIFニューロンで構成した場合、ニューロン数Nや前記[数1][数2]に含まれる変数、具体的には減衰係数γ、バイアス入力b_ij、ノイズ強度D_i、発火閾値v^θ、リセット電位v_ij^R、不能期間τ_refなどである。
【0042】
駆動信号生成部233では、スパイク信号列STから駆動信号ASを生成するのに採用した方式に関するパラメータを初期設定する。例えばローパスフィルタ方式を採用した場合、時定数τや通過域利得などをフィルタ特性値として設定を行なう。駆動信号生成部233の全てもしくは一部を電気的なアナログ回路として構成する場合は、抵抗の抵抗値、コンデンサの容量値などで固定、もしくは半固定的に予め設定しておくことも可能である。
【0043】
(ステップS2)
基本制御信号生成部231、スパイク信号列生成部232、駆動信号生成部233内の各パラメータの更新を行なう。全てのパラメータは更新対象となりうるが、制御部23全体としての概略の方向性は基本制御信号CSに大きく依存するため、基本制御信号生成部231部の最適化を主たる対象とするのが望ましい。スパイク信号列生成部232および駆動信号生成部233に関しては、例えばニューロン数N、シナプス時定数τ_s、ノイズ強度Dを更新対象とし、その他シナプス結合強度に関するパラメータなどは更新しないという制御方法を取ることが可能である。後述のステップS4により収束していないと判定される毎に、前記各パラメータが更新される。
【0044】
(ステップS3)
制御対象3が制御装置2からの制御に従い基本タスクを実行する。状態検知部31にて制御対象3における前述した各種内部状態を検知し、状態情報を制御装置2内通信部21に送信する。基本制御信号生成部231にて制御対象3全体としての評価値を計算する。後述のステップS4により収束していないと判定される毎に、基本タスクの実行も1回目、2回目、3回目と回数が増えていく。
【0045】
(ステップS4)
基本制御信号生成部231において、システム全体が収束しているかどうかを判定する。収束していない(NO)と判定された場合は、ステップS2に戻ってパラメータ更新作業から継続する。パラメータ更新時における学習アルゴリズムとしては、遺伝アルゴリズムなどの進化戦略を適用することが可能であるが、それに限定するものでは無い。収束している(YES)と判定された場合は作業を終了する。
[最適化終了]
【0046】
3.秩序創発機能
第3節では、本発明の構成における制御装置2が有する秩序創発機能について詳述する。これは、基本制御信号生成部231にて生成した基本制御信号CSから、一旦スパイク信号列生成部232(sSNN)を用いてスパイク信号列STを生成し、さらにその後駆動信号生成部233にて駆動信号ASを生成する構成を有する、本発明における制御装置2固有の機能であり従来知られたものでは無い。
【0047】
本節では、秩序創発機能を示す例として、2つの確率的スパイキングニューロンネットワーク(sSNN)を有する場合を
図3に示す。ここでは
図3の水平軸上に存在する粒子の位置を制御するものとする。
図3中S_0、S_1がsSNNで、本発明におけるスパイク信号列生成部232と駆動信号生成部233を内包するものとする。2つのsSNNはそれぞれ入力信号としてI_0(t)、I_1(t)を受け取る。ここでは入力信号I_*(t)は、粒子の現在位置x(t)と目標位置x_0^g、x_1^gの差分量として定義している。スパイク信号列生成部232としてはLIFニューロン(第1節参照)、駆動信号生成部233としてはローパスフィルタ(第1節参照)を使用することとする。
【0048】
3.1 エントロピー減少・パターン形成機能
図4Aに、3重井戸ポテンシャル関数における質量を持った粒子の位置をsSNNによって制御する場合を示す。ここでは中心(x=0)はポテンシャルの極小値ではあるが最小値ではなく、中心の両側にポテンシャルが最小となる場所が存在する点に留意されたい。
【0049】
図4A環境下での粒子位置移動状態のシミュレーション結果を
図5A、
図5Bに示す。横軸は時間t、縦軸は粒子位置xを示す。また
図5Aはニューロン数N=2、
図5Bはニューロン数N=150の場合である。ApEnは移動状態から算出したエントロピー(Approximate Entropy)である。ニューロン数が少ない
図5Aは
図5Bに比して粒子の移動量の絶対値は大きいが、これは2箇所存在するポテンシャル最小位置を周期的に移動していることが理由であり、その規則的な周期性のためエントロピーApEnとしては小さい値となっている。この様に確率的スパイキングニューロンネットワーク(sSNN)においてはスパイク性が高いほど、エントロピー減少機能、パターン形成機能が発現する。
【0050】
3.2 目標状態の引き込み領域拡大機能
図4Bに、2重井戸ポテンシャル関数における質量を持った粒子の位置をsSNNによって制御する場合を示す。ここでは中心(x=0)はポテンシャルの極大値となっており、車の山登り問題(mountain car task)と同様に、谷底からポテンシャルの極大値x=0に直接到達することは出来ず、反動や外力の助けを必要とする問題設定とする。
【0051】
粒子の初期位置x_0と初期速度v_0を様々に変更して、一定時間以上中心付近[-0.1,0.1]の範囲内にとどまることが出来た場合を引き込み領域と定義してシミュレーションした結果を
図6A、
図6Bに示す。
図6Aはニューロン数N=1、
図6Bはニューロン数N=100の場合である。
図6A、
図6B中白い領域が引き込み領域である。また、バイアス入力bをパラメータにしてニューロン数Nを変化させた場合における引き込み領域割合(basin rate)のシミュレーション結果を
図6Cに示す。
図6A、
図6B、
図6Cから明らかな様に確率的スパイキングニューロンネットワーク(sSNN)は引き込み領域を拡大する機能を有しており、sSNNに含まれるニューロン数は少ない方が引き込み領域拡大機能を強く発現する場合が多い。
【0052】
3.3 自然周波数へのバインディング機能
図4Cに、バネマス系における質量を持った粒子の位置をsSNNによって制御する場合を示す。ここでバネマス系とは1重井戸ポテンシャル関数と等しい。何も制御を行わないバネマス系では、ばね定数kと粒子の質量mで定まる自然周波数f_0(固有周波数)を有している。そのバネマス系に通常のフィードバック制御を行なうと、フィードバック制御のゲインなどの影響により自然周波数f_0が変調されることが知られている。
中心位置(x^g=0)を目標としてsSNNによる制御を実施し、自然周波数f_0に対するSNR(signal-to-noise ratio)をシミュレーションした結果を
図7に示す。
図7中、横軸はシナプス時定数τ_s、縦軸は増幅ゲインg^Aであり、より白い領域がSNRが高いことを示している。自然周波数f_0が1~10Hzという非常に広いパラメータ領域において自然周波数f_0への共鳴現象が確認できる。また、多くの領域で白い縞模様が垂直方向に伸びている事から、確率的スパイキングニューロンネットワーク(sSNN)を用いてバネマス系を駆動する場合、自然周波数f_0にほとんど影響を与えてない事が明白である。
【0053】
4. ロボット制御システム
第4節では、実施形態として、制御対象3としてロボット、さらに具体的には筋骨格ロボットを用いた二脚歩行ロボット制御システムのシミュレーション結果を説明する。
【0054】
図8にシミュレーションに用いた筋骨格ロボット制御システムの機能概略図を示す。
図8左側が骨格(リンク)、関節(ジョイント)、筋(図中Muscleの線、一部省略)の構成を示しており、ロボット駆動部30として各脚毎に8本の筋および多関節筋を接続している。また、ロボット状態検知部31(
図8中 Sensory Input)として、筋発生力、筋長、関節角、上体姿勢、重心位置、足裏反力、各骨(リンク)において9軸慣性計測装置(Inertia Measurement Unit)によって得られる3軸姿勢、3軸加速度、3軸角速度を測定可能な構成である。
【0055】
左右各脚は静止、振り動作など複数の相を有しており、各相毎に異なる反射活性化ルールを持っている。反射活性化ルール(
図8中Reflex System:基本制御信号生成部231)は発生力のポジティブフィードバック制御ルール、筋長のフィードバック制御ルール、関節角あるいは上体姿勢のPD(比例微分)制御ルールの組合せで構築される。
【0056】
図9A、
図9B、
図9Cには、滑りやすい低摩擦環境での重心移動速度シミュレーション結果を示す。
図9A、
図9Bの横軸が時間t、縦軸が重心移動速度v^gである。通常(図中破線)の摩擦係数μは10としているが、低摩擦環境(図中実線)では時間t=[10,40]にて摩擦係数μを0.04と低く設定している。
図9A、
図9Bより通常環境、低摩擦環境ともに安定した二脚歩行動作が行われている。そのとき通常環境よりも低摩擦環境の方が全体に低速度側にシフトしている。
図9Cは歩容周波数と振幅の関係を示したもので、低摩擦環境では低周波数側に遷移している。
【0057】
図10には大きな滑りが発生した状況における協調運動能力シミュレーション結果を示す。
図10A、
図10Cは横軸xが位置を示し、x=[4,16]を低摩擦区間とし摩擦係数μ=0.04、それ以外は通常で摩擦係数μ=10である。なお、
図10Aのサンプリング間隔は0.1s、
図10Cのサンプリング間隔は0.25sである。低摩擦区間(図中slippery帯)上にある、黒色帯は右足の滑り、灰色帯は左足の滑りを示している。
図10B、
図10Dは、それぞれ
図10A、
図10Cに対応する時間tと重心移動速度v^gの関係を示している。
【0058】
図10A、
図10Bにおいては、0.5s以上の時間、0.5m程度の滑りが発生しているが、それに適応して歩行が継続出来ている。この際、左右の足で滑る距離が非対称になっている点に留意されたい。また、
図10C、
図10Dでは低摩擦区間終了地点であるx=16m、t=13s付近でv^gが極端に下がっており、これは低摩擦区間終了直前におけるやや長めの右足滑りから通常区間に入るときに転倒寸前の状態となったことを示している。この状況でも、つま先などが通常区間(μ=10)である滑りづらい地面に接触していることを足がかりとして、正常歩行に復帰することが出来ている。この様に、従来知られている反射回路のみの制御では実現困難であった、非常に高い適応能力を、本発明による制御装置2を用いたロボット制御システムは有している。
【0059】
本節で説明した二脚歩行ロボット制御システムにおける協調動作には、運動系列のエントロピーを低減する必要がある。また、転倒回避にはZMP(zero-moment point)をある範囲内に制御する必要もある。第3節にて説明した通り、本発明における制御装置2が有する秩序創発機能(3.1 エントロピー減少・パターン形成機能、3.2 目標状態の引き込み領域拡大機能を参照されたい)が有効に働くことで、即時的な転倒回避機能が実現されていると言える。
【0060】
5.変形例
なお、次のような態様によって、本実施形態を更に創意工夫してもよい。
【0061】
第4節では、二脚歩行ロボット制御システムの実施形態について説明したが、一般に移動システムでは移動に伴い外部環境の変動を伴うものであり、秩序創発機能を有する本発明の制御装置2の特徴を活かすことが出来る。また、秩序創発機能は、無人による完全自律型制御システムとして、あるいは有人システムの補助的な制御システムどちらでも活用することが出来る。移動システムとしては、具体的には例えば、多足歩行ロボット、車輪・キャタピラ型ロボット、無人航空機(Unmanned Aerial Vehicle:UAV、ドローン)、無人水上艇(Unmanned Surface Vehicle:USV)、無人潜水艇(Unmanned Underwater Vehicle:UUV)、自動運転を含む自動車、航空機、船舶などであるが、これらに限定されるものでは無い。
【0062】
さらには、運搬や加工に関して作業対象物が頻繁に変更される産業用・医療用・農業用・家庭用のロボットにも適用可能である。
【0063】
本発明による制御装置2が持つ秩序創発機能は、状態の変動に適応する必要がある制御システム1であれば技術分野を限定するものでは無い。すなわち機械的な運動に対するものだけでは無く、電気的変動あるいは化学反応的変動に対しても発揮することが可能である。さらには、金融システムの制御やインターネットなどのコミュニケーションネットワークにおける情報の流入・流出・伝播の制御、空調システム、などにも適用可能である事が期待できる。したがって、例えば秩序創発機能のうち自然周波数へのバインディング機能(3.3参照)を活用した心臓ペースメーカーや人工心肺などへ応用することも可能である。
【0064】
本発明におけるスパイク信号列生成部232および駆動信号生成部233は、
図1に示した様に、基本制御信号生成部231、通信部21、記憶部22などと共に1つの制御装置2として構成することも可能であるが、スパイク信号列生成部232と駆動信号生成部233を外付け制御装置とすることも可能である。
【0065】
図11に機能ブロック図を示す。
図11中、2bが基本制御信号CSを生成する基本制御装置、3が制御対象である。基本制御装置2bと制御対象3の組合せだけでも従来方式の制御は可能であるが、その従来制御を補足すべく外付け制御装置2aを接続している。外付け制御装置2aにはスパイク信号列生成部232および駆動信号生成部233が配備されている。既存の制御システムに外付け制御装置2aを追加することで、第3節で説明した秩序創発機能を活用することが可能となり、制御システム1の機能・性能を向上することが出来る。
【0066】
さらには、スパイク信号列は撹乱に起因して確率的に生成されるものに限らず、十分な複雑さと予測不能性を含むならばカオスなどを利用して決定論的に生成されたスパイク信号列であっても同等の機能を得る事が出来る。
【0067】
6.結言
以上のように、本実施形態によれば、予期しない外的環境の変化が発生しても、自律的に反応し、制御システム1全体が所望の動作を行なうことを可能とする制御装置2を実施することが出来る。
【0068】
かかる制御装置2は、駆動信号を制御対象3に供給することで前記制御対象3を制御可能に構成されるもので、スパイク信号列生成部232と駆動信号生成部233とを備え、前記スパイク信号列生成部232は、前記制御対象3を制御するための基本制御信号CSおよび擾乱を含む内部状態によって規定されるタイミングで、スパイク信号列STを生成可能に構成され、前記駆動信号生成部は、前記スパイク信号列STに基づいて時系列に連続変化する前記駆動信号ASを生成可能に構成される。
【0069】
また、これにより以下の制御システム1を実施することが出来る。
【0070】
かかる制御システム1は、制御対象3と、前記制御対象3を制御する制御装置2とを備え、
前記制御対象3は、ロボット、移動体、ペースメーカー、電気回路系、および化学反応系の少なくとも1つであり、前記制御装置2は、上に記載した制御装置2である。
【0071】
制御装置2また制御システム1をハードウェアとして実施するためのソフトウェアを、プログラムとして実施することもできる。そして、このようなプログラムを、コンピュータが読み取り可能な非一時的な記録媒体として提供してもよいし、外部のサーバからダウンロード可能に提供してもよいし、外部のコンピュータで当該プログラムを起動させて、クライアント端末で各機能を実施可能な、いわゆるクラウド・コンピューティングを実施してもよい。
【0072】
かかる制御プログラムは、制御対象を制御するためのもので、コンピュータに、スパイク信号列生成機能と駆動信号生成機能とを実行させるもので、前記スパイク信号列生成機能によれば、前記制御対象3を制御するための基本制御信号CSと擾乱を含む内部状態とによって規定されるタイミングで、スパイク信号列STを生成させ、前記駆動信号生成機能によれば、前記スパイク信号列STに基づいて時系列に連続変化する前記駆動信号ASを生成させることとする。
【0073】
最後に、本発明に係る種々の実施形態を説明したが、これらは、例として提示したものであり、発明の範囲を限定することは意図していない。当該新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。当該実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0074】
1 :制御システム
2 :制御装置
2a :外付け制御装置
2b :基本制御装置
20 :通信バス
21 :通信部
22 :記憶部
23 :制御部
231 :基本制御信号生成部
232 :スパイク信号列生成部
233 :駆動信号生成部
3 :制御対象
30 :駆動部
31 :状態検知部
CS :制御信号
ST :スパイク信号列
AS :駆動信号
I :入力信号
ApEn :エントロピー
N :ニューロン数
x_0 :初期位置
v_0 :初期速度
b :バイアス入力
f_0 :自然周波数
τ_s :シナプス時定数
g^A :増幅ゲイン
v^g :重心移動速度
μ :摩擦係数