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

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

▶ 株式会社日立製作所の特許一覧

特許7570971安全管理システム、および、自律制御システム
<>
  • 特許-安全管理システム、および、自律制御システム 図1
  • 特許-安全管理システム、および、自律制御システム 図2
  • 特許-安全管理システム、および、自律制御システム 図3
  • 特許-安全管理システム、および、自律制御システム 図4
  • 特許-安全管理システム、および、自律制御システム 図5
  • 特許-安全管理システム、および、自律制御システム 図6
  • 特許-安全管理システム、および、自律制御システム 図7
  • 特許-安全管理システム、および、自律制御システム 図8
  • 特許-安全管理システム、および、自律制御システム 図9
  • 特許-安全管理システム、および、自律制御システム 図10
  • 特許-安全管理システム、および、自律制御システム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-11
(45)【発行日】2024-10-22
(54)【発明の名称】安全管理システム、および、自律制御システム
(51)【国際特許分類】
   G05D 1/43 20240101AFI20241015BHJP
   G06F 21/55 20130101ALI20241015BHJP
   G08G 1/00 20060101ALI20241015BHJP
   G16Y 10/40 20200101ALI20241015BHJP
   G16Y 20/20 20200101ALI20241015BHJP
   G16Y 40/10 20200101ALI20241015BHJP
【FI】
G05D1/43
G06F21/55
G08G1/00 D
G16Y10/40
G16Y20/20
G16Y40/10
【請求項の数】 8
(21)【出願番号】P 2021088157
(22)【出願日】2021-05-26
(65)【公開番号】P2022181289
(43)【公開日】2022-12-08
【審査請求日】2024-03-07
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】遠藤 浩通
(72)【発明者】
【氏名】松本 典剛
(72)【発明者】
【氏名】岩澤 寛
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2019-168942(JP,A)
【文献】特許第4056777(JP,B2)
【文献】特開2021-63795(JP,A)
【文献】米国特許出願公開第2017/0270295(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 ~ 1/87
G06F 21/55
G08G 1/00
G16Y 10/40
G16Y 20/20
G16Y 40/10
(57)【特許請求の範囲】
【請求項1】
周囲状況を認識して第一の周囲状況データを送信すると共に自らの運行状態を送信し、与えられた第一の走行経路を前記第一の周囲状況データに基づいて自律的に走行する第一の自律走行機械、および、周囲状況を認識して第二の周囲状況データを送信すると共に自らの運行状態を送信し、与えられた第二の走行経路を前記第二の周囲状況データに基づいて自律的に走行する第二の自律走行機械に対して、安全確保動作をそれぞれ指示する安全管理システムであって、
前記第一の自律走行機械により前記第二の自律走行機械が認識可能な検証地点を前記第二の走行経路に設定し、前記第一の周囲状況データから前記検証地点における前記第二の自律走行機械の運行状態を抽出する抽出部と、
前記検証地点における前記第二の自律走行機械から送信された運行状態と前記抽出部が抽出した運行状態とを比較して、前記第二の自律走行機械における制御の健全性を検証する検証部とを備える、安全管理システム。
【請求項2】
請求項1に記載の安全管理システムにおいて、
前記第一の走行経路および前記第二の走行経路は、同一の運行管理システムから与えられる、安全管理システム。
【請求項3】
請求項1に記載の安全管理システムにおいて、
前記抽出部は、前記第一および第二の走行経路および前記第一の周囲状況データに基づいて、前記第一の自律走行機械により前記第二の自律走行機械が認識可能な前記検証地点を算出する、安全管理システム。
【請求項4】
請求項1に記載の安全管理システムにおいて、
前記抽出部は、前記第二の自律走行機械から送信された運行状態に関するデータの時間相関を監視し、前記時間相関から逸脱するデータが観測された場合に前記検証地点の設定を実行する、安全管理システム。
【請求項5】
請求項1に記載の安全管理システムにおいて、
前記検証部は、前記第二の自律走行機械における制御の健全性を検証した結果、前記第二の自律走行機械が健全な制御状態ではないと判定された場合には、前記第二の自律走行機械から送信された運行状態に関するデータの信頼度を低下させる、安全管理システム。
【請求項6】
第一の走行経路のデータを送信する第一の運行管理システムと、
第二の走行経路のデータを送信する第二の運行管理システムと、
周囲状況を認識して第一の周囲状況データを送信すると共に自らの運行状態を送信し、前記第一の走行経路を前記第一の周囲状況データに基づいて自律的に走行する第一の自律走行機械と、
周囲状況を認識して第二の周囲状況データを送信すると共に自らの運行状態を送信し、前記第二の走行経路を前記第二の周囲状況データに基づいて自律的に走行する第二の自律走行機械と、
請求項1から請求項5までのいずれか一項に記載の安全管理システムと、を備える自律制御システム。
【請求項7】
請求項6に記載の自律制御システムにおいて、
前記安全管理システムは、前記第一の自律走行機械に関する第一の安全確保動作指示および前記第二の自律走行機械に関する第二の安全確保動作指示を、前記第一および第二の自律走行機械の各々に送信し、
前記第一および第二の自律走行機械の各々は、前記第一および第二の安全確保動作指示に関して相互に矛盾や齟齬があるか否かを判定し、かつ、矛盾や齟齬があると判定すると前記安全管理システムの異常を報知する安全動作指示検証部をさらに備える、自律制御システム。
【請求項8】
請求項7に記載の自律制御システムにおいて、
前記安全動作指示検証部は、
前記安全管理システムから受信した前記第一および第二の安全確保動作指示について時間相関を監視し、前記時間相関から逸脱するデータが観測された場合に、前記第一および第二の安全確保動作指示に関して相互に矛盾や齟齬があるか否かを判定する、自律制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、安全管理システム、および、自律制御システムに関する。
【背景技術】
【0002】
カメラやセンサ類を搭載して自ら外界の状態を認識し、その認識結果に基づいて与えられた経路を自律的に走行する能力を持つ、自律運転車や自律ロボット(以下、自律走行機械と呼称)が知られている。自律走行機械は、自律走行機械の目的地および走行経路を計画ないし修正しそれを自律走行機械に指示する運行管理システムと組み合わされ、自律制御システムとして運用される。また、同一の作業領域において、目的や運用主体が異なる複数の自律制御システムが共存して運用される場合もある。自律制御システムでは、自律走行機械同士および人や障害物との衝突回避、自律走行機械の効率的運用などの目的で、通信手段を介して自律走行機械から外界のセンシングデータや外界認識データを収集したり、収集したそれらのデータに基づいて自律走行機械に対して危険回避動作やより効率的な経路を指示したりすることが必要になる場合がある。
【0003】
上記のような自律制御システムにおいては、自律走行機械、運行管理システムとも、制御動作は相手から通信手段を介して受け取るデータに依存するため、それらのデータにおける信頼性や真正性の確保が必須である。これらのデータが改ざんあるいは偽造されたものである場合、自律制御システム全体の安全性や生産性に重大な影響を及ぼす可能性があるため、データの改ざんや偽造の検知といったセキュリティ技術が用いられる。
【0004】
一方、自律走行機械が正常な制御能力を喪失した場合には、外界の実際の状態と異なるデータをセンシングデータや外界認識として報告する場合も考えられる。このような場合、データ自体には誤りや改ざんがないため、上述のようなセキュリティ技術では対応できない。このようなケースに対しては、機能安全や信頼性の観点による従来技術として、自律走行機械に搭載する制御装置の冗長化や、自律走行機械や運行管理システムの健全性を監視する装置の追加がある。
【0005】
また、特許文献1では、作業領域上に設置したカメラ等のセンシング手段で自律走行機械の運行状態を観測し、自律走行機械自体が報告した運行状態と比較して後者を補正する方法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特許第4056777号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、自律走行機械がサイバー攻撃などの人為的な原因で正常な制御能力を失っている場合には、前述の冗長化や単純な監視では検知が困難である場合がある。例えば、同一アーキテクチャの制御装置による冗長化では、全ての制御装置が同じ脆弱性を持っている可能性があり、その場合はサイバー攻撃によって全てが健全性を喪失してしまう。
また、固定の監視装置を用いる方法では、自律走行機械が攻撃者に制御を奪われている場合、監視している領域でのみ正常にふるまう偽装行動をとられるなどの、回避手段を講じられる可能性がある。
本発明は、上記課題に鑑みてなされたものであり、その主な目的は、攻撃者に制御を奪われている自律走行機械の異常を検知することにある。
【課題を解決するための手段】
【0008】
本発明の第1の態様による安全管理システムは、周囲状況を認識して第一の周囲状況データを送信すると共に自らの運行状態を送信し、与えられた第一の走行経路を前記第一の周囲状況データに基づいて自律的に走行する第一の自律走行機械、および、周囲状況を認識して第二の周囲状況データを送信すると共に自らの運行状態を送信し、与えられた第二の走行経路を前記第二の周囲状況データに基づいて自律的に走行する第二の自律走行機械に対して、安全確保動作をそれぞれ指示する安全管理システムであって、前記第一の自律走行機械により前記第二の自律走行機械が認識可能な検証地点を前記第二の走行経路に設定し、前記第一の周囲状況データから前記検証地点における前記第二の自律走行機械の運行状態を抽出する抽出部と、前記検証地点における前記第二の自律走行機械から送信された運行状態と前記抽出部が抽出した運行状態とを比較して、前記第二の自律走行機械における制御の健全性を検証する検証部とを備える。
本発明の第2の態様による自律制御システムは、第一の走行経路のデータを送信する第一の運行管理システムと、第二の走行経路のデータを送信する第二の運行管理システムと、周囲状況を認識して第一の周囲状況データを送信すると共に自らの運行状態を送信し、前記第一の走行経路を前記第一の周囲状況データに基づいて自律的に走行する第一の自律走行機械と、周囲状況を認識して第二の周囲状況データを送信すると共に自らの運行状態を送信し、前記第二の走行経路を前記第二の周囲状況データに基づいて自律的に走行する第二の自律走行機械と、第1の態様による安全管理システムと、を備える。
【発明の効果】
【0009】
本発明によれば、攻撃者に制御を奪われている自律走行機械の異常を検知することができる。
【図面の簡単な説明】
【0010】
図1図1は、本発明の第1の実施の形態に係る自律制御システムの全体構成を示すブロック図である。
図2図2は、自律走行機械の内部構成を示すブロック図である。
図3図3は、運行管理システムの内部構成を示すブロック図である。
図4図4は、安全管理システムの内部構成を示すブロック図である。
図5図5は、自律走行機械の制御の健全性検証動作を説明する図である。
図6図6は、健全性検証動作の一例を示すフローチャートである。
図7図7は、同一の運行管理システムに属する二つの自律走行機械の間における検証動作を説明する図である。
図8図8は、変形例1の健全性検証動作を示すフローチャートである。
図9図9は、変形例2を説明するためのフローチャートである。
図10図10は、第2の実施の形態の自律制御システムを示す図である。
図11図11は、第2の実施の形態における自律走行機械の構成を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、図を参照して本発明を実施するための形態について説明する。
-第1の実施の形態-
図1は、本発明の第1の実施の形態に係る自律制御システム1の全体構成を示すブロック図である。自律制御システム1において、第一の自律走行機械50は第一の運行管理システム10に属する自律走行機械であり、第二の自律走行機械51は第二の運行管理システム11に属する自律走行機械である。第一の運行管理システム10は、第一の運行管理システム10に属する第一の自律走行機械50に対して、目的地および走行経路の計画と指示を実行する。一方、第二の運行管理システム11は、第二の運行管理システム11に属する第二の自律走行機械51に対して、目的地および走行経路の計画と指示を実行する。第一の自律走行機械50および第二の自律走行機械51は、いずれも作業領域90内で運用される。
【0012】
運行管理システム10,11は2つの別種類の運行管理システムであって、例えば、乗り合いバスの自動運転システムと、タクシーの自動運転システムとが相当する。安全管理システム20は、同じフィールド(作業領域90)内で運行される乗り合いバスとタクシーとが安全運行できるように管理するシステムである。なお、図1に示す例では、第一および第二の管理システム10,11に属する自律走行機械をそれぞれ一台としているが、一般的には複数台の自律走行機械が属している。
【0013】
安全管理システム20は、作業領域90内における第一の自律走行機械50と第二の自律走行機械51との間の衝突や、第一および第二の自律走行機械50,51と図示されていないその他の機械や人間との間において衝突等の支障が発生しないように監視する。そして、衝突等の危険が予測された場合には、緊急制動などの危険回避動作を第一および第二の自律走行機械50,51に指示する。
【0014】
運行管理システム10、11、安全管理システム20、通信中継装置40はネットワーク30で相互に接続される。ネットワーク30における有線/無線の別、および、これらに用いられる通信プロトコルの種類は問わない。通信中継装置40は、第一の自律走行機械50および第二の自律走行機械51をネットワーク30に接続させ、それぞれ第一の運行管理システム10と第二の運行管理システム11との間の通信、および、安全管理システム20との通信を中継する。
【0015】
以下の説明では、通信中継装置40と第一の自律走行機械50および第二の自律走行機械51との間の通信手段として、IEEE802.11シリーズのような無線を想定するが、本発明の本質においてこれに限定される必要はなく、自律制御システムの形態によっては有線を含む他の通信手段を用いてもよい。なお、ネットワーク30が無線通信手段を用いる場合、通信中継装置40を省略して、第一の自律走行機械50および第二の自律走行機械51がネットワーク30に直接接続する形態としてもよい。
【0016】
図2は、第一の自律走行機械50の内部構成を示すブロック図である。なお、図示および説明は省略するが、第二の自律走行機械51も第一の自律走行機械50と同様の構成である。第一の自律走行機械50は、プロセッサ501、記憶部502、センサ503、走行部506、通信部507を備えている。記憶部502には、外界認識プログラム、車体制御プログラム、および、通信部507を介して第一の自律走行機械50が属する運行管理システム10から受信した目的地および走行経路が記憶されている。プロセッサ501は、記憶部502に記憶されている外界認識プログラムおよび車体制御プログラムをそれぞれ実行することにより、外界認識部504および車体制御部505として機能する。
【0017】
外界認識部504は、センサ503から出力されたセンサ検出データを処理して第一の自律走行機械50の周囲の状況を認識し、その外界認識結果を出力する。センサ検出データや外界認識部504による外界認識結果を含む周囲状況に関するデータ(後述する、周囲状況データA0)は、通信部507を介して、運行管理システム10および安全管理システム20へ報告される。同様に、第二の自律走行機械51において取得された周囲状況に関するデータ(後述する、周囲状況データA1)は、運行管理システム11および安全管理システム20へ報告される。
【0018】
車体制御部505は、外界認識部504の外界認識結果と目的地及び走行経路とに基づき、第一の自律走行機械50自らの位置、走行方向および速度、姿勢などを決定する。以下では、自らの位置、走行方向、速度および姿勢を、まとめて運行状態と呼ぶことにする。車体制御部505で決定された走行方向、速度姿勢などのデータに基づいて、走行部506は駆動力などを発生する。
【0019】
図3は、運行管理システム10の内部構成を示すブロック図である。なお、図示および説明は省略するが、運行管理システム11も運行管理システム10と同様の構成である。運行管理システム10は、プロセッサ101、記憶部102、通信部104を搭載したサーバやパーソナルコンピュータなどで構成することができる。記憶部102には運行管理プログラムが記憶されており、プロセッサ101は、その運行管理プログラムを実行することにより運行管理部103として機能する。
【0020】
運行管理システム10は、第一の自律走行機械50の周囲状況に関するデータ(後述する、周囲状況データA0)が、ネットワーク30を介して第一の自律走行機械50から報告される。周囲状況に関するデータの詳細は後述する。周囲状況に関するデータは、通信部104を介して運行管理部103に入力される。運行管理部103は、報告された第一の自律走行機械50の周囲状況に関するデータに基づいて、第一の自律走行機械50の目的地および走行経路などを計画ないし修正し、それらの目的地および走行経路を第一の自律走行機械50に指示する。
【0021】
図4は、安全管理システム20の内部構成を示すブロック図である。安全管理システム20は、プロセッサ201、記憶部202、通信部206を搭載した汎用のサーバやパーソナルコンピュータで構成することができる。記憶部202には、安全監視プログラム、安全動作指示プログラムおよび健全性検証プログラムが記憶されている。プロセッサ201は、記憶部202に記憶されている安全監視プログラム、安全動作指示プログラムおよび健全性検証プログラムをそれぞれ実行することにより、安全監視部203、安全動作指示部204および健全性検証部205として機能する。
【0022】
安全管理システム20は、第一および第二の自律走行機械50,51の各々の周囲状況に関するデータ(後述する、周囲状況データA0,A1)と各々の運行状態に関するデータ(後述する、運行状態データB0,B1)とが、ネットワーク30を介して第一および第二の自律走行機械50,51からそれぞれ報告される。さらに、安全管理システム20は、運行管理システム10,11から第一および第二の自律走行機械50,51に与えられる走行経路についても、第一および第二の自律走行機械50,51から報告される。なお、上述したデータや走行経路を、ネットワーク30を介して運行管理システム10,11から受信するようにしてもよい。
【0023】
安全監視部203は、第一および第二の自律走行機械50,51から報告された各々の周囲状況に関するデータ(後述する、周囲状況データA0,A1)および各々の運行状態に関するデータ(後述する、運行状態データB0,B1)に基づいて、第一および第二の自律走行機械50,51の安全状態を判定する。安全動作指示部204は、安全監視部203の安全状態判定に基づいて、第一および第二の自律走行機械50,51に対して安全確保に係る動作をそれぞれ指示する。健全性検証部205は、第一および第二の自律走行機械50,51における制御の健全性を検証する。
【0024】
<健全性検証動作の説明>
次いで、健全性検証部205における健全性検証に関する動作について説明する。図5は、第二の自律走行機械51の制御の健全性を検証する場合を説明する図である。
【0025】
第一および第二の自律走行機械50,51は、それぞれが属する運行管理システム10,11から指示された走行経路R0,R1にそれぞれ従って作業領域90内を走行する。走行中に、第一の自律走行機械50は、センサ503のセンサ検出データおよび外界認識部504の外界認識結果を含む周囲状況データA0と、車体制御部505によって決定された運行状態データB0とを、安全管理システム20および第一の自律走行機械50が属する運行管理システム10へ所定の周期で報告する。同様に、走行中に、第二の自律走行機械51は、センサ503のセンサ検出データおよび外界認識部504の外界認識結果を含む周囲状況データA1と、車体制御部505によって決定された運行状態データB1とを、安全管理システム20および第二の自律走行機械51が属する運行管理システム11へ所定の周期で報告する。
【0026】
(検証地点70および検証時刻71)
健全性検証部205は、第二の自律走行機械51の走行経路R1上に、制御の健全性検証が実行される検証地点70および検証時刻71を設定する。図5において、検証地点70は、模式的に走行経路R1上に記載されているが、その実体は同地点を表現する座標データであり、安全管理システム20の記憶部202に保持されている。検証地点70は、第二の自律走行機械51の走行経路R1上に存在する点のうち、第一の自律走行機械50が自身の走行経路R0上からある予定時刻において第二の自律走行機械51の運行状態を観測可能であるものが選択され、その選択されたものの予定時刻が検証時刻71となる。
【0027】
すなわち、検証時刻71において、第一の自律走行機械50が搭載するセンサ503の有効視界内に走行経路R1上を走行する第二の自律走行機械51を捉えることができ、かつ、第一の自律走行機械50が搭載する外界認識部504において、第二の自律走行機械51の運行状態を認識できるような条件が満たされると予測可能である場合に、検証時刻71に第二の自律走行機械51が存在する予定の地点を検証地点70として設定することができる。
【0028】
例えば、障害物や他の自律走行機械によって第二の自律走行機械51の全部または一部が遮られるような場合には、上記条件が満たされない。そして、第二の自律走行機械51が障害物や他の自律走行機械よって遮られない場合には、検証時刻71において、第一の自律走行機械50により第二の自律走行機械51が検証地点70に認識されるとする。すなわち、検証時刻71において、第一の自律走行機械50と第二の自律走行機械51との間に障害物や他の自律走行機械が予測されない場合や、第一の自律走行機械50のセンサ503によって検出されない場合には、検証地点70が設定される。しかし、検証時刻71において障害物や他の自律走行機械が予測される場合や、第一の自律走行機械50のセンサ503によって障害物や他の自律走行機械が検出された場合には、検証地点70は設定されないことになる。
【0029】
なお、この検証地点70および検証時刻71は、検証対象である第二の自律走行機械51には通知されない。仮に第二の自律走行機械51がネットワーク30に侵入した攻撃者の支配下にあった場合、これらを攻撃者に知られると、その周辺でのみ正常な挙動であるかのようにふるまうことが想定されるためである。
【0030】
(健全性検証動作)
図6は、健全性検証部205における健全性検証動作の一例を示すフローチャートである。ステップS601では、健全性検証部205は、第一の自律走行機械50から報告される周囲状況データA0から、検証時刻71に関連づけられた運行状態、すなわち検証地点70における第二の自律走行機械51の運行状態(位置、走行方向および速度、姿勢)を抽出する。以下では、ステップS601で抽出された運行状態を抽出運行状態と呼ぶことにする。
【0031】
ステップS602では、第二の自律走行機械51から受信した運行状態データB1から、検証時刻71に関連づけられた運行状態、すなわち検証地点70における第二の自律走行機械51の運行状態を抽出する。以下では、ステップS602で抽出された運行状態を受信運行状態と呼ぶことにする。
【0032】
ステップS603では、ステップS601で抽出した抽出運行状態とステップS602で抽出した受信運行状態とに基づいて、第二の自律走行機械51の制御状態が健全であるか否かを判定する。そして、ステップS603で健全である(YES)と判定されると一連の判定処理を終了し、健全でない(NO)と判定されるとステップS604へ進む。
【0033】
上述の健全であるか否かの判定は、第二の自律走行機械51の運行状態に関する抽出運行状態と受信運行状態とに整合性があるか否かで判定する。例えば、抽出運行状態も受信運行状態も4つの要素(位置、走行方向および速度、姿勢)からなるが、健全性検証部205は、抽出運行状態および受信運行状態に含まれる対応する要素ごとに差を求める。そして、各差がそれぞれ所定の偏差以内である場合には、第二の自律走行機械51から報告される運行状態は信頼できるものであり、第二の自律走行機械51の制御状態は健全であると判定される。
【0034】
一方、抽出運行状態および受信運行状態の対応する要素の内の少なくとも一つについて、要素の差が所定の偏差を超える場合や、偏差の内容が合理的でない場合には、第二の自律走行機械51から報告される運行状態は信頼できず、第二の自律走行機械51の制御状態は健全でないと判定される。なお、偏差の内容が合理的でない場合とは、例えば、走行方向の偏差と姿勢の偏差が力学的に矛盾する場合などである。
【0035】
ステップS604では、健全でない第二の自律走行機械51から報告される周囲状況データA1や運行状態データB1は信頼度が低いとみなし、安全管理システム20の安全監視部203における安全状態の判定処理において、それらのデータの全部または一部が排除される。
【0036】
上述した第一の実施の形態では、第一の自律走行機械50が第二の自律走行機械51を監視する場合について説明したが、逆に、第二の自律走行機械51が第一の自律走行機械50を監視し、健全性検証部205において第一の自律走行機械50の制御の健全性検証も行われる。すなわち、自律走行機械同士が相互に監視していることになる。
【0037】
また、図1では、運行管理システム10に属する一台の自律走行機械50と運行管理システム11に属する一台の自律走行機械51とを示したが、一般的に、運行管理システム10,11には複数の自律走行機械が属している。そのような場合においても、各自律走行機械に対して上述した制御が適用されることで、運行管理システム10に属する自律走行機械と運行管理システム11に属する自律走行機械との間に上述した健全性検証動作が行われる。その場合、運行管理システム11に属する一台の自律走行機械に対して、運行管理システム10に属する他の複数の自律走行機械の周囲状況データに基づく検証動作がそれぞれ行われるので、検証動作の精度がより高まることになる。
【0038】
さらにまた、図7に示すように、同一の運行管理システム10に属する二つの自律走行機械50a,50bの間で上述した検証動作を行わせてもよい。例えば、自律走行機械50bがサイバー攻撃により異常行動をとっている場合、自律走行機械50bが報告する自身の運行状態は偽装されているおそれがあるが、自律走行機械50aから報告される周囲状況データに含まれる自律走行機械50bの運行状態と比較することで、自律走行機械50bの制御の健全性を検証することができる。
【0039】
以上説明した本発明の第1の実施の形態によれば、以下の作用効果を奏する。
(1)図5に示すように、安全管理システム20は、周囲状況を認識して第一の周囲状況データA0を送信すると共に自らの運行状態を表す運行状態データB0を送信し、与えられた第一の走行経路R0を第一の周囲状況データA0に基づいて自律的に走行する第一の自律走行機械50、および、周囲状況を認識して第二の周囲状況データA1を送信すると共に自らの運行状態を表す運行状態データB1を送信し、与えられた第二の走行経路R1を第二の周囲状況データA1に基づいて自律的に走行する第二の自律走行機械51に対して、安全確保動作をそれぞれ指示する。そして、安全管理システム20は、第一の自律走行機械50により第二の自律走行機械51が認識可能な検証地点70を第二の走行経路R1に設定し、第一の周囲状況データA0から検証地点70における第二の自律走行機械51の運行状態を抽出する抽出部としての健全性検証部205を備えている。さらに、健全性検証部205は、検証地点70における第二の自律走行機械51から送信された運行状態としての運行状態データB1と第一の周囲状況データA0から抽出した運行状態とを比較して、第二の自律走行機械51における制御の健全性を検証する検証部として機能する。
【0040】
このように、本実施の形態では、健全性を検証しようとする第二の自律走行機械51が走行する検証地点70において、第三者である第一の自律走行機械50によって第二の自律走行機械51の運行状態を認識し、その認識された運行状態と第二の自律走行機械51が自ら報告した運行状態とを比較することで、故障あるいはサイバー攻撃等により第二の自律走行機械51が報告した運行状態と異なる挙動を示している場合に、第二の自律走行機械51における制御の異常を検知することができる。
【0041】
例えば、第二の自律走行機械51がサイバー攻撃により異常行動をしている場合、実際の挙動とは異なる本来の正しい運行状態(運行状態データB1)を偽装して安全管理システムに報告する可能性がある。そのような場合でも、サイバー攻撃を受けていない第一の自律走行機械50により認識した第二の自律走行機械51の運行状態(周囲状況データA0)と、偽装された運行状態(運行状態データB1)とを比較することで、第二の自律走行機械51の異常を検知することができる。
【0042】
また、従来のように固定されたインフラセンサにより自律走行機械の行動を認識して監視する場合、インフラセンサの監視可能範囲だけは、自律走行機械を本来の運行状態で制御し、かつ、本来の運行状態を報告するという偽装行動をとられるおそれがある。その場合、インフラセンサで認識される運行状態と報告される運行状態とが整合しているので、サイバー攻撃により自律走行機械が異常状態であることを検知することができない。
【0043】
一方、本実施の形態では、安全管理システム20の健全性検証部205により検証地点70が設定され、作業領域90内を走行している第一の自律走行機械50により、検証地点70における第二の自律走行機械51の運行状態が認識される。そのため、サイバー攻撃を受けている第二の自律走行機械51が、第一の自律走行機械50による観測を偽装行動により回避するのを、困難にすることができる。
【0044】
(2)さらに、図7に示すように、自律走行機械50aが属する運行管理システムと自律走行機械50bが属する運行管理システムとが同一であって、第一の走行経路R0および第二の走行経路R1が同一の運行管理システムから与えられる構成でもよく、同じ運行管理システムに属する自律走行機械の健全性を検証することができる。
【0045】
(3)好ましくは、健全性検証部205は、第一および第二の走行経路R0,R1および第一の周囲状況データA0に基づいて、第一の自律走行機械50により第二の自律走行機械51が認識可能な検証地点を算出する。このように、第一の自律走行機械50により認識した周囲状況に基づくことで、第二の自律走行機械51が人や移動体のような障害物により遮られない検証地点を確実に設定することができ、精度の高い健全性検証を行うことができる。
【0046】
(変形例1)
図8は変形例1を説明するためのフローチャートであり、図6のフローチャートにステップS610の処理を追加したものである。変形例1では、上述した検証地点70および検証時刻71を用いた制御状態の健全性の検証を、サイバー攻撃などの発生が疑われる場合にのみ実行する。
【0047】
まず、ステップS610において、第二の自律走行機械51から安全管理システム20に送信されるデータの通信特徴値の健全性を検証する。例えば、第二の自律走行機械51から安全管理システム20に送信される周囲状況データA1や運行状態データB1を含めた通信について、通信周期や送信先、仕様プロトコルなどの特徴値の相関を監視し、統計処理により特徴値の相関を経時的に調べる。そして、通信特徴値の健全性があると判定された場合(YES)には、第二の自律走行機械51の制御の健全性検証を実行することなく、図8の処理動作を終了する。
【0048】
一方、普段見られる通常の特徴値の相関から逸脱するような通信が観測された場合には、すなわち、ステップS610において通信特徴値の健全性が否定された場合(NO)には、第二の自律走行機械51に対するサイバー攻撃の疑いがあるとして、ステップS601へ進む。その後、図6の場合と同様に、ステップS601からステップS604までの処理を実行し、検証地点70および検証時刻71を用いた制御状態の健全性検証を行う。なお、相関監視方法としては、例えば、Support Vector Machine(SVM)やk-Nearest Neighbor(k-NN)などの既存技術を用いることができる。
【0049】
(4)変形例1によれば次の作用効果を奏する。
健全性検証部205は、第二の自律走行機械51から受信した運行状態データB1の時間相関を監視し、通常の時間相関から逸脱するデータが観測された場合に検証地点70を設定し、健全性検証動作を実行する。すなわち、第二の自律走行機械51の運行状態データB1からサイバー攻撃等により不審な行動が疑われる場合には、ただちに第一の自律走行機械50の観察による健全性検証動作を実行することで、異常を検証することができる。
【0050】
(変形例2)
図9は、変形例2を説明するためのフローチャートである。図6に示した健全性検証動作では、抽出運行状態および受信運行状態の対応する要素の差がそれぞれ所定の偏差を超える場合や、偏差の内容が合理的でない場合には、第二の自律走行機械51の制御状態は健全でないと判定され、安全管理システム20の安全監視部203における安全状態の判定処理において、第二の自律走行機械51から報告されるデータを排除するようにした。一方、変形例2における健全性検証動作では、偏差の大きさや非合理性の程度によって、第二の自律走行機械51から報告される運行状態の信頼度や制御状態の健全性に関する判定を、連続的または段階的に引き下げるようにした。
【0051】
図9に示すフローチャートにおいて、ステップS801~S803およびS806の処理は、図6のフローチャートのステップS601~S604の処理とそれぞれ同様のものである。すなわち、ステップS801では、第一の自律走行機械50から報告される周囲状況データA0から第二の自律走行機械51の抽出運行状態を求め、ステップS802では、第二の自律走行機械51から受信した運行状態データB1から第二の自律走行機械51の受信運行状態を求める。ステップS803では、抽出運行状態と受信運行状態とに基づいて第二の自律走行機械51の制御状態が健全であるか否かを判定する。
【0052】
ステップS803において健全である(YES)と判定されると一連の健全性検証処理を終了し、健全でない(NO)と判定されるとステップS804へ進む。ステップS804では、異常の程度を表す異常カウンタをインクリメントする。ステップS805では、異常カウンタが所定値以上か否かを判定し、異常カウンタが所定値以上であった場合にはステップS806に進んで、第二の自律走行機械51から報告されるデータを安全状態判定処理から排除する。一方、異常カウンタが所定値未満であった場合には、一連の健全性検証処理を終了する。なお、図6に示す健全性検証動作は、図9のステップS805における所定値を1とした場合に相当する。
【0053】
変形例2では、第二の自律走行機械51が正常である場合において誤差等により偏差がたまたま増大することがあっても、そのような状況はめったにないので、ステップS805において異常カウンタ<所定値と判定され、直ぐに異常と判断されるのを回避することができる。一方、異常で偏差が大きくなっている場合には、図9の健全性検証動作が実行されるたびに異常カウンタがインクリメントされるので、直ぐに異常カウンタ≧所定値となってステップS805で異常(YES)と判定されることになる。
【0054】
(5)変形例2によれば次の作用効果を奏する。
変形例2では、図9に示す処理のように、健全性検証部205は、第二の自律走行機械51における制御の健全性を検証した結果、第二の自律走行機械51が健全な制御状態ではないと判定された場合には(ステップS803)、第二の自律走行機械51から送信された運行状態に関するデータの信頼度を低下させる(ステップS804)。そのため、正常である第二の自律走行機械51が異常と誤検出されるのを防止することができる。
【0055】
また、第1の実施の形態の自律制御システム1は、以下の作用効果を奏する。
(6)図1に示した自律制御システム1は、第一の走行経路R0のデータを送信する第一の運行管理システム10と、第二の走行経路R1のデータを送信する第二の運行管理システム11と、周囲状況を認識して第一の周囲状況データA0を送信すると共に自らの運行状態を表す運行状態データB0を送信し、第一の走行経路R0を第一の周囲状況データA0に基づいて自律的に走行する第一の自律走行機械50と、周囲状況を認識して第二の周囲状況データA1を送信すると共に自らの運行状態を表す運行状態データB1を送信し、第二の走行経路R1を第二の周囲状況データA1に基づいて自律的に走行する第二の自律走行機械51と、上述の安全管理システム20とを備える。
【0056】
上述した自律制御システム1では、健全性を検証しようとする第二の自律走行機械51が走行する検証地点70において、第三者である第一の自律走行機械50によって第二の自律走行機械51の運行状態を認識し、その認識された運行状態と第二の自律走行機械51が自ら報告した運行状態とを比較することで、故障あるいはサイバー攻撃等により第二の自律走行機械51が報告した運行状態と異なる挙動を示している場合に、第二の自律走行機械51における制御の異常を検知することができる。
【0057】
-第2の実施の形態-
図10および11は、自律制御システム1の第2の実施の形態を示す図である。上述した第1の実施の形態では、第二の自律走行機械51がサイバー攻撃等により正常な制御能力を喪失している場合を想定したが、自律制御システム1の安全性により万全を期すならば、安全管理システム20の側がサイバー攻撃等によって正常な制御能力を喪失したケースも想定することが望ましい。
【0058】
すなわち、安全管理システム20が必要なタイミングや内容の安全動作を第一および第二の自律走行機械50,51に指示しなかったり、逆に合理的でない、あるいは悪意に基づく不正なタイミングや内容の安全動作を第一および第二の自律走行機械50,51に指示したりした場合、自律制御システム1全体の安全性や生産性が損なわれるおそれがある。第2の実施の形態では、このようなケースを想定し、安全管理システム20における制御状態の健全性検証を実現する方法について説明する。
【0059】
図10は第2の実施の形態の自律制御システム1を示す図であり、図1に示す自律制御システムのシステム構成に対して管理者端末92が追加されている。管理者端末92の役割は後述する。図11は、第2の実施の形態における第一の自律走行機械50の構成を示すブロック図である。図示は省略するが、第二の自律走行機械51の構成も、図11に示す第一の自律走行機械50の構成と同様である。
【0060】
図11に示す第一の自律走行機械50の構成では、図2に示した第一の自律走行機械50の構成に対して、安全動作指示検証部508が追加されている。すなわち、記憶部502には安全動作指示検証プログラムも記憶されており、プロセッサ501は安全動作指示検証プログラムを実行することにより、安全動作指示検証部508としても機能する。安全動作指示検証部508の動作については後述する。
【0061】
なお、本実施の形態では、第1の実施の形態で説明した自律走行機械の制御の健全性検証動作を行う自律制御システムに、安全管理システム20の側がサイバー攻撃等によって正常な制御能力を喪失した場合の健全性検証方法をさらに追加する場合について説明する。しかし、安全管理システム20の側がサイバー攻撃等によって正常な制御能力を喪失した場合の健全性検証方法は、第1の実施の形態で説明した自律走行機械の制御の健全性検証動作を行わない自律制御システムにも、単独で適用することが可能である。
【0062】
図10では、作業領域90内において、第一の自律走行機械50と第二の自律走行機械51とが互いに衝突コースを走行中の状態を表している。第一および第二の自律走行機械50,51において外界認識部504が故障していたり、障害物等によって互いを認識できなかったりした場合、自律走行機械50,51同士が衝突してしまうおそれがある。安全管理システム20は、そのような衝突を回避するために、第一および第二の自律走行機械50,51に対してそれぞれ第一および第二の安全確保動作指示C0,C1を送信する。第一および第二の安全確保動作指示C0,C1の具体的な内容は検知された状況により異なるが、例えば、強制的な制動ないし停止や走行方向、姿勢の変更などであり、すなわち、運行状態の一時的な変更である。
【0063】
ここで、安全管理システム20が正常な制御能力を喪失していて、第一および第二の安全確保動作指示C0,C1の内容に矛盾や齟齬がある場合、例えば、第一および第二の自律走行機械50,51のいずれにも制動指示がでていなかったり、双方に対して同方向への回避指示が出ていたりすると、前述の通り自律制御システム1全体の安全性や生産性が損なわれる。
【0064】
まず、本実施の形態では、第一および第二の自律走行機械50,51は、第一および第二の安全確保動作指示C0,C1の両方、すなわち自機宛てだけでなく他の当事者宛てについても受信または傍受する構成となっている。第一および第二の自律走行機械50,51に設けられた各安全動作指示検証部508(図11参照)では、受信した第一および第二の安全確保動作指示C0,C1にそれぞれ含まれる運行状態の一時的な変更指示内容を比較し、前述のような矛盾や齟齬がないを確認する。
【0065】
第一および第二の自律走行機械50,51のいずれか、または双方においてそのような矛盾や齟齬が検出された場合、それを検出した自律走行機械は、管理者端末92と他の自律走行機械に向けて警告メッセージを送信して安全管理システム20の異常を報知するとともに、車体制御部505を通じて自ら非常停止などの安全動作を実行する。図10に示す例では、第一の自律走行機械50において上述のような矛盾や齟齬が検出され、第一の自律走行機械50から管理者端末92および第二の自律走行機械51に対して警告メッセージD0が送信されている。
【0066】
例えば、管理者端末92は安全管理システム20に設けられており、自律制御システム1の管理者は管理者端末92を監視している。自律制御システム1の管理者は、管理者端末92に表示された警告メッセージD0をトリガとして、システムの停止やメンテナンスなどの対策をとることができる。
【0067】
なお、安全動作指示検証部508において、第一および第二の安全確保動作指示C0,C1を含めて安全管理システム20から発信される通信について、その通信周期や送信先、仕様プロトコルなどの特徴値の相関を監視し、特徴値の相関から逸脱するような通信が観測された場合に、安全管理システム20に対するサイバー攻撃の疑いがあるとして、第一および第二の安全確保動作指示C0,C1の内容を照合するようにしてもよい。
【0068】
上述した第2の実施の形態によれば、以下の作用効果を奏する。
(7)図10,11に示す自律制御システム1において、安全管理システム20は、第一の自律走行機械50に関する第一の安全確保動作指示C0および第二の自律走行機械51に関する第二の安全確保動作指示C1を、第一および第二の自律走行機械50,51の各々に送信する。また、第一および第二の自律走行機械50,51の各々は、第一および第二の安全確保動作指示C0,C1に関して相互に矛盾や齟齬があるか否かを判定し、かつ、矛盾や齟齬があると判定すると安全管理システム20の異常を報知する安全動作指示検証部508をさらに備える。
【0069】
そのため、自律制御システム1において第一および第二の自律走行機械50,51と安全管理システム20の相互監視を実現でき、いずれかの側が正常な制御能力を喪失して不正な外界認識データや運行状態データ、安全動作指示を送信してしまうような場合でも自律制御システム1としての安全性を維持することが可能となる。
【0070】
(8)さらに、安全動作指示検証部508は、安全管理システム20から受信した第一および第二の安全確保動作指示C0,C1について時間相関を監視し、時間相関から逸脱するデータが観測された場合に、第一および第二の安全確保動作指示C0,C1に関して相互に矛盾や齟齬があるか否かを判定するようにしてもよい。
【0071】
なお、以上の説明において、構成における機能部は、電気回路、電子回路、論理回路、およびそれらを内蔵した集積回路のほか、マイコン、プロセッサ、及びこれらに類する演算装置と、ROM、RAM、フラッシュメモリ、ハードディスク、SSD、メモリカード、光ディスク及びこれらに類する記憶装置と、バス、ネットワーク及びこれらに類する通信装置、及び周辺の諸装置の組み合わせによって実行されるプログラムによって実現してもよく、いずれの実現態様でも本発明は成立し得る。
【0072】
また、以上説明した各実施形態や各種変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【0073】
1…自律制御システム、10,11…運行管理システム、20…安全管理システム、30…ネットワーク、40…通信中継装置、50,51…自律走行機械、90…作業領域、203…安全監視部、204…安全動作指示部、205…健全性検証部、503…センサ、504…外界認識部、505…車体制御部、508…安全動作指示検証部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11