Sunday, May 29, 2011

Uber-nerd

"Does dreaming about Captain Picard teaching me how to play chess make me an uber-nerd?"

"No, saying 'uber' makes you an uber-nerd."

What does this say about me?

While driving in the car yesterday, I flipped on the radio and caught the tail end of a program on NPR.  It seemed to be profiling somebody:

"He just went out and did things!  He was spontaneous.  Didn't stop to think, didn't worry about the consequences."

You know, I should be more like that guy, I thought.  I should be more spontaneous--go out and do things.  Live a little.

Then the program ended.  "This has been 'Profile of a Psychopath' on NPR," the announcer said.

Hmm.  Maybe I should be a little more careful about who I desired to emulate...

Monday, May 16, 2011

Robot Peripherals

I've been working for 5D Robotics for almost a year and a half now.  Early on, a large part of what I did was write drivers for various USB, serial, and Ethernet peripherals that we'd plug into our system.

That led to a realization.  The robots that we controlled using our Behavior ENgine were nothing more than peripherals themselves.  They plugged into the computer using the same USB, serial, or Ethernet systems as any other peripheral, and I had to write a driver for them just like any other plug-n-play device.

That realization sculpted how I designed the Behavior ENgine.  Rather than having everything centered around a robot, I designed the Behavior ENgine so a robot was nothing more than an additional peripheral.  Designing it that way has had a couple benefits. 

One, there is nothing special I have to do when I integrate our Behavior ENgine with additional robots.  I simply have to write an additional driver for the device.  That makes our Behavior ENgine highly portable between robots, if you want to view it from the robot's frame of reference.  It also makes our code clean and easy to maintain, since everything robot-centric is pushed down inside a driver instead of in the core of the Behavior ENgine.

Two, it makes the robot unnecessary.  This was a benefit I didn't anticipate, since I never anticipated using our robot-controlling software without a robot.  However, it turns out that the computer is useful even without a robot attached.  For example, the computer could have other sensors plugged in, e.g. chemical or radiation sensors.  Since the robot is unnecessary, the user can pull the computer off the robot and walk around with just the computer and sensors, reaching places the robot can't get to or even leaving the sensors at a position to monitor the area.

Friday, May 06, 2011

Yard Sale!

In about a week, my dad will be driving from Utah to Mexico to take part in a service project.  On the way, he's going to stop here in California to pick up my brother and help with some projects around the house. 

One of those projects is trimming some palm trees.  He's bringing a chainsaw, but until today I haven't had much luck finding an extension ladder.  On our way out the door to visit the beach, however, we spotted a yard sale literally a block away from our home. 

Normally I never stop at yard sales, but for some reason I decided to pull over, even though we were late.  There, lying in the grass, was an extension ladder!  And a dolly, which I've been wanting (probably thanks to all our moving), and a carpenter's square, and a little tricycle, and some horseshoes.  Thanks to Child's shrewd bargaining, we got the whole lot for $57.  Definitely a good find.