実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素およびその組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、実施形態に係る走行制御システムの構成を示すブロック図である。
図1において、走行制御システムは、ドライバセンシング部1、車両周辺認識・認知部2、判断・制御部3、機械学習部4、車両情報保持部5およびアクチュエータ6を備える。
ドライバセンシング部1は、センサA1〜AN(Nは正の整数)およびドライバ状態判断部14を備える。各センサA1〜ANは、自車両に乗車中のドライバのドライバ情報を取得する。ドライバ情報は、自車両に乗車中のドライバの生体情報である。生体情報は、例えば、心拍数、体温、発汗の有無および呼吸の乱れである。センサA1〜ANは、例えば、カメラ、脈拍測定センサ、圧力センサ、体温センサおよび赤外線サーモグラフィである。カメラおよび赤外線サーモグラフィは、自車両のシートの斜め上方にドライバおよび同乗者の方向に向けて設置することができる。脈拍測定センサ、圧力センサおよび体温センサは、自車両のシートまたはハンドルに設置することができる。
ドライバ状態判断部14は、各センサA1〜ANの計測結果に基づいて、自車両の走行時のドライバ状態を判断する。ドライバ状態は、例えば、自車両の走行時のドライバの不快感である。ドライバ状態判断部14は、ドライバの平静時の生体情報からのずれに基づいてドライバの不快感を判断することができる。ドライバの不快感は、例えば、ドライバの緊張感、不安感、恐怖感、イライラ感および焦燥感である。
ドライバ状態判断部14は、ドライバの平静時に比べて、心拍数の上昇、体温の上昇、発汗または呼吸の乱れがあるときに、ドライバに不快感があると判断することができる。また、ドライバ状態判断部14は、心拍数の上昇、体温の上昇、発汗および呼吸の乱れに基づいて、ドライバの不快感の程度を判断することができる。例えば、心拍数の上昇、体温の上昇、発汗および呼吸の乱れが全てありの場合は、ドライバの不快感は大きく、心拍数の上昇、体温の上昇、発汗および呼吸の乱れのうちのいずれか1つのみがありの場合は、ドライバの不快感は小さいと判断することができる。あるいは、ドライバ状態判断部14は、心拍数の上昇、体温の上昇、発汗または呼吸の乱れの程度に応じて、ドライバの不快感の程度を判断するようにしてもよい。
車両周辺認識・認知部2は、センサB1〜BM(Mは正の整数)および認知部24を備える。センサB1〜BMは、自車両の周辺の外界情報を取得する。センサB1〜BMは、例えば、カメラ、レーダ、ライダー、ソナーおよびGPS(Global Positioning System)である。認知部24は、センサB1〜BMによる計測結果に基づいて、自車両の周辺の状況を認識する。例えば、認知部24は、センサB1〜BMが計測可能な領域に存在する対象物を認識し、それらの対象物の情報を組合わせて時刻同期座標変換を行い、自車両の周辺の状況を確定する。この自車両の周辺の状況は、例えば、交差点停止時の状況、カーブ旋回時の状況、先行者の有無、後続車の有無および歩道上の人の有無である。交差点停止時の状況は、停止線迄の距離を含む。カーブ旋回時の状況は、カーブ半径を含む。認知部24は、例えば、自車両の走行位置に対応する地図上の道路情報に基づいて、自車両がカーブを旋回するときのカーブ半径を求めることができる。
車両情報保持部5は、自車両の挙動に関する車両情報を保持する。この車両情報は、例えば、速度情報51、加速度情報52およびステアリング切れ角/速度情報53である。
機械学習部4は、自車両の周辺の状況に応じた生体情報の変化の方向に基づいて、自車両の挙動に関する車両情報を変化させることで、自車両の周辺の状況に応じてドライバごとに適用される車両情報を学習する。このとき、機械学習部4は、生体情報の変化の方向に基づいて、車両情報の変化の方向を決定し、その決定した方向に車両情報を変化させることで、自車両の周辺の状況に応じてドライバごとに適用される車両情報を学習する。この学習済みの車両情報は、ドライバの嗜好性が反映された車両情報である。ドライバの嗜好性は、例えば、安全志向および俊敏志向を想定することができる。安全志向は、自車両の安全性を優先させる志向である。俊敏志向は、自車両の俊敏性を優先させる志向である。
機械学習部4は、外界情報に基づいて認知された自車両の周辺の状況ごとに車両情報とドライバ情報を対応付けたテーブルを保持する。このとき、機械学習部4は、ドライバ情報の変化に伴う車両情報の変化をテーブルに登録することができる。そして、機械学習部4は、ドライバ情報で特定されるドライバの不快感がなくなるまでドライバの不快感の変化に伴う車両情報の変化の登録を繰り返し、ドライバの不快感がなくなったときの自車両の挙動を示す車両情報をドライバの嗜好性に合致した車両情報として学習することができる。
例えば、機械学習部4は、自車両の走行中に交差点で先行車が停止または信号が赤のために自車両が停車する場合、自車両の周辺の状況が交差点停止時の状況であることを車両周辺認識・認知部2から通知される。そして、機械学習部4は、ブレーキが作動した際の先行車または信号迄の距離、自車両が停止するまでの加速度および加加速度およびドライバ状態を学習し、交差点で自車両が停車する場合のドライバの嗜好性に合致した自車両の挙動を習得する。
例えば、ドライバの緊張時には、心拍数の向上、呼吸の乱れ、体温の上昇または発汗等が発生する。このため、機械学習部4は、先行車が停止または信号が赤のために自車両が停車する場合、心拍数の向上、呼吸の乱れ、体温の上昇または発汗等が発生しない加速度をドライバの嗜好性に合致した加速度として学習する。
なお、急ブレーキなどでドライバがひやっとした場合だけではなく、自車両の速度が遅い時にドライバがイライラする場合にも、拍数の向上、呼吸の乱れ、体温の上昇または発汗等が発生する。このため、機械学習部4は、安全性の増大方向に車両情報を更新したときに、ドライバの不快感が増大した場合、俊敏性の増大方向に車両情報を更新する。一方、機械学習部4は、俊敏性の増大方向に車両情報を更新したときに、ドライバの不快感が増大した場合、安全性の増大方向に車両情報を更新する。そして、機械学習部4は、ドライバの不快感の増減に応じて車両情報の更新を繰り返し、ドライバの不快感が解消されたときの車両情報をドライバの嗜好性に合致した車両情報として学習することができる。
これにより、ドライバが安全志向の傾向がある場合だけでなく、ドライバが俊敏志向の傾向がある場合においても、機械学習部4は、ドライバの嗜好性に合致した車両情報を学習することができる。
なお、学習内容は、自車両の停止時のみならず、発進時の状態、右左折時の速度、横加速度(カーブのR)、障害物の回避方法(例えば、どれだけ手前から障害物を避けるか、あるいは障害物との距離との取り方)等、車両の制御に変化が及ぶ全ての情報が対象となり得る。
また、機械学習部4は、渋滞が発生しているか否かや、自車両の走行場所に応じて、それぞれ異なった走行が可能な学習値を学習することも可能である。例えば、機械学習部4は、渋滞発生時の発進では、加速を抑えるように学習したり、都会では地方に比べて早めに減速するように学習したりすることができる。なお、渋滞の発生状況は、車両周辺認識・認知部2から取得することができる。走行場所は、地図連携・自己位置推定により判断することができる。
また、自車両に複数名が乗車している場合、機械学習部4は、ドライバに最も大きな重み付けを行い、前席を後席の同乗者より重視し、それぞれの乗員の状態を反映した学習値を学習することも可能である。ドライバに最も大きな重み付けを行う方法は、自動運転のレベル3以下の場合に有効である。自動運転のレベル4移行ではドライバレスのため、ドライバに依存しない重み付けを用いることができる。
判断・制御部3は、行動計画部31、軌道計画部32および制御情報生成部33を備える。行動計画部31は、認知部24で確定された自車両の周辺の状況に基づいて、追従および車線変更等の運転行動候補を決定する。軌道計画部32は、道路の形状および車両の運動特性に基づいて軌道候補を生成し、リスクを加味した自車両の周辺の状況および機械学習部4に保持されている学習データに基づいて、軌道候補から走行軌道を生成する。制御情報生成部33は、軌道計画部32で生成された走行軌道に基づいて、ステアリング制御情報301、アクセル制御情報302およびブレーキ制御情報303を生成し、アクチュエータ6を制御する。
アクチュエータ6は、自車両の運動を司る。アクチュエータ5は、例えば、駆動装置、操舵装置および制動装置である。駆動装置は、例えば、エンジン、変速機、インバータまたは3相モータである。
図2および図3は、図1の走行制御システムの交差点停止時の車両情報の更新方法の一例を示す図である。なお、図2のテーブルTB1は、安全志向のドライバの学習データの一例、図3のテーブルTB2は、俊敏志向のドライバの学習データの一例を示す。
図2および図3において、各テーブルTB1、TB2は、交差点停止時の基準値となるパラメータの組合せとして、車両情報である走行速度[km/h]および減速度[G]、周辺情報である停止線迄の距離[m]、先行車の有無、後続車の有無および歩道上に人がいるか否かの情報を有している。図2および図3では、交差点停止時の基準値となる走行速度が25、減速度が0.150、停止線迄の距離が16である例を示した。なお、以下の説明では、簡単化のため、先行車なし、後続車なしおよび歩道上に人がいない場合を例にとる。
自車両の走行中に図1の車両周辺認識・認知部2は、その1の交差点の赤信号を認知すると、判断・制御部3は、その1の交差点で停止するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB1、TB2の基準値となるパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、その1の交差点での停車時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れを各テーブルTB1、TB2のその1に登録する。ここで、機械学習部4は、心拍数の向上、体温の上昇、発汗または呼吸の乱れがありの場合、ドライバが不快と感じたと判断し、まずは安全に制御するため、安全性の増大方向に各テーブルTB1、TB2のオフセット値を更新する。交差点停止時では、安全性の増大方向に各テーブルTB1、TB2のオフセット値を更新するために、減速度が減少する方向に各テーブルTB1、TB2のオフセット値を変更する。
このとき、機械学習部4は、交差点停止時の安全性を増大させるために、減速度を減少させた値を各テーブルTB1、TB2の車両情報のその2に登録する。例えば、機械学習部4は、各テーブルTB1、TB2のその2の減速度を0.085に設定する。さらに、機械学習部4は、各テーブルTB1、TB2のその2の走行速度および減速度に基づいて、停止線迄の距離を算出し、各テーブルTB1、TB2の周辺情報のその2に登録する。例えば、機械学習部4は、自車両の走行速度が25、減速度が0.085の場合、停止線迄の距離が29であると計算し、各テーブルTB1、TB2のその2の停止線迄の距離を29に設定する。
図1の車両周辺認識・認知部2は、自車両の走行中にその2の交差点の赤信号を認知すると、判断・制御部3は、その2の交差点で停止するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB1、TB2のその2のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、自車両のその2の交差点での停車時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れを各テーブルTB1、TB2のその2に登録する。
ここで、機械学習部4は、自車両のその2の交差点での停車時において、心拍数の向上、体温の上昇、発汗または呼吸の乱れがありの場合、各テーブルTB1、TB2のその1のドライバ状態と、各テーブルTB1、TB2のその2のドライバ状態とを比較する。そして、機械学習部4は、その1のドライバ状態よりもその2のドライバ状態の方が良好な場合、自車両の挙動の変化の方向が安全性の増大方向とするのが正しいと判断し、図2のテーブルTB1に示すように、交差点停止時の安全性をさらに増大させる。このとき、機械学習部4は、減速度をさらに減少させた値をテーブルTB1の車両情報のその3に登録する。例えば、機械学習部4は、テーブルTB1のその3の減速度を0.040に設定する。さらに、機械学習部4は、テーブルTB1のその3の走行速度および減速度に基づいて、停止線迄の距離を算出し、テーブルTB1の周辺情報のその3に登録する。例えば、機械学習部4は、自車両の走行速度が25、減速度が0.040の場合、停止線迄の距離が62であると計算し、テーブルTB1のその3の停止線迄の距離を62に設定する。
図1の車両周辺認識・認知部2は、自車両の走行中にその3の交差点の赤信号を認知すると、判断・制御部3は、その3の交差点で停止するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB1のその3のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、自車両のその3の交差点での停車時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れをテーブルTB1のその3に登録する。
ここで、機械学習部4は、自車両のその3の交差点での停車時において、心拍数の向上、体温の上昇、発汗または呼吸の乱れがなしの場合、その3の交差点停止時の自車両の挙動がドライバの嗜好性に合致したと判断する。そして、車両周辺認識・認知部2が、それ以降の交差点の赤信号を認知した場合、判断・制御部3は、当該ドライバに対しては、テーブルTB1のその3のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
一方、機械学習部4は、各テーブルTB1、TB2のその1のドライバ状態と、各テーブルTB1、TB2のその2のドライバ状態とを比較したときに、ドライバ状態が悪化した場合または変化しない場合、自車両の挙動の変化の方向が俊敏性の増大方向とするのが正しいと判断し、図3のテーブルTB2に示すように、交差点停止時の俊敏性を増大させる。このとき、機械学習部4は、減速度をその1よりも増大させた値をテーブルTB2の車両情報のその3に登録する。例えば、機械学習部4は、テーブルTB2のその3の減速度を0.200に設定する。さらに、機械学習部4は、テーブルTB2のその3の走行速度および減速度に基づいて、停止線迄の距離を算出し、テーブルTB2の周辺情報のその3に登録する。例えば、機械学習部4は、自車両の走行速度が25、減速度が0.200の場合、停止線迄の距離が12であると計算し、テーブルTB2のその3の停止線迄の距離を12に設定する。
図1の車両周辺認識・認知部2は、自車両の走行中にその3の交差点の赤信号を認知すると、判断・制御部3は、その3の交差点で停止するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB2のその3のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、自車両のその3の交差点での停車時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れをテーブルTB2のその3に登録する。
ここで、機械学習部4は、自車両のその3の交差点での停車時において、心拍数の向上、体温の上昇、発汗または呼吸の乱れがありの場合、テーブルTB2のその2のドライバ状態と、テーブルTB2のその3のドライバ状態とを比較する。そして、機械学習部4は、その2のドライバ状態よりもその3のドライバ状態の方が良好な場合、自車両の挙動の変化の方向が俊敏性の増大方向とするのが正しいと判断し、図3のテーブルTB2に示すように、交差点停止時の俊敏性をさらに増大させる。このとき、機械学習部4は、減速度をさらに増大させた値をテーブルTB2の車両情報のその4に登録する。例えば、機械学習部4は、テーブルTB2のその4の減速度を0.300に設定する。さらに、機械学習部4は、テーブルTB2のその4の走行速度および減速度に基づいて、停止線迄の距離を算出し、テーブルTB2の周辺情報のその4に登録する。例えば、機械学習部4は、自車両の走行速度が25、減速度が0.200の場合、停止線迄の距離が8であると計算し、テーブルTB2のその4の停止線迄の距離を8に設定する。
図1の車両周辺認識・認知部2は、自車両の走行中にその4の交差点の赤信号を認知すると、判断・制御部3は、その4の交差点で停止するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB2のその4のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、自車両のその4の交差点での停車時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れをテーブルTB2のその4に登録する。
ここで、機械学習部4は、自車両のその4の交差点での停車時において、心拍数の向上、体温の上昇、発汗または呼吸の乱れがなしの場合、その4の交差点停止時の自車両の挙動がドライバの嗜好性に合致したと判断する。そして、車両周辺認識・認知部2が、それ以降の交差点の赤信号を認知した場合、判断・制御部3は、当該ドライバに対しては、テーブルTB2のその4のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
これにより、走行制御によって不快に感じるかどうかの度合の個人差が大きい場合においても、機械学習部4は、乗車するドライバや乗員の不快感が起こらないように、交差点での停車時の自車両の挙動を学習することができ、乗車するドライバや乗員の快適性を向上させることができる。
なお、上述した実施形態では、速度を一定として減速度と減速開始距離を調整したが、交差点手前の減速度を一定のまま、交差点停止前の走行速度を可変として、減速開始位置を調整する更新方法でもよい。
また、本実施形態では、簡単化のために、詳細な説明は割愛したが、学習値には、周辺情報である先行車有無、後続車有無および歩道上に人がいるか否かの情報も加味してもよく、例えば、機械学習部4は、交差点での停止時において複数の減速度を周辺環境とともに学習するようにしてもよい。
また、自動走行の車両は、シェアサービス向けに運用されることも想定されている。このため、機械学習部4は、基準値に対する減速度のオフセット値を個人ごとに学習保存し、ハンドル切れ角、アクセル開度およびブレーキの制御値を個人ごとに生成できるようにしてもよい。この際、個人の特定には、指紋、声紋または虹彩などのドライバ情報に基づいて、個人と特定することができる。個人を特定するドライバ情報を手動で登録したり、切替えたりしてもよい。
また、基準値はひとつではなく、性別および年齢ごとに別々に基準値を保持し、個人の特定時に性別および年齢別の基準値を切替えることにより、学習期間を短縮して個人が快適と思う制御を実現可能としてもよい。
図4は、図1の走行制御システムの加速度をパラメータとしたときの速度と停止距離との関係を示す図である。
図1の機械学習部4は、減速度の基準値に対して、ドライバの嗜好性に適合した減速度が得られる速度と停止距離(ブレーキポイント)を学習する。その際、機械学習部4は、先行車または後続車の有無(または、先行車または後続車の台数および速度)、歩道上の人の有無(または、歩道上の人の人数)ごとに関連付けた学習を行う。機械学習部4は、図4の関係を保持し、減速度および速度が与えられたときに、図4の関係を参照することにより、停止距離[m]を取得することができる。
あるいは、機械学習部4は、減速度および速度が与えられたときに、以下の式から停止距離[m]を計算することができる。
停止距離[m]=(速度[m/s])2/(加速度[G]*9.8*2)
図5および図6は、図1の走行制御システムのカーブ旋回時の車両情報の更新方法の一例を示す図である。なお、図5のテーブルTB3は、安全志向のドライバの学習データの一例、図6のテーブルTB4は、俊敏志向のドライバの学習データの一例を示す。
図5および図6において、各テーブルTB3、TB4は、カーブ旋回時の基準値となるパラメータの組合せとして、車両情報である走行速度[km/h]および横加速度[G]、周辺情報であるカーブ半径[m]、先行車の有無、後続車の有無および歩道上に人がいるか否かの情報を有している。図5および図6では、カーブ旋回時の基準値となる走行速度が50、横加速度が0.196である例を示した。なお、以下の説明では、簡単化のため、先行車なし、後続車なしおよび歩道上に人がいない場合を例にとる。
自車両の走行中に図1の車両周辺認識・認知部2は、その1のカーブを認知すると、判断・制御部3は、その1のカーブを旋回するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB3、TB4の基準値となるパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、その1のカーブ旋回時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れを各テーブルTB3、TB4のその1に登録する。ここで、機械学習部4は、心拍数の向上、体温の上昇、発汗または呼吸の乱れがありの場合、ドライバが不快と感じたと判断し、まずは安全に制御するため、安全性の増大方向に各テーブルTB3、TB4のオフセット値を更新する。カーブ旋回時では、安全性の増大方向に各テーブルTB3、TB4のオフセット値を更新するために、横加速度が減少する方向に各テーブルTB3、TB4のオフセット値を変更する。
このとき、機械学習部4は、カーブ旋回時の安全性を増大させるために、横加速度を減少させた値を各テーブルTB3、TB4の車両情報のその2に登録する。例えば、機械学習部4は、各テーブルTB3、TB4のその2の横加速度を0.125に設定する。
図1の車両周辺認識・認知部2は、自車両の走行中にその2のカーブを認知すると、その2のカーブのカーブ半径も認知する。
このとき、機械学習部4は、各テーブルTB3、TB4のその2の横加速度およびカーブ半径に基づいて、走行速度を算出し、各テーブルTB3、TB4の車両情報のその2に登録する。例えば、機械学習部4は、自車両の横加速度が0.125、カーブ半径が100の場合、走行速度が40であると計算し、各テーブルTB3、TB4のその2の走行速度を40に設定する。
そして、判断・制御部3は、その2のカーブを旋回するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB3、TB4のその2のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、自車両のその2のカーブ旋回時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れを各テーブルTB3、TB4のその2に登録する。
ここで、機械学習部4は、自車両のその2のカーブ旋回時において、心拍数の向上、体温の上昇、発汗または呼吸の乱れがありの場合、各テーブルTB3、TB4のその1のドライバ状態と、各テーブルTB3、TB4のその2のドライバ状態とを比較する。そして、機械学習部4は、その1のドライバ状態よりもその2のドライバ状態の方が良好な場合、自車両の挙動の変化の方向が安全性の増大方向とするのが正しいと判断し、図5のテーブルTB3に示すように、カーブ旋回時の安全性をさらに増大させる。このとき、機械学習部4は、横加速度をさらに減少させた値をテーブルTB3の車両情報のその3に登録する。例えば、機械学習部4は、テーブルTB3のその3の横加速度を0.070に設定する。
図1の車両周辺認識・認知部2は、自車両の走行中にその3のカーブを認知すると、その3のカーブのカーブ半径も認知する。
このとき、機械学習部4は、テーブルTB3のその3の横加速度およびカーブ半径に基づいて、走行速度を算出し、テーブルTB3の車両情報のその3に登録する。例えば、機械学習部4は、自車両の横加速度が0.070、カーブ半径が100の場合、走行速度が30であると計算し、テーブルTB3のその3の走行速度を30に設定する。
そして、判断・制御部3は、その3のカーブを旋回するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB3のその3のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、自車両のその3のカーブ旋回時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れをテーブルTB3のその3に登録する。
ここで、機械学習部4は、自車両のその3のカーブ旋回時において、心拍数の向上、体温の上昇、発汗または呼吸の乱れがなしの場合、その3のカーブ旋回時の自車両の挙動がドライバの嗜好性に合致したと判断する。そして、車両周辺認識・認知部2が、それ以降のカーブを認知した場合、判断・制御部3は、当該ドライバに対しては、テーブルTB3のその3の横加速度およびそれ以降のカーブのカーブ半径に基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
一方、機械学習部4は、各テーブルTB3、TB4のその1のドライバ状態と、各テーブルTB3、TB4のその2のドライバ状態とを比較したときに、ドライバ状態が悪化した場合または変化しない場合、自車両の挙動の変化の方向が俊敏性の増大方向とするのが正しいと判断し、俊敏性の増大方向に図6のテーブルTB4のオフセット値を更新する。カーブ旋回時では、俊敏性の増大方向にテーブルTB4のオフセット値を更新するために、横加速度が増加する方向に各テーブルTB4のオフセット値を変更する。
このとき、機械学習部4は、横加速度をその1よりも増大させた値をテーブルTB4の車両情報のその3に登録する。例えば、機械学習部4は、テーブルTB4のその3の横加速度を0.238に設定する。
図1の車両周辺認識・認知部2は、自車両の走行中にその3のカーブを認知すると、その3のカーブのカーブ半径も認知する。
このとき、機械学習部4は、テーブルTB4のその3の横加速度およびカーブ半径に基づいて、走行速度を算出し、テーブルTB4の車両情報のその3に登録する。例えば、機械学習部4は、自車両の横加速度が0.238、カーブ半径が100の場合、走行速度が55であると計算し、テーブルTB4のその3の走行速度を55に設定する。
そして、判断・制御部3は、その3のカーブを旋回するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB4のその3のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、自車両のその3のカーブ旋回時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れをテーブルTB4のその3に登録する。
ここで、機械学習部4は、自車両のその3のカーブ旋回時において、心拍数の向上、体温の上昇、発汗または呼吸の乱れがありの場合、テーブルTB4のその2のドライバ状態と、テーブルTB4のその3のドライバ状態とを比較する。そして、機械学習部4は、その2のドライバ状態よりもその3のドライバ状態の方が良好な場合、自車両の挙動の変化の方向が俊敏性の増大方向とするのが正しいと判断し、図6のテーブルTB4に示すように、カーブ旋回時の俊敏性をさらに増大させる。このとき、機械学習部4は、横加速度をさらに減少させた値をテーブルTB4の車両情報のその4に登録する。例えば、機械学習部4は、テーブルTB4のその4の横加速度を0.283に設定する。
図1の車両周辺認識・認知部2は、自車両の走行中にその4のカーブを認知すると、その4のカーブのカーブ半径も認知する。
このとき、機械学習部4は、テーブルTB4のその4の横加速度およびカーブ半径に基づいて、走行速度を算出し、テーブルTB4の車両情報のその4に登録する。例えば、機械学習部4は、自車両の横加速度が0.283、カーブ半径が100の場合、走行速度が60であると計算し、テーブルTB4のその4の走行速度を60に設定する。
そして、判断・制御部3は、その4のカーブを旋回するための走行計画を生成する。このとき、判断・制御部3は、テーブルTB4のその4のパラメータの組合せに基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
また、ドライバセンシング部1は、心拍数の向上、体温の上昇、発汗および呼吸の乱れを確認する。機械学習部4は、自車両のその4のカーブ旋回時にドライバセンシング部1で確認された心拍数の向上、体温の上昇、発汗および呼吸の乱れをテーブルTB4のその4に登録する。
ここで、機械学習部4は、自車両のその4のカーブ旋回時において、心拍数の向上、体温の上昇、発汗または呼吸の乱れがなしの場合、その4のカーブ旋回時の自車両の挙動がドライバの嗜好性に合致したと判断する。そして、車両周辺認識・認知部2が、それ以降のカーブを認知した場合、判断・制御部3は、当該ドライバに対しては、テーブルTB4のその4の横加速度およびそれ以降のカーブのカーブ半径に基づいて、ハンドル切れ角、アクセル開度およびブレーキの制御値を決定し、アクチュエータ6を制御する。
これにより、走行制御によって不快に感じるかどうかの度合の個人差が大きい場合においても、機械学習部4は、乗車するドライバや乗員の不快感が起こらないように、カーブ旋回時の自車両の挙動を学習することができ、乗車するドライバや乗員の快適性を向上させることができる。
また、本実施形態では、簡単化のために、詳細な説明は割愛したが、学習値には、周辺情報である先行車有無、後続車有無および歩道上に人がいるか否かの情報も加味してもよく、例えば、機械学習部4は、カーブ旋回時において複数の横加速度を周辺環境とともに学習するようにしてもよい。
また、自動走行の車両は、シェアサービス向けに運用されることも想定されている。このため、機械学習部4は、基準値に対する横加速度のオフセット値を個人ごとに学習保存し、ハンドル切れ角、アクセル開度およびブレーキの制御値を個人ごとに生成できるようにしてもよい。この際、個人の特定には、指紋、声紋または虹彩などのドライバ情報に基づいて、個人と特定することができる。個人を特定するドライバ情報を手動で登録したり、切替えたりしてもよい。
また、基準値はひとつではなく、性別および年齢ごとに別々に基準値を保持し、個人の特定時に性別および年齢別の基準値を切替えることにより、学習期間を短縮して個人が快適と思う制御を実現可能としてもよい。
図7は、図1の走行制御システムの横加速度をパラメータとしたときの速度とカーブ半径との関係を示す図である。
図1の機械学習部4は、横加速度の基準値に対して、ドライバの嗜好性に適合した横加速度が得られる速度とカーブ半径を学習する。機械学習部4は、先行車または後続車の有無(または、先行車または後続車の台数および速度)、歩道上の人の有無(または、歩道上の人の人数)ごとに関連付けた学習を行う。機械学習部4は、図7の関係を保持し、横加速度およびカーブ半径が与えられたときに、図7の関係を参照することにより、速度[km/h]を取得することができる。
あるいは、機械学習部4は、横加速度およびカーブ半径が与えられたときに、以下の式から速度[m/s]を計算することができる。
R[m]=(速度[m/s])2/(加速度[G]*9.8*2)
図8は、図1の走行制御システムの車両情報の更新方法をフローチャートである。
図8において、図1の機械学習部4は、まずは安全に制御するため、車両情報の変化の方向を安全性の増大方向に設定する(S0)。
次に、車両周辺認識・認知部2は、所定の自車両の周辺の状況を認識したがどうかを判断し(S1)、所定の自車両の周辺の状況を認識すると、判断・制御部3は、その自車両の周辺の状況に応じた今回の車両情報に基づいて走行制御する(S2)。なお、所定の自車両の周辺の状況は、例えば、交差点停止時の状況、カーブ旋回時の状況、発進時の状態、右左折時の速度および障害物の回避方法などである。
次に、ドライバセンシング部1は、ドライバの不快感がないかどうかを判断し(S3)、ドライバの不快感がない場合、機械学習部4は、今回の車両情報をそのドライバの嗜好に合った車両情報として学習する(S4)。
一方、ドライバの不快感がある場合、機械学習部4は、ドライバの不快感が減少したかどうかを判断し(S5)、ドライバの不快感が減少した場合、車両情報の変化の方向を維持し(S6)、その車両情報の変化の方向に従って車両情報を更新し(S7)、S1に戻る。
一方、ドライバの不快感が変化しない場合またはドライバの不快感が増加した場合、機械学習部4は、車両情報の変化の方向を逆転し、(S8)、S7に進む。例えば、車両情報の変化の方向が安全性の増大方向に設定されている場合、車両情報の変化の方向を俊敏性の増大方向に変更する。
図9は、図1の走行制御システムのハードウェア構成を示すブロック図である。
図9において、走行制御システム100は、プロセッサ101、通信制御デバイス102、通信インターフェース103、主記憶デバイス104および外部記憶デバイス105を備える。プロセッサ101、通信制御デバイス102、通信インターフェース103、主記憶デバイス104および外部記憶デバイス105は、内部バス106を介して相互に接続されている。主記憶デバイス104および外部記憶デバイス105は、プロセッサ101からアクセス可能である。
走行制御システム100の外部には、センサ120およびアクチュエータ130が設けられている。センサ120およびアクチュエータ130は、入出力インターフェース107を介して内部バス106に接続されている。
プロセッサ101は、走行制御システム100全体の動作制御を司るハードウェアである。プロセッサ101は、CPU(Central Processing Unit)であってもよいし、GPU(Graphics Processing Unit)であってもよい。プロセッサ101は、シングルコアロセッサであってもよいし、マルチコアロセッサであってもよい。プロセッサ101は、処理の一部または全部を行うハードウェア回路(例えば、FPGA(Field−Programmable Gate Array)またはASIC(Application Specific Integrated Circuit))を備えていてもよい。プロセッサ101は、ニューラルネットワークを備えていてもよい。
主記憶デバイス104は、例えば、SRAMまたはDRAMなどの半導体メモリから構成することができる。主記憶デバイス104には、プロセッサ101が実行中のプログラムを格納したり、プロセッサ101がプログラムを実行するためのワークエリアを設けたりすることができる。
外部記憶デバイス105は、大容量の記憶容量を有する記憶デバイスであり、例えば、ハードディスク装置またはSSD(Solid State Drive)である。外部記憶デバイス105は、各種プログラムの実行ファイルを保持することができる。外部記憶デバイス105には、走行制御プログラム105Aを格納することができる。走行制御プログラム105Aは、走行制御システム100にインストール可能なソフトウェアであってもよいし、走行制御システム100にファームウェアとして組み込まれていてもよい。
通信制御デバイス102は、外部との通信を制御する機能を有するハードウェアである。通信制御デバイス102は、通信インターフェース103を介してネットワーク109に接続される。ネットワーク109は、例えば、CAN(Control Area Netwaork)やFlexRay、LIN(Local Interconnect Network)、Ethernet(登録商標)等の車載ネットワークである。
入出力インターフェース107は、センサ120から入力されるデータをプロセッサ107が処理可能なデータ形式に変換したり、プロセッサ101から出力されるデータをアクチュエータ130が処理可能なデータ形式に変換したりする。
プロセッサ101が走行制御プログラム105Aを主記憶デバイス104に読み出し、走行制御プログラム105Aを実行することにより、図1のドライバ状態判断部14、認知部24、判断・制御部3および機械学習部4の各機能を実現することができる。なお、走行制御プログラム105Aの実行は、複数のプロセッサやコンピュータに分担させてもよい。