以下、本発明の一実施の形態を図面を参照しつつ説明する。
図1は、本発明の移動体搭載送信装置および移動体搭載受信装置の一実施形態である車載装置を備えた複数の車両の一例を示す図である。図1に示すように、車両Aは車載装置100を搭載し、車両Bは車載装置200を搭載している。車載装置100と車載装置200は、無線通信を介して互いに情報を送受信することが可能である。本実施形態では、車両Aと車両Bが近接して接触(衝突を含む。以下同様)が予測された場合に、車両Aの車載装置100(移動体搭載送信装置に相当)が無線通信を介して車両Bの車載装置200(移動体搭載受信装置に相当)に後述する安全運転支援プログラムを送信する場合を一例として説明する。以下では適宜、車載装置100を搭載した車両A(自己の移動体に相当)を自己の車両Aと、車載装置200を搭載した車両B(他の移動体に相当)を他の車両Bと呼称する。
なお、自己の車両Aに対する他の車両Bの位置関係は図1に示す前方に限定されず、後方、左右側方、斜め方向、あるいは対向方向でもよく、また、他の車両Bは複数であってもよい。また、図1では理解を容易とするために自己の車両Aについて太線で示す。
図2は、車載装置100を含む自己の車両Aの電子系統のハードウェア構成例を示すブロック図である。なお、車載装置200を含む他の車両Bの電子系統についても同様のハードウェア構成とすることができる。
図2に示すように、自己の車両Aは、車載装置100、ディスプレイ2、無線通信アンテナ3、車速センサ4、ブレーキスイッチ5、ウィンカースイッチ6、車載カメラ7、GPS8および運転操作部9を有している。車載装置100は、制御部10、グラフィックコントローラ13、無線通信制御部14および運転制御部15を有している。
制御部10は、CPU11および記憶装置12を備えている。CPU11(制御手段に相当)は、記憶装置12に記憶された所定のプログラムを実行することによって各種の処理を行うとともに、他の各部との間で情報の交換や各種の制御指示を出力することで、車載装置100全体を制御する機能を有する。記憶装置12は、ROM12a、RAM12b、及び記憶媒体12cを有する。ROM12aは、後述の安全運転支援プログラムを含む各種の処理プログラムやその他必要な情報が予め書き込まれた情報記憶媒体である。RAM12bは、CPU11が上記各種のプログラムを実行する上で必要な情報の書き込み及び読み出しが行われる情報記憶媒体である。記憶媒体12cは、例えばフラッシュメモリ、ハードディスクなどの不揮発性の情報記憶媒体である。
なお、車両Bが搭載する車載装置200の制御部20も、上記制御部10と同様に、CPU21および記憶装置22を備えている。
グラフィックコントローラ13は、CPU11の制御によってビデオRAM(図示せず)などから画像データを取得し、後述する運転支援情報に基づく運転者への通知情報や指示情報を上記ディスプレイ2に表示させる機能を有する。ディスプレイ2は、例えばLCDパネルなどで構成され、グラフィックコントローラ13から入力された画像信号に基づいて各種の情報画像を表示する。
無線通信制御部14は、無線通信アンテナ3を介した無線通信により、他の車両Bとの情報の送受信を制御する機能を有する。無線通信アンテナ3は、自己の車両Aの室外に取り付けられ、無線通信制御部14から入力された情報信号の発信と、他の車両Bから受信した情報信号の無線通信制御部14への出力を行う。
運転制御部15は、CPU11の制御によってハンドルやアクセル、ブレーキ等で構成される運転操作部9を操作し、自己の車両Aと他の車両Bとの接触を自動的に回避するように車両Aを制御する機能を有する。
車速センサ4は、自己の車両Aの走行速度を検出する機能を有する。CPU11は、この車速センサ4の検出信号に基づき、その時点で自己の車両Aがどのくらいの走行速度で走行しているかを認識できる。またブレーキスイッチ5は、自己の車両Aのブレーキが所定量以上踏み込まれて作動状態に入っているか否か、つまり自己の車両Aが制動操作による減速中の状態であるか否かを検出する機能を有する。またウィンカースイッチ6は、自己の車両Aの右方向又は左方向いずれか一方のウィンカー操作の有無を検出する機能を有する。
車載カメラ7は、例えばCCD撮像素子などを利用して、自己の車両Aからの撮像方向の風景画像を撮像し、対応する画像信号を車載装置100のCPU11へ出力する機能を有する。なお、車載カメラ7は赤外線センサやレーダー等でもよい。GPS8は、自己の車両Aの現在地の測位を行い、緯度及び経度で表記した現在位置情報を取得するとともに、CPU11へ出力する機能を有する。
図3は、自己の車両Aの車載装置100が有する制御部10のCPU11が記憶装置12に記憶された所定のプログラムを実行することによって発揮される制御部10の機能構成例を示す機能ブロック図である。
図3に示すように、制御部10は、安全運転支援部101、送信部102、情報生成部103および挙動取得部104を備えている。安全運転支援部101(安全運転支援手段に相当)は、車載カメラ7などの検出結果等に基づき一又は複数の他の車両Bとの接触を判定し、接触が予測された場合に自己の車両Aの安全運転支援に関する運転支援情報(自己側運転支援情報に相当。以下適宜「自己側運転支援情報」と呼称する)を生成し、当該自己側運転支援情報に基づき安全運転支援を実行する。なお、接触の予測は車載カメラ7の検出結果に限らず、車車間通信により近隣車両位置や挙動を取得することで行ってもよいし、レーダーなどのセンサー類の検出結果を用いて行ってもよい。この運転支援情報は、通知情報(運転者に危険の状況を通知する情報)、指示情報(運転者の取るべき挙動を指示する情報)および制御情報(車両を制御する情報)を含んでいる。すなわち、安全運転支援部101は、グラフィックコントローラ13を介して上記通知情報および指示情報に基づく通知や指示をディスプレイ2に表示させる、あるいは、運転制御部15を介して上記制御情報に基づき運転操作部9を操作することによって、自己の車両Aの安全運転支援を実行する。また安全運転支援部101は、上記安全運転支援を実行した結果、自己の車両Aと他の車両Bとの接触が回避されたか否かを車載カメラ7などの検出結果等に基づき判定する。
送受信部102(送信手段に相当)は、他の車両Bとの間で無線通信を介して情報の送受信を行う。送受信部102の最も主要な機能の1つは、安全運転支援部101により接触が予測された場合に、CPU11を安全運転支援部101の全部又は一部として機能させるための安全運転支援プログラムを他の車両Bに送信することである。
CPU11を安全運転支援部101の全部として機能させるための安全運転支援プログラムを送信する場合、車両Bも送信された安全運転支援プログラムによって自己(車両B)の安全運転支援情報を生成する機能や自己の安全運転支援内容を判断する機能をもつことになる。したがって、車両Bは自己の車載カメラ7などの検出結果等自己の取得した情報に基いて自己(車両B)の安全運転支援を行えるようになるものであるが、事故の可能性に際して自己の車両Aと同じ判断アルゴリズムの安全運転支援機能を他の車両Bに提供し、それらが同時に動作することにより、同じ判断アルゴリズムによる状況判断と回避指示(制御)を両車に提供することが可能である。すなわち、判断が同じアルゴリズムの安全運転支援機能を用いることにより互いに整合した統一的な挙動をとることが期待できる。
一方、CPU11を安全運転支援部101の一部(例えば、接触の予測や運転支援情報の生成は行わず、提供された運転支援情報に基づいて車両の安全運転支援を実行する機能)として機能させるための安全運転支援プログラムを送信する場合、車両Aと車両Bとは主従関係となり、指示は車両Aのプログラムから車両Bのプログラムへと行い、他の車両Bに従属的な指示・挙動をさせることが可能である。
なお、安全運転支援プログラムをそのままの形式(車両Aで実行可能な形式)で送信するのではなく、送受信部102において送信先の車両BのCPU21がプログラムとして実行可能な実行ファイル形式に変換して送信してもよい。また、安全運転支援プログラムを、CPU11を安全運転支援部101の全部として機能させるためのプログラムとしてもよい。さらに、安全運転支援プログラムと共に、プログラムの送信元である車両Aの情報(車両の位置や特徴等)を併せて送信してもよい。
なお、送信先を車両Bに特定する手法は種々考えられるが、例えば車載カメラ7で周囲の車両のナンバーを読み取り、当該ナンバーに基づき車両IDを特定して通信を行う方法がある。また、例えば各車両が車車間通信を行う車載装置を搭載している場合、各車両は常時自己の車両の車両IDや位置情報を含む車両情報を発信するため、受信した車両情報に含まれる位置情報から車両Bの発信した車両情報を特定し、その車両IDに対して通信を行ってもよい。あるいは、送信する安全運転支援プログラムを特定の条件に該当する車両でのみ起動する仕組みのものとし、車両Aの安全運転支援機能が取得した車両Bの特徴情報(IDや位置や挙動、車種、車両の外観等)を安全運転支援プログラムの起動条件に設定した上で、周囲の車両全体に向けてプログラムを送信してもよい。この場合、送信されたプログラムは車両B以外の車両も受信しうるが、プログラムが起動するのは起動条件に該当する車両Bのみとなる。
なお、送信部102は、上記安全運転支援プログラム以外にも、情報生成部103で生成される後述の運転支援情報や指示情報等を含む各種情報、あるいは自己(車両A)の挙動情報や運転支援情報(自己(車両A)が実行を予定する回避挙動などの情報)、自己の車両Aが取得した安全運転支援判断のための情報(自車両や周囲の状況に関する情報、判断のための材料等)などについても他の車両Bに送信する。
情報生成部103(情報生成手段に相当)は、安全運転支援部101により生成された自己側運転支援情報に基づき、あるいは挙動取得部104により取得される自己の車両Aの挙動情報に基づき、他の車両Bの安全運転支援に関する運転支援情報(相手側運転支援情報に相当。以下適宜「相手側運転支援情報」と呼称する)を生成する。相手側運転支援情報は、他の車両Bを自己の車両Aとの接触を回避する方向に誘導するように生成される。具体例については後述する。情報生成部103により生成された相手側運転支援情報は、送信部102により他の車両Bに送信される。
挙動取得部104(挙動取得手段に相当)は、上述した車速センサ4、ブレーキスイッチ5、ウィンカースイッチ6および車載カメラ7の検出結果等に基づき、自己の車両Aの挙動に関する挙動情報(走行速度、加減速、車線変更等)を取得する。挙動取得部104で取得された挙動情報は、情報生成部103による相手側運転支援情報の生成に用いられる。
図4は、他の車両Bの車載装置200が有する制御部20のCPU21が記憶装置22に記憶された所定のプログラムを実行することによって発揮される制御部20の機能構成例を示す機能ブロック図である。
図4は、車両Bの制御部20が安全運転支援機能を有していない場合の例である。すなわち、車両Bの制御部20は、他の車両との通信機能と、プログラムを実行する環境(所定のOS(オペレーティングシステム)やメモリサイズ、HMI(ヒューマンマシンインターフェース)、車制御コマンド等)さえ有していればよく、必ずしも安全運転支援機能を有している必要はない。
制御部20は、車両Aとの間で無線通信を介して情報の送受信を行う送受信部201(受信手段に相当)を有している。この送受信部201の最も主要な機能の1つは、車両Aより送信された安全運転支援プログラムを受信することである。CPU21(制御手段に相当)は、送受信部201により受信された安全運転支援プログラムを記憶装置22に保存すると共に実行する。その結果、図4中に破線で示すように制御部20が安全運転支援部202を有することになる。
車両Aより送信される安全運転支援プログラムが、CPU11を安全運転支援部101の全部として機能させるためのプログラムである場合には、安全運転支援部202は制御部10の安全運転支援部101の全部の機能を有するものとなる。この場合、安全運転支援部202は、自己(車両B)の車載カメラ7などの検出結果や、送受信部201で受信した車両Aからの相手(車両A)側の挙動情報や運転支援情報(相手(車両A)が実行を予定する回避挙動などの情報)、相手(車両A)が取得した安全運転支援判断のための情報(自車両や周囲の状況に関する情報、判断のための材料等)など自己の取得した情報に基いて接触の予測などの判断を行い自己(車両B)の運転支援情報の生成するなどして自己(車両B)の安全運転支援を実行する。
一方、この安全運転支援部202(安全運転支援手段に相当)は、車両Aより送信される安全運転支援プログラムが、CPU11を安全運転支援部101の一部として機能させるためのプログラムである場合には、制御部10の安全運転支援部101の一部機能を有するものとなる。この場合、安全運転支援部202は、送受信部201で受信した車両Aからの相手側運転支援情報に基づき、車両Bの安全運転支援を実行する。
図5乃至図8は、以上のような構成である車両Aと車両Bが連携して行う回避行動の具体例を示す図である。なお、これら図5乃至図8では理解を容易とするために自己の車両Aについて太線で示す。
図5は、相手側運転支援情報が自己側運転支援情報に基づき生成される場合の一例である。この例では、前後に位置する自己の車両Aと他の車両Bが近づき接触が予測されると、自己の車両Aにおいて制御部10の安全運転支援部101が運転者に対し減速又はブレーキの作動を指示する指示情報を含む自己側運転支援情報を生成し、当該自己側運転支援情報に基づき減速又はブレーキの作動を促す指示情報をディスプレイ2に表示させる。一方、送受信部102は、他の車両Bとの間で無線通信を介して、CPU11を安全運転支援部101の一部として機能させるための安全運転支援プログラムを他の車両Bに送信する。そして、情報生成部103は、安全運転支援部101により生成された自己側運転支援情報に基づき、他の車両Bの運転者に対しブレーキの回避又は加速を指示する指示情報を含む相手側運転支援情報を生成し、送受信部102が(他の車両Bにおけるプログラムの起動を確認した上ででもよい)当該相手側運転支援情報を車両Bに送信する。他の車両Bにおいては、制御部20の送受信部201が相手側から送信された安全運転支援プログラムを受信し、車両Bの制御部20はプログラムを起動させる。また、車両Bの制御部20の送受信部201が相手側運転支援情報を受信し、安全運転支援部202(CPU21が車両Aより送信された安全運転支援プログラムを実行することによる機能)が、当該相手側運転支援情報に基づきブレーキの回避又は加速を促す指示情報をディスプレイ2に表示させる。あるいは、運転制御部15によりブレーキが回避されるように又は加速するように車両Bを制御してもよい。これにより、車両Aと車両Bとの車間距離は開くこととなり、接触が回避される。
また、CPU11を安全運転支援部101の全部として機能させるための安全運転支援プログラムを他の車両Bに送信する場合には、自己(車両A)の送受信部102が当該相手側(車両B向けの)運転支援情報を車両Bに送信する必要はなく、車両Bは車両Aから受信した安全運転支援プログラムを起動し自己(車両B)の車載カメラ7などの検出結果等を用いて安全運転支援プログラムを実行することにより車両Aとの接触の可能性の判定と自己(車両B)の安全運転支援を実行し、ブレーキの回避又は加速を促す指示情報をディスプレイ2に表示させる。あるいは、運転制御部15によりブレーキが回避されるように又は加速するように車両Bを制御してもよい。これにより、車両Aと車両Bとの車間距離は開くこととなり、接触が回避される。
なお、CPU11を安全運転支援部101の全部として機能させるための安全運転支援プログラムを他の車両Bに送信する場合に、車両Bが自己(車両B)の車載カメラ7などの検出結果等を用いる代わりにあるいは補完情報として、自己(車両A)の送受信部102が自己(車両A)の位置情報や挙動情報等を車両Bに送信するようにしてもよい。挙動情報は自己(車両A)の安全運転支援実行前の挙動の情報であってもよいし、自己(車両A)の生成した運転支援情報つまりこれから回避のために自己(車両A)が行うことを予定する挙動の情報であってもよい。車両Bは車両Aから受信した安全運転支援プログラムを起動し車両Aから受信した位置情報や挙動情報等を用いて安全運転支援プログラムを実行することにより車両Aとの接触の可能性の判定と自己(車両B)の安全運転支援を実行し、ブレーキの回避又は加速を促す指示情報をディスプレイ2に表示させる。あるいは、運転制御部15によりブレーキが回避されるように又は加速するように車両Bを制御してもよい。これにより、車両Aと車両Bとの車間距離は開くこととなり、接触が回避される。
さらに、CPU11を安全運転支援部101の全部として機能させるための安全運転支援プログラムを他の車両Bに送信する場合には、車両Aから車両Bにのみ位置情報や挙動情報等をするのではなく車両Aの安全運転支援部101と車両Bで実行された安全運転支援プログラム(CPU11)との間で相互に互いの位置情報や挙動情報等を情報提供しあうようにしてもよい。このことでより互い安全運転支援プログラムが連携した判断や動作が行える。
なお、以下では安全運転支援プログラムの送信と起動に関する記述は省略する。
図6は、相手側運転支援情報が自己の車両Aの挙動情報に基づき生成される場合の一例である。この例では、前後に位置する自己の車両Aと他の車両Bが近づき接触が予測された際に、車両Aの運転者が右車線への回避を行う。当該挙動は挙動取得部104で取得され、情報生成部103は当該挙動情報に基づき他の車両Bの運転者に対し(右車線への回避を行わないように)直進又は左車線への回避を指示する指示情報を含む相手側運転支援情報を生成し、送受信部102が当該相手側運転支援情報を車両Bに送信する。他の車両Bにおいては、制御部20の送受信部201が相手側運転支援情報を受信し、安全運転支援部202が当該相手側運転支援情報に基づき直進又は左車線への回避を促す指示情報をディスプレイ2に表示させる。あるいは、運転制御部15により直進又は左車線へ回避するように車両Bを制御してもよい。なお、上記と反対に車両Aが左車線への回避を行った場合には、車両Bに対し直進又は右車線への回避を促す指示又は制御を行えばよい。これにより、車両Aと車両Bが同じ方向に回避することが防止され、事故の危険性を低減できる。
図7は、他の車両が複数である場合の一例である。この例では、前後に位置する自己の車両Aと他の車両Bの他、車両Aの右斜め後方にさらに他の車両B′(他の移動体に相当)が存在する。車両Aと車両Bが近づき車両Aの運転者が右車線への回避を行うと、当該挙動は挙動取得部104で取得され、情報生成部103は当該挙動情報に基づき他の車両Bの運転者に対し(右車線への回避を行わないように)直進又は左車線への回避を指示する指示情報を含む相手側運転支援情報を生成し、送受信部102が当該相手側運転支援情報を車両Bに送信する。これにより、他の車両Bにおいては安全運転支援部202が当該相手側運転支援情報に基づき直進又は左車線への回避を促す指示情報をディスプレイ2に表示あるいは車両Bを制御する。
一方で、車両Aの制御部10の送受信部102は他の車両B′に対しても安全運転支援プログラムの送信を行う。また、情報生成部103は自己の挙動情報に基づき他の車両B′の運転者に対し減速又は左車線への回避を指示する指示情報を含む相手側運転支援情報を生成し、送受信部102が当該相手側運転支援情報を車両B′に送信する。これにより、他の車両B′においては安全運転支援部202が当該相手側運転支援情報に基づき減速又は左車線への回避を促す指示情報をディスプレイ2に表示あるいは車両B′を制御する。
図8は、他の車両が複数である場合のさらに他の例である。この例では、車両B′が車両Aの右斜め前方に存在する。その他の位置関係は図7と同様である。この場合、情報生成部103は自己の挙動情報に基づき他の車両B′の運転者に対しブレーキの回避又は加速を指示する指示情報を含む相手側運転支援情報を生成し、送受信部102が当該相手側運転支援情報を車両B′に送信する。これにより、他の車両B′においては安全運転支援部202が当該相手側運転支援情報に基づきブレーキの回避又は加速を促す指示情報をディスプレイ2に表示あるいは車両B′を制御する。
以上のようにして、車両A、車両Bおよび車両B′が連携して回避行動をとることが可能となり、これらの車両同士での事故の危険性を低減できる。
図9は、プログラムの送信側である車両Aに搭載された車載装置100のCPU11により実行される処理の手順例を示すフローチャートである。なお、ここでは典型的な処理手順を一例として説明するが、CPU11の制御内容をこれに限定するものではない。
まずステップS105では、CPU11は、安全運転支援部101により自己の車両Aと他の車両Bとの接触が予測されたか否かを判定する。接触が予測されるまで本判定を繰り返し、予測された場合には判定が満たされて次のステップS110に移る。
なお、図9では特に図示しないが、上記ステップS105の判定が満たされてから(接触が予測されてから)後述するステップS140の判定が満たされるまで(接触が回避されるまで)の間、CPU11は安全運転支援部101により自己側運転支援情報を生成し、当該自己側運転支援情報に基づく安全運転支援を実行する。
ステップS110では、CPU11は、接触が予測された他の車両Bを特定し、車両IDを取得する。車両Bの特定方法は前述した通りである。
次のステップS115では、CPU11は、送受信部102により、CPU11を安全運転支援部101の全部又は一部として機能させるための安全運転支援プログラムを、上記ステップS110で取得した車両IDを用いて他の車両Bに送信する。
次のステップS120では、CPU11は、上記ステップS115で送信した安全運転支援プログラムを他の車両Bの制御部20が起動したことを表す起動通知を他の車両Bより受信したか否かを判定する。起動通知を受信するまで本判定を繰り返し、受信した場合には判定が満たされて次のステップS125に移る。
ステップS125では、CPU11は、挙動取得部104により、自己の車両Aの挙動に関する挙動情報を取得する。
次のステップS130では、ステップS115でCPU11を安全運転支援部101の全部として機能させるための安全運転支援プログラムを送信した場合には、CPU11は、情報生成部103により、上記ステップS125で取得した挙動情報を他の車両Bに送信するための情報として用意する。また、ステップS115でCPU11を安全運転支援部101の一部として機能させるための安全運転支援プログラムを送信した場合には、CPU11は、情報生成部103により、上記ステップS125で取得した挙動情報に基づき、他の車両Bの安全運転支援に関する相手側運転支援情報を生成する。相手側運転支援情報の具体例については前述した通りである。
次のステップS135では、CPU11は、送受信部102により、上記ステップS130で生成した相手側挙動情報あるいは相手側運転支援情報を他の車両Bに送信する。
次のステップS140では、CPU11は、安全運転支援部101により、安全運転支援を実行した結果他の車両Bとの接触が回避されたか否かを判定する。接触が回避されていない場合には、判定が満たされずに先のステップS125に戻る。すなわちCPU11は、接触が回避されるまでの間、自己の車両Aの安全運転支援を実行しつつ、ステップS125〜ステップS140において自己の車両Aの挙動情報の取得および送信、あるいは取得した挙動情報に基づく相手側運転支援情報の生成および当該相手側運転支援情報の送信を繰り返し実行する。これにより、接触が回避された場合には、判定が満たされて次のステップS145に移る。
ステップS145では、CPU11は、車両Aと車両Bの接触の回避が完了したことを表す回避完了通知を生成し、送受信部102により他の車両Bに送信する。
次のステップS150では、CPU11は、情報生成部103により上記ステップS115で送信した安全運転支援プログラムの実行終了を指示する指示情報を生成し、送受信部102により他の車両Bに送信する。以上により、CPU11は本フローを終了する。
なお、以上ではステップS130において相手側運転支援情報を自己の車両Aの挙動情報に基づき生成する場合について説明したが、前述したように相手側運転支援情報を自己側運転支援情報に基づき生成してもよい。この場合、ステップS125は不要となる。
図10は、プログラムの受信側である車両Bに搭載された車載装置200のCPU21により実行される処理の手順例を示すフローチャートである。なお、ここでは典型的な処理手順を一例として説明するが、CPU21の制御内容をこれに限定するものではない。
まずステップS210では、CPU21は、車両Aより送信された安全運転支援プログラムを送受信部201により受信したか否かを判定する。安全運転支援プログラムを受信するまで本判定を繰り返し、受信した場合には判定が満たされて次のステップS220に移る。なお、受信した安全運転支援プログラムにプログラムの送信元である車両Aの情報(車両の位置や特徴等)が付されている場合には、当該情報を運転者に通知してもよい。
ステップS220では、CPU21は、上記ステップS210で受信した安全運転支援プログラムを起動(実行)する。これにより、前述したように制御部20が安全運転支援部202を有することになる。
次のステップS230では、CPU21は、安全運転支援プログラムを起動したことを表す起動通知を生成し、送受信部201により車両Aに送信する。
次のステップS240では、CPU21は、車両Aより送信された相手側挙動情報あるいは相手側運転支援情報を送受信部201により受信したか否かを判定する。相手側運転支援情報を受信するまで本判定を繰り返し、受信した場合には判定が満たされて次のステップS250に移る。
ステップS250では、CPU21は、上記ステップS220で安全運転支援プログラムを実行することによる安全運転支援部202により、車両Aより送信された相手側挙動情報あるいは相手側運転支援情報に基づき車両Bの安全運転支援を実行する。
次のステップS260では、CPU21は、車両Aより送信された車両Aと車両Bの接触の回避が完了したことを表す回避完了通知を、送受信部201により受信したか否かを判定する。回避完了通知を受信していない場合には、判定が満たされずに先のステップS240に戻る。すなわちCPU21は、回避完了通知を受信するまでの間、ステップS240〜ステップS260において相手側運転支援情報の受信および当該相手側運転支援情報に基づく安全運転支援の実行を繰り返し実行する。これにより、車両Aと車両Bの接触が回避され回避完了通知を受信した場合には、判定が満たされて次のステップS270に移る。なお、車両Aより回避完了通知を受信した際に、接触が回避された旨を車両Bの運転者に通知してもよい。
ステップS270では、CPU21は、車両Aより送信された安全運転支援プログラムの実行終了を指示する指示情報を、送受信部201により受信したか否かを判定する。指示情報を受信するまで本判定を繰り返し、受信した場合には判定が満たされて次のステップS280に移る。
ステップS280では、CPU21は、安全運転支援プログラムの実行を終了する。以上により、CPU21は本フローを終了する。
以上説明したように、上記車載装置100は、車両A(移動体に相当)に搭載され、他の車両B(他の移動体に相当)に無線通信を介して情報を送信する車載装置100(移動体搭載送信装置に相当)であって、一又は複数の他の車両Bとの接触が予測された場合に、自己の車両Aの安全運転支援に関する自己側運転支援情報を生成し、当該自己側運転支援情報に基づき安全運転支援を実行する安全運転支援部101(安全運転支援手段に相当)と、安全運転支援部101により接触が予測された場合に、CPU11(制御手段に相当)を安全運転支援部101の全部として機能させるための安全運転支援プログラムを他の車両Bに送信する送受信部102(送信手段に相当)と、を備える。
これらのようにすると、次のような効果が得られる。すなわち、個々の車両に搭載される安全運転支援機能はそのメーカーによってアルゴリズムや性能等が相違するため、同じ状況を共有する場合でも、状況の判断やその判断に基づく運転支援情報の内容が相違する。このような運転支援情報の詳細まで業界で統一するのは困難である。さらに、異なる車両同士が統一的な回避行動を取るには、相互の安全運転支援プログラムの内容が把握され、また、相互の安全運転支援プログラムが同じアルゴリズムや性能を有する必要がある。
本実施形態によれば、自己の車両Aから他の車両Bに安全運転支援プログラムを提供する。このため、各車両で自律的な安全運転支援機能自体は相違しても、プログラムを実行する環境(CPUのOS(オペレーティングシステム)やメモリサイズ、HMI(ヒューマンマシンインターフェース)、車制御コマンド等)さえ共通であれば、異なる車両同士で内容や仕組み(アルゴリズム)が把握された共通の安全運転支援プログラムを実行することができる。したがって、異なる車両同士が統一的な回避行動を取ることが可能となり、且つ、互いの安全運転支援機能はアルゴリズムや性能等が同一であるため運転支援情報の詳細まで統一することができる。
このように、本実施形態によれば1つの統一的な安全運転支援プログラムによって複数の車両が統一的な回避行動を取ることができるので、事故の危険性を低減し、安全性を高めることができる。なお、仮に互いの車両が同じ種類の安全運転支援機能であったとしても、状況の判断やその判断に基づく運転支援情報の詳細内容までは統一化されないこともあるため、このような場合であっても運転支援情報の詳細まで統一できるというメリットがある。さらに、本実施形態のように相手側の車両Bが安全運転支援機能を有していない場合でも、プログラムを実行する環境さえ有していれば安全運転支援機能自体を提供することが可能であるため、適用対象である車両の範囲が安全運転支援機能を有する車両に限定されないというメリットがある。
なお、これらのメリットは、後述するCPU11(制御手段に相当)を安全運転支援部101の一部として機能させるための安全運転支援プログラムを他の車両Bに送信する場合においても、送信された安全運転支援プログラムの範囲において当てはまる。
またさらに、車両Aの挙動情報を車両Aから車両Bに送信してもよい。その場合には、車両Aと同じ情報をもとに車両Aと連携した回避行動を決定し安全運転支援を実行することができるので、事故の危険性を低減し、安全性を高めることができる。
または、車両Aの挙動情報を送信する代わりに、自己の車両Aが実行を予定する回避挙動(車両Aの運転支援情報)を送信してもよい。その場合には、他の車両Bで起動している車両Aから送信した安全運転支援プログラムは、送信された車両Aの予定する挙動をもとに車両Bの挙動を決定し、当該車両Bのドライバーに通知あるいは車両Bを制御する。
または、車両Aの挙動情報を送信する代わりに、自己の車両Aが取得した安全運転支援判断のための情報(自車両や周囲の状況に関する情報、判断のための材料等)を送信してもよい。
また、上記車載装置100は、車両A(移動体に相当)に搭載され、他の車両B(他の移動体に相当)に無線通信を介して情報を送信する車載装置100(移動体搭載送信装置に相当)であって、一又は複数の他の車両Bとの接触が予測された場合に、自己の車両Aの安全運転支援に関する自己側運転支援情報を生成し、当該自己側運転支援情報に基づき安全運転支援を実行する安全運転支援部101(安全運転支援手段に相当)と、安全運転支援部101により接触が予測された場合に、CPU11(制御手段に相当)を安全運転支援部101の一部として機能させるための安全運転支援プログラムを他の車両Bに送信する送受信部102(送信手段に相当)と、を備える。
また上記車載装置200は、車両B(移動体に相当)に搭載され、車両Aより無線通信を介して情報を受信する車載装置200(移動体搭載受信装置に相当)であって、所定のプログラムを実行可能なCPU21(制御手段に相当)と、CPU21を、車両Bの安全運転支援に関する運転支援情報に基づき安全運転支援を実行する安全運転支援部202(安全運転支援手段に相当)として機能させるための安全運転支援プログラムの全部又は一部を、車両Aより受信する送受信部201(受信手段に相当)と、を備え、CPU21は、送受信部201により受信された安全運転支援プログラムを実行する。
また、上記車載装置100においては、安全運転支援部101により生成された自己側運転支援情報に基づき、他の車両Bの安全運転支援に関する相手側運転支援情報を生成する情報生成部103(情報生成手段に相当)をさらに備え、送受信部102は、情報生成部103により生成された相手側運転支援情報を他の車両Bに送信する。
また、上記車載装置200においては、送受信部201(受信手段に相当)は、車両Aより運転支援情報を受信し、安全運転支援プログラムを実行中のCPU21は、送受信部201により受信された運転支援情報に基づき安全運転支援を実行する。
これらのように車両Aの安全運転支援部101と、車両Aが車両Bに送信し実行した安全運転支援プログラムとの間に連携して動作する仕組みをもつようにすると、例えば図5に示すように、前後の車両A,Bで車間距離が近づき接触が予測され、後方の自己の車両Aにおいて減速又はブレーキを作動させる内容である自己側運転支援情報が生成された場合に、情報生成部103により前方の相手側の車両Bに対してはブレーキを避ける又は加速を促す内容である相手側運転支援情報を生成することができる。これにより、前後の車両A,Bで連携して車間距離を大きくするように回避行動を取ることができるので、事故の危険性を低減し、安全性を高めることができる。
またさらに、車両BのCPU21を安全運転支援部101の一部として機能させるための安全運転支援プログラムを事前に送り起動させておけば、車両Aから車両Bに挙動を指示しその挙動をコントロールできることになり、より確実に連携した回避行動を取ることができるので、事故の危険性を低減し、安全性を高めることができる。
また、上記車載装置100においては、自己の車両Aの挙動に関する挙動情報を取得する挙動取得部104(挙動取得手段に相当)と、挙動取得部104により取得された挙動情報に基づき、他の車両Bの安全運転支援に関する相手側運転支援情報を生成する情報生成部103と、をさらに備え、送受信部102は、情報生成部103により生成された相手側運転支援情報を他の車両Bに送信する。
このようにすると、例えば図6に示すように、前後の車両A,Bで車間距離が近づき接触が予測され、後方の自己の車両Aにおいて運転者が右車線への回避を行った場合に(挙動情報は右車線への移動)、情報生成部103により前方の相手側の車両Bに対しては右車線への回避を行わずに直進あるいは左車線への回避を促す内容である相手側運転支援情報を生成することができる。これにより、前後の車両A,Bで連携して同じ方向に移動しないように回避行動を取ることができるので、事故の危険性を低減し、安全性を高めることができる。
また、上記車載装置100においては、安全運転支援部101は、他の車両Bとの接触が回避されたか否かを判定し、情報生成部103は、安全運転支援部101により接触が回避されたと判定された場合に、送信した安全運転支援プログラムの実行終了を指示する指示情報を生成し、送受信部102は、情報生成部103により生成された指示情報を他の車両Bに送信する。
また、上記車載装置200においては、CPU21は、送受信部201により安全運転支援プログラムの実行終了を指示する指示情報が受信された場合に、安全運転支援プログラムの実行を終了する。
このようにすると、安全運転支援プログラムの提供を受けた側の車両Bでは、車両A,B同士の接触が回避され危険な状況を脱すると自動的に安全運転支援プログラムの実行が終了されることとなる。したがって、車両Bの運転者が一々プログラムの終了操作を行う必要がないので、利便性を向上できる。
また、上記車載装置100においては、送受信部102は、安全運転支援プログラムを他の車両BのCPU21がプログラムとして実行可能な実行ファイル形式に変換して送信する。
このようにすると、相手側の車両Bでプログラムが実行不可となることを防止できるので、複数の車両間で安全運転支援機能を確実に連携することができる。
なお、本発明は、上記実施形態に限られるものではなく、その趣旨および技術的思想を逸脱しない範囲内で種々の変形が可能である。
例えば、以上では他の車両Bの制御部20が安全運転支援機能を有しない場合を説明したが、他の車両Bの制御部20も自己の車両Aの制御部10と同様に安全運転支援機能を有していてもよい。この場合、車両A,Bの両方から相手の車両に対し安全運転支援プログラムが送信されることになるが、プログラムの送信タイミングは自己の車両において接触が予測されたタイミングであるため、接触の予測判断が早い方が先にプログラムを送信することになる。この場合、早く送信された方のプログラムを優先して実行してもよいし、早く送信されたプログラムを受信した車両側ではプログラムの送信を中止してもよい。また、プログラムの性能やグレード、版数などを考慮してもよい。例えば、先にどちらかがプログラムを送信してもそのプログラムの性能が送信先の車両のプログラムよりも劣っていたり版数が古いものであった場合には、送信先の車両が送信元に自身のプログラムを送るようにしてもよい。これにより、より良い方のプログラムで安全運転支援が実行できる。
また、車両Aの安全運転支援機能により判断した状況に応じて送信するプログラムを変更してもよい。例えば、車両Aと車両Bの車間距離が小さくなるほど危険度が増加するものとした場合、危険度が小さい場合には運転者に警告を行う機能を有する低危険度対応の安全運転支援プログラムを送信し、危険度が大きい場合には車両自体を制御する機能を有する高危険度対応の安全運転支援プログラムを送信してもよい。この場合において、上述したように車両A,Bの両方から相手の車両に対し安全運転支援プログラムが送信される場合、一方の車両からは上記低危険度対応のプログラムが送信され、他方の車両からは上記高危険度対応のプログラムが送信された場合には、より高い危険度に対応したプログラムを優先して実行してもよい。
また例えば、車両Aは複数のプログラムの中から車両Aの安全運転支援機能により判断した状況に応じたプログラムを送信してもよい。例えば追突の危険がある場合には追突回避に適したプログラムを、また例えば右折事故の危険がある場合には右折事故回避に適したプログラムを送信してもよい。
また例えば、車両Aはプログラムの中から車両Aの安全運転支援機能により判断した状況に応じたプログラムの一部分を送信してもよい。例えば追突の危険がある場合にはプログラムの中の追突回避に必要な部分を、また例えば右折事故の危険がある場合にはプログラムの中の右折事故回避に必要な部分のみを抽出して送信してもよい。
また以上では、安全運転支援プログラムの送信タイミングを接触が予測されたタイミングとしたが、例えば高速道路のように偶然居合わせた周囲の車両とある程度の時間一緒に走行するような状況である場合には、接触の有無に関わらず、その状況が把握されたタイミングでプログラムを周囲の車両に送信してもよい。このようにすると危険な状況に際して必要な通信量を減らし通信時間を短縮することができ安全運転支援を実行するための所要時間を減らすことができるので、よりすみやかな安全運転支援を実行することができる。
また以上では、安全運転支援プログラムの提供を受けた側の車両Bにおいて接触が回避され危険な状況を脱すると自動的にプログラムの実行が終了されるようにしたが、実行を終了するだけでなくプログラム自体の消去を行ってもよい。これにより、プログラムの送信先の車両Bでの記憶装置22の使用容量を節減できると共に、CPU21の負荷を低減できる。また、プログラムの実行や消去は、上記実施形態のように送信元の車両Aからの指示で行われてもよいし、プログラム自身によって自動的に行われてもよい。また、車両A,Bが所定の距離内に存在する場合や車両Bのエンジンが停止されるまでの間は、プログラムを終了又は消去しないようにしてもよい。あるいは、車両Bにおいて受信した安全運転支援プログラムは消去せずに保存しておき、プログラムの送信元である車両Aと再度接触が予測された場合に自動的に起動するようにしてもよい。
さらに、上述したように例えば高速道路において偶然居合わせた周囲の車両とある程度の時間一緒に走行するような状況が把握されたタイミングでプログラムを周囲の車両に送信した場合には、車両Bが送信元である車両Aから所定の距離以上離れた場合にプログラムを終了又は消去してもよい。あるいは、送信元である車両Aが高速道路から下りた場合(インターチェンジを通過した場合)、又は送信先である車両Bが高速道路から下りた場合(インターチェンジを通過した場合)に、車両Bにおいてプログラムを終了又は消去してもよい。
また、車両Aの車載装置100と車両Bの車載装置200が予め同じ安全運転支援プログラムを搭載している場合、プログラム自体を無線通信で送受信するのではなく、接触を予測した一方の車両からの起動指示により他方の車両において安全運転支援プログラムを実行し、連携させてもよい。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。