足の踵に回転可能に支持されており、一部が足裏に露出している球状又は円筒状の転動体と、転動体の回転を止めるブレーキと、脚式ロボットが歩行するように脚の動きを制御するとともにブレーキを制御するコントローラと、を備えており、コントローラは、足が浮いている間はブレーキを解放し足が着地した後にブレーキを係合することを特徴とする脚式ロボット。コントローラは、着地に際して足先を踵よりも上げて遊脚の足を地面に向けて降下させ、踵の着地後、転動体の回転速度が所定の閾値以下となったときにブレーキを係合し、転動体の回転が止まっていることを検知した後に足先を降下させる、ことを特徴とする請求項1に記載の脚式ロボット。転動体は、弾性体によって下方へ付勢されているとともに、床反力を受けると足首の方向へ後退するように支持されており、足内部方向へ最も後退したときに、転動体の最下端が、足先裏側の平面と同一平面に位置することを特徴とする請求項1又は2に記載の脚式ロボット。特許文献1における接地部材は、具体的にはゴムなどの所望の摩擦係数を有する板材である。特許文献1のロボットは、アクチュエータによって板材を足裏から出し入れし、足裏の摩擦係数を変化させる。そのため、構造が複雑である。本明細書は、特許文献1とは異なる斬新な機構によって、着地時の安定性を向上させる技術を提供する。本明細書が開示する脚式ロボットの特徴は、足裏に球状又は円筒/円柱状の転動体を配置し、これによって低摩擦を実現するとともに、必要に応じて転動体にブレーキをかけることによって高摩擦を実現する。特許文献1に開示された機構よりもはるかに簡単な機構で足裏の摩擦係数を変えることができる。本明細書が開示する脚式ロボットの一態様は、足裏に配置された転動体と、転動体の回転を止めるブレーキと、コントローラを備える。転動体は、足の踵に回転可能に支持されており、一部が足裏に露出している。なお、転動体は球状が好ましいが、ロボット横方向にはスリップが小さいことが見込まれる場合には、回転軸が足の横方向に伸びているローラ円筒/円柱状の転動体であってもよい。ローラの場合であっても、その一部が足裏から露出するように配置される。コントローラは、脚式ロボットが歩行するように脚の動きを制御するとともにブレーキを制御する。そして、コントローラは、足が浮いている間はブレーキを解放し足が着地した後にブレーキを係合する。なお、脚式ロボットを歩行させるための脚制御アルゴリズム、及び、歩容データについては、様々な文献で紹介されているため、本明細書ではその説明は省略する。着地する瞬間には、ブレーキが解放され転動体は回転自由であるので、前述したように着地時には足裏を低摩擦係数状態にすることができる。着地した後、適切なタイミングでブレーキを係合し転動体の回転を止めることによって足裏を高摩擦係数状態とすることができる。なお、ブレーキ力を加減することによって、所望の摩擦係数を実現することも可能である。転動体を踵に配置したことにも利点がある。即ち、転動体が一つで済むこと、及び、踵着地後に足先裏面平面を着地させることによって、安定性を確保できるからである。着地時に必ず踵が足先よりも先に着地するように、コントローラは、着地に際して足先を踵よりも上げて遊脚の足を地面に向けて降下させることが好ましい。このとき、コントローラは、踵の着地後、転動体の回転速度が所定の閾値以下となったときにブレーキを係合し、転動体の回転が止まっていることを検知した後に足先を降下させるようにブレーキと脚を制御するのがよい。所定の閾値は、予め定めておけばよく、その具体的な値は、典型的には、ゼロであってもよい。前述したように、脚式ロボットの脚足は、予め定められた歩容データ直前に決定される場合を含むに基づいて動かされる。より具体的には、コントローラは、予め与えられた着地までの軌道に追従するように脚足の動きを制御する。上記の制御によれば、脚式ロボットの足は、まず低摩擦の踵転動体で着地接地し、スリップが終了したことを検知してから足先が接地する。スリップがなくなるまでは低摩擦状態で移動するので大きな摩擦力がロボットに作用することがなく、スリップが止まった後に足先裏側が接地して安定性が確保される。また、足先が接地した時点で転動体にはブレーキがかけられているので、足先の接地後は踵が滑ることはない。踵から先に着地するように制御する場合、転動体をショックアブソーバとして機能させることも好適である。即ち、転動体は、弾性体によって下方へ路面へ向けて付勢されているとともに、床反力を受けると足首の方向上方へ後退するように支持されているとよい。さらに、転動体は、足内部方向へ最も後退したときに、転動体の最下端が、足先裏側の平面と同一平面に位置するように支持されているとよい。弾性体に支持された転動体は上下方向のショックアブソーバとして機能し、さらに転動体は最も上方へ後退したときには足先裏側の平面と面一となるため、足先接地後の足の安定性も確保される。図1に、脚式ロボット2の模式的側面図を示す。脚式ロボット2は、2本の脚6R、6Lを備えている。即ち、本実施例の脚式ロボット2は二足歩行ロボットである。夫々の脚は、人間の脚を模した構造を有しており、大腿リンク、下腿リンク7、及び、足12がジョイントによって連結された多リンク多関節構造を採用している。各ジョイントにはモータが内蔵されており、人間の歩行を模した歩行動作を行えるようになっている。各モータはコントローラ4によって制御される。コントローラ4は、脚のモータを制御するとともに、後述するように足12に配置されたブレーキ14の係合と解放も制御する。なお、以下で説明する実施例は、二足歩行ロボットであるが、本明細書が開示する技術は3本以上の脚を有する脚式移動ロボットにも適用可能である点に留意されたい。脚の関節にはモータが内蔵されており、コントローラ4が、足の位置の経時的変化を記述した歩容データ軌道に沿って実際の足が動作するように各モータを制御する。なお、歩容データ軌道は、足の位置座標の経時的データ列で表されることもあれば、脚の夫々の関節角の経時的データ列で表される場合もある。関節角と足の位置は、ロボット工学で通常キネマティスクあるいは逆キネマティスクと呼ばれる変換式にて一意の対応関係にあるのでただし特異点は除く、歩容データが足の位置の経時的データ列で表されているか関節角の経時的データ列で表されているかは、実質的に相違はない。二足歩行ロボットにおいて安定な歩行を実現するための歩容データは、通常、ZMP方程式に基づいて生成される。歩容データの生成アルゴリズム、及び、歩容データに追従するモータ制御アルゴリズムについては以下、簡単に説明するが、詳細な説明は省略する。コントローラ4は、歩行中の脚の動作を遊脚期と立脚期に分けて制御する。遊脚期は、足が離地してから着地するまでの期間に相当し、立脚期は着地してから次に離地するまでの期間に相当する。コントローラ4は、ZMP方程式を基本とし、歩行の各歩毎に足の着地可能範囲、ロボット全体の重心の軌道などから、各歩毎の足着地予定位置を決定する。遊脚の軌道は、経時的に隣り合う足の着地予定位置を結ぶ既定の曲線で与えられ、次いで、その曲線に沿った足位置の経時的な変化から遊脚各関節の角度の経時的な変化が定まる。それらが遊脚の軌道を構成する。立脚の場合、接地している足の位置を不動点として、体幹の重心の軌道を実現するように各関節の角度の経時的変化が決められる。これが立脚の軌道に相当する。さらに、例えば、遊脚期の脚の制御として、単純な位置制御によって足先の実際の位置を軌道に追従させる制御アルゴリズムを採用し、立脚期の脚の制御として、重心の移動に伴って脚関節角が柔軟に変化するいわゆるコンプライアンス制御を採用するなど、遊脚期と立脚期で制御アルゴリズムを切り換えてもよい。図2から図5では、一方の脚の下腿リンク7、足首ジョイント8、及び、足12のみを描き、膝関節から上の部分は図示を省略する。なお、図1と、図2以降では足12の外形が異なっているが、これは、図1ではロボット全体を簡単化して描いたからであり、図1の足12と図2以降の足12は同一の部品を示す。図2以降では一方の足のみを示すが、左右の足は同じ構造を有している。図2と図3に、足12の内部構造を示す。図2は足が浮いた状態を示しており、図3は足が着地した状態を示している。なお図3は、踵と足先の両方がしっかり接地した状態を示している。以下、図2を参照して足12の構造を説明する。なお、図2にのみ、全ての部品に符号を付し、他の図では説明しない部品の符号は適宜に省略する。また、図2の座標系におけるX軸はロボットの前後方向に伸びる軸として設定されており、Y軸はロボットの横方向に伸びる軸として設定されており、Z軸は鉛直方向に伸びる軸として設定されている。ロボットの技術分野では、X軸、Y軸、及び、Z軸は、夫々、ロール軸、ピッチ軸、及び、ヨー軸とも呼ばれることは良く知られている。足12は、ピッチ軸回りに回転する足首ジョイント8を介して下腿リンク7に連結されている。足12の足裏は、足先側足裏面12aと踵側足裏面12bに分かれており、踵側足裏面12bは、足先側足裏面12aよりも高くなっている。踵にはボール20が、その一部が踵側足裏面12bよりも突出するように即ち、一部が露出するように配置されている。ボール20は、凹型の窪みを有するボール受け19に回転可能に嵌っている。なお、図では理解を助けるためにボール受け19の窪みを浅く描いているが、実際にはボール受け19の窪みは半球以上の容積があり、ボール20が落下しないようになっている。ボール受け19とボール20の間には潤滑剤が充填されており、ボール20は、2自由度の回転自由度を有している。即ちボール20は、X軸とY軸の双方に対して自由に回転することができる。別言すれば、ボール20は平面上を自由に転がることができる。ボール受け19の裏側上側にはバネ16が配置されており、バネ16はボール受け19ボール20を下方に付勢している。ボール20が下から押されると、バネ16が縮み、ボール20は上方足首方向へ後退する。なお、図2に示すように、足12が浮いているとき、即ち、ボール20が下から押されていないときには、ボール20の最下端20aは、足先側足裏面12aよりもdHだけ低く位置する。足12が着地すると、ボール20は路面Gから床反力を受けて上方足首方向へ後退する。図3に示すように、床反力を受けるとボール受け19及びボール20が上方へ後退するが、ストッパ17に当接する位置が最も後退した位置となる。このとき、図3に示すように、ボール20の最下端20aは、足先側足裏面12aが張る平面上に位置する。別言すれば、ボール20は、足12の内部方向へ最も後退したときに、その最下端20aが、足先側足裏面12aの平面と同一の平面に位置する。ボール受け19には、ボール20の回転を止めるブレーキ14、ボール20の回転を検出する回転センサ18、及び、ボール20が接地したか否かを検知する踵側接地センサ13が配置されている。回転センサ18は、コンピュータのマウスと同様の仕組みによりボール20の回転を検知する。踵側接地センサ13は、バネ16の伸びを計測するものであり、バネ16の伸びが既定の最大長から少しでも短くなれば、踵が接地したことを示す信号を出力する。ブレーキ14は、ボール20を両側から挟み込むタイプであるが、図では詳しい構造の図示は省略している。ブレーキ14が解放されるとボール20はほとんど抵抗なく回転することができ、ブレーキ14が係合するとボール20は回転を停止する。ブレーキ14はコントローラ4によって制御される。なお、ブレーキ14の制動力の強さはコントローラ4が制御することができる。即ち、ブレーキ14の係合力を増すにつれてボール20は回転し難くなる。後述するように、足12が路面G上を移動する際にボール20が回転するので、ボール20の回転抵抗は、足12の路面Gに対する滑り抵抗足の摩擦抵抗に相当する。ブレーキ14を弱く係合すれば足12は路面Gの上を小さい抵抗で滑り、ブレーキ14を強く係合すれば足12は路面Gの上を滑り難くなる。足先には足先側足裏面12aが接地したか否かを検知する足先側接地センサ15が埋め込まれている。足先側接地センサ15は、その表面に物体が触れると信号を出力するいわゆるタッチセンサである。踵側接地センサ13、足先側接地センサ15、回転センサ18の信号はコントローラ4へ送られ、コントローラ4は、それらのセンサデータ、及び、脚各関節の角度に基づいて、ブレーキ14を駆動する信号を出力する。なお、以下では、簡単のため、踵側接地センサ13を単純に踵センサ13と称し、足先側接地センサ15を単純に足先センサ15と称する場合がある。図6のフローチャートを参照してコントローラ4の制御を説明するがその前に、図3~図5を参照して着地前後の足の状態を説明しつつ制御の概略を説明する。コントローラ4は、遊脚期の後半において、足先の高さ路面Gからの高さを踵の高さよりも高く維持しながら、路面Gへ向けて足を降ろしていく図4、矢印A1参照。別言すれば、コントローラ4は、足先側足裏面12aを前方が高く後方が低くなるように傾けながら足12を路面Gへ向けて移動させる。このとき、コントローラ4はブレーキ14を解放しておく。コントローラ4は、足の移動経路が軌道歩容データに沿うように脚の各関節を駆動する。そうすると、必ず踵のボール20が足先よりも先に接地することになる。ボール20の接地を検知したら、コントローラ4は、着地までの歩行データがまだ残っていても、足をゆっくり停止する。停止までの間、ボール20は接地したままであるが、バネ16によってボール20が足首側へ後退するので、相対的に足12が路面Gへ向けて移動する図5、12A。このとき、ボール20とバネ16はショックアブソーバとして機能する。また、足首の位置がXY平面内で移動を続ければ、足12は路面G上を移動することになるが、ブレーキ14が解放されているので、ボール20が自在に回転し、足12はほとんど摩擦抵抗なく路面G上を移動する図5、矢印A2参照。足12が停止し、ボール20の回転が止まるとコントローラ4はブレーキ14を係合し、ボール20の回転を止めてから、踵を中心として足先が下方へ下がるように、即ち、足12をピッチ軸回りY軸回りに回転するように脚の各関節を駆動する図5、12B、矢印A3参照。足先側足裏面12aが接地すると、図3の状態となり、足12がしっかりと接地する。このとき、ブレーキ14が係合しておりボール20は回転しないので、足12はしっかりとグリップする。以上のシーケンスを、図6のフローチャートに基づいて詳しく説明する。なお、図6のフローチャートの処理は、一定時間毎例えば10msec程度の最上位制御ルーチンの制御周期毎に繰り返し実行される。コントローラ4の処理は、まず、現在の脚の状態が遊脚期であるか立脚期であるかによって分かれるステップS2。前述したように、コントローラ4は、遊脚期用の歩容データ及び脚制御アルゴリズムと、立脚期用の歩容データ及び脚制御アルゴリズムを切り換える。遊脚期から立脚期への遷移、及び、立脚期から遊脚期への遷移の判定も、以下で説明するように図6の処理のなかで行われる。現在の脚の状態が遊脚期である場合ステップS2:YES、コントローラ4は、踵センサ13が接地を検知しているか否かをチェックするステップS4。踵センサ13が接地を検知していない場合ステップS4:NO、すなわち、足12がまだ着地していない場合は、コントローラ4は、ブレーキ14を解放しステップS14、ボール20を回転自在にしておく。また、コントローラ4は、遊脚用の軌道に基づいて脚の各関節を駆動するステップS16。踵センサ13が接地を検知していない場合ステップS4:NO、すなわち、足12がまだ着地していない間は、踵に配置されたボール20が回転自在の状態にあるので、足12がいつ着地しても、あるいは、路面上の凹凸などへ予定外に接地しても、ボール20がスムーズに回転するので足12が路面上をスリップしても大きな摩擦抵抗は生じない。即ち、足12が路面Gと接触しながら移動してもそのことに起因して発生する外乱力は大きくはなく、ロボット全体が不安定となることは防止される。なお、コントローラ4は、遊脚軌道の後半予定される着地タイミングよりも所定時間/所定距離だけ手前の時点で、前述したように、足先が踵よりも高くなるように足の姿勢を変更する。コントローラ4は、足12をその姿勢に保ったまま着地点に向けて遊脚軌道に沿って降下させる。コントローラ4は、踵センサ13が接地を検知するとステップS4:YES、ボール20が回転しているか否かをチェックするステップS6。ボール20が回転している状態とは、足12が接地しながら移動していることを意味する。この場合、コントローラ4は、足12を緩やかに停止するステップS8。ステップS6→S8の処理にてコントローラ4は、たとえ予定された遊脚軌道の終点までの距離が残っていても、直ちに足の速度を低下させ、足の動きを停止する。この処理は、予定された遊脚軌道に沿っての移動中に足12が接地したときに直ちに着地に対処するためである。ステップS8によって足の速度が低下しつつ、幾度か図6の処理を繰り返しているうちに、足12が完全に停止する。即ち、ボール20の回転が停止する。そうすると、ステップS6の判断がNOとなり、コントローラ4は、ブレーキ14を係合しステップS10、遊脚期から立脚期へ移行するステップS12。ブレーキ14を係合することによって、ボール20はもはや回転しなくなる。足12が移動し難くなるので、足が受動的に移動することはない。ステップS10を実行したのちに繰り返される図6の処理においては、ステップS2の判断がNOとなり、ステップS22以降へ処理が移る。ステップS22以降の処理が立脚期の処理に相当する。立脚期の処理では、まず、踵センサ13が接地を検知しているか否かをチェックするステップS22。なお、立脚期において踵センサ13が接地を検知していない状態ステップS22:NOとは、立脚期の終盤でロボット重心が立脚の足よりも前方に移動し、立脚の足の踵が浮く時点を意味する。その時点でステップS22:NO、コントローラ4は、立脚期から遊脚期に移行するステップS32。踵センサ13が接地を検知していたらステップS22:YES、コントローラ4は次いで、足先センサ15が接地を検知しているか否かをチェックするステップS24。立脚期に移行した直後は、踵は接地しているが足先は接地していない。足先センサ15が接地を検知していないときにはステップS24:NO、コントローラ4は、踵を中心に足先を下げる方向に足を回転させるステップS34。コントローラ4は、足先センサ15が接地を検知するまで足を回転させる。図6の処理を繰り返しているうちに足先センサ15が接地を検知すると、処理はステップS26へ移行するステップS24:YES。足先センサ15が接地を検知すると、足12の踵と足先足先側足裏面12aがともに接地する。即ち、足がしっかりと路面Gに接地する。足先センサ15が接地を検知した後は、すなわち、踵と足先側足裏面12aの双方が接地した後は、コントローラ4は、立脚軌道に沿って脚の各関節を制御するステップS26。図6のフローチャートの処理は、それぞれの脚に対して実施される。以上の処理によって、脚式ロボット2は、足が着地した時点ではボール20が回転自在であるので足が接地しながら移動しても大きな摩擦抵抗は生じない。従ってロボットの姿勢を崩すような大きな外乱力が発生しない。同様に、遊脚期の途中で想定外に足が接地した場合であってもボール20がスムーズに回転するので大きな外乱力は発生しない。接地した足12が停止した時点でブレーキ14を係合してボール20の回転を止め、その後は足12がスリップし難いようにする。従って、足12が停止した後は安定した立脚状態が得られる。前述したように、ボール20はバネ16によって支持されており、ショックアブソーバの機能も兼ねている。従って、踵から着地する際の衝撃もボール20及びバネ16が吸収する。さらに、ボール20が床反力を受けて最も上昇後退したとき、ボール20の最下端20aは足先側裏面12aの平面と面一をなすから、着地後の足の安定性も十分に確保される。実施例の脚式ロボットについての留意点、及び、好適な変更例を以下、述べる。図6のステップS6において、ボール20の回転が既定の閾値速度以下となった時点で、ブレーキ14を係合するように変更することも好適である。この場合、コントローラ4は、ボール20の回転が止まるまでは徐々にブレーキ力を強めていく。そのような処理を加えることによって、着地から足12が停止するまでの期間を短くすることができるし、さらには、接地した足12の速度が低下するにつれてスリップし難くなり、足停止までの過渡期における安定性が増す。足12の摩擦抵抗の大きさは、ブレーキ14の係合力によって変えられる。脚式ロボット2は、足のスリップを検知するボール20が摩擦抵抗を変化させる機能を兼ねており、シンプルな構造で摩擦抵抗可変のメカニズムを実現している。脚式ロボット2は、ボール20の代わりにローラを備えてもよい。ローラはロボットの横方向に伸びる回転軸に支持され、ピッチ軸回りに回転するように配置される。即ち、ローラは、接地しながらの足の前後後方の移動に対して回転し、足の滑り抵抗を低減する。歩行動作において足の動きは左右方向の動きに比べて前後方向の動きが顕著に大きいので、ボールに代えてピッチ軸回りに回転するローラを採用しても顕著な効果を奏することが期待できる。ボール20、あるいは、ローラが、転動体の一実施形態に相当する。本明細書が開示した足の機構及び、制御アルゴリズムは、二足歩行ロボットに限られず、3脚以上を有する脚式移動ロボットに適用することができる。4脚、あるいは6脚であっても、着地時の足の滑り抵抗が大きいと、歩容データで想定していない大きな力が作用する。足の滑りに起因するそのような外乱力は脚の円滑な動きを妨げる。本明細書が開示する技術は、円滑な脚動作を妨げるそのような外乱力を低減する。以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。