28 December 2012

I've been home for winter break, weary from the end of my fifth semester at MIT (I managed to maintain a 4.5 GPA!), and staying up in the odd hours of the night and relaxing... by working on TinyArm.

Before I went home for winter break, I decided to drop by MITERS to pick up TinyArm, among other things. I hadn't really worked on it since the beginning of the school year, where the last breakthrough was getting it to move around using hard-coded step waypoints in the firmware. I tried for many, many nights to get "zee USB" working... to no avail. Now that I was home, I decided to do a few things. I wanted to model TinyArm, to figure out its dimensions and true limits before I started working out the kinematics/inverse kinematics. I also wanted the model because I wanted to test out the Solidworks-To-URDF Exporter (Now that I had a 64-bit computer). I also wanted to finally get my computer talking to the control board, even if it meant not using the USB protocol directly.

I first grabbed my trusty calipers and began modelling the manipulator in Solidworks from scratch. Luckily, every single dimension on the thing is a proper Imperial value. Some lengths were 8.0 inches, some were 2.5, some were 6.375, but they all had some very nice number. Here you can see the final model I made.

And here's a closeup. The most important dimensions are there, though I may eventually add the cables, gearing, and motors. The gripper even closes the way it's supposed to! Too bad the URDF exporter never worked. Even with only the base links and the shoulder link selected, it was not able to identify the points or axes for each joint. Oh well, I may just make myself a custom URDF anyway.

Next, I decided to start getting my board talking. After another few minutes screwing around with USB (At some point this semester I once managed to get the board to show up as a USB device on my computer... once. ) I decided to switch to Serial.I looked into using serial USART communication, and found out the two pins I routed for D+ and D- in USB are the same as RX and TX for one of the serial ports built into the atxmega16a4u chip on TinyArmTroller.

With this setup, and with the help of some example code I found online (which actually exists, UNLIKE F***ING USB) I was able to get it listening and talking! A few more hours of coding and I could send it six step (FROM MY COMPUTER!!) values as a waypoint (OVER SOME WIRES! :D).

I then took some time to re-calculate my estimated mapping of Angle to Steps, by moving each DOF to ~0 degrees, then to ~90 degrees, and seeing what step values took me there. Turns out, these numbers were very clean ones. For example, for the shoulder joint, -500 steps was 90 degrees, and -1400 steps was 0 degrees, leading the angle-to-step conversion to be :

(theta-140)*10 = #steps

The other DOFs followed similar patterns, and soon enough I was typing in a set of angles into the Python command line, and the arm was complying to my will! MUHUHAHAH! :D

Vid again:

Now, what does the future hold for my wonderful TinyArm? I need to solve the inverse kinematics, meaning I need to solve for some functions that will tell me "what angles do I need to command in order to get to a certain X,Y,Z,theta?". With that, I can place some blocks in stacks in front of it and have it rearrange them, or something. I can make it grab a pencil and start moving along the ground plane, tracking my mouse movements. When I click, the robot moves the pencil down, and I can write things with the arm. I can attach it to TurtleBot and use it as a manipulator arm to go get me sodas or something, because it could pick up upwards of 2 lbs. (4 lbs according to the Microbot website...)I can attach it to the underside of a quadrotor...

Some friends of mine from MITERS have started something pretty cool, an open-source company for providing mini musical Tesla coils for the masses. I'm probably going to purchase a kit and make one. Highschool physics classes, or even college Electricity and Magnetism classes would love to have these. Or even musicians because of its bright, pure tone. Congrats, oneTesla, for being the first Kickstarter project that I've ever donated to :D

Here's an old demo of it at MakerFaire NYC. It's matured significantly since then.

26 December 2012

MEETERS stands for MITERS End of Every Term Electronics Research Showcase, and it is a Research Showcase that happens at MITERS at the End of Every Term! :p

See, at the End of Every Term people are finishing up semester work and studying for finals. Like me, who probably drank more Mountain Dew in a month than anyone should in a year. People are sick of it, people need a break. Especially MITERS people, who after doing so much schoolwork their personal projects get drowned in their minds wonder to themselves "WTF did I do this semester at MITERS?!?"

Which is why we have MEETERS, so we can show off the things we did do this semester at MITERS. Because odds are, we did a lot. Even though we don't think we did. My progress with MelonChopper seems so much more Legit when Charles Guan and a few others want to be pushed around on it!

See how freakin' HAPPY he is?! I can't wait to get a motor on this thing..

It's a hat that plays the Nyancat song and has a Nyancat with blinkity lights spinning around it. He wore it to a Halloween party this year. And it's adorable.

And there's a video!

Here you can see Shane's massive Dual-Resonant Solid State Tesla Coil, Dane's giant water-cooled 3-phase motor controller and driver (Which I think can easily drive a Tesla Roadster motor...), a quadrotor (Not sure if it's Nick Kirkby's or Banks Hunter's...) And other things. Cool stuff, yo. Here's to another project-filled New Year =]

23 December 2012

I got a new toy! A Lenovo Thinkpad W530! 8GB RAM, NVidea K2000m dedicated graphics, an Intel core i7 vPro, yeah. Lenovo was having a massive Cyber Monday sale and I managed to pick this up for like 1500$ LESS than what it would have cost normally.

I like Lenovo products because of a few key features that make it stand out:

First is the Trackpoint/Trackstick/Nub/Nipple/Clit mouse, the red thing in the middle. I grew up on it, and I cannot live without it. I pretty much never use the touchpad, except for multitouch scrolling and zooming Mac OS style. Dell and HP business laptops have Trackpoints too, but the hardware/software is not tuned the same, it feels cheap.

Second is the construction and hardware. Lenovo screen hinges are consistently the strongest I've seen on any laptop, period. The matte black finish is sexy-yet-mature looking, and leaves plenty of room for nerdy stickers. I already have a OneTesla sticker on the back of mine. Here's my outbound laptop, the T410, which has built up quite a collection of stickers through these years:

A Lenovo product is always built like a tank, so if I do drop it I don't feel quite as bad. The hard drive and its control hardware have a built-in accelerometer that automatically pauses whatever operation it was doing if it detects movement that could damage it. One of the primary causes of hard drive failure is moving the laptop around, especially rotating it, while the disk is moving, and this mitigates much of that.

It runs the Crysis demo on Very High graphics settings! (at about 15 FPS, barely playable) I can play it comfortably on High graphics, which still looks really nice.

But gaming is not why I chose this laptop.

MelonChopper: Before...

MelonChopper: AFTER

Better and faster CAD is why I got this laptop! JUST LOOK AT THAT DETAIL! Before, I couldn't even run RealView graphics in Solidworks, and decently large assemblies were slow to move around, but NOW...

Now everything just looks phenomenal. AND it's fast as hell. The above image is realtime, NOT a render.

"What's for dinner, Mom? OH SHIT IS THAT MY GOKART!?"

With edges turned on (the default), it kinda looks cartoony and Cel-shaded.

Rendering with PhotoView360 doesn't take forever anymore, though things tend to come out looking less realistic than in regular assemblies with RealView turned on.

What do you think?

And now, time for a shameless Before and After show!

Cruscooter: Before

Cruscooter: AFTER!

It looks a little better in this lighting.

Woah... reflections

Moar Glam shots.

Even Moar Glam Shots.

Now for some small reason, a PhotoView360 rendering with caustics turned down produced this ugly thing. Apparently caustics are directly proportional to "realism".

Here's something I worked on at my job this summer, a gearbox for a scooter. It was pretty much impossible to view on my old laptop, with the chain all modeled and such. Here, no problem. The main aluminum covering is made transparent so you can see the chains and sprockets inside...

*Nerdgasm*

Here it is with the main cover hidden. LOOK AT THAT SHADING. THAT DETAIL. *SQUEEE*

17 December 2012

Doesn't this thing look intimidating? Like it wants to hurt you?Muhuhaha!

Here's how it happened:

The rear wheel assembly Bayley found on Ebay for like hella cheap came in! The 55-tooth sprocket pictured here is easily detachable and replaceable. Which is good. Because 100MPH is bad :c

Also here is the band brake it comes with, same design as the one on Cruscooter. It's larger, 90mm Diameter, I believe.

I also found this giant hunk of plastic, Delrin I think. It was someone in the Heat and Mass Transfer Laboratory's final project or something, but it was thrown out next to the lab by all the recycling stuff. 0_0 TAKE!

Using a bandsaw and a mill, I made two of these, each of which is an adapter between my steering column and a steering mount.

Here it is mounted.

Steering's (mostly) done! The wheels steer straight and the steering geometry works out just like it did in the CAD.

This is scary, though. For reference, I was sitting in the gokart when i took this picture, the camera right between my legs. In order to steer this thing, you must have this menacing castration device called a steering wheel aimed right at your crotch at all times. I should put a sign on Melonchopper saying "Warning: Cup required to operate this machine. Violations will result in immediate castration."I'll fix this problem later. First, the tire rod adapter slippage: I decided to use my spare face-mount shaft collar to attach to the tire rod adapter that kept slipping whenever I tried to steer, even if it was tightened like hell. I just drilled one .25" hole and fastened them together, which seemed to fix the problem completely. Only steering problems left are: 1. There's not much leverage with the current steering wheel. You need to apply a lot of force to steer. This can be alleviated by using a larger steering wheel, magnifying the torque you apply to the steering column. 2. The steering wheel is SO F**KING CLOSE TO MY CROTCH. WTF. This can be aleviated by moving the steering wheel as far down as possible (shortening the steering column by a couple inches). This doesn't change the steering geometry at all, and gets the steering wheel away from my precious, but moves the steering column axis even lower, requiring a bigger steering wheel to make it still comfortable. I can also move the seat farther back if I wished, though it would be a pain because of my crappy seat adapter design. I also need to make sure I mount and tension my motor perfectly before I even attempt this. But all that is for a latter day MITERS session. Now it was time to finally mount the rear wheel! Except...

The shaft diameter of the axle that came with the rear wheel assembly was NOT 5/8", which is the standard for 10" pneumatic wheels -_-. It was actually 10mm, the same size that comes with the 8" pneumatics on Cruscooter. I could waterjet new plates with holes small enough for the rear axle, which would require time to get waterjet access and bad karma for abusing a waterjet even more.I could drill 10mm holes into this existing plate, which wouldn't be as pretty or as accurate as waterjetting a new plate. I could buy new bearings that would fit in this wheel assembly that would take the 5/8" I already purchased. Would take time+money. I could find parts lying around MITERS and make myself some spacers/bushings that would stay in place during operation. I went with this option, because I love using lathes and I WANT MELONCHOPPER ROLLING RIGHT NAO.

I found myself a rather... interesting looking piece of Aluminum scrap. This was 3/4" diameter, which I could use to make the flange of my bushing/spacer/thingies. (The term bushing presupposes the shaft it supports will be rotating about it, which is not the case. So these are flanged spacer/thingies.)

Ahh MegaLathe, my favorite lathe on campus. It's simple. It's robust. It doesn't have a digital readout. It spins beautifully. It can take a freakin' beating. It is in the MIT FSAE/Solar Electric Vehicle Club shop, located a skip and a jump from MITERS. Some groveling and agreeing to clean up more scrap metal than I generated landed me some time on this baby.

And away we go!

One out of two down. Thanks to my darling friend and the team manager for FSAE Natalie Dostie for providing her hand modelling services :D

And... they fit! And I realize i need to tighten the 8020 fasteners BEFORE I mount the wheel. Derp. Another case of Things Dan Didn't Think About When He CAD'ed.

A thing Dan DID think of when he CAD'ed was that the band brake assembly needed somewhere to grab onto, otherwise it would do all kinds of crazy things during operation/braking. And that's just what this lone 8020 fastener does for me.

Now I needed to determine where my rear wheel mount plates should be fastened in order to ensure the rear wheel didn't interfere with...anything. I brought it as far back as I could, to within a quarter-inch of the 8020 butt-piece.

I measured and copied down the distance between the plates part right here, so I could remove the wheel, position both plates and fasten them securely.

Cool, 3/4".

To ensure the two sides lined up, I fastened one end, attached the rear axle to line the sides up, and fastened the other end. Measuring both sides, they were accurately placed.

Now the rear wheel's mounted! :D meaning...

ROLLING FRAME! ROLLING FRAME!

Upon placing my rear end upon the tractor seat for the first time, I realized a fundamental flaw in my design: THIS THING DEFLECTED LIKE HELL. Like REALLY. I sat down and can get about 45-degrees of torsional deflection by leaning side-to-side. This is because there's no significant cross-bracing between the two main 4-foot 8020 extrusions. Fortunately, the deflection is all in the elastic regime of the aluminum, and it appears there's no significant stress (Force/Area) anywhere along the extrusion. Just an mega-ass-ton(/tons, deflection is a unit-less percentage) of torsional strain, due to all the material that is able to move. There will be a bunch of material on the bottom for mounting the Battery, Controller, and other hardware, so it may just be an inexpensive slab of... something bolted to the underside.

Makes me wonder, what if I had used welded steel extrusion instead of 8020? I think it would have been cheaper, but it would have also taken me way more time to put this together. I've never welded before. I kinda really want to learn, and make less expensive AND stronger vehicles with the technique. OH, this brings me to another cool point. This guy. (Follow his blog. FOLLOW IT!) Jeremy is his name. And he's building his own version of Chibikart! And he wants to go to MIT, which, you know, is awesome, because he'll hopefully be another MITERS junkie like moi. While Charles Guan's Chibikart was optimized for time and ease of manufacturing (as in, you design it, you get the parts, you bolt it together, you ride around. It's more expensive, but faster/easier. MelonChopper takes in this ideology) Jeremy's Chipikart is a redesign of Chibikart that will end up costing about a third of its predecessor, because it uses cheaper components and manufacturing techniques. Chipikart is optimizing for cost in a very intelligent way, using steel extrusions welded into a frame, milled aluminum bars to replace the stacked wheel upright plates, etc. A truly inspirational build.

And so, MelonChopper rests on her/his/its(?) winch bed for the night. Where it will probably stay until I return from winter break for MIT's Independent Activities Period (IAP).