Go to Post It doesn't matter to me where a FIRST local event is held, I'll be there! - Barry Bonzack [more]
Home
Go Back   Chief Delphi > Technical > Electrical > CAN
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 02-08-2011, 11:09 PM
kamocat's Avatar
kamocat kamocat is offline
Test Engineer
AKA: Marshal Horn
FRC #3213 (Thunder Tech)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 2008
Location: Tacoma
Posts: 894
kamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nice
Send a message via AIM to kamocat Send a message via MSN to kamocat
Re: Sync Two Jags

Quote:
Originally Posted by AustinSchuh View Post
Warning: I haven't tested this or tried to model it, but it should work in theory... Of course, the devil is in the details.

Try wrapping a control loop around the two control loops on the Jaguars to sync their voltages up. The pseudo code would be something like the following, and you can make it more complicated if the nieve implementation doesn't work. This is assuming that you are sampling the voltages of the two jaguars at the same time, and I'm not sure how much a difference in sample time between the two jaguars would effect things. Probably depends on how aggressive you are trying to sync the two.

Code:
v1 = jag1.getVoltage()
v2 = jag2.getVoltage()

error = (v1 - v2)

jag1.setX(goal - error * Kp)
jag2.setX(goal + error * Kp)
The basic idea is that you wrap a proportional loop around the two PID loops running on the jaguars in order to drive the voltage error between the two loops to 0. This should cause them to provide the same voltage to the two motors, and share the load nicely. It might also work if you try to drive the errors in the current that the two motors are drawing to 0, or something clever like that.
That's an interesting method of doing it. It would probably be best to get the %Output status, not the Vout status, because the voltage would have to be scaled down anyway.
Then again, I don't know what your "getVoltage" function does. Has it been modified to get the actual voltage, or does it return %Output?

I think it would make sense to monitor it first and see if any problems arise.
__________________
-- Marshal Horn
Reply With Quote
  #2   Spotlight this post!  
Unread 02-08-2011, 11:23 PM
AustinSchuh AustinSchuh is offline
Registered User
FRC #0971 (Spartan Robotics) #254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Feb 2005
Rookie Year: 1999
Location: Los Altos, CA
Posts: 800
AustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond repute
Re: Sync Two Jags

Quote:
Originally Posted by kamocat View Post
Then again, I don't know what your "getVoltage" function does.
My "getVoltage" function returns some indicator of how much voltage the Jaguar is trying to put out. It is probably easiest to get the % Output from the Jaguar (should be [-1, 1]) and use that, but theoretically, any indicator should work. The time constant should probably be pretty slow since you don't care too much if they aren't perfectly the same and just want the two to be pretty close.
Reply With Quote
  #3   Spotlight this post!  
Unread 02-21-2011, 12:45 PM
mocibot's Avatar
mocibot mocibot is offline
Registered User
FRC #1829 (Carbonauts)
Team Role: Student
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Here
Posts: 21
mocibot is just really nicemocibot is just really nicemocibot is just really nicemocibot is just really nice
Re: Sync Two Jags

Quote:
Originally Posted by kamocat View Post
That's an interesting method of doing it. It would probably be best to get the %Output status, not the Vout status, because the voltage would have to be scaled down anyway.
Then again, I don't know what your "getVoltage" function does. Has it been modified to get the actual voltage, or does it return %Output?

I think it would make sense to monitor it first and see if any problems arise.
I have a question on this, How do you get %Output status?

Last edited by mocibot : 02-21-2011 at 01:06 PM.
Reply With Quote
  #4   Spotlight this post!  
Unread 02-21-2011, 03:42 PM
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Sync Two Jags

Quote:
Originally Posted by mocibot View Post
I have a question on this, How do you get %Output status?
There isn't currently a status for that in the library, but the Jag supports it. It should be easy to add that to the library. Just follow the pattern of the other status messages.

-Joe
Reply With Quote
Reply


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


All times are GMT -5. The time now is 03:51 AM.

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