Smart robots on the factory floor

Smart robots that can quickly learn new tasks will transform factory automation, according to MIT's Claudia Perez D'Arpino.

[Editor’s note: This Q&A, part of a longer interview for "How AI will work at the industrial IoT edge," has been edited for clarity.]

Claudia Pérez D'Arpino is an MIT researcher focusing on manipulation tasks in robotics—specifically, applications of humans working together with robots in factories and elsewhere. D'Arpino and her colleagues are developing a machine learning system called C-Learn, which aims to allow non-programmers to train robots to perform tasks in manufacturing settings.

C-Learn is one of several AI-powered technologies that have the potential to transform heavy industry, but a lot of development work remains to be done—not to mention meeting regulatory requirements while carefully considering the impact on human workers. We talked with D’Arpino about how her research could impact manufacturing. 

What are the limitations and obstacles of robotics in manufacturing today?

The main limitation that we are trying to tackle with our research is the relationship between humans and robots. Manufacturing is the most successful application of robotics, but robots work by themselves, completely isolated from humans. In the case of car manufacturing, tasks are either done 100 percent by robots or 100 percent by humans. For example, robots will do the welding, but no human can be nearby because it's too dangerous.

There is a coming wave of humans and robots working together, which implies working in the same shared workspace. We need to enable robots with that whole new set of capabilities that we didn't think about a decade ago. And those capabilities involve sensing, control, and prediction.

I work on artificial intelligence (AI) techniques that enable interaction with humans in a way that makes sure the robot is efficient and safe, yet it still completes its own tasks. In manufacturing, every second is important. If the robot is going to be very slow just to collaborate with a human, it is not going to work. It has to collaborate, but it still must do its own tasks on time.

C-Learn allows non-programmers to teach robots movements and tasks by providing some basic information on the objects being manipulated, then showing the robot a single demo on how to perform the task.

Correct. It is called "learning from demonstration." I didn't invent the concept of learning from demonstration. I took the idea of workflow and developed a new algorithm that will allow you to teach using geometric constraints. 

Once the robot learns a task, does that mean the task can be transferred to another robot?

Yes. That's a side effect of the way I wrote the math. Think about it: If you want to transfer a task from one robot to another, and you only tell the robot how to move its hands, then in principle, why would it be hard to transfer this motion from one robot to another? Typically, the way it is expressed depends on the specific shape of the robots. But we learned you only need to transfer a list of constraints from one robot to another, and then, the algorithm will be able to replicate the task with a completely different robot.

Previously, we didn’t really have a method to transfer the knowledge from the source robot to the target robot without having additional demonstrations or without having a human coding things. That's cool because you can teach one robot and transfer [the skill] to another without ever using the second robot by itself.

Need to transform your IT but don't know where to start? Navigate with HPE Pointnext, an innovative IT services organization built to make Hybrid IT simple and power the Intelligent Edge.

Does it have to be the same exact task, or can it be transferred to similar tasks, maybe in a completely different environment?

Both are partially correct. It needs to be the same task in the sense that it has to be the same order of steps. Let's take the example of trying to weld one screw on a car. The steps will still need to be that you are going to weld that screw in that car. However, the car can be in different positions or orientations. The size of the object can be different. The object’s position, or the conveyor belt in the plant, doesn't need to be the same. The restriction is it has to be the same series of steps.

If a car company in America is using your approach to learn that task, can that learned task then be transferred to a Japanese company, even if it's a completely different assembly line or environment, as long as the task has the same steps?

You can transfer this skill to a different robot as long as you still have the screw and a hole and the constraints are the same, which could be that the screw has to be parallel to get access to the hole. 

If the system learns 5,000 tasks, could those tasks be transferred to any factory anywhere? And if a second factory happens to be using 100 of those tasks, would the robots there know how to do it instantly?

Correct. There is a limitation, though, which would be the sensor. You need sensors to identify the screw and the hole. I am assuming in this scenario the sensors are similar, therefore we have similar capability of recognizing the objects.

When it comes to processing power and other IT resources, does C-Learn depend on a huge central IT system, or is the AI’s processor installed inside the robot? What about latency and other limitations of the IT system?

Basically, you are asking about a cloud system, or having it locally on the robot. My specialization is not on the cloud part—how to transfer the data and all that. I think the cloud is useful to store the data. Once a robot learns a task, it has a representation, which is kept in memory. You could download it, kind of like getting an app for a certain task. But once you get that information, I would run it locally on the systems located in the factories. You really want to get the information that represents the task. Once you have it, you don't really need to talk [to the cloud] anymore.

When do you think this technology will be commercialized?

That's a great question. Commercialization is not just about your system working; it's also about regulations, On the factory floor, there are tons of regulations you need to satisfy in order to deploy a system. Especially for the safety of the workers. There are so many steps, I wouldn't bet on anything less than a decade. However, I am on the conservative side. Other people think it will take a lot less time.

What are some of the low-hanging fruit for this type of collaboration, specifically in industrial settings?

It will be the ability to design tasks very quickly for very diverse kinds of products. Today, it takes a month to program a robot to do a task. That only works if you are going to execute this task for years. If you are doing small batches of a product, and every two days you need to change what you are doing, that doesn't scale well. So for changing products very quickly, it is going to be useful.

It is also going to be useful for workers. Workers have the domain knowledge. They are the experts on how to assemble and handle the parts. The system first enables them to teach the robots without additional programming knowledge. The second thing is to transfer that knowledge, but not for the robot to do everything autonomously. Today, we don’t have the mechanical parts to do all of the tasks that a human can do, especially when it comes to assembly. The robot and the human have to work together, but we don't have methods to implement that efficiently. That's what's going to change. We are going to have robots as if robots were other humans on the factory floor.

If workers are transferring domain knowledge to robots, does that make the human workers less necessary to manufacturing operations?

For some tasks, it is unavoidable that robots will be able to do the complete task. For others, robots are mechanically incapable of completing the task. We have a project in which you have to install a meter in the dashboard of a car. The human has two hands, grasps the device, and tries to insert it in a very constrained space. There is no robot that can do the same task mechanically given the motions and dexterity that we have with our hands. Those tasks aren't going to be replaced anytime soon.

Enabling the domain experts to teach robots will increase the number of tasks robots can execute. However, robots don’t have the cognitive ability to generalize this knowledge to new situations and new problems in the same way human experts can.

When you talk with experts in industry who design robots or engineer factory operations, what is their reaction?

It is divided. There are some people who are very excited, and some people who are scared. Some people might think that robots are going to replace everyone. That's not right, and I share their fear and concern for humanity.

There is a lack of understanding because of press stories and movies. Some people think robots can do everything and have the same level of cognitive processing that we have. That's not true, and I don’t think it's going to happen in my lifetime.

It is a matter of information. We need to help people understand that robots and technology in general can be helpful, but there are limitations. Those limitations are below what humans can do. Educating the general public and the people who will use these robots will be key. 

This article/content was written by the individual writer identified and does not necessarily reflect the view of Hewlett Packard Enterprise Company.