(57)【要約】  牽引車両（１００）の後方に位置するトレーラカプラ（２１２）を追跡するための方法が提供される。この方法は、牽引車両（１００）の後部に配置されたカメラ（１４２）から、１つまたは複数の画像（１４３）を受け取るステップを含む。この方法は、１つまたは複数の画像内でトレーラカプラポジションを特定するステップも含む。トレーラカプラポジションは、トレーラカプラ（２１２）に対応づけられている。これに加えこの方法は、１つまたは複数の車両センサから車両センサデータ（１４１）を受け取るステップを含む。この方法は、受け取った車両センサデータ（１４１）に基づき、車両運動データを特定するステップを含む。この方法は、トレーラカプラポジションと車両運動データとに基づき、更新されたカプラポジションを特定するステップも含む。
2021523049.tif 000002
【特許請求の範囲】
【請求項１】
牽引車両の後方に位置するトレーラカプラを追跡するための方法であって、
データ処理ハードウェアにおいて、前記牽引車両の後部に配置され前記データ処理ハードウェアと通信を行うカメラから、１つまたは複数の画像を受け取るステップと、
前記データ処理ハードウェアにおいて、前記トレーラカプラと対応づけられたトレーラカプラポジションを、前記１つまたは複数の画像内で特定するステップと、
前記データ処理ハードウェアにおいて、該データ処理ハードウェアと通信を行う１つまたは複数の車両センサから、車両センサデータを受け取るステップと、
前記データ処理ハードウェアにおいて、受け取った前記車両センサデータに基づき車両運動データを特定するステップと、
前記データ処理ハードウェアにおいて、前記トレーラカプラポジションと前記車両運動データとに基づき、更新されたカプラポジションを特定するステップと、
を含む、方法。
【請求項２】
前記車両運動データは、車両姿勢、車両直線速度および車両角速度を含む、請求項１記載の方法。
【請求項３】
前記１つまたは複数の車両センサは、ステアリングホイール角度センサ、車輪エンコーダ、慣性測定ユニット、レーダ、およびグローバルポジショニングシステム受信機のうちの少なくとも１つを含む、請求項１記載の方法。
【請求項４】
当該方法はさらに、前記車両運動データと先行のカプラポジションとに基づき、前記１つまたは複数の画像内の前記トレーラカプラのピクセル速度を特定するステップを含み、
前記更新されたカプラポジションは、前記ピクセル速度と前記先行のカプラポジションとに基づく、
請求項１記載の方法。
【請求項５】
前記ピクセル速度は、実世界座標系におけるカプラ高さに基づく、請求項４記載の方法。
【請求項６】
当該方法はさらに、
予め定められた範囲から前記カプラ高さを特定するステップと、
前記ピクセル速度に基づき、前記トレーラカプラに対応づけられた第１のピクセルポイントロケーションを特定するステップと、
前記１つまたは複数の画像に基づき、前記トレーラカプラに対応づけられた第２のピクセルポイントロケーションを特定するステップと、
前記第１のピクセルポイントロケーションと前記第２のピクセルポイントロケーションとを比較するステップと、
比較した前記第１および第２のピクセルポイントロケーションに基づき、前記カプラ高さを調節するステップと、
を含む、請求項５記載の方法。
【請求項７】
当該方法はさらに、
前記データ処理ハードウェアと通信を行うメモリハードウェアに、前記更新されたカプラポジションを格納するステップと、
１つまたは複数の更新された画像を受け取ったときに、前記更新されたカプラポジションを前記先行のカプラポジションとして取り出すステップと、
を含む、請求項１記載の方法。
【請求項８】
当該方法はさらに、
前記更新されたカプラポジションに基づき、世界座標内でカプラロケーションを特定するステップと、
前記牽引車両に対し前記カプラロケーションに向かって後退方向で自律運転を実施させる命令を、前記牽引車両の走行システムへ送信するステップと、
を含む、請求項１記載の方法。
【請求項９】
牽引車両の後方に位置するトレーラカプラを追跡するためのシステムであって、当該システムは、
データ処理ハードウェアと、
該データ処理ハードウェアと通信を行うメモリハードウェアと
を有し、
前記メモリハードウェアは命令を格納しており、該命令は、前記データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに対し以下のことを含む動作を実施させる、すなわち、
前記牽引車両の後部に配置され前記データ処理ハードウェアと通信を行うカメラから、１つまたは複数の画像を受け取ることと、
前記トレーラカプラと対応づけられたトレーラカプラポジションを、前記１つまたは複数の画像内で特定することと、
前記データ処理ハードウェアと通信を行う１つまたは複数の車両センサから、車両センサデータを受け取ることと、
受け取った前記車両センサデータに基づき車両運動データを特定することと、
前記トレーラカプラポジションと前記車両運動データとに基づき、更新されたカプラポジションを特定することと、
を含む動作を実施させる、
システム。
【請求項１０】
前記車両運動データは、車両姿勢、車両直線速度および車両角速度を含む、請求項９記載のシステム。
【請求項１１】
前記１つまたは複数の車両センサは、ステアリングホイール角度センサ、車輪エンコーダ、慣性測定ユニット、レーダ、およびグローバルポジショニングシステム受信機のうちの少なくとも１つを含む、請求項９記載のシステム。
【請求項１２】
前記動作はさらに、前記車両運動データと先行のカプラポジションとに基づき、前記１つまたは複数の画像内の前記トレーラカプラのピクセル速度を特定することを含み、
前記更新されたカプラポジションは、前記ピクセル速度と前記先行のカプラポジションとに基づく、
請求項９記載のシステム。
【請求項１３】
前記ピクセル速度は、実世界座標系におけるカプラ高さに基づく、請求項１２記載のシステム。
【請求項１４】
前記動作はさらに、
予め定められた範囲から前記カプラ高さを特定することと、
前記ピクセル速度に基づき、前記トレーラカプラに対応づけられた第１のピクセルポイントロケーションを特定することと、
前記１つまたは複数の画像に基づき、前記トレーラカプラに対応づけられた第２のピクセルポイントロケーションを特定することと、
前記第１のピクセルポイントロケーションと前記第２のピクセルポイントロケーションとを比較することと、
比較した前記第１および第２のピクセルポイントロケーションに基づき、前記カプラ高さを調節することと、
を含む、請求項１３記載のシステム。
【請求項１５】
前記動作はさらに、
前記メモリハードウェアに、前記更新されたカプラポジションを格納することと、
１つまたは複数の更新された画像を受け取ったときに、前記更新されたカプラポジションを前記先行のカプラポジションとして取り出すことと、
を含む、請求項９記載のシステム。
【請求項１６】
前記動作はさらに、
前記更新されたカプラポジションに基づき、世界座標内でカプラロケーションを特定することと、
前記牽引車両に対し前記カプラロケーションに向かって後退方向で自律運転を実施させる命令を、前記牽引車両の走行システムへ送信することと、
を含む、請求項９記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、牽引車両により担持される視覚物体追跡システムのための方法およびシステムに関する。この視覚物体追跡システムは、牽引車両の後方に位置するトレーラのカプラを追跡する。
【０００２】
背景
トレーラは通常、動力を備えた牽引車両によって引っ張られる無動力の車両である。トレーラを他にもある中で特に、ユーティリティトレーラ、ポップアップ式キャンピングカー、旅行用トレーラ、家畜用トレーラ、平床式トレーラ、有蓋車両輸送トレーラ、およびボートトレーラとすることができる。牽引車両を、乗用車、クロスオーバー車、トラック、バン、スポーツ・ユーティリティ・ビークル（ＳＵＶ）、レクレーショナル・ビークル（ＲＶ）、またはトレーラに取り付けてトレーラを引っ張るように構成された他の任意の車両とすることができる。トレーラヒッチを用いて、トレーラを動力車両に取り付けることができる。受け側ヒッチが牽引車両に据え付けられており、これがトレーラヒッチと連結されて連結が形成される。トレーラヒッチを、ボールおよびソケット、予備車輪およびグースネック、またはトレーラジャッキとすることができる。他の取り付け機構を使用することもできる。
【０００３】
コンピューティングおよびセンサのテクノロジーにおける最近の進歩によって、車両の自律走行が向上するに至った。したがって、牽引車両がトレーラに取り付けるための位置をとるように、牽引車両の後方に位置する牽引車両に向かって後退方向で自律走行可能な牽引車両を実現するのが望ましい。
【０００４】
概要
本開示の１つの態様によれば、牽引車両の後方に位置するトレーラカプラを追跡するための方法が提供される。この方法は、データ処理ハードウェアにおいて、牽引車両の後部に配置されデータ処理ハードウェアと通信を行うカメラから、１つまたは複数の画像を受け取るステップを含む。この方法は、データ処理ハードウェアにおいて、１つまたは複数の画像内のトレーラカプラポジションを特定するステップも含む。トレーラカプラポジションは、トレーラカプラに対応づけられている。この方法は、データ処理ハードウェアにおいて、このデータ処理ハードウェアと通信を行う１つまたは複数の車両センサから、車両センサデータを受け取るステップも含む。この方法は、データ処理ハードウェアにおいて、受け取った車両センサデータに基づき車両運動データを特定するステップも含む。この方法は、データ処理ハードウェアにおいて、トレーラカプラポジションと車両運動データとに基づき、更新されたカプラポジションを特定するステップも含む。
【０００５】
本開示の実施態様は、以下の任意選択的特徴のうちの１つまたは複数を含むことができる。いくつかの実施態様において、車両運動データは、車両姿勢、車両直線速度および車両角速度を含む。１つまたは複数の車両センサは、ステアリングホイール角度センサ、車輪エンコーダ、慣性測定ユニット、レーダ、およびグローバルポジショニングシステム受信機のうちの少なくとも１つを含むことができる。
【０００６】
いくつかの実施態様において、この方法はさらに、車両運動データと先行のカプラポジションとに基づき、１つまたは複数の画像内におけるトレーラカプラのピクセル速度を特定するステップを含む。更新されたカプラポジションを、ピクセル速度と先行のカプラポジションとに基づくものとすることができる。ピクセル速度を、実世界座標系（a real-world coordinate system）におけるカプラ高さに基づくものとすることもできる。
【０００７】
いくつかの実施態様において、この方法はさらに、予め定められた範囲からカプラ高さを特定するステップを含む。この方法は、ピクセル速度に基づき、トレーラカプラに対応づけられた第１のピクセルポイントロケーションを特定するステップを含むこともできる。この方法は、１つまたは複数の画像に基づき、トレーラカプラに対応づけられた第２のピクセルポイントロケーションを特定するステップを含むこともできる。この方法は、第１のピクセルポイントロケーションと第２のピクセルポイントロケーションとを比較するステップを含むこともできる。この方法は、比較した第１および第２のピクセルポイントロケーションに基づき、カプラ高さを調節するステップを含むこともできる。いくつかの実施例において、この方法は、データ処理ハードウェアと通信を行うメモリハードウェアに、更新されたカプラポジションを格納するステップを含む。この方法は、１つまたは複数の更新された画像を受け取ったときに、更新されたカプラポジションを先行のカプラポジションとして取り出すステップを含むこともできる。
【０００８】
いくつかの実施態様において、この方法はさらに、更新されたカプラポジションに基づき、世界座標におけるカプラロケーションを特定するステップを含む。この方法は、牽引車両の走行システムへ命令を送信するステップを含むこともできる。これらの命令は牽引車両に対し、カプラロケーションに向かって後退方向で自律運転を実施させる。
【０００９】
本開示の別の態様によれば、牽引車両の後方に位置するトレーラカプラを追跡するためのシステムが提供される。このシステムは、データ処理ハードウェアと、このデータ処理ハードウェアと通信を行うメモリハードウェアとを含む。メモリハードウェアは命令を格納しており、この命令は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに対し上述の方法を含む動作を実施させる。
【００１０】
添付の図面および以下の説明には、本開示の１つまたは複数の実施態様の詳細が示されている。明細書および図面ならびに特許請求の範囲から、他の態様、特徴および利点が明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】例示的な牽引車両の概略的な上面図である。
【図２】追跡システムを含む図１に示した牽引車両の概略図である。
【図３】図２に示した例示的な追跡システムの概略図である。
【図４】例示的な牽引車両の概略図である。
【図５】高さ調節モジュールを含む図４に示した牽引車両の概略図である。
【図６】牽引車両の後方に位置するトレーラのカプラを追跡するための例示的な方法の概略図である。
【００１２】
種々の図面における同じ参照符号は同じ部材を表す。
【００１３】
詳細な説明
以下に限定されるものではないが、乗用車、クロスオーバー車、トラック、バン、スポーツ・ユーティリティ・ビークル（ＳＵＶ）およびレクレーショナル・ビークル（ＲＶ）といった牽引車両を、トレーラを牽引するように構成することができる。牽引車両は、カプラと牽引棒とを含むトレーラヒッチを用いて、トレーラとの連結を行う。トレーラカプラを追跡可能であり、かつトレーラに向かって後退方向で自律運転を実施可能な牽引車両を実現するのが望ましい。物体追跡コンピュータビジョンアルゴリズムは一般に、視覚情報に依拠して今後の画像内での物体のロケーションを予測する。画像内の物体の過去の動きは、今後のポジションのいくつかの指標となるけれども、カメラ方向の変化が物体追跡コンピュータビジョンアルゴリズムを混乱させ、物体追跡コンピュータビジョンアルゴリズムが物体上の自身の位置を失ってしまう可能性がある。したがって、以前に捕捉された画像内のカプラのポジションに加え、カメラの動きに依拠する追従システムによって、今後の画像内で物体のロケーションを失う機会が低減される。
【００１４】
図１〜３を参照すると、いくつかの実施態様において、牽引車両１００の運転者は、自身の牽引車両１００が選択または識別されたトレーラ２００を追従することにより、トレーラ２００に向かって自律運転を実施することを望んでいる。牽引車両１００は、トレーラ２００に向かって後退方向Ｒで自律運転を実施することができる。牽引車両１００とトレーラ２００とが整列されているならば、牽引車両１００をトレーラ２００と（たとえば運転者により、または自律的に）つなぐことができる。いくつかの実施例の場合、牽引車両１００は、牽引ボール１２２を有する牽引ヒッチ１２０を含む。トレーラ２００は、トレーラカプラ２１２および牽引棒２１４を含むトレーラヒッチ２１０を含む。このようにして牽引ボール１２２がトレーラカプラ２１２と連結される。牽引車両１００は走行システム１１０を含むことができ、この走行システム１１０は、たとえばｘ成分、ｙ成分およびｚ成分を有する走行命令に基づき、路面にわたり牽引車両１００の運転を実施する。図示されているように、走行システム１１０は、右前輪１１２、１１２ａ、左前輪１１２、１１２ｂ、右後輪１１２、１１２ｃおよび左後輪１１２、１１２ｄを含む。走行システム１１０は、これとは別の車輪構成を同様に含むことができる。走行システム１１０は、各車輪１１２、１１２ａ〜ｄに対応づけられたブレーキを含むブレーキシステム１１４、および牽引車両１００の速度および方向を調節するように構成された加速システム１１６を含むこともできる。これに加え走行システム１１０はサスペンションシステム１１８を含むことができ、このサスペンションシステム１１８は、各車輪１１２、１１２ａ〜ｄに対応づけられたタイヤ、タイヤエア、スプリング、ショックアブゾーバ、および牽引車両１００をその車輪１１２、１１２ａ〜ｄに連結するリンク機構を含み、牽引車両１００と車輪１１２、１１２ａ〜ｄとの間の相対的な運動を可能にする。サスペンションシステム１１８を、牽引車両１００の高さを調節するように構成することができ、これによって牽引ヒッチ１２０（たとえば牽引ヒッチボール１２２）をトレーラヒッチ２１０（たとえばトレーラヒッチカプラ２１２）と整列させることができ、このようにして牽引車両１００とトレーラ２００との間の自律的な連結を可能にする。
【００１５】
牽引車両１００は、この牽引車両１００によって規定される互いに垂直な３つの軸すなわち左右軸Ｘ、前後軸Ｙおよび中心垂直軸Ｚに対し相対的な運動の様々な組み合わせにより、路面にわたり移動することができる。左右軸Ｘは、牽引車両１００の右側と左側との間に延在している。前後軸Ｙに沿った前進走行方向がＦで表されており、これを前進運動とも称する。これに加え、前後軸Ｙに沿った後ろ向き走行方向もしくは後退走行方向がＲで表されており、これを後退運動とも称する。サスペンションシステム１１８が牽引車両１００のサスペンションを調節すると、牽引車両１００はＸ軸および／またはＹ軸を中心に傾くことができ、または中心垂直軸Ｚに沿って運動することができる。
【００１６】
牽引車両１００はユーザインタフェース１３０を含むことができる。ユーザインタフェース１３０は、ディスプレイ１３２、ノブおよびボタンを含むことができ、これらは入力機構として用いられる。いくつかの実施例において、ディスプレイ１３２によってノブおよびボタンを表示させることができる。他方、別の実施例において、ノブおよびボタンは、ノブとボタンのコンビネーションである。いくつかの実施例において、ユーザインタフェース１３０は、１つまたは複数の入力機構あるいはタッチスクリーンディスプレイ１３２を介して、運転者から１つまたは複数の運転者命令を受け取り、かつ／または１つまたは複数の通知を運転者に表示する。ユーザインタフェース１３０は車両コントローラ１７０と通信を行い、他方、車両コントローラ１７０はセンサシステム１４０と通信を行う。いくつかの実施例において、ディスプレイ１３２は、牽引車両１００の周囲の画像を表示し、これに続いてユーザインタフェース１３０は、１つまたは複数の挙動の実行を開始させる１つまたは複数の命令を（運転者から）受け取る。いくつかの実施例において、ユーザディスプレイ１３２は、牽引車両１００の後方環境の描写画像を表示し、これには牽引車両１００の後方に位置するトレーラ２００、２００ａ〜ｃの１つまたは複数の描写１３６、１３６ａ〜ｃが含まれる。この事例では運転者は、運転者が車両を自律走行させたい行先のトレーラ２００を示すトレーラ２００、２００ａ〜ｃの描写１３６、１３６ａ〜ｃの選択１３４を下す。
【００１７】
牽引車両１００は、信頼性のあるロバストな走行を提供するために、センサシステム１４０を含むことができる。センサシステム１４０は種々のタイプのセンサを含むことができ、これらを別個にまたは他のものと組み合わせて、牽引車両１００の周囲の認識をもたらすために用いることができ、この認識は、センサシステム１４０により検出された物体および障害物に基づき、牽引車両１００を自律走行させるために、かつ／またはインテリジェント判定を下す際に運転者を支援するために用いられる。センサシステム１４０は、牽引車両１００の運動の測定値などのようなデータ１４１を提供し、それらのデータ１４１は、周知のカメラおよび車両パラメータを使用することにより、カメラ画像１４３内の特定のポイント（たとえばトレーラカプラ２１２）の予期される変化を計算するために用いられる。追跡される物体（たとえばトレーラカプラ２１２）が静止しているならば、画像１４３中の唯一の動きは、牽引車両１００の運動に起因するものとなり、追跡システム３００は、次の画像１４３においてカプラロケーション３１２がどのように変化することになるのかを判定することができる。
【００１８】
センサシステム１４０は、牽引車両１００により担持される１つまたは複数のカメラ１４２を含むことができる。いくつかの実施態様において、牽引車両１００は後部カメラ１４２を含むことができ、この後部カメラ１４２は、牽引車両１００のために後退走行経路の視界を提供するように取り付けられている。後部カメラ１４２は魚眼レンズを含むことができ、これは超広角レンズを含み、これによってワイドなパノラマ画像または半球状画像の生成を意図した強い視覚的ゆがみがもたらされる。魚眼カメラは、極端にワイドな画角を有する画像を捕捉する。しかも魚眼カメラにより捕捉された画像は、特徴的な凸型の非直線的な外観を有する。牽引車両１００の後部周囲の画像を捕捉するために、他のタイプのカメラを用いることもできる。
【００１９】
いくつかの実施例において、センサシステム１４０は、牽引車両１００の１つまたは複数の車輪１１２、１１２ａ〜ｄに対応づけられた１つまたは複数の車輪エンコーダ１４４も含む。車輪エンコーダ１４４は電気機械的なデバイスであり、このデバイスは、車輪の角度ポジションまたは運動をアナログまたはディジタルの出力信号に変換する。したがって車輪エンコーダ１４４は、車輪１１２、１１２ａ〜ｄが移動した速度および距離を特定する。
【００２０】
センサシステム１４０は、慣性測定ユニット（ＩＭＵ）１４６を含むこともでき、このユニットは（１つまたは複数の加速度計を用いて）車両の直線加速度を、さらに（１つまたは複数のジャイロスコープを用いて）回転速度を測定するように構成されている。いくつかの実施例において、ＩＭＵ１４６は牽引車両１００の前進方位基準も特定する。したがってＩＭＵ１４６は、牽引車両１００のピッチ、ロールおよびヨーを特定する。
【００２１】
いくつかの実施態様において、センサシステム１４０は、物体の距離、角度または速度を特定するように構成されたレーダセンサ１４８を含む。レーダセンサ１４８は無線信号を送信し、送信された信号の反射が戻るまでにかかる時間を測定する。レーダセンサ１４８は、この往復時間の半分に信号の速度を乗算したものとして、物体までの距離を特定する。レーダセンサ１４８は、牽引車両１００の速度も特定することができる。この速度を、レーダセンサ１４８から物体までの１回目の時点の距離と、レーダセンサ１４８から物体までの２回目の時点の距離とに基づくものとすることができる。かくしてレーダセンサ１４８は、１回目の時点の距離と２回目の時点の距離の差を、１回目の時点と２回目の時点の差で除算したものに基づき、速度を特定することができる。
【００２２】
センサシステム１４０は、車両の運動すなわち速度、角速度、ポジションなどを検出する別のセンサ１５０も含む。別のセンサ１５０は、以下に限定されるものではないが、ステアリングホイールセンサ、ソナー、ＬＩＤＡＲ（光検出と測距、これは遠隔の目標の距離および／または他の情報を見出すために散乱光の特性を測定する光学的遠隔センシングを必然的に伴う場合がある）、ＬＡＤＡＲ（レーザ検出と測距）、超音波などを含むことができる。
【００２３】
いくつかの実施態様において、牽引車両１００は、グローバルポジショニングシステム（ＧＰＳ）受信機１６０を含み、これはＧＰＳ衛星から情報を受信し、次いで牽引車両１００の地理ポジション１６２を計算する。
【００２４】
いくつかの実施態様において、車両コントローラ１７０は、非一時的記憶装置１７４（たとえばハードディスク、フラッシュメモリ、ランダムアクセスメモリ、メモリハードウェア）と通信を行うコンピューティングデバイス（またはプロセッサ）１７２（たとえば１つまたは複数のコンピューティングプロセッサを有する中央処理ユニット）を含み、非一時的記憶装置１７４は、コンピューティングプロセッサ１７２上で実行可能な命令を格納することができる。
【００２５】
車両コントローラ１７０は追跡システム３００を実行し、この追跡システム３００は、受け取った画像１４３を解析して、画像１４３内でトレーラカプラ２１２を識別し、牽引車両１００が後退方向Ｒに動いたときにトレーラカプラ２１２を追跡する。追跡システム３００は、カプラポイントトラッカ３１０と、低速運動推定モジュール３２０と、画像ポイント運動モジュール３３０と、カプラポイント融合モジュール３４０とを含む。追跡システム３００は、画像１４３内のカプラポイントトラッカ３１０のデータ３１２と、低速運動推定モジュール３２０により特定されたカメラ運動とを融合することによって、カプラロケーションＬｃの改善された特定をもたらす。
【００２６】
図３を参照すると、いくつかの実施態様において、カプラポイントトラッカモジュール３１０は、後部カメラ１４２から画像１４３を受け取る。カプラポイントトラッカ３１０は画像１４３内でトレーラカプラ２１２を識別し、次に受け取る画像１４３内でそのカプラ２１２を追跡する。したがってカプラポイントトラッカ３１０は、目下の画像１４３内で目下のカプラロケーション３１２、（ｕ＋，ｖ＋）を特定する。画像内のカプラロケーション３１２は（ｕ，ｖ）により規定され、ここでｕは、画像のｘ画像軸に沿ったピクセルポジションであり、ｖは、画像のｙ画像軸に沿ったピクセルポジションである。
【００２７】
低速運動推定モジュール３２０は、センサシステム１４０の１つまたは複数のセンサ１４２、１４４、１４６、１４８、１５０から、センサデータ１４１を受け取る。いくつかの実施例において、低速運動推定モジュール３２０は、カメラ１４２からの画像１４３、車輪エンコーダ１４４からのホイールティック１４５、ＩＭＵ１４６からのＩＭＵデータ１４７、レーダ１４８からのレーダデータ１４９、および他のセンサ１５０からの他のセンサデータ１５１のうちの１つまたは複数を受け取る。いくつかの実施例において、低速運動推定モジュール３２０は、ＧＰＳ受信機１６０からＧＰＳデータ１６２を受信する。いくつかの実施例において、低速運動推定モジュール３２０は、受け取ったセンサデータ１４１に基づき、牽引車両１００の車両直線速度および車両角速度３２２、（ｖ，ω）（ここでｖは直線速度、ωは角速度）と、車両姿勢３２４、（ｘ，ｙ，θ）とを特定する。車両姿勢３２４は（ｘ，ｙ，θ）によって規定され、ここでｘは、ＸＹ平面における左右軸Ｘに沿った牽引車両１００の中心ポジションであり、ｙは、ＸＹ平面における前後軸Ｙに沿った車両の中心ポジションであり、さらにθは、牽引車両１００の前進方位である。低速運動推定モジュール３２０は、車両直線速度および車両角速度３２２、（ｖ，ω）と車両姿勢３２４、（ｘ，ｙ，θ）とに基づき、カメラ速度およびカメラポジション（カメラ姿勢）といったカメラの運動情報も特定することができ、それというのも、カメラ１４２は牽引車両１００によって担持されているので、カメラ運動は車両運動に直接的に関連づけられているからである。別の実施例において、低速運動推定モジュール３２０はカメラ運動を特定し、このカメラ運動に基づき低速運動推定モジュール３２０は、車両直線速度および車両角速度３２２、（ｖ，ω）と車両姿勢３２４、（ｘ，ｙ，θ）とを特定する。
【００２８】
いくつかの実施態様において、画像ポイント運動モジュール３３０は、１つまたは複数の画像１４３内においてカプラ２１２と対応づけられたピクセルのピクセル速度３３２を推定する。画像ポイント運動モジュール３３０は、カプラ２１２が次の画像においてはどこにあるのか（すなわちどこへ移動するのか）の推定を、追跡システム３００にもたらす。画像ポイント運動モジュール３３０は、車両直線速度および車両角速度３２２、（ｖ，ω）と車両姿勢３２４、（ｘ，ｙ，θ）とを、低速運動推定モジュール３２０から受け取る。これに加え、画像ポイント運動モジュール３３０は、カプラ高さＺを受け取るかまたは特定する。カプラ高さＺを、ユーザインタフェース１３０を介して運転者が入力することができ、またはたとえば図５を参照しながら説明するようにして計算することができる。画像ポイント運動モジュール３３０は、先行の画像１４３に対応づけられた先行のカプラロケーション３４２ｐも受け取る。いくつかの実施例において、目下のカプラロケーション３４２ｃ、（ｕ＋＊，ｖ＋＊）は各々、ハードウェアメモリ１７４に格納され、タイムスタンプに対応づけられる。このため、新たな目下のカプラロケーション３４２ｃが特定されると、以前に格納されていた目下のカプラロケーション３４２ｃが先行のカプラロケーション３４２ｐとなる。受け取った車両直線速度および車両角速度３２２、（ｖ，ω）と、車両姿勢３２４、（ｘ，ｙ，θ）と、カプラ高さＺと、先行のカプラロケーション３４２ｐとに基づいて、画像ポイント運動モジュール３３０は、１つまたは複数の画像１４３内のカプラ２１２に対応づけられたピクセルのピクセル速度３３２を特定する。
【００２９】
いくつかの実施例において、画像ポイント運動モジュール３３０は、実世界のカプラロケーションＬｃを（Ｘ，Ｙ，Ｚ）として特定する。画像ポイント運動モジュール３３０は、画像１４３内のカプラのポジション（ｕ，ｖ）を、
（ｕ，ｖ）＝ｆ（ｘ，ｙ，θ，Ｘ，Ｙ，Ｚ）            （１）
により特定する。ここで（ｕ，ｖ）はカプラロケーションであり、車両姿勢はｘ，ｙ，θにより規定され、実世界におけるカプラロケーションＬｃはＸ，Ｙ，Ｚにより規定される。よって、カプラロケーション（ｕ，ｖ）は、車両姿勢３２４、（ｘ，ｙ，θ）および実世界座標（world coordinate）におけるカプラロケーションＬｃ、（Ｘ，Ｙ，Ｚ）の関数である。
【００３０】
画像ポイント運動モジュール３３０は式（１）を反転させて、画像内のカプラロケーション（ｕ，ｖ）および実世界のカプラ高さＺの関数として、ｘｙ平面における車両ロケーション（Ｘ，Ｙ）を特定する。いくつかの実施例において、カプラ高さＺは、所定の範囲（たとえば４０ｃｍ〜７０ｃｍ）内にある。
（Ｘ，Ｙ）＝ｆ−１（ｘ，ｙ，θ，ｕ，ｖ，Ｚ）            （２）
【００３１】
次いで画像ポイント運動モジュール３３０は、第１の式（１）から関数のヤコビ行列を計算する。低速運動推定モジュール３２０は、画像ポイントの速度またはピクセル速度３３２、（ｕ・，ｖ・）を計算し、つまりヤコビ行列（３）に基づき画像内のカプラピクセルの速度を特定する。
【数１】
2021523049.tif 000003
ここでｕ・は、時間の変化に対するピクセルポジションの変化であり、ｖ・は時間の変化に対するピクセルポジションの変化である。ｘ・＝ｖ  ｃｏｓθ；ｙ・＝ｖ  ｓｉｎθ；θ・＝ωであり、さらにＸ・＝Ｙ・＝Ｚ・＝０である。
【００３２】
いくつかの実施態様において、カプラポイント融合モジュール３４０は、カプラピクセル速度３３２、（ｕ・，ｖ・）と、（カプラポイント融合モジュール３４０により以前に特定され、メモリハードウェア１７４に格納された）以前に特定されたカプラポイントロケーション３４２ｐとに基づき、目下の画像１４３内の更新されたカプラポイントロケーション３４２ｃを特定する。換言すれば、カプラポイント融合モジュール３４０は、カプラピクセル速度３３２、（ｕ・，ｖ・）と、以前に特定されたカプラポイントロケーション３４２ｐとに基づき、目下の画像１４３内のカプラポイントトラッカ３１０により特定されたカプラポイントロケーション３１２、（ｕ＋，ｖ＋）を更新して、目下の画像１４３内の更新されたカプラロケーション３４２ｃを特定する。したがって追跡システム３００は、画像ピクセル速度３３２と、先行の画像１４３内のカプラロケーション３４２ｐと、カプラポイントトラッカ３１０に基づくカプラロケーション３１２との組み合わせによって、カプラロケーション３４２ｃの特定を改善する。
【００３３】
いくつかの実施態様において、コントローラ１７０は受信した画像１４３ごとに追跡システム３００を実行して、更新されたカプラロケーション３４２ｃに基づき牽引車両１００が後退方向Ｒで自律運転を実施するようにし、このようにしてヒッチングのためにカプラ２１２を担持する牽引棒２１４と整列させる。
【００３４】
車両コントローラ１７０は走行支援システム１９０を実行し、この走行支援システム１９０自体は経路追従動作１９２を含む。経路追従動作１９２は、目下の画像１４３内の目下のカプラロケーション３４２ｃを受け取り、走行システム１１０へ命令１９４を送信する１つまたは複数の動作１９２ａ〜ｃを実行し、これによって牽引車両１００は、現在の画像１４３内のカプラロケーション３４２ｃに向かって後退方向Ｒで自律走行するようになり、このようにして牽引車両１００は、トレーラ２００と自律的に連結するようになる。いくつかの実施例において、コントローラ１７０は、走行支援システム１９０がカプラロケーションＬＣの実世界座標を追従するように、目下の画像１４３内のカプラロケーション３４２ｃの実世界ポジションを特定する。
【００３５】
経路追従動作１９２は、制動動作１９２ａ、速度動作１９２ｂおよび操舵動作１９２ｃを含む。いくつかの実施例において、経路追従動作１９２は、ヒッチ連結動作およびサスペンション調節動作も含む。各動作１９２ａ〜１９２ｃによって牽引車両１００は他にもある中で特に、後退方向で走行、特定の角度で旋回、制動、加速、減速といったアクションを行う。車両コントローラ１７０は、走行システム１１０を制御することによって、より具体的には、走行システム１１０へ命令１９４を発することによって、路面にわたり任意の方向で牽引車両１００の運転を実施することができる。
【００３６】
制動動作１９２ａを実行して、目下の画像１４３内のカプラロケーション３４２ｃに基づき、牽引車両１００を停止させることができ、または牽引車両１００を減速させることができる。制動動作１９２ａは、牽引車両１００を停止させるために、または牽引車両１００の速度を低下させるために、走行システム１１０たとえばブレーキシステム（図示せず）に信号または命令１９４を送信する。
【００３７】
速度動作１９２ｂを実行して、プラニングされた経路に基づき加速または減速することによって、牽引車両１００の速度を変化させることができる。速度動作１９２ｂは、減速のためにはブレーキシステム１１４へ、加速のためには加速システム１１６へ、信号または命令１９４を送信する。
【００３８】
操舵動作１９２ｃを実行して、目下の画像１４３内のカプラロケーション３４２ｃに基づき、牽引車両１００の方向を変更させることができる。したがって操舵動作１９２ｃは、走行システム１１０に対し方向を変更させる操舵角を表す信号または命令１９４を、加速システム１１６へ送信する。
【００３９】
図４および図５を参照すると、いくつかの実施態様において、追跡システム３００は、積分モジュール３５０、合計モジュール３６０および高さ調節モジュール３７０を含み、これらのモジュールは、トレーラカプラ２１２の高さＺを実世界座標系において特定するために一緒に用いられる。積分モジュール３５０、合計モジュール３６０および高さ調節モジュール３７０を、スタンドアローンモジュールとしてもよいし、カプラポイント融合モジュール３４０の一部分としてもよい。積分モジュール３５０は、画像ピクセル速度３３２、（ｕ・，ｖ・）（すなわち画像の導関数）を画像ポイント運動モジュール３３０から受け取り、ピクセル速度３３２から特定されたピクセル速度に基づき、ピクセルポイントまたはピクセルロケーション３５２を出力する。いくつかの実施例において、積分モジュール３５０は、受け取ったピクセル速度３３２を積分することによって、ピクセルポイント３５２を特定する。
【００４０】
いくつかの実施例において、良好な条件（たとえば鋭い影の線または判断を誤らせる画像フィーチャなどを伴わない良好な照明）のもとで、カプラポイントトラッカ３１０は、画像フレームごとに経時的に１つまたは複数の画像ピクセルポイントを正確に追従する。カプラポイントトラッカ３１０は、自身の追跡性能の推定された品質について何らかの基準を（自己）報告することができる。
【００４１】
カプラポイントトラッカ３１０が（その自己報告の品質基準または他の何らかの手段によれば）良好に作動している期間中に、その出力３１２を画像ポイント運動モジュール３３０の出力と比較することができる。カプラポイントトラッカ３１０と画像ポイント運動モジュール３３０の双方は、画像１４３内の実世界のフィーチャ（すなわちトレーラカプラ２１２）のロケーションを報告する。したがってカプラポイントトラッカ３１０の出力と、画像ポイント運動モジュール３３０の出力とを、合計モジュール３６０によって互いに直接、比較することができる。両方の出力３１２と３５２とが同じであるならば、実世界におけるカプラ２１２の高さＺは正確である。しかしながら出力３１２と３５２とが同じでなければ、高さ調節モジュール３７０はカプラ２１２の高さＺを調節する。最初のステップにおいて高さ調節モジュール３７０は、路面から４０ｃｍ〜７０ｃｍのカプラ高さＺを選択することができ、合計モジュール３６０の出力に基づき、高さ調節モジュール３７０はカプラ２１２の高さＺを調節する。いくつかの実施例において、カプラ高さＺの選択を、出力３１２と３５２とが同じになるまで、リミットの間で変化させることができる。高さＺが調節されたならば、捕捉された次の画像１４３において、画像ポイント運動モジュール３３０は、調節された高さＺを考慮することによりピクセル速度３３２を特定する。
【００４２】
画像ポイント運動モジュール３３０は、既知である実世界のポイント（すなわちトレーラカプラ２１２）の高さＺに依拠するのに対し、カプラポイントトラッカ３１０は、この高さＺには依拠していない。したがって追跡システム３００は、たとえば事前入力、ユーザによる入力、または計算により、カプラ高さＺを特定する。いくつかの実施例において、カプラポイントトラッカ３１０について良好な条件のもとで、カプラポイントトラッカ３１０の出力３１２と、画像ポイント運動モジュール３３０の出力３３２とが比較され、画像ポイント運動モジュール３３０の出力３３２が、カプラポイントトラッカ３１０の出力３１２と一致するまで、画像ポイント運動モジュール３３０の高さ入力Ｚが調節される。したがってシステム３００は、実世界において用いられるフィーチャ（すなわちトレーラカプラ２１２）の高さＺを推定することができる。
【００４３】
いくつかの実施態様において、カプラポイントトラッカ３１０に対する条件が良好でない場合には、追跡機能を改善するため、システム３００は画像ポイント運動モジュール３３０をもっと有効に用いることができる。
【００４４】
追跡システム３００は、画像１４３を車両ダイナミクスすなわちセンサデータ１４１と融合して、画像１４３内および世界座標におけるカプラポイントのポジションを予測する。車両の運動を組み込むことによって、画像内において（実世界に対し）静止した物体のポジションを、今後の画像フレーム内で特定することができる。
【００４５】
図６によれば、図１〜図５において説明したシステムを用いて、牽引車両１００の後方に位置するトレーラカプラ２１２を追跡するための方法６００の動作に関する例示的な構成が提供される。ブロック６０２では、方法６００は、データ処理ハードウェア１７２において、牽引車両１００の後部に配置されデータ処理ハードウェア１７２と通信を行うカメラ１４２から、１つまたは複数の画像１４３を受け取るステップを含む。ブロック６０４では、方法６００は、データ処理ハードウェア１７２において、１つまたは複数の画像１４３内のトレーラカプラポジション３１２を特定するステップを含む。トレーラカプラポジション３１２は、トレーラカプラ２１２に対応づけられている。よって、トレーラカプラポジション３１２は，画像１４３内の１つのピクセルポジションである。ブロック６０６では、方法６００は、データ処理ハードウェア１７２において、このデータ処理ハードウェア１７２と通信を行う１つまたは複数の車両センサ１４２、１４４、１４６、１４８、１５０、１６０から、車両センサデータ１４１を受け取るステップを含む。１つまたは複数の車両センサは、以下に限定されるものではないが、ステアリングホイール角度センサ、車輪エンコーダ、慣性測定ユニット、レーダ、およびグローバルポジショニングシステム受信機を含むことができる。
【００４６】
これに加えブロック６０８では、方法６００は、データ処理ハードウェア１７２において、受け取った車両センサデータ１４１に基づき車両運動データ３２２、３２４を特定するステップを含む。車両運動データ３２２、３２４は、車両直線速度および車両角速度３２２と車両姿勢３２４とを含むことができる。ブロック６１０では、方法６００は、データ処理ハードウェア１７２において、トレーラカプラポジション３１２と車両運動データ３２２、３２４とに基づき、目下の画像の更新されたカプラポジション３４２ｃを特定するステップも含む。
【００４７】
いくつかの実施態様において、方法６００は、車両運動データ３２２、３２４と先行のカプラポジション３４２ｐとに基づき、１つまたは複数の画像１４３内におけるトレーラカプラ２１２の１つまたは複数のポイントのピクセル速度３３２、（ｕ・，ｖ・）を特定するステップを含む。更新されたカプラポジション３４２ｃは、ピクセル速度と先行のカプラポジションとに基づくものである。ピクセル速度３３２、（ｕ・，ｖ・）を、実世界座標系におけるカプラ高さＺに基づくものとすることができる。方法６００は、予め定められた範囲（たとえば４０〜７０ｃｍ）からカプラ高さＺを特定するステップを含むこともできる。この方法は、ピクセル速度３３２、（ｕ・，ｖ・）に基づき、トレーラカプラ２１２に対応づけられた第１のピクセルポイントロケーション３５２を特定するステップ、および１つまたは複数の画像１４３に基づき、トレーラカプラ２１２に対応づけられた第２のピクセルポイントロケーション３１２を特定するステップも含む。方法６００は、第１のピクセルポイントロケーション３５２と第２のピクセルポイントロケーション３１２とを比較し、比較した第１および第２のピクセルポイントロケーション３５２、３１２に基づきカプラ高さＺを調節するステップも含む。
【００４８】
いくつかの実施態様の場合、方法６００は、データ処理ハードウェア１７２と通信を行うメモリハードウェア１７４に、更新されたカプラポジション３４２ｃを格納し、１つまたは複数の更新された画像１４３を受け取ったときに、この更新されたカプラポジション３４２ｃを先行のカプラポジション３４２ｐとして取り出すステップを含む。
【００４９】
いくつかの実施例において、方法６００は、更新されたカプラポジション３４２ｃに基づき、世界座標におけるカプラロケーションＬＣを特定するステップも含む。方法６００は、牽引車両１００の走行システム１１０へ命令１９４を送信するステップを含むこともできる。これらの命令１９４は牽引車両１００に対し、カプラロケーションＬＣに向かって後退方向Ｒで自律運転を実施させる。
【００５０】
本明細書で説明したシステムおよび技術の様々な実施態様を、ディジタル電子回路、集積回路、特別設計のＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはこれらの組み合わせとして実現することができる。様々な実施態様には、プログラミング可能なシステム上で実行可能および／または解釈可能な１つまたは複数のコンピュータプログラムとしての実装を含むことができる。この場合、プログラミング可能なシステムは、少なくとも１つのプログラミング可能なプロセッサを含み、このプロセッサを特定の目的または汎用の目的のものとすることができ、ストレージシステム、少なくとも１つの入力デバイスおよび少なくとも１つの出力デバイスからデータおよび命令を受信するように、かつそれらにデータおよび命令を送信するように、接続することができる。
【００５１】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている）は、プログラミング可能なプロセッサのための機械命令を含み、高水準の手続き型プログラミング言語および／またはオブジェクト指向プログラミング言語、および／またはアセンブリ言語／機械語として実装することができる。本明細書で用いられる用語「機械可読媒体」および「コンピュータ可読媒体」とは、プログラミング可能なプロセッサへ、機械命令および／またはデータを供給するために用いられる任意のコンピュータプログラム製品、装置および／またはデバイス（たとえば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））のことを指し、これには機械命令を機械可読信号として受け取る機械可読媒体が含まれる。用語「機械可読信号」とは、プログラミング可能なプロセッサへ機械命令および／またはデータを供給するために用いられる任意の信号のことを指す。
【００５２】
本明細書において述べられている保護対象および機能的動作の実装を、本明細書で開示されている構造およびそれらの構造的等価物を含む、ディジタル電子回路あるいはコンピュータソフトウェア、ファームウェアまたはハードウェアとして、あるいはこれらのうちの１つまたは複数の組み合わせとして、実現することができる。さらに、本明細書において述べた保護対象を、１つまたは複数のコンピュータプログラム製品として実装することができ、つまりデータ処理装置によって実行するために、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体にコーディングされているコンピュータプログラム命令のうちの１つまたは複数のモジュールとして、実装することができる。コンピュータ可読媒体を、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、機械可読伝播信号に作用する組成物、またはこれらのうちの１つまたは複数の組み合わせとすることができる。用語「データ処理装置」、「コンピューティングデバイス」および「コンピューティングプロセッサ」は、データを処理するためのあらゆる装置、デバイスおよび機械を包含し、例を挙げるとこれらには、プログラミング可能なプロセッサ、コンピュータ、またはマルチプロセッサまたはマルチコンピュータが含まれる。装置はハードウェアに加え、対象となるコンピュータプログラムのための実行環境を生成するコードを含むことができ、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの１つまたは複数の組み合わせを構成するコードを含むことができる。伝播信号は人工的に生成される信号であって、たとえば機械により生成される電気的、光学的または電磁的な信号であり、この信号は適切な受信装置へ送信する目的で情報をコーディングするために生成される。
【００５３】
同様に、図面には特定の順序で動作が描かれているけれども、このことを、図示された特定の順序または逐次的な順序でかかる動作を実施しなければならないと捉えるべきではなく、あるいは所望の結果を達成するためには図示されたすべての動作を実施しなければならないと捉えるべきではない。所定の環境では、マルチタスキングおよび並列処理が有利となる可能性がある。しかも、上述の実施態様における様々なシステム構成要素の分離を、すべての実施態様においてかかる分離を行わなければならないと捉えるべきではなく、既述のプログラム構成要素およびシステムを通例、単一のソフトウェア製品にまとめて統合することができる、または複数のソフトウェア製品にパッケージングすることができる、と捉えるべきである。
【００５４】
これまで多数の実施態様について説明してきたが、とはいえ自明のとおり、本開示の着想および範囲から逸脱することなく、様々な変形を行うことができる。よって、その他の実施態様は以下の特許請求の範囲内に含まれる。
【００５５】
なお、文中、たとえばｕ・，ｖ・のように英文字の真横に上付きの点を添えた記号は、
【数２】
2021523049.tif 000004
のように英文字の真上に点が付された記号のことを表す。
【図１】
2021523049.tif 000005
【図２】
2021523049.tif 000006
【図３】
2021523049.tif 000007
【図４】
2021523049.tif 000008
【図５】
2021523049.tif 000009
【図６】
2021523049.tif 000010
【国際調査報告】
2021523049.tif 000011
2021523049.tif 000012
2021523049.tif 000013