November 23, 2024, 01:29:41 AM

News:

Got VSA?  Want to use your Prop-SX?  Now you can!  See the VSA section of the Library forum for Prop-SX code that works with VSA.


multifunction animatronic prop idea - suggestions/comments welcome

Started by keithcorcoran, December 20, 2011, 10:40:55 AM

Previous topic - Next topic

keithcorcoran

I'm in the early planning phases of an animatronic prop.

The concept is 'Carnival Barker'.

What I would like to do is create a 'talking skull' which will most likely consist of a custom skull armature skinned with a mask.

Proposed servo based articulation points would be
- random eye blinks
- programmed eye movements (left-right)
- sound triggered jam movement (single channel color organ running off a tone generated channel for dialog sync)
- head pan (left-right)

Triggered events
- start routine via PIR
- loop routine after X mins if no PIR trigger
- single file stereo mp3 playback (1-3 mins?)
- jaw movement sync to audio track (either pre-programmed or real-time)
- head pan (pre-programmed or real-time via tone frequency cue)
- eye movement (pre-programmed or real-time via tone frequency cue)
- dc motor for leaning forward and back while speaking (pre-programmed or real-time via tone frequency cue)

- (optional) dc motor for hand lifting with 'home' and 'extended' limit switches


At first glance I think this is simply too much for a Prop-1 to accomplish but since I have one on-hand which hasn't been used and an eagerness to solder, I wanted to ask.

I assume I would have more than one circuit or daughterboard needed and those boards would trigger the Prop-1.

Here are some first stabs at possiblilities.

- PIR to MP3 player
- MP3 player to scary terry (or similar) tone recognition board / single channel color organ / PROP1 for jaw servo based on audio level converted to servo position
- PIR also triggers PROP1 to begin head animation sequence using servo position table program as shown in another post
- PROP1 triggers arm movement relay which reaches limit switch and stops awaiting next 'spin' command
- simple timer/random circuit which is triggered ON to begin random leaning fwd and back movement.


I think I have plenty of IDEA and not much EXECUTION in mind just yet. I might need more pen-to-paper at this point

My approach above centers around PROP1 being the nerve center/switching station of the operation and less about it doing too much heavy lifting.

i would assume that if the PROP-1 is used to decode volume input into servo commands on the fly it will be running in a loop making it unavailable to do anythign else while it is movign the jaw in sync.

As with any home-grown solution I am looking to do this as inexpensively as possible which doesn't mean as 'easy' as possible I'm sure.

DONE CHEAP
DONE GOOD
DONE EASY
(pick 2)

Right now I need to pick CHEAP and GOOD.

Any insights, recommendations or theory pokings are encouraged.

Thanks.
k.



JonnyMac

I don't think the Prop-1 is going to cut it.  It's a great little controller, and certainly cheap, but that logic doesn't always work.  Have you even seen a go-kart in the Indy 500?  A go-kart has four wheels, one driver, sits low to the ground with the engine behind the driver; that, however, doesn't not make it ready for Indy.

What I'm suggesting that is if you really want "good" to be your priority then you consider the forthcoming HC-8+.  It's is 1000s (yes, thousands) times more powerful than the Prop-1, yet will only cost about 3x the price.  How much is not being frustrated worth to you? 

One of the goodies I'm working on now is an microSD card adapter for the HC-8+.  In the Spring we will show how to use a program like VSA to create up to eight shows and run them in stand-alone mode from the HC-8+, complete with sync'd sound.  Outputs will be dimmers and servos, though it's SMOP (a small matter of programming) to do other things -- it's all just show control.  We will be using the AP-16+ for audio, but there are alternatives that you might be able to use as well.

Happy Holidays
Jon McPhalen
EFX-TEK Hollywood Office

keithcorcoran

Well it's definately an ambitious idea. Since I had a prop1 on hand I figured I would ask.

I'll be getting an arduino for christmas so I might see if that can help at all.
If not, I'll have to hold off on this project's electronics until I investigate the hardware you're talking about.

In the meantime I'll move forward with the mechanics and start thinking about bringing my Rotten Candy stirring, vomitting clown to life with the PROP1 as originally planned when I bought it.

The mechanics and cosmetics for that are pretty much complete and the sequence of events really don't require any pseudo-multitasking to occur.

it's all pretty much a linear set of commands...

- stir 10 times
- stop
- lean forward
- start pump
- trigger vomit noise
- shake prop
- stop pump
- lean up
- repeat

with the only real alternative being

- stir until PIR is triggered
- stop at stir position/counter switch


great fun for all!

;)


thanks for the reply.



JonnyMac

QuoteIn the meantime I'll move forward with the mechanics and start thinking about bringing my Rotten Candy stirring, vomitting clown to life with the PROP1 as originally planned when I bought it.

Please start a separate thread for the other prop -- mixing topics is out of bounds (for those that have read our forum guidelines).
Jon McPhalen
EFX-TEK Hollywood Office

keithcorcoran

yep. that was the plan once I get the project going since I already have some basic code I've started for it.

JackMan

Quotei would assume that if the PROP-1 is used to decode volume input into servo commands on the fly it will be running in a loop making it unavailable to do anythign else while it is movign the jaw in sync.

Keith,
    The Prop-1 wouldn't be doing any jaw sync, that would be handled by your Audio Servo Controller. You might be able to pull this off with a Prop-1 though you may have to compromise a bit here and there.

bsnut

I agree with Jack and don't see any problems using the Prop-1 right now as long as you are using pneumatics for most of your prop movements.
William Stefan
The Basic Stamp Nut

JonnyMac

... and you're not worried about critical synchronization.  The difficulty is really the storage space in the Prop-1: it's very very small.  Simple moves or enabling external devices is one thing, but complicated movements in sync with a 1- to 3-minute music track is probably asking too much.
Jon McPhalen
EFX-TEK Hollywood Office

keithcorcoran

In order to get around storing too many movements I figured I would just send the servo to different positions a key intervals timed to the audio track.

With a seperate audioToServo circuit for the jaw handling sync the audio track plays (dialog in italic)

hurry (1 sec)
trigger servo move to 30 deg
hurry hurry, step right up and see the most amazing (5 sec)
trigger servo move to 30 deg
trigger wiper motor lean forward
curiosities ever witnessed (3 sec)

etc.

this would significantly decrease the number of commands necessary to accompany the vocal track.

As mentioned in a previous post, I would assume I could then set up a position table and at specific time intervals call those position variables to move the servo.

Though, would it save space to simply set up a moveTo 'function' (in the case of basic a subroutine, correct?) and just change the position variables prior to sending the program to the moveTo subroutine?

Sorry, I'm not fully versed in programming but seem to know enough to make myself sound like I have almost no idea what I'm talking about. :)

As for any eye movements I could do something similar to above if it turns out it's even necessary.

For the mechanics, by mounting the head/neck assembly on some sort of sprung or counter balanced mechanism I could increase the motion I get form a simple head turn or lean as well as possibly take advantage of some of the jaw servo's momentum to keep it all from looking too stiff.


Again, at this point, just thinking out loud.

JonnyMac

The trouble with servos -- and that so many people wish weren't true -- is that you must update them frequently (typical refresh timing is every 20ms, or 50x per second).  A typical newcomer error is this:

  PULSOUT Servo1, 100
  PAUSE 5000


While syntactically sound, it's a programming problem because the servo sits for 5 seconds without being refreshed; if there is any kind of load on it the servo will jitter or move.  In my Prop-1 programs that require servo updating I have a routine like this (which is modified per program based on the number of servos in use):

Servo_Pause:
  IF timer < 20 THEN SP_Exit
    PULSOUT Servo1, pos1
    PAUSE 19
    timer = timer - 20
    GOTO Servo_Pause

SP_Exit:
  PAUSE timer
  RETURN


This isn't perfect because the servo can be anywhere from 0.6ms to 2.4ms for the PULSOUT, but PAUSE only works in 1ms increments.  That said, it's close-ish, and takes care of refreshing the servo(s) as required.

This is why I will be a madman when it comes to promoting the HC-8+ for servo use.  It has a 5A 5V supply so it can run beefy servos (you can even connect an external supply with very little work if that's not enough), and I have written a servo driver that only uses one of the eight cogs (leaving you six left over [your main cog is the other] for other objects), and gives you precise set-and-forget position and speed control.  At the risk of sounding like the egomaniac that I am (hey, it goes with the Hollywood territory! <wink>), my servo driver for the Propeller is the best available.  It takes care of refreshing without ever a second thought by the programmer, and even lets you move from one position to another at a specific speed (within reason).

Getting back to the Prop-1... you can build great props with it.  That said, it seems like every time a customer decides to go with the Prop-1 purely for cost reasons, they end up spending a whole lot more in time and frustration when they cannot get the desired performance in servo-centric props like you're describing.
 

Jon McPhalen
EFX-TEK Hollywood Office

keithcorcoran

thanks again for the in-depth reply.

originally I picked up the prop1 for a totally different project (puking clown mentioned above) which was really based on a triggered counter and limit switch inputs to turn things like 2 wiper motors on/off as well as trigger the eletronics123.com mp3 player and the water pump.

i was going to go with a BS1 but was told I would save some time and money and frustration by getting the prop 1 which I could use to trigger larger loads without a relay setup.



that prop idea came and went when I ran out of time working on other static props.

now that i have some time I'm trying to decide if i want to tackle this new 'barker' prop or just go back to finishing the puking clown.

i'd be smart to finish the one that's almost done but adult-onset ADD is a mf'er.  ;D


if I decide to do the puker you can bet you'll be seeing another post from me on it begging for some assistance. :)