以下、本発明の一実施形態を図面を参照して説明する。
以下の説明では、圃場の点検保守(例えば、病害や生理障害が生じた個所の特定と、その箇所への農薬や肥料の散布など)に無人航空機として構成されたドローンを利用するという用途を例にとり、本発明の実施形態を説明する。しかし、この用途は説明のための例示にすぎず、他の用途に同実施形態を適用することを制限する趣旨ではない。
図1は、本発明の一実施形態に係るドローンを用いた作業を支援するシステムの全体構成を示す。
図1に示される作業支援システム1は、典型的には、複数の異なるユーザがこれを利用することができるものである。しかし、以下では、複数のユーザの中の一人のユーザの利用シーンに的を絞って説明を進める。
図1に示すように、作業支援システム1を利用する際、ユーザは異なる作業に適した異なる種類のドローン、例えば二種類のドローン3、5を使用することができる。本実施形態では、その一つは調査ドローン3であり、ユーザが所望する地理的領域つまり地域(例えば、そのユーザが保有または利用する圃場)の状態を調査、つまりその地域の情報を収集する役目をもつ。本実施形態では、地域調査の方法として、その地域の写真を上空から撮影することを採用する。しかし、写真撮影は一つの例示であり、他の調査方法、例えば、電波レーダ、音波レーダ、あるいは各種のセンサを用いた情報収集法を採用してもよい。また、異なる調査方法を組み合わせてもよい。
本実施形態では、もう一つの種類のドローンは、実作業ドローン5であり、その地域で実施されるべきある種の作業(以下、実作業という)、例えば広大な圃場の中で病害が発生した個所へ選択的に農薬を散布する作業、を実行する役目をもつ。
調査ドローン3と実作業ドローン5として、同じ機体のドローンを用いてもよいが、それぞれの役目を最適に果たすためには、それぞれに別の機体のドローンを用いることが望ましい場合が多いであろう。また、一つの地域について、複数機の調査ドローン3を用いる、および/または複数機の実作業ドローン5を用いることも可能である。しかし、以下では、一人のユーザが一機の調査ドローン3と別の一機の実作業ドローン5を用いる場合を例にとり、説明を進める。
作業支援システム1は、また、データサーバ7を有し、これはドローン3、5の利用に必要なさまざまなデータを管理および処理するためのコンピュータシステムである。
さらに、作業支援システム1を利用する際、ユーザは操作端末9を使用する。操作端末9は、データサーバ7とインターネットのような通信ネットワークを通じてデータ通信を行う機能をもつ。操作端末9は、また、ドローン3、5とデータを受け渡しする機能をもつ(例えば、有線または無線の通信方法により、または、可搬式のデータストレージを介して、ドローン3、5とデータを受け渡しできる)。
そのような機能をもつ汎用の携帯可能な情報処理端末(例えば、いわゆる携帯電話、スマートフォン、タブレット端末、モバイル形パーソナルコンピュータ、またはノート形パーソナルコンピュータなど)、あるいは、他の種類のコンピュータ(例えば、デスクトップ型パーソナルコンピュータ)を、操作端末9として採用することができる。その場合、この作業支援システム1を利用するためのコンピュータプログラム(例えば、本システム専用のアプリケーション、あるいは、データサーバ7の外部インタフェースであるウェブサイトにアクセス可能な汎用ウェブブラウザ、など)が、その汎用の情報処理端末にインストールされ、その端末上でそのコンピュータプログラムを実行することにより、その汎用端末が、この作業支援システム1用の操作端末9として機能することになる。あるいは、操作端末9として、この作業支援システム1に専用のハードウェアが用意されてもよい。
各ユーザは、作業支援システム1を利用する際、常に同じ一台の操作端末9のみを使用してもよいし、時と場合に応じて複数の操作端末9の中の一つを適宜に選択して使用してもいい。また、複数の異なるユーザが、それぞれの操作端末9を使って、同じ地域(例えば、同じ圃場)に関する情報を参照して、所望の情報を入力することもできる。以下では、一人のユーザが一台の操作端末9を使用する場合を例にとり、説明を進める。
調査ドローン3は、それを飛行させるための飛行機構11、その三次元位置(緯度、経度、高度)を計測するためのGPSレシーバ13、写真を撮影するためのカメラ15、それらの装置11、13、15を制御するための制御器17を有する。また、調査ドローン3には、それをユーザが遠隔から無線で操縦するための無線操縦器19(いわゆるプロポ)が付属する。無線操縦器19は、制御器17と無線で通信可能であり、無線操縦器19に対するユーザの各種操作に応答して、各種の操縦指令を制御器17に送信する。
実作業ドローン5は、それを飛行させるための飛行機構21、その三次元位置(緯度、経度、高度)を計測するためのGPSレシーバ23、実作業を行うための実作業装置25、それらの装置21、23、25を制御するための制御器27を有する。実作業が圃場での農薬散布である場合、実作業機械25は当然に農薬散布装置であるが、これに、補助的な装置、例えば、実作業の状況を撮影するカメラなどが追加装備されてもよい。また、実作業ドローン5には、それをユーザが遠隔から無線で操縦するための無線操縦器29(いわゆるプロポ)が付属する。無線操縦器29は、制御器27と無線で通信可能であり、無線操縦器29に対するユーザの各種操作に応答して、各種の操縦指令を制御器27に送信する。
操作端末9は、それをユーザが使用する通常のステップの順序に沿って、地域登録部31、飛行計画入力部33、飛行計画出力部35、撮影画像入力部37、撮影画像出力部39、撮影位置入力部41、撮影位置出力部43、画像表示部45、作業個所登録部47、作業結果入力部48、および作業結果出力部49などの情報処理機能要素を有する。
地域登録部31は、ユーザ入力に応答して、ユーザの所望する地理的領域つまり地域(例えばそのユーザが保有する圃場)の位置(例えば、その地域の輪郭の頂点の緯度と経度)(以下、地域位置という)をデータサーバ7に登録する。
飛行計画入力部33は、ユーザ入力に応答して、データサーバ7から、ユーザの所望する飛行計画をダウンロードする。飛行計画出力部35は、ユーザ入力に応答して、ダウンロードされた飛行計画を、ユーザの所望するドローン3または5に送信して、そのドローン3または5の制御器17または27にその飛行計画をインストールさせる。ここで、飛行計画とは、ドローンが飛行する予定の地理的経路を定義した一種の移動計画である。
撮影画像入力部37は、ユーザ入力に応答して、調査ドローン3で撮影された画像(一つの地域で多数の画像が撮影される)(以下、撮影画像という)を受け取る。撮影画像出力部39は、ユーザ入力に応答して、受け取った多数の撮影画像をデータサーバ7へ送信する。
撮影位置入力部41は、ユーザ入力に応答して、調査ドローン3で計測された各撮影画像の撮影時の調査ドローン3(またはカメラ15)の位置および角度(以下、撮影の位置と角度を総称して撮影位置という)を受け取る。撮影位置出力部43は、ユーザ入力に応答して、受け取った撮影位置をデータサーバ7へ送信する。
画像表示部45は、ユーザ入力に応答して、データサーバ7から、そのユーザがすでに登録した地域の全体の画像(以下、地域画像という)をダウンロードして、操作端末9の表示スクリーン(図示省略)に表示する。ここで、各地域画像は、データサーバ7によって、その地域の多数の撮影画像を結合することが作成される。
作業個所登録部47は、ユーザ入力に応答して、表示された地域画像上で、その地域内の実作業を施したい1以上の地理的小領域つまり個所(以下、作業個所という)を特定して、その作業個所をデータサーバ7に登録する。例えば、実作業が圃場の農薬散布である場合、ある圃場の地域画像の中から、ユーザが作物や葉などの色や形を観察して病害が発生していると認めた個所を、作業個所とすることができる。この作業個所の登録の際、ユーザは、その作業個所に対して実施したい作業の内容(例えば、農薬Aと農薬Bを散布する)も併せて指定して、作業個所に関連付けてデータサーバ7に登録する。
作業結果入力部48は、ユーザ入力に応答して、実作業ドローン5が実施した実作業の結果(例えば、農薬の散布位置と散布量など)を受け取る。作業結果出力部49は、ユーザ入力に応答して、受け取った作業結果をデータサーバ7へ送信する。
データサーバ7は、地域位置データベース51、三次元地図データベース53、飛行計画データベース55、撮影画像データベース57、撮影位置データベース59、地域画像データベース61、作業個所データベース63、および作業結果データベース65などのデータベースを有する。また、データサーバ7は、飛行計画作成部71、撮影画像入力部73、撮影位置入力部75、撮影画像結合部77、および分析部79などの情報処機能理要素を有する。
地域位置データベース51は、操作端末9の地域登録部31に応答して、ユーザが指定した地域(例えば、そのユーザの圃場)の地域位置を登録し管理する。
三次元地図データベース53は、各位置の緯度と経度と高度を定義した三次元地図を保存し管理する。三次元地図データベース53は、ドローン3、5のための飛行計画を作成するために、飛行計画作成部71によって利用される。なお、データサーバ7は、三次元地図データベース53をサーバ7内にもたずに、インターネット上などにある外部の三次元地図を利用してもよい。
飛行計画データベース55は、ドローン3、5のための飛行計画を保存し管理する。飛行計画データベース55は、操作端末9の飛行計画入力部33から要求を受けて、要求された飛行計画を飛行計画入力部33へ送る。飛行計画データベース55で管理される飛行計画は、例えば調査飛行計画と実作業飛行計画の二種類に大別される。調査飛行計画は、登録された各地域を調査用ドローン3で調査する(例えば写真を撮影する)ための飛行計画である。実作業飛行計画は、登録された各地域内の1以上の作業個所に実作業ドローン5で実作業(例えば農薬散布)を施すための飛行計画である。
撮影画像データベース57は、操作端末9の撮影画像出力部39から受け取った撮影画像を保存し管理する。撮影位置データベース59は、操作端末9の撮影位置出力部43から受け取った撮影位置を保存し管理する。
地域画像データベース61は、各地域の撮影画像を結合することで作成された各地域の全貌を示す地域画像を保存し管理する。地域画像データベース61は、操作端末9の画像表示部45からの要求を受けて、要求された地域画像を画像表示部45へ送る。
作業個所データベースは、操作端末9の作業個所登録部47に応答して、ユーザにより指定された作業個所を登録し管理する。
作業結果データベース65は、操作端末9の作業結果出力部49から受け取った作業結果を保存し管理する。
撮影画像入力部73と撮影位置入力部75は、それぞれ、調査ドローン3から操作端末9に渡された撮影画像と撮影位置を、操作端末9から受け取り撮影画像データベース57と撮影位置データベース59に登録する。
飛行計画作成部71は、各地域の調査飛行計画、および、各地域内の1以上の作業個所の実作業飛行計画を作成し、作成した飛行計画を飛行計画データベース55に登録する。飛行計画作成部71は、全自動で飛行計画を作成できる全自動ツールであってもよいし、あるいは、人がそれを操作して飛行計画を作成できるようになった半自動ツールであってもよい。
各地域の調査飛行計画は、地域位置データベース51内の各地域の地域位置(例えばその地域の輪郭の頂点の緯度と経度)と、三次元地図データベース53内の各地域内の諸地点の三次元位置(例えば緯度と経度と高度)を用いて作成される。各地域内の1以上の作業個所の実作業飛行計画は、作業個所データベース63内の該当の作業個所の位置(例えば、作業個所の輪郭の頂点の緯度と経度)と、三次元地図データベース53内の各作業個所内の諸地点の三次元位置(例えば緯度と経度と高度)を用いて作成される。
撮影画像入力部73は、操作端末9の撮影画像出力部39から各地域の撮影画像を受け取り、受け取った撮影画像を撮影画像データベース57に登録する。撮影位置入力部75は、操作端末9の撮影位置出力部43から各地域の撮影位置を受け取り、受け取った撮影位置を撮影位置データベース59に登録する。
撮影画像結合部77は、撮影画像データベース57内の各地域の撮影画像を、撮影位置データベース59内の各地域撮影位置に基づいて結合し、各地域の全体を表した地域画像を作成し、その地位画像を地域画像データベース61に登録する。各地域の地域画像は、その地域の調査(例えば写真撮影)の結果をユーザに知らせるための調査報告としての役割を果たす。各地域の地域画像を参照することで、ユーザは、その地域内のどの個所に実作業(例えば農薬散布)を施すべきかを判断し、その個所を指定することができる。
分析部79は、作業結果データベース65に保管されている作業結果を分析する。作業結果の分析結果は、後の作業方法の改善やその他の用途に活用することができる。
図2は、この作業支援システム1の全体的な制御例の流れを示す。
図2に示すように、操作端末9では、ユーザによって、所望の地域(例えばそのユーザの保有する圃場)の登録のための操作が行われる(ステップS1)。登録操作は、例えば、インターネットで提供されているような地図を操作端末9のスクリーンに表示して、その地図上で地域の地域位置を指定するというような操作である。この登録操作に応答して、データサーバ7が、その地域の地域位置を記録することで、その地域を登録する(ステップS2)。その後、データサーバ7は、その地域位置に基づいて、その地域の調査飛行計画を作成する(ステップS3)。
その後、ユーザが操作端末9を操作して、データサーバ7から操作端末9に、その地域の調査飛行計画をダウンロードし、その調査飛行計画を、操作端末9から調査ドローン3に送る(ステップS4)。すると、その調査ドローン3にその調査飛行計画がインストールされる(ステップS5)。
ユーザが、調査ドローン3をその地域(例えば、ユーザの保有する圃場)へもっていき、そして、無線操縦器19を操作して、調査ドローン3に、離陸およびその他の補助的な操縦指示を送る(ステップS6)。調査ドローン3は、調査飛行計画に基本的に従って、自動的かつ自律的に、その地域の上空を飛行しつつ、飛行経路上の諸位置で地表領域の写真撮影を繰り返して、多くの撮影画像と撮影位置を記録する(ステップS7)。この飛行の制御は、基本的には調査飛行計画に従って自動的かつ自律的に行われ、無線操縦器19からの操縦指示は、離陸の開始や、飛行位置または速度の若干の修正など、補助的に使用される。
その地域の多数の撮影画像と撮影位置は、調査ドローン3から操作端末9に渡され、そして、操作端末9からデータサーバ7に送られる(ステップS8)。データサーバ7が、それらの撮影画像をそれぞれの撮影位置に応じて結合して、その地域全体の地域画像を作成する(ステップS9)。
その後、ユーザが操作端末9を操作して、データサーバ7からその地域の地域画像を受け取ってスクリーンに表示し、そして、その表示された地域画像上で作業個所(例えば、その圃場の中の病害が発生していると視認される個所)を特定し、その作業個所の登録をサーバ7に要求する(ステップS10)。データサーバ7は、その作業個所を登録し、そして、その作業個所の実作業飛行計画(例えば、その個所に農薬を散布するための飛行計画)を作成する(ステップS11)。
その後、ユーザが操作端末9を操作して、データサーバ7から操作端末9に、その実作業飛行計画をダウンロードし、その実作業飛行計画を、操作端末9から実作業ドローン5に送る(ステップS12)。すると、その実作業ドローン5にその実作業飛行計画がインストールされる(ステップS13)。
ユーザが、実作業ドローン5をその地域(例えば、ユーザの保有する圃場)へもっていき、そして、無線操縦器29を操作して、実作業ドローンに、離陸およびその他の補助的な操縦指示を送る(ステップS14)。実作業ドローン5は、基本的に実作業飛行計画に従って、作業個所の上空を飛行しつつ作業個所に実作業(例えば、圃場の病害個所へに農薬散布)を実施し、その作業結果を記録する(ステップS15)。この飛行の制御は、基本的には実作業飛行計画に従って自動的かつ自律的に行われ、無線操縦器19からの操縦指示は、離陸の開始や、飛行位置または速度の若干の修正など、補助的に使用される。
その作業結果は、実作業ドローン5から操作端末9に渡され、そして、操作端末9からデータサーバ7に送られる(ステップS16)。データサーバ7が、その作業結果を保存し、そして分析する(ステップS17)。
以上の制御流れから分かるように、ユーザは操作端末9を使って比較的に容易に、ドローン3、5を利用して、所望の地域における所望の作業を実施することができる。
以下では、上述の制御流れを複数部分に分け、各部分をより詳細に説明する。
図3は、この作業支援システム1における地域位置の登録の制御例の流れを示す。
図3に示すように、操作端末9において、ユーザが自分のユーザ認証情報を入力してデータサーバ7へのログインを要求する(ステップS21)。データサーバ7は、そのユーザを認証してユーザのログインを許可する(ステップS22)。
そして、操作端末9で、ユーザが地図を表示し(ステップS23)、その地図上で所望の地域(例えば、自分の圃場)を指定する(ステップS24)。また、ユーザは操作端末9上で、その地域の名前を入力する(ステップS25)。
ここで使用される地図は、例えばインターネットから提供される地図でも、あるいは、データサーバ7から提供される地図でもよい。地域の指定方法としては、例えば地図上でユーザが所望地域の輪郭の頂点を指定する方法が採用できる。あるいは、その輪郭が定義済みの地域名(例えば、地名や地番)を入力する方法も採用できる。地域の頂点が指定されると、それらの頂点の位置(例えば緯度と経度)が操作端末9により特定される。
そして、操作端末9が、指定された地域名と地域位置をデータサーバ7へ送る(ステップS26)。データサーバ7は、その地域名と地域位置とその地域のID(識別名)とを、そのユーザのID(識別名)に関連づけて、地域位置データベース51に登録する(ステップS27)。
図4は、上述した地域位置の指定方法例と登録される地域位置のデータ構成例を示す。
図4の左側部分に示すように、ある地域81を指定する方法として、ユーザは、地図上でその地域81の輪郭83の頂点A1〜A5を指定することができる。これに加えて、ユーザは、ドローンを発着させることができる発着点P1の位置も、その地域81内またはその地域81の周辺近傍に指定してよい。これらの点が地図上で指定されると、その地図がもつ位置座標系(例えば緯度と経度の座標系)に基づいて、それらの指定点A1〜A5、P1の位置(例えば緯度と経度(Xa1, Ya1)〜(Xa5, Ya5)、(Xp1, Yp1))が操作端末9により自動的に特定される。
そして、データサーバ7では、図4の右側部分に示すように、地域ID87と地域名88と地域位置(例えば、すべての頂点の緯度と経度のセット)89と発着点位置(例えば発着点の緯度と経度)91が、地域データ93として、それらを指定したユーザのユーザID85に関連づけられて、地域位置データベース51に保存される。
図5は、調査飛行計画の作成と設定の制御例の流れを示す。
図5に示すように、データサーバ7が、地域位置データベース51内のあるユーザが登録した地域の地域位置と発着点位置に基づいて調査飛行計画を作成する(ステップS31)。調査飛行計画は、調査ドローン3を発着点から離陸させて、その地域の上空を飛行しつつその地域のすべての領域の写真を撮影し、そして、発着点に着陸させるための、撮影ドローン3に対する動作制御指示である。この調査飛行計画を作成する際、データサーバ7は、三次元地図データベース53から提供されるその地域の諸地点の三次元位置(例えば、緯度と経度と高度)を計算に入れて、飛行経路を決定する。
データサーバ7は、その調査飛行計画を、そのユーザのユーザIDとその地域の地域名とに関連づけて、飛行計画データベース55に登録する(ステップS32)。
その後、そのユーザが、操作端末9からデータサーバ7にログインする(ステップS33〜S34)。データサーバ7が、ユーザ要求に応答して、飛行計画データベース55内から、そのユーザのユーザIDに関連づけられた調査飛行計画を選択し、選択された調査飛行計画のリストを操作端末に送る(ステップS35)。操作端末9は、そのリストを表示する(ステップS36)。
ユーザは、表示されたリスト中から所望の調査飛行計画を選んでデータサーバ7に要求し、データサーバ7はその調査飛行計画を操作端末に送り、それにより、操作端末9にその調査飛行計画がダウンロードされる(ステップS37〜S38)。
その後、ユーザは、その調査飛行計画を操作端末9から調査ドローン3に供給する(ステップS39)。調査ドローン3は、受け取った調査飛行計画を自機の制御器17にインストールする(S40)。
図6は、登録された地域と調査飛行計画の関係例を示す。
調査飛行計画には、飛行経路と飛行速度と撮影位置が含まれる。図6の左側部分に示すように、飛行経路113は、発着点P1から離陸し、地域81の全域をカバーする複数の区域のすべての写真が撮影できるよう地域81の上空を飛行し、そして、発着点P1に着陸するまでの調査ドローン3の三次元の経路を、例えばその経路上の飛行方向または速度の変更点の3次元位置(例えば、緯度と経度と高度)を用いて、定義する。
飛行速度は、その飛行経路101上の諸区間における飛行速度の制御目標値を定義する。
撮影位置は、図6の右側部分(左側部分の一点鎖線で囲んだ部分の拡大図)に示すように、飛行経路101上の写真撮影を行うべきすべての位置(ドットで図示する)を定義する。
撮影位置の各々は、そこで撮影した写真画像(図6中、実線または破線の長方形で示される)と、その隣の撮影位置で撮影した写真画像とが、それぞれの辺縁部分で重なり合うように、配置される。例えば、図6中、ある撮影位置103で撮影した写真画像103Aは、その上隣の撮影位置105で撮影した写真画像105Aと、それぞれの上辺縁部分と下辺縁部分で重なり合い、また、その左隣の撮影位置107で撮影した写真画像107Aと、それぞれの左辺縁部分と右辺縁で重なり合う。その結果、すべての撮影位置で撮影した写真画像を、相互の重なり合う部分で重ね合わせて、結合することにより、地域81の全域の写真画像(つまり、地域81の地位画像)を合成することができる。
図7は、調査飛行計画のデータ構成例を示す。
図7に示すように、調査飛行計画109には、その飛行計画のID(識別名)111と、飛行経路(例えば、その経路上のすべての変更点の各々の緯度Xrと経度Yrと高度Zr)と飛行速度(各変更点から次の変更点までの目標速度V)のセット113と、撮影位置(例えば、すべての撮影位置の各々の緯度Xsと経度Ysと高度Zsと撮影角度As)115が含まれる。この調査飛行計画109が、該当のユーザID85と地域ID87に関連づけられて、飛行計画データベース55で管理される。
図8は、調査ドローン3を用いた写真撮影の制御例の流れを示す。
ユーザは、調査ドローン3を対象の地域の発着点に置いた後、その調査ドローン3用の無線操縦器19を操作して、まず作業開始を調査ドローン3に指示する(ステップS41)。その指示に応答して、調査ドローン3は離陸し(ステップS42)、そして、制御器17による調査飛行計画に従った自動操縦制御により、その飛行計画の飛行経路に沿って飛行しつつ各撮影位置で写真撮影を実行する(ステップS43)。そして、調査ドローン3は、撮影された写真画像と撮影時の撮影位置(例えば、緯度と経度と高度)を記録する(ステップS44)。
ユーザは、調査ドローン3の飛行を観察しつつ、その飛行状態(例えば、飛行位置と飛行速度)を修正すべき事情が起きた(例えば、風の影響などで調査ドローン3の飛行状態が飛行計画から外れた、他物体との衝突や危険を避けるために飛行状態を変える必が生じた、など)とき、無線操縦器19を操作して、必要な修正を行うための補助的な操縦指示を調査ドローン3に送る(ステップS45)。調査ドローン3は、その補助的な指示を、例えば自動操縦制御に対する割り込みとして処理することで、その修正指示に従った飛行状態(位置または速度など)の修正を行う(ステップS46)。
上記の修正の処理が終わると、調査ドローン3は、自動操縦制御に戻って(ステップS47)、調査飛行計画に従った飛行と写真撮影を継続する(S43)。その後、全経路を飛行してすべての撮影位置で写真撮影を行った後、調査ドローン3は、飛行計画で定められた着陸点に着陸する(ステップS48)。
調査ドローン3に記録された撮影画像117と撮影位置119は、操作端末7に送られて、操作端末7内に記録される(ステップS49〜S50)。このデータ移送は、飛行中に無線通信で行われてもいいし、着陸後に無線通信か有線通信により、または、撮影画像117と撮影位置119を記録したデータストレージを調査ドローン3から取り出して操作端末7に装着することにより、行われてもよい。
図9は、撮影画像からの地域画像の作成と登録の制御例の流れを示す。
ユーザが、操作端末9を操作してデータサーバ7にログインする(ステップS51〜S52)。その後、データサーバ7が、ユーザ要求に応答して、地域位置データベース51から、そのユーザIDに関連づけられた地域名を選び、その地域名のリストを操作端末9に送る(ステップS53)。操作端末9では、その地域名リストが表示され、ユーザがそのリスト中から所望の地域名を選び(ステップS54)、そして、調査ドローン3から取得した撮影画像121と撮影位置123を、その地域の地域IDに関連づけて、データサーバ7に送る(ステップS55)。
データサーバ7は、受け取った撮影画像と撮影位置を、該当のユーザIDと地域IDに関連づけて、撮影画像データベース57と撮影位置データベース59に登録する(ステップS56)。その後、データサーバ7は、撮影画像データベース57と撮影位置データベース59から、その地域の撮影画像と撮影位置を読み出し、撮影画像を撮影位置に応じて結合することで、その地域の全域をカバーする地域画像を合成する(ステップS57)。その地域画像は、該当のユーザIDと地域IDに関連づけられて、地域画像データベース61に登録される(ステップS58)。
図10は、地域画像のデータ構成例を示す。
図10に示すように、地域画像125には、例えば、地域画像のID(識別名)127と、撮影日時129と、その地域全域をカバーする画像データ131が含まれる。この地域画像125が、該当のユーザID85と地域ID87に関連づけられて、地域画像データベース61で管理される。
図11は、作業個所と実作業飛行計画の登録の制御例の流れを示す。
図11に示すように、ユーザが操作端末9からデータサーバ7にログインする(ステップS61〜S62)。その後、データサーバ7が、ユーザ要求に応答して、地域画像データベース61から、そのユーザIDに関連づけられた地域画像を選び、その地位画像のリストを操作端末9に送る(ステップS63)。
操作端末9では、その地域画像のリストが表示され、ユーザがそのリスト中から所望の地位画像を選ぶ(ステップS64)。その選択を受けて、データサーバ7が、地域画像データベース61から選ばれた地域画像を読み出して、それを操作端末9に送る(ステップS65)。操作端末は、その地域画像を表示する(ステップS66)。
ユーザは、操作端末9に表示された地域画像(例えば、圃場の画像)を見て、作業を施したい個所(例えば、圃場の中の農薬散布をしたい個所つまり小領域)を見つけ、その個所を作業個所として地域画像上で指定する(ステップS67)。作業個所の指定は、例えば作業個所の輪郭の頂点を指定するという方法で行うことができる。このステップS67では、また、ユーザは、その作業個所に対して行いたい作業の内容(例えば、「作業種別は農薬散布、使用農薬は農薬Aと農薬B」というように)を指定する。
この指定を受けて、データサーバ7が、地域画像上での作業個所の位置と、地域位置データベース51記録されているその地域の位置とに基づいて、作業個所の位置(例えば、作業個所の輪郭の頂点の緯度と経度)を特定し、その作業個所を作業個所データベース63に登録する(ステップS68)。このステップS68では、また、データベースサーバ7は、ユーザに指定された作業内容を、その作業個所に関連づけて、作業個所データベース63に登録する。
その後、データサーバ7は、登録された作業個所の位置と、三次元地図データベース53に記録されているその地域とその作業個所の諸地点の三次元位置に基づいて、実作業飛行計画を作成する(ステップS69)。実作業飛行計画は、実作業ドローンを、その地域の発着点から離陸させ、その地域内の1以上の作業個所の上空を飛行させて、それぞれの作業個所に実作業(例えば、農薬の散布)を施し、そして、発着点に戻って着陸させるための、実作業ドローン5に対する動作制御指示である。
データサーバ7は、その実作業飛行計画を、該当のユーザIDと地域IDと作業個所IDに関連づけて、飛行計画データベース55に登録する(ステップS70)。
図12は、作業個所のデータ構成例を示す。
図12に示すように、作業個所133には、そのID(識別名)、それがユーザに指定された日時、およびその領域の輪郭の頂点の位置(例えば、各頂点の緯度Xaおよび経度Ya)139などを含む。この作業個所133が、該当のユーザID85、地域ID87および地域画像ID127と関連づけられて、作業個所データベース63で管理される。また、作業内容140が、その作業個所133に関連付けられて、作業個所データベース63で管理される。作業内容63を管理することで、その作業内容を後に評価するのに役立つ(例えば、実作業を実施した後に、ドローンで調査飛行を行って、作業個所の状態を調べ、その調査結果と作業内容とを分析することで、評価ができる)。
図13は、作業個所と実作業飛行計画との関係例を示す。
図13に示された例では、地域81内に3つの作業個所141、145、147が指定されており、そのうちの一つの作業個所141に対して一つの実作業飛行計画143が用意されており、二つの作業個所145、147に対して別の一つの実作業飛行計画149が用意されている。作業個所が複数ある場合、それらの作業個所のすべてをカバーする一つの実作業飛行計画を作成するか、図示の例のように異なる作業個所を分担する二以上の実作業飛行計画を作成するかを、ユーザの要求に応じて、あるいは飛行時間の都合などに応じて、適宜に選択できるようになっていてよい。
一つの地域81に対して、複数の実作業飛行計画を用意した場合、それぞれの飛行計画に基づいて複数機の実作業ドローン5で作業を実施したり、あるいは、異なる日時に異なる飛行計画に従った作業を実施したりすることができる。
各実作業飛行計画には、実作業ドローン5の飛行経路と飛行速度が含まれる。例えば、図示の実作業飛行計149には、発着点P1から離陸して、最初の作業個所145へ行き、その全域に実作業(例えば、農薬散布)を施せるよう作業個所145を巡り、そして、次の作業個所147へ行ってそこを同様に巡り、そして、発着点P1に戻り着陸する、というような飛行経路が含まれる。
各実作業飛行計画には、さらに、実作業ドローン5の飛行中に、その実作業装置25を駆動し制御するための制御指示が含まれる。その制御指示には、例えば、実作業(例えば、農薬散布)を実行すべき位置(例えば、作業開始位置と終了位置)や、その他の制御値(例えば。単位時間当たり農薬散布量など)などが含まれ得る。
図14は、実作業飛行計画のデータ構成例を示す。
図14に示すように、実作業飛行計画151には、例えば、そのID(識別名)153、飛行経路(例えば、その経路上で飛行方向または速度を変えるべき変更点の緯度Xrと経度Yrと高度Zr)と飛行速度(例えば、各変更点から次の変更点までの速度Vr)155、および、作業位置(例えば、作業の開始位置の緯度Xsと経度Ysと高度Zs、ならびに作業の終了位置の緯度Xeと経度Yeと高度Ze)と制御値(例えば、各開始位置から終了位置までの第一制御量の目標値C1、第二制御量の目標値C2、第三制御量の目標値C3、など)157が含まれる。
また、作業状況を映すカメラが実作業ドローン5に搭載されている場合、そのカメラで写真を撮影するべき位置159(例えば、撮影位置の緯度Xs、経度Ys、高度Zs、および撮影角度As)も、実作業飛行計画151に含まれてよい。
このような構成の実作業事項計画151が、該当のユーザID85、地域ID87および作業個所ID135に関連づけられて、飛行計画データベース55で管理される。
図15は、実作業飛行計画の設定の制御例の流れを示す。
図15に示すように、ユーザが、操作端末9からデータサーバ7にログインする(ステップS71〜S72)。データサーバ7が、ユーザ要求に応答して、飛行計画データベース55内から、そのユーザIDに関連づけられた実作業飛行計画を選び、選ばれた実作業飛行計画のリストを操作端末に送る(ステップS72)。操作端末9は、そのリストを表示する(ステップS73)。
ユーザは、表示されたリスト中から所望の実作業飛行計画を選んでデータサーバ7に要求し、データサーバ7はその実作業飛行計画を操作端末に送り、それにより、操作端末9にその実作業飛行計画がダウンロードされる(ステップS74〜S75)。
その後、ユーザは、その実作業飛行計画を操作端末9から実作業ドローン5に送る(ステップS76)。実作業ドローン5は、受信した実作業飛行計画を自機の制御器27にインストールする(S77)。
図16は、実作業ドローンを用いた実作業の制御例の流れを示す。
ユーザは、実作業ドローン5を対象の地域の発着点に置いた後、その実作業ドローン5用の無線操縦器29を操作して、まず作業開始を実作業ドローン5に指示する(ステップS81)。その指示に応答して、実作業ドローン5は離陸し(ステップS82)、そして、制御器27による実作業飛行計画に従った自動操縦制御により、その飛行計画の飛行経路に沿って飛行しつつ各作業位置(例えば、各作業開始位置から終了位置までの区間)で実作業(例えば、農薬散布)を実行する(ステップS83)。そして、実作業ドローン5は、実施した作業の結果(例えば、農薬散布の開始位置と終了位置と時間と散布量など)を記録する(ステップS84)。
ユーザは、実作業ドローン5の飛行を観察しつつ、その飛行状態(例えば、飛行位置と飛行速度)を修正すべき事情が起きた(例えば、風の影響などで実作業ドローン5の飛行位置または速度が飛行計画から外れた、他物体との衝突や危険を避けるために飛行状態を変える必が生じた、など)とき、無線操縦器29を操作して、必要な修正を行うための補助的な操縦指示を実作業ドローン3に送る(ステップS85)。実作業ドローン5は、その補助的な指示を、例えば自動操縦制御に対する割り込みとして処理することで、その修正指示に従った飛行状態(位置または速度など)の修正を行う(ステップS86)。
上記の修正の処理が終わると、実作業ドローン5は、自動操縦制御に戻り(ステップS87)、実作業飛行計画に従った飛行と実作業を継続する(S83)。その後、全経路を飛行してすべての作業位置で実作業を行った後、実作業ドローン5は、飛行計画で定められた着陸点に着陸する(ステップS88)。
実作業ドローン5に記録された作業結果161は、操作端末7に送られて、操作端末7内に記録される(ステップS89〜S90)。このデータ移送は、飛行中に無線通信で行われてもいいし、着陸後に無線通信か有線通信により、または、作業結果161を記録したデータストレージを実作業ドローン3から外して操作端末7に装着することにより、行われてよい。
その後、図2を参照してすでに説明したように、操作端末7に記録された作業結果163はデータサーバ7へ送られ(ステップS16)、そして、データサーバ7は、その作業結果を、後の有効利用のために分析する(ステップS17)。
図17は、本発明の第2の実施形態に係る作業支援システムの全体構成を示す。
この実施形態にかかる作業支援システム100は、図1に示された第一の実施形態にかかる作業支援システム1の構成要素に加えて、期待された作業効果を得るための作業計画の設定を容易化するための幾つかの追加の構成要素を備える。以下の作業支援システム100の説明と参照図面では、最初の実施形態のシステム1と共通する要素には同じ参照番号を付して、冗長な説明を省略する。
図17に示すように、第2実施形態にかかる作業支援システム100において、データサーバ101および操作端末111は、それぞれ、最初の実施形態にかかる作業支援システム1のデータサーバ7および操作端末9のもつ構成要素のほかに、追加の幾つかの構成要素を有する。
すなわち、データサーバ101は、追加の構成要素として、作業計画データベース103、作業計画提案データベース105、および解析部107を有する。操作端末111は、追加の構成要素として、特異個所検出部113、作業計画入力部115、提案提示部117、および作業選択部119を有する。
操作端末111の特異個所検出部113は、操作端末111の表示スクリーン上に画像表示部45により表示された地域の調査結果つまり地域画像(例えば、登録された特定の圃場の画像)を、自動的に解析して、その地域画像中から、特異個所(例えば、圃場中の病害などが起きていると推測される領域)を検出する。特異個所検出部113は、検出された特異個所の領域(例えば、その領域の輪郭を示す枠線)を、表示スクリーン上の地域画像内に表示する。
なお、特異個所検出部113は、操作端末111に設けられる代わりに、データサーバ101に設けられてもよい。例えば、データサーバ101の解析部107が、特異個所検出部113を有してもよい。特異個所検出部113は、後述する解析部107内の症状解析部108または作業解析部109のように、ディープニューラルネットワークを用いて構成されて、ディープラーニングにより地域画像から特異個所を検出する推論方法を機械学習するようになっていてもよい。
操作端末111の作業計画入力部115は、操作端末111の表示スクリーン上に画像表示部45が地域画像(例えば、登録された特定の圃場の画像)を表示し、かつ、ユーザが作業個所登録部47を用いてその地域画像の中で作業個所を特定したときに、その特定された作業個所に対する作業計画をユーザが入力することを可能にする。すなわち、作業計画入力部115は、表示スクリーン上で各作業個所に対してユーザが任意の作業計画を入力するための作業計画入力ツールを、表示スクリーン上に表示する。ユーザは、その作業計画入力ツールを操作することで、各作業個所に対して任意の作業計画をシステム100に入力するができる。作業計画の入力が終わると(例えば、ユーザが作業計画の登録を表示スクリーン上で要求すると)、作業計画入力部115は、入力された作業計画をデータサーバ101に送り、その作業計画は、対応する作業個所と関連付けられて、データサーバ101の作業計画データベース103に登録される。
ここで、作業計画とは、各作業個所に対して行う予定の実作業を定義したデータである。この実施形態では、各作業個所に対する作業計画は、一例として、その作業個所の症状名(例えば、病害や生理障害の名称)と、その症状に応じて実行されるべき実作業の名称(例えば、その作業個所に施されるべき農薬や肥料やその他の保守作業の名称)を含む。あるいは、作業計画は、症状名を含まず、作業名だけであってもよいし、あるいは、症状名と作業名の他に、追加の情報(例えば、作業個所を特定する情報や画像、あるいは、農薬や肥料の散布量など)が含まれてもよい。
作業計画データベース103に登録された各地域内の各作業個所の作業計画(例えば、各圃場内の各特異個所に対する症状名と実作業名)は、データサーバ101の飛行計画作成部71が各地域の飛行計画を作成する際に、次のように利用され得る。すなわち、飛行計画作成部71は、例えば、同じ地域内の異なる作業個所に対して異なる作業計画が登録されている場合、同じ作業計画(同じ作業名)が与えられた作業個所を同じグループに分類し、各グループに一つの飛行計画、つまり、異なるグループに異なる飛行計画を作成する。例えば、一つの圃場内で、作業個所AとBには農薬Cを施す作業計画が登録され、別の作業個所DとEには別の農薬Fを施す作業計画が登録された場合、飛行計画作成部71は、作業個所AとBのグループには農薬Cを施すための飛行計画を作成し、別の作業個所DとEのグループには別の農薬Fを散布するための飛行計画を作成する。
操作端末111の提案提示部117は、ユーザが作業計画入力部115を用いて各作業個所に対する作業計画を入力するときに、データサーバ101の作業計画提案データベース105から、各作業個所に対する作業計画提案を読み込んで、各作業計画提案を、操作端末111の表示スクリーン上に、各作業個所に関連付けて表示する。
ここで、作業計画提案とは、データサーバ101の解析部107が推論により生成した、各作業個所に対して推奨される作業計画の提案である。解析部107により生成された各作業個所の作業計画提案は、各作業個所に関連付けられて作業計画提案データベース105に記憶される。解析部107のより具体的な構成と機能については、後に説明する。
操作端末111の表示スクリーン上に表示される作業計画提案は、ユーザが作業計画入力部115を用いて作業計画を入力する際、ユーザの参考になる。とくに作業計画を決めるための知識や経験の浅いユーザにとり、より適切な作業計画を決定するために、作業計画提案は助けになる。解析部107の推論能力が高いほど、作業計画提案がユーザを助ける性能が高くなる。解析部107の推論能力を高めるために、解析部107は後述する構成を有する。
操作端末111の作業選択部119は、飛行計画入力部33が飛行計画データベース55から読み込んだ特定の地域(例えば、特定の圃場)に対する飛行計画の中から、実作業ドローン5に今回実行させたい特定の作業に関する飛行計画を、ユーザに選択させる。例えば、その特定の圃場に対して、農薬Cを散布する飛行計画と、別の農薬Fを散布する飛行計画とが飛行計画入力部33により読み込まれた場合、作業選択部119は、それらの飛行計画を表示スクリーン上に表示して、その中から所望の飛行計画をユーザに選択させる。作業選択部119は、選択された飛行計画を飛行計画出力部35に提供する。その選択された飛行計画は、飛行計画出力部35から実作業ドローン5の制御器27に供給される。
データサーバ101の解析部107は、地域画像データベース61、作業個所データベース63、地域位置データベース51、作業計画データベース103、および作業結果データベース65から、登録された各地域(例えば、各圃場)の画像、各地域内の各作業個所の位置、各作業個所に対する作業計画(例えば症状名と実作業名)、各作業計画に基づく実作業の実施後の各地域(各作業個所)の画像、作業実施後の画像に基づいてユーザが再び入力した作業計画(とくに症状名)などのデータを読み込む。解析部107は、それらの読み込まれたデータを利用して機械学習を行うことで、各作業個所に対する作業計画の提案を自動的に生成するための推論方法を作成(つまり学習)する(いったん作成つまり学習された推論方法を改良することも含む)。また、解析部107は、その機械学習によって作成された推論方法を用いて、各作業個所の画像から、その画像に応じた作業計画提案を作成する。作成された各作業個所の作業計画提案は、各作業個所に関連付けられて、作業計画提案データベース105に格納される。
ここで、各作業個所に対する作業計画の提案とは、例えば、その作業個所について推定される症状(例えば、病害名など)の提案と、その症状に応じてその作業個所に推奨される実作業(例えば、農薬名や肥料名など)の提案とを含む。
図18は、この作業支援システム100の全体的な制御例の流れを示す。
ユーザの所望する地域の地域画像がデータサーバ101に登録された(ステップS9)後、ユーザは操作端末111の表示スクリーンにその地域画像を表示させることができる(ステップS20)。このステップS20において、操作端末111は、その地域画像を自動的に解析して特異個所を自動検出し、その検出された特異個所がどこであるかを表示スクリーン上の地域画像内に表示する。そして、ユーザは、その表示された特異個所を参考にして、自分の目視で作業個所を特定し、その特定された作業個所の登録を操作端末111に要求する。すると、その作業個所が操作端末111からデータサーバ101に通知されて、データサーバ101に登録され(ステップS21)。
ステップS21で作業個所がデータサーバ101に登録されると、データサーバ101の解析部107が、その登録された作業個所の画像に対して推論を実行して、その作業個所に対する作業計画提案を自動的に生成する(ステップS22)。操作端末111は、その作業計画提案をデータサーバ111から受けて、その作業計画提案を、表示スクリーン上に表示された作業個所に関連させて、表示スクリーン上に表示する(ステップS23)。
ユーザは、操作端末111に表示されたその作業個所に対する作業計画提案を参考にして、その作業個所に対する作業計画(例えば、症状名と実作業名)を決定して操作端末111に入力し、その登録を操作端末111に要求する(ステップS23)。すると、その入力された作業計画は、その作業個所に関連付けられて、データサーバ101に通知されそこに登録される(ステップS25)。
ある地域に対する実作業が実施された後、その地域の写真画像(そこには、その実作業の効果が現れている)が改めて撮影されてその地域画像が得られ、さらに、その地域画像に基づいてユーザが改めて特定した作業個所(以前の作業個所と同じ個所、あいは、以前とは異なる個所が含まれている場合、あるいは、作業個所が無い場合があり得る)と、各作業個所についてユーザが改めて判断した症状名(以前と同じ症状、あるいは、以前とは異なる症状が含まれ得る)が入力され登録されると、データサーバ101の推論部107が、その実施された実作業の作業計画と、その作業の効果が現れた画像と、その画像に基づき改めて特定された作業個所と症状名を、教師データとして受けて、機械学習を行い、作業計画の推論方法を自動的に作成つまり学習する(ステップS26)。解析部107は、学習された推論方法を、後に実行されるステップS22での推論に適用することができる。
以上の制御により、データサーバ101がもつ作業計画提案を生成するための推論方法は、多くの地域の写真撮影や実作業が繰り返されていくのにつれて、より性能の高いものへと改善されていき、より適切な作業計画提案をユーザに提供することができるようになる。それにより、期待された作用効果を得るための作業計画の設計が、ユーザにとりより容易になる。
再び図17を参照する。データサーバ101の解析部107は、症状解析部108と作業解析部109を有する。症状解析部108は、各作業個所の画像(地域画像の中の、各作業個所に該当する部分)を解析して、その作業個所の症状を推定し、推定された症状(例えば病害名や生理障害名など)を症状提案として、その作業個所に関連づけて作業計画提案データベース105に格納する。作業解析部109は、各作業個所の症状から、その作業個所に適用することが推奨される実作業(例えば、農薬名や肥料名など)を推定し、その推定された実作業を作業提案として、その作業個所に関連づけて作業計画提案データベース105に格納する。各作業個所に対する症状提案と作業提案が、その作業個所に対する作業計画提案を構成する。
症状解析部108と作業解析部109は、それぞれ、例えばニューラルネットワークを用いて、それぞれの目的に適した機械学習と推論を行えるように構成することができる。
図19と図20は、症状解析部108と作業解析部109の構成例をそれぞれ示す。
図19に示すように、症状解析部108は、次の2種類のディープニューラルネットワーク(以下、DNNと略称する)を有する。一つは、症状学習DNN121であり、もう一つは症状推論DNN123である。
症状学習DNN121は、多数の作業個所の画像と症状、および、過去から現在までの画像と症状と実作業の履歴(変遷経緯)を、教師データ125として大量に入力して、機械学習、例えばディープラーニング、を実行し、それにより、画像から症状を推論するための推論方法を学習する(つまり、推論ニューラルネットワークを作り上げる)。
症状推論DNN123は、症状学習DNN121による機械学習で過去の或る時点で作成された推論方法(つまり、推論ニューラルネットワーク)を有し、各作業個所の画像と履歴のデータをその推論方法(推論ニューラルネットワーク)に入力して推論を行って、その作業個所に対する症状提案データ129を出力する。
症状学習DNN121と症状推論DNN123は、異なるハードウェアまたは異なるコンピュータソフトウェアとして構成されてよい。その場合、症状学習DNN121がある期間にある量の学習を行って作成した推論方法を症状推論DNN123に複製することで、以後、症状推論DNN123がその推論方法を実行できる。このような複製を適当な期間をおいて繰り返すことで、時間経過に伴って症状推論DNN123の推論性能が向上していく。
あるいは、症状学習DNN121と症状推論DNN123は、同じハードウェアまたは同じコンピュータソフトウェアとして構成されてもよい。その場合、その同じハードウェアまたはコンピュータソフトウェアが、ある時間帯に症状学習DNN121として動作し、別の時間帯に症状推論DNN123として動作することができる。このように学習と推論を異なる時間帯で交互に繰り返すことにより、前の時間帯の学習結果が次の時間帯での推論に使用されることが繰り返されるので、時間経過に伴って症状推論DNN123の推論性能が向上していく。あるいは、その同じハードウェアまたはコンピュータソフトウェアが、同時並行的に学習と推論を実行する(つまり、同時並行的に症状学習DNN121と症状推論DNN123として動作する)ように構成されてもよい。
図20に示すように、作業解析部109も、上述の症状解析部108と同様、2種類のDNNを有する。それらは作業学習DNN131と作業推論DNN133である。
作業学習DNN131は、多数の作業個所の症状と、そこに適用された実作業と、その実作業を実施した後に改めて撮影された作業個所の画像と、その画像に基づいて改めて判断された症状を、教師データ135として大量に入力して、機械学習、例えばディープラーニング、を実行し、それにより、症状からそこに適用すべきを実作業を推論するための推論方法を学習する(つまり、推論ニューラルネットワークを作り上げる)。
作業推論DNN133は、作業学習DNN131による機械学習で過去の或る時点で作成された推論方法(つまり、推論ニューラルネットワーク)を有し、各作業個所の症状をその推論方法(推論ニューラルネットワーク)に入力して推論を行って、その作業個所に対する作業提案データ139を出力する。
作業学習DNN131と作業推論DNN133は、前述の症状学習DNN121と症状推論DNN123と同様に、異なるハードウェアまたは異なるコンピュータソフトウェアとして構成されてよい。その場合、作業状学習DNN131がある期間にある量の学習を行って作成した推論方法を作業推論DNN13に複製することで、以後、作業推論DNN133がその推論方法を実行できる。このような複製を適当な期間をおいて繰り返すことで、時間経過に伴って作業推論DNN133の推論性能が向上していく。
あるいは、作業学習DNN131と作業推論DNN133は、同じハードウェアまたは同じコンピュータソフトウェアとして構成されてもよい。その場合、その同じハードウェアまたはコンピュータソフトウェアが、ある時間帯に作業学習DNN131として動作し、別の時間帯に作業推論DNN133として動作することができる。このように学習と推論を異なる時間帯で交互に繰り返すことにより、前の時間帯の学習結果が次の時間帯での推論に使用されることが繰り返されるので、時間経過に伴って作業推論DNN133の推論性能が向上していく。あるいは、その同じハードウェアまたはコンピュータソフトウェアが、同時並行的に学習と推論を実行する(つまり、同時並行的に作業学習DNN131と作業推論DNN133として動作する)ように構成されてもよい。
図21から図23は、操作端末111の表示スクリーン上でユーザが作業個所と作業計画を特定するためのグラフィックインタフェースの例を示す。
図21は、作業個所を特定する時のインタフェース200の画像例を示す。地域画像ウィンドウ201に、ユーザ所望の地域(例えば圃場)の画像が表示されている(この例では、個々の農作物の状態がわかるように圃場の一部が拡大表示されている)。ユーザが領域選択ボタン203を操作すると、特異個所検出部113により地域画像の解析が実施されて、その地域内の特異個所が自動的に検出され、そして、その検出された特異個所が領域選択ツール213によって提案される。ユーザは、目視で作業個所を見つけるとき、この提案を参考にすることができる。ユーザは、領域選択ツール213を必要に応じて操作して、作業個所を特定することができる。ユーザは、作業個所名入力ツール205を使用して、作業個所の名称を入力できる。ユーザは、登録ボタン211を操作することで、作業個所(領域選択ツール211によって特定された領域の位置)とその名前をデータサーバ101に登録できる。
図22は、作業個所の症状を特定するときのグラフィックインタフェースの画像例を示す。作業個所221、223がいったん登録されると、データサーバ101が各作業個所221,223の画像からその症状を推定して症状提案を生成する。その症状提案225、227が地域画像ウィンドウ201上に、各作業個所221、223に関連付けられて表示される。ユーザは、各作業個所221、223の症状を特定するとき、その症状提案を参考にできる。ユーザは、症状入力ツール207を操作して、各作業個所221、223の症状名を特定することができる。ユーザは、登録ボタン211を操作することで、各作業個所221、223の症状名をデータサーバ101に登録できる。
図23は、各作業個所に対する実作業を決定するときのグラフィックインタフェースの画像例を示す。作業個所221、223の症状がいったん登録されると、データサーバ101が各作業個所221、223の症状から、推奨される実作業を推定して作業提案を生成する。その作業提案235、237が地域画像ウィンドウ上の各作業個所221、223に関連付けられて表示される。ユーザは、各作業個所221、223の実作業を特定するとき、その作業提案を参考にできる。ユーザは、実作業入力ツール209を操作して、各作業個所221、223に対する実作業名を決定することができる。ユーザは、登録ボタン211を操作することで、各作業個所221、223に対する実作業名をデータサーバ101に登録できる。
図24は、データサーバ101の解析部107の別の構成例を示す。
図24の構成例では、解析部107は、各作業個所の作業計画提案、つまり、症状提案と実作業提案を、分離せずに一緒に出力することができる。すなわち、解析部107は、作業計画学習DNN141と作業計画推論DNN143を有する。
作業計画学習DNN141は、多数の作業個所の画像と作業計画(症状名と実作業名)、および、その作業計画に基づく実作業実施後の同作業個所の画像と症状、ならびに、過去から現在までのその作業個所の画像と症状と実作業の履歴(変遷経緯)を、教師データ145として大量に入力して、機械学習、例えばディープラーニング、を実行し、それにより、画像から作業計画を推論するための推論方法を学習する(つまり、推論ニューラルネットワークを作り上げる)。
作業計画推論DNN143は、作業計画症状学習DNN141による機械学習で過去の或る時点で作成された推論方法(つまり、推論ニューラルネットワーク)を有し、各作業個所の画像と上記履歴のデータをその推論方法(推論ニューラルネットワーク)に入力して推論を行って、その作業個所に対する作業計画提案149を出力する。
作業計画学習DNN141と作業計画推論DNN143は、異なるハードウェアまたは異なるコンピュータソフトウェアとして構成されてよいし、あるいは、同じハードウェアまたは同じコンピュータソフトウェアとして構成されてもよい。
図25は、解析部107のまた別の構成例を示す。
図25の構成例では、解析部107は、地域内の作業個所ごとではなく、地域ごとに、作業計画提案(そこには、地域内の1以上の作業個所の位置と、各作業個所の症状名と実作業名が含まれる)を作成して出力することができる。すなわち、解析部107は、作業計画学習DNN151と作業計画推論DNN153を有する。
作業計画学習DNN151は、多数の地域の全体画像とその中の各作業個所の位置とその症状名と実作業名、および、それらの地域の実作業実施後の全体画像と作業個所と症状、ならびに、過去から現在までのそれら地域の全体画像と作業個所と症状と実作業の履歴(変遷経緯)を、教師データ155として大量に入力して、機械学習、例えばディープラーニング、を実行し、それにより、地域の全体画像から作業計画(地域中の作業個所の位置と、各作業個所の症状名と実作業名)を推論するための推論方法を学習する(つまり、推論ニューラルネットワークを作り上げる)。
作業計画推論DNN153は、作業計画症状学習DNN151による機械学習で過去の或る時点で作成された推論方法(つまり、推論ニューラルネットワーク)を有し、各地域の作業個所の画像と上記履歴のデータをその推論方法(推論ニューラルネットワーク)に入力して推論を行って、その地域に対する作業計画提案159を出力する。
作業計画学習DNN151と作業計画推論DNN153は、異なるハードウェアまたは異なるコンピュータソフトウェアとして構成されてよいし、あるいは、同じハードウェアまたは同じコンピュータソフトウェアとして構成されてもよい。
再び図17を参照する。データサーバ101の地域画像データベース61、作業個所データベース63、地域位置データベース51、飛行計画データベース55、作業計画データベース、作業結果データベース、作業計画提案データベース105に蓄積されたデータ、ならびに、解析部107が機械学習によって作成した推論方法つまり推論ニューラルネットワークは、操作端末111に表示してユーザを助ける用途以外に、さまざまな有益な用途に利用可能である。それゆえ、それらデータベースに蓄積されたデータや、推論ニューラルネットワークの全部または任意の部分は、データサーバ101から外部へ出力することができる。
以上、本発明の二つの実施形態に従う作業支援システムを説明したが、それらの作業支援システムは、ドローンによる調査で収集されたデータ(例えば、写真撮影で得られた圃場などの地域の画像)に含まれるノイズ(例えば、撮影時の天候や時間帯などの環境状態によって生じる写真画像の色調や明るさなどの実際からの誤差)を除去するデータ補正を行うための補正システムを備えてもよい。例えば、上述した二つの実施形態にかかる作業支援システム1、100は、それぞれ、そのような補正システムを、例えばデータサーバ7、101または例えば操作端末9、111内に備えてよい。
以下、そのような補正システムの一例について説明する。以下に例示する補正システムは、ドローンによる写真撮影で得られた地域画像を補正するためのものであり、上述した二つの実施形態にかかる作業支援システム1、100に設けることができる。
図26は、その補正システムを利用するために使用される画像補正スケールの一例の平面デザインを示す。
図26に示された画像補正スケール161は、例えば長方形の平板であり、ドローンによる写真撮影時に撮影対象の地域内または地域近傍周辺の地表上に、図26に示された表面を上に向けて置かれる。
画像補正スケール161は、複数(この例では8つであるが、それ以外の数でもよい)の基準色スケール163C1〜163C7、163Gを有する。そのうち、一部の基準色スケール163C1〜163C7(この例では7つであるが、それ以外の数でもよい)は、それぞれ、異なる所定の有彩色に着色されており、これらを纏めて以下「カラースケール」163Cという。また、残りの基準色スケール163G(この例では1つであるが、それ以外の数でもよい)は、所定の無彩色(例えば、純白色、あるいは、所定のグレー色)に着色されており、これを以下「グレースケール」という。
カラースケール163Cの複数の基準色スケール163C1〜163C7にそれぞれ塗られた異なる有彩色は、対象地域の状態を判断するために予め定められた(つまり、RGBなどの要素色のトーン値が予め決められた)異なる基準色である。例えば、画像補正スケール161の適用地域が稲の圃場である場合、それらの基準色は、稲の状態を稲の葉色から判断するために予め定められた緑色系の異なる色である。それぞれの基準色には、予め識別符号が定義されており、各基準色スケール163C1〜163C7にはその識別符号の表示も付随する。グレースケール163Cの基準色も、予め決められた要素色のトーン値をもつ無彩色であり、そして、予め定められたその識別符号の表示がグレースケール163Cに付随する。
すべての基準色スケール163C1〜163C7、163Gは例えば真円形である。ドローンは、地域の写真を撮影するときに、その地域だけでなくその地域の近傍の周辺も撮影し、したがって、画像補正スケール161も撮影する。その写真撮影により得られた地域画像には、その地域だけでなく、その地域の近傍周辺の画像も含まれ、画像補正スケール161の画像も含まれる。その地域画像内で、画像補正スケール161の画像がどの方向を向いていても、各基準色スケール163C1〜163C7、163Gが真円形であると、撮影で得られた地域画像の中から各基準色スケール163C1〜163C7、163Gの画像を画像処理により識別し抽出することが容易である。
図27は、図26に示された画像補正スケールの一例における各基準色スケールが表示されたパネルが満たす寸法条件の一例を示す。
図27に示すように、画像補正スケール161内の各基準色スケール167は前述したように真円形である。各基準色スケール167はユニットパネル165の表面上に表示されており、ユニットパネル1は例えば正方形である。ユニットパネル165の表面上の基準色スケール167の外側の背景領域(これは、基準色とは異なる所定の色をもつ)に、基準色スケール167の基準色の識別符号169が表示される。それぞれ異なる色の基準色スケール167が描かれた所定枚数のユニットパネル165の統合により、図26に示したような平板状の画像補正スケール161が構成される。
ユニットパネル165のサイズは、基準色スケール167の外接正方形(一点鎖線の補助線で図示する)を内包する(つまり、その外接正方形がユニットパネル165の外へはみ出ない)ように選ばれる。また、ユニットパネル165上での識別符号169の表示位置は、破線の補助線で図示するように、上記外接正方形がどの方向を向いても、その外接正方形の外側に存在する(つまり、外接正方形内に入らない)ように選ばれている。
それにより、ドローンが撮影した画像の中から基準色スケール167を識別する画像処理において、画像内でユニットパネル165がどの方向を向いていても、上記外接正方形内には上記背景色と基準色の2色の領域しか存在しないので、的確に基準色スケール167を識別し抽出することが容易である。
図28は、図26に示した画像補正スケール161の画像を利用して地域画像を補正するための補正システムの構成例を示す。
図28に示すように、補正システム171は、画像入力部173、カラースケール探索部177、カラースケール画素値保存部179、グレースケール探索部181、グレースケール画素値保存部183、基準画素値保存部185、地域ポリゴンデータ保存部187、画像分離部189、第1カラートーン調整部191、第2カラートーン調整部193、画像合成部195、およびカラー分析部197を有する。
画像入力部173は、写真撮影で得られた対象地域の地域画像を入力する。なお、対象地域の地域画像は、上述した二つ実施形態にかかる作業支援システム1、100では(図1、図17参照)、地域画像データベース61から入力し得る。
カラースケール探索部177は、入力された地域画像の中から、画像処理によって、カラースケール163Cの各基準色スケール163C1〜163C7の画像を識別して、その識別された基準色スケール画像内の全画素の値セット(例えば、RGB値のセット)を抽出する。カラースケール画素値保存部179は、抽出された基準色スケール画像内の全画素値セットを保存する。
グレースケール探索部181は、入力された地域画像の中から、画像処理によって、グレースケール163Gの画像を識別して、その識別されたグレースケール画像内の全画素の値セット(例えば、RGB値のセット)を抽出する。グレースケール画素値保存部183は、抽出されたグレースケール画像の全画素値セットを保存する。
基準画素値保存部185は、画像補正スケール161のすべての基準色スケール163C1〜163C7、163Gの予め定められた画素値セット(例えば、RGB値のセット)(以下、基準画素値セットという)を保存する。
地域ポリゴンデータ保存部187は、対象地域の形状と位置(例えば、対象地域の輪郭の地理的座標値)を示すデータ(以下、地域ポリゴンデータという)を保存する。対象地域の地域ポリゴンデータは、上述した二つ実施形態にかかる作業支援システム1、100では(図1、図17参照)、地域位置データベース51に存在する。
画像分離部189は、画像入力部173から入力された地域画像(例えば圃場を写真撮影した得た画像)を、地域ポリゴンデータ187を使って、対象地域の部分(例えば、その圃場の画像)と、対象地域以外の部分(例えば、その圃場と一緒に撮影されたその圃場の近傍周辺領域の画像)とに分離する。
第1カラートーン調整部191は、画像分離部189からの対象地域部分の画像に対して、その色を補正する処理を行う。この補正処理では、カラースケール画素保存部179からのカラースケール163Cの各基準色スケール163C1〜163C7の画素値セットと、基準画素値保存部185からのカラースケール163Cの各基準色スケール163C1〜163C7の基準画素値セットとが用いられる。
第2カラートーン調整部193は、画像分離部189からの地域以外部分の画像に対して、その色を補正する処理を行う。この補正処理では、グレースケール画素保存部183からのグレースケール163Gの画素値セットと、基準画素値保存部185からのグレースケール163Gの基準画素値セットとが用いられる。
画像合成部195は、補正された対象地域部分の画像と、補正された対象地域以外の部分の画像とを結合して、補正された地域画像を合成する。
カラー分析部197は、補正された地域画像の各部の画素値を分析して、後の作業のための用途、例えば特異領域の検出、のための情報を生成する。例えば、地域画像の中のとくに対象地域部分の画像を細かい小区画に分割し、それぞれの小区画内の全画素の画素値セットの平均値や標準偏差などの統計値を算出する。それらの統計値は、例えば圃場内の農作物の病害や生理障害などが起きている特異領域を見つけ出すために役立つので、例えば、上述した第2の実施形態にかかる作業支援システム100(図17参照)の解析部107または特異個所検出部113などで利用され得る。
図29は、図28に示された補正システム171が行う制御の一例の流れを示す。
図29に示されるように、写真撮影で得られた地域画像が入力されて、その入力地域画像から、カラースケール163Cの画像(つまり、基準色スケール163C1〜163C7の画像)が探索され(ステップS101)、見つかったカラースケール163Cの画像の画素値(つまり、基準色スケール163C1〜163C7の画像の全画素の画素値セット)が抽出されて保存される(ステップS102)。そして、保存されたカラースケール163Cの画素値と、予め定められた対応する基準画素値(つまり、基準画素値保存部185からの基準色スケール163C1〜163C7の基準画素値セット)とに基づいて、前者の色調を後者の色調に合わせるように補正するための第1の補正関数が計算される(ステップS103)。
また、上記入力地域画像から、グレースケール163Gの画像が探索され(ステップS104)、見つかったグレースケール163Gの画素値(つまり、グレースケール163Gの画像の全画素の画素値セット)が保存される(ステップS105)。そして、保存されたグレースケール163Gの画素値と、予め定められたグレースケール163Gの基準画素値(つまり、基準画素値保存部185からのグレースケール163Gの基準画素値セット)とに基づいて、前者の色調を後者の色調に合わせるように補正するための第2の補正関数が計算される(ステップS106)。
そして、入力された地域画像から、対象地域部分の画像が分離され、その画像の色調が、上記第1の補正関数を用いて補正される(ステップS107)。また、入力された地域画像から、対象地域以外の部分の画像が分離され、その画像の色調が、上記第2の補正関数を用いて補正される(ステップS108)。これにより、写真撮影で得られた地域画像の色調が実際の地域画像からずれていても、地域部分の画像(例えば、稲の圃場の画像)は、地域の実際の状態をカラースケール163Cの基準画像に基づいてより適正に評価できるように補正され、また、対象地域以外の部分の画像はより自然に見える色調になるように補正される。
そして、補正された地域部分とそれ以外の部分の画像とが結合されて、補正後の地域画像が合成される(ステップS109)。
そして、補正後の地域画像が分析されて、所定の統計値(例えば、地域画像が細分された多数の小区域の平均画素値セットやその標準偏差など)が計算される(ステップS110)。計算された統計値は、後の作業のための用途、例えば、対象地域の特異領域を見つけ出すため、に利用され得る。
以上、本発明の幾つかの実施形態を説明したが、それらの実施形態は、は、説明のための単なる例示であり、本発明の範囲をそれらの実施の形態のみに限定する趣旨ではない。本発明は、上記の実施の形態とは違うさまざまな形態で、実施することができる。
例えば、本発明は、圃場の農薬散布に限らず、他のさまざまな用途の作業支援システムにも適用できる。例えば、資材置き場でのドローンを用いた物体の移送、送電線や鉄塔のドローンによる監視やメンテナンス、あるいは、ユーザ所望の地区や場所の写真や動画の撮影など、広い用途に本発明が適用できる。
用途によっては、上記実施形態のような、調査飛行と実作業飛行という二段階の飛行を含むプロセスでなく、実作業飛行だけを含むプロセスを行うこともできる。例えば、ある場所の動画撮影を行いたい場合、ユーザが操作端末でその場所を指定し、サーバがその場所の撮影のための飛行計画を作り、ユーザがその飛行計画をダウンロードしてドローンにインストールし、そして、ドローンの撮影飛行を行うというような、より単純なプロセスを行うことができる。
また、用途によっては、より多段階の飛行を含むプロセスを行うこともできる。例えば、圃場の農薬散布の場合、農薬散布を行った日からある期間が経過した後、農薬の効果を調べるために、再び調査飛行(この場合、地域全体の調査飛行を行ってもよいし、作業個所に的を絞った調査飛行を行ってもよい)を行ったり、定期的に調査飛行と農薬散布を繰り返したり、あるいは、種まきや施肥のための飛行を行うなど、より複雑なプロセスを、本発明を適用して行うことができる。
また、上述したデータサーバの一部または全部が、ユーザの使用する操作端末内に実装されていてもよい。例えば、飛行計画を作成するためのソフトウェアツールが、操作端末7にインストールされていて、ユーザがそのツールを用いて自分で飛行計画を作成できる、または、そのツールが自動的に飛行計画を作成するようになっていてよい。
また、作業対象の種類または状況に応じて、ドローンとして、飛行以外の移動方法、例えば、地上走行、水上航行、水中潜航などが行えるものを使用する場合にも、本発明を適用してよい。