Knowledge

Programming by demonstration

Source đź“ť

121:(ELMs) in a guaranteed stable manner. Furthermore, the paper won the best student paper award. The networks represent movements, where asymptotic stability is incorporated through constraints derived from Lyapunov stability theory. It is shown that this approach successfully performs stable and smooth point-to-point movements learned from human handwriting movements. 89:
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.
48:(PbD) appeared in software development research as early as the mid 1980s 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 146:
is stored in a database. Getting easier access to the raw data is realized with parameterized skills. A skill is requesting a database and generates a trajectory. For example, at first the skill “opengripper(slow)” is sent to the motion database and in response, the stored movement of the robotarm is
124:
It is also possible to learn the Lyapunov candidate that is used for stabilization of the dynamical system. For this reason, neural learning scheme that estimates stable dynamical systems from demonstrations based on a two-stage process are needed: first, a data-driven Lyapunov function candidate is
100:
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
55:
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.
133:
Diffeomorphic transformations turn out to be particularly suitable for substantially increasing the learnability of dynamical systems for robotic motions. The stable estimator of dynamical systems (SEDS) is an interesting approach to learn time invariant systems to control robotic motions. However,
68:
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
88:
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
84:
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
96:
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
125:
estimated. Second, stability is incorporated by means of a novel method to respect local constraints in the neural learning. This allows for learning stable dynamics while simultaneously sustaining the accuracy of the dynamical system and robustly generate complex movements.
162:
movement in the 3d space, which consists of points. Single skills can be combined into a task for defining longer motion sequences from a high level perspective. For practical applications, different actions are stored in a
97:
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.
69:(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. 117:
Neurally-imprinted Stable Vector Fields (NiVF) was introduced as a novel learning scheme during ESANN 2013 and show how to imprint vector fields into neurals networks such as
168: 134:
this is restricted to dynamical systems with only quadratic Lyapunov functions. The new approach Tau-SEDS overcomes this limitations in a mathematical elegant manner.
35:
technique for teaching a computer or a robot new behaviors by demonstrating the task to transfer directly instead of programming it through machine commands.
171:(DMP). They generate a robot trajectory on the fly which was unknown at the time of the demonstration. This helps to increase the flexibility of the solver. 458: 368: 304: 164: 723: 52:; while in PbD the user performs a sequence of actions that the computer must repeat, generalizing it to be used in different data sets. 472:
Alizadeh, Tohid; Saduanov, Batyrkhan (2017). "Robot programming by demonstration of multiple tasks within a common environment".
795: 283: 780: 653: 588: 545: 525: 489: 344: 635: 319: 598:
Schaal, Stefan; Ijspeert, Auke; Billard, Aude (2003), "Computational approaches to motor learning by imitation",
383: 875: 567: 159: 702: 762: 57: 474:
2017 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems (MFI)
268: 870: 148: 118: 638:, Cynthia Breazeal and Brian Scassellati, Trends in Cognitive Sciences, 6:1, 2002, pp. 481–87 729: 673: 201: 196: 40: 452: 298: 255: 206: 105:(also known as RPD or RbD) was also progressively replaced by the more biological label of 32: 384:"Learning Robot Motions with Stable Dynamical Systems under Diffeomorphic Transformations" 8: 216: 600:
Philosophical Transactions of the Royal Society of London. Series B: Biological Sciences
620: 495: 440: 362: 350: 417: 320:"Neural learning of stable dynamical systems based on data-driven Lyapunov candidates" 738: 625: 584: 541: 521: 485: 340: 801: 752:
Interactive teacher-student (trainer/coach-trainee/client) kinesthetic demonstration
499: 786: 615: 607: 576: 477: 444: 432: 398: 354: 332: 155: 147:
provided. The parameters of a skill allow to modify the policy to fulfill external
49: 20: 535: 580: 514: 281: 180: 93: 402: 418:"Learning task-parameterized dynamic movement primitives using mixture of GMMs" 211: 184: 850: 833: 821: 436: 336: 326: 864: 481: 167:. For increasing the abstraction level further, skills can be converted into 85:
the teleoperation control and by using different interfaces such as vision.
629: 611: 652:
Schaal, S (1999), "Is imitation learning the route to humanoid robots?",
575:, S. Calinon, R. Dillmann and S. Schaal, MIT Press, pp. 1371–1394, 328:
2013 IEEE/RSJ International Conference on Intelligent Robots and Systems
143: 750: 317: 725:
Machine Learning techniques for Robot Programming by Demonstration
782:
Technical Committee on Human-Robot Interaction & Coordination
112: 768: 237: 179:
For final users, to automate a workflow in a complex tool (e.g.
415: 566:
Billard, Aude (2008), "Robot Programming by Demonstration",
72:
The first PbD strategies proposed in robotics were based on
381: 282:
A. Lemme, K. Neumann, R. F. Reinhart, J. J. Steil (2013).
16:
Technique for teaching a computer or a robot new behaviors
740:
Reinforcement Learning and Learning of Motor Primitives
142:
After a task was demonstrated by a human operator, the
597: 154:
A skill is an interface between task names, given in
63: 675:IEEE Transactions on Systems, Man, and Cybernetics 513: 844:A robot that learns to unscrew a bottle of coke: 862: 471: 291:Proc. Europ. Symp. On Artificial Neural Networks 128: 537:Your Wish is My Command: Programming By Example 800:, IEEE Robotics and Automation, archived from 785:, IEEE Robotics and Automation, archived from 776:Community activities on closely related topics 716: 318:A. Lemme, K. Neumann, and J. J. Steil (2013). 113:Neurally-imprinted Stable Vector Fields (NiVF) 728:, Lausanne, VD, CH: EPFL LASA, archived from 666: 642:Billard, A, "Imitation", in Arbib, MA (ed.), 516:Watch What I Do: Programming by Demonstration 644:Handbook of Brain Theory and Neural Networks 457:: CS1 maint: multiple names: authors list ( 367:: CS1 maint: multiple names: authors list ( 303:: CS1 maint: multiple names: authors list ( 619: 533: 284:"Neurally Imprinted Stable Vector Fields" 416:Pervez, Affan and Lee, Dongheui (2018). 815:A robot that learns to cook an omelet: 764:Teaching air hockey to a humanoid robot 565: 235: 183:), the most simple case of PbD is the 137: 50:a row in the desired results of a query 863: 760: 651: 511: 56:This framework can be contrasted with 797:Technical Committee on Robot Learning 540:, Ben Shneiderman, Morgan Kaufmann, 748: 641: 382:K. Neumann and J. J. Steil (2015). 13: 174: 103:Robot programming by demonstration 64:Robot programming by demonstration 14: 887: 704:Robotics & Autonomous Systems 559: 554: 520:, Daniel C. Halbert, MIT Press, 391:Robotics and Autonomous Systems 465: 409: 375: 311: 275: 236:Halbert, Dan (November 1984). 229: 1: 569:Springer Handbook of Robotics 222: 129:Diffeomorphic Transformations 655:Trends in Cognitive Sciences 646:, MIT Press, pp. 566–69 581:10.1007/978-3-540-30301-5_60 425:Intelligent Service Robotics 46:programming by demonstration 25:programming by demonstration 7: 717:Key laboratories and people 403:10.1016/j.robot.2015.04.006 243:. U.C. Berkeley (PhD diss.) 190: 169:dynamic movement primitives 101:in robotics, the notion of 10: 892: 667:Special issues in journals 636:Robots that imitate humans 476:. IEEE. pp. 608–613. 58:Bayesian program synthesis 810: 767:, JP: ATR, archived from 687:, vol. 21, number 13 534:Lieberman, Henry (2001), 437:10.1007/s11370-017-0235-8 337:10.1109/IROS.2013.6696505 119:Extreme Learning Machines 482:10.1109/mfi.2017.8170389 238:"Programming by Example" 849:"Unscrew Coke Bottle", 743:, SC, USA: USC CLMC Lab 202:Intentional programming 612:10.1098/rstb.2002.1258 512:Cypher, Allen (1993), 431:(1). Springer: 61–78. 331:. pp. 1216–1222. 263:Cite journal requires 197:Programming by example 41:programming by example 876:Programming paradigms 685:RSJ Advanced Robotics 207:Inductive programming 107:Learning by imitation 761:Bentivegna, Darrin, 138:Parameterized skills 33:end-user development 217:Supervised learning 158:and the underlying 92:The development of 749:Calinon, Sylvain, 678:, April 2007, 37:2 820:"Short Version", 606:(1431): 537–547, 590:978-3-540-23957-4 547:978-1-55860-688-3 527:978-0-262-03213-1 491:978-1-5090-6064-1 346:978-1-4673-6358-7 883: 856: 839: 832:"Long Version", 827: 805: 790: 772: 756: 744: 733: 711: 710:, Elsevier, 2006 709: 697: 688: 679: 661: 660: 647: 632: 623: 594: 574: 550: 530: 519: 504: 503: 469: 463: 462: 456: 448: 422: 413: 407: 406: 388: 379: 373: 372: 366: 358: 324: 315: 309: 308: 302: 294: 288: 279: 273: 272: 266: 261: 259: 251: 249: 248: 242: 233: 156:natural language 21:computer science 891: 890: 886: 885: 884: 882: 881: 880: 871:User interfaces 861: 860: 848: 831: 819: 813: 794: 779: 737: 722: 719: 707: 701: 694:Neural Networks 692: 683: 672: 669: 658: 591: 572: 562: 557: 548: 528: 508: 507: 492: 470: 466: 450: 449: 420: 414: 410: 386: 380: 376: 360: 359: 347: 322: 316: 312: 296: 295: 286: 280: 276: 264: 262: 253: 252: 246: 244: 240: 234: 230: 225: 193: 177: 175:Non-robotic use 140: 131: 115: 94:humanoid robots 66: 17: 12: 11: 5: 889: 879: 878: 873: 859: 858: 842: 841: 829: 812: 809: 808: 807: 792: 777: 774: 758: 746: 735: 718: 715: 714: 713: 699: 690: 681: 668: 665: 664: 663: 649: 639: 633: 595: 589: 561: 560:Reviews papers 558: 556: 555:External links 553: 552: 551: 546: 531: 526: 506: 505: 490: 464: 408: 374: 345: 310: 274: 265:|journal= 227: 226: 224: 221: 220: 219: 214: 212:Macro recorder 209: 204: 199: 192: 189: 185:macro recorder 176: 173: 160:spatiotemporal 139: 136: 130: 127: 114: 111: 65: 62: 15: 9: 6: 4: 3: 2: 888: 877: 874: 872: 869: 868: 866: 854: 853: 847: 846: 845: 837: 836: 830: 825: 824: 818: 817: 816: 804:on 2011-07-26 803: 799: 798: 793: 789:on 2011-07-26 788: 784: 783: 778: 775: 771:on 2008-01-27 770: 766: 765: 759: 754: 753: 747: 742: 741: 736: 732:on 2012-05-01 731: 727: 726: 721: 720: 706: 705: 700: 695: 691: 686: 682: 677: 676: 671: 670: 657: 656: 650: 645: 640: 637: 634: 631: 627: 622: 617: 613: 609: 605: 601: 596: 592: 586: 582: 578: 571: 570: 564: 563: 549: 543: 539: 538: 532: 529: 523: 518: 517: 510: 509: 501: 497: 493: 487: 483: 479: 475: 468: 460: 454: 446: 442: 438: 434: 430: 426: 419: 412: 404: 400: 396: 392: 385: 378: 370: 364: 356: 352: 348: 342: 338: 334: 330: 329: 321: 314: 306: 300: 292: 285: 278: 270: 257: 239: 232: 228: 218: 215: 213: 210: 208: 205: 203: 200: 198: 195: 194: 188: 186: 182: 172: 170: 166: 165:skill library 161: 157: 152: 150: 145: 135: 126: 122: 120: 110: 108: 104: 98: 95: 90: 86: 83: 79: 75: 70: 61: 59: 53: 51: 47: 43: 42: 36: 34: 30: 26: 22: 851: 843: 834: 822: 814: 802:the original 796: 787:the original 781: 769:the original 763: 751: 739: 730:the original 724: 703: 693: 684: 674: 654: 643: 603: 599: 568: 536: 515: 473: 467: 453:cite journal 428: 424: 411: 394: 390: 377: 327: 313: 299:cite journal 290: 277: 256:cite journal 245:. Retrieved 231: 178: 153: 141: 132: 123: 116: 106: 102: 99: 91: 87: 81: 77: 73: 71: 67: 54: 45: 39: 37: 28: 24: 18: 397:(C): 1–15. 149:constraints 865:Categories 696:, Elsevier 293:: 327–332. 247:2012-07-28 223:References 144:trajectory 44:(PbE) and 38:The terms 363:cite book 181:Photoshop 82:play-back 630:12689379 500:40697084 191:See also 74:teach-in 31:) is an 852:YouTube 835:YouTube 823:YouTube 621:1693137 445:3398752 355:1612856 78:guiding 811:Videos 628:  618:  587:  544:  524:  498:  488:  443:  353:  343:  708:(PDF) 659:(PDF) 573:(PDF) 496:S2CID 441:S2CID 421:(PDF) 387:(PDF) 351:S2CID 323:(PDF) 287:(PDF) 241:(PDF) 855:, DE 838:, FR 826:, FR 755:, CH 626:PMID 585:ISBN 542:ISBN 522:ISBN 486:ISBN 459:link 369:link 341:ISBN 305:link 269:help 616:PMC 608:doi 604:358 577:doi 478:doi 433:doi 399:doi 333:doi 80:or 29:PbD 19:In 867:: 624:, 614:, 602:, 583:, 494:. 484:. 455:}} 451:{{ 439:. 429:11 427:. 423:. 395:70 393:. 389:. 365:}} 361:{{ 349:. 339:. 325:. 301:}} 297:{{ 289:. 260:: 258:}} 254:{{ 187:. 151:. 109:. 76:, 60:. 23:, 857:. 840:. 828:. 806:. 791:. 773:. 757:. 745:. 734:. 712:. 698:. 689:. 680:. 662:. 648:. 610:: 593:. 579:: 502:. 480:: 461:) 447:. 435:: 405:. 401:: 371:) 357:. 335:: 307:) 271:) 267:( 250:. 27:(

Index

computer science
end-user development
programming by example
a row in the desired results of a query
Bayesian program synthesis
humanoid robots
Extreme Learning Machines
trajectory
constraints
natural language
spatiotemporal
skill library
dynamic movement primitives
Photoshop
macro recorder
Programming by example
Intentional programming
Inductive programming
Macro recorder
Supervised learning
"Programming by Example"
cite journal
help
"Neurally Imprinted Stable Vector Fields"
cite journal
link
"Neural learning of stable dynamical systems based on data-driven Lyapunov candidates"
2013 IEEE/RSJ International Conference on Intelligent Robots and Systems
doi
10.1109/IROS.2013.6696505

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑