PDA

View Full Version : Biped IK?

ArduTank
06-24-2013, 11:18 AM
Would it be possible to do IK on a 3 DoF biped's legs??

escott76
06-24-2013, 11:33 AM
By "Do IK" do you mean compute the joint angles based on the position of the end effector, then yes of course. Will this alone result in a walking robot, maybe not so much. There is more to making a biped walk than putting it's feet where you think you are putting them.

ArduTank
06-24-2013, 11:40 AM
I'm thinking of doing a PLM design on the legs with one of the DoF being a hip rotate servo per leg.

tician
06-24-2013, 02:20 PM
It is absolutely possible to do FK/IK on a 3-DOF biped, but finding a feasible and stable path for each link/joint is not always so easy. The more DOF you add, the more solutions there are, but not all solutions are created equal (lots really suck - unreasonably large joint torque). The default walking engine of the DARwIn-OP uses a simplistic coupled oscillator system to produce the desired foot and torso positions that are then passed to an IK engine to calculate all relevant joint angles (assumes a perfectly flat world with no external forces other than a perfectly vertical force due to gravity).

Most really advanced biped walking control methods fall into two different categories: one is based on a very accurate dynamic model of the entire robot and being damn certain that the joints go where they are supposed to when they are supposed to, and the other being a simplified dynamic model with lots of sensory feedback.

The first often involves calculating the Zero Moment Point and ensuring that it is within the support polygon of the feet at all times. This can be very computationally intensive depending on the complexity of the robot, but usually works well on flat surfaces and without external interference (kicking, tripping, etc.).

The second usually models the robot as a (relatively) simple inverted pendulum with inertial sensors in the head/torso, and preferably with torque sensors in each joint and force/pressure sensors in the feet to determine the center point of contact pressure. The inverted pendulum is a bit simpler computationally, but still not great. Large external forces can rarely be accommodated without foot repositioning algorithms to ensure the bot does not fall over.

There is a hell of a lot of literature on the topic and I'm still scrounging for more (my thesis topic seems to keep veering further away from gesture recognition and more towards a somewhat arbitrary 'character'-based walking engine for the DARwIn-OP). It is simultaneously awe-inspiring and damn irritating how easily nature produced so many forms of locomotion with such effective control systems.

ArduTank
06-24-2013, 03:47 PM
Oh, okay, so it's quite complex. I don't think I'll get feedback from hobby servos very well.

escott76
06-24-2013, 04:37 PM
Yes, quite complex. Some people use pose based gaits to get a biped walking, but can take a long time to get right. A long time ago I had a 3DOF biped I built with hobby servos that I had very crudely walking with a series of poses. I wrote a VB app to function similar to pypose (without the torque off capture stuff) so I could move sliders to get where I wanted, then snapshot the pose and string them together. What I would have given for a dynamixel then...
If you are planning on strapping mech warefare gear to this, I'd rethink that. The servos you have are not going to get better dealing with fewer legs. A biped is going to have the entire weight of the robot on the 1 leg on the ground, as opposed to the 3 or 5 possible with either a quad or hex. By all means try to build it for the experience, but payload capacity is simply not going to be there.

ArduTank
06-24-2013, 04:58 PM
I may go back to a quad design, it depends on my budget right now.

DresnerRobotics
07-08-2013, 01:05 PM
MX-28s are essentially the bare minimum servo requirements for a MW capable biped.

darkback2
07-08-2013, 03:43 PM
Biped Mech...

From a person who has been down that road, probably say don't bother. It is possible. Others have successfully done it, but the most likely result is that you will be sitting on the side lines watching all of the quads have a good time, or you will compete, loose early and sit on the sidelines and watch the quads have a good time. :-)

This is of course just my opinion, but here is what it is based on.

Weight. Mechs are heavy. Heavy robots require strong servos and unless your servos are using some sort of mechanically advantaged setup then they need to rest in order to cool. With a quad you can just "body bump" or relax the legs for a few seconds periodically and rest the frame on the ground. With a biped it is unlikely that you will have that luxury.

Cost. The weight issue also means stronger more expensive servos. Sure bipeds run around all the time doing Kungfu, but they don't have to carry guns and target systems and camera/transmitters. Now the 5.8 ghz cameras help out a lot with this, but even the BBs weigh a lot when you have a few hundred on the robot. A couple really clever builders have gotten away with using interesting leg designs that qualify as bipeds...Overlapping feet and the like. 4 MX-64s for example or 3 MX-28s (Twitch mech, was actually competing as a hex/quad because no one knew how to classify it... used mx 28s, though a 64 for the center servo would probably have been better.) HD 2 is a great example...Awesome Bot BTW.

Speed. Getting around the arena is difficult for any robot, and the difficulty is exasserbated by having to balance on two legs. all of the IK in the world does you no good if your foot is tilted because there is a BB trapped under it. All of the biped builders have had to go to great lengths to design feet that minimized the effect of BBs. The added difficulties mean you have to slow down your robot's walking speed in order to maintain stability. The arena it really big. 16 feet on a side I think...No one wants to wait around for a biped to slowly make his way around looking for his or her opponent, and you probably won't be able to pass inspection which requires you to walk all the way around the outside of the arena shooting target panels as you go. (this may have changed...)

Quads on the other hand are cheaper, faster, and have more options for target panel/gun mounting...

Hope this helps.

DB

ArduTank
07-09-2013, 10:43 PM
Main reason I was asking was because I have 7 HS-311 servos to work with, and a very small budget to get any more with. ( I'm kinda tied up in a computer build right now)

jwatte
07-09-2013, 11:03 PM
I have 7 HS-311 servos

I would look at TwitchMX (3-servo walker) and try to copy that design, but smaller/lighter weight. Three servos for walking; two for pan/tilt. Your main challenge will be weight, as the HS-311 really isn't that strong. This will mainly matter for the center, "leg lifting" servo.

ArduTank
07-10-2013, 11:05 AM
I could try doubling them up in the center. It would also lower the number of pivot points I have to make by one.

sarendt
07-15-2013, 11:04 AM
There is a hell of a lot of literature on the topic and I'm still scrounging for more

Can you share any of this in reference to option 2? If any of it is in good english that would be a bonus as well.

Thanks,
Scott

tician
07-15-2013, 04:46 PM
I have access to several IEEE conference DVDs, so lots of stuff that is usually stuck behind a paywall. The most useful at the moment is the ICHR2010 (International Conference on Humanoid Robotics 2010), but there are probably many more on google scholar that might be accessible without lots of cash. Far too many still unread at the moment to really make any specific recommendations. Some combination of "humanoid", "inverted pendulum", "stabilization", "push recovery", etc. should result in a decent start.

sarendt
07-17-2013, 09:01 AM
Thanks Tician!! You rock :-)

Cheers,
Scott