View Single Post
  #2   Spotlight this post!  
Unread 20-02-2007, 11:17
Dave Scheck's Avatar
Dave Scheck Dave Scheck is offline
Registered User
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Feb 2003
Rookie Year: 2002
Location: Arlington Heights, IL
Posts: 574
Dave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond repute
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

My response is under the assumption that the piston fired when enabled and then retracted when you disabled. If all movement took place while disabled, then you have a far more serious problem.

I don't know your level of expertise so I will explain this completely so that others may learn from it.

When the robot is disabled, all OI inputs get to the RC and are processed by your code. However, in that situation, the RC sets all of the outputs to neutral. What it doesn't do is clear any internal variables.

So with your code, you initialize position to closed. With the robot disabled, you press both trigger and top. Your internal variables are now set to the open position, but nothing moves because you're disabled. Now if you enable, you will open because your internal state variable (currently open) is getting mapped to an output.

The way to fix this is to clear your state when you're disabled. Something like this should be what you want.
Code:
if(disabled_mode == ROBOT_DISABLED)
{
  ucGripperPosition = 1; //Closed
  ucGripperLatch  = 1; // de-latched
}
We have run into this a few times over the years. Luckily we caught this each time in testing so that there was no physical danger.

Hope that helps.