(57)【要約】【課題】走行車の現在位置及び姿勢を正確に求める。【解決手段】走行車１は、本体部１１と、レーザレンジセンサ１３と、記憶部１４１と、局所地図作成部１４２と、自己位置推定部１４３とを備えている。レーザレンジセンサ１３は、本体部１１に設けられ、複数の測定データを取得する。記憶部１４１は、経路に沿って設けられた柱Ｏや壁Ｗが記録された環境地図Ｍ１を記憶する。局所地図作成部１４２は、複数の測定データの集合に基づいて直線Ｘ１を算出する。自己位置推定部１４３は、直線Ｘ１と、直線Ｘ１の算出に使用していない測定データである点ａ５〜ａ１０とを、環境地図Ｍ１と照合することで、本体部１１の位置及び姿勢を算出する。【選択図】図８
2020077162.tif 000002
【特許請求の範囲】
【請求項１】
経路を走行する走行車本体と、
前記走行車本体に設けられ、複数の測定データを取得する測距センサと、
前記経路に沿って設けられた構成物が記録された地図データを記憶する地図データ記憶部と、
前記複数の測定データの集合に基づいて直線を算出する直線算出部と、
前記直線と、前記直線の算出に使用していない測定データとを、前記地図データと照合することで、前記走行車本体の位置及び姿勢を算出する位置及び姿勢算出部と、
を備えた走行車。
【請求項２】
前記地図データは直線データのみで構成されており、
前記位置及び姿勢算出部は、前記複数の測定データの集合に基づいて算出された直線のみを用いて前記地図データを更新する、請求項１に記載の走行車。
【請求項３】
前記複数の測定データから直線を作成するか否かを判断する測定データ判断部をさらに備え、
前記測定データ判断部は、前記判断において、一時刻前の測定結果と今回の測定結果の比較結果を利用する、請求項１又は２に記載の走行車。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走行車、特に、自己の位置を算出しながら走行する走行車に関する。
【背景技術】
【０００２】
従来から、周囲環境の中を自律して移動する移動体が知られている。移動体が周囲環境の中を自律して移動するためには、移動空間内の物体（以下、障害物と称す）が存在する領域と存在しない領域とを表した環境地図が必要となる。
このような環境地図の取得方法については、種々の方法が考案されているが、近年、移動しつつ、リアルタイムで位置の推定と環境地図の作成を行う技術としてＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）が注目されている。ＳＬＡＭを利用して、レーザレンジファインダ（ＬＲＦ：Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ）又はカメラによる距離計測の結果で得られた局所地図と、環境地図をマッチングすることで自己位置推定を行う移動ロボットが提案されている。
また、局所地図の作成手段として、反射光の強度の強い集合から直線を作成して、それを用いて走行車位置を算出している走行車が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１６１３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の走行車では、複数の計測値から算出した直線データを元に位置及び姿勢計算を行うことによって、全体の計算量を減らしている。しかし、下記の問題が想定される。
第１に、センサと柱などの対象物の位置関係によっては、複数の計測値を正しく直線化できない場合や、検出数不足により直線化ができない場合がある。
第２に、遮蔽物により、本来検出したい壁データの対象物が検出できず、検出数不足により直線化ができない場合がある。
上記のように直線化できなかった計測値は、位置及び姿勢計算に反映されない。また、正しく直線化できなかった計測値は壁データとの差異が大きいため、こちらも位置及び姿勢計算に反映されない。そのため上記問題が発生しやすい環境では、位置及び姿勢計算を失敗する場合がある。
【０００５】
本発明の目的は、走行車の現在位置及び姿勢を正確に求めることにある。
【課題を解決するための手段】
【０００６】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
【０００７】
本発明の一見地に係る走行車は、走行車本体と、測距センサと、地図データ記憶部と、直線算出部と、位置及び姿勢算出部とを備えている。
走行車本体は、経路を走行する。
測距センサは、走行車本体に設けられ、複数の測定データを取得する。
地図データ記憶部は、経路に沿って設けられた構成物が記録された地図データを記憶する。
直線算出部は、複数の測定データの集合に基づいて直線を算出する。
位置及び姿勢算出部は、直線と、直線の算出に使用していない測定データとを、地図データと照合することで、走行車本体の位置及び姿勢を算出する。
この走行車では、走行車本体の位置及び姿勢算出において、直線算出に使用していない測定データも利用することで、走行車本体の現在位置及び姿勢をより正確に算出できる。つまり、位置及び姿勢計算の失敗を防ぎ、ロバスト性を向上させることができる。
直線算出に使用していない測定データは、具体的には、直線化する前の計測値（点データ）である。
【０００８】
地図データは直線データのみで構成されていてもよい。
位置及び姿勢算出部は、複数の測定データの集合に基づいて算出された直線のみを用いて地図データを更新してもよい。
この走行車では、直線の算出に使用した測定データは位置算出のみに用いられるので、それらは地図データの更新に用いられない。
【０００９】
走行車は、複数の測定データから直線を作成するか否かを判断する測定データ判断部をさらに備えていてもよい。
測定データ判断部は、上記判断において、一時刻前の測定結果と今回の測定結果の比較結果を利用してもよい。例えば、今回の測定結果に基づいて作成された直線が、前回は直線と判断されていれば、今回も直線と判断する。
この走行車では、直線であるか否かを正確に判断できる。
【発明の効果】
【００１０】
本発明に係る走行車では、走行車本体の現在位置及び姿勢を正確に求めることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態としての走行車システムの模式的平面図。
【図２】走行車の模式的構成図。
【図３】制御部の構成を示すブロック図。
【図４】走行車の制御動作の概略を示すフローチャート。
【図５】局所地図を作成する制御動作のフローチャート。
【図６】走行車の走行状況を示す模式的平面図。
【図７】環境地図の一部を示す図。
【図８】局所地図の一部を示す図。
【発明を実施するための形態】
【００１２】
１．第１実施形態
（１）自律走行車システムの全体構成
図１を用いて、第１実施形態の走行車システム１００の構成を説明する。図１は、本発明の第１実施形態としての走行車システムの模式的平面図である。走行車システム１００は、複数の走行車１ａ、１ｂ、１ｃ、１ｄ、１ｅを含む。複数の走行車１ａ〜１ｅは、移動領域ＭＥ（例えば、工場内）を移動する搬送ロボットである。
なお、図１では走行車の数は５であるが、数は限定されない。
さらに、以下の説明では、走行車を一般的に説明する場合は、「走行車１」とする。
【００１３】
走行車システム１００は、管理コントローラ３（図３）を有している。管理コントローラ３は、後述する車上コントローラ１４と同じく一般的なコンピュータである。
管理コントローラ３は、複数の走行車１ａ〜１ｅと通信可能である。管理コントローラ３は、走行車１ａ〜１ｅに走行指令を送信する。
【００１４】
（２）走行車の構成
図２を用いて、走行車１の構成を説明する。図２は、走行車の模式的構成図である。
走行車１は、本体部１１（走行車本体の一例）を有する。本体部１１は、走行車１を構成する筐体である。本実施形態において、後述する「自己位置」は、移動領域ＭＥを表す環境地図上における本体部１１の中心の位置（座標）と定義する。また、「自身」との語は、走行車１の本体部１１のことを指すこととする。
【００１５】
走行車１は、移動部１２を有する。移動部１２は、例えば、本体部１１を移動させる差動二輪型の走行部である。
具体的には、移動部１２は、一対のモータ１２１ａ、１２１ｂを有する。一対のモータ１２１ａ、１２１ｂは、本体部１１の底部に設けられた、例えばサーボモータやブラシレスモータなどの電動モータである。
移動部１２は、一対の駆動車輪１２３ａ、１２３ｂを有する。一対の駆動車輪１２３ａ、１２３ｂは、一対のモータ１２１ａ、１２１ｂにそれぞれ接続される。
【００１６】
走行車１は、レーザレンジセンサ１３（測距センサの一例）を有する。レーザレンジセンサ１３は、例えば、レーザ発振器によりパルス発振されたレーザ光を、移動領域ＭＥ中の柱Ｏや壁Ｗに放射状に照射し、それらから反射した反射光をレーザ受信器により受信することにより、それらに関する情報を取得する。レーザレンジセンサ１３は、例えば、レーザレンジファインダ（ＬＲＦ：Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ）である。
レーザレンジセンサ１３は、本体部１１の前部に配置された前方レーザレンジセンサ１３１と、本体部１１の後部に配置された後方レーザレンジセンサ１３３と、を有する。
【００１７】
前方レーザレンジセンサ１３１は、本体部１１の前方に左右方向にレーザ光を放射状に発生することにより、前方レーザレンジセンサ１３１を中心とした本体部１１の前方の半径２０ｍ程度の円内に含まれる柱Ｏ１〜Ｏ３や壁Ｗに関する情報を取得する。
後方レーザレンジセンサ１３３は、本体部１１の後方に左右方向にレーザ光を放射状に発生することにより、後方レーザレンジセンサ１３３を中心とした本体部１１の後方の半径２０ｍ程度の円内に含まれる柱Ｏ１〜Ｏ３や壁Ｗに関する情報を取得する。
なお、上記レーザレンジセンサの検出可能距離は、上記の値に限られず、走行車システム１００の用途等に応じて適宜変更できる。
【００１８】
走行車１は、図示しない荷保持部及び／又は荷移載装置を有している。これにより、走行車１は荷を搬送して、他の装置との間で荷を移載できる。
【００１９】
（３）車上コントローラの構成
走行車１は、車上コントローラ１４を有する。図３を用いて、車上コントローラ１４の構成を説明する。図３は、制御部の構成を示すブロック図である。
車上コントローラ１４は、プロセッサ（例えば、ＣＰＵ）と、記憶装置（例えば、ＲＯＭ、ＲＡＭ、ＨＤＤ、ＳＳＤなど）と、各種インターフェース（例えば、Ａ／Ｄコンバータ、Ｄ／Ａコンバータ、通信インターフェースなど）を有するコンピュータシステムである。車上コントローラ１４は、記憶部（記憶装置の記憶領域の一部又は全部に対応）に保存されたプログラムを実行することで、各種制御動作を行う。
車上コントローラ１４は、単一のプロセッサで構成されていてもよいが、各制御のために独立した複数のプロセッサから構成されていてもよい。
【００２０】
車上コントローラ１４の各要素の機能は、一部又は全てが、制御部を構成するコンピュータシステムにて実行可能なプログラムとして実現されてもよい。その他、車上コントローラ１４の各要素の機能の一部は、カスタムＩＣにより構成されていてもよい。
車上コントローラ１４には、図示しないが、各装置の状態を検出するためのセンサ及びスイッチ、並びに情報入力装置が接続されている。
【００２１】
車上コントローラ１４は、記憶部１４１（地図データ記憶部の一例）を有する。記憶部１４１は、車上コントローラ１４を構成するコンピュータシステムの記憶装置の記憶領域の一部である。記憶部１４１は、走行車１を制御するために用いられる各種情報を記憶する。
具体的には、記憶部１４１には、環境地図Ｍ１が記憶されている。環境地図Ｍ１は、経路に沿って設けられた構成物が記録された地図データである。より具体的には、環境地図Ｍ１は、例えば、移動領域ＭＥを表す座標平面上の柱Ｏ１〜Ｏ３及び／又は壁Ｗの位置を示す座標値データの集合体であり、移動領域ＭＥの一部又は全部を表す地図である。環境地図Ｍ１は１枚でもよいし、複数枚でもよい。
なお、環境地図Ｍ１は直線データのみで構成されている。つまり、環境地図Ｍ１には後述する「直線化に用いられない点列データ」は含まれていない。
【００２２】
記憶部１４１には、局所地図Ｍ２が記憶されている。局所地図Ｍ２は、走行車１ａの移動領域ＭＥにおける存在位置を中心とした所定の範囲内の地図情報である。
車上コントローラ１４は、局所地図作成部１４２を有する。局所地図作成部１４２は、レーザレンジセンサ１３から取得した信号（複数の測定データの一例）に基づいて、局所地図Ｍ２を作成する。
さらに詳細には、局所地図作成部１４２は、レーザレンジセンサ１３が測定した測定データに基づいて、直線を算出する機能（直線算出部の一例）を有している。直線は、測定データである点を直線化することによって作成される。
【００２３】
なお、局所地図Ｍ２は、直線以外に、点を含んでいる。局所地図Ｍ２における点は、測定データそのものであり、直線化されなかったものである（後述）。
具体的には、局所地図作成部１４２は、最初に、レーザレンジセンサ１３からレーザ光を照射したタイミングと、反射光をレーザレンジセンサ１３にて受信したタイミングとの時間差から、レーザレンジセンサ１３と物体との距離を算出する。また、例えば、反射光を受信した時のレーザ受信器の受光面の角度から、本体部１１から見た物体が存在する方向を算出できる。
【００２４】
その後、局所地図作成部１４２は、上記の時間差から算出される本体部１１から見た物体の相対的な距離と、反射光を受光したときの受光面の角度とを、移動領域ＭＥを表す座標平面上の座標値に変換する。これにより、局所地図作成部１４２は、走行車１ａの周囲に存在する物体の走行車１ａに対する相対的な位置を表す地図情報（点、および直線）を、局所地図Ｍ２として作成できる。
局所地図作成部１４２は、上記のようにして作成した局所地図Ｍ２を記憶部１４１に記憶する。
【００２５】
車上コントローラ１４は、自己位置推定部１４３（位置及び姿勢算出部の一例）を有する。自己位置推定部１４３は、移動領域ＭＥを移動中に、本体部１１の環境地図上の位置（中心位置の座標及び姿勢）を推定する。
【００２６】
具体的には、自己位置推定部１４３は、局所地図Ｍ２（直線と、直線の算出に使用していない測定データである点）とを、環境地図Ｍ１と照合することで、本体部１１の位置及び姿勢を算出する。このように、本体部１１の位置及び姿勢算出において、直線算出に使用していない測定データも利用することで、本体部１１の現在位置及び姿勢をより正確に算出できる。つまり、位置及び姿勢計算の失敗を防ぎ、ロバスト性を向上させることができる。
【００２７】
車上コントローラ１４は、走行制御部１４４を有する。走行制御部１４４は、モータ１２１ａ、１２１ｂを制御する。走行制御部１４４は、例えば、モータ１２１ａ、１２１ｂのそれぞれの制御量を算出し、当該制御量に基づいた駆動電力をモータ１２１ａ、１２１ｂのそれぞれに出力するモータドライバである。走行制御部１４４は、エンコーダ１２５ａ、１２５ｂから入力したモータ１２１ａ、１２１ｂの回転速度が、所望の値になるように、モータ１２１ａ、１２１ｂの制御量を算出している（フィードバック制御）。
【００２８】
走行制御部１４４は、例えば、管理コントローラ３からの走行指令に示された各目標到達点（例えば、環境地図Ｍ１上の座標値）と、自己位置推定部１４３において推定された自己位置との差に基づいて、モータ１２１ａ、１２１ｂのそれぞれの制御量を算出して、算出された制御量に基づいた駆動電力を、モータ１２１ａ、１２１ｂに出力する。
車上コントローラ１４は、通信部（図示せず）を有する。通信部は、アンテナ（図示せず）を用いて管理コントローラ３や他の走行車１と互いに通信するための、例えば無線通信（無線ＬＡＮ、Ｗｉ−Ｆｉなど）モジュールである。通信部は、例えば、アドホック通信にて、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）やＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）といった通信プロトコルを用いる。
【００２９】
（４）走行車の基本動作
図４を用いて走行車１の動作を説明する。図４は、走行車の制御動作の概略を示すフローチャートである。
以下に説明する制御フローチャートは例示であって、各ステップは必要に応じて省略及び入れ替え可能である。また、複数のステップが同時に実行されたり、一部又は全てが重なって実行されたりしてもよい。
さらに、制御フローチャートの各ブロックは、単一の制御動作とは限らず、複数のブロックで表現される複数の制御動作に置き換えることができる。
なお、各装置の動作は、車上コントローラ１４から各装置への指令の結果であり、これらはソフトウェア・アプリケーションの各ステップによって表現される。
【００３０】
ステップＳ１では、車上コントローラ１４は、走行指令を管理コントローラ３から受信したか否かを判断する。受信すればプロセスはステップＳ２に移行する。なお、走行指令には、目的地、目的地までの経路情報であり複数の目標到達点を含む走行スケジュールＴＳが含まれている。ただし、走行スケジュールＴＳは、車上コントローラ１４で作成してもよい。
ステップＳ２では、走行車１の周囲に存在する障害物の位置情報を取得する。具体的には、前方レーザレンジセンサ１３１及び後方レーザレンジセンサ１３３が、レーザ光を照射しさらに障害物から反射した反射光を受信する。
【００３１】
ステップＳ３では、局所地図作成部１４２が、受信した反射光に基づいて出力される検出信号を、障害物の位置情報（例えば、所定の座標上の座標値）に変換する。なお、局所地図作成部１４２にて座標変換された障害物の位置情報を、現在の位置において取得された局所地図Ｍ２とする（後述）。
ステップＳ４では、自己位置推定部１４３が、マップマッチングによって、走行車１の現在の位置を推定する。
【００３２】
ステップＳ５では、自己位置推定部１４３は、環境地図Ｍ１を更新して、記憶部１４１に記憶する。このとき、自己位置推定部１４３は、複数の測定データの集合に基づいて算出された直線のみを用いて環境地図Ｍ１を更新する。つまり、局所地図Ｍ２における直線の算出に使用されなかった測定データつまり点は、環境地図Ｍ１の更新に用いられない。
ステップＳ６では、走行制御部１４４が、自己位置推定部１４３から取得した現在の推定位置と、走行スケジュールＴＳから取得した次の目標到達点との比較に基づいて、現在の推定位置から次の目標到達点まで移動するためのモータ１２１ａ、１２１ｂの制御量を算出し、モータ１２１ａ、１２１ｂに出力する。
その結果、走行車１は現在の推定位置から次の目標到達点に向かって走行する。
【００３３】
ステップＳ７では、走行車１が走行指令の目的地に到達したか否かが判断される。到達すればステップＳ８に移行する。到達しなければプロセスはステップＳ２に戻る。
ステップＳ８では、走行車１は目的地で走行停止する。
【００３４】
（４−１）局所地図作成
図５を用いて、図４のステップＳ３の「局所地図を作成」を説明する。図５は、局所地図を作成する制御動作のフローチャートである。
ステップＳ１１では、局所地図作成部１４２は、複数の測定データ（点列）を直線化する。具体的には、局所地図作成部１４２は、選択した測定データの集合に基づいて直線（近似線）を算出する。
【００３５】
ステップＳ１２では、局所地図作成部１４２は、所定の（つまり、全て又は一部の）測定データを直線化できたか否かを判断する。所定の測定データを直線化できれば、プロセスはステップＳ１３に移行する。直線化できなかった点列があれば、プロセスはステップＳ１５に移行する。
ステップＳ１５では、局所地図作成部１４２は、直線化できなかった点列を抽出して、それらを局所地図Ｍ２に含める。その後、プロセスはステップＳ１３に移行する。
ステップＳ１３では、局所地図作成部１４２は、局所地図Ｍ２の直線を環境地図Ｍ１に紐付けすることを試みる。ここでは、両者の直線の関連度が高いときに紐付けができると判断され、両者の直線の関連度が低い又はないときに紐付けができないと判断される。
【００３６】
ステップＳ１６では、自己位置推定部１４３は、紐付けできなかった直線を点列として抽出して、それらを局所地図Ｍ２に含める。つまり、紐付けできなかった直線の元である複数の測定データは、直線としてはマップマッチングに用いられない。
以上のように、局所地図作成部１４２は、測定データ判断部として、局所地図Ｍ２において仮に作成された直線を環境地図Ｍ１との照合に用いるか否かを判断する。
【００３７】
（４−２）マップマッチング
図４のステップＳ４では、自己位置推定部１４３は、局所地図Ｍ２と環境地図Ｍ１をマッチングする。
【００３８】
具体的には、最初に、自己位置推定部１４３は、デッドレコニングによる自己位置推定を行う。具体的には、自己位置推定部１４３は、まず、エンコーダ１２５ａ、１２５ｂから取得したモータ１２１ａ、１２１ｂの回転量に基づいて算出された移動領域ＭＥ上の走行車１ａの位置に対応する環境地図Ｍ１上の位置に、局所地図Ｍ２を配置する。
次に、自己位置推定部１４３は、当該位置において、局所地図Ｍ２を、駆動車輪１２３ａ、１２３ｂの回転量に基づいて算出された姿勢（角度）だけ回転して、環境地図Ｍ１と局所地図Ｍ２とのマップマッチングを行う。このとき、局所地図Ｍ２が環境地図Ｍ１と最も一致（マッチング）する配置位置及び回転角度を、それぞれ、自己位置及び姿勢と推定する。これにより、走行車１の現在位置が正確に特定される。
【００３９】
（５）局所地図作成の実例
図６〜図８を用いて、局所地図作成およびマップマッチングの一例を説明する。図６は、走行車の走行状況を示す模式的平面図である。図７は、環境地図の一部を示す図である。図８は、局所地図の一部を示す図である。
図６では、走行車１ａの前方レーザレンジセンサ１３１がスキャンを行い、その結果複数の点ａ１〜ａ１０を測定データとして取得したことが示されている。この場合、移動領域には、第１柱Ｏ１、第２柱Ｏ２、第３柱Ｏ３が存在する。
【００４０】
図７では、同じ状況で用いられる環境地図Ｍ１が示されている。なお、図７は環境地図Ｍ１なので、本来、自台車である走行車１ａは含まれないが、説明の便宜のために走行車１ａも記載している。なお、管理コントローラ３が環境地図Ｍ１を一括で作成する実施例では、自台車である走行車１ａも環境地図Ｍ１に含まれている
図８では、局所地図作成部１４２は、第１集合Ａ、第２集合Ｂ、第３集合Ｃそれぞれに含まれる測定データを用いて直線を算出することを試みる。なお、図８は局所地図Ｍ２なので、本来、自台車である走行車１ａは含まれないが、説明の便宜のために走行車１ａも記載している。
【００４１】
以下、図８に基づいて説明する。
第１集合Ａに含まれる点ａ１〜ａ４（図６）については、図５のステップＳ１３において直線化が行われ、さらに図５のステップＳ１４において環境地図Ｍ１の第１柱Ｏ１の一面と関連すると判断されるので、最終的に直線Ｘ１として局所地図Ｍ２に保存される。
第２集合Ｂに含まれる点ａ５〜ａ６（図６）については、図５のステップＳ１２において数が少ないので直線化されないと判断され、ステップＳ１５において点ａ５〜ａ６として局所地図Ｍ２に保存される。
第３集合Ｃに含まれる点ａ７〜ａ１０（図６）については、第３柱Ｏ３の２面に沿って分布しており、図５のステップＳ１３において１本の直線Ｘ２が形成される。しかし、図５のステップＳ１４において直線Ｘ２は第３柱Ｏ３の２面に紐付けができないので、ステップＳ１６において直線ではなく、点ａ７〜ａ１０として局所地図Ｍ２に保存される。なお、第３集合Ｃに含まれる点ａ７〜ａ１０（図６）については、図５のステップＳ１２において、直線化するには「ばらつき」が大きいと判断されて、直線化できないと判断されてもよい。
【００４２】
以上より、マップマッチングの際には、局所地図Ｍ２には、図８に示すように、直線Ｘ１と、点ａ５〜ａ６と、点ａ７〜ａ１０が含まれている。
マップマッチングの際には、自己位置推定部１４３は、局所地図Ｍ２（図８）の直線Ｘ１（図８）と環境地図Ｍ１（図７）の第１柱Ｏ１の一面とが一致するように両者を適合させる。さらに、自己位置推定部１４３は、局所地図Ｍ２（図８）の点ａ５〜ａ６を環境地図Ｍ１（図７）の柱Ｏ２の一面に重ねるように両者を適合させ、さらに、局所地図Ｍ２（図８）の点ａ７〜ａ１０を環境地図Ｍ１（図７）の柱Ｏ３の一面に重ねるように両者を適合させる。
【００４３】
２．第２実施形態
第１実施形態では、図５のステップＳ１３において、局所地図作成部１４２は、局所地図Ｍ２の直線と環境地図Ｍ１の直線との紐付けを行うことで、局所地図Ｍ２における不適切な直線を見つけていた。しかし、局所地図Ｍ２における不適切な直線を見つける方法として他の方法を追加してもよく、又は他の方法に置き換えてもよい。
【００４４】
そのような実施形態を第２実施形態として説明する。
図５のステップＳ１３において、局所地図作成部１４２は、局所地図Ｍ２の直線を環境地図Ｍ１の直線に紐付けられるか否かを判断する。
この判断において又はこの判断の代わりに、局所地図作成部１４２は、一時刻前の測定結果と今回の測定結果の比較結果を利用する。具体的には、今回の測定結果に基づいて作成された直線が、前回は直線と判断されていれば、今回も直線と判断する。
この実施形態では、直線であるか否かを正確に判断できる。
【００４５】
３．実施形態の特徴
前記実施形態は下記のようにも説明できる。
走行車１（走行車の一例）は、本体部１１（走行車本体の一例）と、レーザレンジセンサ１３（測距センサの一例）と、記憶部１４１（地図データ記憶部の一例）と、局所地図作成部１４２（直線算出部の一例）と、自己位置推定部１４３（位置及び姿勢算出部の一例）とを備えている。
本体部１１は、経路を走行する。
レーザレンジセンサ１３は、本体部１１に設けられ、点ａ１〜ａ１０（複数の測定データの一例）を取得する。
記憶部１４１は、経路に沿って設けられた柱Ｏ１〜Ｏ３や壁Ｗ（構成物の一例）が記録された環境地図Ｍ１（地図データの一例）を記憶する。
局所地図作成部１４２は、点ａ１〜ａ４の集合に基づいて直線Ｘ（直線の一例）を算出する。
自己位置推定部１４３は、直線Ｘと、点ａ５〜ａ１０（直線の算出に使用していない測定データの一例）とを、環境地図Ｍ１と照合することで、本体部１１の位置及び姿勢を算出する。
この走行車１では、本体部１１の位置及び姿勢算出において、直線算出に使用していない測定データも利用することで、本体部１１の現在位置及び姿勢をより正確に算出できる。つまり、位置及び姿勢計算の失敗を防ぎ、ロバスト性を向上させることができる。
【００４６】
４．他の実施形態
以上、本発明の複数の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
第１実施形態では直線化できなかった点列の抽出のために、そもそも直線化できるか否かの判断（図５のステップＳ１２）と、仮に形成した直線を環境地図に紐付けできたか否かの判断（図５のステップＳ１４）の両方を行っていた。しかし、直線化できなかった点列の抽出は、上記判断のいずれか一方のみによって実施されてもよい。
【００４７】
全ての点列データについて直線化を試みてもよいし、一部の点列データのみについて直線化を試みてもよい。直線化されなかった点列データの全てを地図データの更新に用いてもよいし、直線化されなかった点列データの一部のみを地図データの更新に用いてもよい。
第１実施形態では局所地図の直線と点の両方を同時にマップマッチングに用いたが、直線のみ、点のみ、両方を順番に又は必要に応じて適宜組み合わせて用いてもよい。
【産業上の利用可能性】
【００４８】
本発明は、自己の位置を算出しながら走行する走行車に広く適用できる。
【符号の説明】
【００４９】
１        ：走行車
１１      ：本体部
１２      ：移動部
１３      ：レーザレンジセンサ
１４      ：車上コントローラ
１００    ：走行車システム
１３１    ：前方レーザレンジセンサ
１３３    ：後方レーザレンジセンサ
１４１    ：記憶部
１４２    ：局所地図作成部
１４３    ：自己位置推定部
１４４    ：走行制御部
Ｍ１      ：環境地図
Ｍ２      ：局所地図
ＭＥ      ：移動領域
Ｏ        ：柱
Ｗ        ：壁
【図１】
2020077162.tif 000003
【図２】
2020077162.tif 000004
【図３】
2020077162.tif 000005
【図４】
2020077162.tif 000006
【図５】
2020077162.tif 000007
【図６】
2020077162.tif 000008
【図７】
2020077162.tif 000009
【図８】
2020077162.tif 000010