PDA

View Full Version : [Project] small quad



inkling
11-22-2011, 02:17 PM
small quad

I'd been thinking about attempting to build a quad type bot for at least a couple of years, as long, in fact, as i've been lurking on these and LMR's forums. But the price of 12 chunky servos, materials and the build time meant that i could always find an excuse for never starting.

But I was really impressed and enthused by AluHex's hexapod build. He had just got the cheapest servos and got on with it. I've never tackled anything like this before and to be honest, I dont think theres much chance of this quad ever working in the way i want it too. But at least this way I can find out, without spending a deal of cash and time. Its just a test, I guess.
So I sent off for the servos and controller and scavenged / bought the rest of the materials. A couple of days later everything had arrived.

http://img805.imageshack.us/img805/8401/materials600.jpg

Spent the day drawing out a plan, which was adapted as the build progressed. Ending up with the somewhat scrappy result below.

http://img810.imageshack.us/img810/5696/plan600.jpg

Next day involved about 6 hours of jigsawing, hacksawing, filing, drilling and assembling the first leg. It came out ok and the plastic chopping boards (polyethylene ?) turned out really nice to work with.

http://img542.imageshack.us/img542/7053/firstleg600.jpg

The other 3 legs only took about half this time each and the body-frame much the same. So by the end of a week of evenings the basics were done.

http://img265.imageshack.us/img265/3559/fourlegsandbase500.jpg

I started on the feet (with very clunky foot "force sensors") at the weekend, went through a couple of versions till i came up with a design i was almost happy with, and got all four done by the end of it.

http://img844.imageshack.us/img844/1962/goodfoot500.jpg

The final assembling, wiring, sub-board, and tidying took ages and its was not till the next weekend that I had kind of finished the physical build. It turned out a bit heavier than I thought it would at almost 700 g but maybe later I can replace the batteries with Li-po's and thin out some of the plastic to get down to about 500 grams.

Of course now I've the coding to do and eventually that awful moment where I find out if I've made a quad that can walk or, more likely, just a 'pretty arrangement of plastic and wire'.
Will post vids in a week or two if it either A. works a bit or B. fails in a vaguely amusing manner.

http://img716.imageshack.us/img716/5055/mainside600.jpg
http://img412.imageshack.us/img412/6603/top500.jpg
http://img198.imageshack.us/img198/7449/rear500.jpg

Fanatic
11-29-2011, 02:44 PM
Are you using the servo's potentiometer as a force sensor!? If so that's rather creative!
I also like the aesthetics of this robot. Good job so far!

inkling
11-30-2011, 04:28 AM
Fanatic, yes, the spring + stripped down servos are kind of foot 'force(?)' sensor. Its just an experiment really.
They seem to work ok.
Last night finally got 3 + 4 legged static balancing working reasonably well.
But struggling a little in that its the first time I've used either hobby servos or arduino (wind-screen wiper motors + picaxes up till now) Will try a very slow crawl gait this weekend if the balancing proves as robust when quad in motion.

inkling
12-07-2011, 09:23 AM
http://www.youtube.com/watch?v=K26e7VjU8_k

finally got a very ropey actively-balancing crawl together.
But running into problems with the sprung foot sensor compressing so much its altering the leg length by 10% on full wieght,
this coupled with the 'slop' in the output shafts of the servos means that the bot is
effectively trying to balance on a very spongey surface. Maybe slightly stiffer springs will help.

parallax
12-07-2011, 08:18 PM
I am a big fan of this robot and will be following its progress closely. Excellent work! I love the mammalian inspired design of the legs. Just to clarify: is one of your goals to create a robot which incorporates dynamic stability when walking rather than static stability?

inkling
12-08-2011, 04:35 AM
Hi Parallax, thanks for asking.

I think so, yes. Although I dont enough about robots to know if dynamic-stability is the right word or not,

The quad sways left/right back/forwards in attempt to keep the readings of the foot-pot sensors of the 3 legs on the ground equal,
I havent started work on the other 2 methods of leg based Cog shifting yet.

Currently the balance is then 'layered' onto a simple crawl gait. Where the up-leg's
recovery is scripted(?) and the other legs keep striding till theres an oppertunity to raise one.

Just before outputing to servos another layer of a slight constant sway towards un-balance is added.
My current plan being to keep things always on the edge of balance, but just on the right side of that edge.

The bot really is just an education for me and a way of learning about servos and arduino.
My 'plan A' has already become 'plan B' then 'plan C'. The whole thing plan-wise is heading rapidly through the alphabet.

parallax
12-08-2011, 11:21 AM
It certainly is a great way to learn! Let me explain the difference between dynamic stability and static stability; it might help you out with your gait generation.

Static stability is most common on robots today. Essentially, this means that as the robot transitions between each phase of its gait, it is balanced. There is a simple way to determine whether the robot will be statically balanced at any time: if you draw lines between where each foot is making contact with the ground, you are forming what is known as a support polygon. When four legs are on the ground this looks somewhat like a rectangle, when three legs are on the ground, a triangle and so on. If you now trace a path directly through the robots center of mass (gravity) towards the surface where it is walking and the line passes inside of the support polygon, the robot is statically stable. This is the reason you see so many robots shift there bodies from side to side and only lift one leg at a time; they are keeping their center of mass above their support polygon. Static stability is much easier (read practical) to achieve than dynamic stability.

Dynamic stability on the other hand is a different beast altogether. If a dynamically stable robot were to stop its motion at any time during a transition while in motion, it would fall over. This is because its center of mass is outside of its support polygon while it travels. The reason its able to balance while moving is that it counteracts its tendency to fall over by compensating with opposite motion (forces). When we walk or run, we are dynamically balancing; its more of a series of controlled falls than anything else. Even when we stand we generally are making constant minute adjustments to remain upright. In robots, this requires some sort of orientation feedback to achieve (and lots of math).

The advantage of a dynamically stable robot over a statically stable one is that generally they are capable of much faster and fluid motion. To make a comparison to the animal world: tortoises, elephants, and lizards are great examples of creatures with statically stable gaits, while ostriches, cats, and humans are dynamically stable. For robots: any walking robot you find on this forum (as far as I've seen) is statically stable, with the most stable generally being hexapods (check out their support polygons!). For examples of dynamically stable robots, look up passive dynamic walkers (Cornell U. has some great ones), watch Asimo a he runs, Big Dog, and Petman.

Just to clarify: these two methods are not mutually exclusive. For instance, a robot can be statically stable when standing or walking, but dynamically stable when running.

It may be possible for you to achieve dynamic stability with your robot if you wanted to. You already have force sensors on the feet, and with the addition of a inertial measurement unit (IMU) to give you more orientation data you might be good to go. Maybe something to keep in mind for down the road if you ever are so inclined to give it a shot :happy:

Sorry to write a book on this, and I hope it helped clear it up!

inkling
12-08-2011, 07:09 PM
parallax, thats a really helpfull post, thanks for taking the time.

Looks like I am currently aiming towards static-balancing, and still someway off even that.

Spent the evening googling dynamic-balance though. Complex stuff and way beyond my abilities, still getting my head around pid tbh.
But good to know about as i hadnt realised that the cog would move due to motion. More googling on that one needed.