As part of our AI in Your Community series, I had the chance to speak to Chelsea Finn, a PhD student at UC Berkeley currently doing work with machine learning and robotics. Through her work she teaches robots how to perform tasks in multiple environments, with the goal of having these robots perform tasks for humans that they can’t perform, or that it would be dangerous for humans to perform.
Tara Chklovski: Tell me a bit about your work. What research are you working on?
Chelsea Finn: I am a PhD student at UC Berkeley, and I work on machine learning and AI for robotics. A lot of my work entails having physical robots learn how to do things in the world, like screw a cap onto a bottle, or use a spatula, or pick up objects and rearrange them. Our goal is to have systems that can learn to do these different tasks so that they can go into a variety of environments and perform those tasks for humans – or perform dangerous jobs that we don’t want humans to do.
Tara Chklovski: What type of robot are you working on now, and what task are you trying to teach it?
Chelsea Finn: One of the robots that we’re working with is the Sawyer Arm which is built by ReThink Robotics. Another robot that we’ve been working with is the PR2 Arm which was built by Willow Garage. Right now a lot of what we’re doing is focusing on generalization, or having robots learn skills in a way that they can apply them in multiple environments.
With some of my previous work, we were having a robot learn to accomplish complex physical tasks, like screwing a cap onto a bottle or lifting up an object with a spatula, but one of the challenges is that the robot learns how to screw one cap on to one bottle since that’s the only object it’s ever seen. If you give it a different cap and a different bottle, it can’t transfer what it learned to the new object.
This is in contrast to humans, because of course if a human can screw a cap onto a bottle, they can also screw other caps onto other bottles. We have the capacity to generalize very broadly with the skills we learn. If we can have robots learn in the same way, through exploration, rather than just having them try to do the same task over and over again, and if we can have them continuously build upon what they’ve learned and continuously play with a wide variety of objects, then we can have robots that learn much more general skills.
Tara Chklovski: And how can you do that?
Chelsea Finn: One of our projects has robots “play” with objects by trying to push objects around and then record images of what happens. In previous robot learning methods, oftentimes a human would give feedback to the robot or reset the environment so the robot could keep trying to perform the task, but that approach isn’t very scalable because it requires a human to be there all the time. If the robot could learn on its own then it could be learning all the time, like a baby learns on its own.
For this project, we record the video from the robot’s camera and we record the actions that the robot was taking. Once we have all that data, we train a model to predict the future video given the initial frame and the robot’s actions. Essentially it’s learning to imagine what the future will look like based on the actions it takes. We use neural networks to generate these videos and once we have one video, we can see what the robot thinks will happen when it takes certain actions, and we can ask it to arrange objects in a specific way. Then the robot can try to figure out which actions to take to get to that end result.
Tara Chklovski: Interesting. And so what are you seeing?
Chelsea Finn: We’ve mostly been looking tasks where the robot is trying to push objects into certain positions. The robot can actually predict that an object will move, and it will also predict that if there are two objects, if it pushes one of them then they will both move.
One thing that it implicitly needs to do for this type of prediction model is to segment objects so that it knows which segment will move in the image. Sometimes it fails when it won’t quite figure out what pixels correspond to which object, and so it will essentially imagine that the object will be broken into two, that some of the object will be pushed and some won’t be pushed. You can see that in the video, an added benefit of training the model to predict video – it’s very interpretable. You can actually see what the robot thinks will happen, and as a result it’s easy to tell why the robot has failed in a certain way.
Tara Chklovski: That’s interesting. So what got you interested in robotics in the first place?
Chelsea Finn: When I was in middle school, I participated in a program called FIRST LEGO League. It was a lot of fun. At the time I had no idea that that would end up becoming part of my career, but that was my first exposure to robotics and understanding some of the difficulties of working with hardware and programming robots. I found that I was very interested in it, I was very good at it, and I really enjoyed it.
And then I came to MIT for undergrad, and realized one of the really nice things about computer science is that there’s just so much you can do with it. I realized that if I did biological engineering then my career would probably be in a bio-related field, but if I did computer science I could go into a bio-related field, or I could go into robotics, I could go into computer systems, I could go into security. I liked that flexibility, and I liked that computer science really empowers you to do a wide range of things. It leaves a lot of doors open.
After that I was really interested in machine learning. I really liked probability. I liked that there’s a lot of interesting applications of machine learning that have a real positive impact on people, whether it be machine learning for medicine, computer vision, interpreting language. There’s also some really interesting foundations – it’s built on top of probability theory, and math, and stuff that I really enjoy doing. From there, I took a robotics class. One of the things I really like about robotics is that it’s very close to the problems that we have in the real world. I also feel like robotics is something that will be useful in the long run. Five years from now, I think there’ll still be big problems to solve in robotics and important problems to solve for a range of applications.
Tara Chklovski: What are some really tough problems that you’ve encountered while getting your robot to do something you want it to do?
Chelsea Finn: Generally in research, I think that nothing works the first time, whether it be a robot or another system. In research you’re really trying to solve problems that no one has solved before, so you have to persevere and when things aren’t working then you come up with new ideas and move on, keep on trying.
That’s especially true with hardware. We make a lot of simulations to test things more easily and run experiments much faster, and once you you have something working in simulation then you can try to put it on the real system. Of course, it usually doesn’t work the first time on the real system either, but you can learn in simulation how it works, how to tune the algorithm, so that when you go to the real world then you can apply what you’ve learned to figure out how to make it work in the real world too.
Tara Chklovski: Looking forward, what area of robotics or computer science or machine learning do you want to be working in or what are some really interesting problems that you want to tackle?
Chelsea Finn: I’m very much still interested in pursuing more machine learning for robotics in the long run. I think there’s a lot to be done there. A lot of the work I’ve done so far has been on robot arms, and I’m also interested in more mobile robots, and putting arms on mobile bases and pushing them out of the lab towards complex and diverse environments.
We’ve been pretty successful at having the robots learn skills, but the skills are still fairly low-level and last maybe five seconds. Ultimately we don’t want a system to operate only for five seconds; we want it to continue to act and do things that are useful. To do that we need these systems that can both learn how to do things and think on longer horizons. I’m interested in integrating learning and planning in order to enable these systems to reason on longer time frames.
Tara Chklovski: Very cool. It does help to have computers do that. What do you think is an easy way for children to get started with robotics?
Chelsea Finn: There’s a lot of really awesome robotics programs out there. FIRST LEGO League taught me so much about engineering and problem solving. Some of those skills that I learned through FIRST were really important later in college, and now in what I’m doing. I also learned about the basics of programming these systems and the basics of building robots. There’s also kits, like LEGO Mindstorms, that you can play with. You don’t necessarily need to be on a team in an organized event to get involved and try things out.
Another thing is there’s this organization called AI4ALL that runs education programs for high schoolers at different universities. I think learning to program is also really good for learning about these things and starting to figure out that you can work with robots, and with AI systems.
Tara Chklovski: Yes – and what about low-cost robots?
Chelsea Finn: There’s a project that I’m working on where we’re working with a low-cost robot that’s a TurtleBot base and a WidowX Arm
There are also arms out there that you can get for a few hundred dollars, I believe. Generally the price of these robots is going down, but it’s still a work in progress. Quadrotors and drones are probably the things you can get for the cheapest, because the most important parts in drones are also used in cell phones. Those parts used to be really expensive, but because there’s so much demand for cell phones and they’re being mass produced, the cost of the parts is going down, and so the cost of a quadrotor is also going down. Hopefully at some point we see the same thing for arms, and these robot arms will become very useful driving up the demand and driving down the cost.
Tara Chklovski: Cool. And then one last question. What advice would you give children as they try to find a good problem to solve maybe using technology?
Chelsea Finn: I like the idea of looking at problems that have already been solved and trying to solve them yourself, maybe in a different way. Then you know that the problem is actually solvable, and it’s something that you can actually get a result out of. Particularly for middle school and high school students, you don’t necessarily need to pick a problem that no one has solved before because it’s really hard to say if the problem is too hard or if the problem is something that you can even make progress on.
You could also look at courses at the university level. Sometimes there are course materials online, and you can try to see some of the homework assignments or the projects, and see what people did, and those might be at a reasonable level to complete.
Tara Chklovski: Well, that’s great advice. Thank you so much Chelsea.