JP2007125645A - ロボット動作編集システム - Google Patents
ロボット動作編集システム Download PDFInfo
- Publication number
- JP2007125645A JP2007125645A JP2005320379A JP2005320379A JP2007125645A JP 2007125645 A JP2007125645 A JP 2007125645A JP 2005320379 A JP2005320379 A JP 2005320379A JP 2005320379 A JP2005320379 A JP 2005320379A JP 2007125645 A JP2007125645 A JP 2007125645A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- data
- motion
- editing system
- unit
- 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
Links
Images
Abstract
【課題】ロボット動作編集システムにおいて、ロボット実機による検証を省略して効率向上を図ること。
【解決手段】ロボット動作編集システムは、モーション入力部、データ形式変換部、モーション編集部、ロボット用データ生成部を備える。ロボット用データ生成部は、モーション編集部で制作された動作データに対する関節構造変換処理部と、関節構造変換処理部から出力されるデータを平滑化処理する平滑化処理部と、平滑化処理部から出力されるデータを用いてロボットの駆動回路の挙動を検証する駆動回路検証部とを備え、ロボットを動作させるための動作データの連続性を保つように処理する機能と、ロボットの駆動回路における駆動電流が許容範囲内に収まるようにデータを変換する機能とを有する。
【選択図】図2
【解決手段】ロボット動作編集システムは、モーション入力部、データ形式変換部、モーション編集部、ロボット用データ生成部を備える。ロボット用データ生成部は、モーション編集部で制作された動作データに対する関節構造変換処理部と、関節構造変換処理部から出力されるデータを平滑化処理する平滑化処理部と、平滑化処理部から出力されるデータを用いてロボットの駆動回路の挙動を検証する駆動回路検証部とを備え、ロボットを動作させるための動作データの連続性を保つように処理する機能と、ロボットの駆動回路における駆動電流が許容範囲内に収まるようにデータを変換する機能とを有する。
【選択図】図2
Description
本発明は、ロボット動作編集システムに係り、特に、外部から取り込んだ動作データをロボットに適用できる形式に編集、処理、出力するロボット動作編集システムに好適なものである。
最近になって、ロボットの開発が急速に進み、幅広い分野での応用が期待されている。特に、「ヒューマノイドタイプ」という名称で分類されるロボットは、人間との共生を目的として、日常生活のさまざまな場面で、人間の行動を支援するための開発が精力的に進められている。
人間との共生においては、人とロボットとの間のコミュニケーションが重要な要素となる。ここで、コミュニケーションとは、音声認識、音声合成などの技術による言語のコミュニケーションだけでなく、ボディーランゲージなどによる、非言語コミュニケーションを含む。このような高度なコミュニケーションを実現するためには、腕や頭などのボディパーツの動作によるニュアンスの表現が要求される。また、腕や頭の繊細な動きを、ロボットに円滑に実行させるためには、各パーツを駆動するアクチュエータを制御モジュールに対する、関節角度、角速度および角加速度の指令値(目標値)が連続であり、かつ、アクチュエータの駆動電流の許容範囲内に収まる必要がある。従来の一般的なロボットの単純な動作では、上述した高度な非言語コミュニケーションをとることが困難であった。
そこで、脚式移動ロボットのための動作編集装置として、特開2003−266347号公報(特許文献1)に開示された技術が提案されている。この特許文献1には、コンピュータ画面上にロボットのCGモデルを表示して、滑らかな動作を編集する装置が開示されている。この動作編集装置では、運動学に基づくシミュレーションにより、関節角度、角速度、角加速度の連続性の確保が実現されている。
また、ロボット装置のためのモーション編集装置として、特開2004−1448492号公報(特許文献2)に開示された技術が提案されている。この特許文献2には、コンピュータ上で編集したロボットの動作を、ロボット本体を動かして確認して、編集システムにフィードバックする技術が開示されている。
しかし、特許文献1の動作編集装置では、アクチュエータ駆動回路系の電流の許容範囲を考慮した動作編集は実現されていない。また、特許文献2のモーション編集装置では、編集するたびに、ロボット本体に動作のデータを入力して確認しなければならず、ロボット動作の編集や修正作業が不便であった。
したがって、ロボットの動作データの効率的な開発には、運動学に基づくシミュレーションとともに、アクチュエータ駆動系のモデルによる回路シミュレータを実装した編集システムの開発が必要となる。特に、入力したモーションをリアルタイムで処理して、ロボットに実行させるような場合には、上述した運動学のシミュレーションと駆動回路シミュレーションの連携が必要であるが、これまで、このようなことに配慮がなされていなかった。
本発明の目的は、ロボット実機による検証を省略して効率向上を図ることができるロボット動作編集システムを提供することにある。
前述の目的を達成するために、本発明は、外部から人間の動作あるいは人間の動作に類似した動作データを取り込むモーション入力部と、前記モーション入力部で取り込んだ動作データの形式を変換するデータ形式変換部と、前記データ形式変換部で形式を変換された動作データを編集して新しい動作データを制作するモーション編集部と、前記モーション編集部で制作された動作データに基づいてロボット用データを生成してロボットに所定の形式の動作データを出力するロボット用データ生成部とを備える、コンピュータによるロボット動作編集システムであって、前記ロボット用データ生成部は、前記モーション編集部で制作された動作データに対する関節構造変換処理部と、前記関節構造変換処理部から出力されるデータを平滑化処理する平滑化処理部と、前記平滑化処理部から出力されるデータを用いてロボットの駆動回路の挙動を検証する駆動回路検証部と、を備え、ロボットを動作させるための動作データの連続性を保つように処理する機能と、ロボットの駆動回路における駆動電流が許容範囲内に収まるようにデータを変換する機能とを有する構成にしたことにある。
係る本発明のより好ましい具体的な構成例は次の通りである。
(1)前記ロボット用データ生成部から出力される動作データは、所定時間ごとの、ロボットのアーム部関節およびヘッド部関節における関節角度、角速度および角加速度と、移動上における座標、方位、速度、加速度および躍度の目標値と、を時系列に記述したものであること。
(2)前記アーム部関節の関節角度、角速度および角加速度は、前記平滑化処理部において角速度および角加速度を平滑化処理して関節角度の目標値を補正したものであること。
(3)前記移動上の座標、方位、速度、加速度および躍度の目標値は、指定時刻と前記指定時刻におけるロボットの座標を記述したファイルを基に補間処理によりデータ生成されること。
(4)前記ロボット用データ生成部で処理された動作データをロボットの関節の回転角度を時系列に記述した形式でロボットに出力すること。
(5)前記ロボットの関節の回転角度を時系列に記述した形式で出力した動作データを前記モーション編集部で確認すること。
(6)前記モーション入力部はモーションキャプチャにより人間の動作を取り込むこと。
(7)前記モーション入力部は人型のデバイスにフレームごとのポーズを形作って連続する動作データを生成すること。
(8)前記データ形式変換部は前記モーションキャプチャのデータをマーカの3次元座標配列を記述したデータに変換すること。
(9)前記データ形式変換部は人型のデバイスで取り込んだ一連のポーズデータを関節角度の時系列データに変換すること。
(1)前記ロボット用データ生成部から出力される動作データは、所定時間ごとの、ロボットのアーム部関節およびヘッド部関節における関節角度、角速度および角加速度と、移動上における座標、方位、速度、加速度および躍度の目標値と、を時系列に記述したものであること。
(2)前記アーム部関節の関節角度、角速度および角加速度は、前記平滑化処理部において角速度および角加速度を平滑化処理して関節角度の目標値を補正したものであること。
(3)前記移動上の座標、方位、速度、加速度および躍度の目標値は、指定時刻と前記指定時刻におけるロボットの座標を記述したファイルを基に補間処理によりデータ生成されること。
(4)前記ロボット用データ生成部で処理された動作データをロボットの関節の回転角度を時系列に記述した形式でロボットに出力すること。
(5)前記ロボットの関節の回転角度を時系列に記述した形式で出力した動作データを前記モーション編集部で確認すること。
(6)前記モーション入力部はモーションキャプチャにより人間の動作を取り込むこと。
(7)前記モーション入力部は人型のデバイスにフレームごとのポーズを形作って連続する動作データを生成すること。
(8)前記データ形式変換部は前記モーションキャプチャのデータをマーカの3次元座標配列を記述したデータに変換すること。
(9)前記データ形式変換部は人型のデバイスで取り込んだ一連のポーズデータを関節角度の時系列データに変換すること。
本発明のロボット動作編集システムによれば、コンピュータ上で動作編集、シミュレーションおよび動作データ生成までを自動的に行ってロボット実機による検証を省略することができ、これによって効率向上を図ることができる。
以下、本発明の一実施形態のロボット動作編集システムについて図1から図9を用いて説明する。
まず、本実施形態のロボット動作編集システム1の全体に関して図1を参照しながら説明する。図1は本実施形態に係るロボット動作編集システム1の構成図である。
ロボット動作編集システム1は、外部から人間の動作あるいは人間の動作に類似した動作データを取り込むモーション入力部13と、モーション入力部13で取り込んだ動作データの形式を変換するデータ形式変換部14と、データ形式変換部14で形式を変換された動作データを編集して新しい動作データを制作するモーション編集部11と、モーション編集部11で制作された動作データに基づいてロボット用データを生成してロボットに所定の形式の動作データを出力するロボット用データ生成部12とを備え、コンピュータにより構成されている。ロボット用データ生成部12には、アームデータ生成部121、移動データ生成部122およびヘッドデータ生成部123が備えられている。
モーション入力部13は人型のデバイスにフレームごとのポーズを形作って連続する動作データを生成するようになっている。データ形式変換部14はモーションキャプチャのデータをマーカの3次元座標配列を記述したデータに変換するようになっている。このデータ形式変換部14は人型のデバイスで取り込んだ一連のポーズデータを関節角度の時系列データに変換するようになっている。
また、ロボット用データ生成部123は、図1に示していないが、モーション編集部11で制作された動作データに対する関節構造変換処理部と、この関節構造変換処理部から出力されるデータを平滑化処理する平滑化処理部と、この平滑化処理部から出力されるデータを用いてロボットの駆動回路の挙動を検証する駆動回路検証部と、を備えて構成されている。
さらに、ロボット用データ生成部123は、ロボットを動作させるための動作データの連続性を保つように処理する機能と、ロボットの駆動回路における駆動電流が許容範囲内に収まるようにデータを変換する機能とを有している。
ロボット用データ生成部12から出力される動作データは、所定時間ごとの、ロボットのアーム部関節およびヘッド部関節における関節角度、角速度および角加速度と、移動上における座標、方位、速度、加速度および躍度の目標値と、を時系列に記述したものである。アーム部関節の関節角度、角速度および角加速度は、平滑化処理部において角速度および角加速度を平滑化処理して関節角度の目標値を補正したものである。移動上の座標、方位、速度、加速度および躍度の目標値は、指定時刻と前記指定時刻におけるロボットの座標を記述したファイルを基に補間処理によりデータ生成される。ロボット用データ生成部12で処理された動作データとしてロボットの関節の回転角度を時系列に記述した形式でロボットに出力するようになっており、このロボットの関節の回転角度を時系列に記述した形式で出力した動作データをモーション編集部11で確認するようになっている。
ロボット動作編集システム1では、まず、コンピュータの中で処理できるように、人間の動作などのデータをモーション入力部13により取り込む。モーション入力部13に取り込まれた動作データは、データ形式変換部14により動作データの書式(形式)が変換された後、モーション編集部11により一連の動作のつなぎやポーズの修正などの編集作業が施される。モーション編集部11で編集された動作データは、ロボット用データ生成部12によりロボット2に動作を実行させるための新たな動作データに生成される。この新たな動作データは、ロボット用データ生成部12内に備えられたアームデータ生成部121、移動データ生成部122およびヘッドデータ生成部123により、ロボット2のパーツ毎に分解されて運動学シミュレーションで補正される。上述の手順により生成されたロボット用動作データは、ロボット2に入力される。ロボット2は、このデータに基づいて、動作を実行する。
上述した構成によって、ロボットが高度な非言語コミュニケーションをとることを可能としつつ、ロボット動作の編集からシミュレーションおよび動作確認までの全ての作業をコンピュータ上で可能にするとともにロボット動作の作業効率を向上することができる。
次に、本実施形態におけるロボット動作編集システム1の動作データの具体的処理に関して図2を参照しながら説明する。図2は本実施形態に係るロボット動作編集システム1の動作データ処理フローを示す図である。
図1のモーション入力部13に該当する部分は、図2におけるモーションキャプチャ13aおよびモーション入力デバイス13bである。モーションキャプチャ13aは、人間の動作をカメラで撮影して、コンピュータ内で処理できるデータに変換するシステムである。モーション入力デバイス13bは、例えば、人形などに取らせたポーズを逐次取り込んで、一連の動作をコンピュータ上で生成する装置である。これらのデータは、データ形式変換部14において、それぞれ、C3D形式のマーカ座標データ14aおよびBVH形式の関節角度データ14bに変換された後、アニメーションエディタ11に入力される。
アニメーションエディタ11は、図1におけるモーション編集部11に該当する。アニメーションエディタ11では、CGモデルにマーカ座標データ14aまたは関節角度データ14bを割り付けて、コンピュータの画面上で、ロボット動作の編集作業や補正作業をする。CGモデルは、CG制作ソフト15において、あらかじめ編集される。制作されたCGモデルは、CGデータ11bとして出力され、アニメーションエディタ11に読み込まれる。
上述した手順により編集されたCGモデルの動作データは、関節角度データ11aとして出力される。この関節角度データ11aは、例えば、BVH形式の車輪位置、スイング角、関節角度などを含む。
出力された関節角度データ11aをロボットが実行できるように変換するため、図1に示すロボット用データ生成部12において、関節角度データ11aを処理する。
アニメーションエディタ11から出力された関節角度データ11aには、アームの関節に関する角速度および角加速度の指令値が含まれていない。そこで、アームシミュレータ121において、関節角度データ11aからアームの関節に関する角速度および角加速度のデータを生成する。
また、移動に関する動作データについては、速度指示データファイル12bのデータに基づいて、移動に関する動作データの速度および加速度のデータを生成する。即ち、速度指示データファイル12bにより、あらかじめ、速度、加速度、座標などの目標値を指定しておき、これらのデータと関節角度データ11aとのタイミングを読み出し速度調整・補間処理12aで調整し、速度指示データファイル12bからのデータに基づいて、速度生成処理12eで移動シミュレータ122のための速度目標値、加速度目標値を設定したり、位置変換処理12dで移動系のために原点座標を変換したりする。
さらに、アームの動作については、CGモデルの関節構造からロボットの関節構造への変換処理12cを施す。アームの動作では、アームの自重を考慮する必要があるため、重力補償処理12fでデータを処理する。その後、アームシミュレータ121において、ロボットが関節角度データ11aに基づく動作を実行するときの、アームの関節角度、速度指令値、加速度指令値を求めて、ロボット用動作データ12kに出力する。ヘッドシミュレータ123についても、同様にしてヘッド動作の関節角度、角速度、角加速度の指令値を求めて、ロボット用動作データ12kに出力する。
同様にして、移動シミュレータ122においても、座標、速度、加速度の目標値を元に、ロボットの移動をシミュレーションして、それぞれのパラメータの指令値を求める。これらのパラメータも同様に、ロボット用動作データ12kに出力される。
アームシミュレータ121および移動シミュレータ122から出力されたこれらの動作データは、ロボット用動作データ12kとしてロボット2に入力される前に、間引き処理12iによりロボット2側での読み出しタイミングに変換される。このとき、必要に応じて、補助動作データファイル12Lに格納された他のロボットや障害物の座標データを同時に、ロボットに入力するようにしてもよい。
アームシミュレータ121および移動シミュレータ122から出力されたデータは、関節逆変換処理12gおよび位置逆変換処理12hにより関節角度データ12jに変換される。関節角度データ12jは、例えば、BVH形式の車輪位置、スイング角、関節角度などである。この関節角度はCG用回転順序での角度である。この関節角度データ12jはアニメーションエディタ11で読み込まれ、アームシミュレータ121および移動シミュレータ122の結果をコンピュータ画面上で視覚的に確認できる。
上述した、編集、生成、確認の作業を繰り返して、適切なロボット用動作データ12kを最終的に出力する。また、ロボット用動作データ12kを、高精度動力学シミュレータ3で解析することにより、より精度の高いロボット用動作データ12kとして出力するようにしてもよい。
次に、図3および図4を参照しながら、アームシミュレータ121の具体的な構成及び処理動作に関して説明する。
図3(a)は図2におけるアームシミュレータ121の計算手順をブロック線図で記した図である。アームシミュレータ121は、フレームごとに、関節角度指令値まで関節を動作させるために必要となる角速度および角加速度を算出し、角速度および角加速度に対して、リミッタ処理(速度リミッタ処理121a、角速度リミッタ処理121bおよび角度リミッタ処理121c)を施すことにより、データが不連続になることを防いでいる。
図3(b)はアームシミュレータ121における関節角度の上限値および下限値に対する角速度の拘束条件を説明する図である。
関節角度の上限値および下限値近傍の関節角度θにおける角速度ωは、次の式(1)および式(2)で与えられる。
ω=ωmax×sqrt{ α×(θmax−θ) } (1)
ω=ωmin×sqrt{ α×(θ−θmin) } (2)
これらの拘束条件により、アームを駆動するモータの制御への負担を軽減できる。ここで、ωmaxおよびωminは、それぞれ角速度の上限値または下限値である。θmaxおよびθminは、それぞれ関節角度の上限値および下限値である。αは減衰係数であり、一定の定数である。なお、ωhigh=sqrt{ 2α×(θmax−θ) }、ωlow=sqrt{ 2α×(θ−θmin) }、α:減速レート(<αmax)である。
ω=ωmax×sqrt{ α×(θmax−θ) } (1)
ω=ωmin×sqrt{ α×(θ−θmin) } (2)
これらの拘束条件により、アームを駆動するモータの制御への負担を軽減できる。ここで、ωmaxおよびωminは、それぞれ角速度の上限値または下限値である。θmaxおよびθminは、それぞれ関節角度の上限値および下限値である。αは減衰係数であり、一定の定数である。なお、ωhigh=sqrt{ 2α×(θmax−θ) }、ωlow=sqrt{ 2α×(θ−θmin) }、α:減速レート(<αmax)である。
図4は図3のアームシミュレータ121の計算手順をフローチャートとして表した図である。アームシミュレータ121の計算手順はフレームi=0番目から開始し(ステップS1)、まず、関節角度の指令値θRefを読み込み(ステップS2)、現在の関節角度θActとの差分Δθを求める(ステップS3)。次いで、差分Δθから、角速度指令値ωRefを求める(ステップS4)。
次いで、ステップS4で求められた角速度指令値ωRefが許容範囲を逸脱しているかを判定する(ステップS5)。ここで、ステップS4で求められた角速度指令値ωRefが許容範囲を逸脱していない場合には、求められた角速度指令値ωRefを角速度指令値として適用する(ステップS6)。一方、ステップS4で求められた角速度指令値が許容範囲を逸脱している場合には、角速度の上限値ωmaxおよび下限値ωminで制約をかける処理を施して角速度指令値として適用する(ステップS7)。このとき、図3(b)に示してある関節角度と角速度との拘束関係を角速度指令値ωRefに対して適用する。
次いで、ステップS6またはステップS7で適用された角速度指令値ωRefと現在の角速度ωActとの差分Δωを求め(ステップS8)、この差分Δωから角加速度指令値βRefを求める(ステップS9)。
次いで、ステップS9で求められた角加速度指令値βRefが許容範囲を逸脱しているかを判定する(ステップS10)。ここで、ステップS9で求められた角加速度指令値βRefが許容範囲を逸脱していない場合には、求められた角加速度指令値βRefを角加速度指令値として適用する(ステップS11)。一方、ステップS9で求められた角加速度指令値βRefが許容範囲を逸脱している場合には、角加速度の上限値ωmaxおよび下限値ωminで制約をかける処理を施して角加速度指令値として適用する(ステップS12)。
ステップS11またはステップS12で適用された角加速度指令値βRefは、ファイルに出力される(ステップS13)とともに、フレームレートとかけることにより角速度指令値ωActを求める(ステップS14)。角速度指令値ωActをロボット用動作データファイル12kに出力する(ステップS15)とともに、関節角度の指令値θActを計算し(ステップS16)、関節角度の指令値θActを新しい関節角度としてロボット用動作データファイル12kに出力する(ステップS17)。
そして、フレームの順番が何番目かを判定し(ステップS18)、フレームの順番が最終のn番目になるまで、上述した手順を各フレームに対して実行することにより、アーム動作のシミュレーションが実行される。これらのシミュレーション結果がロボット用動作データ12kに出力される。
次に、図5を参照しながら、アームシミュレータ121による処理の前後における関節角度、角速度および角加速度の様子について説明する。図5(a)は本実施形態のアームシミュレータ121による処理を施す前の関節角度、角速度および角加速度の様子を示すグラフ、図5(b)は本実施形態のアームシミュレータ121による処理を施す前の関節角度、角速度および角加速度の様子を示すグラフである。
図5(a)に示すシミュレーション前のグラフにおいて、角加速度にはスパイク状に不連続になっている箇所が見られる。そのため、角速度も、滑らかに変化せず、グラフが折れ曲がる箇所がある。これに対して、図5(b)のシミュレーション後のグラフでは、角速度や角加速度の不連続点がスムージング処理されて、連続的なグラフになっていることが分かる。
ところで、図4のフローチャートに示すように、角速度、角加速度にスムージング処理を施すことにより、最終段で出力される関節角度は、本来の角度より変化が緩やかになるため、絶対値がずれる可能性がある。そこで、図3(a)のシミュレータアルゴリズムの中に、関節角度の出力に誤差が生じないように角加速度指令値βRefに対して、オフセット処理を加えるなどの補正処理を加えると、アームシミュレータ121の精度が高くなる。
次に、図6を参照しながら、移動系シミュレータ122の具体的な処理動作及び構成に関して説明する。図6は本実施形態の移動系シミュレータ122のアルゴリズムを計算フローチャートとして示した図である。
移動系シミュレータ122の計算手順はフレームi=0番目から開始し(ステップS1)、まず、速度指示データファイルから速度指示データを読み込み、加速度の勾配である躍度を定義する(ステップS22)。この躍度を積分して加速度目標値aRefを求める(ステップS33)。
次いで、ステップS33で求められた加速度目標値aRefが許容範囲内を逸脱しているかを判定する(ステップS34)。ここで、ステップS33で求められた加速度目標値aRefが許容範囲を逸脱していない場合には、ステップS33で求められた加速度目標値aRefを加速度目標値として適用する(ステップS35)。一方、ステップS33で求められた加速度目標値aRefが許容範囲内を逸脱している場合は、加速度の上限値aMaxおよび下限値aMinによるリミッタ処理を施して加速度目標値として適用する(ステップS36)。
次いで、ステップS35またはステップS36で適用された加速度目標値aRefから速度目標値VRefを求める(ステップS37)。
次いで、ステップS37で求められた速度目標値VRefが許容範囲内を逸脱しているかを判定する(ステップS38)。ここで、ステップS37で求められた速度目標値VRefが許容範囲を逸脱していない場合には、ステップS37で求められた速度目標値VRefを速度目標値として適用する(ステップS39)。一方、ステップS33で求められた速度目標値VRefが許容範囲内を逸脱している場合は、速度目標値の上限値aMaxおよび下限値aMinによるリミッタ処理を施して速度目標値として適用する(ステップS40)。
次いで、ステップS40で求められた速度指令値VRefから移動距離指令値SRefを求める(ステップS41)。
以上の、加速度目標値aRef、速度目標値VRefおよび移動距離目標値SRefをロボット用動作データファイル12kに出力する。
そして、フレームの順番が何番目かを判定し(ステップS42)、フレームの順番が最終のn番目になるまで、上述した手順を各フレームに対して実行することにより、アーム動作のシミュレーションが実行される。これらのシミュレーション結果がロボット用動作データ12kに出力される。
次に、図7から図9を参照しながら、本実施形態のロボットの駆動回路における駆動電流が許容範囲内に収まるように制御することに関して説明する。
本実施形態では、上述の図6に示す手順により生成された動作データを用いて、さらにアクチュエータの駆動回路モデルによるシミュレーションで駆動電流を検証するようになっている。この駆動電流がアクチュエータの許容範囲を越えているかどうかをチェックすることで、ロボットの実機動作の安定性を確保する。即ち、ロボットの駆動回路により駆動されるアクチュエータにおける駆動電流が許容範囲内に収まるように、その駆動電流を用いてデータを変換して制御するようになっている。
図7は本実施形態のアームシミュレータ121または移動系シミュレータ122で生成された動作データに基づくアクチュエータ4の駆動制御の一例を示す図である。図7において、アームシミュレータ121または移動系シミュレータ122により生成されてロボット用動作データファイル12kに格納された動作データである関節角度、角速度および角加速度などは、換算処理モジュール12mに送信される。この換算処理モジュール12mで、関節角度はエンコーダ5のパルスカウント値に変換され、エンコーダ指令値信号12nとしてアクチュエータ駆動回路12pに入力される。また、換算処理モジュール12mで、角速度、角加速度に応じてアクチュエータ4の駆動パルス信号のパルス幅が、パルス幅(PWM)変調により調節され、PWM変調信号120としてアクチュエータ駆動回路12pに入力される。
アクチュエータ駆動回路12pに入力されたこれらの信号12n、12oに基づいて、アクチュエータ4が回転される。アクチュエータ4の回転は、図中に明示しない関節機構に伝達されて、アームが駆動される。これと同時に、アクチュエータ4の回転は、軸41、ギア42、ギア52、軸51を介して、エンコーダ5に伝達される。エンコーダ5のパルス値はアクチュエータ駆動回路12pに戻され、エンコーダ指令値12nと一致したところで、アクチュエータ駆動回路12pによりアクチュエータ4の駆動が停止される。ここで、入力された信号に対する過渡的な応答を含めて、アクチュエータ駆動回路12pからアクチュエータ4に流れる電流が、許容範囲を超過しないようにする必要がある。
そこで、本実施形態では、図8(a)に示すアクチュエータ駆動回路シミュレータ12qにより、アクチュエータ駆動電流Idをチェックするように構成されている。PWM信号12oとエンコーダ指令値12nは、シミュレータ121、122上において、図7の制御系と同じアルゴリズムで、関節角度、角速度、角加速度の値から導出される。アクチュエータ駆動回路シミュレータ12qは、負荷モデル12sを含むアクチュエータ駆動回路モデル12rと、電流値決定モジュール12tと、電流リミッタモジュール12vとを備えて構成されている。
アクチュエータ駆動回路モデル12rは、図8(b)に示すように、電源系と、インピーダンスZLを有するアクチュエータ負荷モデルとから構成されている。電流値決定モジュール12tでは、この回路モデルに基づいて、必要な駆動電流を求める。ここで、駆動するために必要な電流Idは、次の式(3)で与えられる。
Id=V/(Rs+ZL) (3)
この駆動電流Idの値は、電流リミッタモジュール12vで許容範囲内か否かが判別される。許容範囲内であれば、アクチュエータ駆動回路モデルに戻されて、動作データがそのまま出力される。他方、電流が許容範囲を超過した場合には、駆動電流Idが制限値に修正された値で、アクチュエータ駆動回路モデル12rに戻される。このとき、制限された駆動電流Idに見合うように、元の動作データが修正されて、出力される。各フレームの動作データ全てに対して、この手順を繰り返して、最終的なロボット用動作データが出力される。
Id=V/(Rs+ZL) (3)
この駆動電流Idの値は、電流リミッタモジュール12vで許容範囲内か否かが判別される。許容範囲内であれば、アクチュエータ駆動回路モデルに戻されて、動作データがそのまま出力される。他方、電流が許容範囲を超過した場合には、駆動電流Idが制限値に修正された値で、アクチュエータ駆動回路モデル12rに戻される。このとき、制限された駆動電流Idに見合うように、元の動作データが修正されて、出力される。各フレームの動作データ全てに対して、この手順を繰り返して、最終的なロボット用動作データが出力される。
ここで、アクチュエータ駆動回路シミュレータ12qによる処理の前後における関節データの様子について説明する。図9(a)は本実施形態のアクチュエータ駆動回路シミュレータ12qによる処理を施す前の関節角度、角速度および角加速度の様子を示すグラフ、図9(b)は本実施形態のアクチュエータ駆動回路シミュレータ12qによる処理を施す前の関節角度、角速度および角加速度の様子を示すグラフである。
図9(a)に示すシミュレーション前のグラフにおいて、角加速度には角加速度許容範囲を超過する箇所が見られるが、図9(b)のシミュレーション後のグラフでは、角速度の超過部分が制限値に制限されていることが分かる。
図7から図9に示すアクチュエータ駆動回路シミュレータ12qによる計算手法は、アームシミュレータ121、移動系シミュレータ122の何れの動作データに対しても、同様のシミュレーションを施して、最終的な動作データを制作することができる。
以上、説明した手順によって、人間の動作をロボットに割り当てる処理が完了する。
なお、ロボット用データ生成部12から出力される動作データは、所定時間ごとの、ロボットのアーム部関節およびヘッド部関節における関節角度、角速度および角加速度と、移動上における座標、方位、速度、加速度および躍度の目標値と、を時系列に記述したものである。
本実施形態では、ロボットの動作に人間の動作を適用することにより言語以外の要素による微妙な感情表現をロボットに容易に実行させることができるとともに、ロボットの動作の編集作業からシミュレーションおよび動作確認までの全て処理をコンピュータで行うことが可能となり、作業効率を向上させることができる。
また、本実施形態では、ロボットシミュレーション結果を前記モーション編集部において確認することで、実機での逐次的な動作確認が不要となる。
また、本実施形態では、ロボットの動作の元となるデータを、モーションキャプチャなどにより、人の動きを取り込める構成としている。これにより、人の動作に含まれる微妙な感情をロボットで再現できるようになる。
1…ロボット動作編集システム、11…モーション編集部(アニメーションエディタ)、11a…関節角度データ、11b…CGデータ、12…ロボット用データ生成部、12a…データ読み出し速度調節・補間処理部、12b…速度指示データファイル、12c…関節角度変換処理部、12d…座標位置変換処理部、12e…速度生成処理部、12f…重力補償処理部、12g…関節角度逆変換処理部、12h…座標位置逆変換処理部、12i…データ間引き処理部、12j…補正済み関節角度データ、12k…ロボット用動作データファイル、12L…補助動作データファイル、121…アームシミュレータ、122…移動シミュレータ、123…ヘッドシミュレータ、13…モーション入力部、13a…モーションキャプチャ、13b…モーション入力デバイス、14…データ形式変換部、14a…マーカ座標データ、14b…関節角度データ、15…CG制作ソフト、2…ロボット、3…高精度動力学シミュレータ、4…アクチュエータ、41…軸、42…ギア、5…エンコーダ、51…軸、52…ギア。
Claims (10)
- 外部から人間の動作あるいは人間の動作に類似した動作データを取り込むモーション入力部と、
前記モーション入力部で取り込んだ動作データの形式を変換するデータ形式変換部と、
前記データ形式変換部で形式を変換された動作データを編集して新しい動作データを制作するモーション編集部と、
前記モーション編集部で制作された動作データに基づいてロボット用データを生成してロボットに所定の形式の動作データを出力するロボット用データ生成部とを備える、コンピュータによるロボット動作編集システムであって、
前記ロボット用データ生成部は、
前記モーション編集部で制作された動作データに対する関節構造変換処理部と、前記関節構造変換処理部から出力されるデータを平滑化処理する平滑化処理部と、前記平滑化処理部から出力されるデータを用いてロボットの駆動回路の挙動を検証する駆動回路検証部と、を備え、
ロボットを動作させるための動作データの連続性を保つように処理する機能と、ロボットの駆動回路における駆動電流が許容範囲内に収まるようにデータを変換する機能とを有すること、
を特徴とするロボット動作編集システム。 - 請求項1記載のロボット動作編集システムにおいて、
前記ロボット用データ生成部から出力される動作データは、所定時間ごとの、ロボットのアーム部関節およびヘッド部関節における関節角度、角速度および角加速度と、移動上における座標、方位、速度、加速度および躍度の目標値と、を時系列に記述したものであること、
を特徴とするロボット動作編集システム。 - 請求項2記載のロボット動作編集システムにおいて、
前記アーム部関節の関節角度、角速度および角加速度は、前記平滑化処理部において角速度および角加速度を平滑化処理して関節角度の目標値を補正したものであること、
を特徴とするロボット動作編集システム。 - 請求項2記載のロボット動作編集システムにおいて、
前記移動上の座標、方位、速度、加速度および躍度の目標値は、指定時刻と前記指定時刻におけるロボットの座標を記述したファイルを基に補間処理によりデータ生成されること、
を特徴とするロボット動作編集システム。 - 請求項1から4の何れか記載のロボット動作編集システムにおいて、
前記ロボット用データ生成部で処理された動作データをロボットの関節の回転角度を時系列に記述した形式でロボットに出力すること、
を特徴とするロボット動作編集システム。 - 請求項5記載のロボット動作編集システムにおいて、
前記ロボットの関節の回転角度を時系列に記述した形式で出力した動作データを前記モーション編集部で確認すること、
を特徴とするロボット動作編集システム。 - 請求項1記載のロボット動作編集システムにおいて、
前記モーション入力部はモーションキャプチャにより人間の動作を取り込むこと、
を特徴とするロボット動作編集システム。 - 請求項1記載のロボット動作編集システムにおいて、
前記モーション入力部は人型のデバイスにフレームごとのポーズを形作って連続する動作データを生成すること、
を特徴とするロボット動作編集システム。 - 請求項7記載のロボット動作編集システムにおいて、
前記データ形式変換部は前記モーションキャプチャのデータをマーカの3次元座標配列を記述したデータに変換すること、
を特徴とするロボット動作編集システム。 - 請求項8記載のロボット動作編集システムにおいて、
前記データ形式変換部は人型のデバイスで取り込んだ一連のポーズデータを関節角度の時系列データに変換すること、
を特徴とするロボット動作編集システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005320379A JP2007125645A (ja) | 2005-11-04 | 2005-11-04 | ロボット動作編集システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005320379A JP2007125645A (ja) | 2005-11-04 | 2005-11-04 | ロボット動作編集システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007125645A true JP2007125645A (ja) | 2007-05-24 |
Family
ID=38148737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005320379A Pending JP2007125645A (ja) | 2005-11-04 | 2005-11-04 | ロボット動作編集システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007125645A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010005762A (ja) * | 2008-06-27 | 2010-01-14 | Honda Motor Co Ltd | 行動推定システム |
JP2010005761A (ja) * | 2008-06-27 | 2010-01-14 | Honda Motor Co Ltd | 行動制御システム |
JP2011148081A (ja) * | 2009-12-24 | 2011-08-04 | Honda Motor Co Ltd | 行動制御システムおよびロボット |
WO2017188014A1 (ja) * | 2016-04-27 | 2017-11-02 | ソフトバンク株式会社 | 姿勢制御システム及びプログラム |
CN112262026A (zh) * | 2018-07-17 | 2021-01-22 | 欧姆龙株式会社 | 加速度调整装置及加速度调整程序 |
WO2021261474A1 (ja) * | 2020-06-24 | 2021-12-30 | 本田技研工業株式会社 | 行動制御装置、行動制御方法、およびプログラム |
KR102607490B1 (ko) * | 2023-04-04 | 2023-11-29 | 주식회사 아임토리 | 인체공학 기반의 휴머노이드 로봇의 모션 분석방법 및 장치 |
JP7425681B2 (ja) | 2020-06-24 | 2024-01-31 | 本田技研工業株式会社 | 社会的能力生成装置、社会的能力生成方法、およびコミュニケーションロボット |
JP7425690B2 (ja) | 2020-07-16 | 2024-01-31 | 本田技研工業株式会社 | ロボット動作生成装置、ロボット動作生成方法、およびプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004148492A (ja) * | 2002-10-11 | 2004-05-27 | Sony Corp | ロボット装置のためのモーション編集装置及びモーション編集方法、ロボット装置及びロボット装置の制御方法、並びにコンピュータ・プログラム |
JP2004188531A (ja) * | 2002-12-10 | 2004-07-08 | Japan Science & Technology Agency | 歩行式移動装置並びにその動作制御装置及び動作制御方法 |
JP2005022062A (ja) * | 2003-07-03 | 2005-01-27 | Fanuc Ltd | ロボットオフラインシミュレーション装置 |
-
2005
- 2005-11-04 JP JP2005320379A patent/JP2007125645A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004148492A (ja) * | 2002-10-11 | 2004-05-27 | Sony Corp | ロボット装置のためのモーション編集装置及びモーション編集方法、ロボット装置及びロボット装置の制御方法、並びにコンピュータ・プログラム |
JP2004188531A (ja) * | 2002-12-10 | 2004-07-08 | Japan Science & Technology Agency | 歩行式移動装置並びにその動作制御装置及び動作制御方法 |
JP2005022062A (ja) * | 2003-07-03 | 2005-01-27 | Fanuc Ltd | ロボットオフラインシミュレーション装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010005762A (ja) * | 2008-06-27 | 2010-01-14 | Honda Motor Co Ltd | 行動推定システム |
JP2010005761A (ja) * | 2008-06-27 | 2010-01-14 | Honda Motor Co Ltd | 行動制御システム |
JP2011148081A (ja) * | 2009-12-24 | 2011-08-04 | Honda Motor Co Ltd | 行動制御システムおよびロボット |
US8660699B2 (en) | 2009-12-24 | 2014-02-25 | Honda Motor Co., Ltd. | Behavior control system and robot |
WO2017188014A1 (ja) * | 2016-04-27 | 2017-11-02 | ソフトバンク株式会社 | 姿勢制御システム及びプログラム |
JP2017196699A (ja) * | 2016-04-27 | 2017-11-02 | ソフトバンク株式会社 | 姿勢制御システム及びプログラム |
CN112262026A (zh) * | 2018-07-17 | 2021-01-22 | 欧姆龙株式会社 | 加速度调整装置及加速度调整程序 |
US11697206B2 (en) | 2018-07-17 | 2023-07-11 | Omron Corporation | Acceleration adjustment apparatus and non-transitory computer-readable storage medium storing an acceleration adjustment program |
CN112262026B (zh) * | 2018-07-17 | 2023-07-14 | 欧姆龙株式会社 | 加速度调整装置及存储介质 |
WO2021261474A1 (ja) * | 2020-06-24 | 2021-12-30 | 本田技研工業株式会社 | 行動制御装置、行動制御方法、およびプログラム |
JP7425681B2 (ja) | 2020-06-24 | 2024-01-31 | 本田技研工業株式会社 | 社会的能力生成装置、社会的能力生成方法、およびコミュニケーションロボット |
JP7425690B2 (ja) | 2020-07-16 | 2024-01-31 | 本田技研工業株式会社 | ロボット動作生成装置、ロボット動作生成方法、およびプログラム |
KR102607490B1 (ko) * | 2023-04-04 | 2023-11-29 | 주식회사 아임토리 | 인체공학 기반의 휴머노이드 로봇의 모션 분석방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007125645A (ja) | ロボット動作編集システム | |
JP2011115933A (ja) | 動力学基盤動作生成装置及び方法 | |
US9431027B2 (en) | Synchronized gesture and speech production for humanoid robots using random numbers | |
CN1903523B (zh) | 机器人程序评价、修正方法及机器人程序评价、修正装置 | |
JP6601179B2 (ja) | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム | |
JP5904635B2 (ja) | 制御装置、制御方法及びロボット装置 | |
JPH03500101A (ja) | フィードバックおよび開放ループ制御を使用したロボット軸制御装置 | |
Li et al. | Animated cassie: A dynamic relatable robotic character | |
CN111596614A (zh) | 基于云边协同的运动控制误差补偿系统及方法 | |
JP4269150B2 (ja) | ロボット制御装置 | |
JPS6140602A (ja) | 工作機駆動装置のための制御最適化方法 | |
CN111687838A (zh) | 机械手轨迹跟随误差的在线补偿方法、系统及存储介质 | |
CN108340352A (zh) | 基于示教关节臂的工业机器人远程实时操控方法 | |
TW201822971A (zh) | 機械手臂教導控制系統 | |
JP2006015431A (ja) | ロボットの制御装置及び制御方法 | |
JP2703767B2 (ja) | ロボットの教示データ作成方法 | |
JP6827337B2 (ja) | 手話cg生成装置及びプログラム | |
CN105467841B (zh) | 一种类人机器人上肢运动的类神经控制方法 | |
JP2003094363A (ja) | 多関節ロボットの姿勢決定方法および装置 | |
CN115609343A (zh) | 一种运动倍率调节方法、装置、计算机设备和存储介质 | |
JP2000015593A (ja) | マニピュレータ軌道生成装置及びマニピュレータ軌道生成プログラムを記録した記録媒体 | |
JPH10149210A (ja) | 位置決め制御系の指令作成方法 | |
CN113246107B (zh) | 机械臂关节的拖动示教限速方法、装置、电子设备及介质 | |
JP3446050B2 (ja) | 教示装置及び教示データ作成方法 | |
WO2020162202A1 (ja) | 制御装置および制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20080130 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111018 |