JP2004291202A - データ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置 - Google Patents

データ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置 Download PDF

Info

Publication number
JP2004291202A
JP2004291202A JP2003090174A JP2003090174A JP2004291202A JP 2004291202 A JP2004291202 A JP 2004291202A JP 2003090174 A JP2003090174 A JP 2003090174A JP 2003090174 A JP2003090174 A JP 2003090174A JP 2004291202 A JP2004291202 A JP 2004291202A
Authority
JP
Japan
Prior art keywords
data
motion
robot
control
providing
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.)
Pending
Application number
JP2003090174A
Other languages
English (en)
Inventor
Tomohisa Morihira
智久 森平
Osamu Hanagata
理 花形
Masanori Omote
雅則 表
Masahiro Fujita
雅博 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2003090174A priority Critical patent/JP2004291202A/ja
Publication of JP2004291202A publication Critical patent/JP2004291202A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ロボットの動作の安定性とデータが途切れたときのロボットの動作を補償しながらモーション・データをストリーミング再生する。
【解決手段】モーション・データが各制御対象において、コントロール・ポイント毎に角度ポジションと角速度からなる指令値を持ち、2点のコントロール・ポイントだけで高次スプライン補間ができる形式であると、デザインしたモーション・パターンと補間結果との誤差は微小である。時系列で転送を行なうには、各関節順ではなく、時間的に早いコントロール・ポイントから随時指令値を転送していく。
【選択図】 図12

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーク経由でデータを提供するデータ提供装置及びデータ提供方法、並びにネットワーク経由で受信したデータを再生処理するデータ再生装置及びデータ再生方法に係り、特に、複数の関節自由度を備えたロボットのモーション・データをネットワーク経由で提供するデータ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置に関する。
【0002】
さらに詳しくは、本発明は、ストリーミング技術を利用してロボットのモーション・データを逐次読み込み実行するデータ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置に係り、特に、ロボットの動作の安定性とデータが途切れたときのロボットの動作を保証しながらモーション・データをストリーミング再生するデータ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置に関する。
【0003】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の”ROBOTA(奴隷機械)”に由来すると言われている。わが国では、ロボットが普及し始めたのは1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット(industrial robot)であった。
【0004】
最近では、ヒトやサルなどの2足直立歩行を行う動物の身体メカニズムや動作を模した脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。2足直立による脚式移動は、クローラ式や、4足又は6足式などに比し不安定で姿勢制御や歩行制御が難しくなるが、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できるという点で優れている。
【0005】
また、ヒトの生体メカニズムや動作を再現した脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット(humanoid robot)と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上のさまざまな場面における人的活動の支援などを行なうことができる。
【0006】
人間の作業空間や居住空間のほとんどは、2足直立歩行という人間が持つ身体メカニズムや行動様式に合わせて形成されおり、車輪その他の駆動装置を移動手段とした現状の機械システムが移動するのには多くの障壁が存在する。したがって、機械システムすなわちロボットがさまざまな人的作業を代行し、さらに人間の住空間に深く浸透していくためには、ロボットの移動可能範囲が人間のそれとほぼ同じであることが好ましい。これが、脚式移動ロボットの実用化が大いに期待されている所以でもある。
【0007】
脚式移動ロボットを始めとする多関節型ロボット、あるいはその他のロボット装置は、関節角度や関節ゲインなどの複数の制御対象を持つ。そして、そのロボット装置の動作シーケンスは、時間軸上の各制御対象点をクロックで表し、クロック毎の指令値(関節アクチュエータの角度情報など)として表される。但し、各クロックにおける情報をすべて表すとデータ量が多過ぎる。このため、ある動作期間の初期点と終端点における各制御対象の制御値のみを規定し、動作期間中の各制御対象の動作はスプライン補間や線形補間などの補間処理が行なわれるというPTP制御が一般に採用されている(すなわち、補間関数を用いることを前提に、キーとなるデータだけに圧縮される)。例えば、制御対象毎に所定の時間間隔又はランダムな時間間隔で補間点(コントロール・ポイント)が設けられ、補間点の間は、適宜スプライン補間や線形補間などの補間処理が施される。モーション・データは、各制御対象毎の、補間点における制御目標値と、各補間点間の補間方法の記述で構成される。
【0008】
現在、ロボットを動作させるための手法として、その都度リアルタイムに動きを生成する方法と、あらかじめデザインされたスタティックなモーションに従って機体を駆動する方法の2通りに大別される。
【0009】
後者のモーションを使用する方法では、あらかじめロボット内部に保存することができるモーション数がメモリ容量で制限されてしまう。加えて、決められたモーションのみではユーザに飽きられてしまう可能性がある。
【0010】
そこで、ネットワーク上にあるサーバから新たなモーション・データをダウンロードするといった、モーションをロボットに供給する仕組みが必要であると考えられる。
【0011】
一方、最近では、電話回線(ADSL(Asymmetric Digital Subscriber Line:非対称デジタル加入者回線)など)やケーブル・テレビなどのネットワーク回線の高速化に伴い、ファイルをダウンロードし終えてからこれを再生するのではなく、ダウンロードしながら再生するという「ストリーミング」技術が開発され、普及し始めている。ストリーミング配信は次世代のインターネット利用の要と見られている。
【0012】
例えば、モーション・データのダウンロードの完了を待ってから、ロボットの動作を開始するよりも、ストリーミング技術により逐次読み込みを実行する方が、ロボットのレスポンス向上に有効であると本発明者らは考えられる。
【0013】
しかしながら、ストリーミングの最中にデータ落ちが発生し、関節の速度が不連続になったり、完全にデータが途切れたりした場合には、アクチュエータへ多大な負荷が掛かったり、ロボット本体が不安定な状態にならないことを保証しなければならず、従来の映像や音声用データのストリーミングとは様相が大いに相違する。
【0014】
また、効率的なモーション・データ・フォーマットでは、制御対象毎のコントロール・ポイントが時系列に並んでいることは稀であり、制御対象毎に独立したコントロール・ポイントが並んでいることが多い。言い換えれば、モーション・データ・フォーマットは、映像や音声データとは異なり、時系列すなわち再生順にデータが配列されているとは限らず、ストリーミング方式との親和性がよくない。
【0015】
また、現在代表的なネットワーク・プロトコルであるTCP/IP(Transmission Control Protocol/Internet Protocol)では、データ転送を制御するトランスポート層としてUDP(User Datagram Protocol)やTCPが挙げられる。UDPでは、パケットの消失、重複、順序などは全く保証されない。また、TCPでは、再送を行なうことで信頼性(データの抜けや重複、誤りがなく、送信データがそのままの順序で正しく受信側に届くこと)が保証されているが、再送に伴う遅延に関しては保証がない。また、RTP(Real Time Protocol,RFC−1889)では、実時間でデータ通信できるような枠組みが与えられている(通常UDPを用いる)が、配送の保証、順番違いが保証されるものではない。このように、現状のネットワークでは、データの抜けや遅延の危険性が常につきまとう。
【0016】
ビデオや音声のアプリケーションでは、データの抜けや遅延があった場合、ビデオのノイズやコマ送り、音声が途切れるといった、サービス品質が一時的に低下するだけ、機械装置の故障の原因になることはない。これに対し、ロボットのモーション・データのような場合、データの消失や遅延は、機械の故障の原因ともなるので重大である。例えば、2足直立歩行ロボットの場合、歩行用データで片足を挙げた時点でデータが消失してしまうと、機体はバランスを崩し、そのまま転倒するなど致命的で重大な事態を招来するであろう。
【0017】
【発明が解決しようとする課題】
本発明の目的は、ストリーミング技術を利用してロボットのモーション・データを逐次読み込み実行することができる、優れたデータ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置を提供することにある。
【0018】
本発明のさらなる目的は、ロボットの動作の安定性とデータが途切れたときのロボットの動作を保証しながらモーション・データをストリーミング再生することができる、優れたデータ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置を提供することにある。
【0019】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、基体と前記基体に接続される複数の可動部を備えたロボット装置のためのモーション・データを提供するデータ提供装置であって、
元のモーション・データは、各制御対象毎に時間軸上に区々の間隔でコントロール・ポイントが並び、コントロール・ポイントにおける指令値とコントロール・ポイント間の補間方法の記述で構成され、
元のモーション・データを、各制御対象において、コントロール・ポイント毎に角度ポジションと角速度からなる指令値を持ち、2点のコントロール・ポイントだけで高次スプライン補間ができる形式に変換するデータ変換手段と、
時間的に早いコントロール・ポイントから随時指令値を提供するデータ提供手段と、
を具備することを特徴とするデータ提供装置である。
【0020】
ここで言うロボットとは、例えば少なくとも上肢、下肢及び体幹部を含む複数の可動部を備えた、2足歩行型の脚式移動ロボットである。
【0021】
モーション・データが各制御対象において、コントロール・ポイント毎に角度ポジションと角速度からなる指令値を持ち、2点のコントロール・ポイントだけで高次スプライン補間ができる形式であると、デザインしたモーション・パターンと補間結果との誤差は微小である。時系列で転送を行なうには、各関節順ではなく、時間的に早いコントロール・ポイントから随時指令値を転送していくようにすればよい。
【0022】
この方式では、ある経過時間において、モーションを再生するために必要なすべてのコントロール・ポイントの指令値が、この経過時間に到達する以前に受信側のロボットに届いておくように送信する必要がある。例えば、再生単位時間を1秒と設定した場合、サーバから1秒後までのデータを受信する。これは、受信側で1秒後までのデータが復元可能になることを意味し、そのためにはモーションの頭から1秒以降で最初のコントロール・ポイントのデータを受信している必要がある。サーバ側から送信するデータ列は必ずしも時系列順ではなく、制御対象毎のコントロール・ポイントの粗密により順序が変更される。
【0023】
また、モーション・データは、すべての制御対象における指令値が0となるキーフレームを含んでもよい。このような場合、前記のデータを提供する手段は、キーフレームで仕切られる単位でデータの提供を行なうようにしてもよい。
【0024】
一定の再生単位時間でモーションのデータの送受信を行なうことも可能であるが、キーフレーム単位でデータの送受信及び再生を行なうことにより、データ欠損時には必ずロボットの速度が0となる状態で再生することができるので、安全なストリーミングを実現することができる。この手法は、安全性の低いロボットに関して特に有効である。
【0025】
また、ある時間までのデータが要求されデータ提供先においてデータが欠損したことに応答して、欠落しては困る制御対象についての指令値から優先的にデータ送信を行なう手段をさらに備えてもよい。このような場合、より安定したストリーミングを可能とすることができる。
【0026】
また、本発明の第2の側面は、基体と前記基体に接続される複数の可動部を備え、モーション・データを外部装置から受信して再生するロボット装置であって、
モーション・データは各制御対象において、コントロール・ポイント毎に角度ポジションと角速度からなる指令値を持ち、2点のコントロール・ポイントだけで高次スプライン補間ができる形式であり、
前記外部装置にデータを要求する手段と、
要求分のデータを受信して前記ロボット装置のすべての制御対象の指令値に関し復元可能になるまで一時保存する手段と、
再生時間単位分のデータが一時保存されたことに応答して、データを復元しモーションを再生する手段と、
を具備することを特徴とするロボット装置である。
【0027】
ここで言うロボットとは、例えば少なくとも上肢、下肢及び体幹部を含む複数の可動部を備えた、2足歩行型の脚式移動ロボットである。
【0028】
本発明の第2の側面に係るロボット装置によれば、ある経過時間においてモーションを再生するために必要なすべてのコントロール・ポイントの指令値を、この経過時間に到達する以前に受信することができるので、安定してストリーミング再生することができる。
【0029】
また、ロボット装置は、モーションを再生するために必要な次のデータが途切れたことに応答して、速度不連続補正処理を実行する手段をさらに備えていてもよい。このような場合、急停止により関節アクチュエータに過大な負荷がかかるのを防止することができる。
【0030】
また、モーション・データは、すべての制御対象における指令値が0となるキーフレームを含んでもよい。このような場合、前記のデータを要求する手段及びモーションを再生する手段は、キーフレームで仕切られる単位でデータの受信及び再生を行なうようにしてもよい。
【0031】
一定の再生単位時間でモーションのデータの送受信を行なうことも可能であるが、キーフレーム単位でデータの送受信及び再生を行なうことにより、データ欠損時には必ずロボットの速度が0となる状態で再生することができるので、安全なストリーミングを実現することができる。この手法は、安全性の低いロボットに関して特に有効である。
【0032】
また、ロボット装置は、受信したデータが欠損したことに応答した処理を行なう手段をさらに備えていてもよい。
【0033】
このような場合、データ欠損時にも何のデータが欠損したかによってモーションの再生を中断したりデータが揃うまで待ったりといった具合に動作に変化を持たせることができる。例えば、指などのトルク又は力の低いアクチュエータのためのデータなら指令値が欠損しても無視して再生を続けるといった処理を行なうようにしてもよい。
【0034】
また、本発明の第3の側面は、ロボットのモーション・データを処理するデータ処理装置であって、
ロボットのモーション・データは、各制御対象毎の指令値からなるコントロール・ポイントが時系列的に配列されてなる本線で構成され、一部のコントロール・ポイントはロボットが機体の安定性を保証して停止することができる停止ポイントであり、
停止ポイントが含まれるようにモーション・データを所定サイズに分割して送信データを生成する、
ことを特徴とするデータ処理装置である。
【0035】
ここで、所定サイズ内に停止ポイントがない場合には、該所定サイズの最終コントロール・ポイントから移行することができる停止ポイントを生成し、モーション・データの本線に対し、該最終コントロール・ポイントから該停止ポイントへ向かう支線を挿入するようにする。この結果、すべての送信データ・ブロックにおいて停止ポイントが含まれることが保証される。
【0036】
また、本発明の第4の側面は、ロボットのモーション・データを受信して再生するデータ処理装置であって、
ロボットのモーション・データは、各制御対象毎の指令値からなるコントロール・ポイントが時系列的に配列されて構成され、一部のコントロール・ポイントはロボットが機体の安定性を保証して停止することができる停止ポイントであり、
データを受信する受信手段と、
受信したデータを一時格納する受信バッファと、
受信バッファに蓄積されたデータを再生するデータ再生手段と、
前記データ再生手段によるデータ再生処理を制御する再生制御手段とを備え、前記再生制御手段は、前記受信バッファに貯まった最後の停止ポイントまでデータ再生を行なわせる、
ことを特徴とするデータ処理装置である。
【0037】
モーション・データをネットワーク経由でストリーミング再生を行なう場合、データ受信側では、バッファリングを行ないながら再生するが、この際、受信バッファ中に常に到達可能な停止ポイントがあるように再生の分岐を行ない、いつデータ受信が途切れても安全に停止できることを保証する。
【0038】
ここで、前記再生制御手段は、受信バッファに格納されているモーション・データの本線上の最後の停止ポイントまでデータ再生を行なわせる。また、受信バッファに格納されているモーション・データの本線上に次の停止ポイントが見つからない場合には、支線上の停止ポイントを探索して該停止ポイントまでデータ再生を行なわせる。また、受信バッファに格納されているモーション・データの本線及び支線のいずれにおいても次の停止ポイントが見つからない場合には、現在の停止ポイントにおいて再生を停止させる。
【0039】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0040】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0041】
A.ロボット構成
図1及び図2には本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット100が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット100は、胴体部と、頭部と、左右の上肢部と、脚式移動を行なう左右2足の下肢部とで構成され、例えば胴体に内蔵されている制御部(図示しない)により機体の動作を統括的にコントロールするようになっている。
【0042】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【0043】
制御部は、この脚式移動ロボット100を構成する各関節アクチュエータの駆動制御や各センサ(後述)などからの外部入力を処理するコントローラ(主制御部)や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【0044】
このように構成された脚式移動ロボット100は、制御部による全身協調的な動作制御により、2足歩行を実現することができる。かかる2足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
【0045】
(1)右脚を持ち上げた、左脚による単脚支持期
(2)右足が接地した両脚支持期
(3)左脚を持ち上げた、右脚による単脚支持期
(4)左足が接地した両脚支持期
【0046】
脚式移動ロボット100における歩行制御は、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行なうことによって実現される。すなわち、両脚支持期では、下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。
【0047】
歩行動作の軌道修正を始めとして、機体の姿勢安定制御には、一般に、ZMPに対する偏差を小さくするための位置、速度、及び加速度が連続となるように、5次多項式を用いた補間計算により行なう。ZMP(Zero Moment Point)を歩行の安定度判別の規範として用いている。ZMPによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。力学的推論の帰結として、足底接地点と路面の形成する支持多角形(すなわちZMP安定領域)の辺上あるいはその内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわち「ZMP(Zero Moment Point)」が存在する。本実施形態に係る脚式移動ロボットは、腰部付近に装置全体の重心位置が設定されている。したがって、腰部は姿勢安定制御を行なうための重要の制御対象店であり、ロボットの「基体」を構成する。
【0048】
図3には、この脚式移動ロボット100が具備する関節自由度構成を模式的に示している。同図に示すように、脚式移動ロボット100は、2本の腕部と頭部1を含む上肢と、移動動作を実現する2本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成された、複数の肢を備えた構造体である。
【0049】
頭部を支持する首関節(Neck)は、首関節ヨー軸1と、第1及び第2の首関節ピッチ軸2a,2bと、首関節ロール軸3という3自由度を有している。
【0050】
また、各腕部は、その自由度として、肩(Shoulder)における肩関節ピッチ軸4と、肩関節ロール軸5と、上腕ヨー軸6、肘(Elbow)における肘関節ピッチ軸7と、手首(Wrist)における手首関節ヨー軸8と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
【0051】
また、体幹部(Trunk)は、体幹ピッチ軸9と、体幹ロール軸10という2自由度を有する。
【0052】
また、下肢を構成する各々の脚部は、股関節(Hip)における股関節ヨー軸11と、股関節ピッチ軸12と、股関節ロール軸13と、膝(Knee)における膝関節ピッチ軸14と、足首(Ankle)における足首関節ピッチ軸15と、足首関節ロール軸16と、足部とで構成される。
【0053】
但し、エンターティンメント向けの脚式移動ロボット100が上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計・製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【0054】
上述したような脚式移動ロボット100が持つ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行なうことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。本実施形態では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ACサーボ・アクチュエータを搭載することとした(この種のACサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開2000−299970号公報に開示されている)。本実施形態では、直結ギアとして低減速ギアを採用することにより、人間との物理的インタラクションを重視するタイプのロボット100に求められている駆動系自身の受動的特性を得ている。
【0055】
図4には、本発明の実施に供されるロボット装置100の機能構成を模式的に示している。同図に示すように、ロボット装置100は、全体の動作の統括的制御やその他のデータ処理を行なう制御ユニット120と、入出力部140と、駆動部150と、電源部160とで構成される。以下、各部について説明する。
【0056】
入出力部140は、入力部としてロボット装置1の目に相当するCCDカメラ115や、耳に相当するマイクロフォン116、頭部や背中などの部位に配設されてユーザの接触を感知するタッチ・センサ118、あるいは五感に相当するその他の各種のセンサを含む。また、出力部として、口に相当するスピーカ117、あるいは点滅の組み合わせや点灯のタイミングにより顔の表情を形成するLEDインジケータ(目ランプ)119などを装備している。これら出力部は、音声やランプの点滅など、脚などによる機械運動パターン以外の形式でもロボット装置1からのユーザ・フィードバックを表現することができる。
【0057】
駆動部150は、制御部120が指令する所定の運動パターンに従ってロボット装置100の機体動作を実現する機能ブロックであり、行動制御による制御対象である。駆動部150は、ロボット装置100の各関節における自由度を実現するための機能モジュールであり、それぞれの関節におけるロール、ピッチ、ヨーなど関節軸毎に設けられた複数の駆動ユニットで構成される。各駆動ユニットは、所定軸回りの回転動作を行なうモータ151と、モータ151の回転位置を検出するエンコーダ152と、エンコーダ152の出力に基づいてモータ151の回転位置や回転速度を適応的に制御するドライバ153の組み合わせで構成される。
【0058】
駆動ユニットの組み合わせ方によって、ロボット装置100を例えば図2〜3に示したような2足歩行の脚式移動ロボット、あるいは又は4足歩行ロボットなどとして構成することができる。
【0059】
電源部160は、その字義通り、ロボット装置100内の各電気回路などに対して給電を行なう機能モジュールである。本実施形態に係るロボット装置100は、バッテリを用いた自律駆動式であり、電源部160は、充電バッテリ161と、充電バッテリ161の充放電状態を管理する充放電制御部162とで構成される。
【0060】
充電バッテリ161は、例えば、複数本のリチウムイオン2次電池セルをカートリッジ式にパッケージ化した「バッテリ・パック」の形態で構成される。
【0061】
また、充放電制御部162は、バッテリ161の端子電圧や充電/放電電流量、バッテリ161の周囲温度などを測定することでバッテリ161の残存容量を把握し、充電の開始時期や終了時期などを決定する。充放電制御部162が決定する充電の開始及び終了時期は制御ユニット120に通知され、ロボット装置100が充電オペレーションを開始及び終了するためのトリガとなる。
【0062】
制御ユニット120は、「頭脳」に相当し、例えばロボット装置1の機体頭部あるいは胴体部に搭載されている。
【0063】
図5には、制御ユニット120の構成をさらに詳細に図解している。同図に示すように、制御ユニット120は、メイン・コントローラとしてのCPU(Central Processing Unit)121が、メモリやその他の各回路コンポーネントや周辺機器とバス接続された構成となっている。バス127は、データ・バス、アドレス・バス、コントロール・バスなどを含む共通信号伝送路である。バス127上の各装置にはそれぞれに固有のアドレス(メモリ・アドレス又はI/Oアドレス)が割り当てられている。CPU121は、アドレスを指定することによってバス128上の特定の装置と通信することができる。
【0064】
RAM(Random Access Memory)122は、DRAM(Dynamic RAM)などの揮発性メモリで構成された書き込み可能メモリであり、CPU121が実行するプログラム・コードをロードしたり、実行プログラムによる作業データの一時的な保存したりするために使用される。
【0065】
ROM(Read Only Memory)123は、プログラムやデータを恒久的に格納する読み出し専用メモリである。ROM123に格納されるプログラム・コードには、ロボット装置100の電源投入時に実行する自己診断テスト・プログラムや、ロボット装置100の動作を規定する動作制御プログラムなどが挙げられる。
【0066】
ロボット装置100の制御プログラムには、カメラ115やマイクロフォン116などのセンサ入力を処理してシンボルとして認識する「センサ入力・認識処理プログラム」、短期記憶や長期記憶などの記憶動作(後述)を司りながらセンサ入力と所定の行動制御モデルとに基づいてロボット装置100の行動を制御する「行動制御プログラム」、行動制御モデルに従って各関節モータの駆動やスピーカ117の音声出力などを制御する「駆動制御プログラム」、ストリーミング配信されるモーション・データを受信処理並びに再生処理する「ストリーミング・データ再生プログラム」などが含まれる。
【0067】
不揮発性メモリ124は、例えばEEPROM(Electrically Erasable and Programmable ROM)のように電気的に消去再書き込みが可能なメモリ素子で構成され、逐次更新すべきデータを不揮発的に保持するために使用される。逐次更新すべきデータには、暗号鍵やその他のセキュリティ情報、出荷後にインストールすべき装置制御プログラムなどが挙げられる。
【0068】
インターフェース125は、制御ユニット120外の機器と相互接続し、データ交換を可能にするための装置である。インターフェース125は、例えば、カメラ115やマイクロフォン116、スピーカ117との間でデータ入出力を行なう。また、インターフェース125は、駆動部150内の各ドライバ153−1…との間でデータやコマンドの入出力を行なう。
【0069】
また、インターフェース125は、RS(Recommended Standard)−232Cなどのシリアル・インターフェース、IEEE(Institute of Electrical and electronics Engineers)1284などのパラレル・インターフェース、USB(Universal Serial Bus)インターフェース、i−Link(IEEE1394)インターフェース、SCSI(Small Computer System Interface)インターフェース、PCカードやメモリ・スティックを受容するメモリ・カード・インターフェース(カード・スロット)などのような、コンピュータの周辺機器接続用の汎用インターフェースを備え、ローカル接続又はインターネット接続された外部機器(サーバ)との間でプログラムやデータの移動を行なうようにしてもよい。
【0070】
また、インターフェース125の他の例として、赤外線通信(IrDA)インターフェースを備え、外部機器と無線通信を行なうようにしてもよい。
【0071】
さらに、制御ユニット120は、無線通信インターフェース26やネットワーク・インターフェース・カード(NIC)127などを含み、Bluetoothのような近接無線データ通信や、IEEE 802.11bのような無線ネットワーク、あるいはインターネットなどの広域ネットワークを経由して、外部のさまざまなホスト・コンピュータとデータ通信を行なうことができる。
【0072】
このようなロボット装置100とホスト・コンピュータ間におけるデータ通信により、遠隔のコンピュータ資源を用いて、ロボット装置1の複雑な動作制御を演算したり、リモート・コントロールしたりすることができる。
【0073】
後述するように、本実施形態に係るロボットは、ネットワーク接続して、インターネット上の所定のWebサービス・サイトからダンス・シーケンスなどのモーション・データやその他の配信コンテンツを、ストリーミングあるいはその他の形式でダウンロードする。このため、ロボット側のプラットフォームは以下の構成要素を装備している。
【0074】
▲1▼ネットワークに接続するための無線LAN
▲2▼SOAP(Simple Object Access Protocol)エンベロープに情報を組み込んだり受け取った情報を抽出したりするSOAP/XMLモジュール
▲3▼HTTP(Hyper Text Transfer Protocol)でSOAPなどを通信するためのHTTPモジュール
▲4▼通信を統制するソフトウェア・モジュール
▲5▼ダンスを実行する姿勢制御のためのモーション・コントロール・モジュール
▲6▼ユーザとの対話を行なう音声入出力モジュール
【0075】
また、Webサービス側では以下の構成要素を装備している。
【0076】
▲1▼SOAPエンベロープに情報を組み込んだり受け取った情報を抽出したりするSOAP/XMLモジュール
▲2▼HTTPでSOAPなどを通信するためのHTTPモジュール
▲3▼ダンス・シーケンスなど複数のコンテンツ
▲4▼コンテンツのリスト
【0077】
B.ロボット向けモーション・データのストリーミング
本実施形態に係るロボットは、スタティック・モーションの再生機構を持ち、ロボット内部の制御周期毎にモーション記述内容に応じて各関節の各種指令値を対応するデバイスに与えることができるシステムである。また、ロボット自身がネットワークへの接続機能を備えている。
【0078】
B−1.モーション・データの規定
この項では、ロボットの各関節角度値やゲイン値、指先や足運びなどのポジション・データといった各指令値(以下、trajectoryと呼ぶ)をストリーミングする際のフォーマットに関して述べる。
【0079】
ストリーミングに使用するフォーマットとして重要な点は、ファイル・サイズを小さくし転送量を抑えること、また、時系列にデータを送信する必要があることから、それに準じた形式であること、キーフレームなどを設定可能であることなどが挙げられる。
【0080】
以下の説明では、簡単な例として、右腕の肘ピッチ軸と方ヨー軸を動かすモーションを取り上げる。図6に示すように、肘と肩を同時に動かすモーションを考える。
【0081】
図6に示すモーションを規定するモーション・データは、図7に示すようなコントロール・ポイントにおいて、スプライン端点及び中間点を持つように作成される。各コントロール・ポイントのデータを用いて補間を行なった結果、各関節の角度指令値は、図8のグラフのような遷移となる。
【0082】
このように、ロボットのモーションに関しては、制御周期毎に手作業で各関節角度を指示するのではなく、コントロール・ポイント毎に目標値を設定する作成法が一般的である。以下に、このモーションをストリーミングすることを検証してみる。
【0083】
まず、単純に図7に示したコントロール・ポイントを時刻順に並べてデータを送受信し(図9を参照のこと)、モーション再生時にロボット側において各コントロール・ポイント間を補間する形式を取り上げる。
【0084】
図示の形式では、コントロール・ポイントの位置は必要最低限でよいので、転送するデータ量は非常に少なくて済むが、データ中にスプライン中間点が混ざった場合には前後を含む合計3点のコントロール・ポイントを必要とする。このため、再生処理が煩雑になってしまう。
【0085】
次に、図10に示すようなRaw Data形式について考察してみる。これは、制御周期毎の各関節角度などのtrajectoryを時系列的に配置した構造となっており、ロボットの制御周期毎に各関節やそのゲイン値などデータ中の補間式を展開することにより得られる。この形式では、時系列にデータが割り出されるので、ストリーミングを行ない易い構造になっている。しかし、転送するデータ量が膨大になってしまい、ロボットとサーバ間のネットワークが細い場合には、すぐにデータが途切れてしまう。
【0086】
モーション・データ・フォーマットでは、各制御対象毎のコントロール・ポイントが時系列に並んでいることは稀であり、各制御対象毎に独立したコントロール・ポイントが並んでいることが多い。これに対し、図11に示す例では、各制御対象に一定の周期でコントロール・ポイントを設定し、すべての関節のコントロール・ポイントを時間的に一致(同期)させる形式を採用している。この場合、各関節において、元のモーション・データではコントロール・ポイントが設定されていない周期では、スプラインなどの補間式を展開してtrajectoryを求めてコントロール・ポイントを追加していくことで、ストリーミング用のデータが作成される。
【0087】
図11に示す形式では、ストリーミングにも有用であるが、コントロール・ポイントの量が非常に増大する。また、同じ区間内で同じ補間式で補間するときに、新たに挿入したコントロール・ポイントの分だけ、再生時の各tragectoryにおいてデザインしたモーション・パターンよりも復元結果が若干変化してしまう可能性がある(すなわちモーションの同一性が保証されない)。
【0088】
次いで、図12に示すように、各制御対象において、コントロール・ポイント毎に角度ポジションと角速度を持ち、2点のコントロール・ポイントだけで高次スプライン補間ができる形式について考察してみる。
【0089】
この形式では、デザインしたモーション・パターンと補間結果との誤差は微小である。時系列で転送を行なうには、各関節順ではなく、時間的に早いコントロール・ポイントから随時指令値を転送していく方式を採用する。
【0090】
ここで、ある経過時間において、モーションを再生するために必要なすべてのコントロール・ポイントの指令値が、この経過時間に到達する以前に受信側のロボットに届いておくように送信する必要がある。図12に示す例では、モーション再生開始時には、肘と肩双方について最初のコントロール・ポイントについての指令値(▲1▼)が届いていなければならない。次いで、その次に時間的に早い肩のコントロール・ポイントの指令値(▲2▼)が転送され、以降、肘のコントロール・ポイントの指令値(▲3▼)、方のコントロール・ポイントの指令値(▲4▼)と続く。
【0091】
また、図12中で、0.0[sec]と4.0[sec]のときにはすべての関節の角速度が0[degree/sec]となっており、ロボットが静止している状態である。このようにすべてのtrajectoryにおいて指令値の変化が0となるフレームを、本実施形態では「キーフレーム」として設定する。キーフレームを設定しておくと、モーションの頭出しやプレビュー(後述)に利用することができ、有用である。
【0092】
図12に示すような形式のデータを実際に転送することを考察してみる。最初に、時系列転送実現のため、再生単位時間を1秒と設定し(この単位は任意に設定可とする)、サーバから1秒後までのデータを受信する。これは、受信側で1秒後までのデータが復元可能になることを意味する。そのためにはモーションの頭から1秒以降で最初のコントロール・ポイントのデータを受信している必要がある。
【0093】
図12に示すように、1秒後までのモーションを復元するには▲1▼の範囲まで、2秒後までを復元するには▲2▼の範囲まで、同様に▲3▼、▲4▼の範囲までをそれぞれ必要とする。
【0094】
また、ロボット・モーションのストリーミングを全身において実行するには、上述したようなシーケンスをtrajectory毎のマルチストリームとして扱う必要がある。よって、サーバ側から送信するデータ列は必ずしも時系列順ではなく、trajectory毎のコントロール・ポイントの粗密により順序が変更される。図12に示す例では、図13に示すようなデータ順でデータ送出される。送受信に関する詳細なシーケンスについては後述に譲る。
【0095】
図14には、ストリーミング・フォーマットの詳細を示している。同図に示すように、フォーマットは、ストリーミング処理用の情報を記述したヘッダ部と、データ領域で構成される。
【0096】
ヘッダ部は、Header sizeと、versionと、featureと、対応ロボット判別情報と、有効時間情報と、キーフレームと、使用するデータ種別と、関節別データ不足時の対処方法で構成される。
【0097】
Header sizeは、ヘッダのバイト数を格納する。受信側でヘッダとデータ領域の切り分けに利用する。
【0098】
versionは、バージョン情報を格納する。ロボット側がこのストリーミング・フォーマットに対応しているかどうかを判別するために用いる。
【0099】
featureは、モーションの特徴(ダンス・モーション、挨拶、歩行パフォーマンスなど)を格納する。featureによって、ロボット側の受信モジュール内で再生の挙動を変更するために用いる。用途としては、ダンスなら、データが途切れたら即時中止、挨拶なら次にデータが揃った時点で再度再生開始などである。
【0100】
対応ロボット判別情報は、対象とするロボット情報を格納する。データ中に2足歩行用のステップ・データが含まれている場合には、2足歩行ロボット用などその旨の情報が格納される。対応していないロボットでは、そのデータを無視するか、ストリーミングを中止する必要がある。
【0101】
有効時間情報は、1フレーム当たりの時間、及びモーションの遅延時間を格納する。
【0102】
キーフレーム情報は、キーフレームの個数、時刻、プレビュー時のキーフレームを格納する。プレビューに使用するキーフレームに関しては、モーション作成時に指定するか、モーションを各キーフレーム間で周波数分析し、最も高周波な早い動きをしているキーフレームを選定する(さびの部分を検索する)といった方法がある。
【0103】
使用するデータ種別は、モーション内に内包するすべてのtrajectoryの種別(例えば、肘のピッチ軸、頭のヨー軸のPゲイン、指先位置、歩容パラメータなど)とその1データ当たりのサイズを格納する。
【0104】
関節別データ不足時の対処方法は、各trajectory毎のデータ欠損時の対処種別を格納する。例えば、指などのトルク又は力の低いアクチュエータのためのデータなら指令値が欠損しても無視して再生を続けるといった処理を記述する。
【0105】
一方、データ領域は、frameと、Sizeと、trajectory識別子と、interpolatorと、dataで構成される。
【0106】
frameは、先頭のフレームを0と刷るフレーム番号を格納する。ロボット側では、ヘッダ内の1フレームあたりの時間から現在のモーション時間を算出して使用する。
【0107】
Sizeは、同フレーム内に存在するコントロール・ポイントのサイズを示す。
【0108】
trajectory識別子は、trajectoryの種別(○○関節の○○軸、足先位置、指先位置など)を示す識別子である。
【0109】
interpolatorは、前のコントロール・ポイントとの間をどのような補間方式を用いるかを示す。代表的なものに、スプライン補間や線形補間、STEPなどを挙げることができる。
【0110】
dataは、同フレームでの位置(角度)と速度(角速度)を格納する。
【0111】
同じフレーム内で多数のコントロール・ポイントが存在する場合には、そのサイズ分だけ、trajectory識別子〜dataまでの情報が繰り返し格納される。
【0112】
B−2.モーション・データのストリーミング
図15には、図14に示したストリーミング・フォーマットを持つロボットのモーション・データを送信するサーバ側における送信処理手順をフローチャートの形式で示している。
【0113】
サーバを起動させた後(ステップS1)、クライアント(この場合はロボット)からの接続待機に移行する(ステップS2)。
【0114】
そして、ロボット側からの接続を受理すると(ステップS3)、ロボットとのコネクションを設立する(ステップS4)。その後、ストリーミング・データの送信依頼の待機状態に入る(ステップS5)。
【0115】
ロボット側からの送信依頼を受理したら、指定されたモーション・ファイルを読み出し、ヘッダを送信する(ステップS6)。
【0116】
そして、データの送信依頼の有無をチェックし(ステップS7)、なければステップS9へ進む。
【0117】
ロボットからのデータの送信依頼がある場合には、指定された範囲のデータ復元に必要とするデータを読み出し、ロボット側に送信し(ステップS8)、ステップS7に戻る。
【0118】
ステップS9では、接続解除要求をチェックする。接続解除要求がなければステップS7へ進み、ストリーミング・データの送信処理を継続して行なう。
【0119】
また、接続解除要求があれば、ロボットとの接続を解除し(ステップS10)、ステップS2の接続待機状態へ戻る。
【0120】
また、図16には、図14に示したストリーミング・フォーマットを持つロボットのモーション・データを受信するロボット側における受信処理手順をフローチャートの形式で示している。
【0121】
ユーザからストリーミング要求が入力されると(ステップS11)、指定されたサーバに接続要求を行なう(ステップS12)。
【0122】
サーバと接続されたら、ストリーミング対象モーションのファイル名を指定して、初期データ要求を送信する(ステップS13)。
【0123】
ヘッダ部分のデータをサーバ側から受信したら、ストリーミング対象モーションにロボットが対応しているかどうか、また、すべてのtrajectoryに関し初期位置への遷移は可能かどうかを判別する(ステップS14)。未対応のモーションならステップS13の終了処理へ進む。また、対応可能ならば、要求分のデータがすべてのtrajectoryに関し復元可能になるまでデータのバッファリングを続ける。
【0124】
次いで、セットする再生単位時間分のデータが蓄積されているかどうかを判別する(ステップS15)。蓄積されていたら次ステップS16へ進み、そうでなければステップS20へ進む。但し、初回なら必要分だけ蓄積されるまでステップS15内で待機する。
【0125】
すべてのtrajectoryのデータを再生単位時間分(初回のみ再生単位時間×2)だけ復元し、モーションの再生を開始する(ステップS16)。初回以外は、現在再生中のモーションが存在する筈なので、各trajectoryとも対応する最終位置にリンクさせて連続して再生されるように再生バッファにセットする。
【0126】
受信したデータがすべてのtrajectoryに化してファイル終了位置に達しているかどうかを判別する(ステップS17)。終了位置に到達しているならば、ステップS22へ進む。
【0127】
一方、終了位置に到達していないならば、サーバに対し次の再生単位時間分のデータ要求を送信する(ステップS18)。
【0128】
ステップS19では、モーション再生が単位時間分終了するのを待ち、ステップS15へ戻る。
【0129】
ステップS20では、次にセットする再生単位時間分のデータが蓄積されていない、すなわち、ストリーミング・データの途切れが発生したことに応答して、サーバに中止依頼を送信し、受信処理を停止する。
【0130】
最後に、送信した各trajectoryのデータ速度がゆっくりと0になるような軌道をすべてのtrajectoryに関し生成し、再生バッファに送る(ステップS21)。これによって、急停止により関節アクチュエータに過大な負荷がかかるのを防止することができる。
【0131】
ステップS22では、再生バッファに送った最後のデータまで再生が終了するのを待つ。
【0132】
ステップS23では、サーバとの接続を解除する。
【0133】
B−3.変形例
図12に示したようなモーション・データのフォーマットによれば、ストリーミング方式との親和性がよい。すなわち、時系列で転送を行なうには、各関節順ではなく、時間的に早いコントロール・ポイントから随時指令値を転送していくようにすることで、ある経過時間において、モーションを再生するために必要なすべてのコントロール・ポイントの指令値が、この経過時間に到達する以前に受信側のロボットに届いておくように送信することができる。
【0134】
しかしながら、実時間でデータ通信できるような枠組みが与えられているが、配送の保証、順番違いの保証がなされている訳ではなく、データの抜けや遅延の危険性が常につきまとう。
【0135】
そこで、本発明者らは、ネットワークからのストリーミング再生のモーション・データに安全な姿勢へ遷移することができるデータをあらかじめ付け加えておく、という方法を提案する。この方法によれば、パケットが届かなかったり、遅延があったりした場合には付加的に加えられたデータを基に、ロボットを安全に停止することができる。
【0136】
既に述べたように、ロボットのモーション・データは、各制御対象毎の指令値からなるコントロール・ポイントが時系列的に配列されて構成される。ここで、コントロール・ポイントの中には、停止しても機体の安定性が保証されている安定姿勢を設定するコントロール・ポイント(以下では、「停止ポイント」とも呼ぶ)が含まれている。モーション・データのメイン・ストリーム(本線)となるコントロール・ポイントの列に対し、部分的に停止ポイントをサブストリーム(支線)として挿入しておく。そして、通常のコントロール・ポイントを再生している最中にデータが途切れると、停止ポイントまで遷移してからロボットを安全に停止させる。
【0137】
データの送信側(若しくはストリーム・データの生成装置)では、元のデータ・ストリームを、少なくとも1つの停止ポイントを含むように区切って、送信データを生成する。通常、受信側が持つ受信バッファ・サイズに合せて送信データ・サイズが決まるが、モーション・データのメイン・ストリーム(本線)上で停止ポイントが含まれるように、モーション・データを分割していく。また、モーション・データの本線上のちょうど良い時間的位置に停止ポイントが見当たらない場合には、停止ポイントでない通常のコントロール・ポイントに停止ポイントへ向かうサブストリーム(支線)を挿入する。
【0138】
図17には、元のモーション・データからストリーム配信用のデータ・フォーマットを生成する様子を示している。同図に示す例では、○が通常のコントロール・ポイントを、◎が停止ポイントを表している。同図(a)に示すように、モーション・データ自体は、通常のコントロール・ポイントと、停止ポイントとなるコントロール・ポイントが混在して、時系列的な配列で構成される。但し、図示の例では、図面の簡素化のため、通常のコントロール・ポイントの個数を間引いて描いている。
【0139】
モーション・データを受信側が持つ受信バッファ・サイズに合せて順次分割していくことによって、送信データが生成される。図17(a)に示す例では、分割後のデータ・ブロック1、データ・ブロック4、及びデータ・ブロック5において停止ポイントが含まれない。
【0140】
このような場合、図17(b)に示すように、データ・ブロック1、データ・ブロック4、及びデータ・ブロック5のそれぞれにおいて、データ・ブロック中の最後のコントロール・ポイントから移行することができる停止ポイントを生成するとともに、最後のコントロール・ポイントにこの停止ポイントへ向かう支線を付け加える。すなわち、停止ポイントのないデータ・ストリームから、本来のデータ・ストリームへ向かうパスと、安全な静止姿勢へ向かうパスとの分岐ができる(図18を参照のこと)。また、本線よりも支線が長くなる場合もある(図19を参照のこと)。
【0141】
この結果、すべての送信データ・ブロックにおいて停止ポイントが含まれることが保証される。したがって、このモーション・データをネットワーク経由でストリーミング再生を行なう場合、データ受信側では、バッファリングを行ないながら再生するが、この際、受信バッファ中に常に到達可能な停止ポイントがあるように再生の分岐を行ない、いつデータ受信が途切れても安全に停止できることを保証する。
【0142】
図20〜23には、各制御対象毎の指令値からなるコントロール・ポイントが時系列的に配列されてなる本線に対し、通常のコントロール・ポイントから停止ポイントへ向かう支線が挿入されてなるデータ・ストリームを再生処理する様子を示している。但し、図示の例では、図面の簡素化のため、通常のコントロール・ポイントの個数を間引いて描いている。
【0143】
図20に示す例では、モーション・データの本線がコントロール・ポイントP1、…、P2、…、P3、…、P4、…、P5…で構成され、このうちP1とP4が停止ポイントであるとする。また、通常のコントロール・ポイントP2とP3には、移行可能な停止ポイント(図示しない)へ向かう支線が付け加えられている。
【0144】
ここで、コントロール・ポイントP1〜P4のデータを成功裏に受信し、受信バッファ中に蓄積しているが、コントロール・ポイントP5のデータが消失又は遅延、再送などにより途切れてしまったとする。この場合、本線上の停止ポイントP4が受信バッファ内にあるので、コントロール・ポイントP1〜P4までデータ再生を継続することができる。また、コントロール・ポイントP4まで再生処理が進む間に、コントロール・ポイントP5以降のデータが再送され無事に受信することができている場合には、そのままデータ再生を継続することができる。
【0145】
また、図21に示す例では、モーション・データの本線がコントロール・ポイントP11、…、P12、…、P13、…、P14、…、P15…で構成され、このうちP11とP15が停止ポイントであるとする。また、通常のコントロール・ポイントP12には、移行可能な停止ポイントP12Aへ向かう支線が付け加えられている。
【0146】
ここで、コントロール・ポイントP11〜P13のデータを成功裏に受信し、受信バッファ中に蓄積しているが、コントロール・ポイントP14のデータが消失又は遅延、再送などにより途切れてしまったとする。この場合、モーション・データの本線上でデータ再生を続行していると、P13まで進んだ時点でロボットの動作が破綻してしまい、転倒やその他の不測・致命的な事態を招来しかねない。そこで、支線上の停止ポイントP12Aを見つけ出し、コントロール・ポイントP12から本線上の次のコントロール・ポイントP13ではなく支線上の停止ポイントP12Aへと分岐を行ない、再生を継続して、いつデータ受信が途切れても安全に停止できることを保証する。また、再生を継続中に、併せて再送要求を行なう。
【0147】
また、図22に示す例では、モーション・データの本線がコントロール・ポイントP21、…、P22、…、P23、…、P24、…、P25…で構成され、このうちP21とP25が停止ポイントであるとする。また、通常のコントロール・ポイントP12には、コントロール・ポイントP22Aへ向かう支線が付け加えられている。
【0148】
ここで、コントロール・ポイントP21〜P23のデータを成功裏に受信し、受信バッファ中に蓄積しているが、本線上のコントロール・ポイントP24並びに支線上のコントロール・ポイントP22Aのデータが消失又は遅延、再送などにより途切れてしまったとする。この場合、P23まで進んだ時点でロボットの動作が破綻してしまい、転倒やその他の不測・致命的な事態を招来しかねない。また、支線上の停止ポイントへ移行することもできない。そこで、受信バッファ中に蓄積されている最後の停止ポイントはP21となるので、P21にてデータ再生を停止して、安全に停止できることを保証する。また、再生を継続中に、併せて再送要求を行なう。
【0149】
また、図23に示す例では、モーション・データの本線がコントロール・ポイントP31、…、P32、…、P33、…、P34、…で構成され、このうちP34が停止ポイントであるとする。また、通常のコントロール・ポイントP31並びにP32には、コントロール・ポイントP31A又はP32Aへ向かう支線がそれぞれ付け加えられている。
【0150】
ここで、コントロール・ポイントP31〜P32のデータを成功裏に受信し、受信バッファ中に蓄積しているが、本線上のコントロール・ポイントP33並びに支線上のコントロール・ポイントP32Aのデータが消失又は遅延、再送などにより途切れてしまったとする。この場合、P32まで進んだ時点でロボットの動作が破綻してしまい、転倒やその他の不測・致命的な事態を招来しかねない。また、支線を経由して停止ポイントP32Aへ移行することもできない。そこで、支線上の停止ポイントP31Aを見つけ出し、コントロール・ポイントP31から本線上の次のコントロール・ポイントP32ではなく支線上の停止ポイントP31Aへと分岐を行ない、再生を継続して、いつデータ受信が途切れても安全に停止できることを保証する。また、再生を継続中に、併せて再送要求を行なう。
【0151】
C.応用例
(1)バッファリング時間について
ストリーミングのためのバッファリングに必要な秒数はファイル・フォーマット側では規定していない。上述した受信処理(図16を参照のこと)では、便宜的に再生開始には再生単位時間×2だけのデータを必要としたが、サーバとのネットワーク状況がよくない場合には、バッファリング時間を増やすことによりモーションの中断を抑えることができる。これは、ロボット側の受信モジュールの実装に依存する。
【0152】
また、上述した本発明の実施形態では、一定の再生単位時間でモーションのデータの送受信を記述したが、キーフレーム単位でデータの送受信及び再生を行なうことにより、データ欠損時には必ずロボットの速度が0となる状態で再生することができるので、安全なストリーミングを実現することができる。この手法は、安全性の低いロボットに関して特に有効である。
【0153】
(2)再生方法について
上述した本発明の実施形態では、便宜的に関節角度を主なモーション内のデータとして説明したが、これに限定されず、歩容パラメータであったりある部位における3次元位置であったり各関節のゲイン値であったりと、さまざまなデータをモーション内のデータとして記述することができる。そのためには、受信モジュールがそのデータの意味を知っている必要がある。その点は、ヘッダ読み込み時に受信モジュール側でネゴシエーションなどを行なう必要がある。
【0154】
(3)データ欠損時の対処
図14を参照しながら既に説明したように、データ欠損時にも何のデータが欠損したかによってモーションの再生を中断したりデータが揃うまで待ったりといった具合に動作に変化を持たせることができる。また、ある時間までのデータをサーバに要求した際に、欠落しては困るtrajectoryから優先的にデータ送信を行なうような仕組みを採用することにより、より安定したストリーミングを可能とすることができる。
【0155】
(4)キーフレームの増やし方
キーフレームはすべての制御対象の指令値が0になる、すなわちロボットの動作が停止している時間と定義したが、低出力の関節アクチュエータや自動でその後に安定状態に移行することができる機能を持つ部位であれば、動作が定位していなくてもキーフレームに設定することが可能である。キーフレームを増やすことにより、より安定なモーション再生を行なうことができる。
【0156】
(5)モーションのプレビュー機能について
例えば、モーション・データがロボットのダンスに関するものであったとする。ダンスには名前が付けられているが、ユーザは名前だけではどういった内容のダンスかを判断することができない。そこで、最初の部分だけを再生して内容確認を行なうということが考えられる。しかしながら、制御対象毎にコントロール・ポイントが時間軸上で区々の位置に設定されている場合には、ダンス・シーケンスの任意の区間を再生することができない。つまり、プレビューすることができない。
【0157】
そこで、モーション・データに上述したキーフレームを導入する。キーフレームでは、以下の条件が満足される。
【0158】
▲1▼すべての関節アクチュエータの角速度が0になる(又は非常に小さい値となる)。
▲2▼ロボット本体が安定に停止できる姿勢になる。
【0159】
このようなキーフレームに挟まれた任意の動作シーケンスによれば、安定姿勢から安定姿勢へ遷移するように運動を行なうので、安全にモーションを再生することができる。
【0160】
例えばダンスのプレビューは、ダンス・シーケンスの先頭からダンスと中のキーフレームまでの区間を再生することで実現する。これにより、完全に作品となっているダンスの先頭部分のみを再生して停止したり、音楽と合わせて提供されるダンスにおいて、曲のさびの部分に対応する部分のみを再生したりすることができる。
【0161】
本実施形態に係るロボットは、インターネット上の所定のWebサービス・サイトからダンス・シーケンスなどのモーション・データをストリーミング再生するため、そのプラットフォームは以下の構成要素を装備している。
【0162】
▲1▼ネットワークに接続するための無線LAN
▲2▼SOAP(Simple Object Access Protocol)エンベロープに情報を組み込んだり受け取った情報を抽出したりするSOAP/XMLモジュール
▲3▼HTTP(Hyper Text Transfer Protocol)でSOAPなどを通信するためのHTTPモジュール
▲4▼通信を統制するソフトウェア・モジュール
▲5▼ダンスを実行する姿勢制御のためのモーション・コントロール・モジュール
▲6▼ユーザとの対話を行なう音声入出力モジュール
【0163】
また、Webサービス側では以下の構成要素を装備している。
【0164】
▲1▼SOAPエンベロープに情報を組み込んだり受け取った情報を抽出したりするSOAP/XMLモジュール
▲2▼HTTPでSOAPなどを通信するためのHTTPモジュール
▲3▼ダンス・シーケンスなど複数のコンテンツ
▲4▼コンテンツのリスト
【0165】
ロボットは、ユーザの音声命令などを受け取ると、提供され得るダンス・コンテンツをSOAPで問い合わせする。Webサービス側では、その要求に従って、ダンス・コンテンツのリストを返す。ロボットは、受け取ったリストに従って内容物(コンテンツ・ファイル)を要求し、それを受け取る。このとき、受け取るものは、フルサイズのダンス・シーケンスである。但し、ユーザはロボットにプレビューを行なうよう命令すると、ロボットはダンスの先頭又はさびの部分のみを再生して、安全に停止する。
【0166】
モーション全体を再生したいのではなく、一部のみを再生したい場合には、受信モジュール側でヘッダから読み込んだプレビュー用のキーフレームを指定してサーバからデータを読み込むことにより、プレビューに適した範囲のみのモーション・データを取得することができる。これは、ロボットのユーザに好みのモーションを選択させる場合などに非常に有効な機能となる。
【0167】
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【0168】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置あるいはその他一般的な移動体装置、あるいはこれら装置の動作を記述したデータを演算処理するデータ処理システムであるならば、例えば玩具などのような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【0169】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0170】
【発明の効果】
以上詳記したように、本発明によれば、ストリーミング技術を利用してロボットのモーション・データを逐次読み込み実行することができる、優れたデータ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置を提供することができる。
【0171】
また、本発明によれば、ロボットの動作の安定性とデータが途切れたときのロボットの動作を保証しながらモーション・データをストリーミング再生することができる、優れたデータ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置を提供することができる。
【0172】
本発明によれば、ロボット向けのモーション・データを、アクチュエータへの負荷とロボットの安定状態に配慮した形で、ストリーミングを実現することができる。
【0173】
また、本発明によれば、ストリーミング時の転送量を非常に小さく抑えることができる。また、データ欠損時にはロボットを安全に停止させることができる。また、ロボットの形態への依存度の低いモーション・ストリーミングを行なうことができる。また、モーションのさびの部分だけをプレビュー再生するといった機能を同じモーション・データを用いて行なうことができる。
【図面の簡単な説明】
【図1】本発明の実施に供される脚式移動ロボットが直立している様子を前方から眺望した様子を示した図である。
【図2】本発明の実施に供される脚式移動ロボットが直立している様子を後方から眺望した様子を示した図である。
【図3】脚式移動ロボットが具備する関節自由度構成を模式的に示した図である。
【図4】本発明の実施に供されるロボット装置100の機能構成を模式的に示した図である。
【図5】制御ユニット120の構成をさらに詳細に示した図である。
【図6】肘と肩を同時に動かすモーションを示した図である。
【図7】コントロール・ポイントにおいて、スプライン端点及び中間点を持つように作成されたモーション・データを示した図である。
【図8】各コントロール・ポイントのデータを用いて補間を行なった結果の各関節の角度指令値の遷移を示したグラフである。
【図9】コントロール・ポイントを時刻順に並べてデータを送受信するストリーミング・データの形式を示した図である。
【図10】Raw Data形式のストリーミング・データの構造を示した図である。
【図11】各制御対象に一定の周期でコントロール・ポイントを設定し、すべての関節のコントロール・ポイントを時間的に一致させる形式を示した図である。
【図12】各制御対象において、コントロール・ポイント毎に角度ポジションと角速度を持ち、2点のコントロール・ポイントだけで高次スプライン補間ができる形式を示した図である。
【図13】図12に示したデータにおいて送出されるデータの順を示した図である。
【図14】ストリーミング・フォーマットの詳細を示した図である。
【図15】図14に示したストリーミング・フォーマットを持つロボットのモーション・データを送信するサーバ側における送信処理手順を示したフローチャートである。
【図16】図14に示したストリーミング・フォーマットを持つロボットのモーション・データを受信するロボット側における受信処理手順を示したフローチャートである。
【図17】元のモーション・データからストリーム配信用のデータ・フォーマットを生成する方法を説明するための図である。
【図18】元のモーション・データからストリーム配信用のデータ・フォーマットを生成する方法を説明するための図である。
【図19】元のモーション・データからストリーム配信用のデータ・フォーマットを生成する方法を説明するための図である。
【図20】各制御対象毎の指令値からなるコントロール・ポイントが時系列的に配列されてなる本線に対し、通常のコントロール・ポイントから停止ポイントへ向かう支線が挿入されてなるデータ・ストリームの再生処理方法を説明するための図である。
【図21】データ・ストリームの再生処理方法を説明するための図である。
【図22】データ・ストリームの再生処理方法を説明するための図である。
【図23】データ・ストリームの再生処理方法を説明するための図である。
【符号の説明】
1…首関節ヨー軸
2A…第1の首関節ピッチ軸
2B…第2の首関節(頭)ピッチ軸
3…首関節ロール軸
4…肩関節ピッチ軸
5…肩関節ロール軸
6…上腕ヨー軸
7…肘関節ピッチ軸
8…手首関節ヨー軸
9…体幹ピッチ軸
10…体幹ロール軸
11…股関節ヨー軸
12…股関節ピッチ軸
13…股関節ロール軸
14…膝関節ピッチ軸
15…足首関節ピッチ軸
16…足首関節ロール軸
115…CCDカメラ
116…マイクロフォン
117…スピーカ
118…タッチ・センサ
119…LEDインジケータ
120…制御部
121…CPU
122…RAM
123…ROM
124…不揮発メモリ
125…インターフェース
126…無線通信インターフェース
127…ネットワーク・インターフェース・カード
128…バス
129…キーボード
140…入出力部
150…駆動部
151…モータ
152…エンコーダ
153…ドライバ

Claims (27)

  1. 基体と前記基体に接続される複数の可動部を備えたロボット装置のためのモーション・データを提供するデータ提供装置であって、
    元のモーション・データは、各制御対象毎に時間軸上に区々の間隔でコントロール・ポイントが並び、コントロール・ポイントにおける指令値とコントロール・ポイント間の補間方法の記述で構成され、
    元のモーション・データを、各制御対象において、コントロール・ポイント毎に角度ポジションと角速度からなる指令値を持ち、2点のコントロール・ポイントだけで補間できる形式に変換するデータ変換手段と、
    時間的に早いコントロール・ポイントから随時指令値を提供するデータ提供手段と、
    を具備することを特徴とするデータ提供装置。
  2. 前記複数の可動部は、少なくとも上肢、下肢及び体幹部を含む、
    ことを特徴とする請求項1に記載のデータ提供装置。
  3. 前記のデータを提供する手段は、ある経過時間において、モーションを再生するために必要なすべてのコントロール・ポイントの指令値が、この経過時間に到達する以前に受信側に提供する、
    ことを特徴とする請求項1に記載のデータ提供装置。
  4. モーション・データは、すべての制御対象における指令値が0となるキーフレームを含み、
    前記のデータを提供する手段は、キーフレームで仕切られる単位でデータの提供を行なう、
    ことを特徴とする請求項1に記載のデータ提供装置。
  5. ある時間までのデータが要求されデータ提供先においてデータが欠損したことに応答して、欠落しては困る制御対象についての指令値から優先的にデータ送信を行なう手段をさらに備える、
    ことを特徴とする請求項1に記載のデータ提供装置。
  6. 基体と前記基体に接続される複数の可動部を備えたロボット装置のためのモーション・データを提供するデータ提供方法であって、
    元のモーション・データは、各制御対象毎に時間軸上に区々の間隔でコントロール・ポイントが並び、コントロール・ポイントにおける指令値とコントロール・ポイント間の補間方法の記述で構成され、
    元のモーション・データを、各制御対象において、コントロール・ポイント毎に角度ポジションと角速度からなる指令値を持ち、2点のコントロール・ポイントだけで補間できる形式に変換するデータ変換ステップと、
    時間的に早いコントロール・ポイントから随時指令値を提供するデータ提供ステップと、
    を具備することを特徴とするデータ提供方法。
  7. 前記複数の可動部は、少なくとも上肢、下肢及び体幹部を含む、
    ことを特徴とする請求項6に記載のデータ提供方法。
  8. 前記のデータを提供するステップでは、ある経過時間において、モーションを再生するために必要なすべてのコントロール・ポイントの指令値が、この経過時間に到達する以前に受信側に提供する、
    ことを特徴とする請求項6に記載のデータ提供方法。
  9. モーション・データは、すべての制御対象における指令値が0となるキーフレームを含み、
    前記のデータを提供するステップでは、キーフレームで仕切られる単位でデータの提供を行なう、
    ことを特徴とする請求項6に記載のデータ提供方法。
  10. ある時間までのデータが要求されデータ提供先においてデータが欠損したことに応答して、欠落しては困る制御対象についての指令値から優先的にデータ送信を行なうステップをさらに備える、
    ことを特徴とする請求項6に記載のデータ提供方法。
  11. 基体と前記基体に接続される複数の可動部を備え、モーション・データを外部装置から受信して再生するロボット装置であって、
    モーション・データは各制御対象において、コントロール・ポイント毎に角度ポジションと角速度からなる指令値を持ち、2点のコントロール・ポイントだけで補間できる形式であり、
    前記外部装置にデータを要求する手段と、
    要求分のデータを受信して前記ロボット装置のすべての制御対象の指令値に関し復元可能になるまで一時保存する手段と、
    再生時間単位分のデータが一時保存されたことに応答して、データを復元しモーションを再生する手段と、
    を具備することを特徴とするロボット装置。
  12. 前記複数の可動部は、少なくとも上肢、下肢及び体幹部を含む、
    ことを特徴とする請求項11に記載のロボット装置。
  13. モーションを再生するために必要な次のデータが途切れたことに応答して、速度不連続補正処理を実行する手段をさらに備える、
    ことを特徴とする請求項11に記載のロボット装置。
  14. モーション・データは、すべての制御対象における指令値が0となるキーフレームを含み、
    前記のデータを要求する手段及びモーションを再生する手段は、キーフレームで仕切られる単位でデータの受信及び再生を行なう、
    ことを特徴とする請求項11に記載のロボット装置。
  15. 受信したデータが欠損したことに応答した処理を行なう手段をさらに備える、ことを特徴とする請求項11に記載のロボット装置。
  16. 基体と前記基体に接続される複数の可動部を備え、モーション・データを外部装置から受信して再生するロボットのモーション再生方法であって、
    モーション・データは各制御対象において、コントロール・ポイント毎に角度ポジションと角速度からなる指令値を持ち、2点のコントロール・ポイントだけで補間できる形式であり、
    前記外部装置にデータを要求するステップと、
    要求分のデータを受信して前記ロボット装置のすべての制御対象の指令値に関し復元可能になるまで一時保存するステップと、
    再生時間単位分のデータが一時保存されたことに応答して、データを復元しモーションを再生するステップと、
    を具備することを特徴とするロボットのモーション再生方法。
  17. 前記複数の可動部は、少なくとも上肢、下肢及び体幹部を含む、
    ことを特徴とする請求項16に記載のロボットのモーション再生方法。
  18. モーションを再生するために必要な次のデータが途切れたことに応答して、速度不連続補正処理を実行するステップをさらに備える、
    ことを特徴とする請求項16に記載のロボットのモーション再生方法。
  19. モーション・データは、すべての制御対象における指令値が0となるキーフレームを含み、
    前記のデータを要求するステップ及びモーションを再生するステップでは、キーフレームで仕切られる単位でデータの受信及び再生を行なう、
    ことを特徴とする請求項16に記載のロボットのモーション再生方法。
  20. 受信したデータが欠損したことに応答した処理を行なうステップをさらに備える、
    ことを特徴とする請求項16に記載のロボットのモーション再生方法。
  21. ロボットのモーション・データを処理するデータ処理装置であって、
    ロボットのモーション・データは、各制御対象毎の指令値からなるコントロール・ポイントが時系列的に配列されてなる本線で構成され、一部のコントロール・ポイントはロボットが機体の安定性を保証して停止することができる停止ポイントであり、
    停止ポイントが含まれるようにモーション・データを所定サイズに分割して送信データを生成する、
    ことを特徴とするデータ処理装置。
  22. 所定サイズ内に停止ポイントがない場合には、該所定サイズの最終コントロール・ポイントから移行することができる停止ポイントを生成し、モーション・データの本線に対し、該最終コントロール・ポイントから該停止ポイントへ向かう支線を挿入する、
    ことを特徴とする請求項21に記載のデータ処理装置。
  23. ロボットのモーション・データを受信して再生するデータ処理装置であって、ロボットのモーション・データは、各制御対象毎の指令値からなるコントロール・ポイントが時系列的に配列されて構成され、一部のコントロール・ポイントはロボットが機体の安定性を保証して停止することができる停止ポイントであり、
    データを受信する受信手段と、
    受信したデータを一時格納する受信バッファと、
    受信バッファに蓄積されたデータを再生するデータ再生手段と、
    前記データ再生手段によるデータ再生処理を制御する再生制御手段とを備え、前記再生制御手段は、前記受信バッファに貯まった最後の停止ポイントまでデータ再生を行なわせる、
    ことを特徴とするデータ処理装置。
  24. 送信されてくるロボットのモーション・データは、各制御対象毎の指令値からなるコントロール・ポイントが時系列的に配列されてなる本線に対し、通常のコントロール・ポイントから停止ポイントへ向かう支線が挿入されており、
    前記再生制御手段は、受信バッファ中に常に到達可能な停止ポイントがあるように再生の分岐を行なう、
    ことを特徴とする請求項23に記載のデータ処理装置。
  25. 前記再生制御手段は、受信バッファに格納されているモーション・データの本線上の最後の停止ポイントまでデータ再生を行なわせる、
    ことを特徴とする請求項24に記載のデータ処理装置。
  26. 前記再生制御手段は、受信バッファに格納されているモーション・データの本線上に次の停止ポイントが見つからない場合には、支線上の停止ポイントを探索して該停止ポイントまでデータ再生を行なわせる、
    ことを特徴とする請求項25に記載のデータ処理装置。
  27. 前記再生制御手段は、受信バッファに格納されているモーション・データの本線及び支線のいずれにおいても次の停止ポイントが見つからない場合には、現在の停止ポイントにおいて再生を停止させる、
    ことを特徴とする請求項25に記載のデータ処理装置。
JP2003090174A 2003-03-28 2003-03-28 データ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置 Pending JP2004291202A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003090174A JP2004291202A (ja) 2003-03-28 2003-03-28 データ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003090174A JP2004291202A (ja) 2003-03-28 2003-03-28 データ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置

Publications (1)

Publication Number Publication Date
JP2004291202A true JP2004291202A (ja) 2004-10-21

Family

ID=33403862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003090174A Pending JP2004291202A (ja) 2003-03-28 2003-03-28 データ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置

Country Status (1)

Country Link
JP (1) JP2004291202A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434311B2 (en) 2005-05-12 2008-10-14 Maruwa Corporation Printed wiring board manufacturing method
US8660691B2 (en) 2010-06-18 2014-02-25 Compal Communications, Inc. Automatic machine and method for controlling the same
WO2020138542A1 (ko) * 2018-12-27 2020-07-02 엘지전자 주식회사 액션 로봇용 콘텐츠 판매 서비스 운영 장치 및 그의 동작 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434311B2 (en) 2005-05-12 2008-10-14 Maruwa Corporation Printed wiring board manufacturing method
US8660691B2 (en) 2010-06-18 2014-02-25 Compal Communications, Inc. Automatic machine and method for controlling the same
WO2020138542A1 (ko) * 2018-12-27 2020-07-02 엘지전자 주식회사 액션 로봇용 콘텐츠 판매 서비스 운영 장치 및 그의 동작 방법

Similar Documents

Publication Publication Date Title
Gouaillier et al. The nao humanoid: a combination of performance and affordability
Tsagarakis et al. Walk‐man: A high‐performance humanoid platform for realistic environments
Stasse et al. TALOS: A new humanoid research platform targeted for industrial applications
US6904334B2 (en) Robot apparatus and method for controlling the operation thereof
US6493606B2 (en) Articulated robot and method of controlling the motion of the same
Yi et al. Team thor's entry in the darpa robotics challenge trials 2013
JP2002301674A (ja) 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
JP2001322079A (ja) 脚式移動ロボット及びその動作教示方法
JP2006000954A (ja) ロボット装置の制御システム及び制御方法
JP4179230B2 (ja) ロボット装置及びその動作制御方法
Kopacek Cost oriented humanoid robots
JP2004291202A (ja) データ提供装置及びデータ提供方法、ロボット装置及びロボットのモーション再生方法、並びにデータ処理装置
JP2002086378A (ja) 脚式ロボットに対する動作教示システム及び動作教示方法
JP2002059384A (ja) ロボットのための学習システム及び学習方法
Nguyen et al. Robust control of a brachiating robot
JP5035005B2 (ja) 脚式ロボット、その制御方法、その制御システム
Ollervides et al. Navigation control system of walking hexapod robot
JP4556425B2 (ja) コンテンツ再生システム、コンテンツ再生方法、コンテンツ再生装置
JP2001138273A (ja) 脚式移動ロボット及びその制御方法
Evrard et al. Intercontinental, multimodal, wide-range tele-cooperation using a humanoid robot
JP4587699B2 (ja) ロボット装置及びその制御方法
JP2010115780A (ja) 脚式移動ロボット及びその制御方法
JP2002144261A (ja) 脚式移動ロボット及びその制御方法
JP4506249B2 (ja) ロボット装置及びその動作比較方法
JP4110525B2 (ja) ロボット装置及びその動作制御方法