Alas, the time has come for the final fabrication assignment, one that beautifully encapsulated my experience making stuff for this class — agonizing over ideas, sourcing of janky materials, pivoting mid-way through, and both finishing and not finishing. It’s been a blast.
For this week’s assignment, to mount a motor onto something and to mount something onto that motor, I was conflicted on what to do. It’s finals, I don’t have a lot of time, I can’t order a ton of stuff with all the holiday madness — should I aim low to ensure completion, or should I take a risk and (probably) not finish… I was debating between two ideas.
I LOVED the inspiration link to Zimoun, an artist I had never heard of but now count among my favorites. Immediately after last class I watched this video and felt the ripple of influence across my life in 4 dimensions:
I’m a huge fan of art that takes a really simple, small component and uses 1,000 of them to do something really interesting. I can definitely see myself doing something similar in the future — mass quantity and huge footprints are attributes I appreciate in installations. But alas, I only had 4 motors in my kit, and even with a cheap DC Motor kit on amazon (20 for 12 bucks??? wow!), what would I do and how would I have the time to make 100 of something? Yeah, yeah, I could go smaller, but having 4 of something, or even 10 of something, just doesn’t compare to 1000 of something. You think 20 or 100 is a lot, and then you step back and realize volume SUCKS and your massive project is barely anything. I’m not bitter.
So plan B: what did I have on hand that could make for a good motor companion? Well I have over 150 transparent dildos because of this project, so I figured that was a good as reason as any to try and do something motorized with them. So I thought, dildos on DC motors? DCildos? That seems simple enough. But upon a perfunctory test, I realized it would be a lot of hassle (and some purchased shaft couplers) just to get the shaft to couple (eyyy) and that still wouldn’t be very interesting. Four dildos spinning in place? *Yawn*
I’ve been kicking around a concept for over a year that I call “Male Gaze” which would be a room full of dildos on mini bleacher stands, all hooked up to motors that adjust their position based on motion tracking software detecting people in the room. There are possible other variations, some messier than others, but that’s the core concept.
For anyone reading this unfamiliar with the term “male gaze”, I was advised that you might appreciate a definition:
”In feminist theory, the male gaze is the act of depicting women and the world, in the visual arts and literature, from a masculine, heterosexual perspective that presents and represents women as sexual objects for the pleasure of the male viewer.” — The All-Knowing Wikipedia
So anyway, I thought, hmm, maybe one dildo is enough in this case, perhaps even better than four; I’ll get one of those pan/tilt servo things we saw in class, strap the dong on that bad boy, and use some sort of face tracker web cam thing to have the dildo always point to the person’s face (and I’ll even throw a googly eye on there). It would be a prototype of the bigger room, but still a complete entity in its own right. Now we’re cooking with gas. But wait, I have to order a pan/tilt servo thing…
Hence the dilemma: Do I try and rush ship a PTST (Pan/Tilt Servo Thing) and only have a couple days to try out a brand new type of interaction with tech that I’ve never used before? Or do I just put the dicks on the DC motors and call it a day? Well I told myself to play it safe and not do the PTST & face tracking combo, and I had myself believing that for a whole half day! Pshh, like I would just put dildos on DC motors like some amateur. Unfortunately that half day was just long enough to push my shipping date back to Sunday, and then because of life, that got delayed until monday night. So I didn’t have the PTST in hand until Monday at like 8pm, but nevertheless, with the help of some caffeine, I hunkered down and began to make some magic:
THE PLAN:
Use a dildo attached to a Pan/Tilt Servo Motor to follow a user’s face based on face tracking software coming in through the camera on a raspberry pi.
At first when planning the design, I planned on doing two dildos each with one eye. I was really intrigued by the example passed around class of the ping pong ball eyes controlled by one lever in the back — it would be great to do something like that since the eye movement was so realistic. But I was a bit hazy on how the motor would fit in with that, and the thought of adhering the dildos to a round surface with all the weight jutting out like that… no. So then I thought, well I could get two PTSTs and then they could each just get the same signal, but then imagining that movement led me to believe it wouldn’t be realistic eye movement. Which was good because I could only get one PTST shipped quick enough. I considered doing two dildos on one, but I was worried about weight and once I saw how insanely tiny the PTST was, I knew I had to stick with one. But I think it worked out for the best.
So upon some quick google searches, it seemed like the best plan of action would be to use OpenCV with Python on the Pi and control the servos with a prepackaged script from Pimoroni or some servoblaster library. There were a lot of PTST face tracker apps already out there, so I figured it would be a piece of cake to just drag and drop the files into my project. Hoo Boy… It’s never that easy. To go over all the issues I had between 8pm and midnight would take a whole other blog post, but they include me being a Linux N00b, the articles I was copying were Six Years OLD, and one of my servos being broken out of the box (I think). Suffice to say, I had a moment of reckoning at midnight where it felt like I had made negative progress, and I knew I wouldn’t have time the next day to figure anything out, I had to have this thing working by the time I went to bed or abandon all hope. So with one last ditch effort, I took a sharp detour, went back to the shameful safety of Windows, and found redemption:
PLAN B:
Use a dildo attached to a Pan/Tilt Servo Motor running off an arduino to follow a user’s face based on a p5 sketch running PoseNet coming in through the a webcam on my laptop.
I don’t know why I don’t just start with Tom Igoe’s code everytime I do a project. It’s sure as hell where I always end up. After finding the gold mine that is (surprise surprise) the ITP PComp online tutorials, I knew I could get something to work. The above video was my final test at 430am.
I had to change a lot of my intended designs with this shift, and because the top servo was giving me hell, I limited the motion to one axis (horizontal). I was a bit nervous using poseNet for the first time, but after messing around with the default example, knew it would be super easy to implement if I just ignored everything but the nose object, and used that to dictate where the servo should point. The biggest hassle was figuring out how to get the right info sent from p5 to the arduino over serial. I’ve done a few projects with serial but I feel like every time I do, I have to completely relearn the core concepts of binary and ASCII text and all that fun jazz. Luckily I found a forum post that helped me get the arduino to filter the incoming string messages and only send them to the appropriate servo (since I was sending X data to the bottom servo and Y data to the top servo, or so I hoped). Then it was just tweaking the mapped values and having to reset the serial server over and over. But it did the thing! And it was good.
Then I had to go back to the drawing board for what the actual mounting would be. I had first envisioned a box with the PTST mounted on top, the pi camera peeking out of a secret hole in the front, and a neck tie draped over the front for fun effect. The box would feature totally self-contained tech/hardware, with just a power cable coming out, but now that the laptop was here to stay I had to figure out what to do. I also figured I might need to go get more screws because the PTST obviously didn’t come with any, and I only had two SUPER TINY screws. When I got up in the morning — EXHAUSTED — to go find a box at the container store (no more shoe boxes for this boy!), I threw the necktie onto my desk and realized… Hey, I don’t need a box. I’ll just mount the PTST directly to the triangle knot of the tie, and ditch the box since I don’t have a whole lot of hardware I can fit in there anyway. Plus, I can sew the motor onto the tie through the screw holes, and not have to go buy screws or a box! Hooray! As the Dan Shiffman of Painting would say, “a happy accident”.
Working on the floor was a lot of fun. I generally don’t do a lot of my microcontroller based work there just because I keep all my hardware stuff at home (I can’t fit it in my locker/toolbox/shopbin…). But circumstances necessitated it, and I was happy to place my dildo center stage in the lounge. Got a lot of fun looks and conversations out of it, including a visit from the man behind my curtain himself, Dan Oved! It was an honor to have him see my application of poseNet. When I got to sewing, my friend Idit showed up like the fairy godmother of fashion design and textiles and offered some sage wisdom (and helped thread my needle once).
I grabbed some scrap wood from my bin because I knew the tie wouldn’t be able to hold up the rotating servo on its own, so I made a little base by stapling the tie down to the wood. For mounting the dildo to the PTST, I considered adhesives, tape, cock ring around the plate, etc., but at the end of the day, I decided a clear zip tie threaded through the plate would be the simplest and most effective solution. To get the googly eye to stick to the silicone, what else to use but my trusty Goop?
SO FOR MY FINAL FABRICATION ASSIGNMENT, I USED:
THREAD, STAPLES, A ZIP TIE, and GOOP
I’ve really come a long way, haven’t I?
For the final touches, I got a wig I had in my locker and tried to spice things up with it. I figured it could work as an enclosure of sorts for the arduino, to reduce the amount of exposed wires since I had so many that were unavoidable.
All that was left after that was to sit back and watch the horrorshow unfold.
At the end of it all, it definitely feels (and looks) rushed, but I’m happy that I took the risk and made something that works. My take on this piece, and pretty much every fab assignment, and pretty much any project I’ve ever done is:
You can always make a good idea look better later, but a shit idea will always be shit, no matter how much you try and spray paint it gold.
Next steps would be to make it work more reliably (with two axis servos and a better reset for the sketch), and to really focus on the appearance. I think my end goal for this iteration of Male Gaze would to have a tiny subway seat that the tie was draped over, with the servo secretly mounted to the heavy plastic, and a tinier wig floating above the moving dildo. Maybe for the spring show ;)
Fun ideas after feedback from class:
would be great to have the servos hidden
could incorporate an eye into the actual dildo itself, or even have an eye that could blink with a motorized lid
wear the tie in a conversation and have the interruption be the point
could even lose the dildo and have the tie itself erect (similar mechanism to Peiqi’s penis wall)
Should collab with Andri on sex-ed stuff