by Zoid » Thu Oct 04, 2007 5:56 am
by Zoid
Thu Oct 04, 2007 5:56 am
I’ll try not to ramble on for too long.
I controlled some stepper motors and RC servos with a PC long ago, but basically I’m new to robotics. Actually I’m still debating making the plunge. If I’m going to do it, I want to do it right. So, here’s my perspective.
What I have is:
Coding: 25 years of software development (18 professionally); everything from IBM 370 Assembler to C#. Code and data are my domain.
Electronics: I have a basic understanding of common semiconductors and simple ICs (TTL & CMOS comparators, timers, logic gates, etc), but little—and scattered—practical experience. I have a breadboard, cannibalized PSU, voltmeter, and moderate soldering skills. No scope or scope experience. Electronics is my weak point.
Mechanical: Very mechanically minded, but not much for metal working. I have a wood-shop so I can work plastics, wood, and limited amounts of aluminum. Steel is the pits.
How much I'm ultimately willing to spend depends on how things go early on. I'm basically ready to drop $500 to get started, and possibly as much as $1000 (USD). I'm really torn on the mixture and type of components; servos, sensors, and particularly controllers.
What I want to do:
I want to try my hand at autonomous exploration through the eyes of simple sensors, IMU/Gyros, and cameras, with an emphasis on reading and negotiating terrain. Nothing as grand as the Mars rovers, but along those lines. I want to learn about embedded systems and brush up on my electronics, but I don’t want to get too bogged down in such things. Software is where I expect to flex my muscle. The hardest part about this decision is the 8-bit versus 32-bit world. I can’t imagine doing much with software while limited to a 4k heap, but of course that is part of the challenge. I'm also interested in effective, fluid (loco)motion. In this respect, humanoid designs don't impress me at all, even though the Boiloid comprehensive kit is my front-runner (for its goodies).
I have looked into many a kit, including Robonova, Bioloid, BOEBot, and more. In the 8-bit world, what sticks out most to me is the enormous community, libraries, and tool base (mostly free) behind it. The second thing that really sticks out is the claustrophobic heap size. Bioloid appears to be a great package; highly modular, fantastic servos, popular MCU with extensive free tools, and huge physical expansion potential. However, as with all the other 8-bit micros, RAM is far too restrictive for the kinds of data manipulation I eventually want to try. Image data, for example, would be impossible beyond color tracking. On that note I poked around in the 32-bit 200+Mhz world of Linux SBCs. While these are very powerful machines that would allow me to really flex my software muscles, it appears to be a much tougher arena to get started in. There may be more people
doing it for all I know, but fewer people seem to be sharing it. I'd love to be proven wrong. Anyway, another alternative is to continually expand the 8-bit solution by running numerous processors/boards in parallel, each with dedicated tasks (as many of you have done). That approach, while intriguing from a programming standpoint, can quickly get more expensive than the SBCs. One work around is to stream sensor data wirelessly to a "mother ship" (PC), as I have seen some of you do (Brainbot, et. al.). There's no question that I will have some degree of wireless, but I've done a lot of reading, and it sounds like few have had success on a scale that would permit remote "brains." The best successes are based on SBCs driving 802.11b/g WiFi, and of course that takes us right back to 32-bit land and even pricier toys.
Anyway, I've rambled on too long (as usual). Hopefully y'all have an idea of which way my head is spinning and can give me some guidance on where to start. Even some tips on where NOT to start could be helpful.
I wonder how hard it would be to add RAM to the CM-5, to make it more like the MAVRIC-IB.
Thanks for reading and reply to my first post here.
--Chris (Zoid)
I’ll try not to ramble on for too long.
I controlled some stepper motors and RC servos with a PC long ago, but basically I’m new to robotics. Actually I’m still debating making the plunge. If I’m going to do it, I want to do it right. So, here’s my perspective.
What I have is:
Coding: 25 years of software development (18 professionally); everything from IBM 370 Assembler to C#. Code and data are my domain.
Electronics: I have a basic understanding of common semiconductors and simple ICs (TTL & CMOS comparators, timers, logic gates, etc), but little—and scattered—practical experience. I have a breadboard, cannibalized PSU, voltmeter, and moderate soldering skills. No scope or scope experience. Electronics is my weak point.
Mechanical: Very mechanically minded, but not much for metal working. I have a wood-shop so I can work plastics, wood, and limited amounts of aluminum. Steel is the pits.
How much I'm ultimately willing to spend depends on how things go early on. I'm basically ready to drop $500 to get started, and possibly as much as $1000 (USD). I'm really torn on the mixture and type of components; servos, sensors, and particularly controllers.
What I want to do:
I want to try my hand at autonomous exploration through the eyes of simple sensors, IMU/Gyros, and cameras, with an emphasis on reading and negotiating terrain. Nothing as grand as the Mars rovers, but along those lines. I want to learn about embedded systems and brush up on my electronics, but I don’t want to get too bogged down in such things. Software is where I expect to flex my muscle. The hardest part about this decision is the 8-bit versus 32-bit world. I can’t imagine doing much with software while limited to a 4k heap, but of course that is part of the challenge. I'm also interested in effective, fluid (loco)motion. In this respect, humanoid designs don't impress me at all, even though the Boiloid comprehensive kit is my front-runner (for its goodies).
I have looked into many a kit, including Robonova, Bioloid, BOEBot, and more. In the 8-bit world, what sticks out most to me is the enormous community, libraries, and tool base (mostly free) behind it. The second thing that really sticks out is the claustrophobic heap size. Bioloid appears to be a great package; highly modular, fantastic servos, popular MCU with extensive free tools, and huge physical expansion potential. However, as with all the other 8-bit micros, RAM is far too restrictive for the kinds of data manipulation I eventually want to try. Image data, for example, would be impossible beyond color tracking. On that note I poked around in the 32-bit 200+Mhz world of Linux SBCs. While these are very powerful machines that would allow me to really flex my software muscles, it appears to be a much tougher arena to get started in. There may be more people
doing it for all I know, but fewer people seem to be sharing it. I'd love to be proven wrong. Anyway, another alternative is to continually expand the 8-bit solution by running numerous processors/boards in parallel, each with dedicated tasks (as many of you have done). That approach, while intriguing from a programming standpoint, can quickly get more expensive than the SBCs. One work around is to stream sensor data wirelessly to a "mother ship" (PC), as I have seen some of you do (Brainbot, et. al.). There's no question that I will have some degree of wireless, but I've done a lot of reading, and it sounds like few have had success on a scale that would permit remote "brains." The best successes are based on SBCs driving 802.11b/g WiFi, and of course that takes us right back to 32-bit land and even pricier toys.
Anyway, I've rambled on too long (as usual). Hopefully y'all have an idea of which way my head is spinning and can give me some guidance on where to start. Even some tips on where NOT to start could be helpful.
I wonder how hard it would be to add RAM to the CM-5, to make it more like the MAVRIC-IB.
Thanks for reading and reply to my first post here.
--Chris (Zoid)