Robot Learning by Visual Observation
()
About this ebook
This book presents programming by demonstration for robot learning from observations with a focus on the trajectory level of task abstraction
- Discusses methods for optimization of task reproduction, such as reformulation of task planning as a constrained optimization problem
- Focuses on regression approaches, such as Gaussian mixture regression, spline regression, and locally weighted regression
- Concentrates on the use of vision sensors for capturing motions and actions during task demonstration by a human task expert
Related to Robot Learning by Visual Observation
Related ebooks
Hebbian Learning: Fundamentals and Applications for Uniting Memory and Learning Rating: 0 out of 5 stars0 ratingsElements of Molecular Neurobiology Rating: 0 out of 5 stars0 ratingsBackpropagation: Fundamentals and Applications for Preparing Data for Training in Deep Learning Rating: 0 out of 5 stars0 ratingsGroup Method of Data Handling: Fundamentals and Applications for Predictive Modeling and Data Analysis Rating: 0 out of 5 stars0 ratingsArtificial Immune Systems: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsInterior Point Algorithms: Theory and Analysis Rating: 0 out of 5 stars0 ratingsTuring Test: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsBiomolecular Networks: Methods and Applications in Systems Biology Rating: 0 out of 5 stars0 ratingsMathematical Modelling: A Graduate Textbook Rating: 0 out of 5 stars0 ratingsDynamics and Control of Robotic Manipulators with Contact and Friction Rating: 0 out of 5 stars0 ratingsOptimization Techniques and Applications with Examples Rating: 0 out of 5 stars0 ratingsImage, Video and 3D Data Registration: Medical, Satellite and Video Processing Applications with Quality Metrics Rating: 0 out of 5 stars0 ratingsFoundations of Image Science Rating: 0 out of 5 stars0 ratingsMulti-modality Cardiac Imaging: Processing and Analysis Rating: 0 out of 5 stars0 ratingsFormation Control of Multiple Autonomous Vehicle Systems Rating: 0 out of 5 stars0 ratingsStatistical Signal Processing in Engineering Rating: 0 out of 5 stars0 ratingsComputer Vision in Vehicle Technology: Land, Sea, and Air Rating: 0 out of 5 stars0 ratingsModel Identification and Data Analysis Rating: 0 out of 5 stars0 ratingsRobot Manipulator Redundancy Resolution Rating: 0 out of 5 stars0 ratingsDesign and Implementation of Large-Range Compliant Micropositioning Systems Rating: 0 out of 5 stars0 ratingsDistributed Cooperative Control: Emerging Applications Rating: 0 out of 5 stars0 ratingsModeling and Estimation of Structural Damage Rating: 0 out of 5 stars0 ratingsModel-Based Processing: An Applied Subspace Identification Approach Rating: 0 out of 5 stars0 ratingsFormation Control of Multi-Agent Systems: A Graph Rigidity Approach Rating: 0 out of 5 stars0 ratingsRobust Nonlinear Regression: with Applications using R Rating: 0 out of 5 stars0 ratingsCooperative Control of Multi-Agent Systems: Theory and Applications Rating: 0 out of 5 stars0 ratingsGuided Randomness in Optimization, Volume 1 Rating: 0 out of 5 stars0 ratingsStandard and Super-Resolution Bioimaging Data Analysis: A Primer Rating: 0 out of 5 stars0 ratingsInsight into Fuzzy Modeling Rating: 0 out of 5 stars0 ratingsArchitecture-Aware Optimization Strategies in Real-time Image Processing Rating: 0 out of 5 stars0 ratings
Robotics For You
Artificial Intelligence: The Complete Beginner’s Guide to the Future of A.I. Rating: 4 out of 5 stars4/52062: The World that AI Made Rating: 5 out of 5 stars5/5Machine Learning: Adaptive Behaviour Through Experience: Thinking Machines Rating: 4 out of 5 stars4/5The Consciousness Explosion: A Mindful Human's Guide to the Coming Technological and Experiential Singularity Rating: 0 out of 5 stars0 ratingsThe Fourth Age: Smart Robots, Conscious Computers, and the Future of Humanity Rating: 3 out of 5 stars3/5Arduino: The complete guide to Arduino for beginners, including projects, tips, tricks, and programming! Rating: 4 out of 5 stars4/5Artificial Intelligence Revolution: How AI Will Change our Society, Economy, and Culture Rating: 5 out of 5 stars5/5ChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5In the Age of AI: How AI and Emerging Technologies Are Disrupting Industries, Lives, and the Future of Work Rating: 3 out of 5 stars3/5Artificial Intelligence: Machine Learning, Deep Learning, and Automation Processes Rating: 4 out of 5 stars4/5Artificial Intelligence: An Illustrated History: From Medieval Robots to Neural Networks Rating: 4 out of 5 stars4/5PLC Programming & Implementation: An Introduction to PLC Programming Methods and Applications Rating: 0 out of 5 stars0 ratingsCollection of Raspberry Pi Projects Rating: 5 out of 5 stars5/5Raspberry Pi Projects for the Evil Genius Rating: 0 out of 5 stars0 ratingsThe Rise of the Robots: FT and McKinsey Business Book of the Year Rating: 0 out of 5 stars0 ratingsBuilding Server-side and Microservices with Go: Building Modern Backends and Microservices Using Go, Docker and Kubernetes Rating: 0 out of 5 stars0 ratingsArtificial Intelligence: Robots, Applications, and Machine Learning in a Nutshell Rating: 5 out of 5 stars5/5The AI Generation: Shaping Our Global Future with Thinking Machines Rating: 4 out of 5 stars4/5Robot Building For Dummies Rating: 3 out of 5 stars3/5Martin Ford's Rise of The Robots: Technology and the Threat of a Jobless Future Summary Rating: 2 out of 5 stars2/5A Hundred Reasons Why AI Can Make You Money: English to Spanish Rating: 5 out of 5 stars5/5The Official Raspberry Pi Handbook 2024: Astounding projects with Raspberry Pi computers Rating: 0 out of 5 stars0 ratingsCNC: How Hard Can it Be Rating: 4 out of 5 stars4/5Introducing Artificial Intelligence: A Graphic Guide Rating: 3 out of 5 stars3/5Building with Virtual LEGO: Getting Started with LEGO Digital Designer, LDraw, and Mecabricks Rating: 0 out of 5 stars0 ratingsMastering PLC Programming: The software engineering survival guide to automation programming Rating: 0 out of 5 stars0 ratingsPractical, Made Easy Guide To Robotics & Automation [Revised Edition] Rating: 1 out of 5 stars1/5
Reviews for Robot Learning by Visual Observation
0 ratings0 reviews
Book preview
Robot Learning by Visual Observation - Aleksandar Vakanski
1
Introduction
Robot programming is the specification of the desired motions of the robot such that it may perform sequences of prestored motions or motions computed as functions of sensory input (Lozano‐Pérez, 1983).
In today’s competitive global economy, shortened life cycles and diversification of the products have pushed the manufacturing industry to adopt more flexible approaches. In the meanwhile, advances in automated flexible manufacturing have made robotic technology an intriguing prospect for small‐ and medium‐sized enterprises (SMEs). However, the complexity of robot programming remains one of the major barriers in adopting robotic technology for SMEs. Moreover, due to the strong competition in the global robot market, historically each of the main robot manufacturers has developed their own proprietary robot software, which further aggravates the matter. As a result, the cost of robotic tasks integration could be many folds of the cost of robot purchase. On the other hand, the applications of robots have gone well beyond the manufacturing to the domains such as household services, where a robot programmer’s intervention would be scarce or even impossible. Interaction with robots is increasingly becoming a part of humans’ daily activities. Therefore, there is an urgent need for new programming paradigms enabling novice users to program and interact with robots. Among the variety of robot programming approaches, programming by demonstration (PbD) holds a great potential to overcome complexities of many programming methods.
This introductory chapter reviews programming approaches and illustrates the position of PbD in the spectrum of robot programming techniques. The PbD architecture is explained next. The chapter continues with applications of PbD and concludes with an outline of the open research problems in PbD.
1.1 Robot Programming Methods
A categorization of the robot programming modes based on the taxonomy reported by Biggs and MacDonald (2003) is illustrated in Figure 1.1. The conventional methods for robot programming are classified into manual and automatic, both of which rely heavily on expensive programming expertise for encoding desired robot motions into executable programs.
Block diagram illustrating manual programming and automatic robot programming methods, such as text-based systems, graphical systems, teach-pendant programming, and learning systems.Figure 1.1 Classification of robot programming methods.
(Data from Biggs and MacDonald (2003).)
The manual programming systems involve text‐based programming and graphical interfaces. In text‐based programming, a user develops a program code using either a controller‐specific programming language or extensions of a high‐level multipurpose language, for example, C++ or Java (Kanayama and Wu, 2000; Hopler and Otter, 2001; Thamma et al., 2004). In both cases, developing the program code is time‐consuming and tedious. It requires a robot programming expert and an equipped programming facility, and the outcomes rely on programmer’s abilities to successfully encode the required robot performance. Moreover, since robot manufacturers have developed proprietary programming languages, in industrial environments with robots from different manufacturers, programming robots would be even more expensive. The graphical programming systems employ graphs, flowcharts, or diagrams as a medium for creating a program code (Dai and Kampker, 2000; Bischoff et al., 2002). In these systems, low‐level robot actions are represented by blocks or icons in a graphical interface. The user creates programs by composing sequences of elementary operations through combination of the graphical units. A subclass of the graphical programming systems is the robotic simulators, which create a virtual model of the robot and the working environment, whereby the virtual robot is employed for emulating the motions of the actual robot (Rooks, 1997). Since the actual robot is not utilized during the program development phase, this programming method is referred to as off‐line programming (OLP).
The conventional automatic programming systems employ a teach‐pendant or a panel for guiding the robot links through a set of states to achieve desired goals. The robot’s joint positions recorded during the teaching phase are used to create a program code for task execution. Although programming by teach‐pendants or panel decreases the level of required expertise, when compared to the text‐based programming systems, it still requires trained operators with high technical skills. Other important limitations of the guided programming systems include the difficulties in programming tasks with high accuracy requirements, absence of means for tasks generalizations or for transfer of the generated programs to different robots, etc.
The stated limitations of the conventional programming methods inspired the emergence of a separate class of automatic programming systems, referred to as learning systems. The underlying idea of robot learning systems originates from the way we humans acquire new skills and knowledge. Biggs and MacDonald (2003) classified these systems based on the corresponding forms of learning and solving problems in cognitive psychology: exploration, instruction, and observation. In exploration‐based systems, a robot learns a task with gradually improving the performance by autonomous exploration. These systems are often based on reinforcement learning techniques, which optimize a function of the robot states and actions through assigning rewards for the undertaken actions (Rosenstein and Barto, 2004; Thomaz and Breazeal, 2006; Luger, 2008). Instructive systems utilize a sequence of high‐level instructions by a human operator for executing preprogrammed robot actions. Gesture‐based (Voyles and Khosla, 1999), language‐based (Lauria et al., 2002), and multimodal communication (McGuire et al., 2002) approaches have been implemented for programming robots using libraries of primitive robot actions. Observation‐based systems learn from observation of another agent while executing the task. The PbD paradigm is associated with the observation‐based learning systems (Billard et al., 2008).
1.2 Programming by Demonstration
Robot PbD is an important topic in robotics with roots in the way human beings ultimately expect to interact with a robotic system. Robot PbD refers to automatic programming of robots by demonstrating sample tasks and can be viewed as an intuitive way of transferring skill and tasks knowledge to a robot. The term is often used interchangeably with learning by demonstration (LbD) and learning from demonstration (LfD) (Argall et al., 2009; Konidaris et al., 2012). PbD has evolved as an interdisciplinary field of robotics, human–robot interaction (HRI), sensor fusion, machine learning, machine vision, haptics, and motor control. A few surveys of robot PbD are available in the literature (e.g., Argall et al., 2009). PbD can be perceived as a class of supervised learning problems because the robot learner is presented with a set of labeled training data, and it is required to infer an output function with the capability of generalizing the function to new contexts. In the taxonomy of programming approaches shown in Figure 1.1, PbD is a superior learning‐based approach. Compared to the exploration‐based learning systems (as an unsupervised learning problem), PbD systems reduce the search space for solutions to a particular task, by relying on the task demonstrations. The learning is also faster because the trial and errors associated with the reinforcement methods are eliminated.
In summary, the main purpose in PbD is to overcome the major obstacles for natural and intuitive way of programming robots, namely lack of programming skills and scarcity of task knowledge. In industrial settings, this translates to reduced time and cost of programming robots by eliminating the involvement of a robot programmer. In interactive robotic platforms, PbD systems can help to better understand the mechanisms of HRI, which is central to social robotics challenges. Moreover, PbD creates a collaborative environment in which humans and robots participate in a teaching/learning process. Hence, PbD can help in developing methods for robot control which integrate safe operation and awareness of the human presence in human–robot collaborative tasks.
1.3 Historical Overview of Robot PbD
Approaches for automatic programming of robots emerged in the 1980s. One of the earlier works was the research by Dufay and Latombe (1984) who implemented inductive learning for the robot assembly tasks of mating two parts. The assembly tasks in this work were described by the geometric models of the parts, and their initial and final relations. Synthesis of program codes in the robotic language was obtained from training and inductive (planning) phases for sets of demonstrated trajectories. In this pioneering work on learning from observation, the sequences of states and actions were represented by flowcharts, where the states described the relations between the mating parts and the sensory conditions.
Another early work on a similar topic is the assembly‐plan‐from‐observation (APO) method (Ikeuchi and Suehiro, 1993). The authors presented a method for learning assembly operations of polyhedral objects. The APO paradigm comprises the following six main steps: temporal segmentation of the observed process into meaningful subtasks, scene objects recognition, recognition of performed assembly task, grasp recognition of the manipulated objects, recognition of the global path of manipulated objects for collision avoidance, and task instantiation for reproducing the observed actions. The contact relations among the manipulated objects and environmental objects were used as a basis for constraining the relative objects movements. Abstract task models were represented by sequences of elementary operations accompanied by sets of relevant parameters (i.e., initial configurations of objects, grasp points, and goal configurations).
Munch et al. (1994) elaborated on the role of the teacher as a key element for successful task reproduction. The learning was accomplished through recognition of elementary operations for the observed tasks. The demonstrator supervised and guided the robot’s knowledge acquisition by (i) taking into considerations the structure of robot’s perceptibility sensors when providing examples, (ii) taking part in preprocessing and segmentation of the demonstrations, and (iii) evaluating the proposed task solution.
Ogawara et al. (2002a) proposed to generate a task model from observations of multiple demonstrations of the same task, by extracting particular relationships between the scene objects that are maintained throughout all demonstrations. Each demonstration was represented as a sequence of interactions among the user’s hand, a grasped object and the environmental objects. The interactions that were observed in all demonstrations were called essential interactions, whereas the variable parts of the demonstrations called nonessential interactions were ignored in the task planning step. Generalization across multiple demonstrations was carried out by calculating the mean and variance of all trajectories for the essential interactions. A robot program was generated from the mean trajectory, and mapped to robot joints’ motors using an inverse kinematics controller.
The advancements in the fields of machine learning and artificial intelligence in the past two decades produced an abundance of new methods and approaches. This trend was reflected by the implementation of approaches in robot PbD based on neural networks (Liu and Asada, 1993; Billard and Hayes, 1999), fuzzy logic (Dillmann et al., 1995), statistical models (Yang et al., 1994; Tso and Liu, 1997; Calinon, 2009), regression techniques (Atkeson et al., 1997; Vijayakumar and Schaal, 2000), etc.
Significant body of work in PbD concentrated on utilizing virtual reality (VR) as an interaction medium to substitute the actual workspace (Takahashi and Sakai, 1991; Aleotti et al., 2004). The main advantages of performing demonstrations in VR include the availability of direct information for the positions and orientations of teacher’s motions and the environmental objects during the demonstration phase, the accessible simulation of generated task solutions before the execution in the real world, reduced efforts and fatigue, increased safety of the user compared to physical demonstrations, etc. The concept of virtual fixtures, which refers to the use of virtual guidance and assistance to simplify and improve the tasks demonstration, was employed in Payandeh and Stanisic (2002) via provision of prior task information with an aim to restrict the demonstrated workspace and achieve more consistent performance. Aleotti et al. (2004) used visual and tactile virtual fixtures in PbD context, whereas adaptive virtual fixtures that correspond to different subtasks of a complex task were proposed by Aarno et al. (2005).
The recent progress in the field of HRI was also taken into consideration by several authors as a basis for improving the process of transfer of knowledge through demonstrations. Since building and developing social mechanisms between robots and humans in a PbD setting rely on successful training, Calinon and Billard (2007a) highlighted several interaction aspects that a demonstrator must reflect on before the demonstrations, such as what are the best ways to convey the knowledge considering the robot’s abilities, which parts of the demonstration need special attention, etc. (Figure