Sometimes, pets need to be trained to stay away from certain things. Over at sump.org, his cats needed to be kept out of his room. He used their natural fear of water by creating the waterwall, a motion-sensing device that sprays water. The project is incredibly simple and uses very few components. It is based around an IR intrusion detector and a windshield washer pump. Although that worked well enough, he also hooked it up to his computer via the parallel port so that he could take pictures as the cats (or people) are sprayed. Although the project is old, it shows how few components are really needed to achieve this kind of behavior.
Embedded above is an interesting multitouch demo by [Lahiru]. The goal of the project was to find an easy way to retrofit current LCDs for multitouch. Instead of using infrared or capacitive recognition, it uses a standard webcam mounted overhead. To calibrate, you draw polygon around the desktop screen as the webcam sees it. The camera can identify the location of markers placed on the screen and their color. iDisplay can also recognize hands making the pinch motion and sends these as touch events via TUIO, so it works with existing touch software. It’s written in C++ using OpenCV for image processing with openFrameworks as the application framework.
Reader, [Ben Godding], sends in the video for his senior design team’s automated paintball sentry. The frame is made of plasma cut aluminum. The paintball gun uses a custom hopper mounted remotely from the gun body. It has two webcams offering a 160 degree field of vision, and the image processing is done by a dual core pentium CPU booting windows xp off a compact flash card. The computer interfaces with the 1/4scale RC servos using a PIC24. The paintball sentry can either be configured via a computer GUI when a monitor is available or a baclkit keypad and 4×20 charachter display in the field.
[Yezzer] has posted a video of a cool little project he’s working on. He has interfaced the Arduino and the Wii Nunchuck to control some servos. He mounted a standard USBwebcam on it for good measure. There isn’t a whole lot of information, but he does include a few links to code he modified for the project. The movement is quite natural looking and seems like it would be a cheap way to get some good animatronic controls started. This might actually be a great way to control a robot for the Crabfu challenge, if they ever have another one.
[Tom] wrote in to tell us about his JavaScript project for motion detection. It ties together two ideas we’ve talked about recently. The first is doing image processing in-browser using Canvas(), which we’ve seen employed in captcha breaking. The second is offloading heavy processing to browsers, which we saw recently in the MapReduce implementation. [Tom] is using JavaScript to compare consecutive images to determine if there’s any motion. He did this as part of MJPG-Streamer, a program for streaming images from webcams. It can run on very limited hardware, but image processing can be very intensive. Doing the image processing in-browser makes up for this limitation and means that a custom client program doesn’t have to be written. You can find the code here and a PDF about the proof of concept.
We were surprised last month when we saw augmented reality being done completely in flash. It hasn’t taken too long to go mainstream though. MINI has incorporated it into a recent German language magazine ad campaign. The fiduciary marks actually work quite well with MINI’s established ad format. Visit the ad’s URL and hold the magazine up to the webcam and a 3D model of the MINI Cabrio will appear. They have a PDF of the ad that you can print and use if you don’t have the original. Unfortunately, it doesn’t seem to have cross-platform support.
A team of five UC Berkeley engineering built this impressive Rubik’s Cube solver. The CuBear is a giant transparent cube with a servo attached to each face to rotate the cube’s six faces. The user can either scramble the cube using computer controls or show the faces of a scrambled cube to the onboard webcam, and the machine will replicate it. While scrambling the cube may take many moves, the computer calculates the shortest number of moves to solve the cube before proceeding. Team member [Dan Dzoan] is quite a fast solver himself, as you can see at the end of BotJunkie’s video embedded below. Read the rest of this entry »
[Andrew Magill] just added his Orientation Aware Camera to the Hack a Day Flickr Pool. It uses a 3-axis magnetometer and 3-axis accelerometer. He didn’t want to spend too much effort on the USB side so he picked up USBMicro’s U421. It’s a fairly well documented preprogrammed microcontroller for USB. He later regretted this; his final sample rate was only 5Hz because of all the overhead. Using the positional data the, webcam image can be corrected for any sort of shaking. [Andrew] took this one step further by using OpenGL and stitching all of the video frames together live into a full panorama. Be sure to watch his excellent video demo embedded below. Read the rest of this entry »
The NUI Group has been working hard to bring the PS3 Eye to windows. From the factory, this device has pretty impressive specs, but no windows drivers. After a bit of hacking, they’ve developed a driver for it and released it on their forums. The main reason they are so interested in it is that it can capture full frame at 60 frames per second, making it perfect for multi touch sensing. Now that they’ve got it working with windows, they’re working on a custom PS3 Eye filter for touchlib.
To make this work, install Motion on a system running Linux. As its name suggests, Motion is a free motion-detecting application that monitors movement in a webcam’s field of view. Once installed, it should be configured to take a snapshot of the event whenever something moves; with the locate option turned on, it draws a square frame around the area where motion occurred. The program includes http server functionality, so the photos can be viewed from a remote location. When all of that is properly configured, motion can be set to trigger cURL, Wget, or [Goel]’s Perl script to post a message to Twitter about the event. From there the Twitter account can be configured to send text messages to a phone, creating a virtually instant notification of motion sensed by the webcam.