Advanced science.  Applied technology.


Robot Programming by Visual Demonstration, 10-R8803

Principal Investigator
Inclusive Dates 
10/01/17 - Current


operator uses the demonstration tool to indicate key points in the desired robot path Figure 1: This test work cell is used to evaluate visual demonstration programming methods. The operator uses the demonstration tool to indicate key points in the desired robot path. A graphical display allows the operator to interactively create the sequence of path points and review the planned robot motion prior to executing the path.

One of the largest potential growth areas for automation is in collaborative robotics, where robots work closely alongside human operators. Collaborative robots are often deployed as parts of an agile, flexible manufacturing line, requiring frequent re-programming as they are moved to new tasks. These robots are typically operated by low-skill workers and robot programming using traditional methods can be a significant challenge. Some robots include user-friendly “hands on” teaching methods, but this requires specialized hardware and applies to only a limited range of devices.


This project is investigating an alternative user-friendly teaching method utilizing camera-based tracking of operator task demonstrations. This solution can be deployed across a wide range of applications, requiring no specialized robot hardware.

The test workcell used for this project includes a collaborative robot, a 3D sensor mounted near the robot end effector, and an operator demonstration tool with visible tracking markers. A test fixture is used to simulate various robotic task scenarios, such as path following, inspection, or edge/surface processing.


A graphical interface provides feedback during the programming process Figure 2: A graphical interface provides feedback during the programming process. Additional software enhancements are planned to adjust the raw demonstration input to automatically align with observed part features. This new visual programming method will be compared against existing “hands-on” and pendant-based programming to evaluate its effectiveness.

The basic tracking, path creation, and graphical interface components have been developed and refined through several iterations of testing. Results from testing are used to better understand what tools and feedback benefit visual programming. Early results were used to update the tracking tool and integrate a wireless input device to simplify entry of new path points.