Posts tagged ‘robotics’

This is too awesome for words

Man, would I like to know how that works. Its balancing algorithm is incredible!

DARPA Urban Challenge

I really ought to finish this entry. Better late than never, eh?

Yesterday (being about a week and a half ago), I woke up at 3:30 AM, which was strange, because it was a full half-hour before my alarm was set to go off. I needed to get an early start on the day if I was going to be in Victorville (over 100 miles away) by 7:00. Find out what I was doing →

Followup: Athens bombing

As more details come out, it looks like I was spot-on last night in my analysis of the embassy bombing in Athens. Hot damn!

It turns out one of my coworkers used to work for Evolution Robotics, which made the ER1 I used in my robotics research a year and a half ago. It’s nice to know that he agrees with me that the ER1 could have been a great product except the basic software, power converter, and marketing department were crap (though apparently if we had sprung for the $1,000 software it would have worked better). Intriguingly, he also thinks that adding a laptop and camera to a Roomba is a good way to get a cheap robot, which is what Prof. Dodds is doing now (he was my robotics research prof). Nifty!

How exciting!

Today’s vision meeting totally made my day. Now that the batteries are fully charged, we can proceed: the camera works, it works beautifully, and it works simply. We got it to work with the software that FIRST gave us. We got it to work with the software developed at CMU. We got it to work with a Python script David and I wrote last week. Kick ass! We got it to move the servos, capture images, track different colors around the image, and move the servos to center the camera on a swath of color. The next step, I feel, is to get the robot’s processor to interface with the camera and do all of this (we’re currently doing it from a desktop computer). The cool thing is that the hard part of this has already been solved by this awesome dude online; we just need to look through the code and figure out how he interfaces with the TTL stuff, and we should be good to go.

Some of the robotics kids have expressed interest in learning to program the processor on the robot but have no prior programming experience. Consequently, today I held a meeting about learning C (the only language with a compiler for our processor). If you think Mudd was like drinking from a firehose, you got nothing on me. In 2 hours, I attempted to teach three kids and a mom nearly all of C. We covered

  • compiling code before running it
  • basic syntax: semicolons, curly braces, and their ilk
  • built-in types: int, bool, char, short, long, unsigned
  • variables, and declaring and defining them
  • if statements, and for and while loops
  • boolean logic: && || ! == etc.
  • creating functions, including arguments and returning values
  • header files and the actual .c files
  • scoping
  • precompiler commands like #include and #define
  • structs, though we only covered these briefly
  • pointers, including pointers to pointers, dangling pointers, and the array/pointer duality (again, kinda briefly, except their utility in affecting things outside the current scope)
  • cout and cin, though again only briefly (not really necessary for programming a robot that lacks both of these)
  • compiler errors
  • other odds and ends that were mentioned in the sample robot drivers (extern, static, and other keywords like that)

We’ll see how much of this actually stuck, but at the time the kids seemed to understand a lot of the stuff we covered.

Looking back on it, it took me months to get the hang of all of this! Though to be fair, I was supposed to be learning this stuff and applying it to tricky situations (creating my own hash tables, memory allocators, etc) at the same time.

Protected: Boo, Bureaucracy!

This content is password protected. To view it please enter your password below:

Mac, eat your heart out!

Behold! It turns out that if you start with the proper background knowledge, this sort of thing is trivial, but no one seems to know where to begin learning about stuff like this.

Also, I’m going to be mentoring a high school robotics team this summer! Whee! I’m apparently going to be doing stuff on the software/vision side of things. They have really nice equipment, including a CMUCam2. It turns out that a $30,000 budget can buy a lot of neat toys.

Presentations!

If you have time and inclination, I invite you all to come see the LaTeX talk today (Friday) at 4:15 in Galileo Edwards. I made the slides, with a bit of editing from Mac, and I’m currently making the handout. I don’t yet know if I’m giving the talk, but I suspect I am.

After that, I invite you all to come see the robotics talk I’m giving along with Mac, Ricco, and Ben on Saturday. We’re giving it at 4:30 in Galileo Edwards. This talk has the potential to be awesome or horrible, depending on how smoothly things go tomorrow: we have to build the robot, find computers to run it (we still have the software, but we need 2 laptops with Visual Studio and OpenCV, as well as two of the webcams in the lab) and rehearse our talk (we haven’t given it since about September). Still, it should be fun. It was a really great project with some really great results. And we might even do a demonstration!

I now have to go start the handout for the talk in my psych class to which you’re not invited… :-P

We Are The Champions, My Friends

As Ricco mentioned in a comment to my previous post, it turns out that we won the scavenger hunt with flying colors. We took first place in the scavenger hunt, and Sony gave us an Aibo for that (this was unexpected; we didn’t know that there were any prizes). We also got a Technical Merit award for “Overall Excellence in an Autonymous System,” which I’m really happy about – all robots at the conference were eligible for technical merits, so we apparently beat Sparticus to that one, (though it got awards for being awesome too). We’re dubbing our awards the “ghetto-badass” award and the “holy shit – it worked!” award, irrespectively. As Ricco also mentioned, our robotics lab now has 2 Aibos, and they need names (the one we currently have is called something like AIBO1 right now). At first, we were thinking of naming them Homebrew and Budget (or various spellings thereof), since that phrase has become a bit of an inside joke for the four of us (perhaps only the three of us, since Ben was out of town when we wrote the abstract). However, we might call one of them AMBR (Alan, Mac, Ben, Ricco) instead, since some people think it’s wrong to call a commercially-made robot Homebrew. Any feedback here would be appreciated.

Wednesday night, Dodds took us out to dinner to celebrate. It was hilariously like he was back in high school – since he’s spending a year on sabbatical at CMU, he has moved to Pittsburgh and is living with his mother in a 3-story penthouse above an office building. To pick us up, he borrowed his mother’s car. We went to the City Grill, which was great, and we then rode an incline, to get an historical perspective of Pittsburgh (inclines are like trolleys that go up the sides of mountains). While trying to find a parking spot, Dodds drove for a bit half on the sidewalk and half on a gravel parking lot, and since the Prius sits so low, we scraped the bottom against the corner of the sidewalk, eliciting “OOH”s from the dozen or so people walking by. When we finally got to the incline, Dodds didn’t have enough money to pay the fare for the 5 of us, so he borrowed money from both Mac and Ben. We then took the robot to Dodds’ mom’s house, where he will keep it until school starts up again. However, the building was locked and Dodds had forgotten his keys. He borrowed Mac’s cell phone to call up and see if someone could let us in, but there was no answer. So what does he do? He scales the fire escape! He also claimed to have done this several times before. It was hilarious – he was wearing suit pants and a nice, collared shirt. Our estimed professor – climbing the fire escape as though he were sneaking back home after curfew. Mac had the foresight to recommend that we get pictures of this, which we took profusely. He finally gets up there and gets his mom to come let us in. Then, to pay back Mac and Ben, he borrows money from his mom! It was just like we imagined he would have acted in high school.

On the whole, this has been the best week of the year, and I hope to go to AAAI again next year. If you’re interested in anything remotely related to AI, I strongly suggest you look into going, too.

Also, we were apparently mentioned in Wednesday’s edition of the Pittsburgh Tribune (the 2nd page of the local section, I think). Unfortunately, we don’t have any copies of this paper. If anyone can find one, we’d like it, or a scanned copy of it, or something. On a related note, we forgot to videotape the robot scavenging for the judges. If anyone happened to have been at AAAI and taped it, we’d like a copy of that too.