JP5849345B2 - 関節肢を使用する移動ロボットの制御コマンドアーキテクチャ - Google Patents

関節肢を使用する移動ロボットの制御コマンドアーキテクチャ Download PDF

Info

Publication number
JP5849345B2
JP5849345B2 JP2011503428A JP2011503428A JP5849345B2 JP 5849345 B2 JP5849345 B2 JP 5849345B2 JP 2011503428 A JP2011503428 A JP 2011503428A JP 2011503428 A JP2011503428 A JP 2011503428A JP 5849345 B2 JP5849345 B2 JP 5849345B2
Authority
JP
Japan
Prior art keywords
command
computer
mobile robot
card
byte
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
Application number
JP2011503428A
Other languages
English (en)
Other versions
JP2011516287A (ja
Inventor
セレ、ジュリアン
マルニエ、ブリース
マター、ジェローム
Original Assignee
アルデバラン ロボティクス
アルデバラン ロボティクス
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アルデバラン ロボティクス, アルデバラン ロボティクス filed Critical アルデバラン ロボティクス
Publication of JP2011516287A publication Critical patent/JP2011516287A/ja
Application granted granted Critical
Publication of JP5849345B2 publication Critical patent/JP5849345B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33212Processor for communication with, evaluation of signals form detector to pc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40304Modular structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Robotics (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Fuzzy Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットに組み込まれた制御及びコマンドシステムの分野に関する。より詳細には、本発明は、関節肢で動く又は関節肢を使用する特に人間型又は動物型のロボットのアーキテクチャに適用される。ロボットは、頭部、胴体、2本の腕、2つの手、2本の脚、2本の足等の人間の特定の外見的な属性を備えた瞬間から人間型ロボットとしてみなすことが可能である。しかし、人間型ロボットは、多かれ少なかれ前進させることが可能である。ロボットの肢は、大なり小なり多くの関節を備え得る。ロボットは、静的及び動的にバランスを自身で管理することができ、三次元において可能な限り2つの肢で走行する。ロボットは、環境から信号をピックアップし(「聞く」、「見る」、「触る」、「感じる」等)、多かれ少なかれ高度な挙動に従って反応し、言葉又は行動のいずれかによって他のロボット又は人間と対話する。ロボットに人間の外見や動作を与える必要が増せば増すほど、応力を受けた状態で四肢の関節での自由度を与え(従って、これらの関節を駆動するモータの数を増やし)、センサと処理操作を増やし、反射的な反応を引き起こす必要が増す。ユーザ(人間自身)が定義した任務にロボットを適合させる必要が増せば増すほど、ロボットの物理的な構造体をカスタマイズする可能性(例えば、頭部を別のものと交換することにより)及びロボットの知能をカスタマイズする可能性(ロボットが構成されるプログラムを更新することにより(ロボットの任務又は動作をアップグレードする新しいアプリケーションをダウンロード可能なサーバとの対話を必要とする場合がある))を提供する必要性が増す。関節肢において移動ロボットの物理構造及びソフトウェア構造を更に複雑にして融通性を持たせることは、先行技術のアーキテクチャでは不可能である。
なぜならば、関節を制御する全てのモータを駆動する単一の中央演算処理装置を含む制御コマンドアーキテクチャは、特に結合コネクタの重量が原因ですぐにその限界に達するからである。代案は、産業用ロボットシステムで従来から使用されている、モータユニット又はセンサごとにマザーカード及びコントローラカードを備える分散型アーキテクチャを提供することである。指定された機能を有する人間型ロボットの場合、マザーカードとの通信の管理は、飽和状態になるまで、まさにそのプロセッサに向けられることになる。
本発明では、上記の問題を解決するために、少なくとも3つのレベルを有する制御コマンドアーキテクチャ(少なくとも1つのマイクロコントローラを備えた電子カードを介してセンサ/アクチュエータに指令を出すレベル、コマンドを変換し、該カード及び直接駆動型の基本機能に伝送するレベル、及びロボットの人工知能を含む上位機能を生成するレベル)を提供する。
したがって、本発明では、センサ及びアクチュエータの複数のサブセットを含む関節肢で動き、各サブセットが電子カードによって制御される移動ロボットであって、電子カードの少なくとも一部に対する制御機能が、少なくとも第1のコンピュータと第2のコンピュータとの間で分散され、第1のコンピュータが、特に、第2のコンピュータによって定義された機能を実行するためのコマンドメッセージを電子カードに伝送する処理を行うことを特徴とする移動ロボットを開示する。
有利には、第1のコンピュータで移動ロボットの特定の機能がプログラムされ、この機能は、特定のセンサ状態変数の値に基づいてアクチュエータ用のコマンドを決定することにより、ロボットの反射運動を管理する。
有利には、移動ロボットの特定の設定データは、第1のコンピュータによって管理されるメモリ内に格納され、該設定データは特に制御対象の電子カードのリストを含み、センサ及びアクチュエータは電子カード及びセンサ及びアクチュエータに関する動作パラメータによって命令される。
有利には、第1のコンピュータが、ロボットの電子カードの少なくとも一部の初期化手順を管理する。
有利には、第1のコンピュータ又は第2のコンピュータのプログラミングを変更することなしに、ロボットの電子カードを同等のカードと交換できる。
有利には、第2のコンピュータは、第1のコンピュータのプログラムを変更することなく別の同等のコンピュータと置き換え可能である。
有利には、第1のコンピュータと電子カードとの間の通信が、少なくとも1つの特定のバス上で安全なプロトコルによって管理され、安全なプロトコルは、メッセージのバイトの前に、少なくとも宛先アドレスと選択された値を持つ最上位ビットとを含むバイトを有し、メッセージのバイトの後に、メッセージのサイズを含む少なくとも1バイトとCRCを含む1バイトとを持つフレームを有する。
有利には、安全なプロトコルによるフレームの全バイトが、アドレスバイトの最上位ビットを補完する値の第1のバイトを有し、いずれの7バイトにおいても第1のバイトが、次の7バイトの7つの最上位ビットを有する。有利には、安全なプロトコルが同時放送通信モードを含む。
有利には、第1のコンピュータとそれが制御する電子カードは更に、少なくとも2つの通信ラインによって接続され、通信ラインの1つは操作を検出するために使用され、通信ラインのもう1つは電子カードにアドレスを割り当てるために使用される。
本発明では、センサ及びアクチュエータのサブセット用の複数のコマンドステップを含む関節肢で動く移動ロボットを制御し、各サブセットが電子カードによって命令される方法であって、電子カードの少なくとも一部の制御ステップが少なくとも第1のコンピュータと第2のコンピュータとの間で分散され、第1のコンピュータは、定義ステップが第2のコンピュータによって実行される機能を実行するためのコマンドメッセージを電子カードに伝送するステップを特に処理することを特徴とする方法を開示する。
有利には、第1のコンピュータと電子カードとの間の通信は、少なくとも1つの特定のバス上で安全なプロトコルによって管理され、安全なプロトコルは、メッセージのバイトの前に、少なくとも宛先アドレスと選択された値を持つ最上位ビットとを含むバイトを有し、メッセージのバイトの後に、メッセージのサイズを含む少なくとも1バイトとCRCを含む1バイトとを持つフレームを有すると共に、安全なプロトコルによるフレームの全バイトが、アドレスバイトの最上位ビットを補完する値の第1のバイトを有し、いずれの7バイトにおいても第1のバイトが、次の7バイトの7つの最上位ビットを有する。
有利には、コマンドメッセージは、実質的に固定された周期で電子カードに伝送され、該周期の長さは約10ミリ秒である。
有利には、第2のコンピュータによって生成されるコマンドメッセージは、コマンドごとに少なくとも1つの実行日付を含む。
有利には、タイムスタンプされたコマンド値が、直前の値と直後の値との間の周期的な送信日付での補間により算出される。
有利には、電子カードによって実行される、第1のコマンドと第2のコマンドとの間のサーボ制御命令は、第1のコマンドに先行するコマンドと第1のコマンドとの間のコマンド速度変動を拡張することにより先行するコマンドから外挿される。
有利には、電子カードによって実行される、第1のコマンドと第2のコマンドとの間のサーボ制御命令は、第1のコマンドに先行するコマンドと第1のコマンドとの間のコマンド速度変動を第1のコマンドと第2のコマンドとの間で適用されるサーボ制御命令に変換することにより、先行するコマンドから外挿される。
本アーキテクチャは、ロボットの使用プロファイルに適したロボットの挙動の生成を処理する人工知能タスクのための最上位レベルユニットの計算パワーの大部分を解放する利点を提供する。本アーキテクチャは、また、レベルによって最適化された、様々なバス上にある種々のコンピュータ間での通信を管理すること、及び最適化済みの通信プロトコルを提供することを可能にする。更に、このアーキテクチャでは、追加の利点として、ロボットのコアを再設定することなしにロボットの一部を変更することができる。本アーキテクチャはまた、リモートマシンから、又は同期リンクを介して第1のロボットと通信する別のロボットから人間型ロボットの多くの関節へ伝送される可能性がある命令の実行を同期化するために必要なタイムスタンプされたコマンドの使用にも適している。
本発明は、添付の図面を参照しながら以下に示す複数の例示的な実施形態の説明を読めば、本発明について並びに本発明の種々の特徴及び利点についてよく理解することができる。
本発明の実施形態に係る人間型ロボットの物理的なアーキテクチャを示す図である。 本発明の実施形態に係る人間型ロボットの機能的なアーキテクチャを示す図表である。 本発明の実施形態に係る人間型ロボットの論理的なアーキテクチャを示す概略図である。 本発明の実施形態に係る人間型ロボット内において、第2のコンピュータによって生成されたコマンドを第1のコンピュータによって電子カードへ伝送する処理を示す。 本発明の実施形態に係る人間型ロボット内において、最下位レベルの電子カードへ伝送するために第1又は第2レベルのコンピュータのうちのいずれかでタイムスタンプされたコマンドを生成する処理を示す。 本発明の実施形態に係る人間型ロボット内において、最下位レベルの電子カードへ伝送するために第1又は第2レベルのコンピュータのうちのいずれかでタイムスタンプされたコマンドを生成する処理を示すタイミング図である。 本発明の実施形態に係るタイムスタンプされたコマンドをマージするための種々のシナリオを示すタイミング図である。 本発明の実施形態に係るタイムスタンプされたコマンドをマージするための種々のシナリオを示すタイミング図である。 本発明の実施形態に係るタイムスタンプされたコマンドをマージするための種々のシナリオを示すタイミング図である。 本発明の実施形態に係るタイムスタンプされたコマンドをマージするための種々のシナリオを示すタイミング図である。 本発明の実施形態に係る人間型ロボットのアーキテクチャの種々のレベル間での設定要素の分布を示す。
以下の説明の中で出てくる略語及び頭字語の意味は、特定の文脈内で異なる意味が明示的に示されない限り、下表の通りである。
Figure 0005849345
図1は、本発明の実施形態における人間型ロボットの物理的なアーキテクチャを示す。このロボットは、センサ120及び関節を駆動するアクチュエータ130を制御するために、タイプ10の電子カードを約2ダース備えている。図示したカード10は、左足を制御するものである。このアーキテクチャの長所の1つは、関節を制御するカードがほとんどの場合、交換可能なことである。関節は、通常、少なくとも2つの自由度を有し、従って2つのモータを備える。各モータは角度方向に駆動される。関節はまた、位置センサ、特にMRE(磁気ロータリエンコーダ)を複数含む。制御電子カードは、市場標準のマイクロコントローラ110を含む。例えば、Microchip社によって製造されたDSPICTMが挙げられる。これは、DSPと結合される16ビットMCUである。このMCUのループサーボ制御サイクルは1msである。ロボットは他のタイプのアクチュエータ、特にLED140(発光ダイオード)も備え得る。LED140の色と強度はロボットの感情を表すことができる。アクチュエータは、他のタイプの位置センサを含んでもよく、特に、慣性ユニット、FSR(足の下の圧力センサ)等がある。
頭部にはロボットの知能、特にカード30が含まれている。このカード30は、ロボットに割り当てられた任務をロボットが完遂できるように高度な機能を実行する。但し、カード30は、ロボットの他の場所、例えば胴体に配置される場合もある。但し、この場所を利用すれば、頭部の取り外しが可能である場合に、これらの上位レベル機能の置き換えが可能であり、従って、特にロボットの知能、ひいてはロボットの任務を迅速且つ完全に変更したり、逆に、同じ人工知能を維持したままボディを別のボディと交換したり(例えば、欠陥があるボディと欠陥のないボディとの交換)することも可能であることが分かる。頭部はまた、専用のカード、特に発話又は視覚処理に専用のカードを含むこともできる。カード30のプロセッサ310は、市場標準のx86プロセッサとすることができる。AMD社によって製造されたGeodeTM(32ビット、500MHz)等の低消費プロセッサを選択することが優先される。カードはまた、一連のRAMとフラッシュメモリも含む。このカードはまた、ロボットと外部(挙動サーバ、他のロボット等)との間の通信を管理し、通常は、WiFi又はWiMax伝送レイヤ上でそれを行うが、おそらくVPNにカプセル化される標準プロトコルを使用した公衆移動体データ通信ネットワーク上で行う場合もある。プロセッサ310は、通常の高水準言語(C、C++、Python、Ruby等)又はURBI(ロボット工学を専門とするプログラミング言語)等の人工知能に専用の言語を使用して高度な機能をプログラミングすることを可能にする標準的なOSで駆動されるのが一般的である。
カード20はロボットの胴体に収納される。その場所には、本発明に従い、カード30によって計算された命令をカード10に伝送する処理を行うコンピュータが配置されている。このカードは、ロボット内のどこか他の場所に収容することも可能である。但し、胴体内の場所が有利である。そうした場合、頭部及び4つの肢の交点の近くにカードが配置され、それによってこのカード30をカード20及びカード10に結合するコネクタを最小限に抑えることができるからである。このカード20のコンピュータ210も、市場標準のプロセッサである。このプロセッサは、有利には、ARM 7TMタイプの32ビットプロセッサ(クロック速度60MHz)とすることができる。プロセッサのタイプ、プロセッサが配置される中央位置(オン/オフボタンの近く)、及び電源の制御とのリンクから見ても、これはロボットの電源の管理(スタンバイモード、緊急停止等)に適したツールとなっている。このカードもRAM及びフラッシュメモリを一式備えている。
本発明に係るこの3レベルのアーキテクチャには、マイクロコントローラ110及び210を再プログラミングする機能がマザーボード内に提供されている。
図2はコンピュータ210の主要な機能を示す。コンピュータ210は、コンピュータ310で生成された命令を、センサ120とアクチュエータ(例えばモータ130及び場合によってはLED140)を含むカード10に伝送する処理を行う。一部の命令は、カード20を経由しないで特定のカードに直接伝送され得る。特に、モータを持たない、頭部に位置するカードの場合(顔面のLED、タッチの検出、耳のLEDの制御を行う)がそうである。このようなカードとカード30との間のリンクは、それを使用する信号フレームに対して効果的なI2Cバスで実現するのが有利である。カード20は、USBバスを介してカード30にリンクされる。USBバスは、この機能に対して十分な信頼性と速度を提供し、プロセッサ30における電力も非常に少なくて済む。更に、このUSBリンクを使用すれば、一実施形態でカード30を含む頭部を取り外すと、演算アーキテクチャの他の要素を、開発やテストを目的として外部コンピュータに直接接続することが可能である。
この用途に適したUSBプロトコルを以下に簡単に説明する。メッセージの構造は従来どおりである。ヘッダは、固定された第1のバイト、第2のタイプバイト、アドレスバイト、メッセージ長バイト、メッセージのバイト(最大128バイト)、及び2つの固定されたメッセージ終了バイトを含み、メッセージ終了バイトの1バイト目は、第1のヘッダバイトと同じである。第1のヘッダバイトと等しいメッセージのバイトは、受信部を二極化するために体系的に複製される。使用されるプロトコルの一つの具体的な機能は、読み出し及び書き込み時に肯定及び否定受信確認応答(ACK及びNACK)を管理することである。両方の場合とも、動作が正常終了した場合(ACK)、メッセージの「データ」フィールドには、読み出し又は書き込みされたデータが含まれる。動作が異常終了した場合(NACK)、「データ」フィールドには特定のシーケンスが含まれる。
カード20は、上肢と下肢に位置するカード10と、2つのリンク(例えば、RS485タイプの)を介して通信する。各RS485リンクは、全てのカード10とカード20とがリンクされたデバッグラインと、各メンバーに対する連鎖ライン(カード20を起点として、肢の第1のカード10から次のカードへと延びる)とによって補完される。これらのラインの機能については、説明の中で後述する。
RS485リンクは、産業環境で広範囲にわたって使用されており、干渉の影響を受けにくいので人間型ロボットのコマンド及び制御用に適している。更に、RS485リンクのデータレートは、双方向で大量の情報をやりとりするのに必要とされる46600バイト/秒を超えている。但し、この場合、メッセージフレームがリンクを介して連続的に送信され、メッセージの復号化を難しくしているという問題点がある。したがって、フレームから種々のメッセージを取り出すことが可能な安全な通信プロトコルを使用する必要がある。一つの可能なプロトコルを以下に説明する。このプロトコルは主に、各バイトの第1ビットをゼロに設定することと、7バイトの前に次の7バイトの最上位ビットを有するバイトを挿入することを含む。更に、メッセージヘッダは、6ビット(宛先アドレス)と、1ビット(読み出し又は書き込みのいずれが実行されるのかを示す)と、最上位ビット(体系的に1となる)とを含むバイトで構成される。メッセージの先頭は、アドレスに加えて2つのバイト(第1のバイトは、メッセージのサイズの符号化、第2のバイトはメッセージのタイプ)と、全てのメッセージに関係するCRCから成る、メッセージの最終バイトとを含む。メッセージのタイプは、関節の角度、関節の粘性、リセット、LED、デバイスの設定、種々の再プログラムコマンド等となり得る。メッセージが有効になるためには、次の基準に従っていなければならない。即ち、第1のMSBが1、他方が0、アドレス、メッセージタイプ、サイズ、及びCRCが正しいこと。このプロトコルの管理負荷は、送信及び受信の両方においてかなり軽い。メッセージのサイズは固定であり、これにより通信の時間管理が相当にやりやすくなる。
チェックコードと関連する負荷を軽くするために、ブロードキャスト機能(実際にはほとんどの場合が同時放送機能)、すなわち様々なアドレスへの同時伝送が広く使用されている。この場合、第1の宛先アドレスはゼロに設定される。メッセージの一部に対応する宛先カードは、BID(Broadcast ID)で識別され、これにより各カードは、該当するメッセージの部分を取り出すことができる。この実施形態では、特に、アクチュエータに、関節が到達すべき位置等のコマンドを送信することができる。
モータカードの読み取りの場合、プロトコルは若干異なる。マスターは、まず1バイト(MSBが常に1で)を、次に、要求されるバイト数を示す7ビットを、更にこれらの2バイトに対する7ビットのCRCを送信する。CRCが正しい場合に限り、アドレスによって指定されたカードが応答する。更にカードは、MSBが常に0の場合に要求されたバイト数で応答する。モータカード上で読み出されるデータは、要求される長さによって異なるが、開始点は常に同じである。最も有用で最も頻繁に読み出されるデータは、読み出し領域の先頭に配置される。これらのデータは、関節、電流、エラー、及び温度のセンサの位置である。胸部カード20のレベルでは、バイトカウントは存在しない。マージンを持つ応答バイトの送信時間に対応するタイムアウトが存在するのみである。タイムアウト後、カードは該当するバイトを受信済みの場合もあればそうでない場合もある。このため、カードで障害が発生した場合にロボットのリセット動作を中断させないようにすることが可能である。
デバッグリンク及び連鎖リンクは、ロボットが初期化されるときに使用され、その管理もカード20で行われる。これはカード20のもう一つの重要な機能である。カード20は、オンボタンによって制御され、最初に初期化される。次に、カード10及びカード30が起動する。カード10は、デバッグラインを介して、ビットを0で送信する。カード20はそれらのカードに連鎖ラインを介してコマンドを返す。これによりこのステータスビットは1に変更される。アドレスの割り当ては、各連鎖ライン上のカードごとに段階的に1つのユニットによってインクリメンタルに肢の最後のカードに至るまで行われる。したがって、割り当てられたアドレスは、チェーン内におけるカード10の位置であり、これにより、複数のカード10が同じものである場合に、それらの間で「物理的な」区別がなされる。リセットの場合、全ての連鎖が再実行される。デバッグラインと連鎖ラインは、例えば、One Wireプロトコルを使用するラインであり、0のビット(パルスのロー状態の期間が50μs程度)と1のビット(パルスのロー状態の期間が250μs程度)を符号化する方形波チェーンを循環させるラインである。
図3は、本発明に係る人間型ロボットの論理的なアーキテクチャを示す。
ロボットはカード管理モジュール(DCM)を備えている。このモジュールは、主としてカード30に挿入可能であるが、少なくとも部分的にはカード20にも挿入可能である。DCMプログラムを起動するには、各カード10(例えば、モータカード)内部の設定バッファを読み取る。この段階でのバッファは、カード内部の目印情報(ブートローダのバージョン(スタータファイル、プログラム、及びカードの場合は自動ローダ)、チェーンによって取得されたカードのアドレス)しか含んでいない。バッファは、DCMにおいてあらゆる設定値(BID、チェーン内のMREの番号と位置、モータの番号と位置、関節サーボ制御係数、LEDの存在、又はFSRの存在等)により補完される。バッファの内容がカード10に再度送信される。カード10の設定パラメータの更新が、有利には、カードのフラッシュメモリの更新に取って替わる。カード10で読み出されたデータは、RAMに保持される、ロボット内部のデータベース(STM)に格納される。ロボットの論理的なアーキテクチャは、マスター周辺デバイス(以降、説明の中ではDeviceと称する)(実質的に、ロボットの電子カード10のMCU 110)のタイプとデバイスにリンクされたスレーブ周辺デバイス(SubDeviceと称する)(センサ120又はアクチュエータ130、140)のタイプに分かれる。Deviceは、一連のカード20、30に対してはスレーブとなる。Deviceは、タイプ、バス(頭部又は胸部I2C、アップ又はダウンRS485)、及びこのバスのアドレスによって特徴付けられる。SubDeviceは、センサかアクチュエータかを定義するタイプ(モータ、LED、FSR等)、付属Device、及びSubDevice番号によって特徴付けられる。
関節の位置は、センサSubDevice(センサによって返された角度情報に対応)と、これとは独立したアクチュエータSubDevice(到達すべき要求された位置に対応)に対応することに注意されたい。
例えば、モータカードは、好ましくは、2つのモータSubDevice(アクチュエータ)、2つのセンサ位置SubDevice(センサ)、2つの電流SubDevice(センサ)等を含む。顔面カードは、多数のLED SubDevice(アクチュエータ)(一実施形態では48個)を含むことができる。
SubDeviceもまた、主状態変数の浮動小数点値(位置センサにおける関節の角度位置、電流センサにおける電流測定値、LEDアクチュエータのLEDの値等)によって、及び主変数から導出される変数値(利得、オフセット、最小値及び最大値、確認応答(ACK)又は否定受信確認応答(NACK)、ERROR-MC-1064PCT-問題がある場合は0とは異なる)によって特徴づけられる。Deviceは、主変数値は持たないが、ACK/NACK/ERRORタイプのカウンタ値を持っている。他の値は、Device又はSubDeviceのタイプに特有の値である(例えば、モータアクチュエータ上のサーボ制御係数)。これらの値は全て自動的に更新され、上位レベルのアプリケーションによりSTMで確認することができる。
ACK及びNACKカウンタは、Device/SubDeviceで通信が成功するたびに、又は通信エラーが発生するたびにインクリメントされる。これらのカウンタでは、カードへのアクセスの問題を検出し、その頻度を算出することが可能である。
このDevice/SubDeviceアーキテクチャは、ロボットごとに設定ファイル内に記述される。この設定ファイルはデフォルト(標準的な設定)ではカード30に存在し、容易に変更することができるが、特定の値はカード20のフラッシュメモリ内にも格納される。これは、カード20の別の重要な機能であり、ロボットの上位レベルと下位レベルとの間の独立性を保護することを可能にする。DCM自体は、ロボットの電子アーキテクチャに関する「ハードな」情報を何ら持たない。センサ及びアクチュエータへのアクセスは、SubDevice/valueの名前を持つ「キー」によって取得される。上位レベルの場合は、足のLED(胸部カードのUSBを介してモータカード上のRS485モードで管理される)、胸部のLED(USBリクエストを介して胸部カードによって管理される)、顔面部のLED(I2Cリクエストを介して顔面部カードによって管理される)の間に差異はない。
好適な実施形態では、DCMは10〜20msの内部サイクルで動作する。センサ及びアクチュエータの大部分は、各サイクルで体系的に更新/読み出しされる。これは、一定の負荷で動作させること、通信を最適化すること、通信エラーを重大なものにはしない(20ms継続するだけ)ことを可能にする。更に、大部分のセンサについて、リクエストベースの更新よりもシステマティックな更新を優先させることによって、ロボットの全ての上位レベルモジュールに関する最新の情報の即時の可用性を保証する。カード20は、DCMで生成され、USBプロトコルで伝送されたコマンドを、RS485プロトコルへ変換する処理をする。また、カード20のメモリの1つを、これらのコマンドのバッファメモリとして使用することにより、以下に示すようにコマンド間で補間演算を実行することができる。
本発明に係るアーキテクチャの動作例として、図4は、ロボットが、進行方向θに沿って速度d’で距離dを進むための一連のコマンドの生成及び伝送を示している。プロセッサ30は、ロボットの関節A1、A2、A3のモータに適用されるコマンドを生成して、命令d、d’、θを実行する。各関節については、到達すべき角度の形式で1つ又は複数のコマンドが存在する。本発明の好適な実施形態では、全てのコマンドを実行するために、実行の絶対時間が算出される。この非決定性プロセッサ及びバスアーキテクチャにおいては、ロボットのカード間の通信も外部からの通信も、実行対象の命令に対する入力としてのパラメータを提供することができなくても、命令実行の場所への移動時間、ひいては特定の到着時間及び実行時間を保証することができる。コマンドのタイムスタンプにより、このコンテキストでは比較的簡単な方法で同期化を確実に行うことができる。例えば、プロセッサ30のシステム時間を使用することが可能である。DCMは、設定情報及び既知のシステムステータスに基づいて、一連の将来{αi,t}における一連の瞬間iでのアクチュエータAの応力変数α(角度コマンド)の一連の値を生成する。値aの計算及び伝送が可能な期間Tは、DCM専用RAMのメモリ容量に特に左右される。DCMは独自のサイクルを持っているので(前記した10〜20ms)、フレームが伝送された時点で実際のコマンドを生成する必要がある。全てのコマンドが連続的な状態変数(関節モータの回転を特徴づける角度やLEDの発光等)を持つアクチュエータに適用される場合、この生成を瞬間tで適用するには、コマンドαit1及びαjt2(それぞれ、tの直前及びtの直後のコマンド)を検索し、このような2つの値の間で線形補間(t、t、及びtの間で経過した時間によって重み付けされる)を実行する。
新しいコマンドを送信する場合、同一のアクチュエータに関連する2つの数列{α}をマージすることも可能である(DCMのRAM内にあるもの、外部モジュールから新規に送信されたもの)。補間の前にこの動作が実行される。補間の結果は、USBフレーム内でカプセル化され、カード30からカード20に伝送される。変形例として、数列{αi,t}を伝送し、カード20で変換を実行することもできる。両方の場合とも、プロセッサ210は、USBプロトコルを排除し、前述した安全なプロトコルに従ってRS485フレーム内にカプセル化する。コマンドの実行を必要とするSubDevice Aを含むDeviceのアドレスを符号化することにより、同時放送モードに優先権が与えられる。フレームは、RS485バスを介して、コマンドの実行を必要とするSubDevice Aを制御するDeviceへ同時に伝送される。フレーム制御手順では、伝送されるメッセージの完全性をチェックすることができる。実行対象の第1のコマンドと前に実行された最後のコマンドとの間で、Deviceにおいて補間を実行し、関節の動きを滑らかにする。
図5A及び図5Bに、伝送に適用される線形補間に基づく変換を示す。図5Aの簡単なケースでは、10ms間隔の7つのコマンドが、漸進的に70ms間隔の2つのコマンドに取って替わる。コマンドの値は、単調に難なく増加する。状態変数の変動の方向に変化が見られる図5Bのより複雑なケースでは、段階補間関数により、この変化を滑らかに再構築することができる。
コマンドフレームをベースにしたマージ変換の種々のタイプを、図6A、6B、6C、及び6Dに示す。図6Aの場合は、マージ処理は、全てのコマンドを考慮に入れることである。図6Bの場合は、所与の時間後、最も古いコマンドが消去される。図6Cの場合は、所与の時間の前に最も古いコマンドが消去される。図6Dの場合は、最も古いコマンドが完全に消去される。
アクチュエータによって受信されるコマンドの実行をなめらかにして不連続の発生を可能な限り回避することも有利である。このために、種々の補間アルゴリズムが可能である。図7A及び図7Bにこのうちの2つを示す。コマンドの受信サイクルはおおよそ10ms程度であり(現行の好適な実施形態では20ms)、それはネットワーク又はプロセッサの負荷競合が存在しない場合は略一定であり、一方、サーボ制御サイクルは1ms程度である、ことをまず想起されたい。図7Aの場合、期間t、tにわたって測定されたコマンドαの変化の速度である(α’’t,=(αt1−αt0)/(t−t))は、次のタイムスロットt、tにわたり一定であるとみなされる。外挿された命令に対するサーボ制御(∀θε[t,t],αθ=αt0+α’(θ−t0))は、tでコマンドβに到達することを可能にし、一方で、これに失敗すると、サーボ制御命令はαからαへ急激に変化する。命令が一定速度で維持される、又は少し加速若しくは減速する場合、補間された命令に対するこのようなサーボ制御は、先行する命令を維持するよりも効果的であり、これは差β−αが差α−αより小さいためであることが図からわかる。
この場合は、効果的に発生するサーボ制御がβからβへ移動する。βは、(α,t)と(α,t)との間で外挿される命令に対応することに注意されたい。
命令が急に減速した場合この条件は満たされない。この場合、差β−αが差α−αより大きくなる。命令の傾向が実線で示されている。図7Bは、この第2のタイプで、大幅な減速が発生した状況を示す。これには、命令の傾向を計算するための別の方法が適用される。それは、1サイクルの遅延の影響を導入することである。γは1サイクルのαの変換である。γは、先行する計算の結果よりもαに近いことが図から分かる。他方で、次のサイクルでは差が逆転されるが、2つの合計は良好なままである。特定の場合には命令の傾向を調整するための特定数の挙動ルールを導入するのが有用である。そのルールとは、外挿アルゴリズムが機能しない場合、命令は不変のまま維持されること、選択された期間(例えば、20ms、50msのサイクルの間)にコマンドが受信されない場合、外挿は適用されず、命令は最後に到達した値で維持されること、別の選択した時間(例えば、前の場合に選択された時間の10倍)の終わりで、ロボットが停止されること、但し、アクチュエータは決してオフとはならず、ロボット又はその関節の1つが急に落ちるのを回避するための磁気制動命令を適用することが優先されること、である。
上記のタイムスタンプされたコマンドのシステムの利点は多く、以下の通りである。
− デフォルトでは、システムは、2つのコマンドを時間的に非常に接近させる必要がある場合に不連続の可能性が残っている場合でも、突然の不連続を回避する。
− このシステムにより、単一コマンドは、2つの値の間で線形補間を得ることが可能である。これは単純な補間であるが依然として有効である(他の補間を一連の線形補間に減じることができるので、より複雑な場合にコマンドを最小限に抑えることができる)。
− DCM(固有のサイクルを持つ)と他のモジュールとの間で同期化の問題を回避することが可能である。これは、例えば、運動において急な動きを引き起こす命令に対応する補間をDCMが算出するように、DCMに少なくとも1サイクル先んじてコマンドを与えることで十分である。
− このシステムは、命令の精度を高めることで、優れた運動を実現する。
− このシステムは、遅延、待ち時間、又は可変通信時間の影響を受けにくい。
− このシステムは、複数のアクチュエータがロボット内に位置する又はロボット内に位置しない全く異なるモジュールによって制御される場合でも、そのような複数のアクチュエータを非常に簡単に同期化することができる。
更に、外部モジュールは、システムクロックを簡単に回復することができるので、コマンドジェネレータと同期化することができる。
DCMの計算負荷を軽減するために、複数のアクチュエータにアドレス指定するコマンドを、別名でグループ化することができる。
コンピュータ210内で、アクチュエータ用のコマンドの生成又は変更を直接予想することも可能である。特に、ある一定の数のイベントは、高度なコンピュータの介入を必ずしも必要としない。特定の反射的な機能(特に、ロボットのバランスの管理又は肢同士の衝突の回避)は、カード20内で直接駆動することができる。これは、対応するアルゴリズム及びDCMの一部分をカード20に実装することで十分である。
特定の融通性をロボットに提供するには、容易にアクセス及び修正できるハードウェア及びソフトウェア設定を含むファイルを更に提供することが必要である。このような設定ファイルの分散を図8に示す。
Device.xml設定ファイル(基本設定)と、ロボットの特定の部分にリンクされた複数のサブファイル(Device_Head.xml、Device_Chest.xml、及び必要に応じてその他のファイル)とがある。ロボットの特定の部分は交換可能である。頭部は、ボディから分離することも元に戻すことも容易にできる。ロボットの腕等の他の部分も交換可能である。この融通性は、メンテナンスの場合も(既に示したように)、ロボットを新しい任務に適応させる又はロボットに新しい個性若しくは外見を与える場合にも有用である。偶然にも、特定の実装を細かく考慮に入れるのに必須であるこれらの部分と関連付けられた較正値が存在する(関節のセンサ及びLEDのセンサの較正、取り付け後特定のパラメータを調整するために行われる変更等)。したがって、最良の解決策は、これらの較正値を頭部カードファイルに格納しないことである。このカードは、頭部が交換された場合に、ボディの較正が十分でない可能性がある。完全な基本設定のデフォルト値及び未較正値だけを全てのロボットに共通のファイル(Device.xml)にkey=valueの形式で格納することが好ましい。このファイルのキーの値は、他の2つのファイルで上書きされる。第1のファイルは頭部とリンクされ、独立したファイル(Device_Head.xml)として格納される。これには、頭部の全てのSubDevice(主にLED)の較正が含まれる。胸部カードは、ロボットの全ボディと関連付けられたファイル(Device_Chest.xml)を格納する。
起動時に、胸部カード内で「フラッシュ内の胸部設定」が読み出され、DCMのRAMにコピーされ、更に一時ファイルの形式で頭部の基本設定ファイルシステムにコピーされる。STM内のDevice.xml値は、上書きされる。
したがって、参照されるのは胸部カードのフラッシュメモリの内容だけである。このため、頭部交換の場合は、新しいボディの胸部カードのファイルが読み出され、考えられる問題が排除される。
上記の例は、本発明の実施形態を示したものである。これらの例は、以下の特許請求の範囲によって定義される本発明の範囲を制限するものではない。

Claims (15)

  1. センサ及びアクチュエータの複数のサブセットを含む関節肢で動き、各サブセットがマイクロコントローラを含む複数の電子部品を搭載した電子カード(10)によって制御される移動ロボットであって、前記電子カードの少なくとも一部に対する制御機能が、少なくともそれぞれがユニークなコンピュータの1つである第1のコンピュータ(20)と第2のコンピュータ(30)との間で分散され、前記第1のコンピュータ(20)が、特に、前記第2のコンピュータ(30)によって定義された機能を実行するためのコマンドメッセージを前記電子カード(10)に伝送する処理を行い、
    前記移動ロボットの特定の設定データは、前記第1のコンピュータによって管理されるメモリ内に格納され、前記設定データは特に制御対象の電子カードのリストを含み、前記センサ及びアクチュエータは前記カード及び前記センサ及びアクチュエータに関する動作パラメータによって命令され、
    前記第2のコンピュータは、第1のコンピュータのプログラムを変更することなく別の同等のコンピュータと置き換え可能である
    とを特徴とする移動ロボット。
  2. 前記第1のコンピュータで移動ロボットの特定の機能がプログラムされ、前記機能は、特定のセンサ状態変数の値に基づいてアクチュエータ用のコマンドを決定することにより、ロボットの反射運動を管理することを特徴とする請求項1に記載の移動ロボット。
  3. 前記第1のコンピュータが、前記ロボットの前記電子カードの少なくとも一部の初期化手順を管理することを特徴とする請求項1に記載の移動ロボット。
  4. 前記第1のコンピュータ又は前記第2のコンピュータのプログラミングを変更することなしに、前記ロボットの電子カードを同等のカードと交換できることを特徴とする請求項1に記載の移動ロボット。
  5. 前記第1のコンピュータと前記電子カードとの間の前記通信が、少なくとも1つの特定のバス上で安全なプロトコルによって管理され、前記安全なプロトコルは、前記メッセージのバイトの前に、少なくとも宛先アドレスと選択された値を持つ最上位ビットとを含むバイトを有し、前記メッセージのバイトの後に、前記メッセージのサイズを含む少なくとも1バイトとCRCを含む1バイトとを有するフレームを有することを特徴とする請求項1に記載の移動ロボット。
  6. 前記安全なプロトコルによる前記フレームの全バイトが、前記アドレスバイトの最上位ビットを補完する値の第1のバイトを有し、いずれの7バイトにおいても前記第1のバイトが、次の7バイトの7つの最上位ビットを有することを特徴とする請求項に記載の移動ロボット。
  7. 前記安全なプロトコルが、同時放送通信モードを含むことを特徴とする請求項に記載の移動ロボット。
  8. 第1のコンピュータとそれが制御する電子カードは更に、少なくとも2つの通信ラインによって接続され、前記通信ラインの1つは操作を検出するために使用され、前記通信ラインのもう1つは前記電子カードにアドレスを割り当てるために使用されることを特徴とする請求項に記載の移動ロボット。
  9. センサ及びアクチュエータのサブセット用の複数のコマンドステップを含む関節肢で動く移動ロボットを制御し、各サブセットがマイクロコントローラを含む複数の電子部品を搭載した電子カード(10)によって命令される方法であって、前記電子カードの少なくとも一部の制御ステップが少なくともそれぞれがユニークなコンピュータの1つである第1のコンピュータ(20)と第2のコンピュータ(30)との間で分散され、前記第1のコンピュータ(20)は、前記定義ステップが前記第2のコンピュータ(30)によって実行される機能を実行するためのコマンドメッセージを前記電子カード(10)に伝送するステップを特に処理し、
    前記移動ロボットの特定の設定データは、前記第1のコンピュータによって管理されるメモリ内に格納され、前記設定データは特に制御対象の電子カードのリストを含み、前記センサ及びアクチュエータは前記カード及び前記センサ及びアクチュエータに関する動作パラメータによって命令され、
    前記第2のコンピュータは、第1のコンピュータのプログラムを変更することなく別の同等のコンピュータと置き換え可能である
    とを特徴とする方法。
  10. 前記第1のコンピュータと前記電子カードとの間の前記通信が、少なくとも1つの特定のバス上で安全なプロトコルによって管理され、前記安全なプロトコルは、前記メッセージのバイトの前に、少なくとも宛先アドレスと選択された値を持つ最上位ビットとを含むバイトを有し、前記メッセージのバイトの後に、前記メッセージのサイズを含む少なくとも1バイトとCRCを含む1バイトとを持つフレームを有すると共に、前記安全なプロトコルによる前記フレームの全バイトが、前記アドレスバイトの最上位ビットを補完する値の第1のバイトを有し、いずれの7バイトにおいても前記第1のバイトが、次の7バイトの7つの最上位ビットを有することを特徴とする請求項に記載の移動ロボットを制御するための方法。
  11. 前記コマンドメッセージが、実質的に固定された周期で前記電子カードに伝送され、該周期の長さが約10ミリ秒であることを特徴とする請求項に記載の移動ロボットを制御するための方法。
  12. 前記第2のコンピュータによって生成される前記コマンドメッセージが、コマンドごとに少なくとも1つの実行日付を含むことを特徴とする請求項に記載の移動ロボットを制御するための方法。
  13. 前記実行日付を含むコマンドのコマンド値が、該コマンドの実行日付の直前の実行日付を含むコマンドのコマンド値と該コマンドの実行日付の直後の実行日付を含むコマンドのコマンド値との補間により算出されることを特徴とする請求項12に記載の移動ロボットを制御するための方法。
  14. 電子カードによって実行される、第1のコマンドと第2のコマンドとの間のサーボ制御命令は、前記第1のコマンドに先行するコマンドと前記第1のコマンドとの間のサーボ制御の変動量の拡張に相当するコマンドが外挿されることを特徴とする請求項11に記載の移動ロボットを制御するための方法。
  15. 電子カードによって実行される、第1のコマンドと第2のコマンドとの間のサーボ制御命令は、前記第1のコマンドに先行するコマンドと前記第1のコマンドとの間のサーボ制御の変動量を維持に相当するコマンドが外挿されることを特徴とする請求項11に記載の移動ロボットを制御するための方法。
JP2011503428A 2008-04-09 2009-04-08 関節肢を使用する移動ロボットの制御コマンドアーキテクチャ Active JP5849345B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0801956A FR2929873B1 (fr) 2008-04-09 2008-04-09 Architecture de controle-commande d'un robot mobile utilisant des membres articules
FR08/01956 2008-04-09
PCT/EP2009/054177 WO2009124951A1 (fr) 2008-04-09 2009-04-08 Architecture de controle - commande d'un robot mobile utilisant des membres articules

Publications (2)

Publication Number Publication Date
JP2011516287A JP2011516287A (ja) 2011-05-26
JP5849345B2 true JP5849345B2 (ja) 2016-01-27

Family

ID=40219258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011503428A Active JP5849345B2 (ja) 2008-04-09 2009-04-08 関節肢を使用する移動ロボットの制御コマンドアーキテクチャ

Country Status (6)

Country Link
US (2) US9327400B2 (ja)
EP (1) EP2262623A1 (ja)
JP (1) JP5849345B2 (ja)
CN (1) CN102046337B (ja)
FR (1) FR2929873B1 (ja)
WO (1) WO2009124951A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2474318A (en) * 2010-05-11 2011-04-13 Jideofor Harry Nduka Humanoid robot with interchangeable legs for different terrain
FR2962048A1 (fr) 2010-07-02 2012-01-06 Aldebaran Robotics S A Robot humanoide joueur, methode et systeme d'utilisation dudit robot
FR2963132A1 (fr) 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
FR2964055B1 (fr) 2010-08-27 2012-08-17 Aldebaran Robotics S A Robot humanoide dote de capacites de gestion de chutes et methode de gestion desdites chutes
FR2969026B1 (fr) 2010-12-17 2013-02-01 Aldebaran Robotics Robot humanoide dote d'un gestionnaire de ses ressources physiques et virtuelles, procedes d'utilisation et de programmation
KR101809973B1 (ko) * 2011-01-24 2017-12-19 삼성전자주식회사 로봇 제어 시스템 및 로봇 제어 방법
US20130085602A1 (en) * 2011-10-04 2013-04-04 Hei Tao Fung Office Robot System
FR2989209B1 (fr) 2012-04-04 2015-01-23 Aldebaran Robotics Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot
FR2991222B1 (fr) 2012-06-01 2015-02-27 Aldebaran Robotics Systeme et procede pour generer des comportements contextuels d'un robot mobile executes en temps reel
TWI492343B (zh) * 2012-11-02 2015-07-11 矽品精密工業股份有限公司 半導體基板及其製法
US10418298B2 (en) * 2013-09-24 2019-09-17 STATS ChipPAC Pte. Ltd. Semiconductor device and method of forming dual fan-out semiconductor package
EP2952300A1 (en) * 2014-06-05 2015-12-09 Aldebaran Robotics Collision detection
CN106043488A (zh) * 2015-04-21 2016-10-26 电子科技大学 一种家庭服务机器人
CN105119985B (zh) * 2015-08-10 2019-05-03 唐思钊 一种多工位智能机器人及其控制方法
JP1545285S (ja) * 2015-08-17 2016-03-07
JP1556885S (ja) 2015-09-17 2016-08-22
US11072067B2 (en) * 2015-11-16 2021-07-27 Kindred Systems Inc. Systems, devices, and methods for distributed artificial neural network computation
USD795321S1 (en) * 2015-12-07 2017-08-22 UBTECH Robotics Corp. Entertainment robot
USD795320S1 (en) * 2015-12-07 2017-08-22 UBTECH Robotics Corp. Entertainment robot
EP3216569A1 (en) * 2016-03-07 2017-09-13 Aldebaran Robotics Modular manufacturing of a robot
US20170330413A1 (en) 2016-05-13 2017-11-16 Universal Entertainment Corporation Speech recognition device and gaming machine
CN105905187A (zh) * 2016-06-22 2016-08-31 北京科技大学 仿生正六边形六足机器人
CN106406328B (zh) * 2016-11-05 2020-04-03 杭州畅动智能科技有限公司 一种基于机器人开发平台的运动控制方法
CN107685788B (zh) * 2017-09-06 2023-10-27 滨州学院 一种足球机器人
FR3081578B1 (fr) 2018-05-25 2022-08-12 Hoomano Dispositif et methode de mesure d’une caracteristique d’une interaction entre un utilisateur et un dispositif d’interaction
CN110253567B (zh) * 2019-05-22 2021-07-20 深圳镁伽科技有限公司 用于控制机器人运动的运动控制系统、方法及机器人
TWI739604B (zh) * 2020-09-18 2021-09-11 英業達股份有限公司 訓練機器動物的運動控制器的方法
JP7553825B2 (ja) 2021-09-10 2024-09-19 株式会社デンソーウェーブ ロボット制御システム

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4734866A (en) 1984-07-05 1988-03-29 Siemens Aktiengesellschaft Computer controller for an industrial multiaxis robot
SE464053B (sv) * 1990-01-22 1991-02-25 Kent Lennartsson Anordning vid distribuerat styrsystem
JPH0538689A (ja) 1991-07-29 1993-02-19 Toshiba Corp 多関節ロボツトの分散制御システム
US5917840A (en) * 1992-03-13 1999-06-29 Foxboro Company Protection against communications crosstalk in a factory process control system
JP2711349B2 (ja) 1992-08-04 1998-02-10 川崎重工業株式会社 産業用ロボットの制御方法およびそれに用いる制御装置
US5285381A (en) * 1992-09-09 1994-02-08 Vanderbilt University Multiple control-point control system and method of use
JPH06284164A (ja) 1993-03-25 1994-10-07 Mitsubishi Electric Corp 通信制御コード回避通信方法
JPH07307742A (ja) 1994-05-16 1995-11-21 Kokusai Electric Co Ltd データ伝送方法
JPH07336366A (ja) 1994-06-09 1995-12-22 Canon Inc 無線lanシステム
IL120889A (en) 1997-05-22 1998-10-30 Eshed Robotec 1982 Ltd Method and facility for direct learning of vending machines
JP3926898B2 (ja) 1997-10-16 2007-06-06 株式会社バッファロー 集線装置、集線装置のエラー通知方法および集線装置のためのエラー通知プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2000099127A (ja) 1998-09-17 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> ロボットシステム用一斉同報装置および方法とそのプログラムを記録した記録媒体
JP2001150375A (ja) 1999-11-25 2001-06-05 Sony Corp 脚式移動ロボットの制御システム
US6377013B2 (en) * 1999-12-24 2002-04-23 Honda Giken Kogyo Kabushiki Kaisha Control apparatus for legged mobile robot
JP2002113675A (ja) 2000-10-11 2002-04-16 Sony Corp ロボット制御システム並びにロボット制御用ソフトウェアの導入方法
JP2002307340A (ja) * 2001-04-19 2002-10-23 Sony Corp 脚式移動ロボット及びその制御方法
KR101004820B1 (ko) * 2002-03-18 2010-12-28 지니치 야마구치 이동체 장치, 이동체 장치의 제어 방법, 로봇 장치, 로봇 장치의 동작 제어 방법
JP2003334783A (ja) 2002-05-13 2003-11-25 Canon Inc ロボットの情報制御方法
US20030230998A1 (en) * 2002-06-17 2003-12-18 Sanyo Electric Co., Ltd., Moriguchi-Shi, Japan Distributed control system and distributed control method
JP2004078895A (ja) * 2002-06-17 2004-03-11 Sanyo Electric Co Ltd 分散制御システムおよび分散制御方法
JP2004038855A (ja) 2002-07-08 2004-02-05 Olympus Corp 軸操作装置、軸操作方法、及び軸操作プログラム
US7283549B2 (en) * 2002-07-17 2007-10-16 D-Link Corporation Method for increasing the transmit and receive efficiency of an embedded ethernet controller
JP2004167666A (ja) * 2002-08-30 2004-06-17 Sony Corp ロボット装置及びその動作制御方法
US6999851B2 (en) * 2002-08-30 2006-02-14 Sony Corporation Robot apparatus and motion controlling method therefor
EP1598155B1 (en) * 2003-02-14 2011-04-20 Honda Giken Kogyo Kabushiki Kaisha Abnormality detector of moving robot
US7038421B2 (en) * 2003-06-17 2006-05-02 International Business Machines Corporation Method and system for multiple servo motor control
US20060184280A1 (en) * 2005-02-16 2006-08-17 Magnus Oddsson System and method of synchronizing mechatronic devices
US8289321B2 (en) * 2004-03-17 2012-10-16 Sony Corporation Method and apparatus for detecting plane, and robot apparatus having apparatus for detecting plane
JP4280999B2 (ja) 2004-07-02 2009-06-17 独立行政法人産業技術総合研究所 ロボットシステム
JP4531520B2 (ja) * 2004-10-15 2010-08-25 本田技研工業株式会社 脚式移動ロボットの制御装置
US7904182B2 (en) * 2005-06-08 2011-03-08 Brooks Automation, Inc. Scalable motion control system
JP2007038326A (ja) 2005-08-01 2007-02-15 Toyota Motor Corp ロボット制御システム
DE102006054124B4 (de) * 2006-11-15 2009-05-28 Phoenix Contact Gmbh & Co. Kg Verfahren und System zur sicheren Datenübertragung

Also Published As

Publication number Publication date
US9327400B2 (en) 2016-05-03
FR2929873B1 (fr) 2010-09-03
CN102046337A (zh) 2011-05-04
WO2009124951A1 (fr) 2009-10-15
CN102046337B (zh) 2015-01-21
JP2011516287A (ja) 2011-05-26
US10022862B2 (en) 2018-07-17
US20160311109A1 (en) 2016-10-27
EP2262623A1 (fr) 2010-12-22
US20110029128A1 (en) 2011-02-03
FR2929873A1 (fr) 2009-10-16

Similar Documents

Publication Publication Date Title
JP5849345B2 (ja) 関節肢を使用する移動ロボットの制御コマンドアーキテクチャ
KR102235167B1 (ko) 스텝 기반 실시간 디바이스 시스템 제어 방법, 디바이스 시스템 제어 장치 및 스텝 기반 디바이스 제어 시스템
JP6187674B2 (ja) 制御システム、制御装置および制御方法
JP4577422B2 (ja) 情報処理システム及び情報処理方法、ロボットの制御システム及び制御方法、並びコンピュータ・プログラム
CN111034128A (zh) 控制系统以及控制装置
CN106647571B (zh) 一种支持认知的运动控制系统及方法
CN111176225A (zh) 利用工业控制器进行代理执行和计算的方法和装置
JP2004088208A (ja) データ伝送システム及びデータ伝送方法
US11855907B2 (en) Robot control system and control method
Mineo et al. Interfacing toolbox for robotic arms with real-time adaptive behavior capabilities
US11269313B2 (en) Controller and control system that stores data in current control cycle for output in next control cycle
US12032349B2 (en) Controller
JP2023546533A (ja) 製造に応用されるヒューマンマシン実行システム
Delgado et al. On the in-controller performance of an open source EtherCAT master using open platforms
JP3421172B2 (ja) ロボット制御装置の通信方法
CN109834713B (zh) 仿人脑机器人控制中枢及仿人脑行走机器人控制中枢
US20230022312A1 (en) Control device
CN214335705U (zh) 一种具有可编程IO的EtherCAT总线伺服系统
WO2021181798A1 (ja) ロボット制御システムおよび制御方法
WO2022162958A1 (ja) 制御装置、プログラム実行方法およびプログラム
WO2021181800A1 (ja) ロボット制御システムおよび制御方法
Elmenreich et al. A standardized smart transducer interface
KR20240083288A (ko) 로봇 제어용 코어엔진을 이용한 모션 제어 시스템
CN111061203A (zh) 机器人的实时控制系统及机器人
JPH0749710A (ja) ロボット制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131024

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140626

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141125

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150402

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: 20150609

R155 Notification before disposition of declining of application

Free format text: JAPANESE INTERMEDIATE CODE: R155

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150617

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151112

R150 Certificate of patent or registration of utility model

Ref document number: 5849345

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250