Self-Balancing Robot Keeps Getting More Features


It’s a lot of fun to see a self-balancing robot project. Rarely do they go much further than being able to keep themselves upright while being piloted remotely and annoyingly shoved by their creator as proof of their ability to remain standing on two wheels. This little anthropomorphic guy is the exception to the rule. It’s the product of [Samuel Matos] who says he didn’t have a specific purpose in mind, but just kept adding features as they came to him.

Starting with a couple of carbon fiber plates [Samuel] cut the design by hand, using stand-offs to mount the NEMA 17 stepper motors and to connect the two halves of the chassis. It looks like he used some leftover material to make a nice little stand which is nice when coding at his desk as seen above. There’s also a carbon-fiber mask which makes up the face atop an articulated neck. It has two ultrasonic range-finding sensors as eyes, and the Raspberry Pi camera module as the nose. The RPi board powerful enough to run OpenCV which has kept [Samuel] busy. He set up a course in his living room containing tags directing where the little guy should go. It can also follow a tennis ball as it rolls around the room. What we found most impressive in the clip after the break is its ability to locate the next tag after making a turn.

[Read more...]

Detect Disguises with a Raspberry Pi


Computer vision based face detection systems are getting better every day. Authorities have been using face detection and criminal databases for several years now. But what if a person being detected is wearing a mask? High quality masks have been making their way out of Hollywood and into the mainstream. It isn’t too far-fetched to expect someone to try to avoid detection using such a mask. To combat this, [Neil] has created a system which detects face masks.

The idea is actually rather simple. The human face has a well-defined heat signature. A mask will not have the same signature. Even when worn for hours, a mask still won’t mimic the infrared signature of the human face. The best tool for this sort of job would be a high resolution thermal imaging camera. These cameras are still relatively expensive, so [Neil] used a Melexis MLX90620 64×8 16×4 array sensor. The Melexis sensor is interfaced to an Arduino nano which then connects to a Raspberry Pi via serial.

The Raspberry Pi uses a Pi camera to acquire an image. OpenCV’s face detection is then used to search for faces. If a face is detected, the data from the Melexis sensor is then brought into play. In [Neil's] proof of concept system, a temperature variance over ambient is all that is needed to detect a real face vs a fake one. As can be seen in the video after the break, the system works rather well. Considering the current climate of government surveillance, we’re both excited and a bit apprehensive to see where this technology will see real world use.

[Read more...]

Inexpensive Robot Tracking System is Swarm Ready


[Ladvien] has figured an inexpensive way to control a robot from a remote PC with a static webcam. Inspired by swarming robot videos such as those from the UPENN Grasp lab, [Ladvien] wanted to build his own static camera based system. He’s also managed to create one of the more eclectic Instructables we’ve seen. You don’t often find pseudo code for robot suicide mixed in with the project instructions.

Fixed cameras are used in many motion capture systems, such as the Vicon system used by numerous film, game, and animation studios. Vicon and similar systems cost tens of thousands of dollars. This was a bit outside [Ladvien's] budget. He set about building his own system from scratch. The first step was the hardest – obtaining permission from his wife to screw a webcam into the ceiling. With that problem overcome, [Ladvien] brought openCV and python to bear. He created Overlord, his webcam vision and control system. A vision system with nothing to control would be rather boring, so [Ladvien] created DotMuncher, Overlord’s radio controlled robot slave.

The basic processing system is rather simple. DotMuncher carries a magnetometer on board, which it uses to send heading information to Overlord. Overlord is pre-calibrated with an offset from magnetic north to “video game north” (toward the top of the screen). Overlord then uses openCV’s color detection to find DotMuncher in the current scene.
Overlord finally generates a virtual “Dot” on screen, and directs DotMuncher to drive over to it. When the robot gets to the dot, it is considered munched, and a new dot is generated.

[Read more...]

Perfect Jump Shots with OpenCV and Processing


[ElectricSlim] likes taking “Jump Shots” – photographs where the subject is captured in midair. He’s created a novel method to catch the perfect moment with OpenCV and Processing. Anyone who has tried jump shot photography can tell you how frustrating it is. Even with an experienced photographer at the shutter, shots are as likely to miss that perfect moment as they are to catch it. This is even harder when you’re trying to take jump shots solo. Wireless shutter releases can work, but unless you have a DSLR, shutter lag can cause you to miss the mark.

[ElectricSlim] decided to put his programming skills to work on the problem. He wrote a Processing sketch using the OpenCV library. The sketch has a relatively simple logic path: “IF a face is detected within a bounding box AND the face is dropping in height THEN snap a picture” The system isn’t perfect, A person must be looking directly at the camera for the photo the face to be detected. However, it’s good enough to take some great shots. The software is also repeatable enough to make animations of various jump shots, as seen in [ElectricSlim’s] video.

We think this would be a great starting point for a trigger system. Use a webcam to determine when to shoot a picture. When the conditions pass, a trigger could be sent to a DSLR, resulting in a much higher quality frame than what most webcams can produce.

[Read more...]

Hacked Interactive R2D2 controlled by Raspberry Pi


Ah R2D2. Probably one of the most recognized little robots on the planet. There have to be a hundred different toys of R2 out there, but one of the more impressive is the 30th Anniversary Interactive edition. Complete with all kinds of bells and whistles, it’s about as realistic as they come. One Star Wars fan found himself in possession of a broken Interactive R2, and with his girlfriend’s birthday coming up, decided to do a little droid surgery to create the ultimate gift.

Giving Anakin a run for his money, all the controls for this R2 unit were custom built.  A Raspberry Pi running Rasbian acts as the brain. Facial recognition was implemented using OpenCV. Voice commands in either English or Chinese were made possible by PocketSphinx. Some of the other features he included are: message recording and playback, ultrasonic distance detection, motion detection, wifi, and a rechargeable battery. Many of those features were included in the original toy, but since this unit was broken, had to be rebuilt from scratch.

In the end, it must have impressed his girlfriend – she’s now his wife. Good work Jedi. Check out some build photos and a video demonstration after the break.

[Read more...]

Using OpenCV with the Raspberry Pi


When we first heard of the Raspberry Pi we were elated that projects that once required a full-blown computer could now be done on a tiny, and cheap board running Linux. Unfortunately, we haven’t seen much in the way of using computer vision algorithms on the Raspi, but thanks to [Lentin] the world of OpenCV is now accessable to Raspberry Pi users everywhere.

[Lentin] didn’t feel like installing OpenCV from its source, a process that takes the better part of a day. Instead, he installed it using the synaptic package manager. After connecting a webcam, [Lentin] ssh’d into his Raspi and installed a face detection example script that comes with OpenCV.

It should be noted that [Lentin]‘s install of OpenCV isn’t exactly fast, but for a lot of projects being able to update a face tracker five times a second is more than enough. Once the Raspberry Pi camera module is released the speed of face detection on a Raspi should increase dramatically, though, leading to even more useful computer vision builds with the Raspberry Pi.

Quantifying Cloudiness with OpenCV

What Can I see From the Shard?

The Shard is the tallest building in Western Europe, and has a great view of London.  The condos in the building are very expensive, and a tourist ride to the top of the building costs £24.95.

Since the value of the view is so high, [Willem] wanted to quantify the quality of the view at any given time. His solution is the Shard Rain Cam. This device combines a Logitech webcam with a Raspberry Pi to capture a time-lapse set of images. These images are fed to a Python script using OpenCV which quantifies the cloudiness.

[Willem] also had to build a weatherproof enclosure with a transparent window for the camera and RPi. ‘Clingfilm’, which is British for saran wrap, and mineral oil is used to improve the waterproofing of an IP54 rated enclosure.

The resulting data is displayed on, which provides an indication of whether or not the view is worth £24.95. All of the Python code is available, and is a good starting point for learning about image processing with OpenCV.