Wednesday, August 22, 2012

Robot Pics

I pulled the circuits I wanted to save out of the robot.  But before I put it away for good, I took a couple of pictures.

To review; this was done on a tight budget and deadline.  What was needed was something that could be driven remotely out on stage, interact with one of the actors, and carry a live television camera (wireless).

Although I purchased a more expensive chassis, what was ready by opening night was built on top of a $40 toy store R/C car.

After I'd removed the original car body, I cut foam-core to fit around the wheels and suspension.  Then framed up a simple dome in foam-core.   I glued in scraps of extruded polystyrene (craft store "styrofoam") shaped, sanded, then covered with multiple coats of gesso and spackle to get a smooth surface.  Then painted with an epoxy spray paint.

It was strong enough to survive mild abuse (it got kicked several times on stage and ran into scenery a few times as well).  It was also extremely light -- the R/C car chassis couldn't support much weight.

The shell for the eyes were also carved out of foam.  Each had six high-power LEDs in three color circuits.  I fitted a disc of foam-core into the front of each "eye," then poked the legs of the LEDs through and secured each LED with a drop of cyanoacrylic (aka "super glue").  I soldered an individual ballast resistor to each LED, and brought each pair of resistors to center and connected them to the ribbon cable.  The positive legs of the LEDs were run around in a circle and tied together electrically.

On one eye, a miniature remote camera purchased on Amazon was hot-glued to the center of the disk, and a 9v battery connector spliced into the ribbon cable so it could be driven from the R/C car's rechargeable NiCads.

At the back of the head, the two ribbon cables from the eyes were spliced to the ribbon cable run through the neck and into the central body.  I had meant to dress these mostly out of sight but the props designer and the director both liked the look of the dangling wires.

Although it is hard to see from this picture, the eyes pivot (I had intended to add a servo here) on a modified PVC plumbing fixture.  A variety of PVC plumbing hardware carries down to the joint of the neck where it is secured with epoxy and insulation spray foam.  The eyes themselves ride on a quarter-inch threaded rod that was glued into place during final assembly.

The neck, incidentally, was a find.  While I was hunting for foam I discovered this paper-maché bust used for making a jewelry display.  It had an interesting shape I think worked very well.  The original concept, after all, was a Wall-E inspired "girl" robot with a sleek white shape.  The director really wanted binocular eyes, though, and the restrictions of the size and strength and wheelbase of the chassis meant it had to have a squat, low to the ground design -- and the result of all of these compromises and discoveries was a robot that many people described as "Wall-E and EVE had a baby."

After opening weekend it was requested that the eyes be able to turn off on command.  Well, that's why the ribbon cable was there.  I re-purposed an Arduino shield from a previous project, adding a ULN2803 to handle the 80ma or so of each LED color channel.  That top circuit board is a 424MHz four-channel radio receiver that I bought on eBay with matching keyfob transmitter.  Not as elegant as using one transmitter for the whole robot, but it worked.  The LEDs are on PWM pins and thus could be programmed to blink, pulse, color swirl, or chase.  However, since it was late in the day, the only functions used in the show were to turn the lights on and off.

Those LEDs were BRIGHT.  They were effectively the camera light.  Between the strange color (I ran only the blue and pink circuits during the show) and the often sketchy reception from the $25 wireless television camera, what the audience saw on the on-stage monitor was gloriously odd and colorful.

(Way, way down on my list of fun things to do is real-time video processing into an eye-stalk prop so it displays on connected monitor the same tri-color breakup shown in the George Pal "War of the Worlds.")

And there it was.  It could make it across stage on remote control, carry a functional camera, and flirt with an actress (the "voice" was done by an off-stage cast member through his existing wireless microphone, patched into a ring modulator emulated on the on-board DSP of our Yamaha digital sound board).

In the actual scene, the fill light was coming from a video projector hung out in the house, running a loop of television-set static.  This projector was also the first use of my MIDI-controlled projector douser!  But it proved hard to get decent pictures during the scene.  So the below are staged shots following closing night:

And, of course, I had to have one MORE Arduino in the show (there's an Arduino in the projector douser, interpreting MIDI signals and translating them into servo position).  And that was the Square Candies that Look Round.

Arduino, with a couple of micro-servos being powered off the USB connector (or the Arduino's on-board regulator), and a Sharp IR proximity sensor as trigger.  Next time I do something like this, however, I want to have a sticker or flyer or card to explain "Made with Arduino" and a link to that wonderful and artist-friendly hardware and community.

(There was a sheet of waxed paper on top of the box to make it look more candy-like but I forgot it when I swapped out an ailing servo on the last show weekend.)

On the Board

It isn't a bad job, but it is tense.  Like driving, you can't take a break and you can't take your eyes off the road/the stage for more than a moment.

For stage musicals, that is.  For live music, depending on the show, there are times I can get up and walk around (to listen from different vantage points) and even take a quick break.  A potty break even -- IF you have someone to watch the faders for you, because howling feedback can start in only a few seconds.

For most of a stage musical, I've got my eyes on the stage, the master faders in my right hand, and the script open on my left.  I am of two minds whether it is sensible to nuance faders.  Sometimes it seems the only way to get the dialog right is to ride it a little.  Certainly, when you have people shouting, putting on hats, or doing a faces-together duet you have to be ready to duck one or more microphones.  And the dynamic range between speaking and full-on song is also too great to get by with a single setting.  But I am not convinced that riding the fader up and down constantly, breathing with the dynamics of the song and scene, is actually necessary or even helpful.

I also try to avoid playing with the settings too much once the show is opened.  Voices change from day to day, the air quality changes, there are more people in the audience to suck up sound, an actor has a sore throat or tries something different...and it seems inevitable that the microphone will end up in a different spot now and then.  But there's a difference between making an adjustment at the top of the show to get it back to where it was, and tweaking the EQ and compressor settings every other song, trying to nuance out the perfect compromise.

For the latter, I try to keep in mind what The Rat said about tweaking; "Imagine there is a camera on you and after the show you are going to be asked by a bunch of students why you made every change you made during the show."  So think twice, adjust once.  Don't tweak it unless you are really sure it needed tweaking.

The thing of it is, besides being trapped at the board -- you can't leave to get a drink of water, you can't even close your eyes for more than a few lines of dialog -- the tension is a killer.  You are like the last person with their hands on the wheel before a two-car collision.  All the errors have already been made -- in your hands now is the final chance to save something.  And when, on the other hand, the show is going well, in your hands is the potential for a single slip to wreck a moment, or a song.  All you have to do is stab at the wrong button out of the 200-odd ones spread out before you, dimly, in the darkness of the FOH position.  Or twist 5 degrees instead of the two degrees you meant to on an important knob.

The audience probably doesn't hear most of your mistakes, but they very much hear the accidents you weren't fast enough to catch; the microphone that dies, the actor who touches their microphone, the bass player that unplugs without warning anyone.  So for all that nuancing and tweaking, your final tally is less how good it was, and more how FEW bad things happened on THAT particular night.  It is not a good place for people who stay up late kicking themselves for blowing a quick duck of a microphone they SHOULD have remembered happens on that line of dialog, or for being there when a dying microphone decided to let loose like a cannon shot over the sound system.

Partadoxically, of course, you go into every night incredibly suspicious of everything; checking everything, worrying about everything.  But you have to learn how to put that behind you after the performance.

Me, I like to play a little.  I like to pull down after songs.  I like to use different levels of reverb and different reverb algorithms for different kinds of songs.  I like to follow the dynamics of a song and ramp up not just the vocal master but the band reinforcement master over the climax.  And I like to throw in other little bits; like starting a mic soft when a character enters from off-stage, and fading them up as they walk on.

So I have a script, but it only has the programmed cues on it (the memorized scenes that hold most of the basic microphones in a particular song or scene).  And maybe sound cues, if I am running those as well.  It is mostly memory that I use for all the bits where I need to duck a mic or ride it a little (because that actor has always read that line in a soft not-a-stage-whisper whisper).  By the end of the run, I'll sometimes forget to turn the pages of my script for two or three scenes at a time.

And the rest is ears and instinct.  Watching the show, being in the moment -- but also being conscious all the time of "real" sound (as opposed to the perception of sound) -- watching that your levels don't creep up on, adjusting for how what you hear is different from what the audience hears.  It is very much like performing in the orchestra pit, that kind of focus.

Tuesday, August 21, 2012

Robot Requium

The show is over.  I never got video of the robot in operation, and the pictures I took during closing weekend didn't come out that well.  Here's the best I have:

It survived the run, however.  It got kicked several times, collected some dents, and even got smacked during curtain call -- knocking the eyes out of alignment.  It missed its entrance only thrice, tho; once when they snapped the antenna off the transmitter, once when the connector to the battery broke inside, and once when I foolishly left the power switch on after repairing the connector thus draining the battery.   Seeing how it got knocked around I'm just as happy I never added a servo to the eyes!  I did add color-change software to the eye light controller but the actor operating them never did push the button...

I'm going to try this week to get a couple better pictures -- the show is over but the set doesn't get struck until next weekend.  If I do, I'll put them in this post.

Thursday, August 16, 2012

Morrow Progress #3

Mail from the Former Soviet Union was faster than expected.  My VFD's arrived in the mail yesterday.  They are ILC1-9/8's -- 8-digit 7-segment displays (7+1 with the decimal point).  Characters are 4mm high. 

I was able to light a couple segments with a 9V battery; dividing it with a 220 ohm resistor for the filament voltage, and applying the direct voltage to grid and anode.  It is multiplexed, but I need to drive it multiplexed anyhow; there's too many pins for one Arduino to handle.  I seem to recall a high-voltage shift register chip I picked up from Adafruit; if not I can get another.

On 9V the color is blue-ish green and it is a bit dim.  It is gonna need more voltage multiplexed; according to the specs I've been able to find it wants 30-40 volts strobed (though no more than about 15 volts continuous).  I dunno yet whether to use a boost converter or just go with 18 volts from a pair of 9V batteries and call it good enough.  More research!

Since the displays are here (and the mini rotary switches I ordered also arrived already) I can actually get the electronics package working now, before I have to send off the Shapeways order (to 3d print the actual faceplate/top of the box in sturdy plastic).

On the down side, my last (tiny) check ran out faster than I expected.  Working the run of a show on contract is not wonderful.  You are working a lot of late nights, and a lot of total hours, but the contract fee is fixed.  Kinda sucks to pull 24 hours over one weekend and still be flat broke at the end of it.  Even worse when you are between shows, in the middle of a 10-12 hour day, and you can't afford anything but some white rice or dry bread -- if you had the energy after the last 12-hour day to make it and bring it from home.

The only thing that is worse than low pay is no pay.  Depressingly, there are two dead months before my next contract show, and even worse, I've only got one show out of the entire season.  I'd be in better financial shape working at McDonalds -- except the line for applications there is around the block already.

Thursday, August 9, 2012

Morrow Progress #2

It's a box with knobs on it.  (Okay, two boxes, but that's just duplication.)

The knobs have to turn.  This is a hard-learned lesson from the props builders; don't cast a solid trigger.  Because no matter how many people you warn, someone will pick it up and try to pull it and snap it off.

Making it light up is a stretch goal.  Which of course I'm going to try to do anyhow, but since it will probably be admired for a few minutes then stuck away in a box, I'm only budgeting a limited amount on bells and whistles.  Well, lights and whistles.

The most complex part of the electronics would be making a functional display.  Which I may not be able to do within the time and budget.  Anything else is just throwing some LEDs behind the indicators and wiring them to one or two poles of the rotary switches.

Which makes it, electronically speaking, a box with knobs on it.

This means the project is dominated -- the construction, the costs, the planning sequence -- by the knobs.  What are they, where are they sourced, what are their dimensions.  The look of the box is a period military radio.  The box itself will have some grooves, divots, curves, but the look of the thing is, basically, the look of the knobs.

Knobs and lights, that is.

I'm still, after almost two weeks of work, still in selection hell.  I've been purchasing potential switches and indicator lights, researching and drawing out to scale various display modules, and looking at far too many pictures of knobs.

What I haven't been able to do, just yet, is nail down much of anything beyond basic dimensions.

To progress, you have to start making commits.  According to my hand-drawn Gannt Chart (I have some nice freeware software but I haven't had a chance to learn it yet), the lead time for the 3d printer is the most important dependency.  I have to have the 3d model completed in enough time to get the print back in enough time to do the final assembly and painting.

Every commit you make is flexibility you are removing.  Each decision risks being found poor in hindsight -- but hindsight only happens when you've been able to collect information from the ongoing build.  You can't plan everything in advance, not even the plan itself; you have to start making assumptions based on inadequate information, and develop them until you learn if they are going to pan out.

The vacuum fluorescent display I really want to use is currently wending it's way from Dnepropetrovsk.  It will not arrive in time to be able to alter the 3d model.  It may not even arrive in time to breadboard then to package it up!  The only commit I've been able to make so far is to leave room for that display -- but I suspect I will need to develop a backup display and test the electronics package on that.

I am not firm on it yet, but I believe the knobs are going to be custom printed as well.  Plus button caps, if I chose to have multiple buttons (which adds a whole new layer of complexity but anyhow!)  I've been looking at military surplus knobs but the space is limited and I like the potential of a very specific (yet familiar) look.  Plus the nicer knobs are simultaneously quite expensive and in shoddy condition.

I believe the basic labeling will be raised letters on the print itself.  I won't know until I get into the 3d model if this is possible within the detail level of the 3d print but my experience with previous 3d prints says it is.

However, it would be nice to have one vernier dial.  That would almost certainly exceed what 3d printing can do.  I spent a day looking at options to laser-etch a dial surround, and I've been looking at existing surplus knobs, but my feeling is this is going to end up being a water-slide decal.  I do want to look at acid-etch -- I saw a nice Instructable on that -- but I don't like the idea of doing an acid etch in my apartment!

 I'm toying now with the idea of a slip-ring for dose/time calculations; some way of integrating the radiation detector sensitivity dial (the vernier dial) with an "actual reading" ring that would then read off the "maximum safe time in contaminated zone" on an outer ring.  Which maybe makes a lot more sense mechanically integrated, but you build what you can.

Lastly, I'm fairly firm on the Dialight I found at the local electronics store.  On the minus side, it is so big it is difficult to cram two of them on the faceplate, and it stands pretty high as well (I may have to sink them in, or raise the display -- either of which uses up more plastic.)  On the plus side, it looks very military (the Dialight is very common on aircraft displays), and the actual dial function (dim/not so dim) involves physically shuttering off a trefoil pattern behind the lens.  So it looks something like a radiation symbol when lit!

What I haven't quite integrated is how to work other indicators in conjunction with the Dialight.  I don't know if they are absolutely needed, but it would be cool to have one red LED for "antidote ready." 

I think I'm about to make a firm commit on having the CBR kit have two Dialights.  That at least will allow me to move forward.


Whew.  Created a new scale drawing using the revised measurements of an actual Stoner magazine (the CBR kit has to fit in the same kind of pouch.)  Two Dialights fit, plus the Ukranian VFD (at least, as close as I can get from the only photograph I have of it).  Two knobs, one of which is probably custom-printed, and two decal dial surrounds.  It has some of that compact, efficient, yet oddly hap-hazard look of military radio gear.  And enough detail in the plastic that it should make an interesting print.

Now to start on the 3d model!

Wednesday, August 1, 2012

The Morrow Progress, #1

The pre-planning stage has merged smoothly into the planning stage.  I've started a Scrivener document for project notes and resources, and a Gannt Chart to plot whether I can afford to use certain technologies.

If I hew to a firm October 1st delivery date, the Dependency between the delivery and development of a VFD display cuts too far into the delivery cycle at the 3d printer.  Basically, if I assume I will be getting the faceplate done at Shapeways, I can't afford to wait for a vacuum tube to ship from the Ukraine. 

But I can't resist giving it a try anyhow!

I made a scale drawing of the footprint of the faceplate, and made scale drawings of the leading display options.  Most of the available LCD displays are too big to even fit inside the box.  The remainder are still so large they take up too much of the behind-the-panel space (space I need for the rotary switches).  I'm not ruling out pulling a display from a vintage calculator but that seems like a shame to do, besides being time-consuming.

The only real competitor to a miniature VFD for the desired look and footprint is a monochrome OLED display.  Basically I'd be using it to display a picture of a 7-segment display (or you could look at it as displaying a custom character set in a large font).  Not entirely convincing as a 1970's-era display, and certainly not as cool as a VFD, but it would be nice and bright.  It would also be extremely simply to wire (assuming I use an Adafruit breakout board).

But given the time, cost, and the requirements of the prop, the smart choice at this point is a static display; a back-lit image of a typical display.

So the plan is to frame out a space that would fit the VFD if it were to arrive in time and become functional, and to provide the computing power inside the box to be able to drive it, but design so that simpler substitutes can be slotted in. 

This is not a project that takes well to a linear development process, but fortunately, it is simple enough that I can afford to use an iterative development that circles through scope and work breakdown structure in addition to local problem-solving.  The issues with a classic waterfall design process are that I am using unexplored technologies, and the project requirements are quite fluid.  I am free to change the parameters of what I intend to deliver if I stumble upon a process or part that will produce a lower cost or a better effect.

The difficulty, of course, is controlling risk and keeping the cost of exploration down.  You can afford to explore only a small number of fruitless paths.  You also have to make firm decisions at multiple points along the development path in order to be able to continue both planning and build.

This is why the most important element in the project plan, for me, was the pre-planning stage.  Pre-planning was intended to absorb the more outre explorations with their potential cost in parts and development time.  When I hit the planning stage, it was with a project spec and construction method that was roughly parameterized.

As it turned out, exploration of what the devices might "actually" be, and what we chose to simulate, and what were the plausible ways we could build them, has essentially ruled out the need for extensive research and the need for complex electronics.  Neither the project spec nor the theoretical reality we are simulating requires -- for the CBR kit at least -- breaking down specifics of the threat environment.  The theorized user doesn't need to know which chemical agent they are facing, and the box I build doesn't need to discriminate either in display or in any kind of detection circuit.

The latter requires explanation.  One of my earliest pie-in-the-sky ideas was to use RFID tags attached to mock samples to allow the prop to "detect" different threats and react differently to them.  But, for all practical purposes, what the prop does is "Blink the warning light and display something cryptic on the tiny display."  There isn't practical reason to go further.

This was also worked iteratively with what would physically fit on the 8 x 6 cm footprint of the top plate -- once we committed to the assumption that the controls looked roughly like a military radio of the period, and not some sort of multi-button futuristic keyboard and display.  There is a stark limitation to the number of settings a single knob can reach -- or that a Recon Team member in field conditions can be expected to dial up with any accuracy. 

Cycling through practicalities of prop construction, although the military could and has created multi-pole rotary switches with different selections in different rings, getting this to work practically for our prop would be extremely difficult.  And doesn't seem worthwhile; for gaming purposes, the Recon Team member is going to turn one big dial to "Alarm Silent" or to "Inject Universal Antidote."  No further interaction is necessary.

So what we end up with is a box with minimal internal electronics and several rotary switches mounted on top (plus display and a couple other bits and pieces). 

Which because of the switch mounting means it needs something fairly solid and reasonably dimensional up there.  And the look of period radios is raised or incised lettering in the plastic itself (rather than printed/anodized faceplates).  Which is likely to be simplest done as a 3d print.

This isn't the first time I've used 3d printing, so I am aware of the constraints there.  There is a variable shrinkage.  It usually requires polishing.  And it is too expensive to print large volumes.  As a guess, even with minimal wall thickness the entire 8 x 6 x 15 cm box would be too expensive.  So it seems smartest to duplicate a typical construction of the time and have a top plate that screws down to a body.  The body in this case is probably resin-cast -- mostly because I need to build experience with molding.

Another advantage to 3d printing is that you generate a dimensioned 3d model at some point in the process.  Which you can use to visualize, to problem-solve component fit, and to confer with the client and get approval.

I'm still toying with the idea of printed knobs but I haven't figured out how to get the brass inserts and set screws to work.  Which they will need if they are operating rotary switches.  Best route might be to smash some cheap knobs, drill out the recess in the prints, and epoxy the insert to the new knob.  At approx $2 per cc, printed knobs would be as much as $6 each -- but that is quite competitive with surplus military radio parts.

I'm also thinking I might have the "injector nozzle" printed.  Even though, as we understand the underlying technology, there is no need for any visible injector, even Morrow Industries can understand the need for ergonomics.  Having a clear "something" you press against to administer the dose just feels better to the Recon Team member using it.  Besides, it looks better as a prop with something there, and it gives me an excuse to try to slip some more function in -- a vibration motor behind the injector.  And probably a capacitance sensor to trigger it.

The CPU needs are minimal if there isn't a functional display, but if there is one, the software would be simplest on an Arduino.  A "naked" Arduino will do it, though (although I'm not against using a mini or even a micro).  So plan to have one even if that lifting power isn't needed.  Since it is available, however, I can do tone generation on the CPU and I won't need a separate chip to generate the alarm sounds.  Just need a basic amp/power amp and probably a piezo speaker.

Unlike most of the things I've been doing lately, liPo is not advantageous, and there is no need for any kind of RF link.  An organic gas sensor would be very, very cool but not very practical and could waste a lot of the development time.  About the only major thing left to figure out is the best way to access the battery for battery changes.

In the iterative process, the CBR makes so much sense in the current scheme (simple electronics, surplus knobs on a 3d printed face-plate, resin-cast body filled with shot to achieve appropriate weight), it is sensible to shortcut the exploratory process on the med-kit and just declare that "It looks like the CBR kit and is built the same way."

If I didn't make this fiat, I'd be struggling a lot to define how the magic med-kit could possibly be doing what it is doing and how one would want to present it to either the Recon Team operators or to our players.

Instead all I need to do now is combine the various descriptions into some number of positions on a small number of knobs and switches and a small cryptic display.  Basically, it becomes "Cleric-in-a-box"; as far as the Recon Team member/player is concerned, you turn the dial to "Cure Light Wounds" and cast one use of the spell.

I admit to being very tempted to try to build in some sort of actual bio sensing so it can at least detect that it has been held up to a human...if not displaying actual values for pulse, temperature, or whatever else is easy to measure.  Or fake the measure of, rather!

But for the current development plan, that must be considered stretch goals.  Whatever I can do in the way of real sensing will have to be accomplished within the framework of a resin-cast box containing an Arduino with a minimum amount of support circuitry, and will have to happen through the "injector site" populating the curved bottom of the box.  And whatever is displayed will have to go through the "I'm just a seven-segment display" on the top, plus perhaps a blinking pilot light if I can possibly figure out what that light might do (the CBR kit has two such lights and it would be nice to be able to echo that with something similar in the Med Kit.)

(My alternative design direction for the Med Kit is to keep it with basically radio knobs and olive-drab plastic case, but arrange the display and controls to vaguely suggest the TOS Medical Tricorder.  Without attached scanner, probably!)

Exploratory time is almost over.  I have to either order some knobs now -- so I can accurately dimension the model -- or commit to custom molding/printing.  But I probably have to order the selector switches themselves to make sure I can fit everything properly.  6 x 8 cm is really a small footprint for having multiple switches and indicators!