Go to Post It's like the people from Pimp my Pit came and had it professionally done. - [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 20-02-2007, 10:41
purduephotog purduephotog is offline
Active Defense Design Engineer
AKA: Jason
FRC #3015
Team Role: Leadership
 
Join Date: Jan 2007
Rookie Year: 2004
Location: Rochester, NY
Posts: 162
purduephotog is a jewel in the roughpurduephotog is a jewel in the roughpurduephotog is a jewel in the roughpurduephotog is a jewel in the rough
Send a message via AIM to purduephotog
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
As you can see we require both buttons to be depressed to fire the cylinder, and both buttons to be released before you can fire the cylinder again. It's an 'oopsy' prevention that hasn't dropped a tube yet...

Suggestions? This code runs inline with the rest of our code.
  #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.
  #3   Spotlight this post!  
Unread 21-02-2007, 15:07
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by Dave Scheck View Post
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.
When disabled, all the OI inputs are still sent to the RC. When in autonomous (and not disabled), the inputs are set to neutral.

We've used the OI digital inputs to select autonomous modes. It works when disabled.
  #4   Spotlight this post!  
Unread 21-02-2007, 15:49
Dave Flowerday Dave Flowerday is offline
Software Engineer
VRC #0111 (Wildstang)
Team Role: Engineer
 
Join Date: Feb 2002
Rookie Year: 1995
Location: North Barrington, IL
Posts: 1,366
Dave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond repute
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by Astronouth7303 View Post
When disabled, all the OI inputs are still sent to the RC. When in autonomous (and not disabled), the inputs are set to neutral.

We've used the OI digital inputs to select autonomous modes. It works when disabled.
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   Spotlight this post!  
Unread 21-02-2007, 16:10
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by Dave Flowerday View Post
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.
That's exactly what I'm saying is wrong.

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   Spotlight this post!  
Unread 21-02-2007, 16:52
Dave Flowerday Dave Flowerday is offline
Software Engineer
VRC #0111 (Wildstang)
Team Role: Engineer
 
Join Date: Feb 2002
Rookie Year: 1995
Location: North Barrington, IL
Posts: 1,366
Dave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond repute
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by Astronouth7303 View Post
That's exactly what I'm saying is wrong.
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   Spotlight this post!  
Unread 21-02-2007, 16:55
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by Dave Flowerday View Post
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.
Open mouth, insert foot.

I have to be more careful about that.
  #8   Spotlight this post!  
Unread 20-02-2007, 11:23
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,113
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by purduephotog View Post
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.
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   Spotlight this post!  
Unread 20-02-2007, 14:50
purduephotog purduephotog is offline
Active Defense Design Engineer
AKA: Jason
FRC #3015
Team Role: Leadership
 
Join Date: Jan 2007
Rookie Year: 2004
Location: Rochester, NY
Posts: 162
purduephotog is a jewel in the roughpurduephotog is a jewel in the roughpurduephotog is a jewel in the roughpurduephotog is a jewel in the rough
Send a message via AIM to purduephotog
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by Alan Anderson View Post
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.
Alan, Dave-

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   Spotlight this post!  
Unread 20-02-2007, 15:18
buddy.smith buddy.smith is offline
Master Control
FRC #1795
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2007
Location: atlanta
Posts: 20
buddy.smith is an unknown quantity at this point
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   Spotlight this post!  
Unread 20-02-2007, 15:22
Dave Flowerday Dave Flowerday is offline
Software Engineer
VRC #0111 (Wildstang)
Team Role: Engineer
 
Join Date: Feb 2002
Rookie Year: 1995
Location: North Barrington, IL
Posts: 1,366
Dave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond reputeDave Flowerday has a reputation beyond repute
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by purduephotog View Post
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.
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   Spotlight this post!  
Unread 20-02-2007, 16:06
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!

I agree with DaveF's suggestion to check the wiring.

Quote:
The OI shows a solid orange 'disabled' LED, and the robot's controller is flickering "disabled'.
This really concerns me. Normally, solid at the OI means disabled, yet the flickering at the RC means autonomous. I find it really hard to believe that code that you've written was able to put the robot in this state since the master code is what handles the enable/disable state of the robot.

Is this reproducible? Were you using a radio or were you tethered when this happened?
  #13   Spotlight this post!  
Unread 20-02-2007, 16:33
purduephotog purduephotog is offline
Active Defense Design Engineer
AKA: Jason
FRC #3015
Team Role: Leadership
 
Join Date: Jan 2007
Rookie Year: 2004
Location: Rochester, NY
Posts: 162
purduephotog is a jewel in the roughpurduephotog is a jewel in the roughpurduephotog is a jewel in the roughpurduephotog is a jewel in the rough
Send a message via AIM to purduephotog
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by Dave Scheck View Post
I agree with DaveF's suggestion to check the wiring.

This really concerns me. Normally, solid at the OI means disabled, yet the flickering at the RC means autonomous. I find it really hard to believe that code that you've written was able to put the robot in this state since the master code is what handles the enable/disable state of the robot.

Is this reproducible? Were you using a radio or were you tethered when this happened?
Ehhh, most people called the robot light solid, but I could see a hint of flicker. I think it was more of a packet issue than anything else.

The OI is solid. When I hit autonomous with the OI, it goes to a maybe 20hz flicker.
  #14   Spotlight this post!  
Unread 20-02-2007, 16:32
purduephotog purduephotog is offline
Active Defense Design Engineer
AKA: Jason
FRC #3015
Team Role: Leadership
 
Join Date: Jan 2007
Rookie Year: 2004
Location: Rochester, NY
Posts: 162
purduephotog is a jewel in the roughpurduephotog is a jewel in the roughpurduephotog is a jewel in the roughpurduephotog is a jewel in the rough
Send a message via AIM to purduephotog
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by Dave Flowerday View Post
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.
No Dave, it's not a stupid question- it IS plugged into a Digital I/O connector.

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   Spotlight this post!  
Unread 20-02-2007, 16:39
6600gt's Avatar
6600gt 6600gt is offline
Registered User
AKA: Lohit
FRC #0226 (Hammerhead)
Team Role: Alumni
 
Join Date: Jan 2006
Rookie Year: 2004
Location: Troy, MI
Posts: 221
6600gt is a jewel in the rough6600gt is a jewel in the rough6600gt is a jewel in the rough
Re: Robot Disabled, yet I can still actuate a Cylinder- HELP!

Quote:
Originally Posted by purduephotog View Post
No Dave, it's not a stupid question- it IS plugged into a Digital I/O connector.

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.
Digital I/O are NOT for SPIKEs. There is a reason for the 8 relay outputs on RC...

Digital I/O are always active!
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

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


All times are GMT -5. The time now is 04:45.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi