October 5, 2006. 1Memorial University of Newfoundland Faculty of Engineering & Applied Science Engineering 6806 Electrical & Computer Engineering Design.

Slides:



Advertisements
Similar presentations
Unit 7 Discrete Controllers
Advertisements

Programmable Interval Timer
March 4, ENGI 5951 – Mechatronics II FPGA Based Interfaces for Smart Sensors and Actuators.
Storey: Electrical & Electronic Systems © Pearson Education Limited 2004 OHT 10.1 Sequential Logic  Introduction  Bistables  Memory Registers  Shift.
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Industrial Automation and Control
Chapter 10 – Digital System Projects Using HDL Copyright © 2011, 2007, 2004, 2001, 1998 by Pearson Education, Inc. Upper Saddle River, New Jersey
Code Converters, Multiplexers and Demultiplexers
Integrating a Short Range Laser Probe with a 6-DOF Vertical Robot Arm and a Rotary Table Theodor Borangiu Anamaria Dogar
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, Java Version, Third Edition.
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, C++ Version, Third Edition.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Color Discriminating Tracking System Lloyd Rochester Sam Duncan Ben Schulz Fernando Valentiner.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Coordinate Based Tracking System
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, C++ Version, Fourth Edition.
3-D Computer Vision Using Structured Light Prepared by Burak Borhan.
Advanced Manufacturing Laboratory Department of Industrial Engineering Sharif University of Technology Session # 15.
ASPPRATECH.
Microcontroller based system design
Prof. Zoltan Francisc Baruch Computer Science Department Technical University of Cluj-Napoca.
PLC: Programmable Logical Controller
Track, Trace & Control Solutions © 2010 Microscan Systems, Inc. Introduction to Machine Vision for New Users Part 1 of a 3-part webinar series: Introduction.
Use of Multimedia in Engineering. Mechatronics engineering is based on the combination from three basic engineering field that is mechaninal, electronics.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
SCADA and Telemetry Presented By:.
 What’s a Computer? What’s a Computer?  Characteristics of a Computer Characteristics of a Computer  Evolution of Computers Evolution of Computers.
Embedded Microcomputer Systems Andrew Karpenko 1 Prepared for Technical Presentation February 25 th, 2011.
L29:Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수,
Topics Introduction Hardware and Software How Computers Store Data
9/13/2015Memorial University of Newfoundland Faculty of Engineering & Applied Science Engineering 7854 Industrial Machine Vision INTRODUCTION TO MACHINE.
 AUTOMATION  PLC  SCADA  INSTRUMENTATION  DRIVES & MOTORS.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
©2008 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. This material is protected under all copyright laws as they currently exist.
Other Chapters From the text by Valvano: Introduction to Embedded Systems: Interfacing to the Freescale 9S12.
J. Christiansen, CERN - EP/MIC
HARDWARE INTERFACE FOR A 3-DOF SURGICAL ROBOT ARM Ahmet Atasoy 1, Mehmed Ozkan 2, Duygun Erol Barkana 3 1 Institute of Biomedical Engineering, Bogazici.
What is Mechatronics? Mechatronics is the synergistic combination of mechanical engineering, electronics, controls engineering, and computers, all integrated.
CSCI-100 Introduction to Computing Hardware Design Part I.
MACHINE VISION Machine Vision System Components ENT 273 Ms. HEMA C.R. Lecture 1.
Introduction to Mechatronics. Introduction Mechanical + Electronics.
October 5, Memorial University of Newfoundland Camera Calibration In the field of machine vision, camera calibration refers to the experimental.
MICROPROCESSOR FUNCTION Technician Series Created Mar 2015 gmail.com.
Automated Maze System Development Group 9 Tanvir Haque Sidd Murthy Samar Shah Advisors: Dr. Herbert Y. Meltzer, Psychiatry Dr. Paul King, Biomedical Engineering.
CHAPTER 2 TYPES OF CONTROLLER BY: Salsabila Ahmad.
Lecture 7: Overview Microprocessors / microcontrollers.
EMBEDDED SYSTEM & ROBOTICS. Introduction to robotics Robots are machines capable of carrying out a complex series of actions automatically. Robotics is.
CISSP Common Body of Knowledge Review by Alfred Ouyang is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
BLDC Motor Speed Control with RPM Display. Introduction BLDC Motor Speed Control with RPM Display  The main objective of this.
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
Implementation of Real Time Image Processing System with FPGA and DSP Presented by M V Ganeswara Rao Co- author Dr. P Rajesh Kumar Co- author Dr. A Mallikarjuna.
BITS Pilani Pilani Campus Pawan Sharma ES C263 Microprocessor Programming and Interfacing.
SMART CAMERAS AS EMBEDDED SYSTEM SMVEC. SMART CAMERA  See, think and act  Intelligent cameras  Embedding of image processing algorithms  Can be networked.
Chapter 3 Data Representation
Introduction to Mechatronics
Invitation to Computer Science, C++ Version, Fourth Edition
Application Case Study Security Camera Controller
ABSTRACT The controller continuously polls the temperature with certain regular time intervals and displays over the 7_segment display The temperature.
An FPGA Implementation of a Brushless DC Motor Speed Controller
Embedded Systems Design
Introduction of microprocessor
Instrumentation and Control Systems
Invitation to Computer Science, Java Version, Third Edition
Programmable Logic Controllers (PLCs) An Overview.
Introduction to Microprocessors and Microcontrollers
Topics Introduction Hardware and Software How Computers Store Data
Workshop On.
Presentation transcript:

October 5, Memorial University of Newfoundland Faculty of Engineering & Applied Science Engineering 6806 Electrical & Computer Engineering Design Project INTRODUCTION TO MACHINE VISION II Prof. Nick Krouglicof

October 5, Memorial University of Newfoundland Presentation Outline 1.Machine vision systems for mechanical metrology A systematic approach to the calibration of machine vision systems for industrial metrology An automatic, machine vision based system for robot calibration 2.Industrial Applications of Machine Vision High speed, line scan camera-based inspection system for the food processing industry Vision based inspection of liquid crystal display (LCD) modules 3.CPLD based interfaces for sensors and actuators

October 5, Memorial University of Newfoundland A systematic approach to the calibration of machine vision systems for industrial metrology In the field of machine vision, camera calibration refers to the experimental determination of a set of parameters which describe the image formation process for a given analytical model of the machine vision system. Ideally, camera calibration is performed without specialized optical equipment, without modifications to the hardware, and without a priori knowledge of the vision system. Most calibration techniques are based on the observation of planar (2D) targets with a large number of control points.

October 5, Memorial University of Newfoundland A systematic approach to the calibration of machine vision systems for industrial metrology The machine vision parameters which must be identified include : a)The scale factor b)The frame buffer coordinates of the image center c)The effective focal length of the lens-camera assembly d)The radial lens distortion coefficient e)The pose (position and orientation) of the camera Parameters a) through d) are classified as intrinsic, e) as extrinsic.

October 5, Memorial University of Newfoundland A systematic approach to the calibration of machine vision systems for industrial metrology

October 5, Memorial University of Newfoundland A systematic approach to the calibration of machine vision systems for industrial metrology

October 5, Memorial University of Newfoundland A systematic approach to the calibration of machine vision systems for industrial metrology In general, most camera calibration techniques fail because: They fail to account for the mathematical dependency between the image center and the X-Y position of the camera. The determination of the intrinsic parameters assumes a priori knowledge of the extrinsic parameters (i.e. position and orientation of the camera). Therefore, the extrinsic parameters are generally determined first. In order to accurately evaluate the intrinsic parameters, the extrinsic parameters must be know to a degree of accuracy which is practically unattainable (6 significant digits).

October 5, Memorial University of Newfoundland A systematic approach to the calibration of machine vision systems for industrial metrology In order to compensate for the deficiencies of existing calibration techniques, a special fixture was designed to evaluate the critical parameters (i.e. image center and effective focal length) before the remaining parameters.

October 5, Memorial University of Newfoundland To locate the edge with sub-pixel accuracy, the gradient in the vicinity of the edge is reconstructed using a continuous Gaussian function. The coordinates of the pixel nearest to the edge are denoted by i and j. The location of the edge with sub-pixel accuracy is determined by calculating the offsets x and y which maximize the function s(x,y) below over a 5 by 5 kernel : A systematic approach to the calibration of machine vision systems for industrial metrology

October 5, Memorial University of Newfoundland An automatic, machine vision based system for robot calibration Objective: To develop a low cost, non-contact robot calibration system that can be applied on a routine basis without significantly affecting production schedules. Based on a CCD camera mounted on the robot’s wrist. The camera is used to determine the position and orientation of a fixed, passive target in six degrees-of- freedom. The system employs the Hayati and Mirmirani modeling convention for closed kinematic chains and non-linear least squares analysis to determine the real kinematic parameters specific to a particular robot.

October 5, Memorial University of Newfoundland An automatic, machine vision based system for robot calibration

October 5, Memorial University of Newfoundland An automatic, machine vision based system for robot calibration

October 5, Memorial University of Newfoundland An automatic, machine vision based system for robot calibration

October 5, Memorial University of Newfoundland Industrial Machine Vision Applications

October 5, Memorial University of Newfoundland High Speed, Line Scan Based Inspection System

October 5, Memorial University of Newfoundland Objective: To remove defects (I.e. visible, dark particle larger than 0.007”) from apple sauce System must be able to handle 12 metric tons per 8 hour shift System must remove 95% of visible defects Line Scan Based Inspection System: Specifications

October 5, Memorial University of Newfoundland 2 distinct challenges: Detection Removal High Speed, Line Scan Based Inspection System

October 5, Memorial University of Newfoundland High Speed, Line Scan Based Inspection System

October 5, Memorial University of Newfoundland High Speed, Line Scan Based Inspection System

October 5, Memorial University of Newfoundland Detection system based on a high performance line scan camera; 4096 pixels per line at 4800 lines per second. Image acquisition and processing functions implemented on a Complex Programmable Logic Device (CPLD) as opposed to a microprocessor or Digital Signal Processor (DSP). The objective is to implement image processing functions with dedicated logic gates (i.e. hardware) for real-time performance. Line Scan Based Detection System

October 5, Memorial University of Newfoundland What are CPLDs? Complex Programmable Logic Devices (CPLDs) are a class of programmable logic device that are commonly used to implement complex digital designs on a single integrated circuit. Applications of CPLDs in the field of computer engineering include the implementation of bus controllers, address decoders, priority encoder and state machines

October 5, Memorial University of Newfoundland Line Scan Camera-Based Detection System

October 5, Memorial University of Newfoundland Line Scan Camera-Based Detection System

October 5, Memorial University of Newfoundland Line Scan Camera-Based Detection System Typical Particle Typical section of apple sauce recorded with an area scan camera

October 5, Memorial University of Newfoundland Line Scan Camera-Based Detection System

October 5, Memorial University of Newfoundland Line Scan Camera-Based Detection System

October 5, Memorial University of Newfoundland Removal System

October 5, Memorial University of Newfoundland Removal System

October 5, Memorial University of Newfoundland Removal System: Flow Characterization Rheological nomenclature and associated velocity profiles for steady flow through tubes with circular cross section.

October 5, Memorial University of Newfoundland Viscosity Measurement

October 5, Memorial University of Newfoundland Viscosity Measurement Velocity profile can be characterized by power law!

October 5, Memorial University of Newfoundland Flow Profile of Apple Sauce

October 5, Memorial University of Newfoundland Particle Removal Window

October 5, Memorial University of Newfoundland System Timing Diagram

October 5, Memorial University of Newfoundland Aspiration Valve Characterization

October 5, Memorial University of Newfoundland Aspiration Valve Characterization

October 5, Memorial University of Newfoundland Particle Detection Rate Versus Flowrate

October 5, Memorial University of Newfoundland High Speed, Line Scan Based Inspection System: Current Status Industrial partner is currently developing the production version of the system. Packaging of the principle components (i.e., lenses, cameras, electronics, light sources) remains a major challenge given the environment. One possible solution is to integrate all the electronics in the camera enclosure. Partner is anxious to explore applications in the pulp and paper industry.

October 5, Memorial University of Newfoundland Vision Based Inspection of Liquid Crystal Display (LCD) modules Objective: to automate the inspection of LCD modules in order to improve quality control One step in the implementation of a Six-Sigma Program (“3.4 defects per million opportunities”) The inspection must be completed within 30 seconds for 10 predetermined LCD patterns System can “learn” new LCD modules without modifying software

October 5, Memorial University of Newfoundland Vision Based Inspection of LCD modules: System Components Pulnix camera with macro lens High frequency fluorescent light sources Coreco Bandit integrated image acquisition and VGA accelerator Software developed using with WiT graphical programming environment in combination with Microsoft VB

October 5, Memorial University of Newfoundland Vision Based Inspection of Liquid Crystal Display (LCD) modules

October 5, Memorial University of Newfoundland Original Image Showing Error in Alignment Vision Based Inspection of Liquid Crystal Display (LCD) modules

October 5, Memorial University of Newfoundland Thresholding Operation – Image Subtraction with respect to an image with no segments illuminated Vision Based Inspection of Liquid Crystal Display (LCD) modules

October 5, Memorial University of Newfoundland Blob Analysis – Reference Points are Identified Vision Based Inspection of Liquid Crystal Display (LCD) modules

October 5, Memorial University of Newfoundland Image Rotation and Translation Vision Based Inspection of Liquid Crystal Display (LCD) modules

October 5, Memorial University of Newfoundland Pixel by Pixel Image Subtraction from Reference Image – Thinning Operator Vision Based Inspection of Liquid Crystal Display (LCD) modules

October 5, Memorial University of Newfoundland Blob Analysis Vision Based Inspection of Liquid Crystal Display (LCD) modules

October 5, Memorial University of Newfoundland Blob Analysis Vision Based Inspection of Liquid Crystal Display (LCD) modules: Conclusions Inspection system was installed at BAE Systems Canada Ltd. where it was used to test between 200 and 600 LCD displays per day. Number of defective modules that passed inspection was basically reduced to zero. Occasional “false positives” proved to be technical problems with the devices that previously went unreported. Applications for this technology are numerous given the number of LCD displays produced annually.

October 5, Memorial University of Newfoundland CPLD based interfaces for smart sensors and actuators

October 5, Memorial University of Newfoundland Introduction Several novel “mechatronic” applications for CPLDs are presented. CPLD basically provides reconfigurable digital I/O that permits the implementation of interfaces for smart sensors and actuators. Applications that will be discussed include: Stepper motor controller Quadrature decoder/counter for optical encoder Pulse-Width Modulation (PWM) motor drives By incorporating a CPLD that supports In-System Programmability (ISP) the target device can be reprogrammed by the user for a variety of applications without removing it from the host system.

October 5, Memorial University of Newfoundland Mechatronic Applications of CPLDs – RSG System

October 5, Memorial University of Newfoundland Design Objectives of RSG System To develop a low cost, microcontroller-based system that allows the user to interface a variety of sensors and actuators to a laptop computer. In addition to being “user- friendly”, the system must be capable of functioning as either: 1.A portable data acquisition system, 2.An autonomous, stand-alone controller in support of mechatronic design projects, 3.A data logger that can acquire and store data at regular intervals over extended periods of time.

October 5, Memorial University of Newfoundland Design Philosophy Embedded Controller System incorporates an 80C52-BASIC Microcontroller Simplifies the management of the various onboard peripherals (Analog-to-Digital converter, LCD display, serial interface) Incorporates a powerful, imbedded BASIC interpreter Can also be programmed in assembler or C (Small Device C Compiler: SDCC) Assembled/compiled code can be “called” from Basic

October 5, Memorial University of Newfoundland Design Philosophy (continued) Programmable Logic System incorporates a user configurable Complex Programmable Logic Device (CPLD) CPLD supports in-system programmability by the user Mechatronic applications envisioned for the CPLD on the UC 2 system include quadrature decoder/counter interfaces for optical encoders, stepper motors controllers, PWM motor drives, sequential controllers, event counters/timers, Serial Peripheral Interface (SPI), etc.

October 5, Memorial University of Newfoundland Block Diagram of RSG System

October 5, Memorial University of Newfoundland Stepper Motor Controller: Synchronous Counter Design

October 5, Memorial University of Newfoundland Stepper Motor - Full-Stepping

October 5, Memorial University of Newfoundland Stepper Motor – Half Stepping

October 5, Memorial University of Newfoundland Stepper Motor Half-Step Switching Sequences STEP TRANSISTORS ONOFFONOFF 2ONOFF 3ONOFF ON 4OFF ON 5OFFONOFFON 6OFFONOFF 7 ON OFF 8 ONOFF

October 5, Memorial University of Newfoundland Truth Table for Half-Stepping Switching Sequence

October 5, Memorial University of Newfoundland Stepper Motor: Synchronous Counter Design

October 5, Memorial University of Newfoundland Schematic of stepper motor controller Stepper Motor: Synchronous Counter Design

October 5, Memorial University of Newfoundland Quadrature Decoder/Counter Interface for Optical Encoder: State Machine

October 5, Memorial University of Newfoundland Optical Encoder

October 5, Memorial University of Newfoundland Optical Encoder - Decoding

October 5, Memorial University of Newfoundland Optical Encoder – State Diagram

October 5, Memorial University of Newfoundland Optical Encoder – Edge Detection Circuitry

October 5, Memorial University of Newfoundland Summary of Quadrature Decoding Logic State Transition Encoder Signals Flipflop outputs: enc_decX.q Past State Present State Count Chan A Chan B UP1     DOWN     1101 Note:  and  indicate a rising and falling edge respectively.

October 5, Memorial University of Newfoundland Truth Table Implementation of Quadrature Decoder TABLE enc_dec[3..0].q=> dwn_cnt, up_cnt; B"0000"=>0,0; B"0001"=>0,1; B"0010"=>1,0; B"0011"=>0,0; B"0100"=>1,0; B"0101"=>0,0; B"0110"=>0,0; B"0111"=>0,1; B"1000"=>0,1; B"1001"=>0,0; B"1010"=>0,0; B"1011"=>1,0; B"1100"=>0,0; B"1101"=>1,0; B"1110"=>0,1; B"1111"=>0,0; END TABLE;

October 5, Memorial University of Newfoundland AHDL Implementation of Counter Module IF up_cnt THEN encoder[].d = encoder[].q + 1; ELSE IF dwn_cnt THEN encoder[].d = encoder[].q - 1; ELSE encoder[].d = encoder[].q; END IF;

October 5, Memorial University of Newfoundland Pulse-Width Modulation: VHDL/AHDL Programming

October 5, Memorial University of Newfoundland AHDL Implementation of PWM Controller totaltime[].clk = clk; totaltime[].clrn= VCC; totaltime[].prn = VCC; totaltime[].ena = io_space_2 & (add_latch[3..0].q == B"0110") & !write/; totaltime[].d= add_data[]; lowtime[].clk = clk; lowtime[].clrn= VCC; lowtime[].prn = VCC; lowtime[].ena = io_space_2 & (add_latch[3..0].q == B"0111") & !write/; lowtime[].d= add_data[];

October 5, Memorial University of Newfoundland cntr[].clk = clk; cntr[].clrn= !(cntr[].q == totaltime[].q); cntr[].prn = VCC; cntr[].ena= VCC; cntr[].d= cntr[].q + 1; switch.clk= clk; switch.clrn= VCC; switch.prn = VCC; switch.ena = VCC; pwm_out= switch.q; switch.d = (cntr[].q < lowtime[].q); AHDL Implementation of PWM Controller

October 5, Memorial University of Newfoundland Pedagogical Applications

October 5, Memorial University of Newfoundland Pedagogical Applications

October 5, Memorial University of Newfoundland Conclusions CPLDs are well suited to the implementation of interfaces for smart sensors and actuators. Incorporating a CPLD that supports In-System Programmability (ISP) into a data acquisition system provides reconfigurable digital I/O that allows the target system to be reprogrammed by the user for a variety of applications without hardware modifications. This is particularly useful for those applications that require hardware interfaces for several different sensors simultaneously.

October 5, Memorial University of Newfoundland QUESTIONS ?