Braccio

Process
My inspiration to become an engineer was prosthetics and mechatronics. So, when I was a freshman and decided to do a personal project, I put robot arm on the list of possible projects. Upon questioning one of my friends on which I should do, he replied "definitely not robot arm, thats probably too hard." And so, I decided to build a robot arm. I constructed the first version during Christmas break freshman year. It was made out of wood and hardware store items because I didn't have a 3D printer, and the control equations (if you could call them that) were purely algebraic and trigonometric identities based on an end effector coordinate position. It worked, and could draw out 2D and 3D parametric equations, but had so many flaws because the lack of a proper design. I couldn't just leave it at that, a sub-par design with no functionality! That led me to do the same thing over a year later, summer after Sophomore year, when I had real resources and skills to apply to the problem.
A first principles design process was key.
A quick and dirty solution is the first step in my design process. After establishing a low level baseline, better requirements for a final functional version could be established, based on research and real experience instead of speculation. The initial requirements were:
- Payload: 0.6kg
- Total length of arm: 2ft
- Encoders on joints 1, 2, 3, and 4 with 1000ppr resolution for PID control
- +/- 1cm accuracy
- 0.5 m/s maximum velocity at end effector
The chosen design software was Solidworks, because of its efficient and user friendly UI, and the free student version. In order to achieve the desired design requirements listed above, stepper motors with gearboxes and belt drives would be necessary. This is standard in robotics because of their high precision and relatively high torque to weight ratio. The arm would be driven with an Arduino mega, and 5 A4988 chips would drive the 5 stepper motors for each DOF. As an added bonus, an ESP 32 chip could be used to give the robot wifi and bluetooth connectivity, which would greatly expand its usability.
The brains of the bot could be powered by an on board 5v battery. The stepper motors require more current than batteries could reasonably provide, so they will need a power supply for a standard 120V U.S. outlet.
Putting pen to paper... or mouse to screen
After ~150hrs of cadding and redesigning, a 99% design was reached. The final design consisted of four major sections: the base, first link, second link, and final link. The base houses all the electronics, and the first two degrees of freedom, and the rest of the arm is connected through an 18 connection slip ring. All degrees of freedom are driven by some type of NEMA 17 stepper motor. The DOFs and their steppers, as well as torque, are as follows:
- DOF 1: 56Ncm with 3:1 gear reduction making 118Ncm torque
- DOF 2: 56Ncm with 50:1 gear reduction (planetary gearbox) making 2.8Nm torque
- DOF 3: 45Ncm with ~4.5:1 gear reduction (belt) making 216Ncm
- DOF 4: 16Ncm with ~3:1 gear reduction (belt) making 51Ncm
- DOF 5: 16Ncm with no gear reduction
The belts in DOFs 3 and 4 allow the motors to be lower on the link, lowering the center of gravity and making them relatively lighter. All joints other than 2 should be capable of traveling at 1 rad/s. The arm + base weighs 4.95kg [3.9lbs], whereas the arm alone weighs 1.77kg [10.9lbs]. The lengths of the individual links are as follows:
- Length of link 1: 0.33m [13in]
- Length of link 2: 0.203m [8in]
- Length of link 3: 0.076m [3in]
With estimated link weights and lengths the above torques should be sufficient to make a payload of 0.5-0.6kg. After recording all parts prices and quantities in a PPL, the final cost for 1 is $811. This is with parts purchased from McMaster Carr, which is on the higher end of typical part prices. Additionally the price per unit could drop as low as ~$550 if one was manufacturing more than 100.
Building a real robot
There were 32 parts that needed to be printed, which took more than 150 hours. A couple of parts did not fit properly, so minor redesigning and reprinting was needed for proper tolerances. While the parts were printing, all COTS items were acquired from McMaster Carr, Stepper Online, and Amazon. As the parts printed preliminary testing was able to be done on the individual DOFs. This allowed me to develop a better understanding of how the wiring would work, and to check that my joint designs were sufficient. The preliminary testing revealed minor problems with the belt tensioning, but that was fixed swiftly with some shims under the wheels to stretch the belts more. All the DOFs were functioning individually, and all the parts were printing.
Full assembly of Braccio is quite easy, taking no longer than 10 minutes. That is, assembly without wiring. That brings us to today, where the wiring is partially complete. Currently the major problem with the wiring is lack of connections in the slip ring. Each stepper has 4 wires, and with 4 steppers that makes 16 connections. This seems fine on the surface, which is what I thought initially, but I failed to considered the wires for encoders. A 3 channel encoder has, well, 3 connections, which would bring the total amount to 28. The current plan to overcome this is to not use encoders on the 5th DOF, and to combine the grounds and live wires for the rest of the encoders. The only connections that need to be separate are the signal wires. I could also theoretically ground the A- and B- connections of each stepper to the same two wires. If I am correct in this, that setup would require 15 connections total, leaving io for an end effector. The next step is to get a power supply large enough to provide 24V at 2A to all 5 steppers, because currently the small power supply being used it the bottleneck. After that, Braccio will be assembled and fully functional, able to be programmed and experimented with! Now that's exciting!
Result
While Braccio is not complete enough to verify payload and accuracy, the process up to this point has been an invaluable learning experience. I have broadened my own perceptions of what engineering problems I can solve, and expanded many skill sets in order to get to this point. In short, I have learned first hand every step of the engineering process.
Currently I am working on the wiring and circuitry, after which programming and real controls can be applied. I am currently in a system dynamics and controls class, so I am eager to apply that knowledge to the robot.


