Wednesday, June 6, 2012

Competition Results

The competition has taken place and the results were not what were hoped for. Of the five robots that attended, this design ended up in last place, winning three out of twelve rounds. Although the results were not ideal, the robot functioned correctly for the most part, which means the strategy of a faster, smarter robot did not pay off. For instance, many rounds were lost due to being overpowered in the pushing aspect of the competition. Furthermore, a few rounds were lost due to sensors reacting late or, even worse, not at all.

On the other hand, when the strategy worked, it worked very well. Despite not having a strong pushing ability, the design proved it could hold its own by pushing out a much larger robot, although it did take awhile. Furthermore, in one match after avoiding a hit from the back, the robot turned around the opposing robot and pushed it out from the back. The best win for this robot, though, involves the light sensor code working perfectly causing our robot to back up and using the opponent's mechanical ramp against them to flip them over. If you would like to see the three wins for yourself, watch the video below.
Overall, the competition was a lot of fun and although the results were not the ideal ones, the design ended up working as expected for the most part, showing that with a little more work the strategy of a fast, smart robot could be successful.

Wednesday, May 30, 2012

Design Constraint Issue

A major setback occurred in the past week when the design was measured to be 25 cm X 22 cm, which was over the design constraints of 20 cm X 20 cm. With little time left and a solid design in place, it was time to figure out how to shrink the design. One thing that was easy to see was the empty space around the brick in the design so the plan was to modify the frame of the bot so that it to closely fit to the brick. Upon making the modifications, the mechanical team realized another problem was the long, slanted front end so it was removed and replaced with a small wall shown in Figure 12. Furthermore, a box-like structure was place on the back of the robot to protect the light sensor shown in Figure 13. Besides the aforementioned changes and the differences in the sensor positions, the overall design remained relatively similar to the larger design as shown in Figure 14. Also, it fits into the design constraints coming in at 20 cm X 19 cm and weighing .7941 kg.
Figure 12. Front of smaller design
Figure 13. Back of smaller design
Figure 14. Side of small design
In the next few days before the competition, the code will need to be tested with the smaller design to make sure it is competition ready, which includes changing the sensor trigger values to take into account the new placements and the resulting ambient light for the light sensors. Despite the setback, this smaller version should be able to compete near the level of the larger design and there is a lot of confidence in the team that the robot will be victorious!

Feel free to leave a comment.

Wednesday, May 23, 2012

Arena Difficulties and Sensors

The past week has consisted of completing the design of the robot by adding both the second ultrasonic and light sensor as well as trying to improve the both the mechanical design and the algorithm. When the light sensors were added, the updated code was tested to make sure that the both the light sensors cause the robot to move away from the line when they are triggered, the front ultrasonic tracks the other robot when it is triggered and the back ultrasonic causes the robot to run away when it is triggered. Overall the code was a little clunky, but it worked. A major issue occurred, though, when the final arena was cut out from the board. Both the front and back light sensors were even with the wheels so the wheels would fall off before the sensor triggered due to the circular shape of the arena. To fix this problem, a quick solution consisting of moving the motorized wheels towards the front and angling the front light sensor parallel to the slanted front end has been implemented as shown in Figures 9-11. 
Figure 9. Front of the modified design
Figure 10. Back of the modified design
Figure 11. Bottom of the modified design
This current design has many trade-offs, such as the back being much more vulnerable if it is hit, but the addition of the ultrasonic sensor watching the back should prevent many attacks from happening. With only one week left until the competition, there is not much time to make major changes so in the next week the plan is to work out the major kinks in the algorithm and mechanical design in order to be competition ready.

As always feel free to leave comments.

Wednesday, May 16, 2012

Working Algorithm, More Testing & Major Modifications

Early during the past week, both versions of the algorithm were completed and passed the  initial test of moving around the ring and all of the sensors responding. With two working algorithms it was time to test the effectiveness of the design by competing against an inanimate object as shown in the video below.
Testing against the large box seen in the video was very easy considering the low weight and large surface area, but there were still difficulties locating with the ultrasonic sensor. This became even more apparent when the robot competed with a water bottle. On the positive side, though, when it faced a large, heavy roll of film it had the ability to push it out. Overall the testing showed that the algorithm worked, but not in the originally planned way. Whereas the plan was to use arc turns to attack from the side, the algorithm went straight at objects that it  detected with the ultrasonic sensor. Given that either the mechanical design or the algorithm needed to be changed to fit the style of the other, the choice was made to modify the mechanical design. Some reasons behind this choice were that the placement of the ultrasonic sensor was too high up to detect smaller robots, as well as the robot having a tendency to fall off when going forward because the wheels were in front of the sensor. In addition, creating an algorithm to attack the side of the other robot is not plausible due to the wide array of moves that would need to be accounted for and the fact that the arena is really small compared to the robots in the arena.

With these thoughts in mind, the mechanical team devised a new design that focuses on strength more than a complex algorithm. Overall, the scale of the design is larger to make the task of eliminating this robot more difficult as well as making the task of contacting other robots easier. The slanted front end, pictured in Figure 6, also follows this strategy by providing a good angle to push another robot without leaving a flat surface that an opponent could push against easily. Despite going for a bigger, more dominating design, movement was found to be a huge priority so the design utilizes two motorized wheels as well as two swivel wheels, shown in Figure 7, that allow the robot to turn and move around the arena very quickly. With all of the changes to the physical design, the sensors being used as well as  their placements needed to be reworked. In the original design, the touch sensors were not  very effective so, in addition to the ultrasonic that detects towards the front of the robot shown in Figure 6, a second ultrasonic sensor will be placed on the back of the robot to detect if the opposing robot is attacking from the back. Beneath each ultrasonic sensor, a light sensor will be placed in line with the wheels so either way the robot may be falling off, it will be able to reverse direction. In Figure 7 and 8, the placement of one of the light sensors is shown. With most of the new design put together and using one of the algorithms from the original design, minus the touch sensor portion, the design was tested against the box as shown in the video below.
Figure 6. Front of new design
Figure 7. Underside of new design
Figure 8. Back of new design
Overall the new design seems to be more effective and when the other sensors are added, it will be even better. In the next week, the mechanical design should be completed with all of the sensors, and the programmers will work not only on implementing the new sensors, but also trying to improve the algorithm in a way that will decrease the possibility of the other robot being able to attack our robot from the side.

Feel free to leave comments.

Wednesday, May 9, 2012

Testing...Testing...

With two separate algorithms created, testing began to determine if they work as they were intended to. The test itself consists of placing the robot in the arena and running the algorithm to see if the robot can move around and respond to sensors efficiently. Upon the initial start up of both algorithms, though, there were many issues, especially involving sensor detection for the ultrasonic and light sensors. Through the process of debugging, some of these issues were worked out to where they would respond, but not fast enough and even at incorrect times. One reason that this could be occurring may be that processes are not being cut short even when a sensor is triggered therefore causing the actions to stack and execute late. Heading into the next week, it is crucial to fix the issues with these programs in order to have a working algorithm to test the effectiveness of the design as a whole by competing against an inanimate object.

Feel free to leave comments.

Wednesday, May 2, 2012

Algorithm Progress

The algorithm development is in full force with the programmers on the team each developing separate algorithms that will be compared to determine what the best possible solution is. Based on the strategy presented in the design proposal, a flowchart, shown in Figure 5, was created in order to show the basic needs of the algorithm. (Click the image to enlarge)
Figure 5. Flowchart for proposed algorithm design
In addition to the main loop, which uses the ultrasonic sensor to find and attack the other robot, there are two defensive strategies shown to the right of the main loop that will constantly be checked while the main loop is running. The first one checks if the light sensor is triggered, 
that is if the outer border of the arena has been reached, so that the robot will know to in the opposite direction to avoid falling out of the arena. The second defensive strategy checks if the double touch sensor has been triggered and if so the robot moves forward to avoid being pushed from the back. Using these ideas, the final algorithm will soon be created so that the effectiveness of the current design can be tested.

Feel free to leave any comments.

Wednesday, April 25, 2012

Proposed Design Built and Coding Has Begun

The physical prototype discussed in the design proposal has been built based on the quick prototype created in Week 2. One aspect of the design that was added on was the double touch sensor with block wall, pictured in Figure 2, that allows the robot to detect contact from the back. Another aspect was the light sensor, pictured in Figure 3, that provides the ability to detect when the robot reaches the edge of the arena. In addition, the ultrasonic sensor mounting has been modified, shown if Figure 4, so that it is not looking down on an angle as it was originally.
Figure 2. Double touch sensor with block wall.
Touch sensors located behind red pieces.
Figure 3. Light sensor shown underneath robot and
during robot modification.
Figure 4. Front of robot with new
ultrasonic sensor mount.
As well as building the prototype, progress has been made in terms of coding. Using the knowledge gained from the NXC tutorial [2], practice blocks of code containing aspects that will be crucial to the algorithm have been written and executed to see how they affect the robot. 
Building off of these blocks of code, an alogrithm will be created during the next week that can be used in testing the current design of the robot.

Feel free to leave any comments.