Links to stuff on this blog

Use the Site Index of Projects page link above for an easier way to find stuff on my blog that you might be looking for!

Tuesday, August 25, 2009

Stability problem solved...

After thinking a bit about the Stability Issues with the robotic leg I decided to do some more experiments and try to reproduce it at various angles and orientations of the leg mechanism. I Rotated and Extended the leg to get it into a position that was causing a great deal of instability then held it in my hand. I tried rotating it upside down while poking it with my finger to get it to resonate and shake. It seemed to do that in all orientations and positions... so I get the feeling that it isn't just the balance issue although that is part of it. While moving it around  I noticed that applying some pressure on one of the servos, essentially fighting the motor caused some jitter in the other one. This had to be a power supply issue so I put my oscilloscope on the power then signal wires and could  see the jitter in not only the servo position command signal but in the power supply as well.... Looks like the little Futaba servos pull a lot of current and are messing with the control circuit I built. To isolate the problem I separated the power supply wires for the motors and the control circuit and then powered the control circuit from my home made triple output bench top power supply.
That seems to have fixed the servo jitter problem for the most part! There is still some instability but that appears to be related to the servos and inherent in their design (still learning about these) I should have run a dual supply from the beginning but I'm thinking long term as in a mobile Robot device that would only have one power supply for everything. Although I am reconsidering that now at this point!
In summary I believe that what was going on is a combination of several things:  1) The servos are a bit jittery due to their design and low cost  2) The natural resonating frequency of the leg is near the 'jitter frequency' 3) The single power supply and the common wiring was injecting noise into the control circuit  4) The noise caused the servos to jitter and oscillate more 5) Because of number 1 and 2 above the entire system was feeding back on itself 5) Certain orientations and balance exacerbated the problem.
I'm going to test for that and be sure that the leg will function in all orientations then add the Turn servo to the mechanism.

Monday, August 24, 2009

Leg Prototypes 1 and 2 along with a Servo Exerciser, Power Supply

This is basically the first post documenting the design, construction and testing of a robotic leg mechanism that will (someday) be used in a home made robot. I have been messing around with the idea of building a robot using servo motors commonly used in RC boats and airplanes etc... I am using Futaba S3004 servos and fabricating linkages and bearings out of plastic and some RC ball joints. The idea here is that 4 legs can be built using 3 servos in each leg. These could be mounted to a square base with one in each corner and made to walk etc... using a small single board computer like a Basic stamp or something similar.

Before starting on the base or getting a processor board I decided to pick up a few servos and figure out if the legs would even work. Below is what I have been doing in the leg design so this post is kind of a catch up to where I am today. I'll post CAD files of a finished design once I work out all the bugs.

In each leg one servo will lower the leg in what I am calling a Rotate move. Another servo to extend the leg using a linkage mechanism - an Extend move and eventually a third to turn the leg in a Turn move. Because I started this blog a few days after I started constructing the legs this post will lay out some of the previous work. I have no experience with these types of servos so I am learning about their characteristics.






I built one leg prototype without the Turn servo just to test the linkage mechanism. The picture shows the leg lowered about 45deg. with a Rotate move. The extend linkage is out about half way as well. The total travel with these servos is 180deg. In this design the Rotate servo is held stationary and the Extend servo moves with the linkage in a Rotation. In this way the total mass being moved in a Rotation is the leg mechanism and the Extend servo combined. The center of gravity in this design made it a bit lopsided in the Rotate move as the center of gravity moved over the Rotate axis. The Rotate servo oscillated as the leg went 'downhill' and had gravity helping it. It was stable in the other direction.


Last night and this evening I finished assembling the second leg prototype. I tested it and it exhibits some of the same issues as prto #1 did with stability in the Rotational move. In this design I put both the Rotational servo and the Extend servo in the linkage mechanism. In this way both servo motors and the leg linkage move when a Rotational motion is done. This design is balanced when the mechanism is horizontal as shown in the picture. (Prototype 1 is on the left in the picture for comparison, Prototype 2 on the right) This leg too has some stability issues when it is balanced as shown, the Rotation servo seems to be susceptible to oscillations when touched or poked a bit. Also when the Extend servo is operated and the leg is in this position the motion of the Extend movement can initiate the oscillations.




One thought is that the moment of inertia for both leg prototypes is the about the same and the natural resonating frequency of each mechanism is approximately the same (I'm guesstimating anyway). If this frequency is the same as the internal servo feedback loop that could cause the instability. I experimented with a cantilevered pole attached to one servo on the bench and was able to get it to oscillate by changing the pole length until I found the "sweet spot". In this experiment the axis of rotation was vertical and the pole essentially laying flat and rotating horizontally so gravity/balance wasn't an issue. Another option is to drive the leg mechanism in the Rotation move by using a linkage to connect the Rotation servo to the leg rather than mounting the leg directly to the servo. The linkage will take the mass of the leg off the servo head couple it to the servo through the linkage so the reflected inertia of the leg mass back to the servo can be 'set' by changing the linkage arm length. If I build and test the linkage approach I'll post a picture to explain it better.


Before building the legs I built a small servo control box. You can see it in the picture above, it's the silver metal box behind Prototype 2 with three knobs on it. This box controls up to three servos, turning the knob causes the servo to turn by the same amount. (Because the servo motors only turn 180deg the knobs don't turn all the way around) The schematic is a hand scribbled mess but what I built from it works. There are a billion different schematics on the web showing similar circuits but I built mine mostly using parts I had laying around the garage. There is nothing new or interesting about the circuit but I put a copy here in case it stops working and I can't find the paper I scribbled it on!!!

Sunday, August 23, 2009

A recent lathe project

Here is a bowl that I made awhile ago as a gift for a friend. It is made of laminated bamboo and other misc. hardwood. Pieces were cut on a bandsaw, glued than turned.
I cut some of the interior hollow out before gluing it to make it a bit easier to form the interior. 
You can see the hole between the clamps.
Finished I polished it with wax and sealed it with varnish, light sanding etc...
This is the Home Made Wood Lathe that I designed and turned this bowl on. Check out my post that describes building the Home Made Wood Lathe!!

Second Leg Prototype

Worked on the second leg prototype this evening