Hey CD,
291 of all teams, has had more than our fair share of comms problems in the past few years. 2015 we had a bad driver station Ethernet port, and in 2016, some loose connections to the VRM and a host of other wiring problems. This year, we made sure these things never happened, and they didn’t. Yet we still died on the field during playoffs.
This year at Pittsburgh however, it was different.
I will give a full account as best I can including all of the details, possible causes, and symptoms. Bear with me. Keep in mind, we use LabVIEW
Practice day on Thursday was uneventful (except for the usual rebuilding of major subsystems :p) with no comms loss in any of our matches. I can say, we took some very hard hits. The electrical system was as solid as a rock.
On Friday, In qualification match 31, we lost connection with about 18 seconds left in the match. As to be expected, comms did not come back before the end of the match. I talked to the FTA, and he told me that he never lost communication with our radio, the roborio went out for around a second, and our code was rebooting until the end of the match. (I never saw comms or code come back on the driver station, both stayed red). Here is a video of this happening. We had not bumped into anything for a very long time, and we thoroughly tug tested all of the wires and fuses, and checked for shorts, but nothing seemed out of place. So, we switched the Ethernet wire from the radio to the roborio, and hoped that was the problem. It seemed to fix it as we went through the rest of our qualification matches on Friday and Saturday with no problems.
I should also mention, that we switched to using the 2016 radio before any matches on Thursday because of problems with the 2017 radio with the Axis camera. Our 2016 radio has some minor damage to the plastic casing, but we used it for 5 weeks of rigorous driver practice on our practice robot, and it had no problems (that doesn’t mean it didn’t, I’m just explaining why we thought it was a good idea to use a damaged radio).
On Saturday, during our first quarterfinal match, we had no comms problems, but there was severe lag in the controls for all 6 robots, so the match was replayed.
In the replay match, around 30 seconds into teleop, we collided with 144, and around 1 second later we lost comm. (Note that it wasn’t immediate. The RSL continued to flash, and the robot was able to turn under its own power after the collision. Comms did not come back for the entire match. I talked to the FTA, and he told me he never lost connection to the radio, he lost the roborio, then it came back (I am blanking on the important detail of how long this took) the code then came back for around a half second, then went away and didn’t come back. Here is a video.
Before our next match, we switched the Ethernet cable from the radio to the roborio, I unplugged the Axis camera from the radio, and we tug tested everything. I also used a usb to Ethernet on the drivers station just in case. Our next match we did not loose comm (our alliance partner, 217, did, but that was a wiring problem). We also made it through the last quarters match with no comms problems.
Our first semis match, we lost comms after several mini-collisions around 30 seconds into teleop and did not come back. The FTA told me the same thing as the previous time. He also told me that the controls were lagging for everyone until he lost us, then they went back to normal, which is very strange. Here is a video.
4027 and 217 then made the very smart decision to call in a backup robot for us, so after that our day was over.
As soon as we got home, I tried to reproduce the problem, but could not. I did, however realize that when our code first comes on (after restarting), Robot code turns green, then flashes red for a split second, then goes green and stays green. It had been doing this all year, but I hadn’t thought much of it. I tried putting on the default LabVIEW robot code (with no can code). It came up solid green, and did not flash red at all. I copied the initialization of a talon srx (what we use for driving) over to the default code. Robot code again flashed red on startup. I tried this several times. The talon code caused the red flash. I also tried putting on example code for the talon srx’s. It also flashed red.
The next practice, by chance, we disconnected from our test board (the Ethernet came out). We plugged back in, but when comms came back, robot code flashed green once, then went red and stayed red until we rebooted!!! This is exactly what happened on the field. I again tried the default code, (no srx) and disconnected and reconnected the ethernet. The code came back. I put in srx code. The code did not come back. I put in the example srx code and did the test, code came back.
We now had it narrowed down to two triggers, unplugging the Ethernet connection to the drivers station caused it, and talon code was a correlation (at least my talon code).
We then tried connecting through the radio over Ethernet. When we would unplug the Ethernet from the radio to the rio, the robot code would not come back.
I now have the test board at home, and I cannot for the life of me reproduce this problem. I have the same laptop, rio, radios, and Ethernet cables. But robot code comes back every time even with talon code in there.
I don’t know what to do! I know I haven’t fixed the problem (whatever it was), but it has gone away and I can’t make it come back to see what it actually was. I am posting this here to see what you all have to say.
I know there are some very smart people here on CD, let’s see what we can come up with. Sorry about the book of a post, I wanted to put all relevant info into this post because I feel all of it is important and needed to come up with a solution. We will be going to the Buckeye regional next weekend, and I have to solve this before then.
Thanks,
Julia Cecchetti