Thursday, December 11, 2014

Officially official part II: Building Rome

While this project could have been lasercut and 3D printed, the consensus here at Snooter Magruder is that we would "do it live." This decision was made in the interest of time management and the nature of the materials used. All of the fabrication was performed with powertools and hand tools. No raw construction material was purchased for the sole purpose of constructing the most awesome robot ever. The arm is made of Kydex, a thermoplastic used for sheaths and holsters. The joints are the centers of DVD cases. The claw is made of plastic spoons that were heated and melted to shape. The housing unit is an electrical junction box from Lowe's. The foam inside the junction box that cushions the circuit boards was taken from a flashlight gift display packaging. The chassis is part of an erector set that was built specifically for the chassis gearboxes, which themselves were ripped form an RC toy car. The color sensor housing is a film canister and a Keurig K-cup. The basic design (and many liberties were taken) was from the blog of jjshortcut, where the SolidWorks files can be found.

It certainly was not built in a day.

Tuesday, December 9, 2014

Officially official (codebits and pulsewidths)

This post will be a bit dry, as it is just the nuts and bolts of the project and how it went together. There are two links here. These are Github pages with all of our code. The first one shows control of all the motors, while the second one deals with sensing all the pretty colors

Underwhelming, right? 

If you must know, we had a bit of help with coding from one of our associates at NASA. Before Josh's assistance, the servos on the arm would follow exactly what the joysticks did, like a marionette. He suggested introducing a static variable and then comparing the joystick input to that. Movement now occurred when the value was greater than or less than the value to be compared to. 

An issue with the Xbox 360 controller is that some of the buttons are not analog. This is quite troublesome when trying to get a constant output, because the input isn't constant. For this reason, the chassis reverse control simply makes both motors spin backwards for one second only. However, this function works really well if you already know the position you want all the servos to go to, like the "cobra strike" position we have mapped to the 'A' button.

The coding for the color sensor is a combination of two Sparkfun sketches (the LCD and the buzzer), and the original color sensing code from fjordcarver. All of the 12 colors plus black and while had to be determined using a color wheel and then coded into the sketch. It works, I promise.


Friday, December 5, 2014

Kings of Wishful Thinking

Well, the prototyping competition has come and gone. I'm not going to point any fingers, but the tallest member of our group broke the color sensor (either in soldering or in transport), rendering the sensor nonfunctional. It appears that the resistor set-up prevented the arduino from discriminating voltages, and thus, identifying colors. So, we're going to take the robot back to the shop to see if we can iron out any kinks before the Sullivan Science Colloquium on the 12th. Unfortunately, this may include removing the sensor from being mounted on the chassis and placing it as a stand-alone box.

Monday, December 1, 2014

The best is yet to come

The arm is looking quite industrious now. Now all that needs completing is the claw (or the shovel, as it's going to be) and putting the wheels on the chassis. After everything is neatly stuffed inside the chassis, the final motion test and wiring can begin. No video this time, so no music. I know you're heartbroken, but the best is yet to come. Here are some pictures from assembly last night.





Friday, November 28, 2014

Everything but the kitchen sink

Barring any further technical difficulties, I think the programming is completed for motion control. The code will need to be updated for all servos and possibly for efficiency. You'll notice the motor pulsing at the end; this may just be a power issue. The Xbox controller may restart on low power, so the chassis motors will have to be powered separately. Three battery packs! Have you ever heard of such a thing?

Wednesday, November 26, 2014

Sex Machine

In a shocking turn of events, I've learned to hold the cameraphone sideways to capture more material with a better perspective. Control of 4 motors like this should give us 3 axes of movement. All that needs to be done is to assign the motors to an input, and possible solve the issue of snapback. Since this is being controlled in pulse-width modulation, there doesn't seem to be an evident way to move the arm without having it return to its primary position.


Forward to destiny

Initial programming of the chassis motors is slightly successful. The motors don't work as well in reverse, simply because the signal is not repeated like the forward motion signal. This may get changed in the future to a backing up on/off switch.