The Fallentine Quadruped Project. Stage: Wiring & programmin

Edit: Sep 4th, 1AM, new pictures added, finished basic construction.

Basic Atom Pro 28, BB2, bluetooth serial, 12 micro servos, craft sticks, and hot glue.

So i started on my quadruped. I got my servos, and they all work.
The project is in very early stages, i’m currently building the main body, it’s going to be light weight, but also strong.
It won’t be able to lift a can of soda, but it should be able to hold a few sensors.

Link to pictures, check regularly for updates.

It will be a while before i can completely finish it. But i should have a good amount done tonight. Hot glue and craft sticks are easy to work with.

Edit:
I restarted construction, i wasn’t satisfied with how big it was becoming, it was just getting larger and larger, to large for these tiny servos.
So i scaled everything down a bit.
I removed the rs232 port from the botboard, and created a header instead. It’ll fit better in addiction to being easier to connect/disconnect.

I’ll be adding the base servos tonight some time, but the knee servos will have to wait. I want to try some syringe hydraulics before i make any final decisions. Hydraulics will increase weight, but will reduce size on the actual legs, bringing more of the weight into the center of the bot.
Plus it would look sweet as hell.

As is the servos aren’t attached perfectly, but i’ll compensate for that with the programming. Add a couple points here and there.
Everyone with a 3DOF quadruped, please upload your BAS files, i need a lot of examples to work off of.
I don’t even know where to start with the programming.

a.imageshack.us/img64/3106/dscf0094j.th.jpg

So i finished basic construction. I noticed a few tiny problems that may or may not be a problem later.
The servos don’t have a full 180* turn, and worse, they are able to turn further one direction than the other. So depending on which way the servo is facing, it may have a larger radius.

I may have goofed up on the legs, i’m thinking i should have made the inner leg part shorter, and the outer part (the part that contacts the ground) longer.
As is it’ll need a wide leg span, just to get the outer legs to touch the ground.

This is the price you way when you have to figure it out as you go. On the bright side, i can shorten the inner legs very easily. So that’s not really a problem at all.

I need to wire it up now, i don’t have any more 1.5A 5v regulators, so i’m kinda stumped there.

Now my biggest problem is programming, i’ve never been very good at programming, and i need more help now than ever. But no one has uploaded their bas files yet so i don’t even know where to start.
I need forward, back, left right, rotate left/right.
I learn as i go, but i gotta start somewhere, which is why i use examples. If i have to do it alone, i’ll get burned out before i can finish.

Edit: reduces the inner leg size by 1 inch, looks a lot better now.
Got a new problem though, i can’t power the thing, my 1A 5v regulator isn’t cutting it when all servos move at once.
I need to find a 2-3Amp regulator, or stack 2 regulators using diodes.

You guys think this might work?
http://a.imageshack.us/img706/720/stacked.png

Else i’ll need to find a 5V 2-3A regulator for less than $2, free shipping.

A good solution would be to get a UBEC like below to supply power to the servos. Radio Shack carries the 5v 1a voltage regulators. In your schematic the diodes will drop the voltage from 5v to 4.3v, which probably would cause servo low voltage issues. The output voltage of the 5v regulators can be increased by .7v by placing a diode on the ground pin. Servos operate much better at 5.7v than 5v. For initial testing, you could probably temporarly eliminate the outer most servo on the leg by hot glueing a stick to the stick between the two outer most servos at 90 deg to be the foot stick.

hobbypartz.com/ub2liin.html

Use the two regulators, but split up the servo loads between the two regulators.

Alan KM6VV

That’s a really good idea KM6VV.
I could link the the power out from a regulator directly to the center power select pin, instead of using the jumper.
Put 8 servos on 1 regulator, and the other 4 on a different regulator, i have a second 1A regulator.

But i might go with that UBEC next time i order from hobbypartz.
I’m thinking of switching from a quadruped to a hexapod, it would be easier to program as it would be more stable.
I’d be able to focus more on walking and less on fine tuning it since i don’t have exact precision brackets.

I still need people to upload some BAS files of quadrupeds. I’m going to try programming my bot manually, it just isn’t gonna be easy.
I have a few ideas of how i can do it, so wish me luck. Gonna focus on doing just 1 leg at the moment, then i’ll just adapt that 1 leg to the others, i just can’t find any good videos or base files to understand how a 3 dof quadruped even walks.

1 more thing, how many times can i program the basic atom pro 28? I’ve probably programmed it 300+ times now, but if i understand it correctly, theres a limit to how many times these things can be reprogrammed.
is it 1000? 10k? 100k? 1m? I got no clue.

Edit: i went ahead and used the dual regulator idea, i don’t know how well it’ll work, my secondary regulator is only 0.5A, and my primary is 1A
I’m hoping the primary can handle 8 of these servos, and have the other 4 on the 0.5A
the computer i was using for my programming, the harddrive freakin died on me.
Theres a chance i can salvage the bas file, but instead of working on the programming more tonight, i’ll be busy reformatting that computer, pain in the butt…

I also need to know what uf these capacitors are. I have a really neat project planned in the next couple weeks.
http://a.imageshack.us/img202/5713/123or.jpg

The caps are .1uF.

Why don’t you use the Phoenix code? Jonny is running it on his 'quad, and I’m slowly getting my 'quad running as well. There is 3DOF and 4DOF. Although we’re working on 4DOF, you can just ignore the feet.

lynxmotion.net/viewtopic.php?f=8&t=6521

Alan KM6VV

@ Fallentine:
if you download xans phoenix code 1.3
lynxmotion.com/images/files/phoen1.3.bas
and configure it for use without the ssc, get it working, ignore the tripod gaits, and then get back to me. i will then give you the sections of code needed by your quad to shift its body while walking. :wink:

This stuff is way over my head, i don’t understand any of it.

Have you seen the code i used in my tracked rover? viewtopic.php?f=4&t=6634
Programming my tracked rover was kind of hard for me. Look at the programming for the arm, that’s the limit to my understanding of servo controls.

You see this video i attached, this took me like 45 minutes!, AND the harddrive that code was saved on, died, i couldn’t recover it, none of my computers can detect the drive anymore, it detects something there, but it can’t get any information from it. And it was clicking really bad. Like taping the edge of a penny on a counter top.

I am really that bad at programming, when i look at the pheonix code, i see gibberish, i can’t comprehend how the 50th line of code, could have anything to do with the 100th, i can’t visualize stuff like that.

Edit: If this doesn’t work out, i’ll just scrap the plan and work on something a little more within my limits.
Or sell it, (excluding the botboard ect.), could probably get $40-50 for the simple frame and it’s servos.

The computer i need to use to program the quad, is still out of commission for the time being, until i can find a decent harddrive, the only extra i have doesn’t support Ultra-DMA, only PIO, so it barely gets 5MB/s, and it’s noisy as hell.
I’m going to try a laptop hdd.
Edit: Laptop harddrive seems to be doing ok, good thing i’m so good with computer hardware, nice to have a 44pin-40pin IDE adapter laying around.

Well i have it wired, though i’ll need a bigger regulator, i’ll put one on tomorrow. Appearently just 3 or 4 of these micro servos takes a full 0.5A at least, burned my thumb on the regulator… oops.

I have some basic programming, but it barely wobbles, and it barely moves forward. I had to resort to programming it on my own, and it’s not going to well, i’m quickly becoming quickly discouraged.

So i think i’ll just scrap the quadruped idea.
My biggest problems, no one at all uploaded basic quadruped code, and i can barely find any videos on quadruped gaits.
Stuff like the phoenix code is just to much for me.

So i have no clue what kind of proper gait i’d need for a quadruped. Definitely discouraged. So… project finished.

If you wanted to make a 12 servo hexapod the programming is easy. You simply send a few values and the thing is walking. There is no timing to be concerned with. It is as easy as it could possibly be.

There are a few things to set up. (you tell it the up and down, for and aft leg position values) Then it’s a matter of sending XL and XS to make it move. You steer it like a tank.

XL , XR

Set the travel percentage for left and right legs. The valid range is -100% to 100%. Negative values cause the legs on the side to move in reverse. With a value of 100%, the legs will move between the front and rear positions. Lower values cause the travel to be proportionally less, but always centered. The speed for horizontal moves is adjusted based on the XL and XR commands, so the move time remains the same.

XS

Set the horizontal speed percentage for all legs. The valid range is 0% to 200%. With a value of 100%, the horizontal travel time will be the value programmed using the HT command. Higher values proportionally reduce the travel time; lower values increase it. A value of 0% will stop the robot in place. The hex sequencer will not be started until the XS command is received.

XSTOP

Stop the hex sequencer. Return all servos to normal operation.

nicely said Jim, yes you can always try looking at the powerpod “hexapod code” and convert it to quad… hold on i think iv already done that. ill try and find it for you.

im sorry to hear you have thought about ending your project on the bases that “no one has uploaded a written code for you”.
i think you gave up to easily.

why not try studying the phoenix code. bit by bit you will pick it up. just brake it down into manageable parts.

can i encourage you… who knows:

quadruped walking gaits:
youtube.com/watch?v=YG7FPeDz8Hg
i know this goes over you head but its a push.

One of the best quads iv seen:
youtube.com/watch?v=jWP3RnYa … re=related

anyway i will have a look though my files and see if i still have the powerpod “quad code” :wink:

Ya i might make a 2dof hexapod, this quadrupod is just… frustrating.

A hexapod would be easier…

FL = front left
RR = rear right

FL, MR, RL, “Set 1” up then forward
FR, ML, RR, "Set 2"down and backwards
The whole bot would shift forward with 3 legs in the air.
Then the first set of legs would move down, and the second set up, and it would repeate.

Set1 up then forward
Set2 down and backwards

Set1 down and forwards
Set2, up then forward
Set1 down then backwards,

and so on.

IE a 3 leg stomping movement. While set 1 is moving forward in the air, set 2 is moving the bot forward on the ground, then vise versa.
It would work, would just be… weird moving, cause it’s only 2dof, the legs would take rounded steps.
Edit: sorta like this after 0:32 youtube.com/watch?v=6tR0TDsW … re=related
/edit

It’s not that i’m giving up to easy on this quad, it was just doomed from the start.
The lack of precision brackets, and flimsy servo horns, could turn even a pro’s programming, into a wobbly mess.

I just don’t know how a 3dof quadruped is supposed to walk, i even considering grabbing a daddy-long-leg spider from outside and cutting off the inner 4 legs, giving it a few mosquitoes and seeing how it adapted to using only 4 legs.
This is the closest quadruped that walks the way mine is supposed to- youtube.com/watch?v=lxIy3jYuQCo
I tried to mimic that gait, and kinda got part of it at first, i’m having trouble getting all the legs to move smoothly together, simply because of the limits to my programming knowledge.

Yes it uses the alternating tripod exclusively. I like 2DOF hexapods. They’re fun. Simple code equals a better chance of success.

yes i agree. i love this one. i will build one one day.

Fallentine maybe you should think about making a 2DOF hexapod. i mean you could even build it using anything. dont worry about LM brackets, make it unique. :wink:

I concur on the 2DOF. They’re uber easy to start walking, and you can build them basically out of scrap material. It might even end up looking as dodgy as mine :stuck_out_tongue:

Might be interesting to upscale the below hexapod.

pololu.com/docs/0J42

That would probably be a lot cheaper for you. Also look into Squinto (?).

Alan KM6VV

If you want to see my 2dof quad walking gait :

alpha-arts.net/robot.php

Ya i’m going to do that, it’ll look similar to my quadruped, i like the frame i made around the BB2, since i used hotglue, the servos snapped right off with minimal force. I already cleaned the glue off most of the servo horns.
Another advantage to the tripod gait, is the legs don’t need to have such exact measurements as the quadruped or other gates do.
Meaning it’ll wobble a tiny bit, but it should move without to much problem.

I already disassembled the quadruped.

Noodle, could you please upload your code, I know you use an arduino, but it’s not the code style that matters to me, it’s how you did the gaits.
My problem was visualizing the steps, so if i can see the steps you took, it could speed things up for me.
If you can export into html like the basic studio can, i can read it easier, or copy paste the code into a rich text document, or doc file.
.txt extensions remove a lot of important formatting.

Also noodle, i love the gait on your bot. Your bot looks silly and goofy like mine often do, but the gait was so smooth, it was moving as smoothly as pricy bracket bots.

If all goes well, i’ll make a 12kg/cm digital servo, 2DOF Hex, with little short legs, and make the thing chase my cat.
Tower pro servos are cheap, it’ll just take me a few months to save up.
hobbypartz.com/servo-mg946r.html

But first, after i make my 2 dof hex, i’ll eventually upgrade it to 3dof, before moving onto larger more expensive servos.
Since 6 more servos = $12 after shipping from hobby parts.

Also i’ll be moving my small 2dof hex, onto an atom nano pro if i can get one, using my upcoming botboard nano 18.
Bmicro is releasing a pro version of their atom nanos. Sweet huh?

Just so you guys know, these are the servos i used on my quad->hex
hobbypartz.com/60p-dy-1002.html

2 for $3.40, they are relatively fast, and relatively strong, out of 12 servos, none were DOA.
They center well, they don’t jitter, they have like -80*,85* movements, not a full 180, but that’s ok.
Only complaint, the servo horns are light and soft, a bit flexible, and i don’t know where to find new stronger/firmer horns.

Noodle, 1 more thing, would you please upload more longer, videos of your hex walking around, turning, maybe moving sideways if possible, I know moving sideways is tricky on 2DOF, but i was thinking a scooting motion using the corner legs, and the middle legs just for support. It would be slow, but should be possible.
I’m going to download the videos, play them on a loop, and study the gait.
That along with your code. ^_^.

Thank you.

Gee wizz. I wouldn’t have thought anyone would really look that much into this hexapod. I ended up getting rid of him agessss ago. For a few reason: i’m a perfectionist, and the design was shocking. The servo’s (HS-422) were too weak to hold up the frame. And the body was made of a pretty thick (and therefore heavy) material, so the servos had a very difficult time walking. The whole thing was just for a bit of fun but the design was very very poor. Haha.

I’m not sure if 2DOF’s can move sideways though… Maybe in some sort of scuttling motion, but I never experimented. The gait is very simple. Let’s just imagine one leg for the time being, starting touching the ground, pointing behind the hexapod (you see in my video, to make it easier, I repositioned the legs and went nuts with walking then!)
Steps:
Lift leg.
Rotate leg to point forward.
Lower leg to ground.
Rotate leg to point backwards.

It’s very simple. But then you just make three legs do that, and then the other three do the opposite. So when the first three legs are rotating the leg up in the air, the other legs are rotating the leg along the ground to point backwards.

Also, very sorry, but I don’t have any code cause I’ve been through at least 4 or 5 different operating system installations since then and have lost a lot of stuff :frowning:

My suggestion about your plans would be “do not not not not buy Towerpro’s”. To quote Matt Denton, “with servos, you get what you pay for.” Buy cheap servos, they will work like cheap servos, meaning they have poor alignment, and often the torque isn’t that great. Yes, I know, HS-645’s are really really expensive, it annoys me a lot, but you’re going to end up wasting money because the Towerpro’s (well, the gears inside) will eventually screw up and you’ve just wasted money. I’d probably say you’re better off getting three HS-645’s, and then working out how to do inverse kinematics for it. Not difficult, just a little confusing if you’re not too familiar with trigonometry. Then eventually you can buy more, and level up to a Phoenix or another hexapod. That’s just my two cents though. It’s all good fun in the sake of experimenting :slight_smile: