Work I Completed
This week, I have made more decisions toward Winston’s requirements and design and have finally made progress to creating him. After I decided on the motors which I wanted to use last week, that being 4 HS-311s and 8 SG90s, there was some discussion about whether switching 4 SG90s for the HS-311s meant that more power was required. I decided that this was an issue that I am going to face another day. I have since started working on the actual Fusion design and, as of now, have finished the first prototype of the leg which I sent off to someone to print. This design has not changed much since my last rendition, with only a few minor improvements. One of these is that it is now a bit thicker and longer, as it’s going to be applied to a chassis and this should make more sense. The major difference is that the places for the GT2 belt joints now have walls and a roof. This roof has enough room for me to place some bearings ($7.30 from Bunnings) inside so I can add support throughout the GT2 without adding friction. This will make it sturdier and easier to move, adding more reliability overall compared to last time. Although I measured all the components in preparation, I know everything will go wrong on the first few renditions, so I made this design relatively simple, with the goal of adding what is needed as I test. As for testing, I am only printing one leg this week. Although the chassis has its first design, as well as the additional part of the hip which adds the new axis of movement, they seem simple in comparison and so I want to focus on the leg first because it should need the most adjustment. After printing, a lot of the testing should be in the programming. The inverse-kinematics (IK) algorithm is very simple. Although I practices earlier in the semester using cyclic coordinate descent (CCD), for the purpose of Winston, who’s IK is only ever effecting 2 limbs, simple trigonometric algorithms should be much simpler in both logic and programming. The idea behind the trigonometric method is to simply use the cosine rule, that is:
c^2 = a^2 + b^2 – 2ab*cos(C)
Applying this rule is simple, as the lengths ‘a’ and ‘b’ are known, and the angle ‘C’ is trivial to find. Overall, for all intents and purposes, this method is far simpler. Once this is programmed in, there shouldn’t be too much troubleshooting, as the goal is also very simple, as it is to get the hip and foot to always be in vertical alignment, regardless of the chassis’ vertical displacement. Programming this into an Arduino will require a couple libraries, likely including “math.h” and the AdaFruit “PWM-Servo” library.
Reflection
Having started and made decent progress on the 3D models of Winston for printing re-enforces to me that I am on track to completing the mechanical aspects (including the IK) on time. Although I dread the fact that Winston will have to go through many renditions before he works properly, which is made even worse by me needing assistance because I don’t have a 3D printer, I still think that Winston is going to work out very well. I feel prepared for the upcoming sections for Winston, that is testing and programming, because I with each step, regardless of whether something fails or improves, I will feel like progress is being made and as such will be encouraged to make even more progress. I think that I have gotten past the worst part of making Winston, because from now on I will feel as though I am learning and improving in the skills which I need to make this work. In addition to this, Winston is the only assignment I have for the next 4 weeks, which means I should have plenty of time to work on him and make minor improvements.