Image Tracing Laser System Jason Duarte Azmat Latif Stephen Sundell Tim Weidner
Overview Introduction Objectives and Specifications Design Approach Model Development Friction Identification Model Validation Design Flow Image Analysis Inverse Kinematics Trajectory Generation Controller Video Assessment Possible Future Enhancements
Problem Statement: Position Laser Pointer to trace various figures Similar Designs: Spray Painting Laser Cutting Team : Signature Writing System Introduction
Objectives Visually identify an image using a webcam Extract shapes using LabView Vision Module Generate a trajectory to trace shape at desired speed Design a controller to follow the trajectory
Updated System and Specs Camera and laser mount orientation changed to keep laser on the tilt axis Image size changed to 2’x1.5’ because of camera viewing angle restrictions Tracing speed of 12 in/sec Pan-Tilt SystemTilt Body
Model Development Lagrange-Euler Model Simplified Model
Friction Identification Steady state velocities measured and plotted vs. torque Forward/reverse frictions averaged to one value PositiveNegative Viscous (N*m*s/rad) Coulomb (N*m) Pan Axis Friction Parameters PositiveNegative Viscous (N*m*s/rad) Coulomb (N*m) Tilt Axis Friction Parameters
Model Validation Simulation Results Decouple links Set voltages at.05V increments Observe velocities Compare to experimental results
Model Validation Cont… Experimental results Identical to simulation Tilt axis has more readings due to viscous friction
PID Control (always running) Follow Trajectory Repeat RT Host Initialize Camera Orient Camera Set Zero Location Calibrate CameraSnap Picture Inverse Kinematics Trajectory Generation Shut Down Camera Release References PC Host Program Block Diagram
Laser Control Laser (Beam of Light Technologies) 4.5V, 50mA, 650nm Digital Port (NI 9401) 5V, 2mA output Relay (R40-11D2-5) 5V activation 2A max current throughput
Image Processing (Calibration) Get grid with WebCam Use grab to continually take images Find center of image then stop Image consists of dots evenly spaced Calibrate image for pix/in. Use calibration vi (2in. between dots) Image now stores pixel to world transform Send calibrated image as reference Image calibration is used with other images (tracing)
Image Processing (Tracing) Get an image from WebCam Use grab function for continual viewing Need a clear image with no breaks or random points Use threshold to filter unwanted data Inverts colors in image Useful data in white Search image for data points Find starting point Traverse around image Find white path with black next to it Store data points in array Send data to real-world transform Output data to array for Inverse Kinematics
Inverse Kinematics What is Inverse Kinematics? Map from world space to joint space. Why do we need it? We work in joint space. Most tasks are specified in world space. How do we get it? Forward Kinematics: Map from joint space to world space
Trajectory Generation Why do we need it? Specify path and speed. How did we get it? NI-Motion Assistant
Position Points ObtainedPosition Profile
Position Points ObtainedPosition Profile
Controller PID Controller Continually running on RT Host No external manipulation System stable at all times Global Variables used for input/output Change settings without stopping controller Separate vi to change Globals Can be started/stopped without affecting controller
Video
Assessment Physical system met requirements PID controller proved to be sufficient Reliable image processing algorithm Successful trajectory generation software
Possible Future Enhancements Vision feedback Velocity feedback Smoother tracing at all speeds Tracing more complex images
Questions?