Update 2024

Since the original post several changes have been made to the arm. Some of these changes include the Nema 23 for the lower rotational axis of the arm. This more powerful stepper motor has 1.3nm or torque compared to 0.3 for the Nema 17 motors used originally. This should ensure the arm has sufficient torque to move the arm and any attached payload. The arm also has breakout board limit switches, that when ran through a calibration cycle will allow the arm to match a virtual model using inverse kinematics. The arm also uses a variety of bearings now. Because the previous iteration used skate bearings, and aluminum rods on all rotational axises, this created some difficulties with assembly. The newer version eliminates this by using 25 - 80mm bearings for its different rotational axes. I plan to use Move-It ROS package to operate the arm and hopefully use it for some basic pick and place, or assembly tasks. Hopefully in the next update I will have footage of the completed arm or at least some of the 3D printed components ready for assembly.

Update 2/23/2025

Currently the V2 robotic arm is nearly complete. One challenging issue was how to work with GT2 belts. While it seems simple to splice belts, and add tensioners, this process has been quite a bit more challenging than was first anticipated. Several iterations of 3D printed splice adapters have been used; however, the ultimate plan is to switch to pre-sized belts and determine a final size length for upper and lower parts of the arm. 

The primary focus is now on software. This project was originally going to be integrated into ROS Move-It to allow for collision checking, and path planning, however, to test the arm custom software is required to make sure everything works. Currently the arm uses inverse kinematics for a Standford 6-DOF robotic arm, however this only handles static point-to-point movements, and there is no way to control linear velocity, which would be necessary if the arm was used for tasks such as 3D printing, or plotting. To fix this a novel solution is to calculate the difference between it's transform matrix along the linear direction it should move, and then use this matrix to determine the joint angles based on the desired linear velocity for the end effector. Currently i am working on a way to test this in matlab. more updates will be posted as they are completed.