JP6149791B2 - 重心推定装置、及び重心推定方法 - Google Patents

重心推定装置、及び重心推定方法 Download PDF

Info

Publication number
JP6149791B2
JP6149791B2 JP2014089943A JP2014089943A JP6149791B2 JP 6149791 B2 JP6149791 B2 JP 6149791B2 JP 2014089943 A JP2014089943 A JP 2014089943A JP 2014089943 A JP2014089943 A JP 2014089943A JP 6149791 B2 JP6149791 B2 JP 6149791B2
Authority
JP
Japan
Prior art keywords
robot
center
gravity
angular velocity
angle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014089943A
Other languages
English (en)
Other versions
JP2015208790A (ja
Inventor
将弘 土井
将弘 土井
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2014089943A priority Critical patent/JP6149791B2/ja
Publication of JP2015208790A publication Critical patent/JP2015208790A/ja
Application granted granted Critical
Publication of JP6149791B2 publication Critical patent/JP6149791B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボットの重心位置及び/又は速度を高精度に推定できる重心推定装置、及び重心推定方法に関するものである。
環境とロボットとが接触する接触力を検出し、該検出した接触力に基づいてZMP(ZeroMomentPoint)方程式等により幾何学的にロボットの重心位置や速度を推定するロボットが知られている(例えば、特許文献1参照)。
特開2009−285816号公報
しかしながら、上記ロボットにおいては、幾何学的な方法を用いているため、関節部の撓みなどによる関節角度の誤差の影響を受け、高精度にロボットの重心位置や速度を推定するのが困難となる。
本発明は、このような問題点を解決するためになされたものであり、ロボットの重心位置及び/又は速度を高精度に推定できる重心推定装置、及び重心推定方法を提供することを主たる目的とする。
上記目的を達成するための本発明の一態様は、環境と接触する多関節型のロボットの複数の接触点に作用する力を夫々検出する力検出手段と、前記ロボットの胴体部に作用する角速度を検出する角速度検出手段と、前記ロボットの胴体部に作用する加速度を検出する加速度検出手段と、前記ロボットの各関節の角度を検出する角度検出手段と、前記ロボットの各接触点の姿勢及び位置を取得する取得手段と、前記角速度検出手段により検出された角速度と、前記加速度検出手段により検出された加速度と、前記角度検出手段により検出された各関節の角度と、に基づいて前記ロボットの重心周りの角運動量を算出する角運動算出手段と、前記力検出手段により検出された各接触点の力と、前記取得手段により取得された各接触点の姿勢及び位置と、前記角運動算出手段により算出された重心周りの角運動量と、に基づいてカルマンフィルタを用いて前記ロボットの重心位置及び速度のうち少なくとも一方を推定する第1推定手段と、を備える、ことを特徴とする重心推定装置である。
この一態様において、前記第1推定手段は、前記力検出手段により検出された各接触点の力と、前記取得手段により取得された各接触点の姿勢及び位置と、前記角運動算出手段により算出された重心周りの角運動量と、に基づいて、前記ロボットの重心位置及び速度を状態変数とした状態方程式、および、前記ロボットの重心周りの角運動量を観測値とした観測方程式、に対してカルマンフィルタを適用して前記ロボットの重心位置及び速度を推定し、前記状態方程式及び観測方程式は、前記ロボットの重心に対して並進方向及び回転方向に作用する力の運動方程式に基づいて導出されてもよい。
この一態様において、前記ロボットは、複数の前記関節と、該各関節を介して相互に連結された複数のリンクと、を有する多関節型ロボットであり、前記角度検出手段により検出された各関節の角度に基づいて各関節の角速度を算出する関節角速度算出手段を更に備え、前記角運動量算出手段は、前記角度検出手段により検出された各関節の角度と、前記関節角速度算出手段により算出された各関節の角速度と、前記胴体部の姿勢角及び角速度と、前記各リンクの質量、位置及び慣性モーメントと、前記ロボットの重心位置と、に基づいて、前記ロボットの各リンクの並進運動による角運動量と回転運動による角運動量とを夫々加算して前記ロボットの重心周りの角運動量を算出してもよい。
この一態様において、前記ロボットの胴体部の姿勢角のオフセット値を四元数を用いて定義し、該四元数及び前記角速度検出手段の角速度のオフセット値を状態変数としシステム雑音を含む状態方程式、および、前記胴体部の加速度を観測値とし観測雑音を含む観測方程式、に対してカルマンフィルタを適用して、前記状態変数を推定し、該推定した状態変数に基づいて、前記胴体部の姿勢角及び角速度を推定する第2推定手段を更に備え、前記角運動量算出手段は、前記第2推定手段により推定された胴体部の姿勢角及び角速度と、前記角度検出手段により検出された各関節の角度と、前記各関節の角速度と、前記各リンクの質量及び慣性モーメントと、前記ロボットの重心位置と、に基づいて、前記ロボットの重心周りの角運動量を算出してもよい。
この一態様において、前記角速度検出手段により検出されたロボットの胴体部の角速度から低周波ノイズを除去するハイパスフィルタと、前記加速度検出手段により検出されたロボットの胴体部の加速度から高周波ノイズを除去するローパスフィルタと、を更に備え、前記角運動量算出手段は、前記ハイパスフィルタからの胴体部の角速度と、前記ローパスフィルタからの胴体部の加速度と、前記角度検出手段により検出された各関節の角度と、前記各関節の角速度と、前記各リンクの質量及び慣性モーメントと、前記ロボットの重心位置と、に基づいて、前記ロボットの重心周りの角運動量を算出してもよい。
この一態様において、前記取得手段により取得された各接触点の姿勢角に基づいて、前記力検出手段から出力された該力検出手段の座標系の力をグローバル座標系の力に変換する変換手段を更に備えていてもよい。
この一態様において、前記力検出手段は、前記各接触点における、x軸方向、y軸方向、及びz軸方向の力と、x軸周り、y軸周り、及びz軸周りのモーメント力を検出してもよい。
上記目的を達成するための本発明の一態様は、環境と接触する多関節型のロボットの複数の接触点に作用する力を夫々検出するステップと、前記ロボットの胴体部に作用する角速度を検出するステップと、前記ロボットの胴体部に作用する加速度を検出するステップと、前記ロボットの各関節の角度を検出するステップと、前記ロボットの各接触点の姿勢及び位置を取得するステップと、前記検出された角速度と、前記検出された加速度と、前記検出された各関節の角度と、に基づいて前記ロボットの重心周りの角運動量を算出するステップと、前記検出された各接触点の力と、前記取得された各接触点の姿勢及び位置と、前記算出された重心周りの角運動量と、に基づいてカルマンフィルタを用いて前記ロボットの重心位置及び速度のうち少なくとも一方を推定するステップと、を含む、ことを特徴とする重心推定方法であってもよい。
本発明によれば、ロボットの重心位置及び/又は速度を高精度に推定できる重心推定装置、及び重心推定方法を提供することができる。
多点接触動作を行う際のロボット制御系のフレームワークを説明するための図である。 環境と各接触点で接触するロボットの2次元モデルを概略的に示す図である。 実施の形態1に係る重心推定装置の概略的なシステム構成を示すブロック図である。 実施の形態1に係る多関節型ロボットに搭載された各センサを示す図である。 ロボットの重心周りの角運動量を説明するための図である。 実施の形態1に係る重心推定方法の処理フローを示すフローチャートである。 実施の形態2に係る重心推定装置の概略的なシステム構成を示すブロック図である。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。
本発明の実施の形態1に係る重心推定装置は、ロボットの重心位置及び速度のうち少なくとも一方を高精度に推定できる。重心推定装置は、例えば、ロボットに搭載されている。ロボットは、重心推定装置により推定されたロボットの重心位置及び速度に基づいて、その手足先等と環境との各接触点に作用する接触力を正確に制御できる。
ここで、ロボットが環境と複数の接触点で接触して動作(多点接触動作)を行う際の、ロボット制御系のフレームワークについて説明する。ロボットは、腕部、脚部、胴体部等で構成された、例えば、多関節型のヒューマノイドロボットとして構成されている。ロボットは、ロボットの重心軌道を生成する軌道生成部と、ロボットの力制御を行う制御部と、実機とモデルとのずれを推定する状態推定部と、を備えている。
(1)接触点計画
軌道生成部は、設定された一連のタスクを実行する際に環境とロボットの手、足等との接触点の位置及び姿勢(時系列の接触点情報)を算出する。例えば、図1に示すように、ロボット100が、壁に手を接触させつつ机の前まで移動し、机上に手を接触させつつ奥にあるペットボトルを把持するタスクを実行する。このとき、軌道生成部は、どの位置にロボット100のどのような姿勢で手、足等を接触させて胴体部を支持するか等を、動作計画ソフトウェア(プランナー)、あるいは予めユーザに設定された設定情報を用いて計画する。
(2)重心軌道生成
軌道生成部は、上記計画した時系列の接触点情報に基づいて、現在を初期状態として所定時間経過後までの安定性が維持できるロボット100の重心軌道を生成する。同時に、軌道生成部は、各接触点で発生させる反力(接触力)を算出する。
(3)接触力制御
制御部は、軌道生成部により算出された接触力が各接触点で発生するようにロボット100の各関節部の力制御を行う。
(4)全身協調
軌道生成部は、制御部の力制御の結果に基づいて重心軌道を修正する。制御部は、軌道生成部により修正された重心軌道に基づいて、ロボット100全身の姿勢及び各関節角度を算出し、ロボット100の制御を行う。
(5)状態推定
最後に、状態推定部は、ジャイロセンサ、加速度センサ等により検出された実際のセンサ値に基づいて算出した実機の重心軌道と、上記修正したモデルの重心軌道と、のずれを推定する。そして、状態推定部は、推定したずれに基づいて、モデルの重心軌道が実機の重心軌道に一致するように制御パラメータを設定する。
ロボット100は、上述した(2)から(5)のプロセスを高速周期で実行することで、安定的な多点接触動作を実現する。本実施の形態1に係る重心推定装置は、上述した(5)状態推定に相当する機能を有している。
図2は、環境と複数の接触点で接触するロボットの2次元モデルを概略的に示す図である。なお、図2に示すロボットにおいて、説明の簡略化のために各接触点でモーメント力は作用しないものとする。すなわち、各接触点は夫々点接触、もしくは線接触しているものとする。
図2(1)に示す如く、ロボットの各接触点には環境から水平方向の反力(接触力)f1及び鉛直方向の反力f2が夫々作用している。そして、図2(2)に示す如く、この各接触点の水平方向及び鉛直方向の接触力の合力f3、f4がロボットの重心Gに作用する。したがって、このロボットの重心Gに作用する合力f3、f4から重心Gに作用する重力mgを減算した値が、ロボットの重心Gの並進力となり、この並進力をロボットの質量で除算した値がロボットの重心Gの並進加速度となる。このように、各接触点に作用する接触力を正確に計測できれば、ロボットの重心Gの並進加速度を正確に算出できる。そして、算出したロボットの重心Gの並進加速度を逐次積分することで重心位置及び速度を推定することができる。
しかしながら、力センサなどにより計測される各接触点の接触力は一般にノイズや誤差を含んでいる。したがって、このノイズや誤差を含む各接触点の接触力を用いて算出した重心Gの並進加速度も誤差を含むこととなる。さらに、この誤差を含む重心Gの並進加速度を積分することで誤差が累積し重心位置及び速度は真値から外れた推定値となる虞がある。
ところで、図2(3)に示す如く、ロボットの重心Gには上述した並進力と共にモーメント力Mも作用している。これは、ロボットの重心Gから各接触点までの距離に各接触力を乗算し、各乗算結果を加算した合モーメント力として表される。
そこで、本実施の形態1に係る重心推定装置は、ロボットの重心Gに作用する並進力に基づいた重心の推定に、重心周りのモーメントの関係式を組合せると共に、重心周り角速運動量を観測値としてカルマンフィルタを構成している。これにより、ロボットのセンサによるノイズや誤差を除去し、ロボットの重心位置及び速度を高精度かつリアルタイムに推定できる。
図3は、本実施の形態1に係る重心推定装置の概略的なシステム構成を示すブロック図である。本実施の形態1に係る重心推定装置1は、複数の力センサ2と、複数のエンコーダ3と、ジャイロセンサ4と、加速度センサ5と、データ取得部6と、6軸力算出部7と、第2カルマンフィルタ8と、微分演算部9と、角運動量算出部10と、第1カルマンフィルタ11と、を備えている。
重心推定装置1は、例えば、演算処理等と行うCPU(Central Processing Unit)、CPUによって実行される演算プログラム等が記憶されたROM(Read Only Memory)やRAM(Random Access Memory)からなるメモリ、外部と信号の入出力を行うインターフェイス部(I/F)、などからなるマイクロコンピュータを中心にして、ハードウェア構成されている。CPU、メモリ、及びインターフェイス部は、データバスなどを介して相互に接続されている。
ロボット100は、例えば、複数の関節部と、各関節部を介して相互に連結された複数のリンクと、を有する多関節型ロボットとして構成されている(図4)。ロボット100は、二足歩行ロボットなどのヒューマノイドロボットとして構成されているが、これに限らず、複数の関節部及びリンクを有し、環境と複数点で接触する任意の多関節型ロボットに適用可能である。
各力センサ2は、力検出手段の一具体例であり、例えば、ロボット100の手先、足先、臀部、膝部、肘部などの路面、壁面などの環境と接触する部分に夫々設けられている。各力センサ2は、ロボット100と環境とが接触する接触点における、x軸方向、y軸方向、及びz軸方向の力Fと、x軸周り、y軸周り、及びz軸周りのモーメントτ(接触6軸力)を夫々検出する。各力センサ2は、検出した接触6軸力(F、τ)を6軸力算出部7に出力する。
Figure 0006149791
なお、ロボット100には、例えば、M個の力センサ2が設けれており、i番目の力センサ2の接触6軸力を(F、τ)とする。
各エンコーダ3は、角度検出手段の一具体例であり、例えば、ロボット100の各関節部に設けられている。各エンコーダ3は、各関節部の関節角度θを検出する。各エンコーダは、検出した各関節部の関節角度θを角運動量算出部10及び微分演算部9に出力する。なお、ロボット100には例えば、N個の関節部が設けられているものとする。
Figure 0006149791
ジャイロセンサ4は、角速度検出手段の一具体例であり、例えば、ロボット100の胴体部に設けれている。ジャイロセンサ4は、ロボット100の胴体部の角速度ωを検出する。ジャイロセンサ4は、検出した胴体部の角速度ωを第2カルマンフィルタ8に出力する。
加速度センサ5は、加速度検出手段の一具体例であり、例えば、ロボット100の胴体部に設けられている。加速度センサ5は、胴体部の並進方向の加速度(並進加速度)αを検出する。加速度センサ5は、検出した胴体部の並進加速度αを第2カルマンフィルタ8に出力する。
Figure 0006149791
データ取得部6は、取得手段の一具体例であり、各接触点の姿勢を示す回転行列(以下、姿勢行列R )及び各接触点の位置を示すグローバル座標系の座標(以下、位置座標p)を上記メモリなどから取得する。例えば、ロボット100は環境上の予め決められた位置に手や足を接触させて運動するものとし、メモリには、そのときの各接触点の姿勢及び位置が記憶されている。
データ取得部6は、取得した各接触点の姿勢行列R を6軸力算出部7に出力し、取得した各接触点の位置座標pを第1カルマンフィルタ11に出力する。なお、データ取得部6は、例えば、ロボット100に設けられたセンサを用いて、各接触点の姿勢行列R 及び/又は位置座標pを幾何学的に算出してもよい。また、データ取得部6は、取得した各接触点の姿勢行列R 及び/又は位置座標pを、ロボット100の外界情報を検出する外界センサ(レーザレンジファインダ、カメラなど)を用いて幾何学的に修正してもよい。これにより、各接触点の姿勢行列R 及び位置座標pをより高精度に求めることができる。
6軸力算出部7は、変換手段の一具体例であり、データ取得部6から出力された各接触点iの姿勢行列R に基づいて、各力センサ2から出力された力センサ座標系の接触6軸力(F、τ)をグローバル座標系の接触6軸力(f、n)に下記式を用いて変換する。
Figure 0006149791
なお、上記式において、i番目の接触点の姿勢行列をR とし位置座標をpとしている。
6軸力算出部7は、変換した接触6軸力(f、n)を第1カルマンフィルタ11に出力する。
第2カルマンフィルタ8は、第2推定手段の一具体例であり、ジャイロセンサ4から出力されたロボット100の胴体部の角速度ωと、加速度センサ5から出力された胴体部の並進加速度αと、に基づいて、周知のカルマンフィルタを用いて、ロボット100の胴体部の姿勢角(行列)Rbodyおよび角速度(ベクトル)ωを高精度に算出する。
ここで、ロボット100の胴体部の姿勢角のオフセット(バイアス)値を示す行列を四元数(クォータニオン)を用いて下記式を用いて定義する。
Figure 0006149791
ロボット100の胴体部の角速度のオフセット値を示すベクトルを下記式を用いて定義する。但し、βドット(βの微分値)=0とする。
Figure 0006149791
状態変数ηを下記式で定義する。
Figure 0006149791
次に、四元数の時間微分の関係式は、下記式のようになる。
Figure 0006149791
上記式を用いて下記式が導出される。
Figure 0006149791
上記式を離散化することで下記状態方程式(1)が導出される。
Figure 0006149791
さらに、ロボット100の胴体部の並進加速度を観測値に選ぶことで下記観測方程式(2)が導出される。但し、下記観測方程式(2)において、加速度センサ5が取り付けられたロボット100の胴体部の並進加速度が十分に小さいものと仮定する。
Figure 0006149791
上記観測方程式(2)において、回転変換の回転行列R(q)を下記式で表すことができる。
Figure 0006149791
上記導出した状態方程式(1)及び観測方程式(2)にシステム雑音bηη[k]及び観測雑音wΓ[k]を導入することで、下記(3)式を導出することができる。
Figure 0006149791
第2カルマンフィルタ8は、加速度センサ5からのロボット100の胴体部の並進加速度αに基づいて、例えば、上記(3)式に拡張カルマンフィルタを適用することで、高精度に状態変数η(q、β)を推定する。そして、第2カルマンフィルタ8は、推定した状態変数ηと、に基づいて下記式を用いて、ロボット100の胴体部の姿勢角Rbodyおよび角速度ωを算出する。
上記第2カルマンフィルタを用いることで、ジャイロセンサ4の低周波ノイズ及び加速度センサ5の高周波ノイズを除去し、ロボット100の胴体部の姿勢角および角速度を高精度に算出できる。
Figure 0006149791
第2カルマンフィルタ8は、算出した胴体部の姿勢角Rbodyおよび角速度ωを角運動量算出部10に出力する。
微分演算部9は、関節角速度算出手段の一具体例であり、各エンコーダ3から出力された各関節部の関節角度θに対し微分演算を行い各関節部の関節角速度(θ上辺にドットをθ(・)とする)を算出する。微分演算部9は、算出した各関節部の関節角速度を角運動量算出部10に出力する。
角運動量算出部10は、角運動量算出手段の一具体例であり、第2カルマンフィルタ8から出力される胴体部の姿勢角Rbody及び角速度ωと、各エンコーダ3から出力される各関節部の関節角度θと、微分演算部9から出力される各関節部の関節角速度θ(・)と、第1カルマンフィルタ11から出力されるロボット100の重心位置rと、に基づいて、ロボット100の重心周りの角運動量Lを算出する。
ここで、ロボット100の重心周りの角運動量Lは、ロボットの各リンクが重心周りに運動することによって発生する角運動量である。例えば、図5に示すように、j番目のリンクの質量をm、その位置をcとすると、このリンクが並進運動することによって生じる重心周りの角運動量は、下記式を用いて算出される。
Figure 0006149791
さらに、上記式に各リンクの回転運動による角運動量を考慮して求めた式を、全リンクについて足し合わせることで下記ロボット100の重心周りの角運動量Lの下記式を導出できる。但し、下記式において、j番目のリンクの慣性モーメントをIとし、角速度をωとする。
Figure 0006149791
角運動量算出部10は、第2カルマンフィルタ8から出力される胴体部の姿勢角Rbody及び角速度ωと、各エンコーダ3から出力される各関節部の関節角度θと、微分演算部9から出力される各関節部の関節角速度θ(・)と、に基づいて、周知の再帰的な演算を行い、各リンクの位置c及び角速度ωとを高速に算出する。
角運動量算出部10は、算出した各リンクの位置c及び角速度ωと、第1カルマンフィルタ11からフィードバックされたロボット100の重心位置rと、に基づいて、上記式を用いてロボット100の重心周りの角運動量Lを算出する。角運動量算出部10は、算出した重心周りの角運動量Lを第1カルマンフィルタ11に出力する。
第1カルマンフィルタ11は、6軸力算出部7から出力された接触6軸力(f、n)と、角運動量算出部10から出力された重心周りの角運動量Lと、ロボットの接触点の位置座標pと、に基づいて、周知のカルマンフィルタを用いてロボット100の重心位置r及び速度(r上辺にドットをr(・)とする)を推定する。
ここで、ロボット100の重心に対して並進方向及び回転方向に作用する力の運動方程式は、下記式で表される。但し、下記式において、Pは並進方向の運動量であり、gは重力加速度ベクトルである。
Figure 0006149791
下記新しい変数sを導入する。
Figure 0006149791
上記変数sの式に上記並進方向及び回転方向の運動方程式を代入することで下記式が導出される。
Figure 0006149791
状態変数xを下記式で定義する。
Figure 0006149791
上記式を離散化することで下記状態方程式(4)が導出される。
Figure 0006149791
ロボット100の重心周りの角運動量Lを観測値に選択することで下記観測方程式(5)が導出される。
Figure 0006149791
上記状態方程式(4)及び観測方程式(5)にシステム雑音b[k]及び観測雑音w[k]を導入することで下記式が導出される。
Figure 0006149791
第1カルマンフィルタ11は、第1推定手段の一具体例であり、6軸力算出部7から出力された接触6軸力(f、n)と、角運動量算出部10から出力された重心周りの角運動量Lと、ロボット100の接触点の位置座標pと、に基づいて、上記導出した(6)式に拡張カルマンフィルタを適用し、状態変数xを高精度に推定する。
図6は、本発明の実施の形態1に係る重心推定方法の処理フローを示すフローチャートである。
各力センサ2は、ロボット100と環境との各接触点における接触6軸力(F、τ)を夫々検出し(ステップS101)、検出した接触6軸力を6軸力算出部7に出力する。
各エンコーダ3は、ロボット100の各関節部の関節角度θを検出し(ステップS102)、検出した各関節部の関節角度θを角運動量算出部10及び微分演算部9に出力する。
ジャイロセンサ4は、ロボット100の胴体部の角速度ωを検出し(ステップS103)、検出した胴体部の角速度ωを第2カルマンフィルタ8に出力する。
加速度センサ5は、ロボット100の胴体部の並進加速度αを検出し(ステップS104)、検出した胴体部の並進加速度αを第2カルマンフィルタ8に出力する。
6軸力算出部7は、データ取得部6から出力された各接触点iの姿勢行列R に基づいて、各力センサ2から出力された力センサ座標系の接触6軸力(F、τ)をグローバル座標系の接触6軸力(f、n)に変換し(ステップS105)、変換した接触6軸力を第1カルマンフィルタ11に出力する。
第2カルマンフィルタ8は、ジャイロセンサ4から出力されたロボット100の胴体部の角速度ωと、加速度センサ5から出力されたロボット100の胴体部の並進加速度αと、に基づいて、カルマンフィルタを用いて、ロボット100の胴体部の姿勢角Rbodyおよび角速度ωを算出する(ステップS106)。第2カルマンフィルタ8は、算出した胴体部の姿勢角Rbodyおよび角速度ωを角運動量算出部10に出力する。
微分演算部9は、各エンコーダ3から出力された各関節部の関節角度θに対し微分演算を行い各関節部の関節角速度θ(・)を算出し(ステップS107)、算出した各関節部の関節角速度を角運動量算出部10に出力する。
角運動量算出部10は、第2カルマンフィルタ8から出力されるロボット100の胴体部の姿勢角及び角速度と、各エンコーダ3から出力される各関節部の関節角度と、微分演算部9から出力される各関節部の関節角速度θ(・)と、フィードバックされるロボット100の重心位置rと、に基づいて、ロボット100の重心周りの角運動量Lを算出する(ステップS108)。角運動量算出部10は、算出した重心周りの角運動量Lを第1カルマンフィルタ11に出力する。
第1カルマンフィルタ11は、6軸力算出器7から出力された接触6軸力(f、n)と、角運動量算出部10から出力された重心周りの角運動量Lと、データ取得部6から出力されるロボット100の接触点の位置座標pと、に基づいて、カルマンフィルタを用いてロボットの重心位置r及び速度r(・)を推定する(ステップS109)。
以上、本実施の形態1に係る重心推定装置1及び重心推定方法において、各力センサ2により検出された各接触点の接触6軸力と、各接触点の姿勢行列及び位置座標と、ロボット100の重心周りの角運動量と、に基づいて、ロボット100の重心位置及び速度を状態変数とした状態方程式、および、ロボット100の重心周りの角運動量を観測値とした観測方程式、に対してカルマンフィルタを適用してロボット100の重心位置及び速度を推定する。これにより、ロボット100の力センサ2などによるノイズや誤差を除去し、ロボット100の重心位置及び速度を高精度に推定できる。
実施の形態2
本実施の形態2に係る重心推定装置20は、上記実施の形態1の第2カルマンフィルタ8の代わりに、ハイパスフィルタ21及びローパスフィルタ22を備える点を特徴とする。図7は、本実施の形態2に係る重心推定装置の概略的なシステム構成を示すブロック図である。
ジャイロセンサ4は、検出した胴体部の角速度ωをハイパスフィルタ21に出力する。ハイパスフィルタ21は、ジャイロセンサ4の角速度ωから低周波ノイズを除去する。ハイパスフィルタ21は、低周波ノイズを除去した角速度を角運動量算出部10に出力する。
加速度センサ5は、検出した胴体部の並進加速度αをローパスフィルタ22に出力する。ローパスフィルタ22は、加速度センサ5の並進加速度αから高周波ノイズを除去する。ローパスフィルタ22は、高周波ノイズを除去した並進加速度を角運動量算出部10に出力する。
角運動量算出部10は、ハイパスフィルタ21から出力される胴体部の角速度と、ローパスフィルタ22から出力された胴体部の並進加速度と、各エンコーダ3から出力される各関節部の関節角度θと、微分演算部9から出力される各関節部の関節角速度θ(・)と、に基づいて、周知の再帰的な演算を行い、各リンクの位置c及び角速度ωとを高速に算出する。
角運動量算出部10は、算出した各リンクの位置c及び角速度ωと、ロボット100の重心位置rと、に基づいて、上記式を用いてロボット100の重心周りの角運動量Lを算出する。これにより、ジャイロセンサ及び加速度センサのノイズを除去し、高精度にロボット100の重心周りの角運動量Lを算出できる。
なお、ジャイロセンサ4及び加速度センサ5の計測精度が高い場合、ジャイロセンサ4及び加速度センサ5は、夫々、ハイパスフィルタ及びローパスフィルタを介することなく、角運動量算出部10に直接的に角速度ω及び並進加速度αを出力してもよい。
角運動量算出部10は、ジャイロセンサ4から出力される胴体部の角速度ωと、加速度センサ5から出力された胴体部の並進加速度αと、各エンコーダ3から出力される各関節部の関節角度θと、微分演算部9から出力される各関節部の関節角速度θ(・)と、に基づいて、各リンクの位置c及び角速度ωとを算出し、該算出した各リンクの位置c及び角速度ωと、ロボット100の重心位置rと、に基づいて、上記式を用いてロボット100の重心周りの角運動量Lを算出する。これにより、構成を簡略化しつつ、高精度にロボット100の重心周りの角運動量Lを算出できる。
本実施の形態2において、上記実施の形態1と同一部分に同一符号を付して詳細な説明は省略する。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
本発明は、例えば、図6に示す処理を、CPUにコンピュータプログラムを実行させることにより実現することも可能である。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAMを含む。
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
1 重心推定装置、2 力センサ、3 エンコーダ、4 ジャイロセンサ、5 加速度センサ、6 データ取得部、7 6軸力算出部、8 第2カルマンフィルタ、9 微分演算部、10 角運動量算出部、11 第1カルマンフィルタ、21 ハイパスフィルタ、22 ローパスフィルタ、100 ロボット

Claims (8)

  1. 環境と接触する多関節型のロボットの複数の接触点に作用する力を夫々検出する力検出手段と、
    前記ロボットの胴体部に作用する角速度を検出する角速度検出手段と、
    前記ロボットの胴体部に作用する加速度を検出する加速度検出手段と、
    前記ロボットの各関節の角度を検出する角度検出手段と、
    前記ロボットの各接触点の姿勢及び位置を取得する取得手段と、
    前記角速度検出手段により検出された角速度と、前記加速度検出手段により検出された加速度と、前記角度検出手段により検出された各関節の角度と、に基づいて前記ロボットの重心周りの角運動量を算出する角運動算出手段と、
    前記力検出手段により検出された各接触点の力と、前記取得手段により取得された各接触点の姿勢及び位置と、前記角運動算出手段により算出された重心周りの角運動量と、に基づいてカルマンフィルタを用いて前記ロボットの重心位置及び速度のうち少なくとも一方を推定する第1推定手段と、を備える、ことを特徴とする重心推定装置。
  2. 請求項1記載の重心推定装置であって、
    前記第1推定手段は、前記力検出手段により検出された各接触点の力と、前記取得手段により取得された各接触点の姿勢及び位置と、前記角運動算出手段により算出された重心周りの角運動量と、に基づいて、前記ロボットの重心位置及び速度を状態変数とした状態方程式、および、前記ロボットの重心周りの角運動量を観測値とした観測方程式、に対してカルマンフィルタを適用して前記ロボットの重心位置及び速度を推定し、
    前記状態方程式及び観測方程式は、前記ロボットの重心に対して並進方向及び回転方向に作用する力の運動方程式に基づいて導出される、ことを特徴とする重心推定装置。
  3. 請求項1又は2記載の重心推定装置であって、
    前記ロボットは、複数の前記関節と、該各関節を介して相互に連結された複数のリンクと、を有する多関節型ロボットであり、
    前記角度検出手段により検出された各関節の角度に基づいて各関節の角速度を算出する関節角速度算出手段を更に備え、
    前記角運動量算出手段は、前記角度検出手段により検出された各関節の角度と、前記関節角速度算出手段により算出された各関節の角速度と、前記胴体部の姿勢角及び角速度と、前記各リンクの質量、位置及び慣性モーメントと、前記ロボットの重心位置と、に基づいて、前記ロボットの各リンクの並進運動による角運動量と回転運動による角運動量とを夫々加算して前記ロボットの重心周りの角運動量を算出する、ことを特徴とする重心推定装置。
  4. 請求項1乃至3のうちいずれか1項記載の重心推定装置であって、
    前記ロボットの胴体部の姿勢角のオフセット値を四元数を用いて定義し、該四元数及び前記角速度検出手段の角速度のオフセット値を状態変数としシステム雑音を含む状態方程式、および、前記胴体部の加速度を観測値とし観測雑音を含む観測方程式、に対してカルマンフィルタを適用して、前記状態変数を推定し、該推定した状態変数に基づいて、前記胴体部の姿勢角及び角速度を推定する第2推定手段を更に備え、
    前記角運動量算出手段は、前記第2推定手段により推定された胴体部の姿勢角及び角速度と、前記角度検出手段により検出された各関節の角度と、前記各関節の角速度と、前記各リンクの質量及び慣性モーメントと、前記ロボットの重心位置と、に基づいて、前記ロボットの重心周りの角運動量を算出する、ことを特徴とする重心推定装置。
  5. 請求項1乃至3のうちいずれか1項記載の重心推定装置であって、
    前記角速度検出手段により検出されたロボットの胴体部の角速度から低周波ノイズを除去するハイパスフィルタと、
    前記加速度検出手段により検出されたロボットの胴体部の加速度から高周波ノイズを除去するローパスフィルタと、を更に備え、
    前記角運動量算出手段は、前記ハイパスフィルタからの胴体部の角速度と、前記ローパスフィルタからの胴体部の加速度と、前記角度検出手段により検出された各関節の角度と、前記各関節の角速度と、前記各リンクの質量及び慣性モーメントと、前記ロボットの重心位置と、に基づいて、前記ロボットの重心周りの角運動量を算出する、ことを特徴とする重心推定装置。
  6. 請求項1乃至5のうちいずれか1項記載の重心推定装置であって、
    前記取得手段により取得された各接触点の姿勢角に基づいて、前記力検出手段から出力された該力検出手段の座標系の力をグローバル座標系の力に変換する変換手段を更に備える、ことを特徴とする重心推定装置。
  7. 請求項1乃至6のうちいずれか1項記載の重心推定装置であって、
    前記力検出手段は、前記各接触点における、x軸方向、y軸方向、及びz軸方向の力と、x軸周り、y軸周り、及びz軸周りのモーメント力を検出する、ことを特徴とする重心推定装置。
  8. 環境と接触する多関節型のロボットの複数の接触点に作用する力を夫々検出するステップと、
    前記ロボットの胴体部に作用する角速度を検出するステップと、
    前記ロボットの胴体部に作用する加速度を検出するステップと、
    前記ロボットの各関節の角度を検出するステップと、
    前記ロボットの各接触点の姿勢及び位置を取得するステップと、
    前記検出された角速度と、前記検出された加速度と、前記検出された各関節の角度と、に基づいて前記ロボットの重心周りの角運動量を算出するステップと、
    前記検出された各接触点の力と、前記取得された各接触点の姿勢及び位置と、前記算出された重心周りの角運動量と、に基づいてカルマンフィルタを用いて前記ロボットの重心位置及び速度のうち少なくとも一方を推定するステップと、を含む、ことを特徴とする重心推定方法。
JP2014089943A 2014-04-24 2014-04-24 重心推定装置、及び重心推定方法 Active JP6149791B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014089943A JP6149791B2 (ja) 2014-04-24 2014-04-24 重心推定装置、及び重心推定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014089943A JP6149791B2 (ja) 2014-04-24 2014-04-24 重心推定装置、及び重心推定方法

Publications (2)

Publication Number Publication Date
JP2015208790A JP2015208790A (ja) 2015-11-24
JP6149791B2 true JP6149791B2 (ja) 2017-06-21

Family

ID=54611450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014089943A Active JP6149791B2 (ja) 2014-04-24 2014-04-24 重心推定装置、及び重心推定方法

Country Status (1)

Country Link
JP (1) JP6149791B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113433338B (zh) * 2021-07-02 2024-07-12 乐聚(深圳)机器人技术有限公司 机器人质心速度计算方法、装置及介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02298489A (ja) * 1989-05-10 1990-12-10 Hitachi Ltd 移動ロボット操作装置
JP3672426B2 (ja) * 1996-12-19 2005-07-20 本田技研工業株式会社 脚式移動ロボットの姿勢制御装置
JP2007007797A (ja) * 2005-07-01 2007-01-18 Toyota Motor Corp 歩行ロボット
JP4753068B2 (ja) * 2005-09-15 2011-08-17 独立行政法人産業技術総合研究所 移動体の姿勢検出装置、及び、移動ロボット
JP2009285816A (ja) * 2008-05-30 2009-12-10 Toyota Motor Corp 脚式ロボット及びその制御方法
JP5540850B2 (ja) * 2010-04-09 2014-07-02 トヨタ自動車株式会社 姿勢推定装置、方法及びプログラム
JP5569681B2 (ja) * 2010-04-23 2014-08-13 国立大学法人 東京大学 慣性センサ,磁気センサおよび速度計を用いた移動体の姿勢推定装置および姿勢推定方法

Also Published As

Publication number Publication date
JP2015208790A (ja) 2015-11-24

Similar Documents

Publication Publication Date Title
CN108621161B (zh) 基于多传感器信息融合的足式机器人本体状态估计方法
JP5509226B2 (ja) 力制御関節を有する有脚ロボットのための運動学的および動力学的キャリブレーション方法およびシステム、並びに該ロボット
EP3751434B1 (en) Information processing device, information processing method, and storage medium
CN110662635B (zh) 机器人的碰撞处理
JP6380828B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP4876204B2 (ja) 小型姿勢センサ
JP2015199155A (ja) 情報処理装置および情報処理方法、プログラム
JP2007030054A (ja) ロボット装置
JP6795540B2 (ja) ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム
Kim et al. On-line initialization and extrinsic calibration of an inertial navigation system with a relative preintegration method on manifold
JP2012137421A (ja) 3軸力センサを用いて力制御をおこなうロボットの制御装置
Danilov et al. Zmp trajectory from human body locomotion dynamics evaluated by kinect-based motion capture system
CN109983299A (zh) 工业机器人的测量***和方法
KR20190022198A (ko) 착용형 센서를 이용한 자세정보 보정 방법 및 이를 수행하는 기록매체
JP2013018075A (ja) ロボット、ロボット制御装置、ロボット制御方法、およびプログラム
JP2013013987A (ja) ロボットシステム
JP6149791B2 (ja) 重心推定装置、及び重心推定方法
Hawley et al. External force observer for medium-sized humanoid robots
JP2017120575A (ja) 姿勢動作検出装置
JP2014087922A (ja) ロボット制御装置及び方法
CN108874146B (zh) 一种应用于虚拟现实***中的运动人体质心位移计算方法
JP2011255500A (ja) 脚式移動ロボットの制御装置
JP2014200882A (ja) 把持対象物の把持パターン検出方法およびロボット
JP2017144490A (ja) 制御装置、制御システム、制御方法およびプログラム
JP2020160594A (ja) 自己位置推定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170403

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170508

R151 Written notification of patent or utility model registration

Ref document number: 6149791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151