Efficient Programming of Robot Tasks by Human Demonstration
Name of demonstration
Efficient Programming of Robot Tasks by Human Demonstration
Main objective
Traditional systems for robot programming are rather complex and rely on user knowledge about robotics. In this demonstrator, we address challenges of robot programming by providing software and hardware frameworks to integrate programming by demonstration paradigm into an effective system for programming of industrial production tasks, e.g. automated robot assembly, finishing operations, bimanual tasks, robot motion for visual quality control, etc.
Short description
Robot programming by demonstration (RPD) paradigm offers a much more intuitive approach to specify robot tasks than traditional robot programming systems, including simulation-based systems. It allows the user to show the desired operations using his own physical skills and does not require any expert knowledge about robotics. Our laboratory demonstrator comprises various approaches to robot programming by demonstration and their possible industrial applications: manual (kinesthetic) guidance to record robot motion and the arising forces and torques, manual guidance to specify bimanual assembly tasks, optical marker-based system to record human motion, sensorized tools equipped with markers and 6-D force-torque sensor to record tool motion, and mechanical digitizers. Software to convert the recorded data into executable robot motion is provided.
Owner of the demonstrator
Jožef Stefan Institute
NACE
C - Manufacturing
Keywords
Robot programming by demonstration, Human-robot cooperation, Human motion capture, Kinesthetic guidance, Bimanual systems.
Potential users
Manufacturing companies, System integrators
Benefits for the users
Ease of robot programming: With robot programming by demonstration, the programming of new robot operations becomes easier, more intuitive, and also much faster. In this demonstrator we provide both hardware and software interfaces for a variety of programming by demonstration approaches. By robot programming by demonstration, the user can program new robot operations or adapt the existing with ease. The developed Graphical User Interfaces further ease the programming process.
Quick adaptation to product variations: If a new variation of the product is introduced, an existing robot operation can be quickly adapted based on the provided technologies.
Automation of force-based operations: Robot operations that require force control are rarely used in industrial production. With the technologies included in this demonstrator, complex finishing operations (polishing, brushing, grinding) can be programmed quickly and efficiently.
Innovation
Robot programming by demonstration (RPD) has shown great promise in many research projects but its utilization by industrial users is still limited. This is mainly due to the lack of effective user interfaces for programming by demonstration in industrial environments. In this demonstrator, we provide such interfaces for a variety of RPD systems that can be used for the specification of robot operations in industrial production tasks. The demonstrator shows that RPD is a viable paradigm to improve the programming of classic industrial production tasks such as autonomous robot assembly, as well as tasks that are rarely automated in industrial production, e.g. finishing operations and bimanual tasks that include force control. By making use of RPD, end-users can reduce their reliance on system integrators as it becomes possible to program many complex tasks without expert knowledge. On the other hand, system integrators can reduce the cost of their products by employing RPD.
Risks and limitations
Programming by human demonstrations is only possible if suitable robots and sensors are available. Sensorized tools require additional sensors that increase the price the robot programming. In order to manually guide a robot arm, it needs to support gravity compensation mode, where the weight of the robot is compensated by its motors and the robot arm can be guided with a minimal effort so that a user can focus on the demonstration. Gravity compensation requires the availability of torque values at each joint, which is best measured with torque sensors in each joint. This can significantly increase the price of the robot. Nevertheless. the recently introduced Framka Emika PANDA robot shows that low-cost robots with torque sensors in all jopints are possible.
As the user is demonstrating the skill as he sees fit, the quality of the recorded data and consequently the quality of robot programs rely on the quality of the performed demonstrations. Although programming by demonstration reduces the need for in-depth knowledge in robotics, know-how about the actual production process is still necessary.
Technology readiness level
6 - Safety approved sensors and systems are commercially available
Sectors of application
Manufacture of furniture, Treatment and coating of metals; machining, .
Potential sectors of application
Automotive industry, White goods industry, Aviation industry, Electronics industry, Shoe industry, Manufacturing of machinery
Patents / Licenses / Copyrights
The software package for programming by manual guidance including the GUI is freely accessible under a three-clause BSD license. It is available as one our modules and JSI can provide support. https://github.com/tgaspar/helping_hand/Our programming by demonstration system is integrated into ROSto accelerate the deployment of the programmed operations.https://www.ros.org
Hardware / Software
Hardware:
Robots with gravity compensation (Universal robot UR-10, Franka Emika Panda, and Kuka LWR-4 are available at JSI)
6-D force-torque sensors (JRC, ATI)
MicroScribe 3D digitizer
OptiTrack V120
CyberGlove with Polhemus electromagnetic tracker
Software:
HelpingHand
Matlab
Python
Trainings
The training material currently being prepared and will be announced when it is ready.
Photos
Video
Manual guidance for the specification of key configurations in robotic assembly.
https://ijs.si/usr/aude/trinity/guidance_point_teaching.webmSpecification of a complex trajectory by manual guidance
https://ijs.si/usr/aude/trinity/guidance_parallel.webmProgramming by demonstration of a polishing operation
https://ijs.si/usr/aude/trinity/capture_polishing.webmProgramming by manual guidance of a polishing operation
https://ijs.si/usr/aude/trinity/guidance_polishing.webmPerformance of the programmed polishing operation
https://ijs.si/usr/aude/trinity/polishing.webmHardware & software interface for robot programming by manual guidance
The module for robot programming by manual guidance enables fast and intuitive programming of new robot mot...
LEARN MORE
ROS peripheral interface
The ROS periphery interface provided in this module is implemented on a micro-computer, e.g. Raspberry Pi. ...
LEARN MORE
Trainings
To learn more about the solution, click on the link below to access the training on the Moodle platform
Efficient programming of robot tasks by human demonstration