Want to Improve Your Robotics Knowledge?
There aren't a lot of readily available, affordable courses on advanced robotics. Check out this post on one developer's efforts to learn more about building a robot!
Join the DZone community and get the full member experience.Join For Free
I spent a year preparing for and finally building a robot. I started with the Raspberry Pi, like a lot of people do, and some very basic experiments using its GPIO ports, mostly in C / C++, on the stock Raspbian (Linux) OS.
After learning how to track objects with some HCSR04 acoustic sensors and a servo, I moved on to tracking a moving object with a home-grown IR circuit and servo. The next mini-project was again a home-grown voice-recognition system (several iterations of hardware and software). Finally, a very basic image-recognition system.
Then, it was time to start building a robot. I didn't want to build a toy robot. I wanted something more robust — a serious project. So, that began months of work, research, buying, building, and trying to build a robot.
It seemed to go two steps forward, and one or two steps back. But, all in all, I made slow but exciting progress.
However, recently, I had some circuits fail. Twice. The first time, fortunately, I had the extra parts. Then, about a week later, they failed again.
A large, robust robot is not the same as building a toy one. Just to contrast the two scales, check out the following:
A pre-charged circuit
An E-stop circuit
EMF and EMI noise
Large 12V or 24V sealed-lead-acid (SLA) AGM batteries
Steel or aluminum
Planetary gear motors
I2C or SPI port expanders
These just a few of the considerations that need to be taken into account on the one hand, but not on the other.
Your feet across the carpet and your finger nearing a doorknob can create an arc, much the same as lighting. However, we'll all agree that the scale of the latter makes a huge difference in a manner of ways.
Because of this, I realized it was time to try another direction and continue with the insanity of replacing parts.
Yes, I could (and did) post my immediate issue(s) in a forum and got back very detailed replies. However, the effect those replies had on me was just to re-affirm that I needed to plug the holes in my skill and knowledge if I wanted to do some serious robotics.
Things to Think About When Seeking a New Direction
I decided, based on my background and everything that had transpired to-date, to just step back from continuing with the current robot-project and really focus on educating myself.
Robotics seems to be an intersection of several disciplines, and I am sure I'm only mentioning a few here:
That's a lot of ground to cover. So, what to do? How to go about this general idea of improving my knowledge?
First, I came up with a list of requirements and constraints:
I learn best by doing. The learning had to be interactive and hands-on.
I wanted something well-thought through and prescribed. Otherwise, I would be essentially doing what I have been doing already, which wasn't working for me
It had to be self-paced and online. I don't have time to go to a physical location to learn.
Getting college credit was nice-to-have but not necessary.
I was willing to spend some money, but it had to get me to "the next level" in knowledge and skill.
Whatever course or program of study, it had to be available to me, someone who is not currently a student at any university and lacks a certain amount of access and discounts (think: free MatLab, etc.)
A Suggested Approach To Learning
It seemed to me that I needed to take at least a two-pronged, simultaneous approach to acquiring the necessary knowledge:
Some sort of general, overall robotics training
More specific electrical/electronics training
I looked at many companies, websites, and offerings. Here's what I found:
Companies/sites offering robot kits (usually toy-level)
Companies/sites offering robot platforms (these tended to be the more expensive ones)
Companies/sites offering almost turn-key robots (usually the most expensive)
Unfortunately, I noticed that none of them offered any real comprehension or direction on how to build and learn robotics.
Even as I kept searching, I became more discouraged. I was even more willing to plunk down serious dollars ($1500+ ?).
So, I finally, gratefully, found a couple of what I think are good, affordable options. And I think one of the best features is the cost (or lack thereof).
For Electrical Engineering, There Is MathTutorDvD.com.
It might sound a bit light-weight, but I have been steadily taking MathTutorDvD's Engineering Circuits Analysis (Vol 1 of 7), and it's been great. There is a long list of schools and universities that use these courses.
The instructor really breaks things down and makes sure to build a solid foundation as he goes along. This is a video-based course; just imagine being in a class at university with a white-board and everything, and that's this program. You get out some pen and paper, and you work the problems right along with (or ahead of) him. There are plenty of exercises, too!
The site offers several directions of study, including the next sequence, which would be AC Circuit Analysis.
If you're rusty in the math (we already had to use matrix algebra to solve DC circuits using Ohm's, Kirchhoff's Voltage, and Current Laws) it's okay because he covers it enough to do the problems. If you need more than that, the site also has those courses available.
And, it only cost me around $20 USD per month.
TI Robotics System Learning Kit
Texas Instruments has come out with a very thorough robotics program that is centered around a robot kit they have put together. Only, it's so much more than that.
The program takes a system-view approach to learning robotics because they recognize all of the pieces that are required.
This TI Robotics System Learning Kit only cost me around $200. But, don't think of it as a "kit," that's not doing it justice. It's a very thorough program with around 20 course modules that use the kit as a learning tool.
Opinions expressed by DZone contributors are their own.