Skip to main content

Posts

Robots and a Kinect

As part of MIT's 6.141 robotics course , we were challenged in teams to create autonomous robots that could navigate a space while collecting blocks and ultimately deploy those blocks to form some sort of structure (see: background and details ). The approach that my team took for the grand challenge was an ambitious one: create a fleet of diversified but simple robots that cooperate to gather and stack blocks. These “worker” robots are meant to be extremely simple remote-control vehicles that are commanded by a sensory “mothership” robot. The primary motivation was to develop a system that could parallelize tasks and capitalize on the agility of using smaller robots (for example, improved maneuverability in tight spaces). Our original design consisted of three “worker” robots: an agile gatherer that could grasp and carry a block, a dump truck that could carry multiple blocks, and a slow-but-precise stacker robot that could create block towers up to six blocks tall. The worker...

Building a party lighting system

One of the coolest things about MIT is the wide range of opportunities to work on awesome projects outside of class. I'm on the executive board of a fairly new student group called Next Make . Next Make is a collection of motivated engineers in my dorm - Next House - with a mission of furthering Mens et Manus at MIT. We want to practice and teach hands-on engineering skills that build upon our collective past experience in order to learn and build really cool stuff! Over the past semester, and especially culminating at the beginning of February, I helped organize the design and construction of an amazing LED party lighting system for our dorm with Next Make. At the beginning, our goal was exactly that statement: "we want to build a really awesome LED party lighting system for our dorm." This was an admittedly broad goal, so during the semester we refined the idea into a detailed design that could actually be implemented. (On a sidenote, another cool thing about MIT...

Robot tracking experiments

As an organizer of MIT's 6.270 Autonomous Robot Design Competition I've been working on an improved vision-based system for tracking the contestants' robots on the playing field. (Sidenote: I competed in 6.270 last January and at some point I'll write a whole post or two about my experience. To sum it up, I had an awesome time competing, which is why I'm now an organizer of the competition) The basic concept is that we wirelessly feed each robots its coordinates throughout the round and act like GPS to help the robots navigate. However, this isn't as easy as it sounds. Our approach is to mount an overhead camera facing down at the playing field and then analyze the video to find special "fiducial" patterns on the robots. This isn't too hard in a controlled environment, but it gets tricky when the system has to ignore other objects on the field or when pieces of a robot go flying after it slams into a wall (which happens quite often during tes...

Using a GP2D02 IR distance sensor with Arduino

Just wanted to share an Arduino library I made over a year ago which I just realized might come in handy for others playing with the popular GP2D02 distance sensor. The GP2D02 is a neat digital distance sensor made by Sharp which uses reflected IR light to measure distances from about 3" to 3' (I think it's been discontinued now though). The fact that it has a digital output is convenient when using a microcontroller, although since the Arduino has analog inputs you might also consider using the analog variants like the GP2D12 or GP2Y0A02 instead. To install the libary, you need to download GP2D02.zip and place the GP2D02 directory into the Arduino libraries directory and then restart the Arduino IDE. Once you've installed the library you can set up a sensor like this: #include <GP2D02.h> /*    _________   o|       |---Black--------|Gnd    | GP2D02|---White--->|---|Pin 2 (note the interfacing diode)...

Playing with webkit notifications

My brother was working on a simple desktop app that needed popup notifications and as we were brainstorming ideas, my fondness for web-apps prompted me to look into the webkit notification API (and try to convince him to make the app into a web-app). I've written up a short tutorial for the webkit notification API below. The API is currently only supported by Google Chrome, but it's pretty cool and hopefully will be adopted by other browsers. Basically it lets you pop-up a small notification (after requesting permission) as an always-on-top window separate from the browser window. It looks like this: and it shows up in the upper right corner on Macs or the lower right corner in Windows. For the impatient, here's a quick demo: (remember, only works in Chrome) Notify me! From this point on, I'm going to make the (terrible) assumption that all of our app's visitors are using Chrome so we don't have to worry about checking browser support or degrading gracefully...

My first instructable!

I'm a huge fan of DIY (in case you couldn't tell from this blog...), so naturally I love Instructables - a site with user-submitted how-to/DIY guides. There I saw a really neat "word clock" which is a clock that spells out the time in words rather than numbers, and thought it would make a cool present for my girlfriend at the time. I improvised on the design and came up with a neat glossy black finish, packaged inside an Ikea shadowbox. It turned out looking really cool: In the spirit of giving back, I wrote my first instructable so you can build your own clock just like this!

RFID door

--- A demo of how the RFID door mechanism works. Normally the RFID reader is facing outward so you can wave your ID on the outside of the door to unlock it. Last semester I was lucky enough to get an order through during Sparkfun's Free Day - $100 of free electronics - awesome! Among the things I got for free was the ID-12 RFID reader , a cute little RFID module that outputs the tag ID over a 9600 baud serial line. Naturally I needed to put it to good use, so when I was bored one night (avoiding psets) I set out to make my door unlock/open via RFID. The biggest obstacle was the mechanical actuation of unlocking the door. My door doesn't have a deadbolt, which means the knob itself has the locking mechanism built in. Ideally I would have installed an electric strike , but unfortunately the cutout in the steel door frame was too small to install one. I also briefly considered sticking some sort of motor inside the door frame that would push the latch open (since the interl...