TEAMZ
技術記事一覧へ戻る
技術記事2026-09-18

G1のみかん収穫はまだ未達:触覚による力の調整と残る課題

追記:収穫はまだできていません。掲載動画は指の接触・調整と過大力停止の検証で、もぎ取り成功の映像ではありません。追加した保持試験でも、枝の支えを試験的に外すと約2.5秒後に滑落しました。果柄を切り離し、手だけで保持する一連の動作は未達です。

みかんをつかむとき、人は指先の感触を頼りに力を変えています。強く握れば傷めてしまい、弱すぎれば落としてしまう。この「力加減」を、ロボットでも扱えるようにする取り組みです。

チームゼットでは、人型ロボットG1によるみかん収穫のシミュレーションを開発しています。触覚に応じた指の制御と、過大な力を検出して動作の進行を止める仕組みまで検証しました。現在は、安定した保持と収穫動作を詰めています。

現時点では、みかんを傷めずに収穫する一連の動作は未達です。実機での収穫と、VLAによる収穫学習もまだ完了していません。

Isaac Sim 6で記録した手・指・果実の動きを、最新の3D農場で再描画した検証映像です。果実はまだ枝側の拘束で支えられており、手だけで保持した映像ではありません。周囲の枝葉は表示用で、干渉の検証は別途必要です。

目で見るだけでは、握る強さは分からない

手と実が触れた画像だけでは、どのくらい強く押しているのかは分かりません。そこで、シミュレーション内の接触から得た力を「仮想の触覚」として使い、指の動きを調整しています。

説明アニメーションを表示/非表示指の動きと触覚フィードバックの模式アニメーション。実験映像ではありません。
触覚フィードバックの説明用アニメーション。実験の力を再生したものではありません。
触覚フィードバックの説明用アニメーション。実験の力を再生したものではありません。

実機の触覚センサーを測定して再現したものではなく、仮のセンサー設定による検証です。画面上で動いたことと、現実の果実を傷めないことは、分けて確かめる必要があります。

使っているハンドは「Unitree Dex3-1」

G1の右手には、Unitree Roboticsの三指ハンド「Dex3-1」の3Dモデルを使っています。メーカー仕様は7自由度、片手33点の触覚センサーです。メーカーの製品紹介でも確認できます。

今回使っているのは実機のハンドではありません。物理シミュレーションの接触反力を、仮配置した33点へ割り当てて「仮想触覚」としています。メーカーの実機センサー配置・校正値を正確に再現したものではありません。

どのくらいの力で握ろうとしている?

今回の試験では、親指・人差し指・中指それぞれの接触力の合計を0.6 Nに近づける設定です。0.6 Nは、地球上で約61 gの物体に働く重力に相当する力です。これは力の大きさの目安で、61 gの実を持てるという意味ではありません。

0.6 Nは目標値であり、動画中ずっとその力で握れていたという実測結果ではありません。三指の目標値を足して「握力1.8 Nで収穫できた」とも言えません。接触の向き、滑り、腕から加わる力があるためです。
今回の設定意味
各指の目標:0.6 N指ごとの接触力を近づけたい値
目標との差が0.05 N未満細かな開閉を繰り返さないため、通常の力補正を休む範囲
1点が1.5 N超、または指合計が2 N超指を緩め、腕の動作の進行を停止する条件

これらは開発中の仮設定です。実物のみかんの「つぶれない限界」から決めた値ではなく、非損傷を保証しません。

なぜ0.6 Nにしたのか

0.6 Nは、低い力から接触制御を試すために置いた仮の初期目標です。実物のみかんの重量・滑りやすさ・傷み始める力を測定し、適切な値として決めたものではありません。現在の試験で0.6 Nが妥当だったとも確認できていません。

適切な力は、「滑らず支えるために必要な力」と「傷み始める力」の間で選ぶ必要があります。さらに、もぎ取るときの抵抗にも耐える必要があります。同じ力でも狭い場所に集中すると圧力が高くなるので、接触面積や当て方も重要です。

前回試験の仮想触覚ログ。各指の力は目標0.6 Nからずれ、人差し指では大きな上昇がある
前回試験の記録値です。説明用に作った波形ではありません。ただし0.1秒おきの保存値のため、全物理ステップの瞬間最大値を示すものではありません。

反発が強くなったら、どう緩める?

ここでいう反発は、指が実を押したときに押し返される接触反力です。果実の跳ね返りや、果皮の硬さそのものを測っているわけではありません。

各指の目標0.6 Nに対し、弱ければ閉じ、強ければ開く。過大力では指を緩め腕の進行を停止する説明図
今回の制御の説明図です。実験の力の波形ではありません。

通常は、目標との差に応じて指の目標角度を少しずつ変えます。力が足りなければ閉じ、強ければ開く。差が大きいほど補正を大きくする比例型のフィードバックで、急に動かしすぎないよう補正速度にも上限を設けています。判定・更新は毎秒120回です。

例えば指合計の観測値が0.9 Nなら、目標0.6 Nより強いので開く側へ補正します。0.3 Nなら閉じる側です。これは制御の説明例で、動画から読み取った実測値ではありません。

さらに、通常の調整とは別に過大力の保護判定があります。1点1.5 N、または指合計2 Nを超えると、指を緩める指令を出し、腕のひねり・搬送の進行を止めます。触覚の欠測や、仮想センサーへ割り当てられない接触力が大きい場合にも保護が働きます。

腕を止めることと、力が抜けることは別です。現状は停止時の関節姿勢を保持するため、腕が実を押している力が残る可能性があります。指の開閉だけでなく、腕の押し込みを減らす制御も課題です。

動画では、なぜもぎ取れていない?

今回のログでは、ひねりの開始直後に1点の過大力を検出して停止し、果柄は切れていません。果実は枝側の拘束で支えられたままです。「つかむ→ひねって切り離す→手だけで保持する」という収穫動作は未達です。

まず三指の接触位置と保持姿勢を直し、腕の動きで実を押し込みすぎないようにします。そのうえで、回転と抵抗を扱える果柄モデル、切り離し後の保持を順に検証します。果実の変形・損傷も未検証のため、見た目だけで「傷めずに収穫できた」とは判定しません。

進めることと同じくらい、止まることも大切

今回の試験では、実に触れた状態からひねりへ進もうとした際に過大な力を検出し、動作の進行を停止しました。停止機能が働いたという結果であり、収穫に成功したという意味ではありません。

強すぎる力を検出する設定も、実物のみかんの損傷限界を保証する値ではありません。次は手だけで実を支え続け、その後も落とさず動かせるかを確かめます。

収穫までの段階と、現在確認できた範囲。
収穫までの段階と、現在確認できた範囲。

農場の見た目と、手元の動きを育てる

農場全体では、木の並び、通路、地面、奥の林を組み合わせて環境を試作しています。実際の園地を測量した再現ではなく、樹形や地表にはCGらしさが残っています。

農場全体の3D配置試作。収穫成功や実際の園地を示す写真ではありません。
農場全体の3D配置試作。収穫成功や実際の園地を示す写真ではありません。

今後は実際のみかんの枝を複数の方向から撮影し、接写する枝・葉・実の見た目を改善する予定です。見た目の自然さと、触れたときの力や動きの妥当性を、それぞれ検証していきます。

AIに任せる判断と、手元の力加減

VLAは、画像と人の指示をもとにロボットの動作を選ぶAIです。今後は「どの実に近づくか」「次に何をするか」という判断と、接触に応じて手元の力を調整する仕組みを組み合わせる方向で進めます。

今後目指す役割分担の説明用アニメーション。VLA学習は未完了です。
今後目指す役割分担の説明用アニメーション。VLA学習は未完了です。

今回動かした指の制御は、VLAが収穫を学習した結果ではありません。まず保持・切り離し・搬送を確かめ、学習に使える動作データを整える段階です。

次の一歩は、安定して支えること

目指しているのは、実をつかんだ瞬間だけでなく、ひねって離し、運び終えるまで扱えることです。失敗した箇所も記録しながら、環境づくりと制御の両方を進めています。

お問い合わせ