(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-03-07
(45)【発行日】2024-03-15
(54)【発明の名称】移動装置速度と処理システム動作周波数との双方向制御
(51)【国際特許分類】
G05D 1/644 20240101AFI20240308BHJP
G05D 1/24 20240101ALI20240308BHJP
G05D 1/43 20240101ALI20240308BHJP
【FI】
G05D1/644
G05D1/24
G05D1/43
(21)【出願番号】P 2023556862
(86)(22)【出願日】2022-02-09
(86)【国際出願番号】 US2022015731
(87)【国際公開番号】W WO2022203770
(87)【国際公開日】2022-09-29
【審査請求日】2023-09-14
(32)【優先日】2021-03-22
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】パク、ヘ・ジュン
(72)【発明者】
【氏名】ゴエル、アビナフ
【審査官】田中 友章
(56)【参考文献】
【文献】特開2004-118554(JP,A)
【文献】特開2017-187894(JP,A)
【文献】特開2020-166422(JP,A)
【文献】特開2009-282629(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/644
G05D 1/24
G05D 1/43
G06F 1/32
B60W 60/00
(57)【特許請求の範囲】
【請求項1】
処理システムと相互作用する移動装置制御システムによって実行される方法であって、
移動装置処理システムの動作周波数コントローラに処理レイテンシ要求指標を送信することと、
前記送信された処理レイテンシ要求指標に応答して、前記処理システムの許容動作周波数の指標を受信することと、
前記許容動作周波数の前記受信された指標に基づいて、移動装置の移動の特性を変更することと
を備える、方法。
【請求項2】
前記動作周波数コントローラの現在の処理レイテンシの変更を必要とする前記移動装置の前記移動の特性の変更を決定することをさらに備え、ここにおいて、前記送信された処理レイテンシ要求指標は、前記移動装置の前記移動の特性の前記決定された変更を反映する、請求項1に記載の方法。
【請求項3】
移動装置目標速度または遠隔物体現在速度のうちの少なくとも1つを受信することをさらに備え、ここにおいて、前記移動装置制御システムの前記移動の特性の前記決定された変更は、前記移動装置制御システム目標速度または前記遠隔物体現在速度のうちの前記受信された少なくとも1つに基づく、請求項2に記載の方法。
【請求項4】
前記送信された処理レイテンシ要求指標は、前記移動装置の目標速度に相関する、請求項1に記載の方法。
【請求項5】
前記移動装置の前記移動の特性を変更することは、前記移動装置の速度を、前記許容動作周波数の前記受信された指標に関連付けられた目標速度に変更することを含む、請求項1に記載の方法。
【請求項6】
前記許容動作周波数の前記受信された指標は、前記移動装置の最大速度を制限するように構成される、請求項1に記載の方法。
【請求項7】
前記送信された処理レイテンシ要求指標は、前記処理システムに最小レイテンシを要求するレイテンシ要求投票を含む、請求項1に記載の方法。
【請求項8】
処理システムと相互作用するように構成された移動装置の制御システムであって、
1つまたは複数のセンサーと、
前記1つまたは複数のセンサーに結合されたプロセッサと
を備え、前記プロセッサは、
移動装置処理システムの動作周波数コントローラに処理レイテンシ要求指標を送信することと、
前記送信された処理レイテンシ要求指標に応答して、前記処理システムの許容動作周波数の指標を受信することと、
前記許容動作周波数の前記受信された指標に基づいて、前記移動装置の移動の特性を変更することと
を行うためのプロセッサ実行可能命令とともに構成される、制御システム。
【請求項9】
前記プロセッサは、
前記動作周波数コントローラの現在の処理レイテンシの変更を必要とする前記移動装置の前記移動の特性の変更を決定する
ためのプロセッサ実行可能命令とともにさらに構成され、ここにおいて、前記送信された処理レイテンシ要求指標は、前記移動装置の前記移動の特性の前記決定された変更を反映する、請求項8に記載の制御システム。
【請求項10】
前記プロセッサは、
移動装置目標速度または遠隔物体現在速度のうちの少なくとも1つを受信することと、
前記移動装置制御システム目標速度または前記遠隔物体現在速度のうちの前記受信された少なくとも1つに基づいて、移動装置制御システムの前記移動の特性の前記変更を決定することと
を行うためのプロセッサ実行可能命令とともにさらに構成される、請求項9に記載の制御システム。
【請求項11】
前記プロセッサは、前記送信された処理レイテンシ要求指標が前記移動装置の目標速度に相関するように、プロセッサ実行可能命令とともにさらに構成される、請求項8に記載の制御システム。
【請求項12】
前記プロセッサは、前記移動装置の速度を、前記許容動作周波数の前記受信された指標に関連付けられた目標速度に変更することによって、前記移動装置の前記移動の特性を変更するためのプロセッサ実行可能命令とともにさらに構成される、請求項8に記載の制御システム。
【請求項13】
前記プロセッサは、前記送信された処理レイテンシ要求指標が前記処理システムに最小レイテンシを要求するレイテンシ要求投票を含むように、プロセッサ実行可能命令とともにさらに構成される、請求項8に記載の制御システム。
【請求項14】
制御システムであって、
移動装置処理システムの動作周波数コントローラに処理レイテンシ要求指標を送信するための手段と、
前記送信された処理レイテンシ要求指標に応答して、処理システムの許容動作周波数の指標を受信するための手段と、
前記許容動作周波数の前記受信された指標に基づいて、移動装置の移動の特性を変更するための手段と
を備える、制御システム。
【請求項15】
前記動作周波数コントローラの現在の処理レイテンシの変更を必要とする前記移動装置の前記移動の特性の変更を決定するための手段
をさらに備え、ここにおいて、前記送信された処理レイテンシ要求指標は、前記移動装置の前記移動の特性の前記決定された変更を反映する、請求項14に記載の制御システム。
【請求項16】
移動装置目標速度または遠隔物体現在速度のうちの少なくとも1つを受信するための手段
をさらに備え、
ここにおいて、前記動作周波数コントローラの現在の処理レイテンシの変更を必要とする前記移動装置の前記移動の特性の変更を決定するための手段は、前記移動装置制御システム目標速度または前記遠隔物体現在速度のうちの前記受信された少なくとも1つに基づいて、前記移動装置の前記移動の特性の変更を決定することを備える、請求項15に記載の制御システム。
【請求項17】
前記許容動作周波数の前記受信された指標に基づいて移動装置の移動の特性を変更するための手段は、前記移動装置の速度を前記許容動作周波数の前記受信された指標に関連付けられた目標速度に変更するための手段を備える、請求項14に記載の制御システム。
【請求項18】
処理レイテンシ要求指標を送信するための手段は、前記処理システムに最小レイテンシを要求するレイテンシ要求投票を含む処理レイテンシ要求指標を送信するための手段を備える、請求項14に記載の制御システム。
【請求項19】
動作を実行することによって、制御システムのプロセッサに処理システムと相互作用させるように構成されたプロセッサ実行可能命令を記憶した非一時的プロセッサ可読媒体であって、前記動作は、
移動装置処理システムの動作周波数コントローラに処理レイテンシ要求指標を送信することと、
前記送信された処理レイテンシ要求指標に応答して、前記処理システムの許容動作周波数の指標を受信することと、
前記許容動作周波数の前記受信された指標に基づいて、移動装置の移動の特性を変更することと
を備える、非一時的プロセッサ可読媒体。
【請求項20】
移動装置の制御システムと相互作用する処理システムによって実行される方法であって、前記方法は、
移動装置制御システムから処理レイテンシ要求の指標を受信することと、
前記処理レイテンシ要求を達成するための目標動作周波数を決定することと、
前記目標動作周波数が前記処理システムの許容動作周波数を超えるかどうかを決定することと、
前記処理システムの前記許容動作周波数の指標を前記移動装置制御システムに送信することと
を備える、方法。
【請求項21】
前記目標動作周波数が前記許容動作周波数を超えないと決定したことに応答して、前記処理システムの動作周波数を前記目標動作周波数に変更することと、
前記目標動作周波数が前記許容動作周波数を超えると決定したことに応答して、前記処理システムの現在の動作周波数を前記目標動作周波数の値を下回る値に変更することと
をさらに備える、請求項20に記載の方法。
【請求項22】
前記処理レイテンシ要求の前記受信された指標は、前記移動装置の目標速度に相関する、請求項20に記載の方法。
【請求項23】
前記許容動作周波数の前記送信された指標は、前記移動装置の目標移動速度を低下させるように前記移動装置制御システムに指示するように構成される、請求項20に記載の方法。
【請求項24】
前記許容動作周波数の前記送信された指標は、前記移動装置の最大移動速度を制限するように構成される、請求項20に記載の方法。
【請求項25】
前記処理レイテンシ要求の前記受信された指標は、前記処理システムに最小レイテンシを要求するレイテンシ要求投票を含む、請求項20に記載の方法。
【請求項26】
前記処理システムの動作を制限する動作周波数バジェットに基づいて前記許容動作周波数を決定することをさらに備え、ここにおいて、前記動作周波数バジェットは、前記処理システムの熱限界、電力限界、または負荷出力限界のうちの少なくとも1つに基づく、請求項20に記載の方法。
【請求項27】
制御システムと相互作用するように構成された移動装置の処理システムであって、
1つまたは複数のセンサーと、
前記1つまたは複数のセンサーに結合されたプロセッサと
を備え、前記プロセッサは、
移動装置制御システムから処理レイテンシ要求の指標を受信することと、
前記処理レイテンシ要求を達成するための目標動作周波数を決定することと、
前記目標動作周波数が前記処理システムの許容動作周波数を超えるかどうかを決定することと、
前記処理システムの前記許容動作周波数の指標を前記移動装置制御システムに送信することと
を行うためのプロセッサ実行可能命令とともに構成される、処理システム。
【請求項28】
前記プロセッサは、
前記目標動作周波数が前記許容動作周波数を超えないと決定したことに応答して、前記処理システムの動作周波数を前記目標動作周波数に変更することと、
前記目標動作周波数が前記許容動作周波数を超えると決定したことに応答して、前記処理システムの現在の動作周波数を前記目標動作周波数の値を下回る値に変更することと
を行うためのプロセッサ実行可能命令とともにさらに構成される、請求項27に記載の処理システム。
【請求項29】
前記プロセッサは、前記受信された処理レイテンシ要求指標において通信された前記移動装置の目標速度に基づいて前記目標動作周波数を決定するためのプロセッサ実行可能命令とともにさらに構成される、請求項27に記載の処理システム。
【請求項30】
前記プロセッサは、前記移動装置の目標移動速度を低下させるように前記移動装置制御システムに指示するように構成された前記許容動作周波数の指標を送信するためのプロセッサ実行可能命令とともにさらに構成される、請求項27に記載の処理システム。
【請求項31】
前記プロセッサは、前記移動装置の最大移動速度を制限するように構成された前記許容動作周波数の指標を送信するためのプロセッサ実行可能命令とともにさらに構成される、請求項27に記載の処理システム。
【請求項32】
前記プロセッサは、前記受信された処理レイテンシ要求指標に含まれる前記処理システムに最小レイテンシを要求するレイテンシ要求投票に基づいて、前記目標動作周波数を決定するためのプロセッサ実行可能命令とともにさらに構成される、請求項27に記載の処理システム。
【請求項33】
前記プロセッサは、
前記処理システムの動作を制限する動作周波数バジェットに基づいて前記許容動作周波数を決定する
ためのプロセッサ実行可能命令とともにさらに構成され、
ここにおいて、前記目標動作周波数を決定することは、前記決定された許容動作周波数に基づく、請求項27に記載の処理システム。
【請求項34】
処理システムであって、
移動装置制御システムから処理レイテンシ要求の指標を受信するための手段と、
前記処理レイテンシ要求を達成するための目標動作周波数を決定するための手段と、
前記目標動作周波数が前記処理システムの許容動作周波数を超えるかどうかを決定するための手段と、
前記処理システムの前記許容動作周波数の指標を前記移動装置制御システムに送信するための手段と
を備える、処理システム。
【請求項35】
前記目標動作周波数が前記許容動作周波数を超えないと決定したことに応答して、前記処理システムの動作周波数を前記目標動作周波数に変更するための手段と、
前記目標動作周波数が前記許容動作周波数を超えると決定したことに応答して、前記処理システムの現在の動作周波数を前記目標動作周波数の値を下回る値に変更するための手段と
をさらに備える、請求項34に記載の処理システム。
【請求項36】
前記許容動作周波数の指標を送信するための手段は、移動装置の最大移動速度を制限するように構成された指標を送信するための手段を備える、請求項34に記載の処理システム。
【請求項37】
前記処理レイテンシ要求を達成するための目標動作周波数を決定するための手段は、前記受信された処理レイテンシ要求指標に含まれる、前記処理システムに最小レイテンシを要求するレイテンシ要求投票に基づいて前記目標動作周波数を決定するための手段を備える、請求項34に記載の処理システム。
【請求項38】
前記処理システムの動作を制限する動作周波数バジェットに基づいて前記許容動作周波数を決定するための手段
をさらに備え、
ここにおいて、前記目標動作周波数を決定するための手段は、前記決定された許容動作周波数を使用する、請求項34に記載の処理システム。
【請求項39】
動作を実行することによって、処理システムのプロセッサに制御システムと相互作用させるように構成されたプロセッサ実行可能命令を記憶した非一時的プロセッサ可読媒体であって、前記動作は、
移動装置制御システムから処理レイテンシ要求の指標を受信することと、
前記処理レイテンシ要求を達成するための目標動作周波数を決定することと、
前記目標動作周波数が前記処理システムの許容動作周波数を超えるかどうかを決定することと、
前記処理システムの前記許容動作周波数の指標を前記移動装置制御システムに送信することと
を備える、非一時的プロセッサ可読媒体。
【請求項40】
移動装置の制御システムと相互作用する処理システムによって実行される方法であって、前記方法は、
前記移動装置の速度の指標を受信することと、
前記移動装置の前記示された速度に適合する前記処理システムの目標動作周波数を決定することと、
前記処理システムの動作周波数を前記目標動作周波数に変更することと
を備える、方法。
【請求項41】
前記目標動作周波数が前記処理システムの許容動作周波数を超えるかどうかを決定すること
をさらに備える方法であって、
ここにおいて、前記処理システムの前記動作周波数を前記目標動作周波数に変更することは、
前記目標動作周波数が前記処理システムの前記許容動作周波数を超えないと決定したことに応答して、前記処理システムの前記動作周波数を前記目標動作周波数に変更することと、
前記目標動作周波数が前記許容動作周波数を超えると決定したことに応答して、前記処理システムの現在の動作周波数を前記目標動作周波数未満の値に変更することと
備える、請求項40に記載の方法。
【請求項42】
前記処理システムの前記現在の動作周波数を前記目標動作周波数未満の値に変更した後に、前記移動装置のための前記制御システムに、前記移動装置の最大速度または前記処理システムの前記動作周波数の前記値のいずれかを通知することをさらに備える、請求項41に記載の方法。
【請求項43】
前記移動装置の速度の指標を受信することは、前記処理システムの処理レイテンシ値を受信することを備える、請求項40に記載の方法。
【請求項44】
前記処理システムの前記目標動作周波数の指標を前記移動装置制御システムに提供すること
をさらに備える、請求項40に記載の方法。
【請求項45】
前記移動装置の速度の指標を受信することは、前記処理システムに最小レイテンシを要求するレイテンシ要求投票を受信することを備える、請求項40に記載の方法。
【請求項46】
前記処理システムの動作を制限する動作周波数バジェットに基づいて許容動作周波数を決定することをさらに備え、ここにおいて、前記動作周波数バジェットは、前記処理システムの熱限界、電力限界、または負荷出力限界のうちの少なくとも1つに基づく、請求項40に記載の方法。
【請求項47】
前記移動装置の速度の指標を受信することは、前記移動装置の必要なまたは要求された速度の指標を受信することを備え、
前記移動装置の前記示された速度に適合する前記処理システムの目標動作周波数を決定することは、前記移動装置の前記必要なまたは要求された速度をサポートする前記処理システムの目標動作周波数を決定することを備え、
前記方法は、前記処理システムの前記動作周波数が前記目標動作周波数に変更されたときを、前記移動装置のための前記制御システムに通知することをさらに備える、請求項40に記載の方法。
【請求項48】
処理システムと相互作用するように構成された移動装置の制御システムであって、
前記移動装置の速度の指標を受信することと、
前記移動装置の前記示された速度に適合する前記処理システムの目標動作周波数を決定することと、
前記処理システムの動作周波数を前記目標動作周波数に変更することと
を行うように構成されたプロセッサ
を備える、制御システム。
【請求項49】
前記プロセッサは、前記目標動作周波数が前記処理システムの許容動作周波数を超えるかどうかを決定するようにさらに構成され、
前記プロセッサは、
前記目標動作周波数が前記処理システムの前記許容動作周波数を超えないと決定したことに応答して、前記処理システムの前記動作周波数を前記目標動作周波数に変更することと、
前記目標動作周波数が前記許容動作周波数を超えると決定したことに応答して、前記処理システムの現在の動作周波数を前記目標動作周波数未満の値に変更することと
によって前記処理システムの前記動作周波数を前記目標動作周波数に変更するようにさらに構成される、請求項48に記載の制御システム。
【請求項50】
前記プロセッサは、前記処理システムの前記現在の動作周波数を前記目標動作周波数未満の値に変更した後、前記移動装置のための前記制御システムに、前記移動装置の最大速度または前記処理システムの前記動作周波数の前記値のいずれかを通知するようにさらに構成される、請求項49に記載の制御システム。
【請求項51】
前記プロセッサは、前記処理システムの処理レイテンシ値を受信することによって、前記移動装置の速度の指標を受信するようにさらに構成される、請求項48に記載の制御システム。
【請求項52】
前記プロセッサは、前記処理システムの前記目標動作周波数の指標を前記移動装置制御システムに提供するようにさらに構成される、請求項48に記載の制御システム。
【請求項53】
前記プロセッサは、前記処理システムに最小レイテンシを要求するレイテンシ要求投票を受信することによって、前記移動装置の速度の指標を受信するようにさらに構成される、請求項48に記載の制御システム。
【請求項54】
前記プロセッサは、前記処理システムの動作を制限する動作周波数バジェットに基づいて許容動作周波数を決定するようにさらに構成され、ここにおいて、前記動作周波数バジェットは、前記処理システムの熱限界、電力限界、または負荷出力限界のうちの少なくとも1つに基づく、請求項48に記載の制御システム。
【請求項55】
前記プロセッサは、
前記移動装置の必要なまたは要求された速度の指標を受信することによって、前記移動装置の速度の指標を受信することと、
前記移動装置の前記必要なまたは要求された速度をサポートする前記処理システムの目標動作周波数を決定することによって、前記移動装置の前記示された速度に適合する前記処理システムの目標動作周波数を決定することと、
前記処理システムの前記動作周波数が前記目標動作周波数に変更されたときを、前記移動装置のための前記制御システムに通知することと
を行うようにさらに構成される、請求項48に記載の制御システム。
【請求項56】
移動装置の速度の指標を受信するための手段と、
前記移動装置の前記示された速度に適合する処理システムの目標動作周波数を決定するための手段と、
前記処理システムの動作周波数を前記目標動作周波数に変更するための手段と
を備える、制御システム。
【請求項57】
前記目標動作周波数が前記処理システムの許容動作周波数を超えるかどうかを決定するための手段
をさらに備え、
ここにおいて、前記処理システムの前記動作周波数を前記目標動作周波数に変更するための手段は、
前記目標動作周波数が前記処理システムの前記許容動作周波数を超えないと決定したことに応答して、前記処理システムの前記動作周波数を前記目標動作周波数に変更するための手段と、
前記目標動作周波数が前記許容動作周波数を超えると決定したことに応答して、前記処理システムの現在の動作周波数を前記目標動作周波数未満の値に変更するための手段と
を備える、請求項56に記載の制御システム。
【請求項58】
前記処理システムの前記現在の動作周波数を前記目標動作周波数未満の値に変更した後に、前記移動装置のための前記制御システムに、前記移動装置の最大速度または前記処理システムの前記動作周波数の前記値のいずれかを通知するための手段をさらに備える、請求項57に記載の制御システム。
【請求項59】
前記移動装置の速度の指標を受信するための手段は、前記処理システムの処理レイテンシ値を受信するための手段を備える、請求項56に記載の制御システム。
【請求項60】
前記処理システムの前記目標動作周波数の指標を前記移動装置制御システムに提供するための手段
をさらに備える、請求項56に記載の制御システム。
【請求項61】
前記移動装置の速度の指標を受信するための手段は、前記処理システムに最小レイテンシを要求するレイテンシ要求投票を受信するための手段を備える、請求項56に記載の制御システム。
【請求項62】
前記処理システムの動作を制限する動作周波数バジェットに基づいて許容動作周波数を決定するための手段をさらに備え、ここにおいて、前記動作周波数バジェットは、前記処理システムの熱限界、電力限界、または負荷出力限界のうちの少なくとも1つに基づく、請求項56に記載の制御システム。
【請求項63】
前記移動装置の速度の指標を受信するための手段は、前記移動装置の必要なまたは要求された速度の指標を受信するための手段を備え、
前記移動装置の前記示された速度に適合する前記処理システムの目標動作周波数を決定するための手段は、前記移動装置の前記必要なまたは要求された速度をサポートする前記処理システムの目標動作周波数を決定するための手段を備え、
前記制御システムは、前記処理システムの前記動作周波数が前記目標動作周波数に変更されたときを、前記移動装置のための前記制御システムに通知するための手段をさらに備える、請求項56に記載の制御システム。
【請求項64】
動作を実行することによって、制御システムのプロセッサに、移動装置の処理システムと相互作用させるように構成されたプロセッサ実行可能命令を記憶した非一時的プロセッサ可読媒体であって、前記動作は、
前記移動装置の速度の指標を受信することと、
前記移動装置の前記示された速度に適合する前記処理システムの目標動作周波数を決定することと、
前記処理システムの動作周波数を前記目標動作周波数に変更することと
を備える、非一時的プロセッサ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
[0001] 本出願は、2021年3月22日に出願された米国特許出願第17/207,845号の優先権の利益を主張するものであり、その内容全体が参照により本明細書に組み込まれている。
【背景技術】
【0002】
[0002] 安全性を重視した業務遂行に必要不可欠な計算のためのプロセッサおよびコンピューティングデバイスシステムによる高速処理に依拠する、多くのタイプの自動および半自動デバイスが存在する。非限定的な例は、ナビゲーション機能および制御機能のためにビークルコンピューティングシステムに依拠する自律型および半自律型ビークルと、ロボットアクチュエータの移動制御のためにコンピューティングシステムに依拠するロボットと、画像生成のために処理システムに依拠するウェアラブル電子機器(たとえば、拡張現実ゴーグルおよびスマートグラス)とを含む。現代のコンピューティングシステムの処理速度は、1世代前には不可能であったレベルの自動化および制御を可能にするが、コンピューティングシステムは、すべての条件下で処理要求をサポートすることができないことがある。たとえば、過熱を回避するために、現代のコンピューティングデバイスは、通常、プロセッサ回路を温度限界内に維持する必要があるときに処理速度を低下させる保護機構を含む。これが起こると、自動および半自動デバイスによって必要とされる安全性を重視した業務遂行に必要不可欠な動作が影響を受けることがある。
【発明の概要】
【0003】
[0003] 様々な態様は、処理システム(processing system)と相互作用(interact)するように構成された移動装置制御システム(moving device control system)のプロセッサ(processor)によって実行されるシステムおよび方法を含む。様々な態様は、移動装置処理システム(moving device processing system)の動作周波数コントローラ(operating frequency controller)に処理レイテンシ要求指標(processing latency requirement indication)を送信することと、送信された処理レイテンシ要求指標に応答して、処理システムの許容動作周波数(allowable operating frequency)の指標を受信することと、許容動作周波数の受信された指標(indication)に基づいて、移動装置(moving device)の移動の特性(a characteristic of movement)を変更することとを含み得る。
【0004】
[0004] いくつかの態様は、動作周波数コントローラの現在の処理レイテンシ(current processing latency)の変更(change)を必要とする移動装置の移動の特性の変更を決定することをさらに含み得、ここにおいて、送信された処理レイテンシ要求指標は、移動装置の移動の特性の決定された変更を反映し得る。いくつかの態様は、移動装置目標速度(moving device target speed)または遠隔物体現在速度(remote object current speed)のうちの少なくとも1つを受信することをさらに含み得、ここにおいて、移動装置制御システムの移動の特性の決定された変更は、移動装置制御システム目標速度(moving device control system target speed)または遠隔物体現在速度のうちの受信される少なくとも1つに基づき得る。いくつかの態様では、送信された処理レイテンシ要求指標は、移動装置の目標速度(target speed)に相関(correlate)し得る。いくつかの態様では、移動装置の移動の特性を変更することは、許容動作周波数の受信された指標に関連付けられた目標速度に移動装置の速度(speed)を変更することを含み得る。いくつかの態様では、許容動作周波数の受信された指標は、移動装置の最大速度(maximum speed)を制限(limit)するように構成され得る。いくつかの態様では、送信された処理レイテンシ要求指標は、処理システムに最小レイテンシ(minimum latency)を要求するレイテンシ要求投票(latency requirement vote)を含み得る。
【0005】
[0005] 様々な態様は、制御システム(control system)と相互作用するように構成された移動装置処理システムのプロセッサによって実行されるシステムおよび方法を含み得る。様々な態様は、移動装置制御システムから処理レイテンシ要求(processing latency requirement)の指標を受信することと、処理レイテンシ要求を達成するための目標動作周波数(target operating frequency)を決定することと、目標動作周波数が処理システムの許容動作周波数を超える(exceed)かどうかを決定することと、処理システムの許容動作周波数の指標を移動装置制御システムに送信することとを含み得る。
【0006】
[0006] いくつかの態様は、目標動作周波数が許容動作周波数を超えないと決定したことに応答して、処理システムの動作周波数(operating frequency)を目標動作周波数に変更することと、目標動作周波数が許容動作周波数を超えると決定したことに応答して、処理システムの現在の動作周波数を目標動作周波数の値を下回る値に変更することとを含み得る。いくつかの態様では、処理レイテンシ要求の受信された指標は、移動装置の目標速度に相関し得る。いくつかの態様では、許容動作周波数の送信された指標は、移動装置の目標移動速度を低下させるように移動装置制御システムに指示するように構成され得る。いくつかの態様では、許容動作周波数の送信された指標は、移動装置の最大移動速度(maximum movement speed)を制限するように構成され得る。いくつかの態様では、処理レイテンシ要求の受信された指標は、処理システムに最小レイテンシを要求するレイテンシ要求投票を含み得る。いくつかの態様は、処理システムの動作(operation)を制限する動作周波数バジェット(operating frequency budget)に基づいて許容動作周波数を決定することをさらに含み得、ここにおいて、動作周波数バジェットは、処理システムの熱限界(thermal limit)、電力限界(power limit)、または負荷出力限界(load output limit)のうちの1つに少なくとも基づき得る。
【0007】
[0007] さらなる態様は、以上に要約された方法のいずれかの動作を実行するためのプロセッサ実行可能命令(processor-executable instruction)とともに構成された、制御システムのプロセッサおよび/または処理システムのコントローラを含む。さらなる態様は、以上に要約された方法のいずれかの動作をプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体を含む。さらなる態様は、移動装置および/または処理システムにおいて使用するための、以上に要約された方法のいずれかの動作を実行するように構成された処理デバイスを含む。
【0008】
[0008] 本明細書に組み込まれ、本明細書の一部をなす添付の図面は、例示的な実施形態を示し、上記で与えられた概略的な説明および以下で与えられる詳細な説明とともに、様々な実施形態の特徴について説明するように働く。
【図面の簡単な説明】
【0009】
【
図1A】[0009] 様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図1B】様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図1C】様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図1D】様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図1E】様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図1F】様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図1G】様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図1H】様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図1I】様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図1J】様々な実施形態のいずれかを実装するのに適した例示的な移動装置システムを示す概略図。
【
図2】[0010] 様々な実施形態のいずれかを実装するのに適した例示的なシステムインパッケージを示す構成要素ブロック図。
【
図3】[0011] 様々な実施形態のいずれかを実装するのに適した制御システムおよび/または処理システムのための無線プロトコルスタックを含むソフトウェアアーキテクチャを示す構成要素ブロック図。
【
図4A】[0012] 様々な実施形態による、移動装置速度と処理システム動作周波数との双方向制御(interactive control)のために構成された移動装置システムを示す構成要素ブロック図。
【
図4B】様々な実施形態による、移動装置速度と処理システム動作周波数との双方向制御のために構成された移動装置システムを示す構成要素ブロック図。
【
図4C】様々な実施形態による、移動装置速度と処理システム動作周波数との双方向制御のために構成された移動装置システムを示す構成要素ブロック図。
【
図5】[0013] 様々な実施形態による、移動装置速度と処理システム動作周波数との間の制御リンクのグラフ表現。
【
図6】[0014] 様々な実施形態による、異なる知覚レイテンシ(perception latency)に対応し、知覚、反応、および制動時間を考慮する、移動装置速度とビークル停止距離との間の動作リンクを示す、2つの棒グラフのセット。
【
図7】[0015] 様々な実施形態による、移動装置速度と動作周波数との間の変換のグラフ表現。
【
図8】[0016] 様々な実施形態による、他の移動物体の近傍で動作する例示的な移動装置システムを示す概略図。
【
図9】[0017] 様々な実施形態による、システムオンチップのエネルギー効率比較のグラフ表現。
【
図10A】[0018] 様々な実施形態による、移動装置制御システムが移動装置の処理システムと相互作用するための方法のプロセスフロー図。
【
図10B】様々な実施形態による、移動装置制御システムが移動装置の処理システムと相互作用するための方法のプロセスフロー図。
【
図10C】様々な実施形態による、移動装置制御システムが移動装置の処理システムと相互作用するための方法のプロセスフロー図。
【
図11A】[0019] 様々な実施形態による、処理システムが移動装置の制御システムと相互作用するための方法のプロセスフロー図。
【
図11B】様々な実施形態による、処理システムが移動装置の制御システムと相互作用するための方法のプロセスフロー図。
【
図11C】様々な実施形態による、処理システムが移動装置の制御システムと相互作用するための方法のプロセスフロー図。
【
図11D】様々な実施形態による、処理システムが移動装置の制御システムと相互作用するための方法のプロセスフロー図。
【
図11E】様々な実施形態による、処理システムが移動装置の制御システムと相互作用するための方法のプロセスフロー図。
【
図11F】様々な実施形態による、処理システムが移動装置の制御システムと相互作用するための方法のプロセスフロー図。
【
図11G】様々な実施形態による、処理システムが移動装置の制御システムと相互作用するための方法のプロセスフロー図。
【
図11H】様々な実施形態による、処理システムが移動装置の制御システムと相互作用するための方法のプロセスフロー図。
【
図11I】様々な実施形態による、処理システムが移動装置の制御システムと相互作用するための方法のプロセスフロー図。
【
図12】[0020] 様々な実施形態とともに使用するのに適したモバイルコンピューティングデバイスの構成要素ブロック図。
【
図13】[0021] 様々な実施形態とともに使用するのに適したAR/VRヘッドセットの構成要素ブロック図。
【
図14】[0022] 様々な実施形態とともに使用するのに適した遠隔制御ロボットデバイスの構成要素ブロック図。
【発明を実施するための形態】
【0010】
[0023] 様々な実施形態について、添付の図面を参照しながら詳細に説明される。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号が使用される。特定の例および実施形態になされる言及は、説明の目的のためのものであり、様々な態様の範囲または特許請求の範囲を限定するものではない。
【0011】
[0024] 関連する処理システムと連携して働くビークル、ロボット、および/またはウェアラブル電子機器などの移動装置は、それらのそれぞれの動作要求および/または制限において競合を有し得る。移動装置は、速度、熱出力、電力使用量、および/または他の動作制約などに関して性能を制約する傾向がある、限られたリソースまたはリソースに対する要求のいずれかを有し得る。処理システムは、移動装置の一部であり得、および/または移動装置のいくつかの動作を制御し得る。処理システムは、所定のまたは可変の動作周波数で動作する1つもしくは複数のプロセッサおよび/または1つもしくは複数のセンサー(sensor)を含み得る。たとえば、自律型または半自律型ビークル(すなわち、移動装置)は、その移動のための支援機能を提供し、ある動作周波数で機能するセンサー(すなわち、処理システム)に加えて、ビークル推進および/またはステアリングシステム(たとえば、先進運転支援システム(ADAS))の移動を管理するコントローラを有し得る。別の例として、ロボットアーム(すなわち、移動装置)が、その移動を管理するコントローラを有し得るが、プロセッサ(すなわち、処理システム)は、ロボットアームが動作する条件を分析および/または検出し得る。さらなる例として、仮想現実(VR)ヘッドセット(ユーザの頭部が動くので、移動装置と呼ばれる)は、ヘッドセットに動き(たとえば、頭部の回転または傾斜)を与えるユーザの知覚体験を管理するコントローラを有することがあるが、システムオンチップ(SOC)(すなわち、処理システム)は、ヘッドセットの動作をサポートする様々な知覚/ニューラルネットワークを実行することがある。
【0012】
[0025] 移動装置は、処理システムのレイテンシ要求(latency requirement)を決定する動作要求を有し得る。たとえば、ビークルが、(たとえば、法律によって要求される、または平均的な運転者/乗員に求められる)最大運転速度を有することがあり、または、仮想現実ヘッドセットが、(たとえば、平均的なユーザに求められる)最大頭部移動速度を有し得る。これらの最大動作条件は、そのような条件中にそれらのデバイスにおいて使用されるセンサーおよびコントローラに比較的短いレイテンシ要求を課し得る。移動装置が比較的高速で動作する場合、その移動装置のコントローラは、危険を回避するために可能な限り迅速に反応するために、低レイテンシで動作する必要があり得る。低いレイテンシを提供することは、高い動作周波数を必要とする。また、動作周波数は一般に固定されているので、最高速度などの極端な条件下での短いレイテンシ要求は、より極端な条件が生じたときに適切なシステム反応時間を保証するために、すべての条件下でより高い固定された動作周波数を表示し得る。動作制約が安全性を重視した業務遂行に必要不可欠なシステムの場合、より低い周波数で処理システムを動作させることは、安全性を重視した業務遂行に必要不可欠な性能を損なうことがあり、したがって、ユーザおよび/またはシステムにとって(たとえば、事故を回避するために自律ビークルにとって)危険であり得るので、固定された比較的高い動作周波数が一般に使用される。しかしながら、高い動作周波数で処理システムを連続的に動作させることは、より低い動作周波数で動作することから利益を得るプロセッサ、センサー、および/またはサポートシステムに過度に負担をかけ得る。また、いくつかのサポートシステムは、過度のエネルギー消費または熱生成を防止するなどのために、高動作周波数で動作するときに過度に長くスロットリングされることがあり、そのようなスロットリングは、システム性能を損ない得る。
【0013】
[0026] 本明細書で使用される「移動装置」という用語は、移動する、または移動されるように構成され、機能を管理および/または制御するために使用されるオンボード制御システムを含む、様々なタイプの装置のうちの1つを指す。移動装置の非限定的な例としては、陸上ビークル(たとえば、自動車、トラック、バスなど)、航空機(たとえば、有人航空機、ドローンなど)、水上ビークル、および宇宙船を含む自律型または半自律型ビークルが挙げられ、これらのいずれも、人間のパイロット/ドライバーが搭乗していてもしていなくても動作し得る。さらなる非限定的な例は、農業機器、製造システムおよびロボット、ロボット試験システム、在庫管理システム、ならびに医療システムなどの、ロボット部品の動きを管理する制御システムを有するロボットおよびロボット部品などの可動部品または関節部品を有するデバイスを含む。移動装置のさらなる例は、スマートウォッチ、スマートグラス、VRヘッドセット、スマートペンダントなどの、装着者の動きの結果として移動するウェアラブル電子機器を含む。移動装置は、様々な実施形態に従って、通信を介したリモートコンピューティングデバイスからの動作命令および/または命令に対する更新の有無にかかわらず、デバイスを動作または制御するように構成されたオンボードコンピューティングデバイスを含み得る。
【0014】
[0027] 本明細書で使用される「処理システム」という用語は、入力のセットを受信すると、出力の定義されたセットを生成する任意のデバイスを指す。入力および出力は、データ、ファクト、情報、条件、測定値などを表し得る。たとえば、処理システムは、1つもしくは複数のセンサー、1つもしくは複数のプロセッサおよび/もしくはセンサーを装備した電子デバイス、または1つもしくは複数のプロセッサのみ(たとえば、システムオンチップもしくはパッケージ内のシステム)を含み得る。
【0015】
[0028] 様々な実施形態は、移動装置の速度または移動と、移動装置内のまたはそれをサポートする処理システムの動作周波数との間の双方向制御を可能にする方法およびシステムを提供する。移動装置は、処理レイテンシ要求指標を処理システムに送信するか、または場合によってはそれを与えるように構成され得る。送信された処理レイテンシ要求指標は、移動ビークルの目標速度に相関し得る。いくつかの実施形態では、送信された処理レイテンシ要求指標は、処理システムに最小レイテンシを要求するレイテンシ要求情報またはレイテンシ要求投票を含み得る。処理システムは、処理レイテンシ要求情報を受信すると、処理レイテンシ要求を達成するための目標動作周波数を決定し得る。処理システムはまた、処理システムの動作を制限する動作周波数バジェットに基づいて、許容動作周波数を決定し得る。処理システムのための動作周波数バジェットは、その熱限界、電力限界、および/または負荷出力限界などの、処理システムの限界に基づき得る。処理システムは、目標動作周波数が処理システムの許容動作周波数を超えるかどうかを決定し、処理システムの許容動作周波数の指標を移動装置制御システムに送信することがある。目標動作周波数が処理システムの許容動作周波数以下である場合、処理システムの許容動作周波数の送信された指標は、目標動作周波数に等しくなり得る。また、処理システムは、目標動作周波数が許容動作周波数を超えないと決定したことに応答して、処理システムの動作周波数を目標動作周波数に変更し得る。目標動作周波数が処理システムの許容動作周波数を超える場合、処理システムの許容動作周波数の送信された指標は、目標動作周波数未満であり得る。また、処理システムは、目標動作周波数が許容動作周波数を超えると決定したことに応答して、処理システムの現在の動作周波数を目標動作周波数の値を下回る値に変更し得る。
【0016】
[0029] 送信された処理レイテンシ要求指標は、移動装置の目標速度に相関し得る。また、送信された処理レイテンシ要求指標は、処理システムに最小レイテンシを要求するレイテンシ要求投票を含み得る。処理レイテンシ要求指標を動作周波数コントローラに送信した後、制御システムは、処理システムから、処理システムの許容動作周波数の指標を受信し得る。許容動作周波数の受信された指標は、移動装置の最大速度を制限するように構成され得る。したがって、制御システムは、許容動作周波数の受信された指標に基づいて移動装置の移動の特性を変更することがある。移動装置の移動の特性を変更することは、許容動作周波数の受信された指標に関連付けられた目標速度に移動装置の速度を変更することを含み得る。制御システムは、動作周波数コントローラの現在の処理レイテンシの変更を必要とする移動装置の移動の特性の変更を決定することがあり、ここにおいて、送信された処理レイテンシ要求指標は、移動装置の移動の特性の決定された変更を反映する。処理レイテンシ要求指標を送信する前に、制御システムは、移動装置目標速度または遠隔物体現在速度のうちの少なくとも1つを受信し得る。移動装置制御システムの移動の特性の決定された変更は、移動装置制御システム目標速度または遠隔物体現在速度のうちの受信された少なくとも1つに基づき得る。
【0017】
[0030] 「システムオンチップ」(SOC)という用語は、本明細書では、単一の基板上に組み込まれた複数のリソースおよび/またはプロセッサを含んでいる単一の集積回路(IC)チップを指すために使用される。単一のSOCは、デジタル、アナログ、混合信号、および無線周波数機能のための回路を含んでいることがある。単一のSOCはまた、任意の数の汎用および/または専用プロセッサ(デジタル信号プロセッサ、モデムプロセッサ、ビデオプロセッサなど)、メモリブロック(たとえば、ROM、RAM、フラッシュなど)、ならびにリソース(たとえば、タイマー、電圧調節器、発振器など)を含み得る。SOCはまた、統合されたリソースおよびプロセッサを制御するための、ならびに周辺デバイスを制御するためのソフトウェアを含み得る。
【0018】
[0031] 「システムインパッケージ」(SIP)という用語は、本明細書では、2つまたはそれ以上のICチップ、基板、またはSOC上に複数のリソース、計算ユニット、コアおよび/またはプロセッサを含んでいる単一のモジュールまたはパッケージを指すために使用され得る。たとえば、SIPは、複数のICチップまたは半導体ダイが垂直構成でその上に積層される単一の基板を含み得る。同様に、SIPは、複数のICまたは半導体ダイがその上で統合基板にパッケージングされる1つまたは複数のマルチチップモジュール(MCM)を含み得る。SIPは、単一のマザーボード上でまたは単一のワイヤレスデバイス中でなど、高速通信回路を介して互いに結合され、極めて近接してパッケージングされた、複数の独立したSOCをも含み得る。SOCの近接性は、高速通信と、メモリおよびリソースの共有とを容易にする。
【0019】
[0032] 本明細書で使用される「構成要素」、「システム」、「ユニット」、「モジュール」などの用語は、限定はしないが、特定の動作または機能を実施するように構成された、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連のエンティティを含む。たとえば、構成要素は、限定はしないが、プロセッサ上で実行しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得る。例として、通信デバイス上で実行しているアプリケーションと、通信デバイスの両方が、構成要素と呼ばれることがある。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在し得、構成要素は、1つのプロセッサまたはコア上に局所化され、および/あるいは、2つまたはそれ以上のプロセッサまたはコアの間で分散され得る。さらに、これらの構成要素は、様々な命令および/またはデータ構造を記憶した様々な非一時的コンピュータ可読媒体から実行し得る。構成要素は、ローカルおよび/またはリモートプロセス、関数またはプロシージャ呼出し、電子信号、データパケット、メモリ読取り/書込み、ならびに他の既知のコンピュータ、プロセッサ、および/またはプロセス関連の通信方法を介して通信し得る。
【0020】
[0033] 様々な実施形態は、処理システムと相互作用する制御システムを有する様々な移動装置内に実装され得る。
図1A~
図1Jは、制御システムおよび処理システムが動的に相互作用して動作周波数および/または移動装置速度を調整する移動装置システム100~109のいくつかの例を示す。
【0021】
[0034]
図1Aを参照すると、例示的な移動装置システム100は、処理システム150と協調する制御システム140とともに動作する、自律型または半自律型乗客ビークルの形態の移動装置110aを含む。制御システム140は、ビークル推進および/またはステアリングシステムを使用する移動などの移動装置110aの動作を管理するように構成され得る。たとえば、制御システム140は、移動装置110aの速度および/または運転方向を調整するように構成されたADASビークル速度コントローラであり得る。制御システム140は、その動作を制御するために使用される様々な回路およびデバイスを含み得る。
図1Aに示される例では、制御システム140は、1つまたは複数のプロセッサ141と、メモリ143(すなわち、電子記憶装置)と、入力モジュール145と、出力モジュール147とを含む。加えて、制御システム140は、処理システム、ネットワーク、外部リソース、および/または他のコンピューティングプラットフォーム、ならびに移動装置110aの運転制御構成要素131およびナビゲーション構成要素133との情報の交換を可能にするために、トランシーバ149などの通信ラインまたはポートを含み得る。
【0022】
[0035] 処理システム150は、1つまたは複数のセンサー160(たとえば、温度および/または電力/負荷監視センサー)から入力を受信するSOCの形態で示されており、制御システム140と相互作用することがある。制御システム140と同様に、処理システム150は、その動作を制御するために使用される様々な回路およびデバイスを含み得る。
図1Aに示される例では、処理システム150は、1つまたは複数のプロセッサ151と、メモリ153(すなわち、電子記憶装置)と、入力モジュール155と、出力モジュール157とを含む。加えて、処理システム150は、1つまたは複数のセンサー160に結合され、その動作を制御するように構成され得る。
【0023】
[0036] メモリ143、153は、メモリの形態の非一時的コンピュータ可読媒体を含み得る。そのようなメモリは、制御システム140および/または処理システム150と一体的に(すなわち、実質的に取り外し不可能に)提供されるシステム記憶装置を含み得る。また、そのようなメモリは、ポート(たとえば、ユニバーサルシリアルバス(USB)ポート、FireWire(登録商標)ポートなど)またはディスクドライブなどを介して、制御システム140および/または処理システム150に取り外し可能に接続可能である、取り外し可能な記憶装置を含み得る。メモリ(たとえば、143、153、220、258)はまた、光学的可読記憶媒体(たとえば、光ディスクなど)、磁気的可読記憶媒体(たとえば、磁気テープ、磁気ハードドライブ、フロッピー(登録商標)ドライブなど)、電荷ベースの記憶媒体(たとえば、EEPROM(登録商標)、RAMなど)、ソリッドステート記憶媒体(たとえば、フラッシュドライブなど)、および/または他の電子的可読記憶媒体のうちの1つまたは複数を含み得る。メモリ(たとえば、143、153、220、258)は、1つまたは複数の仮想記憶装置リソース(たとえば、クラウド記憶装置、仮想プライベートネットワーク、および/または他の仮想記憶装置リソース)を含み得る。メモリ(たとえば、143、153、220、258)は、ソフトウェアアルゴリズム、プロセッサ141、151によって決定された情報、制御システム140または処理システム150からそれぞれ受信された情報を記憶することがあり、その情報は、制御システム140または処理システム150が、それぞれ本明細書に記載されるように機能することを可能にする。
【0024】
[0037] プロセッサ141、151は、それぞれ、制御システム140または処理システム150において情報処理能力を提供するように構成され得る。したがって、プロセッサ141、151は、デジタルプロセッサ、アナログプロセッサ、情報を処理するように設計されたデジタル回路、情報を処理するように設計されたアナログ回路、状態機械、および/または情報を電子的に処理するための他の機構のうちの1つまたは複数を含み得る。プロセッサ141、151は各々、
図1Aでは単一のエンティティとして示されているが、これは例示のためにすぎない。いくつかの実装形態では、プロセッサ141、151は、複数の処理ユニットを含み得る。これらの処理ユニットが、同じデバイス内に物理的に配置されることがあり、または、プロセッサ141、151が、協調して動作する、互いに遠隔および/または局所にある複数のデバイスの処理機能を表し得る。
【0025】
[0038] 様々な実施形態によれば、処理システム150は、移動装置110aの速度に従って1つまたは複数のプロセッサ151の動作周波数を動的に調整することがある。従来の処理システムは、一般に、特に極端な動作条件(たとえば、継続され、最大化された処理速度を含む動作)に対して、厳しい熱および電力制約に処理を制限する。たとえば、プロセッサ151は、まれな高温またはピーク電流が検出されたときにスロットリングされ得る。そのような制限は、制御システム140または関連構成要素の1つまたは複数の部分における過熱または不必要に高い電力消費を防止し得る。しかしながら、そのような制限は、時々、制御システム140の必要性に反することがある。たとえば、自律型または半自律型ビークル110aが、ADASによって指示され得る高速で動作しているとき、制御システム140は、処理システム150が低レイテンシで動作することを必要とし得る。高速で走行するビークルの迅速な反応時間は、安全のために重要である。したがって、処理システム150が(たとえば、熱制約または電力制約を満たすために)より低い動作周波数を課す場合、得られる処理レイテンシの増加は、危険な状態または安全性の低下をもたらし得る。代替的に、処理能力が様々な理由でスロットリングされなければならないとき、自律型または半自律型ビークル110aの速度は、危険な状態を回避するために、処理システム150の最大処理レイテンシ、または処理システム150によってセンサー入力を処理するために必要とされる時間に従って制限され得る。従来のシステムでは、制御システム140および処理システム150は、速度に基づいて動作周波数を調整しない。移動装置110aの速度に基づいて処理システム150の動作周波数の双方向制御を可能にすることによって、様々な実施形態は、エネルギー効率を最適化することがあるが、必要なときに業務遂行に必要不可欠な動作が良好に機能することを依然として可能にする。
【0026】
[0039] 様々な実施形態では、制御システム140および処理システム150は、処理レイテンシ投票(processing latency voting)を使用して、処理システム150の許容動作周波数をネゴシエートすることがある。処理レイテンシ投票は、対応する動作周波数が許容動作周波数を超えるかどうかを決定するとき、自律型または半自律型ビークル110aの目標動作速度に対応する動作周波数を考慮することがある。処理レイテンシ投票を使用して、制御システム140のプロセッサ141は、処理レイテンシ要求指標を処理システム150のプロセッサ151に送信することがある。処理レイテンシ要求指標は、処理システム150に最小レイテンシを要求し得る。最小レイテンシは、自律型または半自律型ビークル110aの目標速度を安全に達成または維持するために維持する必要があるレイテンシレベルに対応することがある。処理レイテンシ要求指標は、目標ビークル速度に相関することがある。ビークル110aの相対速度を確立し得る近くの物体の速度、および/または現在の条件下で効果的に反応するために制御システム140によって必要とされる知覚時間などの追加の要因が、レイテンシ投票を処理する間に考慮され得る。また、処理レイテンシ投票は、処理システム150のプロセッサ151が、ビークル110aに許される最大速度を示す信号を制御システム140に送信することを含み得る。処理レイテンシ投票は、処理システム150の処理周波数に対する制限を依然として使用し得るが、目標動作周波数がその制限を超えない場合、処理システム150の現在の動作周波数を増加させることを考慮し得る。さらに、処理レイテンシ投票は、場合によっては処理周波数の制限を超える必要があるとき、ビークル110aの速度を制限することを含み得る。
【0027】
[0040] トランシーバ149、159は、それぞれプロセッサ141、151、および/またはそれらの他の構成要素にワイヤードおよび/またはワイヤレスであり得る通信リンク15を与え得る。いくつかの実施形態では、通信リンク15は、双方向または単方向通信リンクであり得、1つまたは複数の通信プロトコルを使用し得る。いくつかの実施形態では、トランシーバ149、159は、ビークル110aが別の通信リンクを通して別のビークルと通信することを可能にし得、別の通信リンクはまた、双方向または単方向通信リンクであり得、1つまたは複数の通信プロトコルを使用し得る。
【0028】
[0041] トランシーバ149、159は、通信リンク15において信号(たとえば、操縦を制御するためのコマンド信号、制御システムを最適化するためのメッセージ)を交換すること、1つもしくは複数の基地局25、通信ネットワーク50、ならびに/または他の構成要素および/もしくはネットワークトランシーバを介して、ナビゲーション設備からの信号を交換することによって、ワイヤードおよび/またはワイヤレス通信のために構成され得る。通信リンク15は、複数のキャリア信号、周波数、または周波数帯域を含み得、これらの各々は、複数の論理チャネルを含み得る。また、通信リンク15は、1つまたは複数の無線アクセス技術(RAT)を利用し得る。通信リンクにおいて使用され得るRATの例は、3GPP(登録商標) LTE(登録商標)、3G、4G、5G(たとえば、NR)、GSM(登録商標)、符号分割多元接続(CDMA)、広帯域符号分割多元接続(WCDMA(登録商標))、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX(登録商標))、時分割多元接続(TDMA)、および他のモバイル電話通信技術セルラーRATを含む。通信システム内の様々な通信リンク15のうちの1つまたは複数において使用され得るRATのさらなる例は、Wi-Fi(登録商標)、LTE-U、LTE-Direct、LAA、MuLTEfireなどの中距離プロトコル、ならびにZigBee(登録商標)、Bluetooth(登録商標)、およびBluetooth Low Energy(LE)などの比較的短距離のRATを含み得る。
【0029】
[0042] 入力モジュール145、155は、1つまたは複数のビークルセンサー160からのセンサーデータと、運転制御構成要素131およびナビゲーション構成要素133を含む他の構成要素からの電子信号とを受信することがある。センサー160は、物体から反射されてソースに戻る高周波電磁波のパルスを送出することによって、他のビークル、個人、および/または物体の存在、方向、距離、および/または速度を検出することがある。
【0030】
[0043] 出力モジュール147、157は、トランシーバ149、159と、運転制御構成要素131と、ナビゲーション構成要素133と、センサー160とを含む、ビークル110aの様々な構成要素と通信するか、またはそれらをアクティブ化するために使用され得る。
【0031】
[0044] 制御システム140は、エンジン、モータ、スロットル、ステアリング要素、ブレーキまたは減速要素などのビークルの操縦およびナビゲーションに関連するビークル110aの物理的要素を制御するために、運転制御構成要素131に結合され得る。運転制御構成要素131はまた、環境制御(たとえば、空調および暖房)、外部および/または内部照明、(情報を表示するためのディスプレイスクリーンまたは他のデバイスを含み得る)内部および/または外部情報ディスプレイ、安全デバイス(たとえば、ハプティックデバイス、可聴警報など)、ならびに他の同様のデバイスを含む、ビークルの他のデバイスを制御する構成要素を含み得る。
【0032】
[0045] 制御システム140は、ナビゲーション構成要素133に結合され得、ナビゲーション構成要素133からデータを受信し、そのようなデータを使用して、移動装置110aの現在の位置および向き、ならびに目的地に向かう適切な進路を決定するように構成され得る。様々な実施形態では、ナビゲーション構成要素133は、全地球ナビゲーション衛星システム(GNSS)受信機システム(たとえば、1つまたは複数の全地球測位システム(GPS)受信機)を含むかまたはそれに結合され得、それにより、移動装置110aは、GNSS信号を使用してそれの現在の位置を決定することが可能になる。代替または追加として、ナビゲーション構成要素133は、Wi-Fiアクセスポイント、携帯ネットワークサイト、無線局、リモートコンピューティングデバイス、他のビークルなどの無線ノード(たとえば、基地局25)からナビゲーションビーコンまたは他の信号を受信するための無線ナビゲーション受信機を含み得る。運転制御コンポーネント131の制御を通して、プロセッサ141は、移動装置110aを制御してナビゲートおよび操縦し得る。プロセッサ141および/またはナビゲーション構成要素133は、操縦を制御するためのコマンドを受信し、ナビゲーションにおいて有用なデータを受信し、リアルタイム位置報告を与え、他のデータを評価するために、通信リンクを使用してネットワーク(たとえば、インターネット)上のリモートコンピューティングデバイス(たとえば、サーバ)と通信するように構成され得る。
【0033】
[0046] 制御システム140は、別個の構成要素を含むものとして説明されるが、いくつかの実施形態では、構成要素(たとえば、プロセッサ141、メモリ143、入力モジュール145、出力モジュール147、および/またはトランシーバ149)の一部または全部は、SOC処理デバイスなどの単一のデバイスまたはモジュール内に統合され得る。そのようなSOC処理デバイスは、ビークルにおいて使用するために構成され得、様々な実施形態の動作を実行するために、プロセッサ141において実行するプロセッサ実行可能命令などを用いて構成され得る。
【0034】
[0047]
図1Bは、自律型または半自律型トラックの形態の移動装置110bを含む移動装置システム101を示す。
図1Cは、自律型または半自律型無人航空機(UAV)の形態の移動装置110cを含む移動装置システム102を示す。
図1Dは、自律型または半自律型配送ロボットの形態の移動装置110dを含む移動装置システム103を示す。
図1Eは、自律型または半自律型農業用収穫ロボットの形態の移動装置110eを含む移動装置システム104を示す。
図1Aを参照して説明したビークル110aと同様に、移動装置110b、110c、110d、および110eは、制御システム140および処理システム150を含み得る。各制御システム140は、それぞれの移動装置110b、110c、110d、および110eの動作を管理するように構成され得る。各処理システム150は、1つまたは複数のセンサー(たとえば、160)から入力を受信するように構成されることがあり、制御システム140と相互作用し得る。
【0035】
[0048]
図1Fは、モバイルコンピューティングデバイス(たとえば、携帯電話)の形態の移動装置110fを含む移動装置システム105を示す。
図1A~
図1Eに関して説明された移動装置110a、110b、110c、110d、および110eとは異なり、移動装置110fは自己推進式ではない。むしろ、移動装置110fは、ユーザ5によって移動される。また、移動装置110fは、制御システム140と処理システム150の両方を収容し得る。たとえば、制御システム140は、移動装置110fの主要動作の多くを制御するSIPであることがあるが、処理システム150は、1つまたは複数のセンサー(たとえば、ライダー、近接、運動など)であることがある。たとえば、ライダーセンサーを使用して、ユーザ5の近傍の地形をマップアウトすることがある。ユーザ5が走っている、および/またはユーザ5の周囲の地形もしくは環境が急速に変化しているとき、ライダー機能は、処理集約的であり得、これは、処理システム150がそれに熱および/または電力限界を課すことを要求し得る。処理システム150と制御システム140との間の双方向制御を使用することによって、様々な実施形態は、ユーザ5の安全性および移動装置110fの効率を向上させ得る。
【0036】
[0049]
図1Gは、仮想現実(VR)および/または拡張現実(AR)ヘッドセットの形態の移動装置110gを含む移動装置システム106を示す。
図1Fを参照して説明された移動装置110fと同様に、移動装置110gは、自己推進式ではない。むしろ、移動装置110gは、ユーザ5の頭部および首の動きによって移動する。また、移動装置110fと同様に、移動装置110gは、制御システム140と処理システム150の両方を収容し得る。追加または代替として、移動装置110gは、移動装置110fなどの別のコンピューティングデバイスとともに働くことがある。たとえば、移動装置110gの処理システム150は、他のデバイス110fの制御システム(たとえば、140)に(たとえば、ケーブル16を介して)結合され、それと連携して動作することがあり、逆もまた同様である。
【0037】
[0050]
図1Hは、手術ロボットの形態の移動装置110hを含む移動装置システム107を示す。
図1Iを参照すると、製造ロボットの形態の移動装置110iを含む移動装置システム108が示されている。
図1Jは、ロボット在庫取出し/保管ロボットの形態の移動装置110jを含む移動装置システム109を示す。
図1A~
図1Gを参照して説明された移動装置110a、110b、110c、110d、110e、110f、および110gとは異なり、移動装置110h、110i、および110jは、遠隔であって移動しない制御システム140を含み得るが、より局所的な処理システム150は、移動するか、または移動する(たとえば、ロボットアームが移動する)部品を有する。いくつかの実施形態では、移動装置110h、110i、および110jは、コンピュータプロセッサ(たとえば、SOCまたはSIP)を含まないことがあるが、センサー、モータ、および関節運動要素のみを有し得る。したがって、各制御システム140は、それぞれの移動装置110h、110i、および110jの動作を管理するように構成され得るが、各処理システム150は、1つまたは複数のセンサー(たとえば、160)から入力を受信するように構成され、制御システム140と相互作用し得る。
【0038】
[0051]
図2は、様々な実施形態のいずれかを実装するのに適したSIP200の形態の例示的な制御システムを示す構成要素ブロック図である。様々な実施形態は、SOCまたはSIPを含む、いくつかのシングルプロセッサおよびマルチプロセッサコンピュータシステム上に実装され得る。
【0039】
[0052]
図1A~
図2を参照すると、図示された例示的なSIP200は、クロック206と、電圧調節器208と、トランシーバ149とに結合された2つのSOC202、204を含む。いくつかの実施形態では、第1のSOC202は、命令によって指定された算術、論理、制御および入出力(I/O)演算を実施することによってソフトウェアアプリケーションプログラムの命令を行うワイヤレスデバイスの中央処理装置(CPU)として動作する。いくつかの実施形態では、第2のSOC204は、専用処理ユニットとして動作し得る。たとえば、第2のSOC204は、高ボリューム、高速(たとえば、5Gbpsなど)、および/または超高周波短波長(たとえば、28GHz mmWaveスペクトルなど)通信を管理することを担当する専用5G処理ユニットとして動作し得る。
【0040】
[0053] 第1のSOC202は、デジタル信号プロセッサ(DSP)210と、モデムプロセッサ212と、グラフィックスプロセッサ214と、アプリケーションプロセッサ216と、プロセッサのうちの1つまたは複数に接続された1つまたは複数のコプロセッサ218(たとえば、ベクトルコプロセッサ)と、メモリ220と、カスタム回路222と、システム構成要素およびリソース224と、相互接続/バスモジュール226と、1つまたは複数の温度センサー230と、熱管理ユニット232と、熱パワーエンベロープ(TPE)構成要素234とを含み得る。第2のSOC204は、5Gモデムプロセッサ252と、電力管理ユニット254と、相互接続/バスモジュール264と、複数のmmWaveトランシーバ256と、メモリ258と、アプリケーションプロセッサ、パケットプロセッサなどの様々な追加のプロセッサ260とを含み得る。
【0041】
[0054] 各プロセッサ210、212、214、216、218、252、260は、1つまたは複数のコアを含み得、各プロセッサ/コアは、他のプロセッサ/コアから独立した動作を実施し得る。たとえば、第1のSOC202は、第1のタイプのオペレーティングシステム(たとえば、FreeBSD、LINUX(登録商標)、OS Xなど)を実行するプロセッサと、第2のタイプのオペレーティングシステム(たとえば、MICROSOFT WINDOWS(登録商標)10)を実行するプロセッサとを含み得る。加えて、プロセッサ210、212、214、216、218、252、260のいずれかまたはすべては、プロセッサクラスタアーキテクチャ(たとえば、同期プロセッサクラスタアーキテクチャ、非同期または異種プロセッサクラスタアーキテクチャなど)の一部として含まれ得る。
【0042】
[0055] 第1および第2のSOC202、204は、センサーデータ、アナログデジタル変換、ワイヤレスデータ送信を管理するための、ならびにデータパケットを復号し、ウェブブラウザでのレンダリングのために符号化オーディオおよびビデオ信号を処理することなどの他の特殊な動作を実施するための、様々なシステム構成要素、リソースおよびカスタム回路を含み得る。たとえば、第1のSOC202のシステム構成要素およびリソース224は、電力増幅器、電圧調節器、発振器、位相ロックループ、周辺ブリッジ、データコントローラ、メモリコントローラ、システムコントローラ、アクセスポート、タイマー、およびワイヤレスデバイス上で実行しているプロセッサとソフトウェアクライアントとをサポートするために使用される他の同様の構成要素を含み得る。システム構成要素およびリソース224ならびに/またはカスタム回路222はまた、カメラ、電子ディスプレイ、ワイヤレス通信デバイス、外部メモリチップなどの周辺デバイスとインターフェースするための回路を含み得る。
【0043】
[0056] 第1および第2のSOC202、204は、相互接続/バスモジュール250を介して通信し得る。様々なプロセッサ210、212、214、216、218は、相互接続/バスモジュール226を介して、1つまたは複数のメモリ要素220と、システム構成要素およびリソース224と、カスタム回路222と、熱管理ユニット232とに相互接続され得る。同様に、プロセッサ252は、相互接続/バスモジュール264を介して、電力管理ユニット254と、mmWaveトランシーバ256と、メモリ258と、様々な追加のプロセッサ260とに相互接続され得る。相互接続/バスモジュール226、250、264は、再構成可能な論理ゲートのアレイを含み、および/またはバスアーキテクチャ(たとえば、CoreConnect、AMBAなど)を実装し得る。通信は、高性能なネットワークオンチップ(NoC)などの高度相互接続によって提供され得る。
【0044】
[0057] 第1のSOC202および/または第2のSOC204は、トランシーバ149、センサー160、クロック206、および電圧調節器208などの、SOCの外部のリソースと通信するための入出力モジュール(図示せず)をさらに含み得る。SOCの外部のリソース(たとえば、クロック206、電圧調節器208)は、内部SOCプロセッサ/コアのうちの2つまたはそれ以上によって共有され得る。
【0045】
[0058] 上記で説明された例示的なSIP200に加えて、様々な実施形態は、単一のプロセッサ、複数のプロセッサ、マルチコアプロセッサ、またはそれらの任意の組合せを含み得る、多種多様なコンピューティングシステムにおいて実装され得る。
【0046】
[0059]
図3は、様々な実施形態のいずれかを実装するのに適したワイヤレス通信におけるユーザプレーンおよび制御プレーンのための無線プロトコルスタックを含むソフトウェアアーキテクチャ300の非限定的な例を示すソフトウェアアーキテクチャ図である。
図1A~
図3を参照すると、制御システム140は、処理システムとの制御システム相互作用を容易にするために、図示のソフトウェアアーキテクチャ300と同様のソフトウェアアーキテクチャを実装することがある。様々な実施形態では、ソフトウェアアーキテクチャ300中のレイヤは、処理システム150のソフトウェア中の対応するレイヤとの論理接続を形成し得る。ソフトウェアアーキテクチャ300は、1つまたは複数のプロセッサ(たとえば、プロセッサ212、214、216、218、252、260)の間で分散され得る。1つの無線プロトコルスタックに関して示されているが、マルチSIM(加入者識別モジュール)ワイヤレスデバイスでは、ソフトウェアアーキテクチャ300は、複数のプロトコルスタックを含み得、これらのプロトコルスタックの各々は、異なる加入者識別モジュール(SIM)に関連付けられ得る(たとえば、デュアルSIMワイヤレス通信デバイス中では、2つのプロトコルスタックが、それぞれ、2つのSIMに関連付けられる)。以下ではLTE通信レイヤに関して説明されるが、ソフトウェアアーキテクチャ300は、ワイヤレス通信のための様々な規格およびプロトコルのいずれかをサポートし得、ならびに/または様々な規格およびプロトコルワイヤレス通信のいずれかをサポートする追加のプロトコルスタックを含み得る。
【0047】
[0060] ソフトウェアアーキテクチャ300は、非アクセス層(NAS)302と、アクセス層(AS)304とを含み得る。NAS302は、パケットフィルタリング、セキュリティ管理、モビリティ制御、セッション管理、ならびに制御システム140のSIM(たとえば、SIM204)とそのビークルとの間のトラフィックおよびシグナリングをサポートするための機能およびプロトコルを含むことがある。AS304は、SIM(たとえば、SIM204)とサポートされるアクセスネットワークのエンティティ(たとえば、基地局)との間の通信をサポートする機能とプロトコルとを含み得る。特に、AS304は、少なくとも3つのレイヤ(レイヤ1、レイヤ2、およびレイヤ3)を含み得、これらのレイヤの各々は、様々なサブレイヤを含み得る。
【0048】
[0061] ユーザプレーンおよび制御プレーンにおいて、AS304のレイヤ1(L1)は、エアインターフェースを介した送信および/または受信を可能にする機能を監督し得る物理レイヤ(PHY)306であり得る。そのような物理レイヤ306機能の例は、巡回冗長検査(CRC)アタッチメント、コーディングブロック、スクランブリングおよびデスクランブリング、変調および復調、信号測定、MIMOなどを含み得る。物理レイヤは、物理ダウンリンク制御チャネル(PDCCH)および物理ダウンリンク共有チャネル(PDSCH)、または物理サイドリンク制御チャネル(PSCCH)および物理サイドリンク共有チャネル(PSSCH)などのサイドリンクチャネルを含む、様々な論理チャネルを含み得る。
【0049】
[0062] ユーザプレーンおよび制御プレーンにおいて、AS304のレイヤ2(L2)は、物理レイヤ306を介した制御システム140と処理システム150との間のリンクを担い得る。様々な実施形態では、レイヤ2は、メディアアクセス制御(MAC)サブレイヤ308と、無線リンク制御(RLC)サブレイヤ310と、パケットデータコンバージェンスプロトコル(PDCP)312サブレイヤとを含み得、これらのサブレイヤの各々は、処理システム150において終端する論理接続を形成する。
【0050】
[0063] 制御プレーンにおいて、AS304のレイヤ3(L3)は、無線リソース制御(RRC)サブレイヤ3を含み得る。図示されていないが、ソフトウェアアーキテクチャ300は、追加のレイヤ3サブレイヤ、ならびにレイヤ3の上方の様々な上位レイヤを含み得る。様々な実施形態では、RRCサブレイヤ313は、システム情報をブロードキャストすることと、ページングすることと、制御システム140と処理システム150との間のRRCシグナリング接続を確立および解放することとを含む機能を提供し得る。
【0051】
[0064] 様々な実施形態では、PDCPサブレイヤ312は、異なる無線ベアラおよび論理チャネルの間の多重化と、シーケンス番号追加と、ハンドオーバデータ処理と、完全性保護と、暗号化と、ヘッダ圧縮とを含むアップリンク機能を提供し得る。ダウンリンクでは、PDCPサブレイヤ312は、データパケットの順序配信と、重複データパケット検出と、完全性検証と、解読と、ヘッダ復元とを含む機能を提供し得る。
【0052】
[0065] アップリンクでは、RLCサブレイヤ310は、上位レイヤデータパケットのセグメント化および連結と、紛失データパケットの再送信と、自動再送要求(ARQ)とを提供し得る。一方、ダウンリンクでは、RLCサブレイヤ310機能は、順が狂った受信を補償するためのデータパケットの並べ替えと、上位レイヤデータパケットのリアセンブリと、ARQとを含み得る。
【0053】
[0066] アップリンクでは、MACサブレイヤ308は、論理チャネルおよびトランスポートチャネルの間の多重化と、ランダムアクセスプロシージャと、論理チャネル優先度と、ハイブリッドARQ(HARQ)動作とを含む機能を提供し得る。ダウンリンクでは、MACレイヤ機能は、セル内のチャネルマッピングと、多重分離と、間欠受信(DRX)と、HARQ動作とを含み得る。
【0054】
[0067] ソフトウェアアーキテクチャ300は物理媒体を通してデータを送信するための機能を提供し得るが、ソフトウェアアーキテクチャ300は、制御システム140中の様々なアプリケーションへのデータ転送サービスを提供するために、少なくとも1つのホストレイヤ314をさらに含み得る。いくつかの実施形態では、少なくとも1つのホストレイヤ314によって提供されるアプリケーション固有の機能は、ソフトウェアアーキテクチャと汎用プロセッサ206との間のインターフェースを提供し得る。
【0055】
[0068] 他の実施形態では、ソフトウェアアーキテクチャ300は、ホストレイヤ機能を提供する1つまたは複数の上位論理レイヤ(たとえば、トランスポート、セッション、プレゼンテーション、アプリケーションなど)を含み得る。たとえば、いくつかの実施形態では、ソフトウェアアーキテクチャ300は、論理接続がパケットデータネットワーク(PDN)ゲートウェイ(PGW)において終端するネットワークレイヤ(たとえば、インターネットプロトコル(IP)レイヤ)を含み得る。いくつかの実施形態では、ソフトウェアアーキテクチャ300は、論理接続が別のデバイス(たとえば、エンドユーザデバイス、サーバなど)において終端するアプリケーションレイヤを含み得る。いくつかの実施形態では、ソフトウェアアーキテクチャ300は、AS304中に、物理レイヤ306と通信ハードウェア(たとえば、1つまたは複数の無線周波数(RF)トランシーバ)との間のハードウェアインターフェース316をさらに含み得る。
【0056】
[0069]
図4Aは、移動装置システム400を示す構成要素ブロック図である。
図1A~4Aを参照すると、移動装置システム400は、様々な実施形態による、処理システム150と相互作用する制御システム140とともに構成され得る。制御システム140および処理システム150の各々は、本明細書において移動装置(たとえば、110a、110b、110c、110d、110e、110f、110g、110h、110i、110j)の制御システム140および処理システム150に帰する機能を提供するためにともに動作する複数のハードウェア、ソフトウェア、および/またはファームウェア構成要素を含み得る。
【0057】
[0070] 外部リソース420は、制御システム140および/または処理システム150の動作をサポートするように構成された1つまたは複数のリモートコンピューティングデバイス(たとえば、サーバ)、センサー、または他のリソースを含み得る。外部リソース420は、トランシーバ149、159の一方または両方、通信ネットワーク50を使用して、ワイヤレス通信リンク15を介して、1つまたは複数のワイヤード通信リンク16(利用可能な場合)を介して、および/またはそれらの組合せを介して、制御システム140および/または処理システム150と通信し得る。
【0058】
[0071] 制御システム140は、1つまたは複数の命令モジュールを含み得る機械可読命令430によって構成され得る。命令モジュールは、コンピュータプログラムモジュールを含み得る。特に、命令モジュールは、処理レイテンシ要求決定モジュール440、処理レイテンシ要求指標送信モジュール441、移動特性の変更決定モジュール442、速度指標受信モジュール443、許容動作周波数受信モジュール444、移動特性変更モジュール445、および/または他の命令モジュールのうちの1つまたは複数を含み得る。
【0059】
[0072] 処理レイテンシ要求決定モジュール440は、モバイルデバイスのための処理レイテンシ要求指標を決定するように構成され得る。決定された処理レイテンシ要求指標は、移動装置の目標速度に相関し得る。したがって、決定された処理レイテンシ要求指標は、移動装置が達成すべきであると制御システム140が決定した目標速度のスカラー値を実際に表すことがある。スカラー値は、関連する動作周波数および/または処理レイテンシに容易に変換され得る。また、目標速度は、対象移動装置の近傍の他の移動物体(たとえば、他の移動装置)の速度を考慮する相対速度であり得る。
【0060】
[0073] 代替的に、決定された処理レイテンシ要求指標は、操縦を安全に実行するために、および/または必要に応じて別様に動作するために、制御システム140によって必要とされる最小処理レイテンシ値(minimum processing latency value)を表し得る。さらなる代替として、決定された処理レイテンシ要求指標は、操縦を安全に実行するために、および/または必要に応じて別様に動作するために、制御システム140によって必要とされる最小動作周波数(minimum operating frequency)を表し得る。
【0061】
[0074] 非限定的な例では、処理レイテンシ要求決定モジュール440の機械可読命令430を実装するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0062】
[0075] 処理レイテンシ要求指標送信モジュール441は、制御システム140から処理システム150に、処理システム150の処理レイテンシに関するメッセージを送信するように構成され得る。送信されたメッセージは、処理レイテンシ要求決定モジュール440によって決定された処理レイテンシ要求指標を反映し得る。代替または追加として、送信された処理レイテンシ要求指標は、処理システムに最小レイテンシを要求するレイテンシ要求投票を含み得る。いくつかの実施形態では、送信された処理レイテンシ要求指標は、移動装置の移動の特性の決定された変更を反映し得る。
【0063】
[0076] 非限定的な例では、処理レイテンシ要求指標送信モジュール441の機械可読命令430を実装するための手段は、トランシーバ149、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0064】
[0077] 移動特性の変更決定モジュール442は、動作周波数コントローラの現在の処理レイテンシの変更を必要とする移動装置の移動の特性の変更を決定するように構成され得る。移動装置の移動の特性の変更は、許容動作周波数の受信された指標に関連付けられた目標速度に移動装置の速度を変更することを含み得る。また、本明細書で言及する速度の変更は、スカラー値またはベクトル値とすることがある。いくつかの実施形態では、移動特性の変更決定モジュール442は、動作周波数コントローラの現在の処理レイテンシの変更を必要とする移動装置の移動の特性の変更を決定するように構成され得る。いくつかの実施形態では、移動装置制御システムの移動の特性の決定された変更は、受信された移動装置制御システム目標速度および/または遠隔物体現在速度に基づき得る。このようにして、決定された変更は、移動装置自体の、および/または他の物体に対する移動装置の移動の特性に基づくことがある。したがって、決定された変更は、処理システム150の許容動作周波数(たとえば、処理システム150によって安全にサポートされ得る最大速度を反映する)、目標移動装置速度、および/または移動装置の近傍内の他の物体の速度などの入力から決定され得る、移動装置の速度の変更を示し得る。
【0065】
[0078] 非限定的な例では、移動特性の変更決定モジュール442の機械可読命令430を実装するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0066】
[0079] 速度指標受信モジュール443は、送信された処理レイテンシ要求指標に応答して、処理システム150の許容動作周波数の指標を受信するように構成され得る。許容動作周波数の指標は、処理システム150から送信されていることがある。許容動作周波数の受信された指標は、移動装置の最大速度を制限するように構成され得る。その最大速度は、処理レイテンシ要求指標に反映される目標速度に等しいことがある。代替的に、処理システム150は、処理レイテンシ要求指標からの目標速度で動作するために必要とされる処理レイテンシのレベルで動作することが可能でないことがあり、その場合、許容動作周波数は目標速度よりも低いことがある。加えて、速度指標受信モジュール443は、移動装置目標速度または遠隔物体現在速度のうちの少なくとも1つを受信するように構成され得る。
【0067】
[0080] 非限定的な例では、速度指標受信モジュール443の機械可読命令430を実装するための手段は、トランシーバ149、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0068】
[0081] 許容動作周波数受信モジュール444は、処理レイテンシ要求指標を送信したことに応答して、処理システムの許容動作周波数の指標を受信するように構成され得る。許容動作周波数の受信された指標は、移動装置の最大速度を制限するように構成されることがあり、これは、処理システム150が許容動作周波数に基づいて移動装置に速度制限を課したことを意味する。
【0069】
[0082] 非限定的な例では、許容動作周波数受信モジュール444の機械可読命令430を実装するための手段は、トランシーバ149、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0070】
[0083] 移動特性変更モジュール445は、許容動作周波数の受信された指標に基づいて、移動装置の移動の特性を変更するように構成され得る。たとえば、移動装置が現在の速度よりも速い目標速度で動作する必要があると移動特性の変更決定モジュール442が決定したことに応答して、移動特性変更モジュール445は、その変更を起こすために適切なシステムをアクティブ化し得る。加えて、移動特性変更モジュール445は、方向の変更、運転スタイル、移動の変化率などの、速度以外の他の変更を実施するように構成され得る。
【0071】
[0084] 非限定的な例では、移動特性変更モジュール445の機械可読命令430を実装するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0072】
[0085] 制御システム140と同様に、処理システム150も、1つまたは複数の命令モジュールを含み得る機械可読命令435によって構成されることがある。命令モジュールは、コンピュータプログラムモジュールを含み得る。特に、命令モジュールは、要求指標受信モジュール450、目標動作周波数決定モジュール451、動作周波数バジェット決定モジュール452、動作周波数比較/決定モジュール453、許容動作周波数送信モジュール454、および動作周波数変更モジュール455、および/または他の命令モジュールのうちの1つまたは複数を含み得る。
【0073】
[0086] 要求指標受信モジュール450は、制御システム140から処理レイテンシ要求指標を受信するように構成され得る。たとえば、処理レイテンシ要求の受信された指標は、処理レイテンシの実際の測定値、特定の処理レイテンシに対応する処理システム150の動作周波数の測定値、特定の処理レイテンシまたは動作周波数に対応する移動装置速度のスカラー測定値などを表し得る。したがって、処理レイテンシ要求の受信された指標は、移動装置の目標速度に相関し得る。いくつかの実施形態では、処理レイテンシ要求の受信された指標は、処理システムに最小レイテンシを要求するレイテンシ要求投票を含み得る。
【0074】
[0087] 非限定的な例では、要求指標受信モジュール450の機械可読命令430を実装するための手段は、トランシーバ159、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0075】
[0088] 目標動作周波数決定モジュール451は、処理レイテンシ要求を達成するための目標動作周波数を決定するように構成され得る。たとえば、制御システムから受信された目標移動装置速度、処理レイテンシ投票、または他の処理レイテンシ要求指標に基づいて、処理システムは、目標動作周波数を決定し得る。目標移動装置速度が十分に低い場合、目標動作周波数決定モジュール451は、依然として安全要求を満たし、エネルギーを節約しながら、現在の動作周波数が下げられ得ると決定し得る。代替的に、目標移動装置速度が高い場合、目標動作周波数決定モジュール451は、可能であれば、現在の動作周波数が上げられる必要があると決定し得る。
【0076】
[0089] 非限定的な例では、目標動作周波数決定モジュール451の機械可読命令430を実装するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0077】
[0090] 動作周波数バジェット決定モジュール452は、処理システムの動作を制限する動作周波数バジェットに基づいて、許容動作周波数を決定するように構成され得る。たとえば、動作周波数バジェットは、処理システムによる/処理システムの熱、電力、および/または負荷出力に対する制限から事前にプログラムされるか、または決定され得る。いくつかの実施形態では、動作周波数バジェットは、緊急および/または特別な状況のための1つまたは複数のより高いバジェットなどの条件を有し得る。したがって、処理システムは、適切な動作周波数バジェットを決定するために、緊急および/または特別な状況が存在するかどうかを決定し得る。
【0078】
[0091] 非限定的な例では、動作周波数バジェット決定モジュール452の機械可読命令430を実装するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0079】
[0092] 動作周波数比較/決定モジュール453は、目標動作周波数が処理システムの許容動作周波数を超えるかどうかを決定するように構成され得る。したがって、動作周波数比較/決定モジュール453はまた、処理システム150の現在の動作周波数と許容動作周波数の両方を決定するように構成され得る。処理システム150の現在の動作周波数は、熱/電力/負荷目標(すなわち、バジェット)、ならびに従来の温度センサーおよび/または電力/負荷監視システムからの測定値などの入力に従って決定(すなわち、計算)され得る。許容動作周波数は、ADASビークル速度コントローラなどからの処理レイテンシ投票を使用して決定されることがある。たとえば、実際の動作周波数(OFActual)は、次の式を使用して決定されることがある。
【0080】
【0081】
[0093] 式(1)において、c1はシステムに依存する定数であり、VPLは処理レイテンシ投票に対応する値を反映する。代替的に、他の式(すなわち、関数)が、実際の動作周波数を決定するために使用されることがある。
【0082】
[0094] いくつかの実施形態では、処理システムの許容動作周波数は、動作周波数バジェット決定モジュール452によって決定された動作周波数バジェットに基づいて、動作周波数比較/決定モジュール453によって決定され得る。たとえば、処理システムは、(すなわち、目標動作周波数決定モジュール451によって決定された)目標動作周波数が許容動作周波数を超えるかどうかを決定し得る。目標動作周波数が許容動作周波数を超える場合、動作周波数比較/決定モジュール453は、バジェット内にとどまる、目標動作周波数よりも低い許容動作周波数を決定し得る。対照的に、目標動作周波数が許容動作周波数を超えない場合、動作周波数比較/決定モジュール453は、許容動作周波数が目標動作周波数に等しいと決定し得る。
【0083】
[0095] 非限定的な例では、動作周波数比較/決定モジュール453の機械可読命令430を実装するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0084】
[0096] 許容動作周波数送信モジュール454は、処理システムの許容動作周波数の指標を移動装置制御システムに送信するように構成されることがある。たとえば、処理システムは、許容動作周波数(すなわち、動作周波数比較/決定モジュール453によって決定された)を制御システムに送信することがある。いくつかの実施形態では、許容動作周波数の送信された指標は、移動装置の目標移動速度を低下させるように移動装置制御システムに指示するように構成され得る。代替または追加として、許容動作周波数の送信された指標は、移動装置の最大移動速度制限を含む。いくつかの実施形態では、許容動作周波数は、実際の動作周波数の変換から決定され得る、移動装置の最大許容移動速度の形態で送信され得る。たとえば、最大許容移動速度は、決定された実際の処理システム動作周波数などの入力に従って決定(すなわち、計算)され得る。たとえば、最大許容移動速度(VMax)は、次の式を使用して決定されることがある。
【0085】
【0086】
[0097] 式(2)において、TPLは、総処理レイテンシであり、その第1の関数(f1)は最大許容移動速度(VMax)に等しい。また、OFPLは、現在の処理負荷における動作周波数であり、その第2の関数(f2)も最大許容移動速度(VMax)に等しい。代替的に、最大許容移動速度(VMax)を決定するために、様々な式が使用され得る。
【0087】
[0098] 非限定的な例では、許容動作周波数送信モジュール454の機械可読命令430を実装するための手段は、トランシーバ159、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0088】
[0099] 動作周波数変更モジュール455は、目標動作周波数が許容動作周波数を超えないと決定したことに応答して、処理システムの動作周波数を目標動作周波数に変更するように構成され得る。加えて、動作周波数変更モジュール455は、目標動作周波数が許容動作周波数を超えると決定したことに応答して、処理システムの現在の動作周波数を目標動作周波数の値を下回る値に変更するように構成され得る。代替的に、処理システムは、動作周波数の変更が必要とされない状況では、動作周波数変更モジュール455を使用することを回避し得る。
【0089】
[00100] 非限定的な例では、動作周波数変更モジュール455の機械可読命令430を実装するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理デバイス(たとえば、140、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、および/または処理システム150の1つもしくは複数の他の構成要素を含み得る。
【0090】
[0100] 制御システム140は、上述した処理システム150の機械可読命令435におけるものと同様のコンピュータプログラムモジュールを実行するように構成された1つまたは複数のプロセッサを含み得る。同様に、所与の処理システム150は、上述した制御システム140の機械可読命令430におけるものと同様のコンピュータプログラムモジュールを実行するように構成された1つまたは複数のプロセッサを含み得る。
【0091】
[0101] プロセッサ141、151は、モジュール441、442、443、444、445、450、451、452、453、454、および/もしくは455、ならびに/または他のモジュールを実行するように構成され得る。プロセッサ141、151は、モジュール441、442、443、444、445、450、451、452、453、454、および/もしくは455、ならびに/または他のモジュールを、ソフトウェア、ハードウェア、ファームウェア、ソフトウェア、ハードウェア、および/もしくはファームウェアの何らかの組合せ、ならびに/またはプロセッサ141、151上で処理能力を構成するための他の機構によって実行するように構成され得る。本明細書で使用される「モジュール」という用語は、モジュールに帰属する機能を実施する任意の構成要素または構成要素のセットを指し得る。これは、プロセッサ可読命令の実行中の1つまたは複数の物理プロセッサ、プロセッサ可読命令、回路、ハードウェア、記憶媒体、または任意の他の構成要素を含み得る。
【0092】
[0102] 本明細書で説明される異なるモジュール441、442、443、444、445、450、451、452、453、454、および/または455によって提供される機能の説明は、例証のためであって、限定することを意図するものではなく、モジュール441、442、443、444、445、450、451、452、453、454、および/または455のうちのいずれかは、説明されるよりも多いまたは少ない機能を提供し得る。たとえば、モジュール441、442、443、444、445、450、451、452、453、454、および/または455のうちの1つまたは複数が削除されることがあり、その機能の一部または全部が、モジュール441、442、443、444、445、450、451、452、453、454、および/または455のうちの他のモジュールによって提供されることがある。別の例として、プロセッサ141、151は、モジュール441、442、443、444、445、450、451、452、453、454、および/または455のうちの1つの下に属する機能の一部または全部を実行し得る1つまたは複数の追加のモジュールを実行するように構成され得る。
【0093】
[0103]
図4Bは、移動装置システム401を示す構成要素ブロック図である。
図1A~
図4Bを参照すると、移動装置システム400は、様々な実施形態による、処理システム150と相互作用する制御システム140とともに構成され得る。制御システム140および処理システム150の各々は、本明細書において移動装置(たとえば、110a、110b、110c、110d、110e、110f、110g、110h、110i、110j)の制御システム140および処理システム150に帰する機能を提供するためにともに動作する複数のハードウェア、ソフトウェア、および/またはファームウェア構成要素を含み得る。
【0094】
[0104]
図4Aを参照して説明された移動装置システム400と同様に、移動装置システム401は、制御システム140および処理システム150を含むことがあり、両方とも移動装置410(たとえば、110a、110b、110c、110d、110e、110f)内に配置される。したがって、制御システム140および処理システム150は、ワイヤード通信リンク16を介して入力/出力モジュール145/147、155/157などを介して直接(すなわち、トランシーバなしで)通信することがある。たとえば、制御システム140は、ADASビークル速度コントローラであることがあり、処理システム150は、SOC動作周波数コントローラであることがある。制御システム140は、さらにADASコンピュータとソフトウェアシステムとをさらに含むか、またはそれに結合され得る。加えて、制御システム140は、移動装置410内またはその上にも配置された1つまたは複数のセンサー421からの入力を受信し得る。
【0095】
[0105]
図4Cは、移動装置システム402に含まれる移動装置412の構成要素の通信フロー図である。例示的な例として、移動装置412は、自動運転ビークル(たとえば、110a、110b、110c、110d、110e)として
図4Cに関して説明される。しかしながら、様々な実施形態によれば、移動装置402は任意のタイプの移動装置であり得ることを理解されたい。
【0096】
[0106]
図1A~
図4Cを参照すると、移動装置システム402は、様々な実施形態による、処理システム150および他のハードウェア470と相互作用する制御システム140を含むことがあり、そのすべてが、移動装置412(たとえば、110a、110b、110c、110d、110e、110f)内に配置される。制御システム140、処理システム150、およびハードウェア470の各々は、本明細書において移動装置システム402の制御システム140および処理システム150に帰する機能を提供するためにともに動作する複数のハードウェア、ソフトウェア、および/またはファームウェア構成要素を含み得る。機械可読命令460は、様々なタイプの機能(たとえば、視覚の知覚、位置特定およびマッピング、運転経路計画、ビークル制御、および/またはビークル構成要素作動)のうちの1つまたは複数を決定する自動運転アルゴリズムを含み得る。ハードウェア470は、プロセッサ、SOC、特定用途向け集積回路(ASIC)、または他のコンピューティングデバイス、ならびに1つまたは複数のセンサー(たとえば、421)を含み得る。
【0097】
[0107] 様々な実施形態では、ハードウェア470内の1つまたは複数のセンサーは、センサーデータ461を制御システム140のプロセッサ141(たとえば、ADASビークル速度コントローラ)に送信することがあり、それは次に、未加工のまたは処理されたセンサーデータ463を機械可読命令460に提供するかまたは利用可能にすることがある。たとえば、センサーデータ461は、車輪速度センサーから取得された測定値などの、移動装置の現在の速度(すなわち、実際の運転速度)を反映することがある。
【0098】
[0108] 未加工または処理されたセンサーデータ463に基づいて、自動運転アルゴリズムを動作させる機械可読命令460は、移動装置の目標速度、移動装置の近くの1つもしくは複数の他の物体の速度、または処理システム150の処理レイテンシ要求に関連する他の移動特性などの移動特性データ465を決定することがある。移動装置の決定された現在の速度は、1つまたは複数の他の物体の各々に対する移動装置の2つ以上の速度を反映し得る。したがって、未加工のまたは処理されたセンサーデータ463に基づいて、自動運転アルゴリズムは、移動装置が著しく加速する必要があると決定することがある。決定された移動特性データ465は、加速度の増加を反映し得、加速度の増加は、次に処理システム150のための処理レイテンシ要求に関連する。
【0099】
[0109] 未加工のまたは処理されたセンサーデータ463を受信し、さらに処理することに応答して、機械可読命令460は、決定された移動特性データ465をプロセッサ141に与え得、それをプロセッサ141は、次に処理レイテンシ要求データ467として処理システム150のプロセッサ151(たとえば、SOC動作周波数コントローラ)に伝達し得る。処理レイテンシ要求データ467は、決定された移動特性データ465において識別された決定された目標速度を達成するために移動装置によって必要とされる処理レイテンシを反映し得る。いくつかの実施形態では、処理レイテンシ要求データ467は、制御システム140によって処理システム150にサブミットされた処理レイテンシ投票を含み得る。処理レイテンシ投票は、必要とされる処理レイテンシが安全に達成され得るかどうかを決定する際に処理システム150によって重み付けされる考慮事項であり得る。
【0100】
[0110] いくつかの実施形態では、ハードウェア470内の1つまたは複数のセンサーは、追加のセンサーデータ471を処理システム150のプロセッサ151(たとえば、SOC動作周波数コントローラ)に送信することがある。たとえば、追加のセンサーデータ471は、移動装置の従来の温度センサーおよび/または電力/負荷監視デバイスからの情報を反映することがある。プロセッサ151は、さらに、処理システムの動作を制限する動作周波数バジェットに基づいて許容動作周波数を決定するようにプログラムまたは構成され得る。動作周波数バジェットは、プロセッサ151のために指定された熱限界、電力限界、または負荷出力限界473のうちの少なくとも1つに基づき得る。熱限界、電力限界、または負荷出力限界473は、プロセッサ151に設定された限界を反映し得、その限界は、必要とされる処理レイテンシが安全に達成され得るかどうかを重み付けするときにプロセッサ151によって考慮に入れられ得る。
【0101】
[0111] いくつかの実施形態では、処理システム150のプロセッサ151は、許容動作周波数を決定するために、様々な入力を重み付けすることがある。たとえば、プロセッサ151は、エネルギー効率を最適化し、不必要な熱生成を低減するために、制御システム140のプロセッサと協調して、追加のセンサーデータ471、熱限界、電力限界、または負荷出力限界473、および処理レイテンシ要求データ467を重み付けし得る。加えて、プロセッサ151は、運転速度最大制限指標475を制御システム140のプロセッサ141に送信するとともに、その実際の(または調整された)動作周波数477をハードウェア470に通信することがある。運転速度最大制限指標475は、移動装置が安全に動作し得る速度を制限し得る、処理システムの処理レイテンシを反映し得る。
【0102】
[0112] いくつかの実施形態では、制御システム140のプロセッサ141は、受信された運転速度最大制限指標475を考慮し、必要に応じて、処理システム150のプロセッサ151の実際の(または調整された)処理レイテンシに従って、移動装置の速度を制限することがある。したがって、制御システム140のプロセッサ141は、移動アクション469をハードウェア470に通信することがある。たとえば、移動アクション469は、移動装置の加速、制動、および/またはステアリングアクションを反映することがある。
【0103】
[0113]
図5は、移動装置速度と処理システム動作周波数との間の制御リンクのグラフ表現である。
図1A~
図5を参照すると、グラフ500は、移動装置の速度がどのように処理システムの動作周波数に変換されるか、およびその逆も同様であるかを示す。水平軸は移動装置の速度の変化を表し、垂直軸は処理システムの動作周波数の変化を表す。陰影領域505は、許容可能な移動装置速度および処理システム動作周波数の領域を表す。曲線507は、移動装置速度の動作周波数への変換、およびその逆の変換を表す。破線510に示されるように、制御システム(たとえば、140)は、第1の動作周波数OF-1に等しい第1の並進510に対応する処理レイテンシ要求指標を、目標移動装置速度S-1の形態で、移動装置の動作周波数コントローラ(たとえば、処理システム150)に送信することがある。破線520に示されるように、動作周波数コントローラは、処理システムの許容動作周波数OF-2の指標を移動装置制御システムに送信することによって応答することがあり、これは、より低い最大移動装置速度S-2に等しい第2の並進520に対応する。
【0104】
[0114] 目標移動装置速度が制御システムによって処理システムに送信されるとき、処理システムは、その状況下でどの動作周波数が適切であるかを決定する際にいくつかの要因を考慮に入れることがある。たとえば、処理システムは、所与の処理レイテンシにおいて停止が必要であるという推論を行うか、または認知を達成するためにかかる処理時間に起因して移動装置によって必要とされる停止距離、アクチュエータおよび他のデバイスが制動システムに係合するために必要とされる反応時間、および/または特定の速度において必要とされる制動距離(braking distance)を考慮し得る。
【0105】
[0115]
図6は、各々が異なる知覚レイテンシに対応し、知覚、反応、および制動時間を考慮する移動装置速度とビークル停止距離との間の動作リンクを表す、2つの棒グラフのセットである。
図1A~
図6を参照すると、第1のグラフ601は、0.5秒の処理レイテンシを使用する移動装置速度に基づく移動装置停止距離の一例を示す。第2のグラフ602は、0.05秒の処理レイテンシを使用する移動装置速度に基づく移動装置停止距離の一例を示す。図示されるように、最も左側で最も暗い灰色の陰影領域は、指定された処理レイテンシ(すなわち、知覚距離(perception distance))で停止が必要であるという推論を行うか、または知覚を達成するためにかかる処理時間に対応する停止距離を表す。知覚距離は、制御システムが知覚アルゴリズム(すなわち、人工知能推論)を完了することによって危険を認識した時間から、移動装置がどれだけ遠くに移動するかを反映する。中間の非陰影領域は、アクチュエータおよび他の装置がブレーキシステムに係合するのに必要な反応時間に対応する停止距離(すなわち、反応距離(reaction distance))を表す。反応距離は、知覚時間が完了した後、ブレーキが物理的に作動されるまでに移動装置がどれだけ遠くに移動するかを反映する。最も右側の薄い灰色の陰影領域は、移動装置を停止させるために制動システムによって必要とされる停止距離(すなわち、制動距離)を表す。制動距離は、移動装置が停止するまでブレーキが係合されている間に移動装置がどれだけ遠くに移動するかを反映する。すべての3つの距離、すなわち知覚距離、反応距離、および制動距離のこの合計は、総停止距離(total stopping distance)を表す。
【0106】
[0116] 様々な実施形態によれば、移動装置の総停止距離を計算するために、次の式が使用され得る。
【0107】
【0108】
[0117] 式(3)~(6)において、dは距離を表し、tは時間を表し、vは移動装置速度を表し、lPS_perceptionは停止する必要性を知覚するために処理システムによって使用される時間の量を表し、fPS_perceptionは処理システムの動作周波数を表し、uは摩擦係数(たとえば、タイヤおよび路面)を表し、gは重力を表す。式(3)によって示されるように、知覚距離(dperception)+反応距離(dreaction)+制動距離(dbraking)は、停止距離(dstopping)に等しい。式(4)では、知覚距離(dperception)は、知覚時間(tperception)に速度(v)を乗算したものとして計算され得、これは、知覚のための処理負荷(lPS_perception)を、知覚が実行される動作周波数(fPS_perception)で除算されたものに、速度(v)を乗算したものに変換される。式(5)において、反応距離(dreaction)は、反応時間(treaction)に速度(v)を乗じたものに等しい。式(6)において、制動距離(dbraking)は、速度の2乗(v2)を摩擦係数(u)の2倍と重力(g)の積で除算したものに等しい。
【0109】
[0118] 第1および第2のグラフ601、602によって示されるように、35MPHの定速を維持しながら、移動装置は、処理レイテンシを減少させることによって停止距離を短縮することがあり、これは、主に知覚時間(tperception)の減少によって運転される。したがって、処理システムの処理レイテンシおよび動作周波数は、移動装置速度、または制御システム(たとえば、140)による処理レイテンシ投票に反映される目標速度に基づいて正確に調整され得る。また、処理システムがより高い処理レイテンシで所与の移動装置速度(たとえば、35MPH)に対して最小停止距離(たとえば、100フィート)を達成することがある場合、処理システムの処理レイテンシを緩和することがあり(たとえば、0.05秒から0.5秒に)、これはエネルギーを節約し、より効率的に動作する。また、第1および第2のグラフ601、602は、所与の処理レイテンシ(たとえば、0.05秒または0.5秒)に対して、いくつかの移動装置速度がどの程度危険であり得るか(すなわち、リスク事故)を実証する。したがって、40MPHを超える速度で移動する移動装置は、処理システムが0.05秒の処理レイテンシで動作している間、40MPH未満に減速する必要がある。同様に、35MPHを超える速度で移動する移動装置は、処理システムが0.5秒の処理レイテンシで動作している間、35MPH未満に減速する必要がある。
【0110】
[0119]
図7は、移動装置速度と動作周波数との間の変換のグラフ表現である。
図1A~
図7を参照すると、グラフ700は、移動装置の速度がどのように処理システムの動作周波数に変換されるか、およびその逆も同様であるかを示す。水平軸は、移動装置の速度をマイル/時(MPH:miles per hour)で表し、垂直軸は、処理システムの動作周波数をメガヘルツ(MHz)で表す。曲線710は、次の式を使用して計算される。
【0111】
【0112】
[0120] 式(7)において、f
PSは、移動装置の速度vをサポートするために必要とされる計算された動作周波数を表し、l
PS_perceptionは、停止する必要性を知覚するために処理システムによって使用される時間の量を表し、d
stoppingは、移動装置が速度vから停止するために必要とされる総距離であり、t
reactionは、移動装置機器が制動システムをアクティブ化するのにかかる時間であり、f
PS_baseloadは、処理システムが動作するために必要とするベースライン動作周波数(たとえば、
図7の500MHz)である。曲線710は、移動装置速度の動作周波数への変換、およびその逆の変換を表す。加えて、曲線710は、停止距離(d
stopping)が100フィートに等しく、反応時間(t
reaction)が0.15秒に等しいという仮定を使用して計算される。図示されるように、移動装置の速度が30mphを超えると、100秒以内に停止して0.15秒の反応時間を維持するために、動作周波数は指数関数的に増加しなければならない。
【0113】
[0121]
図8は、他の移動物体の近傍で動作するビークル110aの形態の例示的な移動装置を示す概略図である。
図1A~
図8を参照すると、環境800は、東向きに移動している第1のビークル801の後ろを東向きに移動しているビークル110aを含む。ビークル110aの現在の速度v
0と第1のビークル801の第1の速度v
1との間の差は、第1のビークル801に対するビークル110aの第1の相対速度v
R1を反映する。対照的に、第2のビークル802は、ビークル110aの移動方向とは反対の西向きに移動している。ビークル110aの現在の速度v
0と第2のビークル802の第2の速度v
2との間の差は、第2のビークル802に対する移動装置110aの第2の相対速度V
R2を反映する。
【0114】
[0122]
図9は、システムオンチップのエネルギー効率比較のグラフ表現である。
図1A~
図9を参照すると、1秒当りのテラ演算数(TOPS:Tera Operations Per Second)は、単位時間(たとえば、秒)中に実行された動作(実行されたロード)の数を指す。
図9は、正方形のデータ点で示されるTOPS値が、動作周波数の増加とともにどのように増加し得るかを示す。対照的に、菱形のデータ点で示される1ギガヘルツ(GHz)当たりのTOPSの値は、動作周波数の増加とともに徐々に減少し得る。同様に、円形のデータ点で示される1ワット当たりのTOPS(TOPS/W)の値は、動作周波数の増加とともに徐々に減少する。
【0115】
[0123]
図10A~
図10Cは、様々な実施形態による、処理システムと相互作用する移動装置制御システムによって実行される方法1000、1001、1002の動作を示すプロセスフロー図である。いくつかの実施形態では、方法1000、1001、1002は、説明されていない1つまたは複数の追加の動作を用いて、および/または説明された動作のうちの1つまたは複数を用いずに達成され得る。
図1A~
図10Aを参照すると、方法1000の動作は、制御システム(たとえば、140)の電子記憶媒体に電子的に記憶された命令に応答して、1つまたは複数のプロセッサ(たとえば、デジタルプロセッサ、アナログプロセッサ、情報を処理するように設計されたデジタル回路、情報を処理するように設計されたアナログ回路、状態機械、および/または情報を電子的に処理するための他の機構)において実施され得る。1つまたは複数のプロセッサは、方法1000の動作のうちの1つまたは複数を実行するために特別に設計されるようにハードウェア、ファームウェア、および/またはソフトウェアを通して構成された1つまたは複数のデバイスを含み得る。たとえば、方法1000の動作は、制御システムのプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)によって実行され得る。
【0116】
[0124]
図10Aを参照すると、方法1000のブロック1021において、制御システムのプロセッサは、移動装置処理システムの動作周波数コントローラに処理レイテンシ要求指標を送信することを含む動作を実行し得る。ブロック1021において、制御システムのプロセッサは、処理レイテンシ要求指標送信モジュール(たとえば、441)を使用することがある。たとえば、送信された処理レイテンシ要求指標は、移動装置の目標速度に相関し得る。追加または代替として、送信された処理レイテンシ要求指標は、処理システムに最小レイテンシを要求するレイテンシ要求投票を含み得る。いくつかの実施形態では、ブロック1021の動作を実行するための手段は、トランシーバ(たとえば、149)、メモリ(たとえば、143、153、220、258)を使用し得る制御システム(たとえば、140)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0117】
[0125] ブロック1023において、制御システムのプロセッサは、処理レイテンシ要求指標を送信したことに応答して、処理システムの許容動作周波数の指標を受信することを含む動作を実行し得る。ブロック1023において、制御システムのプロセッサは、許容動作周波数受信モジュール(たとえば、444)を使用することがある。ブロック1023において、許容動作周波数の受信された指標は、移動装置の最大速度を制限するように構成され得る。たとえば、処理システムの動作周波数は、移動装置が安全に動作し得る最大速度に変換する何らかの方法で制限またはスロットリングされ得る。いくつかの実施形態では、ブロック1023の動作を実行するための手段は、トランシーバ(たとえば、149)、メモリ(たとえば、143、153、220、258)を使用し得る制御システム(たとえば、140)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0118】
[0126] ブロック1025において、制御システムのプロセッサは、許容動作周波数の受信された指標に基づいて、移動装置の移動の特性を変更することを含む動作を実行することがある。ブロック1025において、制御システムのプロセッサは、移動特性変更モジュール(たとえば、445)を使用することがある。ブロック1025において、移動装置の移動の特性を変更することは、許容動作周波数の受信された指標に関連付けられた目標速度に移動装置の速度を変更することを含み得る。代替的に、移動装置の移動の特性を変更することは、処理システムの動作周波数に課される制限のために、移動装置の速度を目標速度よりも低い速度に変更することを含み得る。いくつかの実施形態では、ブロック1025の動作を実行するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る制御システム(たとえば、140)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0119】
[0127] いくつかの実施形態では、プロセッサは、移動装置速度と処理システム動作周波数との双方向制御を実行するために、ブロック1021、1023、および1025における動作のいずれかまたはすべてを何度もまたは連続的に繰り返し得る。
【0120】
[0128]
図10Bは、方法1000とともに、または方法1000の拡張として実行され得る方法1001を示す。
【0121】
[0129]
図10Bを参照すると、ブロック1027において、制御システムのプロセッサは、動作周波数コントローラの現在の処理レイテンシの変更を必要とする移動装置の移動の特性の変更を決定することを含む動作を実行し得る。ブロック1027において、制御システムのプロセッサは、移動特性の変更決定モジュール(たとえば、444)を使用することがある。したがって、ブロック1021において、送信される処理レイテンシ要求指標は、移動装置の移動の特性の決定された変更を反映し得る。ブロック1027の動作を実行するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る制御システム(たとえば、140)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0122】
[0130] プロセッサは、次いで、説明されるように、方法1000(
図10A)のブロック1021の動作を実行し得る。
【0123】
[0131]
図10Cは、方法1000および1001とともに、またはそれらの拡張として実行され得る方法1002を示す。
【0124】
[0132]
図10Cを参照すると、方法1001のブロック1027における動作に続くブロック1029において、制御システムのプロセッサは、移動装置目標速度または遠隔物体現在速度のうちの少なくとも1つを受信することを含む動作を実行し得る。ブロック1029において、制御システムのプロセッサは、速度指標受信モジュール(たとえば、443)を使用することがある。したがって、ブロック1029における、移動装置制御システムの移動の特性の決定された変更は、移動装置制御システム目標速度または遠隔物体現在速度のうちの受信された少なくとも1つに基づき得る。ブロック1029の動作を実行するための手段は、トランシーバ(たとえば、149)、メモリ(たとえば、143、153、220、258)を使用し得る制御システム(たとえば、140)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0125】
[0133] プロセッサは、次いで、説明されるように、方法1000(
図10A)のブロック1021の動作を実行し得る。
【0126】
[0134]
図11A~
図11Iは、様々な実施形態による、制御システムと相互作用する移動装置処理システムによって実行される方法1100、1101、1102、1103、1104、1105、1106、1107、1108の動作を示すプロセスフロー図である。いくつかの実施形態では、方法1100、1101、1102、1103、1104、1105、1106、1107、1108は、説明されていない1つまたは複数の追加の動作を用いて、および/または説明される動作のうちの1つまたは複数を用いずに達成され得る。
図1A~
図11Aを参照すると、方法1100の動作は、処理システム(たとえば、150)の電子記憶媒体に電子的に記憶された命令に応答して、1つまたは複数のプロセッサ(たとえば、デジタルプロセッサ、アナログプロセッサ、情報を処理するように設計されたデジタル回路、情報を処理するように設計されたアナログ回路、状態機械、および/または情報を電子的に処理するための他の機構)において実施され得る。1つまたは複数のプロセッサは、方法1100の動作のうちの1つまたは複数を実行するために特別に設計されるようにハードウェア、ファームウェア、および/またはソフトウェアを通して構成された1つまたは複数のデバイスを含み得る。たとえば、方法1100の動作は、処理システムのプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)によって実行され得る。
【0127】
[0135]
図11Aを参照すると、ブロック1121において、処理システムのプロセッサは、移動装置制御システムから処理レイテンシ要求の指標を受信することを含む動作を実行し得る。ブロック1121において、処理システムのプロセッサは、処理レイテンシ要求指標受信モジュール(たとえば、450)を使用することがある。たとえば、処理レイテンシ要求の受信された指標は、移動装置の目標速度に相関し得る。追加または代替として、処理レイテンシ要求の受信された指標は、処理システムに最小レイテンシを要求するレイテンシ要求投票を含み得る。いくつかの実施形態では、ブロック1121の動作を実行するための手段は、トランシーバ(たとえば、159)、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0128】
[0136] ブロック1123において、処理システムのプロセッサは、処理レイテンシ要求を達成するために目標動作周波数を決定することを含む動作を実行し得る。ブロック1123において、処理システムのプロセッサは、目標動作周波数決定モジュール(たとえば、451)を使用し得る。たとえば、決定された目標動作周波数は、移動装置が安全に動作し得る速度に対する制限に変換する何らかの方法で、処理システム(たとえば、150)の動作を制限またはスロットリングし得る。いくつかの実施形態では、ブロック1123の動作を実行するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0129】
[0137] ブロック1125において、処理システムのプロセッサは、目標動作周波数が処理システムの許容動作周波数を超えるかどうかを決定することを含む動作を実行し得る。ブロック1125において、処理システムのプロセッサは、動作周波数比較/決定モジュール(たとえば、453)を使用し得る。いくつかの実施形態では、ブロック1125の動作を実行するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0130】
[0138] ブロック1127において、処理システムのプロセッサは、処理システムの許容動作周波数の指標を移動装置制御システムに送信することを含む動作を実行することがある。ブロック1127において、処理システムのプロセッサは、許容動作周波数送信モジュール(たとえば、454)を使用し得る。いくつかの実施形態では、許容動作周波数の送信された指標は、移動装置の目標移動速度を低下させるように移動装置制御システムに指示するように構成され得る。いくつかの実施形態では、許容動作周波数の送信された指標は、移動装置の最大移動速度制限を含む。ブロック1127の動作を実行するための手段は、トランシーバ(たとえば、159)、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0131】
[0139] いくつかの実施形態では、プロセッサは、移動装置速度と処理システム動作周波数との双方向制御を実行するために、ブロック1121、1123、1125、および1127における動作のいずれかまたはすべてを何度もまたは連続的に繰り返し得る。
【0132】
[0140]
図11Bは、方法1100とともに、または方法1100の拡張として実行され得る方法1101を示す。
【0133】
[0141]
図11Bを参照すると、ブロック1123における動作に続いて、決定ブロック1129において、処理システムのプロセッサは、目標動作周波数が処理システムの許容動作周波数を超えるかどうかを決定することを含む動作を実行し得る。決定ブロック1129において、処理システムのプロセッサは、動作周波数比較/決定モジュール(たとえば、453)を使用し得る。
【0134】
[0142] 目標動作周波数が処理システムの許容動作周波数に等しいかまたはそれを超えないと決定したこと(すなわち、決定ブロック1129=「No」)に応答して、プロセッサは、ブロック1131において、処理システムの動作周波数を目標動作周波数に変更し得る。
【0135】
[0143] 目標動作周波数が処理システムの許容動作周波数を超えると決定したこと(すなわち、決定ブロック1129=「Yes」)に応答して、プロセッサは、ブロック1133において、処理システムの現在の動作周波数を目標動作周波数の値を下回る値に変更し得る。決定ブロック1129の動作を実行するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る制御システム(たとえば、140)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0136】
[0144] プロセッサは、次いで、説明されるように、方法1100(
図11A)のブロック1127の動作を実行し得る。
【0137】
[0145]
図11Cは、方法1100とともに、または方法1100の拡張として実行され得る方法1102を示す。
【0138】
[0146]
図11Cを参照すると、ブロック1121における動作に続いて、ブロック1135において、処理システムのプロセッサは、処理システムの動作を制限し得る動作周波数バジェットに基づいて許容動作周波数を決定することを含む動作を実行し得る。動作周波数バジェットは、処理システムの熱限界、電力限界、および/または負荷出力限界などの、処理システムの限界を反映し得る。
【0139】
[0147] ブロック1135において、処理システムのプロセッサは、動作周波数バジェット決定モジュール(たとえば、452)を使用し得る。したがって、処理システムの決定された許容動作周波数は、動作周波数バジェットに基づき得る。ブロック1135の動作を実行するための手段は、トランシーバ(たとえば、159)、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0140】
[0148]
図11Dは、方法1100の代替として、または方法1100の拡張として実行され得る方法1103を示す。
【0141】
[0149]
図11Dを参照すると、ブロック1137において、処理システムのプロセッサは、移動装置の速度の指標を受信することを含む動作を実行し得る。ブロック1137において、処理システムのプロセッサは、処理レイテンシ要求指標受信モジュール(たとえば、450)を使用することがある。たとえば、処理レイテンシ要求の受信された指標は、移動装置の速度に相関し得る。追加または代替として、処理レイテンシ要求の受信された指標は、移動装置の対応する速度をサポートするために必要とされる処理システムの最小レイテンシを要求するレイテンシ要求投票を含み得る。いくつかの実施形態では、ブロック1137の動作を実行するための手段は、トランシーバ(たとえば、159)、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0142】
[0150] ブロック1139において、処理システムのプロセッサは、ブロック1137において受信された移動装置の速度に適合する処理システムの目標動作周波数を決定することを含む動作を実行し得る。ブロック1139において、処理システムのプロセッサは、目標動作周波数決定モジュール(たとえば、451)を使用し得る。たとえば、決定された目標動作周波数は、移動装置が安全に動作し得る速度に対する制限に変換する方法で、処理システム(たとえば、150)の動作を制限またはスロットリングし得る。いくつかの実施形態では、ブロック1139の動作を実行するための手段は、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0143】
[0151] ブロック1141において、プロセッサは、
図11Bを参照しながら説明された方法1101のブロック1131における動作と同様に、処理システムの動作周波数を目標動作周波数に変更し得る。いくつかの実施形態では、プロセッサは、移動装置速度と処理システム動作周波数との双方向制御を実行するために、ブロック1137、1139、および1141における動作のいずれかまたはすべてを何度もまたは連続的に繰り返し得る。
【0144】
[0152]
図11Eは、方法1103(
図11D)とともに、または方法1103の拡張として実行され得る方法1104を示す。
【0145】
[0153]
図11Eを参照すると、方法1103のブロック1139における動作に続いて、プロセッサは、ブロック1143において、目標動作周波数が処理システムの許容動作周波数を超えるかどうかを決定し得、それは、
図11Aを参照して説明された方法1100におけるブロック1125の動作と同様であり得る。いくつかの実施形態では、ブロック1141において処理システムの動作周波数を目標動作周波数に変更することは、目標動作周波数が処理システムの許容動作周波数を超えないと決定したことに応答して、処理システムの動作周波数を目標動作周波数に変更することを含み得る。いくつかの実施形態では、処理システムの動作周波数を目標動作周波数に変更することは、目標動作周波数が許容動作周波数を超えると決定したことに応答して、処理システムの現在の動作周波数を目標動作周波数未満の値に変更することを含み得る。ブロック1143の動作に続いて、プロセッサは、方法1103(
図11D)のブロック1141の動作を実行することがある。
【0146】
[0154]
図11Fは、方法1103(
図11D)とともに、または方法1103の拡張として実行され得る方法1105を示す。
【0147】
[0155]
図11Fを参照すると、方法1103(
図11D)のブロック1141における動作に続いて、プロセッサは、処理システムの現在の動作周波数を目標動作周波数未満の値に変更した後に、移動装置のための制御システムに、移動装置のための最大速度または処理システムの動作周波数の値のいずれかを通知することを含む、ブロック1145における動作を実行し得る。ブロック1145において、処理システムのプロセッサは、許容動作周波数送信モジュール(たとえば、454)を使用し得る。ブロック1145の動作を実行するための手段は、トランシーバ(たとえば、159)、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0148】
[0156] いくつかの実施形態では、プロセッサは、移動装置速度と処理システム動作周波数との双方向制御を実行するために、ブロック1137、1139、1141、および1145における動作のいずれかまたはすべてを何度もまたは連続的に繰り返し得る。
【0149】
[0157]
図11Gは、方法1103(
図11D)とともに、または方法1103の拡張として実行され得る方法1106を示す。
【0150】
[0158]
図11Gを参照すると、方法1103(
図11D)のブロック1139における動作に続いて、プロセッサは、処理システムの目標動作周波数の指標を移動装置制御システムに提供することを含む、ブロック1147における動作を実行し得る。ブロック1147において、処理システムのプロセッサは、許容動作周波数送信モジュール(たとえば、454)を使用し得る。ブロック1147の動作を実行するための手段は、トランシーバ(たとえば、159)、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0151】
[0159] ブロック1147の動作に続いて、プロセッサは、方法1103(
図11D)のブロック1141の動作を実行することがある。
【0152】
[0160]
図11Hは、方法1103(
図11D)とともに、または方法1103の拡張として実行され得る方法1107を示す。
【0153】
[0161]
図11Hを参照すると、方法1103(
図11D)のブロック1139における動作に続いて、プロセッサは、
図11Cを参照しながら説明した方法1102のブロック1135における動作と同様に、処理システムの動作を制限する動作周波数バジェットに基づいて許容動作周波数を決定することを含む、ブロック1149における動作を実行し得る。ブロック1149の動作に続いて、プロセッサは、方法1103(
図11D)のブロック1141の動作を実行することがある。
【0154】
[0162]
図11Iは、方法1103(
図11D)とともに、または方法1103の拡張として実行され得る方法1108を示す。
【0155】
[0163]
図11Iを参照すると、方法1103(
図11D)のブロック1139における動作に続いて、プロセッサは、処理システムの動作周波数が目標動作周波数に変更されたときを、移動装置のための制御システムに通知することを含む、ブロック1151における動作を実行し得る。いくつかの実施形態では、方法1103(
図11D)のブロック1137において移動装置の速度の指標を受信することは、移動装置の必要なまたは要求された速度の指標を受信することを含み得る。いくつかの実施形態では、方法1103(
図11D)のブロック1139における移動装置の示された速度に適合する処理システムの目標動作周波数を決定することは、移動装置の必要なまたは要求された速度をサポートする処理システムの目標動作周波数を決定することを含み得る。ブロック1151において、処理システムのプロセッサは、許容動作周波数送信モジュール(たとえば、454)を使用し得る。ブロック1151の動作を実行するための手段は、トランシーバ(たとえば、159)、メモリ(たとえば、143、153、220、258)を使用し得る処理システム(たとえば、150)のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)、外部リソース420、ならびに/あるいは制御システム140および/または処理システム150の1つまたは複数の他の構成要素を含み得る。
【0156】
[0164] ブロック1151の動作に続いて、プロセッサは、方法1103(
図11D)のブロック1141の動作を実行することがある。
【0157】
[0165]
図12は、様々な実施形態とともに使用するのに好適なワイヤレスデバイス1200の構成要素ブロック図である。
図1A~
図12を参照すると、様々な実施形態が様々なワイヤレスデバイス1200(たとえば、移動装置110f)上に実装され得、その一例がスマートフォンの形態で
図12に示されている。ワイヤレスデバイス1200は、第2のSOC204(たとえば、5G対応SOC)に結合された第1のSOC202(たとえば、SOC-CPU)を含み得る。第1のSOC202および第2のSOC204は、内部メモリ1216、ディスプレイ1212、およびスピーカー1214に結合され得る。さらに、ワイヤレスデバイス1200は、ワイヤレスデータリンクに接続され得る電磁放射を送るおよび受信するためのアンテナ1204、あるいは、第1のSOC202および/または第2のSOC204中の1つもしくは複数のプロセッサに結合されたセルラーネットワークトランシーバ149を含み得る。ワイヤレスデバイス1200はまた、ユーザ入力を受信するためのメニュー選択ボタンまたはロッカースイッチ1220を含み得る。
【0158】
[0166] ワイヤレスデバイス1200は、マイクロフォンから受信された音をワイヤレス送信に好適なデータパケットにデジタル化し、受信された音データパケットを復号して、音を生成するためにスピーカーに提供されるアナログ信号を生成する、音符号化/復号(コーデック)回路1210を含み得る。第1のSOC202および第2のSOC204と、ワイヤレストランシーバ149と、コーデック1210との中のプロセッサのうちの1つまたは複数は、デジタル信号プロセッサ(DSP)回路を含み得る(別々に図示せず)。
【0159】
[0167] 様々な実施形態(
図1A~
図11Cを参照して上述された実施形態を含む)は、様々なウェアラブルデバイス上に実装されることがあり、その一例がスマートグラス1300の形態で
図13に示されている。
図1A~
図13を参照すると、スマートグラス1300は、従来の眼鏡のように動作することがあるが、内蔵カメラ1335およびレンズ1331上またはその近くのヘッドアップディスプレイまたは拡張現実機能のような、強化されたコンピュータ機能およびセンサーを有する。任意の眼鏡と同様に、スマートグラスは、装着者の頭部に沿って耳の後ろにフィットするテンプル1304に結合されたフレーム1302を含み得る。フレーム1302は、ブリッジ1308上の鼻パッド1306が装着者の鼻の上に載ったとき、装着者の目の前の所定の位置にレンズ1331を保持する。
【0160】
[0168] いくつかの実施形態では、スマートグラス1300は、フレーム1302の一方または両方のテンプル1304内に埋め込まれ、光学レンズ1331上に画像を投影するように構成され得る、画像レンダリングデバイス1314(たとえば、画像プロジェクタ)を含み得る。いくつかの実施形態では、画像レンダリングデバイス1314は、発光ダイオード(LED)モジュール、光トンネル、均質化レンズ(homogenizing lens)、光学ディスプレイ、フォールドミラー、または、よく知られているプロジェクタもしくはヘッドマウントディスプレイなどの他の構成要素を含み得る。いくつかの実施形態(たとえば、画像レンダリングデバイス1314が含まれないかまたは使用されない実施形態)では、光学レンズ1331は、シースルーのまたは部分的にシースルーの電子ディスプレイであり得るか、あるいはそれを含み得る。いくつかの実施形態では、光学レンズ1331は、シースルー有機発光ダイオード(OLED)ディスプレイ要素または液晶オンシリコン(LCOS)ディスプレイ要素など、画像生成要素を含む。いくつかの実施形態では、光学レンズ1331は、独立した左眼および右眼ディスプレイ要素を含み得る。いくつかの実施形態では、光学レンズ1331は、ディスプレイ要素からの光を装着者の眼に送達するための光ガイドを含むか、または光ガイドとして動作し得る。
【0161】
[0169] スマートグラス130は、実行されている運動を決定するために有用であり得る、画像、音、筋運動、および他の現象を感知するために有用であり得る、装着者アクションおよび外部条件についての情報を取得するように構成され得る、いくつかの外部センサーを含み得る。いくつかの実施形態では、スマートグラス1300は、分析のために別のコンピューティングデバイス(たとえば、モバイルデバイス110f、1200)に送信され得る静止画像またはビデオストリーム中で装着者の前の物体を撮像するように構成されたカメラ1335を含み得る。いくつかの実施形態では、スマートグラス1300は、装着者の近傍の音を記録するように配置され構成されるマイクロフォン1310を含み得る。いくつかの実施形態では、複数のマイクロフォンが、顎の動き、呼吸音などの、装着者から発せられる音を記録するために、顎の近くのテンプル1304の遠位端などのフレーム1302上の異なるロケーションに配置され得る。いくつかの実施形態では、スマートグラス130は、こめかみの近くまたは耳の上など、一方または両方のテンプル1304に取り付けられ、装着者の顎およびこめかみ領域の神経および筋肉の電気的活動を測定するように構成された1つまたは複数の筋電
図1316を含み得る。いくつかの実施形態では、スマートグラス130は、顔の動きを感知するように構成された、鼻パッド1306上などの圧力センサーを含み得る。いくつかの実施形態では、スマートグラス130は、ユーザの呼吸パターンを決定するために有用であり得る、ユーザの肺の状態、酸素濃度、および/またはユーザ状態に関する情報を収集するための他のセンサー(たとえば、温度計、心拍数モニタ、体温センサー、パルス酸素濃度計など)を含み得る。
【0162】
[0170] 処理システム1312は、1つまたは複数のプロセッサ(たとえば、210、212、214、216、218、252、260、141、151)を含み得る処理および通信SOC202を含み得、それらのうちの1つまたは複数は、様々な実施形態の動作を実行するためのプロセッサ実行可能命令とともに構成され得る。処理および通信SOC202は、内部センサー1320と、内部メモリ1322と、Bluetoothリンクなどを介して外部コンピューティングデバイス(たとえば、モバイルデバイス600)とのワイヤレスデータリンクを確立するための1つまたは複数のアンテナ1326に結合された通信回路1324とに結合され得る。処理および通信SOC202はまた、カメラ1335、マイクロフォン1310、1つまたは複数の筋電
図1316、およびフレーム1302上に配置された他のセンサーを制御し、それらからデータを受信するように構成されたセンサーインターフェース回路1328に結合され得る。
【0163】
[0171] 内部センサー1320は、装着者の頭部の動きおよび向きを測定するように構成された電子ジャイロスコープ、加速度計、および磁気コンパスを含む慣性測定ユニット(IMU)を含み得る。内部センサー1320は、磁力計、高度計、走行距離計、および大気圧センサー、ならびにスマートグラス130の向きおよび動きを決定するのに有用な他のセンサーをさらに含み得る。そのようなセンサーは、説明されるように、流体を消費することと関連付けられる頭部運動を検出するための様々な実施形態において有用であり得る。
【0164】
[0172] 処理システム1312は、SOC202ならびにフレーム1302上の外部センサーに結合された再充電可能バッテリー1330などの電源をさらに含み得る。
【0165】
[0173] 様々な実施形態(限定はされないが、
図1A~
図11Cを参照して以上で説明される実施形態を含む)は、様々な移動装置上に実装されることがあり、その実施例は、外科手術ロボットの形態で
図14に示される。
図1A~
図14を参照すると、手術ロボット1400は、制御システム1410と、1つまたは複数のロボットアームを含む処理システム1420とを含み得る。制御システム1410は、ユーザディスプレイ1412および動作インターフェース1414などのユーザインターフェースを含み得る。処理システムは、双方向通信リンク1415を介して制御システム1410に結合されることがある。ロボットアームは、向き、位置、および加えられている圧力を検出するためのセンサー1422を含み得る。手術ロボット1400は、揮発性メモリ1402に結合されたプロセッサ1401と、ディスクドライブ1403などの大容量性不揮発性メモリとを含み得る。手術ロボット1400はまた、プロセッサ1401に結合されたフロッピーディスクドライブ、コンパクトディスク(CD)、またはデジタルビデオディスク(DVD)ドライブ1406などの周辺メモリアクセスデバイスを含み得る。手術ロボット1400はまた、他のシステムコンピュータとサーバとに結合されたインターネットおよび/またはローカルエリアネットワークなどのネットワークとのデータ接続を確立するためのプロセッサ1401に結合されたネットワークアクセスポート1404(またはインターフェース)を含み得る。手術ロボット1400は、通信リンクに接続され得る電磁放射を送るおよび受信するための1つまたは複数のアンテナ1407を含み得る。手術ロボット1400は、周辺機器、外部メモリ、または他のデバイスに結合するためのUSB、Firewire、Thunderboltなどの、追加のアクセスポートを含み得る。
【0166】
[0174] 実装例が、以下の段落において説明される。以下の実装例のうちのいくつかは、例示的な方法に関して説明されるが、さらなる例示的な実装形態は、以下の実装例の方法の動作を実行するためのプロセッサ実行可能命令とともに構成されたプロセッサを含む制御システムと相互作用するように構成された移動装置の処理システムによって実装される、以下の段落で説明される例示的な方法と、以下の実装例の方法の動作を実行するためのプロセッサ実行可能命令とともに構成されたプロセッサを含む移動装置の処理システムと相互作用するように構成された制御システムによって実装される、以下の段落で説明される例示的な方法と、以下の実装例の方法の機能を実行するための手段を含む移動装置の処理システムまたは制御システムによって実装される、以下の段落で説明される例示的な方法とを含むことがあり、以下の段落で説明される例示的な方法は、移動装置の処理システムまたは制御システムのプロセッサに、以下の実装例の方法の動作を実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的プロセッサ可読記憶媒体として実装され得る。
【0167】
[0175] 例1. 処理システムと相互作用する移動装置制御システムによって実行される方法であって、移動装置処理システムの動作周波数コントローラに処理レイテンシ要求指標を送信することと、送信された処理レイテンシ要求指標に応答して処理システムの許容動作周波数の指標を受信することと、許容動作周波数の受信された指標に基づいて移動装置の移動の特性を変更することとを含む方法。
【0168】
[0176] 例2. 動作周波数コントローラの現在の処理レイテンシの変更を必要とする移動装置の移動の特性の変更を決定することをさらに含み、ここにおいて、送信された処理レイテンシ要求指標は、移動装置の移動の特性の決定された変更を反映する、例1に記載の処理システムと相互作用する移動装置制御システムによって実行される方法。
【0169】
[0177] 例3. 移動装置目標速度または遠隔物体現在速度のうちの少なくとも1つを受信することをさらに含み、ここにおいて、移動装置制御システムの移動の特性の決定された変更は、移動装置制御システム目標速度または遠隔物体現在速度のうちの受信された少なくとも1つに基づく、例1または2のいずれかに記載の処理システムと相互作用する移動装置制御システムによって実行される方法。
【0170】
[0178] 例4. 送信された処理レイテンシ要求指標は、移動装置の目標速度に相関する、例1から3のいずれかに記載の処理システムと相互作用する移動装置制御システムによって実行される方法。
【0171】
[0179] 例5. 移動装置の移動の特性を変更することは、移動装置の速度を、許容動作周波数の受信された指標に関連付けられた目標速度に変更することを含む、例1から4のいずれかに記載の処理システムと相互作用する移動装置制御システムによって実行される方法。
【0172】
[0180] 例6. 許容動作周波数の受信された指標は、移動装置の最大速度を制限するように構成される、例1から5のいずれかに記載の処理システムと相互作用する移動装置制御システムによって実行される方法。
【0173】
[0181] 例7. 送信された処理レイテンシ要求指標は、処理システムに最小レイテンシを要求するレイテンシ要求投票を含む、例1から6のいずれかに記載の処理システムと相互作用する移動装置制御システムによって実行される方法。
【0174】
[0182] 例8. 移動装置の制御システムと相互作用する処理システムによって実行される方法であって、移動装置制御システムから処理レイテンシ要求の指標を受信することと、処理レイテンシ要求を達成するための目標動作周波数を決定することと、目標動作周波数が処理システムの許容動作周波数を超えるかどうかを決定することと、処理システムの許容動作周波数の指標を移動装置制御システムに送信することとを含む方法。
【0175】
[0183] 例9. 目標動作周波数が許容動作周波数を超えていないと決定したことに応答して、処理システムの動作周波数を目標動作周波数に変更することと、目標動作周波数が許容動作周波数を超えると決定したことに応答して、処理システムの現在の動作周波数を目標動作周波数の値を下回る値に変更することとをさらに含む、例8に記載の移動装置の制御システムと相互作用する処理システムによって実行される方法。
【0176】
[0184] 例10. 処理レイテンシ要求の受信された指標は、移動装置の目標速度に相関する、例8または9のいずれかに記載の移動装置の制御システムと相互作用する処理システムによって実行される方法。
【0177】
[0185] 例11. 許容動作周波数の送信された指標は、移動装置の目標移動速度を低下させるように移動装置制御システムに指示するように構成される、例8から10のいずれかに記載の移動装置の制御システムと相互作用する処理システムによって実行される方法。
【0178】
[0186] 例12. 許容動作周波数の送信された指標は、移動装置の最大移動速度を制限するように構成される、例8から11のいずれかに記載の移動装置の制御システムと相互作用する処理システムによって実行される方法。
【0179】
[0187] 例13. 処理レイテンシ要求の受信された指標は、処理システムに最小レイテンシを要求するレイテンシ要求投票を含む、例8から12のいずれかに記載の移動装置の制御システムと相互作用する処理システムによって実行される方法。
【0180】
[0188] 例14. 処理システムの動作を制限する動作周波数バジェットに基づいて許容動作周波数を決定することをさらに含み、ここにおいて、処理システムの許容動作周波数は、処理システムの熱限界、電力限界、または負荷出力限界のうちの少なくとも1つに基づく、例8から13のいずれかに記載の移動装置の制御システムと相互作用する処理システムによって実行される方法。
【0181】
[0189] 様々な実施形態を実装するプロセッサは、本出願で説明される様々な態様の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数のマルチプロセッサチップであり得る。いくつかの通信デバイスでは、ワイヤレス通信機能専用の1つのプロセッサ、他のアプリケーションを実行することに専用の1つのプロセッサなど、複数のプロセッサが設けられ得る。典型的には、ソフトウェアアプリケーションは、それらがアクセスされプロセッサにロードされる前に、内部メモリに記憶され得る。プロセッサは、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。
【0182】
[0190] 本出願で使用される「構成要素」、「モジュール」、「システム」などの用語は、限定はしないが、特定の動作または機能を実行するように構成された、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連のエンティティを含むことが意図されている。たとえば、構成要素は、限定はしないが、プロセッサ上で実行しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得る。例として、通信デバイスのプロセッサ上で実行しているアプリケーションと、通信デバイスの両方は、構成要素と呼ばれることがある。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在し得、構成要素は、1つのプロセッサまたはコア上に局所化され、および/あるいは、2つまたはそれ以上のプロセッサまたはコアの間で分散され得る。さらに、これらの構成要素は、様々な命令および/またはデータ構造を記憶した様々な非一時的コンピュータ可読媒体から実行し得る。構成要素は、ローカルおよび/またはリモートプロセス、関数またはプロシージャ呼出し、電子信号、データパケット、メモリ読取り/書込み、ならびに他の既知のネットワーク、コンピュータ、プロセッサ、および/またはプロセス関連の通信方法を介して通信し得る。
【0183】
[0191] いくつかの異なるセルラーおよびモバイル通信サービスおよび規格が、将来において利用可能になるかまたは企図されており、それらのすべては、様々な態様を実装し、それらから恩恵を受け得る。そのようなサービスおよび規格は、たとえば、第3世代パートナーシッププロジェクト(3GPP)、ロングタームエボリューション(LTE)システム、第3世代ワイヤレスモバイル通信技術(3G)、第4世代ワイヤレスモバイル通信技術(4G)、第5世代ワイヤレスモバイル通信技術(5G)、モバイル通信用グローバルシステム(GSM)、ユニバーサルモバイルテレコミュニケーションズシステム(UMTS)、3GSM、汎用パケット無線サービス(GPRS)、符号分割多元接続(CDMA)システム(たとえば、cdmaOne、CDMA1020(登録商標))、EDGE、高度モバイルフォンシステム(AMPS)、デジタルAMPS(IS-136/TDMA)、エボリューションデータオプティマイズド(EV-DO)、デジタル拡張コードレス電気通信(DECT)、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)、ワイヤレスローカルエリアネットワーク(WLAN)、Wi-Fi保護アクセスIおよびII(WPA、WPA2)、統合デジタル拡張ネットワーク(iden)、C-V2X、V2V、V2P、V2I、およびV2N、などを含み得る。これらの技術の各々は、たとえば、音声、データ、シグナリング、および/またはコンテンツメッセージの送信および受信を伴う。個々の電気通信規格または技術に関係する用語および/または技術的詳細へのいかなる言及も、説明の目的のためにすぎず、クレームの文言に明記されていない限り、特許請求の範囲の範囲を特定の通信システムまたは技術に限定することを意図されていないことを理解されたい。
【0184】
[0192] 図示および説明された様々な態様は、特許請求の範囲の様々な特徴を例示するための例として提供されているにすぎない。しかしながら、任意の所与の態様に関して図示および説明された特徴は、必ずしも関連する態様に限定されるとは限らず、図示および説明された他の態様とともに使用されるかまたはそれらと組み合わせられ得る。さらに、特許請求の範囲は、いかなる1つの例示的な態様によっても限定されることを意図されていない。たとえば、方法の動作のうちの1つまたは複数は、方法の1つまたは複数の動作の代わりに使用されるか、あるいはそれらと組み合わされてよい。
【0185】
[0193] 上記の方法の説明およびプロセスフロー図は、例示的な例として与えられたものにすぎず、様々な態様の動作が提示された順序で実施されなければならないことを必要とするまたは暗示することを意図されていない。当業者によって諒解されるように、上記の態様における動作の順序は任意の順序で実施され得る。「その後」、「次いで」、「次に」などの単語は、動作の順序を限定することを意図されておらず、これらの単語は、方法の説明を通じて読者を案内するために使用される。さらに、たとえば、冠詞「a」、「an」、または「the」を使用する単数形の請求項の要素へのいかなる言及は、その要素を単数形に限定するものと解釈されるべきではない。
【0186】
[0194] 本明細書で開示された態様に関して説明された様々な例示的な論理ブロック、モジュール、構成要素、回路、およびアルゴリズム動作は、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアとのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、および動作が、上記では概してそれらの機能に関して説明された。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、システム全体に課される特定の適用例および設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに様々な方法で実装し得るが、そのような態様の決定は、特許請求の範囲の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【0187】
[0195] 本明細書で開示された態様に関して説明された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASIC、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明された機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、受信機スマートオブジェクトの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。代替的に、いくつかの動作または方法は、所与の機能に固有である回路によって実行され得る。
【0188】
[0196] 1つまたは複数の態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、非一時的コンピュータ可読媒体または非一時的プロセッサ可読記憶媒体上に1つもしくは複数の命令またはコードとして記憶され得る。本明細書で開示される方法またはアルゴリズムの動作は、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体上に存在し得る、プロセッサ実行可能ソフトウェアモジュールまたはプロセッサ実行可能命令中で実施され得る。非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体であり得る。限定ではなく例として、そのような非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体は、RAM、ROM、EEPROM、FLASH(登録商標)メモリ、CD-ROMまたは他の光ディスク(disk)ストレージ、磁気ディスク(disk)ストレージまたは他の磁気ストレージスマートオブジェクト、あるいは命令またはデータ構造の形で所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せも、非一時的コンピュータ可読媒体および非一時的プロセッサ可読媒体(non-transitory processor-readable medium)の範囲内に含まれる。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読記憶媒体および/または非一時的コンピュータ可読記憶媒体上のコードおよび/または命令の1つまたは任意の組合せ、あるいはそのセットとして存在し得る。
【0189】
[0197] 開示された態様の先行する説明は、当業者が特許請求の範囲を製作または使用することを可能にするように提供される。これらの態様に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義される一般原理は、特許請求の範囲の範囲から逸脱することなく他の態様に適用され得る。したがって、本開示は、本明細書に示された態様に限定されることを意図されておらず、以下の特許請求の範囲ならびに本明細書で開示される原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
【要約】
システムおよび方法は、移動装置処理システムの動作周波数コントローラに処理レイテンシ要求を示すことと、処理システムの許容動作周波数の指標を受信することと、許容動作周波数指標に基づいて移動装置の移動の特性を変更することとを含み得る。いくつかの実施形態は、移動装置制御システムから処理レイテンシ要求の指標を受信することと、処理レイテンシ要求を達成するための目標動作周波数を決定することと、目標動作周波数が許容動作周波数を超えるかどうかを決定することと、処理システムの許容動作周波数を移動装置制御システムに示すこととを含む。さらなる実施形態は、移動装置の速度の指標を受信することと、移動装置の示された速度に適合する処理システムの目標動作周波数を決定することと、処理システムの動作周波数を目標動作周波数に変更することとを含む。