(57)【要約】  複数の汎用構成要素を発見するステップであって、前記汎用構成要素は、相互接続され、ロボットにおいて非機能的であるステップと、ロボットにおける各汎用構成要素の空間位置を判定するステップと、各汎用構成要素に対応付けられる各ファームウェアを検索するステップと、前記検索されたファームウェアを用いて、前記汎用構成要素のファームウェアをプログラム化することによって、汎用構成要素を特定構成要素に修正するステップとを含む、ロボットを製造する方法が開示されている。記載の進展は、暗号化機構の使用、１つ又は複数のブートローダの使用、ファームウェアの非集中化又は分散記憶の使用、及び事前定義されたハードウェア抽象化層の使用を含む。ソフトウェア及びシステムの態様（例えば、マルチマスタのアーキテクチャ）が記載されている。
2019511376.tif 000002
【特許請求の範囲】
【請求項１】
−  ロボットの複数の汎用構成要素を発見するステップであって、前記汎用構成要素は、相互接続され、非機能的であるステップと、
−  前記ロボットにおける各汎用構成要素の空間位置を判定するステップと、
−  各汎用構成要素に対応付けられる各ファームウェアを検索するステップと、
−  前記各検索されたファームウェアを前記汎用構成要素に送ることによって、汎用構成要素を特定構成要素に修正するステップと
を含む、ロボットを処理する方法。
【請求項２】
汎用構成要素に対応付けられる少なくとも１つの特殊要件を受信するステップを更に含み、前記特殊要件によって前記汎用構成要素に対応付けられる前記各検索されたファームウェアを構成するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記ファームウェア送りステップを、暗号化機構を用いて保護する、請求項１又は２に記載の方法。
【請求項４】
前記暗号化機構は対称暗号化方式である、請求項３に記載の方法。
【請求項５】
前記暗号化機構は非対称暗号化方式である、請求項３に記載の方法。
【請求項６】
前記１つ又は複数の汎用構成要素に対応付けられる前記各ファームウェアを記憶するステップを更に含み、前記記憶を非集中化する及び／又は分散させる、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
各汎用構成要素の前記空間位置を判定するステップを、外部論理によって実行する、請求項１に記載の方法。
【請求項８】
各汎用構成要素の前記空間位置を判定するステップを、事前定義されたハードウェア抽象化層における事前定義されたマップを参照することによって実行する、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
検索されたファームウェアを構成するステップを、事前定義されたハードウェア抽象化層を参照することによって実行する、請求項２に記載の方法。
【請求項１０】
各汎用構成要素の前記空間位置を判定するステップを、汎用構成要素のピア間の反復交渉によって実行する、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
コンピュータプログラムであって、前記コンピュータプログラムを適切なコンピュータデバイスで実行する場合、請求項１〜１０のいずれか一項に記載の方法のステップを実行する命令を含むコンピュータプログラム。
【請求項１２】
請求項１〜１０のいずれか一項に記載の方法のステップを実行するように適合されている手段を含むシステム。
【請求項１３】
１つ又は複数の汎用構成要素を含み、前記汎用構成要素は、相互接続されており、ロボットにおいて非機能的状態であり、汎用構成要素は、ハードウェア電子技術を含み、前記ハードウェア電子技術は、適切なプロセッサによって実行される場合、請求項１〜８のいずれか一項に記載のステップを前記プロセッサに実行させるファームウェア命令を記憶するように適合されている不揮発性メモリを含み、前記ハードウェア電子技術は、ファームウェア送りを条件付きで許可するブートローダを含む、請求項１２に記載のシステム。
【請求項１４】
機械部品を更に含む、請求項１３に記載のシステム。
【請求項１５】
前記機械部品は、肩又は肘又は手首又は首を含む群から選択された関節チェーンに対応付けられている、請求項１４に記載のシステム。
【請求項１６】
汎用構成要素は、外部センサ及びアクチュエータと相互作用するように構成されている、請求項１３に記載のシステム。
【請求項１７】
複数のスレーブデバイスを制御する大域マスタデバイスを含み、前記スレーブデバイスは、１つ又は複数の汎用特定構成要素を含む、請求項１２〜１６のいずれか一項に記載のシステム。
【請求項１８】
複数の相互接続された大域マスタデバイスを含む、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この特許は、デジタルデータ処理の分野に関し、より詳細には、ロボットを製造する方法及びシステムに関する。
【背景技術】
【０００２】
現代のロボットは、複雑で製造しづらいことがある。例えば、人間型ロボットは、非常に多くの機械部品及び電子部品の設計及び組立を必要とすることがある。
【０００３】
既存のロボットにおいて、同じ所与の機能を、幾つかの異なる方法で実行することができる。均一性及び標準化が無いと、コストが上昇する。例えば、ロボットについてＬＥＤを教えるなどの単純な動作を、多くの異なる方法（即ち、電子技術及びファームウェア）で実施することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
複数の汎用構成要素を発見するステップであって、前記汎用構成要素は、相互接続され、ロボットにおいて非機能的であるステップと、ロボットにおける各汎用構成要素の空間位置を判定するステップと、各汎用構成要素に対応付けられる各ファームウェアを検索するステップと、前記検索されたファームウェアを用いて、前記汎用構成要素のファームウェアを送る又はプログラム化することによって、汎用構成要素を特定構成要素に修正するステップとを含む、ロボットを処理する（例えば、製造する、設計する、組み立てる）方法が開示されている。記載の進展は、暗号化機構の使用、１つ又は複数のブートローダの使用、ファームウェアの非集中化又は分散記憶の使用、及び事前定義された及び／又は事前構成されたハードウェア抽象化層の使用を含む。ソフトウェア及びシステムの態様（例えば、マルチマスタのアーキテクチャ）が記載されている。
【０００５】
有利なことに、本発明による方法は、組み込み電子技術及び関連ファームウェア設計を単純化し、これによって、ロボットの設計開発サイクルにおける上流設計制約が減少する。
【０００６】
有利なことに、本発明の実施形態は、規模の利益（大量に生産された少しの汎用構成要素）を与えることによって、コストを削減する。
【０００７】
有利なことに、本発明による方法は、部品を組み立ててロボットを得るのに必要な時間を短縮する。
【０００８】
有利なことに、幾つかの実施形態において、ソフトウェア開発努力を減らすことができる。ロボットの所与のモデルのために開発されている場合、殆ど完全に、別のモデルのために再使用することができる。機能差のみが、更なる開発努力を必要とし得る。
【０００９】
有利なことに、本発明の実施形態により、製造ロボットで行われる試験に関する制約が減少する。異なる構成要素を標準化して、大量に再使用するため、必要とされる新たな単一試験は少なくて済む（試験は、系統的試験が推奨され得る所与のプラットフォームに対して有効である）。
【００１０】
有利なことに、本発明の実施形態は、既存の標準化モジュールを再使用して、それらのモジュールを異なる順序で再配置することによって、新しいロボットを迅速に生成することができる。
【００１１】
有利なことに、本発明の実施形態は、ロボットのアーキテクチャ（即ち、ソフトウェア及び／又はハードウェア）に大幅な変更を必要とすることなく、ロボットの既存のモデルに新しい機能を容易に追加することができる。
【００１２】
有利なことに、本発明の実施形態に関連した更なる肯定的な態様は、改良されたメンテナンスを含む（故障部品を、容易に、迅速に、コスト効率よく交換することができる）。
【００１３】
有利なことに、本発明の実施形態により、ロボットのモデルの進化が一層高速になる。汎用モジュールに改良をもたらす場合、ロボットの残りは、その汎用モジュールから自動的に利益を得る。
【００１４】
有利なことに、本発明の実施形態により、試験の要件が減少する（制限されたセットの構成要素に試験を必要とする）。
【００１５】
有利なことに、完全に再構成可能なロボットが開示されている。
【００１６】
有利なことに、記載の安全性機構により、（例えば、ファームウェアの）無許可のコピーを制御する（例えば、禁止する）ことができる。デジタル著作権管理の態様を越えて、記載の安全性機構は、本発明によって組み立てられたロボットが信頼できる（即ち、安全、本物）ことを保証することもできる。各相互接続された部品は信頼でき、大域ロボット設計も信頼できる。
【００１７】
ここで、同じ参照符号が同様の要素を示す添付図面を参照して、本発明の実施形態を一例として説明する。
【図面の簡単な説明】
【００１８】
【図１】本発明による汎用構成要素のアーキテクチャの例を例示する。
【図２】本発明の実施形態に従って特定されるものを有する汎用構成要素に対応付けられる機械部品の幾つかの例を示す。
【図３】汎用構成要素を特定することによって、ロボットを製造する方法の幾つかの態様を例示する。
【図４】汎用構成要素を特定することによって（即ち、機能の割り当て）、ロボットを製造する方法に対応付けられる系統図を示す。
【図５】本発明による方法のステップの例を示す。
【発明を実施するための形態】
【００１９】
ロボットの発見汎用構成要素を特定構成要素に特定することによって、ロボット（例えば、人間型ロボット）を処理する（例えば、製造する、設計する、組み立てる）方法及びシステムが開示されている。進展は、ロボットの構成要素をプログラム化又は再プログラム化する事前定義されたファームウェア及び／又は構成可能／構成ファームウェアの使用、１つ又は複数のブートローダの使用、ファームウェアの非集中化又は分散記憶の使用、及び事前定義された及び／又は事前構成されたハードウェア抽象化層の使用を含む。ソフトウェア及びシステムの態様（例えば、マルチマスタのアーキテクチャ）が記載されている。
【００２０】
ここで使用されるように、「構成要素」は、ロボットの部品を示す。文脈によって、「構成要素」に、「部品」、「回路」、「基板」又は「ブロック」と名前をつけることもできる。「汎用」構成要素に、「ベース」構成要素と名前をつけることもできる。「汎用」構成要素は、容易に入手でき、機能的でない。「汎用」構成要素は、特定されていない。
【００２１】
実施形態において、複数の汎用構成要素を発見するステップであって、前記汎用構成要素は、相互接続され、ロボット（又は想定ロボット）において非機能的（又は非作動状態）であるステップと、ロボットにおける各汎用構成要素の空間位置を判定するステップと、（複数の事前構成されたファームウェアの中から選択された）各汎用構成要素に対応付けられる各ファームウェアを検索するステップと、任意選択的に、例えば構成要素に関する要件に応じて、前記ファームウェアを修正する又は構成するステップと、前記検索されたファームウェアを用いて、前記汎用構成要素のファームウェアをプログラム化する又は送ることによって、汎用構成要素を特定構成要素に修正するステップとを含む、ロボットを処理する（例えば、製造する、設計する、組み立てる）方法が開示されている。
【００２２】
進展において、方法は、汎用構成要素に対応付けられる特殊要件を検索するステップを更に含む。進展において、方法は、構成要素（少なくとも１つのターゲット又は宛先構成要素）に対応付けられる少なくとも１つの特殊要件を受信するステップであって、前記要件は、例えば構成パラメータ（例えば、ハードウェア抽象化層を参照することによって）を含むステップを含み、例えば特殊要件によって（例えば、特殊要件に応じて）前記汎用構成要素に対応付けられる各検索されたファームウェアを構成するステップを更に含む。対応は、静的及び／又は動的（例えば、また、ロボットの他の部品に対して受信された他の特殊又は特定要件によって）であることができる。
【００２３】
進展において、ファームウェア送り又はプログラム化ステップを、暗号化機構（又は方式）を使用することによって（又は用いて）保護する。
【００２４】
進展において、暗号化機構は対称暗号化方式である。
【００２５】
進展において、暗号化機構は非対称暗号化方式である。
【００２６】
進展において、１つ又は複数の汎用構成要素に対応付けられる各ファームウェアの記憶を、非集中化する及び／又は分散させる（１つ又は複数の汎用構成要素に対応付けられる各ファームウェアを記憶するステップを、非集中化及び／又は分散方法で実行する）。
【００２７】
進展において、各汎用構成要素の空間位置を判定するステップを、外部論理によって実行する。進展において、各汎用構成要素の空間位置を判定するステップを、例えば、事前定義されたハードウェア抽象化層で定義されるような事前定義されたマップを参照することによって実行する。
【００２８】
進展において、検索された（汎用又は特定）ファームウェアを更に構成するステップを、事前定義されたハードウェア抽象化層を参照することによって実行する。
【００２９】
進展において、各汎用構成要素の空間位置を判定するステップを、汎用構成要素のピア間の反復交渉によって実行する。
【００３０】
コンピュータプログラムを適切なコンピュータデバイスで実行する場合、方法のステップを実行する命令を含む前記コンピュータプログラムが開示されている。
【００３１】
方法のステップを実行するように適合されている手段を含むシステムが開示されている。
【００３２】
進展において、システムは、１つ又は複数の汎用構成要素を含み、前記汎用構成要素は、相互接続されており、ロボットにおいて非機能的状態であり、汎用構成要素は、（ａ）ハードウェア電子技術を含み、前記ハードウェア電子技術は、（ｉ）適切なプロセッサによって実行される場合、方法の１つ又は複数のステップを前記プロセッサに実行させるファームウェア命令を記憶するように適合されている不揮発性メモリと、（ｉｉ）ブートローダ（例えば、ファームウェア送り及び／又は削除を条件付きで許可する）とを含む。
【００３３】
進展において、システムは、（ｂ）機械部品を更に含む。
【００３４】
進展において、機械部品は、肩又は肘又は手首又は首を含む群から選択された関節チェーンに対応付けられている。
【００３５】
進展において、汎用構成要素は、外部センサ及びアクチュエータと相互作用するように構成されている。
【００３６】
進展において、システムは、複数のスレーブデバイスを制御する大域マスタデバイスを含み、前記スレーブデバイスは、１つ又は複数の汎用特定構成要素を含む。
【００３７】
進展において、システムは、複数の相互接続された大域マスタデバイスを含む。
【００３８】
ロボット（例えば、人間型ロボット、又はより一般的には移動ロボット）を設計して組み立てるモジュラーアーキテクチャが開示されている。
【００３９】
汎用（不特定）状態から特定（特定状態）に、ロボットを構成する１つ又は複数の構成要素又は回路を特定する機構が開示されており、前記特殊化（特定）は、少なくとも部分的に、ロボットにおける前記１つ又は複数の構成要素のそれぞれの場所又は位置に左右される（例えば、検討ロボットの１つ又は事前定義された最終アーキテクチャを検討する）。
【００４０】
回路を特定するステップは、複数のステップを含むことができる。ステップは、例えば、複数の事前定義されたファームウェアの中からファームウェアを選択して、任意選択的に、（例えば、ハードウェア抽象化層（頭字語ＨＡＬ）を参照することによって、例えば、宛先回路の１つ又は複数の特殊要件を受信する及び／又は識別する場合）前記選択されたファームウェアを修正し、（多分修正及び／又は構成された）適切な選択されたファームウェアを回路に送ることによって、機能を前記回路に割り当てるステップを含むことができる。
【００４１】
幾つかの実施形態において、前記場所を、サードパーティ（例えば、人の操作者、外部論理）によって判定する、及び／又は（ピア・ツー・ピア交渉によって）自己発見することができる。
【００４２】
図１は、本発明による汎用構成要素の例示的な表現を示す。
【００４３】
本発明による構成要素の「汎用性」の特性は、生物学における「潜在力」の特性と類似性を示す。実際に、細胞生物学において、「全能性」又は「全知全能」幹細胞は、胚細胞型に分化することができ、次に、完全な生菌になることができる。ロボットにおける電気機械対応部品に対する等価物は一般的に、力が及ばない。「多能性」幹細胞は、殆ど全部の細胞型に分化することができる。ロボット工学では、等価物を殆ど得ることができない。「多能性」幹細胞は、多くの細胞型に分化することができるけれども、密接に関連がある細胞群の細胞型に分化することができるだけである。製造されるロボットの最終アーキテクチャによって、等価汎用構成要素を定義することができる（例えば、低レベル汎用構成要素を特定して、制限された、但しかなりの数のロボット部品に分化することができる。「少能性」幹細胞は、ほんのわずかの数の細胞型（例えば、リンパ又は骨髄幹細胞）に分化することができる。再度、合理的で実現可能なエンジニアリングは、このような制限された分化を定義することができる。「単能性」細胞は、わずか１つの細胞型を生成することができる。ロボット工学における対応部品は、このレベルで特定の関心を一般的に示さない。結論として、本発明による汎用構成要素は、「多能性」細胞（最高でも）、又は「少能性」細胞（最低）、又はこれらの細胞の中間状態（ロボットの特殊性）のような機能を果たすことができる。
【００４４】
本発明の実施形態において、汎用構成要素を、事前定義された「参照設計」（即ち、最終的状態又は目的を知る目的論）に従って製造する。このような参照設計は、「機械の画像」に対応することができる。幾つかの参照設計が可能である（選択を行うことができる）。このような参照設計は、根本的な潜在力方式（共通点）に対応することができる。
【００４５】
構造的特徴に関して、汎用構成要素１００は、ハードウェア（１１０、１２０）及びソフトウェア１１１（例えば、ブートローダ）を含む。ハードウェアは、電子技術（ＣＰＵ、メモリ、Ｉ／Ｏなど）を含み、機械部品１２０を任意選択的に含むことができる。
【００４６】
電子技術に関して、汎用構成要素（不特定状態）は、通信用の基本的要素を含む。特に、汎用構成要素は、「ブートローダ」を含む。機能面で、各汎用構成要素（又はロボット内にある汎用構成要素の少なくとも一部）は、ロボットを使用できるデータ（例えば、通し番号などのデータ、較正データなど）を含み、又はデータへのアクセスとして含む。
【００４７】
機械ハードウェアに関して、汎用構成要素は、（任意選択的な）機械部品１２０を含むことができ、又はロボットの事前定義された機械デバイス又は部品（即ち、センサ及び／又はアクチュエータ）（図示せず）と結合される（又は相互作用する）ように適合されることができる。
【００４８】
図２は、本発明の実施形態に従って特定されるものを有する汎用構成要素に対応付けられる機械部品の幾つかの例を示す。
【００４９】
図は、物理要素２０２（円筒形球形アクチュエータモジュール用のＣＳＡＭ）と相互作用する汎用構成要素２１０を示す。物理要素２０２は、例えば、円筒形モータ２２１及び球形モータ２２２（２自由度２３１及び２３２を示す系）を含む。
【００５０】
図３は、特定構成要素の例を示す。
【００５１】
ロボットにおける最終位置によって、汎用構成要素２１０と機械部品２０２との前記組み合わせにより、例えば、肩３０１又は肘３０２又は手首３０３又は首（図示せず）を形成することができる。
【００５２】
より一般的には、本発明の実施形態を、任意の数の自由度に対応付けられた部品（即ち、非常に一層複雑な部品）に適用することができる。
【００５３】
汎用構成要素（又は部品又は回路又は基板又はブロック）は、潜在的に、幾つかの異なるタスク又は機能を実現又は実行することができる。実施形態において、ロボットで所望の可能な機能を全て、汎用構成要素で作動できるとは限らない。コストを節約するために、ロボットで実施されるべき所望の機能をグループで構成する、即ち、汎用構成要素の所与の種類は、作動可能な機能の選択のみを含む。
【００５４】
例えば、ロボットに発光ダイオード（ＬＥＤ）を設ける用意がある場合、汎用構成要素は実際に、汎用構成要素の回路上にＬＥＤを含むことができるけれども、前記汎用構成要素は、特殊化ステップの前に汎用構成要素自体の能力に「気付かない」ことがある。マスタデバイスがファームウェア（汎用及び／又は特定又は構成ファームウェア）を送った後、汎用構成要素は、特定構成要素になる。実施形態において、特定構成要素は、特定構成要素自体の回路上でＬＥＤを直接制御することができる。実施形態において、マスタデバイスは、特定構成要素（ブリッジ又はリレーとしての機能を果たす、即ち、通信を伝送する）の回路上でＬＥＤを直接制御することができる。実施形態において、マスタデバイス及び特定構成要素は両方とも、ＬＥＤ制御に寄与することができる。
【００５５】
ハードウェアのアップグレードの場合、大域マスタデバイスは、例えば、１つ又は複数の追加構成要素を発見することができ、（それぞれの回路の能力を考慮して）機能の大域マッピングは、新しく追加された１つ又は複数の構成要素（及び／又は既存の構成要素の再構成）の更なる送りステップを判定することができる。新しい機能を得ることができる（例えば、新しい構成をファームウェアで実施して、１つを超えるＬＥＤを制御することができる）。
【００５６】
図４は、汎用構成要素を特定することによって（即ち、各発見構成要素又は各ロボット部品への機能の割り当て）、ロボットを製造する方法に対応付けられる系統図を示す。
【００５７】
異なるレベルの抽象化に対応付けられるこのような汎用モジュールを用いて、ロボットシステムを製造する方法を開示する。
【００５８】
実施形態において、まず、各モジュールは、汎用モジュールであり、即ち、異なる機能を潜在的に実行することができる。次に、前記汎用モジュールに、特定の機能（又は役割）を割り当て、前記割り当ては製造方法に左右される。
【００５９】
本発明によれば、事前定義された又は別の方法の固定命令無しで、ロボットの異なる部品を組み立てることができる。各部品の効果的な位置は、部品間の区別を生成し、これらの異なる部品の実際の効果的な位置によって、異なる機能を捜し出す。
【００６０】
図５は、本発明による方法のステップの例を示す。
【００６１】
実施形態において、方法は、製造されるロボットに存在する異なる構成要素又はモジュールを発見する（例えば、１つ又は複数の汎用構成要素が無いことの存在を判定する）ステップ５１０を含む。
【００６２】
物理的実体としての異なる汎用構成要素は、組立生産ライン上に（人の操作者又は製造業者のロボットによって）位置決めされ且つ電気的に相互接続されている。一旦ロボットの異なる部品を物理的に組み立てる（機械的且つ電気的に相互接続する）と、下記のステップを実行する。
【００６３】
実施形態において、方法は、前記異なる構成要素又はモジュールを列挙するステップを含む。実施形態において、前記列挙は、大域マスタデバイスとスレーブデバイスとの間の「自動」相互作用を実行することによって得られる。実施形態において、列挙は、サードパーティ（例えば、製造設備における人の操作者又は製造業者のロボット）の「手動」動作又は宣言によって得られる。
【００６４】
より詳細には、ネットワーク（「神経系」）のトポロジを漸進的に判定する。発見及び列挙によって、大域システム内の異なる汎用デバイスのそれぞれの位置を判定する。
【００６５】
一旦前記トポロジが分かると、マスタデバイス（局所デバイスでなく、大域マスタデバイス）は、異なる機能を異なる汎用構成要素に割り当てる。
【００６６】
一旦ロボットのトポロジを判定すると、大域マスタは、次に、検出されているありとあらゆる汎用構成要素のファームウェアを送る（ステップ５２０）。従って、ロボットシステムの局所及び大域視点の機能として、異なるファームウェアのアップグレードを実行する。
【００６７】
前記割り当てを、所謂「参照設計」又はハードウェア抽象化層（ＨＡＬ）」又は「参照マップ」を参照することによって実行する。換言すれば、１つ又は複数の「機械の画像」を事前定義することができる。
【００６８】
大域マスタは、組み立てられた汎用構成要素の各々と相互作用する。特に、１つ又は複数の特殊要件に対応付けられているかどうかを知るために、各汎用構成要素に質問する。
【００６９】
例えば、各汎用構成要素は、それぞれの通し番号、該当する場合、公開暗号化鍵、更に他の情報（例えば、一部の通信を必要とするサードパーティ構成要素と接続又は通信している場合）を伝達する。
【００７０】
大域マスタは、実行中のマッピングを事前定義された参照マップと比較して、事前定義されたロボットモデルの選択を確認する。
【００７１】
次に、大域マスタデバイスは、「マッピング」、即ち、機能の特定の割り当てを判定する。
【００７２】
次に、大域マスタは、効果的なファームウェアの更新を実行する。大域マスタは、一度に又は漸進的に、これらの汎用構成要素の各々に割り当てられた所望の今後の機能に対応するそれぞれの適切なファームウェアを、利用可能な各汎用構成要素に伝達する。
【００７３】
割り当ては、「静的」（手動モード）又は「動的」（生産ラインに到達する部品の途切れない流れ及び機会主義的割り当て）であることができる。
【００７４】
実施形態において、ファームウェア送り動作を、（全トポロジを判定した場合）一度に実行する。実施形態において、ファームウェア送り動作を急いで実行する（例えば、適切な汎用構成要素を、利用可能又はアクセス可能であると判定するとすぐに、ファームウェアを送る）。
【００７５】
割り当ての一部又は「特殊化」段階５３０では、（「幹細胞」としての）汎用構成要素を、特定構成要素に「特定」又は「特殊化」する。実施形態において、汎用構成要素は、特定又は特殊化につながるデータを受信し、ファームウェア（初めて又はファームウェアの更新として）及び／又は構成パラメータを受信する。
【００７６】
例えば、腕の特定のチェーンの機能を果たすために、位置決めされ、又は別の方法で判定された場合、それに応じて、選択された汎用構成要素に対応付けられたファームウェアを送る。更に、送る前に、汎用ファームウェアを構成することもできる。
【００７７】
ここで、安全性に関する実施形態について説明する。
【００７８】
任意選択的な実施形態において、暗号化機構を使用することによって、１つ又は複数のファームウェア更新を保護することができる。
【００７９】
実施形態において、ファームウェアのアップグレードは、決定的（非可逆的、例えば、ファームウェアを１回書き込むことによって）である。実施形態において、ファームウェアの送りは、可逆的（読み書き）である。実施形態において、ファームウェアの変更は、条件付きで可逆的（例えば、暗号化鍵を必要とする）である。実施形態において、暗号化機構を使用する（例えば、対称又は公開鍵暗号化方式を使用する）ことによって、ファームウェアのアップグレードを保護する。
【００８０】
非特定及び／又は特定ステップを、（ソフトウェア暗号化及び／又は機械的保護手段によって）保護することができる。例えば、特定構成要素をロボットから取り外す場合（例えば、メンテナンスの目的で）、前記構成要素を再使用する及び／又は別のロボットで使用することができるように、工場のリセットを要求することができる。幾つかの暗号化機構は、新しい機能を構成要素で実施することを阻止又は許可することができる。
【００８１】
実施形態において、本発明による方法及び／又はシステムは、１つ又は複数の「ブートローダ」を使用することができる。
【００８２】
「ブートローダ」は、ロボットの別の回路又は部品によって消去又は別の方法で修正できないソフトウェアである。本発明によるブートローダは一般的に、基板又は構成要素の回路上にあるプロセッサによって実行可能である。ブートローダは、ファームウェアを構成要素に送ることができる。ブートローダは、所与のファームウェアがその基板と互換性があるかどうか、及び／又は前記ファームウェアが合法又は本物又は安全又は確実である（又は、比較及び検証を実行することによって、ファームウェアがどの程度まで受け入れ可能である）かどうかを確認することもできる。暗号化機構を使用することによって、ブートローダは、１つ又は複数の構成要素のファームウェア送りを条件付きで許可することができる（即ち、特定構成要素のファームウェアの削除、又は新しいファームウェアを汎用構成要素に送ること）。
【００８３】
実施形態において、本発明による「ブートローダ」は、対応付けられたファームウェアの送りを許可／解除する対称暗号化（暗号）鍵（例えば、ＡＥＳ）を必要とする。
【００８４】
対称鍵アルゴリズムは、平文の暗号化及び暗号文の解読の両方に対して同じ暗号鍵を使用する。鍵は、実際に、秘密情報リンクを維持するのに使用できる２つ又は複数のパーティ間の共有秘密を表す。
【００８５】
実施形態において、各対称鍵は、ロボット依存である（別のロボットで使用されない）。換言すれば、ロボットＡの対称鍵を有すると、ロボットＢのファームウェアを解読するために使用できない。次に、ロボットＢの特定部品をロボットＡで使用するために、前記特定部品は、ロボットＢの対称鍵を用いてファームウェアを送ることによって、非特定される必要がある。成功すれば、ブートローダは、ロボットＢの前の対称鍵を消去して、後で完全にロボットＡの部品になるロボットＢの部品にロボットＡの新しい鍵をインストールすることができる。
【００８６】
従って、暗号化機構を使用すると、（無許可のファームウェアの送りを妨げることによって）所与の回路でファームウェアを条件付きでロックすることができる。実施形態において、本発明による汎用構成要素は、（製造時に定義された）事前定義された対称鍵を必要とする。
【００８７】
実施形態において、非対称暗号化方式を使用することができる（公開及び秘密鍵の対）。
【００８８】
実施形態において、対称及び非対称暗号化の組み合わせを使用することができる。
【００８９】
安全性に関して、例えば、規格ＩＳＯ  １３４８２に準拠して、ネットワークは、大域マスタによって与えられる指令（指令の正しい実行）を制御できる１つ又は複数の局所マスタ（マスタノード又はマスタデバイス）を含むこともできる。前記大域マスタの故障の場合、前記局所マスタは、動作を引き渡すことができる（例えば、ロボットを保護するために、ロボットが地面に倒れないようにする、又はロボットが、ロボットの近傍で人を傷つける危険な動きをしないようにする）。このような複数の局所マスタに、「マルチマスタ」と名前をつけることができる。特定のレベルの信頼性を満たすべきである場合（例えば、ロボットが人のユーザと相互作用することを目的としている場合）、このようなアーキテクチャを実施することができる。
【００９０】
ここで、ファームウェアの記憶に関する特定の実施形態について説明する。
【００９１】
実施形態において、大域マスタデバイスは、必要且つ十分なデータ５２１を記憶して、１つ又は複数の汎用構成要素を送る。実施形態において、汎用構成要素は、１つ又は複数の汎用構成要素の特殊化／特定のために使用されるデータ５２１の非集中化記憶を可能にする、持続性又は別の方法の不揮発性メモリを含むことができる。
【００９２】
実施形態において、各汎用構成要素は、このような非集中化メモリを含む。
【００９３】
実施形態において、汎用構成要素の少なくともほんの一部は、（実行のためにファームウェアを記憶するように適合されている）このようなメモリを含むことができる。
【００９４】
実施形態において、ロボットの最初の起動又はブートで、最初の較正を実行する。各汎用構成要素は、必要且つ十分な情報を受信して、そのファームウェアの更新を実行する（大域マスタによって制御を実行するけれども、それぞれのファームウェア及び／又は構成要素データの記憶を、上述のように任意選択的に非集中化することができる）。一旦送ると、関連ファームウェアデータを、各関連構成要素によって記憶し、次に、ロボットの全部を特定する（次の再ブートは、較正ステップを省略することができる）。
【００９５】
実施形態において、例えばメンテナンスの目的で、１つ又は複数の構成要素に対応付けられた１つ又は複数のメモリに、使用データ（例えば、バージョニングなど）を記憶することができる。
【００９６】
複数のマスタデバイス（「マルチマスタ」のアーキテクチャ）の使用に関して、ここで、反射及び前屈曲に関する実施形態を説明する。
【００９７】
幾つかの実施形態において、本発明によるマスタ及びスレーブデバイスは、「反射」及び「前屈曲」を可能にし得る。
【００９８】
反射動作は、刺激に応じた不随意及び略瞬間移動である。反射は、高次脳制御（大域マスタ）を求める。前屈曲は、一般的にゼロ遅延固有フィードバックループを用いて、移動を自動安定させる筋骨格系における潜在能力を示す。前屈曲は、高次脳制御を必ずしも求めない（前屈曲は、スレーブデバイスを求めることができる）。
【００９９】
実施形態において、例えば、（大域マスタの介入無しで）「前屈曲」又は「局所」反射を可能にすることによって、ロボットの処理能力を空間で分散させることができる。このような実施形態において、中枢パターン発生器（ＣＰＧ）を各局所構成要素で実施して、大域マスタの計算資源を取っておくことができる。
【０１００】
開示方法は、全部ハードウェアの実施形態（例えば、ＦＰＧＡ）、全部ソフトウェアの実施形態、又はハードウェア及びソフトウェア要素の両方を含む実施形態の形を取ることができる。ソフトウェアの実施形態は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む（但し、これらに限定されない）。本発明は、コンピュータ又は任意の命令実行システムに関連して、又はこのコンピュータ又は任意の命令実行システムによって使用されるプログラムコードを提供する、コンピュータが使える又はコンピュータが読める媒体からアクセス可能なコンピュータプログラム製品（例えば、ロボットの製造を案内又は支援するソフトウェア）の形を取ることができる。コンピュータが使える又はコンピュータが読めるものは、命令実行システム、装置又はデバイスに関連して、又はこの命令実行システム、装置又はデバイスによって使用されるプログラムを含み、記憶し、伝達し、伝搬し、又は移送することができる任意の装置であることができる。媒体は、電子媒体、磁気媒体、光媒体、電磁媒体、赤外線媒体、又は半導体システム（又は装置又はデバイス）又は伝搬媒体であることができる。
【図１】
2019511376.tif 000003
【図２】
2019511376.tif 000004
【図３】
2019511376.tif 000005
【図４】
2019511376.tif 000006
【図５】
2019511376.tif 000007
【国際調査報告】
2019511376.tif 000008
2019511376.tif 000009
2019511376.tif 000010
2019511376.tif 000011
2019511376.tif 000012