Preparing for a Career in Robotics?
seanfast asks: "I just graduated from college with a B.S. in CompSci and a specialization in Artificial Intelligence. I am currently working full time, but I want to go back to school part time for my M.S. and specialize in AI or Robotics. Unfortunately, with my time schedule, and the extreme scarcity of a degree with either of those specializations being in my vicinity, I will most likely have to settle simply for a M.S. in CompSci with no specialization. If I want to work in the field of robotics and AI later on in life, what do I need to do in my current situation to prepare myself? Some have told me I need a strong mechanical engineering background, some have said I need a stronger software background, and some say I need to just tinker with stuff in my free time and not even worry about what they can teach you in school. Any advice, Slashdot?"
I can't give you advice on how to get into robotics because I never successfully did that. I worked with pioneer robots mounted with laptops and had the whole Aria package figured out. I studied all the white papers and took all the courses. I'm even getting my masters with a specialization in AI. What was my problem? I'm not sure, it was probably the fact that my grades were ~3.5 GPA out of 4.0 & I've never been published.
If you really love this topic and will settle for nothing less, then you have to be prepared to devout a lot of time to reading about everything out there and, yes as you mentioned, tinkering with things like JStick and real time microboards all the time. You need to be a master of forward & inverse kinematics and also have all the algorithms down pat.
I say this because people are not ready to hand over responsibilities to robots. You might cite NASA but their rigorous protocol of checking and double checking every tiny movement of their robots anything but artificial intelligence. Reason? High failure rate otherwise.
Today's robots leave a lot to desire. That might have changed since I last looked in the field but I can tell you that less than 5% of all computer scientists are lucky enough to work with robots (or unlucky enough) and I think an even smaller percentage get to develop for them. Maintenance is just as needed there as it is in any other software.
I'm not trying to discourage you, I'm trying to be realistic. I read I, Robot in fifth grade and it changed my life. Unfortunately, it only gave me the desire, not the rigorous technical background needed to put me in the few high percentage points of students.
You mention mechanical engineering but that implies robotics from scratch. If you're a computer science student, I advise you to treat the hardware as a blackbox and use the APIs to program for them. There is some cross over you will need to learn to program for arm or walking robotics but this is more theory of how your code should look to work the controllers. I guess if you want to design from scratch and make genuinely new physical robots, then you need not only a mechanical engineering background but also one in electrical engineering. I also foresee a lot of the signals moving from hardwired to wireless for simplicity so that would mean Fourier transforms, wavelets, & the like.
My suggestion is to hit Citeseer for the free papers. Hit your college's IT site and try to get into the IEEE Computing document repository. They also have a special robotics division that you might find useful for creating contacts though I'm a member of it and that's never happened (you have to attend a lot of meetings). Look everywhere for material on the topic and see what other people did right and what other people did wrong. Have you ever heard of Robocup? Definitely read all the papers released about that and look into becoming active in your university's robotics lab.
Most importantly, keep yourself knowledgeable/marketable for conventional jobs in computer science because you really never know what's going to happen. Robotic development has a very limited market. The factory line robots are getting more and more reliable and it seems any biomimicked robotics are for purely entertainment value. I'm not intending to be mean when I say it, but there probably is no "career" solely in robotics. You've got to bus tables in the computer science world before you can prove yourself to the big dogs.
I now write web services and web applications. You have a romantic goal, I wish you the best of luck in a more exciting future.
My work here is dung.
Most of what I see out there isn't robotics like sci-fi androids, where AI is needed. Its manufacturing work, and automation of small tasks (such as robotic vaccuum cleaners and dishwashers). Such things don't really need a lot of smarts, they just need precise movement and improved ease of programming/lower cost. If you really want to program them, study up on firmware and embedded programming, and machine vision (the only real AI most robots need). A basic understanding of ME is nice, but a degree isn't necessary.
I still have more fans than freaks. WTF is wrong with you people?
pretty much regardless of what you want to do in robotics (other than at the technician level), you're going to need a master's degree and quite possibly a ph.d, depending on where you end up working. part of the process of getting the advanced degree means accepting that you are probably not one of the very few people in the world who are able to master robotics from the high level control / deliberative planning, low level reactive planning, perception, mechanical and electrical control, communications & processing architecture, all the way down to the low level circuits and mechanical systems. so pick something you want to do well in (in my case it's the machine perception and sensing side) and write a master's thesis (or do a master's project) on something relating to that speciality.
:-)
regardless of your chosen speciality, you're going to want to get to be really good at math. in particular, linear algebra, calculus (multivariate), trig, analytic geometry, and stats/probabilities (in particular, bayesian thinking). also make sure you are really solid on forward and inverse kinematics. finally, an understanding of communication systems will be incredibly useful.
concurrent with that, see if you can get a job working in the field. drop me an email and i can get you in touch with my company's recruiting/hr people (we qualified 5th at GC2 and we do a lot of UAS an UGV work). of the r&d staff, about 17% hold ph.d.s and over 90% hold at least one master's degree (there are several folks with multiple m.sc. degrees).
finally: good luck! i know i couldn't believe that i'm actually being paid to play with the toys and do cool stuff with them
I'm a little surprised at the "There is no robotics industry" replies. I just graduated with an ECE degree, wanted to go into robotics, and had three awesome job offers from three awesome companies that are all really competitive in the field. I applied about ten different places in Boston alone that all catered to my interests, and I found many many more outside of the state. One big issue is location -- for robotics, in the US, you should be in Boston, Pittsburgh, or Silicon Valley. I'm in Boston, so I know the most about stuff going on here. Pittsburgh is building up a lot of spinoffs from CMU's Robotics Institute (much as nearly all the Boston robotics companies spun out of MIT). Silicon Valley has a lot of stuff coming out of Stanford. Then you have to decide what kind. Consumer robotics? Someplace like iRobot. Industrial robotics? Barrett Technologies makes ridiculous robotic arms. Places like Honda do pretty awesome things there, too. Military robots? Boston Dynamics makes the BigDog (it was covered on Slashdot a while ago). Places like Boeing have big contracts with the military's Future Combat Systems program. Draper Laboratory here in Cambridge does flying, swimming, and driving robots for military applications. Space robots? NASA, of course, as well as Ball Aerospace, Boeing, and various university labs. Medical robots? Vecna Technologies in Boston does a human-carrying bot for both battlefield and hospital use. Anthrotronix in Maryland makes robots for kids in physical therapy programs. Some company, I don't know who, makes the DaVinci surgical robot. I personally work on underwater robotics at a just-out-of-startup phase company here in Boston called Bluefin Robotics. Join the IEEE Robotics and Automation society to start networking. Google robotics conferences and see which companies attend. My delicious page here has a bunch of links to sites I used during my job search. I do only have my BS, but I plan to get an advanced degree later. As a few of my profs told me, if you want to do the really awesome stuff, or you ever want to start your own company (which I do), you need a PhD for the credibility. I also just feel like there are still other classes I want to take. ;) But MIT, CMU, Stanford, and Georgia Tech are all particularly well-known for their robotics and AI programs. Many other universities are starting to jump on that bandwagon as well -- BU is up and coming in surgical robotics.
So do your due diligence on Google, network as much as possible, and ask questions. There's a ton of stuff out there. Don't let anyone tell you the industry isn't there. This is just the beginning of something that will grow with incredible speed over the next couple of decades.
Build a giant killer robot. It may sound stupid, but the economics are totally there - people are willing to pay to avoid death. Right now though, you need to hit the books. Keep in mind that the robot needs to be able to withstand or avoid high energy military weapons: artilery, daisy cutters, lasers, and kinetic energy weapons. Don't worry about tactical nukes as long as you keep your robot on U.S. soil no president would dare use one: that would be political suicide. You will probably have to worry about corrosive chemical weapons: strong acids and oxidizers.
To have your robot withstand such destructive weapons you will have to study up on material science. Your robots exterior metals, plastics, and composites need to be top notch. You may want to create an cooling system for the electronic guts, but it may have to shut off and close vents when your robot is under attack. Stealth when not in populated areas, ordinance avoidance, and counter-measures should also be considered.
For AI your giant killer robot needs to be able to kill people, but it also needs to be able to collect protection money, and identify those who have paid protection money. Your urban navigation system needs to be able to avoid obstacles even while chasing down people who refuse to pay. Nothing says "don't pay me" like a giant toppled robot that can't get up. The most essential AI/mechanical problem may in fact be carrying customers to the nearest ATM machine without crushing them, but also without letting them escape.
Now for the economics. You really need to experimental with multiple business models once your robot is up and running - then see which is the most profitable. Maybe the most profits are in hanging around high income neighborhoods. Maybe a Paypal fund for an entire city - kind of like a telethon (once you reach $1 million no one in Des Moines will be killed). Remember though that once you hit a certain price people will be more likely to flee than pay - you may want to fund a phone survey to determine prices prior to operating in a certain location. Consider advertising - people unfamiliar with your product will flee with instinctual terror until they are aware of the commercial options.
Stanford is pretty good too. At CMU they don't do interdisciplinary work, they just create a new department. Plus, Stanford's EE and Stats programs do good machine learning and information theory research as well.
What do you mean my sig is repetitive? What do you mean my sig is repetitive? What do you mean....