JP4311159B2 - ロボットの歩容データ作成装置及びシステム - Google Patents
ロボットの歩容データ作成装置及びシステム Download PDFInfo
- Publication number
- JP4311159B2 JP4311159B2 JP2003354866A JP2003354866A JP4311159B2 JP 4311159 B2 JP4311159 B2 JP 4311159B2 JP 2003354866 A JP2003354866 A JP 2003354866A JP 2003354866 A JP2003354866 A JP 2003354866A JP 4311159 B2 JP4311159 B2 JP 4311159B2
- Authority
- JP
- Japan
- Prior art keywords
- trunk
- robot
- data
- hand
- elapsed time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Manipulator (AREA)
Description
歩容データは、ロボットが活動する空間の座標を定めるグローバル座標系において、体幹と両足先と両手先の位置を指示する。体幹と両足先と両手先の位置を指示するために、体幹と左足先と右足先と左手先と右手先にそれぞれ基準点が定められている。歩容データは、体幹の基準点と左足先の基準点と右足先の基準点と左手先の基準点と右手先の基準点の位置を経時的に指示する、グローバル座標系での座標データ(x、y、z)を備えている。(x、y、z)の座標データは、ロボットの動作開始からの経過時間tに対して変化する。経時的に変化する体幹と左足先と右足先と左手先と右手先の位置を指示する歩容データに従って、体幹と両足と両腕の相対的姿勢を経時的に変化させることによって、ロボットは両腕を動作させながら歩行する。
歩容データを作成する第2段階では、上記の各データから、体幹位置を経時的に指示するデータを計算して算出する。
体幹位置を指示するデータを計算するために、ZMP(zero moment point)が利用される。ZMPは、ロボットが床から受ける反力によるモーメントがゼロになる点をいい、ZMPが接地足の足平内にあればロボットは転倒しない。逆にいうと、ロボットが転倒しないためには、ZMPが接地足の足平内になければならない。そこで、体幹位置を指示するデータを計算するために、接地足の足平内に存在する目標ZMPを定める。この目標ZMPは接地足の足平内にあることが必要とされ、左足先位置を経時的に指示するデータと右足先位置を経時的に指示するデータから、目標ZMPを経時的に指示するデータZMPT(x(t)、y(t))を定めることができる。平地を歩行する場合、目標ZMPのz座標はゼロとすることができる。
そこで、体幹位置を経時的に示すデータを仮定し、それから実際に得られるZMPの位置を経時的に指示するデータZMPR(x(t)、y(t))を計算する。次に、計算されたZMPR(x(t)、y(t))と、目標ZMPを示すZMPT(x(t)、y(t))の偏差を求める。そしてその偏差が小さくなる側に体幹位置を示すデータを修正する。
即ち、(1)体幹位置を仮定して実際に得られるZMPの位置を計算し、(2)目標ZMPとの偏差を計算し、(3)その偏差が小さくなるように体幹位置を修正し、再度(1)〜(3)の計算を繰返す処理を相当回数に亘って繰返すことによって目標ZMPを実現する体幹位置を計算している。
特許文献1には、上記のようにして体幹位置を計算することが開示されている。
実際は、上記の仮定が成立しない動作を両腕にさせるために、上記の仮定の下で作成された仮の体幹位置データを利用してロボットが動作すると、ロボットの姿勢が不安定になってしまう。従って、この歩容データ作成装置には、体幹位置修正量データベースと、作成された体幹位置データ(即ち仮の体幹位置データ)を修正する装置が設けられている。
体幹位置修正量データベースには、手先位置の差から体幹位置の修正量を特定できる情報が記憶されている。即ち、上記の仮定の下での手先位置と実際の手先位置との差から、作成された仮の体幹位置をどれだけ修正すればよいのかを特定できる情報が記憶されている。
修正装置は、上記のデータベースの情報を用いて、上記した仮定の下で作成された体幹位置データを修正する。即ち、上記の仮定の下での手先位置と実際の手先位置との差(ズレ)を計算し、計算された手先位置の差から体幹位置の修正量を特定し、特定された修正量の分だけ体幹位置を修正する。これにより、両腕を自由に動作させてもロボットの姿勢が安定する体幹位置データが作成されることになる。
この歩容データ作成装置では、仮の体幹位置データを作成し、それを修正することによって真の体幹位置データを作成する。仮の体幹位置データを作成するための計算時間を大幅に短縮できるために、仮の体幹位置データを修正するための時間が必要だとしても、全体としては歩容データの作成に要する時間を短縮することができる。
ここで、上記の手先位置データ記憶手段は、ロボットを実際に動作させながら手先位置データを記憶していくものであってもよい。歩行パターンから仮の歩容データを作成しておくことができる。この段階までをロボットの実際の動作前に完了しておくことができる。この段階までを完了しておくと、実際の体幹位置を求める計算は修正のみで済み、短時間で実行できるために、手の動きについてはロボットの動作とリアルタイムで指示することができる。
この場合、体幹位置の修正装置は、第1計算手段と第2計算手段と第3計算手段と特定手段と修正手段から構成されるようにしてもよい。
第1計算手段は、前記の仮定の下で、足先位置データと作成された体幹位置データと各足の質量と体幹の質量と各腕の質量とに基づいて、ロボットの動作開始からの経過時間毎の重心位置を計算する。これにより、上記の仮定の下での重心位置が計算されることになる。
第2計算手段は、足先位置データと作成された体幹位置データと手先位置データと各足の質量と体幹の質量と各腕の質量とに基づいて、ロボットの動作開始からの経過時間毎の重心位置を計算する。これにより、実際の手先位置が加味された重心位置が計算される。
第3計算手段は、ロボットの動作開始からの経過時間毎の「第1計算手段で計算された重心位置と第2計算手段で計算された重心位置との差」を計算する。これにより、上記の仮定の下での重心位置と、実際の手先位置が加味された重心位置との差(ズレ)が計算される。
特定手段は、ロボットの動作開始からの経過時間毎の「第1計算手段で計算された重心位置と第2計算手段で計算された重心位置との差」と、体幹位置修正量データベースの記憶内容とに基づいて、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」を特定する。
修正手段は、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」に基づいて、作成された体幹位置データを修正する。
この歩容データ作成装置によると、仮の体幹位置データをまず作成し、それを修正することによって真の体幹位置データを作成する。仮の体幹位置データを計算するのに要する時間を大幅に短縮できる。仮の体幹位置データを修正するための時間が必要だとしても、全体としては歩容データを作成するのに必要な時間を短縮することができる。
このシステムによると、オペレータによる操作部材の操作に応じてロボットが両腕を動作させることになる。ロボットが両腕を動作させるのに必要な手先位置データは、オペレータによって操作部材が操作されると作成され、これに追従して体幹位置が修正される。従って、ロボットが両腕を動作させても、ロボットの姿勢が不安定になることはない。比較的簡単な修正計算で真の体幹位置が計算できるために、ロボットの実際の腕の動きに追随しながら真の体幹位置を計算していくことができる。
本発明では、ロボットの両腕の動作をオペレータがリアルタイムに指示することができるシステムが実現されている。
この歩容データ作成装置は、ロボットの動作開始からの経過時間毎の足先位置が記述された足先位置データを記憶している手段を備える。また、少なくとも2パターンの「ロボットの動作開始からの経過時間毎の手先位置」が記述された手先位置データを記憶している手段を備える。また、足先位置データと一方のパターンの手先位置データとに基づいて、一方のパターンの「ロボットの動作開始からの経過時間毎の体幹位置」が記述された体幹位置データを作成する第1作成装置を備える。また、手先位置の差と体幹位置の修正量との関係を記憶している体幹位置修正量データベースを備える。また、他方のパターンの「ロボットの動作開始からの経過時間毎の体幹位置」が記述された体幹位置データを作成する第2作成装置を備える。この第2作成装置は、ロボットの動作開始からの経過時間毎の「一方のパターンの手先位置データの手先位置と他方のパターンの手先位置データの手先位置との差」を計算する手段を有する。また、ロボットの動作開始からの経過時間毎の「一方のパターンの手先位置データの手先位置と他方のパターンの手先位置データの手先位置との差」と、体幹位置修正量データベースの記憶内容とに基づいて、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」を特定する手段を有する。さらに、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」に基づいて一方のパターンの体幹位置データを修正することによって、他方のパターンの体幹位置データを作成する手段を有する。
上記した歩容データ作成装置は、共通の足先位置データと一方の手先位置データから一方の体幹位置データを作成するところまでは従来と同じである。しかしながら、一方の手先位置と他方の手先位置との差から体幹位置の修正量を特定し、一方の体幹位置を修正することによって他方の体幹位置を作成する点が従来と異なる。一方の体幹位置データを修正して他方の体幹位置データを作成する方が、共通の足先位置データと他方の手先位置データから他方の体幹位置データを作成するよりも計算時間を短くすることができる。この歩容データ作成装置によると、複数パターンの歩容データを短時間で作成することができる。
第2作成装置は、第1計算手段と第2計算手段と第3計算手段と特定手段と作成手段から構成されるようにしてもよい。
第1計算手段は、足先位置データと一方のパターンの手先位置データと一方のパターンの体幹位置データと各足の質量と体幹の質量と各腕の質量とに基づいて、ロボットの動作開始からの経過時間毎の重心位置を計算する。
第2計算手段は、足先位置データと他方のパターンの手先位置データと一方のパターンの体幹位置データと各足の質量と体幹の質量と各腕の質量とに基づいて、ロボットの動作開始からの経過時間毎の重心位置を計算する。
第3計算手段は、ロボットの動作開始からの経過時間毎の「第1計算手段で計算された重心位置と第2計算手段で計算された重心位置との差」を計算する。
特定手段は、ロボットの動作開始からの経過時間毎の「第1計算手段で計算された重心位置と第2計算手段で計算された重心位置との差」と、体幹位置修正量データベースの記憶内容とに基づいて、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」を特定する。
作成手段は、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」に基づいて一方のパターンの体幹位置データを修正することによって、他方のパターンの体幹位置データを作成する。
この歩容データ作成装置によると、一方の体幹位置データを修正することによって他方の体幹位置データを作成する。一方の体幹位置データを修正する時間は確かに必要だが、この時間は、従来の手法を用いて他方の体幹位置データを作成するよりも短くて済む。この歩容データ作成装置によると、複数パターンの歩容データを作成するのに要する計算時間を短縮することができる。
この技術は、両腕を左右対称に動作させながら歩行するロボットの歩容データを作成する装置である。この装置は、ロボットの動作開始からの経過時間毎の足先位置が記述された足先位置データを記憶している手段を備える。また、「ロボットの両腕は胴体に固定されている」という仮定の下で、ロボットの動作開始からの経過時間毎の体幹位置が記述された体幹位置データを作成する手段を備える。
この歩容データ作成装置によると、手先位置データを加味しないで体幹位置データを作成することができるために、両腕を左右対称に動作させるロボットの歩容データを短時間で作成することができる。
(形態2)「手先位置の差」は、以下のようにして表現されるものであってもよい。ある時間tにおいて、両腕が胴体に固定されている場合(即ち上記した仮定の下での場合)の左手先位置が位置ALであり右手先位置が位置ARであるとする。このとき、左手先の位置ALを実現するための胴体に対する左腕の回転角がθALであり、右手先の位置ARを実現するための胴体に対する右腕の回転角がθARであるとする。さらに、上記した時間tにおいて、実際の左手先位置が位置BLであり右手先位置が位置BRであるとする。この場合、左手先の位置BLを実現するための胴体に対する左腕の回転角がθBLであり、右手先の位置BRを実現するための胴体に対する右腕の回転角がθBRであるとする。このとき、両腕が胴体に固定されている場合の手先位置と、実際の手先位置との差(即ち手先位置の差)は、θALとθBLの差と、θARとθBRの差との和で表現することができる。
ロボット50は、左右の股関節にそれぞれ2軸(符号1,2,6,7)の自由度を持ち、以下同様に、腰関節(腰関節とは通常言わないが本明細書では例外的に使用する)に1軸(符号17)、左右の膝関節にそれぞれ1軸(符号3,8)、左右の足首関節にそれぞれ2軸(符号4,5,9,10)、左右の肩関節にそれぞれ2軸(符号11,12,14,15)、左右の肘関節にそれぞれ1軸(13,16)の自由度を持つ。各関節にエンコーダ付のモータを備えており、関節角を調整でき、関節角を計測することができる。
ロボット50が歩行を続けるには、両足先(左足先Lf、右足先Rf)の軌道22a,22b,24a,24bを記述するデータが必要とされ、そのためにコンピュータ装置30が用意されている(コンピュータ装置30は図1及び図2では図示省略しているが、図3に示されている)。コンピュータ装置30はロボット50に内臓されている。コンピュータ装置30の機能については後で詳しく説明する。
本実施例のロボット50は、ジョイスティック60と無線接続されている。ジョイスティック60は、オペレータHによって操作される。ジョイスティック60は、オペレータHによって所定の操作がなされると、操作信号を出力する。この操作信号は、コンピュータ装置30に取り込まれる。ロボット50は、ジョイスティック60に所定の操作が加えられると、両腕26,28を大きく上げる動作を実行する(軸11,14(図1参照)を大きく回転させて万歳する)。この点については後で詳しく説明する。
コンピュータ装置30は、足先軌道記憶部32を有しており、足先軌道を記憶している。図4(a)及び(b)に、足先軌道記憶部32の記憶内容を例示している。図4(a)は、ロボット50の両足先Lf,Rf(図2参照)のx方向(即ちロボット進行方向)への経時的変化を例示している。
図4(a)の実線で示されたカーブ70は、左足先Lfのx方向の座標(縦軸)と時間(横軸)の関係を例示している。カーブ70によると、左足24を持ち上げたら前方に送り(部分70a参照)、着地点に近づいたら前進速度を緩め(部分70b参照)、着地させる。着地中はx方向の座標は変動しない(部分70c参照)。
図4(a)の一点鎖線で示されたカーブ72は、右足先Rfのx方向の座標(縦軸)と時間(横軸)の関係を例示している。カーブ72をみるとわかるように、左足24が着地しているときに右足22が進行方向に進められる。
図4(a)と図4(b)の時間軸は一致している。従って、左足先Lfを持ち上げているときに(カーブ74)、左足先Lfを進行方向に送る(部分70a)ことがよくわかる。また、右足先Rfを持ち上げているときに(カーブ76)、右足先Rfを進行方向に送る(カーブ72の立上り部分)ことがよくわかる。
図4では図示省略しているが、足先軌道記憶部32には、両足先Lf,Rfのy方向の座標と時間の関係も記憶されている。
足先位置指令値生成部34が作成したLfs(t)及びRfs(t)は、歩容データ記憶部46の足先位置データ記憶部46aにおいて記憶される。
目標ZMP位置は、2次元の座標(x、y)で表現される。ここでは、ロボット50の歩行面のz座標をゼロとしている。目標ZMP位置計算部36は、目標ZMP位置の経時的変化ZMPT(t)を計算する。
体幹位置指令値Wsは、3次元の座標(x、y、z)で表現される。体幹位置指令値生成部40は、体幹位置指令値Wsの経時的変化Ws(t)を作成する。体幹位置指令値生成部40がどのようにしてWs(t)を作成するのかは後で説明する。作成されたWs(t)は、歩容データ記憶部46の体幹位置データ記憶部46bにおいて記憶される。
まず、足先位置指令値生成部34が、足先軌道記憶部32の記憶内容に基づいて、足先位置指令値Lfs(t),Rfs(t)を生成する(ステップS2)。生成された足先位置指令値Lfs(t),Rfs(t)は、歩容データ記憶部46に記憶させる(ステップS4)。
続いて、目標ZMP位置計算部36が、生成された足先位置指令値Lfs(t),Rfs(t)に基づいて、ZMPT(t)を計算する(ステップS6)。
ロボット50が自然な感じで両腕26,28を動作させて歩行するということは、左脚24が前に出て右脚22が後にある場合は、右腕26が前に出て左腕28が後ろに引かれる。逆に、右脚22が前に出て左脚24が後にある場合は、左腕28が前に出て右腕26が後に引かれる。即ち、自然な感じで両腕26,28を動作させるということは、両腕26,28が左右対称に動作することになる。なお、図6(a)には、右腕28が前に出て左腕26が後に引かれる様子が示されている。ロボット50が両腕26,28を左右対称に動作させる場合、ロボット50の上半身(胴体、両腕26,28、首部、頭部等)の重心位置は、ロボット50の下半身に対してほぼ一定の位置に存在する。当然に、ロボット50の両腕26,28が胴体に固定されている場合(図6(b)に両腕26,28が胴体に固定されている場合を例示している)は、ロボット50の上半身の重心位置は下半身に対してほぼ一定の位置に存在する。従って、下半身に対する上半身の重心位置は、両腕26,28を左右対称に動作させる場合と、両腕26,28を胴体に固定している場合とでほとんど差がない。このために、ロボット50が自然な感じで歩行動作を行なう場合には、両腕が胴体に固定されていると仮定してWs(t)を計算することができる。
(1)まず、仮の体幹位置(これを符号Wkと記載する)を設定する。
(2)次いで、足先位置指令値Lfs,Rfsが入力されたロボット力学モデル(これについては上記の特願2003−171967号に詳しく記載されている)を用いて、仮の体幹位置Wkとその加速度に基づいて得られるZMP位置と、ZMPT(目標ZMP位置)の偏差を計算し、その偏差を解消するように、仮の体幹位置Wkとその加速度を増減修正する。このとき、両腕26,28が胴体に固定されていると仮定しているために、手先位置指令値Rhs,Lhsをロボット力学モデルに入力してZMP位置を計算する必要がない。
(3)増減修正された仮の体幹位置Wkを用いて、再び(2)の処理を実行する。仮の体幹位置Wkとその加速度に基づいて得られるZMP位置と、ZMPTの偏差が所定値以下になるまで、この処理を繰り返して実行する。
(4)上記の(3)で偏差が所定値以下になった仮の体幹位置Wkを、体幹位置指令値Wsとして採用する。
上記の(1)〜(4)の処理を時間毎に行なっていくことによって、体幹位置指令値の経時的変化Ws(t)を得ることができる。
ステップS12では、標準手先軌道記憶部42の記憶内容に基づいて、手先位置指令値Lhs(t),Rhs(t)を生成する。これにより、ロボット50が自然な感じで両腕26,28を振る動作を実現するためのデータが生成されることになる。
ステップS12で生成されたLhs(t),Rhs(t)は、歩容データ記憶部46で記憶させる(ステップS14)。
以上のステップS2〜S14の処理によって、歩容データ記憶部46に基本歩容データが記憶されることになる。
関節角群計算装置100は、歩容データ(Lfs(t),Rfs(t),Lhs(t),Rhs(t),Ws(t))から、いわゆる逆キネマティクスを解いて各関節角を計算する。計算された関節角群は、アクチュエータ制御装置102に送られる。
アクチュエータ制御装置102は、送られてくる関節角群に基づいて、各関節のアクチュエータ1〜17(図1参照)の駆動制御を実行する。これによって、ロボット50の関節角が計算された関節角に調整される。
手先位置指令値生成部44は、信号入出力部122から出力されたhigh状態の信号を入力すると、特別手先軌道記憶部120の記憶内容を参照して、手先位置指令値を生成する。これにより、両腕26,28を大きく上げる動作を指令するデータが生成されることになる。なお、以下では、特別手先軌道記憶部120の記憶内容を参照して手先位置指令値生成部44が生成する手先位置指令値をLhs*(t),Rhs*(t)と記載することにする。
生成されたLhs*(t),Rhs*(t)は、歩容データ記憶部46の特別手先位置データ記憶部46c’において記憶される。
(1)まず、Lhs(tx)とLhs*(tx)の差を計算する。即ち、Lhs(tx)からLhs*(tx)まで左腕28を移動させるのに必要である、左腕28のY軸回りの回転角θLXを計算する。本実施例では、ここで計算されたθLXを、時間txにおける上記仮定が成立する場合の左手先位置と、時間txにおける実際の左手先位置との差として表現する。なお、図6(c)に、上記仮定が成立する場合の左手先位置Lh(破線で示されている)と、実際の左手先位置Lh(実線で示されている)の差θLを図示している。なお、θLは前方に向って正とされる。
(2)続いて、Rhs(tx)とRhs*(tx)の差を計算する。即ち、Rhs(tx)からRhs*(tx)まで右腕26を移動させるのに必要である、左腕26のY軸回りの回転角θRXを計算する。本実施例では、ここで計算されたθRXを、時間txにおける上記仮定が成立する場合の右手先位置と、時間txにおける実際の右手先位置との差として表現する。なお、θRは前方に向って正とされる。
(3)そして、θLXとθRxの和を計算することによって、時間txにおける手先位置の差ΔH(tx)を得る。即ち、本実施例では、手先位置の差ΔHは、上記した仮定が成立する場合の左手先位置から実際の左手先位置まで移動させるのに必要な左腕28のY軸回りの回転角θLと、上記した仮定が成立する場合の右手先位置から実際の右手先位置まで移動させるのに必要な右腕26のY軸回りの回転角θRとの和で表現する。歩容データ修正部128は、時間毎の手先位置の差ΔH(t)を計算する。
歩容データ修正部128は、ΔH(t)からΔWs(t)を特定する(即ち時間毎のΔWsを特定する)。これにより、時間t1のときはΔWs1、時間t2のときはΔWs2、…、といったデータが得られる。歩容データ修正部128は、歩容データ記憶部46に記憶されている基本歩容データのWs(t)を、得られたΔWs(t)に基づいて修正する(補正する)。これにより、上記の仮定が成立するものとして作成された体幹位置指令値Ws(t)が修正されて、ロボット50が安定して歩行し続ける体幹位置データが作成されることになる。
本実施例によると、両腕26,28を大きく動作させるロボット50の歩容データを短時間で作成することができる。
なお、上記実施例では、ジョイスティック60が操作されると両腕26,28を前方に持ち上げる動作を実行するが、一対のジョイスティックを利用して左腕28と右腕26の動きをリアルタイムで操縦するようにしてもよい。Ws(t)を修正する時間が短いために、リアルタイムで操縦することができる。
ここでは第1実施例と異なる点を説明する。本実施例では、体幹位置修正量記憶部126(図3参照)の記憶内容が第1実施例と異なる。また、歩容データ修正部128の機能が第1実施例と異なる。
本実施例の体幹位置修正量記憶部126は、ロボット50の重心位置の差(これを記号ΔGで表現する)と、体幹位置の修正量ΔWsとの関係を記憶している。ΔGは、異なる姿勢をしているロボット50のそれぞれの重心位置の距離で定義される。例えば、姿勢Aをしているロボット50の重心位置をGAとし、姿勢Bをしているロボット50の重心位置をGBとした場合に、GAとGBの間の距離が、姿勢A及び姿勢Bの重心位置の差である。
(1)まず、Lfs(t)とRfs(t)と修正前のWs(t)とLhs(t)とRhs(t)と左脚24の質量と右脚22の質量と左腕28の質量と右腕26の質量と体幹(胴体部、首部、頭部)の質量とに基づいて、ロボット50の時間毎の重心位置を計算する。ここで計算された重心位置をG1と表現し、その経時変化をG1(t)と表現する。なお、コンピュータ装置30には、左脚24の質量と右脚22の質量と左腕28の質量と右腕26の質量と体幹(胴体部、首部、頭部)の質量が予め記憶されている。
(2)続いて、Lfs(t)とRfs(t)と修正前のWs(t)とLhs*(t)とRhs*(t)と左脚24の質量と右脚22の質量と左腕28の質量と右腕26の質量と体幹の質量とに基づいて、ロボット50の時間毎の重心位置を計算する。ここで計算された重心位置をG2と表現し、その経時変化をG2(t)と表現する。
(3)続いて、G1(t)とG2(t)に基づいて、時間毎の重心位置の差を計算する。ここで計算された重心位置の差がΔGであり、その経時変化がΔG(t)である。
(4)次に、体幹位置修正量記憶部126の記憶内容を参照にしてΔGからΔWsを特定する処理を実行する。ここでは時間毎のΔGから時間毎のΔWsを特定する(即ちΔG(t)からΔWs(t)を特定する)。
(5)特定されたΔWs(t)に基づいて、Ws(t)を修正する点は第1実施例と同じである。
本実施例によると、両腕26,28を大きく動作させるロボット50の歩容データを短時間で作成することができる。
本実施例では、コンピュータ装置(本実施例のコンピュータ装置の符号は130とする)の機能が第1実施例のものと異なる。コンピュータ装置は、2パターンの歩容データ(歩容データA及びB)を作成する。図7に、歩容データのパターンを示している。歩容データAと歩容データBは、両足22,24の動作パターン(パターンP)は同じであるが、両腕26,28の動作パターンが異なる。歩容データAの両腕26,28の動作パターンはQであり、歩容データBの両腕26,28の動作パターンはRである。
パターンP足先軌道記憶部132には、足先Lf,Rfの軌道を示すデータが記憶されている。パターンP足先軌道記憶部132には、図4に例示されるものと同様の形式で記憶されている。即ち、足先Lf,Rfのx座標と時間の関係、足先Lf,Rfのy座標と時間の関係、及び、足先Lf,Rfのz座標と時間の関係が記憶されている。
足先位置指令値生成部134は、パターンP足先軌道記憶部132の記憶内容に基づいて、足先位置指令値Lfs(t),Rfs(t)を作成する。
目標ZMP位置計算部136は、足先位置指令値生成部134で作成されたLfs(t),Rfs(t)に基づいてZMPT(t)を計算する。
パターンQ手先軌道記憶部142Qには、手先Lh,Rhの軌道を示すデータが記憶されている。ここに記憶されている手先軌道はパターンQであり、後述するパターンR手先軌道記憶部142Rに記憶されているパターンRの手先軌道と相違する。パターンQ手先軌道記憶部142Qは、手先Lh,Rhのx座標と時間の関係、手先Lh,Rhのy座標と時間の関係、及び、手先Lh,Rhのz座標と時間の関係を記憶している。
第1手先位置指令値生成部144Qは、パターンQ手先軌道記憶部142Qの記憶内容に基づいて、手先位置指令値Lhs(t),Rhs(t)を作成する。
第1体幹位置指令値生成部140は、Lfs(t)、Rfs(t)、Lhs(t)、Rhs(t)、及びZMPT(t)に基づいて体幹位置指令値Ws(t)を作成する。第1実施例と異なり、Lhs(t)とRhs(t)もロボット力学モデルに入力してZMP位置を計算することによってWs(t)を作成する。
パターンR手先軌道記憶部142Rには、パターンRの手先軌道を示すデータが記憶されている。パターンR手先軌道記憶部142Rは、手先Lh,Rhのx座標と時間の関係、手先Lh,Rhのy座標と時間の関係、及び、手先Lh,Rhのz座標と時間の関係を記憶している。
第2手先位置指令値生成部144Rは、パターンR手先軌道記憶部142Rの記憶内容に基づいて、手先位置指令値Lhs*(t),Rhs*(t)を作成する。
(1)Lhs(t)とLhs*(t)に基づいて、時間毎の左手先位置の差を計算する。例えば、Lhs(tx)からLhs*(tx)まで左腕28を移動させるのに必要である、左腕28のY軸回りの回転角θLxを計算すれば、時間txにおける左手先位置の差を計算することができる。ここでは時間毎の左手先位置の差をθL(t)と表現する。
(2)続いて、Rhs(t)とRhs*(t)に基づいて、時間毎の右手先位置の差を計算する。例えば、Rhs(tx)からRhs*(tx)まで右腕26を移動させるのに必要である、右腕26のY軸回りの回転角θRxを計算すれば、時間txにおける右手先位置の差を計算することができる。ここでは時間毎の左手先位置の差をθR(t)と表現することにする。
(3)次に、上記の(1)で計算された左手先位置の差θLと、上記の(2)で計算された右手先位置の差θRの和を計算することによって、手先位置の差ΔHを得る。ここでは時間毎の手先位置の差ΔH(t)を得る。
(4)体幹位置修正量記憶部226には、θLとθRの和によって表現されるΔHから体幹位置修正量ΔWsを特定することができる情報が記憶されている。第2体幹位置指令値生成部228は、体幹位置修正量記憶部226の記憶内容とΔH(t)から、時間毎の体幹位置修正量ΔWs(t)を特定する。
(5)そして、第1体幹位置指令値生成部140で生成されたWs(t)をΔWs(t)に基づいて修正することによって、歩容データBの体幹位置指令値Ws*(t)を得る。
作成されたWs*(t)を歩容データ記憶部146で記憶することによって、歩容データA及び歩容データBが完成する。
本実施例によると、複数の歩容データを従来よりも短時間で作成することができる。
ここでは第3実施例と異なる点について説明する。本実施例では、体幹位置修正量記憶部226(図8参照)の記憶内容が第3実施例と異なる。また、第2体幹位置指令値生成部228の機能が第3実施例と異なる。
本実施例の体幹位置修正量記憶部226は、ロボット50の重心位置の差(これを記号ΔGで表現する)と、体幹位置の修正量ΔWsとの関係を記憶している。ΔGは、異なる姿勢をしているロボット50のそれぞれの重心位置の距離で定義される。この点は第2実施例と同様である。
(1)まず、Lfs(t)とRfs(t)とWs(t)とLhs(t)とRhs(t)(即ち歩容データA)に従ってロボット50が動作する場合の重心位置の経時変化を計算する。ここでの重心位置の計算には、左脚24の質量と右脚22の質量と左腕28の質量と右腕26の質量と体幹(胴体部、首部、頭部)の質量が用いられる。ここで計算された重心位置をG1と表現し、その経時変化をG1(t)と表現する。
(2)続いて、Lfs(t)とRfs(t)とWs(t)とLhs*(t)とRhs*(t)に従ってロボット50が動作する場合の重心位置の経時変化を計算する。ここでの重心位置の計算には、左脚24の質量と右脚22の質量と左腕28の質量と右腕26の質量と体幹の質量が用いられる。ここで計算された重心位置をG2と表現し、その経時変化をG2(t)と表現する。
(3)次に、G1(t)とG2(t)に基づいて、時間毎の重心位置の差を計算する。ここで計算された重心位置の差がΔGであり、その経時変化がΔG(t)である。
(4)次に、体幹位置修正量記憶部226の記憶内容を参照にしてΔGからΔWsを特定する処理を実行する。ここでは時間毎のΔGから時間毎のΔWsを特定する。即ち、ΔG(t)からΔWs(t)を特定する。
(5)特定されたΔWs(t)に基づいてWs(t)を修正することによって、Ws*(t)を得る点は第3実施例と同じである。これにより、歩容データA及びBが完成する。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
Rf:右足先
Lh:左足先
Rh:右足先
W:体幹基準位置
H:オペレータ
1〜17:軸(アクチュエータ)
22:右足
24:左足
26:右腕
28:左腕
30:コンピュータ装置
50:ロボット
60:ジョイスティック
Claims (5)
- 両腕を動作させながら歩行するロボットの歩容データを作成する装置であり、
ロボットの動作開始からの経過時間毎の足先位置が記述された足先位置データを記憶している手段と、
「ロボットの両腕は胴体に固定されている」という仮定の下で、ロボットの動作開始からの経過時間毎の体幹位置が記述された体幹位置データを作成する手段と、
ロボットの動作開始からの経過時間毎の手先位置が記述された手先位置データを記憶する手段と、
手先位置の差と体幹位置の修正量との関係を記憶している体幹位置修正量データベースと、
作成された体幹位置データを修正する装置とを備え、
その修正装置は、
ロボットの動作開始からの経過時間毎の「前記仮定の下での手先位置と手先位置データの手先位置との差」を計算する手段と、
ロボットの動作開始からの経過時間毎の「前記仮定の下での手先位置と手先位置データの手先位置との差」と、体幹位置修正量データベースの記憶内容とに基づいて、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」を特定する手段と、
ロボットの動作開始からの経過時間毎の「体幹位置の修正量」に基づいて、作成された体幹位置データを修正する手段とを有することを特徴とする歩容データ作成装置。 - 両腕を動作させながら歩行するロボットの歩容データを作成する装置であり、
ロボットの動作開始からの経過時間毎の足先位置が記述された足先位置データを記憶している手段と、
「ロボットの両腕は胴体に固定されている」という仮定の下で、ロボットの動作開始からの経過時間毎の体幹位置が記述された体幹位置データを作成する手段と、
ロボットの動作開始からの経過時間毎の手先位置が記述された手先位置データを記憶する手段と、
重心位置の差と体幹位置の修正量との関係を記憶している体幹位置修正量データベースと、
作成された体幹位置データを修正する装置とを備え、
その修正装置は、
前記仮定の下で、足先位置データと作成された体幹位置データと各足の質量と体幹の質量と各腕の質量とに基づいて、ロボットの動作開始からの経過時間毎の重心位置を計算する第1計算手段と、
足先位置データと作成された体幹位置データと手先位置データと各足の質量と体幹の質量と各腕の質量とに基づいて、ロボットの動作開始からの経過時間毎の重心位置を計算する第2計算手段と、
ロボットの動作開始からの経過時間毎の「第1計算手段で計算された重心位置と第2計算手段で計算された重心位置との差」を計算する第3計算手段と、
ロボットの動作開始からの経過時間毎の「第1計算手段で計算された重心位置と第2計算手段で計算された重心位置との差」と、体幹位置修正量データベースの記憶内容とに基づいて、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」を特定する手段と、
ロボットの動作開始からの経過時間毎の「体幹位置の修正量」に基づいて、作成された体幹位置データを修正する手段とを有することを特徴とする歩容データ作成装置。 - 請求項1又は2の歩容データ作成装置と、その歩容データ作成装置で作成された歩容データに従って運動するロボットと、オペレータによって操作される操作部材とを備えるロボットシステムであり、
歩容データ作成装置は、操作部材が操作されると前記手先位置データを作成して前記手先位置データ記憶手段に記憶させる手段を有し、
ロボットは、操作部材が操作されると歩容データ作成装置の前記手先位置データ記憶手段の記憶内容に従って両腕を動作させ、
歩容データ作成装置の前記修正装置は、操作部材が操作されると前記体幹位置データを修正することを特徴とするロボットシステム。 - 両腕を動作させながら歩行するロボットの、歩行パターンが同じであって両腕の動作パターンが異なる複数パターンの歩容データを作成する装置であり、
ロボットの動作開始からの経過時間毎の足先位置が記述された足先位置データを記憶している手段と、
少なくとも2パターンの「ロボットの動作開始からの経過時間毎の手先位置」が記述された手先位置データを記憶している手段と、
足先位置データと一方のパターンの手先位置データとに基づいて、一方のパターンの「ロボットの動作開始からの経過時間毎の体幹位置」が記述された体幹位置データを作成する第1作成装置と、
手先位置の差と体幹位置の修正量との関係を記憶している体幹位置修正量データベースと、
他方のパターンの「ロボットの動作開始からの経過時間毎の体幹位置」が記述された体幹位置データを作成する第2作成装置とを備え、
その第2作成装置は、
ロボットの動作開始からの経過時間毎の「一方のパターンの手先位置データの手先位置と他方のパターンの手先位置データの手先位置との差」を計算する手段と、
ロボットの動作開始からの経過時間毎の「一方のパターンの手先位置データの手先位置と他方のパターンの手先位置データの手先位置との差」と、体幹位置修正量データベースの記憶内容とに基づいて、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」を特定する手段と、
ロボットの動作開始からの経過時間毎の「体幹位置の修正量」に基づいて一方のパターンの体幹位置データを修正することによって、他方のパターンの体幹位置データを作成する手段とを有することを特徴とする歩容データ作成装置。 - 両腕を動作させながら歩行するロボットの、歩行パターンが同じであって両腕の動作パターンが異なる複数パターンの歩容データを作成する装置であり、
ロボットの動作開始からの経過時間毎の足先位置が記述された足先位置データを記憶している手段と、
少なくとも2パターンの「ロボットの動作開始からの経過時間毎の手先位置」が記述された手先位置データを記憶している手段と、
足先位置データと一方のパターンの手先位置データとに基づいて、一方のパターンの「ロボットの動作開始からの経過時間毎の体幹位置」が記述された体幹位置データを作成する第1作成装置と、
重心位置の差と体幹位置の修正量との関係を記憶している体幹位置修正量データベースと、
他方のパターンの「ロボットの動作開始からの経過時間毎の体幹位置」が記述された体幹位置データを作成する第2作成装置とを備え、
その第2作成装置は、
足先位置データと一方のパターンの手先位置データと一方のパターンの体幹位置データと各足の質量と体幹の質量と各腕の質量とに基づいて、ロボットの動作開始からの経過時間毎の重心位置を計算する第1計算手段と、
足先位置データと他方のパターンの手先位置データと一方のパターンの体幹位置データと各足の質量と体幹の質量と各腕の質量とに基づいて、ロボットの動作開始からの経過時間毎の重心位置を計算する第2計算手段と、
ロボットの動作開始からの経過時間毎の「第1計算手段で計算された重心位置と第2計算手段で計算された重心位置との差」を計算する第3計算手段と、
ロボットの動作開始からの経過時間毎の「第1計算手段で計算された重心位置と第2計算手段で計算された重心位置との差」と、体幹位置修正量データベースの記憶内容とに基づいて、ロボットの動作開始からの経過時間毎の「体幹位置の修正量」を特定する手段と、
ロボットの動作開始からの経過時間毎の「体幹位置の修正量」に基づいて一方のパターンの体幹位置データを修正することによって、他方のパターンの体幹位置データを作成する手段とを有することを特徴とする歩容データ作成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003354866A JP4311159B2 (ja) | 2003-10-15 | 2003-10-15 | ロボットの歩容データ作成装置及びシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003354866A JP4311159B2 (ja) | 2003-10-15 | 2003-10-15 | ロボットの歩容データ作成装置及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005118924A JP2005118924A (ja) | 2005-05-12 |
JP4311159B2 true JP4311159B2 (ja) | 2009-08-12 |
Family
ID=34612656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003354866A Expired - Fee Related JP4311159B2 (ja) | 2003-10-15 | 2003-10-15 | ロボットの歩容データ作成装置及びシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4311159B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007007797A (ja) * | 2005-07-01 | 2007-01-18 | Toyota Motor Corp | 歩行ロボット |
WO2018151317A1 (ja) * | 2017-02-20 | 2018-08-23 | 友樹 橋本 | 多関節ロボットにおける動作教示・再現駆動システム及び動作教示・再現駆動方法 |
CN116660916B (zh) * | 2023-05-26 | 2024-02-02 | 广东省农业科学院设施农业研究所 | 一种用于果园移动机器人的定位方法、建图方法及电子设备 |
-
2003
- 2003-10-15 JP JP2003354866A patent/JP4311159B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005118924A (ja) | 2005-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4513320B2 (ja) | ロボット装置、並びにロボット装置の運動制御方法 | |
US10836040B2 (en) | Desired ZMP trajectory generating device | |
JP3972854B2 (ja) | ロボットの運動制御装置 | |
JP4548135B2 (ja) | 脚式ロボットとその制御方法 | |
US8682488B2 (en) | Humanoid robot and walking control method thereof | |
JP7174705B2 (ja) | 外骨格を動かすための方法 | |
US20120158183A1 (en) | Walking robot and control method thereof | |
JP6228097B2 (ja) | 移動ロボット | |
JP5104355B2 (ja) | ロボット制御装置、ロボット制御方法およびロボット制御プログラム | |
KR100889481B1 (ko) | 이족 로봇의 계단 보행 방법 | |
JPH0692076B2 (ja) | 歩行脚運動制御装置 | |
JP4311159B2 (ja) | ロボットの歩容データ作成装置及びシステム | |
JP4905041B2 (ja) | ロボット制御装置 | |
JP4985776B2 (ja) | ロボット制御装置、ロボット制御方法およびロボット制御プログラム | |
JP4501601B2 (ja) | 脚式ロボットとその制御方法ならびに歩容データの作成装置と作成方法 | |
JP5035005B2 (ja) | 脚式ロボット、その制御方法、その制御システム | |
JP6168158B2 (ja) | 移動ロボットの移動制御方法、および、移動ロボット | |
JP4833121B2 (ja) | 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム | |
JP3674787B2 (ja) | ロボット装置の動作制御装置及び動作制御方法、並びにコンピュータ・プログラム | |
JP2005007496A (ja) | 歩容データの作成装置と作成方法 | |
JP4583098B2 (ja) | ロボットの運動パターン作成用プログラム、並びに運動パターン作成装置及びそれを用いたロボット。 | |
JP2005022039A (ja) | 歩容データ作成装置と作成方法 | |
JP2008142861A (ja) | 歩容データ生成装置と歩容データ生成方法 | |
JP4848686B2 (ja) | 脚式ロボットとその動作調節方法 | |
JP4707290B2 (ja) | 脚式移動ロボットの動作制御装置及び動作制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060407 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090421 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090504 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |