以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における農作業支援装置のハードウェア構成例を示す図である。同図の農作業支援装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105と、表示装置106と、入力装置107とを有する。
農作業支援装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って農作業支援装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
図2は、本発明の実施の形態における農作業支援装置の機能構成例を示す図である。同図において、農作業支援装置10は、生育状態記憶部111、生育状態更新部112、生育状態更新ルール記憶部113、作業ルール記憶部114、作業ルール抽出部115、抽出ルール記憶部116、作業指示部117、作業実績入力部118、作業履歴記憶部119、ルール目標達成度入力部120、観察結果入力部121、生育ステージ履歴記憶部122、寄与度算出部123、及び登録処理部124等を有する。これら各部は、農作業支援装置10にインストールされたプログラムがCPU104に実行させる処理によって実現される。
生育状態記憶部111は、栽培している作物ごとにその作物の生育状態を示す情報(生育状態情報)を、例えば、補助記憶装置102を用いて記憶する。生育状態情報は、時間を単位として作物の生育状態を示す情報である。例えば、生育状態情報は、作物ごとに特徴的な生育ステージ(生育段階)、栽培開始時点からの経過日数、及び各生育ステージの開始時点からの経過日数等を含む。生育ステージとは作物の生育過程における所定の時期を区切りとして分割又は分類された期間をいう。例えば、おおよその作物の生育ステージは、「播種期(種まき期)」、「育苗期」、「成長期」、及び「収穫期」等に分類される。但し、作物によっては「育苗期」が無かったり、「成長期」が細かく分類されたりする。また、本実施の形態の適用に際し、任意の生育ステージが定義されてもよい。
生育状態更新部112は、生育状態記憶部111に記憶されている生育状態情報を更新する。生育状態更新部112は、所定の期間ごとに自律的に作物の生育状態を当該所定の期間分更新する。例えば、生育状態更新部112は、1日ごとに上記経過日数を1日増加させる。また、生育状態更新部112は、生育状態がいずれかの生育状態更新ルールRuの条件に合致する場合は、当該生育状態の生育ステージを更新する。
生育状態更新ルールRuは、作物の生育過程の特徴的な時点で何を観察するのか、観察の結果、生育状態情報をどのように更新するのか(生育状態情報の更新値)等が定義されたデータである。すなわち、生育状態更新ルールRuは、作物の生育過程の特徴的な時点を条件として含む。また生育状態更新ルールRuは、当該条件が満たされた場合に観察すべき内容、観察結果に応じた生育状態情報の更新値等を含む。なお、生育状態更新ルールRuは、状態更新規則情報の一例である。
生育状態更新ルール記憶部113は、例えば、補助記憶装置102を用いて、一以上の生育状態更新ルールRuを記憶する。なお、生育状態更新ルール記憶部113は、状態更新規則情報記憶部の一例である。
作業ルール記憶部114は、例えば、補助記憶装置102を用いて各種の作業ルールを記憶する。作業ルールとは、作物の状態や、圃場現場や周辺の状態(作物の環境の状態)に関するさまざまな状態に対して、どのような作業を行うか等が定義されたデータである。具体的には、作業ルールは、作物生育状態情報又は作物の環境の状態に関する条件、当該条件が満たされた場合に実行すべき作業を示す作業情報、及び作物の生育に対する当該作業ルール(又は当該作業)の寄与度等を含む。寄与度の詳細については後述する。
同図には、作業ルールとして、生育状態ルールRs、観察ルールRo、環境ルールRe、及び警報ルールRw等が例示されている。各作業ルールの詳細については後述する。なお、本実施の形態において、作業ルールは、作業規則情報の一例である。また、作業ルール記憶部114は、作業規則情報記憶部の一例である。
作業ルール抽出部115は、作業規則情報抽出部の一例である。作業ルール抽出部115は、作物の生育状態情報や、圃場現場や周辺の状態に関する情報等の入力情報等に合致する条件を含む作業ルールを作業ルール記憶部114より抽出(検索)する。入力情報の一例として、本実施の形態では、生育状態記憶部111に記憶されている生育状態情報、人による圃場の観察結果情報、各種の計測器又はセンサーによる圃場の環境(土壌や気象)に関する情報、気象情報提供者や農業関連組織が提供する各種の警報情報等が利用される。なお、本実施の形態における作業ルールの種類は、当該入力情報の種類に対応している。
抽出ルール記憶部116は、作業ルール抽出部115によって抽出された作業ルールを、例えば、メモリ装置103を用いて記憶する。
作業指示部117は、抽出ルール記憶部116に記憶されている作業ルールに含まれている作業情報等を、例えば、表示装置106に出力させる。抽出ルール記憶部116に複数の作業ルールが記憶されている場合(すなわち、複数の作業ルールが抽出されている場合)、作業指示部117は、各作業ルールに含まれている寄与度に基づいて、作業情報の出力対象とする作業ルールを選択(限定)する。すなわち、寄与度が相対的に高い作業ルールを優先させる。すなわち、寄与度は、複数の作業ルールが競合した場合の優先度(優先順位)として用いられる。
なお、作業ルール抽出部115及び作業指示部117による処理の実行時期は、入力情報が入力される都度でもよい。又は、予め設定されているタイミングや定期時刻(毎日所定の時刻等)であってもよい。
作業実績入力部118は、作業指示部117によって指示された作業の実績を示す情報(作業実績情報)の入力を受け付け、作業履歴記憶部119に記録する。作業履歴記憶部119は、例えば、補助記憶装置102を用いて、作業実績情報の履歴を記憶する。なお、作業履歴記憶部119は、第一の評価値記憶部の一例である。
ルール目標達成度入力部120は、各作業ルールに含まれている目標(ルール目標)に対する達成度(達成状況)を示す評価値(ルール目標達成評価値)の入力を受け付け、作業履歴記憶部119に記録する。したがって、ルール目標達成評価値は、作業指示部117によって指示された作業に係る作業ルールごとに記録される。なお、ルール目標達成評価値は、第一の評価値の一例である。また、ルール目標達成度入力部120は、第一の評価値入力部の一例である。
観察結果入力部121は、生育状態更新部112によって出力される作物等の観察指示に応じて行われる作物等の観察の結果の入力を受け付ける。観察結果入力部121は、入力された観察結果に基づいて、作物の生育ステージごとに設けられている目標(ステージ目標)に対する達成度(達成状況)を示す評価値(ステージ目標達成評価値)を生育ステージ履歴記憶部122に記録する。したがって、或る作物に関するステージ目標達成評価値は、当該作物の生育ステージごとに記録される。なお、ステージ目標達成評価値は、第二の評価値の一例である。また、観察結果入力部121は、第二の評価値入力部の一例である。
生育ステージ履歴記憶部122は、作物の生育ステージの進行に応じて、各生育ステージに関する情報が記録される。各ステージに関する情報には、ステージ目標達成評価値も含まれる。なお、生育ステージ履歴記憶部122は、第二の評価値記憶部の一例である。
寄与度算出部123は、各生育ステージについて、当該生育ステージのステージ目標達成評価値と、当該生育ステージにおいて適用された各作業ルールのルール目標達成評価値との相関を示す指標値を求め、当該指標値を寄与度として各作業ルールに記録する。すなわち、各作業ルールの目標の達成度と、ステージ目標の達成度との相関に基づいて、各作業ルールの寄与度が判定される。
登録処理部124は、生育状態更新ルールRu又は各種の作業ルールの入力を受け付け、入力された生育状態更新ルールRu又は作業ルールを生育状態更新ルール記憶部113又は作業ルール記憶部114に記録する。例えば、登録処理部124は、生育状態更新ルールRu又は作業ルールの種別ごとに応じた入力画面を表示装置106に表示させる。登録処理部124は、当該入力画面に対する入力内容に基づいて生育状態更新ルールRu又は作業ルールを生成し、生育状態更新ルール記憶部113又は作業ルール記憶部114に記録する。
以下、農作業支援装置10の処理手順について説明する。図3は、生育状態更新処理の処理手順の一例を説明するためのフローチャートである。同図の処理は、定期的に実行される。ここでは、1日に1回所定の時刻に実行されることとする。
ステップS101において、生育状態更新部112は、生育状態記憶部111に記憶されている生育状態情報に対して定期的な自動更新を行う。
図4は、生育状態情報の構成例を示す図である。同図において、生育状態情報は、栽培ID、作物名、品種、作型、栽培方法、栽培開始日、経過日数、現生育ステージ、現生育ステージ開始日、現生育内経過日数、生育ステージ開始日、及び生育ステージ終了日等を含む。
栽培IDは、作物の栽培ごとに一意な識別子である。「栽培」とは、作物の栽培又は栽培のための準備が開始されてから、作物が収穫までの期間及び当該期間における各種の作業をいう。圃場IDは、圃場に対する識別子である。圃場の単位は、本実施が適用される農場に応じて適宜定められればよい。
作物名は、作物の名前である。例えば、「米」、「麦」等が作物名に相当する。品種とは、作物の品種である。例えば、米であれば、コシヒカリ、ササニシキ等が品種に相当する。作型は、春まき型、秋まき型等、作物の栽培体系である。栽培方法は、作物の栽培方法である。栽培開始日は、栽培を開始した日付である。経過日数は、栽培開始日からの経過日数である。現生育ステージは、作物の現在の生育ステージである。現生育ステージ開始日は、現在の生育ステージに移行した日付である。現生育内経過日数は、現生育ステージに移行後の経過日数である。生育ステージ開始日及び生育ステージ終了日は、現在までに経た生育ステージの開始日又は終了日である。複数の生育ステージを経ている場合は、当該生育ステージごとに、生育ステージ開始日及び生育ステージ終了日が含まれる。
なお、生育状態情報において、圃場ID、作物名、品集、作型、及び栽培方法等は、作物の栽培条件に関する情報に相当する。栽培開始日以降は、作物の生育の状態を示す情報に相当する。すなわち、本実施の形態では、時間を単位として又は所定時期からの経過時間によって、作物の生育の状態が管理される。なお、栽培開始日に関しては、例えば実際の栽培開始日ではなく、前作の収穫が終わった後の日(例えば前作の収穫日の翌日)をその作物の栽培開始日としてもよい。実際に作物の栽培(例えば播種)が始まる前に、作物を栽培するための圃場の整備(耕運、整地、施肥、畝立て、代かき)といった作業が必要になるケースがあるからである。
図4に示される生育状態情報は、栽培ごとに生育状態記憶部111に記憶されている。図3の処理手順は、生育状態記憶部111に記憶されている各生育状態情報について実行される。但し、ここでは、便宜上、一つの生育状態情報に注目して説明する。
ステップS101における定期的な自動更新とは、生育状態情報における経過日数及び現生育内経過日数のそれぞれに1を加算することをいう。なお、例えば、図3が実行される周期が2日であれば、2が加算されればよい。
続いて、生育状態更新部112は、生育状態更新ルール記憶部113に記憶されている生育状態更新ルールRuの中から、生育状態情報に合致する条件を含む生育状態更新ルールRuを検索する(S102)。
図5は、生育状態更新ルールの構成例を示す図である。同図において、生育状態更新ルールRuは、ルールID、登録元、登録日、作物名、品種、作型、栽培方法、生育ステージ、経過日数、冗長日数、冗長区分、作業要否、事前観察ルールID、事前必要作業、移行先生育ステージ、移行先生育内経過日数、及びステージ目標達成評価値等を含む。
ルールIDは、生育状態更新ルールRuごとに一意な識別子である。登録元は、当該生育状態更新ルールRuの情報源又は登録者等を示す情報である。すなわち、本実施の形態では、各作業者によって、各種の情報を参考として生育状態更新ルールRu及び作業ルールが登録されることを想定している。したがって、誰によって又はどのような情報源等に基づいて生育状態更新ルールRu又は作業ルールが登録されたのかを明確に保存しておくことにより、例えば、当該生育状態更新ルールRuの信頼性を評価することができる。登録日は、当該生育状態更新ルールRuが登録された日付である。
作物名から冗長区分までは、生育状態更新ルールRuにおいて、生育状態情報に対する条件(以下、「生育状態条件」という。)を構成するパラメータである。当該パラメータのうち、作物名、品種、作型、栽培方法、生育ステージ、及び経過日数は、生育状態情報(図4)に関して説明した通りである。但し、経過日数は、生育ステージにおける経過日数である。
冗長日数は、経過日数の条件に冗長性を持たせるためのパラメータである。すなわち、冗長日数に指定されている日数分だけ、経過日数の条件に冗長性が付与される。
冗長区分は、冗長日数を経過日数のいずれの方向に対して付与するかを示すパラメータである。冗長区分は、「前後」、「前」、又は「後」の値をとる。「前後」は、経過日数の前後に冗長日数を付与することを示す。したがって、経過日数及び冗長日数が同図の例の場合において、冗長区分が「前後」の場合、経過日数の条件は、「35〜45」となる。「前」は、経過日数の前に冗長日数を付与することを示す。したがって、この場合、経過日数の条件は「35〜40」となる。「後」は、経過日数の後に冗長日数を付与することを示す。したがって、この場合、経過日数の条件は「40〜45」となる。
移行先生育ステージ及び移行先生育内経過日数は、生育状態更新ルールRuの生育状態条件に合致する生育状態情報に対する更新処理の内容を構成するパラメータである。すなわち、移行先生育ステージは、当該生育状態情報の現生育ステージの更新値(更新後の値)を示す。移行先生育内経過日数は、当該生育状態情報の現生育内経過日数の更新値を示す。
作業要否、事前観察ルールID、及び事前必要作業は、生育状態条件に対する追加的な条件である。すなわち、事前観察ルールIDは、実際の作物の観察状態に関する条件である。具体的には、事前観察ルールIDは、生育状態更新ルールRuが参照する(含む)観察ルールRoのルールIDである。観察ルールRoは、作物や土壌等に関する観察内容が規定されているルールである。生育状態情報が、生育状態更新ルールRuの生育状態条件を満たしている場合、作業者は、当該事前観察ルールIDに係る観察ルールRoに従って作物等を観察し、観察結果を入力することが要求される。観察結果が、観察ルールRoに規定されている条件を満たさない場合、生育状態情報の更新処理は行われない。
作業要否は、事前必要作業において示される作業の要否を示す。すなわち、作業要否の値が「要」の場合、事前必要作業は必要とされる。作業要否の値が「不要」の場合、事前必要作業は不要とされる。事前必要作業は、生育状態情報の更新処理の前提とされる作業である。すなわち、事前必要作業に指定されている作業が実施されていない場合、生育状態情報の更新処理は行われない。なお、事前必要作業は、作業要否の値が「要」である場合に有効となるパラメータである。
ステージ目標達成評価値は、当該生育状態更新ルールRuが適用されることにより生育ステージが更新された場合に、更新前の生育ステージ(すなわち、当該生育状態更新ルールRuに係る生育ステージ)に対して付与されるステージ目標達成評価値である。
ステップS102では、生育状態情報の作物名、品種、作型、栽培方法、現生育ステージ、及び現生育内経過日数に対して、作物名〜冗長区分までのパラメータによって規定される生育状態条件が合致する生育状態更新ルールRuが検索される。通常、ステージ目標達成評価値の異なる複数の生育状態更新ルールRuが検索される。換言すれば、生育状態条件及び追加的な条件が共通し、事前観察ルールID及びステージ目標達成評価値が異なる生育状態更新ルールRuが、予め生育状態更新ルール記憶部113に登録されている。
該当する生育状態更新ルールRuが一つも検索されない場合(S103でNO)、図3の処理は終了する。該当する生育状態更新ルールRu(以下、「カレント生育状態更新ルールRu」という。)が検索された場合(S103でYES)、生育状態更新部112は、カレント生育状態更新ルールRuの作業要否の値は「要」であるか否かを判定する(S104)。ここで、カレント生育状態更新ルールRuは、通常、複数存在する。但し、各カレント生育状態更新ルールRuの作業要否の値及び事前必要作業の値は共通するように登録されている。したがって、複数のカレント生育状態更新ルールRuのうち、いずれか一つの生育状態更新ルールRuに基づいて、ステップS104の判定が行われればよい。
作業要否の値が「不要」の場合(S104でNO)、ステップS107に進む。作業要否の値が「要」の場合(S104でYES)、生育状態更新部112は、生育状態情報に係る作物に関して、事前必要作業に指定されている作業が行われているか否かを作業履歴記憶部119を参照して確認する(S105)。
図6は、作業履歴記憶部の構成例を示す図である。同図において、作業履歴記憶部119は、作業ルールに従って実行された作業ごとに、栽培ID、圃場ID、作物名、作型、栽培方法、生育ステージ、作業名、ルールID、作業日、及びルール目標達成評価値等を記憶する。
栽培ID、圃場ID、作物名、作型、栽培方法、生育ステージは、作業の対象とされた作物に関して作業時に生育状態記憶部111に記憶されている栽培ID、圃場ID、作物名、作型、栽培方法、現生育ステージである。
作業名は、作業ルールに従って行われた作業の名前である。ルールIDは、作業の原因となった作業ルールのルールIDである。作業日は、作業が行われた日付である。ルール目標達成評価値は、当該作業ルールに含まれている目標に対する目標達成評価値である。
このように、作業履歴記憶部119には、過去において行われた作業に関する情報が記憶されている。ステップS105では、作業履歴記憶部119に記録されているレコードのうち、栽培ID、圃場ID、作物名、作型、栽培方法、及び生育ステージが、生育状態情報の栽培ID、圃場ID、作物名、作型、及び生育ステージと一致し、作業名が、カレント生育状態更新ルールRuの事前必要作業に指定されている作業名と一致するレコードの有無が確認される。
該当するレコードが無い場合(事前必要作業が行われていない場合)(S106でNO)、図3の処理は終了する。該当するレコードが有る場合(事前必要作業が行われている場合)(S106でYES)、生育状態更新部112は、カレント生育状態更新ルールRuごとに、事前観察ルールIDをルールIDとして有する観察ルールRoを作業ルール記憶部114より検索する(S107)。
図7は、生育状態更新ルールより参照される観察ルールの構成例を示す図である。同図において、観察ルールRoは、ルールID、登録元、作物名、品種、作型、栽培方法、生育ステージ、ルール連携、観察対象、観察状態、候補作業、ルール目標、目標達成度確認方法、及び寄与度等を含む。ルールID、登録元、及び登録日等については、生育状態更新ルールRu(図5)に関して説明した通りである。
ルール連携は、生育状態更新ルールRu又は生育状態ルールRsとの連携の有無を示す。観察ルールRoにとって、連携とは、他のルールからら参照されることをいう。観察ルールRoは、独立して一つの作業ルールを構成するが、生育状態更新ルールRuや生育状態ルールRsから参照され、参照元のルールの一部を構成する場合もある。
観察対象及び観察状態は、観察ルールRoの条件を構成するパラメータである。観察対象、観察の対象を示す。観察状態は、当該観察ルールRoが適用されるための、観察対象に対する観察結果と比較される比較値を示す。すなわち、観察対象の状態が、観察状態に示される状態に合致する場合、当該観察ルールRoが適用される。
候補作業以降は、ルール連携が無い場合に有効となるパラメータである。したがって、これらのパラメータは、生育状態更新ルールRuより参照される観察ルールRoについては、無効である。よって、これらのパラメータに関する説明は、ここでは省略する。
なお、ルール連携の無い観察ルールRoは、観察対象が観察状態に示される状態である場合に、行うべき作業を規定するものである。一方、他のルールより参照される観察ルールRo(ルール連携の有る観察ルールRo)は、観察対象が観察状態に示される状態であるか否かを判定するために用いられる。例えば、図7に示される観察ルールRoは、本葉が4枚に達した圃場の面積の割合が、20%〜49%であるか否かを判定するために用いられる。
ステップS107では、複数有るカレント生育状態更新ルールRuごとに、観察ルールRoが検索される。したがって、ステップS107の時点において、生育状態更新部112は、例えば、図8に示されるような生育状態更新ルールRu及び観察ルールRoを処理対象として有している。
図8は、生育状態更新処理において処理対象とされる生育状態更新ルール及び観察ルールの一例を示す図である。
同図には、三つの生育状態更新ルールRu101〜103と、各生育状態更新ルールRuより参照されている観察ルールRo101〜103が示されている。なお、同図の各生育状態更新ルールRu及び各観察ルールRoは、説明に必要な項目のみが示されている。
ここで注目すべき点は、次の3点である。第一に、各生育状態更新ルールRuのステージ目標達成評価値は異なっていることである。第二に、各観察ルールRoの観察対象は共通していることである。第三に、各観察ルールRoの観察状態は異なっていることである。
例えば、第一の点に関しては、各生育状態更新ルールRuのステージ目標達成表か値は、「50」、「70」、「100」となっている。第二の点に関しては、各観察ルールRoの観察対象は、「本葉が4枚に達した圃場の面積の割合(%)」となっている。第三の点に関しては、各観察ルールRoの観察状態は、「20〜49」、「50〜99」、「100」となっている。
続いて、生育状態更新部112は、検索された観察ルールRoに含まれている観察対象及び観察状態に基づいて、当該観察対象が当該観察状態であるか否かを作業者に観察させるための指示を表示装置106に表示させる(S108)。例えば、当該指示を示すメッセージを含む画面(以下、「観察指示画面」という。)が表示される。図8に示される観察ルールRoの場合、観察指示画面には、「本葉が4枚に達した圃場の面積の割合(%)」の観察を指示するメッセージが表示される。
続いて、観察結果入力部121は、観察対象の観察を行った作業者により、観察結果の入力を受け付ける(S109)。観察結果の入力は、観察結果入力部121が表示装置106に表示させる観察結果入力画面を介して行われる。
図8に示されるような観察ルールRoの場合、観察結果入力画面は、本葉が4枚に達した圃場の面積の割合(%)を示す入力させるための文字列入力部品を有すればよい。又は、観察結果入力画面は、三つの観察ルールRoのそれぞれの観察状態の値と三つの観察ルールRoのいずれの観察状態にも該当しないこととに対応する四つの選択肢を含むチェックボックスを有していてもよい。更に、観察結果が観察状態に該当するか(「YES」)否か(「NO」)を選択させる画面が観察ルールRoごとに表示されてもよい。
いずれの形態であっても、観察ルールRoの観察状態と比較可能な値が観察結果として入力される。
続いて、観察結果入力部121は、入力された観察結果に観察状態に合致する観察ルールRoの有無を判定する(S110)。例えば、入力された観察結果が、図8の三つの観察ルールRoのいずれかの観察状態に合致するか否かが判定される。観察結果に合致する観察ルールRoが無い場合(S110でNO)、観察結果入力部121は、図3の処理を終了させる。したがって、この場合、生育状態更新ルールRuに基づく生育状態情報の更新は行われない。例えば、図8の場合、本葉が4枚に達した圃場の面積の割合の観察結果が20%未満であれば、生育状態情報の更新は行われない。
一方、観察結果に合致する観察ルールRoが有る場合(S110でYES)、生育状態更新部112は、観察結果入力部121からの要求に応じ、観察結果に合致する観察ルールRoを参照しているカレント生育状態更新ルールRuに従って、生育状態情報を更新する(S111)。例えば、図8の場合、観察結果がいずれの観察ルールRoに合致した場合であっても、生育状態情報(図4)の現生育ステージは「結球初期」に更新され、現生育内経過日数は、「1」に更新される。
また、現生育ステージ開始日は、当日の日付に更新される。更に、生育状態情報の現生育ステージが更新前後で異なる場合、更新前の現生育ステージに関する生育ステージ開始日及び生育ステージ終了日が当該生育状態情報に追加される。当該生育ステージ開始日には、更新前の現生育ステージ開始日が転記される。生育ステージ終了日には、当日の日付が記録される。
なお、観察結果に応じて、新たな生育ステージの経過日数(現生育内経過日数)を異なるようにしてもよい。例えば、本葉が4枚に達した圃場の面積の割合が50%〜99%の場合、経過日数を「2」とし、100%の場合、経過日数を「5」とするようにしてもよい。その場合、図8における生育状態更新ルールRu102及び103の移行先生育内経過日数の値を、それぞれ、「2」、「5」とすればよい。
このように、新たな生育ステージにおける経過日数を観察結果に応じて変化させることで、生育状態情報の内容を、作物の実際の生育状態に近似したものとすることができる。
続いて、観察結果入力部121は、ステップS111における処理によって、生育状態情報の現生育ステージの値は変化したか(進行したか)否かを判定する(S112)。生育状態情報の現生育ステージの値が変化していない場合(S112でNO)、観察結果入力部121は、図3の処理を終了させる。通常、生育状態更新ルールRuは、生育ステージを更新させるために適用されるものである。また、ステップS112の時点では、既に生育状態更新ルールRuは適用されている。それにも拘わらず、ステップS112の判定が必要とされるのは、生育状態更新ルールRuを、生育ステージの更新以外を目的とし利用することも可能だからである。この点については後述する。
一方、生育状態情報の現生育ステージの値が変化した場合(S112でYES)、観察結果入力部121は、終了した生育ステージ(更新前の生育ステージ)に関する一つのレコード(生育ステージ情報)を、生育ステージ履歴記憶部122に記録する(S113)。
図9は、生育ステージ履歴記憶部の構成例を示す図である。同図において、生育ステージ履歴記憶部122は、過去の生育ステージごとに、栽培ID、圃場ID、作物名、作型、栽培方法、生育ステージ、ステージ開始日、ステージ終了日、及びステージ目標達成評価値等を記憶する。
新たに追加されるレコードの栽培ID、圃場ID、作物名、作型、栽培方法には、生育状態情報の栽培ID、圃場ID、作物名、作型、栽培方法が記録される。生育ステージには、更新前の現生育ステージの値が記録される。生育ステージ開始日、生育ステージ終了日には、生育状態情報に最後に追加された(すなわち、最も新しい)「生育ステージ開始日」、「生育ステージ終了日」が記録される。ステージ目標達成評価値は、ステップS111において適用された生育状態更新ルールRuに含まれているステージ目標達成評価値が記録される。したがって、例えば、図8に示されている生育状態更新ルールRu101が適用された場合、生育ステージ履歴記憶部122のステージ目標達成評価値には「50」が記録される。生育状態更新ルールRu102が適用された場合、生育ステージ履歴記憶部122のステージ目標達成評価値には「70」が記録される。生育状態更新ルールRu103が適用された場合、生育ステージ履歴記憶部122のステージ目標達成評価値には「100」が記録される。
ここで、適用される生育状態更新ルールRuは、実際の観察結果に基づいて選択される。したがって、実際の観察結果(すなわち、生育状態)に基づいて、生育ステージ目標達成評価値が記録される。また、観察結果の入力は、実質的にステージ目標達成評価値の入力に相当するといえる。
なお、上記では、作物の生育状態(生育の進行)に応じて生育ステージが更新される例について説明した。但し、所定の作業を行うことにより終了する生育ステージも定義されうる。すなわち、「生育ステージ」とは、「作業ステージ」としての意味も含みうる。どのような生育ステージを定義するかは、運用に応じて任意だからである。
例えば、播種以前の土作りの段階に対する生育ステージとして、「キャベツ準備期」が定義されたとする。この場合、「キャベツ準備期」は、土作りの完了によって終了する。
所定の作業を行うことにより終了する生育ステージに関しても、図3において説明した処理手順には有効である。この場合、例えば、図10に示されるような生育状態更新ルールRu及び観察ルールRoが定義されればよい。
図10は、作業の完了によって終了する生育ステージに関する生育状態更新ルール及び観察ルールの一例を示す図である。図10は、図8と同様の形式によって、生育状態更新ルールRu及び観察ルールRoが示されている。図10における各生育状態更新ルールRuは、「キャベツ準備期」に適用され(すなわち、生育ステージの値を「キャベツ準備期」とし)、生育ステージを「播種期」に更新させるための生育状態更新ルールRuである。
また、各生育状態更新ルールRuが参照するそれぞれの観察ルールRoの観察対象は、「作業完了から播種予定日までの日数」として共通である。本実施の形態において、「キャベツ準備期」に対して、「作業完了から播種予定日までの日数」を観察対象としたのは、土作りの完了から播種までは、或る程度の日数が開けられるのが望ましいからである。なお、同図では省略されているが、同図の各生育状態更新ルールRuの事前必要作業には、例えば、「土作り」が設定される。すなわち、当該作業の完了が生育ステージの終了となる作業の名前が事前必要作業に設定される。
観察ルールRo204の観察状態は、「3日〜1週間未満」である。観察ルールRo205の観察状態は、「1〜1週間未満」である。観察ルールRo206の観察状態は、「2週間以上」である。
したがって、図10に示されるような生育状態更新ルールRu及び観察ルールRoが処理対象とされることにより、土作りの完了した時期に応じて、ステージ目標達成評価値を変化させることができる。一般化すれば、作業の完了によって終了する生育ステージに関して、当該作業の結果に応じて、ステージ目標達成評価値を変化させることができる。
なお、図10の場合、土作りの完了から播種予定日までの日数が3日未満の場合、生育ステージの更新は行われない。
ところで、上記において、生育状態更新ルールRuは、生育ステージの更新以外の目的にも利用可能であると述べた。その点について説明する。
本実施の形態の生育状態更新部112は、定期的に経過日数に1を加算する(図12のステップS101)。但し、作物の実際の生育状態は、必ずしも経過日数に応じたものになるとは限らない。具体的には、実際の経過日数に比べて生育が遅れる可能性もある。そこで、生育状態更新ルールRuを、生育の遅れの補正手段として用いることもできる。この場合、例えば、図8に示される生育状態更新ルールRu等に対して、図11に示される生育状態更新ルールRu等を追加すればよい。
図11は、実際の生育状態に応じて生育状態情報を補正するための生育状態更新ルール及び観察ルールの一例を示す図である。
同図に示される生育状態更新ルールRuは、図5に示される生育状態更新ルールRuと同様に、定植期における経過日数が35日〜45日の間に処理対象とされる生育状態更新ルールRuである。但し、図11の二つの生育状態更新ルールRuの移行先生育ステージは、現生育ステージと同じ「定植期」とされている。また、移行先生育内経過日収は、「20」又は「30」であり、35日〜45日よりも小さい値(すなわち、生育状態条件に合致する生育状態よりも前の生育状態(経過日数)を示す値)とされている。なお、これらの生育状態更新ルールRuは、生育ステージの更新を発生させるためのものではないため、ステージ目標達成評価値の値は、空又は無効なとされている。
二つの生育状態更新ルールRuのそれぞれが参照する観察ルールRoの観察対象は、図5又は図8と同様に、「本葉が4枚に達した圃場の面積の割合(%)」である。観察ルールRo211の観察状態は「0〜9」である。観察ルールRo212の観察状態は「10〜19」である。
図3のステップS108の時点において、図8に示される生育状態更新ルールRu等に加えて図11に示される生育状態更新ルールRu等が処理対象とされている場合を考える。この場合、ステップS108において、観察結果として0%〜9%を示す値が入力されると、図11におけるルールIDが「111」の生育状態更新ルールRuが適用される。その結果、ステップS111では、生育状態情報の現生育ステージは更新されず、現生育内経過日数は、「20」に戻される。
このように、観察結果に応じて、生育状態更新ルールRuに基づいて、生育状態情報を、生育の方向に対して逆方向に更新することもできる。したがって、定期的に更新される生育状態情報における現生育内経過日数の値を、実際の生育状態に近似したものに補正することができる。
続いて、以上のように管理される生育状態情報が示す生育状態又は他の要因等に応じて適用候補とされる作業ルールの抽出処理について説明する。
まず、生育状態に応じた作業ルールの抽出処理について説明する。図12は、生育状態に応じた作業ルールの抽出処理の処理手順の一例を説明するためのフローチャートである。同図の処理は、定期的に行われる。例えば、生育状態更新部112によって生育状態情報が更新された後に行われてもよい。
ステップS201において、作業ルール抽出部115は、生育状態記憶部111より生育状態情報(図4)を取得する。なお、図12の処理手順は、生育状態記憶部111に記憶されている各生育状態情報について実行される。但し、ここでは、便宜上、一つの生育状態情報に注目して説明する。
続いて、作業ルール抽出部115は、作業ルール記憶部114に記憶されている生育状態ルールRsの中から、生育状態情報に合致する生育状態条件を含む生育状態ルールRsを検索する(S202)。
図13は、生育状態ルールの構成例を示す図である。生育状態ルールRsは、作物の生育状態に対する条件と、当該条件が満たされた場合に行う作業とを規定する作業ルールである。同図において、生育状態ルールRsは、ルールID、登録元、登録日、作物名、品種、作型、栽培方法、生育ステージ、経過日数、冗長日数、冗長区分、事前観察/作業要否、事前観察ルールID、事前必要作業、候補作業、作業周期日数、最大作業繰り返し数、ルール目標、目標達成度確認方法、及び寄与度等を含む。
ルールID、登録元、及び登録日については、生育状態更新ルールRu(図5)等に関して説明した通りである。
作物名から冗長区分までは、生育状態ルールRsにおいて、生育状態情報に対する条件(生育状態条件)を構成するパラメータである。各パラメータの意味は、生育状態更新ルールRuに関して説明した通りである。
事前観察/作業要否、事前観察ルールID、及び事前必要作業は、生育状態条件に対する追加的な条件である。すなわち、事前観察/作業要否は、生育状態ルールRsが適用されるために事前に観察又は所定の作業が行われている必要があるか否かを示すパラメータである。事前観察/作業要否の値は、「なし」、「観察」、「作業」、又は「観察/作業」のいずれかである。「なし」は、観察及び作業の双方について必要が無いことを示す。「観察」は、観察のみ必要であることを示す。「作業」は、作業のみ必要であることを示す。「観察/作業」は、観察及び作業の双方について必要であることを示す。
事前観察ルールID及び事前必要作業の意味は、生育状態更新ルールRuに関して説明した通りである。すなわち、観察状態ルールも観察ルールRoを参照しうる。但し、事前観察ルールIDは、事前観察/作業要否の値が「観察」又は「観察/作業」である場合に有効となる。また、事前必要作業は、事前観察/作業要否の値が「作業」又は「観察/作業」である場合に有効となる。
候補作業、作業周期日数、及び最大作業繰り返し数は、生育状態ルールRsの生育状態条件及び追加的な条件が満たされた場合に、行うべき作業に関するパラメータである。
候補作業は、行うべき作業の名前である。ここで、「候補」という用語が付与されているのは、他の作業ルールと競合した場合、当該候補作業が必ずしも実行すべき作業とされるとは限らないからである。作業周期日数は、候補作業を周期的に行う必要がある場合の周期を示す。最大作業繰り返し数は、候補作業を周期的に行う必要がある場合の繰り返し数の上限値である。
ルール目標は、生育状態ルールRsの目標又は生育状態ルールRsに基づいて行われる作業の目標である。目標達成度確認方法は、ルール目標の達成度(ルール目標達成評価値)の確認方法(評価方法)である。寄与度は、作業ルール(ここでは、生育状態ルールRs)が適用される生育ステージのステージ目標に対して当該生育状態ルールRsが寄与する程度又は度合いである。すなわち、寄与度は、作物の生育に対して作業ルールが寄与する程度又は度合いということもできる。
ステップS202では、生育状態情報の作物名、品種、作型、栽培方法、現生育ステージ、及び現生育内経過日数に対して、作物名〜冗長区分までのパラメータによって規定される生育状態条件が合致する生育状態ルールRsが検索される。
該当する生育状態ルールRsが検索されない場合(S203でNO)、図12の処理は終了する。該当する生育状態ルールRs(以下、「カレント生育状態ルールRs」という。)が検索された場合(S203でYES)、作業ルール抽出部115は、カレント生育状態ルールRsの事前観察/作業要否の値が「作業」又は「観察/作業」であるか否かを判定する(S204)。すなわち、事前必要作業が指定されているか否かが判定される。
事前観察/作業要否の値が「作業」又は「観察/作業」でない場合(S204でNO)、ステップS207に進む。事前観察/作業要否の値が「作業」又は「観察/作業」である場合(S204でYES)、作業ルール抽出部115は、事前必要作業に指定されている作業が行われているか否かを作業履歴記憶部119(図6)を参照して確認する(S205)。ステップS205の内容は、図3のステップS105の内容と同じである。すなわち、作業履歴記憶部119に記録されているレコードのうち、栽培ID、圃場ID、作物名、作型、栽培方法、及び生育ステージが、生育状態情報の栽培ID、圃場ID、作物名、作型、栽培方法、及び生育ステージと一致し、作業名が、事前必要作業に指定されている作業名と一致するレコードの有無が確認される。
該当するレコードが無い場合(事前必要作業が行われていない場合)(S206でNO)、図12の処理は終了する。該当するレコードが有る場合(事前必要作業が行われている場合)(S206でYES)、作業ルール抽出部115は、作業履歴記憶部119を参照して、カレント生育状態ルールRsの候補作業に指定されている作業の実施は完了しているか否かを判定する(S207)。すなわち、カレント生育状態ルールRsのルールID、栽培ID、圃場ID、作物名、作型、栽培方法、生育ステージ、及び候補作業と一致するルールID、栽培ID、圃場ID、作物名、作型、栽培方法、生育ステージ、作業名を含むレコードの有無が判定される。カレント生育状態ルールRsに作業周期及び最大作業繰り返し数が指定されている場合は、該当するレコードの作業日の間隔が作業周期であり、該当するレコードの数が最大作業繰り返し数に達しているか否かについても判定される。すなわち、ステップS207では、候補作業に指定される作業が、カレント生育状態ルールRsに基づいて、現生育ステージ内で、作業周期に指定される周期で最大作業繰り返し数分実施されている場合は、候補作業の実施は完了していると判定される。
候補作業の実施が完了している場合(S207でYES)、図12の処理は終了する。一つの作物に対して、同一の生育状態ルールRsが重複して適用されるのを回避するためである。
候補作業の実施が完了していない場合(S207でNO)、作業ルール抽出部115は、カレント生育状態ルールRsの事前観察/作業要否の値が「観察」又は「観察/作業」であるか否かを判定する(S208)。すなわち、観察の実施が要求されているか否かが判定される。
カレント生育状態ルールRsの事前観察/作業要否の値が「観察」又は「観察/作業」でない場合(S208でNO)、ステップS213に進む。カレント生育状態ルールRsの事前観察/作業要否の値が「観察」又は「観察/作業」である場合(S208でYES)、作業ルール抽出部115は、カレント生育状態ルールRsの事前観察ルールIDをルールIDとして有する観察ルールRo(図7)を作業ルール記憶部114より検索する(S209)。
続いて、作業ルール抽出部115は、検索された観察ルールRoに含まれている観察対象及び観察状態に基づいて、当該観察対象が当該観察状態であるか否かを作業者に観察させるための指示を表示装置106に表示させる(S210)。続いて、作業ルール抽出部115は、観察対象の観察を行った作業者により、観察結果の入力を受け付ける(S211)。
続いて、作業ルール抽出部115は、入力された観察結果が観察ルールRoの観察状態に合致するか否かを判定する(S212)。観察結果が観察ルールRoに合致する場合(S212でYES)、作業ルール抽出部115は、カレント生育状態ルールRsを抽出ルール記憶部116に記録する(S213)。すなわち、カレント生育状態ルールRsが適用候補として抽出されたことになる。
なお、観察結果が観察ルールRoに合致しない場合(S212でNO)、カレント生育状態ルールRsの抽出ルール記憶部116への記録は実行されない。
続いて、観察情報に応じた作業ルールの抽出処理について説明する。図14は、観察情報に応じた作業ルールの抽出処理の処理手順の一例を説明するためのフローチャートである。
ステップS301において、作業ルール抽出部115は、観察情報(観察対象及び観察状態)を取得する。ここでいう観察情報は、図3又は図12の実行によって出力される指示に応じて行われる観察によって得られる観察情報に限定されない。すなわち、ここでの観察情報は、生育状態更新ルールRuから参照される観察ルールRo又は生育状態ルールRsから参照される観察ルールRoに基づく指示とは別に、作業者が農作業中に行った観察によって得られる観察情報も含まれる。なお、ステップS301における観察情報の取得は、作業ルール抽出部115が表示させる観察結果入力画面を介して作業者に観察対象及び観察状態を入力させることにより取得されてもよい。又は、図14の処理とは非同期に入力され、補助記憶装置102に保存されている観察対象及び観察状態が取得されてもよい。前者の形態は、図14の処理が、観察情報の入力に応じて実行される場合に適している。後者の形態は、図14の処理が定期的に行われる場合に適している。
続いて、作業ルール抽出部115は、生育状態情報を生育状態記憶部111より取得する(S302)。なお、ステップS302以降の処理手順は、生育状態記憶部111に記憶されている各生育状態情報について実行される。但し、ここでは、便宜上、一つの生育状態情報に注目して説明する。
続いて、作業ルール抽出部115は、生育状態情報と観察情報とに合致する条件を含む観察ルールRoを作業ルール記憶部114より検索する(S303)。
図15は、作業ルールとしての観察ルールの構成例を示す図である。作業ルールとしての観察ルールRoとは、他のルールから参照される観察ルールRo(例えば、図7)ではなく、独立して一つの作業ルールを構成する観察ルールRoを意味する。以下、図14の説明に関して観察ルールRoというとき、作業ルールとしての観察ルールRoをいう。
観察ルールRoは、作物の生育状態及び作物や圃場(土壌等)に関する観察情報に対する条件と、当該条件が満たされた場合に実行すべき作業とを規定する作業ルールである。同図に示される各パラメータの意味は、図7において説明した通りである。すなわち、本実施の形態において、作業ルールとしての観察ルールRoと他のルールより参照される観察ルールRoとは、構成上の相違は無い。但し、作業ルールとしての観察ルールRoのルール連携の値は、「無」となる。また、作業ルールとしての観察ルールRoにおいて、候補作業、ルール目標、目標達成度確認方法、及び寄与度は有効なパラメータとなる。これらのパラメータの意味は、図13において生育状態ルールRsに関して説明した通りである。
なお、図15の観察ルールRoには、観察対象及び観察状態の組が二つ含まれている。このように、観察ルールRoは、観察対象及び観察状態の組を二以上含むこともできる。観察対象及び観察状態の組が複数含まれる場合、各組の論理積(AND)によって観察情報に対する条件の充足の有無が評価される。なお、観察対象及び観察状態の組を複数含むことができるのは、他のルールから参照される観察ルールRoについても同様である。
ステップS303では、生育状態情報に対して作物名〜生育ステージが合致し、かつ、観察情報に対して観察対象及び観察状態が合致する観察ルールRoが検索される。
該当する観察ルールRoが検索されない場合(S304でNO)、図14の処理は終了する。該当する観察ルールRoが検索された場合(S304でYES)、作業ルール抽出部115は、検索された観察ルールRoを抽出ルール記憶部116に記録する(S305)。すなわち、当該観察ルールRoが適用候補として抽出されたことになる。
続いて、環境情報に応じた作業ルールの抽出処理について説明する。図16は、環境情報に応じた作業ルールの抽出処理の処理手順の一例を説明するためのフローチャートである。図16の処理は、例えば、定期的に実行される。
ステップS401において、作業ルール抽出部115は、環境情報を補助記憶装置102より取得する。環境情報とは、気温、日射量、湿度、降水量等、圃場の環境に関する情報(特に、気象情報)をいう。環境情報は、例えば、圃場に設置された各種計測器又はセンサー等(温度計、湿度計等)によって計測され、補助記憶装置102に記録される。但し、各種計測器等による計測値の加工結果が環境情報とされてもよい。加工結果とは、例えば、平均気温、最高気温、最低気温、積算気温、積算降水量等である。すなわち、加工結果とは、瞬間的に得られる値ではなく、一定期間の計測値に基づいて得られる値である。また、補助記憶装置102への記録は、計測器等と農作業支援装置10とをネットワークを介して接続することにより自動的に行われても良いし、手動での入力によって行われてもよい。
続いて、作業ルール抽出部115は、生育状態情報を生育状態記憶部111より取得する(S402)。なお、ステップS402以降の処理手順は、生育状態記憶部111に記憶されている各生育状態情報について実行される。但し、ここでは、便宜上、一つの生育状態情報に注目して説明する。
続いて、作業ルール抽出部115は、生育状態情報及び環境情報に合致する条件を含む環境ルールReを作業ルール記憶部114より検索する(S403)。
図17は、環境ルールの構成例を示す図である。環境ルールReは、作物の生育状態及び圃場の環境に対する条件と、当該条件が満たされた場合に行う作業を規定する作業ルールである。同図において、環境ルールReは、ルールID、登録元、作物名、品種、作型、栽培方法、生育ステージ、計測対象、計測状態、候補作業、ルール目標、目標達成度確認方法、及び寄与度等を含む。ルールID、登録元、及び登録日等については、生育状態更新ルールRu(図5)等に関して説明した通りである。
作物名から生育ステージまでは、環境ルールReにおいて、生育状態情報に対する条件(生育状態条件)を構成するパラメータである。
計測対象及び計測状態の組は、環境ルールReにおいて、環境情報に対する条件(環境条件)を構成するパラメータである。計測対象は、計測機器によって計測する対象(気温、降水量、湿度等)である。計測状態は、計測対象の計測値又は計測値の加工結果である。
なお、図17の環境ルールReには、計測対象及び計測状態の組が二つ含まれている。このように、環境ルールReは、計測対象及び計測状態の組を二以上含むこともできる。計測対象及び計測状態の組が複数含まれる場合、各組の論理積(AND)によって環境条件の充足の有無が評価される。
ステップS403では、生育状態情報に対して作物名〜生育ステージが合致し、かつ、環境情報に対して計測対象及び計測状態が合致する環境ルールReが検索される。
該当する環境ルールReが検索されない場合(S404でNO)、図16の処理は終了する。該当する環境ルールReが検索された場合(S404でYES)、作業ルール抽出部115は、検索された環境ルールReを抽出ルール記憶部116に記録する(S405)。すなわち、当該環境ルールReが適用候補として抽出されたことになる。
続いて、警報情報に応じた作業ルールの抽出処理について説明する。図18は、警報情報に応じた作業ルールの抽出処理の処理手順の一例を説明するためのフローチャートである。図18の処理は、例えば、定期的に実行される。
ステップS501において、作業ルール抽出部115は、警報情報を補助記憶装置102より取得する。警報情報とは、気象情報サービス会社や農業試験場などが非定期に提供する各種の警報情報(例えば台風情報、病害虫発生予察情報など)をいう。警報情報は、例えば、提供元からの提供に応じて、補助記憶装置102に記録される。補助記憶装置102への記録は、提供元と農作業支援装置10とをネットワークを介して接続することにより自動的に行われても良いし、手動での入力によって行われてもよい。
続いて、作業ルール抽出部115は、生育状態情報を生育状態記憶部111より取得する(S502)。なお、ステップS502以降の処理手順は、生育状態記憶部111に記憶されている各生育状態情報について実行される。但し、ここでは、便宜上、一つの生育状態情報に注目して説明する。
続いて、作業ルール抽出部115は、生育状態情報及び警報情報に合致する条件を含む警報ルールRwを作業ルール記憶部114より検索する(S503)。
図19は、警報ルールの構成例を示す図である。警報ルールRwは、作物の生育状態及び警報情報に対する条件と、当該条件が満たされた場合に行う作業を規定する作業ルールである。同図において、警報ルールRwは、ルールID、登録元、作物名、品種、作型、栽培方法、生育ステージ、警報内容、計測状態、候補作業、ルール目標、目標達成度確認方法、及び寄与度等を含む。ルールID、登録元、及び登録日等については、生育状態更新ルールRu(図5)等に関して説明した通りである。
作物名から生育ステージまでは、警報ルールRwにおいて、生育状態情報に対する条件(生育状態条件)を構成するパラメータである。
警報内容は、警報ルールRwにおいて、警報情報に対する条件(警報条件)を構成するパラメータである。警報内容は、警報情報の内容である。
ステップS503では、生育状態情報に対して作物名〜生育ステージが合致し、かつ、警報情報に対して警報内容が合致する警報ルールRwが検索される。
該当する警報ルールRwが検索されない場合(S504でNO)、図18の処理は終了する。該当する警報ルールRwが検索された場合(S504でYES)、作業ルール抽出部115は、検索された警報ルールRwを抽出ルール記憶部116に記録する(S505)。すなわち、当該警報ルールRwが適用候補として抽出されたことになる。
図12、図14、図16、及び図18の処理が所定の期間内に実行されることにより、抽出ルール記憶部116は、当該所定の期間(例えば、1日)において各種の要因(生育状態、観察、環境、及び警報等)に応じて抽出された一以上の作業ルールが記録された状態となる。
続いて、抽出ルール記憶部116に記録された作業ルールに基づいて作業指示を出力するための処理手順について説明する。
図20は、作業指示の出力処理の処理手順の一例を説明するためのフローチャートである。図20の処理は、例えば、定期的に実行される。
ステップS601において、作業指示部117は、抽出ルール記憶部116に作業ルールが記録されているか否かを確認する。作業ルールが一つも記録されていない場合(S601でNO)、図20の処理は終了する。したがって、この場合、作業指示は出力されない。
抽出ルール記憶部116に作業ルールが記録されている場合(S601でYES)、作業指示部117は、複数の作業ルールが抽出ルール記憶部116に記録されているか否かを確認する(S602)。抽出ルール記憶部116に記録されている作業ルールが一つである場合(S602でNO)、作業指示部117は、当該作業ルールを適用対象として選択し(S603)、ステップS606に進む。
一方、複数の作業ルールが抽出ルール記憶部116に記録されている場合(S602でYES)、作業指示部117は、当該複数の作業ルールを、それぞれに含まれている寄与度に基づいて降順にソートする(S604)。続いて、作業指示部117は、ソート順において、上位の所定数(例えば、1つ)の作業ルールを適用対象として選択する(S605)。すなわち、寄与度が大きい作業ルールが優先的に選択される。なお、所定数は、1日において可能な作業数として、作業者数等に応じて適宜定めればよい。
なお、作業によっては、排他的な関係にあるものも有る。すなわち、作業Aと作業Bとを同時に行っては両者の効果が十分得られないといったような関係が存在しうる。このような場合は、例えば、作業間の対応表を補助記憶装置102に作成しておき、排他関係の有無を当該対応表に記録しておけばよい。作業指示部117は、複数の作業ルールを選択する際に、各作業ルールの候補作業間における排他関係の有無を当該対応表を参照して判定する。排他関係が有る場合、作業指示部117は、当該排他関係に係る作業ルールのうち、寄与度の低い方を適用対象から除外する。除外された分を埋め合わせるため、当初において選択されなかった作業ルールが繰り上げられて選択されてもよい。
続いて、作業指示部117は、ステップS603又はステップS605において選択された作業ルールの栽培ID、圃場ID、作物名、作型、栽培方法、生育ステージ、候補作業、及びルールIDを含む新たなレコードを作業履歴記憶部119に記録する(S606)。候補作業は、新たに記録されるレコードの作業名として記録される。なお、当該レコードに関して、作業日及びルール目標達成評価値は、この時点では記録されない。したがって、作業日が記録されてレコードに基づいて、未実施の作業を判別することができる。また、ルール目標達成評価値が記録されていないレコードに基づいて、目標に対する達成度が評価されていない作業ルールを判別することができる。
続いて、作業指示部117は、ステップS603又はステップS605において選択された作業ルールの候補作業、ルール目標、及び目標達成度確認方法を含む画面を表示装置106に出力(表示)させる(S607)。すなわち、作業指示が行われ、当該作業に関する目標、及び当該目標の達成度をどのように確認すればよいかが作業者に提示される。
続いて、作業ルールに基づく作業指示に従って作業を行った作業者によって、作業実績の入力が行われる際に実行される処理手順について説明する。
図21は、作業実績の入力処理の処理手順の一例を説明するためのフローチャートである。同図の処理は、作業者が作業を行った後に実行される。一日分の作業に関してまとめて同図の処理が行われてもよい。
ステップS701において、作業実績入力部118は、作業実績の入力要求を受け付ける。入力要求は、例えば、所定のアイコンのクリック等、公知のGUI(Graphical User Interface)を利用して行われればよい。
続いて、作業実績入力部118は、作業履歴記憶部119より、作業日が記録されていないレコードを検索する(S702)。続いて、作業実績入力部118は、検索されたレコードの一覧を含む未作業一覧画面を表示装置106に表示させる(S703)。ここでは、各レコードと作業との対応が、作業者にとって識別し易いよう、レコードごとに、作物名、作型、栽培方法、生育ステージ、及び作業名等が表示されるのが望ましい。
続いて、作業実績入力部118は、未作業一覧画面に表示されたレコードのうち、作業者が行った作業に対応するレコードに関して作業日の入力を受け付ける(S704)。例えば、未作業一覧画面における当該レコードに係る行において、作業日が入力されてもよい。または、当該行の選択に応じて、作業実績入力部118が作業日入力画面を表示させ、作業日入力画面を介して作業日が入力されてもよい。更に、作業を行った日に図21の処理が行われることが運用上徹底される場合は、未作業一覧画面における行に対する所定の操作(例えば、ダブルクリック等)に応じて、作業実績入力部118が当日の日付を自動的に作業日として判断してもよい。
続いて、作業実績入力部118は、入力された作業日を、入力対象とされたレコードに対して記録する(S705)。
なお、作業の実施によって、即時的に達成度を評価可能なルール目標に関しては、ステップS704において、作業日と共にルール目標達成評価値が入力されてもよい。この場合、ステップS705において、作業日と共にルール目標達成評価値が記録される。即時的に達成度を評価可能なルール目標の一例としては、例えば、図13の生育状態ルールRs又は図15の観察ルールRoにおけるルール目標が挙げられる。前者は、候補作業の「定植」に関して、「苗が畝に対して傾かず真っ直ぐ植えられること」である。後者は、候補作業の「追肥」に関して、「葉にかからないように均一に散布すること」である。これらのルール目標は、作業を終えた時点でその達成度を評価することができる。
なお、ルール目標達成評価値は、作業指示の際に出力されたルール目標達成度確認方法に従って、作業者によって判定される。又は、作業者の監督者等、第三者によって判定されてもよい。本実施の形態では、0〜100における100段階評価でルール目標達成評価値が入力される。なお、本実施の形態において、ステージ目標達成評価値の範囲も、0〜100である。
但し、ルール目標によっては、作業を行ってから数日を経ないとその達成度の評価が困難なものがある。例えば、図17の環境ルールReは、候補作業の「農薬散布」に関して、「圃場全体で病気の発生が抑制されること」をルール目標としている。また、図19の警報ルールRwは、候補作業の「農薬散布」に関して、「圃場全体でコナガの発生量が減少すること」をルール目標としている。これらのルール目標については、作業後直ちにその達成度を評価するのが困難である。したがって、作業の終了と同時に達成度を評価するのが困難なルールに関しては、別途、図22に示されるようなルール目標達成評価値の入力処理が行われる。
図22は、ルール目標達成評価値の入力処理の処理手順の一例を説明するためのフローチャートである。
ステップS801において、ルール目標達成度入力部120は、ルール目標達成度の入力要求を受け付ける。入力要求は、例えば、所定のアイコンのクリック等、公知のGUI(Graphical User Interface)を利用して行われればよい。
続いて、ルール目標達成度入力部120は、作業履歴記憶部119より、作業日は記録されているが、ルール目標達成評価値は記録されていないレコードを検索する(S802)。続いて、ルール目標達成度入力部120は、検索されたレコードの一覧を含む未評価作業一覧画面を表示装置106に表示させる(S803)。ここでは、各レコードと作業との対応が、作業者にとって識別し易いよう、レコードごとに、作物名、作型、栽培方法、生育ステージ、及び作業名等が表示されるのが望ましい。
続いて、ルール目標達成度入力部120は、未評価作業一覧画面に表示されたレコードのうち、ルール目標の達成度の評価が行われたレコードに関してルール目標達成評価値の入力を受け付ける(S804)。例えば、未評価作業一覧画面における当該レコードに係る行において、ルール目標達成評価値が入力されてもよい。または、当該行の選択に応じて、ルール目標達成度入力部120がルール目標達成評価値入力画面を表示させ、ルール目標達成評価値入力画面を介してルール目標達成評価値が入力されてもよい。
続いて、ルール目標達成度入力部120は、入力されたルール目標達成評価値を、入力対象とされたレコードに対して記録する(S805)。
以上において説明した処理が、栽培ごとに繰り返されることによって、作業履歴記憶部119及び生育ステージ履歴記憶部122には、過去の栽培によって記録された情報が蓄積された状態になる。続いて、このような作業履歴記憶部119及び生育ステージ履歴記憶部122を利用して、各作業ルールの寄与度(当該作業ルールの適用された生育ステージのステージ目標への寄与度)を算出する処理について説明する。
まず、寄与度について改めて整理する。本実施の形態において、作業ルールは、各作業者等によって任意に登録されうる。そうすることで、各作業者が保有する又は入手した知識が農作業支援装置10に集約される。その結果、農作業支援装置10は、各作業者より提供された知識に基づいて適切な作業指示を出力することができる。
但し、作業ルールの中には、インターネットや文献等、一般的に普及している情報に基づいて登録されるものもある。すなわち、作業ルールの中には、一般論として妥当であると考えられている経験則等に基づいて登録されたものもある。したがって、全ての作業ルールが、特定の圃場に関して有効であるか否かは必ずしも確かではない。
そこで、本実施の形態では、各作業ルールが、特定の圃場(すなわち、本実施の形態が適用される圃場)における作物の生育に対する実際の有効性を評価するための指標として寄与度を導入した。作物の生育に対する作業ルールの有効性とは、作物の生育に対する作業ルールの寄与度によって評価可能であると考えられるからである。そして、各作業ルールは、それぞれが適用される生育ステージのステージ目標を達成するために設定されるべきである。換言すれば、各作業ルールに従った作業の実施は、当該作業が行われた生育ステージのステージ目標の達成へと集約されるべきである。そうすると、作業ルールの寄与度とは、生育ステージのステージ目標に対する寄与度として定義するのが妥当であると考えられる。
図23は、作業ルールとステージ目標との関係の例を示す図である。同図では、生育ステージとして、育苗期、定植期、及び生育期等が例示されている。育苗期のステージ目標は、ステージ目標Aである。育苗期に対して設定されている作業ルールは、作業ルールa1〜作業ルールa3である。また、定植期のステージ目標は、ステージ目標Bである。定植期に対して設定されている作業ルールは、作業ルールb1〜作業ルールb3である。また、生育期のステージ目標は、ステージ目標Cである。生育期に対して設定されている作業ルールは、作業ルールc1〜作業ルールc3である。
同図の場合、作業ルールa1〜a3は、ステージ目標Aの達成に寄与すべきである。また、作業ルールb1〜b3は、ステージ目標Bの達成に寄与すべきである。更に、作業ルールc1〜c3は、ステージ目標Cの達成に寄与すべきである。
なお、ここでいう寄与とは、直接的には、作業ルールに従って行われる作業の寄与ということになる。但し、当該作業を行う原因となったのは、作業ルールにおける条件に基づく判断結果である。すなわち、作業ルールにおける条件の設定の適否によって、当該作業ルールに基づいて行われる作業の有効性が異なりうる。したがって、ここでいう寄与は、作業ルール全体の寄与であるといえる。
以下、斯かる寄与度の算出処理を具体的に説明する。図24は、作業ルールの寄与度の算出処理の処理手順の一例を説明するためのフローチャートである。なお、同図の処理は、同じ作物の複数回(所定回数)の栽培に関して、ステージ目標達成評価値が記録されたときに自動的に実行される。所定回数は、理想的には多ければよいが、例えば、栽培が終了する度に同図の処理が実行されてもよい。又は、ユーザによる指示入力に応じて実行されてもよい。
ステップS901において、寄与度算出部123は、処理対象とする一つの作業ルールを作業ルール記憶部114より取得する。図24の処理は、作業ルール記憶部114に記録されている各作業ルールに関して順番に実行される。但し、ステップS901において取得される順序は、所定のものに限定されない。以下、処理対象とされた作業ルールを「カレント作業ルール」という。
続いて、寄与度算出部123は、寄与度の評価範囲を選択する(S902)。具体的には、特定の圃場(圃場ID)に関する寄与度を算出するか、圃場(圃場ID)を限定しない寄与度を算出するかが選択される。当該選択は、例えば、予め設定される設定情報に基づいて行われればよい。例えば、寄与度の評価範囲を特定の圃場に限定する場合、当該設定情報には、当該圃場の圃場IDが記録されている。一方、寄与度の評価範囲を限定しない場合、当該設定情報には、何も記録されていないか、又は評価範囲は限定されないことが記録されている。または、図24の処理が、ユーザの指示に応じて実行される場合は、寄与度の評価範囲を特定の圃場に限定するか否か、及び特定の圃場に限定する場合には当該圃場の圃場IDを、対話的に、ユーザに選択させてもよい。
続いて、寄与度算出部123は、カレント作業ルールに関するルール目標達成評価値を作業履歴記憶部119より検索(取得)する(S903)。具体的には、カレント作業ルールのルールIDを含むレコードが検索される。但し、寄与度の評価範囲が特定の圃場に限定されている場合、検索対象とされるレコードは、当該圃場の圃場IDを含むものに限定される。なお、カレント作業ルールが複数回適用(利用)されている場合、複数のレコードが抽出される。
続いて、寄与度算出部123は、レコードが1以上検索されたか否かを判定する(S904)。ルール目標値が一つも検索されていない場合、すなわち、カレント作業ルールが過去に適用されていない場合(S904でNO)、カレント作業ルールに関する処理は終了する。
一方、レコードが検索された場合(S904でYES)、寄与度算出部123は、ステップS903において検索されたいずれかのレコードと、栽培ID及び生育ステージが一致するレコードをステージ履歴記憶部より検索する(S905)。続いて、寄与度算出部123は、レコードが1以上検索されたか否かを判定する(S904)。ルール目標値が一つも検索されていない場合(S906でNO)、カレント作業ルールに関する処理は終了する。
一方、レコードが検索された場合(S906でYES)、寄与度算出部123は、ステップS903において作業履歴記憶部119より検索されたレコードに含まれているルール目標達成度評価値の集合と、ステップS905においてステージ履歴記憶部より検索されたレコードに含まれているステージ目標達成度評価値の集合とに基づいて相関係数を算出する(S907)。
具体的には、ルール目標達成度評価値の集合をxとし、ステージ目標達成度評価値の集合をyとした場合、以下の演算が行われる。
まず、xに関する標準偏差S(x)が算出される。続いて、yに関する標準偏差S(y)が算出される。続いて、x及びyの共有分散S(x,y)が以下の演算によって算出される。
S(x,y)=偏差値の平均=(S(x)×n+S(y)×m)/(n+m)
ここで、nは、xの要素数である。mは、yの要素数である。
続いて、相関係数r(x,y)が以下の演算によって算出される。
r(x,y)=S(x,y)/(S(x)×S(y))
例えば、xを作業ルールXに対するルール目標達成評価値の集合、yをある生育ステージYに対するステージ目標達成評価値の集合とする。この場合、ルールXのルール目標達成評価値と生育ステージYのステージ目標達成評価値との相関係数はr(x,y)となる。x及びyのそれぞれ値が大きくなるほど達成度が高いと仮定すると、相関係数r(x,y)が1に近づくほど(つまり正の相関が大きくなるほど)、ルールXは、ステージYのステージ目標の達成に大きく寄与しているということがいえる。
続いて、寄与度算出部123は、算出された相関係数r(x,y)を、カレント作業ルールの寄与度に対して上書きする(S908)。したがって、カレント作業ルールに既に寄与度が記録されていた場合、当該寄与度は新たな値によって更新される。一方、カレントルールに寄与度が記録されていない場合、相関係数r(x,y)が寄与度として記録される。
上記に説明したステップS901〜S908が、作業ルール記憶部114に記録された全ての作業ルールに関して実行されることにより、各作業ルールの寄与度が更新される。
なお、相関係数は、一例である。したがって、他の時計学的指標によって、ステージ目標達成評価値とルール目標達成評価値とが評価されてもよい。
上述したように、本実施の形態によれば、作物の生育状態のみならず、圃場に特有の事情や環境状態等を考慮して、適切な時期に適切な作業を作業者に指示することができる。例えば、作物や土壌などに関する現場での観察情報(例えば病害虫の発生状況)や、圃場やその周辺に関する環境情報(例えば、気温、日射量、湿度、降水量等)や、各種の警報情報(例えば台風情報、病害虫発生予察情報など)といった、圃場やその周辺で発生している様々な状況を示す入力情報に応じて、適切な作業指示が出力される。
また、複数の作業ルールが競合した場合、作業ルールの寄与度に基づいて適用される作業ルールが選択(限定)される。ここで、寄与度とは、過去の実績に基づいて算出される、作物の生育に関する(すなわち、ステージ目標の達成に関する)作業ルールの寄与の度合いである。したがって、寄与度に基づいて作業ルールが選択されることで、作物の生育(すなわち、ステージ目標の達成)に寄与する可能性の高い作業が実施される可能性を高めることができる。
また、本実施の形態において、生育状態情報は、単に、時間の経過に応じて機械的に更新されるだけでなく、生育状態更新ルールRu及び観察ルールRoに基づいて、作物の実際の生育状態に即した値に更新される。ここで、生育状態情報は、いずれの作業ルールが適用されるべきかを判定する際の入力情報の一つとされる。したがって、生育状態情報について、実際の作物の状態に近似した値が維持されることにより、当該生育状態情報に基づく作業ルールの選択の精度を向上させることができる。
なお、本実施の形態では、複数の作業ルールが競合した場合、寄与度に基づいて作業ルールが選択される例について説明した。但し、他の要素に基づいて作業ルールが選択されてもよい。例えば、各作業ルールの登録元に対して予め優先度が設定されてもよい。具体的には、登録元となりうる登録者、文献、URL(Uniform Resource Locator)等に優先度を設定しておく。この場合、各作業ルールの登録元に対する優先度に基づいて、適用する作業ルールが選択される。また、作業ルールの種別に対して、優先度が設定されてもよい。例えば、警報ルールRw>観察ルールRo>環境ルールRe>生育状態ルールRsという優先順位が設定された場合、警報や観察結果に応じた作業を優先させることができる。
また、寄与度だけでは作業ルールを限定できない場合に(すなわち、抽出された作業ルールの寄与度が同じである場合に)、上記の選択方法が組み合わされてもよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。