(57)【要約】  トレーラ（２００）のトレーラカプラ（２１２）の検出および位置特定のための方法が提供される。本方法は、牽引車両（１００）の後部位置に配置されているカメラ（１４２）から、画像（１４３）を受信することと、画像（１４３）の内部において関心領域（３００）を決定することとを含む。関心領域（３００）は、トレーラカプラ（２１２）の表現を含む。本方法は、カメラ平面（３１０）および道路平面（３２０）を決定することを含む。さらに、本方法は、関心領域（３００）の内側にあって、かつカメラ平面（３１０）および道路平面（３２０）の内部にある物体を表す３次元点群を決定することを含む。本方法は、センサシステム（１４０）からセンサデータを受信することと、３Ｄ点群およびセンサデータに基づいて、トレーラカプラのカプラ位置を特定することも含む。本方法は、牽引車両（１００）を経路に沿ってカプラ位置に向かって後退方向に自律的に運転させる命令を、運転システム（１１０）に送信することも含む。
2021522606.tif 000002
【特許請求の範囲】
【請求項１】
トレーラのトレーラカプラを検出および位置特定する方法であって、
データ処理ハードウェアにおいて、牽引車両の後部位置に配置されていて、かつ前記データ処理ハードウェアと通信するカメラから、画像を受信するステップと、
前記データ処理ハードウェアによって、前記画像の内部において、前記トレーラカプラの表現を含む関心領域を決定するステップと、
前記データ処理ハードウェアによって、受信した前記画像に基づいて、前記カメラが移動するカメラ平面を決定するステップと、
前記データ処理ハードウェアによって、受信した前記画像に基づいて道路平面を決定するステップと、
前記データ処理ハードウェアによって、前記関心領域の内側にあって、かつ前記カメラ平面および前記道路平面の内部にある物体を表す３次元（３Ｄ）点群を決定するステップと、
前記データ処理ハードウェアにおいて、前記データ処理ハードウェアと通信する車輪エンコーダ、加速度および車輪角度センサ、ならびに慣性測定ユニットのうちの少なくとも１つから、センサデータを受信するステップと、
前記データ処理ハードウェアにおいて、前記３Ｄ点群および前記センサデータに基づいて、前記トレーラカプラの、現実世界座標におけるカプラ位置を特定するステップと、
前記牽引車両を経路に沿って前記カプラ位置に向かって後退方向に自律的に運転させる命令を、前記データ処理ハードウェアから運転システムに送信するステップと、
を含む、方法。
【請求項２】
前記画像の内部において前記関心領域を決定するステップは、
受信した前記画像を表示するようにとの命令を、前記データ処理ハードウェアからディスプレイに送信するステップと、
前記データ処理ハードウェアにおいて、前記関心領域のユーザ選択を受信するステップと、
を含む、請求項１記載の方法。
【請求項３】
前記データ処理ハードウェアによって、前記３Ｄ点群に関連付けられた点を前記カメラ平面上または前記道路平面上に投影するステップと、
前記データ処理ハードウェアによって、それぞれの点と前記カメラとの間の距離を求めるステップであって、
前記３Ｄ点群に関連付けられた点が前記カメラ平面上に投影される場合には、それぞれの点と前記カメラの中心との間の距離を求めるステップと、
前記３Ｄ点群に関連付けられた点が前記道路平面上に投影される場合には、それぞれの点と、前記道路平面上への前記カメラの前記中心の投影との間の距離を求めるステップと、
前記データ処理ハードウェアによって、決定された前記距離に基づいて最短距離を決定するステップであって、前記最短距離に関連付けられた３Ｄ点の、受信した前記画像上への投影は、前記画像の内部におけるカプラ画素位置を表す、ステップと、
をさらに含み、
前記カプラ位置は、前記カプラ画素位置に基づいている、
請求項１記載の方法。
【請求項４】
前記データ処理ハードウェアによって、前記最短距離に関連付けられた３Ｄ点と、前記道路平面との間の距離に基づいて、カプラ高さを求めるステップをさらに含み、
前記カプラ位置は、前記カプラ高さを含む、
請求項３記載の方法。
【請求項５】
前記データ処理ハードウェアによって、前記３Ｄ点群に基づいて、前記トレーラカプラと前記カメラとの間の第１の距離を求めるステップと、
前記データ処理ハードウェアによって、前記第１の距離から前記カメラと車両ヒッチボールとの間の長手方向距離を差し引いたものに基づいて、前記トレーラカプラと車両牽引ボールとの間の第２の距離を求めるステップと、
をさらに含み、
前記経路は、前記第２の距離に基づいている、
請求項１記載の方法。
【請求項６】
前記関心領域の前記点群を決定することは、視覚オドメトリ（ＶＯ）アルゴリズム、Simultaneous Localization and Mapping（ＳＬＡＭ）アルゴリズム、およびStructure from Motion（ＳｆＭ）アルゴリズムのうちの１つを実行するステップを含む、請求項１記載の方法。
【請求項７】
前記カメラ平面を決定するステップは、
前記データ処理ハードウェアによって、受信した前記画像から前記後方カメラの少なくとも３つの３次元位置を特定するステップと、
前記データ処理ハードウェアによって、前記少なくとも３つの３次元位置に基づいて前記カメラ平面を決定するステップと、
を含む、請求項１記載の方法。
【請求項８】
前記道路平面を決定するステップは、
前記牽引車両を支持している道路からの前記カメラの高さを求めるステップと、
前記カメラの前記高さの分だけ前記カメラ平面をシフトさせるステップと、
を含む、請求項１記載の方法。
【請求項９】
前記道路平面を決定するステップは、
前記データ処理ハードウェアによって、道路を含む前記画像から少なくとも３つの特徴点を抽出するステップと、
前記データ処理ハードウェアによって、前記３Ｄ点群の点をそれぞれの前記特徴点に関連付けるステップと、
前記データ処理ハードウェアによって、前記少なくとも３つの特徴点に関連付けられた、前記３Ｄ点群の少なくとも３つの点に基づいて前記道路平面を決定するステップと、
を含む、請求項１記載の方法。
【請求項１０】
前記カメラ平面を決定するステップは、
前記データ処理ハードウェアによって、前記道路からの前記カメラの高さを求めるステップと、
前記データ処理ハードウェアによって、前記カメラの前記高さの分だけ前記道路平面をシフトさせるステップと、
を含む、請求項９記載の方法。
【請求項１１】
トレーラのトレーラカプラを検出および位置特定するためのシステムであって、
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアと、
を含み、
前記メモリハードウェアは、前記データ処理ハードウェア上で実行された場合に、前記データ処理ハードウェアに所定の動作を実行させる命令を格納しており、
前記動作は、
牽引車両の後部位置に配置されていて、かつ前記データ処理ハードウェアと通信するカメラから、１つまたは複数の画像を受信することと、
前記画像の内部において、前記トレーラカプラの表現を含む関心領域を決定することと、
受信した前記画像に基づいて、前記カメラが移動するカメラ平面を決定することと、
受信した前記画像に基づいて道路平面を決定することと、
前記関心領域の内側にあって、かつ前記カメラ平面および前記道路平面の内部にある物体を表す３次元（３Ｄ）点群を決定することと、
前記データ処理ハードウェアと通信する車輪エンコーダ、加速度および車輪角度センサ、ならびに慣性測定ユニットのうちの少なくとも１つから、センサデータを受信することと、
前記３Ｄ点群および前記センサデータに基づいて、前記トレーラカプラの、現実世界座標におけるカプラ位置を特定することと、
前記牽引車両を経路に沿って前記カプラ位置に向かって後退方向に自律的に運転させる命令を、運転システムに送信することと
を含む、
システム。
【請求項１２】
前記画像の内部において前記関心領域を決定することは、
受信した前記画像を表示させる命令を、ディスプレイに送信することと、
前記関心領域のユーザ選択を受信することと、
を含む、請求項１１記載のシステム。
【請求項１３】
前記動作は、
前記３Ｄ点群に関連付けられた点を前記カメラ平面上または前記道路平面上に投影することと、
それぞれの点と前記カメラとの間の距離を求めることであって、
前記３Ｄ点群に関連付けられた点が前記カメラ平面上に投影される場合には、それぞれの点と前記カメラの中心との間の距離を求め、
前記３Ｄ点群に関連付けられた点が前記道路平面上に投影される場合には、それぞれの点と、前記道路平面上への前記カメラの前記中心の投影との間の距離を求める、ことと、
決定された前記距離に基づいて最短距離を求めることであって、前記最短距離に関連付けられた３Ｄ点の、受信した前記画像上への投影は、前記画像の内部におけるカプラ画素位置を表す、ことと、
をさらに含み、
前記カプラ位置は、前記カプラ画素位置に基づいている、
請求項１１記載のシステム。
【請求項１４】
前記動作は、前記最短距離に関連付けられた３Ｄ点と、前記道路平面との間の距離に基づいて、カプラ高さを求めることをさらに含み、
前記カプラ位置は、前記カプラ高さを含む、
請求項１３記載のシステム。
【請求項１５】
前記動作は、
前記３Ｄ点群に基づいて、前記トレーラカプラと前記カメラとの間の第１の距離を求めることと、
前記第１の距離から前記カメラと車両ヒッチボールとの間の長手方向距離を差し引いたものに基づいて、前記トレーラカプラと車両牽引ボールとの間の第２の距離を求めることと、
をさらに含み、
前記経路は、前記第２の距離に基づいている、
請求項１１記載のシステム。
【請求項１６】
前記関心領域の前記３Ｄ点群を決定することは、視覚オドメトリ（ＶＯ）アルゴリズム、Simultaneous Localization and Mapping（ＳＬＡＭ）アルゴリズム、およびStructure from Motion（ＳｆＭ）アルゴリズムのうちの１つを実行することを含む、請求項１１記載のシステム。
【請求項１７】
前記カメラ平面を決定することは、
前記データ処理ハードウェアによって、受信した前記画像から前記後方カメラの少なくとも３つの３次元位置を特定することと、
前記データ処理ハードウェアによって、前記少なくとも３つの３次元位置に基づいて前記カメラ平面を決定することと、
を含む、請求項１１記載のシステム。
【請求項１８】
前記道路平面を決定することは、
前記牽引車両を支持している道路からの前記カメラの高さを求めることと、
前記カメラの前記高さの分だけ前記カメラ平面をシフトさせることと、
を含む、請求項１１記載のシステム。
【請求項１９】
前記道路平面を決定することは、
道路を含む前記画像から少なくとも３つの特徴点を抽出することと、
前記３Ｄ点群の点をそれぞれの前記特徴点に関連付けることと、
前記少なくとも３つの特徴点に関連付けられた、前記３Ｄ点群の少なくとも３つの点に基づいて前記道路平面を決定することと、
を含む、請求項１１記載のシステム。
【請求項２０】
前記カメラ平面を決定することは、
前記道路からの前記カメラの高さを求めることと、
前記カメラの前記高さの分だけ前記道路平面をシフトさせることと、
を含む、請求項１９記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本開示は、リアルタイムでのカプラの位置特定および追跡のための方法および装置に関する。
【０００２】
背景
トレーラは、通常、動力付きの牽引車両によって牽引される動力なしの車両である。トレーラは、とりわけユーティリティトレーラ、ポップアップキャンピングカー、旅行用トレーラ、家畜用トレーラ、フラットベッドトレーラ、密閉型自動車運搬車、およびボートトレーラであり得る。牽引車両は、自動車、クロスオーバー、トラック、バン、多目的スポーツ車（ＳＵＶ）、レクリエーション用車両（ＲＶ）、またはトレーラに取り付けられてトレーラを牽引するように構成された他の任意の車両であり得る。トレーラは、トレーラヒッチを使用して動力車に取り付け可能である。レシーバーヒッチは、牽引車両に据え付けられており、トレーラヒッチに接続されて連結部を形成する。トレーラヒッチは、ボールおよびソケット、第５輪およびグースネック、またはトレーラジャッキであり得る。他の取り付け機構を使用してもよい。トレーラと動力車との間の機械的な接続に加えて、いくつかの例では、トレーラは、牽引車両に電気的に接続されている。したがって、この電気的な接続によって、トレーラは、動力車のリアランプ回路から給電を受けることが可能となり、これによって、トレーラは、動力車のランプと同期するテールランプ、方向指示器、およびブレーキランプを有することが可能となる。
【０００３】
センサ技術の最近の進歩により、車両のための安全性システムが改善されてきた。したがって、牽引車両の後ろに配置されたトレーラのカプラをリアルタイムで識別することができ、かつカプラを位置特定することができ、これによって、自動化されたヒッチングのために牽引車両がトレーラに向かって自律的に操縦されることを可能にするようなシステムを提供することが望まれている。
【０００４】
概要
本開示の１つの態様は、トレーラのトレーラカプラを検出および位置特定する方法を提供する。本方法は、データ処理ハードウェアにおいて、牽引車両の後部位置に配置されていて、かつデータ処理ハードウェアと通信するカメラから、画像を受信することを含む。本方法は、データ処理ハードウェアによって、画像の内部において関心領域を決定することも含む。関心領域は、トレーラカプラの表現を含む。本方法は、データ処理ハードウェアによって、受信した画像に基づいて、カメラが移動するカメラ平面を決定することも含む。さらに、本方法は、データ処理ハードウェアによって、受信した画像に基づいて道路平面を決定することを含む。本方法は、データ処理ハードウェアによって、関心領域の内側にあって、かつカメラ平面および道路平面の内部にある物体を表す３次元（３Ｄ）点群を決定することも含む。本方法は、データ処理ハードウェアにおいて、データ処理ハードウェアと通信する車輪エンコーダ、加速度および車輪角度センサ、ならびに慣性測定ユニットのうちの少なくとも１つから、センサデータを受信することを含む。本方法は、データ処理ハードウェアにおいて、３Ｄ点群およびセンサデータに基づいて、トレーラカプラのカプラ位置を特定することを含む。カプラ位置は、現実世界座標にある。さらに、本方法は、牽引車両を経路に沿ってカプラ位置に向かって後退方向に自律的に運転させる命令を、データ処理ハードウェアから運転システムに送信することを含む。
【０００５】
本開示の実装形態は、以下のオプションの特徴のうちの１つまたは複数を含むことができる。いくつかの実装形態では、画像の内部において関心領域を決定することは、受信した画像を表示するようにとの命令を、データ処理ハードウェアからディスプレイに送信することと、データ処理ハードウェアにおいて、関心領域のユーザ選択を受信することとを含む。
【０００６】
いくつかの例では、本方法は、データ処理ハードウェアによって、３Ｄ点群に関連付けられた点をカメラ平面上または道路平面上に投影することをさらに含む。本方法は、データ処理ハードウェアによって、それぞれの点とカメラとの間の距離を求めることを含むことができる。３Ｄ点群に関連付けられた点がカメラ平面上に投影される場合には、本方法は、それぞれの点とカメラの中心との間の距離を求めることを含む。３Ｄ点群に関連付けられた点が道路平面上に投影される場合には、本方法は、それぞれの点と、道路平面上へのカメラの中心の投影との間の距離を求めることを含む。本方法は、データ処理ハードウェアによって、決定された距離に基づいて最短距離を求めることであって、最短距離に関連付けられた３Ｄ点の、受信した画像上への投影は、画像の内部におけるカプラ画素位置を表す、ことを含むこともできる。カプラ位置は、カプラ画素位置に基づいている。
【０００７】
いくつかの例では、本方法は、データ処理ハードウェアによって、最短距離に関連付けられた３Ｄ点と、道路平面との間の距離に基づいて、カプラ高さを求めることをさらに含む。カプラ位置は、カプラ高さを含む。
【０００８】
本方法は、データ処理ハードウェアによって、３Ｄ点群に基づいて、トレーラカプラとカメラとの間の第１の距離を求めることと、データ処理ハードウェアによって、第１の距離からカメラと車両ヒッチボールとの間の長手方向距離を差し引いたものに基づいて、トレーラカプラと車両牽引ボールとの間の第２の距離を求めることとをさらに含むことができる。経路は、第２の距離に基づいている。
【０００９】
いくつかの実装形態では、関心領域の点群を決定することは、視覚オドメトリ（ＶＯ）アルゴリズム、simultaneous localization and mapping（ＳＬＡＭ）アルゴリズム、およびstructure from motion（ＳｆＭ）アルゴリズムのうちの１つを実行することを含む。
【００１０】
カメラ平面を決定することは、データ処理ハードウェアによって、受信した画像から後方カメラの少なくとも３つの３次元位置を特定することと、データ処理ハードウェアによって、少なくとも３つの３次元位置に基づいてカメラ平面を決定することとを含むことができる。いくつかの例では、道路平面を決定することは、牽引車両を支持している道路からのカメラの高さを求めることと、カメラの高さの分だけカメラ平面をシフトさせることとを含む。
【００１１】
いくつかの実装形態では、道路平面を決定することは、データ処理ハードウェアによって、道路を含む画像から少なくとも３つの特徴点を抽出することと、データ処理ハードウェアによって、３Ｄ点群の点をそれぞれの特徴点に関連付けることとを含む。さらに、道路平面を決定することは、データ処理ハードウェアによって、少なくとも３つの特徴点に関連付けられた、３Ｄ点群の少なくとも３つの点に基づいて道路平面を決定することを含むことができる。いくつかの例では、カメラ平面を決定することは、データ処理ハードウェアによって、道路からのカメラの高さを求めることと、データ処理ハードウェアによって、カメラの高さの分だけ道路平面をシフトさせることとを含む。
【００１２】
本開示の別の態様は、トレーラのトレーラカプラを検出および位置特定するためのシステムを提供する。本システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行された場合に、データ処理ハードウェアに上記の方法を含む所定の動作を実行させる命令を格納している。
【００１３】
本開示の１つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴、および利点は、明細書および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】トレーラの前方に配置された例示的な牽引車両の概略上面図である。
【図２】図１に示されている例示的な牽引車両の概略図である。
【図３】例示的な牽引車両と、図１の選択されたトレーラとの概略側面図である。
【図４Ａ】捕捉された画像および関心領域を示す、牽引車両およびトレーラの斜視図である。
【図４Ｂ】捕捉された画像の内部における関心領域に関する半高密度または高密度の点群の斜視図である。
【図５Ａ】捕捉された画像と、関心領域と、最小関心領域とを示す、牽引車両およびトレーラの斜視図である。
【図５Ｂ】捕捉された画像と、関心領域と、最小関心領域とを示す、牽引車両およびトレーラの斜視図である。
【図６】牽引車両の後ろのトレーラに関連付けられたトレーラヒッチのカプラを検出および位置特定するための各動作の例示的な構成の概略図である。
【００１５】
複数の異なる図面における同様の参照符号は、同様の要素を指す。
【００１６】
詳細な説明
図１および図２を参照すると、限定するわけではないが、自動車、クロスオーバー、トラック、バン、多目的スポーツ車（ＳＵＶ）、レクリエーション用車両（ＲＶ）のような牽引車両１００は、トレーラ２００にヒッチングされるように、かつトレーラ２００を牽引するように構成可能である。牽引車両１００は、車両ヒッチボール１２２を有する牽引車両ヒッチ１２０を介してトレーラ２００に接続され、車両ヒッチボール１２２は、トレーラカプラ２１２を有するトレーラヒッチ２１０に接続される。ユーザディスプレイ１３２のようなユーザインターフェース１３０上に表示される、トレーラ２００，２００ａ〜ｃの１つまたは複数の表現１３６，１３６ａ〜ｃから識別されるトレーラ２００に向かって自律的に後退することができる牽引車両１００を有することが望まれている。さらに、トレーラ２００に関連付けられたカプラ２１２の位置をリアルタイムで追跡および推定するアルゴリズムを実行することが可能な、牽引車両１００によって支持されているカプラ位置推定および追跡システム１６０を有することも望まれている。したがって、カプラ位置推定および追跡システム１６０は、牽引車両１００をトレーラ２００にヒッチングさせるプロセスを自動化する。カプラ位置推定および追跡システム１６０は、単一のカメラ１４２ａを使用すると共に、以下のセンサのうちの少なくとも１つ、すなわち、車輪エンコーダ１４４、加速度および車輪角度センサ１４６、ならびに慣性測定ユニット（ＩＭＵ）１４８のうちの少なくとも１つを使用して、画像１４３の内部における画素座標でのカプラ２１２の位置と、３次元（３Ｄ）世界におけるカプラ位置とを特定することができる。
【００１７】
図１〜図５を参照すると、いくつかの実装形態では、牽引車両１００の運転者は、牽引車両１００の後ろに配置されたトレーラ２００を牽引することを希望する。牽引車両１００は、選択されたトレーラ２００，２００ａ〜ｃの表現に関連付けられた、運転者による選択１３４の指示を受信するように構成可能である。いくつかの例では、運転者が、選択されたトレーラ２００，２００ａ〜ｃに向かって牽引車両１００を操縦し、その一方で、他の例では、牽引車両１００が、選択されたトレーラ２００，２００ａ〜ｃに向かって自律的に運転される。牽引車両１００は、例えば、ｘ，ｙ，およびｚ成分を有する運転コマンドに基づいて路面１０にわたって牽引車両１００を操縦する運転システム１１０を含むことができる。図示のように、運転システム１１０は、右前輪１１２，１１２ａと、左前輪１１２，１１２ｂと、右後輪１１２，１１２ｃと、左後輪１１２，１１２ｄとを含む。運転システム１１０は、他の車輪構成を含むこともできる。運転システム１１０は、それぞれの車輪１１２，１１２ａ〜ｄに関連付けられたブレーキを含む制動システム１１４と、牽引車両１００の速度および方向を調整するように構成された加速システム１１６とを含むこともできる。さらに、運転システム１１０は、サスペンションシステム１１８を含むことができ、このサスペンションシステム１１８は、それぞれの車輪１１２，１１２ａ〜ｄに関連付けられたタイヤ、タイヤ空気、スプリング、ショックアブソーバ、およびリンク機構を含み、このリンク機構は、牽引車両１００を牽引車両１００の車輪１１２，１１２ａ〜ｄに接続し、かつ牽引車両１００と車輪１１２，１１２ａ〜ｄとの間の相対運動を可能にする。サスペンションシステム１１８は、牽引車両１００の高さを調整して、牽引車両ヒッチ１２０（例えば、車両ヒッチボール１２２）を、トレーラヒッチ２１０（例えば、トレーラヒッチカプラ２１２）と位置合わせすることができるように構成可能であり、これにより、牽引車両１００とトレーラ２００との間の自律的な接続が可能になる。
【００１８】
牽引車両１００は、牽引車両１００によって定義される３つの相互に垂直な軸、すなわち横軸Ｘ、前後軸Ｙ、および中心垂直軸Ｚに対して相対的な、複数の異なる運動を組み合わせることによって、路面にわたって移動することができる。横軸Ｘは、牽引車両１００の右側と左側との間に延在している。前後軸Ｙに沿った前進運転方向は、Ｆとして指定され、前進運動とも称される。さらに、前後方向Ｙに沿った後進運転方向または後退運転方向は、Ｒとして指定され、後退運動とも称される。サスペンションシステム１１８が牽引車両１００のサスペンションを調整する際には、牽引車両１００を、Ｘ軸および／またはＹ軸を中心にして傾斜させるか、または中心垂直軸Ｚに沿って移動させることができる。
【００１９】
牽引車両１００は、ユーザインターフェース１３０を含むことができる。ユーザインターフェース１３０は、１つまたは複数の入力機構またはスクリーンディスプレイ１３２（例えば、タッチスクリーンディスプレイ）を介して運転者から１つまたは複数のユーザコマンドを受信し、かつ／または運転者への１つまたは複数の通知を表示する。ユーザインターフェース１３０は、車両制御装置１５０と通信しており、車両制御装置１５０自体は、センサシステム１４０と通信する。いくつかの例では、ユーザインターフェース１３０は、牽引車両１００の周囲環境の画像を表示して、１つまたは複数の挙動の実行を開始する１つまたは複数のコマンドが（運転者から）ユーザインターフェース１３０によって受信されるようにする。いくつかの例では、ユーザディスプレイ１３２は、牽引車両１００の後ろに配置されたトレーラ２００，２００ａ〜ｃの１つまたは複数の表現１３６，１３６ａ〜ｃを表示する。この場合、運転者は、トレーラ２００，２００ａ〜ｃの表現１３６，１３６ａ〜ｃを選択し、制御装置１５０に、選択された表現１３６，１３６ａ〜ｃのトレーラ２００，２００ａ〜ｃに関連付けられたカプラ位置推定および追跡システム１６０を実行させる。いくつかの例では、ユーザディスプレイ１３２が、牽引車両１００の後ろに配置されたトレーラ２００，２００ａ〜ｃの１つの表現１３６，１３６ａ〜ｃを表示する場合には、制御装置１５０は、この１つの表現１３６，１３６ａ〜ｃの１つのトレーラ２００，２００ａ〜ｃに関連付けられたカプラ位置推定および追跡システム１６０を、自動的に実行するか、または運転者からの、トレーラ２００，２００ａ〜ｃに自律的に取り付けるようにとの指示に応じて実行することができる。車両制御装置１５０は、コンピューティングプロセッサ１５２上で実行可能な命令を格納することができる非一時的メモリ１５４（例えば、ハードディスク、フラッシュメモリ、ランダムアクセスメモリ、メモリハードウェア）と通信するコンピューティングデバイス（またはプロセッサまたはデータ処理ハードウェア）１５２（例えば、１つまたは複数のコンピューティングプロセッサを有する中央処理装置）を含む。
【００２０】
牽引車両１００は、高信頼性かつロバストな運転を提供するためのセンサシステム１４０を含むことができる。センサシステム１４０は、種々異なる種類のセンサを含むことができ、これらの種々異なる種類のセンサは、牽引車両１００の周囲環境の知覚情報を作成するために別々にまたは他のセンサと一緒に使用可能である。周囲環境の知覚情報は、センサシステム１４０によって検出された物体および障害物に基づいて運転者がインテリジェントな決定を行うことを支援するために使用されるか、または牽引車両１００の自律的な運転中に使用される。センサシステム１４０は、１つまたは複数のカメラ１４２を含むことができる。いくつかの実装形態では、牽引車両１００は、後方運転経路のビューを有する画像１４３を牽引車両１００に提供するために据え付けられた後方カメラ１４２ａを含む。後方カメラ１４２ａは、広範囲のパノラマ画像または半球画像１４３を作成するために意図された強力な視覚的歪みを生成する超広角レンズを含む魚眼レンズを含むことができる。魚眼カメラは、非常に広い画角を有する画像１４３を捕捉する。さらに、魚眼カメラによって捕捉された画像１４３は、特徴的な凸状の非直線的な外観を有する。牽引車両１００の後方運転経路の画像１４３を捕捉するために、他の種類のカメラを使用してもよい。
【００２１】
いくつかの例では、センサシステム１４０は、牽引車両１００の１つまたは複数の車輪１１２，１１２ａ〜ｄに関連付けられた１つまたは複数の車輪エンコーダ１４４も含む。車輪エンコーダ１４４は、車輪の角度位置または運動をアナログまたはデジタルの出力信号に変換する電気機械的な装置である。したがって、車輪エンコーダ１４４は、車輪１１２，１１２ａ〜ｄが走行した速度および距離を求める。
【００２２】
センサシステム１４０は、牽引車両１００に関連付けられた１つまたは複数の加速度および車輪角度センサ１４６を含むこともできる。加速度および車輪角度センサ１４６は、横軸Ｘおよび前後軸Ｙの方向における牽引車両１００の加速度を決定する。
【００２３】
センサシステム１４０は、車両の線形加速度（１つまたは複数の加速度計を使用して）および回転速度（１つまたは複数のジャイロスコープを使用して）を測定するように構成されたＩＭＵ（慣性測定ユニット）１４８を含むこともできる。いくつかの例では、ＩＭＵ１４８は、牽引車両１００の方位基準も決定する。したがって、ＩＭＵ１４８は、牽引車両１００のピッチ、ロール、およびヨーを決定する。
【００２４】
センサシステム１４０は、限定するわけではないが、レーダー、ソナー、ＬＩＤＡＲ（Light Detection and Rangingであり、散乱光の特性を測定して、遠方の目標の距離および／または他の情報を検出する光学リモートセンシングを伴うことが可能）、ＬＡＤＡＲ（Laser Detection and Ranging）、超音波センサ、ステレオカメラ等のような、他のセンサを含むことができる。車輪エンコーダ１４４と、加速度および車輪角度センサ１４６と、ＩＭＵ１４８と、任意の他のセンサとは、センサデータ１４５を制御装置１５０に、すなわちカプラ位置推定および追跡システム１６０に出力する。
【００２５】
車両制御装置１５０は、カプラ位置推定および追跡システム１６０を実行し、このカプラ位置推定および追跡システム１６０は、後方カメラ１４２ａから画像１４３を受信し、他のセンサ１４４，１４６，１４８のうちの少なくとも１つからセンサデータ１４５を受信し、これらの受信したデータに基づいて、カプラ位置推定および追跡システム１６０は、トレーラ２００、例えば、ユーザインターフェース１３０を介して運転者によって識別されたトレーラ２００，２００ａ〜ｃの位置、具体的には、トレーラ２００に関連付けられたカプラ２１２のカプラ位置ＬＴＣを特定する。より具体的には、カプラ位置推定および追跡システム１６０は、受信した画像１４３の内部におけるカプラ２１２の画素位置を特定する。さらに、カプラ位置推定および追跡システム１６０は、３次元（３Ｄ）座標系およびグローバル座標系におけるカプラ２１２の３Ｄ位置ＬＴＣを特定する。いくつかの例では、カプラ位置推定および追跡システム１６０は、３Ｄ座標系およびグローバル座標系における、路面１０に対するカプラ２１２のカプラ高さＨＴＣも求める。カプラ位置推定および追跡システム１６０は、牽引車両１００およびトレーラ２００のためのヒッチングおよび位置合わせのプロセスを自動化する反復アルゴリズムを含む。
【００２６】
カプラ位置推定および追跡システム１６０は、後方カメラ１４２ａから画像１４３を受信する。カプラ位置推定および追跡システム１６０は、１つまたは２つの画像１４３のみを分析するのではなく、カメラ１４２ａから受信した画像１４３のすべてのシーケンスを分析するので、例えば、カプラ位置推定および追跡システム１６０は、カプラ２１２のカプラ位置ＬＴＣに関する決定の実行時によりロバストになる。
【００２７】
いくつかの実装形態では、カプラ位置推定および追跡システム１６０は、受信した画像１４３をディスプレイ１３２に表示するようにユーザインターフェース１３０に指示し、表示された画像１４３の内部において関心領域（ＲＯＩ）３００を選択することをユーザに要求する（図４Ａおよび図４Ｂ）。ＲＯＩ３００は、カプラ２１２を含んでいる境界枠である。他の例では、カプラ位置推定および追跡システム１６０は、カプラ識別アルゴリズムを含むことができ、このカプラ識別アルゴリズムは、画像１４３の内部におけるカプラ２１２を識別し、ＲＯＩ３００である境界枠によってカプラ２１２を境界付ける。
【００２８】
カプラ位置推定および追跡システム１６０は、ＲＯＩ３００の内部にある物体、例えばカプラ２１２の半高密度／高密度の点群を生成する（図４Ｂ）。点群は、３Ｄ空間内のデータ点の集合であり、より具体的には、点群は、物体の外側表面上の多数の点を含む。
【００２９】
カプラ位置推定および追跡システム１６０は、１つまたは複数の技術を使用して、点群４００内のカプラ２１２を位置特定することができる。これらの技術の中には、限定するわけではないが、視覚オドメトリ（ＶＯ）、Simultaneous Localization and Mapping（ＳＬＡＭ）、およびStructure from Motion（ＳｆＭ）が含まれる。ＶＯ、ＳＬＡＭ、およびＳｆＭフレームワークは、十分に確立された理論であり、牽引車両１００は、自己生成された３Ｄ点群地図においてリアルタイムで位置特定を行うことが可能となる。ＶＯ法は、カメラ１４２ａから受信した画像１４３を分析することによって、トレーラ２００、カメラ１４２ａ、カプラ２１２、または牽引バー２１４の位置および向きを特定する方法である。ＶＯ法は、画像の特徴点を抽出し、画像シーケンスにおいてこれらの特徴点を追跡することができる。特徴点の例には、限定するわけではないが、トレーラ２００、カプラ２１２、または牽引バー２１４上の縁部、角部、または染みが含まれていてもよい。ＶＯ法は、画像シーケンスにおける画素強度を視覚入力として直接的に使用することもできる。ＳＬＡＭ法は、１つまたは複数の目標を同時に追跡し続けながら、未知の周囲環境の地図を構築または更新する。換言すれば、ＳＬＡＭ法は、受信した画像１４３を外部情報の唯一のソースとして使用して、牽引車両１００およびカメラ１４２ａの位置および向きを確立すると同時に、ＲＯＩ３００内の物体の表現を構築する。ＳｆＭ法は、受信した画像１４３（すなわち、２Ｄ画像）に基づいて、ＲＯＩ３００内の物体の３Ｄ構造を推定する。ＳｆＭ法は、カメラ１４２が捕捉した画像１４３のシーケンスに基づいて、カメラ１４２ａおよび牽引車両１００の姿勢を推定することができる。
【００３０】
いくつかの実装形態では、カプラ位置推定および追跡システム１６０は、ＶＯ法、ＳＬＡＭ法、またはＳｆＭ法を実行する前に初期化される。第１の初期化方法の間、カプラ位置推定および追跡システム１６０は、運転システム１１０に牽引車両１００を、前後軸Ｙに沿った直進方向に、例えば前進運転方向Ｆまたは後退運転方向Ｒに、事前に規定された距離だけ移動させる命令またはコマンド１９０を、運転システム１１０に送信する。いくつかの例では、事前に規定された距離は、数センチメートルである。事前に規定された距離は、５ｃｍ〜５０ｃｍの間であってもよい。前後軸Ｙに沿った前進運転移動Ｆおよび後退運転移動ＲによってＳＬＡＭまたはＳｆＭが初期化される。さらに、カプラ位置推定および追跡システム１６０は、前進運転移動Ｆおよび後退運転移動Ｒに沿ってトラッカーアルゴリズムを実行して、画像１４３の内部における、運転者によって提供された、またはカプラ位置推定および追跡システム１６０によって決定されたＲＯＩ３００を更新する。牽引車両１００が後退方向Ｒに移動すると、トレーラ２００、牽引バー２１４、およびカプラ２１２の透視図およびサイズが、画像１４３内において変化する。したがって、トラッカーアルゴリズムは、前後軸Ｙに沿った前進運転移動Ｆおよび後退運転移動Ｒの最中にカメラ１４２ａから受信した新しい画像１４３に基づいてＲＯＩ３００を更新する。ＲＯＩ３００は、カプラ２１２を含み、したがって、ＲＯＩ３００内の特徴点または画素強度が、カプラ位置推定および追跡システム１６０によって追跡される。カプラ位置推定および追跡システム１６０は、画像１４３のうちのＲＯＩ３００の部分のみを分析するので、ＲＯＩ３００は、画像１４３内のカプラ２１２ではない物体をフィルタアウトするために使用される。いくつかの例では、カプラ位置推定および追跡システム１６０は、ＲＯＩ３００内の２次元（２Ｄ）特徴点を識別することによって、カプラ２１２の視覚的トラッカーを構築する。次いで、カプラ位置推定および追跡システム１６０は、点群地図の内部において、識別された２Ｄ特徴点に対応する３Ｄ点を識別する。したがって、（カプラ位置推定および追跡システム１６０によって実行される）トラッカーアルゴリズムが反復されるたびに、カプラ位置推定および追跡システム１６０は、選択された群点４０２を２Ｄカメラ画像１４３上に投影する。次いで、カプラ位置推定および追跡システム１６０は、投影された２Ｄ点を含んでいる最小ＲＯＩ３４０を構築する。この場合、カプラ位置推定および追跡システム１６０は、牽引車両が移動している間にＲＯＩ３００を更新し、以前に選択された群点４０２を含んでいる最小ＲＯＩ３４０を生成する。
【００３１】
いくつかの実装形態では、運転システム１１０に、牽引車両１００をＲＯＩ３００の中心に向かって事前に規定された距離だけ移動させる命令１９０を、運転システム１１０に送信することによって、カプラ位置推定および追跡システム１６０を初期化することができる。いくつかの例では、事前に規定された距離は、数センチメートルであり、例えば５ｃｍ〜５０ｃｍである。この場合、カプラ位置推定および追跡システム１６０は、シーケンスの最中にＲＯＩ３００を更新するか、または牽引車両１００の操縦中に画像１４３を受信する。
【００３２】
いくつかの実装形態では、カプラ位置推定および追跡システム１６０は、３Ｄ点群地図のスケールを決定する。単眼カメラのみを使用して３Ｄ点群地図を生成した場合には、この３Ｄ点群地図は、スケールの曖昧性を被ることとなり、すなわち、単眼カメラのみを用いて作成された地図は、１つのスケールまでしか復元できない。しかしながら、カプラ位置推定および追跡システム１６０が地図のスケールを把握していない場合でも、カプラ位置推定および追跡システム１６０は、ＶＯ、ＳＬＡＭ、またはＳｆＭアルゴリズムを車両センサデータ１４５と融合することによって、地図のスケールを決定することができる。別の例では、カプラ位置推定および追跡システム１６０は、３Ｄ点群地図４００内の道路平面３２０に基づいて地図のスケールを決定する。カプラ位置推定および追跡システム１６０は、地図４００内におけるカメラ位置から道路平面３２０までの距離を求める。地図４００のスケールは、（カメラデータ１４１からの）カメラ１４２ａの高さを、地図４００内におけるカメラ位置から道路平面３２０までの計算された距離で割ったものによって与えられる。３Ｄ点群地図は、地図４００内における構造同士の距離に関する詳細を提供することなく、周囲環境の構造を表現する。したがって、カプラ位置推定および追跡システム１６０が、距離情報を含む地図４００のスケールを決定し、これにより、カプラ位置推定および追跡システム１６０は、世界座標におけるカプラ２１２の位置を特定することが可能となる。
【００３３】
カプラ位置推定および追跡システム１６０は、カメラ平面３１０と、道路平面３２０とを決定するように構成された平面決定モジュール１６２を含む。いくつかの実装形態では、平面決定モジュール１６２は、カメラ１４２ａが沿って移動するカメラ平面３１０と、道路平面３２０とを決定する。カメラ平面３１０を決定するために、平面決定モジュール１６２は、カメラ１４２ａからカメラデータ１４１として受信した、カメラ１４２ａの少なくとも３つの以前の３Ｄ位置を使用する。カメラデータ１４１は、内因性パラメータ（例えば、焦点距離、イメージセンサフォーマット、および主点）と、外因性パラメータ（例えば、３Ｄ世界座標から３Ｄカメラ座標への座標系変換、換言すれば、外因性パラメータは、世界座標におけるカメラ中心の位置と、カメラの向きとを定義する）とを含むことができる。さらに、カメラデータ１４１は、地面に対するカメラ１４２ａの最小／最大／平均高さ（例えば、車両の積載時および非積載時）と、カメラ１４２ａと車両ヒッチボール１２２との間の長手方向距離とを含むことができる。平面決定モジュール１６２は、カメラ１４２ａの少なくとも３つの以前の３Ｄ位置の３つの点の３Ｄ位置に基づいて、カメラ平面３１０を決定する。いくつかの例では、カプラ位置推定および追跡システム１６０は、カメラ平面３１０に基づいて道路平面３２０を決定する。いくつかの実装形態では、平面決定モジュール１６２は、カメラ平面３１０およびカメラデータ１４１に基づいて道路平面３２０を決定する。なぜなら、道路平面３２０は、（カメラ情報１４１において提供される）地面からのカメラ１４２ａの高さの分だけカメラ平面３１０をシフトさせたものだからである。この手順は、カメラ平面３１０を決定するために使用される３つの３Ｄ点が、同一線上にある場合に有用であり、この場合には、これらの３Ｄ点によって生成される線と同一平面上にあるカメラ平面３１０が、無数に存在する。
【００３４】
道路平面３２０を決定するために、平面決定モジュール１６２は、道路に関連付けられた捕捉された２Ｄ画像１４３から少なくとも３つの特徴点を抽出する。続いて、カプラ位置推定および追跡システム１６０は、点群４００の内部におけるこれら３つの特徴点の３Ｄ位置を特定し、次いで、カプラ位置推定および追跡システム１６０は、これら３つの特徴点に基づいて道路平面３２０を計算する。いくつかの例では、カプラ位置推定および追跡システム１６０は、道路平面３２０に基づいてカメラ平面３１０を決定する。いくつかの実装形態では、カプラ位置推定および追跡システム１６０は、道路平面３２０およびカメラ情報１４１に基づいてカメラ平面を決定する。なぜなら、カメラ平面３１０は、（カメラ情報１４１によって提供される）地面からのカメラ１４２ａの高さの分だけ道路平面３２０をシフトさせたものだからである。
【００３５】
平面決定モジュール１６２は、牽引車両１００が後退方向Ｒに自律的に移動しているときに、平面３１０，３２０をリアルタイムで決定および更新することができるか、または道路が平坦であることを平面決定モジュール１６２が判定した場合には、カプラ位置推定および追跡システム１６０が、平面３１０，３２０を一度だけ決定することができる。上記の方法は、カメラ平面３１０または道路平面３２０を決定するために３つの点を使用する。しかしながら、いくつかの例では、平面決定モジュール１６２は、平面３１０，３２０を決定するために４つ以上の点に依存してもよい。この場合には、カプラ位置推定および追跡システム１６０は、平面３１０，３２０を決定するために、最小二乗法、ランダムサンプルコンセンサス（ＲＡＮＳＡＣ）法、サポートベクターマシン（ＳＶＭ）法、またはこれらのアルゴリズムの任意の変形形態を使用する。平面３１０，３２０を決定するために４つ以上の点を使用することによって、平面決定モジュール１６２は、外れ値に対するロバスト性を高める。
【００３６】
カプラ位置推定および追跡システム１６０は、ＲＯＩ３００のサイズを縮小するように構成された点群縮小モジュール１６４を含む。いくつかの実装形態では、カプラ位置推定および追跡システム１６０は、画像１４３内における、ＲＯＩ３００に含まれている２Ｄ点に対応する３Ｄ群点４０２を選択する。次いで、カプラ位置推定および追跡システム１６０は、２つの平面（道路平面３２０およびカメラ平面３１０）の間にある選択された３Ｄ群点４０２を使用する。２つの平面３１０，３２０の間にある選択された３Ｄ群点４０２は、集合Ｍとして示される。
【００３７】
いくつかの例では、カプラ位置推定および追跡システム１６０は、Ｍ内の点の集合（すなわち、２つの平面３１０，３２０の間にある選択された３Ｄ群点４０２）をカメラ平面３１０上または道路平面３２０上に投影する。抽出されて投影された点は、集合Ｊとして示される。続いて、カプラ位置推定および追跡システム１６０は、集合Ｊ内のそれぞれの点からカメラ１４２ａの中心までの距離を求める。
【００３８】
いくつかの実装形態では、第１の初期化方法が使用される場合に、カプラ位置推定および追跡システム１６０は、Ｍ内の点４０２を現在のカメラ２Ｄ画像１４３上に投影することによって最小ＲＯＩ３４０を更新する。次いで、カプラ位置推定および追跡システム１６０は、カメラフレーム１４３（２Ｄ画像）内において、投影された点を含んでいる更新された最小枠３４０を決定する。時間が変化した場合、または牽引車両１００が移動した場合には、カメラ１４２ａに対する３Ｄ点４０２の透視図も位置に関して変化するので、カプラ位置推定および追跡システム１６０は、最小ＲＯＩ３４０を更新する。したがって、集合Ｍ内の点４０２を画像１４３上に投影することによって、最小ＲＯＩ３４０が更新される。
【００３９】
カプラ位置推定および追跡システム１６０は、カプラ２１２を検出するように、かつカプラ２１２の位置ＬＴＣを特定するように構成されたカプラ検出モジュール１６６を含む。カプラ位置推定および追跡システム１６０は、集合Ｊ（すなわち、抽出されて投影された点）の中から点Ｊ’を選択する。この点Ｊ’は、カメラ１４２ａとの間の距離が最短である、集合Ｊの中からの点を示す。前述したように、集合Ｊは、カメラ平面３１０上または道路平面３２０上への、集合Ｍ内の点４０２の投影である。したがって、集合Ｊがカメラ平面３１０上に投影される場合には、点Ｊ’は、カメラ中心に最も近い点である（図３に図示）。しかしながら、集合Ｊが道路平面３２０上に投影される場合には、点Ｊ’は、道路平面３２０上へのカメラ中心の投影に最も近い点となる。いくつかの例では、Ｊ’に２つ以上の点が含まれている場合には、カプラ位置推定および追跡システム１６０は、これらの点Ｊ’の平均値または中央値を決定する。カプラ位置推定および追跡システム１６０は、集合Ｍの中からＪ’に関連付けられた点を決定し、集合Ｍの中から決定された、画像内におけるカプラ２１２の画素位置を示すこの点を、２Ｄ画像１４３上に投影する。
【００４０】
いくつかの実装形態では、構成可能な整数パラメータＮが与えられた場合に、カプラ位置推定および追跡システム１６０が、集合Ｊ内における、カメラ中心（または路面上へのカメラ中心の投影）に最も近いＮ個の点を選択することによって、カプラ検出モジュール１６６が、カプラ位置を特定する。これらの点の集合は、Ｊ＊として示される。カプラ検出モジュール１６６は、点の集合Ｊ＊の平均値または中央値を決定する。集合Ｍ内の、Ｊ＊に関連付けられて画像１４３上に投影された点は、画像上におけるトレーラカプラの位置の推定を表す。
【００４１】
いくつかの実装形態では、カプラ検出モジュール１６６は、点群４００内においてカプラ２１２を発見するための識別アルゴリズムを実行することによって、カプラ位置を特定する。識別アルゴリズムは、画像１４３内においてカプラを発見することを試みるわけではない。識別アルゴリズムは、点群（３Ｄ世界）内においてカプラの形状を探索するのである。このステップを簡略化するための他のオプションは、集合Ｊ内の点を使用してカメラの移動平面（または道路平面）において識別アルゴリズムを実行することである。
【００４２】
カプラ位置推定および追跡システム１６０は、トレーラカプラ２１２と車両牽引ボール１２２との間の距離ＤＣＣを決定するように構成された距離推定モジュール１６８を含む（図３を参照）。距離推定モジュール１６８は、カメラ移動平面３１０に投影された（カメラ１４２ａまでの最短距離である）Ｊ’と、カメラ中心（または道路平面３２０上に投影される場合には、カメラ中心の投影）との間の第１の距離ＤＣＪを求める。距離推定モジュール１６８は、第１の距離ＤＣＪからカメラ１４２ａと車両ヒッチボール１２２との間の長手方向距離ＤＶＣＣを差し引いたものに基づいて、カプラ２１２とヒッチボール１２２との間の第２の距離ＤＣＣを求める。第２の距離は、トレーラカプラ２１２と車両牽引ボール１２２との間の距離ＤＣＣを示す。
【００４３】
カプラ位置推定および追跡システム１６０は、路面１０に対するカプラ２１２の高さＨＴＣを決定するカプラ高さモジュール１６９を含む。例えば、カプラ高さモジュール１６９は、カプラ検出モジュール１６６によって特定されたカプラ位置ＬＴＣと、道路平面３２０との間の距離を求めることができる。カプラ高さモジュール１６９は、カプラ高さＨＴＣを求めるために、道路平面３２０とカプラとの間の最短距離を使用することができる（カプラが点群内の２つ以上の点によって表現されている場合には、このカプラを表現するために平均点を使用する）。
【００４４】
カプラ位置推定および追跡システム１６０が、グローバル座標系におけるトレーラカプラ２１２と車両牽引ボール１２２との間の距離ＤＣＣと、カプラ高さＨＴＣとを求めると、カプラ位置推定および追跡システム１６０は、経路の計画を開始するように経路計画システム１７０に命令することができる。制御装置１５０は、経路計画システム１７０を実行する。経路計画システム１７０は、牽引車両１００をトレーラ２００に向かって後退方向Ｒに自律的に運転させて、トレーラ２００と自律的に接続されるようにする経路を決定する。
【００４５】
牽引車両１００は、計画された経路に沿って自律的に操縦しているので、経路計画システム１７０は、カプラ位置推定および追跡システム１６０およびセンサシステム１４０からの更新された情報の継続的な受信に基づいて継続的に経路を更新する。いくつかの例では、物体検出システムが、計画された経路に沿って１つまたは複数の物体を識別し、１つまたは複数の物体の位置に関係している経路計画システム１７０のデータを送信する。この場合、経路計画システム１７０は、１つまたは複数の物体を回避する一方で、経路を追従するための所定の操縦も実行するように、計画された経路を再計算する。いくつかの例では、経路計画システムは、衝突の確率を決定し、衝突の確率が所定のしきい値を超えている場合には、経路計画システム１７０が、経路を調整する。
【００４６】
経路計画システム１７０が、計画された経路を決定すると、車両制御装置１５０は、運転者支援システム１８０を実行する。運転者支援システム１８０自体は、経路追従挙動１８２を含む。経路追従挙動１８２は、計画された経路を受信し、この計画された経路に沿って牽引車両１００を自律的に運転させるコマンド１９０を運転システム１１０に送信する１つまたは複数の挙動１８２ａ〜ｃを実行し、これにより、牽引車両１００を自律的にトレーラ２００に接続させる。
【００４７】
経路追従挙動１８２は、制動挙動１８２ａと、速度挙動１８２ｂと、操舵挙動１８２ｃとを含む。いくつかの例では、経路追従挙動１８２は、ヒッチ接続挙動と、サスペンション調整挙動も含む。それぞれの挙動１８２ａ〜１８２ｃは、牽引車両１００に、とりわけ後退運転、特定の角度での旋回、制動、加速、減速のような行動をとらせる。車両制御装置１５０は、運転システム１１０を制御することによって、より具体的には、運転システム１１０にコマンド１９０を発行することによって、牽引車両１００を路面にわたって任意の方向に操縦することができる。
【００４８】
制動挙動１８２ａは、計画された経路に基づいて牽引車両１００を停止または減速させるために実行可能である。制動挙動１８２ａは、運転システム１１０に、例えば制動システム（図示せず）に、信号またはコマンド１９０を送信して、牽引車両１００を停止させるか、または牽引車両１００の速度を低下させる。
【００４９】
速度挙動１８２ｂは、計画された経路に基づいて加速または減速を行うことによって牽引車両１００の速度を変更するために実行可能である。速度挙動１８２ｂは、減速させる場合には制動システム１１４に、または加速させる場合には加速システム１１６に、信号またはコマンド１９０を送信する。
【００５０】
操舵挙動１８２ｃは、計画された経路に基づいて牽引車両１００の方向を変更するために実行可能である。したがって、操舵挙動１８２ｃは、操舵角度を示す信号またはコマンド１９０を加速システム１１６に送信して、運転システム１１０に方向を変更させる。
【００５１】
前述したように、カプラ位置推定および追跡システム１６０は、トレーラカプラ２１２の位置をリアルタイムで特定し、かつカプラ２１２をリアルタイムで追跡する。さらに、特定された位置は、受信した画像１４３の内部と、グローバル参照フレーム内との画素に基づいている。カプラ位置推定および追跡システム１６０は、カプラ２１２を発見するために複数の距離を使用し、カメラ移動平面３１０と地面平面３２０との間に存在していない群点４０２をフィルタアウトするように構成されている。したがって、カプラ位置推定および追跡システム１６０は、リアルタイム実装のために実行可能である。
【００５２】
カプラ位置推定および追跡システム１６０は、後方カメラ１４２ａから画像１４３を受信し、したがって、カプラ位置推定および追跡システム１６０は、ヒッチボール１２２またはトレーラカプラ２１２のサイズに関する事前の知識を必要としない。さらに、カプラ位置推定および追跡システム１６０は、画像の内部においてカプラ２１２の位置を特定するのではなく、その代わりに、ＲＯＩ３００を決定し、次いで、３Ｄ点群４００の内部においてカプラ位置２１２を特定する。カプラ位置推定および追跡システム１６０は、ＧＰＵまたはグラフィックアクセラレータの使用の有無にかかわらず、標準的なＣＰＵを使用する。
【００５３】
図６は、図１〜図５に記載されているシステムを使用して、牽引車両１００の後ろに配置されたトレーラ２００に関連付けられたトレーラヒッチ２１０のカプラ２１２を検出および位置特定する方法６００の各動作の例示的な構成を提供する。
【００５４】
ブロック６０２において、方法６００は、データ処理ハードウェア１５２において、牽引車両１００の後部位置に配置されていて、かつデータ処理ハードウェア１５２と通信するカメラ１４２ａから、１つまたは複数の画像１４３を受信することを含む。ブロック６０４において、方法６００は、データ処理ハードウェア１５２によって、１つまたは複数の画像１４３の内部において関心領域（ＲＯＩ）３００を決定することを含む。ＲＯＩ３００は、トレーラカプラ２１２の表現を含む。ブロック６０６において、方法６００は、データ処理ハードウェア１５２によって、受信した画像１４３に基づいて、カメラが移動するカメラ平面３１０を決定することを含む。ブロック６０８において、方法６００は、データ処理ハードウェア１５２によって、受信した画像１４３に基づいて道路平面３２０を決定することを含む。ブロック６１０において、方法６００は、データ処理ハードウェア１５２によって、ＲＯＩ３００の内側にあって、かつカメラ平面３１０および道路平面３２０の内部にある物体を表す３次元（３Ｄ）点群４００を決定することを含む。ブロック６１２において、方法６００は、データ処理ハードウェア１５２において、データ処理ハードウェア１５２と通信する車輪エンコーダ１４４、加速度および車輪角度センサ１４６、ならびに慣性測定ユニット１４８のうちの少なくとも１つから、センサデータ１４５を受信することを含む。ブロック６１４において、方法６００は、データ処理ハードウェア１５２において、３Ｄ点群４００およびセンサデータ１４５に基づいて、トレーラカプラ２１２のカプラ位置ＬＴＣを特定することを含む。カプラ位置ＬＴＣは、現実世界座標にある。ブロック６１６において、方法６００は、牽引車両１００を経路に沿ってカプラ位置ＬＴＣに向かって後退方向Ｒに自律的に運転させる命令１９０を、データ処理ハードウェア１５２から運転システム１１０に送信することを含む。
【００５５】
いくつかの実装形態では、画像１４３の内部においてＲＯＩ３００を決定することは、受信した画像１４３を表示するようにとの命令を、データ処理ハードウェア１５２からディスプレイ１３２に送信することと、データ処理ハードウェア１５２において、ＲＯＩ３００のユーザ選択１３４を受信することとを含む。
【００５６】
方法６００は、データ処理ハードウェア１５２によって、３Ｄ点群４００に関連付けられた点４０２をカメラ平面３１０上または道路平面３２０上に投影することを含むこともできる。方法６００は、データ処理ハードウェア１５２によって、それぞれの点とカメラ１４２ａとの間の距離を求めることを含むこともできる。３Ｄ点群４００に関連付けられた点がカメラ平面３１０上に投影される場合には、方法６００は、それぞれの点とカメラ１４２ａの中心との間の距離を求めることを含む。３Ｄ点群４００に関連付けられた点４０２が道路平面３２０上に投影される場合には、方法６００は、それぞれの点と、道路平面上へのカメラの中心の投影との間の距離を求めることを含む。方法６００は、データ処理ハードウェア１５２によって、決定された距離に基づいて最短距離を決定することを含むこともできる。カメラ中心までの最短距離に関連付けられた３Ｄ点の、受信した画像１４３上への投影は、画像１４３の内部におけるカプラ画素位置を表す。カプラ位置ＬＴＣは、カプラ画素位置に基づいている。いくつかの例では、方法６００は、データ処理ハードウェア１５２によって、最短距離に関連付けられた３Ｄ点と、道路平面３２０との間の距離に基づいて、カプラ高さＨＴＣを求めることを含む。カプラ位置ＬＴＣは、カプラ高さＨＴＣを含む。
【００５７】
いくつかの実装形態では、方法６００は、データ処理ハードウェア１５２によって、３Ｄ点群４００に基づいて、トレーラカプラ２１２とカメラ１４２ａとの間の第１の距離ＤＣＪを求めることを含む。方法６００は、データ処理ハードウェア１５２によって、第１の距離ＤＣＪからカメラ１４２ａと車両ヒッチボール１２２との間の長手方向距離ＤＶＣＣを差し引いたものに基づいて、トレーラカプラ２１２と車両牽引ボール１２２との間の第２の距離ＤＣＣを求めることも含む。経路は、第２の距離ＤＣＣに基づいている。
【００５８】
いくつかの例では、ＲＯＩ３００の３Ｄ点群４００を決定することは、視覚オドメトリ（ＶＯ）アルゴリズム、Simultaneous Localization and Mapping（ＳＬＡＭ）アルゴリズム、およびStructure from Motion（ＳｆＭ）アルゴリズムのうちの１つを実行することを含む。
【００５９】
いくつかの実装形態では、カメラ平面３１０を決定することは、受信した画像１４３から後方カメラ１４２ａの少なくとも３つの３次元位置を特定することと、少なくとも３つの３次元位置に基づいてカメラ平面３１０を決定することとを含む。道路平面３２０を決定することは、牽引車両を支持している道路からのカメラの高さを求めることと、カメラ１４２ａの高さの分だけカメラ平面３１０を道路１０に向かってシフトさせることとを含むことができる。
【００６０】
いくつかの例では、道路平面を決定することは、路面１０を含む画像１４３から少なくとも３つの特徴点を抽出することと、３Ｄ点群４００の点をそれぞれの特徴点に関連付けることと、少なくとも３つの特徴点に関連付けられた、３Ｄ点群の少なくとも３つの点に基づいて道路平面を決定することとを含む。いくつかの例では、カメラ平面を決定することは、道路からのカメラの高さを求めることと、カメラの高さの分だけ道路平面をシフトさせることとを含む。
【００６１】
本明細書に記載されているシステムおよび技術の種々の実装形態は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組み合わせの形態で実現可能である。これらの種々の実装形態は、プログラマブルシステム上で実行可能および／または解釈可能な１つまたは複数のコンピュータプログラムの形態での実装を含むことができ、このプログラマブルシステムは、ストレージシステムからデータおよび命令を受信し、かつストレージシステムにデータおよび命令を送信するために結合された、特別であってもよいし汎用であってもよい少なくとも１つのプログラマブルプロセッサと、少なくとも１つの入力デバイスと、少なくとも１つの出力デバイスとを含む。
【００６２】
（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる）これらのコンピュータプログラムは、プログラマブルプロセッサのための機械命令を含み、ハイレベルの手続き型プログラミング言語および／またはオブジェクト指向型プログラミング言語、および／またはアセンブリ言語／機械語の形態で実装可能である。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および／またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および／またはデバイス（例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令および／またはデータを提供するために使用される任意の信号を指す。
【００６３】
本明細書に記載されている主題および機能動作の実装形態は、デジタル電子回路の形態で、または本明細書に開示されている構造およびそれらの構造的な同等物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアの形態で、またはそれらの１つまたは複数の組み合わせの形態で、実装可能である。さらに、本明細書に記載されている主題は、１つまたは複数のコンピュータプログラム製品として実装可能であり、すなわち、データ処理装置によって実行するための、またはデータ処理装置の動作を制御するための、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の１つまたは複数のモジュールとして実装可能である。コンピュータ可読媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、機械可読伝搬信号をもたらす物質の組成物、またはそれらの１つまたは複数の組み合わせであり得る。「データ処理装置」、「コンピューティングデバイス」、および「コンピューティングプロセッサ」という用語は、一例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、当のコンピュータプログラムの実行環境を作成するコードを含むことができ、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの１つまたは複数の組み合わせを構成するコードを含むことができる。伝搬信号は、人工的に生成された信号であり、例えば、適切な受信機装置に送信するための情報を符号化するために生成される、機械生成の電気信号、光学信号、または電磁信号である。
【００６４】
同様に、各動作は、図面において特定の順序で図示されているが、このことは、望ましい結果を達成するために、そのような動作が、図示された特定の順序または連続した順序で実行されること、または図示されたすべての動作が実行されることが必要であると理解されるべきではない。特定の状況では、マルチタスク処理および並列処理が有利である場合がある。さらに、上記の実施形態における複数の異なるシステムコンポーネントの分離は、すべての実施形態においてそのような分離が必要であると理解されるべきではなく、記載されている複数のプログラムコンポーネントおよびシステムを、一般に、単一のソフトウェア製品に一緒に組み込むことができるか、または複数のソフトウェア製品にパッケージ化することができることが理解されるべきである。
【００６５】
複数の実装形態について説明してきた。それでもなお、本開示の思想および範囲から逸脱することなく、種々の変更を加えることができることが理解されるであろう。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【図１】
2021522606.tif 000003
【図２】
2021522606.tif 000004
【図３】
2021522606.tif 000005
【図４Ａ】
2021522606.tif 000006
【図４Ｂ】
2021522606.tif 000007
【図５Ａ】
2021522606.tif 000008
【図５Ｂ】
2021522606.tif 000009
【図６】
2021522606.tif 000010
【国際調査報告】
2021522606.tif 000011
2021522606.tif 000012
2021522606.tif 000013