(57)【要約】      （修正有）【課題】地形に応じて脚式移動ロボットを適切に制御する地形判断装置を提供する。【解決手段】地面の形状を示す地形データを取得する工程Ｓ２と、地面に対して指定位置を生成する工程Ｓ４と、基準点と少なくとも１つの検査点とが設定された仮想面を、基準点が指定位置となるように、且つ地面に平行になるように配置したとき、少なくとも１つの検査点において仮想面と地面とが成す相対角度を地形データに基づいて算出する工程と、相対角度に基づいて地形の平坦度を示す地形判定値を算出する工程Ｓ５とを備える。【選択図】図４
2015175664.tif 000002
【特許請求の範囲】
【請求項１】
地面の形状を示す地形データを取得するセンサと、
前記地面に対して指定される指定位置を生成する指定位置生成部と、
基準点と少なくとも１つの検査点とが設定された仮想面を、前記基準点が前記指定位置となるように、且つ前記地面に平行になるように配置したとき、前記少なくとも１つの検査点において前記仮想面と前記地面とが成す相対角度を前記地形データに基づいて算出し、前記相対角度に基づいて地形の平坦度を示す地形判定値を算出する地形判断部と
を具備する地形判断装置。
【請求項２】
請求項１に記載された地形判断装置であって、
前記仮想面は、脚式移動ロボットの脚の足裏の形状に従って設定され、
前記少なくとも１つの検査点は、前記基準点よりも前記脚の足首関節から遠い位置に設定される
地形判断装置。
【請求項３】
請求項２に記載された地形判断装置であって、
前記少なくとも１つの検査点は、前記基準点に対して爪先側に設定された第１検査点と、前記基準点に対して踵側に設定された第２検査点とを含み、
前記地形判定値は、前記第１検査点の前記相対角度と、前記第２検査点の前記相対角度との和に基づいて算出される
地形判断装置。
【請求項４】
請求項２又は３に記載された地形判断装置と、
前記足裏を前記指定位置に置くときに、前記基準点における前記足裏が前記地面に対して平行になるように制御するコントローラと
を具備する脚式移動ロボット。
【請求項５】
請求項４に記載された脚式移動ロボットと、
遠隔操作端末とを具備し、
前記遠隔操作端末は、
入力装置に対する操作に基づいて前記指定位置を生成する前記指定位置生成部と、
前記地形判定値を出力する出力部とを具備し、
前記遠隔操作端末は、前記指定位置を指令値として設定する入力操作が行われた場合、前記指令値を前記脚式移動ロボットに送信し、
前記脚式移動ロボットは、前記指令値に従って前記脚を制御する
ロボットシステム。
【請求項６】
地面の形状を示す地形データを取得する工程と、
前記地面に対して指定される指定位置を生成する工程と、
基準点と少なくとも１つの検査点とが設定された仮想面を、前記基準点が前記指定位置となるように、且つ前記地面に平行になるように配置したとき、前記少なくとも１つの検査点において前記仮想面と前記地面とが成す相対角度を前記地形データに基づいて算出する工程と、
前記相対角度に基づいて地形の平坦度を示す地形判定値を算出する工程と
を具備する地形判断方法。
【請求項７】
請求項６に記載された地形判断方法であって、
前記仮想面は、脚式移動ロボットの脚の足裏の形状に従って設定され、
前記少なくとも１つの検査点は、前記基準点よりも前記脚の足首関節から遠い位置に設定される
地形判断方法。
【請求項８】
請求項７に記載された地形判断方法であって、
前記少なくとも１つの検査点は、前記基準点に対して爪先側に設定された第１検査点と、前記基準点に対して踵側に設定された第２検査点とを含み、
前記地形判定値は、前記第１検査点の前記相対角度と、前記第２検査点の前記相対角度との和に基づいて算出される
地形判断方法。
【請求項９】
請求項７又は８に記載された地形判断方法によって前記地形判定値を算出する工程と、
前記脚式移動ロボットの前記足裏を前記指定位置に置くときに、前記基準点における前記足裏が前記地面に対して平行になるように制御する工程と
を具備する脚式移動ロボットの制御方法。
【請求項１０】
請求項９に記載された前記脚式移動ロボットと、
遠隔操作端末とを具備するロボットシステムの制御方法であって、
請求項９に記載された前記脚式移動ロボットの制御方法を具備し、
前記指定位置を生成する工程において、前記指定位置は、遠隔操作端末の入力装置に対する操作に基づいて生成され、
更に、前記遠隔操作端末に前記地形判定値を出力する工程と、
前記遠隔操作端末が、前記指定位置を指令値として設定する入力操作が行われた場合、前記指令値を前記脚式移動ロボットに送信する工程と、
前記脚式移動ロボットが、前記指令値に従って前記脚を制御する工程と
を具備するロボットシステムの制御方法。
【請求項１１】
請求項６から８のいずれかに記載された地形判断方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地形を判断する技術、及び、その地形の判断を用いた脚式移動ロボットの制御に関する。
【背景技術】
【０００２】
二足歩行ロボットなどの複数の脚を用いて移動する脚式移動ロボットが知られている。このようなロボットの制御においては、足を接地する地面（床面）の状態を認識することが重要である。地面が平坦な場合は制御が容易だが、地面に起伏が有る場合、バランスを崩さずに歩行を行うことが難しくなる。そのため、ロボットの頭部などに地面の状態を検出するカメラ等のセンサを取り付け、地面の状態を検出して歩行制御に用いる技術が開発されている。
【０００３】
特許文献１、２は、脚式移動ロボットの歩行制御に関する技術の例である。特許文献１には、脚式移動ロボットの歩容データを作成する技術が開示されている。特許文献２は、脚式移動ロボットの脚跡計画を作成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４６９６７２７号公報
【特許文献２】特開２００９−２５８７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
脚式移動ロボットは、例えば車輪で走行するロボットが入りにくい場所など、地面が複雑な状況となっている場所にも入り込んで作業することが期待される。或いは、脚式移動ロボットは、地面の状況がよく分からない環境においても作業を行うことが期待される。そのため、地形に応じて脚式移動ロボットを適切に制御することを可能とする技術が望まれる。
【課題を解決するための手段】
【０００６】
本発明の一側面において、地形判断装置は、地面の形状を示す地形データを取得するセンサと、地面に対して指定される指定位置を生成する指定位置生成部と、基準点と少なくとも１つの検査点とが設定された仮想面を、基準点が指定位置となるように、且つ地面に平行になるように配置したとき、少なくとも１つの検査点において仮想面と地面とが成す相対角度を地形データに基づいて算出し、相対角度に基づいて地形の平坦度を示す地形判定値を算出する地形判断部とを備える。
【０００７】
本発明の他の側面において、脚式移動ロボットは、本発明による地形判断装置と、足裏を指定位置に置くときに、基準点における足裏が地面に対して平行になるように制御するコントローラとを備える。
【０００８】
本発明の更に他の側面において、ロボットシステムは、本発明による脚式移動ロボットと、遠隔操作端末とを備える。遠隔操作端末は、入力装置に対する操作に基づいて指定位置を生成する指定位置生成部と、地形判定値を出力する出力部とを備える。遠隔操作端末は、指定位置を指令値として設定する入力操作が行われた場合、指令値を脚式移動ロボットに送信する。脚式移動ロボットは、指令値に従って脚を制御する。
【０００９】
本発明の更に他の側面において、地形判断方法は、地面の形状を示す地形データを取得する工程と、地面に対して指定される指定位置を生成する工程と、基準点と少なくとも１つの検査点とが設定された仮想面を、基準点が指定位置となるように、且つ地面に平行になるように配置したとき、少なくとも１つの検査点において仮想面と地面とが成す相対角度を地形データに基づいて算出する工程と、相対角度に基づいて地形の平坦度を示す地形判定値を算出する工程とを備える。
【００１０】
本発明の更に他の側面において、脚式移動ロボットの制御方法は、本発明による地形判断方法によって地形判定値を算出する工程と、足裏を指定位置に置くときに、基準点における足裏が地面に対して平行になるように制御する工程とを備える。
【００１１】
本発明の更に他の側面において、ロボットシステムの制御方法は、本発明による脚式移動ロボットと、遠隔操作端末とを備えるロボットシステムの制御方法である。ロボットシステムの制御方法は、本発明による脚式移動ロボットの制御方法を備える。指定位置を生成する工程において、指定位置は、遠隔操作端末の入力装置に対する操作に基づいて生成される。ロボットシステムの制御方法は更に、遠隔操作端末に地形判定値を出力する工程と、遠隔操作端末が、指定位置を指令値として設定する入力操作が行われた場合、指令値を脚式移動ロボットに送信する工程と、脚式移動ロボットが、指令値に従って脚を制御する工程とを備える。
【００１２】
本発明によるプログラムは、本発明による地形判断方法をコンピュータに実行させる。
【発明の効果】
【００１３】
地形に応じて脚式移動ロボットを適切に制御することを可能とする技術が提供される。
【図面の簡単な説明】
【００１４】
【図１】図１は、ロボットシステムの鳥瞰図である。
【図２】図２は、歩行装置と地面を示す。
【図３】図３は、ロボットシステムの構成を示すブロック図である。
【図４】図４は、起伏回避制御のフローチャートである。
【図５】図５は、歩行装置の足と地面を示す。
【図６】図６は、歩行装置の足と地面を示す。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明の実施形態を説明する。図１は、本実施形態におけるロボットシステムを示す鳥瞰図である。ロボットシステムは、歩行装置１と操作部２とを備える。歩行装置１は、二足歩行のヒューマノイドロボットである。歩行装置１は、操作部２との間で無線通信を行うことが可能である。オペレータは、操作部２に対して入力操作を行うことによって、歩行装置１を遠隔的に操作することができる。
【００１６】
図２は、歩行装置１と地面４を示す。歩行装置１は、左足１２と右足１３を備える。歩行装置１は、左足１２と右足１３を交互に踏み出すことによって地面４の上を歩行する。歩行装置１は、例えばその頭部に、３次元計測センサ１１を備える。３次元計測センサ１１は、レーザーレンジファインダやステレオカメラ等を用いて実現することができる。
【００１７】
３次元計測センサ１１は、例えばレーザーレンジファインダによって、３次元計測センサ１１から地面４の各点までの距離を計測し、その計測値を出力する。その計測値と、歩行装置１の位置及びその各関節の位置・姿勢に基づいて、所定の範囲１１１内の地面４の各位置の３次元座標が計算され、地面４の形状を示す点群データ（ポイントクラウド）が得られる。歩行装置１は、この点群データを用いて、地面４の状態に適合した歩行を行うことができる。歩行装置１は更に、この点群データを操作部２に送信する。操作部２は、受信した点群データに基づいて、地面４の形状を表示装置に表示することができる。オペレータは、その表示画面を見て、適切な歩行指示を歩行装置１に送信することができる。
【００１８】
図３は、ロボットシステムの構成を示すブロック図である。歩行装置１は、３次元計測センサ１４１、点群座標算出部１４２、地形認識部１４３、通信部１４４、コントローラ１４５、及びアクチュエータ１４６を備える。３次元計測センサ１４１は、図２に示された３次元計測センサ１１に相当する。
【００１９】
点群座標算出部１４２と地形認識部１４３は、有体の非遷移的な（ｔａｎｇｉｂｌｅ，ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な記憶媒体に格納されたプログラムを、歩行装置１が備える演算制御装置が読み出して実行することによって実現される機能ブロックである。通信部１４４は、操作部２と無線通信を行うための通信インターフェースである。
【００２０】
アクチュエータ１４６は、歩行装置１の手足の関節の角度の制御などを行う駆動装置である。コントローラ１４５は、歩行装置１の動作を制御するコンピュータであり、コントローラ１４５が出力する指令値に基づいて、アクチュエータ１４６が駆動することにより、歩行装置１が歩行などの動作を行う。
【００２１】
操作部２は、通信部２１、地形判断部２２、３次元表示部２３、及び制御入力部２４を備える。通信部２１は、歩行装置１と通信を行うための通信インターフェースである。地形判断部２２は、有体の非遷移的な記憶媒体に格納されたプログラムを、操作部２が備える演算制御装置が読み出して実行することによって実現される機能ブロックである。３次元表示部２３は、地形の鳥瞰図などを表示することができる表示装置である。制御入力部２４は、オペレータ３による入力操作を受け付けるキーボード、ポインティングデバイス、タッチパネル等の入力装置である。
【００２２】
本実施形態においては、歩行装置１に対して、地面４の起伏が大きい場所を避けて歩行する起伏回避制御が適用される。図４は、起伏回避制御のフローチャートである。
【００２３】
［ステップＳ１］
最初の状態で、歩行装置１は歩行を停止しているものとする。オペレータ３は、操作部２の制御入力部２４に対して、地形データの送信を要求する入力操作を行う。その入力操作に応じて、地形データ送信リクエストが無線通信により歩行装置１に送信される。
【００２４】
［ステップＳ２］
歩行装置１は、地形データ送信リクエストを受信すると、例えば頭部の角度を調節することにより、３次元計測センサ１４１が計測する地面４の範囲１１１が自らの足元の前方付近となるように調節する。その状態で、３次元計測センサ１４１は、その範囲１１１内の地面４をスキャンする。例えば、レーザーレンジファインダにより、３次元計測センサ１４１に対する、範囲１１１内の地面４の多数の地点の各々の距離を示すデータを生成する。
【００２５】
点群座標算出部１４２は、３次元計測センサ１４１によって得られたデータと、アクチュエータ１４６に設けられたエンコーダの検出値等から得られる歩行装置１の位置・姿勢などの情報を用いて、ワールド座標系における地表の３次元的な座標値を示す多数の点からなる点群データを算出する。地形認識部１４３は、点群データの座標値に基づいて、地面４の形状を示す地形データを生成する。
【００２６】
［ステップＳ３］
歩行装置１は、生成された地形データを操作部２に送信する。
【００２７】
［ステップＳ４］
操作部２が地形データを受信すると、３次元表示部２３は、その地形データに示される地面４の３次元的な形状を表示画面に表示する。オペレータ３は、その表示画面を参照し、歩行装置１が次に踏み出す足（左足１２又は右足１３）をどこに接地させるかを考える。オペレータ３は、例えば、ポインティングデバイスで画面上のポインタを操作することにより、足を接地させる位置の候補（接地候補位置）を仮決定し、制御入力部２４により入力する。この場合、制御入力部２４は、地面４に対して指定される指定位置（接地候補位置）を生成する指定位置生成部として機能する。この際、接地候補位置の入力と共に、足の姿勢（水平面内における足の長手方向の向き、すなわち爪先が向く方向）を共に指定するようにしてもよい。
【００２８】
［ステップＳ５］
地形判断部２２は、接地候補位置の地形データを用いて、その位置における足の置きやすさ、安定性、又は地形の平坦性を示す地形判定値であるスコアを算出し、３次元表示部２３により表示する。スコアは例えば、値が小さいほど足を安定して置くことが可能であり、値が大きいほど足が不安定となるため避けるべき場所であることを示す。スコアの算出方法については後述する。
【００２９】
［ステップＳ６］
オペレータ３は、表示されたスコアを参照することにより、入力した接地候補位置の安定度を客観的に知ることができる。オペレータ３は例えば、スコアがある程度大きい場合には、接地候補位置を修正して制御入力部２４に改めて入力する。すると地形判断部２２は修正された接地候補位置のスコアを計算し、３次元表示部２３に表示する。このようにして、オペレータ３は、１か所以上の接地候補位置のスコアを参照して、歩行装置１に指令する足の位置（接地指令位置）を決定することができる。
【００３０】
［ステップＳ７］
オペレータ３は、制御入力部２４に対する入力操作により、接地指令位置を入力する。操作部２は、接地指令位置を示すデータを、足跡計画（Ｆｏｏｔ  Ｐｌａｎ）として歩行装置１に送信する。
【００３１】
［ステップＳ８］
歩行装置１のコントローラ１４５は、足跡計画を受信すると、次に踏み出す足が接地指令位置において地面４に接地するように、各関節の回転角度などのアクチュエータ１４６に対する制御指令値を生成する。
【００３２】
［ステップＳ９］
コントローラ１４５は、生成した制御指令値に基づいてアクチュエータ１４６を駆動する。その結果、歩行装置１の足は、オペレータ３が入力した接地指令位置において地面４に接地し、オペレータ３が指令した歩行パターンが実現する。
【００３３】
［スコアの計算方法］
次に、上記ステップＳ５において地形判断部２２が生成する地形判定値であるスコアについて説明する。図５は、歩行装置１が備える足の足首付近と、地面４とを示す側面図である。この図においては、接地する直前の足が描かれている。図５を参照して、スコアについて説明する。
【００３４】
この説明においては、歩行装置１の脚の膝関節より先端側のリンク部材を脛１３１と称する。脛１３１の下端は、足首関節１３２を介して足５０に接続される。足５０は、足首関節１３２によって脛１３１に対してアクチュエータ１４６により制御された角度で回転可能に接続される。足首関節１３２は例えば、足５０を長手方向（概ね歩行装置１の前後方向、進行方向に一致）に搖動させる足首ピッチ軸関節である。すなわち、足５０の長手方向と脛１３１の長手方向の両方に対して垂直な回転軸を中心に回転する回転関節である。足首関節１３２の他の例としては、足を左右方向に搖動させるロール軸関節が挙げられる。
【００３５】
足５０は、その下側面として足裏５１（足平とも言う）を有する。足裏５１に、足首基準点４２３、爪先基準点４３３、及び踵基準点４４３が設定される。足首基準点４２３は、足首関節１３２に比較的近い位置に設定される。足首基準点４２３として例えば、歩行装置１をＺＭＰ（ゼロモーメントポイント）制御する場合に、床反力の作用点として扱われる点を設定することが望ましい。そのような点として例えば、歩行装置１が水平な地面４に安定的に立った状態において足首関節１３２の鉛直方向真下に位置する点が設定される。
【００３６】
足裏５１に対して、概ね足裏５１に沿った形状を有する平面である足裏仮想面が設定される。足首基準点４２３に対して、足裏仮想面に垂直なベクトルが、図５に足首基準法線ベクトル４２４として示されている。
【００３７】
足首基準点４２３よりも足首関節１３２から遠い足裏５１の位置に、少なくとも１つの検査点が設定される。以下の説明では、歩行装置１の自重を支持する重要な点として足首関節１３２に近い足首基準点４２３を設定し、それに対して離れた足裏５１の検査点における地形の起伏を検査する処理について記載する。
【００３８】
検査点の具体例としては、足首基準点４２３に対して前方側の足裏５１に、第１検査点が設定される。図５の例では、第１検査点として、足５０の爪先１３３付近に爪先基準点４３３が設定される。一方、足首基準点４２３に対して後方側の足裏５１に、第２検査点が設定される。図５の例では、第２検査点として、足５０の踵１３４付近に踵基準点４４３が設定される。
【００３９】
図５の側面図では足５０の幅方向が紙面の奥行き方向となっているため図示されていないが、第１検査点として爪先付近の左右の端部付近に２つの点を設け、第２検査点として踵付近の左右の端部付近に２つの点を設ける。すなわち、足裏５１の四隅に検査点を設定することが望ましい。このように設定すると、足裏５１に対する地面４の前後方向（ピッチ軸方向）の傾きと、左右方向（ロール軸方向）の傾きの両者をスコアに反映することができる。これらの足首基準点４２３及び検査点の位置は、操作部２の制御入力部２４に対する入力によって設定することができる。
【００４０】
次に、地面４に関する情報について説明する。図４のステップＳ２において、３次元計測センサ１４１により地面４が計測され、点群座標算出部１４２によって地面４の点群データ（ポイントクラウド）が生成される。図５の地面４の付近に分布する多数の点は、点群データ５５の要素を示す。
【００４１】
点群データ５５に基づいて、地面４の起伏に関する情報を得ることができる。図５に示された地点４１を例に、そのような起伏情報抽出処理について説明する。点群データ５５のうちの任意の点を地点４１として設定することができる。その地点４１の周囲に分布する点群データ５５が、周辺地点群４１０として設定される。周辺地点群４１０は例えば、地点４１を中心として３次元的に所定距離内に分布する点群データ５５である。
【００４２】
周辺地点群４１０の点群データ５５に対して、最小二乗法などによって回帰平面を求める。この回帰平面が、地点４１における地面４の傾斜を近似的に示す。その回帰平面に対する法線ベクトルとして、地点法線ベクトル４１１が決定される。地形判断部２２は、点群データ５５に基づいて、任意の地点４１における起伏情報である地点法線ベクトル４１１を算出する機能を有する。
【００４３】
以上のように算出される起伏情報に基づいて、以下のような処理が行われる。
（１）歩行装置１の歩行において、地面４に平行になるように足を置く地形追従制御。
（２）足を置いた地点の安定性を示すスコアを算出する処理。
以下、これらについて順に説明する。
【００４４】
［地形追従制御］
まず、地形追従制御について説明する。コントローラ１４５は、歩行装置１の足裏５１が概ね地面４に平行に接地するように地形追従制御を行う。まず、地形認識部１４３が以下のように足元地形検出処理を行う。点群データ５５のうち、足首基準点４２３に最も近い点が、足首地点４２として設定される。起伏情報抽出処理により、足首地点４２における地点法線ベクトル４１１が足首地点法線ベクトル４２１として算出される。
【００４５】
コントローラ１４５は、足が接地する際に、足の角度を示す足首基準法線ベクトル４２４が、地面４の角度を示す足首地点法線ベクトル４２１と平行になるように、アクチュエータ１４６（例えば足首のピッチ軸関節とロール軸関節）を制御する。このような制御により、地面４が多少の傾斜を有する場合でも、歩行装置１の自重を支える上で重要な足首直下の位置において、地面４に平行に足を置くことができる。その結果、歩行が安定する。
【００４６】
［スコア算出処理］
次に、スコア算出処理について説明する。操作部２は、起伏情報に基づいて、足裏５１の所定の位置と地面４との相対的な角度を計算する相対角度計算処理を行う機能を有する。次に、その相対角度計算処理について説明する。操作部２は、予め設定された検査点の位置情報と、歩行装置１から受信した歩行装置１の現在位置及び現在姿勢などの情報に基づいて、爪先基準点４３３のワールド座標系における座標値を知ることができる。従って、爪先基準点４３３を点群データ５５（地形のポイントクラウド）に位置合わせすることが可能である。
【００４７】
爪先基準点４３３の座標値に基づいて、点群データ５５のなかで爪先基準点４３３に最も近い点が、爪先地点４３として抽出される。爪先地点４３において地点法線ベクトル４１１の計算が行われ、計算結果が爪先地点法線ベクトル４３１として得られる。爪先地点法線ベクトル４３１は、爪先付近における地面４の傾斜を示す。
【００４８】
地形判断部２２は更に、爪先基準点４３３において足裏５１に垂直な方向を向く爪先基準法線ベクトル４３４を計算する。地形判断部２２は更に、爪先基準法線ベクトル４３４と爪先地点法線ベクトル４３１とのなす角度である爪先地点角度４３２を算出する。
【００４９】
地形判断部２２は、踵についても同様に相対角度計算処理を行う。まず、点群データ５５のうち、足首基準点４２３よりも後側の足裏５１に設定された踵基準点４４３に最も近い点が、踵地点４４として設定される。踵地点４４において、起伏情報抽出処理を行うことにより、踵地点法線ベクトル４４１が算出される。更に、踵基準点４４３において足裏５１に垂直な踵基準法線ベクトル４４４が算出される。地形判断部２２は更に、踵基準法線ベクトル４４４と踵地点法線ベクトル４４１とのなす角度である踵地点角度４４２を算出する。
【００５０】
但し、足裏５１に設定された足裏仮想面が平坦な場合、爪先基準法線ベクトル４３４と踵基準法線ベクトル４４４は足首基準法線ベクトル４２４と平行である。そのため、爪先地点角度４３２と踵地点角度４４２の算出には、爪先基準法線ベクトル４３４と踵基準法線ベクトル４４４を算出する必要は無く、代わりに足首基準法線ベクトル４２４を用いればよい。
【００５１】
地形判断部２２は、爪先地点角度４３２と踵地点角度４４２とに基づいて、地面４の起伏に関するスコアを算出する。例えば、爪先地点角度４３２と踵地点角度４４２を足した値をスコアとして算出する。爪先基準点４３３として左右に２点、踵基準点４４３に左右に２点の基準点を設定した場合は、それら合計４点における角度の和がスコアとして算出される。
【００５２】
このスコアは、次のような意味を持つ。地形追従制御により、歩行装置１は足首基準点４２３において概ね地面４に平行に接地する。このとき、爪先地点角度４３２や踵地点角度４４２が大きいと、爪先や踵においては足裏５１が地面４に平行に接地できず、安定性が低いことを意味する。従って、これらの角度に基づいて算出されるスコアを参照することにより、足を置く予定の位置における地面４の安定度を知ることができる。
【００５３】
以上の説明では爪先基準点４３３と踵基準点４４３をスコアの算出に用いたが、スコアの算出方法としては他の例も考えられる。スコアの算出は、少なくとも１つの検査点を設定すれば行うことができる。また多数の検査点を設定してスコアを算出することもできる。例えば、点群データ５５のうち、鉛直方向から見た水平面内で足裏５１と重なる位置に存在するすべての点について、各地点の地面４の法線ベクトルを算出し、スコアの算出に用いてもよい。その場合、例えば各点群データ５５における足裏５１の法線ベクトルに対する地面４の法線ベクトルの角度の平均値をスコアとして用いることができる。
【００５４】
上記の例では、スコアが大きいほど地面４の平坦度が低い（平坦でない）ことを示す。しかしながら逆に、スコアが大きいほど地面４の平坦度が高いことを示すようにしてもよい。例えば、各地点の相対角度の逆数を足してスコアを算出することにより、そのようなスコアを実現することができる。こうしたスコアの場合、オペレータ３は、スコアが高い場所を安定性が高い場所として選んでフットプランを作成する。
【００５５】
図４のステップＳ６で説明したように、オペレータ３はスコアを参照することにより、歩行装置１が足を置くのに適した場所を判断することができる。例えば、図６において、最初にオペレータ３が左側の破線で示される位置を接地候補位置として入力したとする。地形判断部２２は、その位置におけるスコアを算出して表示する。オペレータ３は、そのスコアが大きいと判断すると、例えば図６の右側の実線で示したように、少し後ろの位置に接地候補位置を修正する。地形判断部２２は、修正された接地候補位置におけるスコアを計算して表示する。オペレータは、修正された位置におけるスコアが十分に小さいと判断すると、その位置を接地指令位置として入力する。
【００５６】
このような制御は、特に、地面４の状況がどのようになっているのか不明な場所など、人間が歩行装置１を慎重に歩行させる必要がある場合に有効性が高い。本実施形態は脚式移動ロボットの脚の数に関係なく適用することが可能だが、特に、個々の足に高い安定性が求められる二足歩行ロボットの制御において有効性が高い。
【００５７】
上記の説明では、歩行装置１の次の一歩を設定する場合を例にして説明した。しかしながら、オペレータ３は操作部２を用いて、所定の領域を歩行するための一連の足の接地予定場所からなるフットプランを設定することができる。そのような使用法について以下に説明する。
【００５８】
歩行装置１は、地面４の上を自律歩行する。この場合、コントローラ１４５は、予め記憶した又は環境に応じて生成したフットプランに基づいて、地面４に対して指定される指定位置を生成する指定位置生成部として機能する。この際、既述の地形追従制御が行われる。すなわち、コントローラ１４５は、足裏５１を地面４の指定位置に置くときに、足首基準点４２３における足裏５１が地面４に対して平行になるように制御する。
【００５９】
歩行装置１は、指定位置に足を置くように歩行しながら、３次元計測センサ１４１で測定された地形データを操作部２に送信する。オペレータ３は、３次元表示部２３に表示された地形データを参照して、歩行装置１が地面４の起伏の多い箇所に差し掛かったとき、歩行装置１の停止を指令する。歩行装置１は、指令待ち状態となる。
【００６０】
オペレータ３は、ステップＳ４〜Ｓ６で示した操作により、スコアの小さい場所を選んで、フットプランの第１歩の接地指令位置として入力する。操作部２は、その位置をフットプラン情報として記憶する。次にオペレータ３は、その第１歩から歩行装置１が到達可能な場所について、ステップＳ４〜Ｓ６で示した操作により、第２歩の接地指令位置を入力する。以下、同様にして、第１歩から第ｎ歩までのフットプランが入力される。オペレータ３が制御入力部２４に対して所定の入力操作を行うと、そのフットプラン情報が歩行装置１に送信される。歩行装置１は、そのフットプランに従って歩行することにより、地形の起伏の少ない経路を歩くことができる。
【符号の説明】
【００６１】
１  歩行装置
１１  三次元計測センサ
１１１  視野
１２  左足（接地中）
１３  右足（空中）
１３１  脛部
１３２  足首関節
１３３  爪先
１３４  踵
１４１  三次元計測センサ
１４２  点群座標算出部
１４３  地形認識部
１４４  通信部
１４５  コントローラ
１４６  アクチュエータ
１５  右足（決定）
２  操作部
２１  通信部
２２  地形判断部
２３  三次元表示部
２４  制御入力部
３  オペレータ
４  地面
４１  地点
４１０  周辺地点群
４１１  法線
４２  足首地点
４２１  足首地点法線ベクトル
４２２  足首地点角度
４２３  足首基準点
４２４  足首基準法線ベクトル
４３  爪先地点
４３１  爪先地点法線ベクトル
４３２  爪先地点角度
４３３  爪先基準点
４３４  爪先基準法線ベクトル
４４  踵地点
４４１  踵地点法線ベクトル
４４２  踵地点角度
４４３  踵基準点
４４４  踵基準法線ベクトル
５０  足
５１  足裏
５２  足首地点
５２１  足首地点法線ベクトル
５２３  足首基準点
５２４  足首基準法線ベクトル
５３  爪先地点
５３１  爪先地点法線ベクトル
５３３  爪先基準点
５３４  爪先基準法線ベクトル
５４  踵地点
５４１  踵地点法線ベクトル
５４３  踵基準点
５４４  踵基準法線ベクトル
５５  点群データ
【図１】
2015175664.tif 000003
【図２】
2015175664.tif 000004
【図３】
2015175664.tif 000005
【図４】
2015175664.tif 000006
【図５】
2015175664.tif 000007
【図６】
2015175664.tif 000008