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