Andrew Burks

Author Archive

Robotic Manipulation Cup Stacking

by on Dec.02, 2010, under Classwork


For the final lab assignment in my Robotic Manipulation class, we were challenged to competitively stack cups.  We were given six 3 inch tall plastic cups, and were instructed to make a 3-2-1 pyramid out of them, then destroy the pyramid, as quickly as possible.  Before we even began working on the project the best team had already done it in only 12 seconds.

The robot arm is currently equipped with a descent pneumatic gripper.  Two big plastic pads squeeze the cups one at a time to contain them.  Stacking cups one at a time is inefficient, but teams were doing it.  Nico and I decided that we needed a some mechanical advantage.

Denso End Effector

Design Goals

The biggest design limitation was that the only way to actuate our device would be to integrate with the existing gripper.  This limits us to on-off control, which prevents us from picking up all of the cups at once and releasing them strategically.

However, the bottom stack doesn’t really need to be picked up, it only needs to be slid across the tabletop.  Also, picking up two cups at once for the middle layer saves time as well.  The top cup could even be optimized by dragging it into the stacking area initially.  If any of these goals could be met, it would give us an advantage over the other teams.


In our previous lab, we were able to use the gripper to attach our end effector to the DENSO arm.  However, because we rely on the actuation of the gripper to activate our mechanism, we needed an alternate means of attachment.  The T-slots on the end of the DENSO arm are the perfect size for a 1/4” nut, which is the standard size for a #4 bolt.  Attaching here gave us a reliable fixed reference point.



Using the robotics club CNC, I was able to build the 6 parts necessary for the device.  The only problem I encountered was bowing and vibration in the middle of the largest piece.  Because my piece (11.58”x3.68”) was near the maximum limits of the machine (12”x4”), it was difficult to secure the middle of the stock.  All in all, it took about 5 hours of machining to build the entire mechanism, half of which was slow-going CNC time on the largest piece.



In the end, we were able to achieve a time of 5 seconds.  Nico and I are pleased with the results, and expect to have the fastest time in the class.

Leave a Comment :, , , , , , , more...

Tactile Simon

by on Nov.18, 2010, under Personal Projects, Simon

Years ago, when I was in elementary school, my cousins Lisa and Erin would always give my brother and I great Christmas gifts when the extended family got together for Thanksgiving.  Now that they both have kids of their own, I thought it was about time to repay them.  Two weeks before Thanksgiving this year, I got the idea to use my robotics experience to make a toy for each of the families.


I wanted a toy that was interactive, but simple.  I needed moving parts, but nothing fragile or exposed.  Somehow I came up with the idea to do a tactile version of Simon.  All I knew was that I wanted a wheel you could grip that would spin in a pattern that you had to repeat.  The toy needed to be entirely encased to protect the electronics, but I wanted the kids to be able to see what was going on inside as well.

Full Iso



On top there is a wheel with four colors on it and notches around the outside for gripping.  The top wheel is made of clear polycarbonate and the colors are printed on transparency paper and attached with contact paper.  This design lets the LED in the notch below one section of the wheel illuminate the active color by shining through the colored transparency.

There is a second wheel below the top cover, but it is constrained to rotate with the top wheel.  It is made of white HDPE, with strategic portions of its bottom surface colored black.  Both of these circles are attached to a Servo which can rotate the wheels in either direction at variable speeds.



The primary sensors on this robot are the four IR emitter/detector pairs.  A combination of an infrared LED and phototransistor, these sensors allow a microcontroller to determine how reflective a surface is.  Because white surfaces are more reflective than black surfaces, this sensor pair can parse the pattern of black and white on the bottom wheel.  Combined, these sensors tell the robot how the wheel is oriented.

Besides the power switch, the only other input device on the robot is the button on the left of the device.  After turning the wheel to a certain color, pressing this button will log the current color as your next guess at the pattern.

There are two LEDs on the robot.  One is in a cutout below the top wheel, and it is used to indicate the currently active color.  The second LED is an RGB LED, so it it capable of producing different colors on its own.  Displaying Red, Yellow, Green, or White during different portions of the game provides great visual feedback for the user.

Finally, there is a buzzer which allows the toy to make noises all across the audible range of human hearing.



Everything plugs back in to an Arduino Duemilanove, which does all of the thinking.  Most of the components only need to be plugged into the Arduino to be ready to go, but some of them need to go across a resistor or capacitor first.  The IR emitter/detectors, however, are a bit of a pain.  I had to make a board that slips female headers right over the sensors’ leads and routes them through all the proper resistors to finally output a sensible signal to the Arduino.

The servo requires some special electronic attention.  Because I want people to be able to backdrive the Servo, I need to completely disconnect it from its power supply when it is the human’s turn to spin the wheel.  Using a custom MOSFET board designed by my friend Nico Paris for our RobOrchestra project, I was able to selectively power the Servo.

Leave a Comment :, , , , , , , , more...

Robotic Manipulation Clock Lab: Working!

by on Oct.26, 2010, under Classwork

After a total of around 4 hours on the robot, Nico and I got the arm to work!  We have two modes: one that displays the current time, and one that will count off time from a predefined starting point.  Here are some videos of us testing at about 1:10AM on Sunday night.

I had to modify the pen and eraser holder a little bit to make it work.  I needed to make the drip area fatter, because the fingers don’t actually close all the way.  Also, I needed to mount the pen and eraser at a really close angle, because it took two seconds to rotate the tool by 90 degrees, which was unacceptable.  By adding a fancy part to the original assembly, I was able to make it all work.

Tool Render - Modified

2 Comments :, , , , , more...

Robotic Manipulation Clock Lab

by on Oct.20, 2010, under Classwork

The second lab in my robotic manipulation class involves telling time with the 6-axis denso robot arms.  My lab partner Nico Paris and I decided we wanted to tell time by drawing lines on a white board and erasing them.

Instead of drawing numbers, we are drawing 9 equally spaced lines radially out from a point.  No line translates to “0” and some number of lines corresponds to that digit.  There are 6 of these sets of lines, corresponding to two hours digits, two minutes digits, and two seconds digits.

In order to draw and erase lines, I got to make a cool tool for the robot to hold.  By rotating its last joint by 90 degrees the robot can switch between the pen and eraser.  What’s even cooler is the spring built in to the pen part of the assembly to allow for some compliance without totally squishing the pen!

Here is a render of the tool, and a cross section to demonstrate the compliance in the pen.  Photos and video of the final product in action are forthcoming.  We demo the design on October 18th.

Tool Render

Pen Assembly Cross Section

Leave a Comment :, , , , , , , , , more...

Vibratron Ball Collection Structure

by on Oct.19, 2010, under RobOrchestra, Robotics Club, Vibratron


After bouncing off of the vibraphone keys, the ball bearings need a soft place to land and a central basin to roll into.  The basic idea behind the design was to make an upside-down umbrella, with the skeleton on the outside.  Stretching 1/4” foam between sections of aluminum angle is a cheap way to cover a lot of area.

Ball collector


Ball collector basin skeleton

Structure - Basin Detail

Incorporation into Full Model

While previous renders imagined the 180 pieces of acrylic supporting the keys to be red, clear acrylic being about 35% cheaper prompted a slight design change.  We should save about $100 by changing to 1/8” clear acrylic.

The full vibraphone is now 4.5 feet in diameter, and should be about 3.5 feet tall.  The rim of the basin is just 2 feet off the ground, which is good because want people to be able to look into the vibraphone.

Full Vibraphone (without recirculation screw and ball distribution)

Gates and Foam - Overall

Detail view of key unit/basin interaction

Gates and Foam - Detail

Leave a Comment :, , , more...

Vibratron Structure

by on Oct.12, 2010, under RobOrchestra, Robotics Club, Vibratron

While I had made some preliminary designs of the Vibratron structure a few months ago, I can now begin to finalize some of the key support structure as the ball dispensing mechanism is finalized. 

Key Unit

Experimentation showed us that the ideal location of the ball dispenser is with the tube perfectly vertical, six inches above the center of a key tilted at 45 degrees.  A modular unit consisting of 4 pieces of lasercut plastic and a gate mechanism was designed to hold the keys and gates in their proper relative positions.

Key Unit - Alone Iso

Key Unit Mounting

A large sheet of 1/4” thick aluminum will be waterjet into a shape that can hold 30 of these key units.  Each unit will be attached to the aluminum by two lasercut clips which are held down by cotter pins.

Circle with single Gate - Front Iso

Circle with single Gate - Back Iso

30 Key Units

With 30 key units on one large piece of aluminum, the weight of the entire assembly is already at 50 pounds with a diameter of over 3 feet.  In the future, the ball recirculation system (an Archimedes screw leading into a paintball hopper) will rise out from the middle of the aluminum circle, and the ball collection system (a foam floor to catch the balls) will stick out below and around the keys.

Circle with Gates - Overall

Circle with Gates - Detail - Front Depth

Circle with Gates - Detail - Back

180 pieces of plastic, over 90 of them unique

There are 6 pieces of lasercut 1/8” red acrylic in each of the 30 key units.  3 of those 6 pieces are unique.  1 of the other 3 pieces has 6 different sizes, and the final 2 are each repeated in all 30 assemblies.

Obviously I did not want to model 98 different pieces of plastic and insert them individually into models.  Fortunately, design tables in SolidWorks are very powerful.  In the end, I only needed to make 5 plastic parts and 5 obnoxious Excel spreadsheets to get an assembly (“Key Unit”) with 30 unique configurations.  Some of the plastic parts even have their note engraved into the side!

Design Table

Leave a Comment :, , , , , , , , more...

HarmonicaBot Begins

by on Oct.11, 2010, under HarmonicaBot, RobOrchestra, Robotics Club

The Carnegie Mellon Robotics Club has announced $500 in funding for HarmonicaBot!  This is good news, because there was no where else for funding to come from.  The one caveat is that I need to have a proof of concept in order to unlock the final $300 of funding.

During the presentation, some other interesting means of funding were mentioned.  It was recommended that I speak to Clippard directly to try and obtain my 12 solenoid valves for free or at a reduced price.  Also, an engineering professor at CMU who is very involved with harmonicas might be interested in doing something with this project.


In the hour before the funding presentation, I modeled and rendered a crude first iteration of the plug.  This version routes a 1×10 array of square holes on the harmonica to a 2×5 array of 1/8” NPT fittings on the back.  The harmonica sticks inside a bit, where two pieces of foam or rubber apply pressure to keep the harmonica up against the plug.

Harmonica in Plug

The next image is a cross-section of the plug.  The curved parts of the channel may seem to end before reaching the harmonica on the left, but they don’t.  Instead, one of them crosses out of plane towards you, and the other crosses out of plane into the screen.  This complex geometry is why the part needs to be 3D-printed or cast.

Plug Cross Section

Leave a Comment :, , , , , , more...


by on Oct.08, 2010, under HarmonicaBot, RobOrchestra, Robotics Club

Autonomous Harmonica-Playing Robot

I have wanted to add a diatonic harmonica to the RobOrchestra since I joined the group in my freshmen year.  The Carnegie Mellon Robotics Club recently acquired a MakerBot 3D printer, so my dream has become a lot more feasible than before.

Harmonica - Hohner Special 20

Harmonica Interface and Control

The concept for the robot is simple: A 3D printed plug (with complex inner geometry) routes the 10 square holes of a diatonic harmonica to 10 NPT fittings.  The NPT fittings connect to 10 different solenoid valves, each corresponding to one hole on the harmonica.  This allows for individual control of the air going through each hole.

Achieving both “Blow” and “Draw” Notes

The solenoid valves all connect to a single manifold, which is connected to two other solenoid valves.  One of the two valves is connected to positive pressure, and the other is connected to negative pressure (vacuum).  Activating one of the two solenoid valves at a time can simulate a blowing or drawing, while the other 10 valves select any number of holes on the harmonica to play.  Unfortunately, like humans, this robot will not be able to blow in some holes while drawing from others.

Manifold - Iso

Harmonicas of Different Keys

The best part about having one generic plug to route the 10 holes to 10 NPT fittings is the modularity it provides.  Diatonic harmonicas come in all sorts of keys, but they all have the same shape.  Because of this property, harmonicas of different keys can be easily switched in and out of the mechanism.


The estimated cost of this robot is at $500.  This project is applying for RoboClub project funding, but will not be applying for a SURG.  The largest cost is the 12 solenoid valves at $20 each.  More updates and design will follow if the project gets funding from somewhere.

Leave a Comment :, , , , , , , more...


by on Oct.04, 2010, under RobOrchestra, Robotics Club, Vibratron

Also from my update of the RobOrchestra website.  I apologize for the redundancy.


Vibratron is one of the main RobOrchestra projects for the 2010-2011 year. After receiving $1000 in grant money from the Undergraduate Research Office in the form of a SURG and a donated vibraphone from a former member, the team began designing a robotic Vibraphone.

The overall vision for the project involves laying out the 30 vibraphone keys in a circular array and dropping steel ball bearings onto the keys in order to create music. While other more direct methods might have been more effective, the group opted to create a more unique piece of art.

The project is currently in the prototype stage, but the general layout has been designed. The robot will be composed of three main systems. One of the systems will dispense the balls onto the keys, one will collect the used balls and recycle them to be used again on a different note, and the third system will be the structure of the robot that hold the keys and all other systems together.


The ball dispensing mechanism has been through two complete designs. The initial design used a rotating notched wheel attached to a stepper motor to dispense balls one at a time. The second design used a solenoid as a gate to block and release balls from a queue. Both designs were prototyped, and the solenoid design was chosen because of its greater speed and reliability over the wheel design. Each of the 30 gate mechanisms will cost less than $5.00, and will be capable of dispensing over 14 balls per second. There are renders and photographs of the gate below.

The recirculation mechanism is basically an Archimedes Screw that brings balls from a lower hopper to an upper hopper. Once in the upper hopper, a paintball-style system will be used to spread the ball bearings into the 30 individual tubes, each of which routes to a separate gate.

The structure of the system will not be designed in any detail until the kinks have been worked out of the other two systems. However, a conceptual render of the desired circular layout of the Vibratron is below.


An Arduino Mega will be used to control the robot. A MIDI shield will allow the Arduino to read standard MIDI signals from any controller, and software will decode the MIDI commands into notes.

Each of the 30 gates will have a small custom printed circuit board (PCB) with a MOSFET and LED. This circuit board receives a digital signal from the Arduino and uses that signal to turn on the solenoid for a certain amount of time.


Side view of the gate mechanism

Render of the gate mechanism

Final gate prototype

Conceptual render of the basic Vibratron layout

Leave a Comment :, , more...


by on Oct.04, 2010, under RobOrchestra, Robotics Club

Another post I made for the RobOrchestra Website:


Flutophone is one of the oldest members of the RobOrchestra. It’s seven fingers cover and reveal the seven holes on top of the recorder in order to specify particular notes.

Currently Flutophone is in a semi-functioning state. The instrument itself has gone out of tune over time, but it cannot be replaced by any recorder except one with the exact same hole spacing because the fingers are not adjustable.


Flutophone’s fingers were originally made of cheap hardboard. After considerable use, the keyway on the hardwood gave out and fingers began to slip. Recently, the fingers have been replaced with laser-cut acrylic and reattached to the original sprockets. The sprockets are turned by servos mounted within the casing.

The air flow is controlled by a solenoid valve. The input of the valve is connected to a compressor running at approximately 30psi. The output is connected to the mouthpiece of the recorder, with a latex balloon serving as a buffer to stifle the initial surge in pressure when the airflow is first activated.


The entire robot is controlled by a single Arduino Duemilanove. It takes in serial commands from a master controller and interprets them as notes with a duration. It then sends a PWM signal to each of the 7 servos to position each of the 7 fingers properly. After a short delay to allow for the fingers to reach their position, it activates the solenoid valve. When the robot is not playing a note, its resting state is with all holes covered.


Note the Arduino in the top right and the Solenoid Valve in the bottom left

The balloon seals perfectly over the mouthpiece

Leave a Comment :, , , , , , , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!