Jan 17, 2010

Quadruped Robots

Walking robots have always seemed fascinating to me. There's something amazing about a robot walking like a real person or animal. That said, I've never actually built a walking robot of my own. I tried a couple times when the RIS was around, but didn't succeed. However, recently I've been thinking about how to make a quadruped robot using the TETRIX system with the NXT to get a larger and more powerful robot that could be capable of navigating the outdoors. Right now I don't have enough TETRIX materials to build one (they're pretty expensive), but I'm hoping to get them sometime in the near future.

It's amazing how complex walking motion is! I may be wrong about this (I certainly can't prove that I'm right), but it seems to me that a quadruped needs at least 12 motorized joints to achieve full animal-like walking capabilities. Now, I know that many people have found great ways to achieve quadrupedal walking motion with much fewer motors, but I think these robots have limitations that prevent true animal-like motion. One possible setup of motorized joints in a quadruped could be eight "shoulder" joints and four "elbow" joints, as in the following figure:
The type 1 shoulder joints and elbow joints are, of course, for lifting, extending, and lowering the feet during steps. The need for the type 2 shoulder joints is a bit more subtle. Take a look at an above view of a quadruped, showing its center of gravity (COG):
The square formed by the feet represents the "support zone" of the robot. As long as the COG is within this zone, the robot should stay balanced. The closer the COG is to the center of the zone, the more stable the robot will be. Therefore, the current pose is a very stable one. Now, if we lift the front-right foot up to start taking a step, look at the position of the COG relative to the new support zone (the triangle) formed by the remaining three feet:
Now the COG is right on the edge of the support zone. This means the robot is just on the verge of tipping over, and is very unstable. In order to fix this problem, we need a way to shift the COG inside the triangular zone. One way of doing this is to use the type 2 shoulder joints to side-shift the robot away from the foot being lifted. Although there are other ways to shift the center of gravity that use less than four motors, the type 2 shoulder joints would also enable the robot to realistically turn and do other animal-like motions.

One amazing example of an animal-like quadruped is the "Big Dog" by Boston Dynamics. You can see a video of it here.

-Jonathan

6 comments:

Shep said...

I have thought hard about this one for a long time too. I have 4 NXTs, so I have 12 servos, but I would consider throwing in some PF motors too. They are lighter and just as powerful, but lack the control. But not all functions require complete control.

One major drawback of using 12 motors is that you will have to use 4 NXTs and that is very heavy, unless someone comes up with the illusive Servo Motor Multiplexer. Using 4 NXTs is very complicated and heavy; I speak from experience. My current project has 4 in it. (www.tinkernology.blogspot.com)

The HiTechnic Accel sensor could be used to help control the COG. As the bot tips, something could move a weight to regain stability.

This would be a great team project. Let me know when we'll get started!

Jonathan Daudelin said...

Good point... that's the main reason why I want to build a quadroped with the TETRIX system. With TETRIX, a single NXT brick can control a MUCH larger number of motors, provided you have external battery packs for them. For example, one NXT sensor port could control four DC motors and twelve servo motors! The big metal building pieces would also allow for a strong, larger design that could handle outdoor terrain.

-Jonathan

Tim said...

I never could build a walking robot of my own design. At least I can build Alpha Rex V1. (Thanks to the instructions...)

It's great that that robot could balance on ice and go through snow, but having snow inside servo casings...slipping on ice and damaging one of the main supports...yeah, I'm not going to risk that sort of thing in my robots. Before I do anything potentially harmful to my robot, I'd like to do some small-scale tests, and possibly a simulation or two.

Pe-ads said...

Interesting stuff, Jonathan. TETRIX seems more suited to it.

One minor niggle: Shouldn't 'quadroped' be 'quadruped'?

Jonathan Daudelin said...

Woops... thanks Pe-ads. Fixed it.

-Jonathan

Tim said...

I didn't know you could do that. You would think that would be impossible on the net. You can do that on your computer, apparently on line, but no on your homework or midterms. Spell-check helps, and Firefox web browser has corrected me several times within this comment alone. Hooray for spell-check (and your local compiler...most of the time. There's also that lovely "File Error" that you get on the NXT and have to guess how to fix).

...as for the design, you may want to try Tetrix, or Mindsensors...8 servos per controller, plus multiple controllers per sensor port...OK, now I want a servo multiplexer...

Related Posts Plugin for WordPress, Blogger...