農業の収穫は、屋外で、対象の位置も形も毎回違う作業です。ヒューマノイドで自動化した先行事例はほとんどなく、参照できる文献も限られています。このPoCは、その条件で実際にどこまで動くのかを確かめるために走らせました。
結果として、屋外の圃場でオクラを検出し、ハンドを伸ばして実を掴むところまで到達しました。屋内の検証環境での把持成功率は20回中16回、開発日数は70日です。切断用のカッターを作り込むところで時間切れとなり、収穫工程の完走までは届いていません。
何を組んだか
機体はUnitree G1です。胸部にZED-Mステレオカメラを固定してオクラを検出し、右手にはハンドとカッター用のアタッチメント、左腕には収穫した実を入れるカゴを取り付けました。背中にJetson Orinとバッテリーを積み、推論はすべて機体の上で完結させています。
収穫の流れはロボットOS上でワークフローとして定義し、1サイクルを次の8工程に分けました。
| 工程 | やっていること | 使っている技術 |
|---|---|---|
| 移動 | オクラを探しながら畝に沿って横に歩く | 歩行ポリシーへの速度指令(LocoClient) |
| 検出 | カメラ画像からオクラの実を検出・セグメントする | オクラ画像でファインチューニングしたYOLO |
| 3D化 | 検出した実を点群として取得し、重心の座標を出す | ZED-Mステレオカメラの深度 |
| 座標変換 | カメラ基準の座標を右腕基準の座標に変換する | 幾何計算 |
| 接近 | ハンドを実の近くまで伸ばす | 逆運動学(IK) |
| 位置合わせ | カッターが茎を挟める位置までハンドを詰める | Diffusion Policy |
| 切断把持 | ハンドの開度を変えて茎を切り、実を掴む | 開度制御 |
| 収納 | 左腕のカゴに実を入れ、次の株へ向かう | 固定モーション |
AIに任せる範囲を先に絞る
この8工程のうち、学習したモデルが動かしているのは「位置合わせ」だけです。歩行も、検出から座標算出も、腕を実の近くまで伸ばす動作も、古典的な制御と幾何計算でやっています。
実際、YOLOとステレオカメラと逆運動学の組み合わせだけで、実の近くまでは手を伸ばせます。計算量が少なく、動きも速く、学習データも要りません。モデルが必要になるのは、風で株が揺れ、日光でコントラストが変わり、葉が実を隠すという、事前に書き下せない残りの数センチです。
AIに任せる範囲を広げるほど、動作の不確実性が上がり、必要なデータ量とデバッグの手間が増えます。先にロボットの動きの流れを固定し、本当にAIでなければ吸収できない部分だけを切り出す。この線引きが、開発期間をそのまま決めます。
データの品質を見られる状態にしておく
学習したモデルが期待どおりに動かないとき、原因の候補は、データの質、データの量、収集時と実行時の環境差など多数あります。従来の制御ならコードを読めば動きの理由が分かりますが、学習したモデルではコードを読んでも分かりません。どのデータで学習させたかを確認することが、事実上唯一のデバッグ手段になります。
そのため、データを後から見返せる単位に保つことが設計上の制約になります。今回は1エピソードを2秒に切りました。500エピソードなら合計1,000秒で、品質の確認が現実的な範囲に収まります。同じ500エピソードでも1本60秒にすれば、確認すべき映像は30倍になります。工程を長く取るほど、デバッグの手間は加速度的に増えます。
切断まで学習に含めなかったのも同じ理由です。切断の学習データを揃えるには、実を500本以上落とすことになります。実を落とさずに繰り返し収集できる「位置合わせ」と、確実に再現できる「切断」を分けたほうが、同じ圃場から取れるデータの量が増えます。
現場で効いた細かい判断
- 動作データは相対表現で持つ。「今の状態からどう動かすか」で記録しておくと、絶対位置に依存せず、別の場所で撮ったデータも使える
- ハンド先のカメラは魚眼にする。通常のレンズだと画面の大部分を対象物が占めてしまい、周囲の文脈が写らない
- データ収集は方式を使い分ける。ロボットを直接動かす方式は精度が高い代わりに時間がかかり、カメラで人の手元の軌道を取る方式は精度が落ちる代わりに3倍以上の速さで集まる
- 実機に出す前に、圃場と屋内環境を3Dスキャンしてシミュレーションに取り込み、フロー全体を通しておく
屋外がPoCに持ち込む条件
屋外は、認識の難しさだけでなく、機体側の制約も持ち込みます。二足歩行は姿勢の維持と移動に電力を使い、G1のバッテリーは2時間ほどで切れます。移動が多い日はそれより短くなります。加えて、物を掴むときに下半身が揺れるとカメラも揺れ、把持の成功率が落ちます。
この2点から、収穫のように屋外を長時間動き回る作業では、下半身を車輪にしたセミヒューマノイドのほうが条件に合うと考えています。バッテリーは6時間程度まで伸び、上体も安定します。二足である必要があるのは、工場で車体の内部に入り込むような、しゃがんで狭い空間に入る作業のほうです。
このPoCで作りたかったもの
目的はオクラ収穫そのものだけではありません。対象物を検出し、近くまで古典制御で運び、最後の数センチを学習したモデルで詰めるという構成は、収穫に限りません。工場や建設現場の作業にも、同じ形で持ち込めます。今回確立した開発手法を、後続の現場にそのまま転用できるソフトウェア基盤にすることが、このPoCの本来の狙いです。
Orbohはエンジニアが現場に入り、タスクを絞り、ワークフローを固定してヒューマノイドを実装します。今回のオクラ収穫は、その進め方を屋外という一番条件の悪い場所で試した記録です。
協力
- トヨタ車体研究所
- 鹿児島県農業開発支援センター
- 九州工業大学のインターン生および関係者
