View Single Post
  #15   Spotlight this post!  
Unread 27-01-2009, 13:53
PhilBot's Avatar
PhilBot PhilBot is offline
Get a life? This IS my life!
AKA: Phil Malone
FRC #1629 (GaCo: The Garrett Coalition)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2006
Location: Maryland
Posts: 746
PhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond reputePhilBot has a reputation beyond repute
Re: [FTC]: Do Servo's reset during start up?

Quote:
Originally Posted by jbbjjbt View Post
I have submitted a question to the official Q and A for clarification under the section Robot Inspection. I think based on question 6 the servos can be powered on before the match.

I agree that the "glitch" occurs when the servos are powered on. My experience is it always goes to or toward the center position. So maybe glitch is not the correct term.

I think if the servos are not continuously updated during the disable period between when you start the autonomous program on the NXT and when the FMS start the autonomous game period, that the servo will power down and the glitch will occur when the servos get power even if you set all the positions to zero. This is my experience.
I feel the need to clarify a few things here...

When I say "Power on the servos" I mean "Turn ON the 12V with the power switch". You have to do this before the match starts otherwise your robot will not move (as the same 12V runs the DC motors). This is when the "glitch" occurs.

Next, you say "if the servos are not continuously updated during the disable period..". OK, there really is no IF here. The program templates clearly show that the servos must be disabled if the program is getting a disabled state from the FMS (which IS the case between starting your autonomous program, and the start of the actual 30 second auto period). You can verify this yourself by downloading the FMS and trying it yourself

To disable the servos, you call the "FTC Move Servo" VI and set the "Enabled?" input to FALSE. This does not actually power down the servo, but it does stop sending pulses to it, which has the effect of shutting down the control loop inside the actual servo. This will cause the servo to droop if it's under load from your manipulator.

When the match begins, the FMS send an "Enable" state to the NXT which is interpreted by YOUR program to mean "Start the autonomous sequence". At this point you can start sending commands to the servo with the "Enaled? set to true.

Now, if the first position you send is a 0 then the the servo will probably jump to the middle, since "0" isn't an actual position. A position of Zero means go to the last commanded position (which in this case has never been done.).

Bottom line: only use Zero if you want to reissue a prior command (like in a refresh loop that doesn't know what the last command was).

I'd recommend you figure out where you want the servo to be when you start your autonomus sequence and send that position as soon as you get enabled. If you do that, there will be no "glitch" or any other unwanted movement at the start of teleop.

In our case, we assume that the servos that run our puck-picker-up will have drooped to the ground, so when auto is enabled we pick them up and keep them out of the way during auto.
__________________
Phil Malone
Garrett Engineering And Robotics Society (GEARS) founder.
http://www.GEARSinc.org

FRC1629 Mentor, FTC2818 Coach, FTC4240 Mentor, FLL NeXTGEN Mentor
Reply With Quote