Wednesday, April 14, 2021

Red and Black


Robot coming together!


Whew, 11 weeks in the books. For us, we've been able to access our facilities for the past 3 weeks. Still 2 weeks to go.

<Queue suspenseful music track>

Will we finish in time?

Dun, dun dun...



Final Wiring


Spoiler: the robot has wheels! And this gearbox-y thing-y!


Mounting the indexer and shooter assembly to the robot shouldn't take too long (spoiler: it didn't). Removing the temporary wiring, then re-wiring pretty much the entire robot will take long (spoiler: it did). The big task for this week was to have our fully functioning robot in software's hands, getting set for our first attempts at each challenge.


Originally, we planned 2 days for electrical - start Saturday, finish Monday.


We finished Wednesday.


Keep the weight down low.


Did you know - when the robot is small, there's less space for things? And stuff? While there were fewer modules that needed to get wired up, the cable runs, the tidy-ness, even the the access to each location was very tight. Couple that to a workspace where only 2.3 students can be near the robot at a given time, and the number of hours in a given work session are shorter, yeah, it took a bit longer than planned.


Even though this robot won't see a competition, we were still adamant about the quality level of the wiring. While we won't have match-turnaround time to worry about, any electrical issues would still take time to identify and diagnose. Having tight, clean runs, with wires cut to length (no extra wire to flop about) is not only better for any eventual diagnosis, it's simply less likely to have an issue if each install is carefully performed.


So many wires, so little space...


Running and Testing


With less than 2 weeks to go, software now has a full and complete robot. Once the indexer and shooter bring-up is complete, we'll do a "first take" on each challenge, then tune and improve as best we can.


It's been a while since we've tested shooting, so we actually started with DeadEye. We ran our "known" shooter again, checked the values in software, checked min and max distances and overall accuracy to get our baseline information to bring up PinkEye. Yes, in a world currently experiencing a contagious disease, the name PinkEye came about for this robot. Ugh, thanks. You know who you are!


This is also (fortunately) not the final robot name.


We did have a lot of fun on Wednesday evening. (I had a lot of fun on Wednesday evening.) We ran our usual Discord stream from the lab, keeping folks involved and in the loop. While testing DeadEye, the software team also kindly shared the live graph output for motor speed, current draw, and etc. I finally had my live telemetry dream come true!


Will our 2021 shooter be as accurate as our 2020?
From this angle, probably not...


We use a lot of tools like live graphing to improve our tuning. For a combination of software and mechanical tuning, we love that most modern phones are able to record video with slow-motion. When we started looking at our intake and indexer, recording how quickly the beam breaks responded to a ball entering, we were able to use a rough frame by frame measurement to calculate how quickly our robot reacts once it detects a ball.


29 milliseconds.


That's Formula 1 speed.


Random Musing of the Week


Less musing, and more a-musing story! 


As noted above, we use Discord, yada yada, we stream from the lab so more folks can "join in" watch, heckle, the usual.


So, one day the team in the lab started having serious problems running the robot. Battery was fine, code was working well, and then it just started getting all jittery, shots going wild, erratic behavior when driving, the works. (For those in the know - the robot was tethered, so the laptop wireless adaptor was online.)


Software team put on there detective hats, and started diving into the clues. (Again, all the logging and graphs help immensely.) They soon found that the issue was packet loss - the driver station was attempting to send data to the robot about what actions to perform, and the message got lost in thin air, never delivered to the robot.


That's a problem. Well, what the heck - it definitely didn't do this before. Something is clearly hogging all our network bandwidth! What evil, heinous, devious computer program would commit such a terrible atrocity while we were trying to run the robot!


Someone un-muted in Discord and asked what laptop was running the Discord stream.


...


Oh...



After that we tried to make sure we always had a few computers in the lab so someone else could run the Discord stream. (Apparently the issue was more CPU bound than network adaptor bound, but, well, it was amusing nonetheless.)


Be well, and don't bottleneck your drive station computer.


-B

No comments:

Post a Comment