(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-31
(45)【発行日】2023-08-08
(54)【発明の名称】ロボット識別マネージャ
(51)【国際特許分類】
G06F 21/44 20130101AFI20230801BHJP
A61B 90/90 20160101ALI20230801BHJP
【FI】
G06F21/44
A61B90/90
(21)【出願番号】P 2020556894
(86)(22)【出願日】2019-06-11
(86)【国際出願番号】 IB2019054851
(87)【国際公開番号】W WO2019239308
(87)【国際公開日】2019-12-19
【審査請求日】2022-04-11
(32)【優先日】2018-06-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】ホイットマン、トッド、ラッセル
(72)【発明者】
【氏名】ボーマン、アーロン
(72)【発明者】
【氏名】バスティアン、デイビッド
(72)【発明者】
【氏名】マックロリー、ニコラス
【審査官】宮司 卓佳
(56)【参考文献】
【文献】米国特許出願公開第2017/0286651(US,A1)
【文献】特開2016-162057(JP,A)
【文献】特開2006-180026(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
A61B 90/90
(57)【特許請求の範囲】
【請求項1】
ロボット・デバイスを識別するための方法であって、前記方法は、
プロセッサによって、
第1のロボット・デバイスであることをアサートする未知のロボット・デバイスに対する認証要求を受信するステップと、
前記第1のロボット・デバイスに対する第1の識別データセットを受信するステップと、
前記未知のロボット・デバイスに識別活動を発行するステップと、
前記未知のロボット・デバイスから受信した前記識別活動に対する応答に基づいて前記未知のロボット・デバイスに対する第2の識別データセットを生成するステップと、
前記第1の識別データセットが前記第2の識別データセットと一致すると判定したことに応答して、前記未知のロボット・デバイスが前記第1のロボット・デバイスであると判定するステップと、
前記未知のロボット・デバイスが前記第1のロボット・デバイスであると判定するステップに応答して前記未知のロボット・デバイスを認証するステップと、
前記第1のロボット・デバイスとの通信を開始するステップと、
前記第1のロボット・デバイスに対する前記識別データセットを更新するステップと
を実行する、方法。
【請求項2】
前記第2の識別データセットを前記生成するステップは、プロセッサによってさらに、
前記未知のロボット・デバイスからオーディオ信号を得るステップと、
前記オーディオ信号に対するオーディオ信号伝達処理を実行するステップと、
前記未知のロボット・デバイスのオーディオ信号プロファイルを生成するステップと
を実行する、請求項1に記載の方法。
【請求項3】
前記第1のロボット・デバイスからシグネチャ生体模倣入力を受信するステップと、
対応するシグネチャ生体模倣出力を定めるステップと、
前記対応するシグネチャ生体模倣出力をモデリングするステップとをさらに実行し、
前記第2の識別データセットを生成するステップは、前記未知のロボット・デバイスの前記対応するシグネチャ生体模倣出力に基づいている、請求項1に記載の方法。
【請求項4】
前記未知のロボット・デバイスが前記第1のロボット・デバイスであると判定するステップに応答して前記未知のロボット・デバイスを認証するステップは、プロセッサによってさらに、
光学走査を実行するステップと、
前記未知のロボット・デバイスの光学走査画像を生成するステップと、
前記生成された未知のロボット・デバイスの光学走査画像が1つ以上のデータベースからの光学走査画像と一致すると判定するステップと
を実行する、請求項1に記載の方法。
【請求項5】
前記未知のロボット・デバイスが前記第1のロボット・デバイスであると判定するステップに応答して前記未知のロボット・デバイスを認証するステップは、プロセッサによってさらに、
前記第1のロボット・デバイスからの事前知識に対する要求を開始するステップであって、前記事前知識は前記第1のロボット・デバイスの過去に保存された識別結果に関係する、前記開始するステップと、
前記第1のロボット・デバイスから事前知識を受信するステップと、
前記事前知識が1つ以上のデータベースにおける前記事前知識と一致すると判定するステップと、
1つ以上の制限エリアに対する前記第1のロボット・デバイスのアクセスを許可するステップと
を実行する、請求項1に記載の方法。
【請求項6】
前記未知のロボット・デバイスが前記第1のロボット・デバイスであると判定するステップに応答して前記未知のロボット・デバイスを認証するステップは、プロセッサによってさらに、
前記第1のロボット・デバイスであることをアサートする前記未知のロボット・デバイスの尋問を開始するステップと、
前記第1のロボット・デバイスであることをアサートする前記未知のロボット・デバイスを尋問するステップと、
前記第1のロボット・デバイスであることをアサートする前記未知のロボット・デバイスが1つ以上のデータベースにおけるデータに対応する方式で前記尋問に応答していると判定するステップと、
1つ以上の制限エリアに対して前記第1のロボット・デバイスを入場許可するステップと
を実行する、請求項1に記載の方法。
【請求項7】
前記第1の識別データセットが前記第2の識別データセットと一致しないと判定したことに応答して、シャットダウン・プロトコルを開始するステップをさらに含む、請求項1に記載の方法。
【請求項8】
前記未知のロボット・デバイスが前記第1のロボット・デバイスであると判定するステップに応答することは、プロセッサによってさらに、
前記第1のロボット・デバイスに対する連続的モニタリングを定めるステップと、
前記第1のロボット・デバイスをモニタするステップと
を実行する、請求項1に記載の方法。
【請求項9】
プロセッサに、請求項1ないし
8の何れか一項に記載の方法を実行させるためのプログラム。
【請求項10】
請求項
9に記載のプログラムを保存したコンピュータ可読ストレージ媒体。
【請求項11】
プロセッサと、
コンピュータ可読ストレージ媒体と、
前記プロセッサによる実行のために前記コンピュータ可読ストレージ媒体に保存されたプログラム命令と
を含むコンピュータ・システムであって、前記プログラム命令は、
第1のロボット・デバイスであることをアサートする未知のロボット・デバイスに対する認証要求を受信するためのプログラム命令と、
前記第1のロボット・デバイスに対する第1の識別データセットを受信するためのプログラム命令と、
前記未知のロボット・デバイスに識別活動を発行するためのプログラム命令と、
前記未知のロボット・デバイスから受信した前記識別活動に対する応答に基づいて前記未知のロボット・デバイスに対する第2の識別データセットを生成するためのプログラム命令と、
前記第1の識別データセットが前記第2の識別データセットと一致すると判定したことに応答して前記未知のロボット・デバイスが前記第1のロボット・デバイスであると判定するためのプログラム命令と、
前記未知のロボット・デバイスが前記第1のロボット・デバイスであると判定したことに応答して前記未知のロボット・デバイスを認証するためのプログラム命令と
前記第1のロボット・デバイスとの通信を開始するプログラム命令と、
前記第1のロボット・デバイスに対する前記識別データセットを更新するブログラム命令と
を含む、コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般的にコグニティブ・コンピューティングの分野に関し、より具体的にはロボットのセキュリティに関する。
【0002】
ロボット工学は、ロボットの設計、構成、動作、および使用、ならびにロボットの制御、感覚フィードバック、および情報処理のためのコンピュータ・システムを取り扱う。
【0003】
これらの技術を用いて、人間に置き換わって人間の活動を再現できるマシンが開発される。ロボットは任意の状況および任意の目的で使用され得るが、今日多くのロボットが危険な環境(爆弾の検出および不活性化を含む)、製造プロセス、または人間が生存できないような場所において用いられている。ロボットは任意の形を取り得るが、人間に似せた外観に作られたものもある。これは、通常は人々によって行われる特定の再現挙動におけるロボットの受容を助けると言われている。こうしたロボットは歩行、持ち上げ、会話、認識、および基本的に人間が行い得るあらゆることの再現を試みる。今日のロボットの多くは自然から着想されており、バイオインスパイアード・ロボット工学の分野に寄与している。
【0004】
ロボット手術とは、外科医と(術前計画手順の際に特定の活動を行うようにプログラムされた)手術用ロボットとの相関的活動に対して用いられる用語である。手術用ロボットとは、コンピュータ制御された(一般的にロボット・アームのように見える)機械的デバイスである。ロボット手術は、手順の間の外科医の相互作用の程度によって、次の3タイプに分けることができる。監視制御、遠隔手術、および共有制御である。監視制御システムにおいて、手順はロボットのみによって実行され、ロボットは予めプログラムされた活動を行うこととなる。リモート手術としても公知である遠隔手術システムは、ロボット・アームに予め定められたプログラムによる作業をさせるのではなく、手順の際に外科医がロボット・アームを操作することを必要とする。共有制御システムでは、外科医が機器の安定した操作を提供するロボットを用いることによって手順を行う。ほとんどのロボットにおいては、手術の複雑さおよび症例の特殊性に依存して、各個々の介入に対して作業モードが選択され得る。
【0005】
リモート手術(遠隔手術としても公知である)は、医師が患者と物理的に同じ場所にいなくても患者に手術を行うことを可能にする。これはテレプレゼンスの形である。ロボット手術システムは一般的に、(外科医によって制御される)1つ以上のアームと、マスタ・コントローラ(コンソール)と、ユーザにフィードバックを与える感覚システムとからなる。リモート手術は、たとえば高速データ接続などのロボット工学の最先端通信技術の要素と、管理情報システムの要素とを組み合わせる。ロボット手術の分野は非常によく確立されているが、これらのロボットのほとんどは手術の場所において外科医によって制御されている。リモート手術は外科医にとって本質的に高度なテレコミューティングであり、ここでは外科医と患者との間の物理的距離は重要でない。
【発明の概要】
【0006】
本発明の一実施形態によると、ロボット・デバイスを識別するための方法が提供される。この方法は、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスに対する認証要求を受信するステップを含む。この方法はさらに、第1のロボット・デバイスに対する第1の識別データセットを受信するステップを含む。この方法はさらに、未知のロボット・デバイスに識別活動を発行するステップを含む。この方法はさらに、未知のロボット・デバイスから受信した識別活動に対する応答に基づいて未知のロボット・デバイスに対する第2の識別データセットを生成するステップを含む。この方法はさらに、第1の識別データセットが第2の識別データセットと一致すると判定したことに応答して未知のロボット・デバイスが第1のロボット・デバイスであると判定するステップを含む。この方法はさらに、未知のロボット・デバイスが第1のロボット・デバイスであると判定するステップに応答して未知のロボット・デバイスを認証するステップを含む。この方法はさらに、第1のロボット・デバイスからの事前知識に対する要求を開始するステップを含み、この事前知識は第1のロボット・デバイスの過去に保存された識別結果に関係し、この方法はさらに、1つ以上のプロセッサによって第1のロボット・デバイスから事前知識を受信するステップを含む。この方法はさらに、事前知識が1つ以上のデータベースにおける事前知識と一致すると判定するステップと、1つ以上の制限エリアに対する第1のロボット・デバイスのアクセスを許可するステップとを含む。この方法はさらに、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスの尋問を開始するステップと、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスを尋問するステップとを含む。加えてこの方法は、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスが、1つ以上のデータベースにおけるデータに対応する方式で尋問に応答していると判定するステップと、1つ以上の制限エリアに対して第1のロボット・デバイスを入場許可するステップとを含む。
【0007】
この方法は、ロボット識別のために生体模倣信号識別(biomimetic signal identification)を使用しており、本発明はロボット・デバイスを識別するために多次元の方法を使用するため、このことは有利である。この識別方法は、コグニティブ・ロボット・コンポーネント回帰ベースの事前分布システムを使用して、ロボットの能動的および受動的な識別に対する証拠を蓄積する。信号識別方法は、ロボットの知識の証拠と生体模倣信号識別との組み合わせを使用して、能動的および受動的にロボットを識別する。
【0008】
別の視点から見ると、本発明はロボット・デバイスを識別するコンピュータ・プログラム製品を提供し、このコンピュータ・プログラム製品は、1つ以上のコンピュータ可読有形ストレージ媒体と、この1つ以上のコンピュータ可読ストレージ媒体の少なくとも1つに保存されたプログラム命令とを含み、このプログラム命令は1つ以上のコンピュータ・プロセッサによって可読/実行可能であり、かつさらに、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスに対する認証要求を受信するためのプログラム命令と、第1のロボット・デバイスに対する第1の識別データセットを受信するためのプログラム命令と、未知のロボット・デバイスに識別活動を発行するためのプログラム命令と、未知のロボット・デバイスから受信した識別活動に対する応答に基づいて未知のロボット・デバイスに対する第2の識別データセットを生成するためのプログラム命令と、第1の識別データセットが第2の識別データセットと一致すると判定したことに応答して未知のロボット・デバイスが第1のロボット・デバイスであると判定するためのプログラム命令と、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して未知のロボット・デバイスを認証するためのプログラム命令とを含む。
【0009】
好ましくは、本発明が提供するコンピュータ・プログラム製品において、第2の識別データセットを生成することは、1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含み、このプログラム命令はプロセッサによって実行されるときに、ロボット・デバイスからオーディオ信号を得ることと、オーディオ信号に対するオーディオ信号伝達処理を実行することと、未知のロボット・デバイスのオーディオ信号プロファイルを生成することとをプロセッサに行わせる。
【0010】
好ましくは、本発明は1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含むコンピュータ・プログラム製品を提供し、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスからシグネチャ生体模倣入力(signature biomimetic input, シグネチャ・バイオミメティクス入力)を受信することと、対応するシグネチャ生体模倣出力を定めることと、対応するシグネチャ生体模倣出力をモデリングすることとをプロセッサに行わせ、第2の識別データセットを生成することは、未知のロボット・デバイスの対応するシグネチャ生体模倣出力に基づいている。
【0011】
好ましくは、本発明が提供するコンピュータ・プログラム製品において、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して未知のロボット・デバイスを認証することは、1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含み、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスとの通信を開始することと、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して第1のロボット・デバイスに対する識別データセットを更新することとをプロセッサに行わせる。
【0012】
好ましくは、本発明が提供するコンピュータ・プログラム製品において、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して未知のロボット・デバイスを認証することは、1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含み、このプログラム命令はプロセッサによって実行されるときに、光学走査を実行することと、未知のロボット・デバイスの光学走査画像を生成することと、生成された未知のロボット・デバイスの光学走査画像が1つ以上のデータベースからの光学走査画像と一致すると判定することとをプロセッサに行わせる。
【0013】
好ましくは、本発明が提供するコンピュータ・プログラム製品において、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して未知のロボット・デバイスを認証することは、1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含み、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスからの事前知識に対する要求を開始することであって、この事前知識は第1のロボット・デバイスの過去に保存された識別結果に関係する、要求を開始することと、第1のロボット・デバイスから事前知識を受信することと、その事前知識が1つ以上のデータベースにおける事前知識と一致すると判定することと、1つ以上の制限エリアに対する第1のロボット・デバイスのアクセスを許可することとをプロセッサに行わせる。
【0014】
好ましくは、本発明は1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含むコンピュータ・プログラム製品を提供し、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスの尋問を開始することと、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスを尋問することと、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスが、1つ以上のデータベースにおけるデータに対応する方式で尋問に応答していると判定することと、1つ以上の制限エリアに対して第1のロボット・デバイスを入場許可することとをプロセッサに行わせる。
【0015】
好ましくは、本発明は1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含むコンピュータ・プログラム製品を提供し、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスに対する第1の識別データセットが第1のロボット・デバイス・プログラミング・データセットと一致しないと判定したことに応答してシャットダウン・プロトコルを開始することをプロセッサに行わせる。
【0016】
好ましくは、本発明が提供するコンピュータ・プログラム製品において、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答することは、1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含み、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスに対する連続的モニタリングを定めることと、第1のロボット・デバイスをモニタすることとをプロセッサに行わせる。
【0017】
別の視点から見ると、本発明はコンピュータ・システムを提供し、このコンピュータ・システムは1つ以上のコンピュータ・プロセッサと、1つ以上のコンピュータ可読ストレージ媒体と、1つ以上のコンピュータ・プロセッサの少なくとも1つによる実行のためにコンピュータ可読ストレージ媒体に保存されたプログラム命令とを含み、このプログラム命令は、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスに対する認証要求を受信するためのプログラム命令と、第1のロボット・デバイスに対する第1の識別データセットを受信するためのプログラム命令と、未知のロボット・デバイスに識別活動を発行するためのプログラム命令と、未知のロボット・デバイスから受信した識別活動に対する応答に基づいて未知のロボット・デバイスに対する第2の識別データセットを生成するためのプログラム命令と、第1の識別データセットが第2の識別データセットと一致すると判定したことに応答して未知のロボット・デバイスが第1のロボット・デバイスであると判定するためのプログラム命令と、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して未知のロボット・デバイスを認証するためのプログラム命令とを含む。
【0018】
好ましくは、本発明が提供するコンピュータ・システムにおいて、第2の識別データセットを生成することは、1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含み、このプログラム命令はプロセッサによって実行されるときに、ロボット・デバイスからオーディオ信号を得ることと、オーディオ信号に対するオーディオ信号伝達処理を実行することと、未知のロボット・デバイスのオーディオ信号プロファイルを生成することとをプロセッサに行わせる。
【0019】
好ましくは、本発明は1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含むコンピュータ・システムを提供し、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスからシグネチャ生体模倣入力を受信することと、対応するシグネチャ生体模倣出力を定めることと、対応するシグネチャ生体模倣出力をモデリングすることとをプロセッサに行わせ、第2の識別データセットを生成することは、未知のロボット・デバイスの対応するシグネチャ生体模倣出力に基づいている。
【0020】
好ましくは、本発明が提供するコンピュータ・システムにおいて、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して未知のロボット・デバイスを認証することは、1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含み、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスとの通信を開始することと、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して第1のロボット・デバイスに対する識別データセットを更新することとをプロセッサに行わせる。
【0021】
好ましくは、本発明が提供するコンピュータ・システムにおいて、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して未知のロボット・デバイスを認証することは、1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含み、このプログラム命令はプロセッサによって実行されるときに、光学走査を実行することと、未知のロボット・デバイスの光学走査画像を生成することと、生成された未知のロボット・デバイスの光学走査画像が1つ以上のデータベースからの光学走査画像と一致すると判定することとをプロセッサに行わせる。
【0022】
好ましくは、本発明が提供するコンピュータ・システムにおいて、未知のロボット・デバイスが第1のロボット・デバイスであると判定したことに応答して未知のロボット・デバイスを認証することは、1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含み、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスからの事前知識に対する要求を開始することであって、この事前知識は第1のロボット・デバイスの過去に保存された識別結果に関係する、要求を開始することと、第1のロボット・デバイスから事前知識を受信することと、その事前知識が1つ以上のデータベースにおける事前知識と一致すると判定することと、1つ以上の制限エリアに対する第1のロボット・デバイスのアクセスを許可することとをプロセッサに行わせる。
【0023】
好ましくは、本発明は1つ以上のコンピュータ可読ストレージ媒体に保存されたプログラム命令をさらに含むコンピュータ・システムを提供し、このプログラム命令はプロセッサによって実行されるときに、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスの尋問を開始することと、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスを尋問することと、第1のロボット・デバイスであることをアサートする未知のロボット・デバイスが、1つ以上のデータベースにおけるデータに対応する方式で尋問に応答していると判定することと、1つ以上の制限エリアに対して第1のロボット・デバイスを入場許可することとをプロセッサに行わせる。
【図面の簡単な説明】
【0024】
【
図1】本発明の実施形態による分散型データ処理環境を示す機能ブロック図である。
【
図2】本発明の実施形態によるロボット・デバイスを識別するためのプログラムであるプログラム200の動作ステップを示す流れ図である。
【
図3】本発明の実施形態によるロボット・デバイスを識別するプログラムの例を示す図である。
【
図4】本発明による実施形態における、たとえば
図1のサーバ・コンピュータなどのコンピュータ・システムのコンポーネントを示すブロック図である。
【発明を実施するための形態】
【0025】
本発明の実施形態は、ロボットの急増が一意の問題をもたらすことを認識している。企業のセキュリティから医学的な事柄までにわたるさまざまな状況において、そのロボットがタスクに対する正しいロボットであることを確実にするために、ロボットを積極的に識別して予備尋問できることが要求されるだろう。「予備尋問」という表現を言い換えると「どれが真か」を意味し、この表現はしばしば証拠と、能力と、バイアスに関連するその他の事柄とに関係する。企業のセキュリティを確実にするために、ロボット人員の識別は、人間人員の積極的識別と同じぐらい重要である。適切な許可のないロボットは、ロボットに相当する人間と同様に機密エリアに入れるべきではない。
【0026】
本発明の実施形態は、医療施設認定合同機構(The Joint Commission)が病院および外来患者の設定における(i)間違った人物、(ii)間違った手順、および(iii)間違った部位の手術を防ぐためのユニバーサル・プロトコル(The Universal Protocol)を確立したことを認識している。患者の安全を確実にし、かつ医療過誤の問題に効果的に対処するために、医療手術用ロボットの積極的識別は最重要である。ロボットが手術に参加するためには、ロボットはユニバーサル・プロトコルに準拠できる必要があり、すなわち自身を識別して目下の医療タスクに対する自身の資格を述べ得る必要があるだろう。
【0027】
本発明の実施形態は、ロボットを識別するための現行のアプローチが無線周波数識別デバイス(RFID:radio frequency identification devices)の使用に委ねられていることを認識している。RFIDタグは、アクセス制御システムを脅かすリレー・アタックを非常に受けやすい。リレー・アタックは、非正規のタグBおよび虚偽のリーダの使用を伴う。一例において、(制限エリアにある)元のタグAおよびリーダは、ある距離を置いて離れている。偽のリーダが元のタグを読取り、その情報を用いてタグAの識別子によってタグBをプログラムする。次いでタグBはタグAとして活動し、正規のリーダと通信して制限エリアへの違法アクセスを得る。本発明の実施形態は、RFIDタグが非常に容易に偽造またはコピーされてタグのなりすましを可能にし得ることも認識している。
【0028】
本発明の実施形態は、ロボット・デバイスを識別するための現行のアプローチが問題を有することを認識している。ロボット・デバイスのアイデンティティを検証する現行の方法は、時代遅れかつ容易に偽造可能な方法を使用している。たとえば、MACアドレス、または単なるバーコード、または電磁シグネチャを使用したロボット・デバイスの識別は、外部エンティティによって非常に容易に乗っ取られる。本発明の実施形態は、アイデンティティが多次元の構成であり、現行の方法はもしあってもロボット・デバイスを識別する1つの方法を使用していることも認識している。
【0029】
本発明の実施形態は、多次元の識別構成を使用してロボット・デバイスを識別する方法を提供する。本発明は、ロボット識別のために生体模倣信号識別を使用しており、本発明はロボット・デバイスを識別するために多次元の方法を使用するため、このことは有利である。この識別方法は、コグニティブ・ロボット・コンポーネント回帰ベースの事前分布システムを使用して、ロボットの能動的および受動的な識別に対する証拠を蓄積する。信号識別方法は、ロボットの知識の証拠と生体模倣信号識別との組み合わせを使用して、能動的および受動的にロボットを識別する。
【0030】
ここで
図1を参照すると、本開示の実施形態が実施され得る分散型データ処理環境の例の機能ブロック図が示されている。一実施形態において、コンピュータ・デバイス110はコンピュータ処理ユニット(CPU:computer processing unit)125と、グラフィカル・ユーザ・インターフェース(GUI:graphical user interface)130と、グラフィカル処理ユニット(GPU:graphical processing unit)145と、ウェブ・ブラウザ150と、生体模倣チップ155と、ストレージ160とを含む。コンピュータ・デバイス110上のさまざまなプログラムは、ウェブ・ブラウザ、電子メール・クライアント、セキュリティ・ソフトウェア(例、ファイアウォール・プログラム、ジオロケーティング・プログラム、暗号化プログラムなど)、インスタント・メッセージング(IM:instant messaging)アプリケーション(app:application)、および通信(例、電話)アプリケーションを含む。
【0031】
コンピュータ・デバイス110は、ロボット・デバイス、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、特定化されたコンピュータ・サーバ、スマートフォン、ウェアラブル・デバイス(例、スマート・ウォッチ、パーソナル・フィットネス・デバイス、パーソナル・セーフティ・デバイス)、またはインタラクティブ・ディスプレイを有する当該技術分野において公知の任意のプログラマブル・コンピュータ・システム、または当該技術分野において公知の任意のその他のコンピュータ・システムであってもよい。特定の実施形態において、コンピュータ・デバイス110は、データ・センタ内およびクラウド・コンピューティング適用で一般的であるとおり、ネットワーク185を通じてアクセスされるときにシームレス・リソースの単一のプールとして活動するクラスタ化されたコンピュータおよびコンポーネントを使用するコンピュータ・システムを表す。一般的に、コンピュータ・デバイス110は、マシン可読プログラム命令の実行および他のコンピュータ・デバイスとのネットワークを介した通信が可能な任意のプログラマブル電子デバイス、または複数のプログラマブル電子デバイスの組み合わせを表す。
【0032】
一実施形態において、中央処理ユニット125(CPU:Central Processing Unit)はデータ入力を受信し、命令を実行し、かつ情報を処理する。CPU125は入力/出力(I/O:Input/Output)デバイスと通信し、この入力/出力(I/O)デバイスはデータをCPUに送信し、かつそこから受信する。加えてCPU125は、内部キャッシュ・メモリと通信するためのバックサイド・バスと呼ばれる内部バスを有する。CPU、メモリ、チップセット、およびAGPソケットへのデータ転送およびそこからのデータ転送のためのメイン・バスは、フロント・サイド・バスと呼ばれる。CPU125は、レジスタと呼ばれる内部メモリ・ユニットを含む。これらのレジスタは、ALU情報処理において用いられるデータ、命令、カウンタ、およびアドレスを含む。
【0033】
一実施形態において、グラフィカル・ユーザ・インターフェース130はコンピュータ・デバイス110において動作する。別の実施形態において、グラフィカル・ユーザ・インターフェース130は、たとえばサーバ・コンピュータ(例、サーバ120)などの別のコンピュータにおいて、サーバ・ベースの設定で動作する。さらに別の実施形態において、グラフィカル・ユーザ・インターフェース130はコンピュータ・デバイス110において、ネットワーク185を通じて相互接続されたサーバ・コンピュータ(例、サーバ120)と同時に動作する。グラフィカル・ユーザ・インターフェース130は、たとえばプログラム200によって収集または生成された情報などの、コンピュータ・デバイス110からの情報にアクセスするために用いられる任意のユーザ・インターフェースであってもよい。加えて、グラフィカル・ユーザ・インターフェース130は、たとえばプログラム200への入力のためにユーザによって供給される情報などの情報をコンピュータ・デバイス110に供給するために用いられる任意のユーザ・インターフェースであってもよい。いくつかの実施形態において、グラフィカル・ユーザ・インターフェース130は、インターネットからのリソースを検索、提供、およびネゴシエートするために用いられる汎用ウェブ・ブラウザを提供してもよい。他の実施形態において、グラフィカル・ユーザ・インターフェース130は、コンピュータ・デバイス110におけるユーザがネットワーク185にアクセスすることを可能にするソフトウェアまたはアプリケーションであってもよい。
【0034】
さらに別の実施形態において、コンピュータ・デバイス110のユーザはタッチ・スクリーンを通じてグラフィカル・ユーザ・インターフェース130と対話でき、タッチ・スクリーンはグラフィカル・ユーザ・インターフェース(GUI)への入力デバイスと、ソフトウェア・アプリケーションまたは実行中のソフトウェア・アプリケーションを示す画像に関連する複数のアイコンを提示する出力デバイス(すなわち電子ディスプレイ)との両方として動作する。任意には、ソフトウェア・アプリケーション(例、ウェブ・ブラウザ)は、コンピュータ・デバイス110のGUI内で動作するグラフィカル・ユーザ・インターフェース130を生成できる。グラフィカル・ユーザ・インターフェース130は、マルチタッチ・ディスプレイと呼ばれる触覚センサ・インターフェース(例、タッチ・スクリーンまたはタッチパッド)を含むがそれに限定されない複数の入力/出力(I/O)デバイスからの入力を受け入れる。グラフィカル・ユーザ・インターフェース130とインターフェースするI/Oデバイスがコンピュータ・デバイス110に接続されてもよく、そのI/Oデバイスは有線(例、USBポート)またはワイヤレス・ネットワーク通信(例、赤外線、NFCなど)を使用して動作してもよい。本発明の実施形態によると、コンピュータ・デバイス110は、
図4に関して示されてさらに詳細に説明されるとおりのコンポーネントを含んでもよい。
【0035】
グラフィックス処理ユニット145(GPU:Graphics Processing Unit)は、ディスプレイ機能に対して特定化されたプログラマブル・ロジック・チップ(プロセッサ)である。一例において、GPU145はコンピュータのスクリーンに対して画像、アニメーション、およびビデオをレンダリングする。GPUはプラグイン・カード上、マザーボード上のチップセット内、またはCPU(図示せず)と同じチップ内に位置する。GPU145は並列動作を行う。GPU145は2Dデータならびにスクリーンのズーミングおよびパニングに対して用いられるが、GPU145は3Dアニメーションおよびビデオの復号およびレンダリングを助ける。GPUがより高度になるほど解像度が高くなり、かつゲームおよび映画における動きがより速くより円滑になる。スタンド・アロン・カードにおけるGPUは独自のランダム・アクセス・メモリ(RAM:random-access memory)を含むが、チップセットまたはCPUチップにおけるGPUはCPUとメイン・メモリを共有する。GPU145は、複数のタスクを同時に取り扱うために設計された何千ものより小さくより効率的なコアからなる大規模並列アーキテクチャを有する。GPU145はCPUの負担を軽くしてサイクルを解放し、そのサイクルが他のジョブに用いられ得る。
【0036】
ウェブ・ブラウザ150は、インターネットからの情報リソースを検索、提供、および横断するために用いられる汎用ウェブ・ブラウザであってもよい。いくつかの実施形態において、ウェブ・ブラウザ150はモバイル・デバイスに対して設計されたウェブ・ブラウザであってもよい。他の実施形態において、ウェブ・ブラウザ150は、たとえばデスクトップ・コンピュータ、PC、またはラップトップなどの従来のコンピュータ・デバイスに対して設計されたウェブ・ブラウザであってもよい。一般的にウェブ・ブラウザ150は、コンピュータ・デバイス110のユーザがネットワーク185を通じてウェブページにアクセスすることを可能にする任意のアプリケーションまたはソフトウェアであってもよい。示される環境において、ウェブ・ブラウザ150はコンピュータ・デバイス110上に存在する。他の実施形態において、ウェブ・ブラウザ150または類似のウェブ・ブラウザは、ネットワーク185を通じてウェブページにアクセスできる他のコンピュータ・デバイス上に存在してもよい。
【0037】
生体模倣チップ(Biomimetic chip)155は、認知的運動を含むようにトレーニングされた1つ以上のニューラル・ネットワークからの重みと、ロボットを識別するために用いられる音とを含む。一実施形態において、生体模倣チップ155は検証されるロボット・デバイス上に位置する。別の実施形態において、生体模倣チップ155は、ロボット・デバイスの識別を検証するコンピュータ・デバイス上に位置する。別の実施形態において、生体模倣チップ155は検証されるロボット・デバイスと、ロボット・デバイスの識別を検証するコンピュータ・デバイスとの両方のデバイス上に位置する。ある実施形態において、生体模倣チップ155は、積極的識別に対する要求またはジェスチャに応答してシグネチャのやり方で動くようにロボットのセンサを較正するニューラル・ネットワークまたはコグニティブ・モジュールによってトレーニングされている。生体模倣チップ155は、ロボットを能動的および受動的に識別するために人間の挙動を模倣するように動くか、もしくはシグネチャ音を出すか、またはその両方を行うようにトレーニングされている。一例において、ユーザは手術用ロボット・アームに対して、そのロボット手術用アームが脳手術のために適切であることを検証するように指示する。ロボットは、ロボット・デバイスおよびロボット・デバイスを識別するコンピュータ・デバイスのいずれかまたは両方に位置する生体模倣チップ155に配置された、トレーニングされたニューラル・ネットワークを通じて、そのロボットが正しいロボットであることを検証するための特徴的な運動を開始するだろう。
【0038】
コンピュータ・デバイス110上に位置するストレージ160(例、データベース)は、コンピュータ・デバイス110によってアクセスされて使用されるデータを保存できる任意のタイプのストレージ・デバイスを表す。他の実施形態において、ストレージ160は、コンピュータ・デバイス110内の複数のストレージ・デバイスを表す。ストレージ160は、たとえばアカウント情報、認証のための信用証明、ユーザの選択、好ましいユーザのリスト、過去に訪問したウェブサイト、訪問したWi-Fiポータルの履歴、およびコンピュータ・デバイスの位置の履歴などであるがそれに限定されない情報を保存する。
【0039】
一般的に、ネットワーク185は、コンピュータ・デバイス110間の通信をサポートすることとなる接続およびプロトコルの任意の組み合わせであり得る。ネットワーク185はたとえば、ローカル・エリア・ネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、たとえばインターネットなど、セルラ・ネットワーク、または前述のものの任意の組み合わせなどを含んでもよく、さらに有線、ワイヤレス、もしくは光ファイバ接続、またはその組み合わせを含み得る。
【0040】
サーバ120はデスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、特定化されたコンピュータ・サーバ、スマートフォン、または当該技術分野において公知の任意のその他のコンピュータ・システムであってもよい。特定の実施形態において、サーバ120は、データ・センタ内およびクラウド・コンピューティング適用で一般的であるとおり、ネットワーク185を通じてアクセスされるときにシームレス・リソースの単一のプールとして活動するクラスタ化されたコンピュータおよびコンポーネントを使用するコンピュータ・システムを表す。一般的に、サーバ120は、マシン可読プログラム命令の実行および他のコンピュータ・デバイスとのネットワークを介した通信が可能な任意のプログラマブル電子デバイス、または複数のプログラマブル電子デバイスの組み合わせを表す。一実施形態において、サーバ120はデータベース170と、プログラム200とを含む。
【0041】
ある実施形態において、サーバ120は、サーバ120とコンピュータ・デバイス110との間のハンドシェイク・プロセスを開始することができる。ハンドシェイクとは、チャネルを通じた通常の通信を始める前に、2つのエンティティ間に確立された通信チャネルのパラメータを動的に設定するネゴシエーションの自動プロセスである。ハンドシェイクはチャネルの物理的確立の後に続き、かつ通常の情報伝達に先行する。ハンドシェイクは、パラメータを設定するためのユーザの介入を必要とせずに、通信チャネルを通じて異種コンピュータ・システムまたは機器を接続することを容易にする。一例において、サーバ120は、サーバ120がコンピュータ・デバイス110上のプログラムにアクセスするために通信チャネルを確立したいことを示すメッセージをコンピュータ・デバイス110に送信することによって、ハンドシェイク・プロセスを開始する。
【0042】
データベース170は、サーバ120によって読取られてもよいリポジトリであってもよい。データベース170は、サーバ120によってアクセスされて使用されるデータを保存できる任意のタイプのストレージ・デバイスを表す。他の実施形態において、データベース170は、サーバ120内の複数のストレージ・デバイスを表す。データベース170は、たとえばアカウント情報、認証のための信用証明、ユーザの選択、好ましいユーザのリスト、過去に訪問したウェブサイト、訪問したWi-Fiポータルの履歴、およびコンピュータ・デバイスの履歴、およびサーバにアクセスするコンピュータ・デバイス上に位置する情報、電話、ビデオ会議、または1人以上のユーザ間の生の会話などであるがそれに限定されない情報を保存する。
【0043】
一実施形態において、プログラム200はサーバ120において動作する。別の実施形態において、プログラム200は、たとえば図示されないサーバ・コンピュータなどの別のコンピュータにおいて、サーバ・ベースの設定で動作する。さらに別の実施形態において、プログラム200はコンピュータ・デバイス110において、ネットワーク185を通じて相互接続されたサーバ120と同時に動作する。プログラム200は、仮想エージェントとの敵対的会話を検出して軽減するためのケイパビリティを提供する。プログラム200は、コンピュータ・デバイス110と通信するためにWi-Fi技術、Bluetooth(R)、近距離無線通信タグ(NFC:Near Field Communication tags)、モバイル通信用グローバル・システム(GSM:Global System for Mobile Communications)、および全地球測位システム技術(GPS:Global Positioning System Technology)を使用できる。
【0044】
実施形態例において、プログラム200は、コンピュータ・デバイス110における1つ以上のアプリケーション内のコード・スニペットとして動作する。コード・スニペットは、スニペットとアプリケーションとの間の双方向性の範囲を定義する(例、サーバ120におけるウェブ・ブラウザ・アプリケーションによってホストされるプログラム200)。たとえば、プログラム200はウェブ・ブラウザ150内の機能であり、プログラム200のプロセスは、プログラム200によって開始されるウェブ・ブラウザ150の動作中に自動的に(すなわち、ユーザの介入なしに)もたらされる。動的コード・スニペット・エレメントは、スクリプトのサポートを提供する。この変数は、サーバ120を通じたプログラム200と、グラフィカル・ユーザ・インターフェース130、ウェブ・ブラウザ150、および生体模倣チップ155との間のダイアログを可能にする。
【0045】
図2は、本発明の実施形態によるロボット・デバイスを識別するためのプログラムであるプログラム200を示す流れ図である。
【0046】
ステップ210において、プログラム200は識別データセットを受信する。ある実施形態において、プログラム200は、第1の未知のロボット・デバイスに対する履歴データセットを含む、図示されないニューラル・ネットワークの出力からの識別データセットを受信する。プログラム200は、同じロボットの異なる構成部分に対する複数の識別データセットと、そのロボット自体に対する識別データセットとを受信できる。一例において、プログラム200は、同じ手術用ロボットに取り付けられた4つの異なる手術用アームと、ロボットの本体とに対する5つのデータセットを同時に受信する。受信されたデータセットは個々のアーム、個々のロボットに対する特定のものであり、代替可能ではない。この例において、受信識別データセット1は手術用アーム1に対応し、一方で受信識別データセット2は手術用アーム2に対応し、受信識別データセット3は手術用アーム3に対応し、受信識別データセット4は手術用アーム4に対応する。受信識別データセット5は、ロボットの本体に対応する。
【0047】
別の実施形態において、プログラム200は1つのロボットから識別データセットを受信する。一例において、プログラム200は識別データセットを、1つのロボットの本体から図示されないニューラル・ネットワークからの出力として受信する。このロボットはアームまたはその他の機能コンポーネントを有さないため、識別データセットはロボットの本体に対応する。別の実施形態において、プログラム200は、ロボットの本体に物理的に接続されていない2つのアームと、ロボットを構成するアームと物理的に近接していないロボットの本体とに対する識別データセットを受信する。
【0048】
図3は、本発明の実施形態による未知のロボット・デバイスとの通信を開始するプログラム200の例を示す。この実施形態において、プログラム200は、ロボット・デバイスに関連付けられたコンピュータ・デバイス310において動作し、未知のロボット・デバイス315との通信を開始し、この未知のロボット・デバイス315には手術用ロボット・アーム320、330、および340が取り付けられている。プログラム200は、手術用ロボット・アーム320、330、および340の1つ、2つ、またはすべてと独立的および協調的に、未知のロボット・デバイス315との通信を開始できる。手術用ロボット・アーム320、330、および340は、個々の付属物と一意に関連付けられたシグネチャ運動を行い得る。
【0049】
ステップ220において、プログラム200はコンピュータ・デバイス310を通じて、320、330、および340が取り付けられた未知のロボット・デバイス315と通信する。プログラム200は、未知のロボット・デバイス315ならびに未知の手術用ロボット・アーム320、330、および340との個別の能動的通信および受動的通信を開始でき、かつプログラム200はそれを受信する。ある実施形態において、プログラム200は、未知のロボット・デバイス315および未知の手術用ロボット・アーム320、330、もしくは340、またはその組み合わせからのオーディオ信号を得て、そのオーディオ信号を処理して未知のロボット・デバイスの未知の手術用ロボット・アームの各々またはすべてのオーディオ・プロファイルを得る。一例において、プログラム200は、未知のロボット・デバイス315の個々のコンポーネント320、330、および340からのアナログまたはデジタル情報信号を受信する。この例において、プログラム200は二進数としての圧力波形のデジタル表現を通じて未知のロボット・デバイスとの通信を開始して、信号の処理を許可する。未知のロボット・デバイスの1つ以上のコンポーネントとの通信を能動的に開始することを助けるために、プログラム200はデータの圧縮、等化による増強、フィルタリング、ならびにエコー除去および付加を行い得る。
【0050】
別の実施形態において、プログラム200は、未知の手術用アーム320、330、および340の生体模倣シグネチャ・プロファイルのモデリングを開始する。一例において、プログラム200は、デバイス・シグネチャ・メタ知識を使用して320、330、および340と通信する。プログラム200は未知の320、330、および340と能動的に通信して、1つ以上のデータベースに保存された320、330、および340のシグネチャ・プロファイルをモデリングすることを320、330、および340に要求する。一例において、プログラム200は、1つの本体に取り付けられた3つの個別の手術用ロボット・アームである320、330、および340との通信を開始する。この例において、各個別アームは、個々の付属物と一意に関連付けられたシグネチャ運動を行う。1つの個別アームは、シグネチャ運動に対応して上に3回動いてもよい。別の個別アームは、ロボット・アームによってコマンドが受信されるまで、反復的様式で時計方向に回転してもよい。
【0051】
別の実施形態において、プログラム200は、ステップ210において受信した履歴データセットに基づいて未知のロボット・デバイス315からの事前知識の収集を要求して、未知のロボット・デバイスのプログラミングを判定する。一例において、プログラム200は未知のロボット・デバイスと通信することを通じて、以前のデバイス識別応答知識の収集を要求する。
【0052】
別の実施形態において、プログラム200は未知のロボット・デバイス315の光学走査を行って、2つの個別ロボット・アームの光学走査画像を生成する。プログラム200は、画像が正確な再現ではないかもしれないが、走査画像は閾値類似基準に適合することを判定できる。ロボット・アームの光学走査は、人間の虹彩の光学走査と同様の働きをする。光学走査は、たとえば光学走査される個別ロボット・アームに対する特定の刻印バーコードまたはバーコードの組み合わせなどの検証可能な識別マーカを探索する。光学走査は、光ビームを用いてロボット・デバイスの物理的プロファイルに対する適合を探索し、特定のロボット・デバイスに対して一意であるロボット・デバイスの物理的プロファイルのニュアンスに対してロボット・デバイスを走査する。光学走査は、光ビームを用いてロボット・デバイスの識別プロファイルに対応するバーコードを分析することもでき、この識別プロファイルは1つ以上のデータベースに保存されている。プログラム200は、ロボット・デバイスの光学走査と組み合わせたバーコードの走査の両方を行って、未知のロボット・デバイスと通信することができる。
【0053】
別の実施形態において、プログラム200は、分析および尋問の推論プログラミングを通じてロボット・デバイスとの通信を開始する。この例において、プログラム200はある活動を行い、未知のロボット・デバイスの活動を観察し、開始された未知のロボット・デバイスとの通信の結果としての未知のロボット・デバイスの変化を探索することによって、未知のロボット・デバイス315との通信を能動的または受動的に開始できる。
【0054】
他の実施形態において、プログラム200はたとえばトルク検知、ロボットの本体に対する運動パターン識別、およびロボット・デバイスの1つ以上の個々の先端の運動パターン識別などの、他の客観的および直接的な識別方法を通じて、未知のロボット・デバイス315との通信を開始できる。
【0055】
ステップ230において、プログラム200は未知のロボット・デバイスのプログラミングを判定する。ある実施形態において、プログラム200は未知のロボット・デバイス315を尋問して、未知のロボット・デバイスの分析および推論プログラミングを判定する。この実施形態において、プログラム200は進行中の持続的かつ連続的な再バリデーションを通じて、未知のロボット・デバイス315のプログラミングを判定する。ステップ230は、未知のロボット・デバイス315を再バリデーションするための連続的プロセスである。手術用ロボット・アームは外部エンティティによって非常にハッキングされやすいという事実から、一例において、プログラム200は手術用ロボット・アーム320、330、および340を常時モニタする。この例において、プログラム200は手術用ロボット・アームに対する機能不良チェックを行って、そのプログラミングが手術用ロボット・アーム320、330、および340に対応するものとして1つ以上のデータベースに保存されているプログラミングに対応するかどうかを判定する。この例において、プログラム200は5分間の間隔を置いて、手術用ロボット・アームに今行っている活動を中止して命令に応答するように指示する。プログラム200は、手術用ロボット・アームが機能不良ではないこと、または手術用ロボット・アームがハッキングされていないことを確かめる持続的なやり方として、この手術用ロボット・アームの指示および観察活動を使用する。
【0056】
ステップ240において、プログラム200は、未知のロボット・デバイス315の判定されたプログラミングに基づいてプログラミング・データセットを生成する。ある実施形態において、プログラム200は、未知のロボット・デバイス315の尋問および観察された通信に基づいて、プログラミング・データセットを生成する。一例においてプログラム200は、一連の指示された運動を通じた、ロボット・デバイスに取り付けられた3つの個別の手術用ロボット・アーム320、330、および340の3つのアクティブな別個の信号を使用して、プログラミング・データセットを生成する。生成されたプログラミング・データセットを用いて、3つの未知の手術用ロボット・アーム320、330、および340に対する3つの識別データセットが生成される。
【0057】
別の実施形態において、プログラム200は受動的な識別プロセスを使用して、プログラミング・データセットを生成する。一例において、プログラム200は、未知のロボット・デバイス315のゲートおよび通常の動作音を記録および分析することを通じて、未知のロボット・デバイスの識別データセットを生成する。この例において、未知のロボット・デバイスの識別データセットは、特徴的なゲートおよび通常の動作音を使用して生成される。
【0058】
ある実施形態において、プログラム200は光学走査画像、オーディオ信号プロファイル、生体模倣シグネチャ・プロファイル、受信した事前知識、もしくはプログラミング・データセット、またはその組み合わせを比較して、未知のロボット・デバイスのデータセットを生成する。一例において、プログラム200はステップ220およびステップ230からの蓄積した証拠を組み合わせて、未知の手術用ロボット・アームの識別データセットを生成する。この例において、プログラム200は、バーコードの光学走査画像、手術用ロボット・アームの通常の動作音のオーディオ信号プロファイル、手術用ロボット・アームのシグネチャ運動の生体模倣シグネチャ・プロファイル、手術用ロボット・アームの一番最近の活動の受信事前知識に基づいて、個別および組み合わせの手術用ロボット・アームに対するプログラミング・データセットを生成して、個別および組み合わせの手術用ロボット・アームに対する識別データセットを生成する。
【0059】
決定ステップ250において、プログラム200は、未知のロボット・デバイスの識別データセットが第1のロボット・デバイスの受信識別データセットと一致するかどうかを判定する。ある実施形態において、プログラム200は、特定のロボット・デバイスがそのロボット・デバイスがアサートしているロボット・デバイスであることの確実性が高レベルであることによって、未知のロボット・デバイスが識別すべき第1のロボット・デバイスであると判定する。一例において、手術用ロボット・アームのプログラミング・データセットは、手術用ロボット・アームの運動に基づいて経時的に進化する。この例において、プログラム200は、手術用ロボット・アームの定められたプログラミング・データセットに関してステップ240において蓄積された情報および証拠を使用して、この手術用ロボット・アームがステップ210において受信したものと同じ識別データセットを含むかどうかを判定する。プログラム200は、手術用ロボット・アームが手術用ロボット・アームの受信識別データセットに適合するかどうかを判定する。
【0060】
ステップ260において、プログラム200は未知のロボット・デバイスの入場を拒否する。より具体的には、未知のロボット・デバイスが受信識別データセットに適合しないと判定したことに応答して(決定ステップ250、「no」分岐)、プログラム200は未知のロボット・デバイスの入場を拒否する。ある実施形態において、プログラム200は未知のロボット・デバイスの識別を確認することを試みて失敗する。一例において、プログラム200は、未知の手術用ロボット・アームが手術用ロボット・アームの受信識別データセットに適合することを検証しようと試みる。この例において、プログラム200は、未知の手術用ロボット・アームと手術用ロボット・アームの受信識別データセットとが適合しないと判定する。プログラム200は、手術用ロボット・アームの手術室への入場を拒否するためのアラームをアクティブにすることを通じて、未知のロボット・デバイスの入場を拒否する。
【0061】
決定ステップ270において、プログラム200は未知のロボット・デバイスが第1のロボット・デバイスであるかどうかを判定する(決定ステップ250、「yes」分岐)。ある実施形態において、プログラム200は未知のロボット・デバイスのステップ240において蓄積された証拠を使用して、未知のロボット・デバイスがステップ210における受信識別データセットと相関する第1のロボット・デバイスであることを積極的に識別および判定する。プログラム200は、常に未知のロボット・デバイスの識別を持続的に再バリデーションおよび確認している。最初にプログラム200は決定ステップ250において行われる積極的識別判定に基づいて未知のロボット・デバイスが第1のロボット・デバイスであると判定し、プログラミング・データセットの進化する性質によって、プログラム200は過去に積極的に識別されたものと同じロボット・デバイスがもはや過去に積極的に識別されたロボット・デバイスではないと判定することも起こり得る。
【0062】
別の実施形態において、プログラム200は、未知のロボット・デバイスが第1のロボット・デバイスであるかどうかの判定に許容係数を取り入れる。一例において、許容係数90%を使用するプログラム200は、10の個別手術用ロボット・アームをバリデーションしてロボット・デバイスを入場許可するために、10の個別手術用ロボット・アームを含むロボット・デバイスが適切に識別されるかどうかを判定する。プログラム200は許容係数90%を使用して、未知の手術用ロボット・アームが積極的識別を受けるかどうかを判定する。10の手術用ロボット・アームのうち少なくとも9つが、未知の手術用ロボット・アームによる受信識別データセットに適合する必要がある。この例において、10のうち9の手術用ロボット・アームが手術用ロボット・アームに対する受信識別と適合するとして適切にバリデーションされた。プログラム200は、未知の手術用ロボット・アームが第1の手術用ロボット・アームであって積極的識別を受けたと判定する。ロボット全体および10の手術用ロボット・アームは、生体模倣識別デバイス通信応答に失敗した1つの手術用ロボット・アームを伴って、入場許可される。
【0063】
別の例において、許容係数90%を使用するプログラム200は、10のうち8の手術用ロボット・アームが手術用ロボット・アームに対する受信識別と適合するとして適切にバリデーションされたと判定する。プログラム200は、2つの個別の未知の手術用ロボット・アームが最初の8つの手術用ロボット・アームと同様に適切にバリデーションされたと判定することはできない。この場合、ロボット・デバイス全体は積極的識別を受けない。ロボット全体および10の手術用ロボット・アームは、生体模倣識別デバイス通信応答に失敗した2つの手術用ロボット・アームを伴って、入場許可されない。
【0064】
ステップ280において、プログラム200はシャットダウン・プロトコルを開始する(決定ステップ270、「no」分岐)。未知のロボット・デバイスが第1のロボット・デバイスではないと判定したことに応答して、プログラム200は未知のロボット・デバイスのシャットダウン・プロトコルを開始する。一例において、プログラム200は、手術用ロボット・アームの過去の積極的生体模倣識別がもはや適切な生体模倣識別と相関しないことを判定する。この例において、プログラム200は、5つの手術用ロボット・アームの再バリデーションのステップ210~250を行う。適切に働いていないか、または積極的に識別されていない手術用ロボット・アームの確立された許容係数80%に基づくと、5つのうち2つのアームが働いておらず、許容係数80%を超えているため、プログラム200は5つの手術用ロボット・アームすべてのシャットダウン・プロトコルを開始する。別の例においては、5つのうち4つのアームが積極的に識別され、かつステップ240において生成されるそれらの進化したプログラミング・データセットと一致した適切な生体模倣識別と一致した動きをしており、プログラム200はそれらの手術用ロボット・アームを用いて動作を継続し、シャットダウンは開始しない。この例における許容係数は超えられていない。
【0065】
ステップ290において、プログラム200は第1のロボット・デバイスに対する識別データセットを更新する(決定ステップ270、「yes」分岐)。未知のロボット・デバイスがステップ210からの受信識別データセットに適合すると判定したことに応答して、プログラム200は付加的なデータによって、第1のロボット・デバイスに対する識別データセットを更新する。ある実施形態においては、コグニティブ・ロボット回帰ベースの事前分布によってプログラミング・データセットが常時進化する。一例において、プログラム200は、以前のロボット識別から確立された蓄積知識に基づいて、ロボット・デバイスの識別の効率を高める。
【0066】
図4は、本発明の例示的実施形態によるサーバ120のコンポーネントのブロック図を示す。当然のことながら、
図4は1つの実施の例示のみを提供するものであり、異なる実施形態が実施され得る環境に関するいかなる制限も意味していない。示される環境に対して多くの変更が行われてもよい。
【0067】
サーバ120は通信ファブリック402を含み、この通信ファブリック402はキャッシュ416と、メモリ406と、永続的ストレージ408と、通信ユニット410と、入力/出力(I/O)インターフェース(単数または複数)412との間の通信を提供する。通信ファブリック402は、プロセッサ(たとえばマイクロプロセッサ、通信およびネットワーク・プロセッサなど)、システム・メモリ、周辺デバイス、およびシステム内の任意のその他のハードウェア・コンポーネントの間でデータもしくは制御情報またはその両方を送るために設計された任意のアーキテクチャによって実現され得る。たとえば、通信ファブリック402は1つ以上のバスまたはクロスバー・スイッチによって実現され得る。
【0068】
メモリ406および永続的ストレージ408は、コンピュータ可読ストレージ媒体である。この実施形態において、メモリ406はランダム・アクセス・メモリ(RAM)を含む。一般的に、メモリ406は任意の好適な揮発性または不揮発性のコンピュータ可読ストレージ媒体を含み得る。キャッシュ416は、メモリ406からの最近アクセスされたデータおよびアクセスされたデータに近いデータを保持することによって、コンピュータ・プロセッサ(単数または複数)404のパフォーマンスを高める高速メモリである。
【0069】
プログラム200は、キャッシュ416を介したそれぞれのコンピュータ・プロセッサ404の1つ以上による実行のために、永続的ストレージ408およびメモリ406に保存されてもよい。ある実施形態において、永続的ストレージ408は磁気ハード・ディスク・ドライブを含む。代替的に、または磁気ハード・ディスク・ドライブに加えて、永続的ストレージ408は固体ハード・ドライブ、半導体ストレージ・デバイス、リード・オンリ・メモリ(ROM:read-only memory)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM:erasable programmable read-only memory)、フラッシュ・メモリ、またはプログラム命令もしくはデジタル情報を保存し得る任意のその他のコンピュータ可読ストレージ媒体を含み得る。
【0070】
永続的ストレージ408によって用いられる媒体は、取り外し可能であってもよい。たとえば、永続的ストレージ408に対して取り外し可能なハード・ドライブが用いられてもよい。その他の例は光および磁気ディスク、サム・ドライブ、ならびにやはり永続的ストレージ408の一部である別のコンピュータ可読ストレージ媒体への転送のためにドライブに挿入されるスマート・カードを含む。
【0071】
これらの例における通信ユニット410は、他のデータ処理システムまたはデバイスとの通信を提供する。これらの例において、通信ユニット410は1つ以上のネットワーク・インターフェース・カードを含む。通信ユニット410は、物理的およびワイヤレス通信リンクのいずれかまたは両方を用いて通信を提供してもよい。プログラム200は、通信ユニット410を通じて永続的ストレージ408にダウンロードされてもよい。
【0072】
I/Oインターフェース(単数または複数)412は、サーバ120に接続されてもよい他のデバイスとのデータの入力および出力を可能にする。たとえば、I/Oインターフェース412はたとえばキーボード、キーパッド、タッチ・スクリーン、もしくは何らかのその他の好適な入力デバイス、またはその組み合わせなどの外部デバイス418との接続を提供してもよい。外部デバイス418は、たとえばサム・ドライブ、ポータブルの光または磁気ディスク、およびメモリ・カードなどのポータブル・コンピュータ可読ストレージ媒体も含み得る。たとえばプログラム200などの、本発明の実施形態を実施するために用いられるソフトウェアおよびデータは、こうしたポータブル・コンピュータ可読ストレージ媒体に保存されてもよく、かつI/Oインターフェース(単数または複数)412を介して永続的ストレージ408にロードされ得る。I/Oインターフェース(単数または複数)412はディスプレイ420にも接続する。
【0073】
ディスプレイ420は、ユーザにデータを表示するための機構を提供し、たとえばコンピュータ・モニタなどであってもよい。
【0074】
本明細書に記載されるプログラムは、それらが本発明の特定の実施形態において実現されるアプリケーションに基づいて識別される。しかし、当然のことながら本明細書における任意の特定のプログラムの名称は単に簡便のために用いられており、よって本発明はこうした名称によって識別もしくは意味されるか、またはその両方である任意の特定のアプリケーションのみにおける使用に限定されるべきではない。
【0075】
本発明はシステム、方法、もしくはコンピュータ・プログラム製品、またはその組み合わせであってもよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに行わせるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含んでもよい。
【0076】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および保存できる有形デバイスであり得る。コンピュータ可読ストレージ媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的リストは以下を含む。ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フレキシブル・ディスク、機械的にコード化されたデバイス、たとえばパンチ・カードまたは記録された命令を有する溝の中の隆起構造など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読ストレージ媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波(例、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、それ自体が一時的信号であると解釈されるべきではない。
【0077】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピュータ/処理デバイスにダウンロードされ得るか、またはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはその組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはその組み合わせを含んでもよい。各コンピュータ/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピュータ/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0078】
本発明の動作を実行するためのコンピュータ可読プログラム命令はアセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または1つ以上のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語はオブジェクト指向プログラミング言語、たとえばSmalltalk、またはC++など、および従来の手続き型プログラミング言語、たとえば「C」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、(たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)などを含む電子回路は、本発明の態様を行うために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行してもよい。
【0079】
本明細書においては、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方を参照して、本発明の態様を説明している。流れ図もしくはブロック図またはその両方の各ブロック、および流れ図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実現され得ることが理解されるだろう。
【0080】
これらのコンピュータ可読プログラム命令は、汎用目的コンピュータ、特定目的コンピュータ、またはマシンを生成するためのその他のプログラマブル・データ処理装置のプロセッサに提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実現するための手段を生じてもよい。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイスまたはその組み合わせに特定の方式で機能するように指示できるコンピュータ可読ストレージ媒体にも保存されることによって、命令が保存されたコンピュータ可読ストレージ媒体が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作の態様を実現する命令を含む製造物を含んでもよい。
【0081】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、コンピュータに実現されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作ステップを行わせることによって、そのコンピュータ、他のプログラマブル装置、または他のデバイスにおいて実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実現してもよい。
【0082】
図面における流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示すものである。これに関して、流れ図またはブロック図の各ブロックは、指定される論理機能(単数または複数)を実現するための1つ以上の実行可能命令を含むモジュール、セグメント、または命令の一部を表してもよい。いくつかの代替的実施において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こってもよい。たとえば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよいし、関与する機能によってはこれらのブロックがときには逆の順序で実行されてもよい。加えて、ブロック図もしくは流れ図またはその両方の各ブロック、およびブロック図もしくは流れ図またはその両方のブロックの組み合わせは、指定された機能または動作を行うか、特定目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特定目的のハードウェア・ベースのシステムによって実現され得ることが注目されるだろう。
【0083】
本発明のさまざまな実施形態の説明は、例示の目的のために提供されたものであるが、開示される実施形態に対して網羅的または限定的になることは意図されていない。本発明の範囲から逸脱することなく、多くの修正および変形が当業者に明らかになるだろう。本明細書において用いられる用語は、実施形態の原理、実際の適用、もしくは市場に見出される技術に対する技術的改善を最もよく説明するため、または他の当業者が本明細書に開示される実施形態を理解できるようにするために選択されたものである。