6 DOF Robot Arm
Hardware- 3 Devlogs
- 8 Total hours
A 6-DOF robot arm that can take the print bed off my Bambu Labs P1S.
A 6-DOF robot arm that can take the print bed off my Bambu Labs P1S.
DEVLOG 003 – Finalized J3 design, knocked out J4 and J5, and got the gripper working
Since the last devlog I’ve gotten a LOT done. Starting with J3 — Total gearing gets me about 3.2 N·m at the joint, which clears my 2.2 N·m target with margin. Only thing left is adding the metal shaft that transfers rotation from the bevel gear through the two bearings to the forearm. Once that’s in, J3 is done. Also good to note that the metal shaft connects to something that looks like an m12 nut and that will drive everything.
J4 and J5 are basically finished. Both use STS3215 bus servos and after doing the math, carry plenty of torque, so no torque worries there. Also figured out that the STS3215 mounts really differently than a normal hobby servo. Instead of ears on the sides, it has 8 mounting holes spread across multiple faces of the case. The community standard is a two-piece “sandwich” bracket that clamps around the servo body instead of screwing into it, which is what I went with.
Then the gripper. I went with a scissor design — two gears mesh with each other, one gets driven by the servo, and each finger bolts rigidly to one gear. When the driven gear turns, the idler turns opposite, and both fingers open/close symmetrically. Also decided on a 35mm flange for the end effector mount so I can swap tools later (gripper now, maybe suction cup or camera later). Target opening range is 0 to about 70mm which should grab basically anything on a desk.
OLD FIXES: I still have so much to do because I need to fix j1 and add a bearing, figure out j2 mounting, and more. I will keep working. Thats all, CHEERS!!!!
DEVLOG 002 – Worked on J3 (joint 3) and fixed issues with previous designs
Today was heavily focused on working on the third joint. I was originally going to use a closed-loop servo, but due to a better deal I found for motors, it would be easier to use the extra stepper that comes in the bundle of three rather than not using it. I also decided to use a 6:1 gear ratio, which bumps up my torque to around 2.52 NM which is plenty. My biggest struggle was trying to decide how I was gonna connect the stepper to the joint. I originally intended to use a HTD belt and pulleys, but after further CAD and more research, I determined that they would be bulky and take up more space than what is available. After more research, I decided to use a 1:1 pinion gear ratio to get the job done. This worked perfectly for the space that I was given. It also should be very efficient in transferring the force. I also was able to make the bracket to mount it, but my only issue is that the manufacturer of the planetary gearboxes did not give where the mounting holes are, so I will have to measure them and add holes whenever I physically get them.
For fixing old mistakes was mostly that I was really unsure how to properly mount a planetary gearbox, but I fixed that issue on joint 2. That was practically it for old stuff to fix (EVEN THOUGH THERE DEFINITELY IS MORE)
LAST THING: I finally figured out how to start properly logging hours. It is sad though because I have lost around 4 Hours due to these issues, even though I can show the compiled time-lapses on lookout. It’s all good though. At least it is figured out. That is everything CHEERS
YOOOOOOOOO Today was officially the first day of working on my robot arm! Here is everything that I have done so far, including any issues or troubleshooting I have had to do. - The first thing that I needed to figure out was what motors are actually gonna be driving this beast. After some intense research, I decided to use two NEMA 17 motors with planetary gearboxes (5:1 for base and 20:1 for shoulder) to power the base and the shoulder joints. I will also be adding a way to turn them closed-loop, although I am still just learning how to do that. For the motors for the rest of the joints, I will be using closed-loop servo Motors. I also did want to mention the reason that I will be using closed-loop motors for all of the joints is that a closed-loop system (Allows for the motor to know where it is) allows for a more precise robot in general. - The second thing that I did was I started working on the CAD. So far, I have logged around 2 hours on LookOut (I am still trying to figure out this whole system because Hackatime does not integrate with Fusion, so I can’t log hours. But the hours I record on Lookout do not update here. Very odd; please lmk if any of you guys know what I am doing wrong) I have finished the base and part of the shoulder but still have a lot more work to do. - My biggest troubleshooting issue I had is that due to the rotation of the arm, if it takes load from the side, then it would practically just tip over. To mitigate this, I wanted to add a pole that connects to a ball bearing at the base of the arm so that instead of the arm grinding against the wall where the thrust bearing sits, the ball bearing takes the load. The reason I didn’t stick to this design is that I wanted to have the shoulder attach to the planetary gearbox via coupler; this meant it would have to be in the center where the ball bearing would have to be. I decided I am going to have to somehow add a ball bearing on the shaft below the coupler that can take the load of side forces instead of the stepper motor taking all the blow. Still figuring out how to actually do it, but I’m sure there is a way. That’s mostly everything!!!! More great things to come!