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