(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】推定装置、推定方法、および、システム
(51)【国際特許分類】
G08G 1/09 20060101AFI20240918BHJP
B62D 65/18 20060101ALI20240918BHJP
【FI】
G08G1/09 V
B62D65/18 Z
(21)【出願番号】P 2023218865
(22)【出願日】2023-12-26
(62)【分割の表示】P 2023188218の分割
【原出願日】2023-11-02
【審査請求日】2023-12-26
(31)【優先権主張番号】P 2023089451
(32)【優先日】2023-05-31
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】池田 圭吾
(72)【発明者】
【氏名】齋藤 恭裕
(72)【発明者】
【氏名】横山 大樹
【審査官】▲高▼木 真顕
(56)【参考文献】
【文献】特開2016-057677(JP,A)
【文献】特開2022-175768(JP,A)
【文献】特開2022-171172(JP,A)
【文献】特開2019-125354(JP,A)
【文献】特開平11-039589(JP,A)
【文献】特許第7388589(JP,B1)
【文献】中国特許出願公開第113128497(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00 - 99/00
G05D 1/00 - 1/87
B60W 30/00 - 60/00
G01C 21/00 - 21/36
B62D 41/00 - 67/00
G06Q 10/00 - 10/30
G06Q 30/00 - 30/08
G06Q 50/00 - 50/20
G06Q 50/26 - 99/00
G16Z 99/00
G01S 7/48 - 7/51
G01S 17/00 - 17/95
(57)【特許請求の範囲】
【請求項1】
無人運転によって移動体を移動させるために用いられる推定装置であって、
第1測距装置によって取得される前記移動体の3次元点群データを用いた第1マッチングを実行し、前記第1マッチングによる第1算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第1マッチング部と、
第2測距装置によって取得される前記移動体の3次元点群データを用いた第2マッチングを実行し、前記第2マッチングによる第2算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第2マッチング部と、
前記移動体の位置と向きとの少なくとも一方の推定値であって、前記無人運転のための制御指令の生成に用いられる推定値を算出する推定部と、
前記第1算出結果と前記第2算出結果との差異が予め定められた第1基準程度以上である場合に、前記移動体を停止させずに減速、または、停止させるための減速指令を生成する減速指令部と、を備え、
前記推定部は、
前記差異が前記第1基準程度より小さい場合に、前記第1算出結果と前記第2算出結果との少なくとも一方を用いて前記推定値を算出する推定処理を実行
し、
前記差異が前記第1基準程度以上である場合に、前記推定処理を実行せず、
前記減速指令部は、
前記差異が前記第1基準程度よりも大きい第2基準程度以上である場合に、前記移動体を停止させるための前記減速指令を生成し、
前記差異が前記第1基準程度以上かつ前記第2基準程度未満である場合に、前記移動体を停止させずに減速させるための前記減速指令を生成する、
推定装置。
【請求項2】
請求項
1に記載の推定装置であって、
前記推定部は、前記推定処理において、前記第1算出結果と前記第2算出結果とのうち、マッチングの信頼度がより高い算出結果を用いて、前記推定値を算出する、推定装置。
【請求項3】
請求項
1に記載の推定装置であって、
前記推定部は、前記推定処理において、前記第1算出結果と前記第2算出結果との平均を用いて、前記推定値を算出する、推定装置。
【請求項4】
請求項
1に記載の推定装置であって、
前記推定部は、前記推定処理において、予め定められた基準に応じて、(i)マッチングの信頼度に応じて前記推定値を算出する第1処理と、(ii)前記第1算出結果と前記第2算出結果との平均を用いて前記推定値を算出する第2処理と、のいずれかを選択的に実行する、推定装置。
【請求項5】
請求項
4に記載の推定装置であって、
前記基準は、前記第1測距装置と前記第2測距装置との、(i)点群数に関する差異と、(ii)前記移動体との間の離間距離に関する差異と、(iii)前記移動体の角度位置に関する差異と、の少なくともいずれかを含む、推定装置。
【請求項6】
無人運転によって移動体を移動させるために用いられる推定方法であって、
第1測距装置によって取得される前記移動体の3次元点群データを用いた第1マッチングを実行し、前記第1マッチングによる第1算出結果として、前記移動体の位置と向きとの少なくとも一方を算出するステップと、
第2測距装置によって取得される前記移動体の3次元点群データを用いた第2マッチングを実行し、前記第2マッチングによる第2算出結果として、前記移動体の位置と向きとの少なくとも一方を算出するステップと、
前記移動体の位置と向きとの少なくとも一方の推定値であって、前記無人運転のための制御指令の生成に用いられる推定値を算出するステップと、
前記第1算出結果と前記第2算出結果との差異が予め定められた第1基準程度以上である場合に、前記移動体を停止させずに減速、または、停止させるための減速指令を生成するステップと、を備え、
前記推定値を算出するステップでは、
前記差異が前記第1基準程度より小さい場合に、前記第1算出結果と前記第2算出結果との少なくとも一方を用いて前記推定値を算出する推定処理を実行
し、
前記差異が前記第1基準程度以上である場合に、前記推定処理を実行せず、
前記減速指令を生成するステップでは、
前記差異が前記第1基準程度よりも大きい第2基準程度以上である場合に、前記移動体を停止させるための前記減速指令を生成し、
前記差異が前記第1基準程度以上かつ前記第2基準程度未満である場合に、前記移動体を停止させずに減速させるための前記減速指令を生成する、
推定方法。
【請求項7】
無人運転によって移動可能な移動体と、
第1測距装置によって取得される前記移動体の3次元点群データを用いた第1マッチングを実行し、前記第1マッチングによる第1算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第1マッチング部と、
第2測距装置によって取得される前記移動体の3次元点群データを用いた第2マッチングを実行し、前記第2マッチングによる第2算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第2マッチング部と、
前記移動体の位置と向きとの少なくとも一方の推定値であって、前記無人運転のための制御指令の生成に用いられる推定値を算出する推定部と、
前記第1算出結果と前記第2算出結果との差異が予め定められた第1基準程度以上である場合に、前記移動体を停止させずに減速、または、停止させるための減速指令を生成する減速指令部と、を備え、
前記推定部は、
前記差異が前記第1基準程度より小さい場合に、前記第1算出結果と前記第2算出結果との少なくとも一方を用いて前記推定値を算出する推定処理を実行
し、
前記差異が前記第1基準程度以上である場合に、前記推定処理を実行せず、
前記減速指令部は、
前記差異が前記第1基準程度よりも大きい第2基準程度以上である場合に、前記移動体を停止させるための前記減速指令を生成し、
前記差異が前記第1基準程度以上かつ前記第2基準程度未満である場合に、前記移動体を停止させずに減速させるための前記減速指令を生成する、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、推定装置、推定方法、および、システムに関する。
【背景技術】
【0002】
特許文献1には、車両の製造工程において、自律的に又は遠隔制御によって車両を走行させる技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
車両のような移動体の移動を制御するために、測距装置を用いて取得される移動体の3次元点群データを用いて、移動体の位置や向きを推定する技術が知られている。こうした移動体の位置や向きの推定精度をより向上させる技術が望まれている。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
本開示の一形態によれば、無人運転によって移動体を移動させるために用いられる推定装置が提供される。この推定装置は、第1測距装置によって取得される前記移動体の3次元点群データを用いた第1マッチングを実行し、前記第1マッチングによる第1算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第1マッチング部と、第2測距装置によって取得される前記移動体の3次元点群データを用いた第2マッチングを実行し、前記第2マッチングによる第2算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第2マッチング部と、前記移動体の位置と向きとの少なくとも一方の推定値であって、前記無人運転のための制御指令の生成に用いられる推定値を算出する推定部と、前記第1算出結果と前記第2算出結果との差異が予め定められた第1基準程度以上である場合に、前記移動体を停止させずに減速、または、停止させるための減速指令を生成する減速指令部と、を備える。前記推定部は、前記差異が前記第1基準程度より小さい場合に、前記第1算出結果と前記第2算出結果との少なくとも一方を用いて前記推定値を算出する推定処理を実行し、前記差異が前記第1基準程度以上である場合に、前記推定処理を実行せず、前記減速指令部は、前記差異が前記第1基準程度よりも大きい第2基準程度以上である場合に、前記移動体を停止させるための前記減速指令を生成し、前記差異が前記第1基準程度以上かつ前記第2基準程度未満である場合に、前記移動体を停止させずに減速させるための前記減速指令を生成する。
本開示の一形態によれば、無人運転によって移動体を移動させるために用いられる推定方法が提供される。この推定方法は、第1測距装置によって取得される前記移動体の3次元点群データを用いた第1マッチングを実行し、前記第1マッチングによる第1算出結果として、前記移動体の位置と向きとの少なくとも一方を算出するステップと、第2測距装置によって取得される前記移動体の3次元点群データを用いた第2マッチングを実行し、前記第2マッチングによる第2算出結果として、前記移動体の位置と向きとの少なくとも一方を算出するステップと、前記移動体の位置と向きとの少なくとも一方の推定値であって、前記無人運転のための制御指令の生成に用いられる推定値を算出するステップと、前記第1算出結果と前記第2算出結果との差異が予め定められた第1基準程度以上である場合に、前記移動体を停止させずに減速、または、停止させるための減速指令を生成するステップと、を備える。前記推定値を算出するステップでは、前記差異が前記第1基準程度より小さい場合に、前記第1算出結果と前記第2算出結果との少なくとも一方を用いて前記推定値を算出する推定処理を実行し、前記差異が前記第1基準程度以上である場合に、前記推定処理を実行せず、前記減速指令を生成するステップでは、前記差異が前記第1基準程度よりも大きい第2基準程度以上である場合に、前記移動体を停止させるための前記減速指令を生成し、前記差異が前記第1基準程度以上かつ前記第2基準程度未満である場合に、前記移動体を停止させずに減速させるための前記減速指令を生成する。
本開示の一形態によれば、システムが提供される。このシステムは、無人運転によって移動可能な移動体と、第1測距装置によって取得される前記移動体の3次元点群データを用いた第1マッチングを実行し、前記第1マッチングによる第1算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第1マッチング部と、第2測距装置によって取得される前記移動体の3次元点群データを用いた第2マッチングを実行し、前記第2マッチングによる第2算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第2マッチング部と、前記移動体の位置と向きとの少なくとも一方の推定値であって、前記無人運転のための制御指令の生成に用いられる推定値を算出する推定部と、前記第1算出結果と前記第2算出結果との差異が予め定められた第1基準程度以上である場合に、前記移動体を停止させずに減速、または、停止させるための減速指令を生成する減速指令部と、を備える。前記推定部は、前記差異が前記第1基準程度より小さい場合に、前記第1算出結果と前記第2算出結果との少なくとも一方を用いて前記推定値を算出する推定処理を実行し、前記差異が前記第1基準程度以上である場合に、前記推定処理を実行せず、前記減速指令部は、前記差異が前記第1基準程度よりも大きい第2基準程度以上である場合に、前記移動体を停止させるための前記減速指令を生成し、前記差異が前記第1基準程度以上かつ前記第2基準程度未満である場合に、前記移動体を停止させずに減速させるための前記減速指令を生成する。
本開示は、以下の形態としても実現できる。
【0006】
(1)本開示の第1の形態によれば、無人運転によって移動体を移動させるために用いられる推定装置が提供される。この推定装置は、第1測距装置によって取得される前記移動体の3次元点群データを用いた第1マッチングを実行し、前記第1マッチングによる第1算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第1マッチング部と、第2測距装置によって取得される前記移動体の3次元点群データを用いた第2マッチングを実行し、前記第2マッチングによる第2算出結果として、前記移動体の位置と向きとの少なくとも一方を算出する第2マッチング部と、前記移動体の位置と向きとの少なくとも一方の推定値であって、前記無人運転のための制御指令の生成に用いられる推定値を算出する推定部と、を備える。前記推定部は、前記第1算出結果と前記第2算出結果とに応じて、前記第1算出結果と前記第2算出結果との少なくとも一方を用いて前記推定値を算出する推定処理を実行する。
このような形態によれば、第1測距装置による3次元点群データを用いたマッチングによる第1算出結果と、第2測距装置による3次元点群データを用いたマッチングによる第2算出結果とをそれぞれ個別に算出し、各算出結果に応じて、位置や向きの推定値を算出できる。そのため、例えば、位置や向きの推定に際して単一の算出結果のみを算出する場合と比較して、位置や向きの推定精度を向上できる可能性が高まる。
(2)上記形態の推定装置では、前記推定部は、前記第1算出結果と前記第2算出結果との間の差異が予め定められた基準程度より小さい場合に、前記第1算出結果と前記第2算出結果との少なくとも一方を用いた前記推定処理を実行し、前記差異が前記基準程度以上である場合に、前記推定処理をしないものとしてもよい。このような形態によれば、第1算出結果と第2算出結果との間の差異が比較的小さい場合に、第1算出結果や第2算出結果を用いた推定処理を実行できる。また、第1算出結果と第2算出結果との間の差異が比較的大きい場合には、推定処理が実行されない。そのため、算出結果間の差異に起因して位置や向きの推定精度が低下することを抑制できる。
(3)上記形態の推定装置では、前記推定部は、前記推定処理において、前記第1算出結果と前記第2算出結果とのうち、マッチングの信頼度がより高い算出結果を用いて、前記推定値を算出してもよい。このような形態によれば、マッチングの信頼度がより高い算出結果を用いて位置や向きを推定できるので、推定精度を向上できる可能性がより高まる。
(4)上記形態の推定装置では、前記推定部は、前記推定処理において、前記第1算出結果と前記第2算出結果との平均を用いて、前記推定値を算出してもよい。このような形態によれば、第1算出結果と第2算出結果とを用いて簡易に位置や向きを推定できる。
(5)上記形態の推定装置では、前記差異が前記基準程度以上である場合に、前記移動体を減速または停止させるための前記制御指令を生成する減速指令部を備えてもよい。このような形態によれば、算出結果間の差異に起因して位置や向きの推定精度が低下し得る場合に、遠隔制御対象の移動体を減速または停止させることができる。
(6)上記形態の推定装置では、前記減速指令部は、前記差異が第1基準程度よりも大きい第2基準程度以上である場合に、前記移動体を停止させるための前記減速指令を生成し、前記差異が前記第1基準程度以上かつ前記第2基準程度未満である場合に、前記移動体を減速させるための前記減速指令を生成してもよい。
(7)上記形態の推定装置では、前記推定部は、前記推定処理において、予め定められた基準に応じて、(i)マッチングの信頼度に応じて前記推定値を算出する第1処理と、(ii)前記第1算出結果と前記第2算出結果との平均を用いて前記推定値を算出する第2処理と、のいずれかを選択的に実行してもよい。
(8)上記形態の推定装置では、前記基準は、前記第1測距装置と前記第2測距装置との、(i)点群数に関する差異と、(ii)前記移動体との間の離間距離に関する差異と、(iii)前記移動体の角度位置に関する差異と、の少なくともいずれかを含んでいてもよい。
本開示は、上述した推定装置としての形態以外にも、例えば、システムや、推定方法、コンピュータプログラム、および、コンピュータプログラムが記録された一時的でない記録媒体などの形態で実現することができる。
【図面の簡単な説明】
【0007】
【
図3A】第1実施形態における車両の走行制御の処理手順を示すフローチャート。
【
図3B】第1実施形態における指令生成処理のフローチャート。
【
図5】第2実施形態における指令生成処理のフローチャートである。
【
図6】第3実施形態におけるシステムの構成を示す概念図。
【
図7】第3実施形態における車両の走行制御の処理手順を示すフローチャート。
【発明を実施するための形態】
【0008】
A.第1実施形態:
図1は、本実施形態におけるシステム10の構成を示す概念図である。システム10は、移動体としての1台以上の車両100と、車両100の遠隔制御を実行する制御装置200と、車両100の3次元点群データを測定する複数の測距装置300と、車両100の製造工程の管理を行う工程管理装置400とを備える。第1実施形態では、制御装置200が本開示の「推定装置」に相当する。制御装置200のことを、サーバとも呼ぶ。
【0009】
本開示において、「移動体」は、移動し得る物体を意味し、例えば、車両や電動垂直離着陸機(いわゆる空飛ぶ自動車)である。車両100は、車輪によって走行する車両であっても無限軌道によって走行する車両であってもよく、例えば、乗用車、トラック、バス、二輪車、四輪車、戦車、工事用車両などである。車両100は、電気自動車(BEV:Battery Electric Vehicle)、ガソリン自動車、ハイブリッド自動車、ならびに燃料電池自動車を含む。移動体が車両以外である場合には、本開示における「車両」「車」との表現を、適宜に「移動体」に置き換えることができ、「走行」との表現を、適宜に「移動」に置き換えることができる。
【0010】
車両100は、無人運転によって走行可能に構成されている。「無人運転」とは、搭乗者の走行操作によらない運転を意味する。走行操作とは、車両100の「走る」、「曲がる」、「止まる」の少なくともいずれかに関する操作を意味する。無人運転は、車両100の外部に位置する装置を用いた自動または手動の遠隔制御によって、あるいは、車両100の自律制御によって実現される。無人運転によって走行している車両100には、走行操作を行わない搭乗者が搭乗していてもよい。走行操作を行わない搭乗者には、例えば、単に車両100の座席に着座している人や、組み付け、検査、スイッチ類の操作といった走行操作とは異なる作業を車両100に乗りながら行っている人が含まれる。なお、搭乗者の走行操作による運転は、「有人運転」と呼ばれることがある。
【0011】
本明細書において、「遠隔制御」は、車両100の外部から車両100の動作の全てが完全に決定される「完全遠隔制御」と、車両100の外部から車両100の動作の一部が決定される「部分遠隔制御」とを含む。また、「自律制御」は、車両100の外部の装置から一切の情報を受信することなく車両100が自身の動作を自律的に制御する「完全自律制御」と、車両100の外部の装置から受信した情報を用いて車両100が自身の動作を自律的に制御する「部分自律制御」とを含む。
【0012】
車両100は、電気自動車(BEV:Battery Electric Vehicle)であることが好ましい。
【0013】
本実施形態におけるシステム10は、遠隔制御によって車両100を走行させる遠隔制御システムとして構成されている。本実施形態では、車両100を製造する工場において、車両100の遠隔制御が実行される。工場は、第1場所PL1と第2場所PL2とを備えている。第1場所PL1は、例えば、車両100の組み立てが実施される場所であり、第2場所PL2は、例えば、車両100の検査が実施される場所である。第1場所PL1と第2場所PL2とは、車両100が走行可能な走行路SRによって接続されている。工場内の任意の位置は、基準座標系Σrのxyz座標値で表現される。
【0014】
走行路SRの周辺には、車両100を測定対象とする複数の測距装置300が設置されている。制御装置200は、各測距装置300で測定された3次元点群データを用いて、リアルタイムで、目標ルートTRに対する車両100の相対的な位置および向きや、車両100の走行方向を取得することができる。測距装置300としては、カメラやLiDAR(Light Detection And Ranging)を使用できる。特に、LiDARは、高精度の3次元点群データが得られる点で好ましい。本実施形態における測距装置300は、LiDARによって構成されている。複数の測距装置300は、車両100が目標ルートTRの任意の位置に存在する場合に、常に2個以上の測距装置300で車両100を測定できるように配置されていることが好ましい。本実施形態では、個々の測距装置300の位置は固定されており、基準座標系Σrと個々の測距装置300の装置座標系との相対関係は既知である。基準座標系Σrの座標値と個々の測距装置300の装置座標系の座標値とを相互に変換するための座標変換行列は、制御装置200内に予め格納されている。
【0015】
以下では、複数の測距装置300のうち、無人運転の対象となる車両100の測定を担当する2つの測距装置300を、それぞれ第1測距装置、第2測距装置とも呼ぶ。より詳細には、第1測距装置および第2測距装置は、目標ルートTR上の略同じ位置での車両100の測定を担当する。つまり、車両100が目標ルートTRを走行中である場合、第1測距装置および第2測距装置は、車両100をそれぞれ同様のタイミングで測定し、それぞれ同様のタイミングにおける車両100の3次元点群データを取得する。以下では、無人運転の対象となる車両100のことを、対象車両100とも呼ぶ。
【0016】
本実施形態における制御装置200は、車両100を遠隔制御するための制御指令を生成して車両100に送信する遠隔制御装置として構成されている。より詳細には、制御装置200は、車両100を目標ルートTRに沿って走行させるための制御指令を生成し、制御指令を車両100に送信する。車両100は、受信した制御指令に従って走行する。したがって、システム10により、クレーンやコンベアなどの搬送装置を用いずに、車両100を第1場所PL1から第2場所PL2まで遠隔制御により移動させることができる。なお、本実施形態における目標ルートTRは、後述する参照経路に相当する。また、制御指令の詳細については後述する。
【0017】
図2は、車両100と制御装置200との構成を示すブロック図である。車両100は、車両100の各部を制御するための車両制御装置110と、車両制御装置110の制御下で駆動するアクチュエータ群120と、無線通信により制御装置200と通信するための通信装置130と、車両100の位置情報を取得するためのGNSS(Global Navigation Satellite System)受信機140とを備えている。本実施形態では、アクチュエータ群120には、車両100を加速させるための駆動装置のアクチュエータ、車両100の進行方向を変更するための操舵装置のアクチュエータ、および、車両100を減速させるための制動装置のアクチュエータが含まれている。駆動装置には、バッテリ、バッテリの電力により駆動する走行用モータ、および、走行用モータにより回転する駆動輪が含まれている。駆動装置のアクチュエータには、走行用モータが含まれている。なお、アクチュエータ群120には、さらに、車両100のワイパーを揺動させるためのアクチュエータや、車両100のパワーウィンドウを開閉させるためのアクチュエータなどが含まれてもよい。
【0018】
車両制御装置110は、プロセッサ111と、メモリ112と、入出力インタフェイス113と、内部バス114とを備えるコンピュータにより構成されている。プロセッサ111、メモリ112、および、入出力インタフェイス113は、内部バス114を介して、双方向に通信可能に接続されている。入出力インタフェイス113には、アクチュエータ群120、通信装置130、および、GNSS受信機140が接続されている。
【0019】
本実施形態では、プロセッサ111は、メモリ112に予め記憶されているプログラムPG1を実行することにより、車両制御部115及び位置情報取得部116として機能する。車両制御部115は、アクチュエータ群120を制御する。車両制御部115は、車両100に運転者が搭乗している場合に、運転者の操作に応じてアクチュエータ群120を制御することにより、車両100を走行させることができる。車両制御部115は、車両100に運転者が搭乗しているか否かにかかわらず、制御装置200から送信される制御指令に応じてアクチュエータ群120を制御することにより、車両100を走行させることもできる。位置情報取得部116は、GNSS受信機140を用いて、車両100の現在地を示す位置情報を取得する。但し、位置情報取得部116とGNSS受信機140とは、省略可能である。
【0020】
制御装置200は、プロセッサ201と、メモリ202と、入出力インタフェイス203と、内部バス204とを備えるコンピュータにより構成されている。プロセッサ201、メモリ202、および、入出力インタフェイス203は、内部バス204を介して、双方向に通信可能に接続されている。入出力インタフェイス203には、無線通信により車両100,測距装置300,及び,工程管理装置400と通信するための通信装置205が接続されている。
【0021】
本実施形態では、プロセッサ201は、メモリ202に予め記憶されているプログラムPG2を実行することにより、3次元点群データ取得部210,マッチング部220,推定部230,及び,指令生成部240として機能する。メモリ202には、プログラムPG2に加え、後述する参照用点群データ250と、目標ルートTRとが格納されている。
【0022】
3次元点群データ取得部210は、測距装置300で測定される車両100の3次元点群データを取得する。この3次元点群データは、測距装置300で検出される点群の3次元位置を示すデータである。測距装置300で測定される移動体の3次元点群データのことを、測定点群データとも呼ぶ。
【0023】
マッチング部220は、測定点群データと、参照用点群データ250とを用いたテンプレートマッチング(以下、単にマッチングとも呼ぶ)を実行する。マッチング部220は、第1マッチング部221と第2マッチング部222とを有する。第1マッチング部221は、第1マッチングを実行し、第1マッチングによる算出結果である第1算出結果として、車両100の位置と向きとの少なくとも一方を算出する。第1マッチングとは、第1測距装置によって取得される測定点群データである第1測定点群データを用いたマッチングのことを指す。第2マッチング部222は、第2マッチングを実行し、第2マッチングによる算出結果である第2算出結果として、車両100の位置と向きとの少なくとも一方を算出する。第2マッチングとは、第2測距装置によって取得される測定点群データである第2測定点群データを用いたマッチングのことを指す。マッチング部220によるマッチングのアルゴリズムとしては、ICP(Iterative Closest Point)、NDT(Normal Distributions Transform)等の種々のアルゴリズムを使用可能である。
【0024】
推定部230は、マッチング部220によって実行されるマッチングの結果を用いて、車両100の位置と向きとの少なくとも一方の推定値を算出する。より詳細には、推定部230は、推定処理を実行することによって推定値を算出する。推定処理とは、第1算出結果と第2算出結果とに応じて、第1算出結果と第2算出結果との少なくとも一方を用いて推定値を算出する処理を指す。このように算出される推定値は、遠隔制御のための制御指令の生成に用いられる。具体的には、本実施形態では、この推定値は、後述する車両位置情報に相当する。以下では、車両100の位置の推定値を算出することを「位置の推定」とも呼び、車両100の向きの推定値を算出することを「向きの推定」とも呼ぶ。本実施形態における推定部230は、車両100の位置及び向きの両方を推定する。
【0025】
本実施形態では、車両100の位置は、車両100のうち、予め定められた検出点のxyz座標として推定される。また、車両100の向きは、車両100の中心軸に沿い、かつ、車両100の後方側から前方側に向かうベクトルの向きとして推定される。このベクトルは、例えば、車両100の前方側における車幅方向の中央位置の座標と、車両100の後方側における車幅方向の中央位置の座標とを用いて特定される。なお、車両100の位置や向きは、遠隔制御のための制御指令の生成に用いることが可能なように推定されればよく、位置や向きの推定の態様は上記に限られない。
【0026】
また、推定部230は、3次元点群データが利用できない場合に、車両100の走行履歴や、車両100に搭載されているGNSS受信機140で検出された位置情報を用いて、車両100の位置および向きを推定することが可能である。また、推定部230は、車両100の位置及び向きの一方のみを推定するようにしてもよい。この場合には、車両100の位置及び向きの他方は、例えば、車両100の走行履歴や、車両100に送信された制御指令の履歴を用いて決定される。なお、車両100の走行方向は、例えば、車両100の向きや走行履歴や制御指令の履歴のいずれか1つ、または、2つ以上を用いて推定することが可能である。
【0027】
指令生成部240は、推定された車両100の位置及び向きを用いて、無人運転によって車両100を走行させるための制御指令を生成して車両100に送信する。本実施形態では、制御指令は、メモリ202に格納された目標ルートTRに従って車両100を走行させる指令である。具体的には、本実施形態における制御指令は、後述する走行制御信号である。また、本実施形態では、指令生成部240は、減速指令を生成する減速指令部としても機能する。減速指令とは、対象車両100を減速または停止させるための制御指令を指す。
【0028】
なお、無人運転によって車両100を走行させるための制御指令は、走行制御信号と、走行制御信号を生成するための生成情報との少なくとも一方を含んでいればよい。したがって、他の実施形態では、制御指令は、走行制御信号に代えて、あるいは、これに加えて、生成情報を含んでいてもよい。生成情報としては、例えば、後述する車両位置情報や経路や目標位置を用いることができる。
【0029】
工程管理装置400は、例えば、コンピュータによって構成され、工場における車両100の製造工程全般の管理を実行する。例えば、1台の車両100が目標ルートTRに沿った走行を開始する際には、その車両100を識別する識別番号や型式などを示す個体情報が、工程管理装置400から制御装置200に送信される。制御装置200で検出された車両100の位置は、工程管理装置400にも送信される。なお、工程管理装置400の機能を、制御装置200と同じ装置に実装するようにしてもよい。
【0030】
図3Aは、第1実施形態における車両100の走行制御の処理手順を示すフローチャートである。S1にて、制御装置200は、車両100の外部に位置するセンサである外部センサから出力される検出結果を用いて、車両100の車両位置情報を取得する。車両位置情報は、走行制御信号を生成する基礎となる位置情報である。本実施形態では、車両位置情報には、工場の基準座標系Σrにおける車両100の位置および向きが含まれている。本実施形態では、工場の基準座標系Σrは、グローバル座標系であり、工場内の任意の位置は、グローバル座標系におけるX,Y,Zの座標で表現される。本実施形態では、外部センサは、工場に設置されている測距装置300であり、測距装置300からは、検出結果として測距点群データが出力される。すなわち、S1にて、制御装置200は、外部センサである測距装置300から取得した測距点群データを用いて、車両位置情報を取得する。具体的には、制御装置200は、測距点群データと、参照用点群データ250とを用いたテンプレートマッチングによって、車両位置情報を取得する。
【0031】
S2にて、制御装置200は、車両100が次に向かうべき目標位置を決定する。本実施形態では、目標位置は、グローバル座標系におけるX,Y,Zの座標で表される。制御装置200のメモリには、車両100が走行すべき経路である参照経路が予め記憶されている。経路は、出発地を示すノード、通過点を示すノード、目的地を示すノード、および、各ノードを結ぶリンクで表されている。制御装置200は、車両位置情報と参照経路とを用いて、次に車両100が向かうべき目標位置を決定する。制御装置200は、車両100の現在地よりも先の参照経路上に目標位置を決定する。
【0032】
S3にて、制御装置200は、決定した目標位置に向かって車両100を走行させるための走行制御信号を生成する。本実施形態では、走行制御信号は、車両100の加速度および操舵角をパラメータとして含んでいる。制御装置200は、車両100の位置の推移から車両100の走行速度を算出し、算出した走行速度と目標速度とを比較する。制御装置200は、全体として、走行速度が目標速度よりも低い場合には、車両100が加速するように加速度を決定し、走行速度が目標速度よりも高い場合には、車両100が減速するように加速度を決定する。また、制御装置200は、車両100が参照経路上に位置している場合には、車両100が参照経路上から逸脱しないように操舵角および加速度を決定し、車両100が参照経路上に位置していない場合、換言すれば、車両100が参照経路上から逸脱している場合には、車両100が参照経路上に復帰するように操舵角および加速度を決定する。他の実施形態では、走行制御信号は、車両100の加速度に代えて、あるいは、これに加えて、車両100の速度をパラメータとして含んでいてもよい。
【0033】
S4にて、制御装置200は、生成した走行制御信号を車両100に対して送信する。制御装置200は、所定の周期で、車両位置情報の取得、目標位置の決定、走行制御信号の生成、および、走行制御信号の送信などを繰り返す。
【0034】
なお、本実施形態におけるS1からS4では、具体的には、後述する指令生成処理が実行される。
【0035】
S5にて、車両100は、制御装置200から送信される走行制御信号を受信する。S6にて、車両100は、受信した走行制御信号を用いて車両100のアクチュエータを制御することにより、走行制御信号に表されている加速度および操舵角で車両100を走行させる。車両100は、所定の周期で、走行制御信号の受信、および、車両100のアクチュエータの制御を繰り返す。本実施形態におけるシステム10によれば、車両100を遠隔制御により走行させることができ、クレーンやコンベア等の搬送設備を用いずに車両100を移動させることができる。
【0036】
図3Bは、本実施形態における推定方法を実現するための指令生成処理のフローチャートである。この指令生成処理は、3次元点群データ取得部210が、対象車両100の測定を担当する測距装置300から測定点群データを新たに取得するたびに実行される。3次元点群データ取得部210は、例えば、指令生成処理の開始に先立って、新たに取得した測定点群データから、静止物を表す背景点群データを除去する前処理を実行するようにしてもよい。
【0037】
S100にて、第1マッチング部221は、第1マッチングを実行する。S100が実行されることで、第1算出結果が算出される。S110にて、第2マッチング部222は、第2マッチングを実行する。S110が実行されることで、第2算出結果が算出される。
【0038】
図4は、マッチングの例を模式的に説明する図である。
図4は、第1測距装置300Aによって取得される第1測定点群データPC1と参照用点群データ250とを用いた第1マッチングが実行されることで、第1算出結果CR1が算出される様子を示している。また、
図4は、第2測距装置300Bによって取得される第2測定点群データPC2と参照用点群データ250とを用いた第2マッチングが実行されることで、第2算出結果CR2が算出される様子を示している。
図4に示した第1算出結果CR1は、車両100の位置Dp1のxyz座標(x1,y1,z1)と、車両100の向きd1を表す角度θ1とを含む。略同様に、第2算出結果CR2は、車両100の位置Dp2のxyz座標(x2,y2,z2)と、車両100の向きd2を表す角度θ2とを含む。位置Dp1,Dp2は、車両100のうち予め定められた検出点に対応する位置であり、それぞれ同じ位置を表す。また、向きd1および向きd2は、車両100の中心軸に沿い、かつ、車両100の後方側から前方側に向かうベクトルの向きに相当する。より詳細には、向きd1を表す角度θ1や向きd2を表す角度θ2が、ある角度位置を基準、つまり、0°とした場合の角度として算出されている。車両100の中心軸は、例えば、車両100の前方側における車幅方向の中央位置の座標と、車両100の後方側における車幅方向の中央位置の座標とによって特定される。第1マッチングと第2マッチングとは、それぞれ異なる測定点群データを用いて個別に実行されるため、位置Dp1の座標と位置Dp2の座標とは、通常、完全には一致しない。同様に、向きd1と向きd2とは、通常、完全には一致しない。
【0039】
S120にて、推定部230は、判定処理を実行する。判定処理とは、第1算出結果CR1と第2算出結果CR2との間の差異を表す算出差異が、予め定められた基準程度より小さいか否かを判定する処理を指す。判定処理では、例えば、位置Dp1の座標と位置Dp2の座標との間の差、つまり、両位置間の距離が予め定められた基準距離より小さい場合に、推定部230は、算出差異が基準程度より小さいと判定する。他の実施形態では、判定処理において、例えば、向きd1と向きd2との間の角度差が予め定められた基準角度より小さい場合に、算出差異が基準程度より小さいと判定されてもよい。また、例えば、上記の距離が基準距離より小さく、かつ、角度差が基準角度より小さい場合に、算出差異が基準程度より小さいと判定されてもよい。以下では、判定処理において用いられる基準程度のことを、第1基準程度とも呼ぶ。
【0040】
S120で算出差異が基準程度未満である場合、S130にて、推定部230は、推定処理を実行する。本実施形態における推定処理では、推定部230は、第1算出結果CR1と第2算出結果CR2とのうち、マッチングの信頼度がより高い一方の算出結果を用いて、推定値を算出する。その後、指令生成部240は、推定値を用いて制御指令を生成し出力する。具体的には、本実施形態における指令生成部240は、推定値としての車両位置情報を用いて、制御指令としての走行制御信号を生成して、車両100に対して送信する。車両制御部115は、受信した制御指令を用いてアクチュエータ群120を制御することで、車両100を走行させる。
【0041】
「マッチングの信頼度」は、マッチングの精度に関する信頼性を評価する評価指標によって表される。あるマッチングの信頼度を評価する評価指標としては、例えば、そのマッチングに用いられる測定点群データにおける点群数に関する値や、そのマッチングによる測定点群データと参照用点群データ250との一致度合いを表す一致度を用いることができる。
【0042】
点群数に関する値としては、例えば、測定点群データにおける点群数や点群密度を表す値を用いることができる。通常、参照用点群データ250における点群数や点群密度は、測定点群データにおける点群数や点群密度よりも大きい。そのため、測定点群データにおける点群数や点群密度が大きいほど、測定群データにおける点群数や点群密度と、参照用点群データ250における点群数や点群密度との差異がより小さくなり、測定点群データと参照用点群データ250とをより緻密にマッチングさせることができる。そのため、例えば、第1測距点群データにおける点群数や点群密度が、第2測距点群データにおける点群数や点群密度よりも高ければ、第1マッチングの信頼性が第2マッチングの信頼性よりも高いと判定できる。
【0043】
また、一致度としては、例えば、各マッチングのアルゴリズムにおいてマッチングが収束したか否かを判定するための評価値を用いることができる。例えば、マッチングのアルゴリズムとしてNDTを用いる場合には、一致度として、NDTにおける収束を判定するための評価関数を用いることができる。この場合、例えば、第1マッチングにおける収束完了時の評価関数の値が、第2マッチングにおける収束完了時の評価関数の値よりも小さければ、第1マッチングの信頼度が第2マッチングの信頼度よりも高いと判定できる。一致度としては、その他にも、収束完了時の対応点同士の間の距離の総和や二乗和、平均等を用いることができる。この場合、収束完了時の対応点同士の距離の総和等がより小さい場合に、信頼度がより高いと判定できる。また、一致度として、参照用点群データ250における点群のうち、対応点との間の距離が予め定められた距離以下である点の個数や割合を用いてもよい。この場合、対応点との間の距離が予め定められた距離以下である点の個数や割合がより大きい場合に、信頼度がより高いと判定できる。なお、測距点群データのある点に対応する対応点は、参照用点群データ250の点群のうち、その点との間の距離が最も小さい点である。
【0044】
S120で算出差異が基準程度以上である場合、S140にて、減速指令部として機能する指令生成部240は、減速指令を生成し、生成した減速指令を対象車両100に送信する。本実施形態では、この減速指令は、車両100を制動するための走行制御信号である。なお、本実施形態では、S120で算出差異が基準程度以上である場合には、推定処理は実行されない。そのため、S120で算出差異が基準程度以上である場合には、いずれの算出結果も制御指令の生成に用いられることなく、指令生成処理が終了される。
【0045】
以上で説明した本実施形態における制御装置200によれば、推定部230は、第1測距装置300Aによって取得される3次元点群データを用いた第1マッチングによる第1算出結果CR1と、第2測距装置300Bによって取得される3次元点群データを用いた第2マッチングによる第2算出結果CR2とに応じて、第1算出結果CR1と第2算出結果CR2との少なくとも一方を用いて、車両100の位置と向きとの少なくとも一方の推定値を算出する推定処理を実行する。そのため、例えば、位置や向きの推定に際して単一の測距装置300のみを用いる場合や、単一のマッチングのみを実行する場合と比較して、位置や向きの推定精度を向上できる可能性が高まる。
【0046】
また、本実施形態では、推定部230は、算出差異が基準程度より小さい場合に推定処理を実行し、算出差異が基準程度以上である場合に推定処理を実行しない。このようにすれば、算出差異が比較的小さい場合に、第1算出結果CR1や第2算出結果CR2を用いた推定処理を実行できる。また、算出差異が基準程度以上である場合には、推定処理が実行されず、いずれの算出結果も制御指令の生成に用いられない。そのため、算出差異に起因して位置や向きの推定精度が低下することを抑制できる。従って、車両100をより適切に遠隔制御できる可能性が高まる。
【0047】
また、本実施形態では、推定処理において、推定部230は、第1算出結果CR1と第2算出結果CR2とのうち、マッチングの信頼度がより高い算出結果を用いて推定値を算出する。そのため、位置や向きの推定精度を向上できる可能性がより高まる。
【0048】
なお、他の実施形態では、推定処理において、推定部230は、例えば、マッチングの信頼度によらず、第1算出結果CR1と第2算出結果CR2との平均を用いて推定値を算出してもよい。このようにすれば、第1算出結果CR1と第2算出結果CR2とを用いて簡易に位置や向きを推定できる。本実施形態では、上述したように算出差異が基準程度より小さい場合に推定処理が実行されるので、推定処理において、マッチングの信頼度によらずに各算出結果の平均を用いる場合であっても位置や向きの推定精度の低下を抑制できる。また、各算出結果の平均を用いて位置や向きを推定することで、位置や向きの推定結果に各測距装置300の個体差の影響が及ぶことを抑制できる。
【0049】
また、本実施形態では、減速指令部は、算出差異が第1基準程度以上である場合に、車両100を減速または停止させるための減速指令を生成する。そのため、算出差異に起因して位置や向きの推定精度が低下し得る場合に、減速指令によって対象車両100を減速または停止させることができる。そのため、車両100をより適切に遠隔制御できる。
【0050】
なお、他の実施形態では、減速指令部は、例えば、算出差異が第1基準程度よりも大きい第2基準程度以上である場合に、車両100を停止させるための減速指令を生成し、算出差異が第1基準程度以上かつ第2基準程度未満である場合に、車両100を減速させるための減速指令を生成してもよい。
【0051】
B.第2実施形態:
図5は、第2実施形態における推定方法を実現するための指令生成処理のフローチャートである。
図5では、
図3Bと同様のステップには、
図3Bと同じ符号が付されている。第2実施形態では、第1実施形態とは違って、指令生成処理において決定処理が実行される。決定処理とは、マッチングの信頼度に応じて推定値を算出する第1処理を実行するか、あるいは、各算出結果の平均を用いて推定値を算出する第2処理を実行するか、を選択的に決定する処理である。第1処理は、例えば、第1実施形態で説明したように、マッチングの信頼度がより高い算出結果を用いて推定値を算出する処理である。第2実施形態における制御装置200やシステム10の構成のうち、特に説明しない部分については、第1実施形態と同様である。
【0052】
本実施形態では、
図5のS120で算出差異が基準程度未満である場合、S125にて、推定部230は、上述した決定処理を実行する。
【0053】
決定処理における決定の基準としては、例えば、点群数に関する差異、測距装置300と車両100との間の離間距離に関する差異、測距装置300に対する車両100の角度位置に関する差異を用いることができる。離間距離や角度位置は、第1実施形態で説明した点群数や点群密度と同様に、マッチングの精度や信頼度に影響を及ぼす。例えば、車両100に関する測定点群データにおける点群数や点群密度は、一般的に、その車両100に関する離間距離が短いほど高くなり、その車両100に関する離間距離が長いほど低くなる。また、車両100の角度位置は、その車両100の測定を担当する測距装置300が、車両100のうち、より特徴量が多い部分における3次元点群データを取得できるか否かに影響する。測定点群データにおいて、こういった特徴量がより多い部分に対応する部分では、その点群数や点群密度がより大きくなる。従って、上記の差異が比較的大きい場合に第1処理を実行することで、より信頼度が高いマッチングによる算出結果を推定値の算出に用いることができるので、こうした差異に起因する位置や向きの推定精度の低下を抑制できる。また、上記の差異が比較的小さい場合に第2処理を実行することで、各算出結果の平均を推定値の算出に用いることができるので、位置や向きの推定結果に各測距装置300の個体差の影響が及ぶことを抑制できる。
【0054】
より具体的には、決定の基準として点群数に関する差異を用いる場合、例えば、第1測定点群データと第2測定点群データとの間で、点群数や点群密度の差異が予め定められた程度よりも大きい場合に、第1処理の実行を決定してもよい。また、この場合、第1測定点群データにおける点群数や点群密度のばらつきと、第2測定点群データにおける点群数や点群密度のばらつきとの差異が予め定められた程度よりも大きい場合に、第1処理の実行を決定してもよい。測定点群データにおける点群数や点群密度のばらつきは、測定点群データを複数のボクセルに分割した場合の、各ボクセル間での点群数や点群密度の差異の大きさとして評価できる。また、決定の基準として離間距離に関する差異を用いる場合、第1測距装置と車両100との間の離間距離と、第2測距装置と車両100との間の離間距離との間の差異が予め定められた程度よりも大きい場合に、第1処理の実行を決定してもよい。また、決定の基準として角度位置に関する差異を用いる場合、第1測距装置に対する車両100の角度位置と、第2測距装置に対する車両100の角度位置との間の差異が予め定められた程度よりも大きい場合に、第1処理の実行を決定してもよい。なお、決定の基準として、離間距離に関する差異や角度位置に関する差異を適用する場合、例えば、測距装置300による車両100の測距結果を用いることで、測定点群データを解析することなく第1処理と第2処理とのいずれの処理を実行するかを決定可能である。
【0055】
S125で第1処理の実行が決定された場合、S132にて、推定部230は、第1処理を実行する。S125で第2処理の実行が決定された場合には、S134にて、第2処理を実行する。
【0056】
以上で説明した第2実施形態によれば、決定処理を実行することで、マッチングの信頼度に応じて推定値を算出する第1処理を実行するか、あるいは、各算出結果の平均を用いて推定値を算出する第2処理を実行するかを決定できる。そして決定処理の結果に応じた推定処理を実行することで、車両100の位置や向きをより効果的に推定できる。
【0057】
C.第3実施形態:
図6は、第3実施形態におけるシステム10vの構成を示す概念図である。本実施形態におけるシステム10vは、第1実施形態とは違って、制御装置200を備えていない。また、本実施形態における車両100vは、車両100vの自律制御によって走行可能である。第3実施形態におけるシステム10vや車両100vの構成のうち、特に説明しない部分については、第1実施形態と同様である。
【0058】
本実施形態では、車両100vの通信装置130は、測距装置300や工程管理装置400と通信することができる。車両制御装置110vのプロセッサ111vは、メモリ112vに記憶されたプログラムPG2を実行することにより、車両制御部115v、位置情報取得部116、3次元点群データ取得部210、マッチング部220、推定部230、および、指令生成部240として機能する。車両制御部115vは、センサによる検出結果を取得し、検出結果を用いて走行制御信号を生成し、生成した走行制御信号を出力してアクチュエータ群120を動作させることで、車両100vを自律制御によって走行させることが可能である。また、本実施形態では、車両制御部115vが指令生成部240として機能する。メモリ112vには、プログラムPG1に加え、参照用点群データ250や目標ルートTRが記憶されている。第3実施形態における車両制御装置110vは、本開示における「推定装置」に相当する。
【0059】
図7は、第3実施形態における車両100vの走行制御の処理手順を示すフローチャートである。S11にて、車両100vは、外部センサである測距装置300から出力される検出結果を用いて車両位置情報を取得する。S21にて、車両100vは、車両100vが次に向かうべき目標位置を決定する。S31にて、車両100vは、決定した目標位置に向かって車両100vを走行させるための走行制御信号を生成する。S41にて、車両100vは、生成した走行制御信号を用いて車両100vのアクチュエータを制御することにより、走行制御信号に表されているパラメータに従って車両100vを走行させる。車両100vは、所定の周期で、車両位置情報の取得、目標位置の決定、走行制御信号の生成、および、アクチュエータの制御を繰り返す。本実施形態におけるシステム10vによれば、制御装置200により車両100vを遠隔制御しなくても、車両100vの自律制御によって車両100vを走行させることができる。
【0060】
本実施形態におけるS11からS41では、
図3Bと同様の指令生成処理が実行される。この指令生成処理は、車両100vの3次元点群データ取得部210が、対象車両100vの測定を担当する測距装置300から測定点群データを新たに取得するたびに実行される。なお、本実施形態では、対象車両100vは、自車両を意味する。
【0061】
本実施形態では、
図3Bの各ステップは、車両100vのプロセッサ111vによって実行される。例えば、S130で推定値が算出された場合、車両100vに備えられた指令生成部240は、推定値を用いて制御指令を生成して出力する。具体的には、本実施形態における指令生成部240は、推定値としての車両位置情報を用いて走行制御信号を生成して出力する。車両制御部115vは、走行制御信号を用いてアクチュエータ群120を制御することで、車両100を走行させる。また、S140では、車両100vの指令生成部240は、減速指令部として機能することで、減速指令を生成して出力する。そして、車両制御部115vは、減速指令に従ってアクチュエータ群120を制御することで、車両100vを減速または停止させる。
【0062】
以上で説明した本実施形態における車両制御装置110vによっても、例えば、位置や向きの推定に際して単一の測距装置300のみを用いる場合や、単一のマッチングのみを実行する場合と比較して、位置や向きの推定精度を向上できる可能性が高まる。
【0063】
なお、本実施形態と同様に車両100vが自律制御によって走行する他の実施形態において、例えば、第2実施形態で説明した
図5の指令生成処理が実行されてもよい。また、車両100vが自律制御によって走行する他の実施形態において、例えば、システム10に制御装置200が備えられていてもよい。
【0064】
D.他の実施形態:
(D1)上記実施形態では、推定部230は、判定処理を実行しているが、判定処理を実行しなくてもよい。つまり、上記実施形態では、算出差異が基準程度より小さい場合に、推定部230が推定処理を実行しているが、このようにしなくてもよい。例えば、推定部230は、判定処理を実行することなく、第1算出結果CR1と第2算出結果CR2とのうち、より信頼度が高い算出結果を用いて推定値を算出してもよい。この場合であっても各算出結果に応じて、少なくとも一方の算出結果を用いて位置や向きの推定値を算出できるので、位置や向きの推定精度を向上できる可能性が高まる。
【0065】
(D2)上記各実施形態において、車両100は、無人運転により移動可能な構成を備えていればよく、例えば、以下に述べる構成を備えるプラットフォームの形態であってもよい。具体的には、車両100は、無人運転により「走る」、「曲がる」、「止まる」の3つの機能を発揮するために、少なくとも、車両100の走行を制御する制御装置と、車両100vのアクチュエータとを備えていればよい。無人運転のために車両100が外部から情報を取得する場合に、車両100は、さらに、通信装置を備えていればよい。すなわち、無人運転により移動可能な車両100は、運転席やダッシュボードなどの内装部品の少なくとも一部が装着されていなくてもよく、バンパやフェンダーなどの外装部品の少なくとも一部が装着されていなくてもよく、ボディシェルが装着されていなくてもよい。この場合、車両100が工場から出荷されるまでの間に、ボディシェル等の残りの部品が車両100に装着されてもよいし、ボディシェル等の残りの部品が車両100に装着されていない状態で、車両100が工場から出荷された後にボディシェル等の残りの部品が車両100に装着されてもよい。各部品は、車両100の上側、下側、前側、後側、右側あるいは左側といった任意の方向から装着されてよく、それぞれ同じ方向から装着されてもよいし、それぞれ異なる方向から装着されてもよい。なお、プラットフォームの形態に対しても、第1実施形態における車両100と同様にして位置決定がなされ得る。
【0066】
(D3)上記各実施形態では、システム10において、3次元点群データ取得部210、マッチング部220、推定部230、および、指令生成部240等の各種機能部は、車両100に備えられてもよい。この場合、第3実施形態で説明したように、3次元点群データ取得部210、マッチング部220、推定部230、および、指令生成部240の全てが車両100に備えられていてもよいし、これらの機能部の一部が車両100に備えられていてもよい。また、システム10では、これらの機能部の一部や全部が、制御装置200および車両100の外部の装置に備えられていてもよい。
【0067】
(D4)上記第1実施形態では、制御装置200により車両位置情報の取得から走行制御信号の生成までの処理が実行される。これに対して、車両100により車両位置情報の取得から走行制御信号の生成までの処理の少なくとも一部が実行されてもよい。例えば、以下の(1)から(3)の形態であってもよい。
【0068】
(1)制御装置200は、車両位置情報を取得し、車両100が次に向かうべき目標位置を決定し、取得した車両位置情報に表されている車両100の現在地から目標位置までの経路を生成してもよい。制御装置200は、現在地と目的地との間の目標位置までの経路を生成してもよいし、目的地までの経路を生成してもよい。制御装置200は、生成した経路を車両100に対して送信してもよい。車両100は、制御装置200から受信した経路上を車両100が走行するように走行制御信号を生成し、生成した走行制御信号を用いて車両100vのアクチュエータを制御してもよい。
【0069】
(2)制御装置200は、車両位置情報を取得し、取得した車両位置情報を車両100に対して送信してもよい。車両100は、車両100が次に向かうべき目標位置を決定し、受信した車両位置情報に表されている車両100の現在地から目標位置までの経路を生成し、生成した経路上を車両100が走行するように走行制御信号を生成し、生成した走行制御信号を用いて車両100vのアクチュエータを制御してもよい。
【0070】
(3)上記(1),(2)の形態において、車両100に内部センサが搭載されており、経路の生成と走行制御信号の生成との少なくとも一方に、内部センサから出力される検出結果が用いられてもよい。内部センサは、車両100に搭載されたセンサである。具体的には、内部センサには、例えば、カメラ、LiDAR、ミリ波レーダ、超音波センサ、GPSセンサ、加速度センサ、ジャイロセンサなどが含まれ得る。例えば、上記(1)の形態において、制御装置200は、内部センサの検出結果を取得し、経路を生成する際に内部センサの検出結果を経路に反映してもよい。上記(1)の形態において、車両100は、内部センサの検出結果を取得し、走行制御信号を生成する際に内部センサの検出結果を走行制御信号に反映してもよい。上記(2)の形態において、車両100は、内部センサの検出結果を取得し、経路を生成する際に内部センサの検出結果を経路に反映してもよい。上記(2)の形態において、車両100は、内部センサの検出結果を取得し、走行制御信号を生成する際に内部センサの検出結果を走行制御信号に反映してもよい。
【0071】
(D5)上記第3実施形態において、車両100vに内部センサが搭載されており、経路の生成と走行制御信号の生成との少なくとも一方に、内部センサから出力される検出結果が用いられてもよい。例えば、車両100vは、内部センサの検出結果を取得し、経路を生成する際に内部センサの検出結果を経路に反映してもよい。車両100vは、内部センサの検出結果を取得し、走行制御信号を生成する際に内部センサの検出結果を走行制御信号に反映してもよい。
【0072】
(D6)上記第1実施形態では、制御装置200は、車両100に対して送信する走行制御信号を自動で生成している。これに対して、制御装置200は、車両100の外部に位置している外部オペレータの操作に従って、車両100に対して送信する走行制御信号を生成してもよい。例えば、外部センサから出力される撮像画像を表示するディスプレイ、車両100を遠隔操作するためのステアリング、アクセルペダル、ブレーキペダル、および、有線通信あるいは無線通信により制御装置200と通信するための通信装置を備える操縦装置を外部オペレータが操作し、制御装置200は、操縦装置に加えられた操作に応じた走行制御信号を生成してもよい。以下では、こうした制御による車両100の運転を、「遠隔手動運転」ともいう。遠隔手動運転が実行される形態では、例えば、操縦装置に含まれるディスプレイに、推定部230によって推定された車両100の位置や向きの推定結果が表示されてもよい。この場合、位置や向きの推定結果は、ディスプレイにおいて、例えば、文字や記号によって表されてもよいし、地図上に表されてもよい。
【0073】
(D7)車両100は、複数のモジュールを組み合わせることによって製造されてもよい。モジュールは、車両100の部位や機能に応じて纏められた複数の部品によって構成されるユニットを意味する。例えば、車両100のプラットフォームは、プラットフォームの前部を構成する前方モジュールと、プラットフォームの中央部を構成する中央モジュールと、プラットフォームの後部を構成する後方モジュールとを組み合わせることで製造されてもよい。なお、プラットフォームを構成するモジュールの数は、3つに限られず、2つ以下や4つ以上であってもよい。また、プラットフォームを構成する部品に加えて、あるいは、これに代えて、車両100のうちプラットフォームとは異なる部分を構成する部品がモジュール化されてもよい。また、各種モジュールは、バンパやグリルといった任意の外装部品や、シートやコンソールといった任意の内装部品を含んでいてもよい。また、車両100に限らず、任意の態様の移動体が、複数のモジュールを組み合わせることによって製造されてもよい。こうしたモジュールは、例えば、複数の部品を溶接や固定具等によって接合することで製造されてもよいし、モジュールを構成する部品の少なくとも一部を鋳造によって一の部品として一体的に成型することで製造されてもよい。一の部品、特に比較的大型の部品を一体的に成型する成型手法は、ギガキャストやメガキャストとも呼ばれる。例えば、上記の前方モジュールや中央モジュールや後方モジュールは、ギガキャストを用いて製造されてもよい。
【0074】
(D8)無人運転による車両100の走行を利用して車両100を搬送させることを「自走搬送」とも呼ぶ。また、自走搬送を実現するための構成を、「車両遠隔制御自律走行搬送システム」とも呼ぶ。また、自走搬送を利用して車両100を生産する生産方式のことを「自走生産」とも呼ぶ。自走生産では、例えば、車両100を製造する工場において、車両100の搬送の少なくとも一部が、自走搬送によって実現される。
【0075】
(D9)上記各実施形態において、ソフトウェア的に実現される機能及び処理の一部又は全部は、ハードウェア的に実現されてもよい。また、ハードウェア的に実現される機能及び処理の一部又は全部は、ソフトウェア的に実現されてもよい。上記各実施形態における各種機能を実現するためのハードウェアとしては、例えば、集積回路やディスクリート回路といった各種回路を用いてもよい。
【0076】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【0077】
10,10v…システム、100,100v…車両、110,110v…車両制御装置、111,111v…プロセッサ、112,112v…メモリ、113…入出力インタフェイス、114…内部バス、115,115v…車両制御部、116…位置情報取得部、120…アクチュエータ群、130…通信装置、140…GNSS受信機、200…制御装置、201…プロセッサ、202…メモリ、203…入出力インタフェイス、204…内部バス、205…通信装置、210…3次元点群データ取得部、220…マッチング部、221…第1マッチング部、222…第2マッチング部、230…推定部、240…指令生成部、250…参照用点群データ、300…測距装置、300A…第1測距装置、300B…第2測距装置、400…工程管理装置
【要約】
【課題】移動体の位置や向きの推定精度を向上させる技術を提供する。
【解決手段】無人運転によって移動体を移動させるために用いられる推定装置は、第1測距装置によって取得される移動体の3次元点群データを用いた第1マッチングを実行し、第1マッチングによる第1算出結果として、移動体の位置と向きとの少なくとも一方を算出する第1マッチング部と、第2測距装置によって取得される移動体の3次元点群データを用いた第2マッチングを実行し、第2マッチングによる第2算出結果として、移動体の位置と向きとの少なくとも一方を算出する第2マッチング部と、移動体の位置と向きとの少なくとも一方の推定値であって、無人運転のための制御指令の生成に用いられる推定値を算出する推定部とを備える。推定部は、第1算出結果と第2算出結果とに応じて、第1算出結果と第2算出結果との少なくとも一方を用いて推定値を算出する推定処理を実行する。
【選択図】
図2