Saturday, September 29, 2012

September 29th Meeting

Today, our team accomplished many wonderful things. I worked on the autonomous's infarred decetor start to move towards the proper location on the correct column. This is still a work in progress. Jaret worked on coding a strong foundation to the teleop program, including many necessary features to ensure success. Ben worked on trying to find a way to detect weighted rings, as Ian worked on experimenting with ways to score points during the end game. Ian, Jaret, and I also tested the robot driving over any obstacles that may be in the feild, and the tests have been uploaded to youtube. This meeting was very productive, and we look forward to further innovation on our team.

Tuesday, September 25, 2012

September 24th Meeting

Sorry for the lateness of this post, I have just had a lot of things go on. At yesterday's meeting, Jared, Ian, Etienne, and I all made progress. Etienne worked on miscellaneous tasks that needed to be completed, as Jared and Ian had another brainstorming session. I worked on making the autonomous program able to drive towards the infrared beacon. It requires tweaking. We all made great progress last night.

Monday, September 24, 2012

RobotC Software Training

TBD members Jaret and Tyler recently attended a RobotC training program at Rockwell Automation. Most of the work was review, but we did learn to fix a compiler issue and work the infrared sensor. Code samples are below:

Using the Joystick

#pragma config(Hubs,  S1, HTMotor,  none,     none,     none)
#pragma config(Sensor, S1,     ,               sensorI2CMuxController)
#pragma config(Motor,  mtr_S1_C1_1,     QuickMotor,    tmotorTetrix, openLoop, encoder)
#pragma config(Motor,  mtr_S1_C1_2,     motorE,        tmotorNone, openLoop)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//

#define ROBOTC_JOYBTN_LB 5
#define ROBOTC_JOYBTN_RB 6

#include "JoystickDriver.c"

task main()
{

 while(true)
 {
  getJoystickSettings(joystick);

  if(joy1Btn(ROBOTC_JOYBTN_LB))
  {

   ClearTimer(T1);

   while(time1[T1] <= 5000 && joy1Btn(ROBOTC_JOYBTN_RB) == false)
   {
    motor[QuickMotor] = 100;
   }

   motor[QuickMotor] = 0;

  }

 }

}

Using Motors

#pragma config(Hubs,  S1, HTMotor,  none,     none,     none)
#pragma config(Sensor, S1,     ,               sensorI2CMuxController)
#pragma config(Motor,  mtr_S1_C1_1,     EpicMotor,     tmotorTetrix, openLoop, encoder)
#pragma config(Motor,  mtr_S1_C1_2,     motorE,        tmotorNone, openLoop)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//

task main()
{

 nMotorEncoder[EpicMotor] = 0;
 while(nMotorEncoder[EpicMotor] < 360)
 {
  motor[EpicMotor] = 100;
 }

 motor[EpicMotor] = 0;

}

Using Sensors

#pragma config(Sensor, S1,     Sensor,         sensorI2CHiTechnicAccel)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//

task main()
{

 while(true)
 {

  nxtDisplayTextLine(0, "Value: %d", SensorValue[Sensor]);
    nxtDisplayTextLine(1, "Value: %d", (SensorValue[Sensor] / 2));
    nxtDisplayTextLine(2, "Value: %d", (SensorValue[Sensor] / 4));
    nxtDisplayTextLine(3, "Value: %d", (SensorValue[Sensor] / 8));
    nxtDisplayTextLine(4, "Value: %d", (SensorValue[Sensor] / 16));
    nxtDisplayTextLine(5, "Value: %d", (SensorValue[Sensor] / 32));
  nxtDisplayTextLine(6, "Value: %d", (SensorValue[Sensor] / 64));
    nxtDisplayTextLine(7, "Value: %d", (SensorValue[Sensor] / 128));

 }

}

Using the Timers

task main()
{

 ClearTimer(T1);
 nxtDisplayTextLine(1, "Waiting...");

  while(nNxtButtonPressed != 3)
  {
   nxtDisplayTextLine(1, "Elapsed: %d", time1[T1]);
  }

  eraseDisplay();
  nxtDisplayTextLine(1, "Elapsed: %d", time1[T1]);
  wait1Msec(2000);

}



Saturday, September 22, 2012

September 22nd Meeting

Our robot with new modifications.
Today I worked on adding new features to the autonomous program for locating the infrared beacon. I made a lot of progress with this. Jared and Ben worked on making some modifications to the robot, with Jaret helping with redesigning the electronic components. We also discussed how we will get points in the end game by lifting another robot. Etienne primarily worked on brainstorming ideas for grabbing rings and helped on the ramp idea for end game. Overall, this meeting was very productive and I feel our team has a lot of potential in this year's competition.

Wednesday, September 19, 2012

TBD Board Setup

Our team has finished the board assembly and received the rings for the 2012 - 2013 competition! We are ready to swing into full gear. Good luck to all teams competing!

Monday, September 17, 2012

September 17th Meeting

The Brainstorming Board for the Meeting
At today's meeting, we started off with a discussion of rules and the game rule book as usual. Then, I primarily worked on the beginning stages of the autonomous program, starting with infrared beacon locating, which is a partial success after making tables and charts to assist me in programming. While I was working on this, the other three worked on brainstorming ideas for various tasks, primarily the lifting of the robot in the end game. A lot was accomplished in the meeting autonomous and endgame wise, making tonight very productive and worthwhile.

Saturday, September 15, 2012

September 15 Meeting

               At today's meeting the whole team tried to think of a way to raise rings. We thought about the mechanisms in a forklift for a basis for ideas. Jared and Ian worked on experimenting with the chain for the lifting mechanism. Tyler worked on the infrared detection for the autonomous mode. Jaret and Etienne worked on building an arm for the programming conference on September 23.