2019 Build Season Week 4
Electrical
Our competition electronics board is in driving condition!
We mounted and wired our RoboRio, VRM, PCM, 8 Talon SRX’s, and 4 Victor SPX’s. The main breaker, radio, and RSL are still hanging around.
We used Wago Lever Nuts for the first time to connect the CAN bus. One trick we found is to only open one lever at a time and insert only one wire at a time instead of trying to insert both at once. There is also a helpful measurement marking on the side of the lever nut that indicates the length to strip.
Powering on the robot for the first time, we were horrified by the red and orange flashes on the motor controllers… that was no good. After electrical inspection, we found that the terminating resistor on the PDP was on. Using a handy plier we switched that off. We are terminating the CAN bus on the PCM side using a 120-ohm resistor.
Power cycling… still flashing errors. We then looked into the software side. Using Phoenix Tuner we quickly identified that two of the Talons were assigned to an ID of 16. After assigning 15 to one and 16 to the other, the Talons blinked orange and all was good.
Vision
After the last few weeks of hard work, we successfully created a Python script that recognizes and draws bounding boxes around the pairs of tape!
Different from previous years, this season, we made a major decision to use infrared LED rings as the main light source for the detection of the retroreflective tape. With an IR filter to block visible light, we are able to see only the reflected IR light, thus reducing optical interference available on the field and diminishing the effects of different competition lighting on our vision recognition software.
By using GRIP, a computer vision engine, and the well known OpenCV library, we filtered the IR images gathered from the camera, created contours from those images. and drew bounding rectangles around the tapes to recognize the tape.
Grouping the tapes was a challenge. We tried multiple ways but eventually settled on a method that will check the intersections of the best fit lines for each pair of tapes. If the intersection is above the center of the two tapes, we group them together as a target, otherwise, the two tapes are discarded. Though this method is not fail-proof, it seems to be working well under our team’s testing condition. However, we would love to have a chance to test it on the real practice field being built at Gateway.
Now, as the “eyes” of the robot had been created, the next challenge is to see how will we relay this message to the “brain” (RoboRio), and make the “body” respond to what it sees. We are excited to see what will happen in the following weeks!