JP2013126711A - 歩行ロボット及びその制御方法 - Google Patents
歩行ロボット及びその制御方法 Download PDFInfo
- Publication number
- JP2013126711A JP2013126711A JP2012263788A JP2012263788A JP2013126711A JP 2013126711 A JP2013126711 A JP 2013126711A JP 2012263788 A JP2012263788 A JP 2012263788A JP 2012263788 A JP2012263788 A JP 2012263788A JP 2013126711 A JP2013126711 A JP 2013126711A
- Authority
- JP
- Japan
- Prior art keywords
- time
- walking
- angle
- knot point
- leg
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 210000002414 leg Anatomy 0.000 claims abstract description 339
- 210000004394 hip joint Anatomy 0.000 claims abstract description 126
- 230000008859 change Effects 0.000 claims abstract description 62
- 230000005484 gravity Effects 0.000 claims description 53
- 238000001514 detection method Methods 0.000 claims description 26
- 238000004904 shortening Methods 0.000 claims description 21
- 210000002683 foot Anatomy 0.000 description 38
- 238000004364 calculation method Methods 0.000 description 18
- 210000001503 joint Anatomy 0.000 description 14
- 210000003423 ankle Anatomy 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 210000000544 articulatio talocruralis Anatomy 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 210000001624 hip Anatomy 0.000 description 5
- 210000000629 knee joint Anatomy 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 210000002310 elbow joint Anatomy 0.000 description 4
- 210000004247 hand Anatomy 0.000 description 4
- 210000003127 knee Anatomy 0.000 description 4
- 210000000323 shoulder joint Anatomy 0.000 description 4
- 210000003857 wrist joint Anatomy 0.000 description 4
- 210000003371 toe Anatomy 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 210000001699 lower leg Anatomy 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 210000000689 upper leg Anatomy 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012888 cubic function Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012890 quintic function Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
【課題】 外力の印加又は環境の変化によってスイング中の脚が地面に速く接触した場合、股関節部の次のノットポイントの時間を補正し、安定的な歩行を行えるようにする歩行ロボット及びその制御方法を提供する。
【解決手段】 複数の脚にそれぞれ設けられた股関節部;姿勢を検出する姿勢検出部;前記姿勢から歩行状態を判断する歩行状態判断部;前記歩行状態に基づいてスイング脚と支持脚を確認し、前記複数の脚の歩行状態が変更されるとき、前記スイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚が行う次の支持周期を短縮させて変更し、前記の変更された次の支持周期に基づいて前記股関節部の目標角度軌跡を生成する目標角度軌跡生成部;前記股関節部の目標角度軌跡に追従するトルクを算出するトルク算出部;及び前記股関節部に前記トルクを出力することによって歩行を制御する制御部を含んで歩行ロボットを構成する。
【選択図】 図5
【解決手段】 複数の脚にそれぞれ設けられた股関節部;姿勢を検出する姿勢検出部;前記姿勢から歩行状態を判断する歩行状態判断部;前記歩行状態に基づいてスイング脚と支持脚を確認し、前記複数の脚の歩行状態が変更されるとき、前記スイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚が行う次の支持周期を短縮させて変更し、前記の変更された次の支持周期に基づいて前記股関節部の目標角度軌跡を生成する目標角度軌跡生成部;前記股関節部の目標角度軌跡に追従するトルクを算出するトルク算出部;及び前記股関節部に前記トルクを出力することによって歩行を制御する制御部を含んで歩行ロボットを構成する。
【選択図】 図5
Description
本発明は、複数の脚に設けられた関節部の駆動を制御し、安定した歩行を行えるようにする歩行ロボット及びその制御方法に関するものである。
ロボットは、人間と類似した関節体系を有し、この関節体系を用いて人間と同じ動作をする機械である。
初期には、工場の生産作業の自動化及び無人化のための産業用ロボットの開発が進行されたが、最近は、人間に各種サービスを提供するためのサービス用ロボットの開発が活発に進行されている。ここで、サービス用ロボットのうち一部のロボットは、歩行を行いながら人間にサービスを提供する。
このようなロボットの歩行を制御するための方法としては、ロボット関節の目標位置に追従する位置基盤のZMP(Zero Moment Point)制御方法、ロボット関節の目標トルクに追従するトルク基盤の動的歩行制御方法及びFSM(Finite State Machine)制御方法がある。
ここで、ZMP制御方法は、ZMPが支持多角形(convex polygon:一足で支持している場合はその足の領域、両足で支持している場合は両足の領域)内の安全領域に存在するように歩行方向、歩行幅、歩行速度などを予め設定し、この設定に対応する各脚の歩行パターンを生成し、その歩行パターンによって各脚の歩行軌跡を計算し、計算された歩行軌跡の逆機構学(Inverse Kinematics)計算を通して各脚の関節の位置を計算し、各関節の現在の位置と目標位置に基づいて各関節の目標制御値を計算し、計算された各目標制御値で関節を制御する方法である。
このようなZMP制御方法は、正確な位置制御が可能であるが、各関節の正確な角度制御のために高いサーボゲイン及び高い電流を必要とするので、エネルギー効率が低く、関節の剛性が大きくなり、任意の物体との衝突時に該当の物体に大きな衝撃を加えるおそれがあるという問題を有する。
また、ZMP制御方法は、逆機構学を通して各関節の角度を計算するとき、機構学的特異点(Kinematic Singularity)を避けなければならないので、膝を曲げた姿勢を維持しながら歩行を行うようになるという問題を有する。
トルク基盤の動的歩行制御方法は、歩行時に制御時間ごとに各脚の位置が歩行パターンによる歩行軌跡に正確に追従するかどうかを検出し、検出された歩行軌跡に基づいて動的方程式を解いてモーターのトルクを調節することによって、各脚を歩行軌跡に正確に追従させる方法である。
このようなトルク基盤の動的歩行制御方法は、動的方程式が非常に複雑であり、6自由度以上の脚を有したロボットには適用しにくいという問題を有する。
FSM制御方法は、歩行による動作状態を予め定めておき、歩行時に各動作状態(FSMでの状態である)に基づいて各関節の目標トルクを計算し、これに追従するように関節を制御する方法である。
このようなFSM制御方法は、トルク命令に応じて制御が行われるので、エネルギー効率が高く、剛性が低く、周囲環境に対して安全である。また、逆機構学の計算が必要でなく、特異点でも制御が可能であるので、膝を伸ばした状態の歩行が可能であるが、正確な位置制御が不可能であるので、階段を上ったり、障害物を避けるモーションを行いにくいという問題を有する。
また、FSM制御方法で歩行を制御するとき、歩行速度を調節しながら歩行すると、歩行動作が不安定になり、また、最適化された歩行のためのトルクを算出するのに多くの時間がかかるという問題を有する。
また、歩行中にロボットに外力が加えられ、足が地面に速く着く場合、ロボットが不自然に動くという問題を有する。
本発明の一側面として、外力の印加又は環境の変化によってスイング中の脚が地面に速く接触した場合、股関節部の次のノットポイント(knot point)の時間を補正し、安定的な歩行を行えるようにする歩行ロボット及びその制御方法を提供する。
他の側面としては、外力が印加されたり、環境が変わった場合、重心に基づいて股関節部のノットポイントの角度及び時間を補正することによって安定的な歩行を行えるようにする歩行ロボット及びその制御方法を提供する。
上記の一側面に係る歩行ロボットは、複数の脚にそれぞれ設けられた股関節部と、姿勢を検出する姿勢検出部と、姿勢から歩行状態を判断する歩行状態判断部と、歩行状態に基づいてスイング脚と支持脚を確認し、複数の脚の歩行状態が変更されるとき、スイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、スイング脚が予め格納された時間以前に地面に接触したと判断されると、スイング脚が行う次の支持周期を短縮させて変更し、変更された次の支持周期に基づいて股関節部の目標角度軌跡を生成する目標角度軌跡生成部と、股関節部の目標角度軌跡に追従するトルクを算出するトルク算出部と、股関節部にトルクを出力することによって歩行を制御する制御部とを含む。
目標角度軌跡生成部は、複数の脚のうちいずれか一つの脚がスイング状態であるとき、スイング周期の間の姿勢に基づいて次の支持周期内の複数のノットポイントを生成する。
目標角度軌跡生成部は、スイング脚が予め格納された時間以前に地面に接触したと判断されると、スイング脚が地面に接触した時点の角度と次の支持周期の最初のノットポイントの角度との間の角度差と歩行速度に基づいて股関節部の次の支持周期の最初のノットポイントの時間を短縮させる。
目標角度軌跡生成部は、スイング脚が予め格納された時間以前に地面に接触したと判断されると、スイング脚が地面に接触した時点の角度と次の支持周期の最後のノットポイントの角度との間の角度差と歩行速度に基づいて股関節部の次の支持周期の最後のノットポイントの時間を短縮させる。
ノットポイントは、股関節部のピッチノットポイント及びロールノットポイントのうち少なくとも一つのノットポイントである。
姿勢検出部は、複数の脚の足に伝達される力を検出する力/トルク検出部を含み、歩行状態判断部は、足に伝達される力/トルクに基づいて支持脚とスイング脚を判断する。
目標角度軌跡生成部は、スイング脚が地面に正常に接触する時点のノットポイントの時間を判断して予め格納する。
目標角度軌跡生成部は、スイング脚が地面に正常に接触する時点のノットポイントの時間とスイング脚が実際に地面に接触した時点の時間とを比較し、スイング脚が予め格納された時間以前に地面に接触したかどうかを判断する。
一方、上記他の側面に係る歩行ロボットは、複数の脚にそれぞれ設けられた股関節部と、姿勢を検出する姿勢検出部と、姿勢から歩行状態を判断する歩行状態判断部と、歩行状態に基づいてスイング脚と支持脚を確認し、各脚の股関節部のノットポイントを時間によって生成し、姿勢から重心を検出することによって次のノットポイントの角度及び時間の補償値を算出し、角度及び時間の補償値に基づいて次のノットポイントの時間と角度を補正し、時間と角度が補正された次のノットポイントを用いて股関節部の目標角度軌跡を生成する目標角度軌跡生成部と、股関節部の目標角度軌跡に追従するトルクを算出するトルク算出部と、股関節部にトルクを出力することによって歩行を制御する制御部とを含む。
目標角度軌跡生成部は、スイング脚の次のノットポイントの時間及び角度を補正する。目標角度軌跡生成部は、股関節部のロールノットポイントを連結することによって目標ロール角度軌跡を生成する。
目標角度軌跡生成部は、重心がY軸方向に変化したY軸方向の変化量を判断し、判断されたY軸方向の重心の変化量とY軸方向の基準変化量とを比較することによってロール角度及び時間の補償値を算出する。
目標角度軌跡生成部は、歩行状態に基づいてスイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、スイング脚が予め格納された時間以前に地面に接触したと判断されると、スイング脚が行う次の支持周期を短縮させ、短縮された支持周期に基づいて股関節部の目標角度軌跡を生成する。
目標角度軌跡は、スイング脚の股関節部の目標ピッチ角度軌跡である。目標角度軌跡生成部は、スイング脚が予め格納された時間以前に地面に接触したと判断されると、スイング脚が地面に接触した時点の角度、歩行速度及び予め格納された脚の長さに基づいて次の支持周期の時間を算出する。
目標角度軌跡生成部は、スイング脚が予め格納された時間以前に地面に接触したと判断されると、スイング脚が地面に接触した時点のピッチ角度、歩行速度及び重心の高さに基づいて次の支持周期の時間を算出する。
また、更に他の側面に係る歩行ロボットの制御方法は、複数の脚での歩行中に現在の周期でのロボットの姿勢を検出し、ロボットの姿勢に基づいて複数の脚に対する次の周期内のノットポイントをそれぞれ生成し、ロボットの姿勢から歩行状態を判断することによってスイング脚と支持脚を判断し、スイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、スイング脚が予め格納された時間以前に地面に接触したと判断されると、スイング脚が行う次の周期である支持周期内のノットポイントの時間を短縮させて補正し、時間が補正された支持周期のノットポイントを用いて股関節部の目標角度軌跡を生成し、股関節部の目標角度軌跡に追従するトルクを算出し、股関節部にトルクを出力することによってロボットの歩行を制御する。
支持周期のノットポイントの時間を補正することは、スイング脚に設けられた股関節部のピッチノットポイント及びロールノットポイントのうち少なくとも一つのノットポイントの時間を補正することを含む。
次のノットポイントの時間を補正することは、スイング脚が地面に接触した時点の股関節部のピッチ角度が支持周期の最初のノットポイントのピッチ角度より大きいかどうかを判断し、スイング脚が地面に接触した時点の股関節部のピッチ角度が支持周期の最初のノットポイントのピッチ角度より大きいと、スイング脚が地面に接触した時点の股関節部のピッチ角度と支持周期の最初のノットポイントのピッチ角度との角度差を算出し、角度差、予め設定された歩行速度及びロボットの脚の長さに基づいて時間を算出し、算出された時間で支持周期内の最初のピッチノットポイントの時間を短縮させて補正することを含む。
次のノットポイントの時間を補正することは、スイング脚が地面に接触した時点の股関節部のピッチ角度が支持周期の最初のノットポイントのピッチ角度より大きいかどうかを判断し、スイング脚が地面に接触した時点の股関節部のピッチ角度が支持周期の最初のノットポイントのピッチ角度以下であると、スイング脚が地面に接触した時点の股関節部のピッチ角度と支持周期の最後のノットポイントのピッチ角度との角度差を算出し、角度差、予め設定された歩行速度及びロボットの脚の長さに基づいて時間を算出し、算出された時間で支持周期内の最後のピッチノットポイントの時間を短縮させて補正することを含む。
股関節部の目標角度軌跡を生成することは、時間が短縮されて補正されたノットポイントをスプラインで連結し、スイング脚に設けられた股関節部の目標角度軌跡を生成することを含む。
歩行ロボットの制御方法は、スイング脚が地面に正常に接触する時点のノットポイントの時間を獲得して予め格納することをさらに含む。
スイング脚が予め格納された時間以前に地面に接触したかどうかを判断することは、スイング脚が地面に正常に接触する時点のノットポイントの時間とスイング脚が実際に地面に接触した時点の時間とを比較し、スイング脚が地面に正常に接触する時点のノットポイントの時間よりスイング脚が実際に地面に接触した時点の時間が短いと、スイング脚が予め格納された時間以前に地面に接触したと判断することを含む。
また、他の側面に係る歩行ロボットの制御方法は、複数の脚で歩行するロボットの姿勢を検出し、ロボットの姿勢から歩行状態を判断することによってスイング脚と支持脚を判断し、各脚の股関節部の次のノットポイントを時間によって生成し、ロボットの姿勢からロボットの重心を検出することによって次のノットポイントの角度及び時間の補償値を算出し、算出された角度及び時間の補償値に基づいて次のノットポイントの時間と角度を補正し、時間と角度が補正された次のノットポイントを用いて股関節部の目標角度軌跡を生成し、股関節部の目標角度軌跡に追従するトルクを算出し、股関節部にトルクを出力することによってロボットの歩行を制御する。
次のノットポイントの時間と角度を補正することは、スイング脚の次のロールノットポイントの時間及び角度を補正することを含む。次のノットポイントの角度及び時間の補償値を算出することは、重心がY軸方向に変化したY軸方向の変化量を判断し、判断されたY軸方向の重心の変化量とY軸方向の基準変化量とを比較することによってロール角度及び時間の補償値を算出することを含む。
重心のY軸変化量は、重心のY軸方向の距離変化量と、重心のY軸方向の速度変化量とを含む。
また更に、歩行ロボットの制御方法は、歩行状態に基づいてスイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、スイング脚が予め格納された時間以前に地面に接触したと判断されると、スイング脚の支持周期内のピッチノットポイントの時間を短縮させて補正し、時間が短縮されて補正された支持周期内のピッチノットポイントを用いてスイング脚の股関節部の目標ピッチ角度軌跡を生成することを含む。
一つには、外力が印加されたり、環境が変わった場合、歩行中の均衡を維持するために次のノットポイントの時間と角度を調節することによって、柔軟かつ安定的な歩行を具現することができる。
また、歩行中に各関節部の回転角度を正確に制御する必要がないので、低いサーボゲインで歩行を行うことができ、その結果、既存の歩行に比べてエネルギー消費を減少させることができ、各関節が低剛性を有することによって周囲環境との衝突時における衝撃を減少させることができる。
また、逆機構学を解くべき既存の歩行方式では具現が不可能な膝伸ばし歩行を行うことによって人間型歩行を具現することができ、その結果、ロボットの人間親和性を向上させることができ、ロボットの膝曲げ時に消費されるエネルギーを節約することができる。
加えて、複雑な動的方程式を解く必要がないので、6自由度の関節を有したロボットの歩行を制御することができる。
各関節部の各ノットポイントをスプラインを用いて柔軟に連結することによって、人間の歩行と最大限に類似した歩行を具現することができる。
以下、添付の図面を参照して本発明について詳細に説明する。
図1は、一実施例に係るロボットの例示図で、図2は、一実施例に係る歩行ロボットの関節構造の例示図である。図1に示すように、歩行ロボット100は、頭110、首120、胴体130、腕140R、140L、手150R、150Lからなる上体と、複数の脚160R、160L及び脚170R、170Lからなる下体とを有する。
このような上体及び下体の外部にはカバーが設けられており、このカバーによって歩行ロボットの各構成部が外部の衝撃から保護される。
より具体的に説明すると、歩行ロボット100の上体は、頭110と、頭110の下部に首120を介して連結された胴体130と、胴体130の上部両側に連結された二つの腕140R、140Lと、これら二つの腕140R、140Lの末端にそれぞれ連結された手150R、150Lとを含む。
歩行ロボット100の下体は、上体の胴体130の下部両側に連結された二つの脚160R、160Lと、二つの脚160R、160Lの末端にそれぞれ連結された足170R、170Lとを含む。
ここで、頭110、二つの腕140L、140R、二つの手150L、150R、二つの脚160L、160R、二つの足170L、170Rは、それぞれ関節を介して一定水準の自由度を有する。図中、「R」と「L」は、それぞれロボット100の右側と左側を示す。
以下、図2を参照して具体的に説明する。
頭110には、周囲の映像を獲得する少なくとも一つのカメラ111と、周囲の音源を検出するマイクロホン112とが設けられている。
首120は、頭110と胴体130を連結する。このような首120は、3自由度を有する複数の首関節部からなる。
首関節部は、ヨー(yaw、Z軸回転:Mz)の回転関節121と、ピッチ方向(pitch、Y軸回転:My)の回転関節122と、ロール方向(roll、X軸回転:Mx)の回転関節123とを含む。ここで、首関節部の複数の回転関節121、122、123には、頭回転用モーター(図示せず)がそれぞれ設けられている。
胴体130の上側両方には、二つの腕140L、140Rを連結する肩関節部131がそれぞれ設けられており、下側両方には二つの脚160L、160Rを連結する股関節部163がそれぞれ設けられており、胸と腰との間には胸が腰に対して回転できるようにヨー方向の回転関節部132が設けられている。
二つの腕140L、140Rは、上膊骨部141、下膊骨部142、肘関節部143及び手首関節部144をそれぞれ含む。
各肩関節部131には上膊骨部141が連結されており、各肘関節部143には下膊骨部142が連結されており、各手首関節部144には手150R、150Lが連結されている。
ここで、各肩関節部131は、ピッチ方向の回転関節131aと、ロール方向の回転関節131bと、ヨー方向の回転関節131cとを含み、各肘関節部143は、ピッチ方向の回転関節143aと、ヨー方向の回転関節143bとを含み、各手首関節部144は、ピッチ方向の回転関節144aと、ロール方向の回転関節144bとを含む。
すなわち、肩関節部131はそれぞれ3自由度を有し、肘関節部143はそれぞれ2自由度を有し、各手首関節部144はそれぞれ2自由度を有する。
手150R、150Lには5個の指151が設けられており、各指151にはモーターによって駆動される多数の関節(図示せず)を設けることも可能である。このような指151は、腕140R、140Lの動きに連動して物を把持したり、特定方向を指すなどの多様な動作を行う。
歩行ロボット100の二つの脚160R、160Lは、それぞれ大腿骨部161、下腿骨部162、股関節部163、膝関節部164及び足首関節部165をそれぞれ含む。
各股関節部163には大腿骨部161が連結されており、各膝関節部164には下腿骨部162が連結されており、各足首関節部165には脚170L、170Rが連結されている。
股関節部163は、ヨー方向(yaw、Z軸回転)の回転関節163aと、ピッチ方向(pitch、Y軸回転)の回転関節163bと、ロール方向(roll、X軸回転)の回転関節163cとを含み、膝関節部164は、ピッチ方向の回転関節164aを含み、足首関節部165は、ピッチ方向の回転関節165aと、ロール方向の回転関節165bとを含む。
すなわち、各股関節部163は3自由度を有し、各膝関節部164は1自由度を有し、足首関節部165は2自由度を有する。
このように二つの脚160L、160Rがそれぞれ三つの関節部163、164、165に設けられた6個の回転関節を含むので、二つの脚160L、160R全体に対して12個の回転関節を含んでいる。
このような歩行ロボット100の各回転関節にはモーター(図示せず)などのアクチュエーターが設けられている。その結果、各回転関節は、モーターの回転によって回転運動を適宜行うことによって多様な動作を具現することができ、歩行ロボットの歩行時に均衡を維持しながら安定的かつ自然な歩行を行えようにする。
以下、これを図3を参照して具体的に説明する。図3は、一実施例に係る歩行ロボットの制御装置200の制御構成図であって、歩行ロボットの制御装置200は、入力部210、姿勢検出部220、歩行状態判断部230、目標角度軌跡生成部240、トルク算出部250及び制御部260を含む。
入力部210は、ユーザーから歩行ロボットの歩行命令の入力を受け、また、歩行ロボットの歩行速度の入力を受ける。ここで、入力部210は、外部から伝送された歩行ロボットの歩行命令及び歩行速度を受信する通信部の機能を有することも可能である。
併せて、歩行速度は、予め設定されていることも可能である。すなわち、歩行ロボットは、入力部210を通して入力されたユーザーの命令と歩行ロボットの姿勢に基づいて各関節部163、164、165に設置された複数のモーター(図示せず)を駆動させることによって、ユーザーの命令に対応する歩行速度で安定した歩行を行う。
姿勢検出部220は、歩行ロボットの姿勢を検出し、検出された姿勢情報を歩行状態判断部230に伝送する。ここで、歩行ロボットの姿勢情報は、足が地面に接触した着地情報、着地に対応する支持脚とスイング脚の情報である。
このような姿勢検出部220は、歩行ロボットの上体傾きを検出する傾き検出部221と、歩行ロボットの着地の可否及び着地の可否に対応する支持脚とスイング脚を検出する力/トルク検出部222とを含む。
傾き検出部221は、胴体130に位置し、鉛直線に対する上体の傾きであるピッチ、ロール、ヨーの3個の軸の回転角度及びその角速度を検出する。ここで、傾き検出部221は、慣性を測定するIMU(Inertial Measurement unit)を含む。
ここで、各関節部の回転角度は、各関節部に設けられた複数のモーター(図示せず)の回転数を通して知ることができる。各モーター(図示せず)の回転数は、各モーターに連結されたエンコーダー(図示せず)を通して検出可能である。
力/トルク検出部(Multi―Axis Force and Torque Sensor)222は、多軸センサーであって、各脚160L、160Rと脚170R、170Lとの間に位置し、足170L、170Rに加えられる荷重を検出する。
また、力/トルク検出部222は、足170L、170Rに伝達される力の3方向成分(Fx、Fy、Fz)とモーメントの3方向成分(Mx、My、Mz)を検出して歩行状態判断部230に伝送する。
歩行状態判断部230は、姿勢検出部220の力/トルク検出部222で検出された各足に加えられる荷重に基づいて着地の可否を判断し、荷重が検出された脚を支持状態と判断し、荷重が検出されていない脚をスイング状態と判断する。
以下、これを図4を参照して説明する。図4は、一実施例に係るロボットの歩行制御装置に設けられた歩行状態判断部230の歩行状態判断の例示図である。
歩行状態判断部230は、右側脚の足に荷重が加えられると判断されると、右側脚を支持状態、左側脚をスイング状態と判断し、この状態を「状態マシン0」と認識し、左側脚の足に荷重が加えられると判断されると、左側脚を支持状態、右側脚をスイング状態と判断し、この状態を「状態マシン1」と認識した後、認識データを目標角度軌跡生成部240に伝送する。
このような歩行状態判断部230は、FSM(Finite State Machine)に基づいた二つの脚の歩行状態データを格納する。ここで、FSMは、二つの脚の制限された状態変化を順次示したものである。
すなわち、歩行ロボットの各脚は、歩行時にFSMに基づいてスイング状態と支持状態を交互に繰り返し、二つの脚は互いに異なる状態を行う。
目標角度軌跡生成部240は、歩行状態判断部230で判断された現在の各脚の歩行状態情報及び入力部210を通して入力された歩行速度に基づいて次の歩行を行うための複数の回転関節の回転角度を決定し、各関節部163、164、165に設けられた複数の回転関節の回転角度に基づいて複数の回転関節に対するノットポイント(Knot Point)をそれぞれ生成し、複数の回転関節のノットポイントをそれぞれスプラインで連結し、複数の回転関節に対する目標角度軌跡をそれぞれ生成する。
ここで、目標角度軌跡は、支持状態を行うための支持軌跡と、スイング状態を行うためのスイング軌跡とを含む。すなわち、目標角度軌跡生成部は、ロボットの姿勢及び歩行速度に基づいて支持軌跡とスイング軌跡を交互に繰り返して生成する。
ここで、スイング状態に対応するスイング軌跡がなす区間をスイング周期と称し、支持状態に対応する支持軌跡がなす区間を支持周期と称する。
目標角度軌跡生成部240は、スプライン関数を用いてノットポイント間の各値を生成する。これによって、複数のノットポイントをスプラインを通して連結する。例えば、スプライン関数には、5次関数であるクインティックスプライン(quintic spline)、3次関数であるキュービックスプライン(cubic spline)、キャットマルロムスプライン(catmull―rom spline)などがある。
目標角度軌跡生成部240は、スイング脚が地面に正常に接触する時点に位置したノットポイントの時間とスイング脚が実際に地面に接触した時点の時間とを比較し、このとき、スイング脚が地面に正常に接触する時点に位置したノットポイントの時間よりスイング脚が実際に地面に接触した時点の時間が短いと、スイング脚が予め格納された時間以前に地面に接触したと判断する。
ここで、予め格納された時間は、スイング脚が地面に正常に接触する時点のノットポイントの時間であって、目標角度軌跡生成部240は、スイング脚が地面に正常に接触する時点のノットポイントの時間を判断して予め格納する。
目標角度軌跡生成部240は、環境の変化又は外力の印加によってスイング脚が予め格納された時間以前に地面に接触したと判断されると、地面に速く接触したスイング脚が次に行う支持周期を短縮させて補正し、短縮されて補正された支持周期内のノットポイントをスプラインで連結し、股関節部の目標角度軌跡を生成する。
ここで、支持周期を短縮させることは、スイング脚が地面に接触した時点に基づいてスイング脚が地面に正常的に接触したときに次の支持周期内のノットポイントの時間を短縮させることによって、全体的な周期を短縮させることである。
このようにスイングする脚が地面に速く接触すると、次に行うべき支持周期内のノットポイントの時間を短縮させることによって、歩行速度が遅くなることを防止することができる。
ここで、ノットポイントは、股関節部のピッチノットポイント及びロールノットポイントのうち少なくとも一つのノットポイントであって、目標角度軌跡は、股関節部の目標ピッチ角度軌跡及び股関節部の目標ロール角度軌跡のうち少なくとも一つの目標角度軌跡である。
目標角度軌跡生成部240は、目標ピッチ角度軌跡及び目標ロール角度軌跡をトルク算出部250にそれぞれ伝送する。トルク算出部250は、目標角度軌跡生成部240から伝送された各脚の股関節部163の目標ピッチ角度軌跡、股関節部163の目標ロール角度軌跡に追従するためのトルクをそれぞれ算出する。
このようなトルク算出部250は、各脚の股関節部163に設けられた各回転関節に印加されるトルクを算出するときにPD(Proportional―Derivative)制御を用いる。ここで、トルクは、目標角度に追従するためのモーター(図示せず)の回転力である。
制御部260は、トルク算出部250で算出されたトルクを生成するために算出されたトルクに対応するPWMを制御し、これを股関節部163に設けられたモーター(図示せず)にそれぞれ出力する。
図5は、一実施例に係るロボットの歩行制御方法のフローチャートで、これを図5〜図8を参照して説明する。
歩行ロボット100は、入力部210を通して歩行命令が入力(301)されると、予め設定された歩行速度でロボットの歩行を制御する。併せて、歩行ロボットは、入力部210を通して歩行速度の入力を受けることも可能である。
まず、歩行ロボットは、各脚の現在の目標角度軌跡に基づいて歩行を行い、歩行中の姿勢を検出(302)する。次に、歩行ロボットは、次の歩行周期を行うために検出された姿勢に基づいて各脚のノットポイントを生成(303)する。
例えば、現在の歩行周期で右側脚がスイング状態で、左側脚が支持状態であると、次の歩行周期を行うために右側脚に対する支持状態のノットポイントを生成し、左側脚に対するスイング状態のノットポイントを生成する。
すなわち、支持状態を行う支持周期内のノットポイントと、スイング状態を行うスイング周期内のノットポイントとを生成する。ここで、一つの脚に対する目標角度軌跡のスイング周期及び支持周期内のノットポイントは、歩行の進行状態に基づいて生成されるので、互いに異なる時間値を有する。
このとき、各脚に設けられた各関節部の複数の回転関節に対するノットポイントをそれぞれ生成する。そして、歩行ロボット100は、次の歩行周期を行うために各脚に対するノットポイントの生成時にスイング脚が地面に正常に接触する時点の時間を判断して格納する。
併せて、現在の歩行周期でスイング脚が地面に正常に接触する時点の時間は、以前の歩行周期で判断されて格納されたものである。
歩行ロボット100は、歩行中に各足首に加えられる荷重に基づいて地面に接触し、自分の体を支持する支持脚と、地面から分離されて空間をスイングするスイング脚とを判断(304)する。歩行ロボット100は、環境の変化又は外力の印加によってスイング脚が予め格納された時間以前に地面に接触したかどうかを判断(305)する。
このために、歩行ロボットは、支持脚とスイング脚の判断結果に基づいてスイング中の脚が地面に接触したと判断されると、スイング脚が地面に正常に接触する時点の時間とスイング脚が実際に地面に接触した時点の時間とを比較する。
このとき、スイング脚が地面に正常に接触する時点の時間よりスイング脚が実際に地面に接触した時点の時間が短いと、スイング脚が予め格納された時間以前に地面に接触したと判断する。
次に、歩行ロボット100は、スイング脚が予め格納された時間に地面に接触したと判断されると、地面に接触したスイング脚の次の周期である支持周期のノットポイントの時間値を維持させる。
一方、歩行ロボット100は、環境の変化又は外力の印加によってスイング脚が予め格納された時間以前に地面に接触したと判断されると、地面に速く接触したスイング脚の次の周期である支持周期を短縮させる。
より具体的には、スイング脚が地面に正常に接触したとき、次の支持周期内のノットポイントの時間をスイング脚が実際に地面に接触した時間に基づいて短縮させて変更(306)することによって、全体的な支持周期を短縮させる。
次に、歩行ロボット100は、ノットポイントをスプラインで連結して目標角度軌跡を生成(307)する。次に、ロボットは、各脚の関節部163、164、165の目標角度軌跡に追従するためのトルクをそれぞれ算出(308)する。
次に、ロボットは、算出されたトルクがそれぞれ出力されるように電流のパルス幅変調(PWM)を行い、パルス幅変調(PWM)によって制御された電流を各関節部163、164、165に設けられた複数の回転関節のモーター(図示せず)にそれぞれ印加(309)することによって、複数のモーターをそれぞれ回転させる。ロボットは、これら複数のモーターの回転によって歩行を行う。
ロボットは、モーターに印加されるトルクを算出するときにPD(Proportional―Derivative)制御を用い、トルク算出式は次に示す通りである。
T=kp(θd−θc)+kd(θd’−θc’)
ここで、kpはPD制御のPゲインで、kdはPD制御のDゲインで、θdは目標角度で、θcは現在の角度である。そして、P、Dゲインは、安定的な歩行を可能にするゲインであって、実験を通して獲得されたものである。ここで、トルクは、目標角度に追従するためのモーター(図示せず)の回転力である。
ここで、kpはPD制御のPゲインで、kdはPD制御のDゲインで、θdは目標角度で、θcは現在の角度である。そして、P、Dゲインは、安定的な歩行を可能にするゲインであって、実験を通して獲得されたものである。ここで、トルクは、目標角度に追従するためのモーター(図示せず)の回転力である。
本実施例で、ノットポイントは、股関節部のロールノットポイント及び股関節部のピッチノットポイントのうち少なくとも一つのノットポイントであって、目標角度軌跡は、股関節部の目標ロール角度軌跡及び股関節部の目標ピッチ角度軌跡のうち少なくとも一つの目標角度軌跡であり、トルクは、股関節部のピッチ回転関節に印加されるトルク及び股関節部のロール回転関節に印加されるトルクのうち少なくとも一つのトルクである。
次に、図6〜図8を参照してスイング脚の地面接触時点によるノットポイントの生成と目標角度軌跡の生成について説明する。
図6は、右側脚160Rの股関節部163の目標ピッチ角度軌跡の例示図であって、右側脚であるスイング脚が地面に正常に接触したときのノットポイント及び目標ピッチ角度の軌跡を示している。
歩行ロボットの右側脚は、スイング状態及び支持状態を交互に繰り返し、左側脚と互いに異なる動作を行う。このとき、右側脚が支持状態であると、支持周期の間支持のための動作を行いながら次のスイング周期内のピッチノットポイントを生成し、右側脚がスイング状態であると、スイング周期の間スイングのための動作を行いながら次の支持周期内のピッチノットポイントを生成する。
図6に示すように、歩行ロボットは、支持周期の間地面に足を接触させる時点、地面に足のかかと及びつま先を全て接触させる時点、足を離す時点に生成されたピッチノットポイント(K=0、1、2)を連結した目標角度軌跡に追従しながら右側脚を通して支持を行い、支持中の姿勢に基づいて次の状態を行うためのピッチノットポイントを生成する。
ここで、次の状態は、右側脚を通してスイングを行う状態であって、歩行ロボットは、右側脚のスイング周期内のピッチノットポイント(K=3、4)を生成する。このとき、歩行ロボットは、足をスイングする時点、地面に足を接触させる時点にピッチノットポイント(K=3、4)を生成する。
歩行ロボットは、左側足が地面に接触すると、地面から足を離す時点のピッチノットポイント(K=2)と新しく生成されたピッチノットポイント(K=3、4)を連結してスイング周期の間の目標ピッチ角度軌跡を生成し、スイング周期の間の目標ピッチ角度軌跡に追従しながら右側脚を通してスイングを行い、スイング中の姿勢に基づいて次の状態を行うためのピッチノットポイントを生成する。
ここで、次の状態は、右側脚を通して支持を行う状態であって、歩行ロボットは、右側脚の支持周期内のピッチノットポイント(K=5、6)を生成する。このとき、歩行ロボットは、地面に足のかかと及びつま先を全て接触させる時点、再び足を離す時点にピッチノットポイント(K=5、6)を生成する。
歩行ロボットは、スイング中の右側足が地面に正常に接触すると、地面に足を接触させる時点のピッチノットポイント(K=4)と新しく生成されたピッチノットポイント(K=5、6)を連結し、支持周期の間の目標ピッチ角度軌跡を生成し、支持周期の間の目標ピッチ角度軌跡に追従しながら右側脚を通して支持を行い、支持中の姿勢に基づいて次の状態を行うためのピッチノットポイント(K=7、8)を生成する。
すなわち、ロボットは、ピッチノットポイント(K=0、1、2)で支持を行い、ピッチノットポイント(K=2、3、4)でスイングを行い、ピッチノットポイント(K=4、5、6)で再び支持を行い、ピッチノットポイント(K=6、7、8)で再びスイングを行う。このような過程を繰り返すことによって、歩行ロボットは歩行を安定的に行う。
ここで、ピッチノットポイント(K=1、2、4、6、8)は、スイング状態と支持状態との交差地点のピッチノットポイントであって、ピッチノットポイント(K=0、1、2)の区間とピッチノットポイント(K=4、5、6)の区間は支持周期で、ピッチノットポイント(K=2、3、4)の区間とピッチノットポイント(K=6、7、8)の区間はスイング周期である。
図7及び図8は、右側脚160Rの股関節部163の目標ピッチ角度軌跡の例示図であって、右側脚であるスイング脚が予め格納された時間以前に地面に接触したときのノットポイント及び目標ピッチ角度軌跡を示している。
歩行ロボットは、支持周期内のピッチノットポイント(K=0、1、2)を連結した目標ピッチ角度軌跡に追従しながら右側脚を通して支持を行い、支持中の姿勢に基づいて次の状態であるスイング状態を行うためのピッチノットポイントを生成する。
このとき、歩行ロボットは、足をスイングする時点、地面に足を接触させる時点にピッチノットポイント(K=3、4)を生成する。
歩行ロボットは、左側足が地面に接触すると、地面から足を離す時点のピッチノットポイント(K=2)と新しく生成されたピッチノットポイント(K=3、4)を連結し、スイング周期の間の目標ピッチ角度軌跡を生成する。
そして、歩行ロボットは、右側脚のスイング周期が支持周期に転換される時点である右側脚が地面に接触する時点の時間(すなわち、ノットポイントK=4の時間)を判断して格納する。
歩行ロボットは、スイング周期の間の目標ピッチ角度軌跡に追従しながら右側脚を通してスイングを行い、スイング中の姿勢に基づいて次の状態である支持状態を行うためのピッチノットポイントを生成する。このとき、歩行ロボットは、地面に足のかかと及びつま先を全て接触させる時点、再び足を離す時点にピッチノットポイント(K=5、6)を生成する。
歩行ロボットは、右側脚のスイング中に右側脚が予め格納された時間より速く地面に接触したかどうかを判断する。
より具体的には、スイングしている右側脚の足が地面に接触すると、右側足が地面に接触した時点の時間を判断し、右側足が地面に実際に接触した時間(ノットポイントK=4'の時間)と予め格納された時間(ノットポイントK=4の時間)とを比較し、右側足が地面に実際に接触した時間が予め格納された時間より短いと、スイング中の右側脚が予め格納された時間以前に地面に接触したと判断する。
歩行ロボットは、右側脚が予め格納された時間より速く地面に接触したと判断されると、右側脚が地面に実際に接触した時点にピッチノットポイント(K=4')を生成し、スイング中の脚が速く地面に接触することによって歩行速度が遅くなることを防止するために、次に行われる支持周期を短縮させる。
ここで、支持周期を短縮させることは、支持周期内のピッチノットポイントの時間を短縮させて変更することである。
図7及び図8に示すように、スイング周期から支持周期に転換されるとき、股関節部のピッチ角度が小さくなるように制御を行う。
その結果、スイング脚が地面に速く接触した状態で現在の股関節部のピッチ角度が支持周期の最初のノットポイントのピッチ角度より大きい場合、現在の股関節部のピッチ角度から支持周期の最初のノットポイントのピッチ角度までのピッチ角度の減少制御が可能である。
しかし、現在の股関節部のピッチ角度が支持周期の最初のノットポイントのピッチ角度以下であると、現在の股関節部のピッチ角度から支持周期の最初のノットポイントのピッチ角度までのピッチ角度制御が不可能であるので、支持周期で最も小さいピッチ角度を有する、地面から足を離す時点のピッチノットポイントのピッチ角度に基づいて股関節部のピッチ角度を制御する。
ここで、現在の股関節部のピッチ角度が支持周期の最初のノットポイントのピッチ角度以下であるときにピッチ角度制御が不可能である理由は、支持周期のために現在の股関節部のピッチ角度から支持周期の最初のノットポイントのピッチ角度までピッチ角度の上昇制御をしたり、支持周期のピッチ角度が現在のピッチ角度に到達するまでピッチ角度の遅延制御をしなければならないが、上昇制御をすると、二つの脚がいずれもスイング状態となり、遅延制御をすると、右側脚が停止状態となるためである。
このような点を考慮した支持周期の短縮構成を図7及び図8を参照して具体的に説明する。
図7は、スイング脚が地面に速く接触した状態で現在の股関節部のピッチ角度が支持周期内の最初のピッチノットポイントのピッチ角度より大きい場合(c>0)、現在の股関節部のピッチ角度から支持周期内の最初のピッチノットポイントのピッチ角度まで角度を制御するための例示図である。
図7に示すように、歩行ロボットは、次の支持周期内のピッチノットポイント(K=5)の時間が短縮されたピッチノットポイント(K=5')を生成する。
より具体的に説明すると、スイング中の右側脚が地面に正常に接触した場合、ピッチノットポイント(K=4)の角度からピッチノットポイント(K=5)の角度まで制御に必要な時間はaである。
しかし、スイング中の右側脚が地面に速く接触した場合、新しく生成されたピッチノットポイント(K=4')からピッチノットポイント(K=5)までa時間の間制御すると、歩行速度が遅くなるので、歩行速度を維持させるために次のピッチノットポイントの時間値を調整しなければならない。
ここで、歩行速度が遅くなる理由を説明すると、ピッチノットポイント(K=4')の角度がピッチノットポイント(K=4)の角度より小さいので、ピッチノットポイント(K=4)と次のピッチノットポイント(K=5)との角度変化量に比べてピッチノットポイント(K=4')と次のピッチノットポイント(K=5)との角度変化量がより小さくなり、その結果、スイング中の右側脚が地面に速く接触した場合、同一の時間aの間、より小さい角度変化量だけ制御するようになり、歩行速度が遅くなる。
そのため、次のピッチノットポイント(K=5)の時間を短縮させて補正する。ここで、次のピッチノットポイントの時間短縮は、足が地面に実際に接触する時点のピッチノットポイント(K=4')のピッチ角度と支持周期の最初のピッチノットポイント(K=5)のピッチ角度とを比較して角度差cを算出し、算出された角度差c、脚の長さL、歩行速度vに基づいて次のピッチノットポイント(K=5')の時間bを算出し、算出された時間に次のピッチノットポイントの時間を補正する。この算出式は、次に示す通りである。
b=(c×L)/v
このとき、算出された角度差c、重心の高さ、歩行速度vに基づいて次のピッチノットポイント(K=5')の時間bを算出することも可能である。
このとき、算出された角度差c、重心の高さ、歩行速度vに基づいて次のピッチノットポイント(K=5')の時間bを算出することも可能である。
併せて、ロボットの歩行速度を維持させるためにスイング中の脚の足が地面に正常に接触する時点のピッチノットポイント(K=4)と次のピッチノットポイント(K=5)をつなぐ第1の線分と、足が地面に実際に接触する時点のピッチノットポイント(K=4')から延長した第2の線分との交差地点の時間を判断し、判断された時間と次のピッチノットポイント(K=5)の時間との時間差を算出し、算出された時間差をbと決定することも可能である。
また、以前のピッチノットポイント(K=3)の時間と足が地面に実際に接触する時点の時間(K=4'の時間)との時間差を算出し、算出された時間差をbと決定することも可能である。
このように次のピッチノットポイントの時間を補正することによって、右側脚が地面に速く接触した時点のピッチノットポイントから次のピッチノットポイントまでの制御時間を短縮させることができ、ロボットの歩行速度を維持させることができる。
次に、ロボットは、右側脚が地面に速く接触した時点のピッチノットポイント(K=4')と時間が短縮されて補正された次のピッチノットポイント(K=5')、そして、その後のピッチノットポイント(K=6')をスプラインで連結し、支持周期の間の目標ピッチ角度軌跡を生成する。
ここで、ピッチノットポイント(K=6')は、ピッチノットポイント(K=5')の時間短縮によって時間が短縮されただけで、二つのピッチノットポイント(K=5、6)の時間間隔と二つのピッチノットポイント(K=5'、6')の時間間隔は同一である。
ここで、脚はスイング脚である。併せて、支持脚の次のピッチノットポイントの時間を短縮させて変更することも可能である。また、ロールノットポイントの次のロールノットポイントの時間を短縮させて変更することも可能である。
歩行ロボットは、短縮された支持周期の間の目標角度軌跡に追従しながら右側脚を通して支持を行い、支持中の姿勢に基づいて次の状態を行うためのノットポイント(K=7'、8')を生成する。
ここで、ノットポイント(K=6'、7'、8')がなすスイング周期は、以前のスイング周期(K=3、4、5)でスイング脚が地面に速く接触し、その次の支持周期が短縮されることによって遂行時間が速くなっただけで、その周期は一定している。併せて、支持周期内のピッチノットポイントの時間を全て短縮させることも可能である。
例えば、足が地面に実際に接触する時点のピッチノットポイント(K=4')のピッチ角度と支持周期の最後のピッチノットポイント(K=6、足を地面から離す時点のノットポイント)のピッチ角度とを比較して角度差を算出し、算出された角度差、脚の長さ、歩行速度に基づいて短縮のための時間を算出した後、支持周期内のピッチノットポイント(K=5'、6')の各時間に算出された時間の半分ずつ適用して短縮補正をする。
このとき、二つのピッチノットポイント(K=5、6)の時間間隔と二つのピッチノットポイント(K=5'、6')の時間間隔は異なっている。
図8は、スイング脚が地面に速く接触した状態で現在の股関節部のピッチ角度が支持周期内の最初のピッチノットポイントのピッチ角度以下(c<=0)である場合におけるノットポイントと目標ピッチ角度の軌跡の例示図である。
図8に示すように、歩行ロボットは、次の支持周期内の最後のピッチノットポイントである地面から足を離す時点のピッチノットポイント(K=6)の時間が短縮されたピッチノットポイント(K=6')を生成する。
より具体的に説明すると、スイング中の右側脚が地面に正常に接触した場合、ピッチノットポイント(K=4)の角度からピッチノットポイント(K=6)の角度まで制御に必要な時間はaである。
しかし、スイング中の右側脚が地面に速く接触した場合、ピッチ角度の変化量が少ないにもかかわらず、a時間の間支持周期を制御すると、歩行速度が遅くなる。その結果、歩行速度を維持させるためには、ピッチノットポイント(K=6')の時間値を調整しなければならない。
ここで、地面から足を離す時点のピッチノットポイントの時間短縮は次のように行う。足が地面に実際に接触する時点のピッチノットポイント(K=4')のピッチ角度と支持周期の最後のピッチノットポイント(K=6)のピッチ角度とを比較して角度差dを算出し、算出された角度差d、脚の長さL、歩行速度vに基づいて次のピッチノットポイント(K=6')の時間eを算出し、算出された時間で次のピッチノットポイントの時間を補正する。その算出式は次に示す通りである。
e=(d×L)/v
このとき、算出された角度差d、重心の高さ、歩行速度vに基づいて次のピッチノットポイント(K=6')の時間eを算出することも可能である。
このとき、算出された角度差d、重心の高さ、歩行速度vに基づいて次のピッチノットポイント(K=6')の時間eを算出することも可能である。
このように支持周期のピッチノットポイントの時間を補正することによって、右側脚が地面に速く接触した時点のピッチノットポイントから次のピッチノットポイントまでの制御時間を短縮させることができ、ロボットの歩行速度を維持させることができる。
次に、ロボットは、右側脚が地面に速く接触した時点のピッチノットポイント(K=4')と時間が短縮されて補正された次のピッチノットポイント(K=6')をスプラインで連結し、支持周期の間の目標ピッチ角度軌跡を生成する。
ここで、脚はスイング脚である。併せて、支持脚の次のピッチノットポイントの時間を短縮させて変更することも可能である。また、ロールノットポイントの次のロールノットポイントの時間を短縮させて変更することも可能である。
歩行ロボットは、短縮された支持周期の間の目標角度軌跡に追従しながら右側脚を通して支持を行い、支持中の姿勢に基づいて次の状態を行うためのピッチノットポイント(K=7'、8')を生成し、ピッチノットポイント(K=6')と新しく生成されたピッチノットポイント(K=7'、8')をスプラインを通して連結し、目標ピッチ角度軌跡を生成する。
ここで、ノットポイント(K=6'、7'、8')がなすスイング周期は、以前のスイング周期(K=3、4、5)でスイング脚が地面に速く接触し、その次の支持周期(K=4'、6')が短縮されることによって遂行時間が速くなっただけで、その周期は一定している。
図9は、他の実施例に係るロボットの歩行制御装置200の制御構成図であって、ロボットの歩行制御装置200は、入力部210、姿勢検出部220、歩行状態判断部230、目標角度軌跡生成部240、トルク算出部250及び制御部260を含む。
他の実施例に係る入力部210、姿勢検出部220、歩行状態判断部230、トルク算出部250及び制御部260は上述した一実施例と同一であるので、それに対する説明は省略する。
この実施例では、姿勢検出部220は重心検出部223をさらに含む。重心検出部223は、傾き検出部221で検出された上体傾き情報及びロボットの現在の姿勢に対応した各関節部131、143、144、163、164、165の回転角度に基づいてロボットの重心を検出し、検出された重心の変化量を算出し、算出された重心の変化量を目標角度軌跡生成部240に伝送する。
ここで、各関節部の回転角度は、各関節部に設けられた複数のモーター(図示せず)の回転数を通して知ることができる。各モーター(図示せず)の回転数は、各モーターに連結されたエンコーダー(図示せず)を通して検出可能である。
図10A及び図10Bに示すように、重心検出部223は、ロボットの歩行方向(X軸方向)に対する重心の変化量(Px)と、ロボットの左右方向(Y軸方向)に対する重心の変化量(Py)を算出する。
ここで、重心の変化量(Px、Py)は、ロボットの重心の鉛直線位置と地面に接触した足の足首位置との間のX方向距離及びY方向距離である。
すなわち、ロボットは、歩行時のロボットの重心(COM:Center Of Mass)の鉛直線が支持脚の足首位置と一致したときに均衡を維持できるので、ロボットの重心の鉛直線位置と支持脚の足首位置との間のX方向及びY方向の距離を検出する。
目標角度軌跡生成部240は、歩行状態判断部230で判断された各脚状態情報に基づいて複数の関節部163、164、165に設けられた回転関節の角度をノットポイントとして生成し、このノットポイントを連結し、各関節部163、164、165に設けられた複数の回転関節に対する目標角度軌跡をそれぞれ生成する。
目標角度軌跡生成部240は、現在の重心の変化量に基づいて次のノットポイントの時間と角度を補正し、補正されたノットポイントを連結して目標角度軌跡を生成し、生成された目標角度軌跡をトルク算出部250に伝送する。
このとき、目標角度軌跡生成部240は、重心がY軸方向に変化したY軸方向の変化量を判断し、判断されたY軸方向の重心の変化量とY軸方向の基準変化量とを比較してロール角度及び時間の補償値を算出し、算出されたロール角度及び時間を補償して次のロールノットポイントを補正する。
目標角度軌跡生成部240は、重心の変化量に基づいて次のロールノットポイントを補正した状態で、スイング脚が予め格納された時間以前に地面に接触したと判断されると、次の支持周期を短縮させて補正することも可能である。ここで、支持周期の短縮補正は、上述の一実施例で説明した通りである。
以下では、このような目標角度軌跡生成部240を図11を参照してより具体的に説明する。
図11は、他の実施例に係るロボットに設けられた目標角度軌跡生成部240の詳細構成図であって、目標角度軌跡生成部240は、支持ノットポイント補償部241、スイングノットポイント補償部242、スプライン生成部243、244、スイッチ部245、左側脚角度軌跡生成部246及び右側脚角度軌跡生成部247を含む。
支持ノットポイント補償部241は、次に支持される脚の股関節部163のロールノットポイントの角度と時間補償値(△r、△T)を計算し、支持脚の股関節部163のロールノットポイントを再生成する。
スイングノットポイント補償部242は、次にスイングされるスイング脚の股関節部163のロールノットポイントの角度と時間補償値(△r、△T)を計算し、スイング脚の股関節部163のロールノットポイントを再生成する。
併せて、支持ノットポイント補償部241とスイングノットポイント補償部242でのロールノットポイントの角度と時間補償値は互いに異なり得る。
スプライン生成部243は、支持脚の股関節部163のロールノットポイントをスプラインで連結し、支持脚の股関節部163の目標ロール角度軌跡を生成する。スプライン生成部244は、スイング脚の股関節部163のロールノットポイントをスプラインで連結し、スイング脚の股関節部163の目標ロール角度軌跡を生成する。
併せて、ロールノットポイントの時間と角度が補正されない場合、最初に生成された支持脚とスイング脚のロールノットポイントを連結し、目標ロール角度軌跡をそれぞれ生成することも可能である。
スイッチ部245は、歩行状態判断部230で伝送された各脚の歩行状態データ(0又は1)に対応して支持及びスイングする脚を判断し、判断結果に従って支持する脚に股関節部163の支持目標ロール角度軌跡を伝送し、スイングする脚に股関節部163のスイング目標ロール角度軌跡を伝送する。
スイッチ部245は、二つの足がそれぞれ地面に着地するとき、力/トルク検出部222で検出された着地信号に基づいて各足の支持状態とスイング状態の転換を行う。
左側脚角度軌跡生成部246は、スイッチ部245から伝送されたデータによって左側脚の股関節部163が追従すべき目標ロール角度軌跡を生成し、これをトルク算出部250に伝送する。
右側脚角度軌跡生成部247は、スイッチ部245から伝送されたデータによって右側脚の股関節部163が追従すべき目標ロール角度軌跡を生成し、これをトルク算出部250に伝送する。
図12は、他の実施例に係るロボットの歩行制御方法のフローチャートであって、これを図12及び図13を参照して説明する。
ロボット100は、入力部210を通して歩行命令が入力(401)されると、予め設定された歩行速度でロボットの歩行を制御する。併せて、ロボットは、入力部210を通して歩行速度の入力を受けることも可能である。
まず、歩行ロボットは、歩行制御時にロボットの姿勢を検出(402)する。このとき、各足首に加えられる荷重を判断する。
歩行ロボット100は、各足首に加えられる荷重に基づいて、地面に接触して自分の体を支持する支持脚と、地面から分離されて空間をスイングするスイング脚を判断(403)する。歩行ロボット100は、支持脚とスイング脚の判断結果に基づいて次にスイングされるスイング脚の各関節部163、164、165のノットポイントと、次に支持される支持脚の各関節部163、164、165のノットポイントを生成(404)する。
例えば、現在の歩行周期で右側脚がスイング状態で、左側脚が支持状態であると、次の歩行周期を行うために右側脚に対する支持状態のノットポイントを生成し、左側脚に対するスイング状態のノットポイントを生成する。
すなわち、支持状態を行う支持周期内のノットポイントと、スイング状態を行うスイング周期内のノットポイントを生成する。ここで、一つの脚に対する目標角度軌跡のスイング周期及び支持周期内のノットポイントは、歩行の進行状態に基づいて生成されるので、互いに異なる時間値を有する。
歩行ロボット100は、ロボットの姿勢に基づいて次のノットポイント生成時の重心を検出し、検出された重心の変化量を判断した後、判断された重心の変化量に基づいてノットポイントの時間と角度を補正する。このとき、股関節部のロール方向の回転関節に対応するロールノットポイントを補正する。
より具体的に説明すると、ロボット100は、現在の実際の重心の変化量情報と基準重心の変化量情報とを比較し、ロールノットポイントの時間及び角度の補償値を算出(405)する。
すなわち、歩行ロボット100は、Y軸方向の実際の重心の変化量(Py)とY軸方向の基準重心の変化量(Pr)とを比較し、股関節部163のロールノットポイントの時間と角度の補償値(△r、△T)を算出する。
次に、歩行ロボット100は、次のロールノットポイントに時間と角度の補償値(△r、△T)を適用してロールノットポイントを補正(406)し、股関節部163の目標ロールノットポイントを生成する。このとき、スイング脚の次のロールノットポイントを補正するとともに、支持脚の次のロールノットポイントを補正することも可能である。
このように重心によって股関節部のロールノットポイントが変更された場合、支持脚及びスイング脚の股関節部163のロールノットポイントをスプラインでそれぞれ連結し、支持脚とスイング脚の股関節部163の目標ロール角度軌跡を生成(407)する。
次に、ロボット100は、各脚の股関節部163の目標ロール角度軌跡に追従するためのトルクを算出(408)する。次に、ロボット100は、各トルクに対応するパルス幅変調(PWM:Pulse―Width Modulation)を制御し、股関節部163に設けられたモーター(図示せず)にトルクを印加(409)することによってモーターを回転させる。
これを図13を参照して具体的に説明する。図13は、他の実施例に係るロボットの歩行中における時間による右側脚160Rに設けられた股関節部163の目標ロール角度軌跡の例示図であって、重心の変化による目標ロール角度軌跡の再生性の例示図である。
ロボットは、現在右側脚を支持している状態でスイングのためのロールノットポイント(K=1、2)を生成し、右側脚をスイングしている状態で支持のためのロールノットポイント(K=3、4)を生成し、右側脚を支持している状態でスイングのためのロールノットポイント(K=5、6)を生成する。
まず、ロボットは、現在のノットポイント(K=0)地点で次の状態を行うためのノットポイント(K=1、2、…)を生成する。
このとき、現在のノットポイント(K=0)地点で重心(COM)の位置の変化量(Px、Py)を判断し、重心の変化量が基準変化量と一致すると、ロボットは、生成されたノットポイント(K=1、2、…)の値を維持させ、ノットポイント(K=1、2、…)をスプラインで連結して目標ロール角度軌跡を生成する。
一方、歩行ロボットは、外力や環境の変化によって重心の変化量が基準変化量と一致しないと、現在のノットポイント(K=0)地点で重心(COM)の変化量(Px、Py)を判断し、この重心の速度(Px’、Py')を算出して次のロールノットポイント(K=1')を生成した後、現在のノットポイント(K=0)と次のロールノットポイント(K=1')を連結して目標ロール角度軌跡を生成する。
すなわち、重心の変化量が基準変化量と一致すると、ロールノットポイントがK=1の地点に生成され、重心の変化量が基準変化量と一致しないと、重心の変化量によってロールノットポイントがK=1'の地点に生成される。
ここで、重心に基づいた次のロールノットポイントの時間と角度の補償値の算出式は、次に示す通りである。このとき、比例微分(PD:Proportional―Derivative)制御を用いる。
△r=Kp1(Py−Pr)+Kd1(Py’−Pr')
△T=Kp2(Py−Pr)+Kd2(Py’−Pr')
ここで、Kp1、Kp2は、PD制御のPゲインで、Kd1、Kd2はPD制御のDゲインである。このPDゲインは、反復実験によって定められた値であって、最適の安定した歩行を行えるようにするゲインである。
△T=Kp2(Py−Pr)+Kd2(Py’−Pr')
ここで、Kp1、Kp2は、PD制御のPゲインで、Kd1、Kd2はPD制御のDゲインである。このPDゲインは、反復実験によって定められた値であって、最適の安定した歩行を行えるようにするゲインである。
Pyは、ロボットの重心の鉛直線位置と地面に接触した足のY軸方向の足首位置との間の実際の変化量で、Py'は実際の距離を微分した実際の速度である。ここで、実際の速度Py'は直接検出することも可能である。
そして、Prは、歩行ロボットの歩行方向に対応したY軸方向の基準変化量で、Pr'は、この基準距離を微分した基準速度である。併せて、歩行ロボットは、基準距離を超える場合のみにロールノットポイントを補正することも可能である。
次に、歩行ロボットは、現在のロールノットポイント(K=0)と、時間と角度が補正された次のロールノットポイント(K=1')と、その後のピッチノットポイントとをスプラインで連結し、目標ピッチ角度軌跡を生成する。
次に、歩行ロボットは、生成された目標ロール角度軌跡に追従するトルクを算出した後、算出されたトルクが出力されるように電流のパルス幅変調(PWM)を制御し、各脚の股関節部163に算出されたトルクを印加(312)する。
歩行ロボットは、モーターに印加されるトルクの算出時にPD(Proportional―Derivative)制御を用いる。併せて、算出されたトルクに追従するためにPID(Proportional Integrative Derivative)制御を用いることも可能である。
本歩行制御方法は、FSM制御構造及びトルクサーボ制御を用いるので、既存の歩行制御方式に比べて次のような長所を有している。
ロボットに外力が印加されたり、環境が変わった場合、歩行中の均衡を維持するために次のノットポイントの時間と角度を調節することによって、柔軟かつ安定的な歩行を具現することができる。
また、歩行中に各関節部の回転角度を正確に制御する必要がないので、低いサーボゲインで歩行を行うことができ、その結果、既存の歩行に比べてエネルギー消費を減少させることができ、各関節が低剛性を有することによって周囲環境との衝突時における衝撃を減少させることができる。
また、逆機構学を解くべき既存の歩行方式では具現が不可能な膝伸ばし歩行を行うことができ、人間型歩行を具現することができる。その結果、ロボットの人間親和性を向上させることができ、ロボットの膝曲げ時に消費されるエネルギーを節約することができ、3倍の歩行速度を具現することができる。
また、複雑な動的方程式を解く必要がないので、6自由度の関節を有したロボットの歩行を制御することができる。
各関節部の各ノットポイントをスプラインを用いて柔軟に連結することによって、人間の歩行と最大限に類似した歩行を具現することができる。
160L、160R 脚
170L、170R 足
163 股関節部
164 膝関節部
165 足首関節部
221 傾き検出部
222 力/トルク検出部
223 重量中心検出部
170L、170R 足
163 股関節部
164 膝関節部
165 足首関節部
221 傾き検出部
222 力/トルク検出部
223 重量中心検出部
Claims (28)
- 複数の脚にそれぞれ設けられた股関節部;
姿勢を検出する姿勢検出部;
前記姿勢から歩行状態を判断する歩行状態判断部;
前記歩行状態に基づいてスイング脚と支持脚を確認し、前記複数の脚の歩行状態が変更されるとき、前記スイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚が行う次の支持周期を短縮させて変更し、前記の変更された次の支持周期に基づいて前記股関節部の目標角度軌跡を生成する目標角度軌跡生成部;
前記股関節部の目標角度軌跡に追従するトルクを算出するトルク算出部;及び
前記股関節部に前記トルクを出力することによって歩行を制御する制御部を含む歩行ロボット。 - 前記目標角度軌跡生成部は、
前記複数の脚のうちいずれか一つの脚がスイング状態であるとき、スイング周期の間前記姿勢に基づいて次の支持周期内の複数のノットポイントを生成する、請求項1に記載の歩行ロボット。 - 前記目標角度軌跡生成部は、
前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚が地面に接触した時点の角度と前記次の支持周期の最初のノットポイントの角度との間の角度差と前記歩行速度に基づいて前記股関節部の次の支持周期の最初のノットポイントの時間を短縮させる、請求項1に記載の歩行ロボット。 - 前記目標角度軌跡生成部は、
前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚が地面に接触した時点の角度と前記次の支持周期の最後のノットポイントの角度との間の角度差と前記歩行速度に基づいて前記股関節部の次の支持周期の最後のノットポイントの時間を短縮させる、請求項1に記載の歩行ロボット。 - 前記ノットポイントは、
前記股関節部のピッチノットポイント及びロールノットポイントのうち少なくとも一つのノットポイントである、請求項1に記載の歩行ロボット。 - 前記姿勢検出部は、
前記複数の脚の足に伝達される力を検出する力/トルク検出部を含み、
前記歩行状態判断部は、前記足に伝達される力/トルクに基づいて支持脚とスイング脚を判断する、請求項1に記載の歩行ロボット。 - 前記目標角度軌跡生成部は、
前記スイング脚が地面に正常に接触する時点のノットポイントの時間を判断して予め格納する、請求項1に記載の歩行ロボット。 - 前記目標角度軌跡生成部は、
前記スイング脚が地面に正常に接触する時点のノットポイントの時間と前記スイング脚が実際に地面に接触した時点の時間とを比較し、前記スイング脚が予め格納された時間以前に地面に接触したかどうかを判断する、請求項7に記載の歩行ロボット。 - 複数の脚にそれぞれ設けられた股関節部;
姿勢を検出する姿勢検出部;
前記姿勢から歩行状態を判断する歩行状態判断部;
前記歩行状態に基づいてスイング脚と支持脚を確認し、各脚の股関節部のノットポイントを時間によって生成し、前記姿勢から前記重心を検出することによって次のノットポイントの角度及び時間の補償値を算出し、前記角度及び時間の補償値に基づいて次のノットポイントの時間と角度を補正し、前記時間と角度が補正された次のノットポイントを用いて前記股関節部の目標角度軌跡を生成する目標角度軌跡生成部;
前記股関節部の目標角度軌跡に追従するトルクを算出するトルク算出部;及び
前記股関節部に前記トルクを出力することによって歩行を制御する制御部を含む歩行ロボット。 - 前記目標角度軌跡生成部は、
前記スイング脚の次のノットポイントの時間及び角度を補正する、請求項9に記載の歩行ロボット。 - 前記目標角度軌跡生成部は、
前記股関節部のロールノットポイントを連結することによって目標ロール角度軌跡を生成する、請求項9に記載の歩行ロボット。 - 前記目標角度軌跡生成部は、
前記重心がY軸方向に変化したY軸方向の変化量を判断し、前記の判断されたY軸方向の重心の変化量とY軸方向の基準変化量とを比較することによってロール角度及び時間の補償値を算出する、請求項11に記載の歩行ロボット。 - 前記目標角度軌跡生成部は、
前記歩行状態に基づいて前記スイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚が行う次の支持周期を短縮させ、短縮された支持周期に基づいて前記股関節部の目標角度軌跡を生成する、請求項9に記載の歩行ロボット。 - 前記目標角度軌跡は、
前記スイング脚の股関節部の目標ピッチ角度軌跡である、請求項13に記載の歩行ロボット。 - 前記目標角度軌跡生成部は、
前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚が地面に接触した時点の角度、歩行速度及び予め格納された脚の長さに基づいて前記次の支持周期の時間を算出する、請求項13に記載の歩行ロボット。 - 前記目標角度軌跡生成部は、
前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚が地面に接触した時点のピッチ角度、歩行速度及び前記重心の高さに基づいて前記次の支持周期の時間を算出する、請求項13に記載の歩行ロボット。 - 複数の脚での歩行中に現在の周期でのロボットの姿勢を検出し、
前記ロボットの姿勢に基づいて前記複数の脚に対する次の周期内のノットポイントをそれぞれ生成し、
前記ロボットの姿勢から歩行状態を判断することによってスイング脚と支持脚を判断し、
前記スイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、
前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚が行う次の周期である支持周期内のノットポイントの時間を短縮させて補正し、
前記時間が補正された支持周期のノットポイントを用いて前記股関節部の目標角度軌跡を生成し、
前記股関節部の目標角度軌跡に追従するトルクを算出し、
前記股関節部に前記トルクを出力することによって前記ロボットの歩行を制御する歩行ロボットの制御方法。 - 前記支持周期のノットポイントの時間を補正することは、
前記スイング脚に設けられた股関節部のピッチノットポイント及びロールノットポイントのうち少なくとも一つのノットポイントの時間を補正することを含む、請求項17に記載の歩行ロボットの制御方法。 - 前記次のノットポイントの時間を補正することは、
前記スイング脚が地面に接触した時点の前記股関節部のピッチ角度が前記支持周期の最初のノットポイントのピッチ角度より大きいかどうかを判断し、
前記スイング脚が地面に接触した時点の前記股関節部のピッチ角度が前記支持周期の最初のノットポイントのピッチ角度より大きいと、前記スイング脚が地面に接触した時点の前記股関節部のピッチ角度と前記支持周期の最初のノットポイントのピッチ角度との角度差を算出し、
前記角度差、予め設定された歩行速度及び前記ロボットの脚の長さに基づいて時間を算出し、
前記の算出された時間に前記支持周期内の最初のピッチノットポイントの時間を短縮させて補正することを含む、請求項18に記載の歩行ロボットの制御方法。 - 前記次のノットポイントの時間を補正することは、
前記スイング脚が地面に接触した時点の前記股関節部のピッチ角度が前記支持周期の最初のノットポイントのピッチ角度より大きいかどうかを判断し、
前記スイング脚が地面に接触した時点の前記股関節部のピッチ角度が前記支持周期の最初のノットポイントのピッチ角度以下であると、前記スイング脚が地面に接触した時点の前記股関節部のピッチ角度と前記支持周期の最後のノットポイントのピッチ角度との角度差を算出し、
前記角度差、予め設定された歩行速度及び前記ロボットの脚の長さに基づいて時間を算出し、
前記の算出された時間で前記支持周期内の最後のピッチノットポイントの時間を短縮させて補正することを含む、請求項18に記載の歩行ロボットの制御方法。 - 前記股関節部の目標角度軌跡を生成することは、
前記時間が短縮されて補正されたノットポイントをスプラインで連結し、前記スイング脚に設けられた股関節部の目標角度軌跡を生成することを含む、請求項17に記載の歩行ロボットの制御方法。 - 前記スイング脚が地面に正常に接触する時点のノットポイントの時間を獲得して予め格納することをさらに含む、請求項17に記載の歩行ロボットの制御方法。
- 前記スイング脚が予め格納された時間以前に地面に接触したかどうかを判断することは、
前記スイング脚が地面に正常に接触する時点のノットポイントの時間と前記スイング脚が実際に地面に接触した時点の時間とを比較し、
前記スイング脚が地面に正常に接触する時点のノットポイントの時間より前記スイング脚が実際に地面に接触した時点の時間が短いと、前記スイング脚が予め格納された時間以前に地面に接触したと判断することを含む、請求項17に記載の歩行ロボットの制御方法。 - 複数の脚で歩行するロボットの姿勢を検出し、
前記ロボットの姿勢から歩行状態を判断することによってスイング脚と支持脚を判断し、
前記各脚の股関節部の次のノットポイントを時間によって生成し、
前記ロボットの姿勢から前記ロボットの重心を検出することによって次のノットポイントの角度及び時間の補償値を算出し、
前記の算出された角度及び時間の補償値に基づいて次のノットポイントの時間と角度を補正し、
前記時間と角度が補正された次のノットポイントを用いて前記股関節部の目標角度軌跡を生成し、
前記股関節部の目標角度軌跡に追従するトルクを算出し、
前記股関節部に前記トルクを出力することによって前記ロボットの歩行を制御する歩行ロボットの制御方法。 - 前記次のノットポイントの時間と角度を補正することは、
前記スイング脚の次のロールノットポイントの時間及び角度を補正することを含む、請求項24に記載の歩行ロボットの制御方法。 - 前記次のノットポイントの角度及び時間の補償値を算出することは、
前記重心がY軸方向に変化したY軸方向の変化量を判断し、
前記の判断されたY軸方向の重心の変化量とY軸方向の基準変化量とを比較することによってロール角度及び時間の補償値を算出することを含む、請求項24に記載の歩行ロボットの制御方法。 - 前記重心のY軸変化量は、
前記重心のY軸方向の距離変化量と、前記重心のY軸方向の速度変化量と、を含む、請求項26に記載の歩行ロボットの制御方法。 - 前記歩行状態に基づいて前記スイング脚が予め格納された時間以前に地面に接触したかどうかを判断し、
前記スイング脚が予め格納された時間以前に地面に接触したと判断されると、前記スイング脚の支持周期内のピッチノットポイントの時間を短縮させて補正し、
前記時間が短縮されて補正された前記支持周期内のピッチノットポイントを用いて前記スイング脚の股関節部の目標ピッチ角度軌跡を生成することをさらに含む、請求項24に記載の歩行ロボットの制御方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2011-0136019 | 2011-12-16 | ||
KR1020110136019A KR20130068694A (ko) | 2011-12-16 | 2011-12-16 | 보행 로봇 및 그 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013126711A true JP2013126711A (ja) | 2013-06-27 |
Family
ID=48610941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012263788A Pending JP2013126711A (ja) | 2011-12-16 | 2012-11-30 | 歩行ロボット及びその制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130158712A1 (ja) |
JP (1) | JP2013126711A (ja) |
KR (1) | KR20130068694A (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5930754B2 (ja) * | 2012-02-13 | 2016-06-08 | キヤノン株式会社 | ロボット装置の制御方法及びロボット装置 |
JP5930753B2 (ja) * | 2012-02-13 | 2016-06-08 | キヤノン株式会社 | ロボット装置の制御方法及びロボット装置 |
US9499219B1 (en) | 2014-08-25 | 2016-11-22 | Google Inc. | Touch-down sensing for robotic devices |
US10081098B1 (en) | 2014-08-25 | 2018-09-25 | Boston Dynamics, Inc. | Generalized coordinate surrogates for integrated estimation and control |
US9618937B1 (en) | 2014-08-25 | 2017-04-11 | Google Inc. | Slip detection using robotic limbs |
US9387588B1 (en) * | 2014-08-25 | 2016-07-12 | Google Inc. | Handling gait disturbances with asynchronous timing |
JP6228097B2 (ja) * | 2014-10-06 | 2017-11-08 | 本田技研工業株式会社 | 移動ロボット |
WO2016061471A1 (en) * | 2014-10-17 | 2016-04-21 | Hitachi High Technologies America, Inc. | Interactive laboratory robotic system |
US9499218B1 (en) | 2014-12-30 | 2016-11-22 | Google Inc. | Mechanically-timed footsteps for a robotic device |
US9833899B1 (en) | 2015-04-02 | 2017-12-05 | Boston Dynamics, Inc. | Adaptive response to load |
US9891599B2 (en) * | 2016-02-01 | 2018-02-13 | Varian Semiconductor Equipment Associates, Inc. | Proportional integral derivative control incorporating multiple actuators |
US10152033B2 (en) | 2016-02-01 | 2018-12-11 | Varian Semiconductor Equipment Associates, Inc. | Proportional integral derivative control incorporating multiple actuators |
US11981031B2 (en) * | 2016-08-18 | 2024-05-14 | The Trustees Of The University Of Pennsylvania | Systems and methods for controlling robotic behaviors |
CN107414823A (zh) * | 2017-03-24 | 2017-12-01 | 深圳市拓灵者科技有限公司 | 根据力矩调整平衡的方法及装置 |
CN107045296B (zh) * | 2017-05-26 | 2019-07-12 | 成都市青柠微影科技有限公司 | 智能控制系统及方法 |
US10532464B1 (en) | 2017-07-05 | 2020-01-14 | Luis GUZMAN | Walking robot |
CN108161939B (zh) * | 2017-12-29 | 2020-11-03 | 深圳市越疆科技有限公司 | 一种机械臂的柔性避障方法、系统及终端设备 |
USD872152S1 (en) * | 2018-01-27 | 2020-01-07 | Ubtech Robotics Corp | Robot |
USD898789S1 (en) * | 2018-05-08 | 2020-10-13 | LuxAI S.A. | Robot |
CN108960211B (zh) * | 2018-08-10 | 2020-12-01 | 罗普特(厦门)科技集团有限公司 | 一种多目标人体姿态检测方法以及系统 |
CN109634419B (zh) * | 2018-12-14 | 2021-12-03 | 上海迦立信息科技有限公司 | 康复机器人运动意图识别方法及其计算机可读存储介质 |
USD885451S1 (en) * | 2019-01-04 | 2020-05-26 | Guilan Chen | Robot used for recording |
CN113050616A (zh) * | 2019-12-27 | 2021-06-29 | 深圳市优必选科技股份有限公司 | 一种双足机器人行走的控制方法及双足机器人 |
CN111880544B (zh) * | 2020-08-07 | 2024-03-22 | 深圳市优必选科技股份有限公司 | 仿人机器人步态规划方法、装置和仿人机器人 |
CN113168533A (zh) * | 2020-08-26 | 2021-07-23 | 深圳市大疆创新科技有限公司 | 手势识别方法及装置 |
KR102392930B1 (ko) * | 2020-10-26 | 2022-05-02 | 주식회사 토리 | 독립된 두 개의 회전모터를 사용한 이족보행 장치, 그리고 이를 이용한 이족보행 제어방법 |
CN112896354B (zh) * | 2021-02-04 | 2022-04-12 | 上海电气集团股份有限公司 | 爬行机器人及其控制方法 |
CN114986526A (zh) * | 2021-03-01 | 2022-09-02 | 腾讯科技(深圳)有限公司 | 机器人运动控制方法、装置、机器人及存储介质 |
CN115981346B (zh) * | 2023-03-20 | 2024-06-07 | 深圳鹏行智能研究有限公司 | 机器人控制方法以及机器人 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5337235A (en) * | 1992-03-12 | 1994-08-09 | Honda Giken Kogyo Kabushiki Kaisha | Locomotion control system for legged mobiled robot |
JP3626303B2 (ja) * | 1996-12-18 | 2005-03-09 | 本田技研工業株式会社 | 脚式移動ロボットの足底接地位置検出装置 |
JP3621808B2 (ja) * | 1997-06-20 | 2005-02-16 | 本田技研工業株式会社 | 脚式移動ロボットの足平接地状態把握装置 |
JP4480843B2 (ja) * | 2000-04-03 | 2010-06-16 | ソニー株式会社 | 脚式移動ロボット及びその制御方法、並びに、脚式移動ロボット用相対移動測定センサ |
JP3634238B2 (ja) * | 2000-05-19 | 2005-03-30 | 本田技研工業株式会社 | 脚式移動ロボットの床形状推定装置 |
JP3726009B2 (ja) * | 2000-05-19 | 2005-12-14 | 本田技研工業株式会社 | 脚式移動ロボットの床形状推定装置 |
US7366587B2 (en) * | 2002-12-05 | 2008-04-29 | Sony Corporation | Legged mobile robot |
KR100571829B1 (ko) * | 2004-02-06 | 2006-04-17 | 삼성전자주식회사 | 구조체, 발 구조 및 이를 채용한 로봇 |
KR100571839B1 (ko) * | 2004-03-31 | 2006-04-17 | 삼성전자주식회사 | 인간형 로봇 |
JP4274181B2 (ja) * | 2006-01-12 | 2009-06-03 | トヨタ自動車株式会社 | 脚式ロボット |
US20080297091A1 (en) * | 2007-05-31 | 2008-12-04 | Samsung Electronics Co., Ltd. | Foot of walking robot and walking robot having the same |
US8332068B2 (en) * | 2008-12-19 | 2012-12-11 | Honda Motor Co., Ltd. | Intelligent stepping for humanoid fall direction change |
KR101687631B1 (ko) * | 2010-01-18 | 2016-12-20 | 삼성전자주식회사 | 로봇의 보행 제어 장치 및 그 제어 방법 |
-
2011
- 2011-12-16 KR KR1020110136019A patent/KR20130068694A/ko not_active Application Discontinuation
-
2012
- 2012-11-27 US US13/685,836 patent/US20130158712A1/en not_active Abandoned
- 2012-11-30 JP JP2012263788A patent/JP2013126711A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20130068694A (ko) | 2013-06-26 |
US20130158712A1 (en) | 2013-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013126711A (ja) | 歩行ロボット及びその制御方法 | |
JP5916998B2 (ja) | 人間型ロボット及びその歩行制御方法 | |
KR101809972B1 (ko) | 보행 로봇 및 그 제어방법 | |
KR101985790B1 (ko) | 보행 로봇 및 그 제어 방법 | |
US8688273B2 (en) | Walking control apparatus of robot and method of controlling the same | |
JP5607886B2 (ja) | 歩行ロボット及びその制御方法 | |
JP6343559B2 (ja) | 可変剛性の接合を有するロボットおよび最適化剛性の計算方法 | |
US20120158182A1 (en) | Walking control apparatus and method of robot | |
KR101687628B1 (ko) | 로봇의 보행 제어 장치 및 그 제어 방법 | |
KR101687630B1 (ko) | 보행 로봇 및 그 균형 제어 방법 | |
KR20130063230A (ko) | 보행 로봇 및 그 제어 방법 | |
US20110172824A1 (en) | Walking robot and method of controlling the same | |
EP2426037B1 (en) | Walking robot and control method thereof | |
KR101766755B1 (ko) | 보행 로봇 및 그 제어방법 | |
KR20130049029A (ko) | 보행 로봇 및 그 제어 방법 | |
KR20100086355A (ko) | 로봇의 보행 제어장치 및 그 방법 | |
KR20110084631A (ko) | 인간형 로봇 및 그 보행 제어방법 | |
US8301303B2 (en) | Robot and method of controlling the same | |
KR101760883B1 (ko) | 로봇 및 그 제어방법 | |
JP2009255231A (ja) | 歩行制御装置および歩行制御方法 |