Explore chapters and articles related to this topic
Robotics and Machine Learning
Published in Shivani Agarwal, Sandhya Makkar, Duc-Tan Tran, Privacy Vulnerabilities and Data Security Challenges in the IoT, 2020
Imitation learning has become an essential element of learning in the field of robotics, especially in areas whose working environments have an outdoor physical setting, such as construction, agriculture, search and rescue, and the military. It is a big challenge for humans to program these robotic solutions. Typical examples include the inverse optimal control methods, or “programming by demonstration,” which are applied in robotic applications.
Pervasive Computing for Home Automation and Telecare
Published in Syed Ijlal Ali Shah, Mohammad Ilyas, Hussein T. Mouftah, Pervasive Communications Handbook, 2017
Claire Maternaghan, Kenneth J. Turner
Programming by demonstration (e.g., a CAPpella [18], Alfred [19]) allows the user to set up a situation and then demonstrate how the system should respond to it. However, it can take significant effort to demonstrate all the situations that might arise. It can also be difficult to demonstrate rare events.
Hiding task-oriented programming complexity: an industrial case study
Published in International Journal of Computer Integrated Manufacturing, 2023
Enrico Villagrossi, Michele Delledonne, Marco Faroni, Manuel Beschi, Nicola Pedrocchi
Programming by demonstration is a technique where the programmer can demonstrate the task to the robot (Billard et al. 2008; Zhang, Wang, and Xiong 2016). A common approach to programming by demonstration is the evolution of lead-through programming method exploiting admittance/impedance control algorithms where the user physically interacts with the robot through robot manual guidance (Safeea and Neto 2022). The most common approach uses force/torque sensors mounted between the robot flange and the end-effector (Bascetta et al. 2013). Conversely, modern collaborative robots, such as the Kuka LBR or the Franka Emika, integrate torque sensors into robot joints. The drawbacks of admittance/impedance control algorithms are accurate parameters tuning, which can bring stability issues (Ferraguti et al. 2019), additional sensing (force/torque sensors), and they are not available as a software feature for most industrial robots. Moreover, the demonstration accuracy is not enough for most industrial applications.
LIA: A Virtual Assistant that Can Be Taught New Commands by Speech
Published in International Journal of Human–Computer Interaction, 2019
Learning by demonstration, also known as Programming by demonstration or Imitation learning, is commonly used by robots interacting with users. The common case study is with a person showing a robot how to lift or select a certain object, move an object, or perform some other tasks (Argall, Chernova, Veloso, & Browning, 2009). In most studies the human teacher actually moves the robot’s arms to perform the taught task (Calinon, Guenter, & Billard, 2007), or controls the robot using a control peg, while in some other studies, the human teacher performs the task in front of the robot’s cameras (Nakaoka et al., 2007), or wears data gloves (Kuklinski et al., 2014). In many cases the robot can also generalize beyond the specific training scenario, to perform the task also in different conditions. For example, Calinon et al. (Calinon et al., 2007) teach a robot by demonstration how to move a chess piece on a board of chess by moving the robot’s arms. The robot can then generalize and move the same piece also when it is located in a different location. In recent work (Li, Azaria, & Myers, 2017), we have combined speech commands with programming by demonstration to execute different commands on a mobile app. Thorne et al. (Thorne, Ball, & Lawson, 2013) use a system based upon programming by demonstration as an alternative to spreadsheet programming. They run an experiment with human subjects, and describe the benefits and limitations of this system.
End-User Development Landscape: A Tour into Tailoring Software Research
Published in International Journal of Human–Computer Interaction, 2023
Claiton Marques Correa, Milene Selbach Silveira
At this point, it is helpful to distinguish software customization from software modification. Lieberman et al. (2006) defined these terms as follows. Software customization encompasses activities that allow users to choose predefined system behavior. Actions such as changing the color font, type, or other properties are examples of customization. These changes can occur by an explicit user action or a system response to a user action, such as in responsive applications. On the other hand, software modification involves actions that imply creating or modifying the software. Visual programming, programming by demonstration, macros, and script languages are examples from this category.