FRC Software Help

Hi I have never competed in the First Robotics competition but as a project in my Technical Writing class in college I involved in creating a manual for a local high school robotics team. I am responsible for the software portion and on the checklist there is a section that lists three parts I do not understand. Any help would be appreciated. Here are the three things:

  • Describe the operation of the default program code
  • Load the default program onto the robot controller
  • Load the default code onto a previous year’s robot and modify it to drive in a predetermined route
    Please advise on how I would best put this information in a manual to help students better understand the task at hand. Thank you.

Henry,

This is a wonderfully challenging task you have been given. :slight_smile:

The first decision you will have to make is which programming language you will be using: C++ or LabVIEW.

If you use LabVIEW, I’ve created a video blog which will take you through many of the required steps. Check out our blog at www.LVMastery.com/FRCTipJar

All the best,
Ben Zimmer

If you are going to be using Windriver, the default program code, SimpleRobot, uses arcade drive and a very basic autonomous mode, the teleop mode just allows tank drive with leftStick/rightStick.

Loading the code onto the robot is done by setting the cRio as the remote system then downloading onto the robot.

To accomplish the last part, you will use autonomous mode. a simple example of setting a predetermined is

void Autonomous(void)
	{
		GetWatchdog().SetEnabled(false);
		myRobot.Drive(0.5, 0.5); 						// drive forwards half speed 
		Wait(1.0); 											// for 1 second
		myRobot.Drive(0.75, 0.75); 						// drive forwards three-quarter speed
		Wait(4.0);											// for 4 seconds
		myRobot.Drive(-0.5, 0.75);						// turn left
		Wait(2.0);											// for 2 seconds
		myRobot.Drive(0.75, -0.5);						// turn right
		Wait(2.0);											// for 2 seconds
		myRobot.Drive(0.5, 0.5);						// drive straight at half speed
		Wait(1.0);											// for 1 second
		myRobot.Drive(0.75, 0.75);						// drive forwards at 3/4 speed
		Wait(5.0);											// for 5 seconds
	}

Hope that helps!