農業機械向け制御ソフトウェア自動合成ツールと 安価な ECU

農業機械向け制御ソフトウェア自動合成ツールと
安価な ECU シミュレーション環境の開発
和田 学
概要
本稿では,農業向け作業機の制御ソフトウェアの自動合成ツールと ECU シミュレーション環境を紹介する。
これは経済産業省/中小企業庁の「中小企業・小規模事業者ものづくり・商業・サービス革新事業」に採択され平成
26 年から 27 年にかけて実施した試作開発の成果である。
作が行えるようにしたものである。この規格は欧米では既
1. 本開発の背景と解決しようとする課題
本試作開発は,トラクターに接続して耕うん・うね立て・
は し ゅ
播種・施肥・農薬散布・収穫などの個別作業を行う作業
に普及し ISOBUS と呼ばれている。
この規格は作業機がプラグアンドプレイで接続された
トラクターや操作端末を自動識別して,操作端末の仕様
に合わせて自らの操作画面情報を表示させるなどかなり
機の電子制御を担う制御ソフトウェアの開発に用いるも
高度なソフトウェア処理を必要とする。しかし,これまで殆
のである。
ど電子制御をしていなかった作業機メーカーにとって導
農業機械は,走行移動機能・動力と作業者のオペレ
ーションのための操作空間を提供するトラクターと個別
入障壁が高いものである。小規模企業が多く,電子制御
を担う専任の技術者を擁していないところも多い。
の作業を行う作業機を組み合わせて使用できるところに
国内の農家戸数が減少の一途をたどる中で農業機
特徴がある。各作業に共通で使えるトラクターは大手メ
械も国際競争にさらされている。また農家一戸当た
ーカーが提供するが,作業機は多種多様で生産台数が
りの農地面積が拡大し,作業機の国際規格への対応
少なく,その多くを中小企業が生産している。
が必須となっており,このような通信規格にも対応
元来作業機は比較的単純な機構で,作業機を取り付
する必要がある。国内作業機メーカーが競争力を維
けるヒッチの上げ下げと動力を提供する回転軸(PTO)の
持するためには,電子制御や国際共通通信規格への
回転,数個の油圧系統の On/Off のみで制御できてい
対応を容易にする開発支援が必要であると考えた。
た。そして,これらの操作機能はトラクターに装備されて
本試作は専門のソフトウェア技術者を必要とせず
いたため,作業機側に用意する必要はなかった。
ところが近年 TPP に象徴されるように農生産の国際競
争が激しくなるなど経営環境の変化の中,農生産コスト
に,国際共通通信規格に対応した電子制御ソフトウ
ェアを容易に生成・テストできるツール・フレーム
ワークを提供するためのものである。
低減への要求が強まっている。そこで,肥料・農薬を低
ソリューションとして,プログラミング無しで制
減しつつ収量を上げるため,車速や地力・苗の生育状
御ソフトウェアを自動合成するツールと電子制御ユ
況などに連動した高度な制御のニーズが高まった。また
ニットを実機に組み込む前に動作試験できる安価な
それに伴って,作業機の機種に固有の操作器も取り付
シミュレーション環境を開発した。
けられるようになった。
トラクターには多種の作業機が接続して使用されるた
め,運転席には多数の操作器の設置が必要になったが,
空間的に取り付けられる操作端末には限りがある。この
ような問題を解消するため,農業機械向けの国際共通
農業機械事業環境
メーカへの要求
現状と課題
農産物輸入自由化
国内農家戸数減少・法人化
・低コスト化(シンプル化)と
高度な制御の両立
・国際標準規格への対応
欧米で進む国際規格対応
現状)
・ISOBUS規格は複雑で対応難
・大半を占める中小作業機
メーカは、電子制御化が不得
手(規格対応以前)
通信規格 ISO 11783 が策定された。この規格はトラクタ
ーと作業機の電子制御ユニット間の通信を標準化し,メ
ーカーを問わず接続でき共通の操作端末で作業機操
課題)
・中小作業機メーカ向けのISOBUS対応
電子制御化支援が必要
2. 制御ソフトウェア自動合成ツール
作業機の電子制御ソフトウェアは,電子制御ユニ
ットに入力される電気信号の解釈をし,また CAN バ
スを介してトラクターの電子制御ユニットや操作端
末等から状態データや操作指令を受け取る。そして,
それらを元に機器制御に必要な処理を判断して,そ
れに応じた出力信号を出したり CAN バスを介して
トラクターの電子制御ユニットや操作端末に状態を
通知したりする処理を担う。
本試作ではまず,電子制御ユニットが持つ入出力
機能を担うドライバ(デジタル入出力・アナログデ
ジタル変換入力・デジタル-アナログ変換出力・
実行に必要な入出力ドライバ・フレームワークを
PWM 出力・CAN バスの入出力など)と制御ロジッ
構成するソースコードは以下のようなものである。
クの実行機構と呼出しインタフェースを定めた。そ
の上でフレームワークとして,入出力と信号処理の
実行機構,及び電子制御ユニットのハードウェアに
合わせた入出力ドライバを提供することとした。本
試作では,ハードウェア対象を国立研究開発法人農
研機構が開発した農機通信用簡易電子制御ユニット
NARO CAN ボード[1]と定め,ドライバを開発した。
制御ソフトウェア生成ツール
試作対象部位
入出力信号定義機能
状態遷移定義機能
制御ロジック定義機能
ソースコード合成機能
操作GUI編集ツール
PoolEdit
以下は自動生成された制御ロジックのソースコー
ドの例である。
ObjectPool
XMLデータ
生成C言語
ソースコード
ObjectPoolデータ変換ツール
ECUマイコン用コンパイラ
ROM書込用
バイナリデータ
本試作ツールのユーザーは入出力信号の意味を記
載し,入力信号と機械の状態遷移の関係と,状態毎
の信号出力ルールを定義する。これらの作業のみで,
個別作業機を制御するための固有なアプリケーショ
ン処理に相当する C 言語ソースコードを自動生成で
きる。
実行可能な制御ソフトウェアのバイナリコードを
得るには,実行フレームワーク(実行機構+入出力
ドライバ類)のソースコードと,このツールにより
生成した C 言語ソースコードを結合して,ビルドす
れば良い。
以下に開発した制御ソフトウェア合成ツールの実
行画面を示す。
3. 電子制御ユニットシミュレーション実行環境
前項で上げたツールにより実行可能な制御ソフト
ウェアを得ることができるが,定義した制御ルール
に間違いや不備があると,機械が期待した動きをし
間の信号の流れを示す。
ない。また電子制御ユニットの性能上期待したリア
ルタイム処理性能を得られないなどの要因で正しい
PC
振る舞いをしない可能性もある。このような場合に
は最悪機械を壊したり,周囲に危険が及んだりする
こともあり得る。生成した電子制御ユニットは機械
に組み付ける前に期待した振る舞いをするか否か十
汎用計測器
電圧発生器
CAN イン
タフェース
分検証することが必要である。
そこで合成したソフトウェアを組み込んだ電子制
御ユニットを機械に組み付ける前に,単体で正しく
デバッガ
ECU
動作するかどうかを検証できるシミュレーション実
行環境も合わせて開発することとした。
このようなハードウェアシミュレーション環境で
市販されているツールセットは存在するが,非常に
高価であり乗用車の開発等生産台数が多く検証に多
額の費用がかけられる業種向きであり,農作業機の
ように生産台数が非常に少ない業種では利用されて
こなかった。
本試作では農作業機の電子制御ユニットの動作検
証に使える安価な簡易シミュレーション環境を構築
オシロ
ロジアナ
アナログ信
プログラム / デバッ
ディジタル信
USB 接続
CAN 通信
PCI 接続
以下は今回構築したハードウェアシミュレーショ
ン環境一式である。
することとした。以下は本試作にて構築した電子制
御ユニットのリアルタイムシミュレーション環境の
機器構成である。
手動制御入力
動作検証用
Excelデータ
開発部位
CANデータ
送信DLL
CAN Interface
ボード
LabVIEW
電圧発生器
DI
AD
ISOBUS対応
VT操作端末
オシロスコープ・
ロジックアナライザ
実ECU
■
DO
PWM
シミュレーション操作のためのグラフィカルユー
ザーインタフェースはナショナルインスツルメンツ
の LabVIEW[2]を使用して作成し,ランタイムは無料
配布できるようにした。LabVIEW から電圧発生器・
CAN インターフェースボード・デジタル入出力機能
付き汎用計測器・小型オシロスコープ・小型ロジッ
クアナライザを制御することにより,簡易にシミュ
レーション操作を行うことを可能とする実行環境を
構築した。構成機器はいずれも数万円程度の安価な
ハードウェアを用いることで,シミュレーション用
ハードウェアコストを最低数十万円のオーダーに抑
えることができた。
以下はシミュレーション環境を構成するユニット
以下はシミュレーションを実行するグラフィカル
ユーザーインタフェースの操作画面例である。スイ
ッチやデータ表示用の画面部品は設定により切り替
えることができるようにしており,ある程度の操作
や入出力点数の変更はカスタマイズのための作り込
み無しでできる。
この操作画面を用いて,入力信号として予め Excel
等で定義した任意の電圧値の時系列波形データを指
定して再生することができる。以下は時系列波形出
力に関する操作部位である。
4. 今後の展望
本試作により NARO CAN ボード上で実行可能な
制御ソフトウェアの自動合成ツールとその動作を機
械に組み込む前に事前検証できる安価なシミュレー
ション環境の提供が可能となった。
現在の制約事項としては自動合成ツールで CAN
バスを介した定周期データ送出機能がサポートでき
ておらず,またシミュレーション環境も電子制御ユ
ニットが出力する CAN データを確認する機能が未
サポートである。今後これらの機能も追加開発し,
与えた信号に対する電子制御ユニットの振る舞い
を確認するには,電子制御ユニットの出力となるデ
より高度な制御を簡易に実装・確認できる環境の提
供を目指す。
ジタル信号・アナログ信号を計測する必要がある。
このためにシミュレーション環境からオシロスコー
参 考 文 献
プ,及びロジックアナライザを制御して出力信号値
[1] https://www.naro.affrc.go.jp/project/results/laboratory/narc/2
011/160a0_01_25.html
[2] http://www.ni.com/labview/ja/
をキャプチャできるようにした。
以下はオシロスコープの制御操作部位である。ロ
ジックアナライザも同様のインタフェースで操作可
筆者紹介
能としている。
和田 学(Manabu Wada)
CAE 開発部・札幌事業所所属。2010 年より形式手法を
用いたソフトウェア高信頼化に関する研究事業に従事。
2014 年より農業機械向け制御ソフトウェア開発環境の
研究開発に従事。
また,CAN 通信データによる制御を可能とするた
めにスイッチ操作による CAN パケット送出機能も
サポートしている。
以下は CAN パケット送出に関連づけたスイッチ
定義の例である。スイッチ操作によりスイッチ毎に
割り付けられた CAN パケットを送出する仕組みと
なっている。