Not So Giant Robots

June 15, 2006 at 9:13 pm (Off-topic)

There really desperately needs to be a procedural anime drama about giant robot pit crews. The side of all this Gundam and Mazinger shiznit that they never show you are the times when they can’t even get the damned things launched because a motor froze up, or they found a previously unrecognized limit cycle in the steering logic, or one of the cables has gone bad, or one of the major control processes failed to start due to disk corruption. Which brings me around to how I spent my last week or so.

I was at Selfridge Air Force base in Michigan, this week-end, attempting to help my school’s team participate in the annual Intelligent Ground Vehicle Competition (IGVC). Though I certainly won’t disclaim some of the responsibility, since I’d technically been involved with the project longer than just about anyone else there, this entire affair was a colossal clusterfuck. The team we had was actually ridiculously talented, but it is nearly impossible for a group of amateurs (by which I mean people unfamiliar with the requirements of the competition and the hardware being used to compete) to go from a partially constructed vehicle with a couple of lightweight apps loaded to demonstrate basic sensor functionality to a fully integrated contest-ready solution inside of four weeks.

I was suffering from a delusion borne of my nieve desire to stay only tangentially attached to the rest of the project (I was writing the high-level nav logic) that everything was far more advanced than it actually was when I joined the rest of the team about a week before we left for Michigan. Despite a lot of sixteen-hour days put down, the day before leaving, there was still a major persistent fault that we could not trace in the core communications architecture, so it had to be basically ripped out and replaced with a hack which was actually remarkably stable.

There were about eighteen-thousand other last minute requirement changes, though the “last minute” did seem to keep getting pushed back as we came up last Friday to discover the competition didn’t actually take place until Monday morning. I am incredibly unused to being without instant intarnub access and had to go find some wireless (back in our hotel it turned out) on which to download a couple of installers onto my USB thumb-drive (which broke later that weekend; FUCK YOU, PNY!) so I could work on whichever lap-top happened to be handy at the time. A lot of Friday and Saturday morning were spent doing sensor integration with vision. Oh I should probably mention that starting from pretty much the time I joined the project, every other time we got ready to integration test my nav software, something would break and get in the way. I probably could have spent more time doing simulated tests, but I hate fixing twelve bugs in a simulation it took me an hour to write in the first place to find one bug in the release code which could have been quickly picked up with a live test. Meh. I need to figure out a better testing architecture for this stuff. But anyway.

Saturday night. Our advisor had to go back to Cleveland for something or the other, and left one of the team members with the night’s meal funds. He eventually went off to fetch dinner, but came back empty-handed (it was like fifteen minutes before I understood that “they only had a buffet! we couldn’t bring anything back!” wasn’t just some kind of sick joke). Actually, he barely got back at all. After doing about 100 on the freeway to arrive at the gate at 10:02 (base entry closes at 10) he only barely managed to convince the guard to let him back on. Well, around 11:30 everybody was tired and very cold despite it being the middle of the summer (FUCK YOU, MICHIGAN!), so we went to find a place to eat. Which turned out to be an Aspen-ski-resort-themed restaurant which was closed except for the bar. This particular bar was apparently the type that attracts bored middle-agers late at night and features DJ’d 70s music (well, mostly; Thriller was playing when we came in). There was supposed to be “live music” which we enquired about to discover that “Oh, yeah, there was a band last night, but they were really bad so we fired them”. They had some decent bar grub and some warsteiner on tap, so I was happy enough. It was one of those evenings that I can’t really relate the humor of, because it was mostly incident on us being very tired, bored, and amused at the cheesiness. When a few of us went out to dance YMCA on the floor (sadly, I don’t think there’s a recording of this hilarious incident), one of the 50something blonde floozies opted for a Two-Handed Ass-Grab on one of our number. It was like bizarro Japan. Oh, this was the same guy that cringed (I knew he would) when I explained that I go to Baltimore every year for an Anime convention. That conversation ended sort of like this:
Me: “Well, the hotel is in walking distance. So it’s also three days of essentially zero self-responsibility.”
Him: “Yeah, but it’s downtown Baltimore. You wander around you’ll get mugged.”
Me: “Oh, sure, normally. But the muggers are FUCKING TERRIFIED of the cosplayers swarming the streets, so I don’t think it’s too much of a problem.”

Sunday morning. We finished qualifying (a surprising number of contestents did not, so I suspect many were in a similar boat), and started to collect more data to do tests. In the middle of this, one of the motors started to misbehave, and while people were in the process of fixing this, I heard that sound you really don’t want to hear in these situations: “I smell smoke.” Yup. Dangling USB cable + 24V = ZAP! Fried DAC. The DACs (one of which is in the picture at the top), among many other things, control the motors. We thought it was just one at first, but it turned out to be both of them. Upon urging from our advisor started reworking (well this was mostly everyone else, I was just trying to bug-hunt my nav code) the whole affair to get it functional with one DAC instead of two, while he called in a favor with his wife to extract the one extra same-model DAC we had back in our lab in Cleveland. She was scheduled to get in around 10pm. Well, everybody got it up again, and we were at the site until 3:30 or so in the morning I think, enough time to discover that there was still a problem with the pilot (steering control) though my nav server finally seemed to be giving reasonable values (i.e. we fixed the interfacing bugs) on our last test run. The robot is still largely untested, but we’re all dead, so we turn in and grab ~three hours of sleep.

Monday morning. Our first run comes up a lot faster than we’d hoped. We, uh, don’t go anywhere upon start. I don’t honestly remember why, but whatever it was we fixed it. The second time up (same heat) we spend around in a circle, which turned out to be the fault of a bad motor connection or battery or something. Also fixed. In the mean-time, we discovered on-site that there was a simple challenge with easy money on it to implement some basic network-driven control commands. One of our enterprising and sundry crew managed to get that done, and score $500 bucks which covered the cost of the two dead DACs at least. In the mean time, having noted our robovehicle’s impressive ability to right itself from angle-tilts well over 45 degrees, one of the idle hands set about implementing “Option B” where “B” stands for “Buck Like a Wild Donkey” which it was widely speculated would get us disqualifed by terrified judges. We did our third run (2nd heat) in which the robot promptly turned off the marked course and headed toward its center. I actually figured out why it did that (I think) and fixed the bug around the same time…yep…the third DAC got fried. We’ve still got no idea how this one happened, because there did not seem to be any path of conductivity that made sense, but shonuff our last DAC was smoked, and our robot was dead in the water.

I laughed. I think our advisor probably did a lot of silent cursing since we had funding for this trip. Well, we still had some funding though, so we went out to lunch at Red Robin selected, I suspect, on the grounds that the sign for it has the words “Food” and “Spirits” in really large letters.

Despite disasters and overwork, I had a decent time and got some good research material out of the whole affair.

%d bloggers like this: