JP5644060B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP5644060B2
JP5644060B2 JP2009079110A JP2009079110A JP5644060B2 JP 5644060 B2 JP5644060 B2 JP 5644060B2 JP 2009079110 A JP2009079110 A JP 2009079110A JP 2009079110 A JP2009079110 A JP 2009079110A JP 5644060 B2 JP5644060 B2 JP 5644060B2
Authority
JP
Japan
Prior art keywords
data
program module
synchronization
integration
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009079110A
Other languages
English (en)
Other versions
JP2010231556A (ja
Inventor
利之 松原
利之 松原
北浜 謙一
謙一 北浜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2009079110A priority Critical patent/JP5644060B2/ja
Publication of JP2010231556A publication Critical patent/JP2010231556A/ja
Application granted granted Critical
Publication of JP5644060B2 publication Critical patent/JP5644060B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、複数のプログラムモジュールを同期させてデータ処理を行うデータ処理装置に関する。
複雑なデータ処理を行う場合に、複数の装置やプログラムモジュールを組み合わせることでその処理を行うシステムが知られている。こうしたシステムで周期的なデータ処理を行う場合には、各装置やプログラムモジュールを同期させて、適切なタイミングで処理を行う必要がある。特許文献1に記載されている技術では、第1、第2のECUからは出力結果に時間データを付して第3のECUへと送信し、第3のECUは、第1のECUと第2のECUの出力結果中の時間データの差が所定時間内の場合に、それらを利用した処理を行うというものである。
特開2005−201144号公報
この特許文献1の技術では、所定時間内に出力されたデータを用いて処理を行うことは可能となるものの、例えば、各ECUの処理を確実に同期させるものではない。システムの設計段階でこれらの同期周期を設定する手法もあるが、システム更新や統合の度に同期周期の設定を見直す必要があり、煩雑になる。また、システム内に同期周期の異なるプロセスが存在するような場合や同期周期が可変のプロセスが存在するような場合には対応が困難である。
そこで、本発明は、プログラムモジュール間の同期周期を自動的に設定して制御することを可能としたデータ処理装置を提供することを課題とする。
上記課題を解決するため、本発明に係るデータ処理装置は、複数のプログラムモジュール間で、タイムスタンプが割り当てられたデータの授受を行うデータ処理装置において、各プログラムモジュールにおける、前記データ授受を行う他のプログラムモジュールとの接続関係基づいて、同じタイムスタンプのデータ同士を用いることで同期処理を行うプログラムモジュールを1つの同期グループとして形成させる統合用プログラムモジュールを備えており、この統合用プログラムモジュールは、各同期グループが前記接続関係に基づいて設定した同期周期で作動するよう各プログラムモジュールの処理タイミングを調整して処理を行わせることを特徴とする。
各プログラムモジュールは、個々に識別符号を有しており、統合用プログラムモジュールは、各プログラムモジュールが起動処理を行う際に、自身のプログラムモジュールの起動と自身のプログラムモジュールが接続を希望する他のプログラムモジュールとを、当該識別符号を用いて通知させることにより、前記接続関係をたどってこの形成を行うとよい。
本発明によれば、統合用プログラムモジュールが、各モジュールのデータ授受の接続関係に基づいてデータ同期が必要なモジュールを区分けし、同期グループとしてまとめて統合するので、自動的に同期グループの統合を行うことができるので、同期周期の異なるプロセスが含まれている場合もそれぞれを最適な同期周期で動作させることができる。また、同期周期が可変のプロセスが存在する場合にも、周期の変化に対応した動作が可能である。そのため、システム更新や統合も容易になる。識別符号を用いてこの同期処理の統合を行うことで統合処理が容易になり、利便性が向上する。
本発明に係るデータ処理装置の第1の実施形態の構成を示すブロック図である。 データ構造を説明する図である。 本発明に係るデータ処理装置における同期処理の課題を説明する図である。 本発明に係るデータ処理装置における同期グループを説明する図である。 統合用プログラムモジュールによる統合処理を説明する図である。 本発明に係るデータ処理装置による緊急停止通知機能を説明する図である。 本発明に係るデータ処理装置による自動停止伝播機能を説明する図である。 本発明に係るデータ処理装置による動作周期検証機能について説明する図である。 本発明に係るデータ処理装置による保守機能の階層処理を説明する図である。
以下、添付図面を参照して本発明の好適な実施の形態について詳細に説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の参照番号を附し、重複する説明は省略する。
図1は、本発明に係るデータ処理装置の第1の実施形態の構成を示すブロック図である。このデータ処理装置は、車両用のデータ処理装置であり、図示していないカメラからの入力画像(動画像)を基に、特徴点抽出を用いて、歩行者検出、姿勢推定等を行うものである。各プログラムモジュール(PU:Processing Unit)1〜4、7、9は、任意のユーザーアルゴリズムを実行するアルゴリズム実行部を中心に構成され、必要に応じてその入出力のため、任意のデータ(11〜13、31、32)を指定した別のPUに要求するデータ要求部と、別のPUの要求に応じてデータ(11〜13、31、32)を送信するデータ出力部とを備えている。
このうちPU7は、他のPU(1〜4、9)を自動的に接続して、そのデータ授受に基づいて前後のPU間の接続関係をたどり、同期テーブルを自動生成する統合機能を有している。PU1は、入力画像を受けて前処理等を行うものであり、その動作周期は30msである。PU3は、画像中の特徴点を抽出するものであり、その動作周期は50msである。PU2は、特徴点抽出結果を基にして歩行者を検出するものであり、その動作周期は150msである。PU4は、特徴点抽出結果を基にして自車両の姿勢を推定するものであり、その動作周期は500msである。PU9は、PU1で処理した画像データの任意のデータを表示するものである。
このPU7が自動生成した同期テーブルに基づき、上記実施形態においては、PU1〜3がGroup0として1つの同期グループ5を形成する一方、PU1、3、4がGroup1として1つの同期グループ6を形成する。同期グループ5は、周期150msで同期する一方、グループ6は、周期500msで同期する。PU9は、これらに対して独立して別個の周期で稼働する。
次に、具体的な統合手法について説明する。図2は、各データ11〜13、31、32のデータ構造を説明する図である。各データはヘッダ部H、グループID記述部Gとデータ部Dからなる。ヘッダ部Hには、出力元のPUを識別する情報が記載されているほか、他のPUと同期する必要の有無が記載されている。以下、図3に示されるようなデータ処理装置を例に説明する。このデータ処理装置は、カメラ90で取得した画像を基にして自動運転を行うシステムである。本システムは、画像からPU20が特徴点を抽出し、その特徴点データを利用して、PU10による障害物検出、PU30による自己位置推定を実施する。PU40は、障害物との衝突回避動作を行う必要性を判断して、非常停止等の衝突回避動作を実行する。PU50は、現在位置や設定された目的地情報にもとづいて経路案内のための経路計画を作成する。
このシステムにおいては、障害物判定で判定した障害物位置と自己位置推定とで推定した現在位置とが同時刻のものでないと、衝突回避判定や経路計画において正しい判定を行うことができない。そこで、障害物検出を行うPU10と自己位置推定を行うPU30とは同期している必要がある。一方、PU40による非常停止処理はこれより短い周期で実行することが可能である。このシステム全体を同期させると、最も処理速度の遅いPU30の自己位置推定の周期である5Hzで動作させることになるが、緊急回避を行うには同期速度が遅すぎる。
本発明によれば、図示していない統合PUにより、各PUの接続関係に基づき、図4に示されるように、PU10、PU40を同期グループとして、周期15Hzで同期させる一方、PU30、50は、別の同期グループとして周期5Hzで同期させる。具体的には、カメラ90からのデータにタイムスタンプを割り当て、これに対応するデータについては、同じタイムスタンプを継承させる。同じタイムスタンプのデータ同士を用いることで同期をとることができる。例えば、カメラからの出力データを画像(1)、画像(2)、画像(3)、…、画像(n)とすると、PU20による特徴点抽出処理は、カメラ90に対して動作周期が半分なので、入力データは、画像(1)、画像(3)、画像(5)、…、画像(2m−1)となり、出力データは、特徴点(1)、特徴点(3)、特徴点(5)、…、特徴点(2m−1)となる。
同様に、PU10における障害物検出処理の入力データは、画像(1)、画像(3)、画像(5)、…、画像(2m+1)と、特徴点(1)、特徴点(3)、特徴点(5)、…、特徴点(2m+1)であり、出力データは、障害物(1)、障害物(3)、障害物(5)、…、障害物(2m+1)となる。一方、PU30における自己位置推定の動作周期は、カメラ90の1/6なので、その入力データは、特徴点(1)、特徴点(7)、特徴点(13)、…、特徴点(6j+1)であり、出力データは、現在位置(1)、現在位置(7)、現在位置(13)、…、現在位置(6j+1)となる。
PU40、PU50の各処理は、PU10やPU30より速い動作周期で行うことができる。この場合、所望のタイムスタンプの入力データが得られない場合があるが、受信した入力データから所定の補間処理や予測処理により所望のタイムスタンプの入力データに相当するデータを求めて、使用するとよい。これにより、各PUを効率よく同期させることができる。
統合用PUによる統合処理を図5(a)、(b)を参照して説明する。ここで、各PU(15、25、35)には識別符号が付されている。図5(a)に示されるように、各PU(15、25、35)は、初回起動時に、統合用PU55に対して、自身の起動と自身が接続を希望するPU(そのPUがデータ要求を行うPU)を、この識別符号を用いて通知する。なお、同期が不要な場合には、他のPUの識別符号は通知しなくともよいし、同期が不要な旨を明示して通知する形式をとってもよい。統合用PU55は、こうして各PUから寄せられた接続を希望するPUの情報に基づいて各PUの接続関係をたどり、同期テーブルを生成する。各PUの接続関係をたどる手法は、前処理側から後処理側へと処理の方向にたどっていってもよいし、後処理側から前処理側へと処理の方向とは逆方向にたどっていってもよい。
そして、統合用PU55は、接続を希望されたPUがすでに起動済みである場合には、その旨を識別符号により、PU(25、35)に対して通知する。これにより、PU間でネットワークが形成される。次回以降のサイクルにおいては、生成された同期テーブルに基づいて統合用PU55が各PUの起動タイミングを制御することで、各PUを同期させる。
各PUのいずれかが処理速度を変更可能な場合には、統合用PU55は、同期テーブルに基づいて当該PUの変更に合わせた同期処理の変更を行うことができる。例えば、こうした処理速度の変更としては、車線認識処理において、高速道路では、移動速度が高速になるので、白線の認識を簡易に行うことで、周期を高速化させる一方、一般道路では、周期を下げて認識処理に避ける時間を長くとることで、少し剥げた白線でも認識できるようにする。このように一部のPUの処理周期が変更された場合でも、本発明によれば各PUを自動的に同期させて動作させることができる。さらに、本発明によれば、図1に示されるPU9のように他のPUと同期を行う必要のないPUについては独立して動作させるので、効率よく動作させることができる。
以下、本発明に係るデータ処理装置における別の機能のいくつかを例示する。図6は、本発明に係るデータ処理装置による緊急停止通知機能を説明する図である。このデータ処理装置は、例えば、サーバ150とクライアント100とが協働して処理をおこなうものであり、統合用PU151は、サーバ150上で稼働している。データ処理用のPUは、サーバ150上で稼働するPU152と、クライアント100上で稼働するPU110で構成される。そして、サーバ150、PU100のそれぞれで、診断用アプリケーション153、113が作動している。クライアント用の診断用アプリケーション113は、周期的にサーバ150の診断用アプリケーション153と通信するが、診断用アプリケーション153はタイムアウト監視を行う。
タイムアウトが発生しない場合には、通常の処理を継続するが、タイムアウトが発生した場合には、診断用アプリケーション153、113はそれぞれ動作中のPU152、110に対してシグナルを送信する。図6に示される例では、診断用アプリケーション113からPU110に対してシグナルS2が送信される。受診したPU110では、異常時処理として登録された処理を実行する。図6に示される例では、メイン関数111が異常時処理ハンドラ112を呼び出して所定の異常時処理を実行する。
このように、診断用アプリケーションをPUとは別のプログラムとして構成することで、PUが応答不能となった場合でもその動作異常を検地することができる。また、各PUに診断機能を持たせるのではなく、クライアント、サーバごとに診断アプリケーションを動作させることで、無駄な通信を防ぎ、通信オーバーフローも防ぐことができる。
図7は、本発明に係るデータ処理装置による自動停止伝播機能を説明する図である。複数のモジュールが連動して動作している場合に、例えば、下流側のPU−H208が何らかの事情で停止してしまった場合、このPU−H208につながる系列のみにデータを送っているPU(本例では、PU−D204、PU−F206、PU−G207が該当する。)は不要となる。これらのPUが駆動し続けるとネットワークリソース、CPUリソース等を消費することになり、好ましくない。そこで、各PUは、データ出力に際して、送信先PUのステータスを確認し、送信先の全てのPUが停止か、異常状態にある場合には、当該PUも作動を停止させる。この結果、本鈴では、PU−D204、PU−G207は、PU−H208のステータス210を確認してPU−H208の停止を確認し、自己のステータス211、212にその旨を記述し、作動を停止させる。PU−F206は、PU−G207のステータス212を確認し、PU−G207の停止を確認して、自己のステータス213にその旨を記述し、作動を停止させる。一方、PU−B202は、PU−C203、PU−E205側が動作しているので、作動を停止することはない。このように、接続関係に基づいて不要なPUの作動を停止させることで、ネットワークリソースやCPUリソースの消費を防止することができる。
図8は、本発明に係るデータ処理装置による動作周期検証機能について説明する図である。このデータ処理装置300では、統合用PU301のもと、PU302〜304が稼働している。統合用PU301は、PUヘルスチェック機能306を有しており、各PUの処理遅延、出力データのタイムスタンプ、待ちPU数等のデータ(PUステータスデータと呼ぶ。)をチェックする。具体的には、統合用PU301は、収集したPUステータスデータを解析することで、各PUの動作周期等をモニタリングし、遅延が大きい場合には、任意のPUを停止するなどのエラー処理を実行する。なお、統合用PU301や各PU302〜304とは独立して緊急停止機能305を提供するとよい。統合用PU301により、処理周期や処理の健全性を評価することで設計者が期待した動作効率が得られているか確認が容易になり、設計効率を向上させることができる。また、設計者が期待したとおりの動作周期を達成することが容易になり、システムの破綻を効果的に防止できる。
図9は、本発明に係るデータ処理装置による保守機能の階層処理を説明する図である。本発明に係るデータ処理装置は、ネットワークによって構成することも可能である。そして、データ処理装置のシステムが大規模なものとなった場合、統合用PUによるヘルスチェック機能の通信が、ネットワークを圧迫してしまうおそれがある。そこで、各PU311〜317のPUステータスデータを直接集約するのではなく、集約モジュール(aggregator)321〜324を設けてネットワークの通信を分散させることで、ヘルスチェック機能等の通信付加を軽減し、大規模システムにも適用することが可能となる。
本発明に係るデータ処理装置は、単一のコンピュータ、制御装置で実行されるプログラムによるデータ処理装置だけでなく、複数のコンピュータ、制御装置を組み合わせて動作するデータ処理装置においても好適である。
1〜4、9、10、15、20、25、30、35、40、50、110、152、201〜208、302〜304、311〜317…PU(プログラムモジュール、Processing Unit)、5、6…同期グループ、7、55、301…統合用PU、11〜13、31、32…データ、90…カメラ、100…クライアント、111…メイン関数、112…異常時処理ハンドラ、113、153…診断用アプリケーション、150…サーバ、210〜213…ステータス、300…データ処理装置、305…緊急停止機能、306…PUヘルスチェック機能、321〜324…集約モジュール。

Claims (2)

  1. 複数のプログラムモジュール間で、タイムスタンプが割り当てられたデータの授受を行うデータ処理装置において、
    プログラムモジュールにおける、前記データ授受を行う他のプログラムモジュールとの接続関係基づいて、同じタイムスタンプのデータ同士を用いることで同期処理を行うプログラムモジュールを1つの同期グループとして形成させる統合用プログラムモジュールを備えており、
    前記統合用プログラムモジュールは、各同期グループが前記接続関係に基づいて設定した同期周期で作動するよう各プログラムモジュールの処理タイミングを調整して処理を行わせることを特徴とするデータ処理装置。
  2. 各プログラムモジュールは、個々に識別符号を有しており、前記統合用プログラムモジュールは、各プログラムモジュールが起動処理を行う際に、自身のプログラムモジュールの起動と自身のプログラムモジュールが接続を希望する他のプログラムモジュールとを、当該識別符号を用いて通知させることにより、前記接続関係をたどって前記形成を行うことを特徴とする請求項1記載のデータ処理装置。
JP2009079110A 2009-03-27 2009-03-27 データ処理装置 Active JP5644060B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009079110A JP5644060B2 (ja) 2009-03-27 2009-03-27 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009079110A JP5644060B2 (ja) 2009-03-27 2009-03-27 データ処理装置

Publications (2)

Publication Number Publication Date
JP2010231556A JP2010231556A (ja) 2010-10-14
JP5644060B2 true JP5644060B2 (ja) 2014-12-24

Family

ID=43047298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009079110A Active JP5644060B2 (ja) 2009-03-27 2009-03-27 データ処理装置

Country Status (1)

Country Link
JP (1) JP5644060B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5819184B2 (ja) 2011-12-28 2015-11-18 富士通株式会社 情報処理装置及び情報処理装置の制御方法
US10007269B1 (en) * 2017-06-23 2018-06-26 Uber Technologies, Inc. Collision-avoidance system for autonomous-capable vehicle

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3030490B2 (ja) * 1994-03-18 2000-04-10 富士通株式会社 同期制御方法及び装置
JP2001256064A (ja) * 2000-03-10 2001-09-21 Mitsubishi Electric Corp 複数周期実行タスクの最適化スケジューリング方式
JP4089620B2 (ja) * 2004-01-15 2008-05-28 株式会社デンソー 車両制御システム
WO2008105051A1 (ja) * 2007-02-26 2008-09-04 Toshiba Mitsubishi-Electric Industrial Systems Corporation スケジューラ

Also Published As

Publication number Publication date
JP2010231556A (ja) 2010-10-14

Similar Documents

Publication Publication Date Title
CN104169905B (zh) 利用可配置和容错的基板管理控制器安排的方法、装置和***
TWI618380B (zh) 管理方法、服務控制器裝置以及非暫態電腦可讀取媒體
CN103377083B (zh) 用于运行冗余的自动化***的方法
CN102724083A (zh) 基于软件同步的可降级三模冗余计算机***
EP3002682A1 (en) Method for redundant operation of a controller
CN104977875B (zh) 具有同级间冗余性的控制器***和操作该***的方法
CN104821870A (zh) 基于主站智能电网调度技术支持***的时钟同步方法
US20120136970A1 (en) Computer system and method for managing computer device
CN103678031A (zh) 二乘二取二冗余***及方法
CN109885151A (zh) 一种服务器电源监控方法及***
CN104854845A (zh) 使用高效的原子操作的方法和装置
JP5644060B2 (ja) データ処理装置
CN114064217B (zh) 一种基于OpenStack的节点虚拟机迁移方法及装置
CN104808620A (zh) 一种基于gjb289a串行总线的分布式飞行器管理***架构
JP3891994B2 (ja) 順番のある(in−order)キューをドレインする(drain)システムおよび方法
CN103326897A (zh) 一种分布式计算环境通用监测装置与失效检测方法
CN104750087A (zh) 一种诊断外部时钟源的***及方法
CN107659413B (zh) 小型通信设备
JPS59112306A (ja) プロセス制御システム
KR101294308B1 (ko) 설비 관제 시스템 및 이의 운전 방법
EP3982250A1 (en) Generation of code for a system
KR101231933B1 (ko) 전자 장비의 오류 관리 시스템 및 방법
KR20190035019A (ko) 분산처리를 통한 IoT 센서 디바이스 및 플랫폼
JP5672225B2 (ja) ハードウェア管理装置、情報処理装置、ハードウェア管理方法、および、コンピュータ・プログラム
JP2010244129A (ja) 計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140326

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R151 Written notification of patent or utility model registration

Ref document number: 5644060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151