Robots. They’re everywhere around us. We work with them in factories and use them in conditions unsuitable for humans. As ubiquitous as they are, relatively few people actually understand the underpinnings and complexities of these man-made creations.
Programming a robot to perform multivariable tasks is a difficult job, and overcoming these issues takes quite a bit of time and effort.
“Any typos ruin your entire program. Any misplaced brackets, any code that takes up too much processing power, becomes a liability. Your code has to be documented for others to use; it has to use variables that others can understand,” said Max Le Merle, a computer science major with an emphasis in robotics from Trinity College.
These are just some of the issues a programmer often faces when developing software required to instruct robots.
“The most common way [to control a robot] is to write a computer program, and the program can transfer to [the] robotic systems, where [it] can perform autonomously,” said Harry Cheng, a professor in the Mechanical and Aerospace Engineering Department at UC Davis. “[Another] way to program robots is to use a graphic user interface, [like] a screen. That has advantages especially for beginners … but there are limitations.”
Another method of programming robots is to use what are called “teach pendants.” Teach pendants have the same ease of a graphic user interface, but can allow for more complex instructions.
“Basically you guide the robot at different locations and you record the position. The robot then follows this pattern it’s been [programmed with],” Cheng said in reference to the teach pendants.
These are the more common techniques used in programming robots, but there are several issues with using these methods, especially when it comes to higher-domain tasks. Firstly, quick adaptations are difficult to perform; if there needs to be a quick fix in the coding, the codes must either be rewritten or the robot must be retaught.
Secondly, a human touch may be needed. A robot could be unable to perform tasks because of the complexity of the coding, or even have its range of abilities limited by the mechanical aspects, such as mimicking the dexterity of the human hand. Julie Shah, leader of a robotics lab at MIT, along with her team, have helped develop an algorithm that helps humans and robots work together more easily.
The technique involves a process called “cross-training,” where human and machine learn off of each other’s movements and actions to perform tasks accordingly.
“All of the work we’re doing is aimed at integrating robots into ‘high-intensity domains.’ For example, in manufacturing, military and search and rescue field operations … This is where we generally see people doing the work. They have to perform some complex task, usually under some time pressure, and the situation tends to be safety-critical,” Shah said.
While a byproduct of the algorithm is to help improve the efficiency of a robot’s learning ability, Shah’s primary purpose of the algorithm is to understand and emulate the way humans learn, so it can be incorporated into machines.
“We made small changes to the prior state-of-the-art algorithm. We changed the computational model just a little so the robot would receive ‘rewards’ from the person while the person was doing the robot’s job … we changed the way the rewards were input so they would arrive when the person was demonstrating the robot’s job. It’s really more of a hybrid: teaching through reward and teaching through demonstration.”
Through actions such as verbal encouragement, the robot can learn from watching humans with a boost from positive reinforcement. So far, the objective and subjective data shows there are improvements in the robots’ ability to perform with fewer errors.
This new method of programing robots could simplify the process so even people with little programming skill can instruct a robot to do certain tasks. The ability to easily program robots could lead to dramatically increased productivity and efficiency in the working environment.
ALLEN GUAN can be reached at email@example.com.