Comparing a sample object to a known object is an effective way of determining if a particular object
conforms to a known standard. This tutorial shows how to compare an object to a known standard with subtle changes
that indicate a problem. The object is assumed to be planar and moved into view on a conveyor belt system. In our
case we are using a printed graphic of an Owl that may be seen on packaging or used as product logo on labels. There
are small differences in the graphic that are used to simulate printing faults.
Many objects can be segmented from the background just using color. Working with multiple colored
objects can be tricky to keep track of them and to create a summary of the detected objects. This
tutorial shows two possible solutions for segmented M&M candy from the background and
provides a summary count of what is found in the image.
One of the most basic operations in machine vision is to segment objects from the background in order to
run specific tests against only hose areas of the image that are of interest. When lighting is not ideal, it
becomes problematic to deal with shading and highlights especially from metallic parts. This tutorial shows one
possible technique for segmenting various tools from a background image with a dominant light on the right
Bottle Cap Inspection
Vision is often used for product verification. This tutorial shows how to locate a bottle cap within an image and
determine if it is correctly fitted on a bottle. This would be a typical process to ensure that
a bottle is correctly capped prior to packing.
We've been doing a lot of ebay sales lately to reduce our stock of robotic components. While we're not photographers we do know images. This
tutorial goes over a couple of the techniques that we've used to correct our bad product photos into something
much more appealing ... as we all know, good photos in ebay make the difference between a good and bad sale.
This tutorial describes one way to use RoboRealm to recognize hand gestures
from an overhead webcam looking down at a single hand over a solid background.
This tutorial shows how to use a webcam and RoboRealm to count the value of dice that are placed in front of a camera.
Fun with Roomba
The Roomba by itself does not have the computing power to process images. But when you combine the Roomba with a netbook to process images,
a USB camera to grab images with a pan/tilt system to move the camera and a base to keep everything together you have a very powerful system.
The following are couple possibilities that you can load and run in RoboRealm with such a platform.
Fun with Rovio
Want your Rovio robot to be more than just an RC toy? Check out these RoboRealm robofiles that help your Rovio
develop a new independent personality!
Fun with Surveyor
A couple of basic scripts for the Surveyor robot that are fun to experiment with and enjoy using the robot on. They
can also be used to kick-start your own much more complex projects!
Lego PC Bot
You might not think that it is possible to put a laptop ontop of a Lego NXT kit but
with the right construction and a small laptop this tutorial introduces you to
our version of a Lego PC Bot. We use this platform (among others) to
experiment with onboard machine vision. The Laptop used runs RoboRealm to
perform machine vision analysis onboard in order to steer the robot around obstacles in
This tutorial shows how to use machine vision to avoid objects that are within the camera's view.
The tutorial starts off with some basic techniques that are easy to understand and can be used around the
home environment followed by more advanced techniques that are more generally applicable.
This tutorial shows how to use image processing and custom path planning to
solve rolling a marble from a start point to and end point within the maze.
tutorial using the Imaging Source DBX-21BF04-Z camera for part identification as objects move along a conveyor belt.
The Surveyor robot following a trail
of orange squares. The goal of this tutorial is introduce different techniques for segmenting/identifying
orange squares in a variety of lighting conditions. The robot should follow the trail and turn
around to continue back over the trail looping from end to end. Note that no encoders or other sensors other than
vision are used in this scenario. This tutorial also introduces the newest release of the Surveyor SRV1b that uses
the blackfin dsp and 802.11 wireless connectivity.
Reading Digital Displays
from older displays allows you to interface information from your temperature gauge, water heater, barbecue
temperature, coke machine, laundry timer, etc. to your PC. While most modern sensors today have the ability to interface to PC based
systems at lot of the older devices do not. They do, however, offer a digital display that can be read
by humans. The Digital Reader tutorial shows how one can use RoboRealm to read the digits from these
devices and use that information in new ways from your PC.
using an overhead camera looking down at a maze/arena/etc. We placed the Boe-Bot on a black surface
along with red electrical tape to be used as waypoint markers. The Path Planning module then guides the Boe-Bot
to visit each of these waypoints in the shortest possible path. This is a classic example of how to accomplish overhead
navigation and to use the shortest path algorithm to move the robot along a defined path.
using the SRV-1 robot. We placed the SRV-1 into a small room and used vision to guide its movements
to avoid the walls. This is done by looking at the floor/wall intersection and interpreting the
Remote Control Camera
using the Orbit camera over the web. This is a quick one page tutorial on how to setup RoboRealm
as a webserver to respond to requests over the web. In this example we show how to move the Orbit
camera using web browser buttons.
Controlling a USB Missile Launcher
Here is a fun and quick demonstration on hooking your Joystick up to a USB Missile Launcher. This
tutorial shows you have to map the values from your Joystick and scale them into useable values
by a usb missile launcher device.
Adding vision to the Lego NXT
Want to give sight to your Lego NXT robot? Here's how we managed to add a wireless camera
to the TriBot and get it to pick up a blue ball and move it over to an orange cone.
Orienting the Lego Roverbot
Don't know which way your Lego bot it pointing? Use vision to figure out which way round is the front verses the back.
Color Object Tracking Target colored
objects and move your robot towards those objects .. but not too close!
Visual Line Following Guide your robot
along lines of any kind using just vision as your sensor. No encoders needed!
FIRSTŪ Robotics Competition Tutorials
Recycle Rush FIRSTŪ Competition
A couple tutorials that help with the issues regarding using vision in the FIRST 2015 Recycle Rush Competition.
Aerial Assist FIRSTŪ Competition
A couple tutorials that help with the issues regarding using vision in the FIRST 2014 Aerial Assist Competition.
Ultimate Ascent FIRSTŪ Competition
A couple tutorials that help with the issues regarding using vision in the FIRST 2013 Ultimate Ascent Competition.
Rebound Rumble FIRSTŪ Competition
A couple tutorials that help with the issues regarding using vision in the FIRST 2012 Rebound Rumble Competition.
- A simple object following robot can be built from standard off the shelf parts. The following can
be accomplished via vision processing. The advantage to a vision processing follower is that
little electronics knowledge is needed to build a complex robot.
The Society of Robots
has an excellent series
of computer vision tutorials with lots of great images. We recommend anyone exploring the
field of image processing in robotics to take some time reading through those tutorials.
Want something to be included in this list? Then
please contact us and let us know!