Saturday, June 28, 2008

Why Machine Vision?

The question "Why do machines really need vision?" could be very easy to answer if we know what part robots play in our society today. As engineers continue to research and improve their (i.e. robots) functionalities, it becomes quite simple to notice why there's need to provide them with some sort if vision (or the ability to see). This advancement in robotics has become an integral part of machines that almost all that operate autonomously have some kind of vision system embedded on them.

As the field of robotics continue to advance on daily basis, engineers will contnue to design and build robots that can behave as close to humans as possible and implementing vision on them is not an exception. Machines with vision, like humans, are able to interact with their environment in a way others cannot. This goes a long way to show why 'machine vision' as a field in robotics engineering can not and should not, be underestimated.

To fully understand why robots need vision, it is paramount that we comprehend why humans need to see and how they use their vision to interact with their environment. Now, imagine yourself without eyes. To do this, close your eyes for a few second and try to navigate your way around the room or a path. You'll notice that no matter how acquainted you are with the path or room, you'll find it extremely difficult to walk around without bumping into objects such as tables, trees, shrubs, walls, chairs, and you name it - depending on where you choose to carry out the excercise. There are other examples that could enlighten us as to how important vision is to us but the above should serve a much simpler purpose.

For autonomous machine (i.e machine that operate without any human intervention), vision is just as important as it is to humans. We want robots that can carry out assigned duties accurately without running into objects within its environment. What better way is there to accomplish this without vision? For example, if we want a simple 'pick and place' robot, we'll design it such that it can see the object(s) it's suppose to pick and also, it must be able to see where to accurately place the object(s). Other robots such as the autonomous vehicles will not properly navigate its environment without the ability to see in some way.

To implement vision on machines, we often use sensors in line with cameras. Some examples of sensors that could be used are photo sensors - sometimes called photodetectors - (e.g line followers, infra-red sensors, and scanning lasers just to name a few) - tells the variation in the amount of light present on a surface or around a visinity. Another example is the motion sensor or motion detector - which tells the presence of an object within its visinity and determines wether to activate the robot or turn it in the direction the object is headed. This could be used in security systems where objects crossing the robot's path are considered as possible intruders. One last example is the proximity sensor. It measures the distance from the robot to any obstacle present within its path.

Cameras, on the other hand, vary depending on the size of the robot and the task it is required to perform. For instance, we might want a robot that can be controlled over the internet using a webpage. To accomplsih this, we need to see what the camera sees and read what the other sensors read on whatever webpage we set up for the control activity. In this example, we want a camera that is capable of taking pictures or videos and sending it over the internet using some sort of controller circuitries and components that are embeded within the robot. The robot should also be capable of recieving instructions from the user webpage at anytime.

From the above dicussions, it should be much easier now to understand why robots need vision; in other words, why they need to see. We don't want machines making mistakes or jamming into other objects around them. We want them to be capable of mimicing the several human behaviours as much as possible without blemish. The field of machine vision in engineering is still relatively new and will only continue to improve as time goes on.

Thursday, June 26, 2008

Thursday, May 22, 2008

Project Goals

I initially came up with the idea of deigning and building a robot and then implementing vision - with internet control - on it. Basically, I wanted to build a robot I could control over the internet while being able to see everything within its vision range. This will allow me control the it from any computer - anywhere in the world - so long as it has an internet access.

After several consultation with my supervisor, he came up with the suggestion I use a robot platform from some other student's previous year final project. This will no doubt make life easy for me as I now only need to implement the vision aspect on this robot.

Apparently, the student - we'll refer to him as James from now on - built a robot platform last year (2007 session) with an intention of implementing vision and being able to control it over the internet, just like mine. Unfortunately, he ran out of time but did a tremenduous job and came very close to achieving the goal. Now all the system needs is its ability to see and being able to be controlled by anyone over the internet.

I have talked with him and my lecturer about this and have come up with the things I need to make this a success. They are the set goals that must be achieved at the end of the year. The list below show the goals in brief:

Summary of Project Goals:

i. Design/fabricate new PCB for microcontroller board
ii. Incorporate the camera (vision system)
iii. Enhance the web control
iv. Implement PID speed control of the motor.

These goals will be followed one step at a time with the hope of completing them all by the end of this session (in November 2008)

Tuesday, May 13, 2008

REFERENCES

Here are my references ranging from text books to web pages. This page will be updated from time to time to enable me keep track of information.

For more information, on the links below:

Cameras - Electronics123
Embedded Wireless Device Server - LANTronix
Web Enabling your Serial Device - LANTronix
Web Robot Learning Powered By Bluetooth Communication System
SRV-1b Trail (Machine Vision) - RoboRealm
Surveyor News - http://www.surveyor.com/
Mixing Biology And Electronics To Create Robotic Vision
http://www.DesignNews.com/
http://Bruce.CS.CF.ac.uk/Bruce/ - Resources
http://www.ioSoft.co.uk/wlan.php
http://www.ikaLogic.com/ - motor control tutorial
http://www.NI.com/Vision/vdm.htm - NI Vision Development Module
Google Search

Sunday, May 4, 2008

Machine Vision & Implementation

What is 'Machine Vision'?

Humans beings greatly require perception in order to effectively interact with their environment. The ability to percieve and process information within our visinity is what gives us humans an edge - inteligence, power, or dominion - over other animals or creations. We use our sensory organs - the eyes, nose, ears, tongue and skin - to collect information from our surroundings. These information generate some sort of chemical reactions which are sent through the nervous systems to the brain. The brain will then process the information and send a reaction to the point of detection.

To understand the above paragraph well, lets take a look at an example; the human vision which concerns us the most as far as this project is concerned. An engineering walking around a parts shop, where he's gone to buy components for a robot he's working on, sees - with his 'eyes' - a particular part he's in search of. His 'eyes' sends this picture to his brain for processing through his nervous system. As soon as the brain processes this information, it then sends a reaction to the engineer saying for instance "check the price tag or pick up the component for payment". These are very important to us but they happen so fast that most of us barely take time to notice.

Just as humans need their vision system, and other sensory organs, so do most modern most machines. As technology advance from day to day, we continously see the need to introduce some devices that mimic how humans interact with their environment. An example of this is the use of cameras other photosensors to give a machine the ability to see. This is where the topic Machine Vision somes in.

Machine Vision is that aspect of mechatronics systems design and implementation that deals with coming up with a system that allows a machine to see. Examples of these situations are seen on simple 'pick & place' robots, robot heads and mostly situations where objects or patterns need be recognised or differentiated.

Machine vision is a broad topic as it requires certain knowledge to be implemented. To introduce vision on a machine, there are a few steps that need to be taken to succeed. First we need to know what object(s) we need to recognise. Then we decide the best vision system that is suitable for the problem at hand and where to mount the system for maxinum performance. After the steps above are completed, we can now come up with how to interface the vision system with the machine. In most cases, this requires some sort of programming using one of the numerous software - e.g. Visual Basics, C, C++, Java, etc. - available to us today.

As my project proceeds and I continue to gather information, I intend to write more about my findings as far as 'Machine Vision and Implementation' is concerned. I will talk more about the importance of this topic and how to implement it on some machine platforms. I will also be talking about how to use vision to control a system or how to control a system - say from the internet which of course is the aim of this project - based on what it sees.

Tuesday, April 22, 2008

Wi-Fi Enabled Webcam Research

The last time I visited my lecturer, he requested that I reaserched webcameras that are Wi-fi technology compactable. Specifically, he adviced me to search the phrase " Wi-fi enabled web cams" into the Google.com search engine.

The results as of then wasn't that promising as the main part I need to commence the project exceeds my budget. I took some time away to think about what I want and went on to reaserch again, but this time, using several different search phrase from the first one used. I came up with a much better result and prices but still need to decide which one suits my project the most. Some of these search phrases are: "built in wi-fi cameras", "build a wi-fi robot", and "wi-fi web cameras".

The goal here is to find a webcam with built in Wi-fi technology. This will allow data from the camera, be transmitted to another computer over the internet. It means the webcam will require no connection to a computer of its own in order to transmit data over the internet.

Below are links to some of the websites that are useful in at this point of my research. They are:

Active Robots: Robotics & Electronics Technology
Surveyor Corperation: Blackfin Camera Board
Surveyor Corperation: Blackfin Robot
Sparkfun Electronics: ALFATxp Development System
Wi-Fi Webcams: More about Wireless Webcams
How to Set up a Wi-Fi Webcam

I will visit my lecturer again to decide on my next step which should include which webcam best suits my need.