25 May 2008

Adverse Yaw

My girlfriend, Liz, got back from a semester in Ireland a few days ago and for her belated birthday present I took her flying. I e-mailed Iris Critchell (who I still have to write a "People I'm Glad to Know" post about...) asking if she would be willing to take us for a short flight on Saturday because Liz couldn't participate in the flight lab in her Flight Mechanics class. She agreed and asked what Liz wanted to do. After a while of that we decided to meet at 13:30 on Saturday and go for a spin in "42-Golf"; one of the Cessna 172's she flew for the Bates Program. The Cessna 172 is one of the most stable aircraft you'll find and Iris delighted in explaining the how and why of the aircraft's responses to us because we both understood a lot of what she was talking about.

One of the new things that I learned was adverse yaw. In the aero world, the three rotational movements are called "pitch" (tipping up or down), "roll" (rolling side-to-side), and "yaw" (pivoting left and right). When you use the rudder to induce yaw, one wing is travelling faster through the air than the other which provides it with more lift. That additional lift induces a roll. However, when you use the alierons to create roll, the change in lift and drag across the wingspan will induce yaw counter to the turn. This phenomenon is called "adverse yaw" and is prevented by applying rudder into the turn as you roll.

Iris, being a flight instructor, was able to put us (one at a time) into the left seat and let us actually fly the plane once she'd gotten us into the air. Among the things that she showed us were steep-bank turns, low-power (and thus slow) flight control, and stalls. We also got to see how the plane reacted to flight conditions it didn't like -- we gave it a sharp tug to increase or decrease pitch and then took our hands off the controls and let the plane sort itself out over the course of the two oscillations for which it had been rated to do so. After we flew around for a while and learned more about flying in an hour than we had ever known before she took us back down and we headed back to Mudd.

Iris mentioned that when a new flight instructor is being tested for certification, it's an immediate fail if the trainee instructor ever stops talking. Perhaps that's why she'll talk your ear off.

~KMarsh

At World's End

This first semester of blogging has finally drawn to a close. Another year is lost to the mists of time, the summer coalesces into reality, and my friends and I become Seniors. My apologies for not making these posts separate and sooner, but I've been remarkably busy the last week. It just means I have more to talk about now.

First up is the end of school. Spring semester 2008 is now over at Harvey Mudd College and that means us students are out to do whatever it is students do over the summer. In my case that means working in Pasadena. Before we get there, though, we have graduation! The seniors are leaving us for ever and ever until they come back to tell us how easy the rest of the world is, and we get to listen to Bill Nye the Science Guy give the commencement speech. Bill's a great speaker and now my class has to come up with someone better...I have no clue how we're going to magic that up. Side note: I swear, if you're gonna get a doctoral degree pick the school with the best robes. We've got some very colorful members among our faculty.

Graduation from Mudd occurs on a Sunday (often Mother's day) and students are required to vacate the dorms by 8:00 Monday morning. Thus Sunday night finds my roommate and I packing feverishly and wondering where all this crap came from and more importantly, where it all can possibly hide during the year -- you really settle into a place and don't realize how much stuff you have until it's time to pack it all away. Things also tend to be distressingly non-rectangular. Being the first time that I'm spending the entire summer not living at Mudd (frosh year I took Summer Math, so I stayed for the first 6 weeks and soph year I worked on Staff for the CS Department almost the entire time) this is the first time that I've actually had to pack everything. I'm moving (moved...) into my sister's apartment in LA for the next 11 (10) weeks, so everything must be packed up and everything must be moved or put in storage. Good thing Mudd provides a lot of storage options for us. You see there my room in a state of partial destrucion. Things certainly got worse before they got better. I hadn't thought to take any pictures of my new room/apartment until now and it's currently plunged into darkness, so that'll wait until the morning.

Finally, I started work last week! So far I'm enjoying it. Guidance Software does computer forensics; in the paraphrased words of my (Mudd alum!) boss: first the door-kickers go and kick in the door (doorknobs are out of style in today's world), they shoot a bunch of people and shout "Clear!" Then the detectives come in and shut down the computers in a forensically-sound manner, check the computers into evidence, check them back out, and take the hard drives out. The hard drives have write-blockers attached and the detectives use our software to make an image of the drives. The computers get checked back into evidence and finally the detective uses our software to search the drive images for whatever he or she is looking for (incriminating e-mails, pictures, documents) even in the unallocated disk space (deleted files and such). It's apparently incredible to see someone tear into a drive with this and my boss is hoping to get me into one of the training courses they offer because it's "Wicked cool."

In order to unlock all the features of the software so I can be a developer, they gave me a USB dongle. It's worth about $60,000.

~KMarsh


edit: Here are pictures of my apartment. The first is the living room/kitchen/dining room and the second is my room.


23 May 2008

Gimmie just a minute...

There will be an update early next week, I swear -- I've been so busy packing and moving and starting work that I haven't had time to get around to it. Actually, by then there will be two updates I'll want to make.

By the way...I know I'm getting some visitors...you should comment; it'd make me feel all warm and fuzzy.

~KMarsh

11 May 2008

Free at Last, Free at Last...

My thanks to Dr. Martin Luther King Jr. for this post's title. As of yesterday I am done with my junior year here at Mudd. All my classes are done, including exams/projects and I'm waiting until I move into my summer apartment on the 19th and start work. Of course...as a Mudder, having nothing to do is that pinnacle of the states of being that we all strive to achieve, but, being Mudders, having achieved it we're rather like my dog who once actually caught a rabbit that he was chasing and then had absolutely no idea what to do with it so it kicked him in the face and ran off again. We need things to do. Thus I have projects lined up to work on:
  • Theremin: My summer roommate (a fellow roboticist and rocket scientist, possibly at the same time) has agreed to build a Theremin with me over the summer. Not because we can play music (although he's actually quite good with a guitar...mostly I can't play music), but because it oozes sciency sexiness. The theremin is a musical instrument played by waving your hands around it -- it consists of two antennae and some circuitry. One antenna controls the volume (closer your hand gets, the softer the volume) and the other controls the pitch (a variable-period oscillator is connected to the antenna and moving your hand changes the capacitance, altering the period of oscillation. This creates beats with a fixed-frequency oscillator and that signal is sent out to an amp). And I have friends who wonder how to make E&M sexy for high-schoolers.
  • Blender 3D Robot Gait Plugin: Blender 3D is an open-source 3D modelling program. It has an extensive api and my friend Jacques over at Robots of Joy has realized the lack of good tools to let garage roboticists design walking gaits for multi-legged robots. Thus the idea was born to write a plugin for Blender 3D that lets the garage warrior build a model of his or her robot, animate it, and send out the commands for the motors when it's ready.
  • Work: Oh yeah...I'll be working at Guidance Software in Pasadena. They do digital forensics. I'm not entirely sure what I'll be doing for them, but it should be neat. It will also be good experience working in the software industry.
And now for something completely different: I now have another reason to build a PC capable of playing modern video games (no, I won't leave you, 8-bit DOS games and buggy Sierra games, they're just prettier...it's really all superficial. You're still my favorites, I promise). It's called Mirror's Edge, and it's amazing:

I have Portal, Half-Life 2 (yes, I've never played it yet), and now Mirror's Edge on my list of compelling reasons to actually spend money on a decent computer. This game looks awesome. There are at least two things that are strikingly unusual about it. First, there's no HUD (on-screen display). Watch again. There's no ammo indicator, health bar, minimap, or any of the other elements you expect to get in between you and the world of the game. Second, your character's limbs are rendered, yet it's a first-person game. This is an attempt to make jumping decent in first-person games (perhaps the biggest complaint about Portal, actually). Finally someone has gone out on a limb and made what looks like a pretty good parkour game -- they did this by focusing on the parkour and not trying to add it as an extra like in Prince of Persia (decent games, but not great).

The game is set in something of a totalitarian dystopia where the government reads all electronic communications, so the only safe way to send illegal information is by using message runners. Your character is one of these message runners and, as seen in the trailer, the feds try to stop you. You can beat them up and even take their guns, but you only have whatever remains in the magazine when you take it and bigger guns will hamper your movements, so it's better to run away in most cases.

Mind you -- I still would rather do this stuff myself. I have a friend (who actually failed out of Mudd in a spectacularly epic way) who was learning some parkour and he showed me a little bit last time he came to visit. There's a decent spot to practice some of the basics on Mudd, but I'd like some other people to work with. Maybe I'll get a group together next year. For those of you who haven't seen it or don't know what parkour is, here's one of the more popular videos:

Actually, this would perhaps be better classified as free running (distinguished from parkour by its emphasis on acrobatics rather than efficiency), but either way it's really cool.

~KMarsh

03 May 2008

Army of (Friendly) Robots

A few weeks ago the CS department used the colloquium period to tell us students what the professors would be working on over the summer. Professor Dodds' presentation included a slide proclaiming that he would be building an Army of (Friendly) Robots. He claimed this is because an Army of Robots should be on everyone's ToDo list, but helikes the thought of friendly robots more than the thought of unfriendly robots.

Last Thursday was the demonstration day for our robotics class. As you may remember, my team was intending to enter the Semantic Robot Vision Challenge, but unfortunately two of our 4 members were also taking VLSI which maybe sorta ate all our time and possibly our souls. We scaled it back so that we were only looking for textbooks, under the assumption that textbooks have very well-defined images, and did not implement the bounding-box stuff. Even so we were in the lab Wednesday night from 17:00 until class the next morning. We seemed to work best in shifts of two or three; you've heard that too many cooks will spoil the soup, and in this case there weren't enough different parts for all of us to work simultaneously on the project.

We each had "expertise" in a different area of the project, too; I knew how to make the wheels take the robot where I wanted it to go and had a good general feel for making Python talk to the different microcontrollers we were using (the ER1 Evolution base, the AcronameBrainStem controlling the servos, and the Arduino board controlling the sonar). Heather was the vision person and she did most of the work making our robot identify the books. Greg was the man who braved the dark waters of computer networking to get our MacBook Pro and Dell PC talking to one another via a short length of ethernet cable and even magicked up the campus network on the MacBook's wireless and shared it with the Dell. I don't understand such black arts, but he managed it. Ellen was the servo wizard. I bloody hated those things. They were built from magic and the desolation of lost souls and were even more finickey than the network to get right and always did something wrong if you looked at them cross-eyed, but she managed to bend them to her will somehow.

Next up we actually had to integrate all these pieces. We had a subversion repository full of code fragments that were each a proof of concept for controlling one element of our setup, but with three microcontrollers, two computers, and code written in both C and Python it was no mean task to get them all working together. In fact, it took all night. I was took the task of writing the main Python driver while Ellen was at a play rehersal and Greg and Heather worked on the vision code. I spend a good deal of time making it modular and following good coding procedures and I think that will really help anyone who decides to follow in our footsteps or really anyone who needs to figure out how to make any of these controllers work.

Once I had that put together, we hooked everything up, turned it on, and watched with bated breath as our robot ran headlong into a cardboard box. Turns out that the sonar sometimes returned a bad value and that would crash my program, so I caught the exception and ignored it -- potentially a dangerous thing to do, but it was a 30second fix and I was in a rush. After some confusion stemming from dead batteries powering the servos (did I mention how much I hate those things yet?) we actually got it running and completed the final tests around 07:00 Thursday morning. By this time Greg was passed out and Ellen had gone to bed leaving Heather and I to run the final tests and add in some amusing code of our own. Here is a video of our demo. Professor Dodds isn't the greatest of steadycam men, but it's probably the most exciting video of our robot so far. And for those of you who are wondering, Yes. The "Where are you hiding" is a tribute to the turrets in Valve's Portal.




~KMarsh