For Machine Week, I ended up working like a jack of all trades. First I was originally on the frame team. So I made the CAD model for the base of our Core XY machine. Actually I got a little excited on the week leading up before machine and I spent it started to build a core xy machine of my own. Since I work in the Harvard Science Center we have our own stock of materials and I just designed the beginnings of a core xy machine based off what we had lying around the lab.
I brought this robot to CBA office hours to get their thoughts. This gave me a lot more insights about the core xy design. First off while I knew that belt for each stepper needed to be on its own level so they do not rub. I did not realize how the pulleys needed to be oriented in x y space. For example Jake told me that the pulley of the stepper motor needs to be tangent to the inner motor. Having this iteration of teh robot was helpful for giving me a little bit more machine experience leading into actually machine week.
Once Machine Week, we had access to an entirely new set of materials, and fusion files to look through. So the majority of extrusion we received was 20x60, and we had one 20 x 20 aluminum extrusion. So while the 20 x 60 aluminum is 20mm along oen axis, it does not have the v slots like the 20 x 20 aluminum extrusion which means that out of the box Jake's cart design would not work on the 20x60. However, the fix was very simple by just adding some additional spacing to the cart in the fusion file which worked like a charm. So after CADing the frame. Chiun, Zihao, Ahn and I assembled the components to build our frame.
I was also in charge of motor control for the robot which we quite straight forward in Jake's system. Also I had to do was relate x y coordinates to actuator positions and then it most of it was handled by Jake's code. The only issue I ran into is Jake and I worked to get two hobby servos working with his deadbugger module but when Jake modified the firmware on that board it changed how his planner code interfaced with it. So normally in Jakes code and how I controlled the stepper motors is just in a function that relates xy coordinates to actuator positions. However, since the interface for the deadbugger and now could control two servos it changed the format in which the deadbugger took servo positions. I ended up hacking my way around this, by setting a flag in the planner code if the servo needed to be up or down and then in the main loop manually moving the servo up or down if the flag was set.
I also started work on API for the rest of the software team to be able to control the robot, but just in the interest of time. I just took their image processing code and the points it generated and fed them manually to the robot.