(57)【要約】【課題】ＯＧＭの圧縮率を上げて、コアによるメモリからのＯＧＭの読み込みに用いるバスのバス帯域を減らすことが可能なＯＧＭ圧縮回路、ＯＧＭ圧縮伸長システム、および移動体システムを提供する。【解決手段】一つの実施形態によれば、取得部と、補正部と、圧縮器と、メモリと、を備える。取得部は、移動体の移動における障害物の有無により二値化されたグリッドを含むＯＧＭ（Occupancy  Grid  Map）を取得する。補正部は、障害物が無いことを示すグリッドである第１グリッドのうち、予め設定された直線的なスキャン方向において予め設定された閾値より少ないグリッド数連続する第１グリッドを、障害物が有ることを示すグリッドである第２グリッドに補正する補正処理を実行する。圧縮器は、補正処理を実行したＯＧＭをスキャン方向に向かって連続してスキャンし、グリッドをスキャン順に符号化する。メモリは、符号化したＯＧＭを記憶する。【選択図】図１
2020042726.tif 000002
【特許請求の範囲】
【請求項１】
移動体の移動における障害物の有無により二値化されたグリッドを含むＯＧＭ（Occupancy  Grid  Map）を取得する取得部と、
前記障害物が無いことを示す前記グリッドである第１グリッドのうち、予め設定された直線的なスキャン方向において予め設定された閾値より少ないグリッド数連続する前記第１グリッドを、前記障害物が有ることを示す前記グリッドである第２グリッドに補正する補正処理を実行する補正部と、
前記補正処理を実行した前記ＯＧＭを前記スキャン方向に向かって連続してスキャンし、前記グリッドをスキャン順に符号化する圧縮器と、
符号化した前記ＯＧＭを記憶するメモリと、
を備えるＯＧＭ圧縮回路。
【請求項２】
前記補正部は、前記ＯＧＭ内において前記第２グリッドに隣接する前記第１グリッドを前記第２グリッドで埋めるマージン付与処理を実行し、前記マージン付与処理を実行した前記ＯＧＭに対して前記補正処理を実行する請求項１に記載のＯＧＭ圧縮回路。
【請求項３】
前記圧縮器は、前記補正処理が実行された前記ＯＧＭをラスタスキャンする請求項１または２に記載のＯＧＭ圧縮回路。
【請求項４】
移動体の移動における障害物の有無により二値化されたグリッドを含み、かつ前記障害物が無いことを示す前記グリッドである第１グリッドのうち、予め設定された直線的なスキャン方向において予め設定された閾値より少ないグリッド数連続する前記第１グリッドを、前記障害物が有ることを示す前記グリッドである第２グリッドに変更したＯＧＭ（Occupancy  Grid  Map）を生成する生成部と、
生成した前記ＯＧＭを前記スキャン方向に向かって連続してスキャンし、前記グリッドをスキャン順に符号化する圧縮器と、
符号化した前記ＯＧＭを記憶するメモリと、
を備えるＯＧＭ圧縮回路。
【請求項５】
移動体の移動における障害物の有無により二値化されたグリッドを含むＯＧＭ（Occupancy  Grid  Map）を取得する取得部と、
前記障害物が無いことを示す前記グリッドである第１グリッドのうち、予め設定された直線的なスキャン方向において予め設定された閾値より少ないグリッド数連続する前記第１グリッドを、前記障害物が有ることを示す前記グリッドである第２グリッドに補正する補正処理を実行する補正部と、
前記補正処理を実行した前記ＯＧＭを前記スキャン方向に向かって連続してスキャンし、前記グリッドをスキャン順に符号化する圧縮器と、
符号化した前記ＯＧＭを記憶するメモリと、
前記メモリから前記ＯＧＭを読み出し、当該読み出したＯＧＭに対して伸長処理を実行する伸長器と、
前記伸長処理が実行された前記ＯＧＭに基づいて、前記移動体が移動する経路の候補を探索するプロセッサと、
を備えるＯＧＭ圧縮伸長システム。
【請求項６】
前記プロセッサは、前記伸長処理が実行された前記ＯＧＭに基づいて、前記移動体が移動する経路の候補を探索が割り振られるマルチコアプロセッサである請求項５に記載のＯＧＭ圧縮伸長システム。
【請求項７】
移動体の動力部と、
前記移動体の移動における障害物の有無により二値化されたグリッドを含むＯＧＭ（Occupancy  Grid  Map）を取得する取得部と、
前記障害物が無いことを示す前記グリッドである第１グリッドのうち、予め設定された直線的なスキャン方向において予め設定された閾値より少ないグリッド数連続する前記第１グリッドを、前記障害物が有ることを示す前記グリッドである第２グリッドに補正する補正処理を実行する補正部と、
前記補正処理を実行した前記ＯＧＭを前記スキャン方向に向かって連続してスキャンし、前記グリッドをスキャン順に符号化する圧縮器と、
符号化した前記ＯＧＭを記憶するメモリと、
前記メモリから前記ＯＧＭを読み出し、当該読み出したＯＧＭに対して伸長処理を実行する伸長器と、
前記伸長処理が実行された前記ＯＧＭに基づいて、前記移動体が移動する経路の候補を探索するプロセッサと、
前記プロセッサによる前記経路の候補の探索結果に基づいて、前記動力部を制御して、前記移動体を自動的に走行させる動力制御部と、
を備える移動体システム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、ＯＧＭ圧縮回路、ＯＧＭ圧縮伸長システム、および移動体システムに関する。
【背景技術】
【０００２】
車両やロボット等の移動体の移動において障害となる障害物の有無により二値化されたＯＧＭ（Occupancy  Grid  Map）を用いて、移動体の経路候補の探索を行う技術が開発されている。その際、メニーコアエンジンが有する複数のコアに対して、移動体の経路候補の探索を割り振ることによって、移動体の経路候補の探索を高速化することが可能である。
【０００３】
しかしながら、メニーコアエンジンにおいて複数のコアに対して移動体の経路候補の探索を割り振る技術では、当該複数のコアの全てがメモリからＯＧＭを読み込んで、移動体の経路候補の探索を行うため、メモリからのＯＧＭの読み込みに用いるバスのバス帯域が圧迫される。メモリに保存するＯＧＭを圧縮することによって、複数のコアによるメモリからのＯＧＭの読み込みに用いるバスのバス帯域を減らすことも可能であるが、ＯＧＭが細かい部分を含む場合、ＯＧＭの圧縮率を上げることが困難である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２３９８４４号公報
【特許文献２】特許第５２８７０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一つの実施形態は、ＯＧＭの圧縮率を上げて、コアによるメモリからのＯＧＭの読み込みに用いるバスのバス帯域を減らすことが可能なＯＧＭ圧縮回路、ＯＧＭ圧縮伸長システム、および移動体システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの実施形態によれば、取得部と、補正部と、圧縮器と、メモリと、を備える。取得部は、移動体の移動における障害物の有無により二値化されたグリッドを含むＯＧＭ（Occupancy  Grid  Map）を取得する。補正部は、障害物が無いことを示すグリッドである第１グリッドのうち、予め設定された直線的なスキャン方向において予め設定された閾値より少ないグリッド数連続する第１グリッドを、障害物が有ることを示すグリッドである第２グリッドに補正する補正処理を実行する。圧縮器は、補正処理を実行したＯＧＭをスキャン方向に向かって連続してスキャンし、グリッドをスキャン順に符号化する。メモリは、符号化したＯＧＭを記憶する。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施形態にかかる移動体システムを適用した移動体の概略構成の一例を示す図である。
【図２】図２は、第１の実施形態の移動体システムを適用した移動体のハードウェア構成の一例を示す図である。
【図３】図３は、第１の実施形態にかかる移動体が有する情報処理装置のハードウェア構成の一例を示すブロック図である。
【図４】図４は、第１の実施形態にかかる移動体における補正処理の一例を説明するための図である。
【図５】図５は、第１の実施形態にかかる移動体における経路候補の探索に用いるＯＧＭのメモリへの保存処理の流れの一例を示すフローチャートである。
【図６】図６は、第１の実施形態にかかる移動体におけるＯＧＭの圧縮処理の一例を説明するための図である。
【図７】図７は、第２の実施形態にかかる移動体におけるマージン付与処理の一例を説明するための図である。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、実施形態にかかるＯＧＭ圧縮回路およびＯＧＭ圧縮伸長システムを適用した移動体システムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【０００９】
（第１の実施形態）
図１は、第１の実施形態にかかる移動体システムを適用した移動体の概略構成の一例を示す図である。図２は、第１の実施形態の移動体システムを適用した移動体のハードウェア構成の一例を示す図である。図１および図２に示すように、移動体１０は、情報処理装置１０１と、出力部１０２と、センサ１０３と、入力装置１０４と、動力制御部１０５と、動力部１０６と、を備える。図２に示すように、情報処理装置１０１、出力部１０２、センサ１０３、入力装置１０４、および動力制御部１０５は、バス１０７を介して接続されている。動力部１０６は、動力制御部１０５に接続されている。
【００１０】
出力部１０２（通信部１０２ａ、ディスプレイ１０２ｂ、スピーカ１０２ｃ）、センサ１０３、入力装置１０４、および動力制御部１０５、の少なくとも１つは、有線または無線で情報処理装置１０１に接続すれば良い。また、出力部１０２（通信部１０２ａ、ディスプレイ１０２ｂ、スピーカ１０２ｃ）、センサ１０３、入力装置１０４、および動力制御部１０５の少なくとも１つと、情報処理装置１０１と、をネットワークを介して接続しても良い。
【００１１】
本実施形態では、情報処理装置１０１が、移動体１０に搭載されている例について説明するが、これに限定するものではなく、情報処理装置１０１が、移動体１０と通信可能な外部装置（例えば、静止物）に設けられていても良い。静止物は、移動不可能な物体や、地面に対して静止した状態にある物体である。静止物は、例えば、ガードレール、ポール、駐車車両、道路標識である。また、情報処理装置１０１は、クラウド上で処理を実行するクラウドサーバに搭載されていても良い。
【００１２】
移動体１０は、移動可能な物体である。例えば、移動体１０は、車両（自動二輪車、自動四輪車、自転車）、台車、ロボット、船舶、飛翔体（飛行機、無人航空機（ＵＡＶ：Unmanned  Aerial  Vehicle））である。移動体１０は、例えば、人による運転操作を介して走行する移動体や、人による運転操作を介さずに自動的に走行（所謂、自律走行）が可能な移動体である。ここで、自律走行が可能な移動体は、例えば、自動運転車両である。本実施形態では、移動体１０が、自動運転車両である場合を一例として説明する。
【００１３】
出力部１０２は、移動体１０内で実行される各種処理の実行結果等の出力情報を出力する。出力部１０２は、例えば、出力情報を外部装置に送信する通信機能、出力情報を表示する表示機能、出力情報を示す音を出力する音出力機能を有する。本実施形態では、出力部１０２は、通信部１０２ａ、ディスプレイ１０２ｂ、およびスピーカ１０２ｃを有する。
【００１４】
通信部１０２ａは、外部装置と通信する。通信部１０２ａは、ＶＩＣＳ（登録商標）通信回路やダイナミックマップ通信回路である。通信部１０２ａは、出力情報を外部装置に送信する。
【００１５】
また、通信部１０２ａは、外部装置から、道路情報等を受信する。ここで、道路情報は、信号、標識、周囲の建物、各車線の道幅、レーン中心線等である。道路情報は、情報処理装置１０１内に設けられるＲＡＭ（Random  Access  Memory）やＲＯＭ（Read  Only  Memory）等のメモリ２０２ａ（図３参照）内に記憶されていても良いし、移動体１０が有するメモリ２０２ａ（図２参照）以外のメモリ内に記憶されていても良い。
【００１６】
ディスプレイ１０２ｂは、出力情報を表示する表示部である。ディスプレイ１０２ｂは、例えば、ＬＣＤ（Liquid  Crystal  Display）や、投影装置、ライトである。スピーカ１０２ｃは、出力情報を示す音を出力する。
【００１７】
センサ１０３は、移動体１０の走行環境を取得するセンサである。ここで、走行環境は、例えば、移動体１０の観測情報や、移動体１０の周辺情報である。具体的には、センサ１０３は、外界センサや内界センサである。
【００１８】
内界センサは、観測情報を取得するセンサである。観測情報は、例えば、移動体１０の加速度、速度、角速度である。内界センサは、例えば、慣性計測装置（ＩＭＵ：Inertial  Measurement  Unit）、加速度センサ、速度センサ、ロータリエンコーダである。ＩＭＵは、移動体１０の三軸加速度および三軸角速度を含む観測情報を取得する。
【００１９】
外界センサは、移動体１０の周辺情報を取得するセンサである。外界センサは、移動体１０に搭載されていても良いし、移動体１０の外部（例えば、他の移動体や外部装置）に搭載されていても良い。周辺情報は、移動体１０の周辺の状況を示す情報である。ここで、移動体１０の周辺とは、移動体１０から予め設定された範囲内の領域であり、外界センサにより周辺情報を取得可能な範囲である。
【００２０】
周辺情報は、例えば、撮像画像や、距離情報、位置情報である。撮像画像は、移動体１０の周囲を撮像して得られる画像のデータである。例えば、撮像画像は、画素ごとに画素値を規定したデジタル画像データや、画素毎にセンサ１０３からの距離を規定したデプスマップなどである。
【００２１】
距離情報は、移動体１０と、当該移動体１０の外部に存在する対象との間の距離である。ここで、移動体１０の外部に存在する対象とは、移動体１０の外部に存在する物体であり、外界センサにより距離情報を取得可能な範囲内に存在する物体である。位置情報は、予め設定された基準位置に対する移動体１０の相対位置であってもよいし、移動体１０の絶対位置であっても良い。
【００２２】
外界センサは、例えば、移動体１０の周辺を撮像して撮像画像を得る撮像装置、距離情報を取得する距離センサ（ミリ波レーダ、レーザセンサ、距離画像センサ）、位置情報を取得する位置センサ（ＧＮＳＳ（Global  Navigation  Satellite  System）、ＧＰＳ（Global  Positioning  System）、無線通信装置）などである。ここで、レーザセンサは、例えば、水平面に対して平行に設置された二次元ＬＩＤＡＲ（Laser  Imaging  Detection  and  Ranging）センサや、三次元ＬＩＤＡＲセンサである。
【００２３】
入力装置１０４は、ユーザからの各種指示や各種情報を入力可能である。例えば、入力装置１０４は、マウスやトラックボール等のポインティングデバイス、キーボード等の入力デバイスである。また、入力装置１０４は、ディスプレイ１０２ｂと一体的に設けられたタッチパネルにおける入力機能であっても良い。
【００２４】
情報処理装置１０１（本実施形態では、図３に示すプロセッサ２０３ｅ）は、後述するＯＧＭに基づいて、移動体１０が移動する経路を探索する。動力制御部１０５は、情報処理装置１０１による経路の探索結果に基づいて、動力部１０６を制御して、移動体１０を自律走行させる。具体的には、動力制御部１０５は、情報処理装置１０１で生成された情報や、センサ１０３から得られた情報などに基づいて、周辺の状況を判断し、アクセル量、ブレーキ量、操舵角等の制御を行う。動力部１０６は、動力制御部１０５の制御によって駆動するデバイスである。例えば、動力部１０６は、エンジン、モータ、車輪である。
【００２５】
次に、本実施形態にかかる移動体１０が有する情報処理装置１０１のハードウェア構成の一例について詳細に説明する。図３は、第１の実施形態にかかる移動体が有する情報処理装置のハードウェア構成の一例を示すブロック図である。
【００２６】
情報処理装置１０１は、Ｉ／Ｆ２０１、メモリ２０２、および処理回路２０３を含む。Ｉ／Ｆ２０１、メモリ２０２、および処理回路２０３は、バス２０４を介して接続されている。Ｉ／Ｆ２０１は、他のシステムとのネットワーク（Ｎ／Ｗ）等に接続されている。また、Ｉ／Ｆ２０１は、通信部１０２ａとの間の情報の送受信を司る。
【００２７】
メモリ２０２は、各種データを記憶する。メモリ２０２は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。メモリ２０２は、情報処理装置１０１の外部に設けても良い。ＲＯＭは、処理回路２０３によって実行されるプログラムや必要なデータを保持する。ＲＡＭは、処理回路２０３においてプログラムを実行する際の作業領域として機能する。また、メモリ２０２は、移動体１０の外部に設けても良い。また、メモリ２０２は、クラウド上に設置されたサーバ装置に配置されていても良い。
【００２８】
また、メモリ２０２は、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、ＬＡＮ（Local  Area  Network）やインターネットなどを介してダウンロードして記憶または一時記憶したものであっても良い。また、メモリ２０２を、複数の記憶媒体から構成しても良い。
【００２９】
処理回路２０３は、ＯＧＭ生成部２０３ａ、ＯＧＭ補正部２０３ｂ、圧縮器２０３ｃ、複数の伸長器２０３ｄ、および複数のプロセッサ２０３ｅを有する。処理回路２０３が有するプロセッサ（複数のプロセッサ２０３ｅを含む）における各種の処理機能部（ＯＧＭ生成部２０３ａ、ＯＧＭ補正部２０３ｂ、圧縮器２０３ｃ、複数の伸長器２０３ｄ、および、複数のプロセッサ２０３ｅの機能部）は、コンピュータによって実行可能なプログラムの形態でメモリ２０２へ記憶されている。そして、当該プロセッサは、プログラムをメモリ２０２から読出、実行することで、各プログラムに対応する各種の処理機能部を実現する。
【００３０】
処理回路２０３が有するプロセッサにおける各種の処理機能部の各々を実現するための独立した複数のプロセッサを組み合わせて処理回路２０３を構成しても良い。この場合、各プロセッサがプログラムを実行することにより各種の処理機能部を実現する。また、各種の処理機能部がプログラムとして構成され、１つの処理回路２０３が各プログラムを実行する場合であってもよいし、専用回路として画像処理アクセラレータを設け、特定の機能が独立したプログラム実行回路に実装される場合であってもよい。
【００３１】
なお、本実施形態および後述する実施形態において用いる「プロセッサ」との文言は、例えば、ＣＰＵ（Central  Processing  Unit）、ＧＰＵ（Graphical  Processing  Unit）、特定用途向け集積回路（ＡＳＩＣ：Application  Specific  Integrated  Circuit）、プログラマブル論理デバイス（例えば、単純プログラマブル論理デバイス（ＳＰＬＤ：Simple  Programmable  Logic  Device）、複合プログラマブル論理デバイス（ＣＰＬＤ：Complex  Programmable  Logic  Device）、および、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：Field  Programmable  Gate  Array））の回路を意味する。
【００３２】
処理回路２０３が有するプロセッサは、メモリ２０２に保存されたプログラムを読み出し実行することで各種の処理機能部を実現する。なお、メモリ２０２にプログラムを保存する代わりに、当該プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、当該プロセッサは、回路内に組み込まれたプログラムを読み出し実行することで各種の処理機能部を実現する。
【００３３】
ＯＧＭ生成部２０３ａは、ＯＧＭ（Occupancy  Grid  Map）を生成（取得）する取得部の一例として機能する。ＯＧＭは、移動体１０の移動において障害となる障害物の有無により二値化されたグリッドを含む地図情報である。本実施形態では、ＯＧＭ生成部２０３ａは、センサ１０３によって移動体１０の走行環境が取得される度に、ＯＧＭを生成する。本実施形態では、移動体１０内においてＯＧＭを生成する例について説明するが、これに限定するものではなく、外部装置において生成されたＯＧＭを取得しても良い。
【００３４】
ＯＧＭ補正部２０３ｂは、ＯＧＭ生成部２０３ａにより生成されるＯＧＭに含まれる障害物無グリッドのうち、予め設定されたスキャン方向において予め設定された閾値より少ないグリッド数連続する障害物無グリッドを、障害物有グリッドに補正する補正処理を実行する。これにより、ＯＧＭ内のグリッドを予め設定された直線的なスキャン方向に向かって連続してスキャンし、ＯＧＭ内のグリッドをスキャンした順に差分符号化等の符号化を行う場合に、ＯＧＭの圧縮率を上げることができ、メモリ２０２においてＯＧＭの記憶に要する記憶容量を削減することができる。
【００３５】
ここで、障害物無グリッドは、ＯＧＭに含まれるグリッド（セル）であり、障害物が無いことを示すグリッドである。本実施形態では、障害物無グリッドは、０を示す。また、障害物有グリッドは、ＯＧＭに含まれるグリッド（セル）であり、障害物が有ることを示すグリッドである。本実施形態では、障害物有グリッドは、１を示す。
【００３６】
スキャン方向は、後述する圧縮器２０３ｃによってＯＧＭを圧縮する際に、当該ＯＧＭに含まれるグリッドをスキャンする方向であり、直線的なスキャン方向である。本実施形態では、圧縮器２０３ｃがＯＧＭに含まれるグリッドをラスタスキャンするため、スキャン方向は、水平方向である。本実施形態では、スキャン方向は、圧縮器２０３ｃがラスタスキャンするため、水平方向としているが、直線的なスキャン方向であれば、これに限定するものではなく、例えば、垂直方向や斜め方向であっても良い。
【００３７】
また、予め設定された閾値は、スキャン方向において、移動体１０の経路となる障害物無グリッドの連続数の下限である。本実施形態では、予め設定された閾値は、ＯＧＭ上における移動体１０の幅方向のグリッド数である。ここで、予め設定された閾値は、ＯＧＭに元々含まれるノイズのグリッド数よりも大きいグリッド数である。
【００３８】
本実施形態では、ＯＧＭ生成部２０３ａにより生成されるＯＧＭに対して補正処理を実行しているが、ＯＧＭを生成する際に、移動体１０の経路とならない障害物無グリッドを障害物有グリッドに変更したＯＧＭを生成しても良い。
【００３９】
具体的には、ＯＧＭ生成部２０３ａは、ＯＧＭ内の障害物有グリッドを基準として、予め設定された方向に向かって直線的にスキャンして次に障害物有グリッドとなるまでの障害物無グリッドの連続数をカウントする。そして、ＯＧＭ生成部２０３ａは、カウントした連続数が、予め設定された閾値未満である場合、当該スキャンした障害物無グリッドを障害物有グリッドに変更する。
【００４０】
例えば、ＯＧＭ生成部２０３ａは、障害物有グリッドを基準として、全方位に向かって直線的にスキャンして、次の障害物有グリッドまでの障害物無グリッドの連続数をカウントする。そして、ＯＧＭ生成部２０３ａは、カウントした障害物無グリッドの連続数が予め設定された閾値未満である場合、基準とした障害物有グリッドから次の障害物有グリッドまでの間の障害物無グリッドを障害物有グリッドに変更する。
【００４１】
これにより、ＯＧＭ補正部２０３ｂによってＯＧＭ内のグリッドを障害物有グリッドに補正する場合と同様に、ＯＧＭ内のグリッドを予め設定された直線的なスキャン方向に向かって連続してスキャンし、ＯＧＭ内のグリッドをスキャンした順に差分符号化等の符号化を行う場合に、ＯＧＭの圧縮率を上げることができ、メモリ２０２においてＯＧＭの記憶に要する記憶容量を削減することができる。
【００４２】
圧縮器２０３ｃは、ＯＧＭ補正部２０３ｂにより補正されたＯＧＭ内のグリッドを予め設定されたスキャン方向に向かって連続してスキャンし、ＯＧＭ内のグリッドをスキャンした順番に差分符号化等の符号化を行う圧縮処理を実行する。本実施形態では、圧縮器２０３ｃは、ＯＧＭ内のグリッドをラスタスキャンし、当該ＯＧＭ内のグリッドをスキャンした順に差分符号化する。そして、圧縮器２０３ｃは、圧縮処理を実行したＯＧＭを、バス２０４を介してメモリ２０２に保存する。
【００４３】
伸長器２０３ｄは、バス２０４を介して、メモリ２０２から、ＯＧＭを読み出す。そして、伸長器２０３ｄは、当該読み出したＯＧＭに対して伸長処理を実行する。本実施形態では、伸長器２０３ｄは、プロセッサ２０３ｅ毎に設けられ、メモリ２０２から読み出したＯＧＭに対して伸長処理を実行し、伸長処理を実行したＯＧＭをプロセッサ２０３ｅに出力する。
【００４４】
本実施形態では、上述したように、ＯＧＭの圧縮率を上げることができるので、メモリ２０２へのＯＧＭの保存およびメモリ２０２からのＯＧＭの読み出しに要するバス２０４のバス帯域を減らすことができ、メモリ２０２へのＯＧＭの保存およびメモリ２０２からのＯＧＭの読み出しによるバス２０４のバス帯域の圧迫を軽減できる。
【００４５】
プロセッサ２０３ｅは、伸長器２０３ｄにより伸長処理が実行されたＯＧＭに基づいて、移動体１０が移動する経路の候補（以下、経路候補と言う）を探索する。本実施形態では、複数のプロセッサ２０３ｅは、例えば、マルチコアプロセッサであり、伸長器２０３ｄから入力されるＯＧＭに対して、各プロセッサ２０３ｅに予め割り振られた経路候補の探索を実行する。これにより、複数のプロセッサ２０３ｅによって、ＯＧＭに基づく移動体１０の経路候補の探索を並行して行うことができるので、移動体１０の経路候補の探索を高速化することができる。ここで、プロセッサ２０３ｅが探索する経路候補は、各プロセッサ２０３ｅに割り当てられた経路候補のうち、移動体１０が障害物に接触することなく移動可能な経路候補であるものとする。
【００４６】
本実施形態では、複数のプロセッサ２０３ｅによって移動体１０の経路候補の探索を行っているが、これに限定するものではなく、１つのプロセッサ２０３ｅによって移動体１０の経路候補の探索を行うことも可能である。その場合、処理回路２０３は、複数の伸長器２０３ｄを有している必要はなく、伸長器２０３ｄを１つ有していれば良い。
【００４７】
次に、ＯＧＭ内の障害物無グリッドを障害物有グリッドに補正する補正処理の一例について説明する。図４は、第１の実施形態にかかる移動体における補正処理の一例を説明するための図である。
【００４８】
ＯＧＭ補正部２０３ｂは、図４に示すように、ＯＧＭ生成部２０３ａにより生成されたＯＧＭ４０１内のグリッドを、圧縮器２０３ｃによるスキャン方向Ｘ（水平方向）に向かってラスタスキャンする。そして、ＯＧＭ補正部２０３ｂは、図４に示すように、ＯＧＭ４０１内の障害物無グリッドのうち、ラスタスキャンの方向において予め設定された閾値Ｎ（ＯＧＭ４０１における移動体１０の車幅のグリッド数Ｚ。例えば、２．５グリッド）より少ないグリッド数連続する障害物無グリッドＧ１〜Ｇ９を、障害物有グリッドに補正する。
【００４９】
これにより、ＯＧＭ４０１内において障害物有グリッドの連続数を増やすことができるので、ＯＧＭ４０１内のグリッドをスキャンした順に差分符号化等の符号化を行う場合に、データの冗長性が削減でき、ＯＧＭ４０１の圧縮率を上げることができる。また、メモリ２０２においてＯＧＭ４０１の記憶に要する記憶容量を削減することができる。
【００５０】
次に、移動体１０の経路候補の探索に用いるＯＧＭをメモリ２０２に保存する処理の流れの一例について説明する。図５は、第１の実施形態にかかる移動体における経路候補の探索に用いるＯＧＭのメモリへの保存処理の流れの一例を示すフローチャートである。
【００５１】
入力装置１０４等から、移動体１０の経路候補の探索の指示が入力されると、ＯＧＭ生成部２０３ａは、ＯＧＭを生成する（ステップＳ５０１）。そして、ＯＧＭ生成部２０３ａは、生成したＯＧＭを、処理回路２０３内のバッファにバッファリングする（ステップＳ５０２）。
【００５２】
例えば、ＯＧＭ生成部２０３ａは、生成するＯＧＭ内のグリッドを、ＯＧＭ補正部２０３ｂによりスキャンする順番に従って、予め設定された閾値以上の連続するグリッドをバッファに保存し、当該バッファに保存した順にグリッドをＯＧＭ補正部２０３ｂに出力する。
【００５３】
ＯＧＭ補正部２０３ｂは、ＯＧＭ内のグリッドを、ＯＧＭ生成部２０３ａから入力される順番にスキャンし、障害物無グリッドの連続数をカウントする（ステップＳ５０３）。次に、ＯＧＭ補正部２０３ｂは、ＯＧＭ内のスキャン方向における障害物無グリッドの連続数が、予め設定された閾値未満であるか否かを判断する（ステップＳ５０４）。
【００５４】
そして、カウントした連続数が予め設定された閾値未満である場合（ステップＳ５０４：Ｙｅｓ）、ＯＧＭ補正部２０３ｂは、カウントされた連続数が予め設定された閾値未満の障害物無グリッドを障害物有グリッドに補正する（ステップＳ５０５）。一方、カウントした連続数が予め設定予め設定された閾値以上である場合（ステップＳ５０４：Ｎｏ）、ＯＧＭ補正部２０３ｂは、カウントされた連続数が予め設定された閾値以上の障害物無グリッドについては、障害物無グリッドのままとする。
【００５５】
次いで、圧縮器２０３ｃは、ＯＧＭ補正部２０３ｂにより補正されたＯＧＭ内のグリッドを予め設定されたスキャン方向に向かって直線的に連続してスキャンして差分符号化等の符号化を行う圧縮処理を実行する（ステップＳ５０６）。その後、圧縮器２０３ｃは、圧縮処理を実行したＯＧＭをメモリ２０２に保存する（ステップＳ５０７）。
【００５６】
次に、ＯＧＭ補正部２０３ｂにより補正されたＯＧＭに対する圧縮処理の一例について説明する。図６は、第１の実施形態にかかる移動体におけるＯＧＭの圧縮処理の一例を説明するための図である。
【００５７】
例えば、ＯＧＭ生成部２０３ａにより生成されるＯＧＭ上における移動体１０（例えば、車両）の車幅のグリッド数が１６である場合、圧縮器２０３ｃによるＯＧＭの圧縮処理による圧縮率が最も低くなるグリッドのパターンは、図６に示すパターン６０１のループとなる。そして、圧縮器２０３ｃが、ＯＧＭを、所定のグリッドが障害物無グリッドおよび障害物有グリッドのいずれかを示す１ビットのフラグ（以下、１ビットフラグと言う）と、当該所定のグリッドに連続する同じ値のグリッドの連続数を示すビット（以下、連続数ビット）と、に圧縮する。
【００５８】
ここで、連続数ビットは、予め設定されたビット数である。本実施形態では、連続数ビットは、所定のグリッドが障害物無グリッドの場合にはＭビットであり、所定のグリッドが障害物有グリッドの場合にはＮビットである。また、所定のグリッドは、連続数ビットによって表現可能な連続数の上限のグリッド数毎に配置されたグリッドである。
【００５９】
例えば、Ｍビットが３ビットでありかつＮビットが３ビットである場合、圧縮器２０３ｃは、図６に示すように、１７ビットのパターン６０１を、８ビットのパターン６０２に圧縮する。すなわち、圧縮器２０３ｃは、所定のグリッドが、障害物無グリッドであるか若しくは障害物有りグリッドであるかに関わらず、所定のグリッドをスキャンする度に、４ビットのデータが増えるため、１／２の圧縮率を保証することが可能となる。ここでは、ＯＧＭの端のグリッドは圧縮しないものとする。
【００６０】
また、例えば、Ｍビットが４ビットでありかつＮビットが４ビットである場合、圧縮器２０３ｃは、図６に示すように、１７ビットのパターン６０１を、１０ビットのパターン６０３に圧縮する。すなわち、圧縮器２０３ｃは、所定のグリッドが、障害物無グリッドであるか若しくは障害物有りグリッドであるかに関わらず、所定のグリッドをスキャンする度に、５ビットのデータが増えるため、１０／１７の圧縮率を保証することが可能となる。
【００６１】
このように、第１の実施形態によれば、ＯＧＭ生成部２０３ａにより生成されるＯＧＭに含まれる障害物無グリッドのうち、予め設定されたスキャン方向において予め設定された閾値より少ないグリッド数連続する障害物無グリッドを、障害物有グリッドに補正する補正処理を実行する。その結果、ＯＧＭ内のグリッドを予め設定された直線的なスキャン方向に向かって連続してスキャンし、ＯＧＭ内のグリッドをスキャンした順に差分符号化等の符号化を行う場合に、ＯＧＭの圧縮率を上げることができ、メモリ２０２においてＯＧＭの記憶に要する記憶容量を削減することができる、という効果を得ることができる。
【００６２】
（第２の実施形態）
本実施形態は、ＯＧＭ内において障害物有グリッドに隣接する障害物無グリッドを障害物有グリッドで埋めるマージン付与処理を実行し、当該マージン付与処理を実行したＯＧＭに対して、障害物無グリッドを障害物有グリッドに補正する処理を実行する例である。以下の説明では、第１の実施形態と同様の構成については説明を省略する。
【００６３】
本実施形態では、ＯＧＭ補正部２０３ｂは、ＯＧＭ内の障害物無グリッドを障害物有グリッドに補正する補正処理に先立って、ＯＧＭ生成部２０３ａにより生成されるＯＧＭにおいて、障害物有グリッドに隣接する障害物無グリッドを障害物有グリッドで埋めるマージン付与処理を実行する。
【００６４】
これにより、プロセッサ２０３ｅによってＯＧＭに基づいて移動体１０の経路候補を探索する際に、障害物の存在領域にマージンを持たせて、移動体１０の経路候補を探索することができるので、移動体１０が障害物に接触する可能性がより低い経路候補を探索することが可能となる。
【００６５】
次に、ＯＧＭ補正部２０３ｂによるマージ付与処理の一例について説明する。図７は、第２の実施形態にかかる移動体におけるマージン付与処理の一例を説明するための図である。
【００６６】
ＯＧＭ補正部２０３ｂは、図７に示すように、ＯＧＭ生成部２０３ａにより生成されるＯＧＭ７０１において、障害物有グリッドを基準として、当該障害物有グリッドの全方位に隣接する障害物無グリッドＧ１０〜Ｇ６３を障害物有グリッドで埋めるマージン付与処理を実行する。その後、ＯＧＭ補正部２０３ｂは、図７に示すように、第１の実施形態と同様に、マージン付与処理を実行したＯＧＭ７０１内の障害物無グリッドのうち、ラスタスキャンのスキャン方向において予め設定された閾値より少ないグリッド数連続する障害物無グリッドＧ６４，Ｇ６５を、障害物有グリッドに補正する。
【００６７】
本実施形態では、ＯＧＭ補正部２０３ｂは、障害物有グリッドを基準として、当該障害物有グリッドに隣接する障害物無グリッドを障害物有グリッドで埋めるマージン付与処理を実行しているが、障害物有グリッドを基準として、当該障害物有グリッドから予め設定されたグリッド数の範囲内において連続する障害物無グリッドを、障害物有グリッドで埋めるマージン付与処理を実行することも可能である。
【００６８】
ここで、予め設定されたグリッド数の範囲は、ユーザが任意に設定可能である。または、予め設定されたグリッド数は、移動体１０の移動速度に応じて変更することも可能である。例えば、予め設定されたグリッド数の範囲は、移動体１０の移動速度が速くなるに従い、その範囲を大きくする。
【００６９】
このように、第２の実施形態によれば、ＯＧＭ内の障害物無グリッドを障害物有グリッドに補正する補正処理に先立って、ＯＧＭ生成部２０３ａにより生成されるＯＧＭにおいて、障害物有グリッドに隣接する障害物無グリッドを障害物有グリッドで埋めるマージン付与処理を実行する。その結果、プロセッサ２０３ｅによってＯＧＭに基づいて移動体１０の経路候補を探索する際に、障害物の存在領域にマージンを持たせて、移動体１０の経路候補を探索することができるので、移動体１０が障害物に接触する可能性がより低い経路候補を探索することが可能となる、という効果を得ることができる。
【００７０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７１】
１０  移動体、１０１  情報処理装置、１０２  出力部、１０２ａ  通信部、１０２ｂ  ディスプレイ、１０２ｃ  スピーカ、１０３  センサ、１０４  入力装置、１０５  動力制御部、１０６  動力部、１０７，２０４  バス、２０１  Ｉ／Ｆ、２０２  メモリ、２０３  処理回路、２０３ａ  ＯＧＭ生成部、２０３ｂ  ＯＧＭ補正部、２０３ｃ  圧縮器、２０３ｄ  伸長器、２０３ｅ  プロセッサ。
【図１】
2020042726.tif 000003
【図２】
2020042726.tif 000004
【図３】
2020042726.tif 000005
【図４】
2020042726.tif 000006
【図５】
2020042726.tif 000007
【図６】
2020042726.tif 000008
【図７】
2020042726.tif 000009