(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-17
(45)【発行日】2024-12-25
(54)【発明の名称】収穫ロボット、収穫ロボットの制御方法及び制御プログラム、並びに収穫システム
(51)【国際特許分類】
A01D 46/30 20060101AFI20241218BHJP
B25J 13/08 20060101ALI20241218BHJP
【FI】
A01D46/30
B25J13/08 A
(21)【出願番号】P 2021116516
(22)【出願日】2021-07-14
【審査請求日】2024-05-10
(73)【特許権者】
【識別番号】304036754
【氏名又は名称】国立大学法人山形大学
(74)【代理人】
【識別番号】100160543
【氏名又は名称】河野上 正晴
(74)【代理人】
【識別番号】100170874
【氏名又は名称】塩川 和哉
(74)【代理人】
【識別番号】100196209
【氏名又は名称】松崎 義邦
(74)【代理人】
【識別番号】100196829
【氏名又は名称】中澤 言一
(72)【発明者】
【氏名】妻木 勇一
(72)【発明者】
【氏名】松崎 辰夫
【審査官】家田 政明
(56)【参考文献】
【文献】特開2010-207118(JP,A)
【文献】特開2020-195335(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A01D 46/00-46/30
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
落葉性の樹木に実る作物の収穫を行う収穫ロボットであって、
落葉した前記樹木の少なくとも一部の位置を含む落葉期3次元位置データを記憶する記憶部と、
前記作物を収穫する摘取部と、
前記摘取部を移動させるマニピュレータと、
前記作物の位置に関するデータを取得するセンサ部と、
前記作物の収穫時において前記センサ部によって取得された前記位置に関するデータに基づいて、収穫対象の作物を検知し、
前記落葉期3次元位置データに基づいて、前記摘取部の移動の障害となる障害物の少なくとも位置を推定し、
前記収穫対象の作物が検知された場合、前記摘取部が、前記推定された障害物と前記収穫ロボットの少なくとも一部とが衝突せずに、前記検知された作物の収穫可能位置に移動するように、前記マニピュレータを制御する
処理部と、
を備えることを特徴とする収穫ロボット。
【請求項2】
前記処理部は、
前記収穫対象の作物が検知された場合、前記センサ部によって取得された位置に関するデータに基づいて、前記障害物の少なくとも一部の位置を含む収穫時3次元位置データを取得し、
前記落葉期3次元位置データと前記収穫時3次元位置データとに基づいて、前記摘取部の移動の障害となる障害物の少なくとも位置を推定する、請求項1に記載の収穫ロボット。
【請求項3】
前記センサ部は、被写体を撮影して、前記被写体の撮影画像データを出力する撮影部と、周囲の物体までの距離を測定して、測定された前記距離を示す距離データを出力する測定部とを有し、
前記処理部は、
前記撮影画像データ内の一又は複数の点に対応する3次元位置データを、出力された前記一又は複数の点に対応する前記距離データに基づいて算出し、
前記算出された3次元位置データを前記収穫時3次元位置データとして取得する、請求項2に記載の収穫ロボット。
【請求項4】
前記落葉期3次元位置データは、前記作物の収穫時の直前の落葉期に前記撮影部によって撮影された前記撮影画像データと、当該撮影時に前記測定部によって出力された、当該撮影画像データ内の一又は複数の点に対応する距離データとに基づいて算出された、当該一又は複数の点に対応する3次元位置データである、請求項3に記載の収穫ロボット。
【請求項5】
前記処理部は、
前記撮影画像データから、前記樹木の枝を示す画像領域及び前記樹木の枝を支える部材を示す画像領域を障害物画像領域として推定し、
前記算出された3次元位置データのうちの前記障害物画像領域内の3次元位置データを前記収穫時3次元位置データとして取得する、請求項3又は4に記載の収穫ロボット。
【請求項6】
前記樹木が植えられている圃場内を移動する台車を備え、
前記処理部は、前記収穫対象の作物が検知された場合、前記摘取部が、前記推定された障害物と前記収穫ロボットの少なくとも一部とが衝突せずに、前記検知された作物の収穫可能位置に移動可能となるように、前記台車の移動を制御する、請求項1~5のいずれか一項に記載の収穫ロボット。
【請求項7】
前記処理部は、前記落葉期3次元位置データに基づいて、前記障害物の位置及び形状を推定する、請求項1~6のいずれか一項に記載の収穫ロボット。
【請求項8】
落葉性の樹木に実る作物の収穫を行う収穫ロボットであり、且つ、落葉した前記樹木の少なくとも一部の位置を含む落葉期3次元位置データを記憶する記憶部と、前記作物を収穫する摘取部と、前記摘取部を移動させるマニピュレータと、前記作物の位置に関するデータを取得するセンサ部と、処理部と、を備える収穫ロボットの制御方法であって、
前記処理部は、
前記作物の収穫時において前記センサ部によって取得された前記位置に関するデータに基づいて、収穫対象の作物を検知し、
前記落葉期3次元位置データに基づいて、前記摘取部の移動の障害となる障害物の少なくとも位置を推定し、
前記収穫対象の作物が検知された場合、前記摘取部が、前記推定された障害物と前記収穫ロボットの少なくとも一部とが衝突せずに、前記検知された作物の収穫可能位置に移動するように、前記マニピュレータを制御する
ことを含む制御方法。
【請求項9】
落葉性の樹木に実る作物の収穫を行う収穫ロボットであり、且つ、落葉した前記樹木の少なくとも一部の位置を含む落葉期3次元位置データを記憶する記憶部と、前記作物を収穫する摘取部と、前記摘取部を移動させるマニピュレータと、前記作物の位置に関するデータを取得するセンサ部と、処理部と、を備える収穫ロボットの制御プログラムであって、
前記処理部に、
前記作物の収穫時において前記センサ部によって取得された前記位置に関するデータに基づいて、収穫対象の作物を検知し、
前記落葉期3次元位置データに基づいて、前記摘取部の移動の障害となる障害物の少なくとも位置を推定し、
前記収穫対象の作物が検知された場合、前記摘取部が、前記推定された障害物と前記収穫ロボットの少なくとも一部とが衝突せずに、前記検知された作物の収穫可能位置に移動するように、前記マニピュレータを制御する
ことを実行させるための制御プログラム。
【請求項10】
落葉性の樹木に実る作物の収穫を行う収穫ロボットと、前記収穫ロボットと通信するサーバ装置とを有する収穫システムであって、
前記サーバ装置は、
落葉した前記樹木の少なくとも一部の位置を含む落葉期3次元位置データを記憶する記憶部と、
前記落葉期3次元位置データを、前記収穫ロボットに送信する送信部と、
を備え、
前記収穫ロボットは、
前記サーバ装置から送信された前記落葉期3次元位置データを受信する受信部と、
前記作物を収穫する摘取部と、
前記摘取部を移動させるマニピュレータと、
前記作物の位置に関するデータを取得するセンサ部と、
前記作物の収穫時において前記センサ部によって取得された前記位置に関するデータに基づいて、収穫対象の作物を検知し、
受信された前記落葉期3次元位置データに基づいて、前記摘取部の移動の障害となる障害物の少なくとも位置を推定し、
前記収穫対象の作物が検知された場合、前記摘取部が、前記推定された障害物と前記収穫ロボットの少なくとも一部とが衝突せずに、前記検知された作物の収穫可能位置に移動するように、前記マニピュレータを制御する
処理部と、
を備えることを特徴とする収穫システム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示された実施形態は、落葉性の樹木に実る作物の収穫を行うための、収穫ロボット、収穫ロボットの制御方法及び制御プログラム、並びに収穫システムに関する。
【背景技術】
【0002】
近年、樹木に実る果実等の作物の収穫を行う収穫ロボットが知られている。例えば、特許文献1及び2には、収穫ロボットが、撮影された撮影画像を解析して収穫対象の作物及び収穫の障害となる障害物の3次元位置を推定し、収穫ロボットのエンドエフェクタと障害物との接触を回避しつつ作物を収穫する制御技術について記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-195335号公報
【文献】特開2010-207118号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1及び2に記載された技術は、収穫時に撮影された撮影画像に基づいて障害物の位置を推定する方法であり、樹木の葉に隠れている樹木の枝等の障害物は撮影画像に写らないため、障害物の位置を正確に推定できなかった。このため、収穫ロボットの収穫動作によって、エンドエフェクタ及びマニピュレータ等の収穫ロボットの構成部位が、位置を推定できなかった障害物と衝突してしまうという問題が生じていた。
【0005】
本明細書で開示された収穫ロボット、収穫ロボットの制御方法及び制御プログラム、並びに収穫システムは、収穫の障害となる障害物の位置の推定精度を向上させることを可能とし、収穫ロボットと障害物との衝突を防止することを目的とする。
【課題を解決するための手段】
【0006】
開示された収穫ロボットは、落葉性の樹木に実る作物の収穫を行う収穫ロボットであって、落葉した樹木の少なくとも一部の位置を含む落葉期3次元位置データを記憶する記憶部と、作物を収穫する摘取部と、摘取部を移動させるマニピュレータと、作物の位置に関するデータを取得するセンサ部と、作物の収穫時においてセンサ部によって取得された位置に関するデータに基づいて、収穫対象の作物を検知し、落葉期3次元位置データに基づいて、摘取部の移動の障害となる障害物の少なくとも位置を推定し、収穫対象の作物が検知された場合、摘取部が、推定された障害物と収穫ロボットの少なくとも一部とが衝突せずに、検知された作物の収穫可能位置に移動するように、マニピュレータを制御する処理部と、を備える。
【0007】
また、開示された収穫ロボットにおいて、処理部は、収穫対象の作物が検知された場合、センサ部によって取得された位置に関するデータに基づいて、障害物の少なくとも一部の位置を含む収穫時3次元位置データを取得し、落葉期3次元位置データと収穫時3次元位置データとに基づいて、摘取部の移動の障害となる障害物の少なくとも位置を推定することが好ましい。
【0008】
また、開示された収穫ロボットにおいて、センサ部は、被写体を撮影して、被写体の撮影画像データを出力する撮影部と、周囲の物体までの距離を測定して、測定された距離を示す距離データを出力する測定部とを有し、処理部は、撮影画像データ内の一又は複数の点に対応する3次元位置データを、出力された一又は複数の点に対応する距離データに基づいて算出し、算出された3次元位置データを収穫時3次元位置データとして取得することが好ましい。
【0009】
また、開示された収穫ロボットにおいて、落葉期3次元位置データは、作物の収穫時の直前の落葉期に撮影部によって撮影された撮影画像データと、当該撮影時に測定部によって出力された、当該撮影画像データ内の一又は複数の点に対応する距離データとに基づいて算出された、当該一又は複数の点に対応する3次元位置データであることが好ましい。
【0010】
また、開示された収穫ロボットにおいて、処理部は、撮影画像データから、樹木の枝を示す画像領域及び樹木の枝を支える部材を示す画像領域を障害物画像領域として推定し、算出された3次元位置データのうちの障害物画像領域内の3次元位置データを収穫時3次元位置データとして取得することが好ましい。
【0011】
また、開示された収穫ロボットは、樹木が植えられている圃場内を移動する台車を備え、処理部は、収穫対象の作物が検知された場合、摘取部が、推定された障害物と収穫ロボットの少なくとも一部とが衝突せずに、検知された作物の収穫可能位置に移動可能となるように、台車の移動を制御することが好ましい。
【0012】
また、開示された収穫ロボットにおいて、処理部は、落葉期3次元位置データに基づいて、障害物の位置及び形状を推定することが好ましい。
【0013】
開示された制御方法は、落葉性の樹木に実る作物の収穫を行う収穫ロボットであり、且つ、落葉した樹木の少なくとも一部の位置を含む落葉期3次元位置データを記憶する記憶部と、作物を収穫する摘取部と、摘取部を移動させるマニピュレータと、作物の位置に関するデータを取得するセンサ部と、処理部と、を備える収穫ロボットの制御方法であって、処理部は、作物の収穫時においてセンサ部によって取得された位置に関するデータに基づいて、収穫対象の作物を検知し、落葉期3次元位置データに基づいて、摘取部の移動の障害となる障害物の少なくとも位置を推定し、収穫対象の作物が検知された場合、摘取部が、推定された障害物と収穫ロボットの少なくとも一部とが衝突せずに、検知された作物の収穫可能位置に移動するように、マニピュレータを制御することを含む。
【0014】
開示された制御プログラムは、落葉性の樹木に実る作物の収穫を行う収穫ロボットであり、且つ、落葉した樹木の少なくとも一部の位置を含む落葉期3次元位置データを記憶する記憶部と、作物を収穫する摘取部と、摘取部を移動させるマニピュレータと、作物の位置に関するデータを取得するセンサ部と、処理部と、を備える収穫ロボットの制御プログラムであって、処理部に、作物の収穫時においてセンサ部によって取得された位置に関するデータに基づいて、収穫対象の作物を検知し、落葉期3次元位置データに基づいて、摘取部の移動の障害となる障害物の少なくとも位置を推定し、収穫対象の作物が検知された場合、摘取部が、推定された障害物と収穫ロボットの少なくとも一部とが衝突せずに、検知された作物の収穫可能位置に移動するように、マニピュレータを制御することを実行させる。
【0015】
開示された収穫システムは、落葉性の樹木に実る作物の収穫を行う収穫ロボットと、収穫ロボットと通信するサーバ装置とを有する収穫システムであって、サーバ装置は、落葉した樹木の少なくとも一部の位置を含む落葉期3次元位置データを記憶する記憶部と、落葉期3次元位置データを、収穫ロボットに送信する送信部と、を備え、収穫ロボットは、サーバ装置から送信された落葉期3次元位置データを受信する受信部と、作物を収穫する摘取部と、摘取部を移動させるマニピュレータと、作物の位置に関するデータを取得するセンサ部と、作物の収穫時においてセンサ部によって取得された位置に関するデータに基づいて、収穫対象の作物を検知し、受信された落葉期3次元位置データに基づいて、摘取部の移動の障害となる障害物の少なくとも位置を推定し、収穫対象の作物が検知された場合、摘取部が、推定された障害物と収穫ロボットの少なくとも一部とが衝突せずに、検知された作物の収穫可能位置に移動するように、マニピュレータを制御する処理部と、を備える。
【発明の効果】
【0016】
開示された収穫ロボット、収穫ロボットの制御方法及び制御プログラム、並びに収穫システムによって、収穫の障害となる障害物の位置の推定精度を向上させ、収穫ロボットと障害物との衝突を防止することが可能となる。
【図面の簡単な説明】
【0017】
【
図1】収穫システムの概要構成の一例を示す図である。
【
図2】(a)は、収穫ロボットの外観の一例を示す斜視図であり、(b)は、エンドエフェクタシステムの外観の一例を示す斜視図である。
【
図3】収穫ロボットの概略構成の一例を示す図である。
【
図4】サーバ装置の概略構成の一例を示す図である。
【
図5】落葉期障害物データ抽出処理の動作フローの一例を示す図である。
【
図6】(a)は、落葉している樹木が植えられている圃場内を撮影した撮影画像データの一例を示す図であり、(b)は、撮影画像データの撮影時に測定した深度データの一例を示す模式図である。
【
図7】(a)は、障害物画像領域を示す推定画像データの一例を示す図であり、(b)は、落葉期障害物データの一例を示す模式図である。
【
図8】収穫処理の動作フローの一例を示す図である。
【
図9】収穫時障害物データ抽出処理の動作フローの一例を示す図である。
【
図10】(a)は、収穫時に収穫対象の作物を撮影した撮影画像データの一例を示す図であり、(b)は、撮影画像データの撮影時に測定した深度データの一例を示す模式図であり、(c)は、障害物画像領域を示す推定画像データの一例を示す図であり、(d)は、収穫時障害物データの一例を示す模式図である。
【
図11】収穫制御処理の動作フローの一例を示す図である。
【発明を実施するための形態】
【0018】
以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【0019】
(収穫システム1の概要)
図1は、収穫システム1の概要構成の一例を示す図である。本実施形態の収穫システム1は、収穫ロボット2及びサーバ装置3を備える。
【0020】
収穫ロボット2は、落葉性の樹木に実る作物の収穫を行うための各種機能を有する。落葉性の樹木は、所定の圃場内で生育される。落葉性の樹木に実る作物は、さくらんぼ、モモ、スモモ、あけび、ブルーベリー、ラズベリー、なし、りんご、柿、ぶどう、ウメ、アンズ等である。以下、「落葉性の樹木」を単に「樹木」と称する場合がある。また、所定の圃場は、生育する樹木に適した圃場であり、露地圃場、ビニールハウス圃場、パイプハウス圃場等である。
【0021】
サーバ装置3は、落葉している樹木の3次元位置データを管理するための機能を有する。3次元位置データは、所定の位置座標系に従った、樹木等の物体の表面上の点に対応する3次元座標を示すデータである。なお、3次元位置データによって示される物体として、「樹木」が含まれる他に、収穫ロボット2、エンドエフェクタシステム22及びマニピュレータシステム23の移動の障害となる物体(例えば、「枝を支える各種部材(支柱(パイプ、杭等)、ワイヤー、テープ、及び/又は紐等)」)が更に含まれてもよい。
【0022】
所定の位置座標系は、緯度、経度及び高度で示される日本測地系2011等の地理座標系である。なお、所定の位置座標系は、樹木が植えられている圃場を含む所定領域に対応する、平面直角座標系又はUTM(Universal Transverse Mercator)座標系の投影座標系でもよい。また、所定の位置座標系は、樹木が植えられている圃場内の所定の地点を原点とし、且つ、所定の水平面上の所定方位の平行であるx軸、当該x軸と直行し且つ所定の水平面上のy軸、及び鉛直方向のz軸を有する座標系でもよい。また、所定の位置座標系は、樹木が植えられている圃場内に対応する3次元仮想空間全体を定義するワールド座標系でもよい。
【0023】
3次元位置データによって示される3次元座標の点は、樹木の一部の表面上の点でもよい。また、3次元位置データによって示される3次元座標の点は、複数の樹木の表面上の点でもよく、複数の樹木のそれぞれの表面上の一部分の点でもよい。3次元位置データにおいて、3次元座標の点が複数含まれることによって、対応する樹木の形状(ボリューム)が示され、後述するサーフェスモデルの生成によって、樹木等の障害物の形状を推定することが可能となる。以下、「落葉している樹木の3次元位置データ」を「落葉期3次元位置データ」と称する場合がある。樹木が落葉している時期が複数ある場合、「落葉期3次元位置データ」の「落葉期」は、樹木が落葉している複数の時期のうちの、当該樹木に実った作物の収穫時の直前の時期である。例えば、毎年12月から翌年3月までが落葉期である樹木は、植え付けから毎年、落葉期を経過する。このような場合、本実施形態の収穫システム1による収穫時が6月であれば、「落葉期3次元位置データ」の「落葉期」は、当該6月の直前の12月から3月までの落葉期である(換言すると、収穫時の1年以上前の「落葉期」の「落葉期3次元位置データ」は、当該収穫時では使用されない。)。なお、「落葉期3次元位置データ」の「落葉期」は、圃場内に植えられている全ての樹木が落葉していない時期でもよい。例えば、落葉期は、圃場内に植えられている1本以上の樹木の少なくとも一部の葉が落葉している時期でもよい。また、樹木が「落葉する」ことは、「気温及び/又は日照時間等の各種要因に応じて自然に落葉する」こと、又は、「人間によって、葉が樹木の枝及び幹から取り除かれる、及び/又は、人間によって、葉が付いている枝が樹木の枝及び幹からから取り除かれる」ことである。
【0024】
図1では、1台のサーバ装置3が収穫システム1の構成要素として図示されているが、サーバ装置3は、それぞれが物理的に別体の複数のコンピュータの集合であってもよい。この場合、複数のコンピュータのそれぞれは、同一の機能を有するものでもよく、1台のサーバ装置3が有する機能を分散して有するものでもよい。収穫システム1において、サーバ装置3と同一の機能を有する、パーソナルコンピュータ(Personal Computer, PC)、ノートPC、及び/又はタブレット端末等の情報処理装置が、サーバ装置3に代えて又はサーバ装置3とともに用いられてもよい。
【0025】
(収穫ロボット2)
図2(a)は、収穫ロボット2の外観の一例を示す斜視図であり、
図2(b)は、収穫ロボット2が備えるエンドエフェクタシステム22の外観の一例を示す斜視図であり、
図3は、収穫ロボット2の概略構成の一例を示す図である。
【0026】
図2(a)及び
図3に示されるように、収穫ロボット2は、台車21と、エンドエフェクタシステム22と、マニピュレータシステム23と、車輪24と、支持部材25とを備える。
【0027】
台車21は、エンドエフェクタシステム22及びマニピュレータシステム23を制御するための制御機能、及び、圃場内外を移動するための移動機能等を有する。
図2(a)及び
図3に示されるように、台車21は、制御装置211及び移動装置212を有することにより、制御機能及び移動機能等を実現する。
【0028】
制御装置211は、収穫ロボット2に各種機能を実現させるための処理を実行し、移動装置212、並びに、後述するセンサ装置221、駆動装置222、照射装置224、及び駆動装置251等に制御信号を出力する。制御装置211は、サーバ装置3によって管理される落葉期3次元位置データを用いて、収穫ロボット2の少なくとも一部が樹木と衝突しないように、マニピュレータシステム23を制御する。このように、落葉期3次元位置データは、収穫ロボット2の障害物を示す障害物データとして制御装置211によって用いられる。なお、「障害物」は、「樹木」(「葉」を含まない)であるが、収穫ロボット2、エンドエフェクタシステム22及びマニピュレータシステム23の移動の障害となる物体(例えば、「枝を支える各種部材(支柱(パイプ、杭等)、ワイヤー、テープ、及び/又は紐等)」)が「障害物」に含まれてもよい。以下、落葉期3次元位置データの全部又は一部を、落葉期障害物データと称する場合がある。制御装置211は、通信部211aと、記憶部211bと、処理部211cとを有する。
【0029】
通信部211aは、図示しない無線LAN(Local Area Network)のアクセスポイントとの間で所定の通信規格の無線通信方式に基づいて無線通信を行う通信インターフェース回路を備える。所定の通信規格は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.)802.11規格である。通信部211aは、無線通信により、サーバ装置3から送信された各種データ等を受信する。通信部211aは、各種データを無線通信によりサーバ装置3に送信してもよい。
【0030】
また、通信部211aは、図示しない基地局により割り当てられるチャネルを介して、当該基地局との間で無線通信回線を確立し、当該基地局との間で通信を行ってもよい。無線通信回線は、例えば、LTE(Long Term Evolution)規格に従った無線通信回線、第4世代移動通信システム(LTE-Advanced, 4G)の無線通信回線、又は第5世代移動通信システム(5G)規格等の移動通信システムの無線通信回線である。
【0031】
また、通信部211aは、Bluetooth(登録商標)等の通信方式に従った近距離無線通信を行うためのインターフェース回路を有し、サーバ装置3からの各種データに対応する電波を受信し、サーバ装置3に各種データに対応する電波を送信してもよい。また、通信部211aは、各種データに対応する各種信号を赤外線通信等によって送信するための送信回路及び各種データに対応する各種信号を赤外線通信等によって受信するための受信回路を有してもよい。また、通信部211aは、有線LANの通信インターフェース回路を備えてもよい。
【0032】
このように、収穫ロボット2は、通信部211aを備えることで、通信部211aを介して、サーバ装置3に各種データを送信し、サーバ装置3からの各種データを受信することが可能となる。
【0033】
収穫ロボット2は、通信部211aに代えて又は通信部211aとともに、可搬型記憶媒体を着脱可能に保持する入出力装置を備えてもよい。収穫ロボット2に備えられた入出力装置は、サーバ装置3で管理されるデータを記憶した可搬型記憶媒体を装着すると、当該可搬型記憶媒体に記憶されたデータを取得し、後述する処理部211cに渡す。これにより、収穫ロボット2は、可搬型記憶媒体を介してサーバ装置3からデータの提供を受けることが可能となる。また、入出力装置は、処理部211cからの指示に応じてデータを可搬型記憶媒体に記憶する。これにより、収穫ロボット2は、可搬型記憶媒体を介してサーバ装置3にデータを提供することができる。
【0034】
記憶部211bは、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等の半導体メモリ装置である。記憶部211bは、処理部211cにおける処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム及びデータ等を記憶する。記憶部211bに記憶されるドライバプログラムは、通信部211aを制御する通信デバイスドライバプログラム、センサ装置221を制御するセンサデバイスドライバプログラム、及び、照射装置224を制御する照明デバイスドライバプログラム等である。記憶部211bに記憶されるアプリケーションプログラムは、センサ装置221からのセンサデータに基づいて(後述する)収穫時障害物データを抽出する収穫時障害物データ抽出処理、センサ装置221からのセンサデータに基づいて落葉期障害物データを抽出する落葉期障害物データ抽出処理、及び、収穫時に、エンドエフェクタシステム22及びマニピュレータシステム23を制御し、移動装置212を移動制御する収穫制御処理等を、処理部211cに実行させるための制御プログラム等である。また、記憶部211bは、所定の処理に係るデータを一時的に記憶してもよい。
【0035】
処理部211cは、記憶部211bに記憶されているオペレーティングシステムプログラム、ドライバプログラム及びアプリケーションプログラムをメモリにロードし、ロードしたプログラムに含まれる命令を実行する処理装置である。処理部211cは、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)等の電子回路、又は各種電子回路の組み合わせである。
図3においては、処理部211cが単一の構成要素として図示されているが、処理部211cは複数の物理的に別体のプロセッサの集合であってもよい。
【0036】
処理部211cは、制御プログラムに含まれる各種命令を実行することにより、各種の機能を実現する。なお、処理部211cによって実現する機能の詳細の一例は後述する。
【0037】
移動装置212は、図示しない駆動伝達機構を介して車輪24を回転させる駆動モータ、及び、車輪24の操舵角を変更するモータを含むステアリング機構を含む。移動装置212は、処理部211cからの移動制御信号に従って、台車21が圃場内外の指示された位置まで指示された移動経路に沿って移動するように車輪24を制御する。
【0038】
エンドエフェクタシステム22は、一種類又は複数種類の作物を収穫するための収穫機能を有する。
図2(b)及び
図3に示されるように、エンドエフェクタシステム22は、センサ装置221、駆動装置222、摘取装置223及び照射装置224を有することにより、収穫機能を実現する。
【0039】
センサ装置221は、作物の位置に関するデータを取得する機能を有し、例えば、被写体を撮影し且つ当該被写体の撮影画像データを出力するための撮影部221aと、収穫ロボット2の周囲の物体までの距離を測定するための測定部221bとを有する。例えば、センサ装置221として、「Intel RealSense Depth Camera D435i(「Intel RealSense」は登録商標)」等のRGB-Depthセンサが用いられてもよい。なお、センサ装置221は、センサ部の一例である。
【0040】
撮影部221aは、光学レンズ及び撮像素子等を有する。光学レンズは、被写体からの光束を撮像素子の撮像面上に結像させる。撮像素子は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)等であり、撮像面上に結像した被写体像の画像を出力する。撮影部221aは、撮像素子によって生成された画像から所定のファイル形式の静止画像データを撮影画像データとして作成して出力する。撮影部221aは、撮影画像データを、当該撮影画像データの取得時刻と対応付けて出力してもよい。なお、撮影部221aは、連続して撮像素子によって生成された画像から、所定期間毎に所定のファイル形式の動画像データを撮影画像データとして作成して出力してもよい。
【0041】
測定部221bは、例えば一対の赤外線センサである。
図2(b)に示される例では、一対の第1レンズ221b1及び第2レンズ221b2がセンサ装置221に備えられる。第1レンズ221b1及び第2レンズ221b2のそれぞれは、撮影部221aによって取得された撮影画像データに対応する撮影対象空間と略同一空間内の物体からの赤外線を受光素子に結像する。測定部221bは、受光素子からの電気信号に基づいて、第1レンズ221b1及び第2レンズ221b2のそれぞれに対応する赤外線画像を出力し、出力した赤外線画像から公知のアクティブステレオ法を用いて物体の表面上の複数の点に対応する距離を測定して、複数の点のそれぞれに対応する深度データ(距離データ)を出力する。測定部221bは、深度データを、当該深度データの取得時刻と対応付けて出力してもよい。なお、測定部221bは、連続して出力した赤外線画像から、所定期間毎に所定のファイル形式の時系列の深度データを作成して出力してもよい。なお、赤外線(IR)投射器221cは、測定部221bによる物体からの赤外線の受光感度を向上させるために赤外線を投射する機能を有する。
【0042】
センサ装置221は、撮影部221aから出力された撮影画像データ及び測定部221bから出力された深度データを含むセンサデータを、処理部211cに供給する。センサデータ(撮影画像データ及び深度データ)は、作物の位置に関するデータの一例である。なお、撮影画像データ及び深度データの一方のみが、作物の位置に関するデータとして用いられてもよい。
【0043】
センサ装置221は、上述の例に限定されず、例えば、物体の表面上の複数の点に対応する距離データを出力する各種センサ装置(パルスエコー式超音波測距センサ、又は、LiDAR(Light Detection and Ranging)若しくはレーザレンジファインダ等のレーザスキャナ)でもよい。
【0044】
駆動装置222は、後述する摘取装置223を動作させるための駆動モータ等である。摘取装置223は、収穫対象の作物を把持し且つ把持した作物を枝からもぎ取る摘取機能を有する。
図2(b)に示される摘取装置223は、例えば、収穫対象の作物が果梗を介して枝に付いている作物(さくらんぼ等)である場合、果梗を掴む把持部を有する。なお、摘取装置223は、
図2(b)に示される例に限らず、収穫対象の作物ごとに収穫に適した構成を有するものでもよい。摘取装置223は、収穫対象の作物ごとに適した収穫動作(収穫対象の作物を把持し且つ把持した作物を枝からもぎ取る動作)を行い、作物を収穫する。なお、摘取装置223は、摘取部の一例である。
【0045】
照射装置224は、例えば、LED照明装置であり、収穫ロボット2を操作する操作者の操作指示、又は、処理部211cからの制御指示に応じて光を照射する。
【0046】
マニピュレータシステム23は、エンドエフェクタシステム22の摘取装置223を、作物の収穫可能位置に移動させる機能等を有する。
図2(a)に示されるマニピュレータシステム23は、例えば、ジョイントを有する垂直多関節型のマニピュレータである。
【0047】
支持部材25は、台車21の上面に設置されマニピュレータシステム23を支持する。なお、支持部材25は、台車21と相対的に移動可能に構成されてもよい。支持部材25は、駆動装置251を備える。駆動装置251は、支持部材25に対してマニピュレータシステム23を回動させるための駆動モータ等である。例えば、駆動装置251は、マニピュレータシステム23の先端部と回動可能に接続され、2の所定軸(例えば、
図2(a)におけるy方向の軸及び当該y方向の軸と直行する方向の軸)を中心にマニピュレータシステム23を回動させる。これにより、駆動装置251及びマニピュレータシステム23を人間の「肩」及び「腕」と見立てた場合における「肩回転動作」及び「腕上げ動作」に似た動きが実現され得る。
【0048】
なお、マニピュレータシステム23は、マニピュレータシステム23に対してエンドエフェクタシステム22を回動させるための駆動モータを備えてもよい。例えば、駆動モータは、マニピュレータシステム23の先端部と回動可能に接続され、収穫ロボット2の所定軸(例えば、マニピュレータシステム23の延長方向の軸及び当該軸と直行する方向の軸)を中心にエンドエフェクタシステム22を回動させる。これにより、エンドエフェクタシステム22及びマニピュレータシステム23を人間の「手」及び「腕」と見立てた場合における「手首捻り動作」及び「手首曲げ動作」に似た動きが実現される。
【0049】
移動装置212は、処理部211cからの移動制御信号に従って、エンドエフェクタシステム22によって作物が収穫可能となる範囲内に位置するように、台車21を移動させる。そして、駆動装置251は、処理部211cからの移動制御信号に従って、エンドエフェクタシステム22が作物の収穫可能位置に移動するように制御される。
【0050】
(サーバ装置3)
図4は、サーバ装置3の概略構成の一例を示す図である。
【0051】
サーバ装置3は、落葉期障害物データを記憶して管理するためのデータ管理機能、落葉期障害物データを収穫ロボット2に送信するための送信機能を有する。また、サーバ装置3は、外部装置から送信された落葉期障害物データを受信する受信機能等を有する。なお、外部装置は、収穫ロボット2でもよい。そのために、サーバ装置3は、サーバ通信部31と、サーバ記憶部32と、サーバ処理部33とを備える。
【0052】
サーバ通信部31は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。サーバ装置3は、サーバ通信部31を介して、落葉期障害物データ等の各種データを収穫ロボット2に送信することができる。サーバ装置3は、サーバ通信部31を介して、外部装置から各種データを受信することができる。また、サーバ通信部31は、Bluetooth(登録商標)等の通信方式に従った近距離無線通信を行うためのインターフェース回路を有し、収穫ロボット2に電波を送信し、収穫ロボット2からの電波を受信してもよい。また、サーバ通信部31は、各種データに対応する各種信号を赤外線通信等によって送信するための送信回路を有し、各種データに対応する各種信号を赤外線通信等によって受信するための受信回路を有してもよい。また、サーバ通信部31は、有線LANの通信インターフェース回路を備えてもよい。これにより、サーバ装置3は、サーバ通信部31を介して収穫ロボット2との各種データの受送信を行うことができる。サーバ装置3は、サーバ通信部31に代えて又はサーバ通信部31とともに、可搬型記憶媒体を着脱可能に保持する入出力装置を備えてもよい。この場合、入出力装置は、可搬型記憶媒体に記憶された落葉期障害物データ等の各種データを取得し、取得した各種データを記憶処理部332に供給する。これにより、サーバ装置3は、可搬型記憶媒体を介して外部装置から落葉期障害物データ等の各種データを取得することができる。
【0053】
サーバ記憶部32は、例えば、ROM、RAM等の半導体メモリ装置である。サーバ記憶部32は、例えば、磁気ディスク、光ディスク、又はデータを記憶可能な前記以外の各種記憶装置でもよい。サーバ記憶部32は、サーバ処理部33における処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム及びデータ等を記憶する。サーバ記憶部32に記憶されるコンピュータプログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記憶媒体から、公知のセットアッププログラム等を用いてサーバ記憶部32にインストールされてもよい。サーバ記憶部32に記憶されるデータは、外部装置から取得した落葉期障害物データ等の各種データを記憶する。サーバ記憶部32は、所定の処理に係るデータを一時的に記憶してもよい。
【0054】
サーバ処理部33は、サーバ記憶部32に記憶されているオペレーティングシステムプログラム、ドライバプログラム及びアプリケーションプログラムをメモリにロードし、ロードしたプログラムに含まれる命令を実行する処理装置である。サーバ処理部33は、例えば、CPU、MPU、DSP等の電子回路、又は各種電子回路の組み合わせである。
図4においては、サーバ処理部33が単一の構成要素として図示されているが、サーバ処理部33は複数の物理的に別体のプロセッサの集合であってもよい。
【0055】
サーバ処理部33は、サーバ記憶部32に記憶されたアプリケーションプログラム(制御プログラム)に含まれる各種命令を実行することにより、サーバ受信部331、記憶処理部332、及びサーバ送信部333として機能する。
【0056】
サーバ受信部331は、外部装置から送信された落葉期障害物データ等の各種データを、サーバ通信部31を介して受信する。記憶処理部332は、サーバ受信部331によって受信された各種データをサーバ記憶部32に記憶する。サーバ送信部333は、収穫ロボット2からの要求に応じて、又は、操作者による操作に応じて、サーバ記憶部32に記憶された落葉期障害物データ等の各種データを、サーバ通信部31を介して収穫ロボット2に送信する。
【0057】
(落葉期障害物データ抽出処理)
以下、
図5~
図7を参照して、落葉期障害物データ抽出処理の一例について説明する。落葉期障害物データ抽出処理は、収穫ロボット2のセンサ装置221によって取得されたセンサデータを用いて実行される。例えば、収穫対象の作物の樹木が落葉している時期に、収穫ロボット2が、当該樹木が植えられている圃場内を移動しているときに、収穫ロボット2のセンサ装置221が所定のタイミングでセンサデータを取得する。落葉期障害物データ抽出処理は、収穫ロボット2とは異なる外部装置によって実行されてもよい。例えば、外部装置は、収穫ロボット2のセンサ装置221及び処理部211cと同様の機能を備えており、落葉期障害物データ抽出処理は、操作者が外部装置を持って移動しつつ取得したセンサデータを用いて、移動中に又は移動後に外部装置によって実行されるものでもよい。
【0058】
図5は、処理部211cによって実行される落葉期障害物データ抽出処理の動作フローの一例を示す図である。
【0059】
まず、ステップS101において、処理部211cは、センサ装置221から出力されたセンサデータを取得する。センサ装置221は、所定時間ごと(例えば、1秒ごと)にセンサデータを出力してもよく、その場合、処理部211cは、センサ装置221からセンサデータが出力されるたびに、センサ装置221から出力されたセンサデータを取得する。
【0060】
センサデータには、撮影部221aから出力された撮影画像データ及び測定部221bから出力された深度データが含まれる。
図6(a)は、落葉している樹木が植えられている圃場内を撮影した撮影画像データの一例を示す図である。撮影画像データは、例えば、複数のピクセルによって構成された矩形形状の画像を表示するためのデータであり、各ピクセルには、色を表現するためのRGBデータが対応付けられている。また、
図6(b)は、
図6(a)に示される撮影画像データの撮影時に出力された深度データ(距離データ)の一例を示す模式図である。深度データ(距離データ)は、例えば、同時に撮影された撮影画像データと略同一の矩形形状を構成する複数のピクセルのそれぞれに対応する、センサ装置221からの距離を示す数値データの集合である。深度データの解像度は、撮影画像データと同一の解像度でも、撮影画像データとは異なる解像度でもよい。以下、樹木が落葉している時期に測定された深度データを、落葉期深度データと称する場合がある。
【0061】
次に、ステップS102において、処理部211cは、(ステップS101において取得された)センサデータに含まれる撮影画像データを取得する。
【0062】
次に、ステップS103において、処理部211cは、(ステップS102において取得された)撮影画像データ内の障害物画像領域を推定する。以下、処理部211cによって実行される障害物画像領域の推定処理の一例について説明する。
【0063】
処理部211cは、例えば、U-Net(Convolutional Networks for Biomedical Image Segmentation)をベースにした、深層学習によって生成された学習モデルを用いて、障害物画像領域の推定処理を実行する。
【0064】
U-Netは、撮影画像データを構成するピクセルごとに物体を認識する手法の一つであり、処理部211cは、撮影画像データ内の「枝」を示す画像領域を障害物画像領域として推定する。処理部211cは、「枝」を示す画像領域とともに、撮影画像データ内の枝を支える各種部材(支柱(パイプ、杭等)、ワイヤー、テープ、及び/又は紐等)を示す画像領域を障害物画像領域として推定してもよい。このように、処理部211cは、収穫の際に、エンドエフェクタシステム22及び/又はマニピュレータシステム23の移動の障害となる障害物を示す画像領域を障害物画像領域として推定する。
【0065】
図7(a)は、障害物画像領域を示す推定画像データの一例を示す図である。
図7(a)に示される推定画像データは、学習済みニューラルネットワークの入力層に入力された撮影画像データが
図6(a)に示される撮影画像データである場合において、学習済みニューラルネットワークの出力層から出力されたものである。推定画像データは、障害物を示すピクセルと、障害物以外を示すピクセルとが互いに異なる表示態様の画像データである。
【0066】
なお、学習モデルの生成処理は、収穫ロボット2の処理部211c、サーバ装置3のサーバ処理部33、又は、外部装置の処理部等で実行される。
【0067】
例えば、収穫ロボット2の操作者又は管理者等によって、複数の教師データが作成される。そして、複数の教師データを用いた深層学習が実行されることにより、ニューラルネットワークにおける各ニューロンの重みが学習された学習モデルが生成又は更新される。
【0068】
次に、ステップS104に戻り、処理部211cは、ステップS103において障害物画像領域が推定された(ステップS103において出力された推定画像データ内に障害物画像領域が存在する)か否かを判定する。
【0069】
ステップS103において障害物画像領域が推定されなかった場合(ステップS104-No)、処理部211cは、落葉期障害物データ抽出処理をステップS108に進める。
【0070】
ステップS103において障害物画像領域が推定された場合(ステップS104-Yes)、ステップS105において、処理部211cは、(ステップS101において取得された)センサデータに含まれる落葉期深度データを取得する。
【0071】
次に、ステップS106において、処理部211cは、(ステップS105において取得された)落葉期深度データに基づいて、落葉期3次元点群データを算出する。落葉期3次元点群データは、落葉期深度データの各ピクセルに対応する3次元位置データの集合である。
【0072】
落葉期3次元点群データの算出処理は、落葉期深度データの各ピクセルの位置及び深度データを、所定の位置座標系(例えば、緯度、経度及び高度で示される日本測地系2011等の地理座標系)に従った3次元位置データに同時変換することで、落葉期3次元点群データを算出する処理である。
【0073】
なお、落葉期3次元点群データの算出処理として、例えば、処理部211cは、SLAM(Simultaneous Localization and Mapping)又はSfM(Structure from Motion)等の公知の自己位置推定及び環境地図作成手法に基づいて、落葉期3次元点群データを算出する処理を実行してもよい。
【0074】
自己位置推定及び環境地図作成手法に基づく落葉期3次元点群データの算出処理が実行される場合、センサデータに含まれる深度データが用いられなくてもよい。この場合、処理部211cは、撮影位置の異なる複数の撮影画像データのみを用いて、SLAM又はSfM等に従って、2つの撮影画像データの撮影位置、複数の特徴点に対応する位置のそれぞれについての仮想3次元空間での相対位置を算出し、落葉期3次元点群データを算出してもよい。処理部211cは、自己位置推定及び環境地図作成手法に基づく落葉期3次元点群データの算出処理を実行する場合、センサデータの取得を開始してから通過した地点を再度通過することで、公知のキャリブレーション処理を実行してもよい(キャリブレーション処理の詳細は、特許第6525148号公報等を参照されたい。)。
【0075】
次に、
図5に示される落葉期障害物データ抽出処理のステップS107に戻り、処理部211cは、算出した落葉期3次元点群データから、落葉期障害物データを抽出する。例えば、処理部211cは、(ステップS105において取得された)落葉期深度データの測定対象空間と(ステップS103において推定された)推定画像データの撮影対象空間とが略同一となるように、落葉期深度データと推定画像データとを重畳する。次に、処理部211cは、落葉期深度データの各ピクセルのうち、推定画像データ内の障害物画像領域と重畳するピクセルを抽出する。処理部211cは、抽出されたピクセルに対応する落葉期3次元点群データを落葉期障害物データとして抽出する。
図7(b)は、
図6(b)に示される落葉期深度データに基づいて抽出された落葉期障害物データの一例を示す模式図である。
【0076】
次に、ステップS108において、処理部211cは、センサ装置221からのセンサデータの取得が終了したか否かを判定する。センサ装置221からの新たなセンサデータの取得があると判定された場合(ステップS108-No)、処理部211cは、落葉期障害物データ抽出処理をステップS101に戻す。また、センサ装置221からのセンサデータの取得が終了したと判定された場合(ステップS108-Yes)、処理部211cは、落葉期障害物データ抽出処理を終了する。
【0077】
落葉期障害物データ抽出処理が終了すると、処理部211cは、通信部211aを介して落葉期障害物データをサーバ装置3に送信する。サーバ装置3のサーバ受信部331は、サーバ通信部31を介して落葉期障害物データを受信し、記憶処理部332は、受信された落葉期障害物データをサーバ記憶部32に記憶する。なお、処理部211cは、落葉期障害物データをサーバ装置3に送信せずに、落葉期障害物データを記憶部211bに記憶してもよい。
【0078】
(収穫処理)
作物が収穫可能となった時に、収穫ロボット2による収穫が行われる。以下、
図8を参照して、収穫ロボット2が備える処理部211cによって実行される収穫処理の一例について説明する。なお、収穫処理が実行される前に、サーバ装置3のサーバ送信部333は、サーバ記憶部32に記憶された落葉期障害物データを、サーバ通信部31を介して収穫ロボット2に送信する。収穫ロボット2の処理部211cは、通信部211aを介して落葉期障害物データを受信し、受信した落葉期障害物データを記憶部211bに記憶する。なお、処理部211cは、記憶部211bに落葉期障害物データが記憶されている場合、サーバ装置3から落葉期障害物データを受信しなくてもよい。
【0079】
まず、ステップS201において、処理部211cは、センサ装置221から出力されたセンサデータを取得する。センサ装置221は、所定時間ごと(例えば、1秒ごと)にセンサデータを出力してもよく、その場合、処理部211cは、センサ装置221からセンサデータが出力されるたびに、センサ装置221から出力されたセンサデータを取得する。
【0080】
次に、ステップS202において、処理部211cは、(ステップS201において取得された)センサデータに含まれる撮影画像データを取得する。
【0081】
次に、ステップS203において、処理部211cは、(ステップS202において取得された)撮影画像データ内に収穫対象の作物が含まれるか否かを判定することより、作物の有無を検知する。以下、処理部211cによって実行される作物検知処理の一例について説明する。なお、検知対象の作物が「さくらんぼ」である場合を例にして説明する。
【0082】
まず、処理部211cは、センサ装置221にセンサデータの取得を指示する。なお、処理部211cは、照射装置224に光を照射させた状態で、センサ装置221にセンサデータの取得を指示してもよい。
【0083】
次に、処理部211cは、センサ装置221から取得したセンサデータに含まれる撮影画像データに基づいて、サクランボの果実に対応する候補画像領域を推定する。例えば、処理部211cは、公知のSVM(Support Vector Machine)をベースにした、機械学習によって生成された学習モデルを用いて、候補画像領域がサクランボの果実に対応する領域であるか否かの判定処理を実行する。
【0084】
処理部211cは、サクランボの果実に対応する候補画像領域が画像データ内にないと推定された場合(ステップS203-No)、処理部211cは、収穫処理をステップS209に進める。処理部211cは、サクランボの果実に対応する候補画像領域が画像データ内にあると推定された場合(ステップS203-Yes)、当該候補画像領域において、サクランボの果実に接続する果梗に対応する画像領域を、所定の学習モデルを用いて更に推定して、作物の位置を算出する(ステップS204)。
【0085】
例えば、ステップS204では、処理部211cは、候補画像領域から推定された果梗の3次元位置データ(カメラ座標系の3次元位置データ)を、作物の位置として出力する。例えば、処理部211cは、果梗に対応する画像領域の一又は複数のピクセルと深度データに示される深度値とに基づいて、果梗に対応する一又は複数のピクセルに対応するカメラ座標系の3次元座標(x,y,z)を算出する。そして、処理部211cは、算出した3次元座標(x,y,z)を示す3次元位置データを作物の位置として出力する。このように、処理部211cは、センサデータに基づいて収穫対象の作物を検知することを可能とする。
【0086】
なお、収穫対象の作物の判定として、例えば、SSD(Single Shot MultiBox Detector)又はYOLO(You Only Look Once)等のCNN(Convolutional Neural Network)をベースとした機械学習によって生成された学習モデルを用いて収穫対象の作物の判定処理が実行されてもよい。SSDによる物体認識手法は、W.Liu,D.Anguelov,D.Erhan,C.Szegedy, and S.E.Reed,“SSD:Single Shot Multibox Detector”,December 29,2016,[online],<https://arxiv.org./pdf/1512.02325.pdf>等を参照されたい。
【0087】
次に、ステップS205において、処理部211cは、収穫時障害物データ抽出処理を実行する。収穫時障害物データ抽出処理の詳細は後述する。
【0088】
次に、ステップS206において、処理部211cは、記憶部211bに記憶された落葉期障害物データを取得する。
【0089】
次に、ステップS207において、処理部211cは、取得された落葉期障害物データによって示される、所定の位置座標系の3次元座標(X,Y,Z)を、例えば、測定部221bのカメラパラメータを用いて、カメラ座標系の3次元座標(x,y,z)に変換することで、落葉期障害物データの位置(所定の位置座標系の3次元座標(X,Y,Z))を、現在のセンサ装置221の撮影方向における所定の視野角内の撮影対象空間(カメラ座標系の3次元空間)と合わせる。
【0090】
なお、自己位置推定及び環境地図作成手法に基づいて落葉期障害物データ及び撮影時障害物データが生成された場合、それぞれの障害物データに基づく3次元モデル(例えば、公知のサーフェスモデル)を生成し、両3次元モデルが略一致するように、落葉期障害物データを回転及び/又は移動させることで、落葉期障害物データの位置を、現在のセンサ装置221の撮影方向における所定の視野角内の撮影対象空間(カメラ座標系の3次元空間)と合わせてもよい。
【0091】
次に、ステップS208において、処理部211cは、位置合わせ処理後の落葉期障害物データと、ステップS205で抽出された収穫時障害物データとに基づいて、エンドエフェクタシステム22、マニピュレータシステム23、及び移動装置212を制御する収穫制御処理を実行する。収穫制御処理の詳細は後述する。
【0092】
次に、ステップS209において、処理部211cは、他の作物を収穫するか否かを判定する。例えば、処理部211cは、操作者による収穫指示に応じて、他の作物を更に収穫すると判定してもよい。この場合、処理部211cは、操作者による終了指示に応じて、他の作物の収穫を終了すると判定してもよい。
【0093】
他の作物を収穫すると判定された場合(ステップS209-Yes)、処理部211cは、収穫処理をステップS201に戻し、他の作物の収穫を終了すると判定された場合(ステップS209-No)、収穫処理を終了する。
【0094】
(収穫時障害物データ抽出処理)
以下、
図9~
図10を参照して、収穫時障害物データ抽出処理の一例について説明する。収穫時障害物データ抽出処理は、収穫処理のステップS205において、収穫ロボット2のセンサ装置221によって取得されたセンサデータを用いて実行される。例えば、収穫時において、収穫ロボット2が、収穫対象の作物が実っている樹木が植えられている圃場内を移動しているときに、収穫ロボット2のセンサ装置221が所定のタイミングでセンサデータを取得する。
【0095】
図9は、処理部211cによって実行される収穫時障害物データ抽出処理の動作フローの一例を示す図である。
【0096】
まず、ステップS301において、処理部211cは、(ステップS201において取得された)センサデータに含まれる撮影画像データを取得する。なお、ステップS301の処理は、ステップS102の処理と同様である。
図10(a)は、収穫時に収穫対象の作物を撮影した撮影画像データの一例を示す図である。
図10(b)は、
図10(a)に示される撮影画像データの撮影時に測定した収穫時深度データの一例を示す模式図である。
【0097】
次に、ステップS302において、処理部211cは、(ステップS301において取得された)撮影画像データ内の障害物画像領域を推定する。なお、ステップS302の処理は、ステップS103の処理と同様である。
図10(c)は、
図10(a)に示される撮影画像データから推定された障害物画像領域を示す推定画像データの一例を示す図である。
【0098】
次に、ステップS303において、処理部211cは、ステップS302において障害物画像領域が推定されたか否かを判定する。なお、ステップS303の処理は、ステップS104の処理と同様である。
【0099】
ステップS302において障害物画像領域が推定されなかった場合(ステップS303-No)、処理部211cは、収穫時障害物データ抽出処理を終了する。
【0100】
ステップS302において障害物画像領域が推定された場合(ステップS303-Yes)、ステップS304において、処理部211cは、(ステップS201において取得された)センサデータに含まれる収穫時深度データを取得する。なお、ステップS304の処理は、ステップS105の処理と同様である。
【0101】
次に、ステップS305において、処理部211cは、(ステップS304において取得された)収穫時深度データに基づいて、収穫時3次元点群データを算出する。例えば、収穫時3次元点群データは、収穫時深度データの各ピクセル及び各ピクセルの深度データから算出された、各ピクセルに対応するカメラ座標系の3次元座標(x,y,z)を示す3次元位置データである。
【0102】
そして、ステップS306において、処理部211cは、算出した収穫時3次元点群データから、収穫時障害物データを抽出して、収穫時障害物データ抽出処理を終了する。なお、ステップS306の処理は、ステップS107の処理と同様である。
図10(d)は、
図10(b)に示される収穫時深度データに基づいて抽出された収穫時障害物データの一例を示す模式図である。収穫時障害物データは、収穫時3次元位置データの一例である。収穫時障害物データ抽出処理によって抽出された収穫時障害物データは、「葉」を含まない樹木に対応する収穫時3次元点群データである。樹木の「葉」は、収穫ロボット2、エンドエフェクタシステム22及びマニピュレータシステム23の移動の障害とならない物体であり、処理部211cは、「葉」に対応する3次元点群データを含まない収穫時障害物データを生成することを可能とする。
【0103】
(収穫制御処理)
以下、
図11を参照して、収穫制御処理の一例について説明する。収穫制御処理は、収穫処理のステップS208において、処理部211cによって実行される。
【0104】
まず、ステップS401において、処理部211cは、エンドエフェクタシステム22を、現在の位置から、収穫対象の作物に対する摘取動作が可能な位置まで移動させた場合に、収穫ロボット2の少なくとも一部が障害物と衝突するか否かを判定する。収穫対象の作物は、ステップS204において出力された位置に対応する作物である。収穫ロボット2の少なくとも一部は、例えば、エンドエフェクタシステム22及びマニピュレータシステム23の一部である。
【0105】
まず、処理部211cは、落葉期障害物データ及び収穫時障害物データの少なくとも一方に基づいて、障害物の位置及び障害物の形状の少なくとも一方を推定する。例えば、処理部211cは、落葉期障害物データ及び収穫時障害物データのそれぞれの各3次元位置データに基づいて、公知のサーフェスモデルを生成する。サーフェスモデルは、所定の立体オブジェクト(例えば円筒形オブジェクト)データによって示されるものでもよく、また、表面をポリゴンによって表現したポリゴンデータによって示されるものでもよい。このように、サーフェスモデルが生成されることで、障害物の位置及び障害物の形状が推定される。
【0106】
次に、処理部211cは、エンドエフェクタシステム22の移動に伴う、エンドエフェクタシステム22及びマニピュレータシステム23の移動経路を算出する。そして、処理部211cは、生成したサーフェスモデルと算出した移動経路とが交差するか否かを判定する。処理部211cは、生成したサーフェスモデルと算出した移動経路とが交差すると判定した場合、収穫ロボット2の少なくとも一部が、障害物と衝突すると判定する。また、処理部211cは、生成したサーフェスモデルと算出した移動経路とが交差しないと判定した場合、収穫ロボット2の少なくとも一部が、障害物と衝突しないと判定する。なお、処理部211cは、落葉期障害物データ及び収穫時障害物データの少なくとも一方と、算出した移動経路とが交差するか否かを判定してもよい。この場合、処理部211cは、落葉期障害物データ及び収穫時障害物データの少なくとも一方と、算出した移動経路とが交差すると判定した場合、収穫ロボット2の少なくとも一部が、障害物と衝突すると判定し、また、落葉期障害物データ及び収穫時障害物データの少なくとも一方と、算出した移動経路とが交差しないと判定した場合、収穫ロボット2の少なくとも一部が、障害物と衝突しないと判定する。
【0107】
収穫ロボット2の少なくとも一部が障害物と衝突すると判定された場合(ステップS401-Yes)、ステップS402において、処理部211cは、移動装置212、駆動装置251、マニピュレータシステム23及び駆動装置222の少なくとも一つに、回避制御指示を通知し、ステップS401に処理を戻す。
【0108】
例えば、処理部211cは、マニピュレータシステム23を移動させるためのエンドエフェクタシステム22及びマニピュレータシステム23の複数の動作(移動経路)のうち、収穫ロボット2が障害物と衝突しない動作があると判定すると、当該動作の制御情報に従って、駆動装置251、マニピュレータシステム23及び駆動装置222の少なくとも一つを制御する。また、現在の収穫ロボット2の位置から、エンドエフェクタシステム22を、摘取動作が可能な位置まで移動させた場合、収穫ロボット2の少なくとも一部が障害物と必ず衝突するような場合、処理部211cは、移動装置212に移動指示を通知し、台車21を移動させることにより収穫ロボット2の位置を変更する。
【0109】
収穫ロボット2の少なくとも一部が障害物と衝突しないと判定された場合(ステップS401-No)、ステップS403において、処理部211cは、駆動装置251、マニピュレータシステム23及び駆動装置222の少なくとも一つに、収穫制御指示を通知し、収穫制御処理を終了する。収穫制御処理により、マニピュレータシステム23は、作物の摘取動作が可能な位置に移動し、摘取装置223は所定の摘取動作を実行することが可能となる。
【0110】
なお、収穫制御処理は、収穫時障害物データを用いずに、落葉期障害物データのみを用いて実行されてもよい。
【0111】
以上、詳述したとおり、本実施形態の収穫システム1は、収穫対象の作物の樹木が落葉している時期に取得したセンサデータを用いて、収穫の障害となる障害物の有無を判定する。これにより、本実施形態の収穫システム1において、障害物が樹木の葉に隠れてしまうことで、当該障害物が検知されず、収穫ロボット2が障害物と衝突してしまう事故を、未然に防止することが可能となる。
【0112】
(変形例1)
落葉期障害物データ抽出処理(
図5)において、収穫時3次元点群データに花芽の位置を示す花芽位置データを追加するデータ追加ステップが含まれてもよい。例えば、センサ装置221からのセンサデータの取得が終了したと判定された場合(ステップS108-Yes)にデータ追加ステップが実行される。データ追加ステップは、例えば、機械学習によって生成された学習モデル(例えば、公知のSVMに基づくモデル)によって、撮影画像データ内に花芽の位置が存在するか否かが判定され、花芽の位置が存在すると判定された場合に、当該位置に対応する収穫時3次元点群データに花芽の位置を示すラベルが付与される処理である。なお、データ追加ステップは、操作者が収穫時3次元点群データに花芽の位置に関する花芽位置データを追加する操作処理でもよい。
【0113】
収穫時3次元点群データに花芽位置データが追加された場合、例えば、収穫処理のステップS203において、撮影画像データ内に花芽位置データがあるか否かに応じて、撮影画像データ内に収穫対象の作物が含まれるか否かが判定されてもよい。また、収穫処理のステップS204において、花芽位置データが作物の位置として出力されてもよい。
【0114】
このように、収穫時3次元点群データに花芽位置データが追加されることにより、撮影画像データ内に作物の存否が認識できないような場合であっても、作物の位置を推定することが可能となる。
【0115】
(変形例2)
本実施形態の収穫システム1において使用される「落葉期3次元位置データ」の「落葉期」は、収穫時の1年以上前の「落葉期」であってもよい。
【符号の説明】
【0116】
1 収穫システム
2 収穫ロボット
21 台車
211 制御装置
211a 通信部
211b 記憶部
211c 処理部
212 移動装置
22 エンドエフェクタシステム
221 センサ装置
221a 撮影部
221b 測定部
222 駆動装置
223 摘取装置
224 照射装置
23 マニピュレータシステム
24 車輪
25 支持部材
251 駆動装置
3 サーバ装置
31 サーバ通信部
32 サーバ記憶部
33 サーバ処理部
331 サーバ受信部
332 記憶処理部
333 サーバ処理部