JP2021056572A - 作物生産支援プログラム、作物生産支援方法および作物生産支援装置 - Google Patents

作物生産支援プログラム、作物生産支援方法および作物生産支援装置 Download PDF

Info

Publication number
JP2021056572A
JP2021056572A JP2019176566A JP2019176566A JP2021056572A JP 2021056572 A JP2021056572 A JP 2021056572A JP 2019176566 A JP2019176566 A JP 2019176566A JP 2019176566 A JP2019176566 A JP 2019176566A JP 2021056572 A JP2021056572 A JP 2021056572A
Authority
JP
Japan
Prior art keywords
state
data
crop
node
target
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.)
Pending
Application number
JP2019176566A
Other languages
English (en)
Inventor
忠重 岩尾
Tadashige Iwao
忠重 岩尾
あきら 宮崎
Akira Miyazaki
あきら 宮崎
大輔 安武
Daisuke Yasutake
大輔 安武
雅治 北野
Masaharu Kitano
雅治 北野
崇史 岡安
Takashi Okayasu
崇史 岡安
行生 尾崎
Yukio Ozaki
行生 尾崎
野村 浩一
Koichi Nomura
浩一 野村
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.)
Kyushu University NUC
Fujitsu Ltd
Original Assignee
Kyushu University NUC
Fujitsu Ltd
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 Kyushu University NUC, Fujitsu Ltd filed Critical Kyushu University NUC
Priority to JP2019176566A priority Critical patent/JP2021056572A/ja
Publication of JP2021056572A publication Critical patent/JP2021056572A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】所望の作物の状態を達成するための栽培環境の制御計画を生成する。【解決手段】始点状態データおよび目標状態データを取得する。始点状態データに対応する始点ノードを生成する。異なる栽培環境を示す複数の環境データ候補を生成する。予測モデルに対して、始点状態データと複数の環境データ候補それぞれとを入力することで、始点ノードが示す第1の時点から所定期間後の作物の状態を示す複数の中間状態データに対応する複数の中間ノードを生成する。何れかの中間ノードの選択と複数の環境データ候補の生成と当該選択した中間ノードの所定期間後に対応する新たな複数の中間ノードの生成とを繰り返すことで、始点ノードから目標状態データに対応する目標ノードへ到達するパスを検出する。検出したパスに基づいて、始点ノードが示す第1の時点から目標ノードが示す第2の時点までの栽培環境の制御を示す計画データを生成する。【選択図】図8

Description

本発明は作物生産支援プログラム、作物生産支援方法および作物生産支援装置に関する。
作物を生産する農家は、作物を収穫するタイミングや収穫量を調整したいことがある。この点、作物の成長速度や成長量は、温度や湿度などの栽培環境の影響を受ける。そこで、ビニールハウスなど栽培環境を制御可能な農地では、ヒーターや散水機などの制御装置を用いて栽培環境を制御し、作物の成長速度や成長量の調整を試みることがある。ただし、栽培環境と作物の成長との間の関係は単純ではないため、農家による長期間の試行錯誤を通じて、栽培環境の制御方法のノウハウを学習することが多い。
なお、作物の栽培にかかる費用を予測する費用算出装置が提案されている。提案の費用算出装置は、作物の生育期間における予想気温や予想降水量などの気象予報から、各種の農業機械を用いた農作業を予測し、農作業にかかる標準的費用を累積する。
国際公開第2013/128557号
作物の生産を支援するため、ある作物の品種について、現在の作物の状態を示す現在状態データと栽培環境を示す環境データから、所定期間後の作物の状態を示す将来状態データを予測する予測モデルを作成しておくことが考えられる。予測モデルは、様々な農家の農地や実験環境のもとで収集された訓練データを用いて、機械学習により学習するようにしてもよい。予測モデルを利用することで、特定の農地における特定の年度の作物の成長を事前に予測することが可能になると期待される。
しかし、作物が所望の状態に成長するまでには比較的長い期間を要するところ、農家がその期間における日々の栽培環境をどのように制御すればよいかが問題となる。特定の農地の環境データおよび現在状態データを測定し、予測モデルを用意したとしても、農家が所望の状態を達成するための栽培環境の制御計画をどのように作成すればよいかが問題となる。
1つの側面では、本発明は、農家などのユーザが所望の作物の状態を達成するための栽培環境の制御計画を生成できる作物生産支援プログラム、作物生産支援方法および作物生産支援装置を提供することを目的とする。
1つの態様では、コンピュータに以下の処理を実行させる作物生産支援プログラムが提供される。始点となる第1の時点における作物の状態を示す始点状態データ、および目標とする作物の状態を示す目標状態データを、取得する。始点状態データに対応する始点ノードを生成する。異なる栽培環境を示す複数の環境データ候補を生成する。作物の状態を示す第1の入力データおよび栽培環境を示す第2の入力データに基づいて所定期間後の作物の状態を示す出力データを生成する予測モデルに対して、始点ノードが示す始点状態データと複数の環境データ候補それぞれとを入力することで、複数の環境データ候補に対応して、始点ノードが示す第1の時点から所定期間後の作物の状態を示す複数の中間状態データに対応する複数の中間ノードを生成する。何れかの中間ノードの選択と複数の環境データ候補の生成と当該選択した中間ノードの所定期間後に対応する新たな複数の中間ノードの生成とを繰り返すことで、始点ノードから目標状態データに対応する目標ノードへ到達するパスを検出する。検出したパスに基づいて、始点ノードが示す第1の時点から目標ノードが示す第2の時点までの栽培環境の制御を示す計画データを生成する。
また、1つの態様では、コンピュータが実行する作物生産支援方法が提供される。また、1つの態様では、記憶部と処理部とを有する作物生産支援装置が提供される。
1つの側面では、所望の作物の状態を達成するための栽培環境の制御計画を生成できる。
第1の実施の形態の作物生産支援装置の例を説明する図である。 第2の実施の形態の情報処理システムの例を示す図である。 サーバ装置のハードウェア例を示すブロック図である。 端末装置およびサーバ装置の通信例を示すシーケンス図である。 ニューラルネットワークの例を示す図である。 栽培環境に応じた状態遷移の例を示すグラフである。 成長モデルを用いた状態探索例を示すデータフロー図である。 現在状態から目標状態へのパスの探索例を示す図である。 サーバ装置の機能例を示すブロック図である。 訓練データテーブルの例を示す図である。 環境実績テーブルと成長実績テーブルの例を示す図である。 気象予報テーブルと制御コストテーブルの例を示す図である。 計画テーブルの例を示す図である。 計画生成の手順例を示すフローチャートである。 ノード探索の手順例を示すフローチャートである。 端末装置に表示されるユーザ画面の例を示す図である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の作物生産支援装置の例を説明する図である。
第1の実施の形態の作物生産支援装置10は、ビニールハウスなどの個別の農地における作物の栽培計画を生成し、作物生産を支援する。作物生産支援装置10を、情報処理装置やコンピュータと言うこともできる。作物生産支援装置10は、農家などのユーザが操作するクライアント装置でもよいし、ネットワーク経由でアクセスされるサーバ装置でもよい。後者の場合、作物生産支援装置10は、データセンタに配置されたサーバ装置でもよく、いわゆるクラウドシステムに属するサーバ装置でもよい。また、後述する情報処理を、同一システム内の2以上のサーバ装置に分散して実行させることも可能である。
作物生産支援装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うこともある。
記憶部11は、予測モデル13を記憶する。予測モデル13は、ある作物の品種に対して予め作成される。予測モデル13は、作物の状態を示す状態データおよび栽培環境を示す環境データから、入力の状態データが示す時点から所定期間後(例えば、1日後または1週間後)の作物の状態を示す他の状態データを生成するものである。予測モデル13は、例えば、ニューラルネットワークや回帰分析モデルなど、機械学習によって学習されるモデルである。この機械学習は、作物生産支援装置10が支援対象とする農地以外の他の農地で過去に測定されたデータを訓練データとして使用して行うようにしてもよい。なお、作物の状態は、例えば、枝の節数、先端の節から先の長さ、開花の有無、実のサイズ、実の色度など、作物の成長フェーズや成長量に関する各種の指標により表現される。
環境データには、例えば、温度、湿度、二酸化炭素濃度(CO2濃度)、日射量など、作物の成長に影響を与える気象に関する各種の指標値が含まれる。状態データには、例えば、草丈、LAI(Leaf Area Index)、葉の枚数、花の個数、実の個数、葉緑素含有量など、作物の成長フェーズや成長量に関する各種の指標値が含まれる。LAIは、単位地表面積当たりの葉の総面積を示す指標である。
処理部12は、始点状態データ14および目標状態データ15を取得する。始点状態データ14は、始点となる作物の状態(例えば、最新の作物の状態)を示す。目標状態データ15は、目標とする作物の状態を示す。例えば、始点状態データ14が草丈4cmを表し、目標状態データ15が草丈12cmを表す。目標状態データ15は、目標の作物の状態を達成する期日を含んでいてもよい。例えば、作物が、いつまでに、どのような状態になっていれば、計画通り出荷できるかという観点から、目標状態データが設定される。
始点状態データ14および目標状態データ15は、ユーザによって作物生産支援装置10に入力されてもよいし、ユーザが操作するクライアント装置から作物生産支援装置10に送信されてもよい。また、始点状態データ14は、作物の状態を測定する自動測定機器から作物生産支援装置10に送信されてもよい。自動測定機器には、例えば、ドローンや監視カメラが含まれる。
すると、処理部12は、始点状態データ14に対応する始点ノード16aを生成し、始点ノード16aを含むグラフのグラフ探索を開始する。このグラフは、作物の状態に対応するノードと、所定期間の栽培環境に対応するエッジとを含む。遷移元のノードが示す作物の状態から、ある栽培環境のもとで所定期間栽培を行うと、遷移先のノードが示す作物の状態に成長することが予測される。グラフ探索では、始点ノード16aから1以上の中間ノードを経由して目標ノード16bへ到達するパスを検出することになる。目標ノード16bは、目標状態データ15に対応するノードである。グラフ探索には、A(Aスター)アルゴリズムなどの探索アルゴリズムを使用することができる。
まず、処理部12は、異なる栽培環境を示す環境データ候補17a,17b,17cを生成する。生成する環境データ候補の個数は、3個など複数個あればよい。環境データ候補17a,17b,17cは、例えば、温度、湿度、CO2濃度および日射量のうちの1つ以上を変化させることで生成される。環境データ候補17a,17b,17cは、ランダムに生成されてもよいし、所定以上の数値間隔を空けるように生成されてもよい。例えば、環境データ候補17aは温度が15℃であることを表し、環境データ候補17bは温度が17℃であることを表し、環境データ候補17cは温度が13℃であることを表す。
次に、処理部12は、予測モデル13に対して、始点ノード16aが示す始点状態データ14と環境データ候補17a,17b,17cそれぞれとを入力することで、環境データ候補17a,17b,17cに対応する複数の中間状態データを生成する。それら複数の中間状態データは、始点ノード16aの時点から所定期間後の作物の状態の予測を示す。例えば、環境データ候補17aから草丈8cmを表す中間状態データが生成され、環境データ候補17bから草丈7cmを表す中間状態データが生成され、環境データ候補17cから草丈6cmを表す中間状態データが生成される。
処理部12は、グラフ上において、それら複数の中間状態データに対応する中間ノード16c,16d,16eを生成し、始点ノード16aから中間ノード16c,16d,16eそれぞれに遷移するエッジを生成する。始点ノード16aと中間ノード16cの間のエッジは、環境データ候補17aに対応する。始点ノード16aと中間ノード16dの間のエッジは、環境データ候補17bに対応する。始点ノード16aと中間ノード16eの間のエッジは、環境データ候補17cに対応する。
このとき、処理部12は、始点状態データ14と目標状態データ15から、栽培途中における作物の状態の通過点を示す目標中間状態データを生成し、中間状態データが目標中間状態データに近付くように環境データ候補を修正するようにしてもよい。その場合、処理部12は、上記で生成した環境データ候補17a,17b,17cそれぞれを初期値として用いて、生成される中間状態データが目標中間状態データに最も近似するように、環境データ候補を初期値から変動させて局所探索を行う。
例えば、処理部12は、環境データ候補の初期値から生成された仮の中間状態データと目標中間状態データとの間の誤差を算出し、最急降下法などの最適化アルゴリズムを用いて、誤差が小さくなるように環境データ候補を修正する。この場合でも、初期値である環境データ候補17a,17b,17cが異なるため、このような局所探索によって最終的に得られる複数の中間状態データは互いに異なる可能性がある。
次に、処理部12は、グラフ上の何れかの中間ノードを着目ノードとして選択する。処理部12は、始点ノード16aを着目ノードとした場合と同様に、複数の環境データ候補を生成し、着目ノードの所定期間後に対応する新たな複数の中間ノードを生成する。ここで生成する環境データ候補は、始点ノード16aに対して生成した環境データ候補17a,17b,17cと同じでもよいし異なってもよい。また、生成する環境データ候補の個数は、環境データ候補17a,17b,17cと同じでもよいし異なってもよい。処理部12は、目標ノード16bに到達するまでこれを繰り返す。
このようにして、処理部12は、始点ノード16aから目標ノード16bへ、1以上の中間ノードおよびエッジを経由して到達するパスを検出する。すると、処理部12は、検出したパスに基づいて、始点状態データ14の時点から目標状態データ15の時点までの各時点の栽培環境の制御を示す計画データ18を生成する。計画データ18は、検出されたパスに含まれる2以上のエッジに対応する環境データ候補(上記の局所探索を行う場合は修正後の環境データ候補)を順に列挙したものであってもよい。例えば、計画データ18は、現在の時点から1日目の温度を15℃にし、2日目の温度を15℃にし、3日目の温度を16℃にするという温度制御の計画を示す。
始点ノード16aから目標ノード16bへ到達する2以上のパスが検出された場合、処理部12は、パス毎に当該パスが示す栽培環境を実現するための合計コストを算出し、合計コストに基づいて何れか1つのパスを選択するようにしてもよい。例えば、温度を1℃上げるための電気コストや湿度を1%上げるための水道コストなど、栽培環境を単位量だけ変化させる単位コストを示す制御コストデータを用意しておく。そして、処理部12は、現在日以降の気象予報データとパス上の環境データ候補の差から、所望の栽培環境を人工的に実現するためのコストを累積し、合計コストを算出する。処理部12は、選択したパスに基づいて計画データ18を生成すればよい。
ビニールハウスなど栽培環境を人工的に調整することができる農地では、計画データ18に基づいて、作物の状態を目標状態に誘導することが可能となる。栽培環境を制御する制御装置としては、ヒーターや散水機などが挙げられる。作物生産支援装置10は、計画データ18を記憶装置に保存してもよいし、表示装置に表示させてもよいし、他の情報処理装置に送信してもよい。計画データ18に基づいて、ユーザが制御装置を操作するようにしてもよい。また、作物生産支援装置10が、計画データ18に基づいて、農地に設置された制御装置に対して温度設定などのコマンドを送信するようにしてもよい。
第1の実施の形態の作物生産支援装置10によれば、着目する作物の状態に対して、異なる栽培環境を示す複数の環境データ候補が生成され、予測モデル13を用いて所定期間後の複数の作物の状態が予測される。これを繰り返すことで、始点状態から目標状態へ到達するパスが検出され、栽培環境の制御計画を示す計画データ18が生成される。
これにより、特定の農地に対する個別のノウハウの蓄積を待たなくても、所望の作物の状態を達成するための栽培環境の制御計画を生成することが可能となる。また、栽培環境の制御計画の精度を向上させることができる。よって、作物の収穫タイミングや収穫量を調整することが容易となり、調整の精度を向上させることができる。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
第2の実施の形態の情報処理システムは、農家による作物生産を支援する。情報処理システムは、ビニールハウス40、端末装置50、気象サーバ60およびサーバ装置100を含む。端末装置50、気象サーバ60およびサーバ装置100は、ネットワーク30に接続されている。ネットワーク30は、インターネットなどの広域データ通信ネットワークである。サーバ装置100は、第1の実施の形態の作物生産支援装置10に対応する。
ビニールハウス40は、作物を栽培する農地を覆う園芸施設である。ビニールハウス40の中には、作物を栽培する1以上の区画(例えば、1以上のレーン)が存在する。第2の実施の形態で管理する作物は、なす、ピーマン、キュウリ、かぼちゃなどの多稔生作物であることが好ましい。これは、多稔生作物は、茎や葉が成長する栄養生長と実が成長する生殖生長とが並列に進行するため、大豆、麦、米、とうもろこしなどの一稔生作物と比べて生産管理が難しいためである。一稔生作物は、1回の開花および結実の後に枯死する植物である。多稔生作物は、開花および結実を繰り返す植物である。多稔生作物については、情報処理システムによる生産支援の効果が大きいと期待される。ただし、第2の実施の形態で管理する作物を、一稔生作物とすることも可能である。
ビニールハウス40は、例えば、200メートル×200メートル程度の大きさをもつ。ビニールハウス40の中には、センサデバイス41および制御装置42が設定されている。センサデバイス41は、栽培環境として温度、湿度、CO2濃度および日射量を測定する。センサデバイス41は、ネットワーク30に接続されてもよく、栽培環境を示す環境データがネットワーク30を介してサーバ装置100に送信されてもよい。また、環境データが端末装置50に送信されてもよい。
制御装置42は、ビニールハウス40の内部の温度、湿度、CO2濃度および日射量のうちの一部または全部を制御する。制御装置42は、例えば、温度を人工的に増減させる空調装置、湿度を人工的に増減させる散水装置、CO2濃度を人工的に増減させるCO2発生装置、日射量を人工的に増減させる遮光装置などである。制御装置42は、ネットワーク30に接続されてもよい。ユーザが制御装置42を操作することで、制御装置42が栽培環境を制御することがある。また、サーバ装置100がネットワーク30を介して制御装置42に制御コマンドを送信することで、制御装置42が栽培環境を制御することがある。ユーザの操作や制御コマンドは、ON/OFFを切り替える命令を含むことがあり、設定温度など制御強度の指定を含むことがある。
また、ビニールハウス40の中には、作物の状態を監視する監視装置が設置されていてもよい。監視装置は、作物の画像を撮像する監視カメラであってもよい。作物の状態としては、例えば、草丈、LAI、葉の枚数、花の個数、実の個数、葉緑素含有量などが挙げられる。この監視装置は、ネットワーク30に接続されてもよく、作物の画像やその分析結果など作物の状態を示す状態データがネットワーク30を介してサーバ装置100に送信されてもよい。また、状態データが端末装置50に送信されてもよい。
端末装置50は、農家であるユーザが使用するクライアントコンピュータである。端末装置50は、ネットワーク30を介してサーバ装置100にアクセスし、サーバ装置100から画面データを受信して表示することで、作物生産支援サービスを利用する。サーバ装置100へのアクセスおよび画面データの表示には、Webブラウザを用いてもよい。
端末装置50は、センサデバイス41から環境データを収集してサーバ装置100にアップロードしてもよい。また、端末装置50は、ビニールハウス40に設置された監視装置から状態データを収集してサーバ装置100にアップロードしてもよい。また、端末装置50は、ユーザが手作業で測定した状態データの入力を受け付け、入力された状態データをサーバ装置100にアップロードしてもよい。
作物生産支援サービスを利用するにあたり、端末装置50は、目標とする作物の状態(目標状態)および目標状態に到達する期日の入力をユーザから受け付け、目標状態および期日を示す目標データをサーバ装置100に送信する。すると、端末装置50は、状態データおよび目標データに応じて、指定された期日に指定された目標状態を達成するための栽培環境の制御方法を示す計画データをサーバ装置100から受信して表示する。ユーザは、計画データに基づいて制御装置42を操作してもよい。
気象サーバ60は、気象予報事業を行っている業務主体によって使用されるサーバコンピュータである。気象サーバ60は、現在日以降の屋外の温度、湿度および日射量の予報を示す気象予報データを記憶する。気象サーバ60は、サーバ装置100からの要求に応じて、気象予報データをサーバ装置100に送信する。
サーバ装置100は、データセンタに設置されたサーバコンピュータである。サーバ装置100は、ビニールハウス40における作物の栽培を支援する。サーバ装置100は、センサデバイス41によって測定された温度、湿度、CO2濃度および日射量を示す環境データを継続的に収集する。また、サーバ装置100は、ビニールハウス40における現在の作物の状態を示す状態データを継続的に収集する。また、サーバ装置100は、気象サーバ60にアクセスして、気象サーバ60から気象予報データを受信する。
サーバ装置100は、作物の目標状態および期日を示す目標データを端末装置50から受信することがある。すると、サーバ装置100は、状態データ、気象予報データおよび目標データを用いて、期日に目標状態を達成するためのビニールハウス40の好ましい栽培環境を探索し、好ましい栽培環境を示す計画データを端末装置50に提供する。サーバ装置100は、計画データに基づいて制御装置42に制御コマンドを送信する。好ましい栽培環境の算出には、現在の作物の状態と栽培環境から所定期間後の作物の状態を予測する成長モデルが使用される。成長モデルは、機械学習によって生成される。
図3は、サーバ装置のハードウェア例を示すブロック図である。
サーバ装置100は、CPU101、RAM102、HDD103、画像インタフェース104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。サーバ装置100が有するこれらのユニットは、バスに接続されている。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。端末装置50や気象サーバ60も、サーバ装置100と同様のハードウェアを用いて実現することができる。
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。CPU101は複数のプロセッサコアを備えてもよく、サーバ装置100は複数のプロセッサを備えてもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
RAM102は、CPU101が実行するプログラムやCPU101が演算に使用するデータを一時的に記憶する揮発性半導体メモリである。サーバ装置100は、RAM以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。サーバ装置100は、フラッシュメモリやSSD(Solid State Drive)など他の種類のストレージを備えてもよく、複数のストレージを備えてもよい。
画像インタフェース104は、CPU101からの命令に従って、サーバ装置100に接続された表示装置111に画像を出力する。表示装置111として、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイ、プロジェクタなど、任意の種類の表示装置を使用することができる。サーバ装置100に、プリンタなど表示装置111以外の出力デバイスが接続されてもよい。
入力インタフェース105は、サーバ装置100に接続された入力デバイス112から入力信号を受け付ける。入力デバイス112として、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを使用することができる。サーバ装置100に複数種類の入力デバイスが接続されてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、半導体メモリなど、任意の種類の記録媒体を使用することができる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
通信インタフェース107は、ネットワーク30に接続され、ネットワーク30を介して端末装置50などの他の装置と通信する。通信インタフェース107は、例えば、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースである。ただし、通信インタフェース107が、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースであってもよい。
次に、作物生産支援サービスの利用の流れを説明する。
図4は、端末装置およびサーバ装置の通信例を示すシーケンス図である。
サーバ装置100は、ビニールハウス40のセンサデバイス41によって測定された環境測定値を受信する(S10)。環境測定値には、温度、湿度、CO2濃度および日射量が含まれる。また、サーバ装置100は、ビニールハウス40における作物の状態を示す状態測定値を受信する(S11)。状態測定値には、草丈、LAI、花個数および実個数が含まれる。図4の例では、サーバ装置100は、センサデバイス41から環境測定値を直接受信し、ビニールハウス40の監視装置から状態測定値を直接受信している。サーバ装置100は、環境測定値および状態測定値を1日に1回以上受信する。サーバ装置100は、各時刻の瞬間値を受信してもよいし、一定期間の平均値を受信してもよい。
また、サーバ装置100は、気象サーバ60にアクセスし、気象サーバ60から気象予報データを受信する(S12)。気象予報データには、現在日以降の1日毎の屋外における温度、湿度および日射量の予報が含まれる。サーバ装置100は、気象サーバ60から気象予報データを1日に1回以上受信する。
端末装置50は、サーバ装置100にアクセスする(S13)。すると、サーバ装置100は、端末装置50に入力画面を送信する。端末装置50は、入力画面においてユーザから、作物の目標状態とその目標状態を達成する期日の指定を受け付ける。目標状態は、草丈、LAI、花個数、実個数などの複数の指標のうちの1つの指標の数値によって表現される。例えば、草丈30センチメートルなどの目標状態が指定される。端末装置50は、目標状態および期日を示す目標データをサーバ装置100に送信する(S14)。
サーバ装置100は、目標データを受信すると、現在日から期日までの日付毎の栽培環境を示す計画データを生成する。計画データには、日付毎の温度、湿度、CO2濃度および日射量が含まれる。ビニールハウス40の栽培環境を計画データ通りに制御することで、目標データで指定された期日に指定された目標状態を達成できると期待される。ただし、計画データは、温度、湿度、CO2濃度および日射量のうちの一部のみを規定するものであってもよい。栽培環境の中には、人工的に変動させることが容易な環境条件と人工的に変動させることが容易でない環境条件があるためである。例えば、ビニールハウス40において、温度と湿度の制御が容易でありCO2濃度と日射量の制御が容易でない場合、計画データは各日の温度と湿度のみを規定するようにしてもよい。また、計画データには、その栽培環境のもとで予測される日付毎の作物の状態が含まれる。
計画データの生成には、成長モデルが用いられる。成長モデルは、作物の品種毎に用意される。成長モデルは、現在の作物の状態を示す状態データと栽培環境を示す環境データから、翌日の作物の状態を示す状態データを予測するモデルである。ただし、成長モデルを、1週間後の作物の状態を示す状態データを予測するモデルとしてもよい。成長モデルは、機械学習によって学習される。成長モデルは、例えば、多層ニューラルネットワーク(DNN:Deep Neural Network)などのニューラルネットワークである。ただし、線形回帰モデルなど他の種類の機械学習モデルを用いてもよい。成長モデルそれ自体は、ビニールハウス40に依存しない。成長モデルは、実験環境で過去に収集された環境データや状態データを訓練データとして用いて、予め学習される。
サーバ装置100は、計画データを端末装置50に送信する(S15)。端末装置50は、計画データを表示してユーザに提示する。これにより、ユーザは、期日に目標状態を達成するためのビニールハウス40の栽培環境を確認することができる。また、サーバ装置100は、ビニールハウス40の栽培環境が、計画データが示すその日の予定の通りになるように、ビニールハウス40に設置された制御装置42に制御コマンドを送信する(S16)。例えば、その日の実際の温度が、計画データが示す予定温度よりも低い場合、予定温度になるように空調装置に対して制御コマンドを送信する。
翌日以降は、計画データの更新と栽培環境の制御が繰り返される。すなわち、サーバ装置100は、ビニールハウス40のセンサデバイス41によって測定された環境測定値を受信する(S17)。また、サーバ装置100は、ビニールハウス40における作物の状態を示す状態測定値を受信する(S18)。また、サーバ装置100は、気象サーバ60から気象予報データを受信する(S19)。サーバ装置100は、期日および目標状態の指定に変更がない場合、最新のデータに基づいて、その期日および目標状態を達成するための計画データを再生成する。これは、現在の作物の状態が前日に予測したものとは異なる可能性や、気象予報が前日から変化する可能性があるためである。
サーバ装置100は、ビニールハウス40の栽培環境が、更新された計画データが示すその日の予定の通りになるように、ビニールハウス40に設置された制御装置42に制御コマンドを送信する(S20)。なお、端末装置50がサーバ装置100にアクセスした場合、サーバ装置100は、更新された計画データを端末装置50に送信する。また、ユーザが目標データを変更した場合、サーバ装置100は、変更後の期日および目標状態に応じて、目標達成のための新たな計画データを生成する。
上記のように、作物の成長を予測する成長モデルとしてニューラルネットワークを用いることができる。そこで、ニューラルネットワークについて説明する。
図5は、ニューラルネットワークの例を示す図である。
ニューラルネットワーク141は、入力層および出力層を有し、入力層と出力層の間に複数の中間層を有する。入力層、中間層および出力層はそれぞれ、複数のノードを含む。入力層の各ノードは、1つ後の中間層の複数のノードとエッジで接続される。出力層の各ノードは、1つ前の中間層の複数のノードとエッジで接続される。中間層の各ノードは、1つ前の層の複数のノードとエッジで接続されると共に、1つ後の層の複数のノードとエッジで接続される。ノードはニューロンに相当し、エッジはシナプスに相当する。
各エッジには重みが付与される。機械学習の開始時には重みが初期値に設定され、機械学習を通じて重みが決定される。ニューラルネットワーク141の重みは、学習すべきモデルパラメータである。重みを調整することで、ニューラルネットワーク141は様々な関数を近似することができる。入力層に対しては、説明変数に相当する特徴量が入力される。入力層に対する入力は、入力層から複数の中間層を経由して出力層に伝播する。出力層からは、目的変数に相当する予測結果が出力される。
ニューラルネットワーク141のエッジの重みは、誤差逆伝播法により学習される。まず、ある特徴量が入力層に対して入力され、その特徴量に対する予測結果が出力層から出力される。入力された特徴量に対応する既知の結果を示す教師ラベルと出力層から出力された予測結果との間の誤差が算出される。この誤差の情報が出力層から入力層に向かって逆方向に伝播され、出力層に近い方から順に各エッジの重みが更新される。重みの更新では、例えば、現在の重みや予測結果の算出途中で中間層から出力された値などに基づいて、エッジ毎に誤差の勾配が算出される。この誤差の勾配に所定の学習率を乗じた数値だけ、誤差が小さくなる方向にエッジの重みが変動する。
このようなニューラルネットワーク141を用いて成長モデルを実装することができる。その場合、成長モデルの入力層には状態データおよび環境データが入力され、成長モデルの出力層からは状態データが出力される。環境データとしては、温度、湿度、CO2濃度および日射量それぞれの1日の平均値が用いられる。ただし、1時間毎の数値のベクトルを用いてもよい。状態データとしては、草丈などが用いられる。
次に、現在日から期日までの間の好ましい栽培環境の探索方法について説明する。
図6は、栽培環境に応じた状態遷移の例を示すグラフである。
サーバ装置100は、グラフ探索によって、目標状態を達成することができる栽培環境を探索する。サーバ装置100は、グラフ探索にAアルゴリズムを用いてもよい。
まず、サーバ装置100は、現在の作物の状態を示すノード151(状態S)を生成する。次に、サーバ装置100は、ノード151から1日間の栽培環境として複数の栽培環境を仮定する。第2の実施の形態では、3通りの栽培環境を仮定する。3通りの栽培環境は、温度、湿度、CO2濃度および日射量のうちの1つ以上が異なるものである。3通りの栽培環境は、できる限り離れたものであることが好ましい。
サーバ装置100は、ノード151の状態および仮定した第1の栽培環境から、成長モデルを用いて1日後の作物の状態を予測し、予測した状態を示すノード152(状態I10)を生成し、ノード151からノード152への遷移を示すエッジを生成する。また、サーバ装置100は、ノード151の状態および仮定した第2の栽培環境から、成長モデルを用いて1日後の作物の状態を予測し、予測した状態を示すノード153(状態I11)を生成し、ノード151からノード153への遷移を示すエッジを生成する。また、サーバ装置100は、ノード151の状態および仮定した第3の栽培環境から、成長モデルを用いて1日後の作物の状態を予測し、予測した状態を示すノード154(状態I12)を生成し、ノード151からノード154への遷移を示すエッジを生成する。
次に、サーバ装置100は、生成されたノードのうちの1つを選択する。Aアルゴリズムの場合、ノード毎に目標状態との間の距離(ヒューリスティック距離)が所定の評価関数によって算出され、ヒューリスティック距離が最小のノードが次に選択される。ここでは、ノード153を選択したとする。すると、サーバ装置100は、ノード153から1日間の栽培環境として3つの栽培環境を仮定する。ここで仮定する栽培環境は、ノード151に対して仮定した栽培環境と同じでもよいし異なってもよい。
サーバ装置100は、ノード153の状態および仮定した第1の栽培環境から、成長モデルを用いて2日後の作物の状態を予測し、予測した状態を示すノード155(状態I20)を生成し、ノード153からノード155への遷移を示すエッジを生成する。また、サーバ装置100は、ノード153の状態および仮定した第2の栽培環境から、成長モデルを用いて2日後の作物の状態を予測し、予測した状態を示すノード156(状態I21)を生成し、ノード153からノード156への遷移を示すエッジを生成する。また、サーバ装置100は、ノード153の状態および仮定した第3の栽培環境から、成長モデルを用いて2日後の作物の状態を予測し、予測した状態を示すノード157(状態I22)を生成し、ノード153からノード157への遷移を示すエッジを生成する。
上記のノード生成を繰り返すことで、ユーザから指定された期日であるn日後における作物の状態を示す複数のノードが生成される。期日のノードの中には、目標状態に十分近い状態を示すノード158(状態T)が含まれる。ノード151からノード158に到達するパスが、期日に目標状態を達成するための栽培環境を示している。計画データが示す各日付の栽培環境は、パスに属するエッジに対応付けられた栽培環境である。また、このパスが、現在日から期日までの各日付の作物の状態の予測を示している。
ただし、現在状態、目標状態、および、現在日から期日までの所要日数が特定されているため、現在日から期日までの各日付について、好ましい作物の状態を示す目標中間状態を算出することが可能である。目標中間状態は、現在状態と目標状態との間を線形補間して算出してもよいし、作物の成長特性に応じて非線形補間して算出してもよい。
各日付の目標中間状態が算出されると、各日付の作物の状態ができる限り目標中間状態に近付くようにグラフ探索を行うことができる。これは、成長モデルを繰り返し用いた局所探索によって実現できる。すなわち、サーバ装置100は、ある状態から3通りの翌日状態を予測するにあたり、3つの栽培環境の初期値を生成する。サーバ装置100は、1つの栽培環境の初期値と遷移元のノードが示す状態から、翌日の作物の状態を予測する。予測した状態が目標中間状態と離れている場合、サーバ装置100は、予測される状態が目標中間状態に近付くように、栽培環境を初期値から変動させる。サーバ装置100は、これを3つの栽培環境の初期値について実行する。
ここで実行される栽培環境の探索は、最適解ではなく局所解に陥ることがある局所探索である。このため、3つの栽培環境の初期値が大きく異なれば、このような局所探索によって到達する3つの栽培環境および3つの翌日状態は互いに異なることが多い。
図7は、成長モデルを用いた状態探索例を示すデータフロー図である。
まず、現在状態161および目標状態162が特定される。次に、現在状態161と目標状態162との差および現在日から期日までの所要日数に基づいて、線形補間または非線形補間により、現在日から期日までの各日付における目標中間状態165が算出される。次に、現在状態161が着目状態163として選択される。次に、今後1日間の栽培環境の候補として環境初期値164a,164b,164cが生成される。環境初期値164a,164b,164cはランダムに生成するようにしてもよい。
次に、環境初期値164aおよび着目状態163が成長モデル166に入力され、予測される翌日の作物の状態(次状態)と目標中間状態165が比較される。次状態と目標中間状態165との差が小さくなるように、成長モデル166に入力される値が環境初期値164aから少しずつ修正され、次状態と目標中間状態165との差が極小になる局所解が探索される。これにより、環境探索値167aと次状態168aが決定される。次状態168aはグラフのノードに対応し、環境探索値167aはグラフのエッジに対応する。
同様に、環境初期値164bおよび着目状態163が成長モデル166に入力され、予測される次状態と目標中間状態165が比較される。次状態と目標中間状態165との差が小さくなるように、成長モデル166に入力される値が環境初期値164bから少しずつ修正され、次状態と目標中間状態165との差が極小になる局所解が探索される。これにより、環境探索値167bと次状態168bが決定される。次状態168bはグラフのノードに対応し、環境探索値167bはグラフのエッジに対応する。
また、環境初期値164cおよび着目状態163が成長モデル166に入力され、予測される次状態と目標中間状態165が比較される。次状態と目標中間状態165との差が小さくなるように、成長モデル166に入力される値が環境初期値164cから少しずつ修正され、次状態と目標中間状態165との差が極小になる局所解が探索される。これにより、環境探索値167cと次状態168cが決定される。次状態168cはグラフのノードに対応し、環境探索値167cはグラフのエッジに対応する。
着目状態163に対して、環境探索値167a,167b,167cおよび次状態168a,168b,168cが決定されると、まだ着目していない何れかの状態が着目状態163として選択される。これが期日に到達するまで繰り返される。
図8は、現在状態から目標状態へのパスの探索例を示す図である。
ここでは、現在状態が草丈4.1cmであり、目標状態が草丈12cmであり、期日が現在日の3日後であるとする。また、期日における作物の状態の許容範囲が、目標状態の前後1cm、すなわち、11cm〜13cmであるとする。また、説明を簡単にするため、翌日の作物の状態を2通り予測するものとする。
まず、現在状態である草丈4.1cmを示すノード171が生成される。また、現在状態と目標状態と所要日数から、1日後の目標中間状態として草丈6.7cmが算出され、2日後の目標中間状態として草丈9.4cmが算出される。次に、ノード171に着目し、2つの栽培環境の初期値が生成され、局所探索によって2つの栽培環境および2つの次状態が決定される。これにより、1日後に属するノード172a,172bが生成され、ノード171とノード172a,172bの間のエッジが生成される。ノード172aは草丈8.1cmを表し、ノード172bは草丈4.9cmを表す。
次に、ノード172aに着目し、2つの栽培環境の初期値が生成され、2つの栽培環境および2つの次状態が決定される。これにより、2日後に属するノード173a,173bが生成され、ノード172aとノード173a,173bの間のエッジが生成される。ノード173aは草丈11.8cmを表し、ノード173bは草丈10.1cmを表す。次に、ノード172bに着目し、2つの栽培環境の初期値が生成され、2つの栽培環境および2つの次状態が決定される。これにより、2日後に属するノード173c,173dが生成され、ノード172bとノード173c,173dの間のエッジが生成される。ノード173cは草丈7.8cmを表し、ノード173dは草丈6.1cmを表す。
次に、ノード173aに着目し、2つの栽培環境の初期値が生成され、2つの栽培環境および2つの次状態が決定される。これにより、3日後に属するノード174a,174bが生成され、ノード173aとノード174a,174bの間のエッジが生成される。ノード174aは草丈13.9cmを表し、ノード174bは草丈12.9cmを表す。次に、ノード173bに着目し、2つの栽培環境の初期値が生成され、2つの栽培環境および2つの次状態が決定される。これにより、3日後に属するノード174c,174dが生成され、ノード173bとノード174c,174dの間のエッジが生成される。ノード174cは草丈12.1cmを表し、ノード174dは草丈11.4cmを表す。
次に、ノード173cに着目し、2つの栽培環境の初期値が生成され、2つの栽培環境および2つの次状態が決定される。これにより、3日後に属するノード174e,174fが生成され、ノード173cとノード174e,174fの間のエッジが生成される。ノード174eは草丈11.1cmを表し、ノード174fは草丈8.9cmを表す。次に、ノード173dに着目し、2つの栽培環境の初期値が生成され、2つの栽培環境および2つの次状態が決定される。これにより、3日後に属するノード174g,174hが生成され、ノード173dとノード174g,174hの間のエッジが生成される。ノード174gは草丈8.2cmを表し、ノード174hは草丈6.9cmを表す。
これにより、ノード171から期日に属する8つのノードへ至る8つのパスが探索される。第2の実施の形態では全てのパスを探索しているが、パス総数が多い場合には、Aアルゴリズムなどの探索アルゴリズムにより探索範囲を絞り込んでもよい。期日に属する8つのノードが生成されると、そのうち作物の状態が許容範囲「草丈11cm〜13cm」に収まっているノード174b,174c,174d,147eが選択され、ノード171からそれら4つのノードに至る4つのパスが抽出される。これら4つのパスの中から何れか1つのパスが選択されて、栽培環境の予定として採用される。
第2の実施の形態では、パスの評価値として合計コストが用いられる。合計コストは、予定通りの栽培環境を実現するために制御装置42に生じる追加コストを合計したものである。ビニールハウス40の温度、湿度、CO2濃度および日射量を屋外と異なるものに維持しようとすると、電気コストや水道コストなどの追加コストが生じる。サーバ装置100は、期日における作物の状態が許容範囲に収まっているパスそれぞれについて合計コストを算出し、合計コストに基づいて何れか1つのパスを選択する。
温度を1℃上昇させるコストや湿度を1%上昇させるコストなど、栽培環境を単位量だけ変動させる単位コストは、制御コストデータとして予め定義されている。サーバ装置100は、現在日から期日までの各日付について、気象予報データが示す屋外環境とパスに含まれるエッジが示す栽培環境の差から、人工的に変動させる栽培環境の変動量を算出し、制御コストデータが示す単位コストを乗じてコストを算出する。例えば、温度1℃当たりの単位コストが100円で、所要温度上昇量が2℃である場合、その日のコストは200円になる。現在日から期日までの各日付のコストを合計したものが合計コストとなる。
合計コストを用いて1つのパスを選択する方法としては、様々な方法が考えられる。例えば、期日における作物の状態が許容範囲内のパスのうち、合計コストが最小のパスを選択する方法が考えられる。また、期日における作物の状態が許容範囲内のパスそれぞれについて、期日における作物の状態と目標状態との間の状態差を算出し、状態差と合計コストの重み付き和を評価値として算出し、評価値が最小のパスを選択する方法が考えられる。
図8の例では、ノード171,172a,173b,174cを通過するパスが選択される。これにより、1日目の栽培環境として、ノード171とノード172aの間のエッジに対応する栽培環境が採用される。2日目の栽培環境として、ノード172aとノード173bの間のエッジに対応する栽培環境が採用される。3日目の栽培環境として、ノード173bとノード174cの間のエッジに対応する栽培環境が採用する。この栽培環境の制御のもとで、草丈4.1cmである作物が、1日後に草丈8.1cmに成長し、2日後に草丈10.1cmに成長し、3日後に草丈12.1cmに成長すると予測される。計画データは、このような栽培環境の予定および作物の状態の予測を示す。
次に、サーバ装置100の機能について説明する。
図9は、サーバ装置の機能例を示すブロック図である。
サーバ装置100は、訓練データ記憶部121、成長モデル記憶部122、制御データ記憶部123、測定データ記憶部124および計画データ記憶部125を有する。これらの記憶部は、例えば、RAM102またはHDD103の記憶領域を用いて実現される。また、サーバ装置100は、成長モデル学習部126、気象予報取得部127、計画生成部128およびユーザ通信部129を有する。これらの処理部は、例えば、CPU101が実行するプログラムを用いて実現される。
訓練データ記憶部121は、成長モデルの学習に用いられる訓練データを記憶する。この訓練データは、ビニールハウス40以外の農地において測定された栽培環境および作物の状態を示すものであってよい。成長モデル記憶部122は、機械学習により学習された成長モデルを記憶する。成長モデルは、作物の品種毎に用意される。この成長モデルは、特定の農地に依存しないものである。なお、サーバ装置100で成長モデルを学習する代わりに、他の情報処理装置から成長モデルを取得してもよい。
制御データ記憶部123は、気象サーバ60から取得した気象予報データを記憶する。また、制御データ記憶部123は、栽培環境を単位量だけ変動させる単位コストを示す制御コストデータを記憶する。制御コストデータは、ビニールハウス40に合わせて、ビニールハウス40の大きさや制御装置42の性能に応じて予め作成される。
測定データ記憶部124は、ビニールハウス40において測定された栽培環境を示す環境データおよび作物の状態を示す状態データを記憶する。環境データおよび状態データは、端末装置50から送信されることもあるし、ビニールハウス40に設置された各種機器から送信されることもある。測定データ記憶部124は、日々送信される環境データおよび状態データを履歴として蓄積する。計画データ記憶部125は、ユーザから指定された期日に指定された目標状態を達成するための栽培環境を示す計画データを記憶する。現在の作物の状態や気象予報が変化するため、計画データは日々更新される。
成長モデル学習部126は、訓練データ記憶部121に記憶された訓練データを用いて、機械学習により成長モデルを生成する。成長モデルは、例えば、ニューラルネットワークである。ただし、成長モデル学習部126は、他の機械学習アルゴリズムを用いてもよい。成長モデル学習部126は、学習された成長モデルを成長モデル記憶部122に格納する。気象予報取得部127は、気象サーバ60にアクセスし、現在日以降の気象予報を示す気象予報データを気象サーバ60から受信し、制御データ記憶部123に格納する。
計画生成部128は、期日および目標状態を示す目標データを受け付ける。すると、計画生成部128は、指定された期日に指定された目標状態を達成するための予定として、現在日から期日までの各日付における栽培環境と作物の状態とを示す計画データを生成し、計画データ記憶部125に計画データを格納する。計画データの生成には、成長モデル記憶部122に記憶された成長モデルと、制御データ記憶部123に記憶された気象予報データおよび制御コストデータと、測定データ記憶部124に記憶された状態データとが用いられる。計画データを生成した後に目標データが更新されると、計画生成部128は、計画データを更新する。また、新しい日付の気象予報データや状態データが取得されると、計画生成部128は、計画データを更新する。
ユーザ通信部129は、ビニールハウス40の各種機器および端末装置50と通信するインタフェースである。ユーザ通信部129は、ビニールハウス40で測定された環境データおよび状態データを受信し、測定データ記憶部124に格納する。また、ユーザ通信部129は、端末装置50からアクセスを受け付け、画面データを端末装置50に送信する。画面データには、計画データが含まれることがある。また、ユーザ通信部129は、端末装置50から目標データを受信し、計画生成部128に通知する。また、ユーザ通信部129は、計画データに基づいて制御装置42に制御コマンドを送信する。
図10は、訓練データテーブルの例を示す図である。
訓練データ記憶部121は、訓練データテーブル131を記憶する。訓練データテーブル131は、成長モデルの学習に用いる訓練データを記憶する。訓練データテーブル131は、栽培環境の指標として温度や湿度などを含み、現在状態の指標として草丈などを含み、次状態の指標として草丈などを含む。栽培環境の指標および現在状態の指標は、成長モデルの説明変数に相当し、次状態の指標は、成長モデルの目的変数に相当する。栽培環境の温度や湿度などは、ある日に作物の近くで測定された数値である。現在状態の草丈などは、作物について栽培環境と同じ日に測定された数値である。次状態の草丈などは、作物について栽培環境および現在状態の翌日に測定された数値である。
図11は、環境実績テーブルと成長実績テーブルの例を示す図である。
測定データ記憶部124は、環境実績テーブル132を記憶する。環境実績テーブル132は、センサデバイス41によって測定された環境データを記憶する。環境実績テーブル132は、日付、温度、湿度、CO2濃度および日射量を含む。日付は、栽培環境が測定された日である。温度、湿度、CO2濃度および日射量は、栽培環境の指標である。温度、湿度、CO2濃度および日射量として、例えば、1日の平均値が用いられる。
また、測定データ記憶部124は、成長実績テーブル133を記憶する。成長実績テーブル133は、ビニールハウス40で測定された状態データを記憶する。成長実績テーブル133は、日付、草丈、LAI、花個数および実個数を含む。日付は、作物の状態が測定された日である。草丈、LAI、花個数および実個数は、作物の状態の指標である。草丈は、植物の地表からの高さである。LAIは、単位地表面積当たりの葉の総面積である。花個数および実個数は、植物単位当たりの花の個数および実の個数である。
図12は、気象予報テーブルと制御コストテーブルの例を示す図である。
制御データ記憶部123は、気象予報テーブル134を記憶する。気象予報テーブル134は、最新の気象予報データを記憶する。気象予報テーブル134は、日付、温度、湿度および日射量を含む。日付は、現在日以降の特定の日である。温度、湿度および日射量は、その日における屋外の気象状況の予想である。温度、湿度および日射量として、例えば、1日の平均値が用いられる。
また、制御データ記憶部123は、制御コストテーブル135を記憶する。制御コストテーブル135は、栽培環境を単位量だけ変動させる単位コストを示す制御コストデータを記憶する。制御コストテーブル135は、制御対象、変動量および追加コストを含む。制御対象は、栽培環境の指標であり、温度、湿度、CO2濃度または日射量である。変動量は、温度1℃上昇、温度1℃低下、湿度1%上昇、湿度1%低下など、栽培環境の指標の単位変動量である。追加コストは、制御装置42によって人工的に単位変動量を実現するためにかかる単位コストである。追加コストは、ビニールハウス40に依存しており、予め電気コストや水道コストなどの各種コストを調査することで決定される。
図13は、計画テーブルの例を示す図である。
計画データ記憶部125は、計画テーブル136を記憶する。計画テーブル136は、最新の計画データを記憶する。計画テーブル136は、日付、栽培環境、追加コストおよび予測状態を含む。日付は、現在日から期日までの各日付である。栽培環境は、目標状態を達成するためのその日の栽培環境であり、温度、湿度、CO2濃度および日射量のうちの1つ以上が指定される。例えば、温度15℃のように指定される。追加コストは、その日に上記の栽培環境を実現するために生じるコストである。追加コストは予想金額であり、その日の気象予報に依存する。予測状態は、上記の栽培環境のもとで予測されるその日の作物の状態である。例えば、草丈26.4cmのように予測される。
次に、サーバ装置100の処理手順について説明する。
図14は、計画生成の手順例を示すフローチャートである。
(S30)ユーザ通信部129は、端末装置50から目標データを受信する。目標データは、ユーザによって指定された作物の目標状態とその期日を示す。目標状態は、草丈やLAIなど、作物の状態に関する特定の指標を用いて表現される。
(S31)計画生成部128は、期日における作物の状態である最終状態に対する許容範囲を算出する。許容範囲は、目標状態を包含するような作物の状態の範囲である。許容範囲は、目標状態の前後10%など目標状態に対する割合として定義しておいてもよいし、草丈の前後1cmのように幅として定義しておいてもよい。
(S32)計画生成部128は、測定データ記憶部124に記憶された成長実績テーブル133から、現在日における作物の状態を示す状態データを読み出す。計画生成部128は、現在状態と目標状態の間の中間状態を補間することで、現在日から期日までの各日付における目標中間状態を算出する。目標中間状態は、現在状態と目標状態の差を所要日数で割って線形補間することで算出してもよい。また、目標中間状態は、作物の品種に応じた成長特性を仮定して、非線形関数を用いた非線形補間によって算出してもよい。
(S33)計画生成部128は、グラフ上で現在状態を表すノードを生成する。
(S34)計画生成部128は、現在日に近い方から順に日付を1つ選択する。計画生成部128は、最初は現在日を選択することになる。
(S35)計画生成部128は、ステップS34で選択した日付に属するノードを1つ選択する。計画生成部128は、最初は現在状態のノードを選択することになる。
(S36)計画生成部128は、ステップS35で選択したノードから、異なる栽培環境を仮定して、その翌日に属する作物の状態を示す所定個のノードを生成する。例えば、計画生成部128は、3つの異なる栽培環境を仮定して、ステップS35で選択したノードの翌日に属する3つのノードを生成する。ノード探索の詳細は後述する。
(S37)計画生成部128は、ステップS35において、ステップS34で選択した日付に属する全てのノードを選択したか判断する。全てのノードを選択した場合はステップS38に進み、未選択のノードがある場合はステップS35に戻る。
(S38)計画生成部128は、ステップS34で最後に選択した日付が、ステップS30の目標データで指定された期日であるか判断する。期日に到達した場合はステップS39に進み、期日に到達していない場合はステップS34に戻る。
(S39)計画生成部128は、期日に属する複数のノードのうち、ステップS31で算出した許容範囲に最終状態が収まっているノードを抽出し、現在状態を表すノードからそれら抽出したノードに至る複数のパスを抽出する。
(S40)計画生成部128は、制御データ記憶部123に記憶された気象予報テーブル134から、現在日から期日までの各日付の気象予報を示す気象予報データを読み出す。計画生成部128は、現在日から期日までの日付毎に、ステップS39で抽出したパスが示す栽培環境と気象予報との間の環境差を算出する。計画生成部128は、制御データ記憶部123に記憶された制御コストテーブル135を参照して、環境差を実現するためのコストを算出し、現在日から期日までのコストを合計する。これにより、計画生成部128は、ステップS39で抽出した複数のパスそれぞれの合計コストを算出する。
(S41)計画生成部128は、ステップS39で抽出した複数のパスの中から、合計コストに基づいて1つの最適パスを判定する。例えば、計画生成部128は、ステップS39で抽出した複数のパスのうち合計コストが最小のパスを最適パスと判定する。また、例えば、計画生成部128は、ステップS39で抽出した複数のパスそれぞれについて、最終状態と目標状態の間の状態差を算出し、状態差と合計コストの重み付き和を評価値として算出する。そして、計画生成部128は、ステップS39で抽出した複数のパスのうち評価値が最小のパスを最適パスと判定する。計画生成部128は、判定した最適パスに基づいて計画データを生成する。計画データが示す各日付の栽培環境は最適パスに含まれるエッジに相当し、各日付の作物の状態は最適パスに含まれるノードに相当する。
図15は、ノード探索の手順例を示すフローチャートである。
ノード探索は、上記のステップS36で実行される。
(S50)計画生成部128は、環境初期値を所定個(例えば、3個)生成する。所定個の環境初期値は、温度、湿度、CO2濃度および日射量のうちの1つ以上を変えることで生成される。所定個の環境初期値は、ランダムに生成してもよい。ただし、所定個の環境初期値は、互いにできる限り離れていることが好ましい。
(S51)計画生成部128は、環境初期値を1つ選択する。
(S52)計画生成部128は、成長モデル記憶部122から成長モデルを読み出す。計画生成部128は、現在着目しているノードが示す作物の状態と環境値とを成長モデルに入力することで、翌日の作物の状態(翌日状態)を予測する。最初に成長モデルに入力する環境値は、ステップS51で選択した環境初期値である。
(S53)計画生成部128は、ステップS32で算出された各日付の目標中間状態のうち翌日に相当する目標中間状態を選択し、選択した目標中間状態とステップS52で予測した翌日状態との間の誤差を算出する。
(S54)計画生成部128は、ステップS53で算出された誤差が極小化されたか判断する。例えば、計画生成部128は、前回の誤差と今回の誤差を比較し、今回の誤差が前回の誤差より小さくなっていない場合、誤差が極小化されたと判断する。誤差が極小化された場合はステップS56に進み、それ以外の場合はステップS55に進む。
(S55)計画生成部128は、誤差が小さくなるように環境値を更新する。環境値の更新には、最急降下法などの最適化アルゴリズムを使用する。例えば、計画生成部128は、環境値の微少変化量に対する誤差の変化量を示す勾配を算出し、勾配に所定の学習率を乗じた数値だけ環境値を変化させる。そして、ステップS52に進む。
(S56)計画生成部128は、グラフ上で翌日状態を表すノードを生成する。また、計画生成部128は、着目するノードから翌日状態を表すノードへ遷移するエッジを生成する。生成するノードは、誤差が極小化された際に予測された翌日状態を表す。生成するエッジは、誤差が極小化された際に成長モデルに入力された環境値を表す。
(S57)計画生成部128は、ステップS51で全ての環境初期値(例えば、3つの環境初期値の全て)を選択したか判断する。全ての環境初期値を選択した場合はノード探索が終了する。未選択の環境初期値がある場合はステップS51に戻る。
図16は、端末装置に表示されるユーザ画面の例を示す図である。
ユーザ画面142は、端末装置50の表示装置に表示される。ユーザ画面142に相当する画面データは、端末装置50からサーバ装置100へのアクセスに応じて、サーバ装置100から端末装置50に送信される。
ユーザ画面142では、期日と目標状態を表す指標とその数値を入力することができる。また、ユーザ画面142では、制御コストの上限を入力することができる。制御コストの上限が入力された場合、サーバ装置100は、目標状態を達成することができるパスのうち、合計コストが上限を超えないパスのみを抽出するようにする。また、ユーザ画面142には、計画データとそれを可視化したグラフが表示される。ユーザ画面142には計画データとして、作物の現在状態、将来の複数時点の作物の状態の予測、将来の各期間の栽培環境の予定、および、将来の各期間で発生するコストの予想金額が表示される。また、期日までに発生が予想されるコストの合計金額が表示される。これにより、ユーザは、指定した目標状態の実現可能性を確認することができる。
第2の実施の形態の情報処理システムによれば、指定の期日に指定の目標状態を達成するための栽培環境の制御を示す計画データがユーザに提示される。よって、特定の農地に対する個別のノウハウの蓄積を待たなくても、好ましい栽培環境を判断することができる。その結果、作物を収穫するタイミングや収穫量を調整することが容易となり、作物の効率的な生産を支援することができる。また、空調装置や散水装置など、栽培環境を人工的に制御する制御装置が計画データに基づいて自動的に稼働する。よって、栽培環境の制御が容易となる。また、人工的に栽培環境を制御する制御コストが小さくなるように、計画データが生成される。よって、作物の生産コストが過大になることを抑制できる。
10 作物生産支援装置
11 記憶部
12 処理部
13 予測モデル
14 始点状態データ
15 目標状態データ
16a 始点ノード
16b 目標ノード
16c,16d,16e 中間ノード
17a,17b,17c 環境データ候補
18 計画データ

Claims (9)

  1. コンピュータに、
    始点となる第1の時点における作物の状態を示す始点状態データ、および目標とする作物の状態を示す目標状態データを、取得し、
    前記始点状態データに対応する始点ノードを生成し、
    異なる栽培環境を示す複数の環境データ候補を生成し、
    作物の状態を示す第1の入力データおよび栽培環境を示す第2の入力データに基づいて所定期間後の作物の状態を示す出力データを生成する予測モデルに対して、前記始点ノードが示す前記始点状態データと前記複数の環境データ候補それぞれとを入力することで、前記複数の環境データ候補に対応して、前記始点ノードが示す前記第1の時点から前記所定期間後の作物の状態を示す複数の中間状態データに対応する複数の中間ノードを生成し、
    何れかの中間ノードの選択と前記複数の環境データ候補の生成と当該選択した中間ノードの前記所定期間後に対応する新たな複数の中間ノードの生成とを繰り返すことで、前記始点ノードから前記目標状態データに対応する目標ノードへ到達するパスを検出し、
    前記検出したパスに基づいて、前記始点ノードが示す前記第1の時点から前記目標ノードが示す第2の時点までの栽培環境の制御を示す計画データを生成する、
    処理を実行させる作物生産支援プログラム。
  2. 前記コンピュータに更に、前記始点状態データおよび前記目標状態データに基づいて、栽培途中の作物の状態を示す目標中間状態データを生成する処理を実行させ、
    前記複数の中間ノードの生成では、前記予測モデルに対して前記始点状態データと前記複数の環境データ候補のうちの1つの環境データ候補とを入力することで仮の中間状態データを生成し、前記仮の中間状態データと前記目標中間状態データとの間の誤差に基づいて前記1つの環境データ候補を修正することを繰り返す、
    請求項1記載の作物生産支援プログラム。
  3. 前記コンピュータに更に、前記始点ノードから前記目標ノードへ到達する2以上のパスが検出された場合、栽培環境を単位量だけ変動させるコストを示す制御コストデータを参照して、前記2以上のパスそれぞれについて、当該パスに属する中間ノードの生成に用いられた環境データ候補を実現するための合計コストを算出する処理を実行させ、
    前記計画データの生成では、前記合計コストに基づいて前記2以上のパスのうち1つのパスを選択し、前記選択したパスに対して前記計画データを生成する、
    請求項1記載の作物生産支援プログラム。
  4. 前記目標状態データは、前記目標とする作物の状態に加えて、前記目標とする作物の状態が達成される期間または日付を示し、
    前記パスの検出では、前記目標ノードが示す前記第2の時点が、前記目標状態データが示す前記期間または日付に対応するように前記パスを検出する、
    請求項1記載の作物生産支援プログラム。
  5. 前記複数の環境データ候補の生成では、温度、湿度、二酸化炭素濃度および日射量のうちの1以上の数値を変動させることで前記複数の環境データ候補を生成する、
    請求項1記載の作物生産支援プログラム。
  6. 前記コンピュータに更に、前記計画データに基づいて、作物の栽培環境を制御する制御装置に対してコマンドを送信する処理を実行させる、
    請求項1記載の作物生産支援プログラム。
  7. 前記コンピュータに更に、前記計画データに基づいて、前記始点ノードが示す前記第1の時点から前記目標ノードが示す前記第2の時点までの間の複数の時点について、栽培環境の予定と作物の状態の予測とを対応付けた画面データを表示装置に表示させる処理を実行させる、
    請求項1記載の作物生産支援プログラム。
  8. コンピュータが、
    始点となる第1の時点における作物の状態を示す始点状態データ、および目標とする作物の状態を示す目標状態データを、取得し、
    前記始点状態データに対応する始点ノードを生成し、
    異なる栽培環境を示す複数の環境データ候補を生成し、
    作物の状態を示す第1の入力データおよび栽培環境を示す第2の入力データに基づいて所定期間後の作物の状態を示す出力データを生成する予測モデルに対して、前記始点ノードが示す前記始点状態データと前記複数の環境データ候補それぞれとを入力することで、前記複数の環境データ候補に対応して、前記始点ノードが示す前記第1の時点から前記所定期間後の作物の状態を示す複数の中間状態データに対応する複数の中間ノードを生成し、
    何れかの中間ノードの選択と前記複数の環境データ候補の生成と当該選択した中間ノードの前記所定期間後に対応する新たな複数の中間ノードの生成とを繰り返すことで、前記始点ノードから前記目標状態データに対応する目標ノードへ到達するパスを検出し、
    前記検出したパスに基づいて、前記始点ノードが示す前記第1の時点から前記目標ノードが示す第2の時点までの栽培環境の制御を示す計画データを生成する、
    作物生産支援方法。
  9. 作物の状態を示す第1の入力データおよび栽培環境を示す第2の入力データに基づいて所定期間後の作物の状態を示す出力データを生成する予測モデルを記憶する記憶部と、
    始点となる第1の時点における作物の状態を示す始点状態データ、および目標とする作物の状態を示す目標状態データを、取得し、前記始点状態データに対応する始点ノードを生成し、異なる栽培環境を示す複数の環境データ候補を生成し、前記予測モデルに対して、前記始点ノードが示す前記始点状態データと前記複数の環境データ候補それぞれとを入力することで、前記複数の環境データ候補に対応して、前記始点ノードが示す前記第1の時点から前記所定期間後の作物の状態を示す複数の中間状態データに対応する複数の中間ノードを生成し、何れかの中間ノードの選択と前記複数の環境データ候補の生成と当該選択した中間ノードの前記所定期間後に対応する新たな複数の中間ノードの生成とを繰り返すことで、前記始点ノードから前記目標状態データに対応する目標ノードへ到達するパスを検出し、前記検出したパスに基づいて、前記始点ノードが示す前記第1の時点から前記目標ノードが示す第2の時点までの栽培環境の制御を示す計画データを生成する処理部と、
    を有する作物生産支援装置。
JP2019176566A 2019-09-27 2019-09-27 作物生産支援プログラム、作物生産支援方法および作物生産支援装置 Pending JP2021056572A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019176566A JP2021056572A (ja) 2019-09-27 2019-09-27 作物生産支援プログラム、作物生産支援方法および作物生産支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019176566A JP2021056572A (ja) 2019-09-27 2019-09-27 作物生産支援プログラム、作物生産支援方法および作物生産支援装置

Publications (1)

Publication Number Publication Date
JP2021056572A true JP2021056572A (ja) 2021-04-08

Family

ID=75270715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019176566A Pending JP2021056572A (ja) 2019-09-27 2019-09-27 作物生産支援プログラム、作物生産支援方法および作物生産支援装置

Country Status (1)

Country Link
JP (1) JP2021056572A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022249368A1 (ja) * 2021-05-26 2022-12-01 日本電信電話株式会社 情報処理装置、改善トラジェクトリ構築方法およびプログラム
WO2023120300A1 (ja) * 2021-12-23 2023-06-29 株式会社クボタ 栽培管理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022249368A1 (ja) * 2021-05-26 2022-12-01 日本電信電話株式会社 情報処理装置、改善トラジェクトリ構築方法およびプログラム
WO2023120300A1 (ja) * 2021-12-23 2023-06-29 株式会社クボタ 栽培管理システム

Similar Documents

Publication Publication Date Title
US11617313B2 (en) Controlling agricultural production areas
US20220101230A1 (en) Methods and systems for crop land evaluation and crop growth management
KR101874972B1 (ko) 농업 관리 시스템 및 농업 관리 방법
JP6261492B2 (ja) 情報処理装置及び情報処理方法及びプログラム
KR101936317B1 (ko) 단말기를 이용한 스마트 파밍 방법
JP2021056573A (ja) 作物成長予測プログラム、作物成長予測方法および作物成長予測装置
JPH11313594A (ja) 農作業決定支援装置および方法、並びに記録媒体
CN103890767A (zh) 可编程植物系统
JP2013051887A (ja) 生育管理方法
WO2021002439A1 (ja) 植物の栽培管理システム及び、植物の栽培管理装置
AU2023203307A1 (en) Controlling Agricultural Production Areas
JP2021128756A (ja) 先物取引情報表示プログラム
EP4191290A1 (en) Solar radiation amount correction method, solar radiation amount correction device, computer program, model, model generation method, and model providing method
JP2021056572A (ja) 作物生産支援プログラム、作物生産支援方法および作物生産支援装置
Salazar et al. Tomato yield prediction in a semi-closed greenhouse
JP7544392B2 (ja) 農作物の生産成績を予測する予測モデルの生成方法、生成装置、及び生成プログラム
Rahman et al. Optimizing Resource Allocation in Agriculture through IoT and AI
US20210004592A1 (en) Systems and methods for improved landscape management
Netthikumarage et al. GARDENPRO-Android Mobile Application for Home Garden Management Using Machine Learning Augmented Reality and IOT
JP2022136056A (ja) 農作物の生産成績を予測する予測方法、予測装置、及び予測プログラム
JP2021174062A (ja) 機械学習プログラム、機械学習方法および機械学習装置
JP2019083745A (ja) 生長状態予測装置
Gujar et al. Intelligent Irrigation System for Agriculture using IoT and Machine Learning
JP7437061B2 (ja) 生育環境予測装置、生育環境制御システムおよび生育環境予測方法
WO2024154382A1 (ja) 情報処理装置、情報処理方法、及び、プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20191009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20191009