IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソフトバンクグループ株式会社の特許一覧

<>
  • 特開-情報処理装置及びプログラム 図1
  • 特開-情報処理装置及びプログラム 図2
  • 特開-情報処理装置及びプログラム 図3
  • 特開-情報処理装置及びプログラム 図4
  • 特開-情報処理装置及びプログラム 図5
  • 特開-情報処理装置及びプログラム 図6
  • 特開-情報処理装置及びプログラム 図7
  • 特開-情報処理装置及びプログラム 図8
  • 特開-情報処理装置及びプログラム 図9
  • 特開-情報処理装置及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024071333
(43)【公開日】2024-05-24
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
   B60W 40/00 20060101AFI20240517BHJP
   G08G 1/00 20060101ALI20240517BHJP
【FI】
B60W40/00
G08G1/00 D
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023063765
(22)【出願日】2023-04-10
(31)【優先権主張番号】P 2022182131
(32)【優先日】2022-11-14
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】591280485
【氏名又は名称】ソフトバンクグループ株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】孫 正義
【テーマコード(参考)】
3D241
5H181
【Fターム(参考)】
3D241BA49
3D241BA60
3D241CA09
3D241CA16
3D241CC03
3D241CC17
3D241CE01
3D241CE04
3D241CE05
3D241DA54Z
3D241DA61Z
3D241DB29Z
3D241DB32Z
3D241DC18Z
3D241DC28Z
3D241DC39Z
3D241DC51Z
3D241DC57Z
5H181AA01
5H181BB04
5H181BB12
5H181BB13
5H181BB20
5H181CC02
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181FF04
5H181FF10
5H181FF13
5H181FF27
5H181LL09
(57)【要約】
【課題】車両に搭載されたセンサの組み合わせで取得したインデックス値に基づいて自動運転を制御する。
【解決手段】一の自動運転制御対象のインデックス値算出時、他の自動運転制御対象の制御変数V,C、R、Sを相互に反映させるようにした。例えば、車輪速Vにおいて、車輪速Vに最適な制御変数が算出されたとしても、この制御変数が、他の自動運転制御対象(舵角R、キャンバ角C、及びサスペンションS)に影響を及ぼす場合がある。そこで、自動運転制御対象毎に算出された制御変数を、相互に反映させることで、一方の制御が他方の制御に悪影響を与えるといった相互副作用を解消することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
車両に備えた複数のセンサ情報のうち、予め定められた数のセンサ情報の複数の組み合わせ毎に、前記車両の車輪それぞれの車輪速、傾き、及び前記車輪を支持するサスペンション毎の、当該車輪速、当該傾き、及び当該サスペンションを少なくとも含む自動運転制御対象を制御するためのインデックス値を算出し、前記インデックス値を集約して当該自動運転制御対象毎の制御変数を算出する算出部と、
前記算出部で算出した制御変数に基づいて、自動運転を制御する制御部とを備え、
前記算出部が、一の前記自動運転制御対象に対して算出した制御変数を、他の前記自動運転制御対象の制御変数を算出するためのインデックス値として利用する、
情報処理装置。
【請求項2】
前記算出部は、相互に利用する前記自動運転制御対象の制御変数に対して、重み付けする、請求項1記載の情報処理装置。
【請求項3】
前記算出部は、深層学習を用いた積分法による多変量解析により、前記インデックス値から前記制御変数を算出する、
請求項1に記載の情報処理装置。
【請求項4】
前記傾きが、舵角とキャンバ角とを含む、請求項1記載の情報処理装置。
【請求項5】
前記算出部は、前記自動運転制御対象のために、前記複数のセンサ情報の組み合わせを選択し、選択されたセンサ情報の組み合わせによって、前記自動運転制御対象毎に予め定められた数のインデックス値を算出する、請求項1記載の情報処理装置。
【請求項6】
コンピュータを、
請求項1~請求項5の何れか1項記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、自動運転機能を有する車両について記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-035198号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、車両に搭載されたセンサの組み合わせで取得したインデックス値に基づいて自動運転を制御することができる情報処理装置、プログラムを得ることが目的である。
【課題を解決するための手段】
【0005】
本発明の一実施態様によれば、車両に備えた複数のセンサ情報のうち、予め定められた数のセンサ情報の複数の組み合わせ毎に、前記車両の車輪それぞれの車輪速、傾き、及び前記車輪を支持するサスペンション毎の、当該車輪速、当該傾き、及び当該サスペンションを少なくとも含む自動運転制御対象を制御するためのインデックス値を算出し、前記インデックス値を集約して当該自動運転制御対象毎の制御変数を算出する算出部と、前記算出部で算出した制御変数に基づいて、自動運転を制御する制御部とを備え、前記算出部が、一の前記自動運転制御対象に対して算出した制御変数を、他の前記自動運転制御対象の制御変数を算出するためのインデックス値として利用することを特徴としている。
【0006】
本発明によれば、算出部では、車両に備えた複数のセンサ情報のうち、予め定められた数のセンサ情報の複数の組み合わせ毎に、車両の車輪それぞれの車輪速、傾き、及び車輪を支持するサスペンション毎の、当該車輪速、当該傾き、及び当該サスペンションを少なくとも含む自動運転制御対象を制御するためのインデックス値を算出し、インデックス値を集約して当該自動運転制御対象毎の制御変数を算出する。
【0007】
制御部では、算出部で算出した制御変数に基づいて、自動運転を制御する。
【0008】
ここで、算出部では、一の前記自動運転制御対象に対して算出した制御変数を、他の前記自動運転制御対象の制御変数を算出するためのインデックス値として利用する。
【0009】
すなわち、自動運転制御対象毎に算出された制御変数を、相互に反映させることで、一方の制御が他方の制御に悪影響を与えるといった相互副作用を解消することができる。
【0010】
本発明において、前記算出部は、相互に利用する前記自動運転制御対象の制御変数に対して、重み付けすることを特徴としている。
【0011】
本発明において、前記算出部は、深層学習を用いた積分法による多変量解析により、前記インデックス値から前記制御変数を算出することを特徴としている。
【0012】
本発明において、前記傾きが、舵角とキャンバ角とを含むことを特徴としている。
【0013】
本発明において、前記算出部は、前記自動運転制御対象のために、前記複数のセンサ情報の組み合わせを選択し、選択されたセンサ情報の組み合わせによって、前記自動運転制御対象毎に予め定められた数のインデックス値を算出することを特徴としている。
【0014】
自動運転制御対象間、例えば、車輪速と、傾き及びサスペンションとにおいて、車輪速度のインデックス値を算出するために有用なセンサ種と、傾き及びサスペンションのインデックス値を算出するために有用なセンサ種とは異なる場合がある。
【0015】
そこで、自動運転制御対象毎のインデックス値をセンサ情報の種類を選択することによって、異なるインデックス値群としてもよい。
【0016】
例えば、車輪速の制御変数は、車輪速の算出に不必要なインデックス値を除き車輪速を算出するために必要なインデックス値のみを300個用意し、サスペンションの制御変数は、サスペンションを制御するために必要なインデックス値のみを300個用意し、傾きの制御変数は、傾きを算出するために必要なインデックス値のみを300個用意する。
【0017】
すなわち、必要十分なセンサ情報から算出される各要素のインデックス値を用いる自動運転制御は、同じ種類のセンサ情報から算出される各要素のインデックス値を用いる自動運転制御の精度を上げることができる。算出部は、車両の走行状況に応じて変更された複数のセンサ情報の組み合わせに基づいて、自動運転制御対象毎に予め定められた数のインデックス値を算出するようにしてもよい。
【0018】
本発明の一実施態様によれば、コンピュータを、前記情報処理装置として機能させるためのプログラムが提供される。
【0019】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となり得る。
【発明の効果】
【0020】
以上説明したように本発明では、車両に搭載されたセンサの組み合わせで取得したインデックス値に基づいて自動運転を制御することができる。
【図面の簡単な説明】
【0021】
図1】第1の実施の形態に係る超高性能自動運転のAIの危険予測能力について概略的に示す図である。
図2】第1の実施の形態に係る車両内のネットワーク構成の一例を概略的に示す図である。
図3】第1の実施の形態に係るCentral Brainにより実行されるフローチャートである。
図4】第1の実施の形態に係るCentral Brainによる自動運転の制御例を説明する第1の説明図である。
図5】第1の実施の形態に係るCentral Brainによる自動運転の制御例を説明する第2の説明図である。
図6】第1の実施の形態に係るCentral Brainによる自動運転の制御例を説明する第3の説明図である。
図7】第1の実施の形態に係るCentral Brainによる自動運転の制御例を説明する第4の説明図である。
図8】第1の実施の形態に係るCentral Brainによる自動運転の制御例を説明する第5の説明図である。
図9】Central Brainとして機能するコンピュータのハードウェア構成の一例を概略的に示す図である。
図10】第2の実施の形態に係るCentral Brainにより実行されるフローチャートである。
【発明を実施するための形態】
【0022】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲にかかる発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0023】
[第1の実施の形態]
図1は、第1の実施の形態に係る超高性能自動運転のAIの危険予測の能力について概略的に示す。第1の実施の形態においては、複数種類のセンサ情報をAIデータ化してクラウドに蓄積する。AIがナノセカンド(10億分の1秒)ごとに状況のベストミックスを予測、判断し、車両12の運行を最適化する。
【0024】
図2は、Central Brain120の車両12内の構成を説明するための図である。Central Brain120は、情報処理装置の一例である。
【0025】
図2に示されているように、Central Brain120には、複数のGate Wayが通信可能に接続されている。Central Brain120は、Gate Wayを介して外部のクラウドに接続されている。Central Brain120は、Gate Wayを介して外部のクラウドへアクセスすることができるように構成されている。その一方で、Gate Wayの存在により、外部からCentral Brain120へ直接アクセスすることはできないように構成されている。
【0026】
Central Brain120は、所定時間が経過する毎に、要求信号をサーバへ出力する。具体的には、Central Brain120は、10億分の1秒毎に、問い合わせを表す要求信号をサーバへ出力する。
【0027】
第1の実施の形態において使用する車両12に備えたセンサの例として、レーダー、LiDAR、高画素・望遠・超広角・360度・高性能カメラ、ビジョン認識、微細音、超音波、振動、赤外線、紫外線、電磁波、温度、湿度、スポットAI天気予報、高精度マルチチャネルGPS、低高度衛星情報、ロングテールインシデントAI data等が挙げられる。ロングテールインシデントAI dataとはレベル5の実装した自動車のTripデータである。
【0028】
複数種類のセンサから取り入れるセンサ情報として、体重の重心移動、道路の材質の検知、外気温度の検知、外気湿度の検知、坂道の上下横斜め傾き角度の検知、道路の凍り方、水分量の検知、それぞれのタイヤの材質、摩耗状況、空気圧の検知、道路幅、追い越し禁止有無、対向車、前後車両の車種情報、それらの車のクルージング状態、周囲の状況(鳥、動物、サッカーボール、事故車、地震、火事、風、台風、大雨、小雨、吹雪、霧、など)等が挙げられ、第1の実施の形態では、これらの検知を10億分の1秒毎に実施する。
【0029】
第1の実施の形態においては、Central Brain120は、上記のセンサにより検知されたセンサ情報のうち、予め定められた数のセンサ情報の複数の組み合わせ毎に、車両の4つの車輪それぞれの車輪速、傾き、及び車輪を支持するサスペンション毎の、車輪速、傾き、及びサスペンションを制御するための制御変数を算出する算出部として機能する。なお、車輪の傾きは、道路に対して水平な軸に対する車輪の傾き(言い換えれば、車体に対して前輪が右または左に切れている角度であり、舵角という)、及び道路に対して垂直な軸に対する車輪の傾き(言い換えれば、正面から車をまっすぐ見たときのタイヤと地面の角度であり、キャンバ角という)の双方を含む。なお、自動運転制御対象は、上記車輪速、傾き、及びサスペンション以外に、制動力、ピッチ角、車高等、他の自動運転制御対象を含めてもよい。
【0030】
なお、車輪速、傾き(舵角、キャンバ角)、及びサスペンションは、自動運転を制御するための自動運転制御要素ということができる。
【0031】
ここで、予め定められた数は、例えば3個である。3個のセンサ情報に基づいて、車輪速、傾き(舵角、キャンバ角)、及びサスペンションを制御するためのインデックス値を算出する。3個のセンサ情報の組み合わせから算出するインデックス値の数は、例えば3個である。車輪速、傾き(舵角、キャンバ角)、及びサスペンションを制御するためのインデックス値には、例えば、センサ情報のうち空気抵抗に関する情報から算出したインデックス値、センサ情報のうち道路抵抗に関する情報から算出したインデックス値、センサ情報のうち滑り係数に関する情報から算出したインデックス値などが含まれる。そして、センサ情報の組み合わせが異なる複数のセンサ情報の組み合わせ毎に算出したインデックス値を集約して、車輪速、傾き(舵角、キャンバ角)、及びサスペンションを制御するための制御変数を算出する。例えば、センサ1、2及び3の組み合わせで複数のインデックス値を算出し、センサ4、5及び6の組み合わせで複数のインデックス値を算出し、センサ1、3及び7の組み合わせで複数のインデックス値を算出し、このインデックス値を集約して制御変数を算出する。このように、センサ情報の組み合わせを変えながら予め定められた数、例えば300個のインデックス値を算出し、制御変数を算出する。具体的には、算出部は、機械学習、より詳しくは深層学習(Deep Learning)を用いて、センサ情報から制御変数を算出することが可能なものであってよい。換言すると、算出部はAI(Artificial Intelligence)で構成することができる。
【0032】
この算出部は、多くのセンサ群等で収集したナノ秒毎のデータを、Level6の計算力を用い、例えば、車輪速Vについては、下記式(1)に示すような積分法による多変量解析(例えば式(2)参照)を行うことで、正確な制御変数を求め得る。より詳しくは、Level6の計算力で各種Ultra High Resolutionのデルタ値の積分値を求めながら、エッジレベルで且つリアルタイムで各変数のインデックス化された値を求め、次のナノ秒に発生する結果を最も高い確率論値を取得し得る。
【0033】
【数1】
【0034】
【数2】
【0035】
なお、式中のDLは深層学習を示し、A,B,C,D,…,Nは、センサ情報から算出したインデックス値であり、例えば空気抵抗から算出したインデックス値、道路抵抗から算出したインデックス値、道路要素から算出したインデックス値及び滑り係数から算出したインデックス値等を示す。予め定められた数のセンサ情報の組み合わせを変えながら算出されたインデックス値が300個の場合は、式中のA~Nのインデックス値も300個となり、300個のインデックス値を集約する。
【0036】
ここで、式(2)には、A~Nのインデックス値とは別に、「S」、「C」、「R」と表記された変数が含まれている。
【0037】
変数「S」は、サスペンションSのために算出した制御変数(後述の式(3)参照)であり、変数「C」は、キャンバ角Cのために算出した制御変数であり(後述の式(5)参照)、変数「R」は舵角Rのために算出した制御変数である(後述の式(7)参照)。
【0038】
また、上記の式(1)及び式(2)では、車輪速(V)について算出しているが、傾き(舵角、キャンバ角)、及びサスペンションを制御するための制御変数についても同様に算出する。
【0039】
すなわち、傾き(舵角R)については、下記式(3)に示すような積分法による多変量解析(例えば式(4)参照)を行うことで、正確な制御変数を求め得る。
【0040】
【数3】
【0041】
【数4】
【0042】
ここで、式(4)には、A~Nのインデックス値とは別に、「V」、「S」、「C」と表記された変数が含まれている。
【0043】
変数「V」は、車輪速Vのために算出した制御変数(後述の式(1)参照)であり、変数「S」はサスペンションSのために算出した制御変数であり(後述の式(7)参照)、変数「C」は、キャンバ角Cのために算出した制御変数であり(後述の式(5)参照)である。
【0044】
また、傾き(キャンバ角C)については、下記式(5)に示すような積分法による多変量解析(例えば式(6)参照)を行うことで、正確な制御変数を求め得る。
【0045】
【数5】
【0046】
【数6】
【0047】
ここで、式(6)には、A~Nのインデックス値とは別に、「V」、「S」、「R」と表記された変数が含まれている。
【0048】
変数「V」は、車輪速Vのために算出した制御変数(後述の式(1)参照)であり、変数「S」はサスペンションSのために算出した制御変数であり(後述の式(7)参照)、変数「R」は、舵角Rのために算出した制御変数であり(後述の式(3)参照)である。
【0049】
さらに、サスペンションSについては、下記式(7)に示すような積分法による多変量解析(例えば式(8)参照)を行うことで、正確な制御変数を求め得る。
【0050】
【数7】
【0051】
【数8】
【0052】
ここで、式(8)には、A~Nのインデックス値とは別に、「V」、「C」、「R」と表記された変数が含まれている。
【0053】
変数「V」は、車輪速Vのために算出した制御変数(後述の式(1)参照)であり、変数「C」はキャンバ角Cのために算出した制御変数であり(後述の式(5)参照)、変数「R」は、舵角Rのために算出した制御変数であり(後述の式(3)参照)である。
【0054】
具体的には、Central Brain120は、4つの車輪それぞれの車輪速、道路に対して水平な軸に対する4つの車輪それぞれの傾き(舵角、キャンバ角)、道路に対して垂直な軸に対する4つの車輪それぞれの傾き(舵角、キャンバ角)、及び4つの車輪それぞれを支持するサスペンションを制御するための計16の制御変数を算出する。第1の実施の形態では、上記16の制御変数の算出を10億分の1秒毎に実施する。
【0055】
なお、上記の4つの車輪それぞれの車輪速は「4つの車輪にそれぞれ搭載されたインホイールモータのスピン数(回転数)」と言うことができる。
【0056】
上記の道路に対して水平な軸に対する4つの車輪それぞれの傾き(舵角)は「4つの車輪それぞれの水平アングル」と言うことができる。
【0057】
上記の道路に対して垂直な軸に対する4つの車輪それぞれの傾き(キャンバ角)は「4つの車輪それぞれの垂直アングル」と言うことができる。
【0058】
上記の道路に対して車輪の位置を決めるサスペンション(コイルスプリング、ショックアブソーバー)は「4つの車輪それぞれの道路から受ける衝撃を吸収する減衰量」と言うことができる。
【0059】
そして、上記の制御変数は、例えば、車両が山道を走行する場合には当該山道に合わせた最適なステアリングを行うための数値となり、車両を駐車場に駐車する場合には当該駐車場に合わせた最適なアングルで走行するための数値となる。
【0060】
また、第1の実施の形態においては、Central Brain120は、4つの車輪それぞれの車輪速、道路に対して水平な軸に対する4つの車輪それぞれの傾き(舵角)、道路に対して垂直な軸に対する4つの車輪それぞれの傾き(キャンバ角)、及び4つの車輪それぞれを支持するサスペンションを制御するための計16の制御変数を算出するが、この算出はCentral Brain120である必要は無く、上記の制御変数を算出する専用のアンカーチップを別途設けても良い。この場合にも式中(2)のDLは深層学習を示し、A,B,C,D,…,Nは、センサ情報から算出したインデックス値を示す。集約するインデックスの数が上述したように300個の場合は、かかる式中のインデックスの数も300個となる。
【0061】
また、第1の実施の形態においては、Central Brain120は、上記で算出した制御変数に基づいて、10億分の1秒単位で自動運転を制御する制御部として機能する。具体的には、Central Brain120は、上記16の制御変数に基づいて、4つの車輪にそれぞれ搭載されたインホイールモータを制御することで、車両12の4つの車輪それぞれの車輪速、傾き(舵角、キャンバ角)、及び4つの車輪それぞれを支持するサスペンションを制御して自動運転を行う。
【0062】
Central Brain120は、図3に示されているフローチャートを繰り返し実行する。
【0063】
ステップS10において、Central Brain120は、センサにより検知された道路情報を含むセンサ情報を取得する。そして、Central Brain120は、ステップS11に進む。
【0064】
ステップS11において、Central Brain120は、ステップS10で取得したセンサ情報に基づいて、上記16の制御変数を算出する。そして、CentralBrain120は、ステップS12に進む。
【0065】
ステップS12において、Central Brain120は、ステップS11で算出した制御変数に基づいて、自動運転を制御する。そして、Central Brain120は、当該フローチャートの処理を終了する。
【0066】
図4から図8は、Central Brain120による自動運転の制御例を説明する説明図である。なお、図4から図6は、車両12を前方から見た視点の説明図であり、図7及び図8は、車両12を下方から見た視点の説明図である。
【0067】
図4は、車両12が平坦な道路R1を走行中の場合を示している。Central Brain120は、道路R1に合わせて算出した上記16の制御変数に基づいて、4つの車輪30にそれぞれ搭載されたインホイールモータ31を制御することで、4つの車輪30それぞれの車輪速、傾き(舵角、キャンバ角)、及び4つの車輪30それぞれを支持するサスペンション32を制御して自動運転を行う。
【0068】
図5は、車両12が山道R2を走行中の場合を示している。Central Brain120は、山道R2に合わせて算出した上記16の制御変数に基づいて、4つの車輪30にそれぞれ搭載されたインホイールモータ31を制御することで、4つの車輪30それぞれの車輪速、傾き(舵角、キャンバ角)、及び4つの車輪30それぞれを支持するサスペンション32を制御して自動運転を行う。
【0069】
図6は、車両12が水たまりR3を走行中の場合を示している。Central Brain120は、水たまりR3に合わせて算出した上記16の制御変数に基づいて、4つの車輪30にそれぞれ搭載されたインホイールモータ31を制御することで、4つの車輪30それぞれの車輪速、傾き(舵角、キャンバ角)、及び4つの車輪30それぞれを支持するサスペンション32を制御して自動運転を行う。
【0070】
図7は、車両12が矢印A1で示す方向にカーブする場合を示している。Central Brain120は、進入するカーブ路に合わせて算出した上記16の制御変数に基づいて、4つの車輪30にそれぞれ搭載されたインホイールモータ31を制御することで、4つの車輪30それぞれの車輪速、傾き(舵角、キャンバ角)、及び4つの車輪30それぞれを支持するサスペンション32(図示せず)を制御して自動運転を行う。
【0071】
図8は、車両12が矢印A2で示す方向に平行移動する場合を示している。Central Brain120は、矢印A2で示す方向への平行移動に合わせて算出した上記16の制御変数に基づいて、4つの車輪30にそれぞれ搭載されたインホイールモータ31を制御することで、4つの車輪30それぞれの車輪速、傾き(舵角、キャンバ角)、及び4つの車輪30それぞれを支持するサスペンション32(図示せず)を制御して自動運転を行う。
【0072】
なお、図4から図8で示す車輪30及びサスペンション32の状態(傾き(舵角、キャンバ角))は、あくまで一例であり、各図で示す状態とは異なる車輪30及びサスペンション32の状態が生じうることは言うまでもない。
【0073】
ここで、従来の車両に搭載されたインホイールモータは、それぞれの駆動輪を独立して制御することができるが、当該車両では、道路状況等を分析してインホイールモータを制御することまではできなかった。そのため、当該車両では、例えば、山道又は水たまり等を走行する場合に道路状況等に基づく適切な自動運転が行えなかった。
【0074】
しかし、第1の実施の形態に係る車両12によれば、上記で説明した構成に基づいて、道路状況等の環境に適してスピード及びステアリング等が制御された自動運転を行うことができる。
【0075】
また、上記式(2)、式(4)、式(6)、及び式(8)では、他の自動運転制御対象で得た制御変数V,C、R、Sを相互に反映させるようにした。
【0076】
例えば、車輪速Vにおいて、車輪速Vに最適な制御変数が算出されたとしても、この制御変数が、他の自動運転制御対象(舵角R、キャンバ角C、及びサスペンションS)に影響を及ぼす場合がある。
【0077】
そこで、自動運転制御対象毎に算出された制御変数を、相互に反映させることで、一方の制御が他方の制御に悪影響を与えるといった相互副作用を解消することができる。
【0078】
なお、第1の実施の形態では、上記式(2)、式(4)、式(6)、及び式(8)では、他の自動運転制御対象で得た制御変数V,C、R、Sを相互に反映させる場合に、相互に算出した数値をそのまま適用したが、必要に応じて、それぞれの制御変数に重み付けを行うようにしてもよい。
【0079】
例えば、舵角Rとキャンバ角Cとは、相互に関連度合いが強いので、例えば、舵角Rの制御変数を算出するときのキャンバ角Cの制御変数に対して、他の制御変数(車輪速V及びサスペンションS)よりも重み付けを行うことで、制御変数の精度を高めることができる。
【0080】
[第2の実施の形態]
以下に本発明の第2の実施の形態について説明する。なお、第2の実施の形態の基本構成は、図1及び図2に示す第1の実施の形態の構成と同様であるため、第1の実施の形態として示した図面を適宜参照する。
【0081】
第2の実施の形態の特徴は、インデックス値を取得するときのセンサ情報の選択にある。
【0082】
第1の実施の形態では、予め定められた数(例えば3個)のセンサ情報に基づいて、車輪速、傾き(舵角、キャンバ角)、及びサスペンションを制御するためのインデックス値を算出する。
【0083】
すなわち、センサ情報の組み合わせが異なる複数のセンサ情報の組み合わせ毎に算出したインデックス値を集約して、車輪速、傾き(舵角、キャンバ角)、及びサスペンションを制御するための制御変数を算出することで、センサ情報の組み合わせを変えながら予め定められた数、例えば300個のインデックス値を算出し、制御変数を算出するようにした。
【0084】
しかしながら、車輪速、傾き(舵角、キャンバ角)、及びサスペンションの各要素(自動運転制御要素)は、全てのセンサの情報が必要とは限らず、取得した300個のインデックス値の中には、寄与度が低いデータが含まれる場合がある。
【0085】
そこで、第2の実施の形態では、車輪速、傾き(舵角、キャンバ角)、及びサスペンションの自動運転制御要素毎に、センサを取捨選択し、選択したセンサの組み合わせによって、予め定められた数、例えば300個のインデックス値を算出するようにした。例えば、車両制御(車輪速、傾き、及びサスペンション)に寄与するかどうかの寄与度が車両制御毎に決められており、当該車両制御毎にインデックス値の算出に必要なセンサを決めている。
【0086】
すなわち、車輪速の制御変数は、車輪速の算出に必要な300個のインデックス値が用意され、傾き(舵角、キャンバ角)の制御変数は、傾き(舵角、キャンバ角)の算出に必要な300個のインデックス値が用意され、サスペンションの制御変数は、サスペンションの制御に必要な300個のインデックス値が用意されることになる。
【0087】
第2の実施の形態に係るCentral Brain120は、図10に示されるフローチャートを繰り返し実行する。図10では、ソフトウェアプログラムによる処理の流れの如く説明しており、当該フローチャートが、10億分の1秒で実行することが可能であることを想定している。
【0088】
なお、ソフトウェアプログラムに限らず、図10に示すフローチャートを10億分の1秒で確実に実行するために、ASIC(application specific integrated circuit)、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)等の半導体集積回路を用いることが好ましい。
【0089】
ステップ100では、自動運転制御要素の1つである車輪速のインデックス値Vの算出に有用なセンサの取捨選択処理を実行し、ステップ102へ移行する。
【0090】
ステップ102では、ステップ100で選択したセンサからの情報(センサ情報)を取得し、ステップ104へ移行する。
【0091】
ステップ104では、センサ情報に基づいて、車輪速のインデックス値Vn(n=約300個)を算出し、ステップ106へ移行して、算出した車輪速のインデックス値を一時格納して、ステップ108へ移行する。
【0092】
ステップ108では、自動運転制御要素の1つである傾き(舵角)のインデックス値Rの算出に有用なセンサの取捨選択処理を実行し、ステップ110へ移行する。
【0093】
ステップ110では、ステップ108で選択したセンサからの情報(センサ情報)を取得し、ステップ112へ移行する。
【0094】
ステップ112では、センサ情報に基づいて、傾き(舵角)のインデックス値Rn(n=約300個)を算出し、ステップ114へ移行して、算出した傾き(舵角)のインデックス値を一時格納して、ステップ116へ移行する。
【0095】
ステップ116では、自動運転制御要素の1つである傾き(キャンバ角)のインデックス値Cの算出に有用なセンサの取捨選択処理を実行し、ステップ118へ移行する。
【0096】
ステップ118では、ステップ116で選択したセンサからの情報(センサ情報)を取得し、ステップ120へ移行する。
【0097】
ステップ120では、センサ情報に基づいて、傾き(キャンバ角)のインデックス値Cn(n=約300個)を算出し、ステップ122へ移行して、算出した傾き(キャンバ角)のインデックス値を一時格納して、ステップ124へ移行する。
【0098】
ステップ124では、自動運転制御要素の1つであるサスペンションのインデックス値Sの算出に有用なセンサの取捨選択処理を実行し、ステップ126へ移行する。
【0099】
ステップ126では、ステップ124で選択したセンサからの情報(センサ情報)を取得し、ステップ128へ移行する。
【0100】
ステップ128では、センサ情報に基づいて、サスペンションのインデックス値Sn(n=約300個)を算出し、ステップ130へ移行する。
【0101】
ステップ130では、ステップ106で一時格納した車輪速のインデックス値Vn、ステップ114で一時格納した傾き(舵角)のインデックス値Rn、及び、ステップ122で一時格納した傾き(キャンバ角)のインデックス値Cnを読み出し、ステップ132へ移行して、ステップ128で算出したサスペンションのインデックス値Snを含め、制御変数を算出し、次いで、ステップ134へ移行する。
【0102】
ステップ134では、ステップ132で算出した制御変数に基づいて、自動運転を制御する。なお、センサの取捨選択は、車両状況に応じて適宜、取捨選択要件を変更してもよい。
【0103】
また、センサの取捨選択は、式(2)、式(4)、式(6)、及び式(8)のように、相互に自動運転制御対象の制御変数を加味することで、当該自動運転制御対象の制御変数を加味しない場合に比べて、センサを、インデックス値算出のための自動運転制御対象に、より特化して選択することができる。
【0104】
図9は、Central Brain120として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、第1の実施の形態及び第2の実施の形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、第1の実施の形態及び第2の実施の形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、第1の実施の形態及び第2の実施の形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0105】
第1の実施の形態及び第2の実施の形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0106】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0107】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0108】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0109】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0110】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0111】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0112】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果を
【0113】
RAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0114】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0115】
第1の実施の形態及び第2の実施の形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0116】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0117】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0118】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0119】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0120】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0121】
120 Central Brain、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10