Sunday, November 1, 2009

Ghetto Delta Robot

I started building a delta robot a few days ago with the intention of using it as a starting point for a more complex robot down the line. Life has progressively gotten in the way, but I wanted to share my status partly in hopes that it will push me to continue making progress, and also maybe to inspire someone else.

First off, I’m using an Arduino to control the servos. The actual calculations are done in Processing on the PC, and sent over to the Arduino through serial as a set of angles for the servos to hit. Eventually, I’d prefer to send more basic commands (X, Y, and Z) over the serial and have the Arduino do the math to calculate the required angles.

As part of my self-imposed limitations, I’ve decided to keep costs as low as possible, since eventually I will be building 4 more of these to finish out the prototype ground soldier for my future robot army.

SNC00180SNC00185

SNC00182SNC00184

So far I have the servos, Arduino, custom interface board, and wiring in place. The servos are mounted around the perimeter of a CD. I was looking for something rigid, light, and about 5” diameter. It turns out a CD works perfectly, and at a cost of about $.40, it fits into my cheap critera as well.

SNC00189 SNC00192

I’m working out the armature so that I can keep the whole thing light but strong. I’ve gone with 5/64” aluminum wire. This can easily be obtained from (of all sources) ordinary wire coat hangers. This stuff is flexible enough to be easy to work with, but at lengths less than 7” it is strong enough to hold shape against most reasonable stresses. I bent the wire with 3x90deg angles to form a sort of hook, then using a drill I widened the holes in the servo arms to accept the wire. This holds it well enough, but to make sure it didn’t flex laterally while in use, I added small zip-ties to add a little extra security.

Next up I hope to finish the arms, and mount a small plate at the top that will support a stepper motor, worm gear, and some sort of rubber tire.

So far, with the servos and Arduino, my total costs for this project are right around $75. If you got the same (or slightly better) servos online instead of Hobbytown, this could easily be put closer to the $50 mark. I already had the CD, coat hangers, hot glue, wires, solder board, and the various other pieces I needed. I expect to finish this project for less than $100.

I’ll post more as I have time to make progress.

Thursday, October 29, 2009

Blindspot Sensor Work II

New parts! I got two new sensors that are supposed to have a 6.25 m range. I've got two sensors working at the same time. There's some instability in the measurements, but I think that might be a function of driving the Arduino board off the USB cable. It also prevented me from testing the sensors and motor together.



 Brad also came through with an Arduino motor shield, but I'm not quite ready to start soldering to the board. I'm found some Arduino 6 and 8 pin spacers, so I'm going to wait for those to show up before getting started on driving the 2 motors.

I've also started reworking the notification logic. We started with a constant notification logic. Whenever something was in range of the sensor, we would drive the motor. We then increased the motor speed with proximity. This didn't work well in practice. The motor wasn't big enough to give good gradation over the range, and the always on quickly became annoying. It stopped being information.

The new logic plan is to have 3 zones: near, medium, far (and technically a fourth -- out of range). Each zone will have an initial notification pulse, and then a delay. Basically, if an object remains in the same zone or moves to a further zone, we will skip a couple of notification cycles. I didn't get very far on thtat. That's this weekend's project.

Sunday, October 25, 2009

Test Drive I

After driving around a little bit today, I have the following observations:
  1. It WORKS!!!
  2. 3m is not long enough range to give enough warning to do anything. I am looking into some 6.5m sensors with a wider range.
  3. We probably need bigger motor. The signal can get lost in the vibration of the car, especially at the outside edge of the range. 
  4. I'm not sure our test lumbar is going to allow us to differentiate between left-side and right-side inputs. We can certainly put 2 motors in there, but I don't know that the signal will be distinct because it is essentially all 1 foam piece that gets jiggled.
So, not a bad test run. I'm going to get on Sparkfun and see about ordering new parts.

Haptic Blindspot Sensor I

Brad took my idea of a haptic blindspot sensor for the car and started to run with it a couple of weeks ago. Using an Arduino Duemilanove controller board, an ultrasonic sensor with a 3m range, and a little variable speed motor, we were able to prove that we had enough hardware on hand to put together a prototype.

Last night, Brad and I spent about 5 hours working on the first prototype. Brad wired up a car lighter adapter to power the thing. We used 4 wire telephone cable and audio jacks to modularize the 3 parts (sensor, controller/power, and motor). Some parts weren't pretty. (There's probably a better way of cutting the prototype boxes than using a Dremel.) However, we persevered and got something built.






This morning I went by Walmart and found a massaging lumbar support with 3 massage points for about $20. I ripped out one of their motors, put our motor in the housing, and tested. Everything worked.

After that, it was a simple matter of mounting the sensor to under the left rear bumper using some double sided tape. I was able to run the cable behind the bumper. My car happens to have an electrical housing that goes out through the spare tire well. I was able to plug in to an outlet in my cargo space. Everything sits in one of the floor storage compartments.







Now for the first drive!