We’re 3 MIT roboticists, here to answer Qs about programming, academia and anything!
Hi! We're a trio of researchers at MIT’s Computer Science and Artificial Intelligence Laboratory, the largest research lab at MIT and the home of people who do things like make robotic fish, invent the World Wide Web and listen to your conversations using potato-chip bags.
We thought it’d be fun to chat with you guys and share more about what we do and what it’s like to be at MIT CSAIL.
Feel free to ask us questions about (almost) anything, including but not limited to:
-why computer science is amazing
-how we got into programming
-the best and worst parts about grad school
-what we think about all day
-why it’s important to get young people excited about coding!
Here’s a bit about each of us with relevant links, etc.:
Ross (Twitter @rossfinman, Medium @rossfinman)
did undergrad at Carnegie Mellon University!
does research on 3D robotic perception
has also studied space robotics
I once was kidnapped by CSAIL’s robots in the name of ALS awareness
did my undergrad at MIT
does research on artificial intelligence and robotic manipulation
I can dance to disco tunes, and I once programmed a PR2 robot to join me
I was a competitive pole vaulter and am now MIT’s varsity pole vault coach
Ariel (Research page, GitHub)
did undergrad at UC-Santa Cruz (go Banana Slugs!)
researches robotic manipulation and previously studied dental robotics
my thesis abbreviates to “SWAG”
Ask away! (You can also Tweet your questions here)
Requisite disclaimer: we are by no means speaking for MIT or CSAIL in any official capacity!
Proof: http://imgur.com/f2SxQwF and http://imgur.com/H3ybEvk
UPDATE: 2:00 p.m. EST we're here!
UPDATE: 4:00 p.m. EST we're now done! Hope the answers were helpful!!! It has been fun!
ARIEL: enough to do an AMA
What is your favourite programming language that you use for the robotics field?
PATRICK: I mostly use C++ for any code that runs on the robot although I use python for plotting and validation code.
ARIEL: I use python and C++. Both languages are well supported in ROS .
ROSS: I use C++ with a smattering of Python.
How does it feel to have your name sound the same as ROS?
ROSS: Actually, I walked into lab my first week at MIT and someone said "ROS sucks!". It was an awkward first meeting. :-P
I have de-ROSed my computer (took a fresh install of Linux). Life is much better now. :-)
How can I get into programming a robot? Are there any cheap kits online which you could recommend a self taught programmer?
PATRICK: I have heard that LEGO mindstorm is awesome for younger people. I think buying an adruino and some simple electronics is a reasonably cheap way to start learning parts of the robotics puzzle. But at some point, you have to ask what kind of robot you are looking to have. If you are looking for a big humanoid robot, getting access to one of those platforms will be hard. But creating a "robot" which can manipulate your world in interesting ways is not impossible or super expensive but may take some to a lot of creativity. In the end, the line of what is a robot is pretty fuzzy.
There are other people trying to come up with accessible ways for people to do robotics. Some researchers in the Distributed Robotics Lab here in CSAIL are working on various things with that aim. One of them you can read about here.
I have two questions, one far more important than the other, so here goes...
1) How far away are we from robo-assisted "personal care"?
2) Given the chance, would either of you augment (with current and newly developed equipment) yourselves, and if so: to what extent?
ROSS: 1) Well... cop out answer, but it depends. Fully autonomous health care robots that would fully displace human health care professionals will be decades. The level of difficulty in that job (and difficulty for robots is deviation) is immense. Smaller aspects can be automated, but as a whole, a long time. 2) I would love to augment my brain with access to the internet. When hitting a problem and then taking the time to go and search online for the solution is so inefficient. If that could be done in thoughts, that would be awesome! Also, one of my friends is working on a wearable version of Facebook that could remind you when you know someone. Would avoid those awkward situations when you pretend to know someone.
How close are we to Skynet or self-aware computers ?
ROSS: Unfortunately quite a ways off. Robotics are still quite brittle and take a lot of effort to get them to do anything. Humans in comparison are annoyingly robust. Skynet is still quite a ways off.
Not to get too technical, but "self-aware" is a fuzzy concept that is hard to define. For computers, you need to have unfortunately strict definitions, so it is hard to answer until we have such a definition.
What do you recommend for a high school looking at getting started with robotics? I have some money to spend, but obviously limited.
ROSS: DO IT! Robotics is awesome and the future! The best thing to do is to just do stuff. Whatever stuff is. You learn a heck of a lot just building and programming robots. Many high schools have FIRST Robotics teams which are fantastic groups that teach practical experience.
In high school I build a self-leveling autonomous underwater vehicle. It was a bunch of PVC pipes fit together with a waterproof electronics box and bilge pump motors. Was super simple, but I learned a lot from doing it. :-) sniff the memories!
What are your ringtones?
ROSS: Humpback whale mating calls. ;-)
PATRICK: Mine is the super mario brothers theme.
What is a good long term strategy for becoming a boss?
ROSS: Fake it until you make it.
ARIEL: start your own company.
So why is computer science amazing?
ROSS: Because you get to create new things! Other sciences discover what is already there (more pure sciences), but CS you make new things!
What is currently the most challenging aspect of developing artificial intelligence? (i.e. What are the roadblocks to me getting a mechanical slave?)
PATRICK: This question is pretty general, and most people will have different answers on the topic. I think there are many big problems with developing AI. I think one is representation. It is hard in a general way to think about how to represent a problem or parts of a problem to even begin to think about how to solve it. For example, what are the real differences between a cup and bowl even if humans could easily distinguish them. There is a representation question there for one very specific type of problem. On the other end of the spectrum, how to deal with the huge amount of information that we humans get every moment of every day in the context a robot or computer is also unclear. What do you pay attention to? What do you ignore? How much to your process all the little things that happen? How do you reuse information that you learned later? How do you learn it in the first place?
How far away are you from making a pole-vaulting robot, and do you think humanity is in danger of losing all chance at Olympic gold to non-sentient mechanical beings?
PATRICK: We made it yesterday, and yes.
I work with industrial robots for automation and manufacturing. What should i be looking for coming out of academia that will improve the capabilities of the machines I work with?
ROSS: Funny... we are waiting for industry to improve the capabilities of our robots...
Probably more stuff coming out in Computer Vision in the short timeframe.
What are the funniest or most interesting failures that you've experienced while working with your robots?
ROSS: Funniest? Programming a robot to hug my advisor. He has seen enough failed robot demos to be sufficiently worried. hehehehe.
Most interesting? Those maddening bugs that seem to make no sense, but then it all clicks quickly (has to be quick because otherwise it is maddening). When my robot wasn't working when the window was open, but worked just fine when it was closed. Was so confusing, but window was reflecting light that was blinding the IR camera.
ROSS: The future is both! I was in San Francisco last year and one of cofounders from ANKI told me something that I found quite profound. "The execs at Google stay up late at night worrying about what students are talking about in college dorms. The execs at GE sleep soundly knowing no one is going to make a new jet engine anytime soon." Yes, you can argue the specifics, but the idea is that hardware offers a lot of security since it takes a lot of effort and time.
There is a lot of people going into CS now. In the EECS (Electrical Engineering and Computer Science) department, I think nearly 90% of undergrads are in CS. CS is a growing area, but as we do more and more just CS stuff, the hardware will again become the limiting factor. The MobileEye cofounder gave a great talk at MIT a few weeks back about how they make hardware that only runs one algorithm, but super fast, energy efficient and cheap. That seems to be the future!
Do you know any good free sites that you can use to get your feet wet in programming and actually working with it?
ARIEL: I learned how to program in my introduction to CS class at UCSC (CMPS5J), which uses Processing. It's easy to install and start writing and running code. It also fits neatly with arduino to start building physical projects.
A couple of years ago I learned html/css/java on codeacademy
actually working with it
By the first day you should be able to do the following things: * processing- simple computer animations * arduino - build a circuit that flashes an led * codeacademy - boring website with colors and lists
How do you feel about Python?
PATRICK: We all know it. It has its uses. And it has times where it's not so useful.
ARIEL: It rocks!
What's the most important topic that many aspiring roboticists overlook in their studies? What classes do you wish you'd pay more attention in?
ARIEL: I think everyone in engineering could benefit with improved technicial writing skills.
what is the best IDE for Java and/or C++? Also why?
PATRICK: I use emacs. I'm not sure why. It gets me all mixed up with the keys that every other editor uses. I wouldn't recommend it. But I am completely hooked.
http://en.wikipedia.org/wiki/Editor_war don't you start this up, this is a safe place!
ROSS: I'm waiting for someone to say gedit. :-P
Will a computer be able to learn from it's mistakes in the future?
ROSS: Will humans be able to learn from their mistakes in the future?
what is the best food on campus?
ARIEL: Whitehead institute has pretty good lunch.
Have you ever been to boston dynamics?
PATRICK: No, but I know a number of people that work there and love it.
ROSS: Not me personally, but I've seen and work with people who compete in the DARAP Grand Challenge. They use the ATLAS robot which is super impressive! They do great work!
How does research go from being discovered at a publicly funded institution to being owned by a private corporation?
How much of artificial intelligence concerns companionship for humans (such as in Her)?
PATRICK: There are probably many paths from research to industry but a relatively common one is for one or more researchers from a group to create a private entity which licenses the technology from the academic institution. Infrequently, in my experience, does the private corporation own the research that was created at the academic institution although the private corporation may own technology that it creates separately.
On the companionship question, I don't know too much about that topic. I know that there are some groups that work on human-robot interaction in the space of emotional interaction. There are some groups who work on robots to help people on the autism spectrum. But I am not sure what the percentage of people working on those problems are although I would guess it's not huge.
Have you ever been rickrolled?
PATRICK: Yes, actually. I wrote a blog post about it here.
I remember reading this article about robot sex becoming a mainstream thing in 2050, according to a few robotics experts:
Do you agree or disagree with this assertion?
PATRICK: I guess it's possible, but if that is where we end up first on this train, I would be surprised. The article that you linked to suggests that people have built robots for all kind of things, and it suggests that those robots work, are deployed, and are now solutions to problems. Those suggestions, which pervade media stories about robotics, are not accurate. We have produced demonstrations of robots that can do certain things, but those sorts of robots that might sound like precursors before we get to "important" sex robots don't exist in any general way yet.
Also, I don't know anyone who is working on it or thinks they should be.
What the best advice you can give to a senior Computer Science major that's about to graduate?
ROSS: Figure out what you enjoy and want to do. Pursue that. Once you have that goal, then figure out how to break down the path into sizable and manageable chunks of work. It is WAY too easy to bite off more than you can chew... I speak from experience. :-P
I am currently in CSC 250 at my school and only know Java. What languages would you recommend learning and what would you say the best way to learn them is?
Ariel: I learned python in graduate school and use it as my main goto language for my side projects. The easiest way to learn a language is to have a project that you need to use it with.
Other languages I like: C.
Can I get into computer science after a bachelors in non-cs field?
ROSS: Absolutely! One of my labmates was a math major, another Electrical Engineering. I know of another person who is a business major who is learning CS. The nice thing about CS is there is a lot of places to start learning how to code and a supportive online community.
CS is a different way of thinking so there is a hard learning curve at first. Once you start thinking in coding, then picking up other languages can be a lot easier.
My CSAIL shirt is too big. Can I get a smaller one?
ROSS: Have Ariel wash it for you. :-P
What do you think the best languages to learn are? For money? For knowledge? Overall?
ROSS: Depends entirely on what you want to do. C++ is a good all-around language for me.
The robotics field seems to have a very high cost of entry; hardware is often prohibitively expensive for those starting research and significant understanding is required to evoke simple, reliable behavior using noisy sensors and actuators with limited memory and processing capability.
Are there any robotic platforms or simulation environments that you feel provide the great entry point for new researchers looking to get excited about robotics?
ROSS: Tell me about it... Super hard. Easier to start with smaller problems. I actually don't use a physical robot for my research, but I use a xbox kinect style camera to collect data by hand. Many research areas of robotics don't need the physical robot. With that said, Clearpath has some robots that you can use to move around (annoying at times though). Wish I had a better answer...
What do you think is the best way to motivate future generations of children to get involved. My nephews, 7&8 respectively, know far more than I did at around that age, when I just used paintbrush on Windows 5.0 and played basic games.
They've got their own iPads and play their games. What do you think I can do to get them more interested in coding and technology? so they don't just become part of that generation that stares at their screen all day pointlessly but actually does something useful with that knowledge.
Also, how viable do you think self-driving, self-operating, technology is?
And if you're Reddittors, what are your favorite subs?
ROSS: I got started with Legos and building things. I know of some summer camps that make minecraft mods so students can play change the games they play, and then 3-D print out their minecraft world. I thought that was awesome!
Most people have the curiosity to think of things they want to do with robots. The hard part is picking what is easy to break down into manageable chunks.
I gave up Reddit for my new years resolution last year because I was spending too much time here. I went for all the useless things like /r/funny and /r/pics. hehe
do you guys know if you want to work in industry or pursue academia?
ROSS: I probably will be going the start up route. Robotics feels where computers were in the 70's. Exciting times ahead!
This is really cool! I find this topic really interesting. What accomplishments do you think robots/robotics will reach in the next 5, 10, and 20 years?
ROSS: Not as much as the media would suggest... Even popular robots like self driving cars are probably decades out for full autonomy.
I'm looking forward to seeing the future. Don't want to make any predictions because I'll probably be wrong. hehee
PATRICK: It's really hard to say. I think one thing is that "cool," flashy demos are general not approaches that are generalizable to different environments. So we might make lots of progress in those time spans. But it might be hard to tell if you aren't deep in it.
Why did you decide to study AI? What for?
ROSS: So I started when I was young with Legos. I loved building things and then later, with Lego Mindstorms, started programming then. That led into a full obsession with building robots. When I got to college, I was a MechE, but then realized that most of robotics is in CS. So I went the more AI route afterward.
To be clear, Robotics and AI are two related, but different things. Robots are the physical embodiment of computers. Machine Learning is a separate field that is closer to what most people consider AI. Robotics has three main components that makes the field different from others: 1. Things have to run in real time. 2. We can move around in the current state of the world. 3. We can change the current state of the world. Side tangent, but important distinction. :-)
Does anyone among you have the conviction it is time to develop a programming language which is comprised solely of drag & drop graphical elements on touchscreens?
ROSS: A better question is whether we have the conviction to write our theses. Hehehe....
what should we be doing with robots that we're not doing right now?
PATRICK: I think the obvious places we should be using robots if possible are situations that are not great for humans. For example, dangerous rescue operations could be conducted by robots eventually. Really tedious jobs or jobs that cause humans long term injury could be done by robots. Dangerous jobs also fit in that category. I also think that jobs that you can get a human to do but are inaccessible except for wealthier people like having 24 elderly care in the person's own home, etc, are great places to go.
What's your take on the recent scare campaign from big names over the dangers of A.I.? As a follow-up if you agree with them: Is it just because you see A.I. as slave labor or do you believe something of high intellect would want to harm people?
PATRICK: I think people often listen to rich and/or successful people regardless of their knowledge. I think that AI is so far from where people pretend it is now that the things that people should be afraid of they don't even think about. I think the most worrisome parts of AI at the moment is how sites like Facebook can learn preferences and predict people's choices using simple "AI" algorithms with all the free info people give them. I don't think we are anywhere near skynet type AI.
Hi, i have a bunch of questions.
- What is the coolest things that you have made a robot do?
- I want to build a life size robot tiger (building robots always seemed more fun than programming them)
- 2.a How do you replicate muscles on robots that mimic animals?
- 2.b If I built it and put it's details on the internet, would you be interested in writing code for it?
- 2.c How long will it take before we have robot tiger pets that act like real pets? (except with less eating of owners)
- If i wanted to work in the MIT robotics lab but not as a student/researcher, what can I do?
Edit: I have no idea how to format things.
ROSS: 1) Make me Mac and Cheese 2) Do it! 3).a Motors are currently the primary actuators for robots. Some research on muscles, but hard to beat motors. 4).b You generally need to sit down with robots since issues can be hardware or software. So probably not. 5).c I'll leave that up to you! 6) Depends on your skill set.
How's it feel to be smarter than me?
PATRICK: The more I learn the more I realize that I don't know anything.
What is the best way to get started with Robotics? Which is the best resources to learn robotics considering previous knowledge in programming?
ROSS: Depends on what age you're at. I started with Lego Mindstorms when I was younger. Then ardinos and raspberry pi are great!
How is your dating life? How do you meet a date?
ARIEL: what means date?
ROSS: A lot better now that robots are cool. Brutal in high school way back when.
ARIEL: keep in mind, ROSS was homeschooled.
Does being a roboticist and understanding mechanical systems help you coach pole vault? Would you say it gives MIT a technical edge over the colleges it competes against? And in this vein (as a pole vaulter myself), what are your thoughts on the "drive" phase?
What's your favorite technological advancement?
ARIEL: I love my bluetooth headphones.
Do you think programming should be a required course in all American schools? Do you believe everyone can be benefited by knowing programming skills?
ARIEL: required? no. beneficial? definitiely.
worst parts about grad school?
ROSS: All I want for Christmas is a guilt-free holiday where I don't have to think of all the work I should be doing. Research really never ends - there can always be more.
ARIEL: You have to take graduate courses instead of undergraduate ones :(
PATRICK: I think the at least the most difficult part of grad school is that there is no answer book. Research by definition doesn't have a clear answer or a clear end. Learning how to ask the right questions and give your best answer to them is a very hard process that ultimately is rewarding (I'm almost done) but has lots of frustrations along the way.
But grad school itself, at least for me, is really awesome. Maybe my advisors are too good.
What's your favorite color?
Did any of you have difficulty with computer science? I'm in my senior year and it's killing me. I don't know much about robotics, but I find it fascinating.
PATRICK: When I was an undergrad I did a little computer science but mostly worked on the mechanical and electrical systems for robots. It wasn't until after my masters degree did I realize how interested I was in computer science and AI. At first, when I tried to switch fields, I would say the 100% undergraduates in my lab knew way more about the field and computer science than I did. To put it in perspective, the first day I was in my current lab, one of my wonderful mentors taught me how to "cd" in my linux terminal. That was years and years ago, and now I am about to finish a PhD in computer science. But the hill was a very, very hard to climb. It gets easier over time.
If you really like robotics and you are having trouble in some computer science classes, I would start by encouraging you to keep working at it. If at some point you decide that the computer science part of robotics is not for you, you can pursue the mechanical or electrical side. You may also enjoy the development aspect of writing code more than the deep algorithmic thinking on the other end of the computer science spectrum or the opposite.
Some people take longer or shorter to learn certain things. I know I took a really long time to understand most of what I understand now. If it's worth it to you, keep pushing. But keep your goals in mind as you make decisions of what to pursue.
Thank you for your reply. I'm gonna keep trying and pushing. I only have a year left.
ROSS: Hang in there! My lowest grade in undergrad was in my AI class. Bugged me so much I'm now doing my PhD in it. :-P
Do you have any thoughts on the Julia language?
PATRICK: Yes, the people who are involved used this conference room before us.
ROSS: My labmates love it. I haven't converted yet though.
Who are going to be the leading robot industries?
Do you think we really realize how much bots are going to change our lives?
PATRICK: Google, Kiva, Boston Dynamics (now google), iRobot, Amazon, etc all have a hand in the robot world on the industry side. Not to mention the many smaller companies who are involved. I'm not sure who will lead as it's unclear what leading means. If we don't all have a unified goal, it's not clear that any one thing is the leader.
I think the change in our lives will be much more gradual than people imagine. I think as changes occur much as changes have occurred with the internet, we will have some time to think about it even if we don't make perfect decisions.
What do you think about legislation regarding AI and robotics in order to ensure we don't create our own successors? Do you think anything can hold back that tide?
PATRICK: I think it's a hard but important question. Unfortunately, for all of history, lots of people make technology that is great for mankind but can be easily abused to be dangerous. I think you can try to legislate certain things so that they get out of hand, but in the end, most things are a double edged sword that I'm not sure legislation can dull.
Total layperson here. Will artificial intelligence soon dominate mankind? Why or why not? If so, what form will their rule take?
Thank you for doing this AMA. Unless our new silicone overlords declare you to be heretics, in which case please don't mention me.
Edit: Of course I misspell intelligence the one time I get a reply from an MIT scientist.
ROSS: So so so far away from skynet. We fleshies are annoying robust at what we do. I will probably spend the rest of my career trying to even match the current media hype today. :-P
How exactly can I prepare to study robotics and hardware engineering in high-school? I'm really interested in the field, and would love to get some knowledge in my brain and experience under my belt before I head to college.
PATRICK: There are online course information on a number of top universities' websites. MIT has open courseware. FIRST robotics is also a great opportunity available in a lot of areas. I would suggest trying to tinker with some things. If there are no structured opportunities in your area, order a arduino and some leds and start learning the basics. You might get ideas on what to do next by doing that.
ROSS: If you have a FIRST robotics team, that is a fantastic way! I am a huge fan of FIRST!
More generally, just start building and coding on something. The lessons learned by just doing are invaluable, and probably better than you would learn in a class anyways.
I hope I don't break any rule by asking this but... I am at a point in my life where I'm thinking if it's worth going to a Computer Science College (and work part-time to be able to pay it) or just start working in the programming industry. I have a passion for technology, computers and programming and I've learned a lot of programming languages and doing some projects out of passion. (It's to the point I'm programming daily for a indefinite period of time [at least an hour tho]) I could easily get a job in my town just because of all this. What would you advise me to do?
ARIEL: I don't think there's any correct advise we can give since there's not a binary answer. In making your decision keep in mind there's more to college than preparing for a CS job. You might find you're interested in other fields where you can combine your computer science background.
Are you familiar with any high school robotic competitions, and if so which would you recommend to look into?
I'm working with some friends in the MATE competition this year, but I don't know if there are other good ones to compete in.
PATRICK: FIRST robotics and Zero robotics are both high school competitions you can look into.
- What is your favourite pose graph SLAM algorithm?
- What do you think of the Wikipedia article on Monte Carlo localization?
ROSS: ISAM!!!!!! Shameless plug of Prof. Michael Kaess. :-P. In reality though, it is extremely good and efficient for real-time incremental pose graph optimization. Dellaert's Lab has GTSAM which is probably the "easiest" codebase to get working.
I like the wiki page. Particle filter methods are a bit old now and pose graphs are what are most used these days.
Why get into a field where a major breakthrough could actually help evil people enslave mankind (even more than it is now)?
PATRICK: You mean like the transistor?
ROSS: Technology is a key that can open both good and bad doors.
how much free time do MIT students have?
View HistoryShare Link