Robotic Arm for 2D Kinematics
Robotic Arm for 2D Kinematics
The overall goal of the project is to create a robotic arm that will be able to get to certain end effector positions that have been inputted into the code. We want to design and 3D print two links that have the ability to reach the ground. We then want to program a code that can calculate the angles necessary to reach the end effector position through inverse kinematics.
We initially used the research resources provided to us on CTLS to insight ideas. We decided it would be best to 3D print our links, in order to reduce weight and increase freedom in what we can design. We could then proceed with the project.
Here is what each of our jobs were:
Bryce- Designed the full arm in Onshape, built the arm mount, and assembled the arm
Abhay- Created the code using forward and inverse kinematic equations that allowed the arm to find the positions and move there
Shreyan- Helped assemble the arm, secured it to a stable base, and designed a battery mount in Onshape
Sam- 3D printed arm and helped assemble arm to the base and the arm itself
We created the sketch to the left to start our design process.
Following planning, I started designing the robot. I inserted in references of axles and servo modules in order to start designing the arm. I CADed the original link on the axle and servo, then mounted another axle and servo onto that link. The second link was then mounted to that axle, so the second could spin without affecting the first. I built a mount out of VEX parts to secure it to a base. We then 3D printed the arm and assembled the CADed arm module. We discovered it was smaller than we would've liked, so I redesigned it and we re-3D printed it. We then coded our code using a reformed 2D inverse kinematics code. We had some issues with servo positioning and setting values, but we got those resolved.
We initially used an arm with links of 4 in and 3 in. We discovered that this would be hard to implement, and we wouldn’t be able to distinguish between precise points that we set the arm to. So, we decided to expand the links of our arm to 6 in and 5 in. This allowed us to both reach the ground with our arm and check if our code was accurately working. We also had to change parts of our code to make it where the arm reached the end-effector position each time. Our robot uses both the forward and inverse kinematic equations to identify and reach the end position and orientation. Finally, our arm was complete and it correctly reached the end effector position.