Tuesday, August 30, 2005

The Twins Are Up

the twins
Keith Rowell Design

Twins yes, however not identical. 2.0 is stronger heavier and not yet completely assembled. (that's 2.0 on the right) I managed to get a test fit of all the physical parts togeather this week, as well as solder the foot sensor boards togeather and route the wiring. I've used different linkages on 2.0 as well. Only time will tell if they're an improvement.

front quarter
Keith Rowell Design

There's a good bit more bulk on this one, making 1.0 look "svelt" by comparison. The foot sensors and the belly motor are the giveaway.

Keith Rowell Design

The sensors use two 4 wire ribbon cables. With that and the seven servo motors, the body cavity is filled with connectors.

rear quarter
Keith Rowell Design

The 1050mah battery "back pack" was planned long ago. We have newer lighter 650mah LiPoly cells also to try out. They will fit in the head. The option remains to use either. If you look closely you can see that the upper leg parts on the right leg are transparent. Those are poly carbonate while the left leg is aluminum. Which would you prefer?

Thursday, August 25, 2005

Knewt 2.0 under construction

2.0 being assembled
Keith Rowell Design

Parts are comming in every day now. This photo shows the new acrylic body parts from Pololu. These were re-configured to hold larger motors and have gone togeather without a hitch. These are 1/4" and 3/8" parts, (thicker than their usual 1/8") They went the extra step and ran thecutting pass twice to "polish" the edges. They're water clear, and look like crystal. It's almost a shame to drill and tap any holes. Tomorrow the new ball joints and plastic gears arrive. This thing will be togeather in another week.

Wednesday, August 24, 2005

Testing the Parallax Servo Controller

viewing signals
Keith Rowell Design

Our previous controller "The ServoMojo" so kindly donated by BDmicro is nice in that it has super smooth "ramping" that slows the motion at the beginning and end and ramps to a higher speed in between, for any particular movement of a servo. Being a beta tester, it's GUI poser program was an "alpha" Linux code program that we never got to work. Writing motions was a slow and tedious task, smooth though they were.

We decided to test out the Parallax Servo Controller because it has a slick GUI poser, is USB, and fairly cheap. There's caveats here as well though. The Parallax program PSCI is vague on many issues and it was necessary to view the signals to decipher what was actually going on.

ascii and PWM
Keith Rowell Design

One line is the ascii command read from the serial data line. The other is the PWM sent on the servo's signal line. Using this method we verified that the files we made with PSCI were what we intended. (they aren't viewable as text, nor are they hand modifiable with a text editor because they're encryped.) Bob has modified his ServoMojo code to transmit ascii instead of hex. And we can use this to send commands to the Parallax board. The PSCI GUI becomes merely a poser to test settings on, then we make text files for the pic to replay those positions.

PSCI screen shot
Keith Rowell Design

The very basic idea is to move the bot into position with the sliders, save, and repeat.

You don't get what you might expect each time however, and the documentation doesn't answer very many questions.

After some investigation we learned, for instance, that the "goto" command works "befrore the current frame" so it's best to use it in a subsequent frame with nothing in it. Nice to know if you spent a while posing the thing.

There's a feature that will copy the contents of the current frame to the next frame. This happens automatically, "under certain conditions". I've not yet deciphered what those conditions are! So frequently I go on to the next frame and all the motors reset to 1500 (neutral). When this feature works, you can change the value of one motor, and you get a simple change from one state to another. When it doesn't work, you have to reset all the motors manually from the values in the previous frame. Writing them down in a notebook is handy when doing this. You see my point.

Choosing a delay value is the next issue. The delay is recognized in any frame, if any motor that changed values in that frame has a delay value. The delay will allow motions in that frame to complete without truncating the motion before the next frame starts. There is no way to determine before hand if your motion will finnish however except to try it. Parallax couldn't answer the question, "how do you calculate the delay value based on the speed setting, and distance travelled? So it's still a long trial and error process to make motions. But it does move faster than our previous hand coding of text files, somewhat.

In the future we'll work on a more dynamic motion solver that takes input from gyros and accelerometers.

Proximity Sensors

4 prox dots proximity sensors being populated
Keith Rowell Design

I chose ProxDots for proximity detection for their size and weight. Here Bob Baxter is soldering the surface mount resistors and diodes and such. You can just about make out the 4 small circuit boards through the magnifying glass. These small sensors have a range of only about 4 - 6 inches. That's plenty for the Seattle "Walking Race".

robot surgery

You solder one end down then the other, a drop of solder on the part or the iron or both is enough.

did I mention that this stuff is small?

This is a weak camera but you get the idea. All the parts were that small.

quite small

Dont sneeze!

I think this one went in my shoe laces

We spent a few episodes crawling around on the floor looking for something the size of "a chip of rice, a bread crumb, no that's a nick in the floor, I can't pick it up, ok now I got it, where'd it go?"


The LED light means success !
All 4 sensors assembled. That was fun!