Hi
Thought id tell you about my latest robot project. As
mentioned before im working on a hexapod. Its a 2DOF per
leg type, using a parralell leg design. Mechanicaly its
relativly simple. Its similar to the 2DOF per leg robot
that lynxmotion makes. I wanted to draw and cut evrything
myself tho, as i prefer that over building kits.
Ive drawn evrything in AutoCAD and cut the pices out of
gray PVC plastic. Using 12 servos (Hitec 422 for swing and
485 for lift) to generate locomotion. Ive put alot of
effort into minimizing the weight of the thing, but still
keeping it rigid and solid. And of course it has to look
cool and fun ("1st rule of robotics: Have fun!").
The electronics is based on a 18f452 PIC controler, wich i
programed using ccs c-compiler + a icd-2 system. I like
that cus after building the vero-board brain i can plugg
the icd directly into the robots brain and do programing
and live debugging directly on the bot.
The servo PWM control signals is generated by 2 timers. Had
to do some nifty trickering with the code there to get the
PWM's to run completly on interupts so not to be disturbed
by any other code going on. This controller then controls
the gait of the robot, based on several parameters (like
turning speed, forwar speed etc.). These parameters can be
set over I2C buss interface. In adition the robot has 3
ultrasound range sensors pluss a compas, all on i2c buss.
This is all connected thru i2c buss to a radio link, wich
comunicates to a PC. I chose this option becays ultimatly i
want this robot to do surveys, and i want some way of
getting that information to the pc, where i can draw
grafics maps and things like that.
On the PC i run a windows app that does the control logic,
behvior level based. Ive spend alot of time perfecting the
comunication from PC. As anyone who tried this knows, it
can be a problem when trying to comunicate to a PC in a
real time system. So i have built in a bunch of diagnosis
(similar to what is done in a CANbus system) to avoid any
faulty moduels messing up my com link. I have built in
objects for joystick control (saves me from going to pick
up the robot if the control logic fails, i can manualy
return it to home :P ), pluss using skinned dialogs to make
the program look good (and give me control of the windows
grafixs engine, so i can draw maps and stuffs). I have over
the years made a library of CStatic inharited objects that
i use for representing stuff on screen, like compas arrows,
level bars and the like. I also have one CStatic inharited
object that works like a skinned button. I know there are
lots of these out there, but i couldnt find one i liked, so
i desided to make my own instead. Works better for me i
feel.
The control logic is not quite finished yet, so this is
mostly future plans. (im focusing on making teh gait work
perfectly before moving on, finetuning the motion of the
legs, sensor array placment etc.) It will use a behavior
level architecture, and the basic goal is a survaying robot
that has wall follwing behaviors. i will acomplish that
thru 2 ultrasound rangers(as mentioned). These will tell me
if there is any walls nearby. Im going to grid the room,
and then basicly the robot will walk all over the place
mapping out which grids are ocupied by an object.
I dont have any pictures of the thing yet, but i will see
about that during weekend if anyone is intrested. Ill post
them on the project webpage (www.bedko.com/robot). The pics
on the site now is for the last hexapod i build. That one
didnt work to well tho, cus i screwed up the mechanics of
the legs. But thats ok, live and learn. And now i know how
not to make a hexapod :P ... and my latest atempt on
hexapod making works much better. This one walks very nicly
now.(ill make a video of it too, and post)
Im no expert robot builder (yet) but after several more or
less sucsessfull atempts i belive ive done my share of
mistakes and learned from them, so if anyone wants to try
making their first hexapod, iw ould love to help out with
what info i can. When i started i didnt join any groups or
anything, so it was alitle rough from the get-go. It was a
learning by doing kind og thing for me. So id be happy to
lend what litle insight ive gained, iff anyone is intrested.
Ok that was a very long entry so i gues i should thank
anyone who actualy bothered to read it all ;)
Cheers
Magnum