|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: PID on Jaguars is Illegal
Quote:
As for no closed-loop feedback from the Jaguars, it is very upsetting. However teams did truly awesome things with sensors on the IFI control system and I am sure our cRIO has some power to spare. |
|
#2
|
|||||
|
|||||
|
Re: PID on Jaguars is Illegal
So, first and foremost, there's still some reason to use the CAN-bus. You can still offload some functionality to the Jags, such as limit switches, potentiometers, encoders, and current sensing. Yes, your feedback on encoders and other sensors will be delayed, relative to what you'd get on the cRIO, but it is an option.
Second, even without the sensors and closed loop control, CAN-bus is still makes some sense. Provided you're not using the serial adapter, but the ethernet-CAN adapter. You can send commands rather faster over the CAN-bus than you can over PWM, and they'll be more stable with better resolution. So I wouldn't let this ruling dissuade you from using CAN. If you're aiming for tight, fast response control loops, then it's still the way to go. Third, I'm also mighty confused by this restriction from the GDC. Especially if the 2011 FRC firmware for the Jags still supports closed loop control modes. (I haven't gotten a look at it yet.) We use independent servo controllers all the time in industry, and they're perfectly safe. They're all designed with various disable mechanisms to safely shutdown the servo in the event that communications with the host controller are lost. Near as I can tell from the reference code, the Jaguar is set up the same way. So you'd still have the exact same level of safety in the system as you do with the PWM inputs. If offloading control to the Jag was unsafe somehow, then CAN-bus commands wouldn't be any safer. If the Jag failed to disable closed loop on loss of signal, it's still going to fail to disable PWM control on loss of signal. The only theory I've got is that they're really wanting to stick with good, general application rules, with as few exceptions as possible. We can all admit that the most problematic parts of most rules are the one or two exceptions specifically in the rules. You do have to admit that the blanket ban on external command signals is some fair bit simpler than a ban with an exception for Jags, or Jags with XX firmware, or external control loops that aren't vetted by FRC, or external control loops that don't meet the following safety protocols, etc. etc. etc. |
|
#3
|
|||
|
|||
|
Re: PID on Jaguars is Illegal
Hehe, looks like it's back to the drawing board. I always wanted to know more about how PID loops work--guess I'll be getting up close and personal now.
Thankfully the cRio has some serious processing beef. |
|
#4
|
||||
|
||||
|
Re: PID on Jaguars is Illegal
I want to know why there would be so much effort put forward to write libraries for the Jaguar CAN code and then stomp on the all the time and energy of those people. Last year we used closed-loop position feedback and there were MANY threads on CD involving discussions of such - yet there was no limitation then. This year it's supposed to be even SAFER with the updated code. And why would WPI put all these functions into their INCLUDED LIBRARIES if the GDC was just going to rule them out. This is a completely illogical ruling and I suggest that a petition is created to combat this lunacy (wait, that's 2009).
- Bryce P.S. If you can sense frustration in my message, you're very perceptive. |
|
#5
|
|||
|
|||
|
Re: PID on Jaguars is Illegal
This year they opened up the CAN bus, added rules for wiring sensors to the Jaguars and updated firmware in Jaguars to shut down if they don’t get a “heartbeat” from the CRio. I cannot understand why the GameDesignCommittee came down with a rule clarification banning PID in Jaguars when the clearly were acting to enable it. Hopefully they will reconsider - distributed processing is an important lesson for our young engineers.
|
|
#6
|
|||||
|
|||||
|
Re: PID on Jaguars is Illegal
I agree with the proposal that speed control should be commanded only by the cRIO. I do not agree with the conclusion that internal closed-loop control of motor speed by another device is therefore illegal. Even though the Jaguar is controlling the motor speed, it is doing so based on the cRIO's command.
I do wish the GDC had made what I think is the proper distinction between "command" and "control". I still hold some hope that they will find a way to change their answer without seeming capricious. |
|
#7
|
|||||
|
|||||
|
Re: PID on Jaguars is Illegal
Quote:
|
|
#8
|
|||||
|
|||||
|
Re: PID on Jaguars is Illegal
To all reading this thread,
I think we should probably try to coordinate the inevitable Q&A submissions asking for clarification and/or modification of this ruling. Bombarding the GDC with 50 followups on this isn't going to help. So, first and foremost, if you're reading this and have already sent a followup Q&A, please reply below to let us know, along with a copy or summary of what you posted. Second, lets all wait about 2-3 hours to see if anyone's already posted followups. Third, I'll nominate myself to post a followup on the Q&A at around 2PM CST addressing these issues. My proposed post follows, any suggestions or edits appreciated. 1. Limit switches, thermal/overload limiting, and voltage ramping. Do limit switches count as command signals coming from the Jaguar? What about the intrinsic current and thermal overload limiting? Does the programmable acceleration/deceleration function count as the Jaguar modifying or interfering with the command signal from the cRIO? 2. The Jaguar purports to implement an FRC specific trusted communication protocol with the cRIO to ensure proper shutdown when communications are lost. As such, a properly programmed and operating cRIO should have constant control of a properly programmed Jaguar at all times, regardless of the operating mode of the Jaguar. The Jaguar is then simply operating as a standard servo controller that will shut down when host communications are lost. Reasonable interpretation would read this as the cRIO sending a position/velocity COMMAND to the Jaguar, and the Jaguar translating this into an appropriate voltage command to the motor. In fact, this would appear to be absolutely identical to the functioning of the perfectly legal RC servos, which implement closed loop position control of a DC motor based on potentiometer feedback and a cRIO position command. So we're curious is <R62> outlaws RC servos as well. And if not, what the distinction between the RC servo controller and a closed-loop Jaguar might be. |
|
#9
|
||||
|
||||
|
Re: PID on Jaguars is Illegal
Second on Kevin's proposal.
|
|
#10
|
|||||
|
|||||
|
Re: PID on Jaguars is Illegal
Looks good. I suggest the following minor change:
|
|
#11
|
|||
|
|||
|
Re: PID on Jaguars is Illegal
With saying that the jag in closed loop acts just like a servo wouldn't that make jags and victors illegal?
Both don't just change the voltage they switch it on and off very fast the uC and supporting circuitry fiddle with the transistors to switch the output on and off and they generate the commands themselves. Does that mean we need to revert to spikes? I dont think they gave us enough with the kit! |
|
#12
|
|||||
|
|||||
|
Re: PID on Jaguars is Illegal
Drake,
My implication was that a jag in closed loop is highly equivalent to an RC servo. Just with external motor and sensor, and tunable PID parameters. So if a closed loop Jag is illegal, then..... The intention is to point out that we're already using independent position controllers on the robot in the form of servos. All, I'm informed that some rather more appropriate people are working on this issue now, so I'm going to hold off on any new posts to the Q&A for a little while. I'd like to see what transpires over the weekend before adding to the GDC's busy schedule. I'd ask that anyone else please hold off until Monday evening as well, so as to avoid complicating the situation. |
|
#13
|
|||
|
|||
|
Re: PID on Jaguars is Illegal
A very good point. However, I think the distinction may be that the firmware for the Jaguars is to some degree mutable, while I believe servo control is implemented purely in hardware.
|
|
#14
|
|||||
|
|||||
|
Re: PID on Jaguars is Illegal
Except that only holds for analog servos. Digital servos implement their control in software, and some of them are even customizable/programmable in various manners.
|
|
#15
|
||||
|
||||
|
Re: PID on Jaguars is Illegal
It's not unexpected that there is a review of this decision behind the scenes. As well as many volunteers, WPI, NI and particularly TI have invested in expanding the use of the Jaguars. And I thank them for that investment.
On a more general point, section 4.3 of the Game Manual includes the exhortation: Quote:
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|