The robots recognize the environment or perceive objects in its path using several technologies such as laser and sonar sensors, or the traditional vision system represented by digital camera sensors. These little devices that provide images for robotic applications are the subject of this article, where you can find the most used vision camera sensors in robotics as well as tutorials and resources to work with these.
A digital camera sensor represents the vision system that allows any robot to recognize, inspect and analyze large amount of information. Even I talk about a drone that uses cameras to detect potential obstacles, a mobile robot designed to recognize the environment and finding their way to a power plug, or a humanoid robot that recognizes faces, all of these robots uses specialized sensors and highly advanced vision systems.
The machine vision is getting serious to revolutionize the robotic industry including service or industrial applications. If you plan to build the next generation of robots that are able to see like a human, you can start from this article and learn how to interface and program the vision sensors.
Compatible with Arduino single board computer, the TTL JPEG camera allows several capturing modes including here VGA (640×480), QVGA (320×240), or QQVGA (160×120). With a viewing angle of 60 degrees and a CMOS sensor with 30M, this image vision sensor was developed to add a clear image to any robot supposed to various light conditions and designed for navigation, security, or entertainment.
- TTL Serial Camera – this is a comprehensive tutorial from where you can learn how to interface with a microcontroller and build your first application to capture images using the TTL camera;
- Time-Lapse Camera – in this article you can find a complete example how to use the TTL serial JPEG camera with an Arduino board and start capturing images and storing on a memory card;
With a resolution of 640×480 pixels, the CMOS camera can be difficult to setup in order to communicate with a computer. This mini camera has an 8-bit parallel interface for image data and a built-in color filter.
- Digital Camera Interface – this tutorial represents a good introduction in robotic vision with a CMOS sensor. From interfacing to programming, in this article you can find how the digital camera can be used in robotic applications to capture images;
- CMOS camera as a sensor – if you’re interested to start building a vision camera system in minutes using the CMOS camera, you can start right here. From schematic diagram to programming and using different power supply sources, this comprehensive tutorial is a good starting point;
- Interfacing a CMOS Sensor to the TMS320DM642 Using Raw Capture Mode – this document is a good source of information including hardware and software interfaces, test the camera at different resolutions, and start building applications;
You can use a simple webcam to build a vision system for different applications such as navigation, exploring, or inspection.
- Streaming Your Webcam w/ Raspberry Pi – this is a simple and good example how to use a simple webcam interfaced with Raspberry Pi and start capturing images;
- Webcam streaming with Raspberry Pi – another example how to use a simple webcam and a Pi single board computer to capture images;
The HackHD sensor camera is one of the most powerful vision sensors designed for robotic applications where are required high definition captures at a resolution of 1080p. Saving .Avi files on a MicroSD memory card, the sensor is designed to work in hazardous conditions.
- HackHD Instruction Manual – this is a good introduction to the HD camera. In this manual you can find information about setup and instruction to work with HackHD sensor;
Good for night captures, the color serial JPEG infrared camera module is engineered for robotic application such as security or inspection. The camera has a VGA/QVGA low resolution of about 160×120 pixels, and support capture in JPEG format from serial port.
Tutorials and Resources
- JPEG Color Camera Serial UART Interface – a good introduction guide to setup the video sensor and program the Arduino board to capture images;
- Step-by-Step Tutorial for Using LinkSprite JPEG Color Camera Serial UART Interface Model LS-Y201 – from hardware connection to details about testing camera, reading this guide you can make an idea about the camera sensor and how it works;
- A Tutorial of LinkSprite JPEG Color Camera – tutorial where you can find programming lines to take a picture on the JPEG Serial Camera and then store the JPEG pictures to an SD card on an SD Shield;
- CameraC328 – a comprehensive guide from where you can find a lot of information to start using the vision sensor. In this article, you can find information how to interface the sensor with a single board computer, how to test the camera using a library compatible with the camera;
The NXTCam-v4 is a real-time image-processing camera that can be connected to a computer using the USB interface or to the NXT intelligent brick. It has an adjustable lens focus and can detect up to 8 different objects, while the refresh rate is 30 FPS.
The sensor has support for several environments including here NXT-G, RobotC, LeJOS, NXC, LabVIEW, or LVEE.
Tutorials and Resources
- LegoVision – step by step tutorial with information about how to setup the vision sensor and how to program the NXTCam to tracking object;
- ROBOTC with the Mindsensors NXTCam – you can learn from this tutorial how to display the color captured by the NXTCam and using the robotics programming language ROBOTC;
- NXTCam – Sample Programs for NXT-G – download resources compatible with NXT-G intelligent brick;
- Vision subsystem V4 for NXT – in the ‘Download’ section you can find a long list with files compatible with NXT G-Block, Robot C, or Labview;
If you use the Parallax motherboards, the TSL1401 sensor is perhaps the best solution to capture images for robotic application. The camera has a 128-pixel linear image sensor with a 7.9mm focal length, and a resolution of 128 pixels in grayscale mode or 255 pixels in interpolated binary mode.
- Linescan Camera Module – the manual is a good introduction for the TSL1401 vision sensor with comprehensive information about features, how to analyzing a line scan image, and up to programming lines to process the images;
The VC0706 vision sensor is designed to work in unfriendly working conditions where the humidity and temperature can affect other sensors. With a 1/4 CMOS image sensor MT9V011, the VC0706 can capture JPEG images and has a refresh rate of 30 FPS.
- Driving an adafruit VC0706 TTL Serial JPEG Camera with a Netduino – tutorial from where you can learn how to interface the VC0706 camera with the Netduino board, and how to test the camera while capturing images;
- VC0706 tutorial – comprehensive tutorial to interface the VC0706 camera with the Arduino board, test the camera, and start building application such as detect motion or taking a snapshot;
The GHI camera module is a simple vision sensor that can be interfaced through a USB port using the .NET Gadgeteer compatible cable. The sensor can capture images at a resolution of 320×240 pixels, while the refresh rate is up to 20 FPS.
- Camera Module – a comprehensive guide from where you can learn how to interface the camera, how to test the camera, and how to capture video images with the sensor;
The Raspberry Pi Camera Module is one of the most interesting camera vision sensors designed to be attaches to the Raspberry Pi’s Camera Serial Interface (CSI). It has a 5 mega pixel sensor capable of 2592 x 1944 pixels for static images or to capture video images at a high definition resolution of 1080p.
The Raspbian is the preferred operating system for Raspberry Pi Camera Module and is compatible with the latest version of the operating system.
Tutorials and Resources
- Installing the Raspberry Pi Camera Board – guide where you can find step by step how to install and update Raspian on your Raspberry Pi, and up to plug-in the camera in the Pi board and setup using several commands;
- Raspberry Pi Camera Module – comprehensive guide how to control the camera, activate the camera in Raspbian, save images with Raspbistil, record video images, and use the camera in several examples;
- Raspberry Pi Camera with Pan Tilt – a simple project from where you can learn how to interface the Raspberry Pi Camera and capture images using simple commands and following instructions;
- Rpi Camera Module – a guide with technical parameters, a long list with commands for RaspiVid (application to display camera output) and RaspiStill (application to capture JPG images for specific time), and much more information about the Raspberry Pi camera board;