説明

ロボットのモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びにロボット装置

【課題】 手先などのエンド・エフェクタにおけるロボットの動作を規定するモーション・データを簡便な方法により編集する。
【解決手段】 マウスやタブレットなどを介したユーザの手書き入力といった対話型インタラクションに基づいて、ロボットが絵や文字を描画するためのモーション・データを簡便に編集することができるモーション編集環境を提供している。したがって、作成したモーション・データをロボット上で再生することにより、ロボットに対し任意の文字や絵を描画させる動作を簡単に実現させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の関節自由度を持つロボットの動作を規定するモーション・データを編集するモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びに編集されたモーション・データを再生するロボット装置に係り、特に、特定の操作対象に操作を与えることができる手先などのエンド・エフェクタにおける動作を規定するモーション・データを簡便な方法により編集するロボットのモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びに編集されたモーション・データに従って可動部の動作を再生するロボット装置に関する。
【0002】
さらに詳しくは、本発明は、手先に設けたペンを用いてロボットに絵や文字を描画させるためのモーション・データを編集するロボットのモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びに編集されたモーション・データに従って手書き入力された絵や文字を描画する動作を再生するロボット装置ロボットのモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びに編集されたモーション・データに従って絵や文字を描画する動作を再生するロボット装置に係り、特に、マウスやタブレットなどを介したユーザの手書き入力に基づいて、ロボットが絵や文字を描画するためのモーション・データを簡便に編集するロボットのモーション編集装置及びモーション編集方法、並びに編集されたモーション・データに従って手書き入力された絵や文字を描画する動作を再生するロボット装置に関する。
【背景技術】
【0003】
最近、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。これら脚式移動ロボットは、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作を実現できるという点で優れている。
【0004】
従来のロボットは、6軸のマニピュレータに代表されるように、主な用途は、産業活動・生産活動などにおける各種の人的作業の代行や支援であった。この場合のロボットは、工場などの構造化された環境内で動作することを前提としており、人や環境との複雑な物理的インタラクションは基本的に行なわない。
【0005】
これに対し、最近では、パートナー型、すなわち人間との「共生」あるいは「エンターティンメント」という用途が注目されてきている。この種のロボットは、環境やものだけでなく、人と接するなど、高度なインタラクション能力を備えていることが望まれる。パートナー型ロボットは、6軸マニピュレータなどのように所定の場所に固定されるのではなく、自律的に移動してさまざまなサービスを提供する、いわゆる移動ロボットが一般的である。パートナー型ロボットの代表例はヒューマノイドである。
【0006】
パートナー型のロボットは高い情報処理能力を備えており、ロボットそのものを一種の計算機システムとして捉えることができる。言い換えれば、ロボット上で実現される動作パターン、あるいは複数の基本的な動作パターンの組み合わせによって構成される高度且つ複雑な動作シーケンス、すなわちロボットの「モーション・データ」の作成はコンピュータ・プログラミングに類似する作業によって編集される。
【0007】
ロボット本体を広く普及するためには、その動作を実現するためのさまざまなモーション・データを自由に利用できることが好ましい。また、今後は産業界のみならず、一般家庭など日常生活にもロボットが深く浸透していくことが予想される。とりわけ、エンタテイメント性を追求する製品に関しては、コンピュータ・プログラミングやロボットの運動制御に関する高度な知識に精通しなくとも、振付師やデザイナ、一般ユーザなどがモーション・データを簡便に作成できることが強く望まれている。
【0008】
このため、対話的な処理により比較的容易且つ効率的にロボット用のモーション編集を行なうことができる開発環境、すなわちモーション編集システムの構築が必須である、と本発明者らは思料する。
【0009】
例えば、ヒューマノイドのようなロボットは、可動脚を用いて自在に歩き回るだけでなく、特定の操作対象に操作を与えるなど、外界とのさまざまな物理的インタラクションを行なうことができる。さらには、手先などのエンド・エフェクタを用いて、楽器を演奏する、あるいは絵や文字などを描画するといった、エンタテイメント性の高い動作を実現して、ユーザを楽しませることができる。
【0010】
当業界では、手先を始めとして、ロボットの各操作部位の軌道を計画し、この計画軌道からインバース・キネマティクス(逆運動学演算)を用いてロボット・アームの各関節の動作を決定する方法はよく知られている。しかしながら、手先でペンを握り、任意の文字や絵を描画するという動作は複雑であり、そのモーション・データを編集することは容易ではない。この種の動作は、単にキャンバス上のペン先の軌跡を計画するだけでは不十分であり、移動中のペン先がキャンバスに接している、あるいはキャンバスから離れている、あるいはどの程度の筆圧で描いているか、といった動作を計画する必要がある。
【0011】
例えば、壁面に吸着して移動可能なロボット本体と、ロボット本体に取り付けられたアームと、アームに沿って移動可能な塗装ガンと、描画用絵柄を入力した描画制御装置を備え、描画制御装置の制御の基でロボット本体を上下に移動させ、とそう顔を水平方向に移動し、壁面に対して一定のピッチで塗料を吹き付け、絵柄を描画する壁面描画ロボット・システムについて提案がなされている(例えば、特許文献1を参照のこと)。
【0012】
また、カメラで撮影して得られる画像データから作画データを作成して、アームの先端に設けた描画具を用いて描画媒体に対して描画する描画ロボットについて提案がなされている(例えば、特許文献2を参照のこと)。
【0013】
しかしながら、これらのシステムは、ロボットに描画を行なわせるための動作計画やに関して何ら示唆するものではなく、任意の絵や文字を描画するためのモーション・データの編集作業を簡素化することとは無関係である。
【0014】
【特許文献1】特開平8−118263号公報
【特許文献2】特開2003−275473号公報
【発明の開示】
【発明が解決しようとする課題】
【0015】
本発明の目的は、特定の操作対象に操作を与えることができる手先などのエンド・エフェクタにおけるロボットの動作を規定するモーション・データを簡便な方法により編集することができる、優れたモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びに編集されたモーション・データに従って可動部の動作を再生することができるロボット装置を提供することにある。
【0016】
本発明のさらなる目的は、手先に設けたペンを用いてロボットに絵や文字を描画させるためのモーション・データを簡便に編集することができる、優れたモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びに編集されたモーション・データに従って絵や文字を描画する動作を再生することができるロボット装置を提供することにある。
【0017】
本発明のさらなる目的は、マウスやタブレットなどを介したユーザの手書き入力に基づいて、ロボットが絵や文字を描画するためのモーション・データを簡便に編集することができる、優れたモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びに編集されたモーション・データに従って手書き入力された絵や文字を描画する動作を再生することができるロボット装置を提供することにある。
【課題を解決するための手段】
【0018】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、複数の可動関節で構成され、特定の操作対象に操作を与える操作部位を有するロボットの動作を規定するモーション・データを編集するモーション編集装置であって、
ロボットに描画させる文字又は絵をユーザが手書き入力する手書き入力手段と、
前記手書き入力手段により描かれる軌跡のうち描画中の部分と描画以外の部分を判別する描画軌跡判別手段と、
ユーザが手書き入力している軌跡を画面出力する手書き入力情報表示手段と、
前記手書き入力手段により入力された2次元描画情報及び前記描画軌跡判別手段による判別結果に基づいて、3次元軌跡計画を導出する3次元軌跡計画導出手段と、
前記3次元軌道計画導出手段により導出された3次元軌道計画を3次元画面上に表示する3次元軌道計画表示手段と、
該3次元画面を通じたユーザの対話型インタラクションに従って、該3次元軌道計画をロボットが作業する3次元空間上に再配置するとともに、該3次元軌道計画に従って文字又は絵の描画を行なう操作部位を指定する対話手段と、
該再配置された3次元軌道計画を、指定された操作部位を用いて描画するための、該操作部位を構成する各関節アクチュエータに対する指示値に変換する指示値変換手段と、
該変換された指示値を、ユーザが手書き入力した文字又は絵をロボットが3次元空間上で実現する3次元軌道計画を規定したモーション・データとして出力するモーション・データ出力手段と、
を具備することを特徴とするモーション編集装置である。
【0019】
本発明は、複数の関節自由度を備えたロボットの動作を規定するモーション・データを編集するためのモーション編集装置に関する。本発明に係るモーション編集装置は、とりわけ、ヒューマノイドに代表されるパートナー型ロボットについてのモーション・データを、対話型インタラクションにより簡便に作成することができる編集環境を提供するものである。
【0020】
パートナー型ロボットは、可動脚などの移動手段を備え、自律的に移動してユーザにさまざまなサービスを行なうことができる。さらには、特定の操作対象に操作を与えるなど、外界とのさまざまな物理的インタラクションを行なうことができる。
【0021】
ところが、手先などのエンド・エフェクタを用いて絵や文字などを描画するためのモーション・データの編集は容易ではない。この種の動作は、単にキャンバス上のペン先の軌跡を計画するだけでは不十分であり、移動中のペン先がキャンバスに接している、あるいはキャンバスから離れている、あるいはどの程度の筆圧で描いているか、といった動作を計画する必要がある。
【0022】
そこで、本発明に係るモーション編集装置では、マウスやタブレットなどを介したユーザの手書き入力といった対話型インタラクションに基づいて、ロボットが絵や文字を描画するためのモーション・データを簡便に編集することができるモーション編集環境を提供している。したがって、作成したモーション・データをロボット上で再生することにより、ロボットに対し任意の文字や絵を描画させる動作を簡単に実現させることができるようになる。
【0023】
すなわち、ロボットに描画させる文字又は絵をユーザが手書き入力し、さらに描かれる軌跡のうち描画中の部分と描画以外の部分を判別して、2次元描画情報及び描画軌跡判別結果に基づいて、3次元軌跡計画を導出する。続いて、導出された3次元軌道計画を3次元画面上に表示し、該3次元画面を通じたユーザの対話型インタラクションに従って、該3次元軌道計画をロボットが作業する3次元空間上に再配置するとともに、該3次元軌道計画に従って文字又は絵の描画を行なう操作部位を指定する。そして、再配置された3次元軌道計画を指定された操作部位を用いて描画するために、逆キネマティクス演算などを用いて、該操作部位を構成する各関節アクチュエータに対する指示値に変換する。これによって、ユーザが手書き入力した文字又は絵をロボットが3次元空間上で実現する3次元軌道計画を規定したモーション・データを得ることができる。
【0024】
前記手書き入力手段がマウスで構成される場合、前記描画軌跡判別手段は、マウス・ボタンがオン操作されている期間の軌跡を描画中の部分とし、オフ操作されている期間の軌跡を描画以外の部分と判別することができる。
【0025】
あるいは、前記手書き入力手段は筆圧機能付きタブレットで構成される場合には、前記描画軌跡判別手段は、筆圧が所定値を超える期間の軌跡を描画中の部分とし、筆圧が所定値以下となる期間の軌跡を描画以外の部分と判別することができる。
【0026】
また、前記手書き入力情報表示手段は、描画中の軌跡を実線で表示し、描画以外の軌跡を実線以外で表示する。画面上には描画の軌跡が残るので、ユーザは自分が描画している内容を随時確認することができる。
【0027】
前記3次元軌跡計画導出手段は、前記手書き入力手段から入力された2次元xy座標の時系列情報に基づいて3次元軌道計画における2次元xy平面上の時系列座標情報を決定するとともに、描画中に相当する点であるか否かに応じて3次元軌道計画におけるz軸座標値を与えることによって、ロボットに文字や絵を描画させるための3次元軌道計画を得ることができる。また、手書き入力された2次元xy座標をロボットの3次元軌道計画における2次元xy平面にマッピングする際に、ピクセル単位をメートル単位にスケール変換する。
【0028】
また、前記3次元軌道計画導出手段は、前記手書き入力手段によるユーザ入力操作を通じて、ロボットが文字又は絵を描画する際の力制御に使用する力制御パラメータを導出し、前記モーション・データ出力手段は、該力制御パラメータ付きのモーション・データを出力する。
【0029】
このように、力制御パラメータをモーション・データに加えて記述することにより、モーション・データを再生するロボット側では、文字や絵を描画する動作中において、力制御パラメータに基づいて筆圧を考慮した描画動作を実演することができる。あるいは、モーション・データを再生するロボット装置は、力制御パラメータに従って力制御を行ないながら絵や文字の描画動作を行なうので、描画している最中に移動したり形状が変化したりする物体に対しても容易に適用することができる。
【0030】
前記3次元軌道計画導出手段は、描画中であるか否かに応じて与えた3次元軌道計画におけるz軸座標値に基づいて力制御パラメータを決定することができる。
【0031】
前記手書き入力手段が筆圧機能付きタブレットで構成される場合には、前記3次元軌道計画導出手段は、ユーザがタブレット上で文字又は絵を描いている際の筆圧に基づいて力制御パラメータを決定することができる。
【0032】
前記3次元軌道計画導出手段は、力制御パラメータとして、例えば、描画面としてのxy平面に対して印加すべきz軸方向の目標力を決定する。
【0033】
また、前記3次元軌道計画導出手段は、モーション・データで規定される目標位置姿勢に対する、力制御を考慮して求められる目標位置姿勢情報の割合を表す適用率αを力制御パラメータとして決定するようにしてもよい。例えば、適用率αを高くすると力制御を考慮した目標位置姿勢制御が行なわれるので、ペン先で描画している実線部分ではαを高くすることが好ましい。これに対し、適用率αを低くするとモーション・データで規定される目標位置姿勢が重視されるので、ペンを描画面から離して移動している期間はαを低くしてモーション・データ通りの軌道を忠実に実行することが好ましい。
【0034】
また、モーション編集装置は、前記指示値変換手段により変換された指示値の軌道計画に沿ってロボットが文字又は絵を描画する様子を3次元画面上で再生する画面再生手段をさらに備えていてもよい。ユーザは、この画面を見て、自ら手書き入力した文字又は絵を、ロボットが3次元空間上で描画する様子を確認することができる。
【0035】
また、モーション編集装置は、3次元空間上に再配置された3次元軌道に従って文字又は絵を描画する際に、ロボット・アームの物理制約を抵触していないかを確認する物理制約確認手段をさらに備えていてもよい。そして、いずれかの物理制約に抵触していることが判明した場合には、モーション編集装置はユーザにその詳細内容を提示し、再編集の実行を促すことができる。
【0036】
また、本発明の第2の側面は、複数の可動関節で構成され、特定の操作対象に操作を与えるエンド・エフェクタとしての操作部位を有するロボット装置の動作を規定するモーション・データを編集するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
ユーザが手書き入力する文字又は絵を入力する手書き入力手順と、
前記手書き入力手順において描かれた軌跡のうち描画中の部分と描画以外の部分を判別する描画軌跡判別手順と、
ユーザが手書き入力している軌跡を画面出力する手書き入力情報表示手順と、
前記手書き入力手順において入力された2次元描画情報及び前記描画軌跡判別手順における判別結果に基づいて、3次元軌跡計画を導出する3次元軌跡計画導出手順と、
前記3次元軌道計画導出手順において導出された3次元軌道計画を3次元画面上に表示する3次元軌道計画表示手順と、
該3次元画面を通じたユーザの対話型インタラクションに従って、該3次元軌道計画をロボット装置が作業する3次元空間上に再配置するとともに、該3次元軌道計画に従って文字又は絵の描画を行なう操作部位を指定する対話手順と、
該再配置された3次元軌道計画を、指定された操作部位を用いて描画するための、該操作部位を構成する各関節アクチュエータに対する指示値に変換する指示値変換手順と、
該変換された指示値を、ユーザが手書き入力した文字又は絵をロボット装置が3次元空間上で実現する3次元軌道計画を規定したモーション・データとして出力するモーション・データ出力手順と、
を実行することを特徴とするコンピュータ・プログラムである。
【0037】
本発明の第2の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第2の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第1の側面に係るモーション編集装置と同様の作用効果を得ることができる。
【0038】
本発明に係るモーション編集装置によって編集されるモーション・データは、ロボット・アームなど文字や絵を描画するための操作部位の軌道を生成するための各関節角の時系列データに、力制御すなわち仮想コンプライアンス制御を適用するための力制御パラメータが付加されたデータ構造となる。このようなモーション・データを再生して文字や絵の描画を実現するロボット装置は、例えば、
現在の各関節角並びに操作部位に加わる外力を検出する検出手段と、
現在の各関節角に基づいて操作部位の現在の位置姿勢を順キネマティクス演算などにより算出する現在位置姿勢算出手段と、
モーション・データに基づいて次の時刻における操作部位の目標位置姿勢を算出する目標位置姿勢算出手段と、
力制御パラメータとして与えられる目標力及び前記検出手段により検出された外力に基づいて得られる力を用いて操作部位に関する力制御を行ない、力制御に基づく操作部位の目標位置姿勢を算出する力制御手段と、
力制御に基づく操作部位の目標位置姿勢を、逆キネマティクス演算などを用いて、該操作部位を構成する各関節アクチュエータに対する指示値に変換する指示値変換手段と、
該変換された指示値に従って各関節アクチュエータを駆動する駆動制御手段で構成することができる。
【0039】
上述したように、モーション・データは、前記目標位置姿勢算出手段によりモーション・データから求められる目標位置姿勢に対して前記力制御手段により力制御を考慮して求められる目標位置姿勢が占める割合を表す適用率を力制御パラメータとして含むことができる。このような場合、前記目標位置姿勢決定手段は、該適用率に基づいて操作部位に関する最終的な目標位置姿勢を決定するようにすればよい。例えば、適用率αが高いときには、力制御を考慮した目標位置姿勢制御が行なわれる。また、適用率αが低いときには、モーション・データで規定される目標位置姿勢制御が行なわれる。
【0040】
また、ロボットの動作計画アプリケーションにおいて、各部位の位置指令の基準座標は任意に設定することができる。例えば、右手と左手のように、ロボットが複数の操作部位を備えている場合には、一方の操作部位を用いて操作対象に操作を与える際に、他方の操作部位を用いて操作対象に関する現在位置姿勢情報を取得し、操作対象に操作を与えるためのより正確な基準座標を設定することができる。
【0041】
すなわち、操作対象に操作を与える第1の操作部位以外に、該操作対象を支持することができる第2の操作部位を有するロボット装置は、前記第2の操作部位を力制御に基づいて操作対象を支持させる操作対象支持手段と、操作対象を支持する前記第2の操作部位における各関節角に基づいて、前記第2の操作部位の現在位置姿勢を算出する第2の現在位置姿勢算出手段とをさらに備える。このような場合、操作対象の位置姿勢がロバストでない場合であっても、前記第2の操作部位の現在位置姿勢に基づいて、モーション・データに従って前記第1の操作部位が操作対象に操作を与えるための位置姿勢の軌道を、より正確に算出することができる。そして、モーション・データから求められる目標位置姿勢と前記力制御手段により力制御を考慮して求められる目標位置姿勢に基づいて、前記第1の操作部位に関する最終的な目標位置姿勢を決定した後、前記第1の操作部位に関する最終的な目標位置姿勢を、逆キネマティクス演算などにより前記第1の操作部位を構成する各関節アクチュエータに対する指示値に変換すればよい。
【0042】
例えば、ロボットの左手を用いて、空中の任意の場所に設置されているキャンバスなどの描画面を力制御などにより支持することを通じて、描画面に関する現在位置姿勢情報を取得して、描画を行なうためのより正確な基準座標を設定する。そして、この基準座標系に基づいて、ペンを持つ右手の手先についてのより正確な目標位置姿勢の軌道を算出する。すなわち、左手先のローカル座標を原点にとって右手先の相対位置指令をモーション・データとして吐き出し、そのデータを実機側で効果的に利用して、ロバストな描画機能を実現することが可能となる。
【発明の効果】
【0043】
本発明によれば、特定の操作対象に操作を与えることができる手先などのエンド・エフェクタにおけるロボットの動作を規定するモーション・データを簡便な方法により編集することができる、優れたモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びに編集されたモーション・データに従って可動部の動作を再生することができるロボット装置を提供することができる。
【0044】
また、本発明によれば、手先に設けたペンを用いてロボットに絵や文字を描画させるためのモーション・データを簡便に編集することができる、優れたモーション編集装置及びモーション編集方法、コンピュータ・プログラム、並びに編集されたモーション・データに従って絵や文字を描画する動作を再生することができるロボット装置を提供することができる。
【0045】
本発明に係るモーション編集装置によれば、例えば、マウスやタブレットなどを介したユーザの手書き入力に基づいて、ロボットが絵や文字を描画するためのモーション・データを簡便に編集することができる。したがって、作成したモーション・データをロボット上で再生することにより、ロボットに対し任意の文字や絵を描画させる動作を簡単に実現することができる。
【0046】
また、本発明に係るモーション編集装置は、ユーザがマウスやタブレットを介して文字や絵を手書き入力する際に、ペン先に与える圧力など力制御を行なうためのパラメータを取得して、これをモーション・データに加えて記述することができる。この場合、モーション・データを再生するロボット側では、文字や絵を描画する動作中において、力制御パラメータに基づいて筆圧を考慮した描画動作を実演することができる。
【0047】
また、本発明に係るモーション編集装置は、絵や文字を描画する際の手先並びに全身の軌道計画を立てている作業中にロボットの物理制約を確認することができるので、ロボットが不可解な動作を実行させるようなモーション・データを作成する心配がない。
【0048】
また、本発明に係るモーション編集装置は、マウスやタブレットなどを介したユーザの手書き入力情報から3次元軌道を導出する処理過程を変更することにより、紙や壁のような2次元物体への描画だけでなく、コップやボールといった3次元物体の表面に描画を行なうモーション・データを容易に作成することができる。
【0049】
また、本発明に係るモーション編集装置は、ユーザがマウスやタブレットを介して絵や文字の手書き入力を行なう際に得られる力制御パラメータをモーション・データに付加することができる。したがって、モーション・データを再生するロボット装置は、力制御パラメータに従って力制御を行ないながら絵や文字の描画動作を行なうので、描画している最中に移動したり形状が変化したりする物体に対しても容易に適用することができる。
【0050】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【0051】
以下、図面を参照しながら本発明の実施形態について詳解する。
【0052】
本発明は、複数の関節自由度を備えたロボットの動作を規定するモーション・データを編集するためのモーション編集装置に関する。ロボットのモーション・データの編集は、コンピュータ・プログラミングに類似する作業であるが、本発明に係るモーション編集装置は、対話型のインタラクションにより、コンピュータ・プログラミングやロボットの運動制御に関する高度な知識に精通しないユーザであっても、モーション・データを簡便に作成する編集環境を提供するものである。
【0053】
ここで言うロボットは、例えば、環境やものだけでなく、人と接するなど、高度なインタラクション能力を備えるパートナー型ロボットである。パートナー型ロボットの代表例はヒューマノイドであり、可動脚などの移動手段を備え、自律的に移動してユーザにさまざまなサービスを行なうことができる。
【0054】
例えば、ヒューマノイドのようなロボットは、可動脚を用いて自在に歩き回るだけでなく、特定の操作対象に操作を与えるなど、外界とのさまざまな物理的インタラクションを行なうことができる。例えば、手先などのエンド・エフェクタを用いて、楽器を演奏する、あるいは絵や文字などを描画するといった、エンタテイメント性の高い動作を実現して、ユーザを楽しませることができる。
【0055】
ここで、手先でペンを握り、任意の文字や絵を描画するという動作は複雑であり、そのモーション・データを編集することは容易ではない。この種の動作は、単にキャンバス上のペン先の軌跡を計画するだけでは不十分であり、移動中のペン先がキャンバスに接している、あるいはキャンバスから離れている、あるいはどの程度の筆圧で描いているか、といった動作を計画する必要がある。
【0056】
そこで、本発明に係るモーション編集装置では、マウスやタブレットなどを介したユーザの手書き入力といった対話型インタラクションに基づいて、ロボットが絵や文字を描画するためのモーション・データを簡便に編集することができるモーション編集環境を提供している。したがって、作成したモーション・データをロボット上で再生することにより、ロボットに対し任意の文字や絵を描画させる動作を簡単に実現させることができることになる。
【0057】
また、本発明に係るモーション編集装置は、ユーザがマウスやタブレットを介して文字や絵を手書き入力する際に、ペン先に与える圧力など力制御を行なうためのパラメータを取得して、これをモーション・データに加えて記述することができる。この場合、モーション・データを再生するロボット側では、文字や絵を描画する動作中において、力制御パラメータに基づいて筆圧を考慮した描画動作を実演することができる。
【0058】
また、本発明に係るモーション編集装置は、絵や文字を描画する際の手先並びに全身の軌道計画を立てている作業中にロボットの物理制約を確認することができるので、ロボットが不可解な動作を実行させるようなモーション・データを作成する心配がない。
【0059】
図1には、本発明の一実施形態に係るモーション編集装置のハードウェア構成を模式的に示している。モーション編集装置は、専用のハードウェア装置としてデザインしてもよいが、例えばパーソナル・コンピュータ(PC)のような一般的な計算機システム上で所定のモーション編集アプリケーションを実行するという形態で実現することができる。以下、各部について説明する。
【0060】
このモーション編集装置は、プロセッサ10を中心に構成されている。プロセッサ10は、オペレーティング・システム(OS)が提供するプログラム実行環境下で、メモリにロードされたアプリケーション・プログラムに基づいて各種の処理を実行する。アプリケーションの一例は、モーション編集アプリケーションである。また、プロセッサ10は、外部バス・インターフェース14及びバス30を介して接続されている各種の周辺機器を制御している。バス30に接続された周辺機器は次のようなものである。
【0061】
メモリ20は、例えばDRAM(Dynamic RAM)などの半導体メモリで構成される。メモリ20は、プロセッサ10のメモリ空間として、プロセッサ10において実行されるプログラム・コードをロードしたり、実行プログラムの作業データを一時格納したりするために使用される。
【0062】
ディスプレイ・コントローラ21は、プロセッサ10から送られてくる描画命令に従って表示画像を生成し、表示装置22に送る。ディスプレイ・コントローラに接続された表示装置22は、ディスプレイ・コントローラ21から送られた表示画像情報に従い、その画像を画面に表示出力する。
【0063】
モーション編集アプリケーションは、表示装置22の画面を用いて、例えば、マウスやタブレットを介した絵や文字などの手書き入力データに関する情報を表示したり、2次元的な手書き入力データに基づいてロボットが絵や文字を描画するための軌道計画を編集するためのインタラクション画面を表示したり、各種設定パラメータの入力、書き換え、確認を行なう画面を表示したりする。確認画面では、ロボットとともに描画した文字や絵を3D画面上に表示したロボットの動作確認や、描画動作を実行中のロボットについて物理制約の確認を行なうことができるが、これらの詳細については後述に譲る。
【0064】
入出力インターフェース23は、キーボード24やマウス25が接続されており、キーボード24やマウス25あるいはタブレット(図示しない)からの入力信号をプロセッサ10へ転送する。
【0065】
モーション編集アプリケーションは、マウス25又はタブレット(図示しない)を、ロボットが描画すべき絵や文字に関する描画情報をユーザが手書き入力するためのデバイスとして用いる。例えばマウス25における指示座標データ及びマウス・ボタンのオン/オフ状態に関する情報を所定のサンプル周期で読み取り、マウス入力による文字又は絵の描画情報として収集する。また、タブレット(図示しない)における指示座標データ及びペン先の押圧力レベルに関する情報を所定のサンプル周期で読み取り、タブレット入力による文字又は絵の描画情報として収集する(但し、筆圧機能付きタブレットの場合)。
【0066】
ネットワーク・インターフェース26は、LANやインターネットなどの外部ネットワークに接続されており、インターネットを介したデータ通信を制御する。すなわち、プロセッサ10から送られたデータをインターネット上の他の装置へ転送するとともに、インターネットを介して送られてきたデータを受け取りプロセッサ10に渡す。例えば、プログラムやデータなどをネットワーク経由で外部から受信することができる。
【0067】
モーション編集装置は、例えばネットワーク経由でモーション編集アプリケーションをダウンロードすることができる。あるいは編集したモーション・データをネットワーク経由で他のモーション編集装置に提供したり、モーションを実行するロボットに転送したりすることができる。
【0068】
ハード・ディスク装置(HDD:Hard Disk Drive)コントローラ27には、HDDなどの大容量外部記憶装置28が接続されており、HDD コントローラ27が接続されたHDD28へのデータの入出力を制御する。HDD28には、プロセッサが実行すべきオペレーティング・システム(OS)のプログラム、アプリケーション・プログラム、ドライバ・プログラム、さらには編集したモーション・データなどが格納されている。本実施形態では、各プログラムは、HDD28上に実行可能形式でインストールされる。
【0069】
なお、モーション編集装置を構成するためには、図1に示した以外にも多くの電気回路などが必要である。但し、これらは当業者には周知であり、また、本発明の要旨を構成するものではないので、本明細書中では省略している。また、図面の錯綜を回避するため、図中の各ハードウェア・ブロック間の接続も一部しか図示していない点を了承されたい。
【0070】
図2には、編集されたモーション・データを再生するロボット装置の自由度構成を示している。図示のパートナー型ロボットは、いわゆる人間型ロボットであり、骨盤部には、移動手段としての2肢の脚体と、腰関節を介して上体が接続されている。上体には、2肢の腕部と、首関節を介して頭部が接続されている。
【0071】
左右の脚体は、それぞれ股関節3自由度と、膝関節1自由度と、足首関節2自由度の、計6自由度を備えている。また、左右の腕部は、それぞれ肩関節3自由度と、肘関節1自由度と、手首関節2自由度の、計6自由度を備えている。首関節及び腰関節は、ともにX、Y、Z 軸回りに3自由度を有するとする。さらに左右の手部はそれぞれ5本の指で1つずつ自由度を持ち、全体として40自由度を備えている。
【0072】
各関節軸を駆動するアクチュエータは、例えばDCブラシレス・モータと減速機、並びに減速機の出力軸の回転位置を検出する位置センサで構成される。これら関節駆動アクチュエータは、ロボット装置全体の動作を統括的にコントロールするホスト・コンピュータと接続され、その位置制御目標値が与えられるとともに、現在の出力トルクや、関節角度、関節角速度をホスト・コンピュータに送信することができるものとする。
【0073】
図3には、図2に示したロボット装置における結線トポロジの構成例を示している。
【0074】
ロボット装置は、胴体部に、3軸の腰関節アクチュエータa1、a2、a3、及び3軸の首関節アクチュエータa16、a17、a18を持ち、これらはホスト・コンピュータに対しシリアル接続されている。各関節アクチュエータは、シリアル・ケーブルを通じて、その位置制御目標値を受け取るとともに、現在の出力トルクや、関節角度、関節角速度をホスト・コンピュータに送信する。
【0075】
また、ロボット装置は、左腕部に、3軸の肩関節アクチュエータa4、a5、a6、1軸の肘関節アクチュエータa7、及び2軸の手首関節アクチュエータa8、a9を持ち、これらはホスト・コンピュータに対しシリアル接続されている。同様に、右腕部には、3軸の肩関節アクチュエータa10、a11、a12、1軸の肘関節アクチュエータa13、及び2軸の手首関節アクチュエータa14、a15を持ち、これらはホスト・コンピュータに対しシリアル接続されている。
【0076】
また、ロボット装置は、左脚部に、3軸の股関節アクチュエータa19、a20、a21、1軸の膝関節アクチュエータa22、及び2軸の足首関節アクチュエータa23、a24を持ち、これらはホスト・コンピュータに対しシリアル接続されている。同様に、右脚部には、3軸の肩関節アクチュエータa25、a26、a27、1軸の肘関節アクチュエータa28、及び2軸の足首関節アクチュエータa29、a30を持ち、これらはホスト・コンピュータに対しシリアル接続されている。
【0077】
また、ロボット装置の骨盤部には、3軸の加速度センサa1と3軸の角速度センサ(ジャイロ)g1が搭載されている。その近隣には、これらのセンサ値を計測するマイクロ・コンピュータが配備され、その計測結果をホスト・コンピュータに送信するものとする。
【0078】
ホスト・コンピュータは、モーション編集装置により編集されたモーション・データに基づいてロボットの動作制御を行なう。すなわち、モーション・データで規定されている各関節アクチュエータの位置制御目標値をそれぞれのシリアル・ケーブルを通じて送信するとともに、現在の出力トルクや、関節角度、関節角速度を各関節アクチュエータから受け取って、操作部位における目標位置姿勢と現在位置姿勢との差異に基づいて位置姿勢制御を行なう。
【0079】
本実施形態では、ホスト・コンピュータは、手先などのエンド・エフェクタに相当する操作部位を用いて絵や文字などを描画するためのモーション・データの処理を行なう。また、モーション・データには力制御に関するパラメータが付加され、ホスト・コンピュータは、力制御に基づいた位置姿勢制御を行ない、ロボットのロバストな描画動作を実現するが、これらの詳細については後述に譲る。
【0080】
なお、本発明の要旨は、図2〜図3に示したロボット装置の構成に限定されるものではない。要は、ロボット装置が文字や絵を描画することができる操作部位を持ったアームを1本以上備えていることと、モーション編集装置から出力されるデータ・フォーマットのモーション・データを実行することができれば、その構成を適宜変更してもよい。
【0081】
本実施形態に係るモーション編集装置は、対話型のインタラクションにより、コンピュータ・プログラミングやロボットの運動制御に関する高度な知識に精通しないユーザであっても、モーション・データを簡便に作成する編集環境を提供する。マウスやタブレットなどを介したユーザの手書き入力といった対話型インタラクションに基づいて、ロボットが絵や文字を描画するためのモーション・データの編集を行なう。以下では、モーション・データの編集処理について説明する。
【0082】
図4には、モーション編集装置上でロボットの手先(あるいはその他のエンド・エフェクタ)を用いた、文字や絵の描画を行なうための動作計画を行なうための処理手順をフローチャートの形式で示している。
【0083】
まず、ユーザは、ロボットに描画させたい文字又は絵を、マウスやタブレットなどの座標入力装置を用い、手書き入力の形態で描画する(ステップS1)。
【0084】
これによって、マウスにおける指示座標データ及びマウス・ボタンのオン/オフ状態に関する情報が所定のサンプリング周期で読み取られ、2次元xy座標情報とオン/オフ情報からなる時系列データが収集される。マウス・ボタンのオン/オフ情報は、ペン先が描画面に接しているか否かを表すとともに、力制御パラメータの導出に使用する。以下の表1には、文字「あ」をユーザがマウスで描いた際に収集された時系列座標データの例を示している。同表において、TRUEはマウス・ボタンがオンを、FALSEはマウス・ボタンのオフを、それぞれ表している。
【0085】
【表1】

【0086】
あるいは、マウスではなく筆圧機能付きタブレットを使用する場合には、タブレットにおける指示座標データ及びペン先の押圧力レベルに関する情報が所定のサンプリング周期で読み取られ、2次元xy座標情報と押圧レベル情報からなる時系列データが収集される(表2を参照のこと)。この場合、時系列で取得された筆圧データをスケーリングやフィルタリング処理などを通じて力制御パラメータとしてそのまま用いることができる。
【0087】
【表2】

【0088】
座標値の指示入力は、ユーザが描画内容を決定するまで、繰り返し行なわれる(ステップS2)。このとき、画面上には描画の軌跡が残るので、ユーザは自分が描画している内容を随時確認することができる。
【0089】
ここでは、図5に示すように、ユーザは文字「あ」を入力したとする。マウス・ボタンがオン操作されている期間中の軌跡は実際に描画を行なっている動作に相当し、画面上では実線で表される。他方、マウス・ボタンがオフ操作されている期間中の軌跡は描画を行なわずペンを描画面から話して移動させる動作に相当し、画面上では破線で表される。マウスではなくタブレットを使用する場合には、タブレットに対する押圧レベルが所定値を超える軌跡が実線で表され、所定値以下となる軌跡が破線で表される。
【0090】
続いて、マウス又はタブレットから入力された2次元描画情報、並びにオン/オフ情報若しくは力制御情報に基づいて、3次元軌道計画と力制御パラメータを導出する(ステップS3)。
【0091】
この処理ステップでは、マウス又はタブレットから入力された2次元xy座標の時系列情報は、座標指示空間とワールド座標間の座標変換(ピクセル単位からメートル単位へのスケール変換)を施し、3次元軌道計画上のx軸及びy軸の軌跡、すなわち2次元xy平面上の時系列座標情報としてそのまま使用する。また、マウス・ボタンがオン操作されている描画中に相当する期間では、z座標値として0を与え、ペン先が描画面に接していることを表す。他方、マウス・ボタンがオフ操作されている描画以外に相当する期間では、z座標値として正の値すなわち高さを与え、ペン先が描画面から離れていることを表す。これによってz軸上の軌跡が求まる。
【0092】
あるいは、筆圧機能付きタブレットにおいて筆圧が所定値を超える描画中に相当する期間では、z座標値として0を与え、ペン先が描画面に接していることを表す。他方、タブレットで検出される筆圧が所定値以下となる描画以外に相当する期間では、z座標値として正の値すなわち高さを与え、ペン先が描画面から離れていることを表す。
【0093】
上記の表1に示した、マウス入力による2次元xy座標情報とオン/オフ情報からなる時系列データから導出される3次元描画軌道を、xy平面上の軌跡及びz軸上の軌跡として、表3及び表4にそれぞれ示している。
【0094】
【表3】

【0095】
【表4】

【0096】
表4では、マウス押下情報がTRUEのときにz軸を0に、FALSEのときにz軸を20としている。タブレットを使用する場合には、筆圧データに基づいてz軸の値が導出される。
【0097】
3次元描画軌道におけるxy平面上の軌跡及びz軸上の軌跡は、ロボットの各関節アクチュエータの物理制約を考慮して、隣接するサンプリング点間を滑らかに繋いで生成される。表3及び表4では、スプライン補間によりサンプリング点間を繋いでいる。図6には、マウス操作により描かれた2次元描画情報を3次元描画軌道に変換したときのxyz各軸の描画情報を、横軸を時間軸として表している。
【0098】
なお、上記のように、xy平面上の軌跡とz軸上の軌跡とを別のテーブルに分けて格納しているのは、サンプリング周期の相違に依拠する。前者は座標入力装置から短いサンプル周期毎に座標値が与えられるのに対し、後者はマウス・ボタンのオン/オフやタブレット表面に対するペン先の接触/非接触という操作は比較的長い間隔で発生するからである。
【0099】
また、力制御パラメータは、ロボットが文字や絵を描画する動作を行なう際に、ペン先に与える圧力(すなわち目標力)など、力制御を行なうためのパラメータである。ステップS1において、ユーザが筆圧機能付きタブレットを使用して文字又は絵を描画する場合には、その際に時系列で取得された筆圧データをスケーリングやフィルタリング処理などを通じて、z軸方向の目標力となる力制御パラメータとして用いられる。また、マウスで描画情報を入力する場合には、マウス・ボタンがオンすなわちz軸が0でペン先を描画面に押しつけている期間ではz軸方向の目標力を高い値に、マウス・ボタンがオフすなわちz軸が高い値を持ちペン先が描画面から浮いている期間ではz軸方向の目標力を低い値とするように、力制御パラメータを設定する。
【0100】
図7には、図6に対応してz軸方向の目標力を導出した例を示している。図6中に示したz軸方向の軌跡と図7を比較して判るように、z軸が0すなわちペン先が描画面に押しつけられている期間は、力制御パラメータとしての目標力は高い値に設定され、z軸が正の値すなわちペン先が描画面を離れている期間では目標力は0に設定されている。
【0101】
表5には、表4に示したz軸方向の軌道計画から導出される力制御パラメータを示している。同表では、力制御パラメータとして、z軸方向の目標力と、適用率αの2種類が使用される。そして、ロボットの各関節アクチュエータの物理制約を考慮して、スプライン補間などにより隣接するサンプリング点間を滑らかに繋ぐ。
【0102】
【表5】

【0103】
z軸方向の目標力は、ペン先で描画面を押しつける力に相当する。各時刻におけるz軸方向の目標力は、z軸の座標値に基づいて決定される。また、適用率αは、ロボットがモーション・データに従って文字や絵を描画するための位置姿勢制御を行なう際に、モーション・データで規定される目標位置姿勢に対して、力制御を考慮して求められる目標位置姿勢が占める割合を表す指標値である。
【0104】
例えば、適用率αを高くすると力制御を優先した目標位置姿勢制御が行なわれるので、ペン先で描画している実線部分ではαを高くすることが好ましい。これに対し、適用率αを低くするとモーション・データで規定される目標位置姿勢が重視されるので、ペンを描画面から離して移動している期間はαを低くしてモーション・データ通りの軌道を忠実に実行することが好ましい。図6中に示したz軸方向の軌跡と表5中の目標力と適用率αとを比較して判るように、ペン先が描画面に接地し力制御パラメータとしての目標力が高い値に設定されている期間は、適用率αとして高い値が与えられる。これに対し、ペン先が描画面を離れ目標力が0に設定されている期間は、適用率αは0に設定されている。
【0105】
力制御パラメータをモーション・データに加えて記述することにより、モーション・データを再生するロボット側では、文字や絵を描画する動作中において、力制御パラメータに基づいて筆圧を考慮した描画動作を実演することができる。また、モーション・データを再生するロボット装置は、力制御パラメータに従って力制御を行ないながら絵や文字の描画動作を行なうので、描画している最中に移動したり形状が変化したりする物体に対しても容易に適用することができる。力制御パラメータ付きのモーション・データをロボット上で実際に再生するための処理については後に詳解する。
【0106】
本実施形態では、ロボットの用のモーション・データは、基本的には、表3及び表4に示した3次元描画軌道と、表5に示した力制御パラメータで構成される。さらに後続の処理ステップにより、ロボットが作業する3次元空間に再配置して座標変換を施し、各関節アクチュエータに対する指示値で表したものが、実際にロボットに投入されるモーション・データとなる。
【0107】
再び図4に戻って、後続の処理について説明する。続くステップS4では、ステップS3で導出された3次元軌道計画を3次元画面上に表示する。図8にはその様子を示している。画面上には描画の軌跡が残るので、ユーザは自分が描画している内容を随時確認することができる。
【0108】
また、ユーザは、この3次元表示画面を通じた対話型インタラクションに従って、3次元軌道計画を再配置することができる。すなわち、3次元軌道計画を必要に応じて移動、回転、若しくは座標変換を加えて、ロボットの作業空間である3次元空間上に任意の場所へ再配置することができる。さらに、この3次元画面を通じた対話型インタラクションにより、ユーザは、3次元軌道計画に従って文字又は絵の描画を行なう操作部位を指定することができる(ステップS5)。ここでは、再配置された3次元軌道計画で表される文字又は絵を、左右いずれのロボット・アームの手先を使って描画するかをユーザが指定する。
【0109】
このようにして、ユーザ入力された文字又は絵の描画情報が3次元空間上で再配置され、さらにこれを描画するのに使用するロボット・アームが指定されると、モーション編集装置は、この描画軌道を逆キネマティクス演算によって指定されたアームの各関節のアクチュエータへの指示値の軌道へと変換する(ステップS6)。
【0110】
そして、モーション編集装置は、変換された指示値の軌道計画に沿ってロボットが動作する様子を3次元画面上で再生する(図9を参照のこと)。ユーザは、この画面を見て、自ら手書き入力した文字又は絵を、ロボットが3次元空間上で描画する様子を確認することができる。
【0111】
続いて、モーション編集装置は、3次元空間上に再配置された3次元軌道に従って文字又は絵を描画する際に、ロボット・アームの物理制約である各関節アクチュエータの角度制限や角速度制限、出力トルク制限、動作による部品干渉などに抵触していないかを確認する(ステップS7)。
【0112】
ここで、いずれかの物理制約に抵触していることが判明した場合には、モーション編集装置はユーザにその詳細内容を提示し、再編集の実行を促す。
【0113】
また、いずれの物理制約にも抵触していない場合には、さらに、ユーザが当該3次元軌道計画の内容でよいか否か、ユーザにその決定を促す(ステップS8)。ユーザは、編集された3次元軌道計画が物理制約に抵触していない場合であっても、より滑らかな動作へ変更するなど、ユーザが納得する動作に至るまで、上記の処理ステップを繰り返して再編集を行なうことができる。
【0114】
ステップS7で物理制約に抵触していると判定された場合、あるいは編集された3次元軌道計画にユーザが納得しなかった場合には、軌道計画の内容の修正を行なう(ステップS9)。具体的には、以下の内容を修正することができる。
【0115】
(1)3次元空間への描画データの再配置
(2)描画データのサイズ変更
(3)描画時間の短縮又は拡張
(4)描画データ内の3次元軌道変更
(5)力制御パラメータの変更
【0116】
そして、描画のための3次元軌道計画が決定したら、その内容を、ロボットのホスト・コンピュータでロードすることができる情報ファイルとして出力する(ステップS10)。あるいはロボットへ直接転送するようにしてもよい。
【0117】
本実施形態に係るモーション編集装置では、目標力や適用率αといった力制御パラメータ付きのモーション・データを編集することができる。そして、力制御パラメータをモーション・データに加えて記述することにより、モーション・データを再生するロボット側では、文字や絵を描画する動作中において、力制御パラメータに基づいて筆圧を考慮した描画動作を実演することができる。また、モーション・データを再生するロボット装置は、力制御パラメータに従って力制御を行ないながら絵や文字の描画動作を行なうので、描画している最中に移動したり形状が変化したりする物体に対しても容易に適用することができる。
【0118】
ここで、ロボット装置が、力制御パラメータを用いながら、モーション・データで規定される3次元軌道計画を再生するための処理について説明する。
【0119】
ロボットのある操作部位における力制御すなわち仮想コンプライアンス制御は、以下の式(1)で表すことができる。ここで言う操作部位は、文字や絵を描画するためにペンを握った手先など、エンド・エフェクタに相当する部位である。
【0120】
【数1】

【0121】
但し、Fは操作部位に発生する力であり、xyz各軸方向に作用する3つの並進力Fx、Fy、Fzと、ロール、ピッチ、ヨーの各軸回りの3つの回転力Froll、Fpitch、Fyawを要素とする6次元ベクトルである。Fdも同様の6次元ベクトルであり、当該部位が目標とする力(例えば、ペン先で描画面を押し付ける力)を示す。これは、モーション・データ中の力制御パラメータとして与えられる。また、xは力制御により求まる当該操作部位に対する指令位置姿勢であり、xdは当該操作部位が目標とすべき目標位置姿勢である。その添え字n、n+1、n−1は、それぞれ現在時刻、1つ先の時刻、1つ前の時刻の値であることを示す。定数M、D、K、Kfはそれぞれ仮想質量、仮想ダンパ定数、仮想バネ定数、力フィードバック・ゲインである。
【0122】
また、Eは単位行列であり、Sはスイッチ行列diag(S1,…,S6)を示す。S=Eのときに全方向インピーダンス制御系となり、S=0のときに全方向力制御系となる。xとxdはFと同様に6次元ベクトルである。また、M、D、K、Kf、E、Sはそれぞれ6×6の行列である。
【0123】
なお、上式(1)において、力センサ取り付け位置よりも先端の重量が非常に大きく重力の影響が無視できない場合には、重力の影響を計算して、その力とモーメントをフィードフォワードし、重力補償を行なうようにしてもよい。
【0124】
また、上式(1)において、操作部位の目標位置姿勢xdを時間微分した項は、サーボ系の精度に依存するので、適宜同式(1)から省くようにしてもよい。
【0125】
そして、ロボットがΔt間隔の制御周期で制御される場合には、時刻nにおける力制御式は下式(2)のように表すことができる。
【0126】
【数2】

【0127】
なお、上式(2)において、操作部位の目標位置姿勢xdを時間微分した項は、サーボ系の精度に依存するので、適宜同式(2)からD(xdn−xd(n-1))/Δtの項を省くようにしてもよい。
【0128】
力制御を行なう際に、アクチュエータへの指示値の基準である、次の時刻における操作部位の指令位置姿勢xn+1が必要であるが、これは上式(2)を解くことによって求めることができる。
【0129】
上式において、力制御に使用するパラメータには、操作部位において目標となる力Fdと、仮想ダンパ定数D、仮想バネ定数Kなどが対象となる。目標となる力Fdに関しては、ユーザがマウスやタブレットを用いて文字や絵を手書き入力する際に描画情報から導出したり筆圧から直接取得したりすることが可能であり、表5に示したように、モーション・データに付加される力制御パラメータとしてロボットの制御システムに与えることができる(前述)。また、筆圧機能付きタブレットによって描画情報を得る場合には、時系列で取得された筆圧データをスケーリングやフィルタリング処理などを通じてFdの値へ変換することができる。
【0130】
ロボットの操作部位に対する指示値は、モーション・エディタで規定される描画のためのアーム軌道の指示値xn+1drawと、力制御に基づく指示値xn+1の2通りがある。力制御に基づくアクチュエータへの指示値の基準として、次の時刻における操作部位の指令位置姿勢xn+1が上式(2)及び(3)から求まると、続いて、力制御パラメータとして与えられた適用率αに基づいて、最終的なアクチュエータへの指示値xn+1tatgetを求める。
【0131】
適用率αは、モーション・データで規定される指示値に対する力制御に基づく指示値の占める割合若しくは寄与率を表す指標値である(前述)。最終的なアクチュエータへの指示値xn+1targetは、モーション・エディタで規定される描画を行なうためのアーム軌道の指示値xn+1drawと、力制御に基づく指示値xn+1の関係で表され、以下の式(4)で与えられる。
【0132】
【数3】

【0133】
例えば、適用率αを高くすると力制御を考慮した目標位置姿勢制御が行なわれるので、ロボットのアームがペン先で描画している期間ではαを高くすることが好ましい。これに対し、適用率αを低くするとモーション・データで規定される目標位置姿勢が重視されるので、ロボットのアームがペンを描画面から離して移動している期間はαを低くしてモーション・データ通りの軌道を忠実に実行させることが好ましい。
【0134】
図10には、ロボットが力制御パラメータ付きのモーション・データを再生して描画動作を行なうための処理手順をフローチャートの形式で示している。このような処理手順は、例えば、ロボットの動作を統括的にコントロールするホスト・コンピュータが実行する。但し、以下で言う操作部位は、例えば描画を行なうためのペンを持つアームの手先である。
【0135】
まず、力制御パラメータの初期設定として、仮想質量M、仮想ダンパ定数D、仮想バネ定数Kといった仮想定数や、その他のモデリング・データを設定する(ステップS21)。
【0136】
次いで、各種センサよりロボットの現在状態を取得する(ステップS22)。センサとして、各関節アクチュエータから得られる、回転角、角速度、出力トルクなどの値や、骨盤部に配設された加速度センサや姿勢センサの値、6軸力センサの値などである。当該ステップにより、操作部位に対して外から加わっている力Fを得ることができる。
【0137】
次いで、各関節アクチュエータからのフィードバック値に基づいて、順運動学演算により操作部位の現在位置姿勢xnを算出する(ステップS23)。
【0138】
次いで、モーション・データに基づいて、次の時刻における操作部位の目標位置姿勢xn+1drawを求める(ステップS24)。例えば、全身の軌道生成演算やモーション再生により、次の時刻における手先の目標位置を算出する。
【0139】
次いで、力制御に基づく次の時刻における操作部位の指令位置姿勢xn+1を求める(ステップS25)。すなわち、力センサ値、目標力値、手先指令位置姿勢の履歴、手先目標位置姿勢、手先の現在位置姿勢を基に、次の時刻の手先指令位置姿勢を求める。具体的には、上記の式(2)及び(3)を解いて指令位置姿勢xn+1を求めることができる。
【0140】
そして、力制御に基づく次の時刻における操作部位の指令位置姿勢xn+1が求まると、適用率αを反映させた最終的な指示位置姿勢xn+1targetを、上式(4)を用いて求める(ステップS26)。
【0141】
続いて、この最終的な操作部位への指示位置姿勢xn+1targetから、逆キネマティクス演算を用いて、各部の関節アクチュエータに対する角度指令値θn+1targetを算出する(ステップS27)。
【0142】
このようにして求められた各部の関節アクチュエータに対する角度指令値θn+1targetを、ロボットの入出力デバイスに出力し、各関節アクチュエータを作動させる(ステップS28)。
【0143】
上述したようなステップS22〜S28の処理を、モーション・データが終了するまで繰り返し実行する。
【0144】
ロボットの動作計画アプリケーションにおいて、各部位の位置指令の基準座標は任意に設定することができる。例えば、右手と左手のように、ロボットが複数の操作部位を備えている場合には、一方の操作部位を用いて操作対象に操作を与える際に、他方の操作部位を用いて操作対象に関する現在位置姿勢情報を取得し、操作対象に操作を与えるためのより正確な基準座標を設定することができる。
【0145】
より具体的な例で言えば、ロボットの左手を用いて、空中の任意の場所に設置されているキャンバスなどの描画面を力制御などにより支持して、描画面に関する現在位置姿勢情報を取得して、描画を行なうためのより正確な基準座標を設定する。そして、この基準座標系に基づいて、ペンを持つ右手の手先についてのより正確な目標位置姿勢の軌道を算出する。すなわち、左手先のローカル座標を原点にとって右手先の相対位置指令をモーション・データとして吐き出し、そのデータを実機側で効果的に利用して、ロバストな描画機能を実現することが可能となる。
【0146】
まず、左手を前述の仮想コンプライアント制御を用いて手の平が平面に倣い、且つ手の平鉛直下方向に一定の加重を掛けるように制御を行なう。これにより左手で紙面を押さえるなどの効果がある。
【0147】
次に、左腕の各関節角度センサの値から左手先の位置姿勢を求める。ペンを持つ右手に関しては、左手位置を原点としてモーション・データに記述されている位置姿勢に右手先を動かすように動作させる。
【0148】
この処理により描画すべき平面が動いたり傾いたりしてしまった場合においても、左手の平で感じた平面の動きに応じて、右手先軌道が追従しロバストな描画機能が実現することができる。
【0149】
図11には、力制御を適用しながら、ペンを持つ右手と描画面に倣う左手の協調動作によってロバストに描画させるための処理手順をフローチャートの形式で示している。このような処理手順は、例えば、ロボットの動作を統括的にコントロールするホスト・コンピュータが実行する。
【0150】
まず、左手を前述の仮想コンプライアント制御を用いて手の平が描画面としての平面に常時倣い、且つこの手の平鉛直下方向に一定の加重を掛けるように制御を行なう(ステップS31)。これにより左手で紙面を押さえるなどの効果がある。
【0151】
次いで、左腕の各関節角度センサの値から、順キネマティクス演算により、描画面に倣っている左手先の位置姿勢を算出する(ステップS32)。
【0152】
次いで、左手位置を原点として、モーション・データに記述されている、ペンで描画面に対して文字や絵を描く右手先の目標位置姿勢の軌道を、より正確に算出する(ステップS33)。
【0153】
次いで、力制御に基づく右手先の目標位置姿勢を求める(ステップS34)。さらに、適用率αを反映させた最終的な指示位置姿勢を求める(ステップS35)。
【0154】
そして、この最終的な右手先の指示位置姿勢から、逆キネマティクス演算を用いて、右腕の各各関節アクチュエータに対する角度指令値を算出する(ステップS36)。このようにして求められた各部の関節アクチュエータに対する角度指令値を、ロボットの入出力デバイスに出力し、右腕の各関節アクチュエータを作動させることにより、空間中に任意の場所に設置された描画面に対して文字や絵を描く動作を実現することができる。
【0155】
なお、ここでは平面を用いて説明したが、左手が曲面を検出した際には、その曲面に沿って右手先を動かすような軌道算出方法を用いて同様のロバスト描画機能が可能となる。また、このような各部位協調の機能は描画機能に限られる訳ではなく、多くの動作に有効である。また、操作部位に関しても右手と左手に限られる訳ではなく、ロボットの任意の操作部位間における協調に応用が可能である。
【産業上の利用可能性】
【0156】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0157】
本明細書では、ヒューマノイドに代表されるパートナー型ロボットがペンを保持した手先を用いて文字や絵を描画する場合を例にとって、本発明に係るモーション編集について説明してきたが、本発明の要旨はこれに限定されるものではない。すなわち、本発明は、文字や絵の描画だけでなく、複数の可動関節で構成されるロボット装置がエンド・エフェクタとしての操作部位を用いて特定の操作対象に操作を与えるさまざまな動作を実現するためのモーション・データの編集に利用することができる。また、本発明は、ヒューマノイド以外であっても、操作部位を有するさまざまなタイプのロボット装置用のモーション編集に利用することができる。
【0158】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【0159】
【図1】図1は、本発明の一実施形態に係るモーション編集装置のハードウェア構成を模式的に示した図である。
【図2】図2は、編集されたモーション・データを再生するロボット装置の自由度構成を示した図である。
【図3】図3は、図2に示したロボット装置における結線トポロジの構成例を示した図である。
【図4】図4は、モーション編集装置上でロボットの手先を用いた文字や絵の描画を行なうための動作計画を行なうための処理手順を示したフローチャートである。
【図5】図5は、マウス操作により描かれた2次元描画情報を3次元描画軌道に変換したときのxyz各軸の描画情報を示した図である。
【図6】図6は、マウス操作により描かれた2次元描画情報を3次元描画軌道に変換したときのxyz各軸の描画情報を、横軸を時間軸として表したチャートである。
【図7】図7は、図6に対応してz軸方向の目標力を導出した例を示した図である。
【図8】図8は、導出された3次元軌道計画を3次元画面上に表示した様子を示した図である。
【図9】図9は、変換された指示値の軌道計画に沿ってロボットが動作する様子を3次元画面上で再生する画面構成例を示した図である。
【図10】図10は、ロボットが力制御パラメータ付きのモーション・データを再生して描画動作を行なうための処理手順を示したフローチャートである。
【図11】図11は、ペンを持つ右手と描画面に倣う左手の協調動作によってロバストに描画させるための処理手順を示したフローチャートである。
【符号の説明】
【0160】
10…プロセッサ
20…メモリ
21…ディスプレイ・コントローラ
22…表示装置
23…入出力インターフェース
24…キーボード
25…マウス
26…ネットワーク・インターフェース
27…HDDコントローラ
28…HDD
30…バス

【特許請求の範囲】
【請求項1】
複数の可動関節で構成され、特定の操作対象に操作を与える操作部位を有するロボット装置の動作を規定するモーション・データを編集するモーション編集装置であって、
ロボット装置に描画させる文字又は絵をユーザが手書き入力する手書き入力手段と、
前記手書き入力手段により描かれる軌跡のうち描画中の部分と描画以外の部分を判別する描画軌跡判別手段と、
ユーザが手書き入力している軌跡を画面出力する手書き入力情報表示手段と、
前記手書き入力手段により入力された2次元描画情報及び前記描画軌跡判別手段による判別結果に基づいて、3次元軌跡計画を導出する3次元軌跡計画導出手段と、
前記3次元軌道計画導出手段により導出された3次元軌道計画を3次元画面上に表示する3次元軌道計画表示手段と、
該3次元画面を通じたユーザの対話型インタラクションに従って、該3次元軌道計画をロボット装置が作業する3次元空間上に再配置するとともに、該3次元軌道計画に従って文字又は絵の描画を行なう操作部位を指定する対話手段と、
該再配置された3次元軌道計画を、指定された操作部位を用いて描画するための、該操作部位を構成する各関節アクチュエータに対する指示値に変換する指示値変換手段と、
該変換された指示値を、ユーザが手書き入力した文字又は絵をロボット装置が3次元空間上で実現する3次元軌道計画を規定したモーション・データとして出力するモーション・データ出力手段と、
を具備することを特徴とするモーション編集装置。
【請求項2】
前記手書き入力手段はマウスで構成され、
前記描画軌跡判別手段は、マウス・ボタンがオン操作されている期間の軌跡を描画中の部分とし、オフ操作されている期間の軌跡を描画以外の部分と判別する、
ことを特徴とする請求項1に記載のモーション編集装置。
【請求項3】
前記手書き入力手段は筆圧機能付きタブレットで構成され、
前記描画軌跡判別手段は、筆圧が所定値を超える期間の軌跡を描画中の部分とし、筆圧が所定値以下となる期間の軌跡を描画以外の部分と判別する、
ことを特徴とする請求項1に記載のモーション編集装置。
【請求項4】
前記手書き入力情報表示手段は、描画中の軌跡を実線で表示し、描画以外の軌跡を実線以外で表示する、
ことを特徴とする請求項1に記載のモーション編集装置。
【請求項5】
前記3次元軌跡計画導出手段は、前記手書き入力手段から入力された2次元xy座標の時系列情報に基づいて3次元軌道計画における2次元xy平面上の時系列座標情報を決定するとともに、描画中に相当する点であるか否かに応じて3次元軌道計画におけるz軸座標値を与える、
ことを特徴とする請求項1に記載のモーション編集装置。
【請求項6】
前記3次元軌道計画導出手段は、前記手書き入力手段によるユーザ入力操作を通じて、ロボット装置が文字又は絵を描画する際の力制御に使用する力制御パラメータを導出し、
前記モーション・データ出力手段は、該力制御パラメータ付きのモーション・データを出力する、
ことを特徴とする請求項1に記載のモーション編集装置。
【請求項7】
前記3次元軌道計画導出手段は、描画中であるか否かに応じて与えた3次元軌道計画におけるz軸座標値に基づいて力制御パラメータを決定する、
ことを特徴とする請求項6に記載のモーション編集装置。
【請求項8】
前記手書き入力手段が筆圧機能付きタブレットで構成される場合に、
前記3次元軌道計画導出手段は、ユーザが前記タブレット上で文字又は絵を描いている際の筆圧に基づいて力制御パラメータを決定する、
ことを特徴とする請求項6に記載のモーション編集装置。
【請求項9】
前記3次元軌道計画導出手段は、力制御パラメータとして、描画面としてのxy平面に対して印加すべきz軸方向の目標力を決定する、
ことを特徴とする請求項6に記載のモーション編集装置。
【請求項10】
前記3次元軌道計画導出手段は、モーション・データで規定される目標位置姿勢に対する、力制御を考慮して求められる目標位置姿勢情報の割合を表す適用率αを力制御パラメータとして決定する、
ことを特徴とする請求項6に記載のモーション編集装置。
【請求項11】
前記指示値変換手段により変換された指示値の軌道計画に沿ってロボット装置が文字又は絵を描画する様子を3次元画面上で再生する画面再生手段をさらに備える、
ことを特徴とする請求項1に記載のモーション編集装置。
【請求項12】
3次元空間上に再配置された3次元軌道に従って文字又は絵を描画する際に、ロボット装置・アームの物理制約を抵触していないかを確認する物理制約確認手段をさらに備える、
ことを特徴とする請求項1に記載のモーション編集装置。
【請求項13】
複数の可動関節で構成され、特定の操作対象に操作を与えるエンド・エフェクタを有するロボット装置の動作を規定するモーション・データを編集するモーション編集方法であって、
ユーザが手書き入力する文字又は絵を入力する手書き入力ステップと、
前記手書き入力ステップにおいて描かれた軌跡のうち描画中の部分と描画以外の部分を判別する描画軌跡判別ステップと、
ユーザが手書き入力している軌跡を画面出力する手書き入力情報表示ステップと、
前記手書き入力ステップにおいて入力された2次元描画情報及び前記描画軌跡判別ステップにおける判別結果に基づいて、3次元軌跡計画を導出する3次元軌跡計画導出ステップと、
前記3次元軌道計画導出ステップにおいて導出された3次元軌道計画を3次元画面上に表示する3次元軌道計画表示ステップと、
該3次元画面を通じたユーザの対話型インタラクションに従って、該3次元軌道計画をロボット装置が作業する3次元空間上に再配置するとともに、該3次元軌道計画に従って文字又は絵の描画を行なう操作部位を指定する対話ステップと、
該再配置された3次元軌道計画を、指定された操作部位を用いて描画するための、該操作部位を構成する各関節アクチュエータに対する指示値に変換する指示値変換ステップと、
該変換された指示値を、ユーザが手書き入力した文字又は絵をロボット装置が3次元空間上で実現する3次元軌道計画を規定したモーション・データとして出力するモーション・データ出力ステップと、
を具備することを特徴とするモーション編集方法。
【請求項14】
前記手書き入力ステップでは、ユーザはマウスを用いて文字又は絵を手書き入力し、
前記描画軌跡判別ステップでは、マウス・ボタンがオン操作されている期間の軌跡を描画中の部分とし、オフ操作されている期間の軌跡を描画以外の部分と判別する、
ことを特徴とする請求項13に記載のモーション編集方法。
【請求項15】
前記手書き入力ステップでは、ユーザは筆圧機能付きタブレットを用いて文字又は絵を入力し、
前記描画軌跡判別ステップでは、筆圧が所定値を超える期間の軌跡を描画中の部分とし、筆圧が所定値以下となる期間の軌跡を描画以外の部分と判別する、
ことを特徴とする請求項13に記載のモーション編集方法。
【請求項16】
前記手書き入力情報表示ステップでは、描画中の軌跡を実線で表示し、描画以外の軌跡を実線以外で表示する、
ことを特徴とする請求項13に記載のモーション編集方法。
【請求項17】
前記3次元軌跡計画導出ステップでは、前記手書き入力手段から入力された2次元xy座標の時系列情報に基づいて3次元軌道計画における2次元xy平面上の時系列座標情報を決定するとともに、描画中に相当する点であるか否かに応じて3次元軌道計画におけるz軸座標値を与える、
ことを特徴とする請求項13に記載のモーション編集方法。
【請求項18】
前記3次元軌道計画導出ステップでは、前記手書き入力ステップにおけるユーザ入力操作を通じて、ロボット装置が文字又は絵を描画する際の力制御に使用する力制御パラメータを導出し、
前記モーション・データ出力ステップでは、該力制御パラメータ付きのモーション・データを出力する、
ことを特徴とする請求項13に記載のモーション編集方法。
【請求項19】
前記3次元軌道計画導出ステップでは、描画中であるか否かに応じて与えた3次元軌道計画におけるz軸座標値に基づいて力制御パラメータを決定する、
ことを特徴とする請求項18に記載のモーション編集方法。
【請求項20】
前記手書き入力ステップにおいてユーザが筆圧機能付きタブレットを用いて文字又は絵を入力した場合に、前記3次元軌道計画導出ステップでは、ユーザが前記タブレット上で文字又は絵を描いている際の筆圧に基づいて力制御パラメータを決定する、
ことを特徴とする請求項18に記載のモーション編集方法。
【請求項21】
前記3次元軌道計画導出ステップでは、力制御パラメータとして、描画面としてのxy平面に対して印加すべきz軸方向の目標力を決定する、
ことを特徴とする請求項18に記載のモーション編集方法。
【請求項22】
前記3次元軌道計画導出ステップでは、モーション・データで規定される目標位置姿勢に対する、力制御を考慮して求められる目標位置姿勢情報の割合を表す適用率αを力制御パラメータとして決定する、
ことを特徴とする請求項18に記載のモーション編集方法。
【請求項23】
前記指示値変換ステップにおいて変換された指示値の軌道計画に沿ってロボット装置が文字又は絵を描画する様子を3次元画面上で再生する画面再生ステップをさらに備える、
ことを特徴とする請求項13に記載のモーション編集方法。
【請求項24】
3次元空間上に再配置された3次元軌道に従って文字又は絵を描画する際に、ロボット装置・アームの物理制約を抵触していないかを確認する物理制約確認ステップをさらに備える、
ことを特徴とする請求項13に記載のモーション編集方法。
【請求項25】
複数の可動関節で構成され、特定の操作対象に操作を与える操作部位を有するロボット装置の動作を規定するモーション・データを編集するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
ユーザが手書き入力する文字又は絵を入力する手書き入力手順と、
前記手書き入力手順において描かれた軌跡のうち描画中の部分と描画以外の部分を判別する描画軌跡判別手順と、
ユーザが手書き入力している軌跡を画面出力する手書き入力情報表示手順と、
前記手書き入力手順において入力された2次元描画情報及び前記描画軌跡判別手順における判別結果に基づいて、3次元軌跡計画を導出する3次元軌跡計画導出手順と、
前記3次元軌道計画導出手順において導出された3次元軌道計画を3次元画面上に表示する3次元軌道計画表示手順と、
該3次元画面を通じたユーザの対話型インタラクションに従って、該3次元軌道計画をロボット装置が作業する3次元空間上に再配置するとともに、該3次元軌道計画に従って文字又は絵の描画を行なう操作部位を指定する対話手順と、
該再配置された3次元軌道計画を、指定された操作部位を用いて描画するための、該操作部位を構成する各関節アクチュエータに対する指示値に変換する指示値変換手順と、
該変換された指示値を、ユーザが手書き入力した文字又は絵をロボット装置が3次元空間上で実現する3次元軌道計画を規定したモーション・データとして出力するモーション・データ出力手順と、
を実行することを特徴とするコンピュータ・プログラム。
【請求項26】
複数の可動関節で構成され、特定の操作対象に操作を与える操作部位を有し、動作を規定するモーション・データを再生するロボット装置であって、
モーション・データは、操作部位に関する時系列的な位置姿勢を規定するとともに、操作部位が操作対象に与える目標力を少なくとも力制御パラメータとして含み、
現在の各関節角並びに操作部位に加わる外力を検出する検出手段と、
現在の各関節角に基づいて操作部位の現在の位置姿勢を算出する現在位置姿勢算出手段と、
モーション・データに従って次の時刻における操作部位の目標位置姿勢を算出する目標位置姿勢算出手段と、
力制御パラメータとして与えられる目標力及び前記検出手段により検出された外力に基づいて得られる力を用いて操作部位に関する力制御を行ない、力制御に基づく操作部位の目標位置姿勢を算出する力制御手段と、
前記目標位置姿勢算出手段によりモーション・データから求められる目標位置姿勢、及び前記力制御手段により力制御を考慮して求められる目標位置姿勢に基づいて、操作部位に関する最終的な目標位置姿勢を決定する目標位置姿勢決定手段と、
操作部位に関する最終的な目標位置姿勢を、該操作部位を構成する各関節アクチュエータに対する指示値に変換する指示値変換手段と、
該変換された指示値に従って各関節アクチュエータを駆動する駆動制御手段と、
を具備することを特徴とするロボット装置。
【請求項27】
モーション・データは、前記目標位置姿勢算出手段によりモーション・データから求められる目標位置姿勢に対する前記力制御手段により力制御を考慮して求められる目標位置姿勢の割合を表す適用率を力制御パラメータとして含み、
前記目標位置姿勢決定手段は、該適用率に基づいて操作部位に関する最終的な目標位置姿勢を決定する、
ことを特徴とする請求項26に記載のロボット装置。
【請求項28】
操作対象に操作を与える第1の操作部位以外に、該操作対象を支持することができる第2の操作部位を有し、
前記第2の操作部位を力制御に基づいて操作対象を支持させる操作対象支持手段と、
操作対象を支持する前記第2の操作部位における各関節角に基づいて、前記第2の操作部位の現在位置姿勢を算出する第2の現在位置姿勢算出手段とをさらに備え、
前記目標位置姿勢算出手段は、前記第2の操作部位の現在位置姿勢に基づいて、モーション・データに従って前記第1の操作部位が操作対象に操作を与えるための位置姿勢の軌道を算出し、
前記目標位置姿勢決定手段は、前記第2の操作部位の現在位置姿勢に基づいてモーション・データから求められる目標位置姿勢、及び前記力制御手段により力制御を考慮して求められる目標位置姿勢に基づいて、前記第1の操作部位に関する最終的な目標位置姿勢を決定し、
前記指示値変換手段は、前記第1の操作部位に関する最終的な目標位置姿勢を、前記第1の操作部位を構成する各関節アクチュエータに対する指示値に変換する、
ことを特徴とする請求項26に記載のロボット装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate