【文献】
超説・詳説 FPGA最新情報,ホワイトペーパー解説 マルチプロセッサ・システムの構成を自由自在に,日経テクノロジーオンライン,日本,日経BP社,2014年10月 7日,URL,http://special.nikkeibp.co.jp/ts/article/aa0f/109247/
【文献】
FPGAで実現−産業用アプリケーションに柔軟性をもたらす5つの方法,White Paper,日本,日本アルテラ株式会社,2011年 2月,pp.1-16,URL,http://www.altera.co.jp/literature/wp/wp-01154-flexible-industrial_j.pdf
【文献】
豊山 祐一,T-Kernel技術解説 AMP編:マルチプロセッサ仕様「MP T-Kernel」の実力,MONOist,日本,アイティメディア株式会社,2006年10月21日,(1/3)-(3/3),URL,http://monoist.atmarkit.co.jp/mn/articles/0610/21/news012.html
(58)【調査した分野】(Int.Cl.,DB名)
前記第1基板は、前記再起動時に前記電源スイッチをオフにした後、前記電源スイッチを再投入することを特徴とする請求項1または2に記載の建設機械用コントローラ。
前記第1基板は、前記再起動中あるいは前記再起動失敗時に、表示装置にその状態を示す所定の表示を行うための信号を出力することを特徴とする請求項1〜3のいずれか一つに記載の建設機械用コントローラ。
前記第1基板は、前記再起動が試みられたにもかかわらず再起動失敗が発生した場合、前記再起動を再度実行し、前記再起動が予め定めた回数行われても前記再起動失敗が発生した際、前記第2基板を停止させることを特徴とする請求項1〜4に記載の建設機械用コントローラ。
前記第1基板または前記第2基板に接続されて所定の処理を行う拡張機能処理基板を備えたことを特徴とする請求項1〜6のいずれか一つに記載の建設機械用コントローラ。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、建設機械に搭載されるコントローラには、従来の建設機械になかった機能が求められている。例えば、ダンプトラックなどで、複数カメラを用いて周辺の障害物の存在を監視する機能が求められることがある。そのような周辺監視システムをダンプトラックに設ける場合、コントローラは、本来の建設機械の制御処理の他に、複数カメラが取得した画像に対する画像処理を行う必要がある。しかし、この画像処理は処理負荷が大きく、高性能な数値演算プロセッサを用いたコントローラであっても、本来の建設機械の制御処理のリアルタイム性を確保できない場合が生じる。
【0005】
一方、建設機械のコントローラは、建設機械特有の建設機械用組込OS(オペレーティングシステム)を有する。この建設機械用組込OSは、例えばダンプトラックに備えられたベッセルの起伏の制御等に必要な機能をもつOSであり、OS自体も建設機械の開発者が構築するものである。そして、この建設機械用組込OSは、処理時間が一定の範囲内にあることを保証する高いリアルタイム性や、少ないメモリで動作するコンパクト性を実現するとともに、長年の蓄積によって高い信頼性と安定性とを有する。このような特殊な建設機械用組込OSが用いられるコントローラに周辺監視システムなどの機能追加が求められた場合に、機能追加に対する技術的な対応が困難な場合が多く、多大な開発時間がかかってしまうという問題があった。
【0006】
ここで、汎用のPC用OSは、不要な機能を含めた豊富な機能をもつOSである。そして、OS自体は、既存のOSを用いている。このため、画像処理などのアプリケーションに対する開発は、人的資源を含めて技術的な対応が容易である。したがって、リアルタイム性が求められ処理負荷が小さい機能に対しては建設機械用組込OSを用い、リアルタイム性が求められず処理負荷が大きい機能、例えば画像処理機能や大量のデータ解析処理機能といった機能に対してはPC用OSを用いるという機能分担を行うことによって、上述した機能追加を容易に行うことができる。
【0007】
しかしながら、PC用OSは、建設機械用組込OSに比べて機能が多いOSであるため、アプリケーション実行時にフリーズ等のシステム異常が発生しやすい。このシステム異常やPC用OS側の電源異常などの異常状態をそのままにしておくことは好ましくない。
【0008】
なお、特許文献1には、特殊仕様の作業機械の開発効率をも向上する制御システムを有する作業機械が記載されている。
【0009】
この発明は、上記に鑑みてなされたものであって、建設機械用組込OSとPC用OSとを用いたコントローラにおいてPC用OS側で発生した異常処理の対応を行うことができる建設機械用コントローラを提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、この発明にかかる建設機械用コントローラは、建設機械用組込オペレーティングシステムで動作する第1基板と、前記第1基板に汎用インターフェースを介して接続され、汎用PCオペレーティングシステムで動作する第2基板と、を備え、前記第1基板は、前記第2基板の動作状態を監視する監視部を有し、前記第1基板は、前記監視部が前記第2基板の動作状態が異常であると判断した場合、前記第2基板を再起動あるいは停止させることを特徴とする。
【0011】
また、この発明にかかる建設機械用コントローラは、上記の発明において、前記第1基板は、前記第2基板に電源供給する電源スイッチを備え、前記第1基板は、前記再起動時に前記電源スイッチをオフにした後、前記電源スイッチを再投入することを特徴とする。
【0012】
また、この発明にかかる建設機械用コントローラは、上記の発明において、前記第1基板は、前記再起動中あるいは前記再起動失敗時に、表示装置にその状態を示す所定の表示を行うための信号を出力することを特徴とする。
【0013】
また、この発明にかかる建設機械用コントローラは、上記の発明において、前記第1基板は、前記再起動が試みられたにもかかわらず再起動失敗が発生した場合、前記再起動を再度実行し、前記再起動が予め定めた回数行われても前記再起動失敗が発生した際、前記第2基板を停止させることを特徴とする。
【0014】
また、この発明にかかる建設機械用コントローラは、上記の発明において、前記第1基板及び前記第2基板は、同一筐体内に収容されることを特徴とする。
【0015】
また、この発明にかかる建設機械用コントローラは、建設機械用組込オペレーティングシステムで動作する第1基板と、前記第1基板に汎用インターフェースを介して接続され、汎用PCオペレーティングシステムで動作する第2基板と、を備え、前記第1基板及び前記第2基板は、同一筐体内に収容され、前記第1基板は、前記第2基板の動作状態を監視する監視部を有し、前記第1基板は、前記監視部が前記第2基板の動作状態が異常であると判断した場合、前記第2基板を再起動あるいは停止させ、前記第1基板は、前記第2基板に電源供給する電源スイッチを備え、前記第1基板は、前記再起動時に前記電源スイッチをオフにした後、前記電源スイッチを再投入することを特徴とする。
【0016】
この発明によれば、建設機械用組込オペレーティングシステムで動作する第1基板と、前記第1基板に汎用インターフェースを介して接続され、汎用PCオペレーティングシステムで動作する第2基板と、を備え、前記第2基板の動作状態を監視する監視部を有し、前記第1基板は、前記監視部が前記第2基板の動作状態が異常であると判断した場合、前記第2基板を再起動あるいは停止させるようにしているので、建設機械用組込OSと汎用PC−OSとを用いたコントローラにおいて汎用PC−OS側で発生した異常処理の対応を行うことができる。
【発明を実施するための形態】
【0018】
以下、添付図面を参照してこの発明の実施の形態について説明する。この実施の形態では、建設機械の一つであるダンプトラックに搭載される建設機械用コントローラについて説明する。
【0019】
[制御系の全体構成]
図1は、建設機械の一つであるダンプトラックに搭載される制御系を示すブロック図である。
図1に示すように、建設機械用コントローラであるコントローラ1は、車内ネットワークの一つであるCANに接続される。なお、
図1に示すワイヤーハーネスNは、CANおよび通信線、信号線、電源線を含んだ概念として示している。したがって、本実施の形態におけるワイヤーハーネスNには、通信コントローラ2、車体コントローラ3、モニタコントローラ4、レーダ群5、センサ群6、電源7、キースイッチSWが接続される。
【0020】
通信コントローラ2は、送受信機2aを介してアンテナ2bに接続され、外部の通信装置と情報の授受を行う。この情報の中には、例えば、ダンプトラックの位置情報や稼動情報といった後述する建設機械情報を含んだ情報などが含まれる。位置情報は、後述するGPS(Global Positioning System)モジュール16により検知されたダンプトラックの位置を示す情報である。
【0021】
車体コントローラ3は、図示しない燃料噴射装置がエンジンへ噴射する燃料を調整し、エンジンの出力を制御する。モニタコントローラ4には、モニタ4aが接続される。モニタコントローラ4は、センサ群6から送信された情報やモニタ4aを介して入力された情報といった各種情報の入出力制御を行い、モニタ4aに各種情報を表示する。モニタ4aは液晶パネル等で構成され、モニタ4aには、例えば、走行速度、燃料の残量、機器の異常などを示す警告情報などを表示することができる。
【0022】
レーダ群5は、ダンプトラックの周囲に存在する障害物とダンプトラックとの相対的な位置(相対位置)を検出する。例えば、レーダは、8つ設けられ、ダンプトラックの外周部分に取り付けられる。また、レーダは、例えば方位80度(左右40度)、検出距離が最大15m以上のUWB(Ultra Wide Band)レーダ(超広域帯レーダ)が用いられる。
【0023】
センサ群6は、各種センサであり、例えば、エンジン回転数、ラジエータの水温、エンジンオイルの油温などを検出するセンサである。
【0024】
電源7は、例えば、直流24Vの蓄電池である。キースイッチSWは、図示しないキーの操作によってキーオン状態となって、電源7からコントローラ1などの電子機器や図示しない前照灯などへの電力供給を許容する。さらに、キーがエンジン始動の位置まで操作されれば、図示しないセルモータが起動しエンジンが始動する。
【0025】
なお、コントローラ1には、カメラ群8、周辺監視モニタ9、及びGPSアンテナ17が接続される。カメラ群8は、レーダ群5と同様に、ダンプトラックの外周部分に取り付けられる。例えば、カメラは、8つ設けられ、左右方向において120度(左右60度ずつ)、高さ方向において96度の視野範囲を有する。カメラとしてCCD(Charge-Coupled Device)カメラを用いることができる。
【0026】
周辺監視モニタ9は、レーダ群5による障害物の検出結果と、カメラ群8の撮像画像をもとにコントローラ1が処理した俯瞰画像とを表示するとともに、レーダ群5によって障害物を検出した場合、音を発生したり注意を促すことを表現したマークなどを周辺監視モニタ9に表示して警報出力する。
【0027】
[コントローラの詳細構成]
コントローラ1は、第1基板であるメイン基板10と、第2基板であるPC基板20と、第3基板である拡張機能処理基板30とを有する。
図1に示す太線が、メイン基板10、PC基板20、拡張機能処理基板30の外形を示している。メイン基板10は、メイン制御部11を有する。メイン制御部11は、建設機械用組込OS12と、監視部13と、記憶部14とを有する。建設機械用組込OS12は、建設機械特有のものであり、建設機械がダンプトラックであるならば、ダンプトラック41に備えられたベッセル45(
図2参照)の起伏の制御等に必要な機能をもつ組込OSである。コントローラ1を油圧ショベルに適用するならば、建設機械用組込OS12は、作業機の動作制御等に必要な機能をもつ組込OSである。また、このOS自体も開発者が構築するものである。そして、この建設機械用組込OS12は、処理時間が一定の範囲内にあることを保証する高いリアルタイム性を実現するとともに、少ないメモリで動作するコンパクト性を実現している。
【0028】
一方、PC(パーソナルコンピュータ(Personal Computer))基板20は、PC制御部21を有する。PC制御部21は、汎用PC−OS22、監視部23、記憶部24、周辺監視部26を有する。汎用PC−OSは、建設機械にとって不要な機能を含めた豊富な機能をもつ汎用OSである。その不要な機能とは、例えば電子メールの送受信に関連する機能がある。OS自体は、既存のOSを用いる。具体的なOSは、Windows(登録商標)である。このため、このOSを活用できる開発者は多く、人的資源が豊富である。また、利用できる既存のアプリケーションも豊富である。また、PC制御部21は、リアルタイム性が求められず、処理負荷の大きな機能追加がある場合に、アプリケーションを追加するのみで実現できる。周辺監視部26は、画像処理アプリケーションの一つである。なお、PC制御部21で実行するために追加されるアプリケーションは、処理負荷が小さな機能であってもよい。
【0029】
汎用PC−OS22は、上述のように豊富な機能を実行可能で汎用性を持たせたソフトウェア設計となっているため、備えている全ての機能を起動させる必要があり、起動に時間がかかる。メイン基板10の建設機械用組込OS12は、上述のように必要な機能に限定したソフトウェア設計となっているため、起動時においては、短時間に起動が完了する。つまり、メイン基板10に比べてPC基板20は遅れて起動することになる。
【0030】
拡張機能処理基板30は、画像処理部31を有する。拡張機能処理基板30は、周辺監視部26による処理から分岐した画像処理を行うものであり、周辺監視部26で行われる画像処理の補助を担う専用基板である。画像処理部31は、例えば、FPGA(Field-Programmable Gate Array)及びメモリ(例えばVRAM:Video Random Access Memory)等によって実現される。すなわち、拡張機能処理基板30は、カメラ群8が撮像する撮像画像の座標変換や重畳処理などを行った画像データをPC基板20側に送信する。
【0031】
[コントローラの接続構成]
ここで、メイン基板10は、ワイヤーハーネスNを接続するコネクタC11、PC基板20を接続するUSBインターフェースのコネクタC12、拡張機能処理基板30を接続するコネクタC13、GPSアンテナ17とGPSモジュール16とを接続するコネクタC14を有する。メイン基板10とPC基板20との間は、汎用のUSBインターフェースで接続されているため、新規のPC基板への交換が容易になる。また、メイン基板10は、USBインターフェースを有するため、外部の汎用PC等との接続が容易になり、メイン基板10の開発が容易となる。
【0032】
また、PC基板20は、メイン基板10を接続するUSBインターフェースのコネクタC21、外部と接続するUSBインターフェースのコネクタC22、外部のLANケーブルを接続するコネクタC23、周辺監視モニタ9との間のモニタケーブルを接続するコネクタC24を有する。さらに、PC基板20は、拡張機能処理基板30を接続するために、各種情報を高速転送可能なPCI(Peripheral Components Interconnect)エクスプレス規格のコネクタC25を有する。このPC基板20には、USB対応の機器やLANケーブルの接続が可能なため、外部からPC基板20へのアクセスが容易になって、デバッグ処理や開発が容易になるとともに、PC基板20内の記憶部24に記憶された多量のデータのダウンロードが容易になる。また、PC基板20は、USB対応の機器やLANケーブルの接続が可能であるため汎用的であり、記憶部24に記憶された多量のデータをダウンロードするための専用ツールを必要としない。
【0033】
なお、コネクタC22には、無線LANアダプタ18が接続される。この無線LANアダプタ18を介して、PC基板20内の記憶部24に記憶された多量のデータを外部にダウンロードすることもできる。
【0034】
また、拡張機能処理基板30は、メイン基板10を接続するコネクタC31、PC基板20を接続するPCIエクスプレス規格のコネクタC33、カメラ群8との間を接続するコネクタC32を有する。PC基板20と拡張機能処理基板30とは、PCIエクスプレス規格のフラットケーブルを用いて接続が可能となり、各種情報を高速転送処理することが可能となる。このため、拡張機能処理基板30は、周辺監視部26のアクセラレータとして十分機能する。
【0035】
[コントローラの電源接続構成]
メイン基板10には、コネクタC11を介して電源7から直流24Vの電源線が入力される。この電源線は、電源スイッチSW1を介して内部電源回路15に接続される。電源スイッチSW1は、メイン基板10に搭載されている。なお、電源スイッチSW1は、MOS(metal-oxide-semiconductor)トランジスタを用いることができる。他の電源スイッチSW2やSW3も同様にMOSトランジスタを用いることができる。つまり、電源スイッチとしてディスクリート部品を用いることができる。内部電源回路15は、例えば、直流5V、直流3.3V、直流1.2Vといった異なる電圧に電圧変換してそれぞれの内部電源を生成する。これらの内部電源は、メイン基板10内のメイン制御部11などで利用されるものである。この内部電源回路15による電源供給状態は、監視部13によって監視される。
【0036】
また、コネクタC11を介した直流24Vの電源線は、電源スイッチSW2、コネクタC12,C21を介してPC基板20側にそのまま接続される。電源スイッチSW2は、メイン基板10に搭載されている。そして、PC基板20に入力された電源線は、内部電源回路25に接続される。内部電源回路25は、例えば直流5Vなどに電圧変換して内部電源を生成する。この内部電源は、PC基板20内のPC制御部21などで利用されるものである。なお、内部電源回路25の電源供給状態は、監視部23によって監視される。
【0037】
さらに、コネクタC11を介した直流24Vの電源線は、電源スイッチSW3、コネクタC13,C31を介して拡張機能処理基板30に接続される。電源スイッチSW3は、メイン基板10に搭載されている。そして、拡張機能処理基板30に入力された電源線は、内部電源回路35に接続される。内部電源回路35は、例えば直流5Vなどに電圧変換して内部電源を生成する。この内部電源は、拡張機能処理基板30内の画像処理部31などで利用されるものである。なお、内部電源回路35の電源供給状態は、監視部33によって監視される。
【0038】
メイン基板10、PC基板20、拡張機能処理基板30の各々の電源回路間は、電圧変換する前の24V電源で接続されており、メイン基板10、PC基板20、拡張機能処理基板30のそれぞれに、電源7から供給された電源電圧を所望の電圧に変換する内部電源回路15,25,35を備えているため、新たなPC基板20や拡張機能処理基板30に変更する場合に、新たな電源インターフェースや電圧変換回路を設ける必要がない。例えば、メイン基板10にのみ内部電源回路を設け、PC基板20や拡張機能処理基板30の電源回路の機能をそのメイン基板10の内部電源回路に集約させたとする。この場合、PC基板20の更新に伴いPC基板20を入れ替える場合、PC基板20の使用電圧の変更が生じたならば、メイン基板10の内部電源回路を、その使用電圧に対応した内部電源回路に変更しなければならなくなり、新たな基板開発や動作確認などが必要となる。よって、本実施の形態のように各基板毎にそれぞれ内部電源回路15,25,35を備えれば、将来の仕様変更に容易に対応できる。
【0039】
[周辺監視処理]
このダンプトラックでは、ダンプトラックの外周部分に配置されたレーダ群5が検出した障害物に関する情報は、ワイヤーハーネスNからメイン基板10に送信され、図示しないメイン基板10内の信号線を介してコネクタC12,21を経由してPC基板20周辺監視部26に送られる。ここで障害物に関する情報とは、ダンプトラックと障害物との距離を示す情報や障害物の位置を示す情報であり、ダンプトラックと障害物との相対位置に関する情報である。一方、ダンプトラックの外周部分に配置されたカメラ群8が撮像した撮像画像は、拡張機能処理基板30に送られる。画像処理部31は、ダンプトラックの全周囲を監視することができる俯瞰画像を生成する。例えば、この俯瞰画像は、まず、各撮像画像を、ダンプトラック上方に位置する所定の仮想視点から見た画像に変換する。具体的には、所定の仮想視点から地面に対応する所定の仮想投影面に投影する画像変換を行う。そして、各投影画像を撮像領域に対応して合成することによって、ダンプトラック周囲の俯瞰画像を生成する。その後、画像処理部31は、この俯瞰画像をコネクタC33、C25を経由して周辺監視部26に順次送出する。周辺監視部26は、画像処理部31に対してレーダ群5による障害物の検知結果(例えば障害物の位置を示すマーク)を重畳した俯瞰画像を生成するよう指令を出し、その生成された画像データを周辺監視モニタ9に表示出力する。また、周辺監視部26は、レーダ群5による検知結果から、障害物があると判断した場合、周辺監視モニタ9から音を発生させたり、注意を促すことを表現したマークを俯瞰画像に表示するなどして警報を出力する。また、周辺監視部26は、レーダ群5による障害物の検知結果から、障害物があると判断された位置を示す情報を含んだ俯瞰画像を周辺監視モニタ9に表示させ、障害物の存在とその位置をダンプトラックのオペレータが視認できるようにしている。
【0040】
この実施の形態では、上記のような周辺監視処理という処理負荷の大きな機能を追加する場合であるが、汎用PC−OS22を有するPC基板20及びFPGAによる高速画像処理が可能な拡張機能処理基板30を用いることによって、メイン基板10が実行する処理、すなわちリアルタイム性が要求される処理に影響を与えない。リアルタイム性が要求される処理とは、例えばダンプトラックを稼働させるためにキースイッチSWをキーオンした直後に発生するような異常をセンサ群6が捉え、その異常を警報としてオペレータに報知する処理であったり、ダンプトラックが稼働中においてセンサ群6が捉えたエンジンの異常等を警報として速やかにオペレータに報知する処理などである。つまり、メイン基板10に処理負荷の大きな処理を負担させることなく、メイン基板10は、処理負荷の小さな処理に対しリアルタイム性を確保して実行する。メイン基板10とPC基板20あるいは拡張機能処理基板30に対して、処理負荷の大きさに応じた役割を分担している。
【0041】
[コントローラの配置位置]
図2は、ダンプトラックの車両前側部分を示す側面図である。ダンプトラック41の車両前側には、前輪42の上方に対応した位置にオペレータが乗り込むキャブ43が設けられている。キャブ43内には、点線で示したオペレータシート44のほか、ダンプトラック41の走行操作や砕石等を積載するためのベッセル45の起伏操作を行うための図示しない装置類及び機器類が設置されている。さらに、点線で示すように、キャブ43内部の前部上方に位置して周辺監視モニタ9が設置されている。周辺監視モニタ9は、オペレータの視認性を確保できれば、キャブ43内部の他の場所に設置してもよい。また、キャブ43内部の後部下方に位置して金属製の取付盤47が設けられ、この取付盤47にはコントローラ1が取り付けられている。
【0042】
周辺監視モニタ9とコントローラ1とは、モニタケーブル9Aで接続されている。コントローラ1には、画像信号ケーブル8Aの一端が接続されている。画像信号ケーブル8Aの他端は、カメラ群8に接続されている。なお、モニタケーブル9Aと画像信号ケーブル8Aは、ハーネス48として一体に構成されている。
【0043】
[コントローラの収容ケース]
図3は、コントローラ1の平面図であり、メイン基板10、PC基板20、拡張機能処理基板30などが、コントローラ1の筐体となるケース(上部ケース51、下部カバー52)に収容された状態を示している。また、
図4は、コントローラ1の分解側面図であり、
図3に示したXの方向からみた状態を示している。つまり、
図4は、コントローラ1の筐体を構成するケース(上部ケース51、下部カバー52)の内部に、メイン基板10等が収容された状態を示す。
図3及び
図4に示すように、コントローラ1を構成しているメイン基板10、PC基板20等は、上部ケース51と下部カバー52とによって形成される内部空間内に一体収容される。すなわち、メイン基板10とPC基板20とは同一筐体内に収容されている。本実施の形態の場合は、拡張機能処理基板30も同一筐体内に収容されている。
【0044】
上部ケース51と下部カバー52とは、熱伝導率の良いアルミニウムで形成されている。また、上部ケース51と下部カバー52とには、それぞれ放熱フィンが設けられている。
【0045】
コントローラ1は、メイン基板10の上部にPC基板20が設けられ、メイン基板の下部に拡張機能処理基板30が設けられる。メイン基板10のコネクタC12とPC基板のコネクタC21は、直接コネクタ接続される。メイン基板10の2つのコネクタC11、PC基板20の2つのコネクタC23、コネクタC22、コネクタC14、コネクタC24、拡張機能処理基板30のコネクタC32は、直接、上部ケース51表面に露出する。なお、コネクタC32は、ケーブルを介して拡張機能処理基板30に接続される。また、PC基板20のコネクタC25と拡張機能処理基板30のコネクタC33は、上述のようにフラットケーブルを介して接続される。メイン基板10のコネクタC13と拡張機能処理基板30のコネクタC31は、ケーブルで接続される。なお、PC基板20、メイン基板10、及び拡張機能処理基板30の間には、図示しないスペーサが配置されて固定される。
【0046】
[コントローラの立上げ時処理]
次に、
図5を参照して、コントローラ1の立上げ時処理手順について説明する。まず、メイン基板10は、オペレータによりキースイッチSWが操作されキーオンがされたか否かを判断する(ステップS101)。キーオンされると電気信号が信号線を介してキースイッチSWからメイン基板10に送信され、その電気信号を受けたメイン基板10は、キーオンがされたことを認識する。キーオンされた場合(ステップS101,Yes)には、メイン基板10はスイッチSW1をオンにして、メイン基板10に電源7から電源が供給されメイン基板10は起動する(ステップS102)。なお、メイン基板10、PC基板20には、それぞれ図示しないバックアップ電源が接続されている。
【0047】
その後、メイン基板10の起動が完了したか否かを判断する(ステップS103)。メイン基板10の起動が完了したか否かは、メイン基板10のスイッチSW2とSW3が順次オンしたかどうかで判断される。メイン基板10は、スイッチSW1をオンにした後、スイッチSW2、スイッチSW3を順次オンさせる。これらのスイッチがオンされなければ、メイン基板10の起動は完了していないとの判断(ステップS103、No)となり、これらのスイッチが順次オンされたことをもって、メイン基板10の起動が完了したという判断(ステップS103、Yes)となる。メイン基板10の起動が完了したと判断された(ステップS103,Yes)後、上記のようにメイン基板10はスイッチSW2をオンにしてPC基板20に電源を投入しPC基板20を起動させながら、ワイヤーハーネスN等を介して入力される各種情報を取得し、この取得した情報を記憶部14に一時記憶させる(ステップS104)。この情報とは、建設機械情報であり、
図1に示すように、センサ群6やGPSモジュール16といった状態取得部によって得られる情報であり、コントローラ1にワイヤーハーネスNを介して接続されたセンサ群6などが検知し送信する情報や通信コントローラ2から送信される位置情報などである。なお、車体コントローラ3等が状態取得部として機能し、車体コントローラ3等が検出した故障情報をワイヤーハーネスNを介してコントローラ1へ送信し、その故障情報を建設機械情報として記憶部14に記憶させるようにしてもよい。
【0048】
建設機械情報は、メイン基板10の記憶部14に記憶され、例えば100msec毎の時間間隔で建設機械情報のデータ群に対してタイムスタンプを付与する。メイン基板10は、タイムスタンプを付与するFIFO(First in First out)機能を備えている。タイムスタンプは、メイン基板10の図示しない時計ICにより取得可能な時刻である。したがって、PC基板20が起動完了するまでの間(例えば数十秒間)に複数のデータ群が生成されることになる。上記のように複数のデータ群の各々にタイムスタンプが付与され記憶部14に記憶される。複数のデータ群は、PC基板20の起動が完了した後、コネクタC12,21を介して、PC基板20の記憶部24に転送される。なお、FIFO機能は、先に保存されたデータ群から順に記憶部14から取り出されるものであるが、PC基板20が起動完了されるまではデータ群は取り出されない。記憶部24に記憶されたタイムスタンプ付きのデータ群、すなわち建設機械情報は、コネクタC22を介して外部にダウンロードすることができる。建設機械情報には、タイムスタンプが含まれているため、例えば、どのようなエラーがいつ発生したのかといったことがわかり、不具合原因の特定などが可能となる。
【0049】
PC基板20側では、上述のように電源投入されてPC基板OS(汎用PC−OS22)が起動する(ステップS201)。その後、PC基板OSの起動が完了したか否かを判断する(ステップS202)。PC基板OSの起動が完了した場合(ステップS202,Yes)、メイン基板10とPC基板20との間で、USBインターフェースを介した基板間通信を確立する(ステップS105)。
【0050】
基板間通信が確立されると、その後、PC基板20側では、アプリケーションを起動する(ステップS203)。ここでは、画像処理アプリケーションである周辺監視部26を起動する。その後、PC基板20側では、アプリケーションの起動が完了したか否かを判断する(ステップS204)。アプリケーションの起動が完了した場合(ステップS204,Yes)には、メイン基板10側で一時記憶した建設機械情報等の情報をPC基板20側に転送する(ステップS106)。その後は、メイン基板10及びPC基板20は、それぞれ固有の処理を行う。なお、初期起動時に限らず、再起動時も上記に述べたステップS102〜S106と同様な処理を行う。
【0051】
この実施の形態では、上述のように、先に起動したメイン基板10側が、PC基板20が起動完了するまでの間に取得可能な、建設機械情報といった情報を一時記憶し、PC基板20が起動完了した後に一時記憶した情報をPC基板20側に転送するようにしている。この一時記憶される情報は、上記のようにワイヤーハーネスN等を介して取得される情報であって、例えばセンサ群6によって検出される情報などである。この結果、PC基板20は、PC基板20が起動完了するまでの間の情報を確実に得ることができるため、質の高い車両状態のトレンド解析等を行うことができる。例えば、キーオン直後にのみ発生するような異常状態を洩れなく捉えることができる。
【0052】
[コントローラの異常監視処理]
次に、コントローラ1の異常監視処理について説明する。まず、監視部13,23,33の処理について説明する。メイン基板10の監視部13は、電源監視として内部電源回路15の電源電圧を監視し、電源異常が発生しているか否かを監視する。また、監視部13は、システム監視として、メイン制御部11の図示していないCPUから出力されるハートビートパルス(ウォッチドッグパルスと呼ぶこともある)が正常に出力されているか否かを監視する。ハートビートパルスとは、CPUから一定周期で出力されるパルス信号であって、その一定周期でパルス信号が出力されていればCPUは正常に動作していることを示す。そして監視部13は、電源異常が発生し、あるいはハートビートパルスが正常でない場合、電源スイッチSW1を除く,SW2,SW3の2つの電源スイッチを一旦オフにし、PC基板20と拡張機能処理基板30への電源の供給を絶ち、その後、電源スイッチSW2,SW3をオンにして再起動(リセット)処理を行う。
【0053】
PC基板20の監視部23は、内部電源回路25の電源電圧を監視し、電源異常が発生しているか否かを監視する。なお、PC制御部21は、メイン基板10側にハートビートパルスを出力しており、監視部13は、ハートビートパルスが正常に出力されているか否かを監視する。また、拡張機能処理基板30の監視部33は、内部電源回路35の電源電圧を監視し、電源異常が発生しているか否かを監視し、電源異常が発生した場合には、異常を示す信号を監視部13に出力する。すなわち、監視部33は、監視部13に異常の発生を通知する。監視部23,33が電源異常と判断して監視部13に通知し、あるいは監視部13が、PC制御部21からハートビートパルスが正常に出力されていないと判断した場合、監視部13は、電源スイッチSW2,SW3を一旦オフにし、その後、電源スイッチSW2,SW3をオンにして再起動(リセット)処理を行う。なお、本実施の形態では、拡張機能処理基板30は、ハートビートパルスを出力する機能は持たないが、拡張機能処理基板30にハートビートパルスを出力する機能を持たせ、拡張機能処理基板30が正常に動作していることを監視するようにしてもよい。
【0054】
拡張機能処理基板30は、PC基板20側に送る画像データに数値を埋め込むようにしており、画像更新ごとにその数値をカウントアップして埋め込んでいる。そして、監視部23は、この送られてくる画像データ内の数値を監視し、数値の更新が停止すると、拡張機能処理基板30側にシステム異常が発生したものと判断する。そして、監視部23は、システム異常が発生した場合、PC制御部21からメイン基板10側に送られるハートビートパルスの出力を停止する。これにより、監視部13は、システム異常が発生したものと判断し、監視部13は、電源スイッチSW2,SW3を一旦オフにし、その後、電源スイッチSW2,SW3をオンにして再起動(リセット)処理を行う。
【0055】
監視部13は、電源スイッチSW2,SW3をオンにする再起動が試みられたにもかかわらず再起動が失敗した場合、この再起動を再度実行し、この再起動が予め定めた回数行われても再起動の失敗が発生した場合、再起動を停止する。なお、監視部13は、電源異常あるいはシステム異常が発生したと判断したならば、再起動処理を行わずに、SW2あるいはSW3の少なくとも一方をオフにしてPC基板20あるいは拡張機能処理基板30への電源供給を絶ち停止させるようにしてもよい。
【0056】
なお、監視部13は、電源異常やシステム異常が発生したことによる再起動中あるいは再起動失敗時に、表示装置である周辺監視モニタ9に対して、その異常状態を示す所定の表示を行うための信号を出力するようにしている。そして、周辺監視モニタ9は、この信号をもとに、例えば、画面全体を黒くして俯瞰画像などを表示しないようにしたり、ブザーで警告したり、その異常状態の旨を表示する。また、監視部13は、電源異常やシステム異常が発生した場合、モニタコントローラ4を介して、モニタ4aの液晶パネルへエラー表示をさせるなどして異常状態の旨を表示するようにしてもよい。なお、キャブ43の内部であって、オペレータシート44の前方の図示しないダッシュボードに、表示装置としての警報ランプを設けて、電源異常やシステム異常が発生した場合、その警報ランプを点灯あるいは点滅させ異常の発生をオペレータに知らせるようにしてもよい。また、この警報ランプを点灯あるいは点滅させることで、コントローラ1が再起動中であることあるいは再起動失敗したことをオペレータに知らせるようにしてもよい。警報ランプは、一つに限らず、複数個設けたり、さらに異なる色の警報ランプを備えるようにして、オペレータにコントローラ1の状態を視認性よく知らせるようにしてもよい。
【0057】
次に、
図6を参照して、コントローラ1の異常監視処理手順について説明する。まず、オペレータが、キースイッチSWをキーオンする(ステップS301)。すると、メイン基板10の起動処理が行われる(ステップS302)。その後、監視部13は、メイン基板10の電源監視及びシステム監視の結果が正常であるか否かを判断する(ステップS303)。一方、メイン基板10に対する、電源監視の結果あるいはシステム監視の結果の少なくともいずれか一方が異常である場合(ステップS303,No)には、ステップS302に移行して、メイン基板10の起動処理を再び行う。
【0058】
一方、正常である場合(ステップS303,Yes)には、その後、監視部13は、PC基板20及び拡張機能処理基板30の起動処理を行う(ステップS304)。その後、監視部13は、PC基板20及び拡張機能処理基板30の電源異常の有無(電源監視)及びシステム異常の有無(システム監視)の結果が正常であるか否かを判断する(ステップS305)。一方、電源監視の結果あるいはシステム監視の結果の少なくともいずれか一方が異常である場合(ステップS305,No)には、ステップS304に移行して、PC基板20及び拡張機能処理基板30の再起動処理を行う。なお、監視部23においてもPC基板20及び拡張機能処理基板30の電源異常の有無(電源監視)及びシステム異常の有無(システム監視)の結果が正常であるか否かを示す情報を監視部13に送信する。
【0059】
一方、PC基板10及び拡張機能基板30に対する、電源監視の結果及びシステム監視の結果のいずれも正常である場合(ステップS305,Yes)には、監視部13は、コントローラ1は正常動作していると判定する(ステップS306)。その後、監視部13は、メイン基板10の電源監視及びシステム監視の結果が正常であるか否かを判断する(ステップS307)とともに、PC基板20及び拡張機能処理基板30の電源監視及びシステム監視の結果が正常であるか否かを判断する(ステップS308)。メイン基板10の電源監視の結果あるいはシステム監視の結果の少なくともいずれか一方が異常である場合(ステップS307,No)には、ステップS302に移行して、メイン基板10の起動処理を行う。また、電源監視及びシステム監視の結果のいずれも正常である場合(ステップS307,Yes)にはステップS306に移行する。一方、PC基板20の電源監視の結果あるいは拡張機能処理基板30の電源監視の結果、PC基板20のシステム監視の結果あるいは拡張機能処理基板30のシステム監視の結果の少なくともいずれか一つが異常であると監視部13が判断する場合(ステップS308,No)には、ステップS304に移行して、PC基板20及び拡張機能処理基板30の再起動処理を行う。また、PC基板20及び拡張機能処理基板30に対する、電源監視の結果及びシステム監視の結果がいずれも正常である場合(ステップS308,Yes)にはステップS306に移行する。
【0060】
なお、上述した実施の形態では、拡張機能処理基板30を設けるようにしていたが、これに限らず、拡張機能処理基板30を削除した構成としてもよい。この場合、PC基板20内にカメラ群8の撮像画像が入力され、周辺監視部26が画像処理部31と同一の処理を行うことになる。また、レーダ群5を設けず、周辺監視部26が、カメラ群8が取得した撮像画像のみによって周辺監視処理を行うようにしてもよい。
【0061】
また、
図7に示すように、PC基板20及び拡張機能処理基板30を1つの基板20Aとして構成してもよい。さらに、
図8に示すように、メイン基板10に、複数のPC基板20を接続するようにしてもよい。また、
図9に示すように、PC基板20に、新たなPC基板20を接続するようにしてもよい。
【0062】
さらに、上述した実施の形態では、PC基板20及び拡張機能処理基板30が主として、画像処理を行うようにしていたが、これに限らず、たとえば、図示しないエンジンを冷却するための冷却水の水温などのデータを温度センサで取得しトレンドとして所定の記憶部に蓄積し、PC基板20がこのトレンド解析を行い、エンジンの負荷状態を求めエンジンが故障に至るか否かを推測する等、他のアプリケーションに関する処理などを行うようにしてもよい。
【0063】
また、上述した実施の形態では、建設機械の一例としてダンプトラックを挙げたが、これに限らず、油圧ショベルやホイールローダなどの他の建設機械であってもよい。例えば情報化施工を可能とする油圧ショベルなどの掘削機械に上述した実施の形態のコントローラ1を用いることができる。この場合、メイン基板10が取得する2つのGPSアンテナ17の受信情報や油圧ショベルに備えた傾斜センサやジャイロセンサなどで検出した姿勢情報をPC基板20側に送って、油圧ショベルの位置および向き(車両位置情報)を演算する。一方、油圧ショベルの作業機に取り付けられたバケットの刃先の3次元位置情報を求めるために、作業機の伸縮位置情報(作業機に取り付けられた油圧シリンダのストローク量)をストロークセンサなどで構成されるセンサ群6から取得してPC基板20側に送る。そして、上記の車両位置情報、作業機の伸縮位置情報、それらの情報を用いて演算されたバケットの刃先の三次元位置情報をもとに、作業機の刃先を自動制御するようにしてもよい。このような情報化施工を可能とする油圧ショベルに、上述した実施の形態で示したコントローラ1を適用することで、リアルタイム性が求められる処理と並行して処理負荷が大きい処理も確実に実行することができる。また、油圧ショベルに処理負荷が大きな機能を新たに追加することも容易である。
建設機械用組込OS12で動作するメイン基板10と、メイン基板10にUSBインターフェースのコネクタC12,C21を介して接続され、汎用PCOS22で動作するPC基板20と、を備え、PC基板の動作状態を監視する監視部13を有し、メイン基板10は、監視部13がPC基板20の動作状態が異常であると判断した場合、PC基板20を再起動あるいは停止させるようにしている。これにより、建設機械用組込OS12と汎用PCOS22とを用いたコントローラ1において汎用PCOS22側で発生した異常処理の対応を行うことができる。