|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Robot Disabled, yet I can still actuate a Cylinder- HELP!
All-
I witnessed something very scary last night- I was demonstrating to a student how to trigger the actuator and the cylinder fired. I then checked the disable switch, and it was set correctly. I enabled, disabled, and it STILL fired. I'm very confused- here's the relevant code section: (global variable) unsigned char ucGripperPosition = 1; //currently actuated meaning CLOSED Code:
//ucGripperPosition = 0 is NON actuated, meaning OPEN
//Confirm double switch state to toggle the gripper position
if ( (1 == p2_sw_trig) && (1 == p2_sw_top ) && (1 == ucGripperLatch ) ) {
if ( 1 == ucGripperPosition) { //Gripper is actuated, so open it
ucGripperPosition = 0;
ucGripperLatch = 0;
} else {
ucGripperPosition = 1;
ucGripperLatch = 0;
} //endifelse gripper position
} else if ( (0 == p2_sw_trig) && (0 == p2_sw_top ) ) {
ucGripperLatch = 1;
//printf(" De-Latching Switch\r\n");
} //endif - ignore the current state of the sw_trigs because they both
//werent enabled at the same time
GRIPPERTOGGLE = ucGripperPosition; //Set the position of the gripper
Suggestions? This code runs inline with the rest of our code. |
|
#2
|
||||
|
||||
|
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
}
Hope that helps. |
|
#3
|
|||||
|
|||||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Quote:
We've used the OI digital inputs to select autonomous modes. It works when disabled. |
|
#4
|
||||
|
||||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
That's exactly what he said. OI inputs get to the RC (except autonomous), and are processed by the code. The outputs are neutral when disabled.
|
|
#5
|
|||||
|
|||||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Quote:
When disabled, all OI inputs are transmitted to the RC and are processed. Your robot will still try to drive the motors (but it can't because output is disabled). Fire up the Dashboard, disable your robot, and watch the PWM values as you try to drive (with it disabled). They should still change. |
|
#6
|
||||
|
||||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Take a deep breath, and re-read what Dave and I said again. It's not wrong. You're probably reading it as the inputs are neutral. Dave said that the outputs are neutral.
|
|
#7
|
|||||
|
|||||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Quote:
I have to be more careful about that. |
|
#8
|
|||||
|
|||||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Did you check the disable light on the OI? I suspect your disable switch was not actually making the connection. Look for loose wiring or connectors.
|
|
#9
|
|||
|
|||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Quote:
All movement of the robot is disabled and the victors are flashing their 0.5hz flicker (neutral blink). The OI shows a solid orange 'disabled' LED, and the robot's controller is flickering "disabled'. I can move the joysticks around and no movement occurs. If I hit the two buttons to fire the claw, the claw actuates. I can continuously open and close the claw while still not being able to drive the robot. I'll review the code some more... I think the compressor runs automatically too but I'm not certain. |
|
#10
|
|||
|
|||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Can you show us how you have this wired? What inputs and outputs are you using for the one that is still moving when the robot is disabled?
Is it one of the PWM / Relay ports? If not, that's the first part of your problem. I'm pretty sure everything that moves has to be on one of those ports, and not an I/O line. ttyl, --buddy |
|
#11
|
||||
|
||||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
You do have the pump and claw relays plugged into a relay output (and not a digital I/O), right? Sorry, I know it probably sounds like a stupid question, but if so it could explain why things work when disabled. If it is a relay output (and the OI disabled light is solid orange) then that's a scary situation indeed.
|
|
#12
|
||||
|
||||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
I agree with DaveF's suggestion to check the wiring.
Quote:
Is this reproducible? Were you using a radio or were you tethered when this happened? |
|
#13
|
|||
|
|||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Quote:
The OI is solid. When I hit autonomous with the OI, it goes to a maybe 20hz flicker. |
|
#14
|
|||
|
|||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Quote:
I swear the OI disabled light is solid orange. If the robot wasn't crated I'd put a video up. Could you, uhhh, kindly relate why the IO might be triggering it this way? (Wired, from memory, from the student that told me this is how: Digital IO pin 16 to SPIKE relay, relay to valve, vale to cylinder. |
|
#15
|
||||
|
||||
|
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!
Quote:
Digital I/O are always active! |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| HELP NEEDED! Camera twitches while disabled | lkdjm | Programming | 5 | 19-02-2007 11:34 |
| Can we still go? | Michael Corsetto | Championship Event | 1 | 22-03-2006 06:23 |
| LEGO ‘engineers’ compete to help the disabled | Billfred | FIRST In the News... | 1 | 07-02-2005 13:45 |
| can i use any other custom cylinder | MAXbattlebot | Pneumatics | 2 | 19-01-2003 12:44 |