Go to Post Those kids are different! They seem more mature, respectful, and intelligent than most adults. They can actually think instead of just spitting out facts. They are obviously getting a real education. - Amber H. [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 09-02-2012, 22:44
a240 a240 is offline
Registered User
FRC #2713
 
Join Date: Feb 2012
Location: Mass
Posts: 1
a240 is on a distinguished road
Problems using CAN with PID

Hello,

I've been trying to use the CANJaguar class with PID control, but due to a lack of examples and documentation it has been a lot of guess and check work. I have successfully created a CANJaguar object and correctly configured it to the point where I could get encoder feed back. However I have run into a bit of trouble trying to use PID Control with the robot.

Here is some sample test code I created for a CANJaguar based driveTrain: http://code.google.com/p/iraiders-fr...riveTrain.java

My problem is that even after setting a setpoint value using setX(x), the driveTrain wheel fail to move. Testing shows that the method getX() returns a value of zero. What's wrong? If anyone knows anything about the topic any information would be very helpful.
Reply With Quote
  #2   Spotlight this post!  
Unread 09-02-2012, 23:34
Patrick Chiang Patrick Chiang is offline
Programming
FRC #3070 (Team Pronto)
Team Role: Mentor
 
Join Date: Feb 2009
Rookie Year: 2009
Location: Seattle
Posts: 162
Patrick Chiang is a name known to allPatrick Chiang is a name known to allPatrick Chiang is a name known to allPatrick Chiang is a name known to allPatrick Chiang is a name known to allPatrick Chiang is a name known to all
Re: Problems using CAN with PID

Try with kSpeed instead of kPosition for ControlMode. Unit is Rotations/Minute.

You can also use bdc-comm to adjust the CAN jaguars directly through serial cable.
Reply With Quote
  #3   Spotlight this post!  
Unread 10-02-2012, 17:26
gpetilli gpetilli is offline
Registered User
FRC #1559
 
Join Date: Jan 2009
Location: Victor, NY
Posts: 285
gpetilli is a name known to allgpetilli is a name known to allgpetilli is a name known to allgpetilli is a name known to allgpetilli is a name known to allgpetilli is a name known to all
Re: Problems using CAN with PID

Agreed you must switch to kSpeed. You will need different P I D numbers when you switch to kSpeed. For tuning speed mode, start with the I number (not P as you would for kPosition). Once you have an I you like, you can ramp up P to tame minor oscillations. Always set D to zero in speed mode. There are several posts which give more details on tuning CANJaguar kSpeed controllers.
Reply With Quote
  #4   Spotlight this post!  
Unread 10-02-2012, 20:30
Patrick Chiang Patrick Chiang is offline
Programming
FRC #3070 (Team Pronto)
Team Role: Mentor
 
Join Date: Feb 2009
Rookie Year: 2009
Location: Seattle
Posts: 162
Patrick Chiang is a name known to allPatrick Chiang is a name known to allPatrick Chiang is a name known to allPatrick Chiang is a name known to allPatrick Chiang is a name known to allPatrick Chiang is a name known to all
Re: Problems using CAN with PID

Quote:
Originally Posted by gpetilli View Post
Agreed you must switch to kSpeed. You will need different P I D numbers when you switch to kSpeed. For tuning speed mode, start with the I number (not P as you would for kPosition). Once you have an I you like, you can ramp up P to tame minor oscillations. Always set D to zero in speed mode. There are several posts which give more details on tuning CANJaguar kSpeed controllers.
Wait a second. Why does D have to be set to 0 in speed mode? Ours seem to work best with P=.700, I=.085, D=5.000
Reply With Quote
  #5   Spotlight this post!  
Unread 11-02-2012, 20:25
LukeS LukeS is offline
4272 mentor, 1024 alumnus
AKA: Luke Shumaker
FRC #4272
Team Role: Mentor
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Indianapolis, IN
Posts: 60
LukeS is an unknown quantity at this point
Re: Problems using CAN with PID

Quote:
Originally Posted by Patrick Chiang View Post
Wait a second. Why does D have to be set to 0 in speed mode? Ours seem to work best with P=.700, I=.085, D=5.000
It varies, there are different strategies. This year I've had good luck with speed control using the Ziegler-Nichols method (search it) with P and I (no D).
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 13:37.

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