Tuesday, May 9, 2017

Spring 2017 Week 15

This week consisted mostly of presentation work since the final presentation is going to be on Friday. Therefore, most of the week was spent preparing so that the final presentation can go as smooth as possible.

Besides the presentation, there is still not much for my team and I to do regarding the project itself since the rest of the project involves working on the mobile application. Therefore, my team and I are there to simply provide assistance and support to the mobile application team. As the semester is coming to an end, everyone is just trying to finish up the project in time for Maker Faire. Fortunately, I am not too worried about whether or not we are going to finish the project in time because I believe the mobile application team is doing pretty good in terms of progress.

Tuesday, May 2, 2017

Spring 2017 Week 14

This week did not really consist of any work on my team's part since the rest of the project falls upon the Mobile App team. Therefore, my team and I were only there to provide assistance. However, my team and I have decided to implement the second ultrasonic sensor in order to eliminate all cases of collision that may occur on the track. In addition, the Mobile App team have begun testing their software with the bogie on the track and it has been working as intended for the most part. As such, the project is basically almost ready for Maker Faire.


Tuesday, April 25, 2017

Spring 2017 Week 13

This week, I was assigned the task of testing out a second ultrasonic sensor on the pod car. During the Paseo Prototyping Challenge and Festival, there were instances where two pod cars would approach a merging point on the track and collide. Therefore, the team agreed that a second ultrasonic sensor would be necessary to avoid such instances. 

Initially, I had some trouble integrating the second ultrasonic sensor due to some complications within the code. Fortunately, I figured it out and integrated the second ultrasonic sensor such that it works exactly the same as the initial ultrasonic sensor. Now that I know that integrating an extra ultrasonic sensor is not a problem, the next step is to figure out how to utilize and position it. Once that is established, more testing can be conducted on the track with the new sensor. 

Tuesday, April 18, 2017

Spring 2017 Week 12

This week, I worked on organizing the code and creating header files for the functions at the request of the software team. The software team requested help from Luis and I in order to organize the code in camelCase such that the code can be easily read and deciphered even after the academic year is over. In addition, the software team requested that we help them create header files for each function in order to simplify the code and make it even easier to read. In other words, this week was focused on organization and simplification of the Arduino code so that it can be easily decipherable for both us and the future teams to come.

Rather than coding, there is not much left for my team and I to do now since a majority of the coding falls on the software team. Therefore, we are essentially taking on a support role until the project is finished. Fortunately, the project is almost done so I am confident that we will be able to finish by Maker Faire.

Tuesday, April 11, 2017

Spring 2017 Week 11

This week, the team was able to test the pod cars on the track one final time before the Paseo Prototyping Challenge and Festival. Fortunately, the pod cars were able to travel around the track with minimal binding. However, we were unsuccessful at getting the pod cars to run with the phone application. Therefore, for the showcase at Paseo Prototyping Challenge and Festival, the pod cars were hard coded to specific routes in order to give a demo of the project. Although the pod cars did not have all the functions that we wanted, they still worked. Therefore, by Maker Faire, I hope to have all the pod cars working simultaneously with the phone application.

Tuesday, April 4, 2017

Spring 2017 Week 10

This week, I met up with Chris, Luis, and the rest of the 1/12th scale sub teams on Friday in order to get more testing done. Fortunately, the software team and my team were finally able to get the pod car running on the track. However, there were many tight spots within the track where the pod car would significantly slow down or get stuck. Unfortunately, the track team had left the shop before we were able to identify any problems with the track. Therefore, more testing needs to be conducted before this Friday. As such, the team is fairly behind, but I am confident we will be able to get it finished by the Paseo Public Prototyping Challenge and Festival.

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.

Tuesday, February 7, 2017

Spring 2017 Week 2

In the last two weeks, I had met up with Luis, Chris, and the Software team in order to discuss what needs to be done this semester. Issues that may arise along the semester were also addressed. For example, it seems the positioning team is slightly behind so the vehicle controls and software must plan ahead in the case that the positioning team is unable to finish their work by Maker's Faire. 

For the most part, I will be assisting Luis and Chris with the code with regards to pathing and motor control. So far, I have been testing a psuedo code for pathing that utilizes arrays. Each path is assigned an array of 1's and 0's, which tells the pod car whether or not to switch when the "smart" sensor on the right side detects a magnet. 

Although my team and I only have to worry about writing the code for pathing and motor control, we must still finish in a timely fashion such that there will be enough time to resolve any issues that may arise.