I Made a Robot Arm... in the Middle of my Room!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Hey, I am Jelle and I could really use a helping hand right now… sooo, rather then getting someone all the way to my room, I’m just going to make one myself! Last time I made a little robot friend, everything was totally fine, so why would this time be any different?? *cough cough* Alright, so, making a robot arm is pretty complicated, there’s a bunch of thing to calculate and parts to collect, so I prepared a little list for me to keep track of everything: Let’s take a look: - Preheat the oven on 200° C - Cut the tomato’s in small chunks Wait…That’s the wrong list, where did I put the robot list? (Look between the cook books) Ooh, There it is, it was next to the kitchen robot guide al along: [book title: robot arm for dummies] Let’s get started! In order for my robot to be actually useful he needs to be able to reach all around the place, and before we settle on a design, we need to determine the “work enveloppe”. A smart people term that just means everywhere the robot can go, in my case, I like to imagine half a dome, and able to reach all those points at different angles. So it can hold stuff and maybe poor me a nice drink for once. This rules out the more simple designs, like the gantry ones, they are pretty good at moving stuff around, but are not really the rotating type. And they also don’t look very cool don’t they.., and they are really big… Okey, I admit, at this point I’m just looking for excuses to build an arm like this: [show cardboard arm] I looked at a bunch of existing arms, and boy, I must say, there are some “creative” ones out there. Some joints, some shafts, and motors of all sizes, these were the ingredients chosen to create the perfect robot arm. But Jelle accidentally added another ingredient to the concoction: pinterest boards Thus, the robot arm design was born! Using their extreme precision the base, elbow and wrist have dedicated their power to moving wherever they want, in almost no time! “Duh, duh, dududududuh” Yeah… maybe it didn’t go exactly like that, but still, I designed an arm by combining some cool stuff I saw online. Something I didn’t like was that with a lot of arms, the elbow couldn’t close all the way, so, taking a slightly different approach I went with an offset design. But only for the upper arm, this keeps the forearm in line with base and makes calculations a lot easier. The wrist on the other hand doesn’t have to close all the way, rather it extends further out, so we can keep it in line with the arm. Then the final joint is another rotating on for the wrist roll. (Show parallel with my arm) Owyeah, did I mention that I want to hang it on my ceiling right in the middle of my lamp? And the length of the arm has to be the radius of my RGB lamp I made last time, so I can control the light and show where the arm is going to go! Something like this arm, yeah, that look pretty good, it can reach stuff, rotate a bit and fold back up if I’m not using it! Now… How do I go about this?? I recreated my cardboard model in unity and started tinkering with my IK framework to figure out if all the joints were designed correctly. The only things that roll are the base and the wrist end, so I have to slightly modify the code to separate the parts out. I also simplified the elbow pivot that the arm always goes straight from the center to the target. It’s very good a following the target, maybe a little too good…. I don’t want him going through the ceiling! So I definetly need to remember that! Since my arm needs to be able to handle stuff, I added an offset feature to move back and forth and rotate around a virtual pivot point. Look, it can already poor me a virtual drink, now I just need to bring it to the real world, like, actually build it… Time to figure out what motors I need! Since the robot arm is mimicking the human arm, the joints only need to be able to rotate 180 degrees, and for that a servo motor is perfect, You can very easily control it and tell it what angle it needs to go to. But how strong should they be? Hold on to your butts ladies and gentlemen, time for high school physics explained in 15 seconds! To make sure your robot arm is strong enough, you need to figure out how much torque you need. Torque is the amount of force you need to rotate something at a certain distance away. You might have noticed that when you’re holding you shopping bags from your latest shopping spree (or any object really) are much harder to hold far away from you, than close by, well, it’s the same for motors. The further away you weight is, the harder it is to rotate. This has been your physics lesson for today. So I went from the ends to the base and added all the weights and distances at each joint: The wrist has 2 joints, one for pitching up and down, and one for rolling The last one doesn’t have to lift anything, only rotate the wrist and as long as we keep the weight relatively centred, a small servo like this will suffice, hopefully. The pitch servo will be a bit bigger at about 10 kgcm, while the elbow is already a lot further away so we need to get one of the bigger ones of 35 kgcm. The shoulder joint should contains One pitch servo of 65kg and for the roll, since I want to keep rotating it all around, I can’t use a limited angle servo motor anymore. So for the final joint I need to get a stepper motor, of uhh… well there is nothing being lifted, so the smallest one should be fine right! Into the shopping cart! Alright, the parts are ordered, so while we wait, let’s start programming! To control the whole arm I’m going to use a raspberry pi, it has a lot more computing power than an Arduino but is still very small in size so It’ll fit nicely on the arm! But before we get to that, we’re going to need a prototype, how can we quickly test everything? Well, let me explain! This little robot arm is going to help me figure out all the complicated stuff, so he’s going to need a cool name: let’s call him sir. Vo you get it, ha, because he has all these little servos to control him… Alright, first step: Getting the joints to move: I can use this handy controller to control all the servos with a couple of pins on the pi, I just have to set an angle and… [servo shooting of“ oooh that’s fast! Alright, I have to do something about that, the servo’s are just going to break the arm if it keeps jerking around lik that! You know, this problem is actually pretty similar to the weird linear movement you get with bad animation, just moving from one point to another as fast as possible without any easing. First, instead of just telling the servo to go to the end point as fast as possible, you give it intermediate points to reach after a certain period of time. This is already much better, nice and slow, but not too slow of course! Then, instead of making the next point the same distance away every time, you use another function to make the distances increase and decrease over the track, this makes it much smoother and removes the jerk at the start and end, much better! Next step, going to a specific spot: this is where the IK comes in again, setting the robot arm joint by joint is usable, but in reality I just want to tell it where the end needs to be and that’s it! I just used the same IK code from my unity prototype, but now it’s in Python, I used my magical Syntax converter for that, look at him go, so magical! And with these easy to use functions I just enter some coordinates and of he goes! But this is only the beginning! Now that I can control the robot arm, I need a way better and accessible way! I’m not going to keep typing commands to my pi all the time, what’s this Linux? Nono, I want to be able to control it from everywhere, without any typing, so even my grandma can control it! So just like I did with my lamp, I’m running a webserver on it that allows me to control the arm from whatever device I want on the network, look, It even works with my DS! Now that’s what I like to call a pro game move! Oh, my parts are here, time to get to the Actual full sized arm! I have this basic shape I want to follow, but I have no Idea how I’m going to fit everything in here. I hope I have enough room at least.. let’s just take it joint by joint, starting with the easiest one: the elbow! This only has one servo, so keeping with the rounded theme, something like this should keep everything together. and that brought me to the base Because I wanted the arm to keep rotating, I basically put all the stuff in the shoulder That did leave me with a pretty big problem, because, you see there is this problem that you can’t keep rotating wires, wel I mean, technically you can, but then you’ll just end up with a jumbled mess like when you left your retro earphones in your pocket. And eventually, you'll have separate wires And at this point Pumping all the power I need wirelessly is not really an option yet, so I found this little handy thing on the internet, it’s a slipring, basically its a wire connector that can keep rotating with the use of some little brushes that rotate around the center base. And with this little adaptor, no, this one… no, wait, well, after some attempts, I can slip it around the base motor and get rotating power through the base, to the shoulder joint! The rest of the electronics stuff is mounted together with this bracket and it is all mounted to this lazy susan, so it can just keep rotating forever! Wait a second, I’m doing all this designing, but I don’t even know if the motors are strong enough! Time to make my limbs! I was going to 3D print everything, but considering the size of the arm, I decided to use something faster and easier Like these aluminium profiles as the main structure, that way there is a rigid structure holding everything together. I got these square tubes, now al I need to to is make a little cut and drill a little hole and Tadaaaa, they hold the servo’s perfectly! It’s going to be pretty , so I put my base on a wide vesa mounting plate and.. yeah, that tape should be strong enough right?? Alright robot, show me what you got! [movement demo] Wait, why Is the base not rotating? Is the stepper motor not strong enough omg, Maybe getting the smallest one wasn’t a smart idea after all…. It seems the friction is still pretty high We’re going to need a bigger motor! Luckily all the’s stepper motors have the same basic shape, the stronger ones are just longer just longer Yess, let’s give it another go! [movement demo] back to the drawing board! I need to check if the place I want to go is actually reachable, without it going through the floor, and make sure it's not hitting itself And While I’m back at programming I might as well add a nice little GUI to select a position for the arm on the server, look, it almost looks like I know what I’m doing! Run the tests again! Alright test nr (big number) Alright the rest of the motors seem strong enough, and it's not wrecking itself! let’s get some 3D printed parts of the shelf! We got the Elbow joint, where I spent countless hours figuring out how I was going to put everything together. Because I made the covers slip on the tubes, there was no room to mount the servo’s before that, Because the bolts would just get in the way that’s why I got these long bots so I can mount them from the outer side of the arm, the little bracket on the cover also makes sure that stays in the same place and doesn’t start sliding about. The wrist was designed a bit different, with 2 parts where the left side would be mounted to the servo, and the right side can be used to stabilise and hold the final wires. The final small servo can then squeeze in between, oh, look at that perfect fit! And This ring holds everything together! Ow yeah, do you guys like cable management? yeah, me neither, so I designed these clamp on covers with magnets so I can hide all the ugly wires in the base! Alright, let’s give these a nice paint job and see if it actually works! alright, nice and smooth, this is much better I can make him go up a little bit I can make him go down [haircut incoming] [haircut] My hair is gone! Ah, damn you robot, time you get of the floor and onto the ceiling just like that ladies and gentlemen this is the moment we have all been waiting for prepare yourself to witness bedroom engineering at its finest the first hand I have for you today is this phone mount [demo] alright, camera arms are pretty cool, but I hear you guys already how hard can it hit stuff? well, lucky for you, I have just the thing this boxing glove attachment let's see how hard you can hit stuff alright the boxing glove is attached, let's see what it can hit I am a little scared alright, that was pretty fun what should I do next with my robot arm? post it in the comments below be sure to like the video if you think robots are cool and subscribe to see what I'll do with him next and I'll see you guys next time after I clean up all this mess ah, another successful project time to play some video games wait, where is my controller?
Info
Channel: Jelle Vermandere
Views: 1,052,866
Rating: undefined out of 5
Keywords: Jelle, Vermandere, how, to, make, unity3D, blender, gamedev, indiegame, game, 3D, Gamejam
Id: nRsaf16EdNM
Channel Id: undefined
Length: 14min 42sec (882 seconds)
Published: Tue Feb 22 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.