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.