JP2005022040A - Walking robot correcting positional deviation, and its control method - Google Patents

Walking robot correcting positional deviation, and its control method Download PDF

Info

Publication number
JP2005022040A
JP2005022040A JP2003191179A JP2003191179A JP2005022040A JP 2005022040 A JP2005022040 A JP 2005022040A JP 2003191179 A JP2003191179 A JP 2003191179A JP 2003191179 A JP2003191179 A JP 2003191179A JP 2005022040 A JP2005022040 A JP 2005022040A
Authority
JP
Japan
Prior art keywords
robot
foot
calculated
gait data
camera
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
Application number
JP2003191179A
Other languages
Japanese (ja)
Inventor
Takashi Yamamoto
貴史 山本
Toshihiko Tsukada
敏彦 塚田
Masao Kawase
昌男 川瀬
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 JP2003191179A priority Critical patent/JP2005022040A/en
Publication of JP2005022040A publication Critical patent/JP2005022040A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve a problem that an actual walking locus deviates from a walking locus specified by gait data due to the occurrence of a slip on a floor because flexure is generated to a walking robot. <P>SOLUTION: This walking robot is provided with a gait data storage means 46; a joint angle group computing means 58 for computing a joint angle based on gait data; an actuator driving means 60 for adjusting to the joint angle computed by the joint angle group computing means; devices 4, 52, 54 for detecting the positions of a grounding foot; a device 56 for computing deviation between a position in which the grounding foot should be and a position in which the grounding foot is; and a device 48 for correcting subsequent gait data with the computed deviation. The robot continues walking while changing the relative attitude of a left leg link, the waist and a right leg link according the corrected gait data. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】本発明は、左脚リンクと腰と右脚リンクから構成される機械系を備え、その機械系に存在する複数の関節を利用して、左脚リンクと右脚リンクの相対的姿勢を変化させることによって歩行するロボットの制御技術に関する。
【0002】
【従来の技術】左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットが開発されている。通常は、腰と左上腿が左股関節によって接続され、左上腿と左下腿が左膝関節で接続され、左下腿と左足先が左足首関節で接続され、腰と右上腿が右股関節によって接続され、右上腿と右下腿が右膝関節で接続され、右下腿と右足先が右足首関節で接続されている。左脚リンクと腰と右脚リンクで構成される機械系には複数の関節が存在しており、その関節を利用することによって、左脚リンクと腰と右脚リンクの相対的姿勢を変化させることができる。
【0003】
左脚リンクと腰と右脚リンクの相対的姿勢を変化させる場合、結果として歩行した結果が得られるように、左脚リンクと腰と右脚リンクの相対的姿勢を変化させなければならない。
このために、左足先と右足先の位置を指定する歩容データが利用される。歩容データは、左足先と右足先の位置を指定するデータを経時的に記憶している。
歩容データの作成段階では、左脚リンクと右脚リンクの相対的姿勢の変化を想定して歩容データを作成する。左脚リンクと右脚リンクの足先が接地している状態から、一方の脚リンクの足先を上昇させ、前方に移動させ、ついで下降させることによって遊脚リンクを一歩すすめて着地させる歩容データを作成する。
【0004】
歩容データが作成されると、その歩容データはロボットに与えられる。ロボットは、歩容データに従って、左足先と右足先の位置を経時的に変化させる。経時的に変化する左足先と右足先の位置を指定する歩容データに従って、左脚リンクと右脚リンクの相対的姿勢を経時的に変化させることによってロボットは歩行する。
【0005】
【発明が解決しようとする課題】ロボットの機械系に撓みがなく、接地足と床との間にすべりが生じなければ、ロボットは歩容データのとおりに歩行し、歩容データ作成者が指定した軌跡に沿って歩行するはずである。
しかしながら、実際にはロボットの機械系に撓みが発生し、あるいは接地足と床との間にすべりが発生するために、実際のロボットの歩行軌跡が歩容データの指定する歩行軌跡からずれてしまうことがある。
ロボットにカメラを搭載しておき、位置が既知のマーカを撮影するようにすると、その撮影結果からカメラ位置を計算することができる。この技術が特許文献1に開示されている。
この技術を利用すると、ロボットの実際位置と教示位置(歩容データが指定する位置を教示位置ということがある)との偏差を計算し、計算された偏差によってその後の教示位置を修正することによって、実際位置と教示位置の偏差がゼロとなるように修正できるはずである。
しかしながら、実際にはうまくいかない。通常、カメラはロボットの頭部に搭載されており、ロボットの歩行中にカメラ位置は常に動く。常に動くものに関してフィードバック制御をしてもフィードバック制御の目的が達せられず、実際位置と教示位置の偏差がゼロとなるように修正しながら歩行させることが難しい。本発明は、常に動く位置ではなく、少なくとも所定の期間に亘って静止する位置を利用して、実際位置と教示位置の偏差がゼロとなるように修正しながら歩行するロボットを実現する。少なくとも所定の期間に亘って静止する位置を利用してフィードバック制御を実行すると、フィードバック制御の安定性が向上し、実際位置と教示位置の偏差がゼロとなるように修正しながら歩行させることが可能となる。
【0006】
【特許文献1】
特開2002―48513号公報
【0007】
【課題を解決するための手段と作用】本発明で創作されたロボットは、足先の位置を指定するデータを記憶している歩容データ記憶手段と、歩容データに基づいて、左脚リンクと腰と右脚リンクで構成される機械系に存在する複数の関節の関節角を計算する関節角群計算手段と、各関節の関節角を前記関節角群計算手段で計算された関節角に調整するアクチュエータと、接地足の位置を検出する装置と、歩容データが指定する接地足があるはずの位置と位置検出装置で検出された接地足の検出位置との偏差を演算する装置と、演算された偏差によってその後の歩容データを修正する装置を備えている。このロボットは、修正された歩容データに基づいて、左脚リンクと腰と右脚リンクの相対的姿勢を変化させて歩行を続ける。
【0008】
このロボットは、教示位置と実際位置の偏差を求めるにあたって、常に変動する頭部ないしカメラ位置を利用せず、接地している間は移動しない接地足の位置を利用する。接地している間は移動しない接地足の位置に関する教示位置と実際位置の偏差を計算するようにすると、接地足の検出位置に関する検出精度が向上するために、教示位置からの偏差が正確に計算でき、その後の修正量を過不足なく計算することができる。
このロボットは、教示位置に対する追従性が高く、歩行軌跡の再現性が高い。また、複数のロボットが同時に歩行する場合に、ロボット間の相対位置関係を維持しながら歩行を続けることを可能とする。
【0009】
接地足の位置を検出する装置は、ロボット頭部に搭載されているカメラと、カメラで撮影されたマーカの画面内位置とロボット姿勢とに基づいて接地足の位置を計算する手段を備えていることが好ましい。
ロボット姿勢を加味することによってカメラ位置から接地足位置を計算するようにすると、計算された接地足位置は、接地期間中は一定値となるはずである。接地期間中に多数回撮影して多数回接地足位置を計算することができる。このときに、平均化処理したり、信用できないデータを処理対象から外したりすることができ、接地足位置の計算結果の信頼性を高める数学的手法を駆使することができる。常に動くために偏差の計算には利用しずらい頭部に搭載されているカメラによって、教示位置と実際位置の偏差を正確に計算することが可能となる。
電波や超音波を利用することによって位置を検出する装置が開発されている。ロボットの活動範囲に飛来する電波をロボットで受信し、受信した電波を分析することによって受信機の位置を検出することができる(人工衛星から発振される電波を受信して位置を検出するGPSと同様の技術が利用できる)。ロボットの活動範囲に向けて超音波を送信し、ロボットで受信した超音波の受信タイミングを分析することによって受信機の位置を検出することができる。あるいは、ロボットに電波レーダや超音波レーダを搭載することによって、レーダの位置を検出することができる。
これらの位置検出装置を足先に設置することができれば、接地足位置を直接に検出することができる。しかしながら、実際には、足先に位置検出装置を設置することは困難であり、胴部や頭部等の脚リンク以外に搭載することになる。ロボットの脚リンク以外に位置検出装置が搭載されている場合には、位置検出装置の検出結果とロボット姿勢とに基づいて接地足の位置を計算する手段を設けることが好ましい。
接地足の足先位置が判明すると、教示位置と実際位置の偏差を正確に計算することができ、その後の補正量を正確に計算することができる。
【0010】
両足が接地している期間に、接地足の位置を計算することが好ましい。両足が接地している期間は、ロボットの機械系が撓みにくく、カメラ位置にロボット姿勢を加味することによって計算される接地足位置の精度が高い。あるいは、位置検出装置の検出結果にロボット姿勢を加味することによって計算される接地足位置の精度が高い。
【0011】
本発明では、ロボット頭部に搭載されているカメラで位置が既知のマーカを撮影する工程と、そのマーカの画面内位置からカメラ位置を計算する工程と、計算されたカメラ位置とロボット姿勢から接地足の位置を計算する工程と、歩幅を指定するデータから計算される接地足位置とカメラ位置から計算される接地足位置の偏差を計算する工程と、計算された偏差に基づいて次の歩幅を指定するデータを修正する工程を実施して歩行ロボットを制御する。
この制御方法によると、歩行ロボットの歩行軌跡の再現性が高められ、複数のロボットが同時に歩行する場合に、ロボット間の相対位置関係を維持しながら歩行を続けることが可能となる。
【0012】
【実施の形態】以下に説明する実施例の主要な特徴を最初に列記する。
(形態1) ロボットの頭部に搭載されているカメラで、位置が既知の4個のマーカを撮影する。4個のマーカは、左側の2個のマーカと右側の2個のマーカで構成され、それぞれの側の2個のマーカは上下に配置されている。マーカ間の左右の間隔と上下の間隔は既知である。
(形態2) 右側の上下2個のマーカ間距離の撮影画面内の距離から右側マーカからの水平距離を計算する。左側の上下2個のマーカ間距離の撮影画面内の距離から左側マーカからの水平距離を計算する。右側マーカからの水平距離と左側マーカからの水平距離によって、カメラの水平面内位置を計算する。
(形態3) オペレータは、歩行するロボットを観測しながら、足先位置を指定するデータを入力する。
(形態4) オペレータが指定した足先位置を指定するデータに基づいて、体幹位置を指定するデータを計算し、指定された足先位置のデータと計算された体幹位置のデータで構成される歩容データをロボットに指令する。ロボットは、オペレータの指定にほぼリアルタイムで追従しながら歩行する。
(形態5) 歩行するロボットを観測しながらオペレータが指定した足先位置のデータと、それから計算された体幹位置のデータで構成される歩容データは記憶装置に記憶される。
(形態6) 記憶された歩容データを用いてロボットが歩行するときには、接地足の教示位置と実際位置の偏差によって、記憶されている歩容データを修正する。
【0013】
【実施例】図12は、左脚リンク147と腰101と右脚リンク117から構成される機械系を備えた2足歩行ロボット2の機械的構成を示す。
左脚リンク147は、左上腿148と左膝関節150と左下腿152と左足首関節158と左足先162を備える。左膝関節150はピッチ軸yの回りの関節角が可変であり、左足首関節158はピッチ軸yの回りの関節角とロール軸xの回りの関節角が可変である。図12では、図示の明瞭化のために、関節角を変えるアクチュエータによって関節が代表されている。例えば参照番号150は、膝関節と膝関節の関節角を変えるアクチュエータに共通的に用いられる。参照番号154は、足首関節158のピッチ軸yの回りの関節角を変えるアクチュエータであり、参照番号156は、足首関節158のロール軸xの回りの関節角を変えるアクチュエータである。左足先162には、左足先162と床との間で作用する力、この場合、ロール軸x方向の力と、ピッチ軸y方向の力と、重力線z方向の力と、ロール軸x回りのモーメントと、ピッチ軸y回りのモーメントと、重力線z回りのモーメントを計測する6軸力センサ160が取り付けられている。
左右の脚リンク117,147は左右対称であり、右脚リンク117は、右上腿118と右膝関節120と右下腿122と右足首関節128と右足先132を備える。右膝関節120はピッチ軸yの回りの関節角が可変であり、右足首関節128はピッチ軸yの回りの関節角とロール軸xの回りの関節角が可変である。右足先132にも、6軸力センサ130が取り付けられている。
腰101は、腰プレート108と腰柱104を備えており、両者の間には腰関節106が設けられている。腰柱104には、腰柱104のピッチ軸yの回りの傾斜角とロール軸x回りの傾斜角と重力線z軸回りの回転角を計測するジャイロ102が固定されている。腰柱104のピッチ軸yの回りの傾斜角とロール軸xの回りの傾斜角は、腰関節106が回転しても影響を受けない。
【0014】
左脚リンク147と腰101は、左股関節146で接続されている。左股関節146は、重力線z軸の回りの関節角を変えるアクチュエータ140と、ピッチ軸yの回りの関節角を変えるアクチュエータ142と、ロール軸xの回りの関節角を変えるアクチュエータ144を備えている。右脚リンク117と腰101は、右股関節116で接続されている。右股関節116は、重力線z軸の回りの関節角を変えるアクチュエータ110と、ピッチ軸yの回りの関節角を変えるアクチュエータ112と、ロール軸xの回りの関節角を変えるアクチュエータ114を備えている。
【0015】
図12の機械系を利用して歩行する場合、結果として歩行した結果が得られるように、左脚リンク147と腰101と右脚リンク117の相対的姿勢を変化させなければならない。
このために、左足先と腰と右足先の位置と姿勢を指定する歩容データが利用される。図1に示すように、歩容データは、ロボットが活動する空間の座標を定めるグローバル座標系において、左足先と腰と右足先の位置と姿勢を指定する。左足先と腰と右足先の位置を指定するために、左足先162には基準点10が定められており、右足先132には基準点12が定められており、腰101には基準点8が定められている。左足先と腰と右足先の姿勢を指定するために、左足先162に垂直なベクトルLが想定されており、右足先132に垂直なベクトルRが想定されており、腰柱4に沿って伸びるベクトルWが想定されている。
左足先162のベクトルLは常時垂直であっても良いし、足先の移動に追従して角度を変えてもよい。右足先132のベクトルRも、同様に、常時垂直であっても良いし、足先の移動に追従して角度を変えてもよい。腰101のベクトルWは、歩行速度に追従して前傾角を変えてもよいし、一定の角度を維持するようにしてもよい。
【0016】
図6に示すように、歩行するロボットを観測しながら、オペレータが次の歩幅や歩行速度を指定するために用いるジョイスティック40が用意されている。オペレータは、ジョイスティック40を利用して、左足先位置を指定するデータと、右足先位置を指定するデータと、歩速を指定するデータを入力する。
【0017】
図1は、オペレータが入力した左足先位置と右足先位置の軌道例を例示しており、ロボット2は、左足を軌跡14に沿って移動させて接地させ、ついで右足を軌跡16に沿って移動させて接地させる。以後同様に、左足を軌跡18に沿って移動させ、右足を軌跡20に沿って移動させ、左足を軌跡22に沿って移動させ、右足を軌跡24に沿って移動させる。
各歩幅はオペレータによって指定される。例えば、右足軌跡24では、x軸方向に24xだけ進め、y方向に24yだけ進めて着地させることが指定される。
【0018】
ロボット2の頭部6にはビデオカメラ4が搭載されている。ビデオカメラ4は、ロボット2が歩行する領域の外側に設置されているマーカ26,28,30,32を撮影する。
4個のマーカは、左側の2個のマーカ26,28と右側の2個のマーカ30,32で構成され、各側の2個のマーカは上下に配置されている。マーカ間の左右の間隔(2B)と上下の間隔(A)は既知である。また、4個のマーカの位置は既知であり、ここでは、左右のマーカの中間位置のx座標とy座標が(0,0)にとられている。上下のマーカの中間高さはカメラ4の高さにほぼ等しい。
【0019】
図3に示すように、ビデオカメラ4が4個のマーカ26,28,30,32を撮影することによって、カメラ4の位置を計算することができる。
図4は、ビデオカメラ4の撮影画面の映像を示している。添え字gは、マーカの像であることを示している。
ビデオカメラ4はCCDカメラであり、撮影画面内の画素の座標を知ることができる。図4に示される式のX、Yは、撮影画面内の画素の座標を示している。例えば、X26はマーカ26の像26gの撮影画面内のX座標を示している。マーカ26の像26gとマーカ28の像28gの撮影画面内の距離は(1)式で示され、マーカ30の像30gとマーカ32の像32gの撮影画面内の距離は(2)式で示される。
【0020】
ビデオカメラ4のズーム率は既知であり、左側の上下2個のマーカ間の距離は既知であることから、(1)式で計算される左側の上下2個のマーカ間の撮影画面内の距離から、左側の上下2個のマーカの中間点からビデオカメラ4までの距離Eを計算することができる。同様に、右側の上下2個のマーカの中間点からビデオカメラ4までの距離Fを計算することができる。
図5の(3)式と(4)式がそれを示し、αはズーム率から計算される係数である。ビデオカメラのレンズにひずみがあって、撮影画面内の位置によってズーム率が異なる場合には、撮影位置によって係数αを変えるルックアップテーブルを用意しておくことが好ましい。
【0021】
図5のx−y座標系において、原点からy方向に±Bだけ離れた点からの距離E,Fが計算されれば、カメラ4の位置Pの座標(Px,Py)を計算することができる。図5の(5)(6)式がそれを示している。
このようにして、図1に示すロボット2は、カメラ4の位置(Px,Py)を計算することができる。
カメラ4の位置が計算されると、それにロボット2の姿勢を加味することによって、接地足の位置を計算することができる。
【0022】
この実施例では、カメラ4の向いている方向をも知ることができる。図4に示すように、左側の2個のマーカ26,28の像のX方向の平均画素位置をH、右側の2個のマーカ30,32の像のX方向の平均画素位置をK、HとKの平均値をJとする。また、カメラ視野の中心位置のX方向の画素位置をLとする。さらに、図5に示すように、カメラ視野の中心線がy軸と交差する点のy座標をSとする。すると、図5の(7)式が成立し、Sの値を計算することができる。Sの値が計算できれば、(8)式から、カメラ視野の中心線とx軸がなす角θを計算することができる。
【0023】
図2は、ステップ20の後の右足の位置を示している。20cは、オペレータが教示した位置である。それに対して20dは、カメラ4の位置にロボット2の姿勢を加味することによって計算された右足の位置であり、教示位置からΔxとΔyだけずれている。この場合、次のステップ24のために教示されているx方向の歩幅24xをΔxだけ長くし、y方向の歩幅24yをΔyだけ短くすれば、ステップ24の後の右足の位置は教示された位置24cに修正されることがわかる。本実施例のロボットは、上記のようにして、教示位置と実際位置の偏差がゼロとなるようにそれ以降の歩幅のデータを修正して歩行する。教示された歩行軌跡に対する追従性が高い。
【0024】
図6は、ロボット2の制御ブロック図を示す。前記したジョイスティック40が用意されている。ジョイスティック40はオペレータが、図1に例示した足先軌道14,16,18,20,22,24を指定するために利用され、ロボット2の外部におかれている。オペレータは、歩速を指定するデータを入力することもできる。
ジョイスティック40からは、左足先の位置を指定するデータ、右足先の位置を指定するデータ、歩速を指定するデータが入力される。後記するように、オペレータは、歩行するロボット2を観測しながら、次の歩幅や歩速を指定する。オペレータが指定する左足先の位置を指定するデータと、右足先の位置を指定するデータと、歩速を指定するデータは逐次に変化し、逐次に入力される。
【0025】
オペレータが指定した、左足先の位置を指定するデータと右足先の位置を指定するデータは、目標ZMP位置計算手段42に入力される。ZMP位置は、床からロボットに作用する反力によるモーメントがゼロになる点を言い、ロボットの体幹位置と足先位置とその変化速度がわかれば、計算することができる。ロボットの挙動が動的であって慣性の影響を受けることから、ZMP位置は体幹位置等の変化速度に異存する。ZMP位置が接地足の足平内にあれば、ロボットは転倒しない。ZMP位置が接地足の足平外にでると、ロボットは転倒する。そこで、ZMP位置が、片足接地中は接地足の足平内にあり、両脚接地状態の間に、新たに接地して次に片足接地足となる足の足平内に向けて移動することが重要である。目標ZMP位置計算手段42は、左右の足先の位置を示すデータから、ZMPがそう変化すればロボット2が転倒しないはずのZMP位置を計算する。これを目標ZMPという。目標ZMPは、左右の足先位置が経時的に変動するのに追従して経時的に変動する。
【0026】
目標ZMP位置計算手段42で計算された目標ZMPと、ジョイスティック40から入力された左右の足先の位置を示すデータと、ジョイスティック40から入力された歩速を示すデータは、体幹位置計算手段44に入力される。前記したように、ロボットの体幹位置を仮定すれば、足先位置はすでに指定されていることから、そのときに得られるZMP位置が計算される。このようにして計算されるZMP位置が目標ZMPに一致していれば、ロボット2は転倒しない。そこで、体幹位置計算手段44は、体幹位置を未知数とし、目標ZMPをもたらす体幹位置を計算して算出する。このようにして算出された体幹位置と、左右の足先の位置を示すデータに従って、ロボット2が姿勢をかえると、ZMPが目標ZMPに一致し、ロボットは転倒することなく歩行することができる。
【0027】
経時的に変化する左右の足先位置を示すデータと体幹位置を示すデータは、歩容データと呼ばれる。このデータは、歩容データ記憶手段46に記憶される。
オペレータが歩行軌跡と歩速を指定し終えると歩容データは完成し、完成した歩容データが歩容データ記憶手段46に記憶される。歩容データ記憶手段46に歩容データが記憶されると、それ以降には、歩容データ記憶手段46に記憶された歩容データを利用してロボット2を歩行させることができる。この場合には、歩容データ修正手段48が利用される。
オペレータが歩行するロボットを観測しながら歩容データを指定する段階では、歩容データ修正手段48が作動せず、歩容データ記憶手段46に記憶される歩容データがそのままロボット2に指令される。
【0028】
ロボット2は関節角群計算手段58を備えている。関節角群計算装置58は、歩容データで指定される左右の足先位置と体幹位置を実現する関節角群を計算する。関節角群計算装置58は、いわゆる逆キネマティクスを解いて関節角群を計算する。関節角群計算装置58は、ロボットの歩行動作に対してリアルタイムで関節角群を計算する。関節角群計算装置58は、物理的にはロボット2の外部にあってもよく、計算された関節角群を無線または有線でロボット2に送信して指定するものであってもよい。
ロボット2は、関節を回転させるアクチュエータを駆動する手段60を備え、各関節回転角を、関節角群計算装置58によって計算された関節角に調整する。
【0029】
ロボット2は、マーク26,28,30,32を撮影するビデオカメラ4を備えており、図5の(5)(6)式からカメラ位置を計算する手段52を備え、さらに、カメラ位置にロボット姿勢を加味して接地足の位置を計算する手段54を備えている。歩容データ記憶手段46に記憶されている歩容データは、体幹の位置に対する足先位置のデータを記憶している。また体幹の姿勢から体幹の位置に対する頭部の位置を計算することができる。従って、歩容データから、カメラ4の位置に対する足先の相対位置を計算することができる。接地足の位置計算手段54は、カメラ位置計算手段52で計算されたカメラ位置と、歩容データ記憶手段46に記憶されたロボットの姿勢(実際にはカメラ4に対する足先の相対位置を示すデータを用いる)から、接地足の位置を計算する。
ロボット2が、カメラ4に代えて、位置検出装置を搭載していてもよい。位置検出装置の種類には限定がなく、受信した電波や超音波を分析することによって受信機の位置を検出するタイプや、電波レーダや超音波レーダを利用して位置を検出するタイプが利用できる。
これらの位置検出装置をロボット2の足先に設置することができれば、接地足位置を直接に検出することができる。しかしながら、実際には、足先に位置検出装置を設置することは困難であり、脚リンク以外の胴部101や頭部6等に搭載することになる。ロボットの脚リンク以外に位置検出装置が搭載されている場合には、位置検出装置の検出結果とロボット姿勢とに基づいて接地足の位置を計算する手段を設けることによって接地足の位置を計算する。
【0030】
ロボット2は、歩容データ記憶手段46に記憶されている歩容データによって指定される接地足の足先位置(図2の20c)と、接地足の位置計算手段54で計算された接地足の位置(図2の20d)の偏差(Δx、Δy)を計算する手段56を備えている。
偏差計算する手段56で計算された偏差(Δx、Δy)は、歩容データ修正手段48に送られ、その後の歩容データの修正に用いられる。
【0031】
図7は、歩行するロボット2を観測しながらオペレータが指定する足先位置から歩容データを作成し、作成された歩容データを歩容データ記憶手段46に記憶するとともにロボット2に指示してロボット2をリアルタイムで歩行させるときに実行される処理手順を示す。歩容データ記憶手段46に記憶された歩容データは、その後の歩行に利用される。
ステップS1では、オペレータが教示操作を開始するときのロボット2の左足先位置と右足先位置を検出して記憶する。この処理では、マーク撮影カメラ4と、カメラ位置計算手段52と、接地足先位置計算手段54が利用され、教示操作開始時の左足先位置と右足先位置を検出して記憶する。ロボット2は既知の姿勢で静止している。
【0032】
ステップS2では、歩数tを1に初期化する。ここでは、左右の足ごとに歩数がカウントされ、左足1歩目、右足1歩目、左足2歩目、右足2歩目とカウントする。
この実施例ではロボット2が左足から歩行を始める。オペレータは、左足1歩目のx方向の歩幅Lxt(最初はt=1)とY方向の歩幅Lytと歩速を指定するので、指定された値を入力して歩容データ記憶手段46に記憶する(ステップS4)。
ステップS6では、左足t歩目の間の目標ZMPを計算し、計算された目標ZMPを体幹位置計算手段44に送る。ステップS8では、体幹位置計算手段44が左足t歩目のための体幹位置を計算して歩容データ記憶手段46に記憶する。
ステップS12では、右足t歩目のx方向の歩幅RxtとY方向の歩幅Rytと歩速を指定するので、指定された値を入力して歩容データ記憶手段46に記憶する。ステップS14では、右足t歩目の間の目標ZMPを計算し、計算された目標ZMPを体幹位置計算手段44に送る。ステップS16では、体幹位置計算手段44が右足t歩目のための体幹位置を計算して歩容データ記憶手段46に記憶する。
以上の処理を歩を進めながら(ステップS20)、オペレータが歩行終了を指令するまで繰返す。
【0033】
図8は、リアルタイムで教示するときの全体処理を示し、ステップS22でリアルタイムで教示される歩容データを歩容データ記憶手段46に記憶する。その詳細は図7に示されている。リアルタイムで教示するときには、歩容データが計算されて歩容データ記憶手段46に累積して記憶されるのと同時にロボット2に指令される。ロボット2は指令された歩容データに従って動作し、指令されたように歩行する。そこで、オペレータは歩行するロボット2を観測しながら、それ以降の歩容データを指定していくことができる。歩行するロボット2を観測しながら、それ以降の歩容データを指定していくことを、リアルタイムで教示するという。
【0034】
図10は、歩容データが指令されたロボット2が実行する処理を示す。ステップS36で歩容データを読出し、読みだされた足先位置と体幹位置を実現する関節角群を計算し(ステップS38)、アクチュエータを制御して計算された関節角に一致させる(ステップS40)。それを全ての歩容データが読みだされるまで繰返す。
【0035】
図9は、リアルタイムで教示された歩容データを歩容データ記憶手段46に記憶しておき、後刻にそれを読みだしてロボット2を歩行させるときの処理手順を示す。
ステップS28では、歩容データ記憶手段46から歩容データを読みだす。最初の一歩目については、ステップS30から34による修正処理が実行されず、ロボットは読みだされた歩容データに従って歩行する(ステップS26)。
2歩目移行の歩容データを読みだすと(ステップS28)、マーク撮影カメラ4とカメラ位置計算手段52を利用してカメラ位置を計算する(ステップS30)。さらにロボットの姿勢を加味して接地足先位置計算手段54が接地足の位置を計算する(ステップS32)。接地足の教示位置と検出された接地足の位置の偏差によって歩容データが修正され(ステップS34)、修正された歩容データがロボットに指令される(ステップS26)。ロボット2は、図10の処理を実行し、修正された歩容データに従って歩行する。
【0036】
図11は、歩容データ修正処理の詳細を示している。図9のステップS34の詳細に相当する。図11の処理は、t歩まで歩行してt+1歩目を歩行する間に実行される。
ステップS44では、歩行開始時の左足座標Lx0,Ly0と右足座標Rx0,Ry0と、t歩目までの歩容データから、接地足が現在いるはずの座標(教示上の位置)の位置を計算する。教示上の左足座標をLxt,Lytとし、教示上の右足座標Rxt,Rytとすると、これらは、ステップS44に記載の式で計算することができる。
ステップS46では、マーク撮影カメラ4とカメラ位置計算手段52を利用してカメラ位置を計算する。その詳細は、図3〜5を参照して説明した。ステップS48では、歩容データからロボットの姿勢を計算する。ステップS50では、ステップS46で計算されたカメラ位置に、ステップS48で計算されたロボット姿勢を加味して、接地足の位置を計算する。この計算には、接地足位置計算手段54が利用される。
接地足位置計算手段54で接地足の位置を計算する場合、ロボットの両足が接地している状態で接地足の位置が計算される。ロボットの両足が接地していると、ロボットに生じる撓みが少なく、歩容データが指定するロボット姿勢と実際姿勢が良く一致する。このために、カメラ位置にロボット姿勢を加味して接地足の位置を計算するにあたって、接地足位置を精度よく計算することができる。
両足接地期間中にビデオカメラ4はマーカ群を多数回撮影する。このために、多数回に亘って、接地足位置を計算することができる。この間において、接地足位置は不動であるとすることができる。そこで大きく相違する信用できないデータを処理対象から外した上で平均化処理することができ、このようにして計算された接地足位置は正確であるといえる。信用できるデータのみを平均化処理して計算された接地足の左足座標をLxu,Lyuとし、右足座標をRxu,Ryuとすると、これらは接地足の左足座標と右足座標を正確に示している。
ステップS52では、教示上の左足座標Lxt,Lytと右足座標Rxt,Rytと、検出された左足座標をLxu,Lyuと右足座標をRxu,Ryuの偏差ΔLx,ΔLy,ΔRx,ΔRyを計算する。
以上によって、t歩目を終了したときの教示上の足先位置と実際の足先位置の偏差ΔLx,ΔLy,ΔRx,ΔRyが計算される。
ステップS54では、計算された偏差を利用してt+1歩目の歩幅データを修正する。ステップS54の右項に示すLxt+1,Lyt+1,Rxt+1,Ryt+1は、修正前のt+1歩目の教示された歩幅データを示す。これから偏差ΔLx,ΔLy,ΔRx,ΔRyを減じることによって、修正後の歩幅Lxt+1,Lyt+1,Rxt+1,Ryt+1を計算する。修正された歩幅データに従ってt+1歩目を進めると、図2を参照して説明したように、t+1歩目を終了したときの接地足の足先位置は、教示された位置に復帰する。
【0037】
以上に説明した実施例は例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また本明細書または図面に説明した技術要素は、単独であるいは各種の組合わせによって技術的有用性を発揮するものであり、出願時の請求項記載の組合わせに限定されるものではない。
【0038】
【発明の効果】
本発明によると、ロボットが教示された軌跡に忠実に従って歩行することができる。繰返して同一軌跡を歩行する場合には歩行軌跡の再現性が高い。また、複数のロボットが同時に歩行する場合には、ロボット間の相対位置関係を維持しながら歩行を続けることを可能とする。
【図面の簡単な説明】
【図1】ロボットに教示する足先軌跡とロボットが位置の検出に用いるマーカを示す図。
【図2】教示上の足先位置と実際の足先位置と、その差を無くすのに必要な歩幅の修正量の関係を示す図。
【図3】マーカからロボット位置を計算する過程を説明する図。
【図4】撮影されたマーカからロボットまでの距離を計算する過程と式を説明する図。
【図5】撮影されたマーカからロボットの位置を計算する過程と式を説明する図。
【図6】ロボット2の制御ブロック図。
【図7】オペレータがリアルタイムで足先位置を指定し、ロボットが指定されたデータに従って歩行するときの処理手順図を示す。
【図8】オペレータがリアルタイムで足先位置を指定し、ロボットが指定されたデータに従って歩行するときの全体処理手順図を示す。
【図9】ロボットが予め記憶されている歩容データに従って歩行するときの処理手順図を示す。
【図10】歩容データに従って歩行するロボットが実行する処理手順を示す。
【図11】歩容データを修正する処理の詳細処理手順を示す。
【図12】ロボット2の機械構成を示す。
【符号の説明】
2:ロボット
4:マーカ撮影用ビデオカメラ
40:ジョイスティック
42:目標ZMP位置計算手段
44:体幹位置計算手段
46:歩容データ記憶手段
48:歩容データ修正手段
52:カメラ位置計算手段
54:接地足先位置計算手段
56:偏差計算手段
[0001]
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention comprises a mechanical system comprising a left leg link, a waist and a right leg link, and a left leg link and a right leg link utilizing a plurality of joints existing in the mechanical system. The present invention relates to a control technology for a robot that walks by changing the relative posture of the robot.
[0002]
2. Description of the Related Art Robots have been developed that walk by changing the relative postures of the left leg link, the waist, and the right leg link. Usually, the waist and left upper thigh are connected by the left hip joint, the left upper thigh and the left lower thigh are connected by the left knee joint, the left lower thigh and the left toe are connected by the left ankle joint, and the waist and the right upper thigh are connected by the right hip joint. The right upper leg and the right lower leg are connected by the right knee joint, and the right lower leg and the right foot are connected by the right ankle joint. The mechanical system composed of the left leg link, the waist, and the right leg link has multiple joints. By using these joints, the relative posture of the left leg link, the waist, and the right leg link is changed. be able to.
[0003]
When the relative postures of the left leg link, the waist, and the right leg link are changed, the relative postures of the left leg link, the waist, and the right leg link must be changed so that a result of walking is obtained as a result.
For this purpose, gait data that specifies the positions of the left and right foot tips is used. The gait data stores data specifying the positions of the left and right foot tips over time.
In the gait data creation stage, gait data is created assuming changes in the relative posture of the left leg link and the right leg link. A gait where the foot of the left leg link and the right leg link are in contact with the ground, and the foot of one leg link is raised, moved forward, and then lowered to move the free leg link one step further and land. Create data.
[0004]
When the gait data is created, the gait data is given to the robot. The robot changes the positions of the left and right toes over time according to the gait data. The robot walks by changing the relative postures of the left leg link and the right leg link over time according to gait data that specifies the positions of the left and right toes that change over time.
[0005]
If there is no deflection in the robot's mechanical system and no slip occurs between the grounding foot and the floor, the robot walks according to the gait data and is specified by the gait data creator. Should walk along the trajectory.
However, in reality, the robot's mechanical system may bend or slip between the grounding foot and the floor, so the actual robot's walking trajectory will deviate from the walking trajectory specified by the gait data. Sometimes.
If a camera is mounted on the robot and a marker whose position is known is photographed, the camera position can be calculated from the photographing result. This technique is disclosed in Patent Document 1.
Using this technology, the deviation between the actual position of the robot and the teaching position (the position specified by the gait data may be called the teaching position) is calculated, and the subsequent teaching position is corrected by the calculated deviation. It should be possible to correct the deviation between the actual position and the teaching position to be zero.
However, it doesn't really work. Usually, the camera is mounted on the head of the robot, and the camera position always moves while the robot is walking. Even if feedback control is performed on a constantly moving object, the purpose of the feedback control is not achieved, and it is difficult to walk while correcting so that the deviation between the actual position and the teaching position becomes zero. The present invention realizes a robot that walks while correcting so that the deviation between the actual position and the teaching position is zero, using a position that is stationary at least for a predetermined period, not a position that always moves. When feedback control is executed using a position that is stationary for at least a predetermined period, the stability of the feedback control is improved, and it is possible to walk while correcting so that the deviation between the actual position and the teaching position is zero. It becomes.
[0006]
[Patent Document 1]
JP 2002-48513 A
[0007]
The robot created by the present invention includes a gait data storage means for storing data for designating the position of the toes, and a left leg link based on the gait data. A joint angle group calculating means for calculating a joint angle of a plurality of joints existing in a mechanical system composed of a waist, a right leg link, and a joint angle calculated by the joint angle group calculating means. An actuator for adjusting, a device for detecting the position of the grounding foot, a device for calculating a deviation between the position where the grounding foot specified by the gait data should be and the detection position of the grounding foot detected by the position detection device, A device for correcting subsequent gait data based on the calculated deviation is provided. The robot continues walking by changing the relative postures of the left leg link, the waist, and the right leg link based on the corrected gait data.
[0008]
This robot does not use the head or camera position that constantly fluctuates, and uses the position of the grounding foot that does not move while touching the ground, when obtaining the deviation between the teaching position and the actual position. When the deviation between the teaching position and the actual position that does not move while touching the ground is calculated, the detection accuracy related to the detection position of the grounding foot improves, so the deviation from the teaching position is accurately calculated. The subsequent correction amount can be calculated without excess or deficiency.
This robot has high followability to the teaching position and high reproducibility of the walking trajectory. Further, when a plurality of robots walk at the same time, it is possible to continue walking while maintaining the relative positional relationship between the robots.
[0009]
The apparatus for detecting the position of the grounding foot includes a camera mounted on the robot head, and means for calculating the position of the grounding foot based on the on-screen position of the marker photographed by the camera and the robot posture. It is preferable.
When the grounding foot position is calculated from the camera position by taking the robot posture into consideration, the calculated grounding foot position should be a constant value during the grounding period. It is possible to calculate the position of the ground contact foot many times during the ground contact period. At this time, averaging processing or unreliable data can be excluded from the processing target, and a mathematical method for improving the reliability of the calculation result of the contact foot position can be used. The deviation between the teaching position and the actual position can be accurately calculated by the camera mounted on the head that is difficult to use for calculating the deviation because it always moves.
An apparatus for detecting a position by using radio waves or ultrasonic waves has been developed. The position of the receiver can be detected by receiving radio waves flying into the robot's activity range and analyzing the received radio waves (GPS that detects the position by receiving radio waves oscillated from artificial satellites) Similar technology is available). The position of the receiver can be detected by transmitting an ultrasonic wave toward the range of activity of the robot and analyzing the reception timing of the ultrasonic wave received by the robot. Alternatively, the position of the radar can be detected by mounting a radio wave radar or an ultrasonic radar on the robot.
If these position detection devices can be installed on the toes, the position of the grounding foot can be directly detected. However, in practice, it is difficult to install the position detection device at the tip of the foot, and it is mounted other than the leg links such as the trunk and the head. When a position detection device is mounted in addition to the leg link of the robot, it is preferable to provide means for calculating the position of the grounding foot based on the detection result of the position detection device and the robot posture.
When the toe position of the grounding foot is determined, the deviation between the teaching position and the actual position can be accurately calculated, and the subsequent correction amount can be accurately calculated.
[0010]
It is preferable to calculate the position of the grounded foot while both feet are grounded. During the period when both feet are in contact with the ground, the mechanical system of the robot is difficult to bend, and the accuracy of the position of the grounded foot calculated by adding the robot posture to the camera position is high. Alternatively, the accuracy of the position of the ground contact foot calculated by adding the robot posture to the detection result of the position detection device is high.
[0011]
In the present invention, a step of photographing a marker whose position is known by a camera mounted on the robot head, a step of calculating a camera position from the position of the marker in the screen, and a grounding operation from the calculated camera position and robot posture The step of calculating the position of the foot, the step of calculating the deviation of the grounded foot position calculated from the data specifying the stride and the position of the grounded foot calculated from the camera position, and the next step based on the calculated deviation A walking robot is controlled by performing a process of correcting specified data.
According to this control method, the reproducibility of the walking trajectory of the walking robot is enhanced, and when a plurality of robots walk at the same time, it is possible to continue walking while maintaining the relative positional relationship between the robots.
[0012]
DESCRIPTION OF THE PREFERRED EMBODIMENTS The main features of the embodiments described below will be listed first.
(Mode 1) With a camera mounted on the robot head, four markers whose positions are known are photographed. The four markers are composed of two markers on the left side and two markers on the right side, and the two markers on each side are arranged up and down. The left and right intervals and the vertical intervals between markers are known.
(Mode 2) The horizontal distance from the right marker is calculated from the distance in the imaging screen of the distance between the upper and lower two markers on the right side. The horizontal distance from the left marker is calculated from the distance in the imaging screen of the distance between the upper and lower two markers on the left side. The horizontal position of the camera is calculated from the horizontal distance from the right marker and the horizontal distance from the left marker.
(Mode 3) The operator inputs data for designating the foot position while observing the walking robot.
(Mode 4) Based on the data for designating the toe position designated by the operator, data for designating the torso position is calculated, and is composed of the data for the designated toe position and the data for the calculated torso position. Command the gait data to the robot. The robot walks following the operator's specification in near real time.
(Mode 5) Gait data composed of foot position data designated by the operator while observing a walking robot and trunk position data calculated therefrom is stored in a storage device.
(Mode 6) When the robot walks using the stored gait data, the stored gait data is corrected based on the deviation between the teaching position of the contact foot and the actual position.
[0013]
FIG. 12 shows a mechanical structure of a biped robot 2 having a mechanical system composed of a left leg link 147, a waist 101 and a right leg link 117. As shown in FIG.
The left leg link 147 includes a left upper leg 148, a left knee joint 150, a left lower leg 152, a left ankle joint 158, and a left foot tip 162. The left knee joint 150 has a variable joint angle around the pitch axis y, and the left ankle joint 158 has a variable joint angle around the pitch axis y and a joint angle around the roll axis x. In FIG. 12, the joint is represented by an actuator that changes the joint angle for the sake of clarity. For example, reference numeral 150 is commonly used for actuators that change the joint angles of the knee joint. Reference numeral 154 is an actuator that changes the joint angle of the ankle joint 158 around the pitch axis y, and reference numeral 156 is an actuator that changes the joint angle of the ankle joint 158 around the roll axis x. The left toe 162 has a force acting between the left toe 162 and the floor, in this case, a force in the roll axis x direction, a force in the pitch axis y direction, a force in the gravity line z direction, and the roll axis x. , A six-axis force sensor 160 for measuring a moment about the pitch axis y and a moment about the gravity line z is attached.
The left and right leg links 117 and 147 are symmetrical, and the right leg link 117 includes an upper right thigh 118, a right knee joint 120, a right lower thigh 122, a right ankle joint 128, and a right foot tip 132. The right knee joint 120 has a variable joint angle around the pitch axis y, and the right ankle joint 128 has a variable joint angle around the pitch axis y and a joint angle around the roll axis x. A six-axis force sensor 130 is also attached to the right foot tip 132.
The waist 101 includes a waist plate 108 and a waist pillar 104, and a waist joint 106 is provided between them. A gyroscope 102 is fixed to the lumbar column 104 to measure the tilt angle of the lumbar column 104 about the pitch axis y, the tilt angle about the roll axis x, and the rotation angle about the gravity line z-axis. The inclination angle of the lumbar column 104 around the pitch axis y and the inclination angle around the roll axis x are not affected even when the hip joint 106 rotates.
[0014]
The left leg link 147 and the waist 101 are connected by a left hip joint 146. The left hip joint 146 includes an actuator 140 that changes the joint angle around the gravity line z-axis, an actuator 142 that changes the joint angle around the pitch axis y, and an actuator 144 that changes the joint angle around the roll axis x. . The right leg link 117 and the waist 101 are connected by a right hip joint 116. The right hip joint 116 includes an actuator 110 that changes the joint angle around the gravity line z-axis, an actuator 112 that changes the joint angle around the pitch axis y, and an actuator 114 that changes the joint angle around the roll axis x. .
[0015]
When walking using the mechanical system of FIG. 12, the relative postures of the left leg link 147, the waist 101, and the right leg link 117 must be changed so that the result of walking is obtained.
For this purpose, gait data that specifies the positions and postures of the left toe, waist and right toe is used. As shown in FIG. 1, the gait data designates the positions and postures of the left toe, waist, and right foot in a global coordinate system that defines the coordinates of the space in which the robot is active. In order to specify the positions of the left foot tip, the waist, and the right foot tip, a reference point 10 is set on the left foot tip 162, a reference point 12 is set on the right foot tip 132, and a reference point 8 is set on the waist 101. Is stipulated. In order to specify the postures of the left toe, waist and right toe, a vector L perpendicular to the left toe 162 is assumed, and a vector R perpendicular to the right toe 132 is assumed and extends along the waist column 4. A vector W is assumed.
The vector L of the left toe 162 may be always vertical, or the angle may be changed following the movement of the toe. Similarly, the vector R of the right foot tip 132 may be always vertical, or the angle may be changed following the movement of the foot tip. The vector W of the waist 101 may change the forward tilt angle following the walking speed, or may maintain a constant angle.
[0016]
As shown in FIG. 6, a joystick 40 is prepared for an operator to specify the next stride and walking speed while observing a walking robot. The operator uses the joystick 40 to input data specifying the left foot tip position, data specifying the right foot tip position, and data specifying the walking speed.
[0017]
FIG. 1 exemplifies the trajectory of the left foot position and the right foot position input by the operator. The robot 2 moves the left foot along the trajectory 14 to ground, and then moves the right foot along the trajectory 16. To ground. Thereafter, similarly, the left foot is moved along the locus 18, the right foot is moved along the locus 20, the left foot is moved along the locus 22, and the right foot is moved along the locus 24.
Each stride is specified by the operator. For example, the right foot locus 24 is designated to advance by 24x in the x-axis direction and advance by 24y in the y-direction.
[0018]
A video camera 4 is mounted on the head 6 of the robot 2. The video camera 4 photographs the markers 26, 28, 30, and 32 installed outside the area where the robot 2 walks.
The four markers are composed of two markers 26 and 28 on the left side and two markers 30 and 32 on the right side, and the two markers on each side are arranged vertically. The left and right intervals (2B) between the markers and the upper and lower intervals (A) are known. Further, the positions of the four markers are known, and here, the x coordinate and y coordinate of the intermediate position between the left and right markers are (0, 0). The intermediate height between the upper and lower markers is approximately equal to the height of the camera 4.
[0019]
As shown in FIG. 3, the position of the camera 4 can be calculated when the video camera 4 captures four markers 26, 28, 30, and 32.
FIG. 4 shows an image on the shooting screen of the video camera 4. The subscript g indicates a marker image.
The video camera 4 is a CCD camera and can know the coordinates of the pixels in the shooting screen. X and Y in the expression shown in FIG. 4 indicate the coordinates of the pixels in the shooting screen. For example, X26 indicates the X coordinate in the shooting screen of the image 26g of the marker 26. The distance in the shooting screen of the image 26g of the marker 26 and the image 28g of the marker 28 is shown by the equation (1), and the distance in the shooting screen of the image 30g of the marker 30 and the image 32g of the marker 32 is shown by the equation (2). It is.
[0020]
Since the zoom rate of the video camera 4 is known and the distance between the upper and lower two markers on the left side is known, the distance in the shooting screen between the upper and lower two markers on the left calculated by the equation (1) Thus, the distance E from the midpoint between the two upper and lower markers on the left side to the video camera 4 can be calculated. Similarly, the distance F from the middle point between the upper and lower two markers on the right side to the video camera 4 can be calculated.
The equations (3) and (4) in FIG. 5 show this, and α is a coefficient calculated from the zoom rate. When the lens of the video camera is distorted and the zoom rate differs depending on the position in the shooting screen, it is preferable to prepare a lookup table that changes the coefficient α depending on the shooting position.
[0021]
In the xy coordinate system of FIG. 5, if distances E and F from a point separated by ± B in the y direction from the origin are calculated, the coordinates (Px, Py) of the position P of the camera 4 can be calculated. it can. This is shown in equations (5) and (6) in FIG.
In this way, the robot 2 shown in FIG. 1 can calculate the position (Px, Py) of the camera 4.
When the position of the camera 4 is calculated, the position of the grounding foot can be calculated by adding the posture of the robot 2 to it.
[0022]
In this embodiment, the direction in which the camera 4 is facing can also be known. As shown in FIG. 4, the average pixel position in the X direction of the images of the two markers 26 and 28 on the left side is H, and the average pixel position in the X direction of the images of the two markers 30 and 32 on the right side is K and H And the average value of K is J. Also, let the pixel position in the X direction of the center position of the camera field of view be L. Further, as shown in FIG. 5, let S be the y coordinate of the point where the center line of the camera field of view intersects the y axis. Then, equation (7) in FIG. 5 is established, and the value of S can be calculated. If the value of S can be calculated, the angle θ formed by the center line of the camera field of view and the x axis can be calculated from equation (8).
[0023]
FIG. 2 shows the position of the right foot after step 20. Reference numeral 20c denotes a position taught by the operator. On the other hand, 20d is the position of the right foot calculated by adding the posture of the robot 2 to the position of the camera 4, and is deviated from the teaching position by Δx and Δy. In this case, if the step 24x in the x direction taught for the next step 24 is lengthened by Δx and the step 24y in the y direction is shortened by Δy, the position of the right foot after step 24 is the taught position. It can be seen that it is corrected to 24c. As described above, the robot according to the present embodiment walks by correcting the subsequent stride data so that the deviation between the teaching position and the actual position becomes zero. The followability to the taught walking locus is high.
[0024]
FIG. 6 shows a control block diagram of the robot 2. The joystick 40 described above is prepared. The joystick 40 is used by an operator to designate the foottip trajectories 14, 16, 18, 20, 22, 24 illustrated in FIG. 1, and is placed outside the robot 2. The operator can also input data specifying the walking speed.
From the joystick 40, data specifying the position of the left foot tip, data specifying the position of the right foot tip, and data specifying the walking speed are input. As will be described later, the operator designates the next stride and the walking speed while observing the walking robot 2. Data for designating the position of the left foottip designated by the operator, data for designating the position of the right foottip, and data for designating the walking speed change sequentially and are inputted sequentially.
[0025]
Data specifying the position of the left foot and the data specifying the position of the right foot specified by the operator are input to the target ZMP position calculation means 42. The ZMP position refers to a point at which the moment due to the reaction force acting on the robot from the floor becomes zero, and can be calculated if the trunk position, the toe position, and the changing speed of the robot are known. Since the behavior of the robot is dynamic and influenced by inertia, the ZMP position depends on the changing speed of the trunk position and the like. If the ZMP position is within the foot of the grounding foot, the robot will not fall. If the ZMP position is outside the foot of the grounded foot, the robot falls. Therefore, it is important that the ZMP position is within the foot of the grounded foot when one foot is grounded, and moves toward the foot of the foot that will be grounded again and become the one foot grounded foot while both legs are grounded. is there. The target ZMP position calculation means 42 calculates the ZMP position from which the robot 2 should not fall if the ZMP changes so much from the data indicating the positions of the left and right toes. This is called target ZMP. The target ZMP fluctuates over time as the left and right foot tip positions fluctuate over time.
[0026]
The target ZMP calculated by the target ZMP position calculating means 42, the data indicating the positions of the left and right toes input from the joystick 40, and the data indicating the walking speed input from the joystick 40 are the trunk position calculating means 44. Is input. As described above, if the trunk position of the robot is assumed, the toe position has already been specified, and the ZMP position obtained at that time is calculated. If the ZMP position calculated in this way matches the target ZMP, the robot 2 does not fall. Therefore, the trunk position calculation means 44 calculates and calculates the trunk position that brings the target ZMP to the unknown trunk position. When the robot 2 changes its posture according to the trunk position calculated in this way and the data indicating the positions of the left and right toes, the ZMP matches the target ZMP, and the robot can walk without falling down. .
[0027]
The data indicating the left and right foot positions and the data indicating the trunk position, which change with time, are referred to as gait data. This data is stored in the gait data storage means 46.
When the operator finishes specifying the walking trajectory and the walking speed, the gait data is completed, and the completed gait data is stored in the gait data storage means 46. When the gait data is stored in the gait data storage means 46, the robot 2 can be made to walk using the gait data stored in the gait data storage means 46 thereafter. In this case, gait data correction means 48 is used.
At the stage where the operator designates gait data while observing the walking robot, the gait data correction means 48 does not operate, and the gait data stored in the gait data storage means 46 is instructed to the robot 2 as it is. .
[0028]
The robot 2 includes joint angle group calculation means 58. The joint angle group calculator 58 calculates a joint angle group that realizes the left and right toe positions and trunk positions specified by the gait data. The joint angle group calculation device 58 calculates a joint angle group by solving so-called inverse kinematics. The joint angle group calculation device 58 calculates the joint angle group in real time for the walking motion of the robot. The joint angle group calculation device 58 may be physically outside the robot 2 or may be one that transmits and specifies the calculated joint angle group to the robot 2 wirelessly or by wire.
The robot 2 includes means 60 for driving an actuator that rotates the joint, and adjusts each joint rotation angle to the joint angle calculated by the joint angle group calculation device 58.
[0029]
The robot 2 includes a video camera 4 that captures the marks 26, 28, 30, and 32, and includes a means 52 that calculates a camera position from equations (5) and (6) in FIG. Means 54 for calculating the position of the grounding foot in consideration of the posture is provided. The gait data stored in the gait data storage means 46 stores the data of the foot position relative to the position of the trunk. Further, the position of the head relative to the position of the trunk can be calculated from the posture of the trunk. Therefore, the relative position of the foot to the position of the camera 4 can be calculated from the gait data. The grounding foot position calculating means 54 includes the camera position calculated by the camera position calculating means 52 and the posture of the robot stored in the gait data storage means 46 (actually, data indicating the relative position of the foot to the camera 4). The position of the grounding foot is calculated.
The robot 2 may be equipped with a position detection device instead of the camera 4. There are no limitations on the type of position detection device, and a type that detects the position of the receiver by analyzing the received radio waves or ultrasonic waves, or a type that detects the position using radio wave radar or ultrasonic radar can be used. .
If these position detection devices can be installed at the tip of the robot 2, the position of the grounding foot can be detected directly. However, in practice, it is difficult to install the position detection device on the tip of the foot, and it is mounted on the trunk 101, the head 6, etc. other than the leg link. When a position detection device is mounted in addition to the robot leg link, the position of the grounding foot is calculated by providing means for calculating the position of the grounding foot based on the detection result of the position detection device and the robot posture. .
[0030]
The robot 2 uses the toe position of the ground foot specified by the gait data stored in the gait data storage means 46 (20c in FIG. 2) and the ground foot calculated by the ground foot position calculating means 54. Means 56 for calculating the deviation (Δx, Δy) of the position (20d in FIG. 2) is provided.
The deviations (Δx, Δy) calculated by the deviation calculating means 56 are sent to the gait data correcting means 48 and used for the subsequent correction of the gait data.
[0031]
FIG. 7 shows gait data created from the toe position designated by the operator while observing the walking robot 2, storing the created gait data in the gait data storage means 46 and instructing the robot 2. The process procedure performed when the robot 2 is walked in real time is shown. The gait data stored in the gait data storage means 46 is used for subsequent walking.
In step S1, the left toe position and the right toe position of the robot 2 when the operator starts the teaching operation are detected and stored. In this process, the mark photographing camera 4, the camera position calculation means 52, and the grounding foot tip position calculation means 54 are used, and the left foot tip position and the right foot tip position at the start of the teaching operation are detected and stored. The robot 2 is stationary with a known posture.
[0032]
In step S2, the step count t is initialized to 1. Here, the number of steps is counted for each left and right foot, and counted as the first left foot, the first right foot, the second left foot, and the second right foot.
In this embodiment, the robot 2 starts walking from the left foot. Since the operator designates the step length Lxt in the x direction (initially t = 1), the step length Lyt in the Y direction and the step speed of the first step of the left foot, the designated values are input and stored in the gait data storage means 46. (Step S4).
In step S6, a target ZMP between the left foot t steps is calculated, and the calculated target ZMP is sent to the trunk position calculation means 44. In step S <b> 8, the trunk position calculation unit 44 calculates the trunk position for the left foot t step and stores it in the gait data storage unit 46.
In step S12, the step Rxt in the x direction, the step Ryt in the Y direction, and the step speed of the right foot t step are designated, and the designated values are input and stored in the gait data storage means 46. In step S14, the target ZMP between the right foot t steps is calculated, and the calculated target ZMP is sent to the trunk position calculation means 44. In step S <b> 16, the trunk position calculation unit 44 calculates the trunk position for the right foot t step and stores it in the gait data storage unit 46.
The above process is repeated (step S20) and repeated until the operator commands the end of walking.
[0033]
FIG. 8 shows the overall processing when teaching in real time, and the gait data taught in real time in step S22 is stored in the gait data storage means 46. The details are shown in FIG. When teaching in real time, the gait data is calculated and accumulated and stored in the gait data storage means 46, and at the same time, the robot 2 is instructed. The robot 2 operates according to the commanded gait data and walks as commanded. Therefore, the operator can specify the subsequent gait data while observing the walking robot 2. It is said to teach in real time that the gait data after that is specified while observing the walking robot 2.
[0034]
FIG. 10 shows processing executed by the robot 2 to which gait data is commanded. In step S36, gait data is read, a joint angle group that realizes the read toe position and trunk position is calculated (step S38), and the actuator is controlled to match the calculated joint angle (step S40). ). This is repeated until all gait data is read out.
[0035]
FIG. 9 shows a processing procedure when the gait data taught in real time is stored in the gait data storage means 46, read out later, and the robot 2 is walked.
In step S28, the gait data is read from the gait data storage means 46. For the first step, the correction process in steps S30 to S34 is not executed, and the robot walks according to the read gait data (step S26).
When the gait data for the second step is read (step S28), the camera position is calculated using the mark photographing camera 4 and the camera position calculation means 52 (step S30). Further, in consideration of the posture of the robot, the contact foot position calculation means 54 calculates the position of the contact foot (step S32). The gait data is corrected based on the deviation between the teaching position of the contact foot and the detected position of the contact foot (step S34), and the corrected gait data is commanded to the robot (step S26). The robot 2 executes the process of FIG. 10 and walks according to the corrected gait data.
[0036]
FIG. 11 shows details of the gait data correction process. This corresponds to the details of step S34 in FIG. The process of FIG. 11 is executed while walking up to t steps and walking at the t + 1 step.
In step S44, the position of the coordinate (position on teaching) where the grounding foot should be present is calculated from the left foot coordinates Lx0, Ly0 and the right foot coordinates Rx0, Ry0 at the start of walking and the gait data up to the t-th step. . If the left foot coordinates on teaching are Lxt and Lyt and the right foot coordinates Rxt and Ryt on teaching are given, these can be calculated by the formulas described in step S44.
In step S46, the camera position is calculated using the mark photographing camera 4 and the camera position calculation means 52. Details thereof have been described with reference to FIGS. In step S48, the posture of the robot is calculated from the gait data. In step S50, the position of the grounding foot is calculated by adding the robot posture calculated in step S48 to the camera position calculated in step S46. For this calculation, the contact foot position calculation means 54 is used.
When the position of the grounding foot is calculated by the grounding foot position calculating means 54, the position of the grounding foot is calculated in a state where both feet of the robot are grounded. When both feet of the robot are in contact with the ground, the robot is less bent and the robot posture specified by the gait data agrees well with the actual posture. For this reason, in calculating the position of the grounding foot by adding the robot posture to the camera position, the grounding foot position can be accurately calculated.
During the both-foot contact period, the video camera 4 captures the marker group many times. For this reason, the position of the ground contact foot can be calculated many times. During this time, it can be assumed that the position of the grounding foot is stationary. Therefore, it is possible to perform the averaging process after removing unreliable data which is greatly different from the processing target, and it can be said that the position of the contact foot calculated in this way is accurate. If the left foot coordinates of the grounded foot calculated by averaging only reliable data are Lxu and Lyu, and the right foot coordinates are Rxu and Ryu, these accurately indicate the left foot coordinates and the right foot coordinates of the grounded foot.
In step S52, teaching left foot coordinates Lxt, Lyt, right foot coordinates Rxt, Ryt, detected left foot coordinates Lxu, Lyu, and right foot coordinates Rxu, Ryu deviations ΔLx, ΔLy, ΔRx, ΔRy are calculated.
As described above, the deviations ΔLx, ΔLy, ΔRx, ΔRy between the teaching foot position and the actual foot position when the t-th step is completed are calculated.
In step S54, the stride data of the t + 1 step is corrected using the calculated deviation. Lxt + 1, Lyt + 1, Rxt + 1, and Ryt + 1 shown in the right term of step S54 indicate the taught stride data of the t + 1 step before correction. From this, the corrected steps Lxt + 1, Lyt + 1, Rxt + 1, and Ryt + 1 are calculated by subtracting the deviations ΔLx, ΔLy, ΔRx, and ΔRy. When the t + 1 step is advanced according to the corrected stride data, as described with reference to FIG. 2, the toe position of the grounded foot when the t + 1 step is completed returns to the taught position.
[0037]
The embodiments described above are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above.
The technical elements described in this specification or the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing.
[0038]
【The invention's effect】
According to the present invention, the robot can walk according to the taught locus faithfully. When walking on the same track repeatedly, the reproducibility of the walking track is high. When a plurality of robots walk at the same time, it is possible to continue walking while maintaining the relative positional relationship between the robots.
[Brief description of the drawings]
FIG. 1 is a view showing a foottip trajectory taught to a robot and a marker used by the robot for position detection.
FIG. 2 is a diagram showing a relationship between a teaching foot tip position and an actual foot tip position and a correction amount of a stride necessary to eliminate the difference.
FIG. 3 is a diagram for explaining a process of calculating a robot position from a marker.
FIG. 4 is a diagram for explaining a process and an equation for calculating a distance from a photographed marker to a robot.
FIG. 5 is a diagram for explaining a process and an equation for calculating the position of a robot from a photographed marker.
6 is a control block diagram of the robot 2. FIG.
FIG. 7 shows a processing procedure diagram when an operator designates a foot tip position in real time and a robot walks according to designated data.
FIG. 8 is an overall processing procedure diagram when the operator designates the foot position in real time and the robot walks according to the designated data.
FIG. 9 is a processing procedure diagram when the robot walks according to gait data stored in advance.
FIG. 10 shows a processing procedure executed by a robot walking according to gait data.
FIG. 11 shows a detailed processing procedure of processing for correcting gait data.
12 shows a mechanical configuration of the robot 2. FIG.
[Explanation of symbols]
2: Robot
4: Video camera for marker photography
40: Joystick
42: Target ZMP position calculation means
44: Trunk position calculation means
46: Gait data storage means
48: Gait data correction means
52: Camera position calculation means
54: Grounding foot position calculation means
56: Deviation calculation means

Claims (5)

足先の位置を指定するデータを記憶している歩容データ記憶手段と、
歩容データに基づいて、左脚リンクと腰と右脚リンクで構成される機械系に存在する複数の関節の関節角を計算する関節角群計算手段と、
各関節の関節角を前記関節角群計算手段で計算された関節角に調整するアクチュエータと、
接地足の位置を検出する装置と、
歩容データが指定する接地足があるはずの位置と、位置検出装置で検出された接地足の検出位置との偏差を演算する装置と、
演算された偏差によってその後の歩容データを修正する装置を備え、
修正された歩容データに基づいて、左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボット。
Gait data storage means storing data specifying the position of the toes;
A joint angle group calculating means for calculating joint angles of a plurality of joints existing in a mechanical system composed of a left leg link, a waist and a right leg link based on gait data;
An actuator for adjusting the joint angle of each joint to the joint angle calculated by the joint angle group calculating means;
A device for detecting the position of the grounding foot;
A device that calculates the deviation between the position where the grounding foot specified by the gait data should be and the detection position of the grounding foot detected by the position detection device;
A device for correcting subsequent gait data based on the calculated deviation is provided.
A robot that walks by changing the relative postures of the left leg link, waist, and right leg link based on the corrected gait data.
接地足の位置を検出する装置は、ロボット頭部に搭載されているカメラと、カメラで撮影されたマーカの画面内位置とロボット姿勢とに基づいて接地足の位置を計算する手段を備えていることを特徴とする請求項1に記載のロボット。The apparatus for detecting the position of the grounding foot includes a camera mounted on the robot head, and means for calculating the position of the grounding foot based on the on-screen position of the marker photographed by the camera and the robot posture. The robot according to claim 1. 接地足の位置を検出する装置は、ロボットの脚リンク以外に搭載されている位置検出装置と、その位置検出装置の検出結果とロボット姿勢とに基づいて接地足の位置を計算する手段を備えていることを特徴とする請求項1に記載のロボット。The apparatus for detecting the position of the grounding foot includes a position detection device mounted other than the leg link of the robot, and means for calculating the position of the grounding foot based on the detection result of the position detection device and the robot posture. The robot according to claim 1, wherein: 接地足の位置を計算する手段は、両足が接地している期間に接地足の位置を計算することを特徴とする請求項2または3に記載のロボット。4. The robot according to claim 2, wherein the means for calculating the position of the grounding foot calculates the position of the grounding foot during a period in which both feet are in contact with the ground. ロボット頭部に搭載されているカメラで位置が既知のマーカを撮影する工程と、そのマーカの画面内位置からカメラ位置を計算する工程と、計算されたカメラ位置とロボット姿勢から接地足の位置を計算する工程と、歩幅を指定するデータから計算される接地足位置とカメラ位置から計算される接地足位置の偏差を計算する工程と、計算された偏差に基づいて次の歩幅を指定するデータを修正する工程を備えている歩行ロボットの制御方法。The step of photographing a marker whose position is known with the camera mounted on the robot head, the step of calculating the camera position from the on-screen position of the marker, and the position of the grounding foot from the calculated camera position and robot posture A step of calculating, a step of calculating a deviation between the ground contact foot position calculated from the data specifying the stride and the ground contact foot position calculated from the camera position, and data specifying the next stride based on the calculated deviation. A method for controlling a walking robot comprising a correcting step.
JP2003191179A 2003-07-03 2003-07-03 Walking robot correcting positional deviation, and its control method Pending JP2005022040A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003191179A JP2005022040A (en) 2003-07-03 2003-07-03 Walking robot correcting positional deviation, and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003191179A JP2005022040A (en) 2003-07-03 2003-07-03 Walking robot correcting positional deviation, and its control method

Publications (1)

Publication Number Publication Date
JP2005022040A true JP2005022040A (en) 2005-01-27

Family

ID=34188869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003191179A Pending JP2005022040A (en) 2003-07-03 2003-07-03 Walking robot correcting positional deviation, and its control method

Country Status (1)

Country Link
JP (1) JP2005022040A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007007802A (en) * 2005-07-01 2007-01-18 Toyota Motor Corp Legged robot and control method thereof
JP2007007800A (en) * 2005-07-01 2007-01-18 Toyota Motor Corp Walking type robot, wheel type robot and absolute azimuth estimating method thereof
JP2007007801A (en) * 2005-07-01 2007-01-18 Toyota Motor Corp Legged robot and control method thereof
WO2011052827A1 (en) * 2009-10-30 2011-05-05 주식회사 유진로봇 Slip detection apparatus and method for a mobile robot
CN104251702A (en) * 2014-09-18 2014-12-31 重庆大学 Pedestrian navigation method based on relative pose measurement
US11537135B2 (en) * 2018-01-17 2022-12-27 Lg Electronics Inc. Moving robot and controlling method for the moving robot

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007007802A (en) * 2005-07-01 2007-01-18 Toyota Motor Corp Legged robot and control method thereof
JP2007007800A (en) * 2005-07-01 2007-01-18 Toyota Motor Corp Walking type robot, wheel type robot and absolute azimuth estimating method thereof
JP2007007801A (en) * 2005-07-01 2007-01-18 Toyota Motor Corp Legged robot and control method thereof
JP4696728B2 (en) * 2005-07-01 2011-06-08 トヨタ自動車株式会社 Legged robot and its control method
JP4706357B2 (en) * 2005-07-01 2011-06-22 トヨタ自動車株式会社 Walking robot and its absolute direction estimation method
WO2011052827A1 (en) * 2009-10-30 2011-05-05 주식회사 유진로봇 Slip detection apparatus and method for a mobile robot
KR101152720B1 (en) * 2009-10-30 2012-06-18 주식회사 유진로봇 Apparaus and Method for Detecting Slip of a Mobile Robot
CN102666032A (en) * 2009-10-30 2012-09-12 悠进机器人股份公司 Slip detection apparatus and method for a mobile robot
US8873832B2 (en) 2009-10-30 2014-10-28 Yujin Robot Co., Ltd. Slip detection apparatus and method for a mobile robot
CN104251702A (en) * 2014-09-18 2014-12-31 重庆大学 Pedestrian navigation method based on relative pose measurement
US11537135B2 (en) * 2018-01-17 2022-12-27 Lg Electronics Inc. Moving robot and controlling method for the moving robot

Similar Documents

Publication Publication Date Title
US8554366B2 (en) Legged mobile robot and method of controlling the same
US8019145B2 (en) Legged locomotion robot
JP3760186B2 (en) Biped walking type moving device, walking control device thereof, and walking control method
US7482775B2 (en) Robot controller
JP4807583B2 (en) Projective transformation convergence calculation processing method
JP2003236782A (en) Bipedal movement device and walking control device for the device
JP6498597B2 (en) Mobile robot controller
JP2008023612A (en) Robot and its control method
CN108563220A (en) The motion planning of apery Soccer robot
JP5104355B2 (en) Robot control apparatus, robot control method, and robot control program
JP2009136987A (en) Mobile robot and method of correcting floor surface shape data
JP2005022040A (en) Walking robot correcting positional deviation, and its control method
KR20200013133A (en) Method for controlling a table tennis robot and a system therefor
JP2007007803A (en) Robot and control method thereof
US20210286353A1 (en) Moving body manipulation system
JP2002046087A (en) Three-dimensional position measuring method and apparatus, and robot controller
KR102201105B1 (en) Method and apparatus for estimating human motion kinetics information
CN116619382A (en) Robot motion control method and system and electronic equipment
JP2009107033A (en) Legged mobile robot and its control method
JP4706357B2 (en) Walking robot and its absolute direction estimation method
CN115451862A (en) Three-dimensional scanning method and three-dimensional scanning system
JP4696728B2 (en) Legged robot and its control method
CN115122318A (en) Robot motion data generation system, motion data generation method, and storage medium
JP2008264946A (en) Mobile robot and correcting method for data of floor surface shape
JP3982442B2 (en) Walking robot that mitigates landing shock, its control method, and gait data correction program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051115

A131 Notification of reasons for refusal

Effective date: 20090113

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090818