请输入您要查询的百科知识:

 

词条 Programming by demonstration
释义

  1. Robot programming by demonstration

  2. See also

  3. References

  4. External links

     Reviews Papers  Special Issues in Journals  Key Laboratories and People  Videos 

In computer science, programming by demonstration (PbD) is an end-user development technique for teaching a computer or a robot new behaviors by demonstrating the task to transfer directly instead of programming it through machine commands.

The terms programming by example (PbE) and programming by demonstration (PbD) appeared in software development research as early as the mid 1980s[1] to define a way to define a sequence of operations without having to learn a programming language. The usual distinction in literature between these terms is that in PbE the user gives a prototypical product of the computer execution, such as a row in the desired results of a query; while in PbD the user performs a sequence of actions that the computer must repeat, generalizing it to be used in different data sets.

These two terms were first undifferentiated, but PbE then tended to be mostly adopted by software development researchers while PbD tended to be adopted by robotics researchers. Today, PbE refers to an entirely different concept, supported by new programming languages that are similar to simulators. This framework can be contrasted with Bayesian Program Synthesis.

Robot programming by demonstration

The PbD paradigm is first attractive to the robotics industry due to the costs involved in the development and maintenance of robot programs. In this field, the operator often has implicit knowledge on the task to achieve (he/she knows how to do it), but does not have usually the programming skills (or the time) required to reconfigure the robot. Demonstrating how to achieve the task through examples thus allows to learn the skill without explicitly programming each detail.

The first PbD strategies proposed in robotics were based on teach-in, guiding or play-back methods that consisted

basically in moving the robot (through a dedicated interface or manually) through a set of relevant configurations that the robot

should adopt sequentially (position, orientation, state of the gripper). The method was then progressively ameliorated by

focusing principally on the teleoperation control and by using different interfaces such as vision.

However, these PbD methods still used direct repetition, which was useful in industry only when conceiving an assembly line using exactly the same product components. To apply this concept to products with different variants or to apply the programs to new robots, the generalization issue became a crucial point. To address this issue, the first attempts at generalizing the skill

were mainly based on the help of the user through queries about the user's intentions. Then, different levels of abstractions were

proposed to resolve the generalization issue, basically dichotomized in learning methods at a symbolic level or at a trajectory level.

The development of humanoid robots naturally brought a growing interest in robot programming by demonstration. As a humanoid robot is supposed by its nature to adapt to new environments, not only the human appearance is important but the algorithms used for its control require flexibility and versatility. Due to the continuously changing environments and to the huge varieties of tasks that a robot is expected to perform, the robot requires the ability to continuously learn new skills and adapt the existing skills to new contexts.

Research in PbD also progressively departed from its original purely engineering perspective to adopt an interdisciplinary approach, taking insights from neuroscience and social sciences to emulate the process of imitation in humans and animals. With the increasing consideration of this body of work in robotics, the notion of Robot programming by demonstration (also known as RPD or RbD) was also progressively replaced by the more biological label of Learning by imitation.

See also

  • Programming by example
  • Intentional programming
  • Inductive programming
  • Macro recorder
  • Supervised learning

References

1. ^{{cite journal | first = Dan | last = Halbert | authorlink = | title = Programming by Example | version = | publisher = U.C. Berkeley (PhD diss.) | date = November 1984 | url = http://danhalbert.org/pbe.pdf | accessdate = 2012-07-28 }}
  • {{Citation |last= Cypher |first= Allen |others= Daniel C. Halbert |title= Watch What I Do: Programming by Demonstration |publisher= MIT Press |url= http://www.acypher.com/wwid/ |isbn=978-0-262-03213-1 |year= 1993}}
  • {{Citation |last= Lieberman |first= Henry |others= Ben Shneiderman |title= Your Wish is My Command: Programming By Example |publisher= Morgan Kaufmann |url= http://web.media.mit.edu/~lieber/PBE/Your-Wish/ |isbn=978-1-55860-688-3 |year= 2001}}

External links

Reviews Papers

  • {{Citation |last= Billard |first= Aude |others= S. Calinon, R. Dillmann and S. Schaal |title= Robot Programming by Demonstration |year= 2008 | journal= Handbook of Robotics |pages= 1371–1394 |publisher= MIT Press |url= http://infoscience.epfl.ch/record/114050/files/chapter5_9.pdf?ln=enversion=1 |postscript= .|doi= 10.1007/978-3-540-30301-5_60 |isbn= 978-3-540-23957-4 }}
  • {{Citation |last= Schaal |first= S |others= Ijspeert, A; Billard, A; Frith, CD, Wolpert, D. (eds.) |title= Computational approaches to motor learning by imitation |year= 2004 | journal= The Neuroscience of Social Interaction | issue = 1431 | pages = 199–218| publisher = Oxford University Press |url= http://www-clmc.usc.edu/publications/S/schaal-PTRSB2003.pdf |postscript= .}}
  • [https://courses.cs.washington.edu/courses/cse481c/11au/papers/robotsThatImitateHumans.pdf Robots that imitate humans], Cynthia Breazeal and Brian Scassellati, Trends in Cognitive Sciences, 6:1, 2002, pp. 481–87
  • {{Citation | contribution = Imitation | first = A | last = Billard | editor-first = MA | editor-last = Arbib | title = Handbook of Brain Theory and Neural Networks | publisher = MIT Press | pages = 566–69}}.
  • {{Citation | contribution = Is imitation learning the route to humanoid robots? | first = S | last = Schaal | title = Trends in Cognitive Sciences | year = 1999|url=http://www.bcp.psych.ualberta.ca/~mike/Pearl_Street/PSYCO354/pdfstuff/Readings/Schaal1.pdf}}.

Special Issues in Journals

  • {{Citation | url = http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=4126271 | title = IEEE Transactions on Systems, Man, and Cybernetics | issue = Robot Learning by Observation, Demonstration, and Imitation, Part B | at = 37:2 | date = April 2007}}.
  • {{Citation | title = RSJ Advanced Robotics | issue = Imitative Robots | volume = 21, number 13}}.
  • {{Citation | title = Neural Networks | issue = The Neural Mechanisms of Imitation Learning | publisher = Elsevier}}.
  • {{Citation | title = Robotics & Autonomous Systems | issue = The Social Mechanisms of Robot Programming by Demonstration | publisher = Elsevier | year = 2006|url=https://infoscience.epfl.ch/record/114040/files/billard_dillmann_RAS06.pdf}}.

Key Laboratories and People

  • {{Citation | url = http://lasa.epfl.ch/research/control_automation/demonstration/ | publisher = EPFL LASA | title = Machine Learning techniques for Robot Programming by Demonstration | place = Lausanne, VD, CH | deadurl = yes | archiveurl = https://web.archive.org/web/20120501235733/http://lasa.epfl.ch/research/control_automation/demonstration/ | archivedate = 2012-05-01 | df = }}.
  • {{Citation | url = http://www-clmc.usc.edu/Research/ImitationLearning | publisher = USC CLMC Lab | title = Reinforcement Learning and Learning of Motor Primitives | place = SC, USA}}.
  • {{Citation | url = http://www.calinon.ch/research.php | first = Sylvain | last = Calinon | title = Interactive teacher-student (trainer/coach-trainee/client) kinesthetic demonstration | place = CH}}.
  • {{Citation | url = http://www.cns.atr.jp/~dbent/ | first = Darrin | last = Bentivegna | title = Teaching air hockey to a humanoid robot | publisher = ATR | place = JP | deadurl = yes | archiveurl = https://web.archive.org/web/20080127173255/http://www.cns.atr.jp/~dbent/ | archivedate = 2008-01-27 | df = }}.
  • Community activities on closely related topics
  • {{Citation | url = http://tab.ieee-ras.org/committeeinfo.php?tcid=8 | archiveurl = https://web.archive.org/web/20110726171543/http://tab.ieee-ras.org/committeeinfo.php?tcid=8 | archivedate = 2011-07-26 | publisher = IEEE Robotics and Automation | title = Technical Committee on Human-Robot Interaction & Coordination}}.
  • {{Citation | url = http://tab.ieee-ras.org/committeeinfo.php?tcid=31 | archiveurl = https://web.archive.org/web/20110726172233/http://tab.ieee-ras.org/committeeinfo.php?tcid=31 | archivedate = 2011-07-26 | publisher = IEEE Robotics and Automation | title = Technical Committee on Robot Learning}}.

Videos

A robot that learns to cook an omelet:

  • {{Citation | place = FR | title = YouTube | url = //www.youtube.com/watch?v=FtjC-BXGgAE | contribution = Short Version}}.
  • {{Citation | place = FR | title = YouTube | url = //www.youtube.com/watch?v=VvoJxmaoi8A | contribution = Long Version}}.

A robot that learns to unscrew a bottle of coke:

  • {{Citation | place = DE | title = YouTube | url = //www.youtube.com/watch?v=jWYkzLSNmuc | contribution = Unscrew Coke Bottle}}.

2 : User interfaces|Programming paradigms

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/20 20:28:55