Righty II: The Revengeance
Righty has returned from the future, now armed with knowledge of inverse kinematics, to avenge its past self, and to put a stop to the evil time travelling villain known simply as Danahy.
Construction of Righty is exactly the same as in Project 4 (but edgier, cause its from the future). First, a motor was fastened to the top of the brick, nice and snug, so that only the actual motor moves/rotates, and that the motor just peaks out of the top of the brick. Two beams are then used to connect the motor to the base of another motor, which is connected to the end effector. We made the end effector from a motor that changes the orientation of the pencil. The pencil is held tight, sandwiched by two gears, one of which is connected to the end effector. This gives it a greater range of motion
Righty was easily able to pick up inverse kinematics. It was very easy to implement code based on the supplemental materials provided to us which included equations for getting theta 1 and theta 2. And now, as seen in the video, the program actually prints a much more specific description of the orientations of the motors than in Project 4. In addition, theta 1 and theta 2 (our calculated values) are very similar to init_pos 1 and init_pos 2 (angle of the motors), proving that our calculations were right. We also coded a case system that would change values of alpha and beta, allowing the code to account for how two different sets of motor orientations can define the same end effector position, thus removing any possible discrepancies that there could be between the inputted and calculated motor positions. Righty was very successful at this challenge, as seen in the video.
We then defined coordinates such that righty would be able to draw a square. These coordinates are defined in xloc and yloc. We used the same code that worked in challenge 1 to calculate the motor positions.
Then, we ran these coordinates through a simple for loop for the 1st 4 points. Following this, the pen lifts up, moves by 2 coordinate points, is put back down and then then starts drawing the same shape (i.e. the shape is translated). Although the robot played back the same shape in the two different loops, it is not the square we expected. To determine these end effector coordinates that were inputs, we physically moved the arms to determine the position (using code from project 4). When we tried to input these points, we got the same type of drawing as shown in the video below - it moves, but not in the orientation we expected. We believe the logic of our code is right (also partly because it worked yesterday....) but the movement of the motor may not be correct as the errors from the first position keep building up.
The two motors and the end effector connected to Righty II
Reference x-y plane for how Righty II defines the position of the end effector
Isometric view of the entirety of Righty II.