Maker.io main logo

Rock'em Sock'em Robots: Part 1

2023-10-04 | By Zach Hipps

License: See Original Project

Rock’em Sock’em Robots were a popular toy released in the 1960s. The toy consists of ‎two little plastic robots that fight each other until one of them knocks the other one's ‎block off. A couple of decades later when I was a kid, it was still a hit and I have ‎memories of playing with this iconic toy. And because I have a problem with ‎overcomplicating and over-engineering everything that I do, I decided to build a life-‎size version of Rock’em Sock’em Robots.‎

robots_1

robots_2

This is kind of a bigger project so I’m going to break it up into smaller “byte-sized” ‎pieces if you will. In part 1 I'm just going to focus on building and prototyping the arm ‎mechanism that moves forward and punches. I used some pneumatic cylinders in ‎some previous projects, and they are so much fun! Pneumatic cylinders come in ‎different bore sizes which refers to the diameter of the actual piston inside that moves ‎back and forth. They also come with different stroke lengths which refers to how far ‎back and forth the piston moves. I want these robots to be fairly strong, but I think some ‎of the bigger ones I found were going to be too strong. I don't want these robots to ‎destroy themselves so I'm going with a 16mm bore diameter and a 100mm stroke length. ‎The pneumatic piston will be my starting point, and I’ll design everything around it.‎

arm_3

arm_4

The arm needs to be built using a mechanical linkage. I don't know about you, but I ‎have a really hard time visualizing mechanical linkages. I really can't wrap my head ‎around it unless I build a prototype or model it on the computer. It turns out that what I ‎need to do is not actually that hard. It's called a four-bar linkage, and it’s the most ‎common type of linkage. You start with one grounded link that has two joints. The ‎grounded link is our frame of reference, and it doesn’t move relative to the other links ‎in the mechanism. From there you attach two parallel links that are the same length. ‎The fourth link is connected to links two and three and is parallel to the first link; the ‎one I grounded. When you move the fourth link it follows an arc path because of how ‎it's constrained by the other links. I plan to make these links out of some sort of metal, ‎probably aluminum, to keep it lightweight. These aluminum links won't move on their ‎own, so I need to add that pneumatic cylinder. When I attach the cylinder between ‎opposing joints, I can extend and retract the pneumatic cylinder causing the linkage to ‎move in a punch-like arc shape. To help myself understand this a little bit more clearly, ‎I used a really cool online resource called MotionGen Pro that I recently discovered. It ‎allows you to draw and simulate linkages on the computer before building them in the ‎real world. I could probably sit for hours cutting out pieces of paper and trying to get the ‎right link lengths, but MotionGen Pro took out all of the guesswork and saved me a ‎bunch of time. Next, I need to take what I've learned from my simulation and build a ‎prototype.‎

draw_5

draw_6

I used a CO2 laser cutter to cut out some cardboard links and physically assemble the ‎moving arm mechanism for the first time. For a maker like me, this is the main reason I ‎have a CO2 laser cutter. It's perfect for making quick prototypes to make sure that I ‎have the right dimensions before moving on to more expensive and more time-‎consuming materials and processes. I'm really glad that I decided to make a cardboard ‎prototype because I found a few adjustments I needed to make. I forgot to account for ‎the brackets that hold the links together, so I'll need to make the links a little bit shorter ‎to accommodate them. I got everything else sorted out with this prototype and now I can ‎move on.‎

cylinders_7

cylinders_8

cylinders_9

These pneumatic cylinders will run off of my air compressor, and in order to control the ‎opening and closing of the pneumatic cylinder, I need to use a solenoid valve. I need ‎to have one cylinder and one solenoid for the right arm, one pair for the left arm, and ‎one pair for the head that pops up any time there's a knockout. Then, of course, all of ‎that is multiplied by two because there are going to be two fighting robots! I went ahead ‎and ordered a bunch of pneumatic parts and some tubing that will connect everything ‎together. This is going to be quite an ordeal, hooking this all up, but honestly, I can't ‎wait because it's going to be noisy and chaotic and really awesome!‎

parts_10

parts_11

I’ve used 2020 and 2040 aluminum extrusion for many past projects, and I think it's ‎going to be perfect for this one as well. It is a versatile construction material for ‎engineering projects like this, and pretty simple to cut using basic woodworking tools. I ‎cut all the pieces I needed using a table saw, being careful to go slow. As I started ‎messing around with the aluminum links I cut out, I ran into my first obstacle. How am I ‎going to create a joining for these links to pivot around? I thought about drilling a hole ‎through the aluminum extrusion and just passing a bolt through there and making a ‎really crude joint. But I feel like that would have caused a lot of friction. And it also ‎would have looked pretty ugly. Then I remembered that I had some pillow block ‎bearings that I used when I built my CO2 laser cutter. These are going to work a lot ‎better because they're actual bearings as opposed to hastily drilled holes in aluminum, ‎and they’re designed to attach to aluminum extrusion like this. But I need to design ‎and make a little bracket that connects the links to the pillow block bearings. I quickly ‎designed and 3D printed a simple bracket that solved the problem so that I could move ‎on to assembling the actual robot arm. According to my kinematic model, I need to ‎space the pillow block bearings 80mm apart, so I used my trusty DigiKey ruler to get ‎them perfectly spaced. I started to get a little giddy at this point because I could see the ‎design in my head coming to life! It was starting to resemble a robot arm, and the ‎movement was perfect!‎

tube_12

tube_13

tube_14

tube_15

tube_16

tube_17

tube_18

At this point, I'm ready to start figuring out how to attach the pneumatic cylinder. I've ‎gone back and forth on where and how to place these but ultimately decided that they ‎should go on the inside of the arm. To get the mechanics to work, I have to make sure ‎that one side of the cylinder is rotating around the same joint as the linkage. The other ‎side is not so critical. It can still push on that arm and make it swing back and forth, but ‎the back side needs to use the same joint.‎

joint_19

joint_20

Before I connect the robot arm to an air compressor, I need to assemble the solenoid ‎valve I talked about earlier. Once that's assembled, I can connect the cylinder to the ‎solenoid valve and the solenoid valve to the air compressor. The solenoid valve is ‎triggered using 12 volts so I'll use my benchtop power supply. Let's take a closer look at ‎the solenoid valve. It's got five ports, which at first glance might seem a little confusing ‎or overwhelming. But it's actually not that bad. One port is the air intake, then there are ‎two output ports. When the solenoid is open, the air flows from the intake port to port A. ‎From port A the air flows into the front of the solenoid, which retracts the piston, ‎retracting the arm. When the solenoid is closed, the air flows from the intake port to port ‎B. When the air flows from port B, it goes into the back of the cylinder, pushing the ‎piston out, and extending the arm. Every time I cycle the pneumatic cylinder some air is ‎lost. There's no way to save the air that was inside the cylinder so there are two little ‎vent ports for the air to be exhausted. As I'm putting this together, it occurs to me that if ‎you're familiar with electronic switches, this solenoid valve is kind of like a single pole ‎double throw switch. It has one air supply that it's controlling, and it can move that air ‎supply in one of two places.‎

wire_21

wire_22

I think I'm ready to attach the air compressor, but I do not feel safe around this thing! ‎There's no way I'm going to be holding this in my hands on my first test, so I think I ‎should fasten it to my workbench just to be safe. I'm not exactly sure of the best way to ‎do this, so I used a squeeze clamp. In hindsight, I should have spent some time ‎figuring out how to anchor the mechanism to my workbench, but I was too excited, and ‎the squeeze clamp worked long enough for me to test my design. I set the air ‎compressor to 25 PSI because I don't want, I don't want this thing to tear itself apart or ‎for me to get hurt. I connected the air compressor hose, and the arm retracted backward! ‎Success! But the feeling of success was soon extinguished because I couldn’t get the ‎arm to extend to the forward position. I carefully checked the tube connections and ‎made sure everything was correct and that no hoses were being pinched. My power ‎supply was set correctly, and I soon ran out of obvious things to check. I spent a few ‎minutes troubleshooting and realized that the pressure from my air compressor had ‎dipped down to about 12 PSI which was too low. When I adjusted the regulator, I didn’t ‎account for all the air needed to pressurize the system. With the system at pressure, I ‎reset the regulator to 25 PSI and gave it another go. The robot arm flew forward with ‎startling force! I was caught off guard, and absolutely delighted! I had found the ‎problem and was back in business with a punching robot arm! The squeeze clamp ‎wasn’t doing a great job of holding the arm linkage to my workbench, so I decided to ‎stop while I was ahead. I had put a lot of work into this project, and I didn’t want ‎anything to break now. ‎

break_23

break_24

break_25

break_26

break_27

break_28

I'm already working on part two of this project where I build a second arm and print out ‎the giant fists that go on the end of the arms. Stay tuned to see how the project ‎continues next time!‎

project_29

 

制造商零件编号 DKS-PCB-RULER-12INCH
PCB LAYOUT REFERENCE RULER 12"
DIGIKEY STANDARD
¥43.12
Details
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum