【課題を解決するための手段】
【0006】
上記目的はネットワーク接続された複数台のロボットの制御データセットに調節を施す調節システムにより達成される。ここに提案するシステムは、複数台のロボットR
i(ここで、i = 1, 2, 3, ..., nであり、n≧2である)と、オプティマイザOEと、データベースDBとを備え、それらがデータ・ネットワークを介して相互にネットワーク接続されている。
【0007】
前記複数台のロボットR
i と、前記オプティマイザOEと、前記データベースDBとを相互接続する前記ネットワーク接続は、インターネットを利用したデータ・ネットワークないし通信ネットワークにより構築するとよい。また、前記ネットワーク接続は、有線接続としてもよく、無線接続(例えば電波接続)としてもよく、或いは、有線接続と無線接続とが混在する接続としてもよい。
【0008】
ここで用いる「ロボット」という用語は、広い意味で用いられるものである。その具体例を挙げるならば、例えば、少なくとも1つの制御可能なユニットを備えたロボットなどが含まれ、ここでいう制御可能なユニットには、例えば、マニピュレータ、エフェクタ、駆動機構、アクチュエータ、送り機構、それにセンサなどがある。また更に、ここで用いる「ロボット」という用語に包含されるものの具体例としては、例えば、局所配置または分散配置された人工知能要素を備えた制御可能なロボット、ヒューマノイド、セルフラーニング機能を備えたロボット、半自動及び全自動で動作するロボット、飛行ロボット(ドローン)、水上ロボット、水中ロボット、走行ロボット(自動運転装置)、医療用ロボット(例えば手術支援ロボットなど)、それに、それらを組合せたロボットなどが挙げられる。
【0009】
ここに提案するシステムの更なる特徴として、各々のロボットR
iは少なくとも、当該ロボットR
iを制御する制御ユニットSE
iと、指定されたタスクA
k(ここで、k = 0, 1, 2, ...,mである)に関する当該ロボットR
iの制御を各々が実行可能にする複数の制御データセットSD
i(A
k)を格納保持する格納ユニットSPE
iと、当該ロボットR
iに実行させる新たなタスクA
m+1(ここで、タスクA
m+1≠タスクA
kである)を入力設定するユニットEE
iと、当該ロボットR
iに当該タスクA
m+1を実行させるための制御データセットSD
i(A
m+1)を生成するユニットEH
iと、前記ユニットEH
iにより生成された当該制御データセットSD
i(A
m+1)を、係数値K
P1(SD
i(A
m+1))を有する少なくとも1つのパラメータP1に関して評価する評価ユニットBE
iと、前記オプティマイザOEとの間で、及び/または、前記データベースDBとの間で、及び/または、当該ロボットR
i以外の他のロボットR
i≠
jとの間で通信を行う通信ユニットKE
iとを備えているということがある。
【0010】
前記制御ユニットSE
iは前記ロボットR
iの制御可能なユニットに接続されているようにするとよい。また、前記制御ユニットSE
iは、前記制御データセットSD
iを実行するためのプロセッサを備えた構成とすることが好ましく、より具体的には例えば当該プロセッサが、前記制御データセットSD
iに基づいて生成される実行プログラムを実行することにより、当該制御動作を実行するものとするとよい。
【0011】
各々の制御データセットSD
iは、当該制御データセットSD
i(A
k)の一連のコマンドが実行されることによって対応するタスクA
kが実行されるように各々のロボットR
iの個々の制御動作を規定し、もって当該タスクの実行を可能にするものである。また、ここで用いる「制御データセット」という用語は、広い意味で用いられるものであり、例えば制御コマンド、論理的シンタックス、パラメータ、数式、データ、等々を包含するものである。
【0012】
前記制御データセットSD
i(A
k)は、各々のロボットごとにローカルに前記格納ユニットSPE
iに格納するようにすることが、即ち、各々のロボットごとに装備されている前記格納ユニットSPE
iに格納するようにするのがよい。また、前記格納ユニットSPE
iとしては、例えば市販の大容量格納装置などを用いることができる。
【0013】
ここで用いる「タスクA
k」という用語は、広い意味で用いられるものである。例えば前記タスクA
kには、前記ロボットR
iの物理的ポジション、電気的ポジション、及び/またはその他のポジションを規定されたように変化させることや、前記ロボットR
iが当該ロボットR
iの周囲環境に及ぼす影響によって当該周囲環境を規定されたように変化させることなどが含まれる。
【0014】
(具体例)
1つの簡明な具体例を挙げるならば、例えばロボットの把持アームによって、ある対象物を位置P1でキャッチし、位置P2まで移動させ、そこでリリースするというタスクがある。そして、これほど簡明なタスクであっても、当該タスクを実行するために生成される制御データセットは様々なものとなり得る。それら生成され得る様々な制御データセットは、例えば、位置P1から位置P2まで移動させるときの移動経路が互いに異なっていたり、或いはまた、その移動速度が互いに異なっていて高速であったり低速であったりする。
【0015】
このことから分かるように、通常、あるロボットR
iにあるタスクA
kを実行させるための制御データセットは、可能な複数通りの制御データセットのうちの1つの制御データセットSD
i(A
k)として生成される。即ち、あるロボットR
iにあるタスクA
kを実行させるために用いられる制御データセットは、複数通りの制御データセットSD
i(A
k)'、SD
i(A
k)''、SD
i(A
k)'''、…として生成される可能性がある(ここでは、ダッシュ記号の個数によってそれら制御データセットが互いに異なることを表している)。それゆえ、上記具体例に即して言えば、制御データセットSD
i(A
k)'と制御データセットSD
i(A
k)''とでは、例えば、把持アームで位置P1から位置P2まで移動させるときの移動速度が、互いに異なっていたりする。
【0016】
また、あるロボットR
iが複数通り(m通り)のタスクA
kを実行する場合には、各々のタスクA
kを実行するために夫々1つずつの制御データセットSD
i(A
k)が既知となっているため、当該ロボットR
iにおいて複数個(m個)の制御データセットが既知となっている。そして、各々のロボットR
iは、指定されたタスクA
kに対応した制御データセットSD
i(A
k)に従って、当該ロボットR
iに付属しているローカル機器を作動させることにより、当該タスクA
kを実行する。
【0017】
前記ユニットEE
iは、あるロボットR
iに実行させようとする新たな(即ち、未知の、当該ロボットR
iがまだ実行したことのない)タスクA
m+1を、ローカルに(即ち、当該ロボットR
iにおいて)入力設定するための手段として、触覚式、音響式、及び/または、光学式の入力インターフェースを備えているようにすることが好ましく、そうすれば、ユーザはそのインターフェースを介して新たなタスクA
m+1を入力設定することができる。
【0018】
ここで再び上記具体例に即して説明するならば、こうして入力設定される新たなタスクA
m+1は、例えば対象物を位置P2でリリースすることに変えて、位置P3でリリースするというタスクであることもある(ここで、位置P2≠位置P3である)。また、前記ユニットEE
iは、上で例示したインターフェースを備える替わりに、或いは、上で例示したインターフェースを備えると共に更に、電子回路で構成されたデータ・インターフェースを備えたものとして、その電子回路インターフェースを介して例えばコンピュータから新たなタスクA
m+1を入力設定できるようにするのもよい。
【0019】
前記ユニットEH
iは前記ユニットEE
iに接続されているものとすることが好ましく、また、前記ユニットEH
iはプロセッサとプログラムとを備えたものとし、それらプロセッサとプログラムが、あるロボットR
iに入力設定された新たなタスクA
m+1の仕様に基づいて当該ロボットR
iに当該タスクA
m+1を実行させるための制御データセットSD
i(A
m+1)を生成するようにすることが好ましい。また、前記ユニットEH
iはセルフラーニング方式で機能するように構成されているものとすることが好ましい。また、かかる制御データセットSD
i(A
m+1)の生成を自動起動動作として実行するように構成されているものとすることが好ましい。更に、前記ユニットEH
iは、前記制御データセットSD
i(A
m+1)の生成をk=0からk=mまでの制御データセットSD
i(A
k)に基づいて行うように構成されているものとすることが好ましい。このことは即ち、既に生成されており、ローカルに(即ち個々のロボットにおいて)既知となっている制御データセットSD
i(A
k)に基づいて、新たなデータセットSD
i(A
m+1)を生成するということであり、その具体例を挙げるならば例えば、新たなタスクA
m+1に対して、そのタスクに対応した制御データセットSD
i(A
m+1)を、それら既知の制御データセットSD
i(A
k)のうちの1つまたは幾つかに適宜の変更を加えた制御データセットとして生成するということが可能である。この場合、前記ユニットEH
iは個々のロボットR
iに備えられている計算処理能力を利用して、当該ロボットR
iがその新たなタスクA
m+1を実行するための制御データセットSD
i(A
m+1)を生成することができる。
【0020】
前記評価ユニットBE
iは前記ユニットEH
iに接続されているようにするとよく、また前記評価ユニットBE
iはプロセッサとプログラムとを備えたものとし、それらプロセッサとプログラムが、前記ユニットEH
iにより生成された制御データセットSD
i(A
m+1)を、係数値K
P1(SD
i(A
m+1))を有する少なくとも1つのパラメータP1に関して評価するように構成することが好ましい。ここでいうところのパラメータP1が表す対象は、例えば、当該制御データセットSD
i(A
m+1)に従った動作の全体または一部分を実行する際に当該ロボットR
iが必要とする電力消費量や動作実行時間などである。また、パラメータP1の係数値K
P1(SD
i(A
m+1))は、当該制御データセットSD
i(A
m+1)の当該パラメータP1に関するクォリティを表すクォリティ値とすることが好ましい。言うまでもないことであるが、パラメータP1が表す対象は以上に例示したもの以外の様々な対象とすることも考えられ、用途ないし必要条件に応じて適宜選択されるものであって、以上に例示したものとは別の対象が選択されることもあれば、以上に例示したものに加えて更に別の対象が合わせて選択されることもある。また特に、このパラメータP1を、複数のパラメータの組合せ(即ち、サブパラメータの組合せ)とすることもでき、その場合には、このパラメータP1はパラメータ・ベクトルとなる。更にまた、パラメータの係数値K
P1(SD
i(A
m+1))は、ローカル格納ユニット(即ち個々のロボットに装備された格納ユニット)などの格納ユニットSE
iに格納しておき、他用途にも利用できるようにしておくとよい。
【0021】
前記通信ユニットKE
iは、前記オプティマイザOEとの間で、及び/または、前記データベースDBとの間で、及び/または、当該ロボットR
i以外の他のロボットR
j≠
iとの間で通信を行うユニットであり、デジタル通信インターフェースとして構成することが好ましい。
【0022】
ここに提案するシステムの更なる特徴として、前記オプティマイザOEは、いずれかの前記ロボットR
iから最適化要求が発せられたならば、少なくとも1つの所定のパラメータP2に関して最適化が施された最適化制御データセットSD
i,P2(A
m+1)を生成するように構成されており、当該ロボットR
iが最適化要求を発するのは係数値K
P1(SD
i(A
m+1)が所定の条件を満たさないときであるということがある。換言するならば、前記ユニットEH
iにより生成された制御データセットSD
i(A
m+1)がパラメータP1に関して所要のクォリティを有していない場合には(即ち、係数値K
P1(SD
i(A
m+1))が所要の条件を満たしていない場合には)、前記オプティマイザOEによって、パラメータP2に関して最適化が施された最適化制御データセットSD
i,P2(A
m+1)が生成されるということである。
【0023】
前記オプティマイザは、少なくとも、プロセッサと、データ・ネットワーク上に置かれた当該プロセッサが実行するためのプログラムとを備えた構成とすることが好ましい。また、そのような構成例では、当該オプティマイザの持つ計算処理能力及び並列処理能力が前記ユニットEH
iの1台あたりの計算処理能力及び並列処理能力の数倍の大きさであるようにしておくとよい。また別の好ましい構成例として、前記オプティマイザOEが、少なくとも複数台の前記ユニットEH
iをエージェントとした前記データ・ネットワーク上のコラボラティブ・エージェント・システムとして構成されており、それら複数台の前記ユニットEH
iのうちの1台、または数台、または全てにおいて前記最適化制御データセットSD
i,P2(A
m+1)の生成が行われるようにしたものがある。この後者の構成例は、分散配置された計算処理能力を用いて、いわゆる「クラウド・コンピューティング」方式によって複雑な最適化タスクを実行するものである。
【0024】
前記オプティマイザOEは、セルフラーニング方式で機能するように構成されているものとすることが、即ち、既知の知識を利用して新たな最適化タスクを実行するように構成されているものとすることが好ましい。ここでいう既知の知識とは例えば、前記オプティマイザOEによって既に生成されている最適化制御データセットSD
i,P2(A
k)などであり、また、前記オプティマイザOEによってそれら最適化制御データセットのための係数値K
P2(SD
i(A
k)が既に生成されている場合には、それら係数値も既知の知識となり得る。更に、ローカル装置である個々のロボットR
iの制御データセットSD
i(A
k)も、前記オプティマイザOEがそれら制御データセットを既知の知識として利用できるようにし、それら制御データセットに基づいて前記最適化制御データセットSD
i,P2(A
k)を生成できるようにしておくことが好ましい。そのように構成することによって、前記最適化制御データセットSD
i,
P2(A
k)の生成が、前記オプティマイザOEによって既に生成されている最適化制御データセットSD
i,P2(A
k)(ここで、k≦mである)、及び/または、既知の制御データセットSD
i(A
k)(ここで、k≦mである)に基づいて好適に行われるようになる。
【0025】
ここに提案するシステムの1つの好適な構成例によれば、前記パラメータP1が表す対象と前記パラメータP2が表す対象とは同一対象である。この構成例では、それらパラメータが表すその同一対象に関して制御データセットの最適化が行われ、その対象とは、例えばロボットの電力消費量などである。また、前記パラメータP1が表す対象、及び/または、前記パラメータP2が表す対象は、前記ロボットが個々の制御データセットSD
iに従った動作を実行する際の部分的電力消費量または総電力消費量、または、前記ロボットが個々の制御データセットSD
iに従った動作を実行する際に要する部分的実行時間または総実行時間、または、それらの組合せとすることが好ましい。ただし言うまでもないことであるが、パラメータが表す対象は、用途と必要条件とに応じてその他の対象とすることも考えられる。
【0026】
(具体例)
まず、P1=P2であって、即ちそれら2つのパラメータが同一対象を表しており、その対象とは、制御データセットSD
i(A
m+1)に従った動作の全体をあるロボットが実行する際の総電力消費量であるものとする。このとき、係数値K
P1(SD
i(A
m+1))は、当該制御データセットSD
i(A
m+1)に従った動作の全体を当該ロボットが実行する際の総電力消費量の値を示している。そして、その係数値K
P1(SD
i(A
m+1))が所定のスレショルド値を超えていたものとする(このことは、当該制御データセットSD
i(A
m+1)に従った動作が比較的低効率であることを表している)。かかる状況において、当該ロボットR
iから前記オプティマイザOEへ、総電力消費量P2に関して最適化された最適化制御データセットSD
i,P2(A
m+1)を生成することを要求する最適化要求が発せられる。この最適化の実行形態には様々な形態があり得る。例えば、前記オプティマイザOEが、前記ユニットEH
iによってそれまでに生成されている制御データセットSD
i(A
m+1)に基づいて、当該最適化制御データセットSE
i,P2(A
m+1)を生成するようにしてもよい。またそれとは別の具体例として、前記オプティマイザOEが、新たに入力設定されたタスクA
m+1の仕様と、これから生成しようとする最適化制御データセットSD
i,P2(A
m+1)がパラメータP2の最適化条件を満足するものとなるようにするための必要条件とに基づいて、当該最適化制御データセットSD
i,P2(A
m+1)をいちから生成するようにすることもできる。この後者の具体例においては、かかる最適化制御データセットの生成が、前記制御データセットSD
i(A
m+1)と、前記係数値K
P1(SD
i(A
m+1))とを用いて行われるようにすることが好ましい。また更にその場合に、前記オプティマイザOEによる前記最適化制御データセットSD
i,P2(A
m+1)の生成が、前記格納ユニットSPE
iに格納されている制御データセットSD
i(A
k)(ここで、k = 0, 1, ..., mである)、及び/または、前記格納ユニットSPE
iに格納されている係数値K
P1(SD
i(A
m+1))を用いて行われるようにすることが好ましい。
【0027】
更に、前記ユニットEH
iは、前記制御データセットSD
i(A
m+1)の生成を、制御データセットSD
i(Ak)(ここで、k = 0, 1, ... ,mである)のための係数値としてそれまでに生成されている係数値K
P1(SD
i(A
k))に基づいて行うように構成されているものとすることが好ましい。この方式によれば特に、既に係数値が確定している制御データセットSD
i(A
k)を利用して前記制御データセットSD
i(A
m+1)の生成が好適に行われるため、それによって例えば、ロボットR
iがある動作を実行するための電力消費量を顕著に低減することや、ロボットR
iがある動作を実行するために要する総実行時間を顕著に短縮することなどが可能になる。
【0028】
ここに提案するシステムの更なる特徴として、前記データベースDBは、前記オプティマイザOEによって最適化が施された最適化制御データセットSD
i,P2(A
m+1)を格納保持すると共に、その格納保持した当該最適化制御データセットSD
i,P2(A
m+1)を、当該タスクA
m+1を実行させるために前記ロボットR
iに供給するように構成されているということがある。
【0029】
前記オプティマイザOEは、当該オプティマイザOEが生成した最適化制御データセットSD
i,P2(A
m+1)を、係数値K
P2(SD
i(A
m+1))を有する少なくとも1つのパラメータP2に関して評価する評価ユニットBE
OPTを備えているようにすることが好ましい。
【0030】
従ってここに提案するシステムによれば、ローカルに生成された(即ち、個々のロボットR
iにおいて生成された)制御データセットSD
i(A
m+1)に対して、特にタスクに適合するように構成されたオプティマイザOEによって、パラメータP2に関して最適化を施すことが可能である。また、当該オプティマイザOEは、データ・ネットワーク(このデータ・ネットワークはワールド・ワイド・ネットワークであってもよい)上で既知となっている、制御データセットSD
i(A
k)及びSD
i,P2(A
K)、並びにそれら制御データセットのための係数値K
P1(SD
i(A
k))及びK
P2(SD
i(A
k))の全てにアクセスする能力を有する構成することが好ましい。かかる構成としたオプティマイザの1つの好適な構成例として、最適化制御データセットSD
i,P2(A
m+1)の生成が「クラウド・コンピューティング方式」で行われるようにするのもよい。かかる構成例によれば、更に別の(場合によってはワールド・ワイドに分散配置されている)ロボットR
iに保持されている知識をも、制御データセットの生成に利用することができる。
【0031】
前記データベースDBは、前記格納ユニットSPE
iによって構築されているものとすることが好ましい。また、前記データベースDBは、前記データ・ネットワーク上に配置された1台のデジタル格納ユニットSPE
i、または前記データ・ネットワーク上に分散配置された複数台のデジタル格納ユニットSPE
iによって構築されているようにしてもよい。
【0032】
本発明は更に、複数台のロボットR
i(ここで、i = 1, 2, 3, ..., nであり、n≧2である)と、オプティマイザOEと、データベースDBとを備え、それらがデータ・ネットワークを介して相互にデータ通信可能にネットワーク接続されているシステムを作動させる方法に関するものであり、このシステム作動方法においては、前記ロボットR
iを制御ユニットSE
iが制御し、指定されたタスクA
k(ここで、k = 0, 1, 2, ...,mである)に関する前記ロボットR
iの制御を各々が実行可能にする複数の制御データセットSD
i(A
k)を当該ロボットR
iの格納ユニットSPE
iが格納保持し、前記ロボットR
iに実行させる新たなタスクA
m+1(ここで、タスクA
m+1≠タスクA
kである)を当該ロボットR
iのユニットEE
iを介して入力設定可能にし、当該タスクA
m+1を実行するための制御データセットSD
i(A
m+1)を当該ロボットR
iのユニットEH
iが生成し、前記ユニットEH
iにより生成された当該制御データセットSD
i(A
m+1)を、評価ユニットBE
iが、係数値K
P1(SD
i(A
m+1))を有する少なくとも1つのパラメータP1に関して評価し、更に、前記オプティマイザOEが、いずれかの前記ロボットR
iから最適化要求が発せられたならば、少なくとも1つの所定のパラメータP2に関して最適化が施された最適化制御データセットSD
i,P2(A
m+1)を生成し、当該ロボットRiが最適化要求を発するのは係数値K
P1(SD
i(A
m+1)が所定の条件を満たさないときであり、更に、前記データベースDBが、前記オプティマイザOEによって最適化が施された最適化制御データセットSD
i,P2(A
m+1)を格納保持すると共に、その格納保持した当該最適化制御データセットSD
i,P2(A
m+1)を、当該タスクA
m+1を実行させるために前記ロボットR
iに供給することを特徴とする。
【0033】
上記方法の様々な利点及び上記方法の特に有利な構成例は、上で説明したここに提案するシステムの実施態様を上記方法に同様に適用することにより得られるものである。
【0034】
更なる様々な利点、特徴、及び細部構成は、ときに図面を参照しつつ説明する少なくとも実施例についての以下の詳細な説明を通して明らかにする。尚、図面中、互いに同一の構成要素、互いに同等の構成要素、及び/または、互いに同一の機能を有する構成要素には、同一の参照番号を付してある。