View Single Post
  #12   Spotlight this post!  
Unread 11-08-2008, 16:00
Salik Syed Salik Syed is offline
Registered User
FRC #0701 (RoboVikes)
Team Role: Alumni
 
Join Date: Jan 2003
Rookie Year: 2001
Location: Stanford CA.
Posts: 514
Salik Syed has much to be proud ofSalik Syed has much to be proud ofSalik Syed has much to be proud ofSalik Syed has much to be proud ofSalik Syed has much to be proud ofSalik Syed has much to be proud ofSalik Syed has much to be proud ofSalik Syed has much to be proud ofSalik Syed has much to be proud of
Send a message via AIM to Salik Syed
Re: Almost balancing Scooter

Quote:
Originally Posted by Alan Anderson View Post
Maybe you could do a "delay" in the other direction. Do a simple prediction of what the angle is likely be the next time through the loop, and use that as your feedback value instead of the current angle.

I didn't look closely enough at your code to be certain, but are you sure you have the right sign on your Kd term? It should act to reduce motor speed, but you describe it as causing more current to be drawn.

Also, are you using Victor speed controllers? They have a dead band around the neutral point that makes them a bit unsuited for applications requiring the motors to hold a given position. If you're very careful, you can account for the dead band in software, but you have to make sure everything is appropriately calibrated.
I think the strategy of modelling the response may not work since the time step is so small... and if you were to model it for too many timesteps you get problems with response.

maybe you can introduce a decay coefficient which basically says if the error hasn't changed significantly in the previous N iterations (where N is large enough to account for oscillation type behaviour), and the error is below some constant decay the output by a growing coefficient.
__________________
Team 701