Work I Completed
Over the last week I have been going through even more iterations of Winston’s physical design. I have successfully translated a desired height into movement of the limbs. I did this with a 10k potentiometer, which was mapped from 220 to 300, a range which was roughly the range of Winstons’ limbs movement. This means I could convert from a desired height into angles of the servos with relatively simple trigonometry. And although the cosine rule is simple mathematically, implementing it took longer than expected as I needed to learn more about datatypes, as the numbers used were too high value for an int to store it. After a bit of research, as well as playing around with different datatypes, I managed to get it to work and print the expected values.
Once the values were printing as expected, the code was implemented with the legs to test how well motion ran. In the first trials, the potentiometer used was faulty, causing outlier readings, and was promptly switched out for another potentiometer. This one read values reliably, and the leg moved almost as expected. There were some issues here, however. The shin was too loosely connected, moving more from gravity rather than the motor. The other issue was found when trying to amend the first. By attempting to tighten the belt which moved the legs, the interior holdings of the joint itself snapped from the tension, although this exact cause was figured out much later. Not yet fixed, the current plan is to glue the joint to its holding to strengthen it. If successful, the leg should be able to both move reliably and support weight, meaning the only thing left to do is to turn input commands into movement, which is more of the already completed simple maths. Even though the maths is simple for inverse kinematics (at least the version I plan to use), implementing that into real motion will likely prove to be far harder than the already testing vertical movement of one leg carrying no weight.
The application for PyCon has also begun, more will be done in the next week but the group has got together to discuss what has been completed and what still needs to be completed, which does help in finding where I stand in progress, where I find I am not too far behind where I should be and am not holding anyone else back (hopefully).
Reflection
Winston has been a project far more ambitious than I initially thought. Although great progress has been made overall, I feel like I could have done much more by this point. Regardless, Winston should be ready by PyCon. As for the assignment, he should be finished up to a good enough standard, as there has been successful algorithmic work, and planning for the higher level algorithms, as well as many iterations and phases of physical design, which have all contributed something to the final model. Although slow, progress on Winston is being made and will not cease anytime before PyCon. I have also had more assessment, particularly ANU, due between now and the previous post, and have spent quite a bit of time trying to get that to work. As such, this week has had less than usual but should therefore imply more progress next week.