Nichols Crawford Taylor
Robot Arm Design
I'd like to build another robot arm. My past one had a lot of flaws, and I'm interested in iterating on it. But what is the reason to build one at all? Well I can think of a few.
Providing a low cost alternative to arms traditionally used in research. Research labs could more affordably increase their capacity, so students wouldn't have to worry about scheduling robot arm usage, or labs could build larger scale data collection efforts.
At-home experimentation. I'd really love to research making robot arms useful in at-home settings, but even if I'm successful, I couldn't afford one to actually play around with at home. I think having an arm at home would be fun for displaying or using research at home, and motivating projects. I.e. if I want an arm at home to do laundry, I could actually attempt to program the arm to do it for me. Difficulties, or solutions could become research directions.
Enjoyment. It's super fun to design, build, and flex algorithmic and system knowledge. I like to design and manufacture physical things, and program them. I may have good reason to make circuit boards, learn more about RTOS, and build good support infrastructure around the arm. (Like easy to use analytic IK, workspace descriptions, fast motion planning, etc.)
Guiding research towards lower cost hardware. This is more hypthetical, but there are differences between ~$100k and ~$1k (my target) arms. Less precision, limits on energy, or just the lack of brakes in the arm. Perhaps differences in arm construction may offer up different research priorites or strategies. Especially if our research is aimed at in-home robotics where low cost will be a priority.
With that, my goals are towards a low-cost usabillity focused arm. Here are some desirable qualities.
7-DoF, S-r-S structure for the solved IK.
Cheap. Minimal cost, while maintaining the other desirable properties. I'm targeting ~$1k.
High payload. Doesn't have to be crazy, but I hope for 3-4kg on top of the arm and hand weight.
Repeatabillity. Again, not searching for sub-millimeter level, but my last arm had quite bad (maybe 8cm) repeatabillity. Hoping for 1-2 mm.
Long reach. Aiming for something respectable and usable, potentially for a future mobile platform. ~1m.
Graceful failure. This is less on design, but I'd like the arm to avoid catastrophic failure. Good heat/current managment, and emergency protocols.
Ease of assembly, dissasembly, and repair. Avoiding adhesives, overly complex mechanims, or too many parts.
Co-bot. Backdrivabillity, force or impedance control, with reasonable limits to ensure safety around humans.
ROS integration. Again, software part, but should be easy to hook up to ros systems, including with planning.
Integrated hand(s). One strategy often employed in robotics design, is moving motors farther back along the kinematic chain. Hands are often seperate, leading to a large payload at the end of the arm. Hopefully, I can integrate the hand's motors in to the robot, slightly further up the kinematic chain for better payload.
There are a few big choices to be made. The structure of the arm, motor and controller type, gearboxes, bearing sytle, and manufactuing. First, the structure. This is settled by the goals. I'm interested in a 7-DoF, S-r-S style arm. Broadly, I feel mimicking the iiwa's structure is a solid choice.
Motor type. Typical for hobby arms are servo motors. These are great because they are easy to control, have good holding torque, and are cheap. However, there's not really force control for the hobbyist servos. We want that for impedance control. That leaves DC and brushless motors. I'm not positive DC motors are a bad option. Though, I haven't seen anything that can match the speed/torque combo of brushless motors. For my last arm, I used very cheap brushless motors. They could get up to 1NM of torque, and go insanely fast. I'd like to revisit to characterize them better, before selecting new motors/gearboxes. But I had a ~30:1 reduction, and it was still way too fast. The main disadvantage of the brushless motors is the cost of controllers, but recently I've found out you can get assembled ODrive boards from aliexpress for ~$60. While I love Moteus controllers, and think it might be better to get the ODrives from their normal source, this price is hard to beat. Since each ODrive controls 2 motors, that's $30 per motor for control. So that's probably the motor/controller style I'll use for the arm.
For gearboxes, last time I built plantary ones out of plastic. They were loud, broke fairly frequently, were hard to construct, and were large. I've seen a bunch of hobbyists online build their own cycloidal drives, and that could be an option. However, for ease of assembly, as well as the offered flexibillity, it might be best to go with metal pre-made gearboxes. In particular, on Aliexpress there are some cheap Nema24, high torque, high reduction gearboxes . It's hard to beat 216:1 reduction for $34, though shipping isn't cheap.
Bearings are another tricky item. For a lot of low cost robots, they use what I'll call normal bearings, and press fit or clamp mount them. I think this isn't a bad strategy, but it does make manufacturing a little trickier. I'm interested in using a "robot joint bearing" like this. It seems like it would be much easier to mount to, especially for joints 1, 3, 5, and 7. For the even numbered joints, I could use flange bearing on each side, though weight would be an important consideration.
For manufacturing choices, I'd like to avoid machining parts. Though I enjoy doing it, it would make the arm much more difficult/expensive to reproduce. For my last arm, I 3d printed a lot. The plastic isn't super strong, so it might not be a great choice for each part, but printing in certain orientations can be reasonably strong. Additionally, 3d printers are very availabe helping reproduction. Cut and bent sheet metal is a very strong option. Access is a bit tricky, but not awful. I think most universities have something like this, along with some maker spaces, and if all else fails, there are online servicies that can do it for you. Wood is also an option, though more flexible, and heavier per strength than metal.
Most homemade robots have different goals. They're also largely 6-DoF. They have low payloads, are made with steppers, and don't do impedance control.
Walter, made by Jochen Alt, does a lot right. Its presentation and design are stellar. The color choiced and vintage style make it quite a stand out. I'd love to incorperate making the robot pretty in to my own. I'm also super impressed with it's operation and accuracy, possibly stemming from it's post-reduction position measurement. That could be a good idea, though I hope it won't be needed due to low backlash in the system. I think its motion planning is cool, but isn't really what I'm going for in terms of research integration.
Thor, made by Ángel LM is also very impressive. I think its distribution is strong, with great building guides and documentation. The parts are designed well for 3d printing, though the long manufacturing times are noted. Theres also some cool differential gearing. I'd like to incorperate similar solid documentation.
This one's super professional. Arctos. I like the strategy for the bearing at the base, using the little skateboard bearings to support lateral movement with the regular large bearing in the middle. Not sure if the potential reduction in wiggle is worth the $70 for the robot bearing. I'm also not entirely uninterested in selling kits, or even assembled robots, though it'd have to be a high price. Their kits are about ~800 per bot, which isn't awful.
Skyentific, a youtube channel, made some of a brushless arm. He ran into some of the same flexing I did with my first arm, where it just bends a lot. I think the flexing like this doens't necessarily make the arm unuseable, but to make it actually usable we'd have to do some control on the end effector's position with a camera or something, and is somewhat undesirable. I'd like to improve on the cost, control, repeatabillity, and manufactuabillity.
I'll first have to come up with some rough design sketches, and pencil out desired torque and speed. I'll come up with some bearing choices, and their weights. Then, figure out motor and controller capabillities and thus reduction. From there, figure out how motors/gearboxes/arm will be connected, and flush out the design.