Week 10: October 31st to November 6th - ngetachew/Portfolio GitHub Wiki
We spent the first two days of the week focusing on the motor and solenoid attachment at the intersection of the Delta Arm. Its only purpose was picking up the game piece, a penguin, and moving it according to the commands specified by the user. The solenoid was used to pick up the penguin, and the motor rotated it so that it faces the right direction.
There were numerous problems with this part of the project initially. The image we inherited is older, so once we updated it, the code that was on it was riddled with version issues. The library that the solenoid uses, Adafruit_PCA9685, seemed to have been edited in places where it shouldn't have been, so we had to completely uninstall and reinstalled the most recent version. This caused even more errors because the code that was on the Pi was intended to be used with an older version of Adafruit, which lead us to continually update and install required packages. Once we got it running without any compiling errors, we decided to leave the task of testing the solenoid for another day, and instead we shifted focus to the rotating motor. The code for this was extremely easy to write, however, the motor was turning at unreliable speeds. After testing, we found that there was a certain range we could turn the motor where it would move smoothly. After consulting multiple mentors, we found that the problem was with the gears that connect the motor. We are now waiting for manufacturing to deliver new ones.
On Thursday we were visited by kids from Brandon Elementary School. I set up a script called deltatest.py
that would allow me to type simple commands to move the Delta Arm around, then I let the kids use it so they could see what its like to program in a console.
This allowed me to kill two birds with one stone; I entertained the kids and found what movements caused problems for the Delta Arm. I was able to test the
set_single_position_steps()
, home_all()
,set_all_to_same_position()
.
During the last part of the week, we were trying to get the files we had to run. This was hard because the system was set up in a convoluted manner. It required two surfaces pros, the pi, and an external monitor. One surface pro acted as the interface were user would input controls. The second surface pro ran a server that took the users controls and sent the Pi required inputs to move the Delta Arm to the right location, and change the display on the screen to reflect this. This process seemed over-complicated, so we created a new branch in the repository where everything is set up to be run with one surface pro and the Pi. The surface pro that the users interact with needs to run Linux, so under the guidance of one of my peers, I installed Ubuntu on it. This process took a reasonable amount of time, so we are just about to begin cleaning out the old server-related files and editing the necessary code.