Kinesthetic Teaching
- 別名: lead-through programming, hand guiding, physical demonstration
- カテゴリ: Learning & autonomy › Learning from demonstration
- タグ: imitation-learning, demonstrations, human-robot-interaction, cobots, data-collection
ロボットのアームを物理的に導いてタスクを行わせ、その間にロボットが自身の関節やエンドエフェクターの動きを記録することで教示する方法。デモンストレーションがロボット自身の身体で直接得られる。
定義
キネステティックティーチング(kinesthetic teaching)は、人がロボットを持ってタスクの動作をさせることでデモンストレーションを与える方法である。ロボットのコントローラはアームを動かしやすくし、ロボットは自らの関節位置、エンドエフェクターの姿勢、場合によっては力をデモンストレーションとして記録する。記録したデータは固定のプログラムとして再生することも、模倣学習の学習データとして使うこともできる。つまりキネステティックティーチングはデモンストレーションを収集する方法であり、模倣学習は、どのような方法で収集されたかに関わらず、デモンストレーションからポリシーを学習する手法群である。産業用ロボットの分野では、同じ考え方はリードスルー・プログラミング(lead-through programming)やハンドガイディング(hand guiding)と呼ばれる。
主な利点は、デモンストレーションがロボット自身の関節空間で直接得られることである。テレオペレーションや動画によるデモンストレーションでは、人の動きを別の身体に対応付ける必要があり(対応問題)、テレオペレーションのインターフェースは精密な動作や接触の多い動作では使いにくいことがある。キネステティックティーチングでは、記録されたすべての動作がすでにロボットにとって運動学的に実行可能であり、人はアームを通じて環境との接触を感じ取れる。これを可能にするには、アームが手で動かしやすくなければならない。つまり、逆駆動可能で重力補償や低インピーダンスのコントローラを動かしているか、関節トルクや手首の力のセンシングとアドミッタンス制御によって人が加えた力に追従するかのいずれかである。
キネステティックティーチングにも限界がある。人の手や体がシーンの中にあるため、デモンストレーション中に記録した画像には人が写り込み、記録した力にはタスクの力だけでなく人の押す力も含まれる。よく使われる対処法は、軌道をキネステティックに記録した後、ロボットに自律的に再生させて、きれいなカメラデータと力データを取得することである。重いアームや関節の多いアームを導くのは疲れる作業であり、双腕タスクには 2 人の人か入念な準備が必要で、速い動作や動的な動作は手で示すのが難しい。デモンストレーションには教示者のためらいも記録されるため、軌道は通常、使用前に平滑化や分割が行われる。
重要な理由
キネステティックティーチングは、リターゲティングなしで、追加のハードウェアもほとんど使わずに、実行可能でタスクに即したデモンストレーションを実機ロボットで得る最も簡単な方法の 1 つである。工場の現場での協働ロボットのプログラミングにも、模倣学習研究のためのデータ収集にも広く使われている。
主な用途
- ハンドガイディングによる協働ロボットのプログラミング
- 模倣学習と行動クローニングのためのデモンストレーション収集
- 拭き取り、挿入、すくい取りなど接触の多いタスクの教示
- 少数のデモンストレーションからの動作プリミティブの学習
- 溶接、塗装、組立の経路のためのウェイポイント教示
実際の使われ方
ある研究チームが、協働アームに取り付けたスプーンでボウルから食べ物をすくうデモンストレーションを収集する。重力補償モードで、人が手首の近くでアームを握って 1 回ずつすくう動作を行い、その間ロボットは一定の周期でエンドエフェクターの姿勢を記録する。人の手が手首カメラを遮り、力も加わってしまうため、記録した各軌道はその後ロボットだけで再生され、再生時のカメラ画像と力の読み取り値が軌道と組み合わされて学習データとなる。ボウルの縁に当たったり食べ物をこぼしたりしたデモンストレーションは除外され、残りが視覚運動ポリシーの学習に使われる。
よくある誤解
- キネステティックティーチングはテレオペレーションの一種である — テレオペレーションでは人が別のインターフェースを動かしてロボットが離れた場所で追従するのに対し、キネステティックティーチングでは人がロボットそのものを物理的に動かす
- どのロボットアームでもキネステティックに教示できる — アームには逆駆動可能な関節か、トルクや力のセンシングと適切なコントローラが必要であり、剛性の高い位置制御の産業用アームは手で押しただけでは動かせない
- デモンストレーション中に記録したデータはそのまま使える — カメラ画像に人が写り、人が加えた力がタスクの力と混ざるため、多くのパイプラインでは軌道を再生してきれいなセンサーデータを記録する
知っておくべき人
- デモンストレーションを収集するロボット学習の研究者
- 協働ロボットをプログラミングするシステムインテグレーター
- 重力補償とアドミッタンス制御を実装する制御エンジニア
- 福祉ロボットやサービスロボットの開発者
関連技術
- 重力補償(Gravity Compensation)
- アドミッタンス制御(Admittance Control)
- Dynamic Movement Primitives
- 関節トルクセンサー(Joint Torque Sensors)
- 協働ロボットアーム(Collaborative Robot Arms)
関連用語
関連プロジェクト
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- Mobile ALOHA: Bimanual mobile manipulation with 4 robot arms on a wheeled base for teleoperation
- OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments
- Koch v1.1 Low-Cost Robot Arm: Open-source 6-DOF robot arm for affordable teleoperation and imitation learning research.
- AgiBot World: Million-trajectory real-robot manipulation dataset from a fleet of 100+ humanoid robots