コンピュータサイエンスにおいて、デモンストレーションによるプログラミング( PbD )は、マシンコマンドを通じてプログラミングするのではなく、タスクを直接転送することをデモンストレーションすることで、コンピュータまたはロボットに新しい動作を教える エンドユーザー開発手法です。
プログラミング バイ サンプル(PbE) とプログラミング バイ デモンストレーション(PbD)という用語は、 1980 年代半ば[1]という早い時期にソフトウェア開発研究に登場し、プログラミング言語を習得することなく一連の操作を定義する方法を示していました。文献でこれらの用語が区別される一般的な点は、PbE ではユーザーがコンピューター実行のプロトタイプ製品 (クエリの目的の結果の行など) を提供するのに対し、PbD ではユーザーがコンピューターが繰り返す必要のある一連のアクションを実行し、それをさまざまなデータ セットで使用できるように一般化するという点です。
これら 2 つの用語は最初は区別されていませんでしたが、その後、PbE は主にソフトウェア開発研究者によって採用される傾向があり、PbD はロボット工学研究者によって採用される傾向がありました。今日、PbE はシミュレータに似た新しいプログラミング言語によってサポートされている、まったく異なる概念を指します。このフレームワークは、ベイズ プログラム合成と対比できます。
デモンストレーションによるロボットプログラミング
PbD パラダイムは、ロボット プログラムの開発と保守にかかるコストの面から、ロボット工学業界にとって魅力的なものとなっています。この分野では、オペレーターは達成すべきタスクについて暗黙の知識を持っていることが多い (実行方法を知っている) ものの、ロボットを再構成するために必要なプログラミング スキル (または時間) を持っていないことがよくあります。したがって、例を通じてタスクの達成方法を示すことで、詳細をそれぞれ明示的にプログラミングすることなくスキルを習得できます。
ロボット工学で最初に提案された PbD 戦略は、ティーチイン、ガイド、またはプレイバック方式に基づいており、基本的には、ロボットが順番に採用すべき一連の関連構成 (位置、方向、グリッパーの状態) を通じてロボットを (専用のインターフェースを介して、または手動で) 移動させることで構成されていました。その後、この方法は、主に遠隔操作制御に焦点を当て、視覚などのさまざまなインターフェースを使用することで徐々に改善されました。
しかし、これらの PbD 手法では依然として直接的な反復が使用されており、これは業界ではまったく同じ製品コンポーネントを使用した組立ラインを構想する場合にのみ有用でした。この概念をさまざまなバリエーションの製品に適用したり、プログラムを新しいロボットに適用したりするには、一般化の問題が重要なポイントになりました。この問題に対処するために、スキルを一般化する最初の試みは、主にユーザーの意図に関するクエリによるユーザーの支援に基づいていました。次に、学習方法で基本的に記号レベルまたは軌跡レベルで二分される一般化の問題を解決するために、さまざまなレベルの抽象化が提案されました。
ヒューマノイド ロボットの開発により、デモンストレーションによるロボット プログラミングへの関心が高まりました。ヒューマノイド ロボットは本来、新しい環境に適応することが想定されているため、人間のような外観が重要であるだけでなく、制御に使用するアルゴリズムには柔軟性と汎用性が求められます。環境は絶えず変化し、ロボットに求められるタスクは多種多様であるため、ロボットには新しいスキルを継続的に学習し、既存のスキルを新しいコンテキストに適応させる能力が必要です。
PbD の研究も、当初の純粋なエンジニアリングの観点から離れ、神経科学や社会科学の知見を取り入れて人間や動物の模倣のプロセスを模倣する学際的なアプローチを採用するようになりました。ロボット工学におけるこの一連の研究への関心が高まるにつれ、ロボットのデモンストレーションによるプログラミング(RPD または RbD とも呼ばれる) の概念も、より生物学的な模倣による学習というラベルに徐々に置き換えられました。
神経的に刻印された安定ベクトル場 (NiVF)
ニューラルインプリント安定ベクトル場[2](NiVF)は、ESANN 2013で新しい学習スキームとして紹介され、エクストリーム学習マシン(ELM)などのニューラルネットワークにベクトル場を保証された安定した方法でインプリントする方法を示しています。さらに、この論文は最優秀学生論文賞を受賞しました。ネットワークは動きを表現し、漸近安定性はリアプノフ安定理論から導かれた制約を通じて組み込まれています。このアプローチは、人間の手書きの動きから学習した安定した滑らかなポイントツーポイントの動きをうまく実行することが示されています。
動的システムの安定化に使用されるリャプノフ候補を学習することも可能です。[3]このため、2段階のプロセスに基づいてデモンストレーションから安定した動的システムを推定するニューラル学習スキームが必要です。最初に、データ駆動型リャプノフ関数候補が推定されます。次に、ニューラル学習でローカル制約を尊重する新しい方法によって安定性が組み込まれます。これにより、安定したダイナミクスを学習しながら、動的システムの精度を維持し、複雑な動きを堅牢に生成することができます。
微分同相変換
微分同相変換は、ロボットの動作のための動的システムの学習可能性を大幅に向上させるのに特に適していることが判明しました。動的システムの安定推定量 (SEDS) は、ロボットの動作を制御するために時間不変システムを学習するための興味深いアプローチです。ただし、これは 2 次リアプノフ関数のみを持つ動的システムに制限されます。新しいアプローチ Tau-SEDS [4]は、この制限を数学的にエレガントな方法で克服します。
パラメータ化されたスキル
人間のオペレーターがタスクを実演した後、その軌跡はデータベースに保存されます。生データに簡単にアクセスできるようにするために、パラメーター化されたスキルが実現されています。[5]スキルはデータベースを要求し、軌跡を生成します。たとえば、最初にスキル「opengripper(slow)」がモーションデータベースに送信され、それに応じて、保存されているロボットアームの動きが提供されます。スキルのパラメーターにより、外部制約を満たすようにポリシーを変更できます。
スキルとは、自然言語で与えられたタスク名と、ポイントで構成される 3D 空間内の基礎となる時空間移動との間のインターフェースです。単一のスキルを組み合わせてタスクにすると、高レベルの観点からより長い動作シーケンスを定義できます。実際のアプリケーションでは、さまざまなアクションがスキル ライブラリに保存されます。抽象化レベルをさらに高めるために、スキルを動的移動プリミティブ (DMP) に変換できます。これにより、デモンストレーションの時点では不明だったロボットの軌道が即座に生成されます。これにより、ソルバーの柔軟性が向上します。[6]
ロボット以外の用途
最終ユーザーにとって、複雑なツール(Photoshopなど)のワークフローを自動化するための最も単純な PbD の例は、 マクロ レコーダーです。
参照
参考文献
- ^ Halbert, Dan (1984 年 11 月). 「Programming by Example」(PDF) . UC Berkeley (博士論文) . 2012 年 7 月 28 日閲覧。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - ^ A. Lemme、K. Neumann、RF Reinhart、JJ Steil (2013)。「ニューラルインプリントされた安定ベクトル場」(PDF)。人工ニューラルネットワークに関する欧州シンポジウム:327~332。
{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ A. Lemme、K. Neumann、JJ Steil (2013)。「データ駆動型リアプノフ候補に基づく安定した動的システムのニューラル学習」(PDF)。2013 IEEE/RSJ 国際インテリジェントロボットおよびシステム会議。pp. 1216–1222。doi : 10.1109 /IROS.2013.6696505。ISBN 978-1-4673-6358-7.S2CID 1612856 。
{{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ K. Neumann およびJJ Steil (2015)。「微分同相変換の下での安定した動的システムによるロボット動作の学習」(PDF)。ロボット工学と自律システム。70 (C): 1–15。doi :10.1016/j.robot.2015.04.006 。
- ^ Pervez, Affan および Lee, Dongheui (2018). 「GMM の混合を使用したタスクパラメータ 化された動的動作プリミティブの学習」(PDF)。インテリジェント サービス ロボティクス。11 (1). Springer: 61–78. doi :10.1007/s11370-017-0235-8. S2CID 3398752.
{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ Alizadeh, Tohid; Saduanov, Batyrkhan (2017). 「共通環境内での複数タスクのデモンストレーションによるロボットプログラミング」2017 IEEE 国際会議 マルチセンサー融合およびインテリジェントシステム統合 (MFI) IEEE. pp. 608–613. doi :10.1109/mfi.2017.8170389. ISBN 978-1-5090-6064-1. S2CID 40697084。
- サイファー、アレン(1993)、ウォッチ・ホワット・アイ・ドゥ:デモンストレーションによるプログラミング、ダニエル・C・ハルバート、MITプレス、ISBN 978-0-262-03213-1
- リーバーマン、ヘンリー(2001)、あなたの願いは私の命令:例によるプログラミング、ベン・シュナイダーマン、モーガン・カウフマン、ISBN 978-1-55860-688-3
外部リンク
論文をレビューする
- Billard, Aude (2008)、「Robot Programming by Demonstration」、Springer Handbook of Robotics (PDF)、S. Calinon、R. Dillmann、S. Schaal、MIT Press、pp. 1371–1394、doi :10.1007/978-3-540-30301-5_60、ISBN 978-3-540-23957-4。
- シャール、ステファン; アイシュペール、アウケ; ビラール、アウデ (2003)、「模倣による運動学習への計算的アプローチ」、ロンドン王立協会哲学論文集。シリーズ B: 生物科学、358 (1431): 537–547、doi :10.1098/rstb.2002.1258、PMC 1693137、PMID 12689379
- 人間を模倣するロボット、シンシア・ブリージールとブライアン・スカセラティ、認知科学の動向、6:1、2002年、pp. 481-87
- Billard, A、「模倣」、Arbib, MA (編)、脳理論と神経ネットワークハンドブック、MIT Press、pp. 566–69。
- Schaal, S (1999)、「模倣学習はヒューマノイド ロボットへの道か?」、認知科学の動向(PDF)。
雑誌特集号
- IEEE Transactions on Systems, Man, and Cybernetics、2007年4月、37:2。
- RSJ アドバンストロボティクス、第21巻、第13号。
- ニューラルネットワーク、エルゼビア。
- ロボティクスと自律システム(PDF)、エルゼビア、2006。
主要な研究室と人々
- ロボットプログラミングのための機械学習技術のデモンストレーション、ローザンヌ、VD、CH:EPFL LASA、2012-05-01にオリジナルからアーカイブ。
- 強化学習と運動プリミティブの学習、サウスカロライナ州、米国:USC CLMC ラボ。
- カリノン、シルヴァン、対話型教師-生徒(トレーナー/コーチ-研修生/クライアント)運動感覚デモンストレーション、CH。
- Bentivegna, Darrin、「ヒューマノイド ロボットにエア ホッケーを教える」、JP: ATR、2008 年 1 月 27 日にオリジナルからアーカイブ。
- 関連性の高いトピックに関するコミュニティ活動
- ヒューマン・ロボット・インタラクション&コーディネーション技術委員会、IEEE ロボティクス&オートメーション、2011-07-26 にオリジナルからアーカイブ。
- ロボット学習技術委員会、IEEE ロボティクスおよびオートメーション、2011 年 7 月 26 日にオリジナルからアーカイブ。
ビデオ
オムレツの作り方を学ぶロボット:
- 「ショートバージョン」、YouTube、フランス語。
- 「ロングバージョン」、YouTube、フランス語。
コーラのボトルのねじを外すことを学習するロボット:
- 「コーラのボトルを外す」、YouTube、ドイツ。
