I am interested in using a custom circuit board to reduce workload from the cRio processor and wanted to get some other experienced minds to review my thinking to make sure I didn’t miss anything.
I have read all the rules in the Control, Command & Signals System Section.
What I would like to do is get a cheap FPGA or Arduino development board (under $400) and write a program to take camera data and process it. The board would be looking for the reflective rectangle using an image processing algorithm and return the centration error in X and Y (i.e. if the rectangle is not centered, how many pixels is it off center?). The board would then keep the values in a output buffer. The cRio would then read this error from the buffers using its digital inputs. This would allow the cRio to get the data it needs to make decisions about how to adjust the mechanisms and drive systems, but not waste a lot of time processing image data.
Would this type of custom circuit be legal? Essentially this is just a custom processing add on to the camera and makes no control inputs back to the robot system. It is just a number cruncher.
This is a legal use of custom circuit if all other rules are followed. Specifically, the Crio gets a control signal or command, processes it, and then the Crio issues outputs to motors/servos/actuators not the custom circuit. Additionally, the custom circuit is subject to all electrical rules as well, breaker sizing, wire sizing, enclosure, safety, etc.
Though this isn’t quite what you asked it is relevant:
We put a laptop without the screen in our robot this year. It is connected to the Ethernet segment in the robot and it is using the original battery. It is connected to 2 USB webcams on the robot. It is doing vision processing using entirely custom software the programming team students created. The laptop has an SSD for a hard drive. We have been driving it over the bump (has to be at least 50 times now).
We have fielded it at competition and it’s passed through the inspections.
There are rules regarding a variety of aspects of doing this, I suggest you check the cost limits, consider the additional weight, and of course consider how it communicates with the rest of the systems.
One aspect I will warn you about: the laptop has it’s own battery so when the voltage of the robot battery drops from the motors running the laptop’s power supply is entirely stable. Your own custom circuit needs to consider this power issue.