Quote:
Originally Posted by glennword
Okay, off topic, but r66 was mentioned so I hope this isn't too off base.
My team is currently in the middle of designing a swerve drive. Part of the design is a custom circuit board that would be mounted to each swerve module to reduce the amount of computing the ___RIO has to do, as well as improve modularity, wiring, and ease of replacement if a module were to fail. The board takes inputs from the SideCar (if using 2014 and older control system) or roboRIO itself over SPI. The circuit board then processes the inputs and turns them into PWM motor commands, which are sent to a Talon or other approved motor controller. Does this meet the requirements of R66? It could be interpreted as legal if one thought that the ___RIO was still providing the signals by proxy, or it could be viewed as an entirely separate entity, and therefore illegal. Another thought, with the integration of the various serial communication ports on the roboRIO, as well as the MXP boards, do you think that this rule could be omitted, reworded, or loosened in next years manual?
Thanks and sorry if this is off topic and/or confusing.
|
As others have already answered, this would not be allowed under current rules, and I would be shocked if the rules allowed it next year.
Now, if you're doing it just for the experience, don't let me dissuade you. It sounds like a fun controls design task.
If wiring simplicity is your desire, you can use the Jaguar's internal PID over CAN. That way the sensor wiring just has to run back to the Jaguar. The only reason we don't do this is because the analog encoder we use requires a 5V input and only outputs 0-5V. The Jaguar outputs 3.3V and is looking for a 0-3.3V input. It ends up complicating the wiring and requires a voltage divider in there to make things right.
On the other hand, we have run at least 6 (maybe 7... can't remember) simultaneous PID loops on the cRio and never got close to 100% processor usage and saw no ill affects to any of the controls. We were using the WPILib PIDController on C++, so with other languages/controller YMMV.