Tuesday, March 28, 2017

Spring 2017 Week 9

This week is spring break so my team and I decided to meet up our own accord so that we could make more progress on the project, if not finish it. So far, we have met this past Sunday in order to see if we could test anything on the track. Unfortunately, the track improvement team had disassembled the track in order to make some fixes. As a result, my team was not able to get much done as our next steps are testing, but we are unable to test so long as the track is not ready. We plan to meet up on Friday and Saturday and the track should be ready by then so hopefully my team and I will be able to finally have something running on the track for testing.

Wednesday, March 22, 2017

Spring 2017 Week 8

This week, my team and I realized how many setbacks we actually have regarding the project. We had went to the warehouse in an attempt to get one pod car running on the track, but we were unable to do so and left with more issues. Therefore, I am not confident that there will be 5-6 pod cars running on the track at the same time because of all these issues we have.

What will most likely happen is that the team will be spending a lot of time over spring break trying to fix all the small issues and then actually testing the pod car on the track. Hopefully, we will have at least one pod car running on the track to display the concept of the Spartan Superway. In addition, Luis and I could also try to hard code 5 other pod cars to loop between a couple stations over and over so that the project does not look too bare. Other than testing and troubleshooting, there is not much else to do this week.

Wednesday, March 15, 2017

Spring 2017 Week 7

This week was focused on giving our first presentation and then attempting to finish up getting the rotary encoders to work. The presentation went well in my opinion and can found in my group's blog. Unfortunately, I was unable to figure out how to get the rotary encoders to work because the the soldering on the motor and encoder that I had broke off. Therefore, I had to wait until Wednesday in order to receive a functioning one from Chris. In addition, Luis was unable to figure out how to get the rotary encoders to work on his end. Therefore, we are behind schedule now. However, if it comes down to it, Luis and I will definitely ask Professor Furman for some assistance. Hopefully, Luis and I will be able to figure it out by the end of this week because we must begin testing very soon.

Tuesday, March 7, 2017

Spring 2017 Week 6

This week, I was unable to make any significant progress due to presentations. However, I did try to get integration of the code, but Luis and I are now trying to get the rotary encoders to work. Once we are able to get those to work, which I hope to finish by the end of tbis week, I could start integrating all the code together along with pathing. Fortunately, the software app team was able to get XBees working on their end of the part so that's less work for ny team.

Hopefully, by the end of presentations, I could start working on the encoders and testing them so that the team can progress onto the next stage.

Tuesday, February 28, 2017

Spring 2017 Week 5

This week, I was able to meet up with the software/mobile application team in order to ask them for help with the code. As expected, instead of putting all the functions into a while loop that also contains the pathing, Tim and Johnny on the software/mobile application team suggested that I try a different method. Fortunately, they were kind enough to help me with that, and came up with the idea of using stack arrays instead. 

Therefore, I was able to learn both something new and useful because I was able to get the pathing code working as it did before, but this time by using stack arrays and without blocking other code. I would post the code onto here, but it would be extremely long because it involves a lot of nested functions in order to accommodate all 12 paths that are possible on the track. However, the code works by creating a stack array based on the path assigned to the pod car only if the stack array is empty and a path is given. Then the pod car would switch (or not switch) based on the values in the stack array (0's and 1's) and pop off the end value of the stack array every time the pod car detects a magnet. 

Now that we finally have a method of pathing without blocking all other code, we are ready to integrate all our functions together. Hopefully, there will be little to no issues during integration even though it is very unlikely.

Tuesday, February 21, 2017

Spring 2017 Week 4

This week has involved more coding on my part in regards to pathing. As mentioned last week, problems in integrating pathing with the rest of the code would most likely arise. Unfortunately, I was correct. I found that because I used a while loop in order to "hold on" to an array or to make sure the code stays on the array that we assign it, every other function does not run until the while loop has ran its course.

However, a solution may be to put the rest of the code that needs to run simultaneously into the while loop. This may sound very excessive, but this simply moves a majority of the code into the while loop. In addition, break commands can be used to break out of the while loop in cases where it is needed. For example, if the pod car is sent another path while in the middle of another path, the code would break out of the while loop and restart with the new path.

I am sure there is a better solution to this issue, but this is the only one that I could think of currently. In addition, I must consult with the software team to make sure that this would not cause any problems with their phone application. Depending on their answer, I can either advance with the solution I thought of or simply continue working on a different solution. Perhaps, I may be able to ask for help from Dr. Furman or the software team if it comes down to it.

Wednesday, February 15, 2017

Spring 2017 Week 3

This week, I worked more on the pathing code. Last week, I was able to get the code to switch the servo based on an array, but the code was very simple and all it did was get the servo to switch based on an array that it was assigned. Therefore, the code was not sufficient enough for pathing because it would simply switch the servo back and forth regardless of whether or not the hall effect sensor detects a magnet. Fortunately, I was able to make significant progress with the code this week. The code is now capable of taking any array or path and switch the servos based on whether or not the hall effect sensor detects a magnet.

As such, the next thing to worry about is getting this piece of code to work with all the other functioning code. Although I am positive that there will be some complications when trying to integrate the pathing code, I hope it is minimal.