Team 192 - Robot Testing for Reliability

· The CBC Robot – Capturing Poms

We performed test runs on our replica of the game board, and specifically recorded the number of poms captured by our CBC robot each time.

Our pom sweeper is an unusual attachment which requires very precise static programming, meaning that its course is completely dependent on directions from the program and not on feedback from sensors. If the robot is improperly positioned, the sweeper will not properly align with the PVC piping, along which the poms are placed. This caused the robot to be highly unreliable in early tests:

Trial # Poms Captured
1 3/10
2 2/10
3 0/10
4 4/10
5 1/10
6 0/10
7 3/10
8 2/10
9 2/10
10 1/10
Avg. 1.8/10
 

After the initial round of tests, our builders added an extra piece to the side of our pom sweeper to keep the poms from slipping out. We also modified the programming to utilize sensors instead of simple dead reckoning. The improvements were immediately clear:

Trial # Poms sorted
1 6/10
2 7/10
3 7/10
4 8/10
5 7/10
6 6/10
7 7/10
8 8/10
9 7/10
10 8/10
Avg. 7.1/10
 

· The iRobot Create – Capturing Botguy

Botguy is a major source of points. If we capture him and take him to the peak, we gain a 3x multiplier of all of the other points we have scored. The Create’s sweeper arm is responsible for capturing and transporting Botguy. To test the arm, we commented out the latter half of the Create’s code so we could focus on refining the arm’s code alone. We then ran ten trials focusing only on the function of the sweeper arm, and made adjustments accordingly:

Trial # Botguy Captured? Notes
1 No Arm snagged on PVC. Modified code so that arm stays in until necessary.
2 No Adjusted navigation code of robot. Added touch sensor for accuracy.
3 Yes Robot did not need sensor this time, but kept it just in case.
4 No Robot overcorrected due to touch sensor. Removed sensor.
5 Yes Perfect run!
6 No Positioned robot incorrectly in starting box.
7 Yes Perfect run!
8 Yes Perfect run!
9 Yes Marvelous!
10 Yes We’ve been happy with the claw function. Now time to test the entire code.
 

· The Sample Seeding Rounds

To see how we would do in the seeding round of the regional competitions, we ran our two robots at the same time on our fairly accurate replica of the board and recorded our scores.

There were a few programming glitches at first, as well as issues with fitting our Create robot into the starting box. The robots also tended to get snagged on various game pieces on the board. We made a few building adjustments to compensate, such as adding a skid to the bottom of the Create’s large claw and making the turbine grabber collapsible, and began to rely more on sensors than on static programming. After a few less-successful first tests, we began to consistently land scores in the hundreds, one of our main goals. We are now confident that we will score well in the seeding round at regionals.

Trial# Amendments made before run Points
1 None – first run 36
2 Changed course of Create to avoid CBC 44
3 Added skid to bottom of Create 56
4 Minor programming adjustments 40
5 Standardized starting positions 76
6 Added alignment sensors to bottom of CBC robot 120
7 Refined sensor code 234
8 Added twitch to correct pom sweeper 165
9 Lessened twitch size, increased sweeper stability 180
10 Nothing – incorrectly positioned the robot by accident 105
Avg.   105.6
 

With an average above 100, we are confident in our seeding performance.

· The Sample Competition Rounds

Working as a part of the Lockheed Martin Explorer Post 1010 program, Team 192 is fortunate enough to have two other teams, Team 191 and Team 193, working alongside us. We have run our robots at the same time as each of those two teams on the board, to simulate what an actual competition round might be like.

At the time of our final documentation submission, we had only run two of these sample competition rounds, one against each team. During both of these rounds, our opponent’s large Create robots crashed into our own Create robot. Against 191, this did not hinder our other robot, the CBC, which was able to score some, but not all, of our total points. However, during the round with 193, the Create blocked our CBC’s path, and we only scored Botguy at the peak, which, without any other points, was useless, as Botguy is a multiplier.

Although these two trials are rather inconclusive, we are now considering defensive measures to prevent other teams’ robots from blocking ours. One is a purely mechanical “wall” which would be triggered by one of our robots and then remain still, acting as an extra obstacle on the board and entangling but not harming the other team’s robots. We will explore these options in our final week of testing. However, since it is impossible to predict what other teams may do, we may simply focus on developing a stronger offensive strategy, scoring the most points before coming in contact with another team’s robot.