(Topic ID: 334234)

Funhouse: Scratch-built Rudy with servos instead of solenoids?

By calla76759

1 year ago


Topic Heartbeat

Topic Stats

  • 34 posts
  • 16 Pinsiders participating
  • Latest reply 2 days ago by RGarriott
  • Topic is favorited by 12 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

IMG_2505 (resized).jpeg
IMG_2506 (resized).jpeg
IMG_2508 (resized).jpeg
IMG_2507 (resized).jpeg
Untitled (resized).png
Rudy Metal Box (resized).png
#1 1 year ago

I bought a Funhouse cabinet and boards with no playfield. I'm hoping to find a populated playfield, perhaps damaged or incomplete. If I can't do that, I'll have to buy a bare playfield and hunt down the playfield components piecemeal. But some components are "unobtanium." Unobtanium includes the ball guides, although those can be hand-made as Vid's excellent guide shows. Unobtanium also includes the subway and various scoops and ball-handling components, although some of those are sold online or can be made via vacuum-forming.

But the highest isotope of unobtanium is Rudy himself. The face, hair, mandible, eyes and eyelids can be bought. But the actual metal box doesn’t seem to be sold anyplace except used, and for big money. The internal solenoids are available, and some of the actuators and interconnects, but I don't know if you could kit up everything. And having repaired a Roadshow before, I don't even want to try.

In order to reduce my overall cost/complexity, I'm thinking about scratch-building Rudy, but with the eyes and eyelids driven by servos instead of solenoids. (Specifically, servos from the radio-controlled car hobby). Rudy's solenoids are clunky and violent, and they drive the eyes and eyelids through a maze of interconnected parts. Most of those parts would go away if you hooked up servos to drive the eyes and eyelids. You'd just need some circuitry to convert the solenoid drive signals into PWM drive signals for the servos, and you'd need to trim the servos correctly to hit the three states for the eyes (center, left, right) and for the eyelids (open, wide open, closed). But that all seems doable since servos are meant to rest at center, and then turn left or right. It's easy to achieve three separate states with a servo. The way Rudy's eyes are controlled (in a stock Funhouse) is actually really similar to the steering rack on a radio-controlled car. And although a servo slews between positions a little more slowly than the SLAM of a solenoid, steering servos are still *really* fast. Almost quicker than the eye. And it could look kinda cool and robotic if Rudy's expressions were servo-driven.

If I fabricated a Rudy-size metal box out of sheet metal, with holes/brackets for servos, and cobbled together the right interconnect circuitry, it seems like I could make an "e-Rudy" for not too much money. It would add two $15 servos, but eliminate 4 solenoids and some of the fussiest mechanics in all of pinball. I'd still have to buy the plastic face and the mandible and the underlying scoop, and I'd have to cut a piece of wood to mount it all up. But that seems way better than paying big money for an aging, disintegrating Rudy (or Red or Ted) and dealing with those filthy, brittle internals.

Can anyone provide precise measurements for the metal box that forms Rudy's head, at page 2-23 of the Funhouse manual?

Rudy Metal Box (resized).pngRudy Metal Box (resized).png
#2 1 year ago

but rudy's programming is either on or off with quick pulses ment to fire a coil. How are you going to redo it so it has a long pulse to keep a servo on?

#3 1 year ago

Good point. I'm not sure the eyes-left and eyes-right signals are quick pulses, although I admittedly haven't looked at the pulses on a scope. But the eyes re-center when both solenoids are at rest, under the force of that metal bar at the back of the head that acts as a spring. So I think the solenoids need to be powered the whole time the eyes are left or right, correct? And similarly with the eyelids, I think the "wide open" state has one of the solenoids held in, and when that solenoid relaxes the eyes go back to their regular "open" state with the lids partially drooping.

I could be wrong about this. But Rudy's solenoids are smaller and perhaps don't burn up as quickly as the solenoids behind kickers and bumpers, etc.

Even if Rudy were driven by all momentary signals, I guess I could incorporate some state circuitry for each mechanism, so that the pulses just toggle between states.

#4 1 year ago

it will be interesting how you will pull this off with existing programming. Might have to modify the roms.

#5 1 year ago

Interested in seeing how this turns out. I imagine that eventually replacements for Rudy/Red/Ted will have to be reproduced, this might be a good path forwards!

3 weeks later
#6 12 months ago

I posted this about 5 months ago on the Funhouse Owners Forum, I asked if anyone had thought of doing this but got no response. I do not like the loud solenoids in Rudys head. I have experience in a 3D Resin servo mod I am making for The Getaway triggered by flashers. Using an Arduino to receive signals from the pinball to control the servos is the way to go.

I would of thought the metal box could be 3D printed instead as the strength is not needed by the servos.

The mouth is going to be an issue if there are plans to change that control method.

#7 12 months ago

Good idea about 3D printing the Rudy head instead of the metal box. That could be much simpler.

I agree about the Arduino - I am using it to get the servos to move in response to the solenoid signals, and the Arduino has built-in routines for driving servos.

As to the mouth, I've been thinking about how to substitute a servo for the drive motor and gearbox. If you look at the input to the high-current board that drives the motor, it's very simplistic. There is a hi/lo drive signal, and an "enable" signal. It appears that the driver board simply drives the motor clockwise or counterclockwise to make the jaw move, and then brings the "enable" signal low to stop the jaw. It seems like I could use the Arduino to take those signals and generate a servo position signal.

The servo would need to be pretty fast, as the jaw really moves quickly when Rudy yells. I guess it could be geared or cammed to amplify its movements.

Using a servo for the jaw could potentially get rid of (1) the $50 motor, (2) the hard-to-find gearbox, and (3) the hard-to-find high driver board. So it's worth trying.

One thing I don't know - is there a sensor in Rudy that detects the jaw being fully open or fully closed?

#8 12 months ago
Quoted from calla76759:

One thing I don't know - is there a sensor in Rudy that detects the jaw being fully open or fully closed?

It’s been awhile since I rebuilt Rudy but I don’t think there is a switch or sensor to detect the mouth being fully open or closed. I think that’s a gear limit/software function.

#9 12 months ago
Quoted from calla76759:

Good idea about 3D printing the Rudy head instead of the metal box. That could be much simpler.
I agree about the Arduino - I am using it to get the servos to move in response to the solenoid signals, and the Arduino has built-in routines for driving servos.
As to the mouth, I've been thinking about how to substitute a servo for the drive motor and gearbox. If you look at the input to the high-current board that drives the motor, it's very simplistic. There is a hi/lo drive signal, and an "enable" signal. It appears that the driver board simply drives the motor clockwise or counterclockwise to make the jaw move, and then brings the "enable" signal low to stop the jaw. It seems like I could use the Arduino to take those signals and generate a servo position signal.
The servo would need to be pretty fast, as the jaw really moves quickly when Rudy yells. I guess it could be geared or cammed to amplify its movements.
Using a servo for the jaw could potentially get rid of (1) the $50 motor, (2) the hard-to-find gearbox, and (3) the hard-to-find high driver board. So it's worth trying.
One thing I don't know - is there a sensor in Rudy that detects the jaw being fully open or fully closed?

not for the mouth limits, but there is one to detect the ball in his mouth as I recall. Which would have to be engineered into what ever you come up with...interested in this project...I did see your post a while back and though this could be a really great upgrade to rudy...keep at it...

#10 12 months ago

Yeah there is an optical sensor for the ball reaching Rudys mouth but its not on the head its in the lane. I don't think there is travel sensor for the mouth.

#11 12 months ago

I would have a micro controller read the old coil outputs and then decide how to drive the servos smoothly like a bridge between the two technologies. You could get really nice smooth blinking then.

-1
#12 12 months ago

not to rain on anyone's parade, but why is this all necessary. All the parts are now readily available and it's a pretty simple rebuild if take the time to do it right.

#13 12 months ago
Quoted from russdx:

I would have a micro controller read the old coil outputs and then decide how to drive the servos smoothly like a bridge between the two technologies. You could get really nice smooth blinking then.

I agree with this. For example, when Rudy closes his eyes, the motion could be slow and smooth, like someone falling asleep. When his eyes go from closed to wide open, it could be super fast. The microcontroller makes it easy to include stuff like that.

As to the jaw/mouth, the input controls are super-simplistic as I mentioned above in post #7. But it's very odd to me that there is no sensor for "mouth open" and "mouth closed." How does the game ensure that the mouth is all the way closed when it's supposed to be? Perhaps the game just gently overdrives the jaw motor to ensure it's in the closed position, and the specifications of the motor are such that it's not damaged by that? I.e. there's some "slop" in the motor/gearbox that the game designers used to close/open the mouth?

I think the guys who made Rudy's Nightmare have an understanding of the jaw motor drive signal...didn't they make some mods to the voice and mouth movements?

I need to model the high current driver board - it has inductors and a 5w resistor in series with the motor, and some (perhaps) clamping diodes behind the inductors. (see attached). This may allow the game to "bottom out" the jaw without damaging the motor. If that's true, then the microcontroller could just drive the servo to full-closed when it sees a sufficiently long pulse on the "Driver down" input.

The alternative would be to put a scope on the Hi Driver Board and watch what the control signals are doing when the mouth goes full open/full closed. Then work backward from that, and code the microcontroller to correctly drive a servo connected to the jaw in response to the control signals.

Untitled (resized).pngUntitled (resized).png
#14 12 months ago

The optos in front of Rudy are to register closed mouth hits. The switch in the scoop inside the mouth is for registering a successful shot to an open mouth. No sensors to detect state of jaw.

#15 12 months ago

As an experienced (but not expert) RC Helicopter flyer, keep in mind that servos driven hard by the servo arm can break the arm or strip the gears. Even metal gear ones. This is especially true if the arm has to be long to make the travel longer. The ball forcing the mouth open could break the servo. Servo travel on a heli is minimal but a crash drives the swath plate forcing the servos to move forcibly. I suggest using larger (not mini) servos as they would be stronger.

#16 12 months ago
Quoted from BillA:

As an experienced (but not expert) RC Helicopter flyer, keep in mind that servos driven hard by the servo arm can break the arm or strip the gears. Even metal gear ones. This is especially true if the arm has to be long to make the travel longer. The ball forcing the mouth open could break the servo. Servo travel on a heli is minimal but a crash drives the swath plate forcing the servos to move forcibly. I suggest using larger (not mini) servos as they would be stronger.

A larger servo makes sense, and the jaw is a larger piece that might be too much for a mini/micro servo. I was also thinking about using a spring loaded "servo saver" on the jaw. Probably not necessary for the eyes/eyelids.

However, the jaw needs a fast servo to match the speeds that the motor and gears achieve. And the supply voltage needs to be at the servo's upper limit to max out its speed.

5 months later
#17 6 months ago

Any updates on this ?

#18 6 months ago

Yes although no pics to show yet. I have the microcontroller piece working, and will find a Rudy head piece soon to build up a demonstration.

1 month later
#19 4 months ago
Quoted from calla76759:

I bought a Funhouse cabinet and boards with no playfield. I'm hoping to find a populated playfield, perhaps damaged or incomplete. If I can't do that, I'll have to buy a bare playfield and hunt down the playfield components piecemeal. But some components are "unobtanium." Unobtanium includes the ball guides, although those can be hand-made as Vid's excellent guide shows. Unobtanium also includes the subway and various scoops and ball-handling components, although some of those are sold online or can be made via vacuum-forming.
But the highest isotope of unobtanium is Rudy himself. The face, hair, mandible, eyes and eyelids can be bought. But the actual metal box doesn’t seem to be sold anyplace except used, and for big money. The internal solenoids are available, and some of the actuators and interconnects, but I don't know if you could kit up everything. And having repaired a Roadshow before, I don't even want to try.
In order to reduce my overall cost/complexity, I'm thinking about scratch-building Rudy, but with the eyes and eyelids driven by servos instead of solenoids. (Specifically, servos from the radio-controlled car hobby). Rudy's solenoids are clunky and violent, and they drive the eyes and eyelids through a maze of interconnected parts. Most of those parts would go away if you hooked up servos to drive the eyes and eyelids. You'd just need some circuitry to convert the solenoid drive signals into PWM drive signals for the servos, and you'd need to trim the servos correctly to hit the three states for the eyes (center, left, right) and for the eyelids (open, wide open, closed). But that all seems doable since servos are meant to rest at center, and then turn left or right. It's easy to achieve three separate states with a servo. The way Rudy's eyes are controlled (in a stock Funhouse) is actually really similar to the steering rack on a radio-controlled car. And although a servo slews between positions a little more slowly than the SLAM of a solenoid, steering servos are still *really* fast. Almost quicker than the eye. And it could look kinda cool and robotic if Rudy's expressions were servo-driven.
If I fabricated a Rudy-size metal box out of sheet metal, with holes/brackets for servos, and cobbled together the right interconnect circuitry, it seems like I could make an "e-Rudy" for not too much money. It would add two $15 servos, but eliminate 4 solenoids and some of the fussiest mechanics in all of pinball. I'd still have to buy the plastic face and the mandible and the underlying scoop, and I'd have to cut a piece of wood to mount it all up. But that seems way better than paying big money for an aging, disintegrating Rudy (or Red or Ted) and dealing with those filthy, brittle internals.
Can anyone provide precise measurements for the metal box that forms Rudy's head, at page 2-23 of the Funhouse manual?
[quoted image]

I've been thinking about replacing the eyes with color LCD like the following.

https://www.amazon.com/Teyleten-Robot-Display-Interface-240x240/dp/B0B7TFRNN1

Using Arduino and relay module, you could detect when Rudy's eyes move, and trigger an animation on the small screens.

1 month later
#20 88 days ago

Finally made a little progress on this - I got a Rudy head frame from Planetary Pinball, and a pinsider sold me the Rudy face and hairpiece. I got the eyes linked up with a servo and controlled by an arduino board. This prototype uses buttons as input signals for the eyes, but I can substitute pad circuits to take input from the Funhouse driver board instead of the buttons. Notice that the eyes only move when the signals are held, which is how the game drives the eye solenoids.

I'll probably switch to faster servos than this slow prototype (and perhaps higher voltage; right now the servo is taking 5v) since the eyes move so instantaneously when driven by the original solenoids. Servos will never be quite as fast, but they might look more fluid.

I'll do the eyelids next.

11
#22 86 days ago

Here's another update with the eyes and eyelids working.

#23 86 days ago

Very cool. I love how quite it is also compared to the normal firing of the solenoids.

1 week later
#24 74 days ago

I made up some servo mounts in TinkerCad and had them 3D printed using Xometry. Now the servos are mounted on Rudy’s head and I can get a better idea of the clearances. The servo locations changed a bit, so I had to re-bend my piano wire connections between the servo horns and the eyes/eyelids. It was tougher this time because I could not use the clamps to fudge the position of the servos and get the eyes aligned…I had to bend/trim the piano wire much more accurately, which is a new thing for me.

I made the servo mounts to use the existing holes in the Rudy head bracket. The servo mounts are ok except for the screw holes to mount the servos. Those holes were much too small and I wound up breaking one side of the eyelid mount. I will tweak the design to include bigger screw holes, and re-do that mount.

My Funhouse cabinet is in deep storage and I don’t have room to bring it home right now. I’m considering pulling the CPU and driver boards out of the cabinet and bringing them to my workbench so I can focus on (1) getting the eyes to respond to the game (which’ll be pretty straightforward), and (2) experimenting with using a servo to control the jaw (tougher). I’m not sure I can effectively substitute a servo for the jaw driver. While I’m pretty happy with the speed and simplicity of the eye servos, the jaw moves a much greater distance. One possibility is that I could use a large servo with a long servo horn in order to provide the necessary range of motion for the jaw. But that mechanism might be awkward. Another possibility is to use a servo with a gear on it to drive the stock “sector gear” for the jaw. That would be a cleaner drive mechanism, but it would require either using the original jaw drive bracket (which I haven’t acquired yet, and is relatively expensive) or perhaps 3D printing a substitute bracket. Also, putting a gear on a servo and linking it to the jaw would subject the servo gears to stress when the ball hits the jaw. By contrast, using a servo horn and linkage (as I’m doing with the eyes) would allow me to include some spring linkage to relieve stress when the ball hits the jaw.

Also, I’m going to need to acquire or build the chunk of wood that sits at the bottom of Rudy’s head. And figure out how to temporarily mount the head so I can experiment with a jaw servo. Lots to think about…

IMG_2505 (resized).jpegIMG_2505 (resized).jpegIMG_2506 (resized).jpegIMG_2506 (resized).jpegIMG_2507 (resized).jpegIMG_2507 (resized).jpegIMG_2508 (resized).jpegIMG_2508 (resized).jpeg
#25 74 days ago

That looks so good. I love the smooth eye movement. So creepy.

#26 74 days ago

This is super fascinating.

Nice work!

13
#27 72 days ago

Made another update this weekend. I realized I could hook up a servo to the jaw inside the head, instead of driving the jaw from under the playfield. This is rough but I think I can make it work.

#28 72 days ago

I’m glad I stumbled upon this thread. This is very neat.
I always wanted a spare Rudy head that I could place at the entrance to my game room. I would make it follow people around with it’s eyes and greet them with something like “welcome to the game room, Biff”.

The original mouth mechanism used a “sector gear”. Since there is no closed loop control, my assumption was always that the software would drive the motor in a particular direction to guarantee the jaw was either open or closed. The stops on the sector gear would prevent the motor from further rotation. Sloppy. But I guess it works. A lot of sector gears have been broken over the years, knock on wood.

Regarding servo placement for the jaw, I would think that a single connection to the jaw would be better. I wonder if rotating the servo 90° and placed more inside the head would help with the geometry.

Cool project!

Chris Hibler - CARGPB #31
Http://chrishiblerpinball.com/contact
Thank you for checking out the PinWiki - http://www.PinWiki.com/

#29 72 days ago

Truly awesome work, even the movements you're able to achieve so far are a massive improvement on stock.

If you need any help with the circuit to sense coil pulses on the arduino hit me up.

#30 72 days ago

Thank you stumblor and @chrishibler. Awesome to get your feedback after posting- I really appreciate it. I am trying to anticipate what it will take to sense the coil pulses. I'm thinking about a simple voltage divider to receive each 50V pulldown signal from the driver board and generate a usable 5v trigger signal for the Arduino. Perhaps I'll need a latch or buffer circuit as well, although I don't see why those signals shouldn't be relatively clean.

The jaw signal will be more complicated. On top of being a 50V signal (actually 2 signals, as shown above in post #13), it's a weird drive/enable signal coding that I'll have to unpack using the Arduino to create a time-varying servo drive signal. I think I'll need to look at the jaw signals from the Funhouse driver board using an oscilloscope to start figuring out how to deal with them. My guess, looking at the circuit above, is that the driver board emits timed pulses to the motor that are consistent with the time it takes the motor to drive the jaw up and down by specific degrees. So perhaps 100ms to drive from open to closed, and fractions of that to move smaller amounts. As you said @chrishibler, it appears to be an open-loop circuit.

I think Larry DeMar and the team just used the jaw-drive hardware and worked backward to create a time-pulse system that let them move the mouth by specific amounts. Pat Lawlor alluded to this in his Topcast interview when he discussed Funhouse. He said: "It took Larry DeMar hours and hours and hours – hundreds of hours - generating a scripting language that would allow Rudy’s mount to look like he was talking the words you were doing…"

I will have to write some code for the Arduino that measures the timing of those pulses and correlates them to servo angles, and run that in an execution loop along with the eye and eyelid drivers. For example, during the Rudy Jaw Test in Funhouse, the driver board will send some full-scale pulses that drive the jaw from open to closed to open. Whatever the duration of those pulses turns out to be, I'll assign those to full-open and full-closed. Perhaps any smaller pulses will simply correlate to a commensurately smaller angle change. I'm guessing there will be some weirdness in how the jaw signal operates, since it was designed to drive a big DC motor that has some lag time in starting and some overshoot in stopping (which a servo does not). It will be an interesting coding project to try to match that with the servo drive signal. But after seeing what the servo can do with the jaw, I think it'll be fast enough to match what the motor does in the game. I was concerned about that before, but now less so.

Here's someone's YouTube video showing Rudy's jaw test and some examples of his speech:

Can anyone think of a way to look at the jaw signals without actually setting up a Funhouse machine? Perhaps a pinball emulator that would let me look at those drive signals?

#31 72 days ago

I was thinking you would do away with the High Current Driver board for the jaw and use the input signals to that board is that right ?

There is a good video if this helps on how the signals work if you haven't already seen it.

#32 72 days ago

Thank you nutty - interesting video and I have not seen that. While the video talks through the high current driver board, it does not show what the signals from the Funhouse driver board actually look like, i.e. on a scope. I think I can infer what the signals look like given the simplicity of the board, though - they must by time-varying pulses that correspond to the movement of Rudy's mouth. So it will be a trial-and-error process to write code for the Arduino that will take those pulses and create corresponding servo control signals, in order to mimic the motions of the stock jaw motor with the servo.

I do plan to omit the high current driver board. The signals from the solenoids (once stepped down to logic level) should be enough to use as input for the Arduino. I am excited about the possibility of eliminating a bunch of hard-to-find elements from the Funhouse bill of materials...specifically because I'm trying to build a Funhouse myself. But this challenge is fun no matter what!

#33 72 days ago

Very cool project calla!! Cool to watch your ingenuity on this and one of the great things about pinside. My wife is impressed I can fix a broke switch or coil lol.

2 months later
Promoted items from Pinside Marketplace and Pinside Shops!
$ 15.95
Playfield - Toys/Add-ons
ULEKstore
 
$ 31.99
Lighting - Interactive
Lee's Parts
 
$ 19.95
Playfield - Toys/Add-ons
ULEKstore
 
4,200 (OBO)
Machine - For Sale
Bakersfield, CA
$ 9.95
Eproms
Pinballrom
 
$ 11.95
Eproms
Pinballrom
 
$ 45.99
Lighting - Interactive
Lee's Parts
 
$ 10.00
Playfield - Toys/Add-ons
UpKick Pinball
 
$ 11.95
Playfield - Toys/Add-ons
ULEKstore
 
$ 29.95
4,900
Machine - For Sale
West Chicago, IL
$ 59.99
Playfield - Toys/Add-ons
Lighted Pinball Mods
 
13,000 (Firm)
Machine - For Sale
Phoenix, AZ
$ 26.75
Playfield - Toys/Add-ons
pinballmod
 
€ 69.00
Pinball Machine
Multiball mods
 
$ 25.99
Lighting - Led
Lee's Parts
 
5,500 (OBO)
Machine - For Sale
Haledon, NJ
$ 79.99
Cabinet - Armor And Blades
PinGraffix Pinside Shop
 
From: $ 9.99
Eproms
Matt's Basement Arcade
 
$ 11.95
Playfield - Toys/Add-ons
ULEKstore
 
$ 29.99
Lighting - Interactive
Lee's Parts
 
$ 1,059.00
Pinball Machine
Mircoplayfields
 
$ 225.00
Lighting - Interactive
Professor Pinball
 
$ 170.00
Displays
Digipinball Shop
 
$ 27.95
Eproms
Pinballrom
 

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


This page was printed from https://pinside.com/pinball/forum/topic/funhouse-scratch-built-rudy-with-servos-instead-of-solenoids and we tried optimising it for printing. Some page elements may have been deliberately hidden.

Scan the QR code on the left to jump to the URL this document was printed from.