IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社安川電機の特許一覧

特開2024-34260葉の採取装置、葉の採取装置の制御方法、及び、プログラム
<>
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図1
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図2
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図3
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図4
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図5
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図6
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図7
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図8
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図9
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図10
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図11
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図12
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図13
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図14
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図15
  • 特開-葉の採取装置、葉の採取装置の制御方法、及び、プログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024034260
(43)【公開日】2024-03-13
(54)【発明の名称】葉の採取装置、葉の採取装置の制御方法、及び、プログラム
(51)【国際特許分類】
   A01D 46/30 20060101AFI20240306BHJP
   B25J 5/00 20060101ALI20240306BHJP
   B25J 13/08 20060101ALI20240306BHJP
【FI】
A01D46/30
B25J5/00 A
B25J13/08 A
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022138389
(22)【出願日】2022-08-31
(71)【出願人】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100145012
【弁理士】
【氏名又は名称】石坂 泰紀
(74)【代理人】
【識別番号】100171099
【弁理士】
【氏名又は名称】松尾 茂樹
(74)【代理人】
【識別番号】100212026
【弁理士】
【氏名又は名称】中村 真生
(72)【発明者】
【氏名】伊藤 俊樹
(72)【発明者】
【氏名】小▲崎▼ 聖那
(72)【発明者】
【氏名】戸畑 享大
(72)【発明者】
【氏名】松村 好優
(72)【発明者】
【氏名】西村 礼貴
(72)【発明者】
【氏名】永井 雅人
【テーマコード(参考)】
2B075
3C707
【Fターム(参考)】
2B075JF01
2B075JF02
2B075JF05
2B075JF06
2B075JF07
2B075JF09
3C707AS22
3C707BS10
3C707CS04
3C707CS08
3C707DS01
3C707FS01
3C707KS03
3C707KS04
3C707KS36
3C707KT02
3C707KT04
3C707LU01
3C707LW12
3C707WA16
3C707WA20
(57)【要約】
【課題】作業の効率化を図る。
【解決手段】本開示の一側面に係る葉の採取装置は、開口を介して内部空間に作物の葉を吸引して、作物から葉を採取するように構成されたエンドエフェクタと、作物に対するエンドエフェクタの相対的な位置を変更するように構成されたロボットと、エンドエフェクタ及びロボットを制御するように構成されたコントローラと、を備える。コントローラは、開口が作物の葉に含まれる葉身の表面を向く作業開始位置にエンドエフェクタを移動させる第1制御と、作業開始位置から作物の葉に向かってエンドエフェクタを移動させる第2制御と、を実行するように構成されている。
【選択図】図8
【特許請求の範囲】
【請求項1】
開口を介して内部空間に作物の葉を吸引して、前記作物から葉を採取するように構成されたエンドエフェクタと、
前記作物に対する前記エンドエフェクタの相対的な位置を変更するように構成されたロボットと、
前記エンドエフェクタ及び前記ロボットを制御するように構成されたコントローラと、を備え、
前記コントローラは、
前記開口が前記作物の葉に含まれる葉身の表面を向く作業開始位置に前記エンドエフェクタを移動させる第1制御と、
前記作業開始位置から前記作物の葉に向かって前記エンドエフェクタを移動させる第2制御と、を実行するように構成されている、葉の採取装置。
【請求項2】
前記コントローラは、前記第2制御を実行する際に、前記作業開始位置から、前記作物の葉における葉身と葉柄との接続部分に向かって前記エンドエフェクタを移動させるように前記ロボットを制御する、請求項1に記載の採取装置。
【請求項3】
前記コントローラは、前記第1制御を実行する際に、前記作業開始位置に前記エンドエフェクタが配置された状態において、前記開口に垂直な方向から見て、前記作物の葉における葉身と葉柄との接続部分が前記開口と重なるように前記ロボットを制御する、請求項1に記載の採取装置。
【請求項4】
前記作物の葉を含む視野を撮像するように構成された撮像部を更に備え、
前記コントローラは、前記撮像部により得られる撮像画像に基づいて、前記第1制御及び前記第2制御を実行するように構成されている、請求項1~3のいずれか一項に記載の採取装置。
【請求項5】
前記コントローラは、
前記撮像部により得られる前記撮像画像に基づいて、前記作物の葉に含まれる葉身の向きを推定することと、
葉身の向きの推定結果に基づいて、前記作業開始位置と、前記作業開始位置から対象の葉に対して接近する方向とを演算することと、を実行するように構成されている、請求項4に記載の採取装置。
【請求項6】
前記コントローラは、撮像して得られる画像の入力に応じて前記画像内に含まれる葉を検出すると共に、検出した葉に含まれる葉身の向きを示す情報を出力するように機械学習により予め構築された推定モデルと、前記撮像部により得られる前記撮像画像とに基づいて、前記作物の葉に含まれる葉身の向きを推定するように構成されている、請求項5に記載の採取装置。
【請求項7】
前記推定モデルは、前記画像内に含まれる葉における葉身と葉柄との接続部分を更に検出するように構築されている、請求項6に記載の採取装置。
【請求項8】
前記コントローラは、前記作物を撮像して得られる複数の学習用画像と、前記複数の学習用画像内それぞれに含まれる葉身の向きを示す正解データとに基づく機械学習を実行して、前記推定モデルを構築するように構成されている、請求項6に記載の採取装置。
【請求項9】
前記作物は、所定方向に沿って並ぶように植えられており、
前記採取装置は、
前記エンドエフェクタが取り付けられた前記ロボットを前記所定方向に沿って移動させるように走行可能な台車と、
前記作物に含まれる複数の葉を含む視野を撮像するように構成された撮像部と、を更に備え、
前記コントローラは、前記台車及び前記撮像部を更に制御するように構成されており、
前記コントローラは、前記台車の走行を継続させている状態で、
前記撮像部に撮像を実行させる第1処理と、
前記第1処理での前記撮像部の撮像により得られる撮像画像内に含まれる複数の葉について、前記作物から採取する作業の実行順を決定する第2処理と、
前記第2処理で決定された実行順に従って、前記エンドエフェクタ及び前記ロボットの動作により前記作物に対して葉を採取する作業を行う第3処理と、を実行するように構成されている、請求項1~3のいずれか一項に記載の採取装置。
【請求項10】
前記コントローラは、前記第2処理において、前記所定方向における葉の位置と、前記所定方向に直交する方向における葉の位置とに基づいて、前記撮像画像内に含まれる複数の葉のうちの最初に採取する対象の葉を決定する、請求項9に記載の採取装置。
【請求項11】
前記コントローラは、前記第2処理において、
前記撮像画像内に含まれる複数の葉のそれぞれについて、前記エンドエフェクタを接近させる方向を演算することと、
前記エンドエフェクタを接近させる方向に基づいて、前記撮像画像内に含まれる複数の葉のうちの2番目に採取する対象の葉を決定することと、を実行する、請求項10に記載の採取装置。
【請求項12】
前記コントローラは、前記台車の走行に応じて、前記第1処理、前記第2処理、及び、前記第3処理を含む一連の処理を繰り返すように構成されている、請求項9に記載の採取装置。
【請求項13】
前記作物のうち前記台車の前方に位置する部分を撮像するように構成された第2撮像部を更に備え、
前記コントローラは、
前記第2撮像部に撮像を実行させて得られる第2撮像画像内に含まれる葉の密度を算出することと、
前記第2撮像画像における葉の密度の算出結果に基づいて、前記台車の移動速度を調節することと、を実行するように構成されている、請求項9に記載の採取装置。
【請求項14】
開口を介して内部空間に作物の葉を吸引して、前記作物から葉を採取するように構成されたエンドエフェクタと、前記作物に対する前記エンドエフェクタの相対的な位置を変更するように構成されたロボットと、を備える葉の採取装置の制御方法であって、
前記開口が前記作物の葉に含まれる葉身の表面を向く作業開始位置に前記ロボットにより前記エンドエフェクタを移動させる第1制御と、
前記作業開始位置から前記作物の葉に向かって前記ロボットにより前記エンドエフェクタを移動させる第2制御と、を含む、葉の採取装置の制御方法。
【請求項15】
請求項14に記載の制御方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、葉の採取装置、葉の採取装置の制御方法、及び、プログラムに関する。
【背景技術】
【0002】
特許文献1には、作物から葉を採取するための装置が開示されている。この装置は、作物を観察するためのカメラと、カメラが接続されている中央処理装置と、中央処理装置によって制御可能である剥離手段が取り付けられた可動のトロリーとを備える。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2011-516093号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、作業の効率化に有用な葉の採取装置、葉の採取装置の制御方法、及び、プログラムを提供する。
【課題を解決するための手段】
【0005】
本開示の一側面に係る葉の採取装置は、開口を介して内部空間に作物の葉を吸引して、作物から葉を採取するように構成されたエンドエフェクタと、作物に対するエンドエフェクタの相対的な位置を変更するように構成されたロボットと、エンドエフェクタ及びロボットを制御するように構成されたコントローラと、を備える。コントローラは、開口が作物の葉に含まれる葉身の表面を向く作業開始位置にエンドエフェクタを移動させる第1制御と、作業開始位置から作物の葉に向かってエンドエフェクタを移動させる第2制御と、を実行するように構成されている。
【0006】
本開示の一側面に係る葉の採取装置の制御方法は、開口を介して内部空間に作物の葉を吸引して、作物から葉を採取するように構成されたエンドエフェクタと、作物に対するエンドエフェクタの相対的な位置を変更するように構成されたロボットと、を備える葉の採取装置の制御方法である。この制御方法は、開口が作物の葉に含まれる葉身の表面を向く作業開始位置にロボットによりエンドエフェクタを移動させる第1制御と、作業開始位置から作物の葉に向かってロボットによりエンドエフェクタを移動させる第2制御と、を含む。
【発明の効果】
【0007】
本開示によれば、作業の効率化に有用な葉の採取装置、葉の採取装置の制御方法、及び、プログラムが提供される。
【図面の簡単な説明】
【0008】
図1図1は、葉の採取装置の一例を示す模式図である。
図2図2は、採取対象の葉の一例を示す写真である。
図3図3は、採取装置による作業の様子の一例を模式的に示す平面図である。
図4図4は、エンドエフェクタの一例を模式的に示す斜視図である。
図5図5は、エンドエフェクタの内部の一例を模式的に示す側面図である。
図6図6は、エンドエフェクタの正面の一例を模式的に示す側面図である。
図7図7は、コントローラの機能構成の一例を示すブロック図である。
図8図8(a)、図8(b)、及び図8(c)は、葉の採取作業の様子の一例を示す模式図である。
図9図9は、撮像画像からの葉の検出方法の一例を説明するための写真である。
図10図10は、葉へ接近する方向の一例を説明するための模式図である。
図11図11は、葉の採取順の決定方法の一例を説明するための模式図である。
図12図12(a)及び図12(b)は、葉の採取順の決定方法の一例を説明するための模式図である。
図13図13は、吸引部における回転速度及びトルク指令値の時間変化の一例を示すグラフである。
図14図14は、採取装置の制御方法の一例を示すフローチャートである。
図15図15は、コントローラのハードウェア構成の一例を示すブロック図である。
図16図16(a)は、アプローチ方向を説明するための写真を用いた模式図である。図16(b)は、アプローチ角度を説明するための写真を用いた模式図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して一実施形態について説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【0010】
[葉の採取装置]
図1図3を参照して、一実施形態に係る葉の採取装置の概要及び作業対象の作物について最初に説明する。図1に示される葉の採取装置1は、作物200から1以上の葉を採取するための作業の少なくとも一部を自動で実行する装置(システム)である。葉の採取装置1が、葉を採取するための作業(以下、「採取作業」という。)を実行することで、作物200から1以上の葉が取り除かれる。採取作業の対象物(ワーク)である作物200は、例えば、きゅうり等の果菜類、又は、いちご等の果実的野菜である。ワークの状態が一定である工業製品に対して、ワークが作物200(自然物、農作物)である場合、環境等の成育状況及び個体差によって種々の状態が想定され、その種々の状態に合わせて採取作業を実行する必要がある。本開示では、作物200が、きゅうりである場合を例にして、葉の採取装置1を説明する。
【0011】
採取作業によって採取される葉210(作物の葉)は、主茎202に直接又は間接的に接続されている。図2に示されるように、葉210には、葉身212と葉柄214とが含まれる。葉の採取装置1による葉210に対する採取作業では、葉身212と、葉柄214の少なくとも一部とが作物200から採取される。図3に示されるように、作物200は、水平な一方向(所定方向)に沿って並ぶように植えられていてもよい。作物200は、例えば、グリーンハウス内において、水平な一方向に沿って延びる棚290上に植えられている。作物200は、棚290上において水平な一方向に沿って並ぶ複数の株201(苗)を含む。作物200に含まれる複数の株201は、略一定の間隔で並んで植えられていてもよい。作物200における1つの株201には、1以上の葉210が存在する。図3においては、作物200に含まれる複数の株201が並ぶ方向が「X軸」で表され、X軸方向に対して垂直であり、且つ水平な一方向が「Y軸」で表されている。X軸及びY軸で構成される平面(X-Y平面)に対して垂直な方向が、上下方向に相当する。
【0012】
図1に戻り、葉の採取装置1は、例えば、ロボット2と、エンドエフェクタ50と、回収部4と、走行台車6と、第1計測部8と、第2計測部9と、コントローラ100と、を備える。以下、葉の採取装置1を構成する複数のユニット(装置)それぞれについて、その一例を説明する。
【0013】
(ロボット)
ロボット2は、作物200に対するエンドエフェクタ50の相対的な位置を変更する装置である。ロボット2は、作物200に対して、エンドエフェクタ50の相対的な位置及び姿勢を変更してもよい。ロボット2は、例えば、6軸の垂直多関節ロボットであり、基部11と、旋回部12と、第1アーム13と、第2アーム14と、第3アーム17と、先端部18と、アクチュエータ41,42,43,44,45,46とを有する。基部11は、走行台車6上に設置されている。これにより、走行台車6の移動に伴って、ロボット2全体が移動する。
【0014】
旋回部12は、鉛直な軸線21まわりに回転するように基部11上に設けられている。第1アーム13は、軸線21に交差(例えば直交)する軸線22まわりに回転するように旋回部12に接続されており、軸線22から離れる方向に向かって延びている。本開示において、交差は、所謂立体交差のようにねじれの関係にある場合も含む。
【0015】
第2アーム14は、軸線22に実質的に平行な軸線23まわりに回転するように第1アーム13の先端部に接続されており、軸線23から離れる方向に向かって延びている。第2アーム14は、アーム基部15とアーム端部16とを含む。アーム基部15は、第1アーム13の先端部に接続されている。アーム端部16は、軸線23に交差(例えば直交)する軸線24まわりに回転するようにアーム基部15の先端部に接続されており、軸線24に沿ってアーム基部15から離れる方向に向かって延びている。
【0016】
第3アーム17は、軸線24に交差(例えば直交)する軸線25まわりに回転するようにアーム端部16の先端部に接続されている。先端部18は、軸線25に交差(例えば直交)する軸線26まわりに回転するように第3アーム17の先端部に接続されている。先端部18には、ロボット2による動作対象としてエンドエフェクタ50(葉の採取用エンドエフェクタ)が取り付けられている。
【0017】
以上のように、ロボット2は、基部11と旋回部12とを接続する関節31と、旋回部12と第1アーム13とを接続する関節32と、第1アーム13と第2アーム14とを接続する関節33と、第2アーム14においてアーム基部15とアーム端部16とを接続する関節34と、アーム端部16と第3アーム17とを接続する関節35と、第3アーム17と先端部18とを接続する関節36とを有する。
【0018】
アクチュエータ41,42,43,44,45,46は、例えば電動モータ及び減速機を含み、関節31,32,33,34,35,36をそれぞれ駆動する。例えばアクチュエータ41は軸線21まわりに旋回部12を回転させ、アクチュエータ42は軸線22まわりに第1アーム13を回転させ、アクチュエータ43は軸線23まわりに第2アーム14を回転させる。また、アクチュエータ44は軸線24まわりにアーム端部16を回転させ、アクチュエータ45は軸線25まわりに第3アーム17を回転させ、アクチュエータ46は軸線26まわりに先端部18を回転させる。
【0019】
なお、ロボット2の具体的な構成は適宜変更可能である。例えばロボット2は、上記6軸の垂直多関節ロボットに更に1軸の関節を追加した7軸の冗長型ロボットであってもよく、所謂スカラー型の多関節ロボットであってもよい。
【0020】
(エンドエフェクタ)
エンドエフェクタ50は、作物200から葉210を採取する装置(ツール)である。エンドエフェクタ50は、ロボット2に対して取り付け可能に形成されている。エンドエフェクタ50は、自身が形成する内部空間(以下、「内部空間S」と表記する。)に開口を介して葉210を吸引して、作物200から葉210を採取するように構成されている。エンドエフェクタ50は、内部空間Sに吸引して取り込んだ葉210を切断する機能を有してもよい。エンドエフェクタ50は、内部空間Sに吸引して取り込んだ葉210を細断(粉砕)する機能を有してもよい。図4図6には、エンドエフェクタ50の一例が模式的に示されている。エンドエフェクタ50は、図4及び図5に示されるように、例えば、ケース部材52と、吸引部60と、切断部材80と、保護部材88と、を有する。
【0021】
ケース部材52は、葉210を取り込むための空間である内部空間Sを形成する部材である。内部空間Sは、1つの葉210に含まれる葉柄214の一部と葉身212とを収容できる程度に形成されている。ケース部材52は、全体として筒状に形成されている。ケース部材52は、円筒状に形成されていてもよい。ケース部材52は、一方向に延びるように形成されており、その延在方向における両端部の一方の端部(一端及びその近傍)において、内部空間Sが開放されている。ケース部材52の延在方向における一方の端部を「端部54」と表記し、他方の端部を「端部56」と表記する(図5を参照)。
【0022】
端部54には、内部空間Sを開放するように、開口54aが設けられている。開口54aを介して、内部空間Sとケース部材52の外の空間とが接続されている。開口54aを介して、内部空間Sに葉210を取り込むことが可能である。端部54は、エンドエフェクタ50(ケース部材52)において先端部を構成する。すなわち、エンドエフェクタ50の先端部には、開口54aが設けられている。端部56が、ロボット2の上記先端部18に取り付けられていてもよい。なお、図4図6では、エンドエフェクタ50が簡素化されて描かれており、ケース部材52の径(延在方向に直交する断面における内径及び外径)が、ケース部材52の延在方向における位置によって異なっていてもよい。一例では、端部54は、内部空間Sの内部から外に向かうにつれて、径が大きくなるように形成されていてもよい。
【0023】
吸引部60は、作物200の葉210を開口54aから内部空間Sに吸引して取り込むように吸引力を発生させる部分(ユニット)である。吸引部60が吸引力を発生させた状態で、エンドエフェクタ50の先端部における開口54aが、葉210に近づくことで、その葉210が内部空間Sに吸引されて取り込まれる。吸引部60は、例えば、羽根車62と、駆動部70と、を含む。駆動部70によって、羽根車62(インペラ)が回転することで、内部空間Sにおいて吸引力が発生する。
【0024】
羽根車62は、例えば、内部空間Sに配置されており、開口54aに交差する軸線(以下、「軸線Ax1」という。)まわりに回転可能に設けられている。軸線Ax1は、開口54aに対して直交していてもよい。軸線Ax1は、開口54aの略中心を通るように設定されていてもよい。羽根車62は、端部54と端部56との間において、端部56寄りに配置されていてもよい。羽根車62は、ケース部材52に対して回転可能に取り付けられ、軸線Ax1に沿って延びる軸部材64と、複数の羽根66によって構成される回転体68と、を含んでもよい。回転体68(羽根車62)が軸線Ax1まわりに回転することで、軸線Ax1を中心とする円周の径方向の外側に向かう気体の流れが生じ、その結果、内部空間Sにおいて吸引力が発生する。ケース部材52の周壁には、回転体68が配置される位置において、排出部58が接続されている(図4も参照)。排出部58は、羽根車62によって形成される外側に向かう気体の流路を形成する。
【0025】
羽根車62は、内部空間Sに取り込まれた葉210を細断可能に形成されていてもよい。この場合、羽根車62は、内部空間Sにおいて、吸引力を発生する機能と、葉210を細断する機能との両方を有する。羽根車62は、葉210よりも硬い材料(例えば、金属、又は樹脂)によって形成されてもよい。内部空間Sに取り込まれた葉210が、回転している回転体68に接触することによって、葉210の葉身212及び葉柄214が細断(粉砕)されて、排出部58を介して内部空間Sの外に排出される。
【0026】
駆動部70は、内部空間Sにおいて吸引力を発生させるように羽根車62を駆動する。駆動部70は、例えば、駆動モータ72と、固定部材74と、伝達部材76と、を含む。駆動モータ72は、駆動源であり、羽根車62を駆動するための駆動力を発生させる。固定部材74は、駆動モータ72をケース部材52に固定する部材である。固定部材74の一端は、例えば、ケース部材52の端部56の外周面に接続されている。固定部材74の他端に、駆動モータ72が接続されており、駆動モータ72とケース部材52との間には、空間が形成されていてもよい。伝達部材76は、駆動モータ72による駆動力を、羽根車62(羽根車62の軸部材64)に伝達する部材である。伝達部材76は、例えば、ベルト、プーリ、及び減速機を含む。
【0027】
切断部材80は、内部空間Sに取り込まれた葉210を切断可能な部材である。切断部材80は、開口54aに交差する軸線(以下、「軸線Ax2」という。)まわりに回転可能となるように、ケース部材52の軸線Ax2を囲む周壁53に設けられていてもよい。軸線Ax2(第2軸線)は、軸線Ax1に略一致していてもよい。図4及び図5に示される例において、周壁53は、ケース部材52のうちの上記延在方向に延びる円筒状の部分であり、軸線Ax2まわりの円周に沿う内面(内壁面)を含む。周壁53の開放された一方の端部が、上記端部54に相当する。切断部材80の少なくとも一部は、軸線Ax2が延びる方向から開口54aを見て開口54aの周縁部に位置しており、周壁53の内面に沿って移動(回転)可能である。切断部材80は、軸線Ax2が延びる方向において、羽根車62と開口54aとの間に配置されている。切断部材80は、羽根車62と開口54aとの間において開口54a寄りに配置されていてもよく、図5に示されるように、端部54(周壁53の一端部)に設けられていてもよい。切断部材80は、例えば、それぞれが軸線Ax2に交差する方向に沿って延びる複数の刃84と、複数の刃84を支持し、ケース部材52に回転可能に設けられた支持部材82と、を含む。複数の刃84は、図6に示されるように、軸線Ax2まわりの円周において、互いに異なる位置に設けられている。複数の刃84それぞれは、軸線Ax2まわりの円周(周壁53の内面)に沿って延びるように形成されている。複数の刃84それぞれは、刃先の少なくとも一部が内側(周壁53の内面から軸線Ax2に向かう方向)を向くように支持部材82に取り付けられている。
【0028】
上記吸引部60の駆動部70が、軸線Ax2まわりに回転させるように切断部材80を更に駆動してもよい。駆動部70の伝達部材76は、駆動モータ72による駆動力を、羽根車62と切断部材80との両方に伝達してもよい。駆動部70は、羽根車62と切断部材80とを互いに逆向きに回転させてもよい。図6において、羽根車62が回転する方向が「R1」で示されており、切断部材80が回転する方向が「R2」で示されている。エンドエフェクタ50を正面から見たときに(内部空間Sの外から開口54aを見たときに)、方向R1が時計回りである場合、方向R2は反時計回りであってもよい。図6に示される例とは異なり、方向R1が反時計回りであり、方向R2が時計回りであってもよい。
【0029】
保護部材88は、作物200のうちの採取対象の葉210以外の部分が複数の刃84に接触して、損傷するのを防ぐための部材である。保護部材88は、内部空間Sの外から開口54aを見たときに、切断部材80を覆うように周壁53(例えば、端部54)に設けられている。この場合、軸線Ax2が延びる方向において、保護部材88、切断部材80(複数の刃84)、及び羽根車62が、この順で並んでいる。保護部材88は、軸線Ax2まわりの円周に沿って延びるように環状に形成されている。開口54aに垂直な方向(例えば、軸線Ax2が延びる方向)から開口54aを見た場合に、保護部材88は、複数の刃84それぞれの全体を覆っていてもよい。この場合、軸線Ax2と刃84との最短距離は、軸線Ax2と保護部材88との最短距離よりも大きい。
【0030】
保護部材88は、軸線Ax2に交差する方向において伸縮可能に形成されている。保護部材88に外力が加わっていない状態では、保護部材88は、刃84の全体を覆っている。保護部材88は、軸線Ax2を中心とした円周の径方向における外側に力が作用したときに、その径方向において縮むように形成されている。保護部材88は、刃84を形成する材料よりも柔らかい材料(例えば、スポンジ、又はゴム)によって形成されている。切断部材80によって葉210を切断する際には、例えば、内部空間Sに葉210の葉柄214が取り込まれた後に、切断部材80が回転している状態で、エンドエフェクタ50が軸線Ax2に交差する方向に沿って移動する。エンドエフェクタ50が軸線Ax2に交差する方向に沿って移動することで、葉柄214が、保護部材88に接触して、保護部材88が上記径方向に沿って縮小するように保護部材88に対して外力を加える。その結果、複数の刃84の刃先が保護部材88よりも露出して、葉柄214が、回転している複数の刃84に接触して切断される。
【0031】
(回収部)
図1に戻り、回収部4は、エンドエフェクタ50によって採取された葉210を回収するユニットである。回収部4は、例えば、エンドエフェクタ50によって切断され、細断された後の葉210(葉の細粉)を回収する。回収部4は、例えば、細断後の葉210を収容する袋と、その袋とエンドエフェクタ50の排出部58の排出口とを接続する管(ホース)とを有する。回収部4において回収された細断後の葉210は、走行台車6によってロボット2と共に運ばれる。
【0032】
(走行台車)
走行台車6は、エンドエフェクタ50が取り付けられたロボット2を移動させるように走行可能な台車である。走行台車6は、図3に示されるように、例えば、葉210に含まれる複数の株201が並んでいる方向(図3ではX軸方向)に沿って走行可能である。走行台車6は、走行用の駆動源であるモータを有し、葉210に含まれる複数の株201が並んでいる方向に延びるレール7上を走行してもよい。走行台車6が走行することで、作物200に対するロボット2の基部11の相対的な位置が変化する。
【0033】
(第1計測部)
第1計測部8(撮像部)は、作物200のうちの採取対象の葉を検出するためのデータを計測するユニットである。第1計測部8は、作物200の葉210を含む視野を撮像する機能を有する。第1計測部8が撮像可能な視野を、「撮像範囲PR1」と表記する。撮像範囲RP1は、作物200の複数の葉210が含まれる程度に設定される。撮像範囲PR1は、作物200のうちの複数の株201が含まれる程度の範囲に設定されていてもよい。第1計測部8は、撮像範囲RP1における距離(深度)を測定する機能を更に有する。第1計測部8は、図1に示されるように、固定部材8aを介して、走行台車6に固定されている。走行台車6が走行するのに応じて、撮像範囲RP1の位置が移動する。一方、走行台車6が移動しても、ロボット2の基部11と、第1計測部8との相対的な位置は変化しない。
【0034】
第1計測部8は、例えば、画像センサと、距離センサと、を有する。第1計測部8の画像センサは、撮像範囲RP1を可視化するための画像データを取得可能なセンサ(カメラ)である。第1計測部8の画像センサは、例えば、可視光、又は、可視光以外の光(例えば、赤外線)を用いて撮像範囲RP1を撮像する。第1計測部8の距離センサは、撮像範囲PR1における距離データ(深度マップ)を取得可能なセンサである。第1計測部8の距離センサは、撮像範囲PR1に存在する物体における複数箇所それぞれの距離(センサからの距離)を示すデータを取得する。第1計測部8の距離センサは、例えば、TOF(Time of Flight)センサである。
【0035】
図3に示される例において、第1計測部8の各種センサは、Y軸方向を向くように設けられてもよく、Y軸方向に対して傾斜した方向を向くように設けられてもよい。第1計測部8は、Y軸方向に対して互いに異なる角度を向く複数組の画像センサ及び距離センサを有してもよい。第1計測部8の各種センサは、X軸方向(走行台車6が走行する方向)において、撮像範囲PRの少なくとも一部が、走行台車6の少なくとも一部と重なるように設置されてもよい。第1計測部8は、取得した画像データ及び距離データをコントローラ100に出力する。
【0036】
(第2計測部)
第2計測部9(第2撮像部)は、作物200のうちの走行台車6の前方に位置する部分の状態を検出するユニットである。第2計測部9は、作物200のうちの走行台車6の前方に位置する部分を含む視野を撮像する機能を有する。第2計測部9が撮像可能な視野を、「撮像範囲PR2」と表記する。走行台車6の前方とは、走行台車6が走行する方向(X軸方向)において、走行台車6がこれから進行する向きである。X軸方向において、撮像範囲PR2は、走行台車6と重ならないように設定されてもよい。第2計測部9は、図1に示されるように、固定部材9aを介して、走行台車6に固定されている。走行台車6が走行するのに応じて、撮像範囲PR2の位置が移動する。第2計測部9は、例えば、撮像範囲PR2を可視化するための画像データを取得可能な画像センサ(カメラ)を有する。第2計測部9の画像センサは、例えば、可視光、又は、可視光以外の光(例えば、赤外線)を用いて撮像範囲PR2を撮像する。
【0037】
(コントローラ)
図1に戻り、コントローラ100は、ロボット2、エンドエフェクタ50、走行台車6、第1計測部8、及び、第2計測部9のそれぞれを制御するように構成された1台又は複数台のコンピュータ装置である。コントローラ100は、ロボット2、エンドエフェクタ50、走行台車6、第1計測部8、及び、第2計測部9を個別に制御する複数台のコンピュータ装置によって構成されてもよく、複数台のコンピュータ装置が互いに通信可能に接続されていてもよい。
【0038】
コントローラ100は、図7に示されるように、機能上の構成(以下、「機能モジュール」という。)として、例えば、駆動制御部102と、ロボット制御部104と、第1計測制御部106と、状態推定部108と、モデル保持部112と、モデル構築部114と、作業手順決定部110と、状態監視部122と、第2計測制御部126と、走行制御部124と、を有する。これらの機能モジュールが実行する処理は、コントローラ100が実行する処理に相当する。
【0039】
駆動制御部102は、羽根車62が軸線Ax1まわりに回転し、切断部材80が軸線Ax2まわりに回転するように、駆動部70の駆動モータ72を制御する。駆動制御部102は、例えば、駆動モータ72の回転速度が所定の目標値に追従するように、駆動モータ72を制御する。駆動制御部102は、駆動モータ72の現在の回転速度を示す検出値を、駆動部70に設けられたセンサから取得してもよい。駆動制御部102は、駆動モータ72の現在の回転速度と目標値との偏差に応じて、当該偏差を縮小するように、駆動モータ72へのトルク指令値(又は、電流指令値)を演算してもよい。一例では、駆動制御部102は、ロボット2によるエンドエフェクタ50の動作に連動するように、ロボット制御部104からの指令に応じて、羽根車62及び切断部材80の駆動モータ72による駆動を開始又は終了する。
【0040】
ロボット制御部104は、エンドエフェクタ50による葉210の採取作業が実行されるように、ロボット2を制御する。図8(a)、図8(b)、及び、図8(c)には、1枚の葉210に対する採取作業の様子が模式的に示されており、ロボット2は省略されている。ロボット制御部104は、例えば、エンドエフェクタ50が、待機位置に配置されている状態で、1枚の葉210に対する採取作業を開始する。上記待機位置は、エンドエフェクタ50の少なくとも一部が、走行台車6の鉛直上方に配置される位置に設定されてもよい。
【0041】
採取作業では、図8(a)に示されるように、ロボット制御部104が、開口54aが葉210に含まれる葉身212の表面212aを向く位置(以下、「作業開始位置」という。)にエンドエフェクタ50を移動させる第1制御を実行する。表面212aは、葉身212の表側の面であり、主茎202とは反対側を向く面である(図2を参照)。エンドエフェクタ50が作業開始位置に配置された状態において、開口54aに直交する方向(軸線Ax1が延びる方向)から見たときに、開口54aは、葉身212の表面212aの少なくとも一部と重なっている。ここで、葉身212と葉柄214とが接続される部分を「接続部分CP」と定義する。ロボット制御部104は、第1制御を実行する際に、作業開始位置にエンドエフェクタ50が配置された状態において、開口54aに直交する方向から見たときに、接続部分CPが開口54aと重なるようにロボット2を制御する。
【0042】
図2に示されるように、葉身212の先端に位置する部分を「先端部分TP」と定義する。先端部分TPは、葉柄214における接続部分CPを含む端部(端及びその近傍)と略平行に延長するように延びる葉脈218(主脈)の先端に位置する部分である。接続部分CPと先端部分TPとの仮想的な線分の傾きによって、葉210(葉身212)の上下方向における傾きを定義する。作物200がきゅうりである場合、葉身212の自重によって、接続部分CPを起点として、接続部分CPから先端部分TPまでの仮想線分は、鉛直斜め下方に延びる場合が多い。
【0043】
ロボット制御部104は、作業開始位置において、開口54aが上下方向に沿うように、又は、上下方向に対して、開口54aの角度が±数度だけ傾くように、ロボット2によりエンドエフェクタ50の姿勢を調節してもよい。上下方向において、作業開始位置に配置されたエンドエフェクタ50の開口54aの少なくとも一部と、葉210(葉身212)の少なくとも一部とが同じ高さに位置してもよい。第1制御を実行する前後又は実行中において、駆動制御部102は、羽根車62及び切断部材80の駆動を開始するように駆動部70の駆動モータ72を制御してもよい。
【0044】
第1制御の実行後、図8(b)に示されるように、ロボット制御部104は、作業開始位置から葉210に向かってエンドエフェクタ50を移動させる第2制御を実行する。ロボット制御部104は、第1制御及び第2制御を連続して実行してもよい(すなわち、作業開始位置でエンドエフェクタ50を停止させることなく、第1制御から第2制御に移行してもよい)。ロボット制御部104は、例えば、第2制御を実行する際に、作業開始位置における開口54aの中心と葉210のいずれかの箇所とを結ぶ仮想的なライン上をエンドエフェクタ50が移動するように、ロボット2を制御する。ロボット制御部104は、第2制御を実行する際に、作業開始位置から、葉身212と葉柄214との接続部分CPに向かってエンドエフェクタ50を移動させるように、ロボット2を制御してもよい。一例では、ロボット制御部104は、作業開始位置における開口54aの中心と接続部分CPとを結ぶ仮想的なライン上をエンドエフェクタ50が移動するように、ロボット2を制御する。
【0045】
エンドエフェクタ50が葉210に近づくと、葉身212の全体と、葉柄214の一部とが、エンドエフェクタ50内の内部空間Sに吸引される。内部空間Sに取り込まれた葉210の一部は、回転駆動する羽根車62によって細断され始める。ロボット制御部104を有するコントローラ100は、第1計測部8により得られる撮像画像に基づいて、第1制御及び第2制御を実行する。撮像画像に基づき実行される第1制御及び第2制御の具体例については、後述する。
【0046】
ロボット制御部104は、所定の停止条件が満たされると、第2制御を終了する。ロボット制御部104は、例えば、エンドエフェクタ50が予め定められた設定量だけ移動した場合に、上記停止条件を満たすと判定する。第2制御の実行後、ロボット制御部104は、図8(c)に示されるように、開口54aに直交する仮想線に交差する方向に沿って、エンドエフェクタ50を移動させる第3制御する。開口54aに直交する仮想線は、軸線Ax1又は軸線Ax2に一致していてもよい。この第3制御に伴う動作により、回転駆動している切断部材80のうちの上記仮想線に交差する方向に沿って延びる複数の刃84が、葉210の葉柄214を切断する。
【0047】
第1計測制御部106は、作物200のうちの採取対象の葉210を検出するためのデータを第1計測部8から取得する。第1計測制御部106は、例えば、走行台車6の走行に応じた計測タイミング、又は、予め定められた計測タイミングにおいて、第1計測部8の画像センサに撮像を実行させ、第1計測部8の距離センサに距離の測定を実行させる。これにより、図9に示されるように、作物200の一部を撮像して得られる画像D1(撮像画像)が、画像センサから得られる。また、画像D1に対応する領域の画素ごとの距離を表すデータ(深度マップ)が距離センサから得られる。
【0048】
状態推定部108は、画像D1から、画像D1内に存在し採取対象の候補となる1以上の葉210を検出する。図9では、画像D1から、採取対象の候補となる複数の葉210が、検出体id1、検出体id2、検出体id3、及び、検出体id4として検出された例が示されている。コントローラ100は、検出体id1、検出体id2、検出体id3、及び、検出体id4それぞれについて、画像D1から、葉210を囲む矩形状のバウンディングボックスを検出してもよい。状態推定部108は、画像D1から、採取対象の候補となる葉210自体に加えて、その葉210における上記接続部分CP(葉身212と葉柄214とを接続する部分)を検出してもよい。
【0049】
図9に示される例では、状態推定部108は、検出体id1において、その検出体id1の接続部分CPを囲む四角枠のアプローチ部分ap1を検出している。アプローチ部分ap1を示す四角枠の大きさは、採取対象の候補となる葉210を囲むバウンディングボックスよりも小さい。状態推定部108は、検出体id2、検出体id3、及び検出体id4についても、それぞれ同様に、対応する検出体の接続部分CPを囲むアプローチ部分ap2、アプローチ部分ap3、及びアプローチ部分ap4を検出する。アプローチ部分ap1等は、対応する検出体が採取対象に決定された場合に、上記第2制御において、エンドエフェクタ50を葉210に接近させる際の目標位置となる。
【0050】
状態推定部108は、画像D1に基づいて、葉210自体、及び上記アプローチ部分に加えて、採取対象の候補となる葉210に含まれる葉身212の向きを推定してもよい。本開示において、葉身212の向きは、接続部分CPと先端部分TPとを結ぶ仮想線分の水平面での傾き(向き)を表す。図10には、葉身212の向きが互いに異なる5つの葉210が例示されている。5つの葉210を個別に識別するために、図10では、5つの葉210が、「210a」、「210b」、「210c」、「210d」、及び「210e」で表されている。
【0051】
葉身212の向きは、例えば、複数段階に分類分けされて表される。一例では、葉身212の向きは、中央向き、左斜め向き、左向き、右斜め向き、及び右向きのいずれか1つの分類(向き)で表される。本開示では、Y軸方向において、走行台車6から作物200(棚290)を見たときを基準にして、「左」及び「右」の用語を使用する。図10に示される例では、葉210aの葉身の向きは中央向きであり、葉210bの葉身の向きは左斜め向きであり、葉210cの葉身の向きは左向きである。また、葉210dの葉身の向きは右斜め向きであり、葉210eの葉身の向きは右向きである。葉身の向きが中央向きには、接続部分CPと先端部分TPとを結ぶ仮想線分が、Y軸方向と平行な場合だけでなく、Y軸方向に対して傾いている場合も含まれる。葉身の向きが右向き及び左向きには、接続部分CPと先端部分TPとを結ぶ仮想線分が、X軸方向と平行な場合だけでなく、X軸方向に対して傾いている場合も含まれる。
【0052】
状態推定部108は、機械学習により予め構築された推定モデルと、第1計測部8により得られる画像D1(画像D1を表す画像データ)とに基づいて、画像D1内で検出された1以上の葉210それぞれの葉身の向きを推定してもよい。モデル保持部112は、上記推定モデルを保持する。モデル保持部112によって保持される推定モデルは、撮像して得られる画像の入力に応じて、その画像内に含まれる葉210を検出すると共に、検出した葉210に含まれる葉身の向きを示す情報を出力するように、機械学習により予め構築されている。モデル保持部112によって保持される推定モデルは、入力される画像内に含まれる葉210の接続部分CPを更に検出するように構築されていてもよい。図9に例示された検出体id1~id4それぞれについてのバウンディングボックス、及び、接続部分CPを囲むアプローチ部分の枠は、上記推定モデルによって出力された結果の一例を表している。
【0053】
モデル構築部114は、作物200を撮像して得られる複数の学習用画像と、複数の学習用画像内それぞれに含まれる葉身の向きを示す正解データとに基づく機械学習を実行して、上記推定モデルを構築する。複数の学習用画像を取得するために撮像を行う対象の作物200は、葉の採取装置1によって採取作業が行われる作物200と同じ種類のものであればよく、採取作業が行われる作物200と同じ個体であってもよく、異なる個体であってもよい。各学習用画像内には、1以上の葉210が存在し得る。各学習用画像内に存在する1以上の葉210それぞれの葉身の向きを示す正解データは、例えば、作業員等のオペレータによって分類されたうえで、コントローラ100に入力される。オペレータは、撮像して得られる画像において可視化された葉210を視たうえで、葉身の水平方向における角度を測定することなく、葉身の向きを分類分け(正解ラベルを付与)してもよい。
【0054】
機械学習とは、機械(コンピュータ)が与えられた情報に基づいて反復的に学習することで、法則又はルールを自律的に見つけ出す手法をいう。上記推定モデルは、アルゴリズム及びデータ構造を用いて構築することができる。推定モデルは、例えば、人間の脳神経の仕組みを模した情報処理のモデルであるニューラルネットワークを用いて実現される。推定モデルを構築する際に行われる機械学習の具体的なアルゴリズムは、特に限定されないが、物体を検出するアルゴリズムの一例として、R-CNN(Regional CNN)、YOLO(You Only Look Once)、及び、SSD(Single Shot Multibox Detector)が挙げられる。
【0055】
推定モデルは、モデルを構築するための学習用データに基づいて、機械学習を行うことで構築されている。例えば、機械学習の入力として与えられるデータ(上記複数の学習用画像)と、機械学習の出力の正解データ(葉210及び接続部分CPの検出位置、並びに、葉身の向き)とを用いて機械学習が行われることで、葉210を検出して画像上の位置を特定し、葉身の向きを推定する推定モデルが自律的に構築されてもよい。機械学習の入力は、1以上の葉210が含まれる種々の画像データである。機械学習の出力は、葉210及び接続部分CPの検出位置、並びに、葉身の向きであってもよい。画像上の検出位置は、画像上の葉210又は接続部分CPを囲む枠の位置(縦及び横の座標)であってもよい。
【0056】
推定モデルを自律的に製造する段階は、学習フェーズに相当する。上記状態推定部108は、評価フェーズ(実際の採取作業を行うフェーズ)において、モデル保持部112に保持された推定モデルを用いて、葉210の位置、接続部分CPの位置、及び、葉身の向きが未知である入力画像から、その入力画像における葉210及び接続部分CPを検出して、検出した葉210の葉身の向きを推定する。学習済みのモデルである推定モデルは、コンピュータ間で移植可能である。従って、コントローラ100は、自身に代えて、他のコンピュータにおいて構築された推定モデルを取得することで、その推定モデルをモデル保持部112に記憶させてもよい。
【0057】
作業手順決定部110は、採取作業をロボット2及びエンドエフェクタ50に実行させる際の手順を決定する。作業手順決定部110は、例えば、画像D1内において検出された複数の葉210の中から、実際に採取を行う対象の葉210を決定する。作業手順決定部110は、例えば、1株あたり所定枚数(例えば、2枚)の葉210を採取するように対象の葉210を決定する。作業手順決定部110は、対象の葉210を決定する際に、採取を行う対象の候補である複数の葉210それぞれについて、第1計測部8の距離センサから得られる距離データ(深度マップ)に基づいて、接続部分CPの位置を演算してもよい。作業手順決定部110は、例えば、距離データ(深度マップ)のうちの画像D1上の接続部分CPの座標に対応する座標における距離の測定値を用いて、接続部分CPの三次元位置(例えば、ロボット2の基準位置からの相対的な位置)を演算する。
【0058】
作業手順決定部110は、対象の葉210を決定する際に、採取を行う対象の候補となる複数の葉210それぞれについて、葉身の向きの推定結果に基づいて、上記作業開始位置と、作業開始位置から葉210に対して接近する方向(以下、「アプローチ方向」という。)とを演算してもよい。図10を用いて、葉身の向きと、作業開始位置及びアプローチ方向との関係の一例について説明する。作業手順決定部110は、葉身の向きに応じて、作業開始位置及びアプローチ方向とを演算(決定)する。一例では、作業手順決定部110は、中央向きと推定された葉210aについて、X軸方向において接続部分CPの位置と略一致する位置となるように作業開始位置を演算する。また、作業手順決定部110は、作業開始位置から葉210aに接近する際のエンドエフェクタ50の移動軌跡がY軸方向に沿うように、作業開始位置でのエンドエフェクタ50(開口54a)の向き及びアプローチ方向を演算する。
【0059】
作業手順決定部110は、左斜め向きと推定された葉210bについて、X軸方向において、葉210bよりも左側に位置するように作業開始位置を演算する。また、作業手順決定部110は、作業開始位置から葉210bに接近する際のエンドエフェクタ50の移動軌跡が、X軸方向及びY軸方向の双方に対して傾くように、作業開始位置でのエンドエフェクタ50(開口54a)の向き及びアプローチ方向を演算する。作業手順決定部110は、左向きと推定された葉210cについて、X軸方向において、葉210cよりも左側に位置し、Y軸方向において葉210cと略一致するように作業開始位置を演算する。また、作業手順決定部110は、作業開始位置から葉210cに接近する際のエンドエフェクタ50の移動軌跡がX軸方向に沿うように、作業開始位置でのエンドエフェクタ50(開口54a)の向き及びアプローチ方向を演算する。
【0060】
平面視において、作物200の主茎202に向かう向きを「内側」とし、主茎202から離れる方向を「外側」とする。作業手順決定部110は、採取対象の候補である複数の葉210それぞれについて、作業開始位置から葉210に接近する際にエンドエフェクタ50が外側から内側に向かうように、作業開始位置でのエンドエフェクタ50(開口54a)の向き及びアプローチ方向を演算する。
【0061】
ここで、図11及び図12を用いて、作業手順決定部110による作業手順の決定方法、及び、決定された作業手順に基づく採取作業の一例について説明する。コントローラ100は、走行台車6の走行を継続させている状態で、下記の第1処理、第2処理、及び第3処理を実行する。コントローラ100の第1計測制御部106は、第1処理において、第1計測部8に撮像範囲PR1の撮像を実行させる。コントローラ100の作業手順決定部110は、第2処理において、第1処理での第1計測部8の撮像により得られる画像D1内に含まれる複数の葉210について、作物200から採取する作業の実行順を決定する。コントローラ100の駆動制御部102及びロボット制御部104は、第3処理において、第2処理で決定された実行順に従って、エンドエフェクタ50及びロボット2の動作により作物200に対して葉の採取作業を行う。
【0062】
コントローラ100は、走行台車6の走行に応じて、第1処理、第2処理、及び、第3処理を含む一連の処理を繰り返す。上記一連の処理が繰り返されることで、作物200のうちの撮像範囲PR1に含まれる部分が更新され、採取対象の葉210及び作業順(葉の採取順)が更新される。コントローラ100は、例えば、走行台車6が所定の距離だけ走行する度に、第1処理、第2処理、及び第3処理を含む一連の処理を繰り返す。又は、コントローラ100は、所定枚数の葉210に対する採取作業が実行される度に、第1処理、第2処理、及び第3処理を含む一連の処理を繰り返してもよい。
【0063】
図11には、ある時刻である時刻tにおいて、複数の葉210それぞれについて、決定された作業の実行順が示されている。図11において、ロボット2の動作により、エンドエフェクタ50が移動可能な範囲ARが示されている。第1計測部8の画像センサによる視野である撮像範囲PR1は、エンドエフェクタ50の可動範囲を示す範囲ARに対応するように設定される。作業手順決定部110は、第2処理において、画像D1に含まれる複数の葉210の中から、画像D1に含まれる1つの株ごとに、所定の条件に従って、予め設定された枚数(例えば、2枚)の葉210を抽出する。作業手順決定部110は、画像D1に含まれる複数の葉210それぞれの接続部分CPの、X軸方向における位置及びY軸方向における位置の少なくとも一方に基づいて、1つの株ごとに、2枚の葉210を抽出してもよい。
【0064】
X軸方向において、走行台車6が進む前方を「正」として、走行台車6が進む向きと反対の後方を「負」とする。X軸方向における位置は、走行台車6が進む方向に従って大きくなる。また、Y軸方向において、走行台車6から作物200(棚290)に向かう方向を「正」として、作物200(棚290)から走行台車6に向かう方向を「負」とする。Y軸方向における位置は、走行台車6から作物200に向かうに従って大きくなる。一例では、作業手順決定部110は、1つの株において3枚以上の葉210が画像D1に含まれる場合には、接続部分CPのX軸方向における位置が小さい2枚の葉210を抽出する。作業手順決定部110は、接続部分CPのY軸方向における位置が小さい2枚の葉210を抽出してもよく、X軸方向及びY軸方向それぞれの位置の合計値が小さい2枚の葉210を抽出してもよい。
【0065】
図11に示される例では、画像D1から4枚の葉210が、採取対象の葉として抽出されている。作業手順決定部110は、抽出した4枚の葉210について、作業の実行順を決定する。作業手順決定部110は、例えば、第2処理において、X軸方向における葉210の位置と、X軸方向に直交するY軸方向における葉210の位置とに基づいて、4枚の葉210のうちの最初に採取する対象の葉210を決定する。一例では、作業手順決定部110は、4枚の葉210の中から、接続部分CPのX軸方向における位置が最も小さい葉210を、最初に採取する対象の葉210に決定する。接続部分CPのX軸方向における位置が最も小さい葉210と、接続部分CPのX軸方向における位置が互いに重なる、又は、X軸方向における位置の差が所定量よりも小さい別の葉210が存在する場合がある。この場合、作業手順決定部110は、接続部分CPのY軸方向における位置が小さい方の葉210を、最初に採取する対象の葉210に決定してもよい。
【0066】
作業手順決定部110は、2番目以降の順番について、接続部分CPのX軸方向における位置が小さい順に決定してもよい。そして、作業手順決定部110は、接続部分CPのX軸方向における位置が互いに重なる、又は、X軸方向における位置の差が所定量よりも小さい2枚以上の葉210が存在する場合に、接続部分CPのY軸方向における位置が小さい葉210を、先に採取する対象の葉210に決定してもよい。図11では、1番目に採取すると決定された葉が「210A」で示されており、2番目、3番目、及び、4番目に採取すると決定された葉が、「210B」、「210C」、及び「210D」でそれぞれ示されている。
【0067】
駆動制御部102及びロボット制御部104は、上記第2処理で葉の採取順が決定された後に、葉210A(第1の葉)を採取する作業(第1作業)を実行するようにエンドエフェクタ50及びロボット2を制御する。駆動制御部102及びロボット制御部104は、葉210Aを採取する作業の実行後、葉210B(第2の葉)を採取する作業(第2作業)を実行するようにエンドエフェクタ50及びロボット2を制御する。図11に示される例では、葉210A及び葉210Bに対する採取作業が実行され、葉210Cに対する採取作業が実行される前に、次の計測タイミングである時刻(t+1)に達している。コントローラ100は、時刻(t+1)になると、第1処理、第2処理、及び第3処理を含む一連の処理を再度実行する。時刻t1において、3番目及び4番目に採取すると決定された2枚の葉210は、時刻(t+1)において、1番目及び2番目に採取すると決定されている。コントローラ100は、次の計測タイミングである時刻(t+2)になると、同様に、上記一連の処理を再度実行する。コントローラ100は、走行台車6が所定の終了位置に到達するまで、上記一連の処理を繰り返す。
【0068】
作業手順決定部110は、第2処理において、画像D1内に含まれる複数の葉210(例えば、上記のように抽出された4枚の葉210)それぞれについて、エンドエフェクタ50を接近させる上記アプローチ方向を演算してもよい。作業手順決定部110は、上記アプローチ方向の演算結果に基づいて、画像D1内に含まれる4枚の葉210のうちの2番目(2番目以降)に採取する対象の葉210を決定してもよい。図12(a)及び図12(b)には、4枚の葉210それぞれの採取順が、図11と同様に、「210A」~「210D」が用いて示されている。また、葉210A~210Dそれぞれについてのアプローチ方向の演算結果が、白抜きの矢印で示されている。
【0069】
図12(a)に示される例では、アプローチ方向が考慮されずに、接続部分CPのX軸方向における位置及びY軸方向における位置に基づいて、2番目以降の順番が決定されている。図12(b)に示される例では、アプローチ方向に基づいて、2番目以降の順番が決定されている。一例では、作業手順決定部110は、2番目以降の順番について、X軸方向における位置が小さい順に代えて、1つ前の葉210とのX軸方向における間隔が所定値よりも小さく、更に、1つ前の葉210と同じアプローチ方向である葉210を先に採取するように順序を決定してもよい。図12(a)では、走行台車6寄りに位置する2枚の葉210(葉210A及び葉210C)について、1番目及び3番目に採取されるように決定されている。これに対して、図12(b)では、走行台車6寄りに位置する2枚の葉210(葉210A及び葉210B)について、1番目及び2番目に採取されるように決定されている。
【0070】
図7に戻り、状態監視部122は、駆動部70の駆動モータ72の動作状態を表す状態値の変動を監視する。そして、状態監視部122は、上記状態値の変動に基づいて、エンドエフェクタ50における葉210に対する作業の状態を検出する。駆動モータ72の動作状態を表す状態値は、駆動モータ72の状態を検出可能なセンサからの検出値であってもよく、駆動モータ72に対するコントローラ100からの動作指令を表す指令値であってもよい。上記状態値は、例えば、駆動モータ72に流れている電流の検出値、又は、駆動モータ72に対するトルク指令値又は電流指令値である。駆動モータ72の回転速度が目標回転速度に追従するように制御される場合、羽根車62に負荷がかかるとトルク指令値(電流指令値)が変動するので、トルク指令値(電流指令値)は、駆動モータ72の動作状態を表す。
【0071】
状態監視部122は、駆動モータ72の状態値の変動に基づいて、内部空間S内に取り込まれた葉210に対する羽根車62による細断の開始及び完了の少なくとも一方を検出する。図13には、駆動モータ72の回転速度を目標値に追従するように制御した場合の、回転速度のフィードバック値(センサによる検出値)とトルク指令値との時間変化が示されている。図13に示されるグラフにおいて、縦軸の回転速度は、「0」で示す位置から下方に向かうにつれて高くなり、縦軸のトルク指令値は、「0」で示す位置から下方に向かうにつれて大きくなる。「加速中」で示される時間帯において、駆動モータ72の回転速度が目標回転速度まで上昇するように、トルク指令値も上昇する。「無負荷」で示される時間帯では、内部空間S内に葉210が取り込まれておらず、羽根車62に負荷が生じていない。そのため、トルク指令値の変動幅は、他の時間帯に比べて小さくなる。
【0072】
「葉身細断」で示される時間帯では、内部空間S内に葉210が取り込まれ、葉210の葉身212に対する細断が実行される。葉身212の細断の開始直後において、トルク指令値が、無負荷である時間帯に比べて大きく変動する。その後、葉身212の細断が終了すると、トルク指令値の変動が、無負荷である時間帯と同程度まで減少する。そして、無負荷の状態が継続された後の「葉柄細断」で示される時間帯では、葉柄214の切断が行われ、葉柄214に対する細断が実行される。葉柄214の細断の開始直後において、トルク指令値が、無負荷である時間帯に比べて大きく変動する。その後、葉柄214の細断が終了すると、トルク指令値の変動が、無負荷である時間帯と同程度まで減少する。
【0073】
状態監視部122は、図13に示されるようなトルク指令値の変動を利用して、葉身212の細断の開始を検出してもよく、葉身212の細断の完了を検出してもよい。また、状態監視部122は、葉柄214の細断の開始を検出してもよく、葉柄214の細断の完了を検出してもよい。なお、細断の開始及び完了の少なくとも一方を検出することは、細断の開始及び完了のいずれか一方を検出することと、細断の開始及び完了の両方を検出することと、を含む。
【0074】
コントローラ100は、内部空間S内に取り込まれた葉210に対する羽根車62による細断の監視及び完了の少なくとも一方の検出結果に基づいて、ロボット2及びエンドエフェクタ50のいずれか一方又は両方の動作を制御する。コントローラ100は、例えば、葉210Aを採取する作業の実行中に得られる上記状態値の変動に基づいて、葉210A(葉210Aの葉柄214)に対する羽根車62による細断の完了を検出した場合に、葉210Aを採取する作業を終了する。そして、コントローラ100は、葉210Aを採取する作業を終了して、次の採取対象である葉210Bを採取する作業に移行するようにロボット2を制御する。葉210Bを採取する作業に移行するための動作としては、例えば、エンドエフェクタ50を走行台車6と重なる待機位置まで移動させる動作が挙げられる。
【0075】
一例では、コントローラ100の駆動制御部102は、葉210Aを採取する作業において、葉210A(葉210Aの葉柄214)に対する細断の完了を上記状態値の変動に基づき検出した場合に、羽根車62の回転速度を低下させるように駆動モータ72を制御する。駆動制御部102は、上記細断の完了を検出した場合に、羽根車62の回転速度が、葉210に対する細断の実行中の目標回転速度よりも小さい値となるように、駆動モータ72を制御してもよい。一例では、駆動制御部102は、上記細断の完了を検出した場合に、羽根車62の回転が停止するように駆動モータ72を制御する。以上のように、羽根車62の回転速度を低下させること(羽根車62の回転を減速させること)には、羽根車62の回転を停止して、回転速度をゼロにすることも含まれる。
【0076】
図7に戻り、第2計測制御部126は、走行台車6の前方に設定された撮像範囲PR2の撮像を第2計測部9に実行させることで、撮像範囲PR2を撮像して得られる画像(第2撮像画像)を取得する。第2計測制御部126は、走行台車6の走行に応じて、第2計測部9による撮像を繰り返し実行してもよい。第2計測制御部126は、例えば、走行台車6が所定の設定量だけ走行する度に、第2計測部9による撮像を実行する。第2計測制御部126は、第2計測部9による撮像で得られた画像内に含まれる葉210の密度を算出してもよい。一例では、第2計測制御部126は、画像内に含まれる1枚以上の葉210の検出したうえで、検出した枚数をカウントすることで、そのカウントした枚数を密度として算出する。第2計測制御部126は、撮像範囲PR2の撮像を実行する度に、画像内の葉210の密度を算出してもよい。
【0077】
走行制御部124は、予め設定された速度で走行するように、走行台車6を制御する。走行台車6の移動速度の基準値は、予め設定されている。走行制御部124は、1つの棚290に植えられた作物200に対する全ての採取作業が完了するまで、走行台車6を停止することなく、走行を継続するように走行台車6を制御してもよい。なお、ロボット制御部104は、走行台車6の走行に伴うロボット2の移動を考慮して、ロボット2によるエンドエフェクタ50の移動動作(アクチュエータ41~46の制御)を実行する。走行制御部124は、撮像範囲PR2内の葉210の密度の算出結果に基づいて、走行台車6の移動速度を調節してもよい。一例では、走行制御部124は、葉210の密度の算出値が所定閾値よりも大きい場合に、走行台車6の移動速度を基準値に維持する。走行制御部124は、葉210の密度の算出値が上記所定閾値以下である場合に、走行台車6の移動速度を基準値よりも大きい値に変更する。第2計測制御部126は、撮像範囲PR2の撮像及び葉210の密度の算出が実行される度に、走行台車6の移動速度を調節してもよい。
【0078】
[葉の採取装置の制御方法]
図14は、葉の採取装置1において実行される制御方法の一例を示すフローチャートである。コントローラ100は、例えば、走行台車6の走行が開始された状態において、ステップS11を実行する。ステップS11では、例えば、第1計測制御部106が、第1計測部8の画像センサに撮像を実行させて、撮像範囲PR1を撮像して得られる画像D1を取得する。また、第1計測制御部106は、第1計測部8の距離センサに距離の測定を実行させて、撮像範囲PR1に対応する領域における深度マップを取得する。
【0079】
次に、コントローラ100は、ステップS12を実行する。ステップS12では、例えば、状態推定部108が、ステップS11で取得された画像D1に基づいて、画像D1に含まれる採取対象の候補となる1以上の葉210と、1以上の葉210それぞれにおける上記接続部分CPを検出する。また、ステップS12では、例えば、状態推定部108が、画像D1で検出された1以上の葉210それぞれについて、葉身212の水平方向における向きを推定する。状態推定部108は、機械学習により構築された推定モデルに対してステップS11で取得された画像D1を入力して得られる出力結果から、1以上の葉210及び接続部分CPを検出したうえで、葉210の向きを推定する。さらに、ステップS12では、例えば、状態推定部108が、画像D1で検出された1以上の葉210それぞれについて、ステップS11で得られた深度マップから、接続部分CPの位置を算出する。
【0080】
次に、コントローラ100は、ステップS13を実行する。ステップS13では、例えば、作業手順決定部110が、上述の第2処理を実行する。作業手順決定部110は、ステップS13において、ステップS11で得られた画像D1内に含まれる複数の葉210について、作物200から採取する作業の実行順を決定する。一例では、作業手順決定部110は、採取対象となる複数の葉210を抽出した後に、X軸方向における葉210の位置と、Y軸方向における葉210の位置とに基づいて、抽出した複数の葉210のうち最初に採取する対象の葉210を決定する。そして、作業手順決定部110は、抽出した複数の葉210それぞれについて、葉身212の向きの推定結果に基づいて、エンドエフェクタ50を接近させる上記アプローチ方向を演算する。その後、作業手順決定部110は、上記アプローチ方向の演算結果に更に基づいて、抽出した複数の葉210のうちの2番目以降に採取する対象の葉210を決定する。
【0081】
次に、コントローラ100は、ステップS14を実行する。ステップS14では、例えば、ロボット制御部104が、ステップS13において1番目の採取対象に決定された葉210Aに関する作業開始位置にエンドエフェクタ50を移動させる制御を実行する。ロボット制御部104は、ステップS14の制御(第1制御)において、所定の設定方法に従って設定された作業開始位置にエンドエフェクタ50を移動させる。ロボット制御部104は、ステップS14において、開口54aが葉210Aの表面212aを向く作業開始位置にエンドエフェクタ50を移動させるようにロボット2を制御する。
【0082】
次に、コントローラ100は、ステップS15を実行する。ステップS15では、例えば、駆動制御部102が、羽根車62及び切断部材80の回転を開始するように駆動モータ72を制御する。これにより、エンドエフェクタ50は、開口54aを介して内部空間S内に葉210を吸引可能な状態となる。ステップS15の実行以降、駆動制御部102は、羽根車62の回転速度が目標回転速度に追従するように、駆動モータ72を制御する。ステップS15の実行に合わせて、状態監視部122が、駆動モータ72の動作状態を表す状態値(例えば、トルク指令値)の監視を開始してもよい。
【0083】
次に、コントローラ100は、ステップS16を実行する。ステップS16では、例えば、ロボット制御部104が、作業開始位置から、葉210Aに向かってエンドエフェクタ50を移動させるようにロボット2を制御する。葉210Aに向かってエンドエフェクタ50が接近することで、内部空間S内に葉210Aが吸引される(取り込まれる)。そして、葉210Aの葉身212が羽根車62に接触し始めることで、葉身212の羽根車62による細断が開始される。
【0084】
次に、コントローラ100は、ステップS17を実行する。ステップS17では、例えば、ロボット制御部104が、切断部材80により作物200から葉210Aが切断されるように、ロボット2によりエンドエフェクタ50を移動させる。一例では、ロボット制御部104は、軸線Ax1又は軸線Ax2に交差する方向に沿ってエンドエフェクタ50を移動させるように、ロボット2を制御する。ステップS17の実行中において、駆動制御部102は、切断部材80による軸線Ax2まわりの回転を継続するように、駆動モータ72を制御している。
【0085】
次に、コントローラ100は、ステップS18を実行する。ステップS18では、例えば、状態監視部122が、駆動モータ72の状態値の変動に基づいて、葉210Aのうちの切断後に内部空間Sに存在する部分の羽根車62による細断の完了が検出されるまで待機する。状態監視部122は、駆動モータ72へのトルク指令値の変動幅が、所定の大きさより大きくなった場合に細断の開始を検出してもよく、細断の開始を検出した後に、トルク指令値の変動幅が、所定の大きさよりも小さくなった場合に細断の完了を検出してもよい。
【0086】
次に、コントローラ100は、ステップS19を実行する。ステップS19では、例えば、コントローラ100が葉210Aに対する採取作業が終了したと判定する。そして、ステップS19では、例えば、駆動制御部102が、羽根車62及び切断部材80の回転を停止させるように駆動モータ72を制御して、ロボット制御部104が、走行台車6の少なくとも一部と平面視にて重なる待機位置までエンドエフェクタ50が移動するようにロボット2を制御する。
【0087】
次に、コントローラ100は、ステップS20を実行する。ステップS20では、例えば、コントローラ100が、計測タイミングか否かを判断する。一例では、コントローラ100は、ステップS11の実行の開始時点から、走行台車6が走行した距離が、所定量に達した場合に計測タイミングであると判断する。コントローラ100は、ステップS11の実行の開始時点から、走行台車6が走行した距離が、所定量に達していない場合に、計測タイミングではないと判断する。
【0088】
ステップS20において、計測タイミングではないと判断された場合(ステップS20:NO)、コントローラ100が実行する処理は、ステップS14に戻る。そして、コントローラ100は、次の採取対象の葉210について、ステップS14~S19の一連の処理を実行する。ステップS20において、計測タイミングであると判断されるまで、コントローラ100は、採取対象の葉210を変更しつつ、ステップS14~S19の一連の処理を実行する。
【0089】
ステップS20において、計測タイミングであると判断された場合(ステップS20:YES)、コントローラ100が実行する処理は、ステップS11に戻る。そして、コントローラ100は、ステップS11~S13の一連の処理を実行して、採取対象の葉210及び採取手順を更新する。その後、コントローラ100は、更新された採取手順に従って、次の計測タイミングとなるまで、ステップS14~S19の一連の処理を繰り返す。以降、コントローラ100は、走行台車6が所定の終了位置まで走行するまで、採取対象及び採取手順の更新と、更新された採取手順に従った採取作業とを繰り返し実行する。
【0090】
図14に示されるフローが実行されている間、走行制御部124は、走行台車6を停止させることなく、走行を継続するように走行台車6を制御してもよい。ステップS20の計測タイミングとは異なるタイミング(周期)で、第2計測制御部126は、走行台車6の前方に設定された撮像範囲PR2の撮像を第2計測部9に実行させてもよい。走行制御部124は、撮像範囲PR2を撮像することで得られる画像から葉210の密度を算出して、葉210の密度の算出値が所定閾値よりも小さい場合に、移動速度を基準値よりも速めるように走行台車6を制御してもよい。
【0091】
コントローラ100は、図15に示されるように、回路150を備える。回路150は、1以上のプロセッサ152と、メモリ154と、ストレージ156と、1以上のドライバ158と、入出力ポート162と、を含む。ストレージ156は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばフラッシュメモリ)である。ストレージ156は、ロボット2、エンドエフェクタ50、走行台車6、第1計測部8、及び第2計測部9を制御することをコントローラ100に実行させるためのプログラム及びデータを記憶する。メモリ154は、ストレージ156からロードしたプログラム及びプロセッサ152による演算結果等を一時的に記憶する。
【0092】
プロセッサ152は、メモリ154と協働して上記プログラムを実行することで、上述した各機能モジュールを構成する。1以上のドライバ158は、プロセッサ152からの指令に応じて、エンドエフェクタ50の駆動モータ72、及びロボット2のアクチュエータ41~46に駆動電力をそれぞれ出力する。1以上のドライバ158は、コントローラ100とは別に(コントローラ100の外)に設けられてもよい。ドライバ158として、サーボアンプ又はインバータ等の所謂電力変換装置が適用されてもよい。入出力ポート162は、プロセッサ152からの指令に応じて、エンドエフェクタ50の吸引部60、ロボット2、走行台車6、第1計測部8、及び第2計測部9等との間で電気信号の入出力を行う。なお、コントローラ100は、必ずしもプログラムにより各機能を構成するものに限られない。コントローラ100は、例えば、専用の論理回路又はこれを集積したASIC(Application Specific Integrated Circuit)により少なくとも一部の機能を構成してもよい。コントローラ100が、葉の採取装置1に含まれるロボット2及びエンドエフェクタ50等の複数の装置それぞれに対応する複数のコンピュータ装置で構成される場合、上記複数の装置それぞれに対応してドライバ158が設けられてもよい。
【0093】
[評価1]
続いて、葉210の向きに対して、エンドエフェクタ50を接近させる方向(上記アプローチ方向)を変化させた場合の吸引の成功率を評価した結果について説明する。成功率の評価では、エンドエフェクタ50を接近させる目標位置を上記接続部分CP(葉柄付け根)に設定した場合と、目標位置を葉身212の中央(以下、「葉身中央MI」という。図16(a)を参照)に設定した場合とのそれぞれについて評価した。エンドエフェクタ50を接近させる目標位置は、エンドエフェクタ50の開口54aを葉210に近接させた際に、軸線Ax1(エンドエフェクタ50の中心軸に相当)と葉210とが交差する位置である。また、葉身212の主脈上において最も突出する箇所を葉身中央MIに設定した。エンドエフェクタ50を接近させる方向の上下方向における角度(仰角)については、目標位置での葉210に対する法線方向に沿ってエンドエフェクタ50を移動させて、葉210に接近させた。
【0094】
アプローチ方向については、図16(a)に示されるように、葉210の向きに一致する方向を0°とし、0°、45°、90°、及び135°に変化させた。1つの条件あたりの評価枚数は3枚とし、葉210の葉身212及び葉柄214の一部が、エンドエフェクタ50の内部空間Sに吸引されて取り込まれた場合を成功であると評価した。
【0095】
アプローチ方向を変化させた際の成功率(成功した回数/評価枚数)の評価結果を表1に示す。表1に示される結果から、アプローチ方向が葉210の向きに近づくようにエンドエフェクタ50を接近させた方が、成功率が高くなることがわかる。また、アプローチ方向を葉210の向きに略一致させることで(アプローチ方向を0°とすることで)、成功率が更に高くなることがわかる。
【表1】
【0096】
[評価2]
目標位置での葉210に対する法線方向に対して、エンドエフェクタ50を接近させる方向の上下方向における角度(以下、「アプローチ角度」という。)を変化させた場合の吸引の成功率を評価した。図16(b)に示されるように、目標位置での葉210に対する法線方向を0°として、アプローチ角度を-30°、0°、30°、45°、及び60°に変化させた。また、アプローチ方向は0°に設定した。目標位置は、接続部分CP及び葉身中央MIのそれぞれに設定した。目標位置が接続部分CPである場合での1つの条件あたりの評価枚数は5枚として、目標位置が葉身中央MIである場合での1つの条件あたりの評価枚数は3枚とした。成功か否かの判定方法は、上述した評価1と同じにした。
【0097】
アプローチ角度を変化させた際の成功率(成功した回数/評価枚数)の評価結果を表2に示す。表2に示される評価結果から、開口54aが葉210の表面212aを向く(表面212aに対向する)位置からエンドエフェクタ50を接近させることで、吸引が成功する可能性があることがわかる。また、アプローチ角度を葉210の所定箇所の法線に近づけることで(アプローチ角度を0°に近づけることで)、成功率が高くなる傾向があることがわかる。
【表2】
【0098】
[変形例]
図14に示される一連の処理は一例であり、適宜変更可能である。上記一連の処理において、コントローラ100は、1つのステップと次のステップとを並列に実行してもよく、上述した例とは異なる順序で各ステップを実行してもよい。例えば、コントローラ100は、ステップS15(エンドエフェクタの駆動開始)を実行してから、ステップS14(作業開始位置への移動)を実行してもよい。コントローラ100は、いずれかのステップを省略してもよく、いずれかのステップにおいて上述の例とは異なる処理を実行してもよい。
【0099】
エンドエフェクタ50の吸引部60は、エンドエフェクタ50に形成される内部空間Sにおいて吸引力を発生させることが可能であれば、どのように構成されていてもよい。吸引部60は、例えば、内部空間Sとは区切られた空間に配置された羽根車(ファン)を有してもよい。
【0100】
エンドエフェクタ50は、羽根車62の駆動とは独立して、切断部材80を回転させるための駆動モータを有してもよい。羽根車62の軸線Ax1まわりの回転方向が、切断部材80の軸線Ax2まわりの回転方向と同じであってもよい。切断部材80は、回転せずに、ケース部材52に固定されていてもよい。エンドエフェクタ50は、切断部材80を正面から覆う保護部材88を有していなくてもよい。
【0101】
コントローラ100の駆動制御部102は、1枚の葉210を採取する作業の終了後に、次の葉210を採取する作業に移行するまでの間に、羽根車62の回転速度を低下させることなく、羽根車62の回転を継続するように駆動モータ72を制御してもよい。コントローラ100は、複数の葉210について採取順を決定することなく、第1計測部8による撮像範囲PR1の撮像が実行される度に、採取対象の1枚の葉210を決定してもよい。葉の採取装置1が第2計測部9を備えずに、コントローラ100は、作物200の状態によらずに、一定の目標速度で走行するように走行台車6を制御してもよい。コントローラ100は、走行台車6を停止させつつ、ロボット2及びエンドエフェクタ50による採取作業を実行してもよい。葉の採取装置1は走行台車6を備えずに、ロボット2の基部11が、作物200に対して位置が変化しない設置個所に設けられていてもよい。
【0102】
[実施形態の効果]
以上に説明した葉の採取装置1は、開口54aを介して内部空間Sに作物200の葉210を吸引して、作物200から葉210を採取するように構成されたエンドエフェクタ50と、作物200に対するエンドエフェクタ50の相対的な位置を変更するように構成されたロボット2と、エンドエフェクタ50及びロボット2を制御するように構成されたコントローラ100と、を備える。コントローラ100は、開口54aが葉210に含まれる葉身212の表面212aを向く作業開始位置にエンドエフェクタ50を移動させる第1制御と、作業開始位置から葉210に向かってエンドエフェクタ50を移動させる第2制御と、を実行するように構成されている。葉身212の表面212aに沿った方向よりも、表面212aに対向する位置から葉210に接近させて吸引した方が、葉210の吸引の成功率が高くなる知見が得られた。上記構成では、開口54aが表面212aを向く位置から、エンドエフェクタ50が葉210に接近する制御が行われるので、葉210が吸引されないトラブルの発生の可能性が低減される。従って、葉の採取装置1は作業の効率化に有用である。
【0103】
以上に説明した葉の採取装置1において、コントローラ100は、第2制御を実行する際に、作業開始位置から、葉210における葉身212と葉柄214との接続部分CPに向かってエンドエフェクタ50を移動させるようにロボット2を制御してもよい。接続部分CPに向かってエンドエフェクタ50を接近させて、葉210を吸引した方が、他の箇所に向かってエンドエフェクタ50を接近させるよりも、葉210の吸引の成功率がより高くなる知見が得られた。上記構成では、第2制御において、接続部分CPに向かってエンドエフェクタ50が移動するので、葉210が吸引されないトラブルが発生する可能性が更に低減される。従って、作業の効率化に更に有用である。
【0104】
以上に説明した葉の採取装置1において、コントローラ100は、第1制御を実行する際に、作業開始位置にエンドエフェクタ50が配置された状態において、開口54aに垂直な方向から見て、葉210における葉身212と葉柄214との接続部分CPが開口54aと重なるようにロボット2を制御してもよい。接続部分CPが開口54aと重なる位置からエンドエフェクタ50を接近させて吸引した方が、接続部分CPが開口54aと重ならない場合に比べて、葉210の吸引の成功率がより高くなる知見が得られた。そのため、上記のように第2制御を行うことで、葉210が吸引されないトラブルが発生する可能性が更に低減される。従って、作業の効率化に更に有用である。
【0105】
以上に説明した葉の採取装置1は、葉210を含む視野(撮像範囲PR1)を撮像するように構成された第1計測部8(撮像部)を更に備えてもよい。コントローラ100は、第1計測部8により得られる撮像画像に基づいて、第1制御及び第2制御を実行するように構成されていてもよい。撮像画像に基づくこと、第1制御及び第2制御での吸引に適した作業開始位置を算出することができる。そのため、葉210を吸引できないトラブルが発生する可能性を更に低減できる。従って、作業の効率化に更に有用である。
【0106】
以上に説明した葉の採取装置1において、コントローラ100は、第1計測部8により得られる撮像画像に基づいて、葉210に含まれる葉身212の向きを推定することと、葉身212の向きの推定結果に基づいて、作業開始位置と、作業開始位置から対象の葉身212に対して接近する方向とを演算することと、を実行するように構成されていてもよい。葉身212の向きに合わせてエンドエフェクタ50を接近させて吸引した方が、吸引の成功率がより高くなる知見が得られた。上記構成では、葉身212の向きに推定結果により、作業開始位置と接近する方向とが演算されるので、葉身212の向きに合わせて吸引に適した接近動作を行うことができる。そのため、葉210を吸引できないトラブルが発生する可能性を更に低減できる。従って、作業の効率化に更に有用である。
【0107】
以上に説明した葉の採取装置1において、コントローラ100は、撮像して得られる画像の入力に応じて画像内に含まれる葉を検出すると共に、検出した葉に含まれる葉身の向きを示す情報を出力するように機械学習により予め構築された推定モデルと、第1計測部8により得られる撮像画像とに基づいて、葉210に含まれる葉身212の向きを推定するように構成されていてもよい。機械学習により構築された推定モデルを用いることで、より高精度に葉の向きを推定することができる。そのため、葉身212の向きに合わせて、より確実に吸引に適した接近動作を行うことができる。従って、作業の効率化に更に有用である。
【0108】
以上に説明した葉の採取装置1において、上記推定モデルは、上記画像内に含まれる葉における葉身と葉柄との接続部分を更に検出するように構築されていてもよい。上述したように、接続部分CPに向かってエンドエフェクタ50を接近させて、葉210を吸引した方が、他の箇所に向かってエンドエフェクタ50を接近させるよりも、葉210の吸引の成功率がより高くなる。推定モデルが用いられて接続部分CPが検出されるので、より確実に接続部分CPに向かってエンドエフェクタ50を接近させることができる。これにより、吸引できないトラブルの回数を減少されることできる。従って、作業の効率化に更に有用である。
【0109】
以上に説明した葉の採取装置1において、コントローラ100は、作物200を撮像して得られる複数の学習用画像と、複数の学習用画像内それぞれに含まれる葉身の向きを示す正解データとに基づく機械学習を実行して、上記推定モデルを構築するように構成されていてもよい。葉身の向きを示す正解データが与えられて、機械学習が行われることで、より推定精度が高い推定モデルを構築することできる。その結果、葉身の向きに合わずに接近動作が行われることに起因して、葉210を吸引できないトラブルの発生を低減できる。従って、作業の効率化に更に有用である。
【0110】
以上に説明した葉の採取装置1による作業対象である作物200は、所定方向に沿って並ぶように植えられていてもよい。葉の採取装置1は、エンドエフェクタ50が取り付けられたロボット2を上記所定方向に沿って移動させるように走行可能な走行台車6と、作物200に含まれる複数の葉210を含む視野(撮像範囲PR1)を撮像するように構成された第1計測部8(撮像部)と、を更に備えてもよい。コントローラ100は、走行台車6及び第1計測部8を更に制御するように構成されていてもよい。コントローラ100は、走行台車6の走行を継続させている状態で、第1計測部8に撮像を実行させる第1処理と、第1処理での第1計測部8の撮像により得られる撮像画像内に含まれる複数の葉210について、作物200から採取する作業の実行順を決定する第2処理と、第2処理で決定された実行順に従って、エンドエフェクタ50及びロボット2の動作により作物200に対して葉を採取する作業を行う第3処理と、を実行するように構成されていてもよい。この場合、走行台車6の移動が継続されている状態で、1以上の葉210に対する採取作業が実行される。そのため、走行台車6を都度停止させて、採取作業を行う場合に比べて、作業時間を短縮することができる。従って、作業の効率化に有用である。
【0111】
以上に説明した葉の採取装置1において、コントローラ100は、第2処理において、所定方向における葉210の位置と、上記所定方向に直交する方向における葉210の位置とに基づいて、撮像画像内に含まれる複数の葉210のうちの最初に採取する対象の葉210を決定してもよい。走行台車6による走行が継続されるのに応じて、ロボット2によるエンドエフェクタ50の動作において、エンドエフェクタ50が移動できない領域が生じてくる。また、所定方向に直交する方向において、走行台車6から遠い領域に位置する葉210の採取は時間を要する場合がある。上記構成では、葉210の位置が、エンドエフェクタ50が移動できない領域となる前に採取することができ、また、走行台車6から近い位置に存在する葉210を優先して採取できる。そのため、走行台車6の移動に起因して、採取対象の葉210を採取できない可能性を低減することができ、作業のやり直し等を回避できる。従って、作業の効率化に更に有用である。
【0112】
以上に説明した葉の採取装置1において、コントローラ100は、第2処理において、撮像画像内に含まれる複数の葉210のそれぞれについて、エンドエフェクタ50を接近させる方向を演算することと、エンドエフェクタ50を接近させる方向に基づいて、撮像画像内に含まれる複数の葉210のうちの2番目に採取する対象の葉210を決定することと、を実行してもよい。この場合、2番目に採取する対象の葉210について、エンドエフェクタ50を接近させる方向が考慮されることで、順に実行される複数の葉210それぞれに対する採取作業の間の移行時間を短縮することできる。従って、作業の効率化に更に有用である。
【0113】
以上に説明した葉の採取装置1において、コントローラ100は、走行台車6の走行に応じて、第1処理、第2処理、及び、第3処理を含む一連の処理を繰り返すように構成されていてもよい。葉210に対する採取作業、及び、走行台車6の走行が進行すると、最適な採取順が変更され得る。上記構成では、走行台車6の走行に応じて、採取作業が実行されつつ、採取順が更新される。そのため、そのときの状況に応じて最適な採取順で採取作業を行うことができる可能性が高まる。従って、作業の効率化に有用である。
【0114】
以上に説明した葉の採取装置1は、作物200のうち走行台車6の前方に位置する部分を撮像するように構成された第2計測部9(第2撮像部)を更に備えてもよい。コントローラ100は、第2計測部9に撮像を実行させて得られる第2撮像画像内に含まれる葉の密度を算出することと、第2撮像画像における葉の密度の算出結果に基づいて、走行台車6の移動速度を調節することと、を実行するように構成されていてもよい。葉の密度が小さい場合に、葉210の採取作業を行わなくてもよい場合、又は、採取する葉210の枚数を減らしてもよい場合がある。上記構成では、葉の密度が小さい場合に、走行台車6の移動速度を速めることができる。そのため、葉の密度が小さく、ロボット2及びエンドエフェクタ50を動作させる回数が少なくてよい領域を、走行台車6が短い時間で通過できる。従って、作業の効率化に有用である。
【0115】
[付記]
なお、本開示は、以下の付記1~9の構成を含んでいる。
<付記1>
開口を介して内部空間に作物の葉を吸引して、前記作物から葉を採取するように構成されたエンドエフェクタと、
前記作物に対する前記エンドエフェクタの相対的な位置を変更するように構成されたロボットと、
前記作物の葉を含む視野を撮像するように構成された撮像部とを備え、
前記エンドエフェクタ、前記ロボット、及び前記撮像部を制御するように構成されたコントローラと、を備え、
前記コントローラは、前記撮像部により得られる撮像画像に基づいて、前記作物の葉に含まれる葉身の向きを推定することと、
葉身の向きの推定結果に基づいて、前記作物から葉を採取するように、前記エンドエフェクタ及び前記ロボットを制御することと、を実行するように構成されている、葉の採取装置。
<付記2>
前記コントローラは、撮像して得られる画像の入力に応じて前記画像内に含まれる葉を検出すると共に、検出した葉に含まれる葉身の向きを示す情報を出力するように機械学習により予め構築された推定モデルと、前記撮像部により得られる前記撮像画像とに基づいて、前記作物の葉に含まれる葉身の向きを推定するように構成されている、付記1に記載の採取装置。
<付記3>
前記推定モデルは、前記画像内に含まれる葉における葉身と葉柄との接続部分を更に検出するように構築されている、付記2に記載の採取装置。
<付記4>
前記コントローラは、前記作物を撮像して得られる複数の学習用画像と、前記複数の学習用画像内それぞれに含まれる葉身の向きを示す正解データとに基づく機械学習を実行して、前記推定モデルを構築するように構成されている、付記2又は3に記載の採取装置。
<付記5>
開口を介して内部空間に作物の葉を吸引して、前記作物から葉を採取するように構成されたエンドエフェクタと、
前記作物に対する前記エンドエフェクタの相対的な位置を変更するように構成されたロボットと、
前記エンドエフェクタが取り付けられた前記ロボットを前記所定方向に沿って移動させるように走行可能な台車と、
前記作物に含まれる複数の葉を含む視野を撮像するように構成された撮像部と、を備え、
前記作物は、所定方向に沿って並ぶように植えられており、
前記コントローラは、前記エンドエフェクタ、前記ロボット、前記台車、及び前記撮像部を制御するように構成されており、
前記コントローラは、前記台車の走行を継続させている状態で、
前記撮像部に撮像を実行させる第1処理と、
前記第1処理での前記撮像部の撮像により得られる撮像画像内に含まれる複数の葉について、前記作物から採取する作業の実行順を決定する第2処理と、
前記第2処理で決定された実行順に従って、前記エンドエフェクタ及び前記ロボットの動作により前記作物に対して葉を採取する作業を行う第3処理と、を実行するように構成されている、葉の採取装置。
<付記6>
前記コントローラは、前記第2処理において、前記所定方向における葉の位置と、前記所定方向に直交する方向における葉の位置とに基づいて、前記撮像画像内に含まれる複数の葉のうちの最初に採取する対象の葉を決定する、付記5に記載の採取装置。
<付記7>
前記コントローラは、前記第2処理において、
前記撮像画像内に含まれる複数の葉のそれぞれについて、前記エンドエフェクタを接近させる方向を演算することと、
前記エンドエフェクタを接近させる方向に基づいて、前記撮像画像内に含まれる複数の葉のうちの2番目に採取する対象の葉を決定することと、を実行する、付記5又は6に記載の採取装置。
<付記8>
前記コントローラは、前記台車の走行に応じて、前記第1処理、前記第2処理、及び、前記第3処理を含む一連の処理を繰り返すように構成されている、付記5~7のいずれか1つに記載の採取装置。
<付記9>
前記作物のうち前記台車の前方に位置する部分を撮像するように構成された第2撮像部を更に備え、
前記コントローラは、
前記第2撮像部に撮像を実行させて得られる第2撮像画像内に含まれる葉の密度を算出することと、
前記第2撮像画像における葉の密度の算出結果に基づいて、前記台車の移動速度を調節することと、を実行するように構成されている、付記5~8のいずれか1つに記載の採取装置。
【符号の説明】
【0116】
1…葉の採取装置、2…ロボット、6…走行台車、8…第1計測部、9…第2計測部、50…エンドエフェクタ、52…ケース部材、53…周壁、S…内部空間、60…吸引部、62…羽根車、Ax1…軸線、70…駆動部、72…駆動モータ、76…伝達部材、80…切断部材、Ax2…軸線、84…刃、88…保護部材、100…コントローラ、200…作物、210…葉、212…葉身、212a…表面、214…葉柄、CP…接続部分。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16