I'm building a robot that scratches

I’m building a robot that scratches

Hi guys~

I’ve been DJing for about 3 years, which is cool I guess :stuck_out_tongue:, but I’ve been interested in robotics since I was 3, and I uh have decided to combine the two? I feel bad that I might be helping to make these kinds of scenarios a reality. oh well, I like robots XD

my crossfader-gating and vinyl-manipulating thing prototypes are working as of an hour ago. They’re crappy cardboard XD,

however, I’m designing the parts in Solidworks. I’ve had the crossfader thing designed for a couple weeks now, but I’ll be designing the vinyl thing (based off my silly cardboard prototype)

My materials science professor at my uni (Texas A&M) and his grad student are opening an “Open 3D Printing Studio”, and I took a midterm early and we started talking about 3D printing, and they thought my idea was dope so they’re helping me out with that. The first parts I’ve already designed were printed over the weekend; I accounted for plastic expansion after printing so I hope they fit and it works

It is powered by an Arduino Mega and it uses the MIDI Clock and a few Traktor midi outs based on things like beatphase and such for the timing to sync up accurately. I chose a Mega so I could fit maybe 64 instant-grat scratching patterns on it, it has a lot of memory!

I think tomorrow, I’ll work on building more scratches. when I get more building blocks put together, a beat or two’s worth of a scratch takes only one line which notes the timings and angles of a scratch. I might even make a GUI to build routines later.

I need to upgrade the servo motors, they are pretty cheap and I already broke one.

I bought the scratch record (45 is kind of awkward small and fast though, I have a 33 DJ Rectangle record on the way soon) and my first turntable when I started this. to be honest… its easier for me to build and program this robot to scratch than it is for me to learn it myself XD but I still plan to learn how to manually scratch anyway.

I’d like to be able to control this with a Launchpad or a MIDI-Fighter, but it seems the Arduino only wants to talk to one MIDI signal at a time (which would be Traktor right now). I’m not sure if I want to try to mix the MIDI-In into the Arduino, or if I would rather get some arcade buttons to directly interface (which would be a lot easier and more reliable, though less flexible)~

a bit more code XD

There is already a robot that scratches.

It’s cuts are so precise, the human eye and ear cannot identify ANY deviation from the prescribed BPM.

It’s called a “Q-Bert”. :wink:

Robots are cool - I used to hide them in my mappings :wink:

Haha, awesome!

I could’ve written a pure software solution sending MIDI signals buuuuut something about getting it to work physically feels magical XD

so I recieved my 3D printed parts. I hope they fit, I accounted for tolerances

Dis gon be fun!

haha i want to see more of this thing!

Okay, so I put together the new 3D-Printed crossfader mechanism, and it is far more solid than the cardboard prototype (which… should be obvious :stuck_out_tongue:). I did a gate test (It’s not scratching for the test, its just playing pink noise on loop); it’s upper limit on gating 4 times a beat seems to be about 135 BPM (you can hear it skip a few mutes in the last test)

As far as the fit of the 3D printed parts went, the bearings fit inside snugly, but the shafts that go inside the bearings were a bit too small, so they are wrapped with a bit of tape.. The servo horn also did not fit in at all, so I had to shave one of mine down to fit inside. Both changes have been made in the CAD models and I’ll get it re-printed again.

Old mechanism:

New mechanism

Those are very nice brony stickers.

I got some more progress done, mostly in coding the routines and getting it a bit smoother, as well as optimizing the fader mechanism a bit more.

I’m not really into MLP so much, but I can’t bring myself to remove the sticker, its too cute :stuck_out_tongue:

Pretty cool - I applaud your efforts :slight_smile:

Hey guys! In case you didn’t see it, the scratchbot got an article right here on DJTT by Dan White! I’m happy though a bit surprised it’s already gotten featured this early on!

A combination of broken servos while waiting for the replacement to ship in, as well as school stuff, has delayed me from working on the bot again, but I redesign the vinyl manipulating mechanism’s frame (in cardboard again, but more elegant cardboard!) and got some CAD modelling done

I actually have several redesigns in my head at the moment, I was able to get one modeled tonight. All the parts are 3D-printable (some needed to be broken up into multiple pieces due to the “overhang” geometry challenge) so I’ll send em over this weekend after doublechecking some things. I also still need to CAD design the thing to hold it over the TT, but for now its not entirely necessary since I’ll use the cardboard framework (its also a big “investment” in plastic so I’d rather not print it until this arm prototype is proven)

it uses the parallelogram hinge design to ensure an even contact across the whole gripping pad (which is cut from a dashboard cellphone grip mat)

I started using mass analysis and I find the design is actually a little heavy and imbalanced, at 87 grams (3 ounces). A counterweight may be necessary, but it could get in the way of the needle. It is also not compatible with 7in records at this current configuration; while the arm extender can be shortened to fit a 45, the issue is holding the record at a point closer to the center puts more strain on the servo for some reason (I thought the torque would be the same no matter what point of manipulation if the axis of the servo and the record are shared…). What I might design later is an extension which can be adjusted for 7in vs 12in record…

actually, now that I think about it, I’ve just came up with another design that puts the servo to the center and eliminates two of the bearings and should allow for snappier scratches. Ahhhk, but I have class soon that I’ll need to attend. I’ll do that later.

I think some turntablist basics can make your life easier, mate.

try adding some weight to the headshell end of the tonearm.
try putting some slippy plastic between your platter and the slip mat.
try closing the record hole using some taoe (or a rizla/zig-zag)

You can find vids for all of this on youtube, and I bet it would help with the torque problem…

Thanks! I’m as new to turntablism as my robot is, so learning these kinds of tricks helps me very much!
I just got butter a couple days ago and they really help! I also have 3 thingies of waxpaper between the butter rugs and the record

What exactly is the “headshell end”? Is that the end with the needle? How do I know what weight is too much weight.

By closing the record hole, would that be like filling the space between the hole and the spinny rod thing with some tape or rollin stuff?

I’d like to relieve the servo motor of as much torque as possible, since the less imbalanced load is on there, the quicker it can move the record around with greater precision (which would help it exceed its goal of “scratch as good as humans” by going into "scratch the impossible (for humans)

I just realized, I can probably make a well on the other side of the extension arm that can hold coins as countermass.

ahhh, I wish I didn’t have class today and could just sit around my room designing more stuff XD

The idea I have for redistributing the weight is to move the servo to just behind the center, and then extend a rod out from the servo horn that would control the stuff like this I guess.

Actually, this makes it easy to adjust everything simply by sliding it over. If I can design a reliable locking system, this should be much lighter

Have you hear of Fruity Scratcher? I bet it would help you a lot in understanding how scratches work…

Google it.

I guess to clarity, I’m been pretty familiar with the concepts of how scratching works in terms of cutting and swiping the record at various times and speeds and accelerations to produce and mute the desired sound (having sort of dipped my toes in the water with scratching on a controller), its more so the less idealistic aspects of owning vinyl and scratching such as preventing needle jumps, record maintenance, and getting the perfect slippage that I am really new to :stuck_out_tongue:

I was doing some physics relating to moments of inertia and torque and my servos and the record and the scratching arm. the numbers I’m getting are ridiculous, but when I think about it, that incredibly quick acceleration time does explain why the microservo for the crossfader can gate so fast (and it is lower-spec than the servo I used in the calculations, which represents the current servo installed for the scratching arm). I’m beginning to think that the CG and mass of the arm thing is somewhat irrelevant because of the ridiculous torque on the servo, but that’s only if my math is correct and if the torque isn’t some super ideal peak torque at really rainbow conditions.

I also realize the assembly I am designing on my monitors is… much larger on the screen than it will be in actuality and that the plastic is really quite light. I picked up an analog for approximately 90g and its… very light.

Have you considered using a linear servo for the record manipulation?

OR, even a WHEEL touching the record to move it back and forth???

I briefly considered a simple wheel but initially decided against it since even though it would be effective and simple, I thought it may have been too “boring” of a solution given if I’m making a DJ robot, I might as well make it flashy. However, now that I find that the same motion producing long sweeps may not be the best motion to produce small oscillating wobble motions, I am revisiting the idea of a wheel acting at the end of the arm, acting as both a grip and as a finer control. This can produce some interesting effects that even great scratching humans could have trouble accomplishing, such as consistent wobbling motion combined with a sweep (If that has been mastered already, or if it even has value or actually sounds like garbage, I have no idea about :stuck_out_tongue:)


(i dont have solidworks on my laptop right now ;_; )

I’m not sure if I’m looking at the right linear servos since the screw-activated ones seem too slow and expensive, and other linear actuators like pneumatic or hydraulics are out of my price range and seem kind of complicated. Rather than servos though, I’d like to try stepper motors and traditional motors combined with encoders. I’d have more control over the speed and acceleration and for same price of a higher-end servo, the motors are a lot more powerful and i assume reliable. However, I’m looking at using a solenoid for the crossfader, especially if I want to try to implement a solution that mimics a human hand crabbing. While its not as simple and robust as my crossfader mechanism (which is almost perfectly calibrated), it would certainly look cool.

Unlike the usual mantra of “keep it simple” I’d normally want to apply, since this is a live music performance piece, I’m taking the challenge a bit more complexity for a more interesting or appealing form

There are a few motors on the market that come with the encoder and a gearbox installed that seem much more powerful and less fragile than servos. The servos work their best at full speed, but the more you slow em down, the more unpredictable and twitchy the motion becomes. At least in its current forum and implementation, I think the idea of a servo driving turntable spinny thing is going on its way out. depends on how much of a difference the combination of the new mechanism, my slipmats, and the new servo having twice as much torque as the cheap $2 one it replaced (though with slightly lower action) makes, and if I’m able to pull off some clever programming that can smoothen the slow motion it has issues with.

edit: oh no! looks like I can’t get the parts printed today, that’s fine though, even if I got them today, I don’t have the energy to continue working on it even if I got the parts by 5PM since I pulled an all nighter designing the parts >.<, but they’ll be printed over the weekend. 2 day wait time for the weekend still really beats waiting on a service to ship them! (as you might guess, I infact have amazon prime!)

(Also, I dont know what’s more annoying, tryna use solidworks via remote desktop, or tryna use solidworks with a laptop trackpad)

That or I can optimize this build before it even hits the 3d printer. YAY FOR MASS ANALYSIS AND PHYSICS MATHS AND THINGS!

(clearly am in that sleep deprivation territory where everything flipflops between irritation and irrational amusement)

Rooshi - Just thought I’d let you know, this is one of the coolest ideas I’ve heard in a long time and if you are successful, I will be thoroughly amazed. Good luck to you!

One thing, though. If you are successful then we’re all going to lose our jobs. So please for the love of Scratching, don’t be successful!

Haha, the one thing that would take… ridiculous amounts of coding and research… to design an algorithm that can give the robot human-ish taste in being able to pick and modify the scratch patterns with how the crowd is feeling and the music, for now it is going to need a human behind it picking the taste for it. The only thing I expect it to “easily” do better than a human is get its timings and movements perfect, but its the controlled imperfections of human performance that make human scratching sound so not-cold.