(57)【要約】【課題】走行目的に応じた自立歩行が可能な走行経路を決定する。【解決手段】情報処理装置１２は、走行目的取得部１２Ａと、設定部１２Ｅと、算出部１２Ｆと、演算部１２Ｇと、決定部１２Ｈと、を備える。走行目的取得部１２Ａは、移動体１１の走行目的を取得する。設定部１２Ｅは、移動体１１の前方領域に走行方向の異なる複数の走行経路を設定する。算出部１２Ｆは、複数の走行経路の各々毎に、複数の走行経路の各々を移動体１１が走行したときの走行状態の予測値を算出する。演算部１２Ｇは、走行目的に応じて予め定められた重み付け値と予測値とから、複数の走行経路の各々毎に、移動体１１が走行目的に応じた走行を実現するための評価値を演算する。決定部１２Ｈは、複数の走行経路の内、評価値によって示される評価の最も高い走行経路を、次に進行する走行経路として決定する。【選択図】図２
2017004373.tif 000002
【特許請求の範囲】
【請求項１】
移動体の走行目的を取得する走行目的取得手段と、
前記移動体の前方領域に走行方向の異なる複数の走行経路を設定する設定手段と、
複数の前記走行経路の各々毎に、複数の前記走行経路の各々を前記移動体が走行したときの走行状態の予測値を算出する算出手段と、
前記走行目的に応じて予め定められた重み付け値と前記予測値とから、複数の前記走行経路の各々毎に、前記移動体が前記走行目的に応じた走行を実現するための評価値を演算する演算手段と、
複数の前記走行経路の内、前記評価値によって示される評価の最も高い走行経路を、次に進行する走行経路として決定する決定手段と、
を備えた情報処理装置。
【請求項２】
前記演算手段は、前記走行目的に応じた重み付け値と前記予測値との乗算値から、前記評価値を演算する、請求項１に記載の情報処理装置。
【請求項３】
前記走行状態は、前記移動体の走行により変動する複数の変動要因によって規定され、
前記算出手段は、複数の前記変動要因の各々の予測値を、前記走行状態の予測値として算出し、
前記演算手段は、前記走行目的に応じて前記変動要因ごとに予め定められた前記重み付け値と対応する前記予測値とから、複数の前記走行経路の各々ごとに前記評価値を演算する、請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記重み付け値は、対応する前記走行目的を達成するための走行に対する影響の大きい前記変動要因に対応する重み付け値ほど値が大きい、請求項３に記載の情報処理装置。
【請求項５】
前記移動体の現在の移動速度を取得する速度取得手段を更に備え、
前記演算手段は、前記走行目的に応じて前記変動要因ごとに予め定められた前記重み付け値と対応する前記予測値との乗算値を前記変動要因ごとに演算し、前記変動要因ごとに演算した前記乗算値の合計値に前記移動速度の速度係数を乗算した値を、対応する前記走行経路の前記評価値として演算する、請求項３または請求項４に記載の情報処理装置。
【請求項６】
前記変動要因は、前記移動体の姿勢、前記移動体の揺れ具合、前記移動体の沈み込み、および、前記前方領域の地面の色、の少なくとも１つを含む、請求項３〜請求項５の何れか１項に記載の情報処理装置。
【請求項７】
前記設定手段は、前記移動体の移動可能な複数の前記走行方向の各々へ進行する経路を示す、複数の前記走行経路を設定する、請求項１〜請求項６の何れか１項に記載の情報処理装置。
【請求項８】
前記前方領域の地形を示す地形情報を取得する地形情報取得手段を備え、
前記算出手段は、前記地形情報によって示される地形上において、複数の前記走行経路の各々を前記移動体が現在の移動速度で走行したときの走行状態の前記予測値を算出する、請求項１〜請求項７の何れか１項に記載の情報処理装置。
【請求項９】
前記算出手段は、前記走行状態が悪いほど大きい値の前記予測値を算出する、請求項８に記載の情報処理装置。
【請求項１０】
移動体の走行目的を取得する取得ステップと、
前記移動体の前方領域に走行方向の異なる複数の走行経路を設定する設定ステップと、
複数の前記走行経路の各々毎に、複数の前記走行経路の各々を前記移動体が走行したときの走行状態の予測値を算出する算出ステップと、
前記走行目的に応じて予め定められた重み付け値と前記予測値とから、複数の前記走行経路の各々毎に、前記移動体が前記走行目的に応じた走行を実現するための評価値を演算する演算ステップと、
複数の前記走行経路の内、前記評価値によって示される評価の最も高い走行経路を、次に進行する走行経路として決定する決定ステップと、
をコンピュータに実行させるための情報処理プログラム。
【請求項１１】
前記演算ステップは、前記走行目的に応じた重み付け値と前記予測値との乗算値から、前記評価値を演算する、請求項１０に記載の情報処理プログラム。
【請求項１２】
前記走行状態は、前記移動体の走行により変動する複数の変動要因によって規定され、
前記算出ステップは、複数の前記変動要因の各々の予測値を、前記走行状態の予測値として算出し、
前記演算ステップは、前記走行目的に応じて前記変動要因ごとに予め定められた前記重み付け値と対応する前記予測値とから、複数の前記走行経路の各々ごとに前記評価値を演算する、請求項１０または請求項１１に記載の情報処理プログラム。
【請求項１３】
前記重み付け値は、対応する前記走行目的を達成するための走行に対する影響の大きい前記変動要因に対応する重み付け値ほど値が大きい、請求項１２に記載の情報処理プログラム。
【請求項１４】
前記移動体の現在の移動速度を取得する速度取得ステップを更に含み、
前記演算ステップは、前記走行目的に応じて前記変動要因ごとに予め定められた前記重み付け値と対応する前記予測値との乗算値を前記変動要因ごとに演算し、前記変動要因ごとに演算した前記乗算値の合計値に前記移動速度の速度係数を乗算した値を、対応する前記走行経路の前記評価値として演算する、請求項１２または請求項１３に記載の情報処理プログラム。
【請求項１５】
前記変動要因は、前記移動体の姿勢、前記移動体の揺れ具合、前記移動体の沈み込み、および、前記前方領域の地面の色、の少なくとも１つを含む、請求項１２〜請求項１４の何れか１項に記載の情報処理プログラム。
【請求項１６】
前記設定ステップは、前記移動体の移動可能な複数の前記走行方向の各々へ進行する経路を示す、複数の前記走行経路を設定する、請求項１０〜請求項１５の何れか１項に記載の情報処理プログラム。
【請求項１７】
前記前方領域の地形を示す地形情報を取得する地形情報取得ステップを含み、
前記算出ステップは、前記地形情報によって示される地形上において、複数の前記走行経路の各々を前記移動体が現在の移動速度で走行したときの走行状態の前記予測値を算出する、請求項１０〜請求項１６の何れか１項に記載の情報処理プログラム。
【請求項１８】
前記算出ステップは、前記走行状態が悪いほど大きい値の前記予測値を算出する、請求項１７に記載の情報処理プログラム。
【請求項１９】
情報処理装置と、前記情報処理装置に接続されたセンサと、前記情報処理装置に接続され、移動体を走行させる移動機構を駆動する駆動手段と、を備えた情報処理システムであって、
前記情報処理装置は、
前記移動体の走行目的を取得する走行目的取得手段と、
前記移動体の前方領域に走行方向の異なる複数の走行経路を設定する設定手段と、
複数の前記走行経路の各々毎に、複数の前記走行経路の各々を前記移動体が走行したときの走行状態の予測値を算出する算出手段と、
前記走行目的に応じて予め定められた重み付け値と前記予測値とから、複数の前記走行経路の各々毎に、前記移動体が前記走行目的に応じた走行を実現するための評価値を演算する演算手段と、
複数の前記走行経路の内、前記評価値によって示される評価の最も高い走行経路を、次に進行する走行経路として決定する決定手段と、
決定した前記走行経路を走行するように前記駆動手段を制御する駆動制御部と、
を備えた、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理プログラム、および情報処理システムに関する。
【背景技術】
【０００２】
自立走行する移動体が知られている。移動体を自立走行させる技術としては、移動体の前方領域をセンシングし、走行可能と判断した領域を走行させる技術が開示されている。
【０００３】
例えば、移動体の前方領域をセンシングするレーザレンジファインダで得たプロファイルデータを用い、前方領域を走行可能領域と走行不可能領域に区分けする技術が開示されている。また、走行可能領域や走行不可能領域の勾配や凹凸の度合いなどの物理量を、マルコフ連鎖モンテカルロ法を用いて精度良く得ることで、走行可能領域を安定して判別する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、移動体を、何等かの走行目的をもって自立走行させたい場合がある。この場合、走行目的に応じた走行を実現しつつ、自立走行させる必要がある。しかしながら、従来では、走行目的に応じた自立歩行が可能な走行経路を決定することは困難であった。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明に係る情報処理装置は、移動体の走行目的を取得する走行目的取得手段と、前記移動体の前方領域に走行方向の異なる複数の走行経路を設定する設定手段と、複数の前記走行経路の各々毎に、複数の前記走行経路の各々を前記移動体が走行したときの走行状態の予測値を算出する算出手段と、前記走行目的に応じて予め定められた重み付け値と前記予測値とから、複数の前記走行経路の各々毎に、前記移動体が前記走行目的に応じた走行を実現するための評価値を演算する演算手段と、複数の前記走行経路の内、前記評価値によって示される評価の最も高い走行経路を、次に進行する走行経路として決定する決定手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、走行目的に応じた自立歩行が可能な走行経路を決定することができる、という効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、本実施の形態の移動体の外観を示す模式図である。
【図２】図２は、移動体の機能ブロック図である。
【図３】図３は、走行経路の決定の説明図である。
【図４】図４は、予測値算出の説明図である。
【図５】図５は、機械学習を利用した予測値の算出の説明図である。
【図６】図６は、物理シミュレーションを利用した予測値の算出の説明図である。
【図７】図７は、第１の情報のデータ構成の一例を示す図である。
【図８】図８は、第１の情報のデータ構成の一例を示す図である。
【図９】図９は、情報処理の手順の一例を示すフローチャートである。
【図１０】図１０は、予測値算出処理の手順の一例を示すフローチャートである。
【図１１】図１１は、評価値演算処理の手順の一例を示すフローチャートである。
【図１２】図１２は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態の情報処理装置、情報処理プログラム、および情報処理システムについて説明する。
【０００９】
なお、本実施の形態では、情報処理システムを、自立走行する移動体に搭載した形態を一例として説明する。なお、情報処理システムは、移動体の本体とは別体として構成してもよい。
【００１０】
図１は、本実施の形態の移動体１１の外観を示す模式図である。本実施の形態では、移動体１１は、車両である場合を一例として説明する。
【００１１】
本実施の形態では、移動体１１には、情報処理システム１０が搭載されている。情報処理システム１０は、センサ１６と、センサ１４と、情報処理装置１２と、移動機構１８と、を備える。
【００１２】
移動機構１８は、移動体１１の本体を前方領域Ｐへ移動させる機構である。前方領域Ｐは、移動機構１８の進行方向における地面（または路面）上の領域である。移動機構１８は、移動体１１の本体を移動させる機能であればよい。移動機構１８は、例えば、タイヤや、キャタピラなどである。なお、移動体１１が生物の形態を模したロボットなどである場合、移動機構１８は、生物の足を模したロボットアーム部などであってもよい。
【００１３】
センサ１４は、移動体１１の本体の現在の状態を示す自機情報を検出する。自機情報は、移動体１１の移動速度、加速度、移動距離、緯度・経度・高度によって示される現在位置、移動体１１の現在の姿勢（傾き（ロール、ピッチ）および方向（ヨー））などを含む。また、自機情報は、移動体１１のスペック（サイズ、重さ、重心位置、最高速度、最高加減速度、最高回転速度）を含んでも良い。移動体１１のスペックは、予め記憶部２２に記憶してもよい。センサ１４は、例えば、加速度センサ、ジャイロセンサ、ロータリーエンコーダ、およびＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）を含む。
【００１４】
センサ１６は、移動体１１の周辺の三次元の地形を示す地形情報を検出する。センサ１６は、移動体１１の前方領域Ｐの地形情報を検出可能な位置および方向に配置されている。センサ１６は、例えば、ステレオカメラ、レーザレンジファインダ、および、超音波センサ、などである。
【００１５】
なお、センサ１６が、レーザレンジファインダや超音波センサである場合、得られる情報は二次元の情報である。このため、センサ１６がレーザファインダや超音波センサである場合には、センサ１６を上下方向（水平方向に対して直交する方向）に周期的に駆動させるためのアクチュエータを更に備えた構成とすればよい。これにより、センサ１６は、三次元の地形を示す地形情報を検出可能とすればよい。
【００１６】
情報処理装置１２は、情報処理システム１０を制御し、移動体１１を自立走行させる（詳細後述）。
【００１７】
図２は、情報処理システム１０の搭載された移動体１１の機能ブロック図である。情報処理システム１０は、ＵＩ（ユーザ・インターフェース）部２０と、センサ１４と、センサ１６と、記憶部２２と、駆動部２４と、移動機構１８と、情報処理装置１２と、を備える。ＵＩ部２０、センサ１４、センサ１６、記憶部２２、および駆動部２４と、情報処理装置１２と、は信号授受可能に接続されている。駆動部２４と移動機構１８とは信号授受可能に接続されている。
【００１８】
ＵＩ部２０は、ユーザによる操作入力を受け付けると共に、各種情報を表示する。ＵＩ部２０は、表示部２０Ａと、操作部２０Ｂと、を含む。
【００１９】
表示部２０Ａは、各種情報を表示する。表示部２０Ａは、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの公知の表示装置である。なお、情報処理システム１０は、表示部２０Ａを含まない構成であってもよい。
【００２０】
操作部２０Ｂは、ユーザから各種操作を受け付ける。操作部２０Ｂは、例えば、ボタン、リモコン、マイクによる音声認識、およびキーボードなどである。
【００２１】
記憶部２２は、各種データを記憶する。
【００２２】
駆動部２４は、移動機構１８を駆動する。駆動部２４は、例えば、１または複数のモータやギアなどを組み合わせた構成である。駆動部２４は、情報処理装置１２の制御によって移動機構１８を駆動する。移動機構１８は、駆動部２４から伝播された駆動力に応じた方向に、該駆動力に応じた速度で駆動する。移動機構１８の駆動により、移動体１１は走行する。
【００２３】
情報処理装置１２は、情報処理システム１０を制御する。本実施の形態では、情報処理装置１２は、移動体１１の自立走行を制御する。
【００２４】
情報処理装置１２は、ＣＰＵ、ＲＯＭ、およびＲＡＭなどによって実現される。情報処理装置１２は、ＣＰＵ以外の回路などによって実現されてもよい。
【００２５】
情報処理装置１２は、走行目的取得部１２Ａと、自機情報取得部１２Ｂと、地形情報取得部１２Ｄと、設定部１２Ｅと、算出部１２Ｆと、演算部１２Ｇと、決定部１２Ｈと、登録部１２Ｉと、移動制御部１２Ｊと、を含む。走行目的取得部１２Ａ、自機情報取得部１２Ｂ、地形情報取得部１２Ｄ、設定部１２Ｅ、算出部１２Ｆ、演算部１２Ｇ、決定部１２Ｈ、登録部１２Ｉ、および移動制御部１２Ｊの一部または全ては、例えば、ＣＰＵなどの処理装置にプログラムを実行させること（すなわちソフトウェア）により実現してもよいし、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのハードウェアにより実現してもよいし、併用して実現してもよい。
【００２６】
ここで、ユーザが、移動体１１を走行目的に応じて自立走行させることを望む場合がある。すなわち、走行目的によって、走行目的を満たすための走行を実現可能な経路が変わる場合がある。
【００２７】
そこで、本実施の形態では、走行目的取得部１２Ａは、移動体１１の走行目的を取得する。走行目的は、移動体１１を自立走行させる目的である。走行目的は、例えば、荷物搬送（速度優先）、荷物搬送（精度優先）、薬剤散布、囲場管理、作業補助、危険地帯調査、惑星探索、案内、救助、などである。
【００２８】
本実施の形態では、走行目的取得部１２Ａは、ＵＩ部２０から走行目的を取得する。ユーザは、ＵＩ部２０を操作することで、移動体１１の走行目的を入力する。走行目的取得部１２Ａは、ＵＩ部２０から走行目的を取得する。なお、記憶部２２が予め走行目的を記憶してもよい。この場合、走行目的取得部１２Ａは、記憶部２２から走行目的を読取ることによって、走行目的を取得すればよい。また、走行目的取得部１２Ａは、通信回線などを介して外部装置から走行目的を取得してもよい。
【００２９】
自機情報取得部１２Ｂは、センサ１４の検知結果を用いて、自機情報を取得する。すなわち、自機情報取得部１２Ｂは、センサ１４から、移動体１１の移動速度、加速度、移動距離、緯度・経度・高度によって示される現在位置、移動体１１の現在の姿勢（傾き（ロール、ピッチ）および方向（ヨー））、移動体１１のスペック（サイズ、重さ、重心位置、最高速度、最高加減速度、最高回転速度）などの自機情報を取得する。なお、自機情報取得部１２Ｂは、移動体１１のスペックを、記憶部２２から読取ることで取得してもよい。
【００３０】
なお、自機情報取得部１２Ｂは、センサ１４の検知結果を用いて、自機情報を算出してもよい。
【００３１】
例えば、移動体１１の現在位置を算出する場合、センサ１４に搭載されたロータリーエンコーダからオドメトリを取得する手法や、センサ１４に搭載されたＧＰＳから取得したＧＰＳ情報を用いて公知の方法により現在位置を算出する方法を用いればよい。
【００３２】
自機情報取得部１２Ｂは、速度取得部１２Ｃを含む。速度取得部１２Ｃは、移動体１１の現在の移動速度を示す速度情報を取得する。速度取得部１２Ｃは、センサ１４の検知結果から速度情報を算出することで、速度情報を取得すればよい。
【００３３】
地形情報取得部１２Ｄは、前方領域Ｐの地形を示す地形情報を取得する。地形情報取得部１２Ｄは、センサ１６から地形情報を取得する。本実施の形態では、地形情報取得部１２Ｄは、センサ１６から取得した前方領域Ｐの地形情報から、緯度・経度・高度の三次元座標を画素ごとに規定した地形画像を生成する形態を説明する。
【００３４】
なお、センサ１６がステレオカメラの場合には、地形情報取得部１２Ｄは、左右の画像のマッチングを取ることで地形画像を生成すればよい。また、センサ１６がレーザレンジファインダや超音波センサである場合には、地形情報取得部１２Ｄは、センサ１６の検知結果である二次元の情報を、上記アクチュエータの振動角度に応じて合成することで、地形画像を生成すればよい。
【００３５】
設定部１２Ｅは、移動体１１の前方領域Ｐに、走行方向の異なる複数の走行経路を設定する。なお、移動機構１８の構成によっては、移動体１１が移動不可能な方向がある。
【００３６】
例えば、移動体１１が車両のような非ホロノミック系のシステムである場合、移動機構１８は、タイヤの車軸に沿った方向へ直接移動することは困難である。このため、設定部１２Ｅは、移動体１１の移動可能な複数の走行方向の各々へ進行する経路を示す、複数の走行経路を設定することが好ましい。
【００３７】
すなわち、設定部１２Ｅは、移動体１１の移動時の制約条件を考慮し、複数の走行経路Ａを設定する。設定部１２Ｅによる走行経路Ａの設定方法としては、移動体１１の移動速度、加速度、および分解能を用いた設定方法が挙げられる。例えば、設定部１２Ｅは、「Ｆｏｘ，  Ｄｉｅｔｅｒ，  Ｗｏｌｆｒａｍ  Ｂｕｒｇａｒｄ，  ａｎｄ  Ｓｅｂａｓｔｉａｎ  Ｔｈｒｕｎ．  Ｔｈｅ  ｄｙｎａｍｉｃ  ｗｉｎｄｏｗ  ａｐｐｒｏａｃｈ  ｔｏ  ｃｏｌｌｉｓｉｏｎ  ａｖｏｉｄａｎｃｅ．  ＩＥＥＥ  Ｒｏｂｏｔｉｃｓ  ＆  Ａｕｔｏｍａｔｉｏｎ  Ｍａｇａｚｉｎｅ  ４．１  （１９９７）：  ２３−３３．」に記載の方法を用いて、走行経路Ａを設定すればよい。
【００３８】
このように、設定部１２Ｅが、移動体１１の移動可能な走行方向へ走行経路を設定することで、走行時に移動体１１が移動不可能な不測状態に陥ることを避けることができる。
【００３９】
図３は、設定部１２Ｅによる走行経路Ａの決定の説明図である。図３（Ａ）に示すように、例えば、移動体１１が、走行経路Ａ１〜走行経路Ａ５の方向へは移動可能であるが、方向Ｂ１への直接移動は、移動体１１の移動機構１８の構成上困難であるとする。この場合、設定部１２Ｅは、移動可能な方向の走行経路Ａ１〜走行経路Ａ５の内の複数を、設定すればよい。例えば、図３（Ｂ）に示すように、設定部１２Ｅは、走行経路Ａ１、走行経路Ａ２、および走行経路Ａ３を、設定する。
【００４０】
なお、設定部１２Ｅが設定する走行経路Ａは、複数であればよく、３つに限定されない。
【００４１】
図２に戻り、算出部１２Ｆは、設定部１２Ｅが設定した複数の走行経路Ａの各々ごとに、複数の走行経路Ａの各々を移動体１１が走行したときの走行状態の予測値を算出する。
【００４２】
走行状態は、走行時における移動体１１の状態を示す。走行状態は、例えば、移動体１１の走行により変動する複数の変動要因によって規定される。変動要因は、例えば、移動体１１の姿勢、移動体１１の揺れ具合、移動体１１の沈み込み、および、前方領域Ｐの地面の色、の少なくとも１つを含む。なお、変動要因は、更に、他の変動要因を含んでいても良く、上記に挙げた要因に限定されない。
【００４３】
算出部１２Ｆは、前方領域Ｐの地形情報を用いて走行状態の予測値を算出する。本実施の形態では、算出部１２Ｆは、地形情報取得部１２Ｄが取得した地形画像と、設定部１２Ｅが設定した複数の走行経路Ａと、を用いて、予測値を算出する。算出部１２Ｆは、走行状態を規定する複数の変動要因の各々ごとに、予測値を算出することが好ましい。
【００４４】
図４は、予測値算出の説明図である。算出部１２Ｆは、設定部１２Ｅが設定した複数の走行経路Ａを読取る。本実施の形態では、設定部１２Ｅは、走行経路Ａ１〜走行経路Ａ３の３つの走行経路Ａを設定するものとして説明する。このため、算出部１２Ｆは、走行経路Ａ１〜走行経路Ａ３の３つの走行経路Ａを読取る。
【００４５】
そして、算出部１２Ｆは、設定された各走行経路Ａ（走行経路Ａ１〜走行経路Ａ３）の各々について、下記処理を行う。
【００４６】
具体的には、算出部１２Ｆは、設定された走行経路Ａを地形画像上の対応する位置に配置する。算出部１２Ｆは、自機情報取得部１２Ｂで取得した自機情報と、設定部１２Ｅで設定された走行経路Ａと、を用いて、設定された走行経路Ａを地形画像上の対応する位置に公知の方法を用いて配置すればよい。
【００４７】
そして、算出部１２Ｆは、地形画像上に配置した走行経路Ａ上に、探索範囲Ｆを設定する。図４（Ａ）には、一例として、走行経路Ａ１に探索範囲Ｆを設定した状態を示した。探索範囲Ｆは、移動体１１の前方領域Ｐにおける台形形状の領域であり、台形形状の領域の平行な２辺の内の短辺側が移動体１１に近い側に設定される。探索範囲Ｆの、走行経路Ａ１に沿った方向の長さ（台形形状の領域の平行な２辺の間隔に相当）は、移動体１１の走行経路Ａ１に沿った方向の長さを超える長さであればよい。
【００４８】
図４には、探索範囲Ｆにおける走行経路Ａ１に沿った方向の長さが、移動体１１の走行経路Ａ１に沿った方向の長さの約１．５倍である場合を示した。しかし、この長さに限定されない。
【００４９】
そして、算出部１２Ｆは、地形画像上の探索範囲Ｆ内における、走行経路Ａ１に沿った最も移動体１１側の位置である初期位置に、ウィンドウＷを配置する（ウィンドウＷ１参照）。ウィンドウＷは、移動体１１に相当する大きさおよび形状であればよい。
【００５０】
そして、算出部１２Ｆは、地形画像上のウィンドウＷ１内について、予測値を算出する。このとき、算出部１２Ｆは、ウィンドウＷ１内について、走行状態を規定する複数の変動要因の各々ごとに、予測値を算出することが好ましい。例えば、算出部１２Ｆは、ウィンドウＷ１内について、移動体１１の姿勢の予測値、移動体１１の揺れ具合の予測値、および移動体１１の沈み込みの予測値、の各々を算出する。
【００５１】
そして、算出部１２Ｆは、予測値を算出する度に、ウィンドウＷを走行経路Ａに沿って移動体１１から離れる方向に予め定めた移動量ｗｄ移動させる。そして、ウィンドウＷにおける移動体１１とは反対側の端部が探索範囲Ｆの移動体１１とは反対側の端部の位置に到達するまで、ウィンドウＷの移動と予測値の算出とを繰り返す（ウィンドウＷ１〜ウィンドウＷ３参照）。
【００５２】
そして、情報処理装置１２では、予測値に基づいて、後述する評価値の演算などによって次に進行する走行経路Ａ（例えば、走行経路Ａ１）を決定する（詳細後述）。そして、情報処理装置１２は、決定した走行経路Ａ（例えば、走行経路Ａ１）に沿って、移動体１１を探索範囲Ｆ分を移動させた後に、再度、探索範囲Ｆ内の各ウィンドウＷについての予測値の算出を繰り返す（図４（Ｂ）参照）。
【００５３】
なお、ウィンドウＷは、上述したように、移動体１１と同じサイズおよび形状であればよい。しかし、探索範囲Ｆが軟弱な地盤や凹凸の大きい路面である場合、移動体１１が走行時に予測した走行経路Ａから多少ずれて走行する場合がある。このため、ウィンドウＷを、探索範囲Ｆにおいて、走行経路Ａに対して交差する方向にも移動させてもよい（図４（Ｂ）、ウィンドウＷ２Ａ、ウィンドウＷ２Ｂ参照）。
【００５４】
この場合、算出部１２Ｆは、ウィンドウＷを走行経路Ａに沿って移動体１１から離れる方向に予め定めた移動量ｗｄ移動させる移動処理と、走行経路Ａに交差する方向へウィンドウＷを往復移動させる移動処理と、を、ウィンドウＷ内の予測値を算出する度に繰り返し実行すればよい。
【００５５】
このように、算出部１２Ｆは、設定部１２Ｅで設定した走行経路Ａの各々について、予測値を算出する。このため、本実施の形態では、移動体１１が走行する可能性の無い経路に対しては予測値の算出処理を行わないので、処理時間の短縮および処理の簡略化を図ることができる。
【００５６】
このようにして、算出部１２Ｆは、設定された走行経路Ａを移動体１１が走行するときの走行状態を示す予測値を算出する。本実施の形態では、算出部１２Ｆは、走行状態が悪いほど大きい値の予測値を算出する。また、算出部１２Ｆは、走行状態が良好であるほど、小さい値の予測値を算出する。
【００５７】
走行状態が悪い、とは、移動体１１の走行により変動する上述した変動要因の値がより大きい事を示す。具体的には、走行状態が悪い、とは、移動体１１の姿勢、移動体１１の揺れ具合、移動体１１の沈み込み、および地面の色、などが、移動体１１の走行に最も好ましい走行状態から離れた状態であることを示す。
【００５８】
例えば、算出部１２Ｆは、移動体１１の姿勢が基準姿勢とは異なる姿勢となる走行経路Ａであるほど、悪い走行状態を示す予測値（本実施の形態では、より大きい値の予測値）を算出する。また、算出部１２Ｆは、移動体１１の姿勢が揺れの変動の無い基準状態より大きい揺れとなる走行経路Ａであるほど、悪い走行状態を示す予測値（本実施の形態では、より大きい値の予測値）を算出する。
【００５９】
また、例えば、算出部１２Ｆは、移動体１１の走行時の沈み込みが沈み込みの無い基準状態より大きい沈み込みとなる走行経路Ａであるほど、悪い走行状態を示す予測値（本実施の形態では、より大きい値の予測値）を算出する。また、例えば、算出部１２Ｆは、走行経路Ａの地面の色が、より姿勢や揺れの乱れた走行を生じさせる色（例えば、大きな岩などを示す色）であるほど、悪い走行状態を示す予測値（本実施の形態では、より大きい値の予測値）を算出する。
【００６０】
このような予測値の算出には、機械学習を利用する方法や、物理シミュレーションを利用する方法などを用いればよい。
【００６１】
まず、機械学習を利用する場合について説明する。図５は、機械学習を利用した予測値の算出の説明図である。
【００６２】
機械学習を利用する場合、地面の３次元の特徴量（地形、地表の情報など）と、教師データ（移動体１１のロール角、ピッチ角の姿勢情報）と、を学習データとするデータベースをあらかじめ用意する。そして、回帰分析によって姿勢予測モデルを予め作成する。
【００６３】
具体的には、図５に示すように、特徴量と教師データとの関係を示す姿勢予測モデル４０を予め生成する。そして、算出部１２Ｆは、地形情報取得部１２Ｄから得た地形画像上における、設定した走行経路ＡのウィンドウＷ内における地形情報によって示される３次元の特徴量を、この姿勢予測モデル４０に入力する。この処理により、算出部１２Ｆは、姿勢予測モデル４０から、移動体１１の予測される姿勢情報（教師データ）を得る。そして、算出部１２Ｆは、得られた姿勢情報が、移動体１１の姿勢が揺れの変動の無い基準状態より大きい揺れとなる走行経路Ａであるほど、悪い走行状態を示す予測値（本実施の形態では、より大きい値の予測値）を算出すればよい。
【００６４】
このように、学習データから姿勢予測モデルを予め構築しておくことにより、移動体１１の姿勢情報を予測し、走行状態の予測値を算出することができる。
【００６５】
なお、ここでは、姿勢情報を予測する姿勢予測モデルを一例として説明したが、機械学習を利用する方法で予め用意するモデルは、姿勢情報の予測に限定されない。例えば、地形の凸凹具合を特徴量とし、そこを通った時の移動体１１の角速度をジャイロセンサで読み取ったその変化量を教師データとした角速度モデルを予め用意してもよい。この場合、算出部１２Ｆは、この角速度モデルに、地形情報取得部１２Ｄから得た地形画像上における、設定した走行経路ＡのウィンドウＷ内における地形情報によって示される地形の凹凸具合を、この角速度モデルに入力すればよい。そして、この処理により、算出部１２Ｆは、角速度モデルから、移動体１１の予測される角速度の変化量を得る。そして、算出部１２Ｆは、得られた角速度の変化量が、移動体１１の姿勢が角速度（揺れ）の変動の無い基準状態より大きい変化量となる走行経路Ａであるほど、悪い走行状態を示す予測値（本実施の形態では、より大きい値の予測値）を算出すればよい。
【００６６】
次に、物理シミュレーションを利用する場合について説明する。図６は、物理シミュレーションを利用した予測値の算出の説明図である。
【００６７】
この場合、算出部１２Ｆは、地面の３次元情報である地形情報（地形画像を用いてもよい）を基に３Ｄモデリングを行う。詳細には、算出部１２Ｆは、地面の三次元情報である地形情報Ｑ（図６（Ａ）参照）を、複数の三角メッシュｔにより表現する（図６（Ｂ）参照）。そして、算出部１２Ｆは、予め作成した移動体１１の３Ｄモデルが、該地形情報Ｑによって示される地形画像上の決定された走行経路Ａ１を通る時に発生する力学的な現象を、物理計算により求める。
【００６８】
これにより、算出部１２Ｆは、実際に起こるであろう現象を模擬的に再現する。このモデリング精度が高いほど、現実世界に起こることを正確にシミュレートすることができる。例えば、雑草を剛体としてではなく「踏むとつぶれる」という現象までシミュレートすると、移動体１１がその上を通った時（すなわち、移動体１１が雑草を踏みつぶした時）に、移動体１１がどれくらい沈み込むかを事前に再現することができる。
【００６９】
なお、算出部１２Ｆは、地形情報取得部１２Ｄで取得した地形情報によって示される地形上において、設定された複数の走行経路Ａの各々を移動体１１が現在の移動速度で走行したときの走行状態の予測値を算出してよい。
【００７０】
この場合、機械学習を利用するときには、移動体１１の移動速度ごとに、上記姿勢予測モデルや角速度モデルなどの、機械学習に用いるモデルを予め生成すればよい。そして、算出部１２Ｆは、速度取得部１２Ｃで取得した、移動体１１の現在の移動速度に対応するモデルを用いて、上記機械学習を利用する方法により、予測値を算出すればよい。また、物理シミュレーションを利用する場合には、速度取得部１２Ｃで取得した移動体１１の現在の移動速度で、移動体１１が地形情報Ｑによって示される地形画像上の決定された走行経路Ａ１を通る時に発生する力学的な現象を、物理計算により求めればよい。
【００７１】
このように、算出部１２Ｆが、機械学習を利用する方法や、物理シミュレーションを利用する方法などを用いて、予測値を算出することで、様々なバリエーションの移動体１１の走行状態を予測できる。
【００７２】
上記のようにして、本実施の形態では、算出部１２Ｆは、設定部１２Ｅで設定された複数の走行経路Ａの各々について、走行状態の予測値を算出する。
【００７３】
すなわち、本実施の形態では、算出部１２Ｆは、走行経路Ａ上の探索範囲Ｆ内に設定した複数のウィンドウＷの各々について、走行状態を規定する複数の変動要因（移動体１１の姿勢、移動体１１の揺れ具合、移動体１１の沈み込み、など）ごとの予測値を算出する。これにより、算出部１２Ｆは、対応する走行経路Ａの走行状態の予測値を算出する場合を説明する。
【００７４】
図２に戻り、演算部１２Ｇは、走行目的取得部１２Ａで取得した走行目的に応じて予め定められた重み付け値と、算出部１２Ｆで算出した予測値と、から、設定部１２Ｅで設定された複数の走行経路Ａの各々毎に、移動体１１が走行目的に応じた走行を実現するための評価値を演算する。
【００７５】
演算部１２Ｇは、走行目的に対応する重み付け値を規定した第１の情報を予め記憶部２２に記憶する。そして、この第１の情報を用いて、評価値の演算を行う。
【００７６】
図７は、第１の情報５０のデータ構成の一例を示す図である。図７に示すように、第１の情報５０は、走行目的と、重み付け値と、を対応付けた情報である。図７には、第１の情報５０は、走行目的と、特徴と、重み付け値と、を対応づけた第１の情報５０を一例として示した。第１の情報５０は、データベースであってもよいし、テーブルであってもよく、そのデータ形式は限定されない。
【００７７】
走行目的は、上述したように、走行の目的を示す。上述したように、走行目的は、例えば、荷物搬送（速度優先）、荷物搬送（精度優先）、薬剤散布、囲場管理、作業補助、危険地帯調査、惑星探索、商業施設案内、救助、などである。特徴は、対応する走行目的を達成するために必要な、走行時の特徴を示す。
【００７８】
例えば、走行目的が“荷物搬送（速度優先）”である場合、例えば、移動体１１を素早く移動させるように走行させる必要がある。また、走行目的が“荷物搬送（精度優先）”である場合、例えば、移動体１１に搭載された荷物を傷つけないように走行させる必要がある。また、走行目的が“薬剤散布”である場合、例えば、薬剤を万遍なく散布可能に走行させる必要がある。また、走行目的が“囲場管理”である場合、例えば、囲場内を万遍なく走行し且つ綺麗な映像が撮影されるように走行させる必要がある。
【００７９】
また、例えば、走行目的が“作業補助”である場合、例えば、移動体１１が人について行き、且つ移動体１１を転倒しないように走行させる必要がある。また、走行目的が“危険地帯調査”である場合、例えば、崩れやすい地面を移動体１１が転倒しないように走行させる必要がある。また、例えば、走行目的が“惑星探索”である場合、転倒せず且つゆっくり確実に進むように、移動体１１を走行させる必要がある。また、走行目的が“商業施設案内”である場合、屋内を転倒しないように素早く移動体１１を走行させる必要がある。また、走行目的が“救助”である場合、素早く且つ転倒しないように移動体１１を走行させる必要がある。
【００８０】
第１の情報５０に登録されている特徴は、このような対応する走行目的を達成するために必要な、走行時の特徴を示す。
【００８１】
第１の情報５０には、対応する走行目的に応じた重み付け値が予め登録されている。
【００８２】
重み付け値は、対応する走行目的に応じて予め定められた係数である。第１の情報５０には、例えば、予め定めた正常姿勢を維持しながらの走行を必要とする走行目的であるほど、より大きい重み付け値が定められている。なお、図７に示すように、各走行目的に対応する各変動要因の重み付け値は、各走行目的に対応する各変動要因の重み付け値の合計値が“１０”となるように、予め正規化されている。
【００８３】
本実施の形態では、重み付け値は、走行目的に応じて、上記変動要因ごとに予め定められている。図７に示す例では、第１の情報５０には、変動要因である“姿勢”、“揺れ具合”、“沈み込み”の各々に対する重み付け値が、走行目的ごとに予め定められている。
【００８４】
本実施の形態では、対応する走行目的を達成するための走行に対する影響の大きい変動要因ほど、対応する重み付け値の値が大きくなるように、予め重み付け値が定められている。
【００８５】
例えば図７に示す例では、走行目的が“荷物搬送（速度優先）”である場合、変動要因“姿勢”、“揺れ具合”、“沈み込み”の内、変動要因“姿勢”の重み付け値が最も大きくなるように、重み付け値が予め登録されている。これは、対応する走行目的が、走行時の揺れや沈み込みに比べて、姿勢維持を重視する走行であることを示している。
【００８６】
一方、走行目的が“荷物搬送（精度優先）”である場合、変動要因“姿勢”、“揺れ具合”、“沈み込み”の内、変動要因“揺れ具合”の重み付け値が最も大きく、変動要因“姿勢”の重み付け値が最も小さくなるように、重み付け値が予め登録されている。これは、対応する走行目的が、走行時の姿勢や沈み込みに比べて、揺れ具合の少なさを重視する走行であることを示している。
【００８７】
第１の情報５０に登録される重み付け値は、予め登録してもよいし、ユーザによる操作部２０Ｂの操作によって適宜変更可能としてもよい。ユーザによる操作によって適宜変更可能とすることで、最適な重み付け値が登録されるように、適宜調整することが可能となる。
【００８８】
例えば、荷物を載せた移動体１１を移動させる場合には、変動要因“揺れ”の重み付け値が大きくなるように変更することも可能である。また、傾いても自動復帰可能な機構が移動体１１に搭載されている場合、変動要因“揺れ”の重み付け値が小さくなるように変更することも可能である。このように、移動体１１の走行目的や移動体１１の機能などによって、重み付け値を調整することで、移動体１１の走行目的および移動体１１の機能に応じた最適な走行経路Ａを決定することができる。
【００８９】
なお、第１の情報５０に示した重み付け値は、移動体１１の種類に応じた値としてもよい。例えば、図７に示す第１の情報５０に登録されている重み付け値は、移動体１１が車両であることを想定した値の一例である。一方、移動体１１が生物の形態を模したロボットなどである場合、比較的大きな凹凸の路面を走行する場合であっても、走行時の揺れは車両に比べて小さいと考えられる。また、転倒回避機構を備えたロボットである場合、沈み込みについても、走行時の揺れは車両に比べて小さいと考えられる。このため、移動体１１の種類に応じて、各走行目的に対応する重み付け値を予め登録することが好ましい。
【００９０】
演算部１２Ｇは、走行目的に応じて変動要因ごとに予め定められた重み付け値と、対応する予測値と、から、設定された複数の走行経路Ａの各々ごとに評価値を演算する。なお、本実施の形態では、演算部１２Ｇは、走行経路Ａ上の探索範囲Ｆ内に設定した複数のウィンドウＷの各々について算出された予測値を用いて、走行経路Ａごとに、複数のウィンドウＷの各々について評価値を演算する。そして、演算部１２Ｇは、各走行経路Ａに対応する複数のウィンドウＷの各々について演算した評価値を加算した加算値を、対応する走行経路Ａの評価値として演算する。
【００９１】
例えば、演算部１２Ｇは、走行目的に応じた重み付け値と予測値との乗算値から、評価値を演算する。
【００９２】
詳細には、演算部１２Ｇは、下記式（１）によって示される評価関数を用いて、各走行経路ＡのウィンドウＷごとに、評価値を演算する。評価関数は、速度係数σ、重み付け値、および走行状態の予測値によって規定される。なお、式（１）は、走行状態を規定する変動要因が、“姿勢”、“揺れ具合”、“沈み込み”の３つである場合の評価関数の一例である。
【００９３】
Ｅ＝σ×（α×Ｐ＋β×Ｒ＋γ×Ｓ）  ・・・式（１）
【００９４】
式（１）中、Ｅは、ウィンドウＷに対する評価値を示す。σは、現在の移動体１１の移動速度から決定される速度係数を示す。αは、変動要因“姿勢”の重み付け値を示す。Ｐは、該ウィンドウＷに対する変動要因“姿勢”の予測値を示す。βは、変動要因“揺れ具合”の重み付け値を示す。Ｒは、該ウィンドウＷに対する変動要因“揺れ具合”の予測値を示す。γは、変動要因“沈み込み”の重み付け値を示す。Ｓは、該ウィンドウＷに対する変動要因“沈み込み”の予測値を示す。
【００９５】
速度係数σは、例えば、以下のようにして算出すればよい。演算部１２Ｇは、自機情報取得部１２Ｂで取得した自機情報に含まれる、移動体１１のスペック（サイズ、重さ、重心位置、最高速度、最高加減速度、最高回転速度）から、移動体１１の最高速度を読取る。そして、演算部１２Ｇは、読取った最高速度と、最低速度“０”と、の間で、移動体１１の現在の移動速度を正規化することで、速度係数σを算出すればよい。そして、ウィンドウＷに対する評価値の算出に用いればよい。
【００９６】
このように、演算部１２Ｇは、上記式（１）によって示される評価関数を用いて、ウィンドウＷごとに評価値Ｅを演算する。そして、演算部１２Ｇは、設定部１２Ｅで設定された各走行経路Ａに対応する複数のウィンドウＷの各々について演算した評価値を加算した加算値を、対応する走行経路Ａの評価値として演算する。
【００９７】
すなわち、演算部１２Ｇは、走行目的に応じて変動要因ごとに予め定められた重み付け値と対応する予測値との乗算値を変動要因ごとに演算し、変動要因ごとに演算した乗算値の合計値に速度係数を乗算した値を、対応する走行経路Ａの評価値として演算する。
【００９８】
移動体１１の移動速度によって、走行状態は変化する場合がある。このため、演算部１２Ｇが、移動体１１の現在の移動速度の速度係数を、変動要因ごとに演算した予測値と重み付け値との乗算値の合計値に乗算することで、移動体１１の移動速度についても考慮した評価値を演算することできる。
【００９９】
なお、図７には、走行状態を規定する変動要因が、“姿勢”、“揺れ具合”、“沈み込み”の３つである場合の第１の情報５０の一例を示した。しかし、変動要因は、３つに限定されず、４つ以上、または２つであってもよい。
【０１００】
図８は、走行状態を規定する変動要因が４つ以上である場合の第１の情報５２のデータ構成の一例を示す図である。図８に示すように、第１の情報５２は、走行目的ごとに、ｎ個（ｎは４以上の整数）の変動要因“ａ１”、“ａ２”、“ａ３”〜“ａｎ”の各々の重み付け値を定めたものであってもよい。また、第１の情報５０（図７参照）と同様に、各走行目的に対応する各変動要因の重み付け値は、各走行目的に対応する各変動要因の重み付け値の合計値が“１０”となるように、予め正規化されていればよい。
【０１０１】
この場合、演算部１２Ｇは、式（２）に示す評価関数を用いて、評価値を演算すればよい。
【０１０２】
Ｅ＝σ×（ｂ１×Ｆ１＋ｂ２×Ｆ２＋ｂ３×Ｆ３・・・・＋ｂｎ×Ｆｎ）・・式（２）
【０１０３】
式（２）中、Ｅは、ウィンドウＷに対する評価値を示す。σは、現在の移動体１１の移動速度から決定される速度係数を示す。ｂ１〜ｂｎの各々は、各変動要因ａ１〜ａｎの各々の重み付け値を示す。Ｆ１〜Ｆｎの各々は、該ウィンドウＷに対する各変動要因ａ１〜ａｎの各々の予測値を示す。
【０１０４】
このように、変動要因が４つ以上などである場合についても、演算部１２Ｇは、上記と同様にして、走行経路Ａの評価値を演算すればよい。
【０１０５】
図２に戻り、決定部１２Ｈは、設定部１２Ｅによって設定された複数の走行経路Ａの内、演算部１２Ｇで演算された評価値によって示される評価の最も高い走行経路Ａを、次に進行する走行経路Ａとして決定する。
【０１０６】
上述したように、本実施の形態では、算出部１２Ｆは、走行状態が悪いほど大きい値の予測値を算出する。また、算出部１２Ｆは、走行状態が良好であるほど、小さい値の予測値を算出する。また、第１の情報５０には、例えば、予め定めた正常姿勢を維持しながらの走行を必要とする走行目的であるほど、より大きい重み付け値が定められている。
【０１０７】
このため、決定部１２Ｈは、より小さい値の評価値であるほど、評価が高いとして判別し、最も評価の高い（すなわち、最も評価値の小さい）走行経路Ａを、次に進行する走行経路Ａとして決定する。すなわち、決定部１２Ｈは、走行目的に応じた理想的な走行を最も実現可能な走行経路Ａを、次に進行する走行経路Ａとして決定することとなる。
【０１０８】
そして、決定部１２Ｈは、決定した走行経路Ａを、記憶部２２へ登録する。また、決定部１２Ｈは、決定した走行経路Ａを、移動制御部１２Ｊおよび登録部１２Ｉへ出力する。
【０１０９】
登録部１２Ｉは、決定した走行経路Ａを、地形情報取得部１２Ｄで取得した地形画像上に登録し、記憶部２２へ記憶する。
【０１１０】
移動制御部１２Ｊは、決定部１２Ｈから受け付けた走行経路Ａを走行するように、駆動部２４を制御する。移動制御部１２Ｊによる制御に応じた駆動部２４の駆動によって、移動機構１８は、受付けた走行経路Ａを走行する。
【０１１１】
次に、本実施の形態の情報処理装置１２で実行する情報処理の手順を説明する。
【０１１２】
図９は、情報処理装置１２が実行する情報処理の手順の一例を示すフローチャートである。
【０１１３】
まず、走行目的取得部１２Ａが、移動体１１の走行目的を取得する（ステップＳ１００）。次に、設定部１２Ｅが、移動体１１の前方領域Ｐに、走行方向の異なる複数の走行経路Ａを設定する（ステップＳ１０２）。設定部１２Ｅは、設定した複数の走行経路Ａを、地形情報取得部１２Ｄで得た地形画像上に登録する（ステップＳ１０４）。
【０１１４】
次に、算出部１２Ｆが、ステップＳ１０２で設定部１２Ｅが設定した複数の走行経路Ａの各々ごとに、複数の走行経路Ａの各々を移動体１１が走行したときの走行状態の予測値を算出する（ステップＳ１０６）。算出部１２Ｆは、ステップＳ１０２で設定された複数の走行経路Ａの各々ごとに、探索範囲Ｆ内の各ウィンドウＷについて、変動要因（例えば、姿勢、揺れ具合、沈み込み、など）毎に予測値を算出する。なお、ステップＳ１０６の予測値算出処理の詳細は後述する。
【０１１５】
次に、演算部１２Ｇが、ステップＳ１００で取得した走行目的に応じて、ステップＳ１０２で設定部１２Ｅが設定した複数の走行経路Ａの各々ごとに、移動体１１が走行目的に応じた走行を実現するための評価値を演算する（ステップＳ１０８）。ステップＳ１０８の評価値演算処理の詳細は後述する。
【０１１６】
次に、決定部１２Ｈが、ステップＳ１０２で設定部１２Ｅによって設定された複数の走行経路Ａの内、ステップＳ１０８で演算部１２Ｇによって演算された評価値によって示される評価の最も高い走行経路Ａを、次に進行する走行経路Ａとして決定する（ステップＳ１１０）。
【０１１７】
次に、移動制御部１２Ｊが、ステップＳ１１０で決定した走行経路Ａに沿って走行するように、駆動部２４を制御する（ステップ１１２）。移動制御部１２Ｊによる制御に応じた駆動部２４の駆動によって、移動機構１８は、ステップＳ１１０で決定した走行経路Ａを走行する。
【０１１８】
次に、移動制御部１２Ｊは、移動体１１が探索範囲Ｆ分移動したと判断するまで（ステップＳ１１４：Ｙｅｓ）、否定判断（ステップＳ１１４：Ｎｏ）を繰り返す。移動制御部１２Ｊは、移動体１１の前面（移動体１１の走行方向の下流側端部）が探索範囲Ｆにおける探索範囲Ｆの端部に達したか否かを判別することで、ステップＳ１１４の判断を行う。
【０１１９】
詳細には、記憶部２２に、予め探索範囲Ｆによって規定される台形形状の領域の平行な２辺の間隔を予め記憶する。そして、移動制御部１２Ｊは、前回ステップＳ１０２〜ステップＳ１１０の処理を実行したときの移動体１１の現在位置から、該間隔分走行したと判別したときに、ステップＳ１１４で肯定判断すればよい。該間隔分走行したか否かの判別は、自機情報取得部１２Ｂが取得する自機情報を用いて行えばよい。
【０１２０】
そして、ステップＳＳ１１４で肯定判断すると（ステップＳ１１４：Ｙｅｓ）、ステップＳ１１６へ進む。ステップＳ１６では、情報処理装置１２は、自走を終了するか否かを判断する（ステップＳ１１６）。ステップＳ１１６の判断は、例えば、移動体１１が予め設定された目的地に到達したか否か、走行目的に応じた走行を終了したか否か、または、ユーザによる操作部２０Ｂの操作によって走行終了が指示されたか否か、を判別することで行えばよい。
【０１２１】
ステップＳ１１６で否定判断すると（ステップＳ１１６：Ｎｏ）、上記ステップＳ１０２へ戻る。一方、上記ステップＳ１１６で肯定判断すると（ステップＳ１１６：Ｙｅｓ）、本ルーチンを終了する。
【０１２２】
なお、ステップＳ１０２〜ステップＳ１１６の処理は、移動体１１が走行を開始した後に実行することが好ましい。
【０１２３】
次に、図９のステップＳ１０６の予測値算出処理を説明する。図１０は、予測値算出処理の手順を示すフローチャートである。
【０１２４】
まず、算出部１２Ｆは、地形情報取得部１２Ｄから地形画像を取得する（ステップＳ２００）。次に、算出部１２Ｆは、ステップＳ１０２（図９参照）で設定部１２Ｅが設定した複数の走行経路Ａを読取る（ステップＳ２０２）。
【０１２５】
次に、算出部１２Ｆは、ステップＳ２０２で読取った走行経路Ａごとに、ステップＳ２０４〜ステップＳ２１４の処理を繰り返し実行する。
【０１２６】
まず、算出部１２Ｆは、ステップＳ２０４において、地形情報取得部１２Ｄで取得した地形画像上に配置した走行経路Ａ上に、探索範囲Ｆを設定する（ステップＳ２０４）。次に、算出部１２Ｆは、地形画像上の探索範囲Ｆ内における、走行経路Ａに沿った最も移動体１１側の位置である初期位置に、ウィンドウＷをセットする（図４中、ウィンドウＷ１参照）（ステップＳ２０６）。
【０１２７】
次に、算出部１２Ｆは、セットしたウィンドウＷ内について、走行状態を規定する複数の変動要因の各々ごとの予測値を算出する（ステップＳ２０８）。そして、算出部１２Ｆは、現在処理中の走行経路Ａの識別情報およびウィンドウＷの識別情報に対応づけて、算出した各変動要因の各々ごとの予測値を、地形画像上の対応する位置上または記憶部２２に登録する（ステップＳ２１０）。
【０１２８】
次に、算出部１２Ｆは、ウィンドウＷの位置を変更する（ステップＳ２１２）。ステップＳ２１２では、算出部１２Ｆは、現在処理中の走行経路Ａに沿って移動体１１から離れる方向に、ウィンドウＷを予め定めた移動量ｗｄ移動させる。
【０１２９】
なお、この移動量ｗｄは、移動体１１の現在の移動速度や、ステップＳ１００（図９参照）で取得した走行目的に応じて決定すればよい。例えば、移動体１１の現在の移動速度が速いほど、ウィンドウＷの移動量ｗｄが小さくなるように調整すればよい。この調整処理により、より細やかな予測値Ｓを算出することができる。
【０１３０】
そして、ステップＳ２１２で移動させた後のウィンドウＷ２が、ステップＳ２０４で設定した探索範囲Ｆ内に位置しているか否かを判断する（ステップＳ２１４）。ステップＳ２１４で否定判断すると（ステップＳ２１４：Ｎｏ）、上記ステップＳ２０８へ戻る。
【０１３１】
ステップＳ２１４で肯定判断すると（ステップＳ２１４：Ｙｅｓ）、本ルーチンを終了する。
【０１３２】
ステップＳ２００〜ステップＳ２１４の処理を実行することによって、算出部１２Ｆは、ステップＳ１０２（図９参照）で設定された複数の走行経路Ａの各々ごとに、探索範囲Ｆ内の各ウィンドウＷについて、変動要因（例えば、姿勢、揺れ具合、沈み込み、など）毎に予測値を算出する。
【０１３３】
次に、図９のステップＳ１０８で実行する評価値演算処理を説明する。図１１は、評価値演算処理の手順の一例を示すフローチャートである。
【０１３４】
まず、演算部１２Ｇは、地形情報取得部１２Ｄで取得した地形画像を読取る（ステップＳ３００）。次に、演算部１２Ｇは、ステップＳ１０２（図９参照）で設定部１２Ｅが設定した複数の走行経路Ａと、ステップＳ１０６（図９参照）で算出部１２Ｆが走行経路Ａごとに算出した予測値と、を読取る（ステップＳ３０２）。
【０１３５】
次に、演算部１２Ｇは、ステップＳ１０２（図９参照）で設定部１２Ｅが設定した複数の走行経路Ａの各々ごとに、ステップＳ３０４〜ステップＳ３０６の処理を繰り返し実行する。
【０１３６】
詳細には、演算部１２Ｇは、ステップＳ１００（図９参照）で取得した走行目的に応じて変動要因ごとに予め定められた重み付け値と、各変動要因について算出された予測値と、から、走行経路Ａ上に設定された探索範囲Ｆ内の複数のウィンドウＷごとに評価値を演算する（ステップＳ３０４）。
【０１３７】
次に、演算部１２Ｇは、ステップＳ３０４で複数のウィンドウＷの各々について演算した評価値を加算した加算値を、走行経路Ａの評価値として演算する（ステップＳ３０６）。
【０１３８】
そして、演算部１２Ｇは、ステップＳ１０２（図９参照）で設定された複数の走行経路Ａの全てについてステップＳ３０４〜ステップＳ３０６の処理を行うと、ステップＳ３０８へ進む。ステップＳ３０８では、演算部１２Ｇは、各走行経路Ａごとに演算した評価値を、対応する走行経路Ａの識別情報に対応づけて、地形画像上の対応する位置上または記憶部２２に登録する（ステップＳ３０８）。
【０１３９】
ステップＳ３００〜ステップＳ３０８の評価値演算処理を演算部１２Ｇが実行することによって、ステップＳ１０２（図９参照）で設定された複数の走行経路Ａの各々ごとに、評価値が演算される。
【０１４０】
以上説明したように、本実施の形態の情報処理装置１２は、走行目的取得部１２Ａと、設定部１２Ｅと、算出部１２Ｆと、演算部１２Ｇと、決定部１２Ｈと、を備える。走行目的取得部１２Ａは、移動体１１の走行目的を取得する。設定部１２Ｅは、移動体１１の前方領域Ｐに走行方向の異なる複数の走行経路Ａを設定する。算出部１２Ｆは、複数の走行経路Ａの各々毎に、複数の走行経路Ａの各々を移動体１１が走行したときの走行状態の予測値を算出する。演算部１２Ｇは、走行目的に応じて予め定められた重み付け値と予測値とから、複数の走行経路Ａの各々毎に、移動体１１が走行目的に応じた走行を実現するための評価値を演算する。決定部１２Ｈは、複数の走行経路Ａの内、評価値によって示される評価の最も高い走行経路Ａを、次に進行する走行経路Ａとして決定する。
【０１４１】
このように、本実施の形態の情報処理装置１２は、走行目的に応じて、自立歩行が可能な走行経路Ａを決定する。従って、本実施の形態の情報処理装置１２は、走行目的に応じた自立歩行が可能な走行経路を決定することができる。
【０１４２】
また、演算部１２Ｇは、走行目的に応じた重み付け値と予測値との乗算値から、評価値を演算することができる。
【０１４３】
また、走行状態は、移動体１１の走行により変動する複数の変動要因によって規定される。そして、算出部１２Ｆは、複数の変動要因の各々の予測値を、走行状態の予測値として算出する。演算部１２Ｇは、走行目的に応じて変動要因ごとに予め定められた重み付け値と対応する予測値とから、複数の走行経路Ａの各々ごとに評価値を演算してもよい。
【０１４４】
また、重み付け値は、対応する走行目的を達成するための走行に対する影響の大きい変動要因に対応する重み付け値ほど値が大きい。
【０１４５】
また、速度取得部１２Ｃは、移動体１１の現在の移動速度を取得する。そして、演算部１２Ｇは、走行目的に応じて変動要因ごとに予め定められた重み付け値と対応する予測値との乗算値を変動要因ごとに演算し、変動要因ごとに演算した乗算値の合計値に移動速度の速度係数を乗算した値を、対応する走行経路Ａの評価値として演算することが好ましい。
【０１４６】
また、変動要因は、移動体１１の姿勢、移動体１１の揺れ具合、移動体１１の沈み込み、および、前方領域Ｐの地面の色、の少なくとも１つを含む。
【０１４７】
また、設定部１２Ｅは、移動体１１の移動可能な複数の走行方向の各々へ進行する経路を示す、複数の走行経路Ａを設定することが好ましい。
【０１４８】
また、地形情報取得部１２Ｄは、前方領域Ｐの地形を示す地形情報を取得する。算出部１２Ｆは、地形情報によって示される地形上において、複数の走行経路Ａの各々を移動体１１が現在の移動速度で走行したときの走行状態の予測値を算出することが好ましい。
【０１４９】
また、算出部１２Ｆは、走行状態が悪いほど大きい値の予測値を算出することが好ましい。
【０１５０】
また、本実施の形態の情報処理プログラムは、移動体１１の走行目的を取得するステップと、移動体１１の前方領域Ｐに走行方向の異なる複数の走行経路Ａを設定するステップと、複数の走行経路Ａの各々毎に、複数の走行経路Ａの各々を移動体１１が走行したときの走行状態の予測値を算出するステップと、走行目的に応じて予め定められた重み付け値と予測値とから、複数の走行経路Ａの各々毎に、移動体１１が走行目的に応じた走行を実現するための評価値を演算するステップと、複数の走行経路Ａの内、評価値によって示される評価の最も高い走行経路Ａを、次に進行する走行経路Ａとして決定するステップと、をコンピュータに実行させるための情報処理プログラムである。
【０１５１】
また、本実施の形態の情報処理システム１０は、情報処理装置１２と、情報処理装置１２に接続されたセンサ１４およびセンサ１６と、情報処理装置１２に接続された駆動部２４を備えた情報処理システム１０である。情報処理装置１２は、走行目的取得部１２Ａと、設定部１２Ｅと、算出部１２Ｆと、演算部１２Ｇと、決定部１２Ｈと、移動制御部１２Ｊと、を備える。走行目的取得部１２Ａは、移動体１１の走行目的を取得する。設定部１２Ｅは、移動体１１の前方領域Ｐに走行方向の異なる複数の走行経路Ａを設定する。算出部１２Ｆは、複数の走行経路Ａの各々毎に、複数の走行経路Ａの各々を移動体１１が走行したときの走行状態の予測値を算出する。演算部１２Ｇは、走行目的に応じて予め定められた重み付け値と予測値とから、複数の走行経路Ａの各々毎に、移動体１１が走行目的に応じた走行を実現するための評価値を演算する。決定部１２Ｈは、複数の走行経路Ａの内、評価値によって示される評価の最も高い走行経路Ａを、次に進行する走行経路Ａとして決定する。移動制御部１２Ｊは、決定した走行経路Ａを走行するように駆動部２４を制御する。
【０１５２】
なお、本実施の形態では、情報処理システム１０を、自立走行する移動体１１に搭載した形態を一例として説明した。しかし、情報処理システム１０は、移動体１１の本体とは別体として構成してもよい。また、情報処理システム１０は、遠隔操作される公知の無人の移動体（例えば、リモートコントローラなどによって制御される移動体、具体的には、ドローンなど）や、人が運転操作する自動車などの公知の移動体にも適用可能である。
【０１５３】
次に、本実施の形態における情報処理装置１２のハードウェア構成を説明する。
【０１５４】
図１２は、本実施の形態における情報処理装置１２のハードウェア構成の一例を示す図である。
【０１５５】
本実施の形態における情報処理装置１２は、ＣＰＵ６０、ＲＯＭ６２、ＲＡＭ６４、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）６６、およびＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）６８を有する。ＣＰＵ６０、ＲＯＭ６２、ＲＡＭ６４、Ｉ／Ｆ６６、およびＨＤＤ６８は、バス７０により相互に接続されており、通常のコンピュータを利用したハードウェア構成となっている。また、Ｉ／Ｆ６６には、公知の表示装置や、ユーザによる各種操作を受け付ける操作部や、上述した駆動部２４や、センサ１４や、センサ１６など（図１参照）が接続されている。
【０１５６】
本実施の形態における情報処理装置１２で実行される上記各種処理を実行するためのプログラムは、ＲＯＭ６２などに予め組み込んで提供される。
【０１５７】
なお、本実施の形態における情報処理装置１２で実行される上記各種処理を実行するためのプログラムは、これらの装置にインストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記録されて提供するように構成してもよい。
【０１５８】
また、本実施の形態における情報処理装置１２で実行される上記各種処理を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態における情報処理装置１２で実行される上記各種処理を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１５９】
本実施の形態における情報処理装置１２で実行される上記各種処理を実行するためのプログラムは、上述した各部を含むモジュール構成となっている。実際のハードウェアとしてはＣＰＵがＲＯＭ等の記憶媒体から各プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、主記憶装置上に生成されるようになっている。
【０１６０】
なお、上記には、実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１６１】
１０  情報処理システム
１１  移動体
１２  情報処理装置
１２Ａ  走行目的取得部
１２Ｃ  速度取得部
１２Ｄ  地形情報取得部
１２Ｅ  設定部
１２Ｆ  算出部
１２Ｇ  演算部
１２Ｈ  決定部
１２Ｊ  移動制御部
１４  センサ
１６  センサ
１８  移動機構
２４  駆動部
【先行技術文献】
【特許文献】
【０１６２】
【特許文献１】特許５１９２８６８号公報
【図１】
2017004373.tif 000003
【図２】
2017004373.tif 000004
【図３】
2017004373.tif 000005
【図４】
2017004373.tif 000006
【図５】
2017004373.tif 000007
【図６】
2017004373.tif 000008
【図７】
2017004373.tif 000009
【図８】
2017004373.tif 000010
【図９】
2017004373.tif 000011
【図１０】
2017004373.tif 000012
【図１１】
2017004373.tif 000013
【図１２】
2017004373.tif 000014