Help on where to begin

Recently I have been bitten by the robotics bug. I have decided upon building a hexapod (similar to this one http://home.ctlnet.com/~robotguy67/hexapod/hexapod.htm ) for fun. I have
absolutely no experience in programming/coding. I was planning on using a BasicX-24 microcontroller because most people I talk to recommend it over others like the OOPic, Atom, and Stamp II. My goal is relatively simple, I want to make an autonomous Hexapod that with the flip of a switch is controlled via radio control. The implementation, however, will probably be very difficult. I see that Parallax has a hexapod kit controlled by a BS2 and servo controller. I don't know if the stamp is powerful enough for my application as I want to use servo feedback to "feel" obstacles and the ground while in autonomous mode so it can avoid falling off a cliff and avoid obstacles in it's way. I'm told that the Servo 8T http://www.basicx.com/Products/servo/servo8t.htm is the only servo controller available that can do this.
So my questions are: Is the BX-24 a good microcontroller to start with? Is there a better microcontroller that is as easy to learn? Where would be a good starting point to begin learning to program a microcontroller? Lastly, is anyone else out there doing something similar and willing to give me a little guidance?
Thanks you for your help
Tim
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Tim,
Actually, your goal is not very simple, it is fairly complex and a bit difficult if this is your first start into robotics. I'd recommend that you set your sights a little lower. You can succeed with this, I've seen it done before, but... There really just isn't a tutorial on how to make a walker - There are some decent nearly tutorial ones. Karl Williams wrote "Amphibionics" which I greatly enjoyed, I've not read his book "insectronics", but I hear it is just as good. I recommend that you start there to read up a bit about your project. To start in robotics I strongly suggest that you try a simpler robot first - Perhaps a three servo hexapod to "get your feet wet". When a newcomer asks for insight into robotics I ALWAYS recommend the book "Vehicles: Experiments in Synthetic Psychology" by Valentino Braitenberg. It is easy to read and worth your time to ponder.
The BX24 is a fast and capable micro to work with. In my opinion they put too much effort into making it look like Visual Basic, but it has a multitasking OS on chip and comes with a free IDE and compiler. Because it is on a 24 pin carrier it is limited in IO pins, but that is correctable in a number of ways.
Another "canonical" site that I recommend for those interested in walkers is http://www.oricomtech.com . Dan has a fabulous site with a ton of information and insight into the walking "thing". Go there and look at stuff.
The BX24, Parallax Stamp, OOPic, Atom, etc. are all easy introductions into embedded programming, but they will only take you so far. To get really fast and sophisticated you will have to go with compilers that go direct to the chip and give you more memory to work with (since the OS isn't taking up resources.) I recommend that you start with the one that looks like it will do what you want. I've built walkers using the Stamp II, BX24, OOPic and even with the low level PICs and AVR chips. They all had their challenges and their strong points.
To back up a bit, I suggest that you start smaller, go here: http://home.golden.net/~kpwillia / and look around. That is Karl Williams site and has at least one three servo hexapod to play with for starters. You might even want to start with a simple rolling robot to get an idea of how a robot will need to be programmed.
By all means however, get started and have fun! DLC
--
============================================================================
* Dennis Clark snipped-for-privacy@frii.com www.techtoystoday.com *
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Thanks for the reply. I know the coding will be challenging, The actual robotic parts should not be to difficult. I have a lathe and milling machine to help make parts. I will definitely pick up the books you mentioned. They look very informative.
One question if you don't mind. Would you recommend the BX-24 or a chip like the Atmel AT90S8515. It is my understanding that both can be programmed with a Basic like language. But I read today that the Atmel is a better chip to use??? Perhaps you are correct about starting with a simpler 3 servo hexapod. I just want to learn on the right chip. I would be upset if I learned the BX-24 well just to find out later that I need a better chip later for a more complex robot and had to learn a whole new language. I guess I'm leaning toward the AVR chips after what I read about them today.
Thanks, Tim
wrote:

a
over
I
be
BS2
my
give
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
: Thanks for the reply. I know the coding will be challenging, The actual : robotic parts should not be to difficult. I have a lathe and milling machine : to help make parts. : I will definitely pick up the books you mentioned. They look very : informative.
: One question if you don't mind. Would you recommend the BX-24 or a chip like : the Atmel AT90S8515. It is my understanding that both can be programmed with : a Basic like language. But I read today that the Atmel is a better chip to : use??? Perhaps you are correct about starting with a simpler 3 servo : hexapod. I just want to learn on the right chip. I would be upset if I : learned the BX-24 well just to find out later that I need a better chip : later for a more complex robot and had to learn a whole new language. I : guess I'm leaning toward the AVR chips after what I read about them today.
Well, that is hard to say. I love the AVR chips and use Bascom/AVR to program them in Basic and Codevision C to do them in C. They are really nice parts, very fast and very nice machine code setup. You can't go wrong no matter what chip you learn on. The embedded processors all do similar things. If you learn one you can learn any of them, there is no wasted time. I like the PICs using C and assembly too. They each have their niches that they fill nicely. The BX24 is a nice chip with its OS, and if you get bored with it, you can dive in and reprogram the 90S8535 that is the heart of it using BASCOM or Codevision directly through the SPI programming port! ;)
DLC
: Thanks, : Tim
: wrote: : > : Recently I have been bitten by the robotics bug. I have decided upon : > : building a hexapod (similar to this one : > : http://home.ctlnet.com/~robotguy67/hexapod/hexapod.htm ) for fun. I have : > : absolutely no experience in programming/coding. I was planning on using : a : > : BasicX-24 microcontroller because most people I talk to recommend it : over : > : others like the OOPic, Atom, and Stamp II. My goal is relatively simple, : I : > : want to make an autonomous Hexapod that with the flip of a switch is : > : controlled via radio control. The implementation, however, will probably : be : > : very difficult. I see that Parallax has a hexapod kit controlled by a : BS2 : > : and servo controller. I don't know if the stamp is powerful enough for : my : > : application as I want to use servo feedback to "feel" obstacles and the : > : ground while in autonomous mode so it can avoid falling off a cliff and : > : avoid obstacles in it's way. I'm told that the Servo 8T : > : http://www.basicx.com/Products/servo/servo8t.htm is the only servo : > : controller available that can do this. : > : > : So my questions are: : > : Is the BX-24 a good microcontroller to start with? : > : Is there a better microcontroller that is as easy to learn? : > : Where would be a good starting point to begin learning to program a : > : microcontroller? : > : Lastly, is anyone else out there doing something similar and willing to : give : > : me a little guidance? : > : > : Thanks you for your help : > : > : Tim : > : > : >
--
============================================================================
* Dennis Clark snipped-for-privacy@frii.com www.techtoystoday.com *
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

be
give
Start with a 3 servo hexapod such as an insectronic. Buy the book "Insectronics". It goes into great detail about gaits, sensors, interfacing servos, and programming PICmicro MCUs. If you want to try something a little easier, you can easily adapt the design to run with a Parallax Basic Stamp (or compatible) and carrier board. Klaus
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

How much experience do you have with mechanical fabrication? The hexapod that you showed a link to seems to have several custom machined parts. It is extremely frustrating to build a robot when you don't have all the tools you need (i.e. a mill or better yet a CNC mill). Otherwise, I would recommend doing whatever you can to simplify the design of your hexapod so that you can build with the tools you have on hand.
I would recommend buying a hexapod kit so that you can concentrate on the area that you lack skills in (i.e. your programming skills) while having the most amount of fun. An off-the-shelf kit offers that. Check out:
    http://www.lynxmotion.com/     http://www.parallax.com/html_pages/robotics/hexcrawler.asp
Once you've developed programming skills and seen how things work, you could then move on to more complicated things.
Think of it this way: there are several knowledge/skill areas that you need to develop for robots:
1) Mechanical design 2) Mechanical construction 3) Electrical Design 4) Electrical Construction 5) Software Design 6) Software development 7) System Integration 8) Project management
Each requires a certain learning curve and without all coming together at once, then you could become frustrated. Frustration is a bad thing. Success comes from confidence and confidence comes from accomplishment. Accomplishment comes from either determination or from carefully selecting your goals. I recommend not taking on projects that require a lot of determination. Some people are able to succeed at projects that take a lot of determination, but most people become frustrated and quit. I know that I've failed at a lot of projects in the past because they were larger than I had the determination for. It has been a slow steady process for me to learn to choose my goals carefully (and I still fail at that sometimes).
I would recommend that you put off developing mechanical and electrical design and construction skills until after you develop the programming skills. Don't think that I'm saying that you don't already have mechanical and electrical skills, but there are a completely new sets of skills and techniques that have to be learned for building robots. You'll need to develop the techniques for working with specific materials, or fastening, or learning that there's a sequence which must be followed for success.
Don't set yourself up for failure by taking on too grand of a project. Repitition and incremental improvement seem to have been the most successful strategy that's worked for me. I learn the skills to do something simple but significant, I repeat that but add a small improvement to that.
Still, don't be too afraid of failing; failing is part of learning. If you mess something up, just keep going. In making the biped that I'm working on now, I've failed in several small areas and then started over and finally made progress. See failure/problem solving as part of what must be done.

That's a doable goal. But there are a lot of things that have to come together.

I think so.

The Basic Stamp and the BasicX24 are both good.
In the past, I put on a class for robot building and beginners really enjoyed starting with the Basic Stamp. However, I think that you will quickly outgrow it. That's why I think the Basic X24 is better. However, I've been programming for years and the move from the basic stamp to the BX24 is obvious to me. You may not find the transition so clear.

Get a basic stamp or BX24 development kit and learn how to turn on LED's and read switches. When that seems brain-dead obvious about how to do that, you can move on to something more complicated. The next thing you would want to learn about after LED's and switches is learning how to control servos.
I would recommend that you check out the very good application notes provided by parallax and BasicX and others. Read every application note you can find. Get the Basic Stamp and BasicX24 user's manual and read the application notes so many times that you're tired of reading the same thing. Make sure you understand everything. This will etch some of the basics into your brain. Then try to do some of the things they talk about.      Another book that I've really liked is:
    http://www.ai.mit.edu/people/anita/book.html
There's a lot of good stuff in that book that'll help you understand how to do some neat things.
Cheers, Ed L
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
While buying a hexapod kit would be nice, it will be cheaper and more rewarding to build it myself. I have the usual shop tools, i.e band saw, drill press, metal lathe, milling machine etc. The fabrication should not present a problem. It is the programming that is going to be a challenge. I appreciate your advice. Perhaps I should start off a little slower. BasicX has a pretty inexpensive wheeled robot kit http://www.basicx.com/Products/scout/scoutmain.htm ($249.95) This might be good bot to learn the basics on. it seems to have more capability then parallax's BOE BOT http://www.parallax.com/detail.asp?product_id(132 ($229.00) then there is the Mark III kit http://www.junun.org/MarkIII/Info.jsp?item=1 which uses the PIC16F877 it is half the price ($92) of the other two??? Maybe it is a less intelligent bot???. Are there any kits such as this one that use an AVR chip that you know of? Since I know very little, at this point in the game, about microcontrollers what are the differences/advantages between the BS2, PIC, AVR and BX-24? . I guess I have much to learn:-)
Thanks, Tim

I
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

It actually may not be cheaper, but it could definitely more rewarding. There are always a thousand and one details that add up in building any kind of electronic project.

Oh, OK. I didn't know what kind of tools you had.If you've got those tools, and the skills, then maybe the mechanical construction isn't that big a deal. I'd say go for it.
I'm sorry if it seemed that I might have been condescending, that wasn't my intention. I've seen a lot of people over the years try to make things when they didn't have the right tools (myself included). You hadn't explained your own skills and tools so I assumed that you were just starting out on everything.
My whole point was to not take on too many new skills to learn on a big project. If you have the skills, then it's not a problem. Move on to the next skillset: programming.
You have to judge for yourself what your level of proficiency is in each of the areas I listed in the last post and then decide what you can accomplish.

Actually, the wheeled robot sounds pretty expensive to me. It may not be as rewarding/fun as a hexapod or biped. The hexapod still may be the place to start unless you feel you have what it takes to do the biped.
If you feel your mechanical and electrical skills are good enough, then I don't see any reason why you couldn't do a hexapod or biped right off (just realize that it'll be several weeks until you can even do "real" programming because you'll have to do the mechanical construction first).
Here are some robot vendors:
    http://www.roguerobotics.com/products/blue/base.htm     http://www.hobbyengineering.com/SectionRB.html     http://www.lynxmotion.com/
http://www.yostengineering.com/index.cgi?section=Hardware&subsection=BugBrain/BugBrain.html
http://www.roboworld.com.sg/roboshop/product_list.aspx?Category=Intermediate+Robot+Kit     http://www.robodyssey.com /     http://www.acroname.com/     http://www.mekatronix.com /     http://www.robotics.com /     http://www.totalrobots.com/index.htm     http://www.smartrobots.com /     http://www.picobytes.com/Products.html     http://www.frc.ri.cmu.edu/robotics-faq/8.html
Note: I have no connection to these companies and I can't vouch for them. This list is merely offered as a resource.

If you want to do a hexapod or biped, then I would say go for it as long as you feel that the mechanical and electrical construction is not what you need to learn. You'll have a lot of fun learning to program it to do neat things.
Cheers, Ed L
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I didn't take any offence to your comments. You are correct I need to start out with a simpler bot simply due to the programming issues I know I will have. I will either go with a 3 servo Hexapod or the Mark III Sumo bot kit. From there I HAVE to try and emulate your wonderful Biped. That bot has to be the coolest thing I have seen. The programming must be very difficult.
Anyway, do you think I should start with the Atmel AVR, the PIC's or perhaps a BX-24? Personally I'm leaning toward the AVR because I have heard that it can be programmed in basic or in C using free compilers. It seems to me that it should be as easy to learn as a BX-24 if I use a basic language and compile it from there. I have also heard that it has more features and is more powerful the BX-24 and or the PIC's. Any suggestions would be appreciated.
Thanks, Tim

SNIP
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

Let me know when you do because I'll have advice on using the files that I have online. If I were to do another one, I would change some of the files in order to make the parts fit together more seamlessly. I had to add spacers in some places and I would rather have made some of the parts a little differently. There's always a learning curve.

I'll let you know in the next few days. I just got my two servo controllers working and I'll be playing around with programming.
I don't think it will be too hard because it will be merely playing back pre-stored sequences.

I think you should start with either a Basic Stamp or a BasicX24. They're much easier to use. They have all sorts of built-in routines for debouncing switches, generating pulse width signals for servos and lots of other neat features. Again, I tend to prefer the BasicX24.
As for PIC verses AVR, that's almost a religious question. I prefer the AVR's but others prefer the PICs. I have to admit that the 18Cxxx series of PICs are very nice and I wouldn't have a problem recommending them. However, I have personally stuck with the AVR.

Yes, the free GCC compiler is very high quality. Although it is only advertised as a C compiler, it actually has extensions for C++ object oriented programming. I do all of my programming for my AVR's using C++. The compiled code is pretty small; I've disassembled a lot of code generated by the GCC compiler and I don't think I could have done much better.
Cheers, Ed L
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.