Jump to content

"Missile Guidance System"


Starwhip

Recommended Posts

Not sure why, but reading this thread title reminded me of this video:

r4pt0r, you've just made my day. :D

EDIT: For anyone into FIRST robotics, I imagine that this is basically what people hear when you explain your robot's autonomous logic algorithms to them.

Edited by Starwhip
Link to comment
Share on other sites

If you take your time and actually try to understand what the guy is describing in very minute detail, you'll realize that it actually make perfect sense, which it wasn't doing before, but now does. The variation in your cognitive effort results in modification of the level of understanding.

Link to comment
Share on other sites

EDIT: For anyone into FIRST robotics, I imagine that this is basically what people hear when you explain your robot's autonomous logic algorithms to them.

Hey, Starwhip, I was IN FIRST Robotics throughout my elementary through high school years!

Link to comment
Share on other sites

My friends and I are probably going to make a parody of this for FIRST. :P

"The robot can score the ten-point hot goal bonus because it knows where it is in relation to the hot goal reflection targets. It knows where it is because it knows where it is not in relation to the hot goal reflection targets..."

Link to comment
Share on other sites

Transcript of it from this site (also has a download of the audio):

The missile knows where it is at all times. It knows this because it knows where it isn't. By subtracting where it is from where it isn't, or where it isn't from where it is (whichever is greater), it obtains a difference, or deviation. The guidance subsystem uses deviations to generate corrective commands to drive the missile from a position where it is to a position where it isn't, and arriving at a position where it wasn't, it now is. Consequently, the position where it is, is now the position that it wasn't, and it follows that the position that it was, is now the position that it isn't.

In the event that the position that it is in is not the position that it wasn't, the system has acquired a variation, the variation being the difference between where the missile is, and where it wasn't. If variation is considered to be a significant factor, it too may be corrected by the GEA. However, the missile must also know where it was.

The missile guidance computer scenario works as follows. Because a variation has modified some of the information the missile has obtained, it is not sure just where it is. However, it is sure where it isn't, within reason, and it knows where it was. It now subtracts where it should be from where it wasn't, or vice-versa, and by differentiating this from the algebraic sum of where it shouldn't be, and where it was, it is able to obtain the deviation and its variation, which is called error.

And apparently it's from an Air Force training video. :huh:

And this post in the cheating thread was inspired by that video too.

Edited by mythbusters844
Link to comment
Share on other sites

oh great now i know what to name my variables in my guidence code. yay! now it can be less confusing than that video.

Did someone say

RobotDrive robotDrive; // robot drive system

Talon liftMotor; // the lift motor controller

Talon rollerOne; // motor controller for [side] roller

Talon rollerTwo; // motor controller for [side] roller

Joystick driveStick; // Controls the wheels.

Joystick armStick; // Secondary driver, controls lift, rollers, and forks

Encoder encoderFL; //Front Left Encoder

Encoder encoderBL; //Back Left Encoder

Encoder encoderFR; //Front Right Encoder

Encoder encoderBR; //Back Right Encoder

Encoder encoderLift; //Take a wild guess

AnalogInput bottomLimitSwitch; //limit switch for the bottom bar

AnalogInput topLimitSwitch; //limit switch for the top bar

AnalogInput toteLimitSwitch; //limit switch for tote pickup rollers

Solenoid rightArm; //Solenoid controlling the right side roller arm

Solenoid leftArm; //Solenoid controlling the left side roller arm

Solenoid rightFork; //Solenoid controlling the right side trash can fork

Solenoid leftFork; //Solenoid controlling the left side trash can fork

int encoderPorts[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

float driveStick_x = 0; //the first controller x axis value

float driveStick_y = 0; //the first controller y axis value

float driveStick_z = 0; //the first controller z axis value

float armStick_y = 0; // the second controller y axis value

float attackRotRate = 0.75; //This is the rotation rate when using the buttons

float slider = 0; //Variable to track the throttle (slider on joystick)

float rollerSpeed = 1; //Variable to control how fast the rollers spin

bool throttleEnabled = false; //True means throttle is enabled, false not...

bool rotationLock = true; //True means that button 2 is needed for rotation.

bool topSwitchPressed = false; //Value of the top limit switch, true is pressed.

bool bottomSwitchPressed = false; //Value of the bottom limit switch, true is pressed.

bool rollerArmsOut = false; //If false (Rollers not extended), rollers will not spin.

double wheelDiam = 5.98; //Inches

God, I love when we program the robot late at night. We put in comments like this:

else {

driveStick_z = 0; //you press nothing... NATHING!

}

Or this...

robotDrive.SetSafetyEnabled(false); //no safety for you

We had more but we deleted them later. :)

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...