Society of Robots - Robot Forum

Mechanics and Construction => Mechanics and Construction => Topic started by: SeagullOne on January 23, 2011, 01:30:51 AM

Title: Robot leg calculations?
Post by: SeagullOne on January 23, 2011, 01:30:51 AM
Out of curiosity, how does one go about designing robot legs? I've built a simple quadruped before, but I'm interested in experimenting with bipedal robotics. Not necessarily humanoids, though, more like birds or dinosaurs.

I've also studied some of the designs for the robot bipeds from lynxmotion, but I'm interested in pursuing a more time-consuming approach rather than spending $800 on a kit (but I may end up spending $800 plus getting something to work anyway--but that's beside the point). I don't want to do something that just works, like a kit. I'm interested specifically in a learning experience for gain of knowledge and experience through trial and error. I've learned a lot after building NINA, and even now that robot still has a ways to go. No robot is ever really perfected. If NINA took me over three years to build--twice longer since the day I started planning for her--I wonder if I could build something of simpler robot, except in the sense that it's a biped...with maybe a tail and forward neck to help balance and turn...within a similar time frame.

I've also taken an eye for the robot Troody, and I'm wondering if I push myself enough I could emulate something like that in my own way from the bottom up.

Any recommendations on where I should start? How would I calculate or estimate the requirements for the motors and linkages in a robot leg? Would it be something along the lines of a backwards Admin's Robot Arm Calculator? Inverse kinematics is definitely involved. I know what inverse kinematics is from working with 3D animated figures, but how does the concept apply to legged robots?

I don't want to do anything super fancy with this project (anytime soon). I want to start small, learn as I go and work up to see what I can do (or what I can't). Funding isn't a huge problem, and neither is time. Meanwhile I have plenty of time to study and plan.

Would appreciate any feedback, recommendations, leads, or anything anyone has to offer. Thanks!
Title: Re: Robot leg calculations?
Post by: klims on January 24, 2011, 12:16:31 AM
My suggestion would be to completely CAD your robot up using whatever brackets/servos you intend on building your bot out of. This way you can trial your designs without having to own all the brackets. I like the Lynxmotion parts but they aren't as rigid as they could be.

Have a look at what is out there. Download some manuals and see how other kits are put together. I think this will give you a good starting point.

Title: Re: Robot leg calculations?
Post by: sarendt on February 05, 2011, 05:41:40 AM
SeagullOne,

I have a interest in working on this with you!  I will send you a PM with my email address so we can discuss it more.  I am interested in making a bi-ped bot for mech-warfare.  I want to design it instead of build it via trial and error with the hope of designing it more efficiently.

Cheers,
Scott

**edit - wrote to Klims the first time by accident, changed to SeagullOne, the intended recipient.
Title: Re: Robot leg calculations?
Post by: momomo68 on February 05, 2011, 09:08:45 AM
This guy had about all the scientific info you could ever want for legged robots.  He's worked for Boston Dyanamics, MIT, iRobot...

Look at this page http://www.martinbuehler.net/ (http://www.martinbuehler.net/) , it has links to papers on different projects he's done- sounds like the 1 legged robots would have info for your application, I recall the papers publish info on power req's and efficiency.
Title: Re: Robot leg calculations?
Post by: sarendt on February 05, 2011, 12:28:22 PM
Thanks Momomo68 :*)

-scott
Title: Re: Robot leg calculations?
Post by: Crunchy Theory on February 07, 2011, 04:25:36 PM
What's the reason of excluding humanoid designs? Just curious, as humanoid designs would seem to have more potential.

Start by studying nature, then try and duplicate parts of it. I'm doing some personal research into dynamic walking as well. It was easier for me to observe my own movements than watch videos of birds or animations of dinosaurs and try to guess what's going on.

Here has been my thought process: go through multiple generations of prototypes with each successor adding another DOF and ability. For example, start with 1 or 2 DOF legs (knees/hips) that can only walk straight in a jerky motion. Then add ankles to smooth it out and add the ability to stand up. Then add another DOF (hips) so that it can turn. Minimize the size of the feet - this is the most interesting part for me because it seems like the big feet in most bipedal designs that only use balanced walking always get in the way (especially when the feet are flat). I was thinking about very small feet that are slightly rounded on the bottom. Less stability at a standstill, but if I can get the robot to self-balance it might help the walking part.

(Now I'm just throwing out ideas ;D) Motors for joints instead of servos? It seems like servos don't really give in a way that can absorb shock. I've never used them yet, but I was thinking motors might be able to add resistance for shock absorbency since they can brake.
Title: Re: Robot leg calculations?
Post by: sarendt on February 08, 2011, 12:06:29 AM
Crunchy,

I agree with you on study nature, but disagree about your thought process.  I don't mean that your thought process is wrong for you, just that I want to go at it from a different one :*) So here's mine:

If you wanted to design a leg, how long would each section between joints be?  Does it matter? What about the sweep of the joint, how does it effect the design? 

What are my design goals? Do I want the completed system to be fast, smooth, efficient?  I choose efficiency, specifically energy(electrical), and then asked myself efficient at what, standing, walking or running?  My assumption is that different leg designs are efficient at different things.  I believe humans are very efficient walkers, we can walk all day and burn very little calories (I read this somewhere, no data of my own to support it.)  I wonder if birds are maybe efficient at standing?  They seem to do a lot of it, on wires, tree branches, even foraging for food on the ground they hop from one standing position to another, but that's just a guess.

Next I asked myself: How do we determine efficiency?  I know we can do it once we build something, adjust its gait and we can directly measure how much energy it is using.  If we did this long enough we might be able to build up enough data to start making assumptions about how various design choices effect efficiency, but as I don't have access to that data is there another option?  Maybe I can try to use math and physics to predetermine the data before I build something.

If I do this correctly I might be able to create a template for designing legs/bi-ped systems that would give me the data I am looking for as well as the ability to test additional designs with out having to build them.  This also gives me something to work on as I slowly acquire the parts to start building :*)

I haven't read anywhere that folks have even looked at the energy draw of their bot's as they walk, but it would be some interesting data to see.  I believe we would need the robot's design, the gait it was performing and the energy used.  If the data was specific enough to show how the energy draw changed over time that would be even better as I imagine different points in the gait require significantly different amounts of energy.

I am close to being able to drive my AX-12's, as soon as I can command them through some basic positions I plan to start testing them to determine current draw vs. load.  This way I am creating some good data while improving my programing skills with Adrunio and AX-12's.  I plan to upload the data here afterwords to see what everyone thinks :*)

Cheers,
Scott
Title: Re: Robot leg calculations?
Post by: Crunchy Theory on February 08, 2011, 11:45:33 AM
Crunchy,

I agree with you on study nature, but disagree about your thought process.  I don't mean that your thought process is wrong for you, just that I want to go at it from a different one :*) So here's mine:

If you wanted to design a leg, how long would each section between joints be?  Does it matter? What about the sweep of the joint, how does it effect the design?  

What are my design goals? Do I want the completed system to be fast, smooth, efficient?  I choose efficiency, specifically energy(electrical), and then asked myself efficient at what, standing, walking or running?  My assumption is that different leg designs are efficient at different things.  I believe humans are very efficient walkers, we can walk all day and burn very little calories (I read this somewhere, no data of my own to support it.)  I wonder if birds are maybe efficient at standing?  They seem to do a lot of it, on wires, tree branches, even foraging for food on the ground they hop from one standing position to another, but that's just a guess.

Next I asked myself: How do we determine efficiency?  I know we can do it once we build something, adjust its gait and we can directly measure how much energy it is using.  If we did this long enough we might be able to build up enough data to start making assumptions about how various design choices effect efficiency, but as I don't have access to that data is there another option?  Maybe I can try to use math and physics to predetermine the data before I build something.

If I do this correctly I might be able to create a template for designing legs/bi-ped systems that would give me the data I am looking for as well as the ability to test additional designs with out having to build them.  This also gives me something to work on as I slowly acquire the parts to start building :*)

I haven't read anywhere that folks have even looked at the energy draw of their bot's as they walk, but it would be some interesting data to see.  I believe we would need the robot's design, the gait it was performing and the energy used.  If the data was specific enough to show how the energy draw changed over time that would be even better as I imagine different points in the gait require significantly different amounts of energy.

I am close to being able to drive my AX-12's, as soon as I can command them through some basic positions I plan to start testing them to determine current draw vs. load.  This way I am creating some good data while improving my programing skills with Adrunio and AX-12's.  I plan to upload the data here afterwords to see what everyone thinks :*)

Cheers,
Scott

I think you actually responded better to OP's original question and touched more on how to determine the design - I kind of already assumed a design and jumped straight to how I would go about getting it working. Thanks for pointing that out. Very good points; I'll have to go back some steps and reevaluate my design now!  ;D

Those AX-12s look interesting, by the way. I was wondering how you were going to get the data on current draw until I looked them up.
Title: Re: Robot leg calculations?
Post by: SeagullOne on February 08, 2011, 06:36:48 PM
Very interesting stuff from both you guys! :)

I have actually been studying velociraptor walk-cyle animations (for starters). I also intend to ask a local museum about how they would have walked and also study the length of each leg-linkage. I want to know how they balanced, how they walked, how they turned, etc. I may even incorporate the AI into my design based on how Velociraptors probably behaved and why they behaved that way, and also incorporate how a velociraptor would behave if it had been possible to tame one as an exotic house pet or zoo specimen. You could feed it chickens and put your head in its mouth and it wouldn't try to eat you. Think of the protection they would have provided--assuming this would have been possible. Just ensure you keep your raptor on a strong leash. Also don't put it in the backyard with the dog or cat (just a suggestion).  ;D

Also, I'm not necessarily excluding humanoids in my project. Humans are very interesting creatures our design makes for fine robots, but I'm also interested in exploring the semi-human or even the non-human altogether (I do this in all my projects, actually, from my artwork, to the books I've published, and I'd like to take it to robotics). It's just my curiosity that motivates me to wonder about these things. So yes, humans are efficient creatures and I love being a human, personally, and I love all other human beings around me. It just that humanity gets a little...well, ordinary for me. I'm around humans all the time, I ride in our cars, I see our accomplishments...so I can't help but wonder things like: what if reptiles or even insects had become the humanoid species on planet earth? How might things be different? What would it be like, really, to be move, have the feelings of, and think and react to things as a dromeosaurus, for instance? Or perhaps on another planet, what sort of treasures in life would an efficient species find without relying on the visible spectrum but on senses we had never dreamed of--like not know what things look like, but knowing what things are like such as the beasts in "A Wrinkle In Time." That's me. I love humans, but I'm fascinated with space-faring protoziods, feathered lizards in tropical climates, snow-faring reptiles, super-intelligent non-human civilizations from deep below the ocean, and space-traveling creatures who communicate with vibrations and cilia on their backs to project mental pictures and concepts instead of using language and words, and just about any other kind of life form you could think of (and then everything that you can't).

I believe personally that, by incorporating the perspectives of other possible living beings, we can broaden our perspective of the world. Animals, E.T., and everything that possesses at least some form of intelligence or has experiences, don't think and communicate parallel to humans like they seem to do in Star Trek or talking dog movies (not that there's anything wrong with Star Trek or such movies. I love Star Trek). It's just that in reality, thoughts and feelings and experiences are much more diverse and this makes the whole universe a much more interesting place. Humans are great, but our kind of intelligence is not the only kind of intelligence. Our kind of experiences are not the only kind of experiences. True, humanity is all we know, and it's probably all we can ever experience and relate to for ourselves, but I can't help but wonder what else is out there...not that I'd necessarily want to try everything if I could become one, but I just live in this pool of curiosity.

Um...where was I? Oh, yeah. Went off on a tangent there.

As far as all the above applies to robotics, building robots that resemble humans is fine and wonderful! But think of all the kinds of mechanical creatures we create all the time--and all the mechanical creatures we could create--that can do all kinds of things humans can't do for all kinds of different environments and purposes. Robots that explore other planets, robots that creep through tight places, robots that hop on one leg, robots that fly, robots that see 360 degrees around them, robots that...well, anything!

Whew...so, yeah, I may have gotten a little excited there. But curiosity is how we explore new ideas for different things, after all.
Title: Re: Robot leg calculations?
Post by: sarendt on February 13, 2011, 05:30:28 AM
I appreciate your curiosity SeagullOne, we can certainly share what we learn with everyone so that every sort of imaginable motion can be created :*)

I think we need to create a better system of design first though.  How do we know if what we design will work if its just a drawing on paper or a computer screen.  I could work some magic in Solidworks and create a wonderful mess of servo's and wires that might not have the strength to hold up the batteries it needs to walk more than a few steps. 

If anyone has an idea about that, please chime in :*)

In other news, i was able to move my AX-12 the other day, so I am working towards being able to model those servo's soon.  I'm really curious if they have a linear current to torque draw!

Cheers,
Scott