Saturday, February 14, 2009

New Developments!

Engineering:

We are making great progress with improvements to our robot. After I proposed a new idea, we got right to work on making a prototype of our new acquisition method out of cardboard, and another, small-scale one out of graph paper.

By the end of the week we have completed about half of our new design. Luckily, this time, we know it works very well, and we are quite certain we can get significantly higher in the rankings.

Next steps: finishing out the design, and optimizing performance with little tweaks.


Programming:

I began to write an improvement to the programming, which now uses multiple tasks in RobotC to clean the code up. Our previous program was in a fast infinite loop controlled by various variables that switched the robot's modes.

The new program takes advantages of tasks that are run at the same time. For example, we use one Servo task that loops quickly, while the main task is a one-time set of commands. The servos don't work unless you keep looping to update them, so this solves that problem while allowing us to have more simple main code.

In addition, we're planning for the line-following code to be in another task.

I made a few improvements to my options selection menu so it draws better, and experimented with a reverse-engineered draw tool I found online to make RobotC images to display on the NXT, and we worked on a debug task that checks all batteries and sensors for problems (for instance, if they're not turned on or plugged in).

Solving a problem I had with commenting out and uncommenting the FTC's "waitForStart()" function, i put it in an if statement controlled by another menu option. Here's the PolyGnomes' Autonomous startup sequence:
  1. Splash screen
  2. Menu: Game Mode (practice or tournament)
  3. Menu: Team
  4. Menu: Placement (ground or platform)
  5. Program either waits or begins immediately depending on the mode.

No comments: