Team 8 1 Bryam Noguera Joseph Neville Lab 4: Harvesting contest Team: 8 Team 8 2 • Your hardware and software design Our robot, FrankenBot, was destroyed from the previous assignment and rebuilt to create the new FrankenBot 3.0! During the building process of FrankenBot, we couldn’t seem to place both sensors on the bottom because the weight of the sensors would bring the Legos down and FrankenBot’s sensors would be touching the ground. We re-designed the robot many different times so that the weight wasn’t an issue. Finally, we couldn’t figure out a way to have the sensors not touching the ground and we ended up adding support to the top of the robot to hold FrankenBot’s sensors up. This however put us in a situation that we didn’t notice before starting the building process; the sensors were aimed up! Part of FrankenBot was destroyed and we added a straight piece instead of a tilted upwards part that was messing everything up. We also added a rotating part so that we could angle the Ultra sound sensors at any angle since this was also causing us and issue while testing our robot. We finally had the sensors not touching the ground and not aiming upwards and everything was well until we noticed we had not yet put the color sensor and RFID sensors on. We definitely couldn’t put those in the front because of the weight issue we had previously. The only option we found was to have them in the back although we knew this wasn’t the best option for us in order to win the contest because it would require extra thinking to code because now we not only had to consider the front for detecting the walls but also the back for picking up food and detecting RFIDs. At first we placed both of these sensors to high off the ground that they weren’t reading anything. We lowered both of them down and finally we were getting closer to the finalizing FrankenBots design. We tested the robot a couple of times and for some reason it wasn’t detecting the colors correctly and the numbers to check for colors were off. We then when back to the robot and kept the RFID low to the ground but we moved the color sensor up higher to see if this would fix things. Turns out that moving the color sensor higher gave us the right results. Last thing to make our robot look good was to add a man driving it; he would keep falling off so we decided to take him out at the end anyways. For our software design and before implementing our robot, we thought about how we wanted to do this, and we thought the best thing to do was for the robot to move like a snake. It zigzags all the way to the other side of the table. To do this we had the robot start at any position and find the left wall before anything else. Once the robot had found the left wall, the next step was for both sensors to be triggered and so the robot would turn 90 degrees move forward a little bit to cover space and turn 90 degrees again. We also had a Boolean so that when both Ultra sensors were triggered the second time, the robot would turn left instead of right once it would hit the other wall. The software was design for the robot to keep doing this and eat food and detect RFIDS on it was the other side of the table until it hit 60 seconds. It would them make a noise that signified time was up for searching. It would then try to find black as its goal and the algorithm back was the same as trying to search for stuff to pick up. • The problems that you encountered during the implementation 1. The inability for FrankenBot v2.0 to be able to turn an exact 90 degrees. 2. We found that the sensors were picking up things that they shouldn’t be, causing the robot to make turns at random times or even constantly making turns. 3. The arms we originally used could no longer support all 4 sensors at once. Team 8 3 4. The change in weight after reconfiguring the robot caused the turn problem again. 5. The change in weight caused the motors to move at different speeds, making the robot no longer drive straight. 6. The lower Ultrasonic sensors picked up the surface of the table, causing the same turn issue as in #2. 7. The color sensor picked up the table and black square as the same color. 8. The changed location on the color sensor made it so that the robot would never be able to detect home. • Your solution to the above problems 1. We tuned the turn wait time to make it so that the robot turned as close to 90 degrees as possible. 2. We suspected that the sensors were picking up things far away and was turning because of that (its turns seemed to correspond to where we were located around the side of the table). We solved this by reconfiguring FrankenBot to version 3.0, moving the ultrasonic sensors to a lower point on the robot. 3. We moved the RFID and color sensors to the back of the robot, allowing most of the structure supporting the brick to support the sensors as well. This allowed us to use the arms only for the Ultrasonic sensors. 4. We adjusted power levels and turn times again to make it so it turned as close to 90 degrees again. 5. Adjusting the power levels on the motors allowed the robot to drive straight. 6. We added a minimum sensor distance so that they would ignore the surface of the table. 7. We raised the color sensor, causing most of the surface of the table to read as 17 instead of 14(the value of the black paper). Unfortunately, there were still certain spots on the table that still read as 14, causing the robot to find home there if it happened to travel over that spot. 8. The location on the back of the robot allowed it to read the smaller squares on the table, but due to the fact that the black square was in the corner, the obstacle avoidance algorithm caused it to never allow the sensor to hover over the square. • Any unsolved problems and reasons for why you were not able to solve them. The unsolved problems our robot had were mostly with the Ultra sound sensors. Although we were able to place the sensors low enough to the ground and got them to be straight not tilted aiming up or aiming down, they would still pick up things that weren’t the wall. We think that part of this problem was that the sensors were upside down and they wouldn’t detect as expected anymore, and so our robot would turn right or left for no reason because the sensors had detected something. We could have put them upwards but coming up with the design was really difficult for the way we did in the first place. Another issue we had was that while the robot tried to find the left wall, it would either go really far from the wall or too close to the wall; we believe the issue was also due to the ultra sound sensors. Another problem that we saw at the very end while running our robot in the contest was that it would never find home Team 8 because home was located in a corner. Our robot wasn’t designed to go through corners and so it would have never reached home. Another problem was our algorithm to find was very wrong. We should have gone to every corner because having the same algorithm to search for food and RFIDS to go home wasn’t the smartest thing to do because it takes too much time to do it that way. 4