Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

Getting started. Help me start out right!

Anything that doesn't fit our other forums goes here.
4 postsPage 1 of 1
4 postsPage 1 of 1

Getting started. Help me start out right!

Post by Zoid » Thu Oct 04, 2007 5:56 am

Post 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. :roll:

--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. :roll:

--Chris (Zoid)
Zoid
Robot Builder
Robot Builder
Posts: 19
Joined: Thu Oct 04, 2007 5:47 am

Post by JonHylands » Thu Oct 04, 2007 11:54 am

Post by JonHylands
Thu Oct 04, 2007 11:54 am

Chris,

I think you're heading in the right direction. What I'm doing with BrainBot is fairly straight-forward - its basically just a gumstix with wifi, acting as a bus forwarder. All the brains are on a PC, which makes debugging and experimentation much simpler.

Note that the gumstix I'm using has 128 MB of RAM, runs at 600 MHz, and is a fairly powerful piece of hardware by itself. You could do some fairly decent work on a robot with just it.

The nice thing with the Bioloid kit is its easy to get started - you can just run it wired from the PC using the USB bus board I sell, and skip the gumstix to get started. Once you have some code running and things working in a way you like, just insert a socket-based link to the serial port, and then it becomes simple to shift that whole portion to the gumstix, and go wireless.

- Jon
Chris,

I think you're heading in the right direction. What I'm doing with BrainBot is fairly straight-forward - its basically just a gumstix with wifi, acting as a bus forwarder. All the brains are on a PC, which makes debugging and experimentation much simpler.

Note that the gumstix I'm using has 128 MB of RAM, runs at 600 MHz, and is a fairly powerful piece of hardware by itself. You could do some fairly decent work on a robot with just it.

The nice thing with the Bioloid kit is its easy to get started - you can just run it wired from the PC using the USB bus board I sell, and skip the gumstix to get started. Once you have some code running and things working in a way you like, just insert a socket-based link to the serial port, and then it becomes simple to shift that whole portion to the gumstix, and go wireless.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by Photronix » Fri Oct 05, 2007 2:11 am

Post by Photronix
Fri Oct 05, 2007 2:11 am

Well I asked a similar question a few weeks ago with not much response....so I will try to convey what I've learned in the hope that it will help you an others with similar questions.

I have a similar experience and background as you and wanted to get started with biped robots. I am not interested in remote control but rather autonomous operation only.

I finally decided on the Robonova to get started. This was simply because thats what most people own right now so I felt the support in the forums would be much better. I was right about the support. Only two weeks using the Robonova and I have 2-gyros, compass, ultrasonic, and a tilt sensor working well. All developed on the shoulders of giants who have posted their work here in the forums. I have now been coding for autonomous operation as planned. But I am reaching the same limitations that most of us are up against....not enough processing power.

In a nutshell the controller is busy dealing with controlling all the servos not leaving much time to do things like think and feel the environment using things like I2C com to sensors like the compass.

I am at the point now where I see that the controller needs to concentrate on the servo control and I need to take the sensor and thinking processing off-board. I am now developing a backpack sensor AI board. This will tell the existing servo controller what to do.

Here is my suggestion...buy a Robonova now and start making him walk around. Then buy a Propeller Dev Kit from www.parallax.com (around $130 with the manual). The propeller utilizes 8 32-bit processors and makes parallel processing (yes! no interupt code...wOOt) easy. The Spin Language is great and easy to learn. The damn Propeller can actually sing with 8 different voices simultaneously! Make your own sensor board with the Propeller and slap it on the back of the Robonova....

Hope this helps....I'm a newb still at this point but I think I've absorved the gist of the forums in the past few weeks.

Oh BTW my Robonova can walk around the room for the duration of the battery (at which point he squalks and sits down) navigating and watching out for the cats (and the walls).

Good Luck...
Well I asked a similar question a few weeks ago with not much response....so I will try to convey what I've learned in the hope that it will help you an others with similar questions.

I have a similar experience and background as you and wanted to get started with biped robots. I am not interested in remote control but rather autonomous operation only.

I finally decided on the Robonova to get started. This was simply because thats what most people own right now so I felt the support in the forums would be much better. I was right about the support. Only two weeks using the Robonova and I have 2-gyros, compass, ultrasonic, and a tilt sensor working well. All developed on the shoulders of giants who have posted their work here in the forums. I have now been coding for autonomous operation as planned. But I am reaching the same limitations that most of us are up against....not enough processing power.

In a nutshell the controller is busy dealing with controlling all the servos not leaving much time to do things like think and feel the environment using things like I2C com to sensors like the compass.

I am at the point now where I see that the controller needs to concentrate on the servo control and I need to take the sensor and thinking processing off-board. I am now developing a backpack sensor AI board. This will tell the existing servo controller what to do.

Here is my suggestion...buy a Robonova now and start making him walk around. Then buy a Propeller Dev Kit from www.parallax.com (around $130 with the manual). The propeller utilizes 8 32-bit processors and makes parallel processing (yes! no interupt code...wOOt) easy. The Spin Language is great and easy to learn. The damn Propeller can actually sing with 8 different voices simultaneously! Make your own sensor board with the Propeller and slap it on the back of the Robonova....

Hope this helps....I'm a newb still at this point but I think I've absorved the gist of the forums in the past few weeks.

Oh BTW my Robonova can walk around the room for the duration of the battery (at which point he squalks and sits down) navigating and watching out for the cats (and the walls).

Good Luck...
Photronix
Newbie
Newbie
Posts: 2
Joined: Thu Sep 06, 2007 2:13 am

Post by Zoid » Fri Oct 05, 2007 6:26 pm

Post by Zoid
Fri Oct 05, 2007 6:26 pm

Thanks Photronix. I had read a little about the Propeller, but after your encouragement I went back and spent several hours way down in the propeller "weeds". I think it will make a great addition to a kit, to tackle "unsolvable" problems. It's shortage of integrated hardware interfaces is offset by serious, flexible horsepower behind the digital IO pins. The examples really show the capabilities. I imagine it will feel like writing device drivers, but with the option to put muscle where I care to. I suspect I will be getting Bioloid, and expanding it with Propeller. Bummer that Propeller application and data must fit into 32k RAM. I wish the CM-5 was more like the MAVRIC-IB. It's all just money, right? ;)
Thanks Photronix. I had read a little about the Propeller, but after your encouragement I went back and spent several hours way down in the propeller "weeds". I think it will make a great addition to a kit, to tackle "unsolvable" problems. It's shortage of integrated hardware interfaces is offset by serious, flexible horsepower behind the digital IO pins. The examples really show the capabilities. I imagine it will feel like writing device drivers, but with the option to put muscle where I care to. I suspect I will be getting Bioloid, and expanding it with Propeller. Bummer that Propeller application and data must fit into 32k RAM. I wish the CM-5 was more like the MAVRIC-IB. It's all just money, right? ;)
Zoid
Robot Builder
Robot Builder
Posts: 19
Joined: Thu Oct 04, 2007 5:47 am


4 postsPage 1 of 1
4 postsPage 1 of 1