Friday, July 11, 2008

A new place, a new beginning...

My family has just moved from Delhi to Bangalore after a tiring 36 hour train journey. Wow..can you even believe that? That's the longest I've ever been on a train! Our movers haven't arrived yet, and our apartment is pretty much empty. There's no refrigerator, no TV, and no bed to sleep on! Well, hopefully everything should arrive within a day or two. The weather here is so much better compared to Delhi (which was very hot and humid when we left).

Moving can be stressful, especially since you have to part with lots of people and friends. Thankfully, this isn't anything new to me as I've always been wandering and on the move. If I remember correctly, I've moved a total of 10 times across 2 countries (U.S. and India), and 6 cities in the 20 years of my existence in this life. I wonder what's after Bangalore! :)

Friday, April 11, 2008

Coding4Fun: Webcam Based Laser Tracking for Human-Computer Interaction

Here's a new Coding4Fun article I did - Webcam Based Laser Tracking for Human-Computer Interaction.
In this article, we will put together a program which will allow us to move the mouse cursor on our computers with a laser pointer, and even generate mouse clicks using only a webcam for computer vision.

You can also use it for impressing your friends by drawing things on your computer with a laser.

Enjoy! :)

Sunday, March 16, 2008

Laser Tracking with webcam for Human-Computer Interaction

This post should have been written two months ago, in January, but with all sorts of things keeping me busy, I just couldn't get enough time to shoot videos and write about the project. Anyway, now that I do have time (and a video), here's what the whole thing's about: While writing an email to Scott Hanselman on January 29th, 2007, I thought - Wouldn't it be cool if I could control my mouse cursor with a laser pointer, and even draw things with it. I had tried doing something similar in 2006, but it had some serious speed issues. This time, after rewriting the code and introducing some neat image processing techniques, the code is much faster than before. I was surprised that I had a working prototype within 3-4 days of coding.

The idea is pretty much similar to Johnny Lee's Wii Whiteboard project, except that I'm using a webcam instead of a Nintendo Wii remote. The program uses the webcam to track a laser dot in its FOV. With a projector, you can select its projected area, and the program would map its coordinates to your screen. Then, for opening a file, you'd just have to point on the file with a laser pointer and your computer would open it for you!

Oh, and by the way, while sending my next email to Scott, I didn't use a mouse for clicking the "Send" button. :)

Source code and details coming soon!


Saturday, February 23, 2008

Having fun with Phidgets!

(Click image to enlarge)

I've just got a Lynxmotion - Pan and Tilt Kit from Phidgets (thanks to Microsoft!). The kit comes with two servos, a pan/tilt assembly, a Phidgets USB 4-Servo Controller, and lots of fun. :) The Phidgets controller connects to a USB port, and can control up to four servos simultaneously.

Here's a video - I'm controlling the pan/tilt of my webcam with a mouse:

I am really impressed by how easy it is to program and control the servos with the Phidgets controller. You don't need to have any knowledge of electronics or USB communication protocols for using it.

If you're interested in buying one , you can find it here -


Sunday, February 17, 2008

New hobby - R/C airplanes!

I've got a new Silverlit X-Twin Eagle Wing R/C airplane for Rs. 1700 (about $40). Having a wingspan of only 9 inches, the plane is small enough to fly in your backyard, or in an indoor hall. Out of the box, I noticed that the plane was a bit tail-heavy. However, after I taped a dime to its nose, it flew like a dream! Overall, the plane will give at least 15-20 minutes of flight on a single charge. However, since I never fly continuously for more than 5 minutes, I usually enjoy several hours of flying before it has to be charged! Speaking of charging, the plane has a lightweight LiPo power supply, which can be charged by plugging the plane to its remote. It takes approximately 15 minutes for a full charge. Thrust comes from two pager motors mounted under the upper wing. Flying the plane is very easy, but it can be quite a challenge if its windy. It's a good thing that the plane is made up of tough EPP foam - it seems almost indestructible.

I'll try to shoot videos of the plane. However, it's a bit difficult to shoot videos and fly the airplane at the same time.....but I'll try. :)

Thursday, January 10, 2008

Coding4Fun: Laser Tracking Camera

I've finally finished creating Part 2 of my article on controlling stepper motors with a computer. This time I have built a laser tracking camera panner by extending Andrew Kirillov's motion detection code (with permission) to control the motor.
Now that I think of it, I've done lots of projects with lasers. And as a matter of fact, I'm working on another project with lasers, right now! I'll shoot some videos soon, so stay tuned. And till then, have fun building a laser tracking camera!

- Ashish