Go to Post I am a FIRST addict. But I'm also sensible. - Rion Atkinson [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
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 13-01-2012, 18:53
Patrickwhite's Avatar
Patrickwhite Patrickwhite is offline
May the North be with you
FRC #0610 (The Coyotes)
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2008
Location: Toronto
Posts: 88
Patrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of light
Jaguars - Current Mode Fails

Our Logomotion robot's drivetrain is controlled by four Jaguars - two master Jaguars and two slave Jaguars on each side. They are Black Jaguars connected by CAN, with speed PID control. We had synchronized the masters and slaves with voltage mode in the past, but we read somewhere that using current mode shares the work load more efficiently. So while using that robot to test some new code, we tried using current mode and found problems with both the getter and setter current methods.

Code:
...
jagLeftMaster.changeControlMode(CANJaguar.ControlMode.kPercentVBus);
jagRightMaster.changeControlMode(CANJaguar.ControlMode.kPercentVBus);
jagLeftMaster.changeControlMode(CANJaguar.ControlMode.kCurrent);
jagRightMaster.changeControlMode(CANJaguar.ControlMode.kCurrent);
...
jagLeftMaster.getOutputCurrent(); //both of these only return the absolute value of the current
jagRightMaster.getOutputCurrent();
...
jagLeftSlave.setX(jagLeftMaster.getOutputCurrent());
jagRightSlave.setX(jagRightMaster.getOutputCurrent()); //these don't appear to do anything at all
The getOutputCurrent method only returns the absolute value. The number itself looks accurate but is only ever positive.
The setX() method while in Current mode isn't appearing to do anything. The LED on the Jaguar is solid amber - it is communicating via CAN but is not receiving instructions.

Has anybody had these problems before and/or know what the problem is?

Thanks in advance.
__________________
while(!going.isTough());
tough.exit();

What will we do tonight, Warfa?
The same thing we do every night, Patrick. Sit and wait for Electrical.
Reply With Quote
  #2   Spotlight this post!  
Unread 13-01-2012, 19:23
FrankJ's Avatar
FrankJ FrankJ is offline
Robot Mentor
FRC #2974 (WALT)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: Marietta GA
Posts: 1,923
FrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond repute
Re: Jaguars - Current Mode Fails

Have you set the PID constants for current mode? The default is all 0s & it will just sit there.
Reply With Quote
  #3   Spotlight this post!  
Unread 13-01-2012, 20:01
Patrickwhite's Avatar
Patrickwhite Patrickwhite is offline
May the North be with you
FRC #0610 (The Coyotes)
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2008
Location: Toronto
Posts: 88
Patrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of light
Re: Jaguars - Current Mode Fails

The slaves do not and never have relied on PID loops - they draw straight from the masters.
__________________
while(!going.isTough());
tough.exit();

What will we do tonight, Warfa?
The same thing we do every night, Patrick. Sit and wait for Electrical.
Reply With Quote
  #4   Spotlight this post!  
Unread 13-01-2012, 20:14
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,567
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: Jaguars - Current Mode Fails

Quote:
Originally Posted by Patrickwhite View Post
The slaves do not and never have relied on PID loops - they draw straight from the masters.
Current mode uses PID.
Reply With Quote
  #5   Spotlight this post!  
Unread 13-01-2012, 22:34
Patrickwhite's Avatar
Patrickwhite Patrickwhite is offline
May the North be with you
FRC #0610 (The Coyotes)
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2008
Location: Toronto
Posts: 88
Patrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of light
Re: Jaguars - Current Mode Fails

Quote:
Originally Posted by Joe Ross View Post
Current mode uses PID.
Exclusively? For our purposes, it is not only impractical but also not healthy for the motors, as ideally the slaves should be running at the same speed as the masters.

If they use PID exclusively, is it not true that Current mode is more effective at distributing the work load?
__________________
while(!going.isTough());
tough.exit();

What will we do tonight, Warfa?
The same thing we do every night, Patrick. Sit and wait for Electrical.
Reply With Quote
  #6   Spotlight this post!  
Unread 13-01-2012, 23:03
JewishDan18's Avatar
JewishDan18 JewishDan18 is offline
Registered User
FRC #1700
Team Role: Engineer
 
Join Date: Feb 2009
Rookie Year: 2007
Location: Sunnyvale, CA
Posts: 185
JewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to behold
Re: Jaguars - Current Mode Fails

They use a PID loops to get the current draw as close to the target as possible. Remember, the output is some speed from -1 to 1. The Jaguar needs the PID loop to figure out what output will get the proper current draw.
Reply With Quote
  #7   Spotlight this post!  
Unread 14-01-2012, 07:41
Mr. Lim Mr. Lim is offline
Registered User
AKA: Mr. Lim
no team
Team Role: Leadership
 
Join Date: Jan 2004
Rookie Year: 1998
Location: Toronto, Ontario
Posts: 1,125
Mr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond reputeMr. Lim has a reputation beyond repute
Re: Jaguars - Current Mode Fails

Does anyone have any experience trying to get a "slave" CIM to sync current output with a "master" CIM - specifically in the application of a 4-motor (2 per side) drivetrain?

I'm curious what ballpark PID values were used, and what your tuning methodology was.

We're planning on using the speed control PID on the master Jags. If there is a PID loop running on the slave Jags just to match the currents, if it doesn't react fast enough, it'll confuse the master Jag's speed PID loop. Sort of like trying to hit a constantly moving target.

Has anyone already implemented something similar to this?
__________________
In life, what you give, you keep. What you fail to give, you lose forever...

Last edited by Mr. Lim : 14-01-2012 at 07:44.
Reply With Quote
  #8   Spotlight this post!  
Unread 14-01-2012, 08:33
JewishDan18's Avatar
JewishDan18 JewishDan18 is offline
Registered User
FRC #1700
Team Role: Engineer
 
Join Date: Feb 2009
Rookie Year: 2007
Location: Sunnyvale, CA
Posts: 185
JewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to behold
Re: Jaguars - Current Mode Fails

Quote:
Originally Posted by Mr. Lim View Post
Does anyone have any experience trying to get a "slave" CIM to sync current output with a "master" CIM - specifically in the application of a 4-motor (2 per side) drivetrain?

I'm curious what ballpark PID values were used, and what your tuning methodology was.

We're planning on using the speed control PID on the master Jags. If there is a PID loop running on the slave Jags just to match the currents, if it doesn't react fast enough, it'll confuse the master Jag's speed PID loop. Sort of like trying to hit a constantly moving target.

Has anyone already implemented something similar to this?
If I had to do this, I would have the PID control on the master jaguar, then take whatever that PID loop is outputing, and set the slave to that value (no PID loop on the slave jaguars). I had to use two motors to control a fully connected crab drive last year, and this method worked well for it.
Reply With Quote
  #9   Spotlight this post!  
Unread 14-01-2012, 09:11
Patrickwhite's Avatar
Patrickwhite Patrickwhite is offline
May the North be with you
FRC #0610 (The Coyotes)
Team Role: Programmer
 
Join Date: Dec 2008
Rookie Year: 2008
Location: Toronto
Posts: 88
Patrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of lightPatrickwhite is a glorious beacon of light
Re: Jaguars - Current Mode Fails

That sounds like what we were doing before - we had the slave Jaguars running in PercentVBus mode, and the master Jaguars running in PID speed control mode. We had separate PID loops on the left and right master Jaguars. To synchronize the slaves, we used:
Code:
...
jagLeftSlave.setX(jagLeftMaster.getOutputVoltage() / jagLeftMaster.getBusVoltage());
jagRightSlave.setX(jagRightMaster.getOutputVoltage() / jagRightMaster.getBusVoltage());
...
Is something similar to this not possible in current mode?
__________________
while(!going.isTough());
tough.exit();

What will we do tonight, Warfa?
The same thing we do every night, Patrick. Sit and wait for Electrical.
Reply With Quote
  #10   Spotlight this post!  
Unread 14-01-2012, 21:04
JewishDan18's Avatar
JewishDan18 JewishDan18 is offline
Registered User
FRC #1700
Team Role: Engineer
 
Join Date: Feb 2009
Rookie Year: 2007
Location: Sunnyvale, CA
Posts: 185
JewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to beholdJewishDan18 is a splendid one to behold
Exclamation Re: Jaguars - Current Mode Fails

Quote:
Originally Posted by Patrickwhite View Post
That sounds like what we were doing before - we had the slave Jaguars running in PercentVBus mode, and the master Jaguars running in PID speed control mode. We had separate PID loops on the left and right master Jaguars. To synchronize the slaves, we used:
Code:
...
jagLeftSlave.setX(jagLeftMaster.getOutputVoltage() / jagLeftMaster.getBusVoltage());
jagRightSlave.setX(jagRightMaster.getOutputVoltage() / jagRightMaster.getBusVoltage());
...
Is something similar to this not possible in current mode?
No, you can't have the same speed and current guaranteed at the same time; you need to pick one.
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 22:21.

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