|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
BDC-COMM & CANJaguar function in C++
I have used the BDC-COMM to implement my PID loop. The mode was Speed, encoder PPR 360, and Quadrature Encoder as my Reference. The problem though is that I found out in Windriver, the PID loop while using CAN was jittery and unstable.
My code In Windriver: SslTwo->ChangeControlMode(CANJaguar::kSpeed); SslTwo->SetSpeedReference(CANJaguar::kSpeedRef_QuadEncode r); SslTwo->ConfigEncoderCodesPerRev(360); SslTwo->SetPID(-.003, -.013, 0); SslTwo->EnableControl(); I also notice that the Integral part (__,ki,__) alone of the loop, when implemented in Windriver gave the erratic jittery behavior. While in the BDC-COMM it worked perfectly. Can I get some assistance on this, how come the PID loop erraticly jitters in Windriver and not in BDC-COMM? |
|
#2
|
|||
|
|||
|
Re: BDC-COMM & CANJaguar function in C++
Are you sure you aren't disabling and enabling? Also are you sure your units are correct? I'm not sure that the units in the bdc-comm are the same as the API in WPILib. Maybe your constants are wrong.
|
|
#3
|
|||
|
|||
|
Re: BDC-COMM & CANJaguar function in C++
I actually figured out that you can't do a slave and master using CAN, it was the problem that made everything jittery.
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|