I'm entirely new to robotics and have the following design requirement for a project I'm working on:

Given a robot capable of positioning an object in three dimensional space ( vis. a plastic extruder or syringe, etc ), allow the robot's end user to manually move that object through a path so that the robot's motor/controller will output the path taken.

I'm sure there must be motor-controller packages with such a feature, but I have no idea what keywords to search for so as to learn more about this type of hardware.

The basic idea is to allow the end user to give the robot instructions by manually moving the object through a procedure, then recording that procedure, manipulating it and playing it back.

Can anyone give me some keywords to get me started in my research?

  • $\begingroup$ Welcome to Robotics StudentsTea, but I'm afraid that Unbounded Design Questions are off-topic because there are many ways to solve any given design problem. We prefer practical, answerable questions based on actual problems that you face, so questions which ask for a list of approaches or a subjective recommendation on a method (for how to build something, how to accomplish something, what something is capable of, etc.) are off-topic. Please take a look at How to Ask & tour for more information on how stack exchange works. $\endgroup$
    – Mark Booth
    Oct 31 '16 at 11:53
  • 1
    $\begingroup$ If the OP was asking a general question about ways to implement teach-repeat programming then I'd agree with the On Hold. But the question was about keywords to assist in research for the topic. I think that is a fair and specific question. $\endgroup$
    – SteveO
    Oct 31 '16 at 16:54

Some keywords you can use are teach and repeat robot programming, and programming by demonstration. You can also study how teach pendants work.

EDIT (expanded to include motor controller behaviors):

For some robots, particularly hobby and educational robots, the system can just disable the brakes and/or servos (or remove the motor's bus voltage), and let the operator move the end effector by hand. The controller, in this teach mode, records the sequence of encoder values for each joint for the entire time the robot is in teach mode, and allows subsequent playback. For larger robots, with large link inertias, this can be challenging for the operator to do. I have worked on systems that energize the motors and compensate for gravity so that the operator can move the end effector with ease even though the links were heavy. This is tricky from a safety perspective, and usually require a "live man" switch to be continually engaged because the operator is in the robot's workspace with the system powered on. Most teach and repeat processes that I've seen use a teach pendant, in which the operator uses a joystick, switches, or programming commands to guide the robot to a series of discrete "taught points," rather than recording the actual sequence of encoder values throughout the entire path. These taught points can then be programmed into a robot's move commands, with additional options of setting motion parameters such as speeds, accelerations, and settling windows for each motion segment.


Not the answer you're looking for? Browse other questions tagged or ask your own question.