Steamworks - Week 1

Posted on Tue, Mar 7 2017 in Bob's Journal • Tagged with FRC

The Krypton Cougars are back in action. After their banner performance last year, the students were eager to learn from their mistakes and made an exhaustive list of everything they wanted to do better, presumably so they could pointedly ignore it.

Last year the battery was very hard to replace, causing much frustration during and after the competition season. One student ended up becoming the designated battery installation expert, and that could only be done in a timely manner if the robot was held up in the air. For 2017, the team decided that wasn't nearly difficult enough, and buried the battery even deeper in the depths of the robot. It now requires two or three students to replace a battery, after moving multiple robot mechanisms out of the way.

Last year the team divided their focus between too many things, and vowed this season they would streamline aggressively. When the game was revealed, the first meeting was to discuss what game elements the team would target and which they would ignore. The team decided that the fractional point value of fuel made it unnecessary, and that the forty-point gears and fifty-point climbing were much more important. They then spent half of build season designing a hopper and loader for fuel. Which leads us to the next improvement...

Last year the robot was not mechanically completed until the last moment. The programmers were forced to program on the car ride to the competition. We agreed that this year we'd finish all mechanical changes at least a week before the end of build season, giving our programmers and drivers the time they needed. Naturally, the mechanical team decided that prototyping the fuel hopper system took priority over programming and driver practice, leaving the programmers to test their changes in the gaps. An additional motor was added to the robot, for the hopper, the night the team arrived at the competition, which the programmers did not find out about until the night before. It was programmed at the competition. The drivers got no practice time.

With this auspicious start, our team could not help but have a great first competition. One thing you must do at an FRC competition, after getting your robot unpacked, is have the robot's on-board radio re-imaged for the field. Until this is complete, and your robot is inspected, you can't do much. There were already a few teams in line before us, and they seemed to be having trouble.

"Did you update your firmware?" the technical assistant would ask.

"Yes," they replied confidently. Then they'd plug in their radio, enter their team number, and then watch as a large error dialog appeared. Three teams in a row did this, so when it was our turn I was a bit worried.

"Did you update your firmware?" The last update we'd done had been the last week of build season. I hadn't seen a notice of any new changes, but how could all of these other teams not have updated their radios in three weeks?

We plugged in our radio, entered our team number, and hit the "Configure" button. A progress bar appeared on the screen. A few seconds later our radio was successfully imaged. We took it back to the pits and plugged it into the robot.

I suppose at this point I should mention that this is the first year our team has used a co-processor for vision. It's a second computer with 192 GPU cores, and it can process two different camera feeds for different targets and stream video feeds and target information back over the network to our drivers. It's one of the programming team's several amazing achievements this season. We rely on this vision information to drive our robot, both autonomously and when we need extra precision under human control. After the radio was re-imaged, this vital co-processor disappeared from the network.

By that time it was getting late in the evening, and Miranda had only had a short nap on the ride out, so I had to leave so we could put her to bed. Back at the hotel, I provided tech support via text message. The core problem was somewhat obvious. With …


Continue reading

Stronghold - Westtown

Posted on Tue, Apr 5 2016 in Bob's Journal • Tagged with FRC

The Krypton Cougars arrived at their second competition with only one obstacle standing between them and total domination: themselves. The new pickup system (also known as the old shooter) had been designed without measuring if a ball sitting on the floor would touch the intake wheels. Testing revealed that the new metal base-plate would hit the ball first, knocking the ball away repeatedly. After much deliberation, and a sometimes contentious discussion about what shape the cut should be, the team decided to cut off an inch from the front.

With their robot now even more unstoppable than before, they had it weighed and inspected. Once their radio was configured to be plugged into the field, they got in line for their first practice match. Finally they reached the front of the line, eager to test their new design. "Sorry guys, that's all the matches we have time for tonight."

Undeterred, they returned the next morning and stood in line again. When they finally played their long-awaited match, the new arms performed as anticipated, getting hit early in the match, bending the shooter and causing significant damage to the robot. Back in the pits, the team decided that making the same mistake a second time wasn't quite enough. They removed the angled intake bars from the aluminum arms, leaving only two short tusks in front. Since each tusk was one-inch-square, the pickup mechanism's width was now approximately the same as the ball, making collecting a ball from the field nearly impossible. The team saw that their pickup design was good and took the robot to the practice field to see how great their shooter was.

The team stood, waiting by the field as team after team tested their robots. "Where are we on the list?"

"List?"

"Yeah, the list where you sign up for a time slot to test your robot. You did sign up for that?"

"Oh." The team reserved for a time slot and eventually tested their shooter. They scored two high goals, out of dozens of attempts, and their joy was beyond containing as they shouted for joy while the other teams stood silently for the national anthem.

Practice time was over and the main event began. In their first match, the Krypton Cougars got off to a great start, easily clearing the defense in front of them, and slamming full-speed into their opponent's wall, an effective, if unplanned, intimidation technique. Delighted, the team scurried into line for their second match.

The second match was equally successful, with another intimidating autonomous, until a head-on collision with an opposing robot sheered through two aluminum brackets like they were tissue paper, leaving the shooter hanging by its wires. Without enough time to fix the brackets before their next match, the team used bungee cords to strap the shooter to the robot and went back on the field. Unfortunately, they neglected to strap down the duct-taped-on limit switch, and left it laying on the field like a deceased orange long-tailed rat.

Their next match wasn't until after lunch. They worked feverishly to make new brackets (They hadn't brought replacement parts). Far too quickly lunch was over, and matches resumed. Their match approached and the team continued reattaching the parts they had disconnected. The match before theirs began, and the team still hadn't finished. Duct tape and zip ties flew as the team strapped down every loose piece they could find. It was time for their match to start, and the team deployed code to the robot as it rolled towards the field.

When officials finally made them stop working on the robot, it drove well and the shooter worked, mostly. After the match, the team found that the limit switch had come unsoldered again. They re-soldered it, but then the arm would only move down, until it reached the bottom switch, at which point it wouldn't move at all. The team checked the top limit switch, but it wasn't closed. Figuring it had short-circuited, they removed it entirely, but the arm still didn't move. Closer inspection revealed solder between the solder pads, creating a tiny short-circuit. The team melted the solder off the pads, but didn't have time to attach the …


Continue reading

Stronghold - Preview

Posted on Wed, Mar 30 2016 in Bob's Journal • Tagged with FRC

"Let's check the robot's camera feed."

Click. The robot blinks to life. Eric waits at the programming laptop for the wireless connection.

"Hey, this motor isn't plugged in."

Click. The robot goes dark. Thirty seconds pass.

"How are we supposed to check the camera without power?"

"Oh yeah. Eric, we turned off the robot."


"It's ridiculous how we have to relearn the same lessons every year. We should write down what went wrong and go over it at the beginning of next season."

"Connor, we did that this season, and look what happened."

"Oh yeah. But, like, the arm outside of the robot. Every year we have one and every year it gets broken. We even made this year's arm from quarter-inch steel, and it still got destroyed. We shouldn't be extending outside of the bumpers."

Twenty feet away, Tory and Gavin work feverishly to attach new aluminum arms to extend outside the bumpers.


"Gavin did a terrible job taping these wires. I can do better."

Connor grabs the scissors and cuts through the delicate encoder wires taped inside.


"Henry, that motor is already attached."

"What?" Henry asks, tugging it from the robot and snapping the data cable.


Stronghold - Day 1

Posted on Thu, Mar 17 2016 in Bob's Journal • Tagged with FRC

The Krypton Cougars utilized a bold new strategy for this year's robotics competition, and arrived at the arena with a machine that was neither mechanically complete nor programmed. I wasn't in the arena the first evening and morning, with its flurry of activity, but I was kept in the loop via text message. The first problem brought to my attention was an old friend from previous seasons. Once our robot's radio was configured for use with the field, we could no longer connect to the robot from our laptops.

This doesn't seem to impact other teams. Perhaps they prepare their computer properly ahead of time, or maybe most teams just don't do much programming after their robot is configured to go on the field. It stood directly in the way of the Krypton Cougars's bold plan, however. In a stroke of brilliance, the team mounted a second radio on the robot, one for the field and another set up like we had at home. They stacked them, to make reading the signal lights as difficult as possible. Before each match, they would unplug one radio and plug in the other. After each match, they reversed the process. I'd like to say this arrangement didn't cause them any problems, but that would be very misleading.

Having solved their radio difficulties, they were free to complete their robot. While driving toward Philadelphia the morning of the competition, I received a text message informing me that the arm on the front of the robot could move up, but never down. After walking the programmers through common troubleshooting steps, I asked them to describe the blink pattern on the affected motor controller. They reported that when the arm wasn't moving it showed red lights, blinking in sequence: A limit switch was being triggered.

When the robot was designed, I hoped there would be limit switches at the top and bottom limits of the arms, both to avoid the arms moving beyond their expected range and to allow us to recalibrate the position periodically. The team had wired limit switches to the motor controllers, but attaching them to the robot had been left for some future date that never materialized. Instead, the limit switches were bundled up and dropped into the interior of the robot. The solder on one limit switch had been poorly applied, and the wires disconnected. Rather than fix the switch, the team tossed the loose wires in with the rest. Deep inside the belly of the robot, these wires had managed to cross, creating a short-circuit that was being read as a closed limit switch. Once these wires were separated, the arm moved downward with ease.

Kelly and I arrived at the high school shortly after noon. The parking lot was crowded, but we eventually found a space far from the school, where we unloaded our lifetime supply of baby gear and braved the bitter cold. Once Kelly and Miranda were safely in the arena, I headed for the pits.

By this time we had already had our first match, where our robot had put on a notable performance by spinning counterclockwise for the entire length of the match. While this had provided the spectators with much needed amusement, our team felt it was not a viable long-term strategy. There are many reasons why a robot might drive in a circle, but to continue doing so without input is rather unusual. We hypothesized it was caused by a sensor on the drive base not returning the correct speed. Rather than investigate the nature of the failure and correct it, we opted to turn off the sensors on the wheels and hope for the best.

This strategy was immediately successful. Without its sensors the robot drove in a straight line. Since the robot no longer knew its own speed, it went full force at all times, much like the students driving it. In fact, they were so excited by their new-found driving capabilities that they forgot the rules of the game and racked up twenty-five penalty points in their next match.

Up to this point in the competition, the robot's arms had been restrained with bungee cords until they could be tested …


Continue reading