• Question: What other ways are there of teaching a robot or a computer?

    Asked by secretsaudience14 to Nick, Giuseppe, Gary, Sam, Mackenzie on 8 Jan 2020. This question was also asked by ch3st3rh4rt.
    • Photo: Giuseppe Cotugno

      Giuseppe Cotugno answered on 8 Jan 2020:


      There are several ways of teaching a robot to do things, actually there are so many that this is a very active field of research.

      A technique I like is called “Kinaestethic teaching”. This mean holding the robot hand or arm with your own hands and showing it how a motion (like grasping an object or pouring a liquid) should be done. The robot motors will be recording the trajectories and, once you repeat the experiment enough times, you will have sufficient data to give to a machine learning algorithm (an AI system) or to extrapolate a mathematical model from data (regression). The AI / regression will learn the important features of an action and will hopefully be able to repeat them when the robot is asked to do the same action on a different object. You can see an example here: https://www.youtube.com/watch?v=ARkSl9mqx7w

      Another very popular technique is to use motion capture. Say you want to teach a robot to prepare the dough for making pizza. You can go to a pizzaiolo and make him wear a motion capture suit: gloves, arm trackers etc. The pizzaiolo will make several dough and eventually you will have enough data to give to an AI system or to extrapolate a mathematical model of the action. The motion capture equipment used is the same that it is used by filming or videogame industry for collecting human data. A pizza making robot like this exists for real: https://www.youtube.com/watch?v=O4hrpZJTeZU

      There are other ways of collecting data from robots, like teleoperation (remotely controlling the robot from a computer), or by trial and errors (reinforcement learning, also very much used) but the above two methods are more frequently used. Teaching a computer works in a similar way: you need to collect data and then either extrapolate a mathematical function or use an AI system to derive a general rule applicable to similar cases.

      The rule for teaching robots and computers is always the same: first you need to collect good amount of data (both a large and statistically significant amount, not only the data you like ignoring other cases), then you use mathematics or machine learning to extrapolate a general rule and then you test it on new data (or by asking the robot to do things).

Comments