JP2008119764A - 二足歩行ロボットの制御装置 - Google Patents
二足歩行ロボットの制御装置 Download PDFInfo
- Publication number
- JP2008119764A JP2008119764A JP2006303571A JP2006303571A JP2008119764A JP 2008119764 A JP2008119764 A JP 2008119764A JP 2006303571 A JP2006303571 A JP 2006303571A JP 2006303571 A JP2006303571 A JP 2006303571A JP 2008119764 A JP2008119764 A JP 2008119764A
- Authority
- JP
- Japan
- Prior art keywords
- reaction force
- floor reaction
- total floor
- center point
- gait
- 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
Landscapes
- Manipulator (AREA)
Abstract
【課題】上体傾斜の制御のための床反力モーメントを歩行中のどのタイミングであっても、また路面に凹凸や傾斜があっても所望の値通りに得て、安定化することができる二足歩行ロボットの制御装置を提供する。
【解決手段】安定化制御器610は、上体傾斜補償器140と、力センサにより検出された反力および反力作用点から実全床反力中心点を算出する実全床反力中心点演算部150と、床面関数演算部130と、歩容と補償全床反力モーメントとからオフセット量を算出するオフセット量演算部125と、歩容とオフセット量とからオフセット直線を算出するオフセット直線演算部120と、オフセット直線と床面との交点である全床反力中心点指令を求める全床反力中心点指令演算部180と、全床反力中心点指令値と実全床反力中心点とが一致するように足平姿勢を修正した修正目標足平姿勢を算出する足平姿勢補償器160を備える。
【選択図】図1
【解決手段】安定化制御器610は、上体傾斜補償器140と、力センサにより検出された反力および反力作用点から実全床反力中心点を算出する実全床反力中心点演算部150と、床面関数演算部130と、歩容と補償全床反力モーメントとからオフセット量を算出するオフセット量演算部125と、歩容とオフセット量とからオフセット直線を算出するオフセット直線演算部120と、オフセット直線と床面との交点である全床反力中心点指令を求める全床反力中心点指令演算部180と、全床反力中心点指令値と実全床反力中心点とが一致するように足平姿勢を修正した修正目標足平姿勢を算出する足平姿勢補償器160を備える。
【選択図】図1
Description
本発明は、二足歩行ロボットの制御装置に関し、特に傾斜が検出された場合に姿勢を安定化する制御装置に関する。
従来の二足歩行ロボットの制御装置では、二足歩行ロボットの上体の傾斜を検出し、目標ZMPまわりの補償全床反力モーメントを決定し、各足平位置を目標ZMPまわりに所定角度回転させることによりその補償全床反力モーメントを得て安定化していた(例えば、特許文献1参照)。
ここで、目標ZMP(Zero Moment Point)とは、ロボットが床面から得るべき目標重心加速度ベクトルの向きで重心を通る直線を考え、その直線と床面との交点を意味するものとする。ただしロボットは重力加速度を受けるため、例えばロボットの重心を加速させないためにロボットが床面から得るべき目標重心加速度は、重力加速度に等しい大きさで垂直方向上向きである。また、足裏に受けている全床反力をある1点にのみ受けているものとみなしてモーメントベクトルの水平方向成分が0となるように置き換えることができ、その点を実全床反力中心点と呼ぶ。
目標ZMPと実全床反力中心点が一致しているときロボットが床から受けるモーメントの水平方向成分は0である。目標ZMPと実全床反力中心点がずれているときには床から水平方向軸まわりのモーメントを受け、目標ZMPと実全床反力中心点のずれ量が大きいほどそのモーメントは大きい。特許文献1における制御の操作量は、目標ZMP周りの回転角であり、これは結果的に実全床反力中心点を動かす効果があるため、これにより目標ZMPと実全床反力中心点のずれをつくって安定化している。
ここで、目標ZMP(Zero Moment Point)とは、ロボットが床面から得るべき目標重心加速度ベクトルの向きで重心を通る直線を考え、その直線と床面との交点を意味するものとする。ただしロボットは重力加速度を受けるため、例えばロボットの重心を加速させないためにロボットが床面から得るべき目標重心加速度は、重力加速度に等しい大きさで垂直方向上向きである。また、足裏に受けている全床反力をある1点にのみ受けているものとみなしてモーメントベクトルの水平方向成分が0となるように置き換えることができ、その点を実全床反力中心点と呼ぶ。
目標ZMPと実全床反力中心点が一致しているときロボットが床から受けるモーメントの水平方向成分は0である。目標ZMPと実全床反力中心点がずれているときには床から水平方向軸まわりのモーメントを受け、目標ZMPと実全床反力中心点のずれ量が大きいほどそのモーメントは大きい。特許文献1における制御の操作量は、目標ZMP周りの回転角であり、これは結果的に実全床反力中心点を動かす効果があるため、これにより目標ZMPと実全床反力中心点のずれをつくって安定化している。
以下では、図4を用いて従来の二足歩行ロボットの制御装置の全体構成を説明する。図4において、600は歩容生成器であり、ロボットの動作パターンを表す歩容を生成する。特許文献1において歩容とは目標運動パターンと床反力パターンを合わせたものを指称しており、具体的には目標上体位置姿勢軌道、目標足平位置姿勢軌道、目標全床反力中心点軌道、目標全床反力を合わせたものである。610は安定化制御器であり、予測しなかった外乱により歩行ロボットが転倒するのを防ぐため、各種センサ情報を用いて歩容生成器600が生成した歩容を修正する。620はアクチュエータ指令生成器であり、安定化制御器610が生成した修正歩容を、逆キネマティクス演算により各関節のアクチュエータ指令に変換する。630はアクチュエータ制御器であり、アクチュエータセンサ670からのアクチュエータセンサ情報を用いて、アクチュエータ指令生成器620が生成したアクチュエータ指令どおりの位置にアクチュエータを動作させるようにアクチュエータ操作量を変化させる。660はアクチュエータおよび脚構造であり、アクチュエータ制御器630によって操作されるアクチュエータと脚構造である。脚構造は地面等と接触することにより二足歩行ロボットを移動させる力を発生する。
670はアクチュエータセンサであり、アクチュエータの状態量を検出し、アクチュエータ制御器65へフィードバックする。具体的には、関節のアクチュエータとしてはサーボモータが使用される例が多く、その場合のアクチュエータ指令とはサーボモータの回転量をあらわす位置指令であり、アクチュエータ状態量とはサーボモータの回転量である。ロボットの関節の角度とサーボモータの回転量は一対一に対応する。アクチュエータセンサ情報とはサーボモータに取り付けられたエンコーダの信号である。アクチュエータおよび脚構造660が動作した結果、各種状態量が変化する。
680は各種センサであり、各種状態量を検出して安定化制御器にフィードバックする。具体的には、各種状態量とは二足歩行ロボットの上体の傾き、向き、またはそれらの速度、足裏に受ける圧力などであり、それらを検出する各種センサとしては、傾斜センサ、ジャイロセンサ、加速度センサ、地磁気センサ、圧力センサ、6軸力センサ、カメラなどが用いられる例が多い。また、こうした各種センサにより床面の傾斜や凹凸、壁のような障害物の位置や形状といった環境情報も得ることができる。
680は各種センサであり、各種状態量を検出して安定化制御器にフィードバックする。具体的には、各種状態量とは二足歩行ロボットの上体の傾き、向き、またはそれらの速度、足裏に受ける圧力などであり、それらを検出する各種センサとしては、傾斜センサ、ジャイロセンサ、加速度センサ、地磁気センサ、圧力センサ、6軸力センサ、カメラなどが用いられる例が多い。また、こうした各種センサにより床面の傾斜や凹凸、壁のような障害物の位置や形状といった環境情報も得ることができる。
以下では、図5を用いて従来の二足歩行ロボットの安定化制御器についてより詳細に説明する。
図5において、安定化制御器610は歩容生成装置600から歩容を受け取る。ここで、歩容とは、目標上体位置姿勢軌道、目標足平位置姿勢軌道、目標全床反力中心点軌道、目標全床反力をあわせたものを意味する。さらに安定化制御器610は、各種センサから各種センサ情報を受け取る。ここで、各種センサ情報とは、実各足平床反力、実ロボットの傾きずれ、上体Z方向加速度をあわせたものを意味する。
歩容生成器が生成する歩容はダイナミクスを考慮した動力学シミュレーションや実験による試行錯誤の結果決定された安定な歩容であるが、床面の予期しない凹凸や傾斜があった場合や予期しない外力が加わった場合には必ずしも安定とはならない。安定化制御器610は、このような予期しない外乱があっても安定に歩行を持続するため、各種センサ情報を元に歩容を修正し、修正歩容をロボット幾何学モデル(逆キネマティクス演算部)770に渡す。ここで修正歩容とは、目標上体位置姿勢軌道と機構変形補償付き修正目標足平位置姿勢軌道をあわせたものを意味する。770は、ロボット幾何学モデル(逆キネマティクス演算部)であり、図4のアクチュエータ指令生成器620に相当する。図4のアクチュエータ指令は、図5では関節変位指令となっており、ロボットの姿勢が修正歩容で表される姿勢となるような各関節アクチュエータの変位量の指令値を逆キネマティクス演算により算出する。
図5において、安定化制御器610は歩容生成装置600から歩容を受け取る。ここで、歩容とは、目標上体位置姿勢軌道、目標足平位置姿勢軌道、目標全床反力中心点軌道、目標全床反力をあわせたものを意味する。さらに安定化制御器610は、各種センサから各種センサ情報を受け取る。ここで、各種センサ情報とは、実各足平床反力、実ロボットの傾きずれ、上体Z方向加速度をあわせたものを意味する。
歩容生成器が生成する歩容はダイナミクスを考慮した動力学シミュレーションや実験による試行錯誤の結果決定された安定な歩容であるが、床面の予期しない凹凸や傾斜があった場合や予期しない外力が加わった場合には必ずしも安定とはならない。安定化制御器610は、このような予期しない外乱があっても安定に歩行を持続するため、各種センサ情報を元に歩容を修正し、修正歩容をロボット幾何学モデル(逆キネマティクス演算部)770に渡す。ここで修正歩容とは、目標上体位置姿勢軌道と機構変形補償付き修正目標足平位置姿勢軌道をあわせたものを意味する。770は、ロボット幾何学モデル(逆キネマティクス演算部)であり、図4のアクチュエータ指令生成器620に相当する。図4のアクチュエータ指令は、図5では関節変位指令となっており、ロボットの姿勢が修正歩容で表される姿勢となるような各関節アクチュエータの変位量の指令値を逆キネマティクス演算により算出する。
安定化制御器610は、目標床反力分配器720、複合コンプライアンス動作決定部730、姿勢安定化制御演算部740、上体Z方向速度制御演算部750からなる。目標床反力分配器720は、目標足平位置姿勢軌道、目標全床反力中心点軌道、目標全床反力から目標各足平床反力中心点および目標各足平床反力を算出する。複合コンプライアンス動作決定部730は、機構変形補償付き修正目標足平位置姿勢軌道を生成する。機構変形補償付き修正目標足平位置姿勢軌道とは、脚構造による弾性変形を考慮して修正目標足平位置姿勢軌道を修正したものである。修正目標足平位置とは、各種センサにより検出された実各足平床反力や実ロボットの傾きずれを補償するように目標足平位置姿勢軌道を修正したものである。実ロボットの傾きずれは、主に両脚補償角によって補償される。
ここで、両脚補償角とは、各足平位置を目標ZMPまわりに所定角度回転させる角度である。各足平位置を目標ZMPまわりに両脚補償角だけ回転させることにより両脚支持期の実全床反力中心点を移動させることができ、目標ZMPと実全床反力中心点のずれによる床反力モーメントを得てロボットの姿勢を安定化できる。
ここで、両脚補償角とは、各足平位置を目標ZMPまわりに所定角度回転させる角度である。各足平位置を目標ZMPまわりに両脚補償角だけ回転させることにより両脚支持期の実全床反力中心点を移動させることができ、目標ZMPと実全床反力中心点のずれによる床反力モーメントを得てロボットの姿勢を安定化できる。
特許文献1では、さらに各足平をそれぞれ目標各足平床反力中心点まわりに所定角度回転させることにより実各足平床反力モーメントの絶対値を小さくする制御をしているが、これは主に各足平の接地性を確保するための制御であり、上体の姿勢を安定化する床反力モーメントを得るものではない。特許文献1では、さらに各足平を同位相で平行移動させることにより実全床反力の力成分も制御している。これは主にZ方向に大きな加速度を受けた場合に両足平位置を平行移動させることによりその衝撃をやわらげるための制御である。
また、従来の二足歩行ロボットの制御装置には、二足歩行ロボットの上体の傾斜または回転速度を検出し、指令との偏差が生じた場合には歩容関数の吐き出し速度を操作して安定化しているものもある(例えば、特許文献2参照)。歩容関数の吐き出し速度を変えると重心加速度が変化するため、目標ZMPを動かす効果がある。これにより目標ZMPと実全床反力中心点のずれが生じ、床反力モーメントを得ることができる。
このように、従来の二足歩行ロボットの制御装置は、各足平位置を目標ZMPまわりに所定角度回転させることにより実全床反力中心点をずらすか、歩容関数の吐き出し速度を操作して目標ZMPをずらして、床反力モーメントを得て安定化していた。
特許第3629142号公報(第22頁、第26頁、図4、図18)
特許第3167420号公報(第13頁、図9)
従来の二足歩行ロボットの制御装置における安定化制御では、上体傾斜の制御のための操作量を各足平位置を目標ZMPまわりに回転させる角度としているが、この角度は補償全床反力モーメントとは比例しないため、歩行中のどのタイミングでこの制御を行うかによって得られる実全床反力モーメントが異なる。制御ゲインがあるタイミングで最適に設定されたとしても別のあるタイミングではその制御ゲインでは不足するために安定化できなかったり、あるいはその制御ゲインでは大きすぎるために発振を生じたりするという問題があった。
また、特許文献2のように歩容関数の吐き出し速度を変えて安定化する場合にも、補償床反力モーメントがどの程度得られるかは歩行中のタイミングによって異なるので所望の補償全床反力モーメントを得られないという問題点や、吐き出し速度を変えることにより意図した歩行速度にならなくなってしまうという問題点もあった。
本発明はこのような問題点に鑑みてなされたものであり、上体傾斜の制御のための床反力モーメントを歩行中のどのタイミングであっても、また路面に凹凸や傾斜があっても所望の値通りに得て、安定化することができる二足歩行ロボットの制御装置を提供することを目的とする。
また、特許文献2のように歩容関数の吐き出し速度を変えて安定化する場合にも、補償床反力モーメントがどの程度得られるかは歩行中のタイミングによって異なるので所望の補償全床反力モーメントを得られないという問題点や、吐き出し速度を変えることにより意図した歩行速度にならなくなってしまうという問題点もあった。
本発明はこのような問題点に鑑みてなされたものであり、上体傾斜の制御のための床反力モーメントを歩行中のどのタイミングであっても、また路面に凹凸や傾斜があっても所望の値通りに得て、安定化することができる二足歩行ロボットの制御装置を提供することを目的とする。
上記問題を解決するため、本発明は、次のように構成したのである。
請求項1に記載の発明は、二足の脚構造と、前記脚構造を動作させる複数のアクチュエータと、前記脚構造の歩容を生成する歩容生成装置と、前記脚構造の姿勢、前記脚構造に作用する外力、前記脚構造の環境情報のうち少なくとも1つの状態量を検出するセンサと、前記センサの検出結果をもとに前記歩容を修正した修正歩容を生成する安定化制御器と、前記修正歩容をもとに前記複数のアクチュエータそれぞれに対して位置、速度、力、電流のうち少なくとも1つの指令を生成するアクチュエータ指令生成器と、前記アクチュエータ指令どおりに前記アクチュエータを動作させるアクチュエータ制御器とを備えた二足歩行ロボットの制御装置において、前記センサは、前記ロボットの上体傾斜角を検出する傾斜センサまたは上体傾斜角速度を検出する傾斜角速度センサのいずれかと、前記脚構造が床などの構造物から受けている反力の大きさおよびその反力作用点を検出する力センサとを備え、前記安定化制御器は、前記上体傾斜角を上体傾斜角指令値に追従させる補償全床反力モーメントまたは前記上体傾斜角速度を上体傾斜角速度指令値に追従させる補償全床反力モーメントを算出する上体傾斜補償器と、前記力センサにより検出された前記反力および反力作用点から実全床反力中心点を算出する実全床反力中心点演算部と、前記ロボットが歩行する床面の形状を検出し、床面形状を表す床面関数を算出する床面関数演算部と、前記歩容と前記補償全床反力モーメントとからオフセット量を算出するオフセット量演算部と、前記歩容と前記オフセット量とからオフセット直線を算出するオフセット直線演算部と、前記オフセット直線と前記床面との交点である全床反力中心点指令を求める全床反力中心点指令演算部と、前記全床反力中心点指令値と前記実全床反力中心点とが一致するように足平姿勢を修正した修正目標足平姿勢を算出する足平姿勢補償器を備え、前記ロボットの足平姿勢が前記修正目標足平姿勢となる前記修正歩容を生成することを特徴とするものである。
請求項1に記載の発明は、二足の脚構造と、前記脚構造を動作させる複数のアクチュエータと、前記脚構造の歩容を生成する歩容生成装置と、前記脚構造の姿勢、前記脚構造に作用する外力、前記脚構造の環境情報のうち少なくとも1つの状態量を検出するセンサと、前記センサの検出結果をもとに前記歩容を修正した修正歩容を生成する安定化制御器と、前記修正歩容をもとに前記複数のアクチュエータそれぞれに対して位置、速度、力、電流のうち少なくとも1つの指令を生成するアクチュエータ指令生成器と、前記アクチュエータ指令どおりに前記アクチュエータを動作させるアクチュエータ制御器とを備えた二足歩行ロボットの制御装置において、前記センサは、前記ロボットの上体傾斜角を検出する傾斜センサまたは上体傾斜角速度を検出する傾斜角速度センサのいずれかと、前記脚構造が床などの構造物から受けている反力の大きさおよびその反力作用点を検出する力センサとを備え、前記安定化制御器は、前記上体傾斜角を上体傾斜角指令値に追従させる補償全床反力モーメントまたは前記上体傾斜角速度を上体傾斜角速度指令値に追従させる補償全床反力モーメントを算出する上体傾斜補償器と、前記力センサにより検出された前記反力および反力作用点から実全床反力中心点を算出する実全床反力中心点演算部と、前記ロボットが歩行する床面の形状を検出し、床面形状を表す床面関数を算出する床面関数演算部と、前記歩容と前記補償全床反力モーメントとからオフセット量を算出するオフセット量演算部と、前記歩容と前記オフセット量とからオフセット直線を算出するオフセット直線演算部と、前記オフセット直線と前記床面との交点である全床反力中心点指令を求める全床反力中心点指令演算部と、前記全床反力中心点指令値と前記実全床反力中心点とが一致するように足平姿勢を修正した修正目標足平姿勢を算出する足平姿勢補償器を備え、前記ロボットの足平姿勢が前記修正目標足平姿勢となる前記修正歩容を生成することを特徴とするものである。
請求項2に記載の発明は、前記二足歩行ロボットの制御装置は、前記アクチュエータの位置、速度、力、電流のうち少なくとも1つのアクチュエータ状態量を検出するアクチュエータセンサを備えたことを特徴とするものである。
請求項3に記載の発明は、前記足平姿勢補償器は、前記全床反力中心点指令値と前記実全床反力中心点との差分から足平姿勢補正値を算出し、前記足平姿勢補正値を前記足平姿勢の目標値に加えて修正目標足平姿勢を算出することを特徴とするものである。
本発明によると、上体傾斜の制御のための床反力モーメントを、歩行中のどのタイミングでも、また路面に凹凸や傾斜があっても所望の値通りに得られロボットの姿勢を安定化することができる。
以下、本発明の実施の形態について図を参照して説明する。
図1は、本発明の二足歩行ロボットの制御装置のブロック図である。図において、600は歩容生成器であり、ロボットの動作パターンを表す歩容を生成する。本実施例において歩容とは、目標足平位置、目標足平姿勢、目標重心位置、上体傾斜角指令値あるいは上体傾斜角速度指令値の組を意味する。目標足平位置はロボットの両足足先部分の位置指令値を表し、本実施例ではそれぞれの足裏の中央位置を表すものとする。目標重心位置はロボット全体の重心位置指令値を表す座標位置である。
以下では、ロボットが歩行している床面上の適切な位置に設定された点を原点とし、鉛直上方向をZ軸、進行方向前方をX軸、進行方向に対し左方向をY軸とした座標系を定義し、目標足平位置および目標重心位置はこの座標系で表されるものとする。歩容についてはシミュレーションや実験によって、予期しない外乱がない限り安定となるような歩行パターンをあらかじめ決定しておく。歩容の生成方法については、例えば特許第3658147号、特許第3726081号等に詳しく述べられている方法を用いればよい。歩容の生成方法は本発明の特徴ではないので省略する。
以下では、ロボットが歩行している床面上の適切な位置に設定された点を原点とし、鉛直上方向をZ軸、進行方向前方をX軸、進行方向に対し左方向をY軸とした座標系を定義し、目標足平位置および目標重心位置はこの座標系で表されるものとする。歩容についてはシミュレーションや実験によって、予期しない外乱がない限り安定となるような歩行パターンをあらかじめ決定しておく。歩容の生成方法については、例えば特許第3658147号、特許第3726081号等に詳しく述べられている方法を用いればよい。歩容の生成方法は本発明の特徴ではないので省略する。
610は安定化制御器である。安定化制御器は予期しない凹凸や傾斜などによって二足歩行ロボットの歩行が不安定になり最悪の場合転倒するといったことが起こらないよう、センサ情報を元に歩容を修正するための装置である。本発明の安定化制御器は、オフセット直線演算部、オフセット量演算部、上体傾斜補償器、床面関数演算部、全床反力中心点指令演算部、実全床反力中心点演算部、足平姿勢補償器からなる。
140は上体傾斜補償器であり、ロボット上体に設置された傾斜センサにより検出された上体傾斜角を目標上体傾斜角に追従させる床反力モーメントを発生させるための補償全床反力モーメントを算出する。補償全床反力モーメントの2階積分は上体傾斜角と比例するため、上体傾斜角を目標上体傾斜角に追従させる制御には従来のPID制御などを用いればよい。歩行中に上体の傾斜角を特に変える必要がない場合は、目標上体傾斜角を常に0として直立状態を維持させるようにしてもよい。
140は上体傾斜補償器であり、ロボット上体に設置された傾斜センサにより検出された上体傾斜角を目標上体傾斜角に追従させる床反力モーメントを発生させるための補償全床反力モーメントを算出する。補償全床反力モーメントの2階積分は上体傾斜角と比例するため、上体傾斜角を目標上体傾斜角に追従させる制御には従来のPID制御などを用いればよい。歩行中に上体の傾斜角を特に変える必要がない場合は、目標上体傾斜角を常に0として直立状態を維持させるようにしてもよい。
125はオフセット量演算部であり、上体傾斜補償器140で算出された補償全床反力モーメントと目標重心位置からオフセット量を算出する。
ここで、オフセット量、全床反力中心点指令値、目標ZMP、実全床反力中心点の関係を図3を用いて説明する。図は、歩行中のロボットを左(Y軸正方向)から見た様子を表しており、全床反力中心点指令値、目標ZMP、実全床反力中心点をそれぞれ図示している。簡単のため、目標重心加速度のY方向成分が0である場合を想定し、それぞれのX方向成分のみについて説明する。Y方向成分についても同様に考えればよい。図示したように、ロボットが床面から得るべき目標重心加速度ベクトルの向きで重心を通る直線を考える。以下では、この直線をゼロモーメント直線と呼ぶことにする。前述のように目標ZMPとは、このゼロモーメント直線と床面との交点を意味する。ただし、目標重心加速度のZ方向成分には、重力加速度を含む。加速する車両上を歩行する場合などはさらに慣性力による加速度を加えて考えればよい。ロボットが床面から受けるモーメントの水平方向成分は目標ZMPと実全床反力中心点とのずれ量が大きいほど大きくなるが、そのとき受けている床反力の大きさや路面の傾斜等の違いのため、単純な比例関係にはならない。
ここで、オフセット量、全床反力中心点指令値、目標ZMP、実全床反力中心点の関係を図3を用いて説明する。図は、歩行中のロボットを左(Y軸正方向)から見た様子を表しており、全床反力中心点指令値、目標ZMP、実全床反力中心点をそれぞれ図示している。簡単のため、目標重心加速度のY方向成分が0である場合を想定し、それぞれのX方向成分のみについて説明する。Y方向成分についても同様に考えればよい。図示したように、ロボットが床面から得るべき目標重心加速度ベクトルの向きで重心を通る直線を考える。以下では、この直線をゼロモーメント直線と呼ぶことにする。前述のように目標ZMPとは、このゼロモーメント直線と床面との交点を意味する。ただし、目標重心加速度のZ方向成分には、重力加速度を含む。加速する車両上を歩行する場合などはさらに慣性力による加速度を加えて考えればよい。ロボットが床面から受けるモーメントの水平方向成分は目標ZMPと実全床反力中心点とのずれ量が大きいほど大きくなるが、そのとき受けている床反力の大きさや路面の傾斜等の違いのため、単純な比例関係にはならない。
そこで、上体傾斜補償器140で算出された補償全床反力モーメントを正しく得るための実全床反力中心点の位置指令を全床反力中心点指令と呼ぶことにする。本実施例では、以下のようにして全床反力中心点指令値を決定する。まず、重心を通り、目標重心加速度ベクトルに垂直な平面を考え、その平面上に投影したX軸、Y軸の向きをそれぞれX’軸、Y’軸とし、重心を原点とした座標系をX’Y’座標系とする。実全床反力中心点をX’Y’平面に投影した点のX’Y’座標が(x’off、y’off)であるとき、ロボットに作用する重心まわりの床反力モーメントの水平方向成分(Mx、My)は次の式(1)で表される。
ただし、Mはロボットの全重量を表す。この関係を用いて、上体傾斜補償器140で算出された補償全床反力モーメントMXcmd、MYcmdをオフセット量に置き換える。オフセット量とは、X’方向成分とY’方向成分を持つベクトルで、次の式(2)で表される。
X’Y’座標上の点(x’off、y’off)を通ってゼロモーメント直線と平行な直線をオフセット直線と呼ぶことにする。この直線上で所望の力を受ければ、所望の重心まわりモーメントを得ることができる。オフセット直線と路面440との交点が全床反力中心点指令値となる。後述する全床反力中心点指令演算部180にてこの全床反力中心点指令値を求める。
図1に戻って説明を続ける。120はオフセット直線演算部であり、オフセット量演算部125で算出されたオフセット量と歩容生成器600が生成した歩容の目標重心位置からオフセット直線を算出する。オフセット直線を表現する関数は様々なものが考えられるが、例えば、目標重心位置を(xG、yG、zG)、上体傾斜補償機140の算出したオフセット量を(xoff、yoff、zoff)、目標重心加速度を(axG、ayG、azG)とすると、オフセット直線は中間変数tを用いて次の式(3)によって算出できる。
130は床面関数演算部であり、カメラ、レーザー変位計、赤外線センサ、超音波センサなどにより床面の形状を検出し、床面関数を算出する。床面関数は、床面の高さをx、yの関数として次の式(4)のように表す。
床面関数を表す具体的な関数としては、例えば多項式などを用いればよい。床面の形状があらかじめ分かっている場合や、センサを持たないロボットでは、センサ情報を用いずにあらかじめ用意した関数を用いればよい。床面の凹凸や傾斜が小さい場合は床面のZ座標を一定値とした平面の床として表してもよい。
180は全床反力中心点指令演算部であり、オフセット直線と床面関数から全床反力中心点指令値を求める。前述のように全床反力中心点指令値はオフセット直線と床面関数との交点であり、式(3)と式(4)を連立させて解くことにより算出すればよい。例えば床面が高さzconstで表される場合の全床反力中心点指令値は次の式(5)で与えられる。
180は全床反力中心点指令演算部であり、オフセット直線と床面関数から全床反力中心点指令値を求める。前述のように全床反力中心点指令値はオフセット直線と床面関数との交点であり、式(3)と式(4)を連立させて解くことにより算出すればよい。例えば床面が高さzconstで表される場合の全床反力中心点指令値は次の式(5)で与えられる。
150は実全床反力中心点演算部であり、力センサにより検出された足裏圧力から実全床反力中心点を算出する。実全床反力中心点を求めるためのセンサの構成や算出方法は様々なものが考えられるが、例えば足裏にn個(n:自然数)の圧力センサを設置し、それぞれの検出した力をfi、それぞれの設置された位置をX座標とY座標により(xi、yi)とすれば(i=1、2・・・n)、実全床反力中心点(xRZMP、yRZMP)は、次の式(6)で算出できる。
160は足平姿勢補償器であり、全床反力中心点指令値と実全床反力中心点とが一致するように足平姿勢を修正した修正目標足平姿勢を算出する。
図2は、図1に示した足平姿勢補償器160内のブロック図である。
以下では図2を用いて足平姿勢補償器160の動作を説明する。足平姿勢補償器160は、目標足平姿勢、実全床反力中心点、全床反力中心点指令値から修正目標足平姿勢を算出する。300は実全床反力制御部であり、実全床反力中心点を全床反力中心点指令値に追従させるように足平姿勢補正値を出力する。制御演算は従来から一般によく用いられているPID制御などで実現すればよい。
足平姿勢補正値は、足平姿勢のX軸まわりの角度および足平姿勢のY軸まわりの角度で表される。実全床反力中心点と全床反力中心点指令値との偏差のX成分は足平姿勢補正値のY軸まわり角度を操作量として制御でき、Y成分は足平姿勢補正値のX軸まわり角度を操作量として制御できる。これは、足構造や床面に多少なりとも必ず弾性変形要素があり、足平姿勢を変えることで床面から受ける圧力分布が変わり、実全床反力中心点が移動するためである。最後に、目標足平姿勢と足平姿勢補正値との和を修正目標足平姿勢とする。
図2は、図1に示した足平姿勢補償器160内のブロック図である。
以下では図2を用いて足平姿勢補償器160の動作を説明する。足平姿勢補償器160は、目標足平姿勢、実全床反力中心点、全床反力中心点指令値から修正目標足平姿勢を算出する。300は実全床反力制御部であり、実全床反力中心点を全床反力中心点指令値に追従させるように足平姿勢補正値を出力する。制御演算は従来から一般によく用いられているPID制御などで実現すればよい。
足平姿勢補正値は、足平姿勢のX軸まわりの角度および足平姿勢のY軸まわりの角度で表される。実全床反力中心点と全床反力中心点指令値との偏差のX成分は足平姿勢補正値のY軸まわり角度を操作量として制御でき、Y成分は足平姿勢補正値のX軸まわり角度を操作量として制御できる。これは、足構造や床面に多少なりとも必ず弾性変形要素があり、足平姿勢を変えることで床面から受ける圧力分布が変わり、実全床反力中心点が移動するためである。最後に、目標足平姿勢と足平姿勢補正値との和を修正目標足平姿勢とする。
本発明が従来技術と異なる部分は、安定化制御器内の演算で実全床反力中心点を算出しており、検出された上体傾斜角を指令値に追従させるための操作量である補償全床反力モーメントをオフセット直線に換算することにより所望の補償全床反力モーメントを正しく得られるようにしている点と、床面関数とオフセット直線との交点を全床反力中心点指令値とし、実全床反力中心点を全床反力中心点指令値に一致させるように制御している点である。
このように、補償全床反力モーメントをオフセット直線に換算することにより所望の補償全床反力モーメントを正しく得られるので、足平姿勢補償器は全床反力中心点指令値に実全床反力中心点が追従するように制御するだけでよく、上体傾斜角の制御と実全床反力中心点の制御とが干渉することなくロボットの姿勢を安定化することができる。また、路面に凹凸や傾斜がある場合にも所望の補償全床反力モーメントを正しく得ることができるため、安定化制御性能を高めることができる。
120 オフセット直線演算部
125 オフセット量演算部
130 床面関数演算部
140 上体傾斜補償器
150 実全床反力中心点演算部
160 足平姿勢補償器
180 全床反力中心点指令演算部
300 実全床反力制御部
410 胴体
420 脚構造
430 足平
440 路面
600 歩容生成器
610 安定化制御器
620 アクチュエータ指令生成器
630 アクチュエータ指令制御器
660 アクチュエータおよび脚構造
670 アクチュエータセンサ
680 各種センサ
720 目標床反力分配器
730 複合コンプライアンス動作決定部
740 姿勢安定化制御演算部
750 上体Z方向速度制御演算部
770 ロボット幾何学モデル(逆キネマティクス演算部)
125 オフセット量演算部
130 床面関数演算部
140 上体傾斜補償器
150 実全床反力中心点演算部
160 足平姿勢補償器
180 全床反力中心点指令演算部
300 実全床反力制御部
410 胴体
420 脚構造
430 足平
440 路面
600 歩容生成器
610 安定化制御器
620 アクチュエータ指令生成器
630 アクチュエータ指令制御器
660 アクチュエータおよび脚構造
670 アクチュエータセンサ
680 各種センサ
720 目標床反力分配器
730 複合コンプライアンス動作決定部
740 姿勢安定化制御演算部
750 上体Z方向速度制御演算部
770 ロボット幾何学モデル(逆キネマティクス演算部)
Claims (3)
- 二足の脚構造と、
前記脚構造を動作させる複数のアクチュエータと、
前記脚構造の歩容を生成する歩容生成装置と、
前記脚構造の姿勢、前記脚構造に作用する外力、前記脚構造の環境情報のうち少なくとも1つの状態量を検出するセンサと、
前記センサの検出結果をもとに前記歩容を修正した修正歩容を生成する安定化制御器と、
前記修正歩容をもとに前記複数のアクチュエータそれぞれに対して位置、速度、力、電流のうち少なくとも1つの指令を生成するアクチュエータ指令生成器と、
前記アクチュエータ指令どおりに前記アクチュエータを動作させるアクチュエータ制御器とを備えた二足歩行ロボットの制御装置において、
前記センサは、前記ロボットの上体傾斜角を検出する傾斜センサまたは上体傾斜角速度を検出する傾斜角速度センサのいずれかと、前記脚構造が床などの構造物から受けている反力の大きさおよびその反力作用点を検出する力センサとを備え、
前記安定化制御器は、前記上体傾斜角を上体傾斜角指令値に追従させる補償全床反力モーメントまたは前記上体傾斜角速度を上体傾斜角速度指令値に追従させる補償全床反力モーメントを算出する上体傾斜補償器と、
前記力センサにより検出された前記反力および反力作用点から実全床反力中心点を算出する実全床反力中心点演算部と、
前記ロボットが歩行する床面の形状を検出し、床面形状を表す床面関数を算出する床面関数演算部と、
前記歩容と前記補償全床反力モーメントとからオフセット量を算出するオフセット量演算部と、
前記歩容と前記オフセット量とからオフセット直線を算出するオフセット直線演算部と、
前記オフセット直線と前記床面との交点である全床反力中心点指令を求める全床反力中心点指令演算部と、
前記全床反力中心点指令値と前記実全床反力中心点とが一致するように足平姿勢を修正した修正目標足平姿勢を算出する足平姿勢補償器を備え、
前記ロボットの足平姿勢が前記修正目標足平姿勢となる前記修正歩容を生成することを特徴とする二足歩行ロボットの制御装置。 - 前記二足歩行ロボットの制御装置は、前記アクチュエータの位置、速度、力、電流のうち少なくとも1つのアクチュエータ状態量を検出するアクチュエータセンサを備えたことを特徴とする請求項1記載の二足歩行ロボットの制御装置。
- 前記足平姿勢補償器は、前記全床反力中心点指令値と前記実全床反力中心点との差分から足平姿勢補正値を算出し、前記足平姿勢補正値を前記足平姿勢の目標値に加えて修正目標足平姿勢を算出することを特徴とする請求項1記載の二足歩行ロボットの制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006303571A JP2008119764A (ja) | 2006-11-09 | 2006-11-09 | 二足歩行ロボットの制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006303571A JP2008119764A (ja) | 2006-11-09 | 2006-11-09 | 二足歩行ロボットの制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008119764A true JP2008119764A (ja) | 2008-05-29 |
Family
ID=39505080
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006303571A Pending JP2008119764A (ja) | 2006-11-09 | 2006-11-09 | 二足歩行ロボットの制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008119764A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014138978A (ja) * | 2014-05-07 | 2014-07-31 | Seiko Epson Corp | ロボット、制御装置、ロボットシステム及び制御方法 |
| KR101466312B1 (ko) * | 2008-06-11 | 2014-11-27 | 삼성전자 주식회사 | 보행 로봇 및 그 제어 방법 |
| US9073209B2 (en) | 2012-02-21 | 2015-07-07 | Samsung Electronics Co., Ltd. | Walking robot and control method thereof |
| CN113597361A (zh) * | 2019-04-26 | 2021-11-02 | 本田技研工业株式会社 | 移动体的操纵装置及操纵系统 |
| CN114200951A (zh) * | 2021-12-09 | 2022-03-18 | 之江实验室 | 一种用于双足机器人踝部的路面自适应姿态控制方法 |
| CN114474053A (zh) * | 2021-12-30 | 2022-05-13 | 暨南大学 | 一种机器人地形识别及速度控制方法及系统 |
| CN118502327A (zh) * | 2024-07-18 | 2024-08-16 | 上海傅利叶智能科技有限公司 | 双足机器人的控制方法及相关装置 |
-
2006
- 2006-11-09 JP JP2006303571A patent/JP2008119764A/ja active Pending
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101466312B1 (ko) * | 2008-06-11 | 2014-11-27 | 삼성전자 주식회사 | 보행 로봇 및 그 제어 방법 |
| US9073209B2 (en) | 2012-02-21 | 2015-07-07 | Samsung Electronics Co., Ltd. | Walking robot and control method thereof |
| JP2014138978A (ja) * | 2014-05-07 | 2014-07-31 | Seiko Epson Corp | ロボット、制御装置、ロボットシステム及び制御方法 |
| CN113597361A (zh) * | 2019-04-26 | 2021-11-02 | 本田技研工业株式会社 | 移动体的操纵装置及操纵系统 |
| CN114200951A (zh) * | 2021-12-09 | 2022-03-18 | 之江实验室 | 一种用于双足机器人踝部的路面自适应姿态控制方法 |
| CN114200951B (zh) * | 2021-12-09 | 2024-03-19 | 之江实验室 | 一种用于双足机器人踝部的路面自适应姿态控制方法 |
| CN114474053A (zh) * | 2021-12-30 | 2022-05-13 | 暨南大学 | 一种机器人地形识别及速度控制方法及系统 |
| CN114474053B (zh) * | 2021-12-30 | 2023-01-17 | 暨南大学 | 一种机器人地形识别及速度控制方法及系统 |
| CN118502327A (zh) * | 2024-07-18 | 2024-08-16 | 上海傅利叶智能科技有限公司 | 双足机器人的控制方法及相关装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6243623B1 (en) | Leg type mobile robot control apparatus | |
| JP4466715B2 (ja) | 脚式ロボット、及びその制御方法 | |
| US5404086A (en) | System for controlling locomotion of legged mobile robot and correcting inclinometer's output thereof | |
| US6289265B1 (en) | Controller for legged mobile robot | |
| JP4800037B2 (ja) | 移動ロボットの歩容生成装置 | |
| US7664572B2 (en) | Control device of legged mobile robot | |
| JP2001322076A (ja) | 脚式移動ロボットの床形状推定装置 | |
| JPH05337849A (ja) | 脚式移動ロボットの姿勢安定化制御装置 | |
| US20130079929A1 (en) | Robot and control method thereof | |
| JP2001328083A (ja) | 脚式移動ロボットの床形状推定装置 | |
| JPH10277969A (ja) | 脚式移動ロボットの制御装置 | |
| JP2011093093A (ja) | 脚式移動ロボットの歩容生成装置 | |
| JPH0663876A (ja) | 移動ロボットの制御装置 | |
| WO2003090979A1 (en) | System for estimating attitude of leg type moving robot itself | |
| CN107351936B (zh) | 步行控制方法、记录媒体以及双足步行机器人 | |
| CN101414190A (zh) | 基于有效稳定区域仿人机器人稳定行走的控制方法和系统 | |
| JPH05305579A (ja) | 脚式移動ロボットの歩行制御装置 | |
| JP5251253B2 (ja) | 脚式歩行ロボットの安定化制御装置 | |
| JP2008119764A (ja) | 二足歩行ロボットの制御装置 | |
| JPH11300661A (ja) | 脚式移動ロボットの制御装置 | |
| JP5040693B2 (ja) | 脚式ロボット、及びその制御方法 | |
| JP2008119763A (ja) | 二足歩行ロボットの制御装置 | |
| JP5463991B2 (ja) | 2脚歩行ロボット | |
| JP2009279729A (ja) | 脚式歩行ロボットの安定化制御装置 | |
| JP2009279668A5 (ja) |