(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025003086
(43)【公開日】2025-01-09
(54)【発明の名称】システム
(51)【国際特許分類】
G06T 7/70 20170101AFI20241226BHJP
G06T 7/00 20170101ALI20241226BHJP
G08G 1/09 20060101ALI20241226BHJP
G16Y 10/40 20200101ALI20241226BHJP
G16Y 20/20 20200101ALI20241226BHJP
G16Y 40/30 20200101ALI20241226BHJP
【FI】
G06T7/70 A
G06T7/00 650B
G08G1/09 V
G16Y10/40
G16Y20/20
G16Y40/30
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023103567
(22)【出願日】2023-06-23
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】岩堀 健人
(72)【発明者】
【氏名】横山 大樹
【テーマコード(参考)】
5H181
5L096
【Fターム(参考)】
5H181AA01
5H181BB20
5H181CC02
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181FF04
5H181FF13
5H181FF27
5H181JJ28
5H181LL09
5H181MC19
5H181MC27
5L096BA04
5L096CA04
5L096CA05
5L096EA35
5L096FA09
5L096FA69
5L096HA11
5L096JA16
5L096KA04
(57)【要約】
【課題】車両が撮影された画像を用いた車両位置の推定を、画像が撮影される撮影条件に関わらず適切に実行する。
【解決手段】遠隔制御によって走行する車両について車両位置を推定するために用いられるシステムは、車両が撮影された撮影画像を取得する画像取得部と、撮影画像を撮影したカメラを特定する特定部と、特定されるカメラの撮影条件に応じて、撮影画像を用いて車両位置を推定する推定処理の内容を決定する決定部とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
遠隔制御によって走行する車両について前記車両の位置を表す車両位置を推定するために用いられるシステムであって、
前記車両が撮影された撮影画像を取得する画像取得部と、
前記撮影画像を撮影したカメラを特定するカメラ特定部と、
特定される前記カメラの撮影条件に応じて、前記撮影画像を用いて前記車両位置を推定する推定処理の内容を決定する決定部と、を備える、システム。
【請求項2】
請求項1に記載のシステムであって、
前記推定処理を実行する推定部と、
前記推定処理によって推定される前記車両位置を用いて、前記遠隔制御のための制御指令を生成する指令生成部を備える、システム。
【請求項3】
請求項2に記載のシステムであって、
前記撮影画像は、前記車両が有する左側部分と、前記車両が有する右側部分と、の少なくとも一方を含み、
前記決定部は、前記撮影条件に応じて、前記推定処理の内容として、予め定められた検出箇所として前記撮影画像における前記左側部分を検出する第1処理を含む内容と、前記検出箇所として前記撮影画像における前記右側部分を検出する第2処理を含む内容と、を択一的に決定し、
前記推定部は、前記推定処理において、検出される前記検出箇所を用いて、前記車両位置を推定する、システム。
【請求項4】
請求項3に記載のシステムであって、
前記左側部分と前記右側部分とは、それぞれ、前記車両の車幅方向において互いに対称に位置する部分であり、
前記第1処理と前記第2処理とのいずれか一方は、前記撮影画像を鏡像反転させた反転画像を生成するとともに、前記反転画像において前記検出箇所を検出する処理であり、前記第1処理と前記第2処理とのいずれか他方は、鏡像反転されていない前記撮影画像において前記検出箇所を検出する処理である、システム。
【請求項5】
請求項1から4のいずれか一項に記載のシステムであって、
前記決定部は、前記撮影条件に応じて、前記推定処理において用いられるプログラムを決定することによって、前記推定処理の内容を決定する、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、システムに関する。
【背景技術】
【0002】
特許文献1には、車両の製造工程において、遠隔制御によって車両を走行させる技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
車両の遠隔制御において、車両が撮影された撮影画像を用いて車両位置を推定する技術を利用できる。こうした車両位置の推定を、撮影画像の撮影条件に関わらず適切に実行するための技術が望まれている。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
(1)本開示の一形態によれば、遠隔制御によって走行する車両について前記車両の位置を表す車両位置を推定するために用いられるシステムが提供される。このシステムは、前記車両が撮影された撮影画像を取得する画像取得部と、前記撮影画像を撮影したカメラを特定するカメラ特定部と、特定された前記カメラの撮影条件に応じて、前記撮影画像を用いて前記車両位置を推定する推定処理の内容を決定する決定部と、を備える。
このような形態であれば、撮影画像を撮影したカメラの撮影条件に応じて推定処理の内容を決定できる。そのため、撮影画像が撮影される撮影条件に関わらず、撮影画像を用いた車両位置の推定を適切に実行できる可能性が高まる。
(2)上記形態では、前記推定処理を実行する推定部と、前記推定処理によって推定される前記車両位置を用いて、前記遠隔制御のための制御指令を生成する指令生成部を備えていてもよい。このような形態であれば、推定処理によって推定される適切な車両位置を用いて、遠隔制御のための制御指令を生成できる。
(3)上記形態では、前記撮影画像は、前記車両が有する左側部分と、前記車両が有する右側部分と、の少なくとも一方を含み、前記決定部は、前記撮影条件に応じて、前記推定処理の内容として、予め定められた検出箇所として前記撮影画像における前記左側部分を検出する第1処理を含む内容と、前記検出箇所として前記撮影画像における前記右側部分を検出する第2処理を含む内容と、を択一的に決定し、前記推定部は、前記推定処理において、検出される前記検出箇所を用いて、前記車両位置を推定してもよい。このような形態であれば、推定処理において、撮影画像を撮影したカメラの撮影条件に応じて車両の左側部分や右側部分を検出できるとともに、検出される左側部分や右側部分を用いて車両位置を推定できる。
(4)上記形態では、前記左側部分と前記右側部分とは、それぞれ、前記車両の車幅方向において互いに対称に位置する部分であり、前記第1処理と前記第2処理とのいずれか一方は、前記撮影画像を鏡像反転させた反転画像を生成するとともに、前記反転画像において前記検出箇所を検出する処理であり、前記第1処理と前記第2処理とのいずれか他方は、鏡像反転されていない前記撮影画像において前記検出箇所を検出する処理であってもよい。このような形態であれば、推定処理において第1処理を実行する場合と第2処理を実行する場合とで、撮影画像を鏡像反転させることを除いて同様の手順で、左側部分や右側部分を検出できる。
(5)上記形態では、前記第2決定部は、前記撮影条件に応じて、前記推定処理において用いられるプログラムを決定することによって、前記推定処理の内容を決定してもよい。このような形態であれば、決定部によって推定処理に用いられるプログラムを決定することで、撮影画像を撮影したカメラの撮影条件に応じて推定処理の内容を決定できる。
【0007】
本開示は、上述したシステムとしての形態以外にも、例えば、制御装置や、制御方法や、その制御方法を実現するためのコンピュータプログラム、および、コンピュータプログラムが記録された一時的でない記録媒体などの形態で実現することができる。また、例えば、上記のシステムは、予め準備された機械学習モデルに撮影画像を入力することによって、車両位置を推定してもよい。
【図面の簡単な説明】
【0008】
【
図5】推定処理において画像が解析される様子の例を示す説明図。
【
図6】他の実施形態において車両を撮影するカメラが決定される例を示す説明図。
【発明を実施するための形態】
【0009】
A.第1実施形態:
図1は、第1実施形態におけるシステム10の構成を示す概念図である。
図2は、車両100と制御装置200との構成を示すブロック図である。システム10は、車両100を遠隔制御により走行させる遠隔制御システムとして構成されている。システム10は、1台以上の車両100と、車両100の遠隔制御を実行する制御装置200と、車両100を含む撮影画像Piを撮影する複数のカメラ300と、車両100の製造工程の管理を行う工程管理装置400とを備える。
【0010】
本実施形態における車両100は、電気自動車(BEV:Battery Electric Vehicle)である。なお、車両100は、電気自動車に限られず、例えば、ガソリン自動車や、ハイブリッド自動車や、燃料電池自動車でもよい。
【0011】
本実施形態では、車両100を製造する工場において、車両100の遠隔制御が実行される。
図1に示すように、本実施形態における工場は、第1場所PL1と第2場所PL2とを備えている。第1場所PL1は、例えば、車両100の組み立てが実施される場所であり、第2場所PL2は、例えば、車両100の検査が実施される場所である。工場内の任意の位置は、基準座標系Σrのxyz座標値で表現される。基準座標系Σrは、例えば、ワールド座標系(グローバル座標系とも呼ばれる)として定義される。
【0012】
第1場所PL1と第2場所PL2とは、車両100が走行可能な走路SRによって接続されている。本実施形態における走路SRは、分岐地点Jcにて2つに分岐した後に合流地点Cfにて合流する走路として構成されている。走路SRは、第1走路SR1、第2走路SR2、第3走路SR3および第4走路SR4を含んでいる。第1走路SR1は、第1場所PL1から第2場所PL2に向かって真っ直ぐに延びている。第2走路SR2から第4走路SR4は、分岐地点Jcと合流地点Cfとを第1走路SR1とは異なる経路で繋いでいる。なお、走路SRの態様は、上記に限られない。例えば、走路SRは、3つ以上に分岐する走路であってもよいし、分岐しない走路であってもよい。
【0013】
走路SR上には、車両100が遠隔制御によって走行する目標ルートが設定される。本実施形態では、走路SR上には、目標ルートとして、分岐地点Jcを直進する第1ルートRt1と、分岐地点Jcを曲がる第2ルートRt2とが設定される。第1ルートRt1は、第1走路SR1に対応する。第2ルートRt2は、ルートRt2a,Rt2b,Rt2c,Rt2dおよびRt2eを含んでいる。ルートRt2aは、第1走路SR1のうち、分岐地点Jcまでの部分に対応する。ルートRt2bは、第2走路SR2に対応する。ルートRt2cは、第3走路SR3に対応する。ルートRt2dは、第4走路SR4に対応する。ルートRt2eは、第1走路SR1のうち、合流地点Cf以降の部分に対応する。なお、目標ルートの数や形状や配置等は、上記に限られず任意であってよい。
【0014】
目標ルートは、例えば、以下の条件に応じて決定される。すなわち、その条件は、車両100の種別(例えば、車種や型式やグレードや動力源)や、車両100の検査結果や、各走行路の混雑度合いや、次工程の混雑度合い等である。こうした目標ルートの決定には、例えば、後述する車両100の製造情報を用いることができる。
【0015】
走路SRの周辺には、走路SR上の車両100を撮影可能に構成された複数のカメラ300が設置されている。各カメラ300は、車両100が目標ルートの任意の位置に存在する場合に、常に少なくとも1台のカメラ300が車両100を撮影できるように配置されている。制御装置200は、各カメラ300で撮影される撮影画像Piを用いて、リアルタイムで、目標ルートに対する車両100の相対的な位置および向きや、車両100の走行方向を取得できる。このように検出される位置や向きや走行方向は、車両100を遠隔制御するための制御指令の生成に用いられる。本実施形態では、各カメラ300は、走路SRを上方から俯瞰する画像を撮影可能なように配置されている。また、個々のカメラ300の位置および向きは固定されており、基準座標系Σrと個々のカメラ300の装置座標系(以下、カメラ座標系とも呼ぶ)との相対関係は既知である。基準座標系Σrの座標値と個々のカメラ300の装置座標系の座標値とを相互に変換するための座標変換行列は、制御装置200内に予め格納されている。車両100の遠隔制御では、例えば、車両100に搭載された車載カメラや、LiDAR(Light Detection And Ranging)、ミリ波レーダ、超音波センサ、赤外線センサ等の各種センサが補助的に用いられてもよい。
【0016】
本実施形態における制御装置200は、上述した制御指令を生成して車両100に送信する遠隔制御装置として構成されている。より詳細には、制御装置200は、車両100を目標ルートに沿って走行させるための制御指令を生成し、制御指令を車両100に送信する。車両100は、受信した制御指令に従って走行する。従って、システム10により、クレーンやコンベアなどの搬送装置を用いずに、車両100を第1場所PL1から第2場所PL2まで遠隔制御により移動させることができる。
【0017】
図2に示すように、車両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を実行することにより、画像取得部210、カメラ特定部215、カメラ情報取得部218、決定部220、推定部250および指令生成部260として機能する。メモリ202には、プログラムPG2に加え、設定された目標ルートを表す目標ルートデータRDと、後述する対応データ271と、推定プログラム280とが格納されている。本実施形態における推定プログラム280は、後述する第1解析プログラム281と第2解析プログラム282とを含む包括的なプログラムである。
【0022】
画像取得部210は、カメラ300によって車両100が撮影された撮影画像Piを取得する。本実施形態におけるカメラ300は、
図1に示した第1部分Dp1と第2部分Dp2との少なくとも一方を映すように撮影画像Piを撮影する。そのため、本実施形態における撮影画像Piは、第1部分Dp1と第2部分Dp2との少なくとも一方を含む。第1部分Dp1は、車両100のうち車幅方向における中央位置よりも左側に位置する左側部分であり、第2部分Dp2は、車両100のうち上記の中央位置よりも右側に位置する右側部分である。より具体的には、第1部分Dp1は、車両100の左後方角部であり、第2部分Dp2は、車両100の右後方角部である。つまり、本実施形態では、第1部分Dp1と第2部分Dp2とは車両100の車幅方向において互いに略対称に位置する部分である。第1部分Dp1や第2部分Dp2は、後述する推定処理で検出箇所として検出され得る部分である検出用部位に相当する。検出箇所は、推定処理で車両100の位置を表す車両位置を推定するのに用いられる箇所である
【0023】
カメラ特定部215は、撮影画像Piを撮影したカメラ300である撮像カメラを特定する。本実施形態では、画像取得部210によって撮影画像Piが取得された場合に、カメラ特定部215は、その撮影画像Piを制御装置200へ送信したカメラ300を撮像カメラとして特定する。本実施形態では、走路SRに対して各カメラ300の位置および向きは固定されている。そのため、撮像カメラが特定されることは、撮像カメラによる撮影画像Piの撮影条件が特定されることに相当する。この撮影条件は、撮影画像Piに含まれる検出用部位に関する条件であり、例えば、撮影画像Piに検出用部位として含まれ得る車両100の部位に関する条件や、撮影画像Piが撮影される向きに関する条件を含む。撮影画像Piが撮影される向きに関する条件とは、撮影画像Piの撮影に際して車両100が撮影される向きに関する条件であり、例えば、車両100が車両100の右側と左側とのいずれから撮影されるかを定める条件や、車両100が車両100の前方側と後方側とのいずれから撮影されるかを定める条件である。なお、撮影画像Piが撮影される向きが特定されれば、撮影画像Piに含まれる検出用部位が特定される。以下では、カメラ300による撮影画像Piの撮影条件のことを、単に、「カメラ300の撮影条件」とも呼ぶ。
【0024】
カメラ情報取得部218は、撮像カメラに関するカメラ情報Ciを取得する。本実施形態では、カメラ情報Ciとして、各カメラ300の識別情報が用いられる。本実施形態では、各カメラ300は、撮影画像Piとともに自身の識別情報を制御装置200に送信するように構成されている。なお、上述したカメラ特定部215は、このようにカメラ300から送信される識別情報を用いて撮像カメラを特定してもよい。また、他の実施形態では、カメラ情報取得部218は、カメラ情報Ciを、メモリ202に予め格納されたデータベースや、外部のコンピュータや記録媒体等から取得してもよい。
【0025】
本実施形態におけるシステム10では、車両100が走行するルートに対応して、撮影画像Piを撮影するカメラ300が決定されるように構成されている。
図1に示したカメラ300Aは、第1ルートRt1やルートRt2aやルートRt2eを走行する車両100を左後方側から撮影する。カメラ300Bは、ルートRt2bを走行する車両100の右後方側から撮影する。カメラ300Cは、ルートRt2cを走行する車両100を左後方側から撮影する。カメラ300Dは、ルートRt2dを走行する車両100を右後方側から撮影する。本実施形態において、「車両100を左後方側から撮影する」とは、撮影画像Piに第1部分Dp1(左後方角部)が映るように車両100を左後方側から撮影することを指す。「車両100を右後方側から撮影する」とは、撮影画像Piに第2部分Dp2(右後方角部)が映るように車両100を右後方側から撮影することを指す。そのため、車両100が左後方側から撮影された撮影画像Piは、通常、車両100が走行する位置によらず第1部分Dp1を含む。一方で、この撮影画像Piは、車両100が走行する位置によって、第2部分Dp2を含む場合と含まない場合とがある。また、車両100が左後方側から撮影された撮影画像Piに第1部分Dp1と第2部分Dp2とが含まれる場合、その撮影画像Piにおいて、第2部分Dp2は、第1部分Dp1よりも小さく現れる。同様に、車両100が右後方側から撮影された撮影画像Piは、通常、車両100が走行する位置によらず第2部分Dp2を含む。一方で、この撮影画像Piは、車両100が走行する位置によって、第1部分Dp1を含む場合と含まない場合とがある。
【0026】
図2に示した推定部250は、推定処理を実行する。推定処理は、撮影画像Piを用いて、遠隔制御対象の車両100について車両位置を推定する処理である。本実施形態における推定処理は、撮影画像Piにおける検出箇所を用いて車両位置を推定する処理である。より詳細には、推定処理は、撮影画像Piを解析することで撮影画像Piにおいて検出箇所を検出する解析処理と、検出される検出箇所を用いて車両位置を推定する処理とを含む。本実施形態では、推定部250によって推定プログラム280が実行されることで推定処理が実行される。なお、推定部250は、例えば、車両100の走行履歴や、GNSS受信機140で検出された位置情報を用いて、車両100の位置や向きを推定可能である。また、車両100の走行方向は、車両100の向きや走行履歴や制御指令の履歴等を用いて推定可能である。
【0027】
本実施形態における推定部250は、解析処理を実行する解析部251を有する。本実施形態における解析部251は、それぞれ解析プログラムである第1解析プログラム281や第2解析プログラム282を実行することで、解析処理を実行する。解析プログラムとは、解析プログラムを実行するコンピュータに、撮影画像Piを解析させて撮影画像Piにおける検出箇所を検出させる機能を実現させるプログラムである。本実施形態における第1解析プログラム281は、車両100が左後方側から撮影された撮影画像Piを解析するための解析プログラムであり、検出箇所として第1部分Dp1を検出するために使用される。また、第2解析プログラム282は、車両100が右後方側から撮影された撮影画像Piを解析するための解析プログラムであり、検出箇所として第2部分Dp2を検出するために使用される。
【0028】
決定部220は、特定される撮像カメラの撮影条件に応じて推定処理の内容を決定する。本実施形態における決定部220は、撮像カメラのカメラ情報Ciに応じて、推定処理で用いられるプログラムを決定することによって、撮像カメラの撮影条件に応じて推定処理の内容を変更する。より詳細には、決定部220は、撮像カメラのカメラ情報Ciに応じて、検出用プログラムを決定する。検出用プログラムとは、解析処理で検出箇所の検出に用いられる解析プログラムである。なお、上述したように、本実施形態では、撮像カメラが特定されることは、撮像カメラの撮影条件が特定されることに相当する。そのため、撮像カメラに応じて推定処理の内容を決定することで、撮像カメラの撮影条件に応じて推定処理の内容を決定できる。
【0029】
本明細書において、「撮影条件に応じたプログラムの決定」とは、撮影条件に応じてプログラムの処理工程を決定することを指す。そのため、「撮影条件に応じたプログラムの決定」の意味は、例えば、予め準備された複数のプログラムから、撮影条件に応じて、一の解析プログラムを、決定される対象のプログラムとして選択することを含む。この場合、検出用プログラムの選択は、例えば、複数のプログラムを含む包括的なプログラムにおいて、撮影条件に応じた条件分岐が実行されることによって実現されてもよい。また、「撮影条件に応じたプログラムの決定」の意味は、例えば、プログラムに含まれるコードの一部や全部を撮影条件に応じて書き換えることによって、決定される対象のプログラムを準備することを含む。
【0030】
本実施形態では、決定部220は、撮像カメラのカメラ情報Ciを用いて対応データ271を参照することで、推定処理の内容を決定する。対応データ271は、カメラ情報Ciと、推定処理の内容を決定するための情報との対応関係を記録したデータである。より詳細には、本実施形態における対応データ271は、各カメラ300の識別情報と、推定処理で使用されるプログラムを決定するための情報との対応関係を記録したデータである。本実施形態における対応データ271では、カメラ300Aおよび300Cの識別情報には、第1解析プログラム281を選択するためのパラメータが関連付けられている。また、カメラ300Bおよび300Dの識別情報には、第2解析プログラム282を選択するためのパラメータが関連付けられている。他の実施形態では、対応データ271は、例えば、各カメラ300の識別情報と、各カメラ300の撮影条件と、推定処理の内容を決定するための情報との対応関係を記録したデータであってもよい。
【0031】
指令生成部260は、推定された車両100の位置や向きを用いて、遠隔制御のための制御指令を生成して車両100に送信する。この制御指令は、メモリ202に格納された目標ルートデータRDによって表される目標ルートに従って車両100を走行させる指令である。制御指令は、駆動力又は制動力と、舵角とを含む指令として生成することができる。或いは、制御指令を、車両100の位置及び向きの少なくとも一方と、今後のルートとを含む指令として生成してもよい。
【0032】
工程管理装置400は、例えば、コンピュータによって構成され、工場における車両100の製造工程全般の管理を実行する。例えば、1台の車両100が目標ルートに沿った走行を開始する際には、その車両100を識別する識別番号や型式などを示す個体情報が、工程管理装置400から制御装置200に送信される。この個体情報は、車両100の製造工程の管理に用いられる製造情報に相当する。また、制御装置200で検出された車両100の位置は、工程管理装置400にも送信される。なお、工程管理装置400の機能を、制御装置200と同じ装置に実装するようにしてもよい。
【0033】
図3は、本実施形態における決定処理のフローチャートである。この決定処理は、本実施形態における制御方法を実現するための処理である。決定処理は、制御装置200のプロセッサ201によって、例えば、所定の時間間隔で実行される。
【0034】
図3のS110にて、画像取得部210は、撮影画像Piを取得する。S120にて、カメラ特定部215は、S110で取得された撮影画像Piを撮影したカメラ300を撮像カメラとして特定する。S130にて、カメラ情報取得部218は、S120で特定された撮像カメラのカメラ情報Ciを取得する。S140にて、決定部220は、取得されたカメラ情報Ciに応じて、検出用プログラムを決定する。本実施形態におけるS140では、カメラ情報Ciに応じて検出用プログラムが決定されることで、撮像カメラの撮影条件に応じて推定処理の内容が決定される。より具体的には、S140では、解析処理の内容が決定される。
【0035】
図1には、車両100が第2ルートRt2におけるルートRt2aを走行している様子が示されている。車両100がルートRt2aを走行している場合、撮影画像Piは、カメラ300Aによって撮影される。この場合、
図3のS110では、カメラ300Aによって撮影された撮影画像Piが取得される。S120では、この撮影画像Piを撮影したカメラ300Aが撮像カメラとして特定される。S130では、撮像カメラとして特定されたカメラ300Aのカメラ情報Ciが取得される。S140では、取得されたカメラ情報Ciに応じて対応データ271が参照されることで、カメラ300Aに応じて、検出用プログラムとして第1解析プログラム281が決定される。車両100が第2ルートRt2における他のルートや第1ルートRt1を走行する場合についても、略同様である。
【0036】
図4は、本実施形態における推定処理のフローチャートである。本実施形態では、推定処理は、決定処理が完了するたびに実行される。
【0037】
図4のS210にて、推定部250は、
図3のS140の結果に基づいて、S110で取得された撮影画像Piの解析に第1解析プログラム281を用いるか否かを判定する。S210で第1解析プログラム281を用いると判定された場合、解析部251は、S220からS230にて、第1解析プログラム281によって実現される第1処理を実行する。第1処理は、検出箇所として第1部分Dp1を検出するための処理である。S210で第1解析プログラム281を用いると判定されなかった場合、解析部251は、S215からS230にて、第2解析プログラム282によって実現される第2処理を実行する。第2処理は、検出箇所として第2部分Dp2を検出するための処理である。なお、以下では、第1解析プログラム281によって実現されるS220をS220Aとも表記し、第2解析プログラム282によって実現されるS220をS220Bとも表記する。S225およびS230についても略同様である。
【0038】
本実施形態における第2処理は、第1処理とは違って、S215の反転処理を含む。反転処理とは、撮影画像Piを鏡像反転させた反転画像を生成する処理である。この結果、S220AからS230Aでは鏡像反転されていない撮影画像Piが解析されるのに対し、S220BからS230Bでは反転画像が解析される。このように画像を鏡像反転させる処理は、「フリップ」とも呼ばれる。第1処理と第2処理とは、第2処理が反転処理を含むことを除いて略同様である。そのため、S220BからS230Bでは、S220AからS230Aと同様のアルゴリズムを用いて、つまり、同様の手順で反転画像を解析することが可能である。より詳細には、検出箇所として第1部分Dp1が用いられる場合、S220AからS230Aにて、第1部分Dp1は、反転されていない撮影画像Piにおける左後方角部として検出される。一方で、検出箇所として第2部分Dp2が用いられる場合、実際には右後方角部である第2部分Dp2は、S220BからS230Bにて、擬似的に反転画像における左後方角部として検出される。つまり、本実施形態では、反転画像において、第2部分Dp2は、鏡像反転されていない撮影画像Piにおける第1部分Dp1に相当する部分として検出される。
【0039】
図5は、推定処理において画像Im1が解析される様子の例を示す説明図である。
図5に示した画像Im1は、走路SRを走行する車両100が撮影された画像である。画像Im1は、互いに直交するXc軸およびYc軸を座標軸として有し、カメラ300の焦点を原点とするカメラ座標系で表される。画像Im1は、反転画像であってもよいし、鏡像反転されていない撮影画像Piであってもよい。画像Im1に対しては、例えば、歪みを補正する歪み補正処理や、画像Im1における車両100の移動ベクトルVの方向が所定の方向を向くように画像Im1を回転させる回転処理や、画像Im1から車両100を含まない不要領域を削除するクロップ処理といった各種の補正や前処理が行われてもよい。移動ベクトルVの大きさや方向の検出には、例えば、オプティカルフロー法が用いられる。
【0040】
図4のS220からS230にて、解析部251は、解析処理を実行する。本実施形態における解析処理では、解析部251は、画像Im1を用いて、
図5に示した測位点PPの座標を算出することによって、測位点PPを検出する。測位点PPの座標は、後述する画像座標系における検出箇所の近傍の座標として算出される。このように検出される測位点PPは、撮影画像Piにおける検出箇所を表す。
【0041】
S220にて、解析部251は、画像Im1における車両100を検出する検出処理として、マスク処理を実行する。マスク処理は、画像Im1における車両100を検出するとともに、画像Im1において当該車両100を含む対象領域をマスクすることで、対象領域がマスクされたマスク領域Msを含む画像Im2を生成する処理である。マスク処理では、推定部250は、例えば、入力画像に含まれる車両100をマスクするように機械学習された機械学習モデル(図示せず)に画像Im1を入力することで画像Im2を生成する。この機械学習モデルとしては、例えば、セマンティックセグメンテーションやインスタンスセグメンテーションを実現する畳み込みニューラルネットワーク(以下、CNNとも呼ぶ)の構造を有するディープニューラルネットワーク(以下、DNNとも呼ぶ)が用いられる。なお、機械学習モデルは、例えば、ニューラルネットワーク以外のアルゴリズムを用いて機械学習されてもよい。
【0042】
S225にて、解析部251は、透視変換処理を実行する。透視変換処理は、画像Im2を透視変換することによって、画像Im3を生成する処理である。透視変換処理では、解析部251は、例えば、カメラ300の位置情報や内部パラメータに関する透視変換パラメータを用いて、画像Im2を、走路SRの路面に略垂直な車両100の上方(例えば、車両100の真上)から見た鳥瞰画像に透視変換する。画像Im3は、画像座標系で表される。画像座標系は、透視変換によって投影される画像平面の一点を原点とし、互いに直交するXi軸とYi軸とを座標軸として有する座標系である。画像Im3は、透視変換により変形されたマスク領域Msに相当するマスク領域Msbを含む。
【0043】
S230にて、解析部251は、測位点PPの座標を算出する測位点算出処理を実行する。本実施形態における測位点算出処理では、解析部251は、第1座標点P1の座標(Xi1,Yi1)と第2座標点P2の座標(Xi2,Yi2)とを用いて測位点PPの座標を算出する。
【0044】
第1座標点P1は、画像Im2における四角形R1bの頂点のうち、画像Im1におけるベース座標点P0に対応する座標点として特定される。四角形R1bは、透視変換により変形した第1外接矩形R1に相当する。第1外接矩形R1は、画像Im2において、マスク領域Msに外接し、かつ、移動ベクトルVと平行な長辺を有する矩形である。ベース座標点P0は、この第1外接矩形R1の頂点のうち、車両100の検出箇所に対応する頂点を表す座標点である。より詳細には、ベース座標点P0は、第1外接矩形R1の頂点のうち、移動ベクトルVの方向を前方としたときに車両100の重心Cに対して左方かつ後方に位置する頂点を表す座標点である。第2座標点P2は、画像Im2における第2外接矩形R2の4つの頂点のうち、車両100の検出箇所に対応する頂点を表す座標点である。より詳細には、第2座標点P2は、第2外接矩形R2の頂点のうち、移動ベクトルVの方向を前方としたときに重心Cに対して左方かつ後方に位置する頂点を表す座標である。第2外接矩形R2は、マスク領域Msbに外接し、かつ、Xi軸に平行な辺とYi軸に平行な辺とを有する矩形である。このように、第1座標点P1と第2座標点P2とは、ともに検出箇所に応じて定まる座標点であるため、互いに相関関係を有する。
【0045】
座標値Xi1が座標値Xi2よりも大きい場合、推定部250は、測位点PPのXi座標値を座標値Xi1に決定する。反対に、座標値Xi1が座標値Xi2よりも小さい場合、推定部250は、Xi座標値を座標値Xi2に決定する。略同様に、座標値Yi1が座標値Yi2よりも大きい場合、測位点PPのYi座標値が座標値Yi1に決定される。座標値Yi1が座標値Yi2よりも小さい場合、Yi座標値が座標値Yi2に決定される。このようにXi座標値およびYi座標値が決定されることで、測位点PPが検出される。
【0046】
S235にて、推定部250は、車両座標算出処理を実行する。車両座標算出処理は、測位点PPを用いて車両座標点を算出する処理である。車両座標点は、基準座標系Σrにおいて測位点PPを表す座標点である。S235では、推定部250は、例えば、予め定められた推定式と、S230で算出された測位点PPの座標値とを用いて、車両座標点を算出する。指令生成部260は、推定処理で算出される車両座標点を車両位置として用いて、制御指令を生成する。こうして生成される制御指令は、車両100に送信される。つまり、本実施形態では、車両座標点を算出することは、車両位置を推定することに相当する。なお、撮影画像Piを用いた車両位置の推定手法は、上記に限られない。例えば、マスク処理とは異なる処理によって撮影画像Piにおける車両100が検出されてもよいし、透視変換処理や測位点算出処理とは異なる処理によって撮影画像Piにおける検出箇所が検出されてもよいし、車両座標算出処理とは異なる処理によって車両位置を表す座標点が算出されてもよい。
【0047】
以上で説明した本実施形態におけるシステム10によれば、撮像カメラの撮影条件に応じて推定処理の内容を決定できる。そのため、例えば、カメラ300ごとに撮影条件が異なる場合であっても、撮影条件に関わらず、車両位置の推定を適切に実行できる可能性が高まる。また、推定処理によって推定される車両位置を用いて制御指令が生成されるので、適切な制御指令が生成される可能性が高まる。そのため、適切に車両100を遠隔制御できる可能性が高まる。
【0048】
また、本実施形態では、決定部220は、撮像カメラの撮影条件に応じて、推定処理の内容として、第1処理を含む内容と第2処理を含む内容とを択一的に決定する。第1処理は、撮影画像Piにおける第1部分Dp1(左側部分)を検出する処理である。第2処理は、撮影画像Piにおける第2部分Dp2(右側部分)を検出する処理である。このようにすれば、推定処理において、撮像カメラの撮影条件に応じて、撮影画像Piにおける左側部分や右側部分を検出でき、検出される左側部分や右側部分を用いて車両位置を推定できる。左側部分や右側部分は、走路SRの左脇や右脇にカメラ300を設置することで、カメラ300によって容易に撮影可能である。特に、本実施形態では、第1部分Dp1は、左後方角部であり、第2部分Dp2は、右後方角部である。そのため、走路SRの左脇や右脇に設置されたカメラ300によって、車両100の後方から車両100を撮影することで、第1部分Dp1や第2部分Dp2を含む撮影画像Piを容易に撮影できる。
【0049】
また、本実施形態では、第1処理は、鏡像反転されていない撮影画像Piにおいて第1部分Dp1を検出する処理である。第2処理は、撮影画像Piを鏡像反転させた反転画像を生成するとともに、反転画像中において、車幅方向において第1部分Dp1に対して対称に位置する第2部分Dp2を検出する処理である。そのため、推定処理において第1処理を実行する場合と第2処理を実行する場合とで、撮影画像Piを鏡像反転させることを除いて同様の手順で、第1部分Dp1や第2部分Dp2を検出できる。なお、他の実施形態では、例えば、第1処理が反転処理を含み、かつ、第2処理が反転処理を含んでいなくてもよい。
【0050】
また、本実施形態では、決定部220は、特定される撮像カメラに応じて、推定処理で用いられるプログラムを決定する。そのため、決定部220によってプログラムを決定することで、撮像カメラの撮影条件に応じて推定処理の内容を決定できる。
【0051】
B.他の実施形態:
(B1)上記実施形態では、システム10は、車両100やカメラ300や推定部250や指令生成部260を備える遠隔制御システムとして構成されているが、このように構成されていなくてもよい。例えば、システム10は、推定処理の内容を決定するとともに、その決定結果を、車両100やカメラ300や推定部250や指令生成部260を備える他のシステムに送信するシステムとして構成されていてもよい。この場合、システム10は、例えば、車両100とカメラ300と推定部250と指令生成部260との一部や全部を備えていなくてもよい。また、この場合、システム10は、例えば、決定結果とともに撮影画像Piを他のシステムに送信するように構成されていてもよい。この場合、他のシステムに備えられた推定部250は、推定処理において、システム10から送信される撮影画像Piを取得してもよい。
【0052】
(B2)上記実施形態では、車両100が走行するルートに対応して、その車両100を撮影するカメラ300が決定されるように構成されている。車両100を撮影するカメラ300が決定される条件としては、上記のルートに関する条件に代えて、あるいは、これに加えて、他の条件が適用されてもよい。
【0053】
例えば、
図6は、他の実施形態において車両100を撮影するカメラ300が決定される例を示す説明図である。
図6は、車両100が走路SRb上の第3ルートRt3を走行する様子を示している。
図6の例では、第3ルートRt3を走行する車両100を撮影するカメラ300は、その車両100の走行タイミングによって決定される。このようにすることで、例えば、遠隔制御によって車両100が屋外を走行する場合に、日光の影響によって推定処理に適していない撮影画像Piが撮影されることを抑制できる。より詳細には、
図6の例では、時間帯TP1においては、カメラ300Eが車両100を撮影し、時間帯TP1以外の時間帯においては、カメラ300Fが車両100を撮影するように構成されている。カメラ300Eは、車両100を左後方側から撮影する。カメラ300Fは、車両100を右後方側から撮影する。
図6の例では、例えば、対応データ271において、カメラ300Eのカメラ情報Ciと、第1解析プログラム281を選択するためのパラメータとが関連付けられ、カメラ300Fのカメラ情報Ciと、第2解析プログラム282を選択するためのパラメータとが関連付けられる。このような形態であっても、第1実施形態と同様に、撮像カメラの撮影条件に応じて推定処理の内容を決定できる。このように、撮像カメラの撮影条件に応じて推定処理の内容を決定するように制御装置200やシステム10を構成することで、撮影画像Piを撮影するカメラ300が決定される方式によらず、推定処理の内容を適切に決定できる可能性が高まる。そのため、制御装置200やシステム10を種々の遠隔制御システムに適用しやすくなる。
【0054】
(B3)上記実施形態では、第1処理や第2処理に反転処理が含まれているが、反転処理が含まれていなくてもよい。この場合、推定部250は、検出箇所として第1部分Dp1と第2部分Dp2とのいずれを検出する場合であっても、鏡像反転されていない撮影画像Piにおいて第1部分Dp1や第2部分Dp2を検出するようにしてもよい。
【0055】
(B4)上記実施形態では、第1部分Dp1と第2部分Dp2とは、車幅方向において互いに対称に位置する部分でなくてもよい。例えば、第1部分Dp1や第2部分Dp2として、それぞれ、車両100の左後方角部と右前方角部とが用いられてもよい。また、検出箇所として車両100の左側部分や右側部分が用いられなくてもよい。また、検出箇所として用いられる部位の数は、3つ以上であってもよいし、1つであってもよい。
【0056】
(B5)上記実施形態では、決定部220は、推定処理で用いられるプログラムを撮像カメラの撮影条件に応じて決定しているが、このようにしなくてもよい。例えば、撮影条件が種々異なる場合であっても、推定処理に同一のプログラムが使用されてもよい。この場合、決定部220は、推定処理において使用するパラメータを撮像カメラの撮影条件に応じて決定することで、推定処理の内容を撮像カメラの撮影条件に応じて決定してもよい。
【0057】
(B6)上記実施形態では、カメラ情報Ciとして、カメラ300の撮影条件を表す情報が用いられてもよく、例えば、カメラ300によって撮影される撮影画像Piに含まれ得る検出用部位に関する情報が用いられてもよい。この場合、カメラ情報Ciとしては、例えば、カメラ300が車両100を撮影する向きを表す情報が用いられてもよいし、カメラ300が撮影し得る検出用部位を表す情報が用いられてもよい。このようなカメラ情報Ciを用いることで、例えば、走路SRに対して各カメラ300の位置や向きが固定されていない場合であっても、撮像カメラの撮影条件に応じて推定処理の内容を決定できる。つまり、この場合、カメラ300は、例えば、制御装置200や工程管理装置400によって、その走路SRに対する位置や向きが変更可能に構成されていてもよい。このようにすれば、カメラ300の撮影条件を、例えば、車両100が走行するタイミングや車両100の位置に応じて変更することができる。
【0058】
(B7)上記実施形態において、車両100は、遠隔制御により移動可能な構成を備えていれば良く、例えば、以下に述べる構成を備えるプラットフォームの形態であっても良い。具体的には、車両100は、遠隔制御により「走る」、「曲がる」、「止まる」の3つの機能を発揮するために、少なくとも、車両制御部115と通信装置130とを備えていれば良い。すなわち、遠隔制御により移動可能な車両100は、運転席やダッシュボードなどの内装部品の少なくとも一部が装着されていなくてもよく、バンパーやフェンダーなどの外装部品の少なくとも一部が装着されていなくてもよく、ボディシェルが装着されていなくてもよい。この場合、車両100が工場から出荷されるまでの間に、ボディシェル等の残りの部品が車両100に装着されてもよいし、ボディシェル等の残りの部品が車両100に装着されていない状態で、車両100が工場から出荷された後にボディシェル等の残りの部品が車両100に装着されてもよい。なお、プラットフォームの形態に対しても、各実施形態における車両100と同様にして位置決定がなされ得る。
【0059】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【0060】
10…システム、100…車両、110…車両制御装置、111…プロセッサ、112…メモリ、113…入出力インタフェイス、114…内部バス、115…車両制御部、116…位置情報取得部、120…アクチュエータ群、130…通信装置、140…GNSS受信機、200…制御装置、201…プロセッサ、202…メモリ、203…入出力インタフェイス、204…内部バス、205…通信装置、210…画像取得部、215…カメラ特定部、218…カメラ情報取得部、220…決定部、250…推定部、251…解析部、260…指令生成部、271…対応データ、280…推定プログラム、281…第1解析プログラム、282…第2解析プログラム、300,300A,300B,300C,300D,300E,300F…カメラ、400…工程管理装置