農業とアフォーダンス 2:農業ロボットはもっとズルをしていい
アフォーダンスの考え方から,農業ロボットの設計を考える
農業ロボットはもっとズルをしていい
農業ロボットの研究をしていると,考えはどうしても「ロボットを賢くする」方向へ向かう。カメラで作物を正確に認識し,枝や果実の位置を三次元で推定し,障害物を避けながらアームを動かし,どこを掴むか,どこで切るかを判断する。どれも必要な技術である。
ただ,ときどき思う。この問題は,本当にロボットの頭の中だけで解かなければならないのだろうか。もう少しズルをしてもいいのではないか。
果樹の剪定を考えると…
果樹の剪定で考えてみる。
人間は枝を見て,どれを残すかを決め,はさみを入れる位置まで手を運んで切る。これをそのままロボットにやらせようとすると,途端に難しくなる。枝を一本ずつ認識し,枝同士の前後関係をつかみ,切る枝と残す枝を判断し,切断位置を決め,周りの枝にぶつからないようにアームを動かす。人間と同じ剪定をさせようとする限り,認識にも計画にも制御にも,かなり高い水準が求められる。
では,樹の形のほうを機械に合わせてしまったらどうか。枝が伸びる方向と範囲をある程度そろえ,切るべき境界面も栽培の段階で決めておく。そうすれば,ロボットは枝を一本ずつ理解しなくてよい。極端に言えば,樹列の横からピザカッターを走らせれば剪定が終わる。
もちろん,宅配ピザについてくるあのカッターで木を切るわけではない。回転刃でも往復刃でもよい。刃の形式はどうでもよくて,「枝を理解して切る」という問題を「決めた面からはみ出したものを切る」という問題に置き換えることが肝心である。
反則に見えるかもしれない。しかし私は,農業ロボットにはこういうズルがもっと必要だと考えている。
アフォーダンスは何で決まる?
1部で書いたとおり,アフォーダンスは環境が主体に提供する行為の可能性である。ただし,それは環境だけでは決まらない。人間にとって階段は登るものだが,車輪型ロボットにとっては行く手をふさぐ段差である。逆に,人間には狭すぎる隙間が,小型ロボットには通り道になる。同じ環境でも,向き合う身体が変われば,できることが変わる。
もう一つ,何をしたいかという目的も効いてくる。同じ枝でも,剪定したいのか,収穫のためにかき分けたいのかで,ロボットにとっての意味は変わる。つまりアフォーダンスは,環境と身体と目的の三つの組み合わせで決まる。
ロボット研究では,環境と目的を与えられたものとして,ロボットの認識や制御を高度化することが多い。しかし農業では,環境はそれほど固定されていない。畝幅は変えられるし,樹形も誘引の仕方も変えられる。支柱を立てることも,機械に合わせて作物の並びを変えることもできる。ロボットの身体は,言うまでもなく自由に設計できる。
それなら,環境と身体の両方に手を入れて,欲しいアフォーダンスを最初から作ってしまえばよい。
人間の真似をしなくていい
農業ロボットを考えていると,知らないうちに人間を基準にしてしまう。人間は二本の脚で歩くから二足歩行ロボットを作る。手で果実をつかむから多指ハンドを作る。はさみで枝を一本ずつ切るから,アームにもはさみを持たせる。
農業機械の歴史を振り返ると,これはむしろ珍しい発想に見える。コンバインは人が鎌で稲を刈る動きを再現していないし,トラクタは鍬を振る動きを大きくしたものでもない。農業機械は人の動作をなぞらず,機械の身体に合った別のやり方で同じ作業を実現してきた。ロボットだけが人間のやり方にこだわる理由はない。
見方を変えれば,特定の作物に特化した農業機械は,ある作物とある作業に向けて身体を突き詰めた結果とも言える。その作物,その作業においてだけ,人間よりはるかに多くのことができる身体である。しかも,機械だけが歩み寄ったわけではない。田植機は,苗をマット状に育てる育苗方法とセットで普及した。作物の側も,機械に合わせて形を変えてきたのである。
ヒューマノイドを畑で使うとしても,二足歩行である必要はないだろう。人型の価値が二本の腕や目の高さ,道具を扱える上半身にあるのなら,上半身は人型のまま,下半身はクローラにしてしまってもかまわない(ヒューマノイドの尊厳が少々損なわれる気はするが)。車輪でも昇降台でもよい。不整地で二足歩行を安定させるために膨大な計算と制御をつぎ込むより,足回りだけ機械的にズルをしたほうが作業全体として簡単になるなら,そちらを選ぶのが工学的には筋である。
それは私の仕事ではありません
ここまでの話をロボットの側から言い直すと,枝を一本ずつ見分けるのは樹形の仕事であり,不整地で転ばずに進むのはクローラの仕事である。ロボットにだって,「それは私の仕事ではありません」と言う権利があってもいいのではないか。
私が考えるズルとは,要するに仕事の割り振りを変えることである。ロボットが抱えていた難題の一部を,身体の機構や作物の形,圃場の作りに引き受けてもらう。そう考えると,設計する対象はロボットだけではなくなる。ロボットの身体,作業環境,作業慣行,ひいては品種改良までを統合的に扱い,目的の作業が無理なく成り立つように仕事を配り直すことになる。
とはいえ,何でも環境に押し付けられるわけではない。環境を変えるにはお金がかかり,栽培上の制約もある。ロボットのために樹形を変えて収量や品質が落ちるなら,それは本末転倒である。だから本当に考えるべきは,どこまでをロボットの仕事にし,どこから先を身体や作物や環境に引き受けてもらうか,という線引きである。
認識精度を2倍にするか,ガイドを一本立てるか。高価な6自由度アームを入れるか,樹形を変えるか。高度な歩行制御を作るか,クローラを履かせるか。どちらが優れているかは一概には言えない。ただ,このトレードオフそのものは研究の対象になる。
解かなくていい問題を作る
難しい問題を解くアルゴリズムには魅力がある。複雑な環境を理解するAIも,高精度な認識も,器用なマニピュレーションも,いずれ必要になる技術である。一方で,その難しい問題をそもそも解かずに済むシステムを作ることも,同じくらい工学の仕事だと思う。
枝を一本ずつ理解できるロボットを作るのは面白い。枝を一本ずつ理解しなくても剪定できる果樹園を作るのも,同じくらい面白い。そして農業では,後者の余地がまだかなり残っているように見える。
賢いロボットを作ることと並行して,ロボットが賢くなくても仕事ができる農業を設計する。農業ロボットは,もう少し堂々とズルをしてよいと思う。
Agricultural Robots Should Cheat More
When you work on agricultural robots, your thinking tends to drift toward making the robot smarter. The robot should recognize crops accurately from camera images, estimate the 3D positions of branches and fruit, move its arm around obstacles, and decide where to grasp and where to cut. All of these are necessary technologies.
Every so often, though, I wonder whether these problems really have to be solved inside the robot’s head. Maybe we could cheat a little more.
Take Fruit Tree Pruning…
Consider pruning a fruit tree.
A person looks at the branches, decides which ones to keep, brings the shears to the right spot, and cuts. Hand the same job to a robot and it suddenly becomes very hard. The robot has to recognize each branch, work out which branches are in front of which, decide which to cut and which to keep, choose the cutting point, and move its arm without hitting the branches around it. As long as we expect a robot to prune the way a person does, we need a high level of perception, planning, and control.
What if we shaped the tree to suit the machine instead? Train the branches to grow within a set direction and range, and fix the boundary to be cut back at the cultivation stage. Then the robot no longer needs to understand each branch. To put it in extreme terms, you could finish the pruning by running a pizza cutter along the side of the tree row.
I don’t mean the cutter that comes with a delivery pizza, of course. A rotary blade or a reciprocating blade would do. The type of blade doesn’t matter. What matters is replacing the problem of “understanding branches and cutting them” with the problem of “cutting whatever sticks out past a set plane.”
This may look like breaking the rules. But I think agricultural robots need more of this kind of cheating.
What Determines Affordance?
As I wrote in Part 1, an affordance is a possibility for action that an environment offers to an actor. But it is not determined by the environment alone. For a person, a staircase is something to climb; for a wheeled robot, it is a step that blocks the way. Conversely, a gap too narrow for a person can be a passage for a small robot. In the same environment, what can be done changes with the body facing it.
The purpose of the action matters too. The same branch means something different to a robot depending on whether it is meant to prune it or push it aside to harvest fruit. In other words, affordance is determined by the combination of three things: the environment, the body, and the purpose.
Robotics research often treats the environment and the purpose as given and works on improving the robot’s perception and control. In agriculture, however, the environment is not so fixed. Row width can be changed, and so can the tree shape and the way branches are trained. We can put up stakes, or rearrange how crops are planted to suit the machines. And the robot’s body, needless to say, can be designed freely.
If so, why not work on both the environment and the body, and create the affordances we want from the start?
No Need to Copy Humans
When thinking about agricultural robots, we tend to use humans as the reference without noticing. Humans walk on two legs, so we build bipedal robots. Humans pick fruit by hand, so we build multi-fingered hands. Humans cut branches one at a time with shears, so we give the robot arm a pair of shears too.
Looking back at the history of farm machinery, this is actually an unusual way of thinking. A combine harvester does not reproduce the motion of a person cutting rice with a sickle, and a tractor is not an enlarged version of someone swinging a hoe. Farm machines did not trace human motions; they achieved the same tasks in other ways suited to a machine’s body. There is no reason why robots alone should stick to the human way of doing things.
Seen another way, a farm machine specialized for a particular crop is the result of pushing a body to its limit for one crop and one task. It is a body that can do far more than a person can, but only for that crop and that task. Nor was it only the machine that adapted. The rice transplanter spread together with a method of raising seedlings as mats. The crop, too, changed its form to suit the machine.
Even if we use a humanoid in the field, it probably doesn’t need to walk on two legs. If the value of the human form lies in its two arms, its eye height, and an upper body that can handle tools, then we could keep the upper body humanoid and put it on crawler tracks (at some cost to the humanoid’s dignity, I admit). Wheels or a lift platform would also work. If cheating mechanically at the feet makes the whole task simpler than pouring enormous computation and control into stable bipedal walking on rough ground, that is the sensible engineering choice.
That’s Not My Job
Put from the robot’s point of view, telling the branches apart is the tree shape’s job, and getting across rough ground without falling over is the crawler’s job. Surely even a robot should have the right to say, “That’s not my job.”
The kind of cheating I have in mind is, in short, a change in how the work is divided. Part of the hard problem the robot was carrying is handed over to the body’s mechanism, the shape of the crop, or the layout of the field. Seen this way, the robot is no longer the only thing to be designed. The robot’s body, the working environment, work practices, and even crop breeding are handled as a whole, and the work is redistributed so that the target task can be done without strain.
That said, not everything can be pushed onto the environment. Changing the environment costs money, and cultivation has its own constraints. If reshaping trees for a robot lowers yield or quality, we have lost sight of the point. So the real question is where to draw the line: how much should be the robot’s job, and from where should the body, the crop, and the environment take over?
Double the recognition accuracy, or install a single guide? Bring in an expensive six-degree-of-freedom arm, or change the tree shape? Develop sophisticated walking control, or fit crawler tracks? There is no general answer to which is better. But the trade-off itself can be a subject of research.
Create Problems You Don’t Need to Solve
Algorithms that solve hard problems are attractive. AI that understands complex environments, high-precision perception, and dexterous manipulation will all be needed at some point. At the same time, building systems in which those hard problems never need to be solved is, I think, just as much a part of engineering.
Building a robot that can understand each branch is interesting. Building an orchard that can be pruned without understanding each branch is just as interesting. And in agriculture, there still seems to be a great deal of room for the latter.
Alongside building smarter robots, we can design agriculture in which robots can do the work without being smart. I think agricultural robots could cheat a bit more openly.