3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Quick Notebook PC Robot Base

Step 7Software

Software
The MSI laptop is running the RoboRealm machine vision software. The purpose of the demonstration was to use focus in order to indicate the presence of an obstacle in front of the robot. Both cameras were manually focused at different focal lengths. One is focused such that near objects are in focus and far objects are out of focus. The other camera (just above) is focused in reverse. By comparing the two images we can tell if something is either near or far depending on which image is more in focus than the other. The "focus detector" can be though of a filter that determines which image has more detail than the other in a given area. While this technique works it is not very precise with regards to the object distance but it is a very fast technique in terms of CPU computation.

The images below show the two camera images as they look out towards a coke can and a DrPepper can. You can see the focal difference between the two images and also the vertical disparity between the two cameras despite being mounted very close to each other. This disparity can be reduced by using a prism to split a single view into two views for two cameras but we found the quick method of using two webcams close to each other to be sufficient.

Note on the left side of the image the close Coke can is out of focus and the far DrPepper can is in focus. In the right side image the situation is reverse. If you look at the edges of this image you can see the edge strengths reflect the focus of the object. The white lines signal a higher edge transition which means the object is more in focus. The bluer lines signal a weaker response.

Each image is broken into 3 vertical sections. Left, middle and right. We use these areas to determine if an obstacle exists in those areas and if so steer the robot away. These bands are highlighted back into one side of the original image so that we can verify their correctness. The lighter areas in these images signal that the object is close. This tells the robot to move away from that direction.

The downside to this technique is that objects need texture. From the next image we can see two red blocks which are placed in the same position as the cans but they do not respond to this technique. The issue is that the red blocks do not have any internal texture. This feature requirement is similar to that needed for stereo and optical flow techniques.
« Previous StepDownload PDFView All StepsNext Step »
4 comments
Oct 4, 2010. 5:57 PMHextor says:
Any chance of getting your code, I have those motor controllers as well as roborelm I'd love to give this a shot.
Nov 14, 2010. 8:25 PMCarlS says:
It's all done in RoboRealm - no outside code was used.
Feb 21, 2010. 8:40 PMfetchtables says:
 Can you use this usb kit with other programming or is it just suitable for roborealm? Sorry I am a bit new to this stuff. I was looking at using an arduino but I have an old eeepc
Feb 6, 2009. 11:11 AMAK_Tesla says:
great tutorial, and nice product placement.

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
86
Followers
12
Author:CarlS